It is easy to assume that all SSDs are created equal. The reality is there are two distinct types of SSDs. One set is created for the client market and the other for the data center. The use cases between a client system and an enterprise system are vastly different. The problem is that many IT professionals are tempted to use client grade SSDs in their enterprises, a choice which could lead to significant performance and reliability challenges. Even within the enterprise SSD category there are differences between vendors, they may use similar NAND but the components in the drive that surround the NAND make a significant difference.
An SSD in a laptop will often go for long periods of time without any IO. It has plenty of time to perform garbage collection and similar functions. An enterprise SSD however, may face a full-time 24×7 workload and never have idle time for garbage collection type of functions but in the enterprise, it is consistent performance which is more important than peak levels of performance. Enterprises need SSD suppliers to create drives that focus more on the consistent delivery of IO (or IOPS) all the time no matter how heavy the workload rather than peak levels of performance that look good on a marketing datasheet.
The key challenge to delivering consistent performance is how the SSD handles write IO, especially under heavy random workloads. With each write, flash media needs to find available space to place that write. If there is no space available it has to make space “on the fly,” by rearranging data within cells to create contiguous space for the new write. Garbage collection routines are supposed to make this space available in advance, but they are not always afforded the time to complete their tasks.
To compensate for the latency that the write process creates, vendors will use some form of persistent DRAM as a staging area for new writes while the drive waits on garbage collection routines to catch up. In some cases, the larger the DRAM buffer on the SSD the less latency applications may experience. The size of the DRAM can affect the overall SSD bill of material cost so the right balance between consistent performance and affordable price must be kept in mind when designing an enterprise SSD.
DRAM, though, is only one part of the solution to deliver consistent performance. The other part of the consistency solution is the drive’s firmware. The firmware is the software secret sauce on an SSD that each vendor tunes for the application the drive is intended. As a result, two drives with the exact same NAND and even the same amount of DRAM can deliver significantly different IO results, especially under heavy workloads.
The differentiators between vendors firmware is the sum result of lessons learned through their internal testing and from feedback from their customers. The only practical way for an organization to quantify the differences in firmware quality is through testing. Customers should pre-condition SSDs before testing to take it out of its “out of box state” to realize steady-state performance.
Organizations will find by going through this testing process that there is a stark difference not only between client and enterprise drives but also between enterprise drive vendors.
To learn more about how SSDs are different check out or Lightboard video “The SSD Matters.”