Flash Memory

Flash memory is a non-volatile storage technology that stores each bit, or several bits, as electric charge trapped on an electrically isolated gate inside a transistor, keeping data with no power and allowing it to be erased and rewritten electrically in blocks. Developed in the 1980s, it is the material behind USB sticks, memory cards, phone storage, solid-state drives and the firmware chips on motherboards. Its key trait, and the source of nearly all its design complexity, is asymmetry: individual cells can be switched cheaply in one direction but can only be returned to the other state by erasing a whole group at once.

Flash was invented by Fujio Masuoka at Toshiba, who introduced the NOR type in 1984 and the NAND type in 1987. Masuoka and his colleagues presented the work at the IEEE International Electron Devices Meeting, and the name flash is credited to his colleague Shoji Ariizumi, because erasing all the cells at once reminded him of a camera flash. The earlier EPROM and EEPROM approaches had to be exposed to ultraviolet light or erased byte by byte; flash erased a large region in a single operation, which made chips smaller and cheaper. Intel brought NOR flash to market in 1988, and Toshiba followed with NAND in 1989. The memory hierarchy that surrounds it is covered elsewhere; what matters here is the cell and the array.

A flash cell is a floating-gate transistor, a variant of the transistor in which a gate wrapped in insulator can hold charge. Placing electrons on that floating gate raises the threshold voltage at which the transistor conducts, and a read circuit tells the states apart by whether the cell conducts at a probing voltage. Electrons are pushed across the thin oxide by quantum tunneling or hot-carrier injection, which slowly damages the oxide, so each cell survives a finite number of program and erase cycles. Storing one bit per cell is called single-level, SLC; two, three and four bits per cell, MLC, TLC and QLC, divide the voltage range into 4, 8 or 16 levels, which packs in more data at lower cost but makes the cells slower and less durable. Newer designs replace the floating gate with a charge-trap layer.

Change 4 KB inside a block that holds 256 pages
a page is the smallest unit programmed; a block is the smallest unit erased
What flash cannot do
No overwrite in place
a programmed page must be erased before it is written again
No erasing one page
erase acts on the entire block, often several megabytes
What the controller does instead
Write the new data to an empty page
in a block that is already erased
Mark the old page invalid
it is reclaimed when the block is later erased
Wear leveling
choose blocks so all erase counts rise evenly
Result: write amplification and limited endurance
the drive may physically write more than the host asked for

NOR and NAND differ in how cells are wired, and that decides what each is good for. In NOR flash cells are connected in parallel, so each can be read individually at random, with fast reads and byte-level addressing, which allows a processor to execute code directly from the chip, the property that made it the traditional home of firmware and boot code. Writes and erases are slow, and the cells are larger. In NAND flash cells are strung in series, which shrinks each cell and gives high density and low cost per bit, but reads and writes work on whole pages and erases on blocks, so it behaves like a disk. NAND therefore dominates mass storage: memory cards, SSDs and phone storage, while NOR remains in embedded devices where reliable random-access code storage matters. Density gains through the 2010s came from stacking, with Toshiba presenting the vertical concept in 2007 and Samsung beginning production of its V-NAND in 2013, building cells in dozens of layers and now hundreds.

Flash behaves unlike RAM or a disk, and common beliefs about it need correcting. It is non-volatile but not permanent: charge slowly leaks, and unpowered drives may lose data after years, with the retention shrinking as cells wear and as bits per cell rise. It is not infinitely rewritable, which is why controllers and file systems spread writes, and why high-write-rate logging on a cheap card can wear it out. It is also not random access memory in the usual sense: reads are fast, but a whole-block erase takes milliseconds, so the speed of writing depends on available erased space. Finally, formatting or deleting does not zero the cells. For software developers this means avoiding needless small writes, using the TRIM command through the operating system, and treating a flash device as a component with a lifetime. Embedded programmers see the erase block size in their linker scripts and flash-aware file systems.

Read flash memory as a field of tiny charge traps that can be filled one page at a time but must be emptied a whole block at a time: that single asymmetry explains its low cost, its limited lifetime and every trick of the controllers built to hide it.

Take flash memory further

Ask the copilot about this term, or have our engineers assess it against your process.