Cocojunk

🚀 Dive deep with CocoJunk – your destination for detailed, well-researched articles across science, technology, culture, and more. Explore knowledge that matters, explained in plain English.

Navigation: Home

EPROM

Published: Sat May 03 2025 19:14:06 GMT+0000 (Coordinated Universal Time) Last Updated: 5/3/2025, 7:14:06 PM

Read the original article here.


EPROM: Erasable Programmable Read-Only Memory

Introduction to EPROM in Early Computing

In the early days of computing, especially when venturing into "The Lost Art of Building a Computer from Scratch," understanding the core components used for storing programs and essential system instructions is crucial. One such fundamental component was the EPROM, or Erasable Programmable Read-Only Memory. EPROMs provided a flexible way to store firmware and software that needed to be readily available upon powering up a system, offering a significant advantage over earlier, less flexible memory types.

At its heart, an EPROM is a type of memory chip that holds onto its data even when the power is turned off. This characteristic is known as non-volatility. Unlike the main RAM (Random-Access Memory) in a computer, which loses its data when the power supply is removed, EPROMs are designed to retain their stored information for very long periods, often decades. This makes them ideal for storing the bootstrap code (firmware) that a computer needs to start up, or for housing programs in dedicated embedded systems where the software shouldn't disappear when the device is powered down.

The key features that distinguished EPROM were its programmability and its erasability. You could write data to it after it was manufactured, and crucially, you could erase that data using a specific method and reprogram the chip multiple times. This flexibility was revolutionary compared to the permanent, factory-programmed memory types that came before it.

Definition: Non-Volatile Memory

Non-volatile memory is computer memory that can retain stored information even when not powered. This is in contrast to volatile memory (like RAM), which requires power to maintain its data. EPROMs, along with technologies like ROM, EEPROM, and Flash memory, are examples of non-volatile storage.

The Inner Workings: Floating-Gate Transistors

The core technology behind EPROM relies on a specialized type of transistor called a floating-gate transistor. Understanding this transistor is key to grasping how EPROMs store and retain data.

Each storage location (bit) in an EPROM chip is essentially a single floating-gate transistor. A standard transistor (specifically, a MOSFET - Metal-Oxide-Semiconductor Field-Effect Transistor) typically has a gate connection that controls whether current flows between its source and drain terminals. In a floating-gate transistor, there are two gates:

  1. The Floating Gate: This is a conductive layer (originally silicon, sometimes aluminum) that is completely surrounded by an insulating material, typically silicon oxide. It has no direct electrical connections to the rest of the circuit.
  2. The Control Gate: This is located above the floating gate and is accessible from the outside world. It's the pin you interact with to read or program the memory cell.

Definition: Floating Gate

In a floating-gate transistor used in EPROM, the floating gate is a conductive layer embedded within insulating material (usually silicon oxide) that is electrically isolated from the surrounding circuitry. Its purpose is to trap and store an electrical charge, which alters the behavior of the transistor and serves as the memory state (representing a 0 or 1).

Storing Data (Programming)

Programming an EPROM cell involves trapping an electrical charge on the floating gate. This is achieved by applying a significantly higher voltage (higher than the normal operating voltage, often +12V or +25V depending on the chip generation) to the control gate and the drain of the specific transistor being programmed. This high voltage creates a phenomenon called avalanche injection or hot-electron injection.

Electrons from the silicon substrate gain enough energy from the high voltage field to pass through the insulating oxide layer and become trapped on the floating gate. Because the floating gate is completely surrounded by a highly effective insulator (silicon oxide has very high dielectric strength), these trapped electrons cannot easily escape. Once the high programming voltage is removed, the charge remains on the floating gate.

The presence or absence of this trapped charge on the floating gate is what determines whether the cell stores a logic '0' or a logic '1'.

Reading Data

To read the data stored in an EPROM cell, the system applies a standard operating voltage (typically +5V) to the control gate. The presence of charge on the floating gate affects the threshold voltage of the transistor – essentially, how easily it switches on or off when voltage is applied to the control gate.

  • If the floating gate has no trapped charge (erased state), applying the read voltage to the control gate causes the transistor to switch on, allowing current to flow between the source and drain. This state is typically read as a logic '1'.
  • If the floating gate has trapped charge (programmed state), the presence of these electrons on the floating gate opposes the voltage on the control gate, making it more difficult for the transistor to switch on. With the standard read voltage applied to the control gate, the transistor remains off, preventing current flow. This state is typically read as a logic '0'.

By applying the correct address signals, the EPROM chip selects a specific row and column of these transistors and routes their output (on or off state, representing 1 or 0) to output pins, allowing the system to read the stored byte or word.

Erasing Data

