July 29, 2011, 8:07 AM — Solid state drives (SSDs) have become ubiquitous in portable devices such as tablets and small laptops due to their shock resistance, low power usage and speed, but have not penetrated deeply in the enterprise space due to their cost, which runs as much as 70x the cost of hard drives, and a tendency in early SSDs to have limited numbers of write cycles, resulting in drives that could wear out in a few years. However, the wear issue has been largely addressed, and SSD performance is so much higher than even high-performance hard drives that it can have a major impact in applications that are limited by storage performance, such as databases. As prices continue to drop and performance continues to increase, administrators with applications that are limited by storage bottlenecks should investigate SSDs.
There are issues with SSDs, however. The major limiting factor currently is in write performance with long cycles of intensive writes. The issue is that each block or cell in the drive must be written as a whole – if you want to change one bit in a block or cell, you must store the contents of the block in memory, erase the block and write the entire block over again. This is not an issue during a short series of writes, but once the whole disk has been filled, performance can decline dramatically, or response times can vary by orders of magnitude during extended write cycles. Manufacturers have addressed this by modifying controllers to improve garbage collection and over-subscribing (putting more capacity in the drive than advertised). Both of these modifications add more cost to the drives, so enterprise drives can cost quite a bit more than standard consumer models.
One way to leverage SSD speed is to use the drives as cache between the server and storage, either utilizing a controller like the Adaptec MaxIQ or with SAN systems such as the Compellent Storage Center that use SSDs as a tier 0 and automatically move the most-used files to the SSD storage.
Another issue is using SSDs in RAIDs. First, SSDs are more reliable than hard drives, so the need for redundancy is much less. Second, since SSDs still have limited numbers of writes, and tend to wear out at around the same times, the potential for an entire set of drives in a RAID set to wear out at near the same time could be disastrous. Finally, the performance of SSDs is so fast that the RAID controller can be a limiting factor – in this test, using two SSDs in a RAID 0 volume with a RAID controller improved by only a small margin, not nearly the doubling of performance that would be typical with standard hard drives.
To test the overall performance of enterprise-class SSDs, I tested five drives, the Intel SSDSA2SH064G1GC 2.5” 64GB, LSI WarpDrive SLP-300 (SSS-6200) PCI-E 300GB, OWC Mercury Extreme Pro RE OWCSSDMXRE400 2.5” 400GB, Plextor PX-128M2S-02 2.5” 128GB and Pliant Lightning LS 300S 3.5” 300GB. The prices for these drives range from about $250 for the Plextor to about $8,400 for the LSI WarpDrive. In general, the prices reflect the performance of the drives, both in overall transfer rates in megabytes per second (MBps), input/output operations per second (IOps), and in the ability to sustain writes for extended periods without performance drops or increases in average transaction times. The table below shows IOps and MBps for each drive. The long and short test cycles show the impact of extended write cycles on each drive. Of note are the IOps and MBps for the LSI WarpDrive, which is a PCI-Express card rather than a SATA/SAS drive as the rest are. This gives it a much higher speed connection, which results in very high performance – about four times the next fastest drive. You can also see that write performance declines during an extended write cycle, however, which was not the case with the OWC and Pliant drives. With all the drives you can see that the average and maximum response times and average and maximum transaction times increase substantially during the same extended write cycles. This is an indication that the drives are struggling to complete writes quickly enough to maintain performance.
Note that the manufacturer’s specifications for these drives will show much higher throughputs and IOps, but the numbers in the table reflect a real-world test using a mix of reads and writes for the short test, and a write-intensive test over several hours in the long test, designed to stress the SSDs, rather than tests optimized to show the maximum throughput possible.