How flash memory works
Flash memory is non-volatile memory that stores data as electrical charge and keeps it when the power is removed. It was developed at Toshiba by Fujio Masuoka in the 1980s as a faster-erasing form of EEPROM, and the name comes from the way a whole block of cells is erased at once, in a flash.
Each cell is a transistor with an extra layer that traps charge, either a floating gate or, in most current chips, a charge-trap layer. Programming pushes electrons into that layer, which changes the voltage at which the transistor switches on. Reading the cell means measuring that threshold voltage. One threshold level per bit gives SLC flash; more levels per cell give MLC, TLC and QLC flash.
Two rules shape everything built on flash. A cell can only be programmed after it has been erased, and erasing works on large blocks, not on single bytes. Each erase also wears the cell slightly, so flash has a finite number of program/erase cycles.
NAND vs NOR flash
Flash comes in two architectures, named after the logic gates their cell arrays resemble. They are built for different jobs, and most embedded boards carry both.
| Feature | NAND flash | NOR flash |
|---|---|---|
| Cell layout | Cells in series strings, very dense | Cells in parallel, each directly addressable |
| Read access | By page, through a controller | Random access to any byte |
| Write and erase | Fast page writes, block erase | Slow writes and erases |
| Runs code directly | No, code is copied to RAM first | Yes, execute in place (XIP) |
| Capacity | Gigabytes to terabytes | Typically megabits to a few gigabits |
| Typical uses | SSDs, eMMC, SD cards, USB drives | BIOS and UEFI firmware, bootloaders, FPGA configuration |
NAND won the storage market because its series layout packs far more cells into the same silicon, and 3D NAND now stacks those strings in more than 200 layers. NOR keeps its place wherever a processor needs to read code reliably the moment it powers up, which is why the firmware chip on industrial motherboards is usually a small SPI NOR flash device.
Flash vs RAM and hard drives
Flash sits between RAM and hard drives. DRAM is far faster and can be rewritten without limit, but it forgets everything when the power goes, so it serves as working memory. A hard drive stores data magnetically and keeps it without power, but its spinning platters and moving head make random access slow and leave it sensitive to shock and vibration.
Flash keeps data without power, has no moving parts and reads small blocks in microseconds rather than milliseconds. Those three properties are why flash has replaced hard drives in almost every embedded, vehicle and fanless system, where shock, vibration and sealed enclosures rule out spinning disks.
What keeps flash reliable
-
//
Wear levelling. Spreads writes across all blocks so no single block wears out early, including blocks that hold data that rarely changes.
-
//
Error correction (ECC). Stores extra check bits with each page and corrects bit errors on every read. Denser flash needs stronger codes.
-
//
Bad block management. Maps out blocks that fail at the factory or during use and replaces them from spare capacity.
-
//
Flash translation layer. Translates the host’s sector addresses to physical pages, so the operating system can treat flash like a disk.
-
//
Over-provisioning. Keeps capacity in reserve for garbage collection and replacement blocks, which also raises endurance.
Flash on embedded boards
A typical embedded computer uses flash in several places at once. An SPI NOR chip holds the BIOS or bootloader. eMMC, a JEDEC standard that packages NAND flash and its controller in one soldered chip, often holds the operating system on small boards. An M.2 or 2.5-inch SSD takes the main storage, and an SD card slot may add removable media.
Arm boards lean on flash most heavily. Many of our Arm SBCs boot from on-board eMMC, with the boot sequence, device tree and drivers set by the manufacturer’s board support package. Because soldered eMMC cannot be swapped, its endurance should be checked against the write load before deployment, and write-heavy logs moved to a replaceable SSD where possible.
Temperature matters too. Heat speeds up charge leakage, so flash rated for the industrial temperature range is specified for retention at high temperature as well as for operation.
Quick answers on flash memory
Flash memory: common questions
Is flash memory volatile?
No. Flash is non-volatile, so it keeps its data without power. That is the main difference from DRAM, which loses its contents as soon as power is removed.
Is an SSD flash memory?
Yes. An SSD is NAND flash chips plus a controller, cache and firmware, packaged to behave like a disk. eMMC, SD cards and USB drives use the same NAND flash in smaller forms.
What is flash memory in a microcontroller?
The program memory. Most microcontrollers have NOR-type flash built into the chip to hold their firmware, usually from tens of kilobytes to a few megabytes, which they run directly at power-up.
Is eMMC the same as flash memory?
eMMC is a type of flash storage. It is NAND flash and a controller in one soldered package, following a JEDEC standard, so the host sees a simple block device.
How long does flash memory last?
It depends on writes and heat. Endurance is set by program/erase cycles, from around 500 for QLC to around 100,000 for SLC. Powered-off data retention typically runs from about a year for worn consumer flash to ten years for fresh industrial parts.
What is NAND flash used for?
Bulk storage. NAND flash is the storage inside SSDs, eMMC chips, SD and microSD cards, USB drives and phones, anywhere that needs high capacity at low cost per gigabyte.
We fit flash storage to every board and computer we build as standard, choosing the eMMC, SSD or card for its endurance, temperature rating and supply life, then imaging and validating it before the system ships.