ROM Types
Part of Data Storage
Mask ROM, PROM, EPROM, and EEPROM — semiconductor memory that retains data without power, from factory-programmed chips to field-reprogrammable storage.
Why This Matters
Every computing system needs some code that survives power loss. When you turn on a computer, the processor begins executing instructions before any disk can be accessed. Those first instructions — the boot code — must come from non-volatile memory that holds its contents without power. ROM (Read-Only Memory) and its descendants (PROM, EPROM, EEPROM) serve this function.
For rebuilders, ROM-family chips have an exceptional advantage: they retain data for decades without any power, refresh, or active maintenance. A properly programmed EPROM chip sealed in a cool, dark environment will be readable thirty years later. This makes ROM the best technology for storing critical programs, lookup tables, character font data, and system initialization sequences that must survive hardware power cycles, replacements, and long dormant periods.
The progression from mask ROM through EEPROM to flash memory represents an engineering tradeoff between permanence, programmability, density, and cost. Understanding each variant lets you choose the right type for each use case.
Mask ROM: Maximum Stability
Mask ROM is programmed permanently during chip manufacturing. The data is encoded in the physical layout of the silicon — either by including or omitting metal connections, or by implanting dopants in transistor channels, according to a customer-supplied pattern (the “mask”).
Mechanism: In a typical nMOS mask ROM, each bit location contains a transistor that either has a functional channel (reads as 1 when selected) or has been rendered non-functional by omitting a connection or by changing the doping (reads as 0). No subsequent process can change this — the data is literally built into the silicon crystal structure.
Stability: Essentially permanent. No charge to leak, no fuse to blow back, no oxide to degrade. Correctly stored mask ROM chips from the 1970s are still fully readable.
Limitations: Cannot be changed after manufacturing. Requires a minimum order (typically thousands of chips) to justify the mask cost. Long turnaround time (weeks to months). Any error in the data requires a new mask and new chips.
Applications: Used where identical chips are produced in large quantities: microcontroller firmware, video game cartridges, font ROMs for printers, character generators for CRT displays, calculator programs.
Identification: Mask ROMs are typically marked with the manufacturer part number and a date code but no programming identifier. Common examples: 2332 (4K×8 mask ROM), 2364 (8K×8), 2764 (8K×8 — though this number is also used for EPROM — check the package for a window).
PROM: One-Time User Programming
Programmable ROM ships from the factory with all bits in one state (typically all 1s) and allows the user to irreversibly set specific bits to 0 by blowing fusible links.
Mechanism: Each bit location contains a small nichrome (nickel-chromium alloy) or polysilicon fuse link. In the unprogrammed state, the fuse is intact and the bit reads as 1. To program a 0-bit, a programming pulse (typically 50 mA for 5 ms) is applied to the selected bit, burning out the fuse link permanently. Once blown, the fuse cannot be restored.
Programming hardware: A PROM programmer device applies the high-current pulses in the correct sequence. Programming a 2KB PROM takes a few seconds. PROM programmers are simple devices — the circuit is a precision current source with address/data demultiplexing and a timer.
Verification: After programming, verify by reading every address and comparing to the intended data. Any unblown fuse (a bit that should be 0 but reads as 1) cannot be corrected — the chip must be discarded.
Durability: Fused PROMs are highly stable — blown fusible links do not spontaneously restore. However, high-current transients or ESD can occasionally weld fuse material across the gap, potentially restoring a blown fuse. In practice this is rare.
Practical note for rebuilders: PROM is less commonly encountered than EPROM in salvaged equipment (EPROM largely displaced it), but if found, it can be read on any EPROM programmer with appropriate voltage settings.
EPROM: Erasable and Reprogrammable
EPROM (Erasable Programmable ROM) uses floating-gate transistors to store charge and allows the chip to be erased with UV light and reprogrammed, making it far more flexible than PROM.
Floating gate mechanism: A floating-gate transistor has two gates stacked vertically: the control gate (connected to the circuit) and the floating gate (completely surrounded by silicon dioxide insulation, with no electrical connection). In the erased state, the floating gate holds no charge and the transistor is off — reads as 1. To program (store a 0), high voltage (typically 12.5V–25V) is applied to the control gate while the drain is grounded. This accelerates electrons through the oxide, injecting them onto the floating gate (Fowler-Nordheim tunneling). The trapped charge makes the transistor appear to be always on, changing the threshold voltage — reads as 0.
UV erasure: Silicon dioxide is normally an excellent electrical insulator, keeping trapped electrons on the floating gate for decades. However, UV light (wavelength ~254 nm) gives electrons enough energy to escape the insulator and return to the substrate. Exposing the chip to a UV lamp for 15–60 minutes erases all cells uniformly back to the 1-state.
The quartz window: EPROMs have a ceramic or plastic package with a quartz glass window over the die, allowing UV access to the silicon surface. The window is covered with a label sticker during normal use (ambient light will slowly erase the chip over months if the window is exposed). When erasing, remove the sticker.
Programming voltage: Most EPROMs require 12.5V on the programming pin (Vpp) during programming. The most common EPROM families and their Vpp:
- 2716 (2K×8): 25V — older, less common
- 2732 (4K×8): 21V or 25V
- 2764 (8K×8): 12.5V
- 27128 (16K×8): 12.5V
- 27256 (32K×8): 12.5V
- 27512 (64K×8): 12.5V
- 27C010 (128K×8): 12.5V
The 2764 through 27512 and 27C010 series are most common in salvaged equipment. An EPROM programmer supporting these chips is an essential tool for any electronics rebuilding effort.
Read cycle: After programming and removing Vpp, EPROMs operate at standard 5V (or 3.3V for modern CMOS versions). Read timing is similar to SRAM: present address, assert /CS and /OE, wait for access time (typically 70–450 ns), read data.
EEPROM: Electrically Erasable
EEPROM (Electrically Erasable PROM) eliminates the UV lamp requirement by enabling erasure using normal circuit voltages, typically 5V or 3.3V. Individual bytes (or even individual bits) can be erased and reprogrammed in-circuit without removing the chip.
Mechanism: Similar floating-gate structure to EPROM, but the oxide layer between the floating gate and the channel is extremely thin (≈10 nm, compared to ≈30 nm for EPROM). This allows Fowler-Nordheim tunneling to occur at much lower electric fields, enabling both programming and erasure with ordinary supply voltages. The thin oxide comes at a cost: it degrades slightly with each erase/write cycle. Typical EEPROM endurance is 100,000 erase cycles per byte.
Byte-level erase/write: Each byte in an EEPROM can be individually erased and reprogrammed. This is the key advantage over EPROM (which requires erasing the entire chip) and over flash (which requires erasing blocks of typically 4 KB or more).
Internal high-voltage generation: Modern EEPROMs contain an on-chip charge pump that generates the high voltage needed for programming internally, requiring only the standard 5V supply from outside. Early EEPROMs required an external 21V Vpp supply.
Common types:
- Parallel EEPROM (28C series: 28C64, 28C256, 28C512): Pin-compatible with 27-series EPROMs for reading; write operations use a slightly different timing sequence. Drop-in replacement for EPROM in systems where field reprogramming is needed.
- Serial EEPROM (24C series: 24C01, 24C256): Two-wire I²C interface. Very small (8-pin package), low pin count, suitable for storing configuration data. Sizes from 128 bytes to 512 KB.
Applications: System configuration storage (a machine’s serial number, calibration values, user preferences), real-time clock battery-backed state, small non-volatile data logs.
Choosing the Right ROM Type
| Use case | Recommended type |
|---|---|
| Large-volume production (thousands of units) | Mask ROM |
| One-off fixed program, must not change | PROM |
| Development and field update, not many rewrites | EPROM |
| Frequent updates, configuration storage | EEPROM (parallel or serial) |
| Mass storage with occasional updates | Flash |
For a rebuilding scenario, EPROM is the most versatile and commonly salvageable type. An EPROM programmer is a high-value tool to acquire or build. With the ability to write EPROMs, you can store boot code, lookup tables, character generators, and fixed datasets in reliable, power-independent form that will outlast mechanical storage by decades.
Building an EPROM programmer: A minimal programmer for 27xxx-series EPROMs requires: a 5V supply, a 12.5V supply (a small boost converter from the 5V supply), address and data switches or a microcontroller to output patterns, a programming timing circuit (50 ms pulses with verify-after-write), and the zero-insertion-force (ZIF) socket for the chip. Total component cost is modest; construction is a weekend project.