LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   a new ssd questions. (https://www.linuxquestions.org/questions/linux-hardware-18/a-new-ssd-questions-894645/)

sycamorex 07-30-2011 09:44 AM

a new ssd questions.
 
I decided to start a new thread as my other one (SSD - is it worth it?) was more concerned with questions before buying an ssd drive.


Ok, I have installed the new drive. Here are the steps I've done:

I followed these steps for aligning the drive to 512KB (I had copied it to a text file from an OCZ forum - can't find the link now).

Code:

fdisk -H 32 -S 32 /dev/sda

The number of cylinders for this disk is set to 15711.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

  (e.g., DOS FDISK, OS/2 FDISK)

 

Command (m for help): o

Building a new DOS disklabel with disk identifier 0x8cb3d286.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.

 

The number of cylinders for this disk is set to 15711.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

  (e.g., DOS FDISK, OS/2 FDISK)

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

 

Command (m for help): n

Command action

  e  extended

  p  primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-15711, default 1): 2

Last cylinder, +cylinders or +size{K,M,G} (2-15711, default 15711):

Using default value 15711

 

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 83

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

When I did it for some reason the first cylinder wasn't the 1st one:
Code:

First sector 2048-117231407, default 2048:
Why wouldn't it start from the beginning? Before I did anything I checked the drive with fdisk -l and there were no existing partitions whatsoever.


Then I did:
Code:

mke2fs -b 4096 -E stride=128,stripe-width=128 -t ext4 /dev/sda1
and modified the fstab entry:

Code:

/dev/sda1 /  ext4  noatime,nodiratime,discard,data=ordered,errors=remount-ro 0      1
tmpfs /tmp tmpfs nodev,nosuid,mode=1777 0 0


The drive is now:

Code:

# fdisk -l /dev/sda

Disk /dev/sda: 60.0 GB, 60022480896 bytes
26 heads, 16 sectors/track, 281806 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x252830d9

  Device Boot      Start        End      Blocks  Id  System
/dev/sda1            2049  117231407    58614679+  83  Linux


Code:

bash-4.1# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number:      OCZ-VERTEX3                           
        Serial Number:      OCZ-433AWDF9K696700F
        Firmware Revision:  2.08
        Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
        Used: unknown (minor revision code 0x0110)
        Supported: 9 8 7 6 5
        Likely used: 9
Configuration:
        Logical                max        current
        cylinders        16383        16383
        heads                16        16
        sectors/track        63        63
        --
        CHS current addressable sectors:  16514064
        LBA    user addressable sectors:  117231408
        LBA48  user addressable sectors:  117231408
        Logical  Sector size:                  512 bytes
        Physical Sector size:                  512 bytes
        Logical Sector-0 offset:                  0 bytes
        device size with M = 1024*1024:      57241 MBytes
        device size with M = 1000*1000:      60022 MBytes (60 GB)
        cache/buffer size  = unknown
        Nominal Media Rotation Rate: Solid State Device
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 16        Current = 16
        Advanced power management level: 254
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
            Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
            Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
        Enabled        Supported:
          *        SMART feature set
                    Security Mode feature set
          *        Power Management feature set
          *        Write cache
                    Look-ahead
          *        Host Protected Area feature set
          *        WRITE_BUFFER command
          *        READ_BUFFER command
          *        NOP cmd
          *        DOWNLOAD_MICROCODE
          *        Advanced Power Management feature set
                    Power-Up In Standby feature set
          *        SET_FEATURES required to spinup after power up
          *        48-bit Address feature set
          *        Mandatory FLUSH_CACHE
          *        FLUSH_CACHE_EXT
          *        SMART error logging
          *        SMART self-test
          *        General Purpose Logging feature set
          *        WRITE_{DMA|MULTIPLE}_FUA_EXT
          *        64-bit World wide name
          *        IDLE_IMMEDIATE with UNLOAD
                    Write-Read-Verify feature set
          *        WRITE_UNCORRECTABLE_EXT command
          *        {READ,WRITE}_DMA_EXT_GPL commands
          *        Segmented DOWNLOAD_MICROCODE
          *        Gen1 signaling speed (1.5Gb/s)
          *        Gen2 signaling speed (3.0Gb/s)
          *        Gen3 signaling speed (6.0Gb/s)
          *        Native Command Queueing (NCQ)
          *        Host-initiated interface power management
          *        Phy event counters
          *        unknown 76[14]
          *        unknown 76[15]
          *        DMA Setup Auto-Activate optimization
                    Device-initiated interface power management
          *        Software settings preservation
          *        SMART Command Transport (SCT) feature set
          *        SCT Data Tables (AC5)
          *        DOWNLOAD MICROCODE DMA command
          *        SET MAX SETPASSWORD/UNLOCK DMA commands
          *        WRITE BUFFER DMA command
          *        READ BUFFER DMA command
          *        Data Set Management TRIM supported (limit 1 block)
          *        Deterministic read data after TRIM
Security:
        Master password revision code = 65534
                supported
        not        enabled
        not        locked
        not        frozen
        not        expired: security count
        not        supported: enhanced erase
        2min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5e83a97f90e09222
        NAA                : 5
        IEEE OUI        : e83a97
        Unique ID        : f90e09222
Checksum: correct

In Bios, AHCI is enabled, but the drive doesn't reach it's advertised speed (sda is an ssd drive, sdb is my old sata)

Code:

bash-4.1# fdisk -l /dev/sda

Disk /dev/sda: 60.0 GB, 60022480896 bytes
26 heads, 16 sectors/track, 281806 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x252830d9

  Device Boot      Start        End      Blocks  Id  System
/dev/sda1            2049  117231407    58614679+  83  Linux
bash-4.1# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:  16698 MB in  2.00 seconds = 8357.87 MB/sec
 Timing buffered disk reads: 964 MB in  3.00 seconds = 321.07 MB/sec
bash-4.1# hdparm -tT /dev/sdb

/dev/sdb:
 Timing cached reads:  16260 MB in  2.00 seconds = 8138.36 MB/sec
 Timing buffered disk reads: 182 MB in  3.01 seconds =  60.51 MB/sec

lspci -v (the bit describing the marvell controller)
Code:

01:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9128 PCIe SATA 6 Gb/s RAID controller (rev 11) (prog-if 01 [AHCI 1.0])
        Subsystem: Giga-byte Technology Device b000
        Flags: bus master, fast devsel, latency 0, IRQ 41
        I/O ports at 9f00 [size=8]
        I/O ports at 9e00 [size=4]
        I/O ports at 9d00 [size=8]
        I/O ports at 9c00 [size=4]
        I/O ports at 9b00 [size=16]
        Memory at fb9ff000 (32-bit, non-prefetchable) [size=2K]
        [virtual] Expansion ROM at dff00000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [70] Express Legacy Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Kernel driver in use: ahci

Does anyone know what might be an issue? I mean the advertised speed was supposed to be higher. I mean I can see a big difference in boot time and first time starting of applications, but I'd like to know how to make the speed closer to the advertised speeds (Read 550MB/s Write 495MB/s)?

Thank you.

cascade9 07-30-2011 10:22 AM

I'll try to do a bit of proper digging, but it seems that it could be a problem with the marvel controller.

sycamorex 07-30-2011 10:29 AM

Quote:

Originally Posted by cascade9 (Post 4429348)
I'll try to do a bit of proper digging, but it seems that it could be a problem with the marvel controller.

Thanks. There's an option in BIOS related to loading SATA3 firmware. There are three options: onchip / auto / force.

The auto option defaults to onchip - that's what I'm using now. When I change it to force, when I boot the computer it says updating sata controller and then reboots (and it's onchip again).

cascade9 07-31-2011 05:41 AM

You should be running in SATAIII mode, or else there *should* be a limit of 300MB/sec.

I've had a look around, and the marvel 9128 + Vertex3 benchmarks are all over the place. However, 321MB/sec (or near enough) seems to be not that uncomon with marvel 9128 + vertex 3 controllers.

I dont think you've got a serious problem, just a sub-standard SATAIII controller. BTW, if this is the same board that you were having your BIOS problems with, its possible that gettinga 'good' BIOS will give you a bit mroe bandwidth...even if you wont get the bandwidth that OCZ says the vertex 3 can get 'up to'.

sycamorex 07-31-2011 04:24 PM

Thanks. I'm going to leave it like that. Yes, it's the same motherboard. I've tried downloading firmware from a few mirrors and the downloads seems ok.

I might try upgrading the drive's firmware to 2.11 but at the moment the motherboard is a more pressing issue.

onebuck 08-01-2011 11:20 AM

Hi,

Look at SSD wiki for helpful guide.

Plus look at your initial setup, notice you selected starting cylinder as 2. :) You gave up that 2048.

sycamorex 08-01-2011 12:12 PM

Quote:

Originally Posted by onebuck (Post 4430813)
Hi,

Look at SSD wiki for helpful guide.

Plus look at your initial setup, notice you selected starting cylinder as 2. :) You gave up that 2048.

Hi Gary,

Thanks for the link.

Sorry if I wasn't clear when describing my steps. The bit of code where the starting cylinder is 2 was taken from the OCZ forum tutorial. In my case for some reason the first available cylinder was 2048. The range that was available was 2048-117231407.

SqdnGuns 08-13-2011 02:53 AM

Thanks for starting this thread sycamorex. I was the proud recipient of a FREE brand new Intel 320 Series 80GB SSD this week. I will be following this thread as well as doing some research on my on how to get the most out of this new toy.

BTW, I am running it in a laptop for now.

sycamorex 08-13-2011 05:58 AM

SqdnGuns, have fun with your new toy:) Btw, you could share any findings from your research here.


I read again the hdparm manual and noticed it now that the -tT test should be performed 3 times with no other active processes going on. I booted a computer, logged in and performed the tests before starting X. The reported speed has increased, but rather insignificantly.

Timing buffered disk reads have increased from 321.x MB/sec to 330.x MB/sec.


All times are GMT -5. The time now is 09:52 AM.