Clearing SDD FUD

by daniel on March 18, 2009

 

The last months there has been a lot of FUD regarding SSD vs. regular HD. Most of the ambiguity was regarding performance and suitability to different usages and whether it was really something different.

Mechanical hard disks use a magnetic plate for storing the information using a read / write head. The plate is divided into concentric circles, and each circle is divided into short stripes each storing a specific amount of information.  A more detailed explanation can be read in howstuffworks.
SSD use memory chips for storing the information same as RAM, with the difference that the information is persistent until next change.

There are three concerns in hard disks:

  1. Throughput – how many bytes can be moved between the computer and the hard disk in a defined period of time, this is normally measured in MByte / sec for a stated block size.
  2. Latency – the time it takes from the moment you request an action until it is really executed on disk, this is normally measured in milliseconds.
  3. IOPS – the number of read or write actions that can be performed in a defined period of time, this is normally measures in IO per Second for a stated block size.

In mechanical disks, there is a limitation on how fast the head can reach the sector to be read / write, it affected the latency due to the head having to reach the start of the file, the IOPS and throughput because of repositioning of the head in middle of files.
In order to alleviate the problem of head movement, different methods were used, like Native Command Queuing and disk defragmentation.

The SSD does not have a problem of head repositioning because each sector is fetched directly using a direct mapping from memory. Thus methods used on mechanical disks like defrag or NCQ are not relevant. SSD have a limitation on throughput due to the time it takes to read a sector from memory.
Just to understand the different performance benefits, here are 3 disks to be compared:

Item
1 TB SATA 73 GB FiberChannel 73 GB SSD
Average seek time read/write (ms)
8.5/9.5 3.5 / 4.0 0.02 -0.12
Sustained read (Mbyte /sec)
105 400 220
Sustained write
105 400 115
Random IOPS read
100* 150* 45,000
Random IOPS write
100* 150* 16,000
Source
Link Link Link

* From EMC design guides

As you can see, there is a huge difference in IOPS for SSD, but a lower benefit for sustained transfer of sequential information. This raises the question of best use of SSD taking into account the price of one disk.

The best practices form EMC specify that SSD should be used for IOPS intensive use, like DB indexes of frequently accessed small files. The SSD is currently unsuitable for storing large files requiring high throughput.

As always in engineering, each option has a different tradeoff, and with enough clear information a judicial decision can be taken:
  • SATA – high density, low price and medium throughput
  • FiberChannel – low density, higher price and very high throughput
  • SSD – lowest density, highest price and very high IOPS

The future might hold surprises in capacity and price, but it will take some time till there is only one winner.

Comments on this entry are closed.

Previous post:

Next post: