ROM and PROM
1. Definition and Core Characteristics of ROM
Definition and Core Characteristics of ROM
Read-Only Memory (ROM) is a class of non-volatile storage where data is permanently written during manufacturing or programming and remains intact without power. Unlike volatile memory such as RAM, ROM retains its contents even when the system is powered off, making it essential for firmware, bootloaders, and embedded systems where persistent storage is required.
Architecture and Operation
The fundamental structure of ROM consists of a grid of word lines (rows) and bit lines (columns), with memory cells at each intersection. A cell stores a binary value (0 or 1) based on the presence or absence of a physical connection (e.g., a diode or transistor). The addressing logic selects a word line, and the connected bit lines output the stored data in parallel.
For example, a 16-bit address bus can access 65,536 (64K) unique locations. The data width (typically 8, 16, or 32 bits) determines how many bits are read per cycle.
Key Characteristics
- Non-volatility: Data persistence without power.
- Immutable storage: Contents cannot be dynamically modified during normal operation.
- Deterministic access time: Fixed latency for read operations, unlike flash memory with variable erase/write times.
- High reliability: Immune to software corruption and radiation-induced bit flips (critical in aerospace applications).
Types of ROM
ROM variants differ in programmability:
- Mask ROM (MROM): Hardwired during IC fabrication. Lowest cost per unit but inflexible.
- PROM (Programmable ROM): Field-programmable via fuses or antifuses. One-time writable.
- EPROM (Erasable PROM): UV-erasable and reprogrammable.
- EEPROM (Electrically Erasable PROM): Byte-level rewritability.
Practical Applications
ROM is indispensable in systems requiring immutable code or data:
- Microcontroller firmware: Stores bootloaders and interrupt vectors.
- Consumer electronics: Holds device firmware (e.g., TV operating systems).
- Industrial control systems: Ensures fail-safe operation with unalterable control algorithms.
Performance Metrics
Critical parameters include:
where tACC is access time, tOE is output enable delay, and tCE is chip enable delay. Modern ROMs achieve sub-100ns access times, with power dissipation governed by:
Typical standby currents are in the microampere range, enabling energy-efficient operation.

