Electronics

ROM & Storage

The direct opposite of RAM: memory that keeps its content with no power at all. That single property covers two very different jobs — a small, fixed place for the code a device runs first (ROM/firmware), and a large, general-purpose place for everything else (mass storage) — and conflating the two is a common source of confusion.

Quick reference
What it is
Non-volatile memory — content survives with no power — in two forms: small/fixed ROM for firmware, and large/general-purpose HDD/SSD storage for everything else.
Mental model
A small plaque bolted to the wall (ROM — tiny, fixed, always there) vs. a filing cabinet (storage — huge, holds everything, a little slower to search).
Key numbers
HDD ≈ 100–200 MB/s; SATA SSD ≈ 500 MB/s; NVMe SSD ≈ 3,500–7,000+ MB/s.
Reach for it when
Describing what a system remembers after power is removed — the opposite property from RAM.

Non-volatile — the shared property

Everything on this page shares one trait, and it's the exact opposite of RAM's defining property: content survives with no power applied at all. That's the whole reason it exists — RAM is fast specifically because it never has to guarantee this; non-volatile memory is slower specifically because it does.

ROM vs. mass storage

"ROM" historically meant literally unchangeable — written once, at manufacture, forever. Modern "ROM" (a microcontroller's own flash, for instance) is usually actually rewritable flash memory that just behaves like read-only memory from the running program's point of view — small, fixed-purpose, holding firmware and bootloader code. Mass storage (HDD/SSD) is the opposite in scale and purpose: much larger, freely read/write, general-purpose space for an operating system, files, and installed programs.

HDD vs. SSD

An HDD uses a mechanical spinning platter and moving read/write head; an SSD uses flash memory chips with no moving parts and much faster random access HDD spinning platter + moving head — mechanical SSD flash memory chips — no moving parts
No moving parts is why SSDs win hardest on random access — an HDD's head has to physically travel to each new location.

An HDD stores data magnetically on spinning platters, physically moving a read/write head to each location — mechanical, cheaper per GB, meaningfully slower, especially for many small/scattered reads. An SSD stores data in flash memory chips with no moving parts at all — faster across the board, and dramatically faster specifically for random access, where an HDD's physical seek time dominates.

The boot role

The very first code any device runs on power-up has to live somewhere non-volatile, reachable before an operating system or any storage driver even exists — this is exactly the territory the Bootloaders domain covers in depth: ROM code, SPL, and U-Boot, each one handing off to the next until something capable of reading real storage is finally running.

Real-world applications

Gotchas

Field notes