Read-only memory (ROM) is a memory technology where the data is fixed at manufacturing time (or programmed once after) and can’t be changed by normal operation — the processor can only read from it. Unlike SRAM and DRAM, ROM is non-volatile: data persists when power is removed.

Each ROM cell uses at most 1 transistor — and in mask ROM, a can be encoded simply by omitting the transistor at that crossing of word and bit lines, so a typical mask-ROM array has fewer transistors per stored bit than DRAM. This makes mask ROM denser than DRAM (sometimes substantially), with the trade-off that the contents are fixed at manufacture time.

Why have ROM

Three roles ROM fills:

  1. Boot code (firmware). When a computer powers on, it has to load the operating system from disk. The processor needs some initial code to know how to do that — and that code can’t be on disk because the disk-reading code lives in it. ROM holds the bootloader: a small piece of code burned into the chip that runs on power-up, initializes hardware, and loads the OS from a known location.

  2. Embedded firmware. Microcontrollers in appliances, cars, IoT devices have their entire program in ROM (or flash) — there’s no disk to load from. The program is fixed once and runs forever (or until the device is reflashed).

  3. Lookup tables. ROM was historically used for character generators (mapping ASCII codes to pixel patterns), microcode in CISC processors, and audio sample tables. Today these are usually held in RAM that’s loaded at boot.

Variants

The ROM family includes several technologies with different reprogrammability:

  • Mask ROM — programmed during chip manufacturing by altering the metal mask layer. Cheapest in volume, never reprogrammable. Used for high-volume firmware.
  • PROM (Programmable ROM) — programmed once after manufacturing using a special device (a “programmer”). Fuses are blown to set the bit pattern. Permanent.
  • EPROM (Erasable PROM) — programmed electrically, erasable by exposing the chip to UV light through a quartz window. Reusable but inconvenient.
  • EEPROM — electrically erasable, byte-by-byte. See EEPROM and flash memory.
  • Flash — like EEPROM but erased in larger blocks. Faster and cheaper per bit. Also see EEPROM and flash memory.

EEPROM and flash are technically read-mostly memory rather than read-only, but they descend from ROM and share the non-volatile property. The line between “ROM” and “non-volatile RAM” has blurred.

How ROM cells work

The cell mechanism varies by technology, but the basic idea is to alter the silicon (or charge state) so that each cell naturally reads as or when accessed. For mask ROM, this is done by the presence or absence of a transistor (or contact) at each cell position — many mask-ROM cells therefore have zero transistors, which is why mask ROM can be denser than DRAM. For PROM, by blowing or not blowing a fuse. For EEPROM/flash, by trapping or not trapping charge on a floating gate.

Reading is fast — same as DRAM or faster, since there’s no refresh needed and the cell’s state is “stronger.” Writing (where supported at all) is slow — much slower than reading.

In modern systems

Pure ROM is largely gone. Modern systems use:

  • Flash for firmware (BIOS, UEFI, microcontroller programs). Reflashable, but treated as ROM-like by software during normal operation.
  • NVRAM or battery-backed SRAM for small amounts of configuration data.
  • EEPROM for I²C-attached config storage in embedded systems.

The original mask ROM survives in volume-manufactured products where the firmware never changes — game cartridges, simple appliances, dedicated controllers.