NAND Flash

What is NAND flash

NAND flash is a type of non-volatile memory — it retains stored data when power is removed, unlike DRAM (Dynamic Random-Access Memory) which requires constant refresh. The name comes from the NAND logic gate: the memory cells are wired in a series arrangement that implements NAND (Not AND) boolean logic, which allows high storage density because cells share wiring.

NAND flash is the storage technology inside SSDs (Solid-State Drives), USB flash drives, SD cards, and the internal storage of smartphones and tablets. It is also used for firmware storage in BIOS chips and microcontrollers.

How NAND flash stores data

Data is stored by trapping electrons in a floating gate (older technology) or a charge trap (modern 3D NAND) within each transistor cell. The presence or absence of trapped electrons changes the cell’s threshold voltage — the voltage at which the transistor switches on. By measuring the threshold voltage, the controller determines what data the cell holds.

Program and erase operations

NAND flash has an asymmetry that distinguishes it from RAM:

  • Read: fast (~25 microseconds per page). Non-destructive — reading does not alter the stored charge.
  • Program (write): slower (~200-500 microseconds per page). Can only change bits from 1 to 0 — electrons are injected into the floating gate.
  • Erase: slowest (~1.5-3 milliseconds per block). Resets all bits in an entire block back to 1 by removing electrons. You cannot erase a single page — the minimum erase unit is a block (typically 128-256 pages, or 512 KB to several MB).

This program/erase asymmetry is why SSDs need sophisticated controllers with garbage collection and wear leveling (see below).

Pages and blocks

NAND flash is organised in a hierarchy:

NAND Die
  └── Plane (usually 2-4 per die)
        └── Block (thousands per plane, 128-256 pages each)
              └── Page (the read/write unit, typically 4-16 KB)
  • Page: the smallest unit that can be read or programmed. A 4 KB page holds 4,096 bytes of data plus error-correction metadata.
  • Block: the smallest unit that can be erased. A block contains 128-256 pages. To modify one page in a block, the controller must copy all valid pages elsewhere, erase the entire block, and write the updated data back — a process called read-modify-write that contributes to write amplification.

Cell types

Each NAND cell can store one or more bits by distinguishing multiple voltage levels. More bits per cell means higher density (more storage per die) but requires distinguishing smaller voltage differences, which makes reads slower, writes more error-prone, and reduces endurance.

Cell typeBits per cellVoltage levelsTypical P/E cyclesRelative costTypical use
SLC (Single-Level Cell)1250,000-100,000HighestEnterprise cache tiers, industrial
MLC (Multi-Level Cell)248,000-10,000HighEnterprise, high-end consumer
TLC (Triple-Level Cell)381,000-3,000MediumMost consumer SSDs, some enterprise
QLC (Quad-Level Cell)416100-1,000LowestBudget consumer, read-heavy archival

P/E cycles (Program/Erase cycles) measure how many times a cell can be programmed and erased before it degrades. Each cycle causes a tiny amount of physical damage to the oxide insulating layer around the floating gate, gradually reducing the cell’s ability to reliably hold a charge. This is why endurance degrades as bits-per-cell increases: more voltage levels means less margin for error, so the same amount of oxide wear causes earlier failure.

SLC caching

Most modern consumer SSDs use TLC or QLC NAND but include an SLC cache — a region where the controller temporarily writes data in SLC mode (1 bit per cell). Writing in SLC mode is much faster because the controller only needs to distinguish 2 voltage levels instead of 8 (TLC) or 16 (QLC). Once the SLC cache fills, the controller must write directly to native TLC/QLC and simultaneously fold (rewrite) cached SLC data into TLC/QLC, competing for controller bandwidth. This is why consumer SSDs show fast burst writes that drop dramatically under sustained load.

Wear leveling and garbage collection

Because NAND cells have limited P/E cycles, the SSD controller must distribute writes evenly across all cells — a process called wear leveling. Without it, frequently written blocks would wear out while others remain fresh, prematurely ending the drive’s life.

Garbage collection is the background process that reclaims space from blocks containing a mix of valid and invalid (stale) pages. The controller copies valid pages to a new block, then erases the old block, freeing it for reuse. This process generates additional writes beyond what the host requested, a phenomenon called write amplification — the ratio of actual NAND writes to host-requested writes (ideally 1:1, often 2:1 to 4:1 in practice).

2D vs 3D NAND

Early NAND flash was planar (2D) — cells were arranged in a single layer on the silicon die. As process nodes shrank below ~15 nm, the cells became so small that electron leakage between adjacent cells caused reliability problems.

3D NAND (also called V-NAND by Samsung) solves this by stacking cell layers vertically — 96 to 232+ layers in modern drives. Each layer can use a larger, more reliable cell geometry because density comes from stacking rather than shrinking. 3D NAND offers better endurance, lower power consumption, and higher density than planar NAND at the same cost.

Alternative technologies

  • 3D XPoint (Optane): Developed by Intel and Micron, 3D XPoint (pronounced “cross-point”) uses a different storage mechanism (phase-change memory) that is byte-addressable rather than page-addressable, with much lower latency (~10 microseconds vs ~25 microseconds for NAND read) and higher endurance. Intel discontinued Optane products in 2022, but the technology influenced persistent memory concepts.
  • NOR flash: Unlike NAND, NOR flash allows random byte-level reads at high speed, making it suitable for firmware and code execution (XIP — Execute In Place). NOR is more expensive per bit than NAND and has lower density. Used in BIOS chips and microcontroller firmware storage.

See also

  • Consumer vs Enterprise SSDs — how NAND type affects SSD endurance and performance
  • NVME — the communication protocol used by modern NAND-based SSDs
  • Block storage — the abstraction layer above physical NAND
  • Disc Blocks — how operating systems interact with block storage
  • BIOS — uses NOR or NAND flash for firmware storage