Technical guide

Flash Foundations

A working map from datasheet claims to NAND behavior, firmware choices, and the operational consequences of both.

Ten chapters connecting NAND physics to storage behavior. Read in order, or choose the layer you need.

The whole series

How the ten parts connect

Each part after the first rests on concepts that an earlier part teaches once, in full. Knowing the links tells you what to read first for the question you have.

How the ten parts connect

Parts 2 and 3 carry the heaviest links to later parts.

Arc thickness is the number of shared concepts.

Ten boxes are stacked from top to bottom in series order: Part 1, Standards & Interfaces; Part 2, The Physics of Flash; Part 3, From Cell to Die; Part 4, 3D NAND Stacking; Part 5, The Controller; Part 6, The Flash Translation Layer; Part 7, Garbage Collection & Wear; Part 8, Error Correction & Integrity; Part 9, Performance & Endurance; Part 10, The Future of Flash. Curved arcs on the right run from a part to every later part that rests on a concept the first part owns, and an arc is thicker when more concepts are shared. Part 1 feeds Part 5 (2 concepts), Part 9 (2 concepts), Part 10 (4 concepts). Part 2 feeds Part 3 (5 concepts), Part 4 (2 concepts), Part 7 (2 concepts), Part 8 (4 concepts). Part 3 feeds Part 5 (3 concepts), Part 6 (6 concepts), Part 7 (3 concepts), Part 8 (4 concepts). Part 6 feeds Part 7 (4 concepts), Part 10 (2 concepts). Part 7 feeds Part 10 (2 concepts). Thin dashed arcs join neighboring parts where the reading order is the only link drawn: Part 3 to Part 4, Part 4 to Part 5, Part 5 to Part 6, Part 7 to Part 8, Part 8 to Part 9, Part 9 to Part 10. The arcs leaving Parts 2 and 3 are highlighted because those parts share the most concepts with later parts. Part pairs that share a single concept are not drawn. 4 references run the other way, where an earlier part uses a concept a later part owns; they are not drawn.01Standards & Interfaces02The Physics of Flash03From Cell to Die043D NAND Stacking05The Controller06The Flash Translation Layer07Garbage Collection & Wear08Error Correction & Integrity09Performance & Endurance10The Future of FlashHeaviest partsOther partsNext part2 concepts4 concepts6 concepts
Which parts rest on which. An arc runs from a part to each later part that uses at least two concepts it owns; other single links and 4 back-references are not drawn; dashed arcs join neighboring parts. Source: Eyes on Flash series map, built from the Flash Foundations concept ledger.

Physics and the cell hierarchy carry the heaviest links. Charge, voltage windows and wear sit under the cell hierarchy, garbage collection and error correction, and pages, blocks and dies decide what the controller, the translation layer, garbage collection and error correction can do. The standards in Part 1 are the outer envelope, which is why they reach the controller, the performance numbers and the roadmap.

Chapters 01–03

The foundation

The standards, charge physics, and cell organization that define what every SSD can and cannot do.

01
Flash Foundations, Part 1: a host and a drive joined by per-core queues, four link generations each twice the last, and an M.2 card beside an E3.S cardA three-panel schematic. Left: a host box above a drive box, joined by five columns of queue slots, one queue per core. Center: four bars rising in doubling steps for PCIe Gen3, Gen4, Gen5 and Gen6, the last in copper. Right: an M.2 card above a larger E3.S card, drawn at one scale, each with gold contact fingers on its left edge.GUIDE / FLASH FOUNDATIONS, PART 1Limits set before the firmware runsPROTOCOL · LINK · PACKAGE01 PROTOCOLHostDrive02 LINKGen3Gen4Gen5Gen603 PACKAGEM.2E3.S
Flash Foundations

Standards & Interfaces

Which limits the standards set for every later layer, and why to measure sustained speed, thermals and the negotiated link instead of the burst number.

Start here: no earlier part needed

