The Linux SSD Experience (Continued)

The Linux SSD Experience (Continued)


This week I continue my experiments with my new SSD (Solid State Drive). I don’t want to give away the whole story, but I may find it hard to go back to spinning disks. Before, I get to all the good news, let’s talk about the firmware upgrade issue.

If you recall, I was using a 64GB ADATA S599 SSD. ADATA recently released a firmware upgrade and I read it may help performance (it is supposed to address some other issues as well). The upgrade can only be done with a Windows host. I have a laptop with Windows XP, but no desktop systems. Not a problem, I thought, I’ll head over to my friends house and convince him to open his PC and allow me connect my drive and flash the firmware. I assumed a 20 minute exercise. Three hours later, the firmware was still not upgraded. The short story is you have to bend over backwards and hope the moon is in the right phase to get the firmware to upgrade. It seemed to almost work, but then it failed. The update software tool, from SanForce I am told, is really poor. It gives very little information about what it is doing and about any problems it encounters. I was not a happy camper, but decided to just use the drive as is and not muck about changing the BIOS and registry of my friends computer to upgrade the Firmware on my SSD. Clearly an unacceptable situation and one that I will investigate before I buy or recommend another drive.

Once I got the drive back in its home system, I decided to partition and format using ext4 so I could use the TRIM feature (TRIM allows the drive to get hints from the OS about deleted blocks of data). I was running Scientific Linux 5.4 (SL5.4) and assumed I had to update my kernel and tools (hdparm and fdisk) to use TRIM. It started getting involved and I decided to use the just released SL6.0. Before, installed the OS, I consulted Ted Ts’o Blog for some advice on setting up the drive. I also found my friend Jeff Layton’s videouseful.

I created the partitions (there are only two) and formated them as ext4 when I installed SL6.0. The install went fast and rebooting was very quick. I did a quick hdparm -t –direct /dev/sda and got 249 MB/sec which was better than my initial naive installation test (207 MB/sec).

Next it was time for some real testing. I used Bonnie++ v1.01c with a 4GByte files size (system memory size is 2GByte, so there is no cache effects). The following table show the results for a Soft RAID1 set, a single SATA drive, and the SSD. Processor loads are shown as (X%) next to each result.


Write (KB/sec)

Re-Write (KB/sec)

Read (KB/sec)

Random Seeks (sec)

Two Seagate: ST3500630AS

500G, SATA3, 7200 RPM


49710 (6%)

21401 (3%)

57859 (5%)

370.4 (1%)

Seagate: ST3250310AS

250G,SATA3, 7200 RPM, ext3

74507 (22%)

33087 (7%)

80636 (6%)

176.8 (0%)



SanForce 1222, ext4

251014 (46%)

109060 (%19)

253908 (23%)

1343 (2%)


Impressive. In all cases the speed-up was about 3.2X and in the random seeks it was 7.6 times faster, which makes sense because all seeks take the same time on an SSD. I was puzzled by the high processor utilization, however (maybe ext4). Of course, the key is whether the SSD can maintain this performance as it is used (degrades). TRIM will help here.

Finally, I think the best usage case for my SSD is to place all the system files on the SSD and use the RAID1 partition for the /home directories. SSD’s are still a bit to pricey for use with large file systems, but the attraction is there. I still have some lingering questions. How do I know if TRIM is working? Why is the processor utilization so high? And what about the firmware update? I’ll have more in the future.


No Comments

Sorry, the comment form is closed at this time.