Until recently, conventional wisdom dictated that single-level cell (SLC) technology was the only type of NAND flash that was suitable for enterprise-class solid-state disk (SSD) drives. That situation is changing as multi-level cell (MLC) flash is benefiting from technology advances by memory, controller and SSD vendors, while maintaining its cost advantages over SLC SSDs.
Generally, SLC flash is considerably more expensive than MLC, but it provides better endurance (reliability) and performance. But it’s not as simple as that.
The two technologies are typically compared based on characteristics such as endurance, performance and price.
Endurance is usually expressed in the number of write cycles that a media type can endure before failure, and the general rule is that SLC NAND can endure 100,000 write cycles while MLC can endure only 10,000 cycles. However, that’s just a generalization that doesn’t take into account all the tricks that SSD drive, controller and array vendors are implementing to compensate for the differences in raw NAND reliability.
“The number one issue is endurance, and there’s no way to make MLC as good as SLC, but there are ways to make MLC good enough for some enterprise applications,” says Jamon Bowen, director of sales engineering and customer support at Texas Memory Systems, which has been selling DRAM-based SSDs since the 1970s and introduced SLC flash-based SSDs in 2007.
Vendors are using a variety of techniques – some common, all proprietary – to compensate for the differences in reliability between SLC and MLC flash. Examples include wear leveling (or write leveling) to spread out the write distributions, DRAM cache and write coalescing, minimizing write amplification, over-provisioning capacity, enhanced error correction codes (ECC), compression, and other techniques for minimizing the amount of data that has to be written to the flash memory. Most of these techniques can be used with SLC and/or MLC devices, although they are becoming more prevalent in the MLC space.
SSD vendors use proprietary techniques to alleviate the endurance drawbacks of MLC flash. For example, STEC uses a NAND management technique called “CellCare” on its MLC-based SSDs. STEC also uses a proprietary technique called Secure Array of Flash Elements (SAFE), which adds parity in the SSD for recovery, reducing the error rate that a host “sees.”
(STEC is an early leader in the enterprise SSD market, having racked up design wins with most of the major disk array vendors. The company has two SSD lines: SAS/FC-based ZeusIOPS SSDs and SATA-based Mach 8 SSDs, both of which are available in SLC or, recently, MLC versions. Scott Stetzer, STEC’s vice president of technical marketing, says that about 95% of all the enterprise drives shipped are SLC-based devices.)
Some of the endurance improvement techniques can be implemented in software, and some require faster, more intelligent controllers and firmware.
Confusing the endurance issue: There are no solid standards for measuring and specifying endurance.
“There’s a lot of marketing specmanship out there that’s confusing the endurance issue,” says Pete Hazen, marketing director in Intel’s NAND Solutions Group. He notes, however, that organizations such as JEDEC are working on standards that might make it easier for users to evaluate SSD implementations. The Storage Networking Industry Association’s (SNIA) Solid State Storage Initiative (SSSI) group is also working on SSD standards.
“You have to look at the endurance requirements of specific applications and whether or not the SSD can meet those requirements,” says Intel’s Hazen. “After that, it’s a price/performance equation.”
It’s possible to get near-equivalent read performance with MLC, but MLC NAND suffers on write performance compared to SLC flash. But vendors are using a variety of techniques to improve the write performance on MLC SSDs, although there are tradeoffs.
“You can use more channels for parallelism, but that leads to challenges in power consumption,” says Intel’s Hazen, “and you can use synchronous operations at the device level, but that increases costs.” Hazen says that, generally, there’s a 2X to 3X difference in write performance between SLC and MLC at the NAND level.
At the SSD level, performance depends mainly on the controller implementation, DRAM caching, and factors such as firmware efficiency (to, among other things, minimize write amplification), the ability to place data in previously erased blocks, over-provisioning, and read/write pattern factors such as data transfer size and random vs. sequential I/O.
“The trend toward MLC is driven by cost, not by performance or endurance characteristics,” says Texas Memory’s Bowen.
Generally, there’s a 2X to 3X cost-per-GB difference between SLC and MLC (depending in part on how many bits are stored in the MLC memory cell), although pricing fluctuates a lot and the price differential at the NAND level was as high as 4.5X in 2008. Pricing at the NAND level depends largely on supply and demand issues and the NAND lithography (die size).
However, pricing at the NAND level doesn’t necessarily reflect price differentials at the SSD drive or array level. Some vendors (such as Anobit, Nimbus, and others) claim SSD pricing that is close to that of high-end RAID arrays based on traditional (rotating) hard disk drives.
Pricing at the end-user level also depends largely on factors such as the sophistication of the controller (the more intelligence, the higher the cost).
“Price is often the leading factor for users, which is why we’re working on MLC,” says STEC’s Stetzer. If your applications are mostly reads, MLC is a very effective solution. However, if you have write-intensive applications, my advice is to seriously look at SLC.”
“MLC vs. SLC depends on the application requirements and the number of failures that can be tolerated,” says Texas Memory’s Bowen. “MLC is not going to be deployed in I/O-intensive databases, but it may make sense with distributed applications where you can tolerate more failures.”
“When customers analyze their actual requirements they find that they’re not as high as they think,” says Intel’s Hazen. “A lot of applications are read-intensive, which is a very good fit for MLC-based SSDs, and that’s why MLC is gaining so much traction in those environments.”
And it isn’t necessarily an either/or decision. An emerging trend is to combine SLC and MLC SSDs in a tiered configuration in the same way you might tier SAS and SATA drives.