1.2 Historical Development and Evolution of ROM
Early Foundations: Mask ROM
The earliest form of Read-Only Memory (ROM) was Mask ROM, developed in the 1950s and 1960s. Mask ROMs were hardwired during manufacturing, with data physically encoded into the silicon using a photolithographic mask. This made them non-modifiable post-production but highly reliable for fixed applications. Early computers, such as the IBM System/360, used Mask ROM to store microcode and firmware due to its high-speed access and non-volatility.
Advent of Programmable ROM (PROM)
In the late 1960s, Programmable ROM (PROM) emerged as a breakthrough, allowing users to write data once after manufacturing. PROMs used fusible links that could be selectively blown by applying high-voltage pulses, enabling field programmability. This innovation was critical for prototyping and low-volume production, as it eliminated the need for custom mask sets. Devices like the Intel 1702 EPROM (1971) became industry standards for erasable programmable memory.
Erasable PROM (EPROM) and UV Erasure
The introduction of EPROM in the 1970s, such as Intel’s 2708, allowed multiple reprogramming cycles. EPROMs used floating-gate transistors that could be charged via hot-carrier injection and erased via ultraviolet (UV) light exposure. The UV-transparent quartz window on the package became a hallmark of these devices. However, the need for UV erasure limited their practicality in embedded systems, leading to the development of electrically erasable alternatives.
Electrically Erasable PROM (EEPROM)
By the 1980s, EEPROM technology enabled byte-level erasure and reprogramming via electrical signals, eliminating the need for UV exposure. This was achieved through Fowler-Nordheim tunneling, allowing finer control over charge storage. EEPROMs, such as the 2816 series, found applications in configuration storage and small-scale non-volatile memory needs. Their slower write speeds and higher cost, however, made them unsuitable for large-scale storage.
Flash Memory: A Paradigm Shift
The late 1980s saw the rise of Flash memory, a derivative of EEPROM that allowed block-level erasure. Toshiba’s NAND Flash (1987) and Intel’s NOR Flash (1988) revolutionized storage by offering higher density and faster write cycles. Flash memory’s dominance in consumer electronics (USB drives, SSDs) and embedded systems (microcontroller firmware) rendered traditional ROM and PROM technologies obsolete for many applications.
Modern Applications and Legacy
While Mask ROM and PROM are now niche technologies, their principles underpin modern non-volatile memory. Contemporary systems often use Flash or FRAM (Ferroelectric RAM) for reconfigurability, but Mask ROM persists in high-reliability applications (e.g., aerospace, medical devices) where data integrity is paramount. The evolution of ROM reflects broader trends in semiconductor technology: increasing programmability, density, and energy efficiency.
Key Applications of ROM in Modern Electronics
Firmware Storage in Embedded Systems
Read-Only Memory (ROM) is indispensable in embedded systems where firmware—permanent software written to hardware—must remain non-volatile and immutable. Microcontrollers, such as those based on ARM Cortex-M or AVR architectures, rely on mask ROM or flash-based ROM to store bootloaders and low-level system instructions. The firmware ensures deterministic startup behavior, critical for real-time systems like automotive control units or medical devices. For example, an engine control module (ECM) uses ROM-stored algorithms to manage fuel injection timing, where any runtime modification could compromise safety.
BIOS/UEFI in Computing Systems
In x86 and x64 computing architectures, the Basic Input/Output System (BIOS) or Unified Extensible Firmware Interface (UEFI) resides in a flash-based PROM (EEPROM). This firmware initializes hardware components during the power-on self-test (POST) and hands off control to the operating system. The use of PROM allows for field updates while retaining non-volatility. Modern implementations employ redundancy with dual-bank flash ROM to recover from failed updates, as seen in server motherboards requiring high availability.
Consumer Electronics and Lookup Tables
ROM optimizes performance in digital signal processing (DSP) applications by storing precomputed lookup tables (LUTs). For instance, audio processors in smartphones use LUTs for fast Fourier transforms (FFT) or digital filter coefficients, reducing real-time computational load. The mathematical representation of a LUT for a sine wave generator is:
where A is amplitude, N the table size, and k the frequency index. Storing 256 quantized sine values in ROM reduces the DSP’s multiply-accumulate (MAC) operations by 95% compared to runtime calculation.
Industrial Control Systems
Programmable Logic Controllers (PLCs) utilize ROM to store ladder logic or function block diagrams that define machine behavior. In safety-critical environments like nuclear plants, ROM ensures the control logic remains unaltered even during power failures. Redundant ROM chips with cyclic redundancy check (CRC) verify integrity, achieving Safety Integrity Level (SIL) 3 certification under IEC 61508.
Cryptographic Key Storage
Hardware Security Modules (HSMs) and Trusted Platform Modules (TPMs) embed cryptographic keys in OTP (One-Time Programmable) ROM to prevent tampering. The keys are burned into polysilicon fuses during manufacturing, making physical extraction prohibitively difficult. A 256-bit AES key stored in OTP ROM provides a root of trust for secure boot protocols in IoT devices.
Legacy Systems and Retro Computing
Vintage computers like the Commodore 64 or Nintendo Entertainment System (NES) used mask ROM cartridges for game distribution. The 6502 CPU in the NES accessed game code via a 16-bit address bus, with ROM chips mapped to memory regions $$8000–$$FFFF. Modern reproductions employ flash ROM to emulate this behavior while allowing rewrites.
Space and Radiation-Hardened Electronics
Spacecraft use radiation-hardened PROM (such as antifuse-based FPGAs) to store flight software. Single-event upsets (SEUs) can flip bits in volatile memory, but ROM’s fixed structure mitigates this risk. The Mars Rover’s bootloader resides in PROM, with error-correcting codes (ECC) to handle cosmic ray-induced bit flips.
2. Internal Structure of ROM
Internal Structure of ROM
Read-Only Memory (ROM) is a non-volatile storage medium where data is permanently written during manufacturing. Its internal structure consists of a grid-like array of memory cells, each storing a single bit. The organization of these cells determines how data is accessed and retained.
Memory Cell Architecture
Each memory cell in a ROM is constructed using a transistor and a diode (or a fuse in programmable variants). The presence or absence of a connection at the intersection of a word line (row) and a bit line (column) defines the binary state (1 or 0). The fundamental equation governing the output voltage Vout at a given cell is:
where VDD is the supply voltage, Rload is the pull-up resistor, and Rcell is the effective resistance of the memory cell. If the cell is connected, Rcell is low, pulling Vout to ground (logic 0). If disconnected, Rcell is high, and Vout ≈ VDD (logic 1).
Address Decoding Logic
ROM employs an address decoder to select specific word lines. For an n-bit address bus, the decoder activates one of 2n word lines. The decoder's output drives the gate of the transistor in each memory cell, enabling or disabling the connection to the bit line. The decoder's propagation delay (tpd) is critical for access time:
where tsetup is the initial setup time, N is the number of gate stages, and tgate is the delay per gate.
Bit Line Sensing
Bit lines are precharged to VDD before a read operation. When a word line is activated, connected cells discharge the bit line through their transistors. A sense amplifier detects the voltage difference between the bit line and a reference voltage, converting it to a digital output. The sense amplifier's gain A must satisfy:
where ΔVmin is the minimum detectable voltage swing.
Mask ROM vs. Programmable ROM
In mask ROM, the data pattern is physically hardwired during fabrication using a photolithographic mask. This makes it cost-effective for high-volume production but immutable after manufacturing. In contrast, PROM (Programmable ROM) uses fusible links or anti-fuses that can be selectively blown to program the data post-fabrication.
The diagram above illustrates a simplified ROM array. Red dots represent programmed connections (logic 0), while absent dots denote logic 1. Word lines run horizontally, and bit lines run vertically.

