Monday, July 27, 2009

Solid State Hard Drives


A solid state drive is a storage device that uses solid state memory to store data. While technically not a disk, a solid state drive will often be referred to as a solid state disk drive, or a solid state disk, in reference to the fact that, in some ways, it replaces the traditional hard disk drive. Hard disk drives have been a faithful servant to computing for many years. But with heads, platters, magnetic surfaces, spindles and an array of other complex moving parts, they are most certainly fallible. They can be slow, too: disks have to start spinning if they're not already doing so, then they have to get the head to the correct position on the disk to read or write the data. Add this to the physical problems occurring when a piece of dust or other foreign object gets into the mechanism, or when an impact jolts the drive, and we have a distinctly imperfect system. Solid state drives address many of these timing and structural problems inherent in the hard disk drive.

The principle behind solid state drives is that there should be no moving parts: no spinning platters, no moving heads. Data is split into word length pieces and stored in memory. It is then accessed almost instantaneously using unique system-wide addresses. This behaviour has been used in computer RAM for many years, but for a long time it was too expensive for manufacturers to consider using it as persistent storage in sufficient volumes to replace the hard disk drive.
Solid state disks use either
NAND flash or SDRAM (non-volatile and volatile storage respectively). NAND flash is so-called because of the NAND-gate technology it uses and is common in USB flash drives and many types of memory card. NAND flash based drives are persistent and can therefore effectively mimic a hard disk drive. Synchronous dynamic random access memory (SDRAM) is volatile and requires a separate power source if it is to operate independently from a computer.
Solid state drives may be preferred over traditional disk drives for a number of reasons. The first advantage is found, as mentioned briefly above, in the speed of operation. Because hard disk drives need to be spinning for the head to read sectors of the platter, sometimes we have to wait for "spin up" time. Once the disk is spinning, the head must
seek the correct place on the disk, and from there the disk must spin just enough so that the correct data is read. If data is spread over different parts of the disk (fragmented) then this operation is repeated until all the data has been read or written. While each individual operation only takes fractions of a second the sum of them may not. It is often the case that reads to and writes from the hard disk are the bottleneck in a system.
Because the information on solid state drives can be accessed immediately (technically at the speed of light) there is no
latency experience when data is transferred. Because there is no relationship between spatial locality and retrieval speed, there is no degradation of performance when data is fragmented.
Consequences of the increased speed of writes for fragmented data include a much decreased application start up time: SanDisk, for instance, claim to have achieved Windows Vista start up times of around 30 seconds for a laptop with its SSD SATA 5000 2.5".
Solid state drives also enjoy greater stability over their disk counterparts. Because there are no moving parts there is less that can go wrong mechanically. Dust entering the device ceases to become a problem (and in any case solid state drives can be sealed air tight unlike disk drives which require a certain air cushion to function properly), and dropping the drive is less likely to cause damage to the data. There are no heads so head crashes are a thing of the past.
This speed and stability comes at a price, of course, and in early models prices of even the most modest of solid state capacities greatly surpassed that of the largest hard disks.
Some results on web