The primary benefit of MLC flash memory is its lower cost per unit of storage due to the higher data density, and memory-reading software can compensate for a larger
bit error rate. The higher error rate necessitates an
error-correcting code (ECC) that can correct multiple bit errors; for example, the
SandForce SF-2500 flash controller can correct up to 55 bits per 512-byte sector with an unrecoverable read error rate of less than one sector per 1017 bits read. The most commonly used algorithm is Bose–Chaudhuri–Hocquenghem (
BCH code). Other drawbacks of MLC NAND are lower write speeds, lower number of program/erase cycles and higher power consumption compared to SLC flash memory. Read speeds can also be lower for MLC NAND than SLC due to the need to read the same data at a second threshold voltage to help resolve errors. TLC and QLC devices may need to read the same data up to 4 and 8 times respectively to obtain values that are correctable by ECC. MLC flash may have a lifetime of about 1,000 to 10,000 program/erase cycles. This typically necessitates the use of a
flash file system, which is designed around the limitations of flash memory, such as using
wear leveling to extend the useful lifetime of the flash device. The
Intel 8087 used two-bits-per-cell technology for its
microcode ROM, and in 1980 was one of the first devices on the market to use multi-level ROM cells.
Intel later demonstrated 2-bit multi-level cell (MLC)
NOR flash in 1997.
NEC demonstrated quad-level cells in 1996, with a 64
Mbit flash memory chip storing 2 bits per cell. In 1997, NEC demonstrated a
dynamic random-access memory (DRAM) chip with quad-level cells, holding a capacity of 4Gbit.
STMicroelectronics also demonstrated quad-level cells in 2000, with a 64Mbit
NOR flash memory chip. MLC is used to refer to cells that store 2 bits per cell, using 4 charge values or levels. A 2-bit MLC has a single charge level assigned to every possible combination of ones and zeros, as follows: When close to 25% full, the cell represents a binary value of 11; when close to 50%, the cell represents a 01; when close to 75%, the cell represents a 00; and when close to 100%, the cell represents a 10. Once again, there is a region of uncertainty (read margin) between values, at which the data stored in the cell cannot be precisely read. nearly all commercial MLCs are planar-based (i.e. cells are built on silicon surface) and so subject to scaling limitations. To address this potential problem, the industry is already looking at technologies that can guarantee storage density increases beyond today’s limitations. One of the most promising is 3D Flash, where cells are stacked vertically, thereby avoiding the limitations of planar scaling. In the past, a few memory devices went the other direction and used two cells per bit to give even lower bit error rates. Enterprise MLC (eMLC) is a more expensive variant of MLC that is optimized for commercial use. It claims to last longer and be more reliable than normal MLCs while providing cost savings over traditional SLC drives. Although many SSD manufacturers have produced MLC drives intended for enterprise use, only Micron sells raw NAND Flash chips under this designation. == Triple-level cell ==