Solid state drives now offer an attractive storage alternative for enterprise users - but is the range of options and pace of innovation proving more of a headache than a help to IT specifiers?
Solid-state drives (SSDs) have now become readily affordable, but with manufacturers offering several different models each, how do you decide which is right for enterprise needs? And to help inform a purchasing decision, what is going on under the covers that makes them more interesting and/or different for business applications?
Current SSDs are but a first glimpse of the future of mass data storage, both for the desktop and in the data centre; but in actual fact they are also somewhat of a fudge: corseted into the trappings of a spinning hard disk, they are limited by the need to conform with what went before. The corset will eventually loosen up, but in the meantime a lot of innovative engineering is needed to extract the most out of where we have reached so far.
Examples include the VeloDrive PCI-Express cards developed by OCZ Technology and other vendors. These sidestep the SATA/SAS bottleneck by talking directly to the system bus, and can therefore hit data rates in excess of 1Gbit/s. After all, why bother with a 6Gbit/s disk protocol when there is no disk?
Then there are hybrids such as Seagate's Momentus family, combining comparatively high latency spinning disk for cheap capacity with Flash for faster access. Others include the use of digital signal processing to improve the readability of stored bits, and therefore give Flash a longer life - a leader here is Anobit, which was bought by Apple earlier this year for a reported $390m. Alongside this is the development of NAND Flash able to encode eight states in a single cell, slashing the cost-per-megabyte by allowing each cell to hold three bits.
What these all have in common is reliance on a sophisticated controller chip. Indeed, much of the differentiation between SSDs today - even between different consumer grades, never mind between consumer and enterprise drives - comes from which controllers and firmware they use. "The secret sauce is your controller - we are on the eighth generation of our RAMSAN controller," says Erik Eyberg, a senior analyst with enterprise solid-state storage pioneer Texas Memory Systems (TMS).
While some, such as TMS itself, and presumably Apple now as well, make their own controllers, others buy in chips from specialists such as Sandforce, Indilinx, and JMicron. Joost van Leeuwen, EMEA director of marketing for SSD specialist OCZ Technology, says that while a lot of the decision is price and speed, there are more subtle performance differences too.
"SandForce controllers, for example, use compression to push more data through the lanes in the hardware," he explains. "The downside is if your data is already compressed, such as JPEG, MPEG, MP3. Indilinx provides a much more consistent performance regardless of file type or size: they use a small DRAM cache to achieve high speed and do not rely on compression. This is a big difference for most types of use in multi-application segments."
Similarly, Louis Kaneshiro, an SSD engineer with Kingston Technology, says his company uses Sandforce in its high-performance lines, but switches to cheaper JMicron for its budget-priced notebook SSDs. "The controller is really the engine of the drive," he reports. "It has a lot to do with how efficient the wear-levelling is and the write-amplification, which is how much NAND is actually written to." Write amplification occurs because Flash can only be erased in pages, so if you need to update a file, you may first have to move current data to a new page, erase the old page and then write the updated file all over again.
Where there's a wear
Wear-levelling is the process of evenly distributing usage across the chip, and it is needed because the way Flash works means that each cell can only stand a certain number of erase cycles before it begins to become unreliable. So the controller must not only re-map bad blocks, it must keep track of empty pages, pre-emptively erase stale pages for re-use once it starts to run out of new ones, and avoid creating usage hot-spots. Incidentally, when you rewrite a page, time and power are saved by not erasing the original immediately; instead it is marked 'stale', and the data written to a new page. This perforce creates opportunities for data filchers and forensic analysts alike.
All this, and Flash's lack of mechanical latency, will make it seem very odd stuff to anyone or anything that expects spinning disk - including operating systems and applications. For example, says Kaneshiro: "You don't need defragmentation or write optimisation - the drive actually works better fragmented! If you defrag, you are messing with the wear-levelling."
Fortunately, modern versions of Linux, Apple MacOS, Unix and Microsoft Windows all understand SSDs and can adjust appropriately; and some SSD specialists, such as Plextor, have been developing proprietary techniques for working round some of the 'legacy' memory controller issues that date from previous-generation storage technologies. "We do a lot of benchmarks in the lab that I run," Kaneshiro says. "The operating systems all benefit, but we do see some taking better advantage than others - MacOS is very snappy with SSD, Linux is pretty nimble as well. Microsoft Windows 7 makes better use of SSD than Windows' XP and Vista combined."
He adds: "With older operating systems you would need to do more tuning, but as long as you've got AHCI [Advanced Host Controller Interface] support, you are stomping what a hard disk is capable of. The other thing though is that Windows is only going to go so fast, regardless of the SSD, the processor and so on. It's when we get to specialist stuff that you can get gains, for example with Adobe Premiere you might want more IOPS [I/O Operations Per Second]."
Flash's Achilles heel, so to speak, has been the endurance issue - how many erase cycles each cell can take on average. Sadly, this is not getting any better as the industry shifts to finer silicon processes - from 34nm to 25nm, and then under 20nm - and to chips that store multiple bits per cell. "The wear levelling problem has only gotten worse," says Eyberg. "As you shrink the die, you introduce more problems for the controller to deal with. Each extra level of writes requires more error correction. There is some capacity loss, but the bigger problem is the more error correction you apply, the more steps the controller has to go through and the larger it has to be."
Price points a driving factor
Of course, other varieties of solid-state storage exist and offer better endurance. Battery-backed dynamic RAM and MRAM are used in certain applications, for instance, while NOR Flash is preferred for embedded uses. There are other non-volatile memory technologies under development, too. However, most observers agree that SSDs based on dense and cheap NAND Flash will dominate the market for many years to come.
"Then with NAND you have different categories," notes Eyberg. "Single level cells (SLC) with one bit per location, or multi-level cells (MLC) with two or three bits per cell. You have commodity MLC which goes into mobile phones and the like, and enterprise MLC (EMLC) - the difference is the number of writes it can take."
"The grade of NAND is higher for SSD that for other Flash lines such as SD cards or USB," says Ariel Perez, Kingston's SSD product manager. "Early on we used SLC for enterprise drives, but SLC is more and more going by the wayside in favour of MLC and specifically EMLC."
"The newer vendors who try to push all-SSD [storage subsystems] are using MLC to get the price right," agrees Bill Ross, marketing VP with enterprise storage developer Nexenta. "That type of Flash will become prevalent, but it is a little slower and you will also see wear and performance issues appearing over time." Nexenta sources its SSD hardware from memroy engineering OEM STEC.
The trade-off between endurance, performance, and price is a clear one. "SLC can handle 100,000 erase cycles. Current MLC is 3,000 to 5,000 depending on the grade, and EMLC comes in between," says Perez. "SLC is still needed for some niche write-heavy applications - industrial applications that have 24x7 loads, for example - but EMLC with 30,000 is fine for most. Then three-layer cell TLC might have 1,500 or 2,000 erase cycles. Consumers demand the fastest and cheapest, so it is TLC, but I do not know any vendor using TLC for enterprise."
OCZ Technology's van Leeuwen adds that Flash can also be architected as synchronous or asynchronous memory. "Asynchronous is a more affordable type of flash mostly used in our value range: read speeds are comparable to synchronous Flash, but write speed is lower," he says. "Synchronous is more costly, but will be used in our performance models because it is more durable and has better write performance."
And van Leeuwen further argues that a few thousand erase cycles is plenty for light'to medium usage in the enterprise. He points out that if you write an average of 5GB per day, a 60GB SSD could take almost 100 years to reach 3,000 erase cycles, in his estimation.
Long before then though we can expect to see a lot more from Flash, as it finally breaks free of the hard disk heritage. As Kaneshiro at Kingston Technology puts it: "The SSDs we see now are the tip of the iceberg. Putting them in a 2.5in hard disk format was something we could all understand, but moving forward it will indeed be amazing what more we will see with Flash." *