Read-only memory, commonly abbreviated ROM, refers to memory that retains its contents when a device is powered off. Unlike volatile memory such as RAM, ROM is designed for long-term storage of programs and data that do not need frequent modification. In many systems the boot code or initialization routines are placed in ROM so that a device can start up reliably; see general information about memory at memory. ROM is usually implemented as semiconductor chips built into a circuit board or integrated into a system-on-chip.
Key characteristics
ROM is non-volatile and typically not writable during normal operation. That makes it ideal for storing firmware: low-level software that implements device-specific control and startup procedures. Because traditional ROM cannot be rewritten in the field, later designs introduced electrically or optically erasable variants that allow updates while preserving non-volatility. ROM contents are often protected to prevent accidental or malicious modification.
Common types of ROM
- Mask ROM: Programmed during manufacturing by permanently encoding bits; economical at large volumes but cannot be changed after fabrication.
- PROM (Programmable ROM): Manufactured blank and programmed once by the user or factory using special equipment; irreversible.
- EPROM (Erasable PROM): Can be erased (typically with ultraviolet light) and reprogrammed, used in development and early field-updatable products.
- EEPROM (Electrically Erasable PROM): Erasable and programmable electrically, allowing selective rewrites without physical removal.
- Flash memory: A high-density form of EEPROM that can be erased and programmed in blocks; widely used for firmware updates and storage in modern devices.
History and development
Early computers used hard-wired or read-only storage for fixed routines. As semiconductor technology advanced, ROM chips became standard for storing microcode and basic input/output systems. The introduction of PROM, EPROM and EEPROM followed as designers required more flexibility to revise code after manufacturing. Flash memory later combined non-volatility with higher density and faster erase/program cycles, enabling field upgrades for many consumer and industrial products.
Uses and examples
Devices commonly use ROM to store boot programs (for example a system BIOS or bootloader), device firmware, microcontroller code, and fixed lookup tables. In embedded systems, firmware in ROM controls sensors, appliances, networking devices and other equipment where persistent code is essential. Firmware examples include a motherboard BIOS (BIOS) and the internal software that controls peripheral devices and appliances (often called firmware).
Distinctions and notable facts
Although the phrase "read-only" implies immutability, many modern ROM types are rewritable. The choice between mask ROM, PROM variants and flash involves trade-offs among cost, flexibility and endurance. Updating code stored in ROM typically requires careful procedures to avoid bricking a device; designers often include safeguards such as dual banks or rollback mechanisms. For more on power-related behavior of storage devices see the discussion of power states at power and shutdown.

