![PokemonSilverBoard](https://upload.wikimedia.org/wikipedia/commons/c/cc/PokemonSilverBoard.jpg)
Read-only memory (ROM) is a type of
non-volatile memory
Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data.
Non-volatile memory typic ...
used in
computers
A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These programs ...
and other
electronic devices
The field of electronics is a branch of physics and electrical engineering that deals with the emission, behaviour and effects of electrons using Electronic component, electronic devices. Electronics uses Passivity (engineering), active devices ...
. Data stored in ROM cannot be electronically modified after the manufacture of the
memory device
In computing, memory is a device or system that is used to store information for immediate use in a computer or related computer hardware and digital electronic devices. The term ''memory'' is often synonymous with the term ''primary storage' ...
. Read-only memory is useful for storing
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
that is rarely changed during the life of the system, also known as
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
. Software applications (like
video games
Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device to gener ...
) for programmable devices can be distributed as
plug-in cartridges containing ROM.
Strictly speaking, ''read-only memory'' refers to memory that is hard-wired, such as
diode matrix
A diode matrix is a two-dimensional grid of wires: each "intersection" wherein one-row crosses over another has either a diode connecting them, or the wires are isolated from each other.
It is one of the most popular techniques for implementing a ...
or a
mask ROM
Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing soft ...
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
(IC), which cannot be electronically changed after manufacture. Although discrete circuits can be altered in principle, through the addition of
bodge wires and/or the removal or replacement of components, ICs cannot. Correction of errors, or updates to the software, require new devices to be manufactured and to replace the installed device.
Floating-gate
The floating-gate MOSFET (FGMOS), also known as a floating-gate MOS transistor or floating-gate transistor, is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) where the gate is electrically isolated, creating a floating no ...
ROM
semiconductor memory
Semiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a sili ...
in the form of
erasable programmable read-only memory
An EPROM (rarely EROM), or erasable programmable read-only memory, is a type of programmable read-only memory (PROM) chip that retains its data when its power supply is switched off. Computer memory that can retrieve stored data after a power su ...
(EPROM),
electrically erasable programmable read-only memory
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
(EEPROM) and
flash memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both us ...
can be erased and re-programmed. But usually, this can only be done at relatively slow speeds, may require special equipment to achieve, and is typically only possible a certain number of times.
The term "ROM" is sometimes used to mean a ROM device containing specific software, or a file with software to be stored in EEPROM or Flash Memory. For example, users modifying or replacing the
Android operating system
Android is a mobile operating system based on a modified version of the Linux kernel and other open-source software, designed primarily for touchscreen mobile devices such as smartphones and tablets. Android is developed by a consortium of deve ...
describe files containing a modified or replacement operating system as "
custom ROMs" after the type of storage the file used to be written to.
History
Discrete-component ROM
IBM used capacitor read-only storage (CROS) and
transformer read-only storage
Transformer read-only storage (TROS) was a type of read-only memory (ROM) used in the 1960s and early 1970s before solid-state memory devices were developed.
Overview
TROS was created by IBM as a read-only storage method for storing microcode f ...
(TROS) to store microcode for the smaller
System/360
The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applica ...
models, the
360/85, and the initial two
System/370
The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path f ...
models (
370/155 and
370/165). On some models there was also a
writeable control store (WCS) for additional diagnostics and emulation support. The
Apollo Guidance Computer
The Apollo Guidance Computer (AGC) was a digital computer produced for the Apollo program that was installed on board each Apollo command module (CM) and Apollo Lunar Module (LM). The AGC provided computation and electronic interfaces for guidan ...
used
core rope memory
Core rope memory is a form of read-only memory (ROM) for computers, first used in the 1960s by early NASA Mars space probes and then in the Apollo Guidance Computer (AGC) and programmed by the Massachusetts Institute of Technology (MIT) Ins ...
, programmed by threading wires through magnetic cores.
Solid-state ROM
The simplest type of
solid-state
Solid state, or solid matter, is one of the four fundamental states of matter.
Solid state may also refer to:
Electronics
* Solid-state electronics, circuits built of solid materials
* Solid state ionics, study of ionic conductors and their use ...
ROM is as old as the
semiconductor
A semiconductor is a material which has an electrical resistivity and conductivity, electrical conductivity value falling between that of a electrical conductor, conductor, such as copper, and an insulator (electricity), insulator, such as glas ...
technology itself.
Combinational logic gate
A logic gate is an idealized or physical device implementing a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, ...
s can be joined manually to map -bit address input onto arbitrary values of -bit data output (a
look-up table). With the invention of the
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
came
mask ROM
Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing soft ...
. Mask ROM consists of a grid of
word
A word is a basic element of language that carries an semantics, objective or pragmatics, practical semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of w ...
lines (the address input) and bit lines (the data output), selectively joined together with
transistor
upright=1.4, gate (G), body (B), source (S) and drain (D) terminals. The gate is separated from the body by an insulating layer (pink).
A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch e ...
switches, and can represent an arbitrary look-up table with a regular physical layout and predictable
propagation delay
Propagation delay is the time duration taken for a signal to reach its destination. It can relate to networking, electronics or physics. ''Hold time'' is the minimum interval required for the logic level to remain on the input after triggering e ...
.
In mask ROM, the data is physically encoded in the circuit, so it can only be programmed during fabrication. This leads to a number of serious disadvantages:
* It is only economical to buy mask ROM in large quantities, since users must contract with a
foundry
A foundry is a factory that produces metal castings. Metals are cast into shapes by melting them into a liquid, pouring the metal into a mold, and removing the mold material after the metal has solidified as it cools. The most common metals pr ...
to produce a custom design.
* The turnaround time between completing the design for a mask ROM and receiving the finished product is long, for the same reason.
* Mask ROM is impractical for
R&D work since designers frequently need to modify the contents of memory as they refine a design.
* If a product is shipped with faulty mask ROM, the only way to fix it is to
recall
Recall may refer to:
* Recall (bugle call), a signal to stop
* Recall (information retrieval), a statistical measure
* ''ReCALL'' (journal), an academic journal about computer-assisted language learning
* Recall (memory)
* ''Recall'' (Overwatch ...
the product and physically replace the ROM in every unit shipped.
Subsequent developments have addressed these shortcomings.
Programmable read-only memory
A programmable read-only memory (PROM) is a form of digital memory where the contents can be changed once after manufacture of the device. The data is then permanent and cannot be changed. It is one type of read-only memory (ROM). PROMs are used ...
(PROM), invented by
Wen Tsing Chow
Wen Tsing Chow (; 1918–2001), was a Chinese-born American missile guidance scientist and a digital computer pioneer, known for the invention of programmable read-only memory or PROM.
Biography
Chow was born in Taiyuan, Shanxi in 1918. He receive ...
in 1956,
allowed users to program its contents exactly once by physically altering its structure with the application of high-voltage pulses. This addressed problems 1 and 2 above, since a company can simply order a large batch of fresh PROM chips and program them with the desired contents at its designers' convenience.
The advent of the
metal–oxide–semiconductor field-effect transistor
The metal–oxide–semiconductor field-effect transistor (MOSFET, MOS-FET, or MOS FET) is a type of field-effect transistor (FET), most commonly fabricated by the controlled oxidation of silicon. It has an insulated gate, the voltage of which d ...
(MOSFET), invented at
Bell Labs
Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984),
then AT&T Bell Laboratories (1984–1996)
and Bell Labs Innovations (1996–2007),
is an American industrial research and scientific development company owned by mult ...
in 1959,
enabled the practical use of
metal–oxide–semiconductor
The metal–oxide–semiconductor field-effect transistor (MOSFET, MOS-FET, or MOS FET) is a type of field-effect transistor (FET), most commonly fabricated by the controlled oxidation of silicon. It has an insulated gate, the voltage of which d ...
(MOS) transistors as
memory cell storage elements in
semiconductor memory
Semiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a sili ...
, a function previously served by
magnetic cores
A magnetic core is a piece of magnetic material with a high magnetic permeability used to confine and guide magnetic fields in electrical, electromechanical and magnetic devices such as electromagnets, transformers, electric motors, generators, in ...
in
computer memory
In computing, memory is a device or system that is used to store information for immediate use in a computer or related computer hardware and digital electronic devices. The term ''memory'' is often synonymous with the term ''primary storage ...
.
In 1967,
Dawon Kahng
Dawon Kahng ( ko, 강대원; May 4, 1931 – May 13, 1992) was a Korean-American electrical engineer and inventor, known for his work in solid-state electronics. He is best known for inventing the MOSFET (metal–oxide–semiconductor field-effe ...
and
Simon Sze
Simon Min Sze, or Shi Min (; born 1936), is a Chinese-American electrical engineer. He is best known for inventing the floating-gate MOSFET with Korean electrical engineer Dawon Kahng in 1967.
Biography
Sze was born in Nanjing, Jiangsu, and gre ...
of Bell Labs proposed that the
floating gate
The floating-gate MOSFET (FGMOS), also known as a floating-gate MOS transistor or floating-gate transistor, is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) where the gate is electrically isolated, creating a floating no ...
of a MOS
semiconductor device
A semiconductor device is an electronic component that relies on the electronic properties of a semiconductor material (primarily silicon, germanium, and gallium arsenide, as well as organic semiconductors) for its function. Its conductivity li ...
could be used for the cell of a reprogrammable ROM, which led to
Dov Frohman
Dov Frohman (Hebrew: דב פרוהמן, also Dov Frohman-Bentchkowsky; born March 28, 1939) is an Israeli electrical engineer and business executive. A former vice president of Intel Corporation, he is the inventor of the erasable programmable ...
of
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
inventing
erasable programmable read-only memory
An EPROM (rarely EROM), or erasable programmable read-only memory, is a type of programmable read-only memory (PROM) chip that retains its data when its power supply is switched off. Computer memory that can retrieve stored data after a power su ...
(EPROM) in 1971.
The 1971 invention of EPROM essentially solved problem 3, since EPROM (unlike PROM) can be repeatedly reset to its unprogrammed state by exposure to strong ultraviolet light.
Electrically erasable programmable read-only memory
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
(EEPROM), developed by Yasuo Tarui, Yutaka Hayashi and Kiyoko Naga at the
Electrotechnical Laboratory
The , or AIST, is a Japanese research facility headquartered in Tokyo, and most of the workforce is located in Tsukuba Science City, Ibaraki, and in several cities throughout Japan. The institute is managed to integrate scientific and engineeri ...
in 1972, went a long way to solving problem 4, since an EEPROM can be programmed
in-place
In computer science, an in-place algorithm is an algorithm which transforms input using no auxiliary data structure. However, a small amount of extra storage space is allowed for auxiliary variables. The input is usually overwritten by the output ...
if the containing device provides a means to receive the program contents from an external source (for example, a personal computer via a
serial cable
A serial cable is a cable used to transfer information between two devices using a serial communication protocol. The form of connectors depends on the particular serial port used. A cable wired for connecting two DTEs directly is known as a nu ...
).
Flash memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both us ...
, invented by
Fujio Masuoka
is a Japanese engineer, who has worked for Toshiba and Tohoku University, and is currently chief technical officer (CTO) of Unisantis Electronics. He is best known as the inventor of flash memory, including the development of both the NOR flash ...
at
Toshiba
, commonly known as Toshiba and stylized as TOSHIBA, is a Japanese multinational conglomerate corporation headquartered in Minato, Tokyo, Japan. Its diversified products and services include power, industrial and social infrastructure system ...
in the early 1980s and commercialized in the late 1980s, is a form of EEPROM that makes very efficient use of chip area and can be erased and reprogrammed thousands of times without damage. It permits erasure and programming of only a specific part of the device, instead of the entire device. This can be done at high speed, hence the name "flash".
All of these technologies improved the flexibility of ROM, but at a significant cost-per-chip, so that in large quantities mask ROM would remain an economical choice for many years. (Decreasing cost of reprogrammable devices had almost eliminated the market for mask ROM by 2000.) Rewriteable technologies were envisioned as replacements for mask ROM.
The most recent development is
NAND flash
Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
, also invented at Toshiba. Its designers explicitly broke from past practice, stating plainly that "the aim of NAND flash is to replace
hard disk
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magnet ...
s," rather than the traditional use of ROM as a form of non-volatile
primary storage
Computer data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.
The central processing unit (CPU) of a computer ...
. , NAND has nearly completely achieved this goal by offering throughput higher than hard disks, lower latency, higher tolerance of physical shock, extreme miniaturization (in the form of
USB flash drive
A USB flash drive (also called a thumb drive) is a data storage device that includes flash memory with an integrated USB interface. It is typically removable, rewritable and much smaller than an optical disc. Most weigh less than . Since firs ...
s and tiny
microSD
Secure Digital, officially abbreviated as SD, is a proprietary non-volatile flash memory card format developed by the SD Association (SDA) for use in portable devices.
The standard was introduced in August 1999 by joint efforts between SanDis ...
memory card
A memory card is an electronic data storage device used for storing digital information, typically using flash memory. These are commonly used in digital portable electronic devices. They allow adding memory to such devices using a card in a so ...
s, for example), and much lower power consumption.
Use for storing programs
Many
stored-program computer
A stored-program computer is a computer that stores program instructions in electronically or optically accessible memory. This contrasts with systems that stored the program instructions with plugboards or similar mechanisms.
The definition i ...
s use a form of
non-volatile
Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data.
Non-volatile memory typic ...
storage (that is, storage that retains its data when power is removed) to store the initial program that runs when the computer is powered on or otherwise begins execution (a process known as
bootstrapping
In general, bootstrapping usually refers to a self-starting process that is supposed to continue or grow without external input.
Etymology
Tall boots may have a tab, loop or handle at the top known as a bootstrap, allowing one to use fingers ...
, often abbreviated to "
booting
In computing, booting is the process of starting a computer as initiated via hardware such as a button or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so som ...
" or "booting up"). Likewise, every non-trivial computer needs some form of mutable memory to record changes in its
state
State may refer to:
Arts, entertainment, and media Literature
* ''State Magazine'', a monthly magazine published by the U.S. Department of State
* ''The State'' (newspaper), a daily newspaper in Columbia, South Carolina, United States
* ''Our S ...
as it executes.
Forms of read-only memory were employed as non-volatile storage for programs in most early stored-program computers, such as
ENIAC
ENIAC (; Electronic Numerical Integrator and Computer) was the first programmable, electronic, general-purpose digital computer, completed in 1945. There were other computers that had these features, but the ENIAC had all of them in one packa ...
after 1948. (Until then it was not a stored-program computer as every program had to be manually wired into the machine, which could take days to weeks.) Read-only memory was simpler to implement since it needed only a mechanism to read stored values, and not to change them in-place, and thus could be implemented with very crude electromechanical devices (see
historical examples below). With the advent of
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
s in the 1960s, both ROM and its mutable counterpart
static RAM
Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed.
The term ''static'' differen ...
were implemented as arrays of
transistor
upright=1.4, gate (G), body (B), source (S) and drain (D) terminals. The gate is separated from the body by an insulating layer (pink).
A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch e ...
s in silicon chips; however, a ROM memory cell could be implemented using fewer transistors than an SRAM memory cell, since the latter needs a
latch
A latch or catch (called sneck in Northern England and Scotland) is a type of mechanical fastener that joins two (or more) objects or surfaces while allowing for their regular separation. A latch typically engages another piece of hardware on t ...
(comprising 5-20 transistors) to retain its contents, while a ROM cell might consist of the absence (logical 0) or presence (logical 1) of one transistor connecting a bit line to a word line. Consequently, ROM could be implemented at a lower cost-per-
bit
The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represente ...
than RAM for many years.
Most
home computers of the 1980s stored a
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
interpreter or
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
in ROM as other forms of non-volatile storage such as
magnetic disk
Magnetic storage or magnetic recording is the storage of data on a magnetized medium. Magnetic storage uses different patterns of magnetisation in a magnetizable material to store data and is a form of non-volatile memory. The information is ac ...
drives were too costly. For example, the
Commodore 64
The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
included 64
KB of RAM and 20 KB of ROM containing a BASIC interpreter and the
KERNAL
KERNAL is Commodore's name for the ROM-resident operating system core in its 8-bit home computers; from the original PET of 1977, followed by the extended but strongly related versions used in its successors: the VIC-20, Commodore 64, Plus/4, ...
operating system. Later home or office computers such as the
IBM PC XT often included magnetic disk drives, and larger amounts of RAM, allowing them to load their operating systems from disk into RAM, with only a minimal hardware initialization core and
bootloader
A bootloader, also spelled as boot loader or called boot manager and bootstrap loader, is a computer program that is responsible for booting a computer.
When a computer is turned off, its softwareincluding operating systems, application code, an ...
remaining in ROM (known as the
BIOS
In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
in
IBM-compatible
IBM PC compatible computers are similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. ...
computers). This arrangement allowed for a more complex and easily upgradeable operating system.
In modern PCs, "ROM" is used to store the basic bootstrapping
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
for the processor, as well as the various
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
needed to internally control self-contained devices such as
graphic cards
A graphics card (also called a video card, display card, graphics adapter, VGA card/VGA, video adapter, display adapter, or mistakenly GPU) is an expansion card which generates a feed of output images to a display device, such as a computer moni ...
,
hard disk drive
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magnet ...
s,
solid state drive
A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data Persistence (computer science), persistently, typically using flash memory, and functioning as secondary storage in the Computer ...
s,
optical disc drive
In computing, an optical disc drive is a disc drive that uses laser light or electromagnetic waves within or near the visible light spectrum as part of the process of reading or writing data to or from optical discs. Some drives can only r ...
s,
TFT screen
A thin-film-transistor liquid-crystal display (TFT LCD) is a variant of a liquid-crystal display that uses thin-film-transistor technology to improve image qualities such as addressability and contrast. A TFT LCD is an active matrix LCD, in cont ...
s, etc., in the system. Today, many of these "read-only" memories – especially the
BIOS
In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
/
UEFI
UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of f ...
– are often replaced with
EEPROM
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
or
Flash memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both us ...
(see below), to permit in-place reprogramming should the need for a firmware upgrade arise. However, simple and mature sub-systems (such as the keyboard or some communication controllers in the integrated circuits on the main board, for example) may employ mask ROM or
OTP (one-time programmable).
ROM and
successor technologies such as flash are prevalent in
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
s. These are in everything from
industrial robots
An industrial robot is a robot system used for manufacturing. Industrial robots are automated, programmable and capable of movement on three or more axes.
Typical applications of robots include welding, painting, assembly, disassembly, pick a ...
to
home appliances
A home appliance, also referred to as a domestic appliance, an electric appliance or a household appliance, is a machine which assists in household functions such as cooking, cleaning and food preservation.
Appliances are divided into three ty ...
and
consumer electronics
Consumer electronics or home electronics are electronic (analog or digital) equipment intended for everyday use, typically in private homes. Consumer electronics include devices used for entertainment, communications and recreation. Usually r ...
(
MP3 player
A portable media player (PMP) (also including the related digital audio player (DAP)) is a portable consumer electronics device capable of storing and playing digital media such as audio, images, and video files. The data is typically stored o ...
s,
set-top box
A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information appliance device that generally contains a TV-tuner input and displays output to a television set and an external source of sign ...
es, etc.) all of which are designed for specific functions, but are based on general-purpose
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
s. With software usually tightly coupled to hardware, program changes are rarely needed in such devices (which typically lack hard disks for reasons of cost, size, or power consumption). As of 2008, most products use Flash rather than mask ROM, and many provide some means for connecting to a PC for
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
updates; for example, a digital audio player might be updated to support a new file format. Some hobbyists have taken advantage of this flexibility to reprogram consumer products for new purposes; for example, the iPodLinux and OpenWrt projects have enabled users to run full-featured Linux Linux distribution, distributions on their MP3 players and wireless routers, respectively.
ROM is also useful for binary storage of cryptographic data, as it makes them difficult to replace, which may be desirable in order to enhance information security.
Use for storing data
Since ROM (at least in hard-wired mask form) cannot be modified, it is only suitable for storing data which is not expected to need modification for the life of the device. To that end, ROM has been used in many computers to store
look-up tables for the evaluation of mathematical and logical functions (for example, a floating-point unit might Look-up table#Sine Table Example, tabulate the sine function in order to facilitate faster computation). This was especially effective when CPUs were slow and ROM was cheap compared to RAM.
Notably, the display adapters of early personal computers stored tables of bitmapped font characters in ROM. This usually meant that the text display font could not be changed interactively. This was the case for both the Color Graphics Adapter, CGA and Monochrome Display Adapter, MDA adapters available with the IBM PC XT.
The use of ROM to store such small amounts of data has disappeared almost completely in modern general-purpose computers. However, NAND Flash has taken over a new role as a medium for mass storage or secondary storage of files.
Types
Factory programmed
''Mask ROM'' is a read-only memory whose contents are programmed by the
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
manufacturer (rather than by the user). The desired memory contents are furnished by the customer to the device manufacturer. The desired data is converted into a custom Photomask, mask layer for the final metallization of interconnections on the memory chip (hence the name).
It is common practice to use rewritable
non-volatile memory
Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data.
Non-volatile memory typic ...
– such as UV-EPROM or
EEPROM
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
– for the development phase of a project, and to switch to mask ROM when the code has been finalized. For example, Atmel microcontrollers come in both EEPROM and mask ROM formats.
The main advantage of mask ROM is its cost. Per bit, mask ROM is more compact than any other kind of
semiconductor memory
Semiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a sili ...
. Since the cost of an
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
strongly depends on its size, mask ROM is significantly cheaper than any other kind of semiconductor memory.
However, the one-time masking cost is high and there is a long turn-around time from design to product phase. Design errors are costly: if an error in the data or code is found, the mask ROM is useless and must be replaced in order to change the code or data.
, four companies produce most such mask ROM chips: Samsung Electronics, NEC Corporation, Oki Electric Industry, and Macronix.
Some integrated circuits contain only mask ROM. Other integrated circuits contain mask ROM as well as a variety of other devices. In particular, many
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
s have mask ROM to store their microcode. Some microcontrollers have mask ROM to store the
bootloader
A bootloader, also spelled as boot loader or called boot manager and bootstrap loader, is a computer program that is responsible for booting a computer.
When a computer is turned off, its softwareincluding operating systems, application code, an ...
or all of their
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
.
Classic mask-programmed ROM chips are integrated circuits that physically encode the data to be stored, and thus it is impossible to change their contents after fabrication.
Field programmable
* ''
Programmable read-only memory
A programmable read-only memory (PROM) is a form of digital memory where the contents can be changed once after manufacture of the device. The data is then permanent and cannot be changed. It is one type of read-only memory (ROM). PROMs are used ...
'' (PROM), or ''one-time programmable ROM'' (OTP), can be written to or ''programmed'' via a special device called a ''PROM programmer''. Typically, this device uses high voltages to permanently destroy or create internal links (Fuse (electrical), fuses or antifuses) within the chip. Consequently, a PROM can only be programmed once.
* ''Erasable programmable read-only memory'' (EPROM) can be erased by exposure to strong ultraviolet light (typically for 10 minutes or longer), then rewritten with a process that again needs higher than usual voltage applied. Repeated exposure to UV light will eventually wear out an EPROM, but the ''#Endurance and data retention, endurance'' of most EPROM chips exceeds 1000 cycles of erasing and reprogramming. EPROM chip packages can often be identified by the prominent quartz "window" which allows UV light to enter. After programming, the window is typically covered with a label to prevent accidental erasure. Some EPROM chips are factory-erased before they are packaged, and include no window; these are effectively PROM.
* ''
Electrically erasable programmable read-only memory
EEPROM (also called E2PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a ...
'' (EEPROM) is based on a similar semiconductor structure to EPROM, but allows its entire contents (or selected ''banks'') to be electrically erased, then rewritten electrically, so that they need not be removed from the computer (whether general-purpose or an embedded computer in a camera, MP3 player, etc.). Writing or ''flashing'' an EEPROM is much slower (milliseconds per bit) than reading from a ROM or writing to a RAM (nanoseconds in both cases).
** ''Electrically alterable read-only memory'' (EAROM) is a type of EEPROM that can be modified one
bit
The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represente ...
at a time. Writing is a very slow process and again needs higher voltage (usually around 12 Volt, V) than is used for read access. EAROMs are intended for applications that require infrequent and only partial rewriting. EAROM may be used as
non-volatile
Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data.
Non-volatile memory typic ...
storage for critical system setup information; in many applications, EAROM has been supplanted by CMOS RAM supplied by mains power and backed-up with a lithium battery.
** ''
Flash memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both us ...
'' (or simply ''flash'') is a modern type of EEPROM invented in 1984. Flash memory can be erased and rewritten faster than ordinary EEPROM, and newer designs feature very high endurance (exceeding 1,000,000 cycles). Modern
NAND flash
Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
makes efficient use of silicon chip area, resulting in individual ICs with a capacity as high as 32 gigabyte, GB ; this feature, along with its endurance and physical durability, has allowed NAND flash to replace magnetic storage, magnetic in some applications (such as
USB flash drive
A USB flash drive (also called a thumb drive) is a data storage device that includes flash memory with an integrated USB interface. It is typically removable, rewritable and much smaller than an optical disc. Most weigh less than . Since firs ...
s). NOR flash memory is sometimes called ''flash ROM'' or ''flash EEPROM'' when used as a replacement for older ROM types, but not in applications that take advantage of its ability to be modified quickly and frequently.
By applying write protection, some types of reprogrammable ROMs may temporarily become read-only memory.
Other technologies
There are other types of non-volatile memory which are not based on solid-state IC technology, including:
* Optical storage media, such CD-ROM which is read-only (analogous to masked ROM). CD-R is Write Once Read Many (analogous to PROM), while CD-RW supports erase-rewrite cycles (analogous to EEPROM); both are designed for backwards-compatibility with CD-ROM.
* Diode matrix ROM, used in small amounts in many computers in the 1960s as well as electronic desk calculators and keyboard encoders for computer terminal, terminals. This ROM was programmed by installing discrete semiconductor diodes at selected locations between a matrix of ''word line traces'' and ''bit line traces'' on a printed circuit board.
* Resistor, capacitor, or transformer matrix ROM, used in many computers until the 1970s. Like diode matrix ROM, it was programmed by placing components at selected locations between a matrix of ''word lines'' and ''bit lines''.
ENIAC
ENIAC (; Electronic Numerical Integrator and Computer) was the first programmable, electronic, general-purpose digital computer, completed in 1945. There were other computers that had these features, but the ENIAC had all of them in one packa ...
's Function Tables were resistor matrix ROM, programmed by manually setting rotary switches. Various models of the
IBM System/360 and complex peripheral devices stored their microcode in either capacitor (called ''BCROS'' for ''balanced capacitor read-only storage'' on the IBM System/360 Model 50, 360/50 and 360/65, or ''CCROS'' for ''card capacitor read-only storage'' on the IBM System/360 Model 30, 360/30) or transformer (called ''TROS'' for ''
transformer read-only storage
Transformer read-only storage (TROS) was a type of read-only memory (ROM) used in the 1960s and early 1970s before solid-state memory devices were developed.
Overview
TROS was created by IBM as a read-only storage method for storing microcode f ...
'' on the IBM System/360 Model 30, 360/20, IBM System/360 Model 40, 360/40 and others) matrix ROM.
* Core rope memory, Core rope, a form of transformer matrix ROM technology used where size and weight were critical. This was used in NASA/MIT's Apollo Guidance Computer, Apollo Spacecraft Computers, Digital Equipment Corporation, DEC's PDP-8 computers, the Hewlett-Packard 9100A calculator, and other places. This type of ROM was programmed by hand by weaving "word line wires" inside or outside of ferrite (magnet), ferrite transformer cores.
* Diamond Ring stores, in which wires are threaded through a sequence of large ferrite rings that function only as sensing devices. These were used in TXE telephone exchanges.
Speed
Although the relative speed of RAM vs. ROM has varied over time, large RAM chips can be read faster than most ROMs. For this reason (and to allow uniform access), ROM content is sometimes copied to RAM or shadow RAM, shadowed before its first use, and subsequently read from RAM.
Writing
For those types of ROM that can be electrically modified, writing speed has traditionally been much slower than reading speed, and it may need unusually high voltage, the movement of jumper plugs to apply write-enable signals, and special lock/unlock command codes. Modern NAND Flash achieves the highest write speeds of any rewritable ROM technology, with speeds as high as 10 Gigabyte, GB/second, s. This has been enabled by the increased investment in both consumer and enterprise solid state drives and flash memory products for higher end mobile devices. On a technical level the gains have been achieved by increasing parallelism both in controller design and of storage, the use of large DRAM read/write caches and the implementation of memory cells which can store more than one bit (DLC, TLC and MLC). The latter approach is more failure prone but this has been largely mitigated by overprovisioning (the inclusion of spare capacity in a product which is visible only to the drive controller) and by increasingly sophisticated read/write algorithms in drive firmware.
Endurance and data retention
![4Mbit EPROM Texas Instruments TMS27C040 (1)](https://upload.wikimedia.org/wikipedia/commons/3/34/4Mbit_EPROM_Texas_Instruments_TMS27C040_%281%29.jpg)
Because they are written by forcing electrons through a layer of electrical insulation onto a Floating-gate MOSFET, floating transistor gate, rewriteable ROMs can withstand only a limited number of write and erase cycles before the insulation is permanently damaged. In the earliest EPROMs, this might occur after as few as 1,000 write cycles, while in modern Flash EEPROM the endurance may exceed 1,000,000. The limited endurance, as well as the higher cost per bit, means that Flash-based storage is unlikely to completely supplant magnetic disk drives in the near future.
The timespan over which a ROM remains accurately readable is not limited by write cycling. The data retention of EPROM, EAROM, EEPROM, and Flash may be time-limited by charge leaking from the
floating gate
The floating-gate MOSFET (FGMOS), also known as a floating-gate MOS transistor or floating-gate transistor, is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) where the gate is electrically isolated, creating a floating no ...
s of the memory cell transistors. Early generation EEPROM's, in the mid 1980's generally cited 5 or 6 year data retention. A review of EEPROM's offered in the year 2020 shows manufacturers citing 100 year data retention. Adverse environments will reduce the retention time (leakage is accelerated by high temperatures or ionizing radiation, radiation). Masked ROM and fuse/antifuse PROM do not suffer from this effect, as their data retention depends on physical rather than electrical permanence of the integrated circuit, although fuse re-growth was once a problem in some systems.
Content images
The contents of ROM chips can be extracted with special hardware devices and relevant controlling software. This practice is common for, as a main example, reading the contents of older video game console ROM cartridge, cartridges. Another example is making backups of firmware/OS ROMs from older computers or other devices - for archival purposes, as in many cases, the original chips are PROMs and thus at risk of exceeding their usable data lifetime.
The resultant memory dump files are known as ROM images or abbreviated ''ROMs'', and can be used to produce duplicate ROMs - for example to produce new cartridges or as digital files for playing in Video game console emulator, console emulators. The term ''ROM image'' originated when most console games were distributed on cartridges containing ROM chips, but achieved such widespread usage that it is still applied to images of newer games distributed on CD-ROMs or other optical media.
ROM images of commercial games, firmware, etc. usually contain copyrighted software. The unauthorized copying and distribution of copyrighted software is a violation of copyright laws in many jurisdictions, although duplication for backup purposes may be considered fair use depending on location. In any case, there is a thriving community engaged in the distribution and trading of such software and abandonware for preservation/sharing purposes.
Timeline
See also
*
Flash memory
Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both us ...
* Random access memory
* Read-mostly memory (RMM)
* Write-only memory (engineering), Write-only memory
Notes
References
{{Authority control
Computer memory
Non-volatile memory