Field Guide · hardware

Flash memory is non-volatile solid-state storage that retains data without power by trapping electric charge in floating-gate transistor cells.1

Overview

Each cell holds one or more bits as the presence or absence of trapped charge; reading senses that charge, while writing and erasing move it through the insulating layer. Flash comes in two main families: NOR, which allows fast random reads and is used to store firmware, and NAND, which is denser and cheaper per bit and underlies most mass storage. Cells can be erased only a block at a time and endure a finite number of erase cycles, so controllers use wear leveling to spread writes evenly. Packing more bits per cell (SLC, MLC, TLC, QLC) raises capacity at the cost of endurance and speed.

Where it fits

Flash is the medium behind nearly all modern removable and embedded storage: the SSD, the SD card, eMMC chips on single-board computers, and USB sticks. Unlike volatile RAM, it keeps its contents when powered off, and unlike masked ROM it can be rewritten in the field — which is how firmware updates work. A GopherTrunk capture node on a Raspberry Pi typically boots and logs to flash-based storage.

Sources

  1. Flash memory — Wikipedia, on NAND/NOR flash, floating-gate cells, and wear leveling. 

See also