While a few storage vendors build flash modules for their systems, the vast majority of storage systems use off-the-shelf solid-state drives that the storage systems basically treat like a black box or faster hard drive. OCZ Storage Solutions' new Saber 1000 host-managed SSDs (HMS) give storage system designers more control over the SSD itself, letting them better optimize their systems to provide consistent latency and better flash endurance.
The problem with treating SSDs as simple storage devices is that it makes the SSD, or more specifically the SSD’s controller, responsible for both flash management and performance. Providing consistent high performance is pretty easy for an SSD that’s fresh out of the box; the controller simply has to write new data to all that nice blank flash. Things get more complicated once all the flash has been written to. Now the controller has to do garbage collection, consolidating the current data from multiple pages where it’s mixed in with data the storage system has overwritten and writing it to a smaller number of blank pages. Then it has to erase the pages it just consolidated, all while leveling the wear across all its flash.
If the storage system sends the SSD data when the SSD doesn’t have a blank page to store it on, or when the flash controller is busy performing a garbage collection cycle, the SSD won’t acknowledge that write until it has a place to store the data. Since erasing a page can take as long as 2ms, an SSD that usually provides 200µs write latency may have periods when its latency spikes to more than 10 times that.
Storage system designers can avoid these latency spikes by using high end SSDs like Intel’s DC S3700 that address latency variability by over-provisioning more flash and using more expensive multi-core flash controllers that can perform garbage collection in the background while also writing data to blank pages. Using high end SSDs is basically solving the problem by throwing hardware, and therefore the money to buy that hardware, at it.
OCZ’s host managed SSDs provide a control channel between the storage system controller and the SSDs flash controller that gives the system controller more knowledge of, and control over, what each SSD’s flash controller is doing. This communication channel has been one of the big advantages storage vendors get by building their own flash modules.
A storage system with a metadata-based data layout could control when each SSD performed garbage collection and other background tasks and direct all writes to SSDs that were ready to accept them. OCZ’s demonstration system had three banks of SSDs; at any given time, one of the three banks performed garbage collection while the system directed new write data to the other two banks. The graph below shows how switching to host-managed mode not only makes the system’s read latency more consistent, but also consistent at a rate higher than the peak rate for the system when it let each SSD manage itself.
The command set for these drives includes commands to read endurance data down to actual program/erase cycles and the number of free blocks, in addition to starting and stopping background tasks or garbage collection. Clever software in the storage system could manage both wear and endurance across its entire flash pool, getting the same performance and endurance out of less flash.
The standards bodies including T10 and the NVMe committee have been working on standards for host managed drives -- or as they call it, storage intelligence -- for a while, but OCZ decided that software-defined storage developers and web-scale users would be interested in a pre-standard product. The first host-managed SSD is its Saber 1000, a modest read-oriented SSD based on OCZ’s homegrown Barefoot controller with capacities of 480 or 960 GB. SAS versions are expected next year from OCZ’s parent company Toshiba.
Now that SSDs have become commonplace, we’re starting to see vendors not just competing on cost and performance, but developing new variants of SSDs to address niche or emerging markets. Like SanDisk’s CloudSpeed Ultra drives, which provide large capacities at very low levels of overprovisioning -- and therefore endurance -- for permanent storage in the very largest data centers, OCZ’s host managed drives are SSDs targeting those software-defined storage solutions that can take full advantage of the control they offer.