1011MASK ROMnnsourcedrainsiliconcontrol gateNORP0P1P2P3BLOCK A1010101010101010101010101010101010101010101010101010101010101010lowreadhighVth LOWNNNNAND SSD01USBABCDCONTROLLER
Flash cell: control gate, floating gate (between two oxides), silicon channelElectrons: tunnel onto the floating gate when programmed, off when erasedBlock cells: a glowing cell holds 1 (erased), a plain one 0 (programmed)Controller bars: how many times each block has been erasedROM and flash keep their bits without power. A mask ROM's bits are fixed when the chip is made. A flash cell is a transistor with a floating gate sealed in oxide: programming pushes electrons onto it, which raises the threshold voltage, so at the read voltage the cell stays off and reads 0; an empty cell switches on and reads 1. Flash erases a whole block at once (64 pages in the cited chip) and writes a page at a time (2048 bytes); each erase wears the cell, so the controller spreads writes over all blocks. The figure is a teaching model: the block is drawn with 4 pages of 8 cells, the threshold gauge has no units, and the erase counts on the controller are illustrative.

Remembering

  1. Cut the power and DRAM forgets: its bits are tiny charges that leak away. Flash is non-volatile: it keeps its bits with no power at all. That is how a phone keeps your photos when its battery dies.

The flash cell

Blocks and pages

Real chips

In detail

;; step 1/11 · volatile
volatile memory      needs power to hold its bits   (SRAM, DRAM)
non-volatile memory  keeps its bits without power   (ROM, flash)
In the figure the plug is pulled: the DRAM bits fade to ?,
while the flash block keeps every bit.
When power returns the DRAM bits stay ?: what they held is gone.

The figure is a teaching model: the block is drawn with 4 pages of 8 cells, the threshold gauge has no units, and the erase counts on the controller are illustrative. Page, block, endurance and retention figures are from Micron's MT29F1G08 SLC NAND datasheet: 64 pages per block, 2048 + 64 bytes per page, 100,000 program/erase cycles and 10 years of data retention. Erased flash reads as all 1s; programming can only turn 1s into 0s (Micron datasheet). Which voltage level means 1 is a convention that this lesson follows.