By Greg Schulz, Server and StorageIO @storageio
Solid-state devices (SSDs) are data storage memory (Figure 1) mediums that utilize semiconductor based memories as opposed to magnetic media found in hard disk drives (HDDs) or magnetic tape. Semiconductor memories include ultra fast volatile dynamic random access memory (DRAM) commonly found as main memory (e.g. RAM) in servers along with and non-volatile memory (NVM) typically NAND flash. Nand flash based SSDs can be found in cameras (as SD cards), cell phones, iPods, and PDAs, as well as in notebooks, net books, laptops, tablets, and workstations. SSDs are also appearing in larger servers, appliances, and storage systems from consumer to enterprise level.
Beyond the benefits of using flash-based storage for consumer products, SSDs are gaining popularity in cloud, virtual and traditional data centers to address I/O performance bottlenecks and improve storage effectiveness. A challenge for many environments is the decades old issue of addressing the server–storage I/O performance gap (Figure 2) which is discussed in more depth here (http://storageio.com/Reports/StorageIO_WP_080706_Cover.pdf ).
The cost of hardware continues to decrease, while servers are becoming faster and denser. Storage capacity and availability also continue to increase, while physical footprint and price decrease, but there is still a gap between storage capacity and server and storage performance. The result is that, for some applications, to achieve a given level of performance, more resources (disks, controllers, adapters, and processors) are needed, resulting in a surplus of storage capacity.
Nand flash based memories have risen in popularity given their low cost per capacity point and that no power is required to preserve the data on the medium. Flash memories have gained ground at the low end, ranging from SD cards or chips for cameras or smart phones to USB thumb drives and MP3 players, given their lower power, low cost, and good capacity points while preserving data when powered off. There are two common types of flash memories, single level cell (SLC) and multilevel cell (MLC). SLC flash stores a single data bit per memory cell, whereas MLC stacks multiple data bits per cell, enabling higher capacities at a lower cost. Typically, MLC based flash is found in solutions that have a higher capacity per price point. An example of a nand MLC flash die is shown in figure 3 (courtesy of IMF: Intel Micron Foundry) representing an aggregate 128Gbits (16GBytes) using 20nm technology. Multiple nand flash dies (figure 3) are stacked in a chip package that are then combined with a controller and installed on a card such as a DIMM, PCIe card or in a common disk drive form factor.
Persistent vs. volatile memory storage
Semiconductor nand flash memories are non mechanical meaning no physically rotating or moving parts for accessing the magnetic media. Note that I said no mechanical or physically rotating parts as opposed to popular industry folklore that SSDs do not have moving parts. What this means is that with SSD the cells where data are stored do not have to be mechanically moved to where a read/write head and read or write the magnetic stored data. Instead low level controllers coordinate and access the columns of data stored in a semiconductor cell.
With DRAM the data is randomly accessed and exists as long as a charge or power is applied to the memory resulting in a very fast, however non persistent storage medium. With nand flash, being nonvolatile data stored in cells is not lost when a charge or power is removed being persistent similar to magnetically recorded data. The benefit of persistence memory (figure 4) is that data is retained when power is removed similar to magnetic data stored on a HDD or tape. Another benefit of nand flash is that by being semiconductor based, it is faster than HDDs and at a lower cost per capacity than faster DRAM.
Dynamic Random Access Memory (DRAM)
Nand flash (SLC, EMLC, MLC), Phase Change Memory (PCM), NVRAM
Power required to store and retain data
No power required to retain data
Data lost when power turned off
Data retained when power removed
Battery backup used for data retention
No need for battery backup
Fast on both reads and writes
Reads faster than writes, writes are many times faster than those of a HDD. Some will be faster on writes vs. others with writer gather or other optimization.
Does not wear out due to use or cycles
Firmware and controller optimization to implement wear leveling maximizing duty cycle and endurance
More expensive than nand flash
Higher cost vs. HDD however lower cost than DRAM
Found in computer servers, cache in storage systems
Found in cameras, cell phones, PDA, MP3, servers and storage
Packaged as Dual Inline Memory Modules (DIMM)
Packaged in DIMMs, SD cards, thumb drives, drive form factors with SAS and SATA interface, PCIe cards, servers, storage systems and appliances.
Figure 4: Non-persistent (volatile) and persistent (non-volatile) memories
Does that mean nand flash does not have moving parts? Well, technically speaking there are no mechanically moving parts, and contrary to a myth that I have heard from some sales people SSDs do in fact consume electrical power thus generating heat. Nand flash memories are cell based that while not mechanical, there are in fact microscope electrical gates within the silicon dies that form the cells where data are stored that can wear out over time. These cells or gates are what enable data to be retained when power is removed and have design cycle life of how many times they can be written to. DRAM cells on the other hand do not have duty or life-cycles per say such as nand flash, however keep in mind that when you remove power from DRAM you also lose your data. Also keep in mind that magnetic media, as is the case with any medium when properly cared for and used have a very long lifespan as well often being limited by their mechanical parts or other interface components.
Read more in part II of this series (The call to duty, SSD endurance)