This is the distinctive feature of EPROM compared to earlier PROM (Programmable Read-Only Memory, which was write-once). To erase the data, the trapped charge must be removed from the floating gates. Since the floating gates are isolated, this cannot be done electrically in the same way they were programmed.

Instead, EPROMs are erased by exposing the silicon die directly to strong ultraviolet (UV) light. The chip package includes a transparent window (usually made of fused quartz) specifically for this purpose. When UV photons penetrate the silicon oxide insulator, they cause ionization. This ionization makes the oxide temporarily conductive enough for the trapped electrons on the floating gate to gain sufficient energy to tunnel back out of the floating gate and dissipate into the silicon substrate.

Definition: Ultraviolet Erasure

Ultraviolet erasure is the process used to clear the data stored in an EPROM chip. By exposing the transparent window on the chip package to intense ultraviolet light (specifically UV-C, around 254 nm wavelength), photons cause ionization within the silicon oxide insulator, allowing the charge trapped on the floating gates to dissipate, returning the memory cells to their erased state (typically all logic '1's).

The UV erasing process affects all memory cells on the chip simultaneously. You cannot selectively erase individual bytes or words. This is a key difference from later technologies like EEPROM and Flash. The erasing process typically takes several minutes under a dedicated UV lamp. Sunlight also contains enough UV to erase an EPROM, albeit over days or weeks, and even strong fluorescent lights can cause erasure over several years, which is why the window needs to be covered once programmed.

A Brief History

The concept that led to the EPROM emerged from fundamental research into semiconductor physics. Observing how trapped charges could affect transistor behavior sparked the idea of using this phenomenon for memory.

  • Early work in the 1960s by researchers like Frank Wanlass at Fairchild Semiconductor on charge movement through oxide layers laid some groundwork.
  • Dawon Kahng and Simon Min Sze at Bell Labs in 1967 proposed using a floating gate in a MOSFET as a memory cell.
  • Building on this, Dov Frohman at Intel is credited with inventing the EPROM in 1971. His invention led to the development of the first commercially available EPROM, the Intel 1702.

The Intel 1702 was a 2048-bit (256 byte) EPROM. Its introduction provided engineers with a flexible way to develop and iterate on firmware for their new microprocessors (like Intel's own 4004 and 8008), without the high cost and long lead times associated with mask-programmed ROMs for prototypes or small production runs.

Physical Characteristics and Variants

EPROM chips are easily identifiable by their distinctive transparent window on the top of the ceramic or plastic package. This window, often made of fused quartz, allows the silicon die within to be exposed to ultraviolet light for erasure. Once programmed, this window must be covered with an opaque sticker to prevent accidental erasure from ambient light. These stickers often included information about the firmware version and copyright notice, and were frequently foil-backed for extra UV protection.

Because the quartz window and the associated packaging complexity added cost, a cheaper alternative was introduced: the One-Time Programmable (OTP) EPROM. These chips were functionally identical to standard EPROMs internally but were mounted in an opaque package (usually black plastic) with no window.

Definition: One-Time Programmable (OTP)

One-Time Programmable (OTP) refers to memory chips, like some versions of EPROM or OTP-based microcontrollers, that can only be programmed once. They use the same underlying technology as their erasable counterparts but are packaged in opaque materials, preventing exposure to the UV light necessary for erasure. Once programmed, the data is permanent.

OTP EPROMs were used for mass production once the firmware was finalized and tested using the more expensive windowed versions. This offered a cost advantage over mask-programmed ROMs for moderate production volumes, as the OTP chips could be programmed after manufacturing, allowing for late-stage firmware updates.

EPROM in Practice: Programming and Lifespan

Programming an EPROM

Writing data to an EPROM requires a dedicated device called an EPROM programmer. These devices apply the necessary higher programming voltages (often +12V or +25V, depending on the chip) and precise timing pulses to program data byte by byte or word by word at specified addresses. The programming process is significantly slower than reading the data. Programming a large EPROM (e.g., 256KB or 512KB) could take several minutes.

Early EPROM programmers were complex, often standalone machines. Later, programming capabilities were integrated into expansion cards for personal computers or external devices controlled by a PC. When building a computer from scratch, an EPROM programmer (or access to one) is essential if your system requires firmware stored on an EPROM.

Data Retention and Erase Cycles

A properly programmed EPROM is designed to retain its data for a very long time, often specified for a minimum of 10 to 20 years, and in practice, many chips have held data for much longer.

However, EPROMs do have limitations:

  1. Limited Erase Cycles: While they can be erased and reprogrammed multiple times, the silicon dioxide insulator around the floating gate can degrade slightly with each erase/program cycle due to the stresses involved (high voltages, ionization). This limits the number of reliable erase cycles, typically to a few thousand. This contrasts with Flash memory, which is designed for tens or hundreds of thousands of cycles.
  2. Erase Effectiveness: For very high-density EPROMs, the tiny gaps between complex layers of interconnects over the die could potentially trap dust particles. If a particle blocks UV light from reaching a specific cell, that cell might not erase properly, leading to errors.

Evolution of EPROM Technology

EPROM technology evolved over the years, primarily driven by the need for higher capacity, lower power consumption, and simpler operation:

  • First Generation (e.g., Intel 1702): Used p-MOS technology. Required multiple, non-standard power supply voltages for both reading and programming (+5V, -9V, -47V). Small capacity (256 bytes).
  • Second Generation (e.g., 2704, 2708): Switched to n-MOS technology. Still required multiple power rails (+5V, -5V, +12V) for reading, with a higher +25V pulse for programming. Increased capacity (512 bytes, 1KB).
  • Third Generation (e.g., 2716, 2732, 2764, etc.): Significant improvement using evolved n-MOS processes. Required only a single +5V power supply for reading, making them much easier to integrate into systems. Programming still required a higher voltage (+25V or +21V depending on the chip). Capacities grew significantly (2KB, 4KB, 8KB, etc., up to 1MB or more). These became the most common types used in hobbyist and small-scale professional projects.
  • CMOS Variants (e.g., 27Cxxx): As CMOS technology became more cost-effective, CMOS versions of EPROMs (denoted with a 'C' in the part number, like 27C256) were developed. These offered lower power consumption than their n-MOS counterparts, especially in standby mode, which was beneficial for battery-backed systems or power-sensitive applications.

Compatibility Issues and Signature Mode

While EPROMs of the same size (e.g., all 27256 chips) were generally pin-compatible and readable using the same voltage (+5V), the programming procedures could vary subtly between different manufacturers. Different timing pulses, voltage levels, or programming algorithms were sometimes used.

To help EPROM programmers correctly identify the chip they were working with, later generation EPROMs introduced a "signature mode". By applying a specific, slightly higher voltage (typically +12V) to one of the address pins (often A9), the chip would output two bytes of data representing the manufacturer ID and the device ID. EPROM programmer software could read these bytes to automatically configure the correct programming algorithm. However, this feature wasn't universally implemented or relied upon, so manually selecting the chip type in the programmer software remained common practice.

Applications in Vintage Systems

For anyone building or working with vintage computer systems, EPROMs are frequently encountered in several key areas:

  • BIOS (Basic Input/Output System): Early personal computers (like the IBM PC and its clones) often stored their BIOS firmware on EPROM chips. This firmware provided the essential instructions for the computer to boot up, interact with basic hardware (keyboard, display, floppy drives), and load the operating system. Swapping out BIOS chips was a common upgrade procedure.
  • Firmware for Controllers and Peripherals: Expansion cards (like early graphics cards, network cards, hard disk controllers) often had their own small EPROMs containing firmware specific to that hardware.
  • Embedded Systems: Microcontrollers and single-board computers used in industrial control, instrumentation, and early consumer electronics frequently stored their program code in internal EPROM (in the case of some microcontrollers) or external EPROM chips. Some microcontrollers, like certain versions of the Intel 8048 or Microchip PICs, were even sold in windowed EPROM versions for development and opaque OTP versions for production.
  • Arcade Games and Cartridges: Software for early arcade machines and home video game cartridges was often stored on EPROM chips. This made it relatively easy to update game revisions or create different game versions by simply swapping out the EPROMs.

Understanding EPROMs is vital when working on these systems. You might need to:

  • Read the contents of an old EPROM to reverse engineer or preserve software.
  • Program new EPROMs to replace failed ones, upgrade firmware, or install custom software.
  • Understand the power requirements and timing constraints if you were to integrate EPROM into a new "from scratch" design.

Beyond EPROM: Successors

While revolutionary in their time, EPROMs have largely been superseded by more convenient non-volatile memory technologies:

  • EEPROM (Electrically Erasable Programmable Read-Only Memory): Developed to allow electrical erasure of data, byte by byte. This eliminated the need for a UV lamp and chip removal, making in-circuit updates possible. However, EEPROMs were typically slower and more expensive per bit than EPROM.
  • Flash Memory: An evolution of EEPROM technology that allows electrical erasure in larger blocks (pages or sectors) rather than individual bytes. Flash memory offers higher density, faster write/erase times (compared to EPROM/EEPROM for bulk operations), and lower cost per bit, making it the dominant technology for firmware storage and data storage in modern systems (SSDs, USB drives, etc.).

Despite being less common in brand-new designs today, EPROMs remain a significant part of computing history and are still found in countless pieces of vintage equipment. For anyone delving into the hardware of early computers, they are an essential component to recognize and understand. Their blend of non-volatility, programmability, and unique UV erasure method marked a crucial step in the evolution of digital memory.

See Also