I occasionally will hear an otherwise knowledgeable IT pro refer to Flash and SSD interchangeably. This is, well, wrong. While Flash and SSD can both be effectively used in commercial storage systems, they are two different (but inter-related) technologies.
What’s New Is Old: What Is Flash?
Flash memory has been around for a while. Dr. Fujio Masuoka, a man Forbes magazine has called an unsung hero, was working as an engineer at Toshiba when he applied for the patents for Flash memory in 1980, although the first working prototypes were not produced until four years later.
When Dr. Masuoka started his research he was seeking a type of random access memory, or RAM, that would retain its contents after being powered down, unlike the dynamic RAM, or DRAM, common in most computer memory. This virtue of “persistence” is one that Flash shares with common spinning disk drives; when powered down, the data stays put. But Flash also shares some attractive attributes of DRAM: high physical density, high speed and durability.
“SSDs have Flash memory on board, but they are not the same.”
Bye Bye Disk?
So why, if Flash is “persistent” like disk drives but fast and durable like DRAM, hasn’t it replaced disk storage altogether? To some extent it has. When was the last time you saw a floppy disk? Flash memory is what makes USB thumb drives work, and they are a big contributor to the demise of the floppy.
Flash has a problem, though. When scaled up into large multi-terabyte arrays, it gets crazy expensive. But man is it fast, and I mean fast. The high-speed/high-cost nature of large 100% Flash arrays has historically limited the market to very large enterprises. They have also been the only customers who need that kind of performance, although that is changing. The cost of Flash, like any emerging technology, is dropping rapidly, and within the next 10 years we will see entire data centers using nothing but Flash storage.
SSD – the Adapter
Have you ever seen those cassette adapters that allow an MP3 player or smart phone to be played on an older car stereo? They generally sound like crap, but at least you can listen to your tunes. Something similar had to be contrived to allow Flash to integrate easily into storage arrays, and the solution is SSD – Solid State Disk. Basically an SSD is a card with Flash memory on it that also has connectors and software that allow it to be installed and used in place of a disk drive. This is all well and good but forcing Flash to talk to a system via a disk drive interface is a bit like mounting a jet engine on a Vespa scooter. More about this in a minute.
A Little Goes A Long Way
In the last several years some smart people in the storage business have been applying Flash as a persistent cache in storage arrays that are otherwise populated with plain-old disk drives. When used with the proper software algorithms, a little bit of Flash can seriously accelerate a disk array. As an example, a commercial-grade 15,000 RPM disk drive can do about 200 IOPS (I/O Operations Per Second, a measure of how fast the drive can read and write data) so 12 of them in an array should be able to do somewhere around 2400 IOPS. Add in a couple of SSDs and the right caching software and wow, what a difference. Like 20-to-30-times-as-fast different. These so-called “hybrid” disk arrays are all the rage in the IT industry now because they can effectively combine the low cost of disk with the very high performance of SSD.
The Road Less Traveled
A few years ago Kelly Long and John Spiers, the founders of LeftHand networks, which they sold to HP in 2008, began to get tired of walking around their respective houses in their PJ’s all day with nothing to do, so they founded NexGen Storage and started working on a storage array architecture that took advantage of the non-SSD Flash memory products from Fusion-io. The result is a storage array that takes hybrid storage to the next level – the screaming performance of non-SSD-bound Flash combined with the very high capacity and physical density of regular disk drives. The NexGen arrays also include some amazing software that compresses, deduplicates and otherwise manages the data on the array so that it is absolutely optimized for both speed and density, which is kind of like designing a 200 MPH dump truck: it ain’t easy, but it can be done.
What is deduplication?
|A deduplication program – or “engine” – compares the contents of new files to others already stored and strips out redundant blocks or chunks, leaving in place small pointers that show where this redundant data has already been stored. Read More»|
Another Further Step
There is another path to hybrid disk array Nirvana without having to cramp the potential of Flash by strapping it onto SSDs. Storage controllers, like all computers, have an internal “bus”, basically the internal backbone channel that transports data from the CPU to the DRAM memory and out to the peripheral interfaces. The standard bus nowadays is called PCIe, and it’s very fast. Almost all servers (and some storage controllers) have PCIe slots for expansion cards with additional memory, network interfaces, etc. Smart folks like the team at Fusion-io have built special PCIe cards that are loaded up with Flash memory. When used with Fusion-io’s ioMemory software, Flash can still be treated like a disk drive but is freed from the restrictions of SSD. The result? Truly astounding performance, many times that of SSD-based Flash.
So there you have it. Flash and SSD are different, but also related. SSDs have Flash memory on board, but they are not the same. Hopefully, in spite of a a few digressions and ramblings, this is a helpful little description of the difference between Flash and SSD, and why they are both important.