Program Storage Memory (ROM) - Complete Notes
Introduction
Program memory (ROM) stores the program instructions in an embedded system. It is non-volatile, meaning
it retains data even when the power is off. ROM is classified based on fabrication, erasing, and programming
methods.
Types of ROM
Masked ROM (MROM)
Factory-programmed using hardwired metallization. One-time programmable and cheapest. Used in mass
production. Cannot be altered.
PROM (Programmable ROM / OTP)
User-programmed once using a PROM programmer. Cannot be erased or rewritten. Used when the code is
finalized.
EPROM (Erasable Programmable ROM)
Can be erased using UV light and reprogrammed multiple times. Chip must be removed from circuit to erase.
EEPROM (Electrically Erasable PROM)
Erased and reprogrammed electrically at byte level. Can be updated without removing chip from the circuit.
FLASH Memory
A type of EEPROM but faster and supports block-level erasing. Common in USB drives, firmware storage.
High capacity, cost-effective.
NVRAM (Non-Volatile RAM)
RAM with battery backup. Fast like RAM but retains data when power is lost. Used in RTCs and configuration
storage.
Comparison Table
Type Programmable By Erasable? Method Use Case
MROM Manufacturer No Not erasable Mass production
PROM User (once) No Not erasable Finalized code
EPROM User Yes UV Light Prototyping
EEPROM User Yes Electrical (byte) Settings storage
Flash User Yes Electrical (block) Firmware, USB
NVRAM N/A N/A Battery-backed RTCs, config memory
Mnemonic and Quick Recap
Mnemonic: M-P-E-E-F-N -> 'My Pet Elephant Eats Fresh Nuts'
Quick Recap:
1. MROM - Factory set, cheapest, unchangeable.
2. PROM - One-time user programmable.
3. EPROM - UV erasable, reusable.
4. EEPROM - Electrical, byte-level reprogrammable.
5. Flash - Fast, block-level erase, common in embedded systems.
6. NVRAM - RAM with battery backup, retains data after power loss.