1. The Limits of Flash
Flash memory (see the flash memory cell chapter) has dominated the non-volatile memory market for decades, but is increasingly running into technical limits. As the floating-gate cell continues to scale down, the number of stored electrons per cell keeps shrinking – at current feature sizes, sometimes only a few dozen electrons decide between “0” and “1”. This makes the cell more susceptible to interference from neighboring cells (cell-to-cell interference via parasitic capacitance), to read disturb, and to charge loss over time, since losing even a single electron can already distort the read result. In multi-level-cell and triple-level-cell schemes (see the flash memory cell chapter), where several bits are encoded via fine gradations of the threshold voltage within one cell, this problem is further aggravated, since the voltage windows between the individual charge states keep narrowing.
Added to this is limited endurance: every write/erase cycle drives electrons through the cell's thin tunnel oxide (Fowler-Nordheim tunneling or hot-electron injection), which gradually fills the oxide with traps and stresses it mechanically. Depending on the cell type, NAND flash therefore survives only a few hundred cycles (QLC, four bits per cell) up to around 100,000 cycles (SLC, one bit per cell) before the cell's error rate can no longer be compensated by error-correction coding (ECC). Write speed is also fundamentally limited: unlike byte-wise writing, erasing in NAND flash happens block-wise (typically several hundred kilobytes at once) and, at several milliseconds, takes considerably longer than the actual write operation of a page.