SSD is Not the Best Way To Use Flash Memory in Storage
Non–volatile flash memory, invented in the 1980′s, slowly grew in practicality in the last two decades. Today, single- and multi-cell NAND flash memory has become affordable and practical.
There are many challenges in applying flash memory to conventional IT systems. Existing operating systems and applications expect storage capacity to appear in a conventional block or file format. But NAND flash is not a conventional disk at all, and has completely different region right characteristics. Flash memory excels at random I/O, precisely where rotating disk drives fall flat, so it should make an ideal choice for future storage devices.
The most straightforward approach to applying NAND to conventional IT systems was to place it behind a controller that would mask the complexity of flash, making it appear to be nothing more than a very fast disk drive. This is the definition of a solid-state drive or SSD. It is a compromise that allows unmodified systems to benefit from high-speed flash storage without any significant architectural changes.
But SSD is far from ideal. Each individual drive contains a complicated controller which interprets ATA or SCSI commands and routes data across multiple paths to the flash chips that do the actual storage. A good friend and storage engineer once remarked that “SSD controllers are the world’s smallest storage arrays”, and this is pretty close to the truth. These controllers face a daunting challenge of balancing reliability and performance without challenging conventional access methods.
Device makers love SSDs since they can easily swap out a hard drive without radically altering their systems. SSD is a shortcut to the future but does not fully take advantage of the performance or unique characteristics of flash memory.
The compromises inherent in SSD become obvious when one compares these devices to true flash memory storage options. PCIe-based flash memory cards outperform SSDs by a wide margin, since they do not have the bottleneck of a controller and SAS or SATA bus. Specialty storage arrays, designed to take advantage of PCIe-connected flash cards, also outperform SSD-based arrays.
The question of “SSD versus PCIe” is simple: Do you want some performance benefit in a conventional system or a radical upgrade? Enterprise storage is a conservative discipline and has tended to side with SSD in the last few years. But the benefits of “non-SSD” PCIe flash memory are enormous and will become increasingly obvious in the years to come. In a decade, SSD will seem a quaint throwback while flash memory will roar ahead.