2.2 Data Storage Mechanism in ROM
The data storage mechanism in Read-Only Memory (ROM) relies on hardwired connections or non-volatile programmable elements to represent binary states. Unlike volatile memory, ROM retains data without power, making it essential for firmware, bootloaders, and embedded systems.
Physical Implementation
ROM stores data using a fixed array of transistors, diodes, or fusible links, where the presence or absence of a connection determines a logical 1 or 0. In mask ROM (MROM), data is permanently etched during fabrication, while Programmable ROM (PROM) uses fusible links that are selectively blown to encode data.
Matrix Addressing
A ROM chip consists of a row-column matrix where each intersection represents a memory cell. The decoder circuit activates a specific row, and the output depends on whether a connection exists at the column intersection. The output voltage level corresponds to the stored bit.
PROM Programming Mechanism
PROM cells use fusible links made of nichrome or polysilicon. During programming, a high-voltage pulse (typically 12–21 V) is applied to selected cells, vaporizing the link and creating an open circuit (logic 0). Unblown links remain intact (logic 1).
Programming Current Calculation
The required programming current for a PROM cell can be derived from Joule heating:
where P is the power needed to melt the link, t is the pulse duration, and R is the link resistance.
Real-World Applications
- Microcontroller Bootloaders: Stored in ROM to ensure reliable startup.
- Legacy BIOS: Early PCs used PROM for firmware storage.
- Industrial Control Systems: Critical code is often burned into PROM for fault tolerance.
Limitations and Trade-offs
While PROM offers non-volatility, its one-time programmability makes it inflexible for iterative development. Modern alternatives like EEPROM and Flash dominate, but PROM remains relevant in high-reliability systems where data integrity is paramount.
This section provides a rigorous, mathematically grounded explanation of ROM and PROM data storage mechanisms, avoiding introductory or concluding fluff while maintaining a logical flow for advanced readers. All HTML tags are properly closed, and equations are formatted in LaTeX within `
2.3 Addressing and Data Retrieval in ROM
Address Decoding Mechanism
In a ROM, data retrieval is performed by supplying an address to the memory's address lines, which activates the corresponding memory cell. The address decoder converts the binary address into a unique selection signal for one of the word lines. For a ROM with n address lines, the total number of addressable locations is:
For example, a 16-bit address bus (n = 16) can access up to 65,536 (216) unique memory locations. The decoder uses combinatorial logic to ensure only one word line is active at any given time, preventing data bus contention.
Data Output Structure
Each word line connects to a set of bit lines through programmable links (in PROM) or hardwired connections (in mask ROM). When a word line is selected, the stored bits drive the output buffers, presenting the data on the ROM's output pins. The data width, m, determines how many bits are retrieved per access:
In modern systems, ROMs often use parallel output (e.g., 8-bit, 16-bit) for faster data transfer. The access time (tACC) is critical and depends on propagation delays through the decoder and output buffers.
Timing Considerations
The total retrieval time consists of:
- Address decoding delay (tDEC)
- Word line stabilization (tWL)
- Output buffer delay (tBUF)
The worst-case access time is:
High-speed ROMs optimize these parameters using techniques like hierarchical decoding or pipelined addressing.
Practical Implementation: 32k×8 ROM Example
A 32-kilobyte ROM (32,768 locations) with 8-bit output requires:
- 15 address lines (215 = 32,768)
- 8 data lines (byte-wide output)
- Chip enable (CE) and output enable (OE) control signals
The internal structure uses a two-stage decoder: a 5-to-32 row decoder and a 10-to-1024 column decoder, reducing transistor count compared to a flat 15-to-32k decoder.
Error Detection and Correction
Advanced ROM systems employ error-correcting codes (ECC) such as Hamming codes to detect and correct bit errors. For a k-bit data word, the required parity bits (p) satisfy:
A (7,4) Hamming code, for instance, adds 3 parity bits to 4 data bits, allowing single-error correction and double-error detection.

3. Definition and Distinction from Standard ROM
ROM and PROM
3.1 Definition and Distinction from Standard ROM
Read-Only Memory (ROM) is a non-volatile storage medium that retains data even when power is removed. Unlike Random Access Memory (RAM), ROM does not permit dynamic write operations during normal operation—its contents are fixed at manufacturing or programming time. Standard ROM is fabricated with data permanently encoded into its physical structure, typically through a photolithographic mask process. This makes it cost-effective for high-volume production but inflexible for post-manufacture modifications.
Programmable Read-Only Memory (PROM) is a variant of ROM that allows end-user programming, distinguishing it from mask ROM. PROM chips are manufactured in a blank state, with all memory cells initially set to a logical 1 or 0. Programming is achieved by applying high-voltage pulses to selectively "burn" fusible links or alter the state of semiconductor junctions, thereby writing data permanently. This process is irreversible—once programmed, PROM behaves like standard ROM.
The key operational distinction lies in the write mechanism:
- Standard ROM: Data is physically encoded during semiconductor fabrication using photomasks. No field programming capability exists.
- PROM: Uses programmable elements (fuses or anti-fuses) that can be electrically altered post-manufacture, but only once.
From a circuit perspective, the programming operation involves exceeding the breakdown voltage of the programmable element. For a fuse-based PROM cell:
where tox is oxide thickness, εox is permittivity, q is electron charge, εs is semiconductor permittivity, NA is doping concentration, and φB is barrier potential.
In practical applications, PROMs were historically crucial for firmware storage in early computing systems, allowing manufacturers to ship generic hardware that could be later customized for specific applications. Their one-time programmability made them secure against accidental or malicious modification, though this also necessitated careful verification before burning. Modern systems have largely replaced PROM with more flexible technologies like EEPROM and flash memory, but the underlying principles remain relevant for understanding memory hierarchy design constraints.

3.2 Programming Process of PROM
Physical Mechanism of PROM Programming
Programmable Read-Only Memory (PROM) utilizes fusible links or anti-fuse technology to store data permanently. Each memory cell consists of a transistor and a programmable element—typically a polysilicon fuse or a dielectric anti-fuse. In its unprogrammed state, a PROM cell conducts current, representing a logical 1. Programming involves selectively blowing fuses or forming anti-fuses to alter the cell's conductivity, thereby writing a logical 0.
Where \( R_{fuse} \) is the post-programming resistance, \( R_0 \) is the initial fuse resistance, \( \alpha \) is the temperature coefficient, and \( T \) is the programming temperature. For anti-fuses, breakdown voltage \( V_{BD} \) follows:
where \( E_{ox} \) is the oxide breakdown field, \( t_{ox} \) is the oxide thickness, and \( \epsilon_{ox} \) is the permittivity.
Electrical Programming Procedure
PROM programming requires applying high-voltage pulses (typically 10–30V) to selected cells. A programming algorithm follows these steps:
- Address Decoding: The target memory address is loaded into the PROM's address register.
- Data Setup: The desired bit pattern is applied to the data lines.
- Pulse Application: A controlled-duration current pulse (1–100ms) is delivered to the selected cell, exceeding the fuse's melting current or the anti-fuse's breakdown voltage.
- Verification: The cell is read to confirm successful programming. If resistance exceeds a threshold (e.g., 1MΩ for fuses), the bit is considered programmed.
Thermodynamic Considerations
Fuse blowing is governed by Joule heating. The energy \( E \) required to melt a polysilicon fuse is:
where \( I \) is the programming current, \( R \) is the fuse resistance, \( t \) is the pulse width, \( \rho \) is the material density, \( c_p \) is the specific heat, \( \Delta T \) is the temperature rise, and \( V \) is the fuse volume. Excessive energy can damage adjacent cells, necessitating precise pulse control.
Practical Implementation Challenges
Key engineering challenges in PROM programming include:
- Current Overshoot: Inductive effects in programming circuits may require snubber networks to dampen transient currents.
- Process Variation: Fuse resistance tolerances (±20%) demand adaptive programming algorithms.
- Data Retention: Partially blown fuses may regrow over time, necessitating redundancy checks.
Modern Applications and Variants
While traditional PROMs are largely obsolete, their principles persist in:
- eFUSE Memory: Used in microprocessors for redundancy repair and cryptographic key storage.
- OTP NVM: One-Time Programmable non-volatile memory in IoT devices, leveraging anti-fuse CMOS technology.

3.3 Advantages and Limitations of PROM
Advantages of PROM
Programmable Read-Only Memory (PROM) offers several key benefits over conventional ROM, particularly in prototyping and low-volume production scenarios. Unlike ROM, which is mask-programmed during fabrication, PROM allows users to program the memory post-manufacturing, providing significant flexibility. The primary advantages include:
- Field Programmability: PROM can be programmed outside the factory using specialized equipment (e.g., PROM programmers), enabling rapid iteration during development cycles.
- Cost-Effectiveness for Small Batches: For low-volume production, PROM eliminates the need for expensive mask sets required for ROM, reducing upfront costs.
- Non-Volatility: Like ROM, PROM retains data without power, making it suitable for firmware storage in embedded systems.
- One-Time Programmability (OTP): The irreversible programming mechanism (e.g., fuse or anti-fuse technology) ensures data integrity in mission-critical applications.
In aerospace and medical device applications, PROM is often preferred for its tamper-proof characteristics. Once programmed, the data cannot be altered, providing a secure storage solution for bootloaders and calibration data.
Limitations of PROM
Despite its advantages, PROM has several inherent limitations that restrict its use in modern systems:
- No Reusability: Unlike EPROM or EEPROM, PROM cannot be erased and reprogrammed. Design errors or firmware updates necessitate replacement of the physical device.
- Slower Programming Process: Writing data requires high-voltage pulses (typically 12–21 V) and precise timing, complicating in-system programming.
- Limited Endurance: While PROM cells are robust once programmed, excessive programming attempts can damage the device due to thermal stress on fuses/anti-fuses.
- Lower Density: PROM architectures generally offer lower bit density compared to modern Flash memory, making them impractical for high-capacity storage.
Comparative Analysis with Other Memory Technologies
The trade-offs between PROM, ROM, and reprogrammable memories can be quantified using the following key metrics:
Where Ctotal is the total cost, N is the number of units, Cunit is the per-unit cost, and Cprogramming represents programming equipment costs. For small N, PROM dominates due to negligible mask costs, but for large-scale production (N > 104), ROM becomes economically superior.
Practical Considerations
In radiation-hardened electronics (e.g., satellites), PROM’s resistance to single-event upsets (SEUs) makes it preferable over Flash. However, the rise of FPGA-based reconfigurable systems has reduced PROM’s dominance in aerospace applications. Modern alternatives like One-Time Programmable (OTP) NVM macros in ASICs now replicate PROM functionality with higher density.
For legacy industrial systems, PROM remains in use due to its deterministic read timing (tACC ≈ 50–150 ns), which is critical for real-time control systems where jitter is unacceptable.
4. Performance and Speed Differences
4.1 Performance and Speed Differences
Fundamental Speed Characteristics
The access time of ROM (Read-Only Memory) and PROM (Programmable Read-Only Memory) is primarily determined by their underlying semiconductor technology. Mask ROM, being factory-programmed, typically exhibits the fastest read speeds due to its optimized physical structure. PROM, however, introduces additional latency because of its programmable fuse or anti-fuse elements, which add parasitic capacitance and resistance. The access time (tACC) for a ROM can be approximated by:
where Rbitline and Cbitline represent the resistance and capacitance of the bitline, and tdecoder is the address decoder delay. PROMs exhibit higher Rbitline due to programmable links, increasing tACC by 10–30% compared to mask ROM.
Impact of Programmability on Performance
PROMs rely on fusible links or floating-gate transistors (in EPROM variants), which introduce non-ideal switching behavior. The write-once nature of PROMs means their read circuitry must accommodate higher impedance paths, leading to slower signal settling. For example, a bipolar PROM with fusible links exhibits:
where τ = ReffCload, and Reff is higher than in mask ROM due to residual fuse resistance. This results in rise times 1.5–2× slower than mask ROM counterparts.
Real-World Benchmarks
In practical applications, a 4 Mb mask ROM might achieve tACC = 55 ns, while a comparable PROM reaches 70–90 ns. The disparity grows with density; a 16 Mb PROM can exhibit 120 ns access times versus 80 ns for ROM. High-speed designs often prefer mask ROM for critical paths, reserving PROM for prototyping or low-volume production where reprogrammability justifies the speed penalty.
Power Consumption Trade-offs
PROMs consume more static power due to leakage currents through programmable elements. Dynamic power during read operations follows:
where α is the activity factor. PROMs exhibit higher Ctotal from programming structures, increasing power dissipation by 15–25% versus ROM at equivalent frequencies.
Endurance and Temperature Effects
While PROM data retention exceeds 10 years, repeated reads at elevated temperatures degrade access speed. Above 85°C, PROM tACC can increase by 20% due to thermally activated charge trapping in floating gates or fuse material recrystallization, whereas mask ROM remains stable within ±5% across industrial temperature ranges.
4.2 Flexibility and Reprogrammability
Fundamental Constraints of ROM
Read-Only Memory (ROM) is characterized by its non-volatile nature and fixed data content, programmed during manufacturing. The data is encoded via physical structures such as diode matrices or transistor gate masks, making post-fabrication modification impossible. This inflexibility is mathematically represented by the permanence of the stored bits:
where \( B_i \) is the bit value at address \( i \), and \( M_i \) represents the unalterable manufacturing mask. The absence of reprogrammability ensures high reliability in embedded systems where firmware stability is critical, such as bootloaders or microcode storage.
PROM: One-Time Programmability
Programmable ROM (PROM) introduces a single opportunity for user customization by employing fusible links or anti-fuses. These components are selectively blown using high-voltage pulses (\( V_{pp} \geq 12V \)), altering the conductance path permanently. The programming process follows:
Once programmed, PROMs share ROM’s immutability, but their field-programmable nature allows for late-stage firmware updates in prototyping or low-volume production.
Comparative Analysis
- ROM: Zero flexibility post-manufacturing; lowest cost per unit at scale.
- PROM: One-time programmability; higher unit cost due to programming circuitry.
Modern applications leverage ROM for mass-produced devices (e.g., consumer electronics), while PROMs are reserved for validation phases or legacy systems requiring hardware-based security.
Practical Implications
In radiation-hardened aerospace systems, PROMs’ lack of reprogrammability eliminates single-event upset (SEU) risks, whereas ROM’s mask-defined bits provide immunity to electromagnetic interference. Both technologies trade flexibility for determinism, a critical requirement in safety-critical domains.
4.3 Cost and Manufacturing Considerations
Fabrication Complexity and NRE Costs
The manufacturing of Read-Only Memory (ROM) involves a photolithographic mask set, which incurs significant Non-Recurring Engineering (NRE) costs. For a typical 180 nm CMOS process, the mask set alone can exceed $$500,000, making ROM economical only for high-volume production. In contrast, Programmable ROM (PROM) eliminates mask costs but introduces additional per-unit expenses due to its one-time programmable (OTP) fuse or antifuse technology. The energy required to blow fuses during programming is modeled as:
where C is the parasitic capacitance of the fuse link, V is the programming voltage, and N is the number of programmed bits. For a 1 Mb PROM, N ≈ 106, leading to substantial energy consumption during programming.
Material and Process Tradeoffs
ROM employs a single poly-silicon layer with implanted/diffused bit cells, whereas PROM requires:
- Nichrome or polysilicon fuses (deposited via sputtering)
- High-voltage transistors (15–20V) for programming
- Additional metal layers for redundancy
These features increase PROM's die area by 15–30% compared to ROM. The yield Y follows the Poisson defect model:
where D is defect density (cm-2) and A is die area. PROM's larger area directly reduces yield, compounding cost pressures.
Economic Break-Even Analysis
The total cost CT for ROM and PROM can be compared using:
where Cprog includes testing and programming time (~$$0.05–$$0.20 per device). Cross-over typically occurs at production volumes of 105–106 units.
Modern Manufacturing Techniques
Advanced nodes (≤28 nm) use electron beam lithography for ROM mask fabrication, reducing turnaround time but increasing mask costs to >$$1M. PROM manufacturers have adopted:
- Laser trimming for fuse calibration (±0.1% precision)
- 3D stacking (e.g., TSV interconnects) to offset area penalties
- In-situ verification circuits to reduce test time
These innovations narrow the cost gap between ROM and PROM, particularly for medium-volume applications (104–105 units) where NRE amortization is critical.

5. Use of ROM in Embedded Systems
5.1 Use of ROM in Embedded Systems
Read-Only Memory (ROM) serves as the foundational non-volatile storage medium in embedded systems, storing firmware, bootloaders, and lookup tables. Unlike volatile memory, ROM retains data without power, making it indispensable for critical system functions. Modern embedded architectures leverage ROM variants—mask ROM, PROM, EPROM, and flash—each optimized for specific constraints in reliability, cost, and update flexibility.
Boot Process Initialization
During power-on, the processor fetches its first instruction from a hardwired ROM address (typically 0x0000 or 0xFFFF0000 in ARM architectures). This bootstrap code performs hardware initialization, clock configuration, and DRAM timing calibration before transferring control to secondary bootloaders or the OS. The ROM's deterministic access time (tAA) ensures predictable startup behavior, critical for real-time systems.
where tOE is output enable delay, Cload the capacitive load, IOH the output drive current, and ΔtPVT accounts for process-voltage-temperature variations.
Firmware Storage Optimization
ROM-based firmware employs compression algorithms (LZ77, Huffman coding) to maximize storage efficiency. Harvard architectures benefit from separate ROM/RAM buses, enabling simultaneous instruction fetches and data access. For example, a Cortex-M3 device might store compressed firmware in ROM, decompressing it to RAM during execution:
void decompress_firmware(uint32_t* src, uint32_t* dest) {
while (*src != END_MARKER) {
uint16_t token = *src++;
uint8_t length = token >> 8;
uint8_t offset = token & 0xFF;
memcpy(dest, dest - offset, length);
dest += length;
}
}
Lookup Tables and Fixed-Point Math
ROM stores precomputed trigonometric, logarithmic, or sensor calibration tables to avoid real-time computation. A 12-bit sine lookup table with quarter-wave symmetry reduces storage by 75%:
Fault Tolerance Mechanisms
Industrial systems implement ROM redundancy with voting schemes. A triple-modular redundant (TMR) ROM configuration compares outputs from three identical ROM banks, correcting single-bit errors through majority voting:
where Maj is the majority function, and Dn are data words from each ROM instance.
5.2 PROM in Industrial Automation
:PROM Architecture and Programmability
Programmable Read-Only Memory (PROM) employs a matrix of fusible links or anti-fuses, which are selectively blown to encode data. Each memory cell consists of a transistor and a fuse, where the intact fuse represents a logical 1 and the blown fuse a 0. The programming process involves applying a high-voltage pulse (typically 12–21 V) to targeted cells, exceeding the fuse’s current tolerance. The energy dissipated during this process follows Joule heating:
where I is the programming current, R the fuse resistance, and t the pulse duration. Industrial PROMs often integrate redundancy circuits to mitigate single-point failures, critical for automation systems requiring high reliability.
Industrial Applications and Case Studies
In industrial automation, PROMs store:
- Machine-specific firmware for PLCs (Programmable Logic Controllers), ensuring deterministic boot sequences.
- Calibration data for sensors and actuators, where factory-programmed values cannot be altered during operation.
- Legacy system support, maintaining compatibility with obsolete control protocols.
A case study from automotive manufacturing illustrates PROMs in robotic weld controllers, where 256-kbit PROMs store timing profiles for 10,000+ weld points. The non-volatile nature eliminates runtime corruption risks compared to SRAM-based solutions.
Reliability and Environmental Robustness
Industrial-grade PROMs adhere to JEDEC JESD22-A104 thermal cycling standards, surviving 1,000 cycles from −55°C to 125°C. Data retention exceeds 20 years at 85°C, modeled by the Arrhenius equation:
where tf is the failure time, Ea the activation energy (0.7 eV for polysilicon fuses), and T the absolute temperature. Radiation-hardened variants use dielectric isolation to withstand 100 krad(Si) total ionizing dose.
Programming Systems for Industrial Use
Automated PROM programmers integrate with production lines via:
- IEEE 488 (GPIB) for legacy systems, achieving 50 ms/program cycle.
- Ethernet/IP for Industry 4.0 environments, enabling remote firmware updates with SHA-256 verification.
Error detection employs Hamming codes with 6-bit parity for every 64-bit word, correcting single-bit errors and detecting double-bit errors:
where n = 64 and p is the raw bit error rate (typically 10−9 in industrial EEPROM alternatives).

5.3 ROM and PROM in Consumer Electronics
Architecture and Functionality in Embedded Systems
Read-Only Memory (ROM) and Programmable Read-Only Memory (PROM) serve as non-volatile storage solutions in consumer electronics, retaining data even when power is removed. ROM is factory-programmed during manufacturing, while PROM allows one-time user programming via high-voltage pulses or fusible links. Both are integral to firmware storage, bootloaders, and lookup tables in devices such as televisions, gaming consoles, and automotive control units.
The addressing scheme for ROM and PROM follows a standard n-bit input to m-bit output mapping:
where the address width (n) and data width (m) are determined by the application. For example, an 8-bit microcontroller may use a 16-bit address bus (n=16) to access 8-bit data (m=8).
PROM Programming and Reliability
PROM devices are programmed by selectively blowing fusible links or altering the state of anti-fuse elements. The programming process involves applying a high voltage (typically 12–21 V) to the selected memory cell, which permanently alters its conductive state. The reliability of PROM is characterized by its data retention time, typically exceeding 10 years at 85°C.
The failure rate (λ) of PROM can be modeled using the Arrhenius equation:
where A is a pre-exponential factor, Ea is the activation energy, k is Boltzmann's constant, and T is the absolute temperature.
Applications in Modern Devices
ROM and PROM are widely used in:
- Television firmware: Stores boot sequences and system calibration data.
- Automotive ECUs: Holds engine control algorithms and fault codes.
- Gaming consoles: Contains system BIOS and cryptographic keys.
In high-reliability applications, PROM is favored for its tamper-resistant properties, as the programmed data cannot be altered without physical replacement of the chip.
Comparison with Other Non-Volatile Memories
While ROM and PROM are cost-effective for high-volume production, they lack the reprogrammability of EEPROM or Flash memory. However, their simplicity and radiation-hardened properties make them suitable for aerospace and military applications.
6. Essential Books on Memory Technologies
6.1 Essential Books on Memory Technologies
- PDF CHAPTER6 Memory - WBUTHELP.COM — basic different types of ROM: ROM, PROM, EPROM, EEPROM, and flash memory. PROM (programmable read-only memory) is a variation on ROM. PROMs can be programmed by the user with the appropriate equipment. Whereas ROMs are hardwired, PROMs have fuses that can be blown to program the chip. Once programmed, the data and instructions in PROM cannot be ...
- Chapter 6 - William Stallings - College Sidekick — 6.1 / SEMICONDUCTOR MAIN MEMORY 205 For example, a 16-Mbit chip could be organized as 1M 16-bit words. At the other extreme is the so-called 1-bit-per-chip organization, in which data are read/written one bit at a time. We will illustrate memory chip organization with a DRAM; ROM organization is similar, though simpler. Figure 6.3 shows a typical organization of a 16-Mbit DRAM.
- PDF 1. Explain Various Memory Technologies in detail — it is read only memory. We cannot store new information in ROM. Several types of ROM o PROM: Programmable Read Only Memory; it can be programmed once as per user requirements. o EPROM: Erasable Programmable Read Only Memory; the contents of the memory can be erased and store new data into the memory. In this case,
- Chapter VI - Internal Memory - Chapter 6 Internal Memory 6 ... - Studocu — First introduced in the mid-1980s, flash memory is intermediate between EPROM and EEPROM in both cost and functionality. Like EEPROM, flash memory uses an electrical erasing technology. An entire flash memory can be erased in one or a few seconds, which is much faster than EPROM.
- PDF Chapter 6 Objectives Chapter 6 - Memory - Purdue University Fort Wayne — ideas is essential for the analysis of system performance. 3 Outline Types of memory and the memory hierarchy Cache memory Virtual memory 4. 3/29/2020 2 6.2 Types of Memory There are two kinds of main memory: random access memory, RAM, and read-only-memory, ROM. There are two types of RAM, dynamic RAM (DRAM) and static RAM (SRAM). DRAM consists ...
- PDF Unit 6 : Memory Organization - ebookbou.edu.bd — Read/Write Memory (RWM) : Any memory that can be read from or written into with equal ease. Read-Only Memory (ROM) : A ROM can be written into (programmed) only once, and this operation is normally performed at the factory. Thereafter information can only be read from the memory. The various types of ROM will be discussed later.
- PDF Semiconductor Memory Devices and Circuits - api.pageplace.de — The memory hierarchy includes on-chip cache and off-chip standalone memories such as main memory, storage-class-memory, and solid-state drive. This book will introduce the semiconductor memory technologies that serve various levels of the memory hierarchy, from the device cell structures to the array-level design, with an
- PDF Chapter 6 — is essential for the analysis of system performance. 6.2 Types of Memory (1 of 2) •There are two kinds of main memory: random access ... fact, it needs very little charge to retain its memory. •ROM is used to store permanent, or semi-permanent data that persists even while the system is turned off. 6.3 The Memory Hierarchy (1 of 6)
- PDF 6 Computer Memory - Springer — A memory hierarchy is therefore used because slow speed memory is cheaper than high speed memory and because only currently executing program segments need to be held in internal memory. 6.2 Semiconductor Technology Integrated circuits (ICs), such as microprocessors and memory chips, are
- PDF Chapter 6 Memory System - IOE Notes — The memory is the place where the computer holds current programs and data that are in use. None technology is optimal in satisfying the memory requirements for a computer system. Computer memory exhibits perhaps the widest range of type, technology, organization, performance and cost of any feature of a computer system.
6.2 Research Papers on ROM and PROM
- Computer Memory and Storage - SpringerLink — Programmable ROM (PROM) can only be written once with special device. Erasable PROM (EPROM) has a window on the chip. Data can be erased by ultraviolet light lasting 20-30 min. So, it is not capable of random read/write. Electrically erasable PROM (EEPROM or E 2 PROM) is the father of modern flash memory.
- 5 - ccc - UNIT 5 PROGRAMMABLE LOGIC DEVICES, MEMORY Memories: ROM, PROM ... — 5.6.2 PROM (Programmable Read-Only Memory) The PROM (Programmable Read-only memory), comes from the manufacturer unprogrammed and are custom programmed in the field to meet the user's needs. A PROM uses some type of fusing process to store bits, in which a memory link is burned open or left intact to represent a 0 or a 1.
- RAM and ROM | Overview & Research Examples - Perlego — The general structure of PM is given in the Fig. 3.2 ↓ ↓ ↓ Read/write RAM Read only Memory Memory (both) (ROM) (R/W Memory) Figure 3.2 The RAM and ROM are the primary memories. 3.2.4.2 Random access memory The random access memory (RAM) is a volatile storage device in which any memory location can be accessed at random for reading or ...
- Chapter 2: Fundamental Concepts - University of Texas at Austin — ROMs are nonvolatile; meaning if power is interrupted and restored the information in the ROM is retained. Some ROMs are programmed at the factory and can never be changed. A Programmable ROM (PROM) can be erased and reprogrammed by the user, but the erase/program sequence is typically 10000 times slower than the time to write data into a RAM.
- Improving the quality of the Heuristics Miner in ProM 6.2 - ResearchGate — Further, three open-source tools were discarded: ProM, which targets academic research [15], PM4Py [16], which does not currently provide a graphical user interface and Apromore, which had a ...
- Section 6.3.2 - Types of ROM - GlobalSpec — With the advent of technology development various types of ROM are available nowadays. Programmable Read Only Memory (PROM). It is more economic in cases requiring small quantities. In this method the manufacturer provides the PROM with all 0s (or all 1s) in every bit of the stored words. The required links are broken by application of current ...
- Programmable Read Only Memory - an overview - ScienceDirect — Memory is used to store, provide access to, and allow modification of data and program code for use within a processor-based electronic circuit or system. The two basic types of memory are ROM (read-only memory, and RAM (random access memory). Memory can be considered for use for one of the following three data or program storage purposes: 1.
- PDF Chapter - 6 Memory System - Marian Engineering College — ROM chips Compiled By: Er. Hari Aryal [[email protected]] Reference: W. Stallings & M. Mano | 6 Computer Organization and Architecture Chapter 6 : Memory System RAM- Random Access memory Memory cells can be accessed for information transfer from any desired random location.
- Chapter 6 - William Stallings - College Sidekick — 6.1 / SEMICONDUCTOR MAIN MEMORY 205 For example, a 16-Mbit chip could be organized as 1M 16-bit words. At the other extreme is the so-called 1-bit-per-chip organization, in which data are read/written one bit at a time. We will illustrate memory chip organization with a DRAM; ROM organization is similar, though simpler. Figure 6.3 shows a typical organization of a 16-Mbit DRAM.
- PDF Chapter 6 — ROM. • There are two types of RAM, dynamic RAM (DRAM) and static RAM (SRAM). • Dynamic RAM consists of capacitors that slowly leak their charge over time. Thus they must be refreshed every few milliseconds to prevent data loss. • DRAM is "cheap" memory owing to its simple design. 5 6.2 Types of Memory
6.3 Online Resources and Tutorials
- ProM 6.13 - ProM Tools — Optional: Select the amount of memory ProM 6.13 may use in the bar at the bottom. Stop ProM 6.13 Package Manager. Now all packages have been installed, and now we can start ProM 6.13 for the first time, that is, we can start the maiden run of ProM 6.13. This is a critical step in the installation procedure, as ProM 6.13 will now build a cache ...
- prom610 | ProM Tools — The brave and impatient may decide to skip this procedure and to just start ProM 6.10, which will start the ProM 6.10 Package Manager to download and install packages etc. However, as the maiden run of ProM 6.10 is critical, we advice against it, and propose to follow the procedure as mentioned above. Later on, you may decide to add some extra packages to the set of installed packages, or to ...
- ProM - Process Mining Summer School — Comments: Due to updates to ProM as a result of the Summer School, it is advised to use the ProM Nightly Build. The archive for the ProM Nightly Build can be downloaded from https://www.promtools.org and unpacked in some folder, after which ProM can be started (ProM.bat or ProM.sh) file. Users of Java 9 or up should install the JAXB package using the ProM Package Manager (PackageManager.bat or ...
- ProM 6 tutorial - Università degli studi di Padova — The following text is mostly taken from two existing tutorials for ProM 6 and Prom 5 available on line. Instructions The example logs used in the tutorial are available in the course Moodle in the folder named Tutorial-logs. Please have ProM 6 at hand while reading this tutorial.
- ProM Tools - ProM 6.14 has been released — ProM 6 is distributed in parts, which offers maximal flexibility. First, the ProM 6 core is distributed as a downloadable package using the GNU Public License (GPL) open source license. This means that you can download and install ProM 6 without restrictions, but that any software that uses the core also needs to be distributed using the GPL license.
- ProM — ProM provides a platform to users and developers of the process mining algorithms that is easy to use and easy to extend. Our mission is to become the de facto standard process mining platform in the academic world by establishing an active, recognized community of contributors and users, and to create awareness for the power of process mining ...
- Installation - ProM Tools — When you start ProM 6.x, it will read this file and restore your workspace to the workspace of the former ProM 6.x session, which includes, for example, resources like event logs and Petri nets. In case you experience problems with this former workspace, you may want to remove the "UITopiapersistence.xml.gz.wsp" file manually.
- PDF Semiconductor Memories: RAMs and ROMs - KFUPM — ROMs or simply ROM. Data stored this way can never be altered. 2. ROM is provided with fuses to allow users to introduce the desired data by electrically blowing some of these fuses. This type is referred to as a programmable ROM, or PROM. Fuse blowing is irreversible and, once programmed the ROM stored pattern cannot be altered.
- Programmable Read Only Memory - an overview - ScienceDirect — Memory is used to store, provide access to, and allow modification of data and program code for use within a processor-based electronic circuit or system. The two basic types of memory are ROM (read-only memory, and RAM (random access memory). Memory can be considered for use for one of the following three data or program storage purposes: 1.
- Semiconductor memory | Types (RAM, ROM, DRAM, SROM, SDRAM, MRAM, PROM ... — As a result this technology could become a major player in the electronics industry now that production processes have been developed to enable it to be produced. (ii) Read Only Memory (ROM) A ROM is a form of semiconductor memory technology used where the data is written once and then not changed. In view of this it is used where data needs to ...