Read chapter
02
Flash Foundations, Part 2: electrons trapped in a cell, two wide Vt states against sixteen narrow ones, and endurance falling as bits per cell riseA three-panel schematic. Left: a flash cell with a gate, a storage layer holding electrons between two oxides, and a channel, with electrons tunneling up from the channel. Center: SLC with two wide threshold-voltage states above QLC with sixteen narrow states in the same range. Right: four bars for SLC, MLC, TLC and QLC falling in height, endurance falling as bits per cell rise.GUIDE / FLASH FOUNDATIONS, PART 2Charge becomes dataTRAP · Vt WINDOWS · ENDURANCE01 CELLGateChargeChannelTrapped charge02 WINDOWSSLC · 2 statesQLC · 16 statesSame Vt range03 ENDURANCESLCMLCTLCQLCFewer cycles
Flash Foundations

The Physics of Flash

Why every extra bit per cell shrinks the voltage margin, and how wear shows up as a rising raw bit error rate.

Builds on Part 1

Read chapter
03
Flash Foundations, Part 3: a string of cells, a page inside a block, and four planes in one dieA three-panel schematic. Left: a NAND string of cells between a drain select gate and a source select gate, with one cell highlighted in copper. Center: a block drawn as a stack of pages, one page highlighted for writing, with the whole block outlined as the erase unit. Right: one die holding four planes of blocks, each with its own page buffer, feeding one shared I/O bar.GUIDE / FLASH FOUNDATIONS, PART 3Strings, pages, blocks, planesSTRING · PAGE · BLOCK · PLANE01 STRING02 BLOCK03 PLANE
Flash Foundations

From Cell to Die

What a read, a program and an erase can touch, and why a page that cannot be overwritten in place makes garbage collection necessary.

Builds on Part 2

Read chapter

Chapters 04–07

How a drive behaves

Where density meets controller design, firmware translation, garbage collection, and the realities of wear.

04
Flash Foundations, Part 4: layer counts rising from 24 to 321, a vertical channel string through stacked wordlines, and string resistance rising with stack heightA three-panel schematic. Left: four bars for the layer counts of 24, 64, 176 and 321, each taller than the last. Center: a vertical channel standing through eight stacked wordline plates, with copper dots where cells sit. Right: three bars for 64, 176 and 321 layers, the tallest in copper, standing for string resistance rising with stack height.GUIDE / FLASH FOUNDATIONS, PART 4Density goes verticalLAYERS · STRING · RESISTANCE01 LAYERS24L64L176L321L02 STRINGvertical channel03 RESISTANCE64L176L321L
Flash Foundations

3D NAND Stacking

Why stacking changed the scale of the hierarchy and not its rules, and why die density says more than layer count.

Builds on Part 2

Read chapter
05
Flash Foundations, Part 5: the controller, a chip between the host and the NAND, with its host interface, CPU cores, ECC engine, DRAM controller and NAND channelsA schematic. On the left, the host. In the middle, the controller package with its pins in gold and five blocks stacked on the die: host interface, CPU cores, ECC engine, DRAM controller and NAND channels, the last outlined in copper. On the right, four NAND dies, each reached from the NAND channels block by its own copper channel line.GUIDE / FLASH FOUNDATIONS, PART 5The chip that runs the driveHOST · CONTROLLER · NAND CHANNELSHostPCIe, NVMeHost interfaceCPU coresECC engineDRAM controllerNAND channelsNAND dies
Flash Foundations

The Controller

Which controller resources set the NAND-side ceiling, and where to look first when tail latency or the first I/O after idle misbehaves.

Builds on Part 1 and Part 3

Read chapter
06
Flash Foundations Part 6: logical addresses mapped to scattered physical pages, lookup cost by where the map lives, and a capacitor holding the controller up while the journal is writtenA three-panel schematic. Left: three logical block addresses, each linked by a copper line to a different page in a grid of physical pages. Center: three horizontal bars of increasing length for a lookup in on-drive DRAM, in host memory and in NAND, drawn without numbers. Right: a capacitor feeding a controller, which writes a journal to a NAND block.GUIDE / FLASH FOUNDATIONS, PART 6Logical is not physicalL2P · DRAM / HMB · PLP01 L2PLBA 0LBA 1LBA 2A table links themto scattered pages02 LOOKUPDRAMHMBNANDFarther map, slower03 HOLD-UPCPUStored energy writesthe journal to NAND
Flash Foundations

The Flash Translation Layer

How one logical-to-physical map turns write-once flash into rewritable storage, and why firmware maturity is a purchasing criterion.

Builds on Part 3

Read chapter
07
Flash Foundations, Part 7: a block of mostly stale pages, its valid pages copied out, then the block erasedA three-panel schematic of one garbage collection cycle. Left: a block drawn as a grid of pages, mostly stale grey with a few valid teal pages, outlined as the victim. Center: the victim block shrunk beside a free block, with copper arrows carrying the valid pages into the free block. Right: the victim block erased, every page free and dashed, ready for new writes.GUIDE / FLASH FOUNDATIONS, PART 7Reclaiming space, sharing wearVICTIM · COPY · ERASE01 VICTIMMostly stale02 COPYValid pages move03 ERASEFree for new writes
Flash Foundations

Garbage Collection & Wear

What every garbage-collection copy costs, and how write amplification explains the gap between a spec sheet and the field.

Builds on Part 2, Part 3 and Part 6

Read chapter

Chapters 08–10

Reliability and what follows

Error correction, endurance tradeoffs, and the technologies reshaping how flash is used next.

08
Flash Foundations Part 8: overlapping cell populations read wrong, parity checks outvote a wrong bit, and a whole codeword reads back cleanA three-panel schematic. Left: two neighboring threshold-voltage populations overlap at a dashed read reference, and the overlap is shaded copper. Center: a small graph of six bit circles joined to three parity-check squares, with one wrong bit in copper that its checks outvote. Right: a codeword of data cells and parity cells, all intact, with a check mark.GUIDE / FLASH FOUNDATIONS, PART 8Noisy cells, clean dataRAW · DECODE · CLEAN01 RAWcells overlap02 DECODEchecks vote03 CLEANdata out
Flash Foundations

Error Correction & Integrity

How error correction (ECC) bridges the raw error rate and the uncorrectable rate, and what the spent headroom looks like as a drive ages.

Builds on Part 2 and Part 3

Read chapter
09
Flash Foundations, Part 9: spare capacity, the SLC cache drop and the latency tailA three-panel drawing. Left: two bars of raw NAND, one with a thin copper reserve labeled 7% and one with a thick copper reserve labeled 28%. Center: a throughput line that runs flat at cache speed and then drops to a low level. Right: three bars labeled p50, p99 and p99.9, each taller than the last.GUIDE / FLASH FOUNDATIONS, PART 9Burst is not the jobOP · CACHE · TAIL01 OP7%28%Spare NAND02 CACHECache fills03 TAILp50p99p99.9Latency
Flash Foundations

Performance & Endurance

How to read a spec-sheet number as a set of conditions: one workload, one fill level, day one.

Builds on Part 1

Read chapter
10
Flash Foundations, Part 10: the future of flash, with zones written in order, a CXL memory module and a program running on the driveThree equal panels. The first shows four zones, each filled from the left up to a copper write pointer, because a host writes each zone in order. The second shows a processor box joined by two copper lines to a memory module with four chips and gold connector fingers, a CXL module on the PCIe wires. The third shows a drive with two flash chips and a copper program block running beside them.GUIDE / FLASH FOUNDATIONS, PART 10What flash does nextZONES · CXL · COMPUTE ON THE DRIVE01 ZONES02 CXL03 COMPUTEWrite in orderCPUMemory moduleProgramBeside the flash
Flash Foundations

The Future of Flash

Which directions are production-ready for a purchase today and which still belong on the watch list.

Builds on Part 1, Part 6 and Part 7

Read chapter

Explore the layers

One system,
many perspectives

Open a layer to see where it fits.

01Cell

It starts with charge

A NAND cell stores information as an electrical state. Distinguishing those states is the foundation of reading flash.

Read the chapter →
02Die

Small cells, larger structures

Cells are organized into pages and blocks on a die. That organization shapes how data can be read, programmed, and erased.

Read the chapter →
03Controller

Making flash work as a drive

The controller and its firmware manage address translation, error correction, and the work of moving data to and from NAND.

Read the chapter →
04Host

Where the system meets storage

The host communicates with the drive through a storage protocol and interface. Those choices shape how commands and data travel.

Read the chapter →