single-level cell (SLC) flash
Single-level cell (SLC) flash is a type of solid-state storage that stores one bit of data per cell of flash media.
SLC flash storage is always in one of two states: programmed (0) or erased (1). The state is determined by the level of charge applied to the cell. Because there are only two choices, zero or one, the state of the cell can be interpreted quickly, and the chance of bit errors is reduced. Individual SLC memory cells can sustain approximately 100,000 write operations before failure. Once a cell is written to its limit, the cell starts to forget what is stored and data corruption can occur.
Single-level cell performs the simplest operation of all the flash storage types. It's also the longest-lasting flash because it stores one cell per bit, and the firmware doesn't need to go through several levels of data in the cells during read and write operations.
While SLC flash storage devices are rated at 100,000 write cycles per cell, multi-level cell (MLC) is rated at a mere 10,000 write cycles per cell. But SLC is also the most expensive flash SSD and is therefore reserved for the most performance-hungry applications that organizations are willing to pay more for.
Single-level cell flash is generally used in commercial and industrial applications and embedded systems that require high performance and long-term reliability. SLC uses a high grade of flash technology that provides good performance and endurance, but the tradeoff is its high price. SLC flash is typically more than twice the price of MLC flash.
As bits are added per cell, more states are required per cell. Two-bit MLC has four states, triple-level cell (TLC) has eight states and four-bit MLC has 16 states. Each state requires discrete voltage levels, which decreases the write throughput as more bits per cell are added.
SLC vs. MLC/TLC
Most multi-level cell flash stores two bits per cell, rather than one, so it offers higher capacity and lower cost than SLC. But MLC is also slower and has a higher rate of data corruption. Because MLC stores multiple bits per cell, it has more wear during write operations and therefore requires more wear-leveling, which slows performance and causes it to wear out faster. MLC controllers also need better error-correction technology than single-level cell flash drives. And because error correction in MLC has more work to do, it takes longer than error correction in SLC.
The added states also make the operating temperature of multi-level cell drives more important. High temperatures cause electron leakage, and because MLCs need heightened sensitivity to tell the states apart, they overheat more easily.
MLC is the most common flash storage in consumer devices, such as cameras and smartphones. Enterprise multi-level cell (eMLC) needs the right controller to function at an acceptable level for businesses, but it is sufficient for optimizing storage I/O for desktop and server virtualization.
Triple-level cell drives put three bits in each cell, so wear levels, error correction, power and cooling are even higher than that of MLC. TLC is best for workloads that are mostly reads, such as web hosting and streaming. They offer increased density, which can bring the price per gigabyte of flash storage closer to that of spinning disk.
Use cases for SLC
Applications that need the best possible performance should use single-level cell flash, but the storage device accessing the SLC is important. An array that uses SLC flash SSDs isn't significantly faster than one using multi-level cell SSDs.
If application acceleration performance and low latency are paramount and money is no object, PCI Express (PCIe) SLC flash cards are the way to go. If application acceleration is important, but the budget is tight, MLC PCIe flash cards are a good option. If you need to improve the speed of storage arrays you already have on the cheap, network attached SLC or MLC data caching will work.