As organizations deploy applications that require storing ever-growing amounts of information, they are increasingly considering solid state drive (SSD) technology for its lightning-fast performance. They may not realize that different versions of SSD technology are available that are suitable to different types of applications, however. To determine which technology to implement, organizations need to define the characteristics of their application and learn how to match the right SSD solution to those requirements.
As I discussed in “How to know if your SSD will go the distance,” SSD technology serves two general types of applications: client applications and enterprise applications. Client applications for SSDs include entry-level servers, laptops, cameras, PCs, and cell phones. Client SSD applications typically serve a single user of a system used no more than eight hours a day, five days a week on small datasets in read-intensive operations, performing two to three full drive writes a day.
Enterprise workloads include heavy analytics, Web indexing, on-line transaction processing and data warehousing, medical imaging and video editing/processing, and high-compute servers. These applications run around the clock, every day of the year, with multiple users performing write-intensive operations (10 full drive writes per day) characterized by complex data patterns on large datasets.
To distinguish SSDs that best serve these two types of applications, users need to consider performance, endurance, cost, interoperability, and customer support.
SSDs from different vendors vary widely in performance. For example, SSDs designed for enterprise applications can deliver 48K/22K (random read/write) IOPS with less than 5 ms average response times. In contrast, SSDs for a single user client might only furnish 38K/2.7K (random read/write) IOPS and greater than 20 ms average response time. If an application sends more I/O requests than the device can handle, the user will wait longer for the completion of those operations and response times will be inconsistent. Providing consistent performs means matching both the IOPS and average response time that the SSD delivers to the requirements of the application.
New benchmark tests, such as the Storage Performance Council (SPC)-1C storage benchmark, as well as the Solid State Storage Performance Test Specification (SSS PTS) from the Storage Networking Industry Association (SNIA) Solid State Storage Technical Work Group, and the SNIA Solid State Storage Initiative (SSSI) allow organizations to determine whether a particular SSD delivers enterprise- or client-level performance.
Endurance, reliability, and cost
While organizations normally select SSDs for their superior performance, endurance and reliability are also critical considerations. Memory cells within NAND flash on SSD devices can only be written to a finite number of times (referred to as their program/erase life). SSDs wear out as cells are repeatedly written to over time. When this happens, the device becomes unreliable and the integrity of the data is at risk. While data loss is a concern for any application, reliability is particularly important for enterprise applications because they manage mission-critical information.
Various SSDs have different endurance characteristics. Single-level cell (SLC) NAND flash, the most expensive type, has a theoretical limit of 100,000 P/E cycles, which has made SLC the most reliable and, until recently, the SSD technology of choice in enterprise applications. In contrast, multi-level cell (MLC) NAND flash has 10,000 P/E cycles for 2-bit per cell NAND and 3,000 to 5,000 P/E cycles for 3-bit per cell.