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 typ ...
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
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
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 ...
. 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, controller, keyboard, or motion sensing device to generate visual feedback. This feedb ...
) 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 or a
mask ROM integrated circuit (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 ROM
semiconductor memory in the form of
erasable programmable read-only memory (EPROM),
electrically erasable programmable read-only memory (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 u ...
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 describe files containing a modified or replacement operating system as "
custom ROM
This is a list of Android distributions (Android-based operating systems, custom firmware, custom ROM) that have received independent coverage in notable Android-related sources. The list may include distributions that come preinstalled on a devi ...
s" 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 (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 applic ...
models, the
360/85
The IBM System/360 Model 85 is a high-end member of the System/360 family of computers, with many advanced features, and was announced in January 1968 and first shipped in December 1969. IBM built only about 30 360/85 systems because of "a recess ...
, and the initial two
System/370 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 used
core rope memory, 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 ...
ROM is as old as the
semiconductor
A semiconductor is a material which has an electrical conductivity value falling between that of a conductor, such as copper, and an insulator, such as glass. Its resistivity falls as its temperature rises; metals behave in the opposite way. ...
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 ga ...
s can be joined manually to map -bit address input onto arbitrary values of -bit data output (a
look-up table
In computer science, a lookup table (LUT) is an array that replaces runtime computation with a simpler array indexing operation. The process is termed as "direct addressing" and LUTs differ from hash tables in a way that, to retrieve a value v wi ...
). With the invention of the
integrated circuit came
mask ROM. Mask ROM consists of a grid of
word
A word is a basic element of language that carries an objective or practical meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consen ...
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 ...
switches, and can represent an arbitrary look-up table with a regular physical layout and predictable
propagation delay.
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 ...
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 the product and physically replace the ROM in every unit shipped.
Subsequent developments have addressed these shortcomings.
Programmable read-only memory (PROM), invented by
Wen Tsing Chow 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 (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 (MOS) transistors as
memory cell storage elements in
semiconductor memory, a function previously served by
magnetic cores 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 and
Simon Sze of Bell Labs proposed that the
floating gate 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 conductivit ...
could be used for the cell of a reprogrammable ROM, which led to
Dov Frohman of
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
inventing
erasable programmable read-only memory (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), 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 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).
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 u ...
, 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 systems ...
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 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 ...
, 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 mag ...
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 comput ...
. , 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 fir ...
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 San ...
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 soc ...
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 ...
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 typi ...
storage
Storage may refer to:
Goods Containers
* Dry cask storage, for storing high-level radioactive waste
* Food storage
* Intermodal container, cargo shipping
* Storage tank
Facilities
* Garage (residential), a storage space normally used to store car ...
(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 Computer hardware, 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 ma ...
" 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 ...
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 pac ...
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 circuits 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'' differe ...
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 ...
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 ...
(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 represented a ...
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 daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
in ROM as other forms of non-volatile storage such as
magnetic disk drives were too costly. For example, the
Commodore 64 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/ ...
operating system. Later home or office computers such as the
IBM PC XT
The IBM Personal Computer XT (model 5160, often shortened to PC/XT) is the second computer in the IBM Personal Computer line, released on March 8, 1983. Except for the addition of a built-in hard drive and extra expansion slots, it is very simila ...
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 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 ...
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 ...
needed to internally control self-contained devices such as
graphic cards,
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 magn ...
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 screens, 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 ...
– 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 ...
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 u ...
(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'' ...
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 ...
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 t ...
and
consumer electronics
Consumer electronics or home electronics are Electronics, electronic (Analogue electronics, analog or digital electronics, digital) equipment intended for everyday use, typically in private homes. Consumer electronics include devices used for ...
(
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 si ...
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 ...
updates; for example, a digital audio player might be updated to support a new
file format
A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
. Some hobbyists have taken advantage of this flexibility to reprogram consumer products for new purposes; for example, the
iPodLinux and
OpenWrt
OpenWrt (from ''open wireless router'') is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. A ...
projects have enabled users to run full-featured
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
distributions on their MP3 players and wireless routers, respectively.
ROM is also useful for binary storage of
cryptographic
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
data, as it makes them difficult to replace, which may be desirable in order to enhance
information security
Information security, sometimes shortened to InfoSec, is the practice of protecting information by mitigating information risks. It is part of information risk management. It typically involves preventing or reducing the probability of unauthori ...
.
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 table
In computer science, a lookup table (LUT) is an array that replaces runtime computation with a simpler array indexing operation. The process is termed as "direct addressing" and LUTs differ from hash tables in a way that, to retrieve a value v wi ...
s for the evaluation of mathematical and logical functions (for example, a
floating-point unit
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can b ...
might
tabulate the sine function in order to facilitate faster computation). This was especially effective when
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
s 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
In movable type, metal typesetting, a font is a particular #Characteristics, size, weight and style of a typeface. Each font is a matched set of type, with a piece (a "Sort (typesetting), sort") for each glyph. A typeface consists of a range of ...
could not be changed interactively. This was the case for both the
CGA and
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
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 ...
has taken over a new role as a medium for
mass storage or
secondary 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 comput ...
of files.
Types
Factory programmed
''Mask ROM'' is a read-only memory whose contents are programmed by the
integrated circuit 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
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 typ ...
– such as UV-
EPROM
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 ...
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 ...
– for the development phase of a project, and to switch to mask ROM when the code has been finalized. For example,
Atmel
Atmel Corporation was a creator and manufacturer of semiconductors before being subsumed by Microchip Technology in 2016. Atmel was founded in 1984. The company focused on embedded systems built around microcontrollers. Its products included mi ...
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. Since the cost of an
integrated circuit 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
Samsung Electronics Co., Ltd. (, sometimes shortened to SEC and stylized as SΛMSUNG) is a South Korean multinational electronics corporation headquartered in Yeongtong-gu, Suwon, South Korea. It is the pinnacle of the Samsung chaebol, a ...
,
NEC Corporation
is a Japanese multinational information technology and electronics corporation, headquartered in Minato, Tokyo. The company was known as the Nippon Electric Company, Limited, before rebranding in 1983 as NEC. It provides IT and network soluti ...
,
Oki Electric Industry
, commonly referred to as OKI, OKI Electric or the OKI Group, is a Japanese information and communications technology company, headquartered in Toranomon, Minato-ku, Tokyo and operating in over 120 countries around the world.
OKI produced the f ...
, 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
In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a la ...
. Some
microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programma ...
s 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 ...
.
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'' (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 (
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
Ultraviolet (UV) is a form of electromagnetic radiation with wavelength from 10 nm (with a corresponding frequency around 30 PHz) to 400 nm (750 THz), shorter than that of visible light, but longer than X-rays. UV radiati ...
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
Endurance (also related to sufferance, resilience, constitution, fortitude, and hardiness) is the ability of an organism to exert itself and remain active for a long period of time, as well as its ability to resist, withstand, recover from an ...
'' of most EPROM chips exceeds 1000 cycles of erasing and reprogramming. EPROM chip packages can often be identified by the prominent
quartz
Quartz is a hard, crystalline mineral composed of silica ( silicon dioxide). The atoms are linked in a continuous framework of SiO4 silicon-oxygen tetrahedra, with each oxygen being shared between two tetrahedra, giving an overall chemical ...
"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) 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 represented a ...
at a time. Writing is a very slow process and again needs higher voltage (usually around 12
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 typi ...
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
Lithium battery may refer to:
* Lithium metal battery, a non-rechargeable battery with lithium as an anode
** Rechargeable lithium metal battery, a rechargeable counterpart to the lithium metal battery
* Lithium-ion battery, a rechargeable bat ...
.
** ''
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 u ...
'' (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 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 ...
makes efficient use of silicon chip area, resulting in individual ICs with a capacity as high as 32
GB ; this feature, along with its endurance and physical durability, has allowed NAND flash to replace
magnetic
Magnetism is the class of physical attributes that are mediated by a magnetic field, which refers to the capacity to induce attractive and repulsive phenomena in other entities. Electric currents and the magnetic moments of elementary particles ...
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 fir ...
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
CD-R (Compact disc-recordable) is a digital optical disc storage format. A CD-R disc is a compact disc that can be written once and read arbitrarily many times.
CD-R discs (CD-Rs) are readable by most CD readers manufactured prior to the int ...
is
Write Once Read Many
Write once read many (WORM) describes a data storage device in which information, once written, cannot be modified. This write protection affords the assurance that the data cannot be tampered with once it is written to the device, excluding the p ...
(analogous to PROM), while
CD-RW
CD-RW (Compact Disc-Rewritable) is a digital optical disc storage format introduced in 1997. A CD-RW compact disc (CD-RWs) can be written, read, erased, and re-written.
CD-RWs, as opposed to CDs, require specialized readers that have sens ...
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
calculator
An electronic calculator is typically a portable electronic device used to perform calculations, ranging from basic arithmetic to complex mathematics.
The first solid-state electronic calculator was created in the early 1960s. Pocket-size ...
s and keyboard encoders for
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
A printed circuit board (PCB; also printed wiring board or PWB) is a medium used in electrical and electronic engineering to connect electronic components to one another in a controlled manner. It takes the form of a laminated sandwich str ...
.
*
Resistor
A resistor is a passive two-terminal electrical component that implements electrical resistance as a circuit element. In electronic circuits, resistors are used to reduce current flow, adjust signal levels, to divide voltages, bias activ ...
,
capacitor
A capacitor is a device that stores electrical energy in an electric field by virtue of accumulating electric charges on two close surfaces insulated from each other. It is a passive electronic component with two terminals.
The effect of a ...
, or
transformer
A transformer is a passive component that transfers electrical energy from one electrical circuit to another circuit, or multiple circuits. A varying current in any coil of the transformer produces a varying magnetic flux in the 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 pac ...
's Function Tables were resistor matrix ROM, programmed by manually setting rotary switches. Various models of the
IBM 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 applic ...
and complex peripheral devices stored their
microcode
In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a la ...
in either capacitor (called ''BCROS'' for ''balanced capacitor read-only storage'' on the
360/50 and 360/65, or ''CCROS'' for ''card capacitor read-only storage'' on the
360/30) or transformer (called ''TROS'' for ''
transformer read-only storage'' on the
360/20,
360/40 and others) matrix ROM.
*
Core rope, a form of transformer matrix ROM technology used where size and weight were critical. This was used in
NASA
The National Aeronautics and Space Administration (NASA ) is an independent agency of the US federal government responsible for the civil space program, aeronautics research, and space research.
NASA was established in 1958, succeedi ...
/
MIT's
Apollo Spacecraft Computers,
DEC's
PDP-8
The PDP-8 is a 12-bit minicomputer that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its basic design follows the pioneeri ...
computers, the
Hewlett-Packard 9100A
The Hewlett-Packard 9100A (hp 9100A) is an early programmable calculator (or computer), first appearing in 1968. HP called it a desktop calculator because, as Bill Hewlett said, "If we had called it a computer, it would have been rejected by our ...
calculator, and other places. This type of ROM was programmed by hand by weaving "word line wires" inside or outside of
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
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
GB/
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
Because they are written by forcing electrons through a layer of
electrical insulation
An electrical insulator is a material in which electric current does not flow freely. The atoms of the insulator have tightly bound electrons which cannot readily move. Other materials—semiconductors and conductors—conduct electric current ...
onto a
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 gates 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
radiation
In physics, radiation is the emission or transmission of energy in the form of waves or particles through space or through a material medium. This includes:
* ''electromagnetic radiation'', such as radio waves, microwaves, infrared, vi ...
). 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
A video game console is an electronic device that outputs a video signal or image to display a video game that can be played with a game controller. These may be home consoles, which are generally placed in a permanent location connected to ...
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
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
A copyright is a type of intellectual property that gives its owner the exclusive right to copy, distribute, adapt, display, and perform a creative work, usually for a limited time. The creative work may be in a literary, artistic, education ...
laws in many jurisdictions, although duplication for
backup purposes may be considered
fair use
Fair use is a doctrine in United States law that permits limited use of copyrighted material without having to first acquire permission from the copyright holder. Fair use is one of the limitations to copyright intended to balance the intere ...
depending on location. In any case, there is a thriving community engaged in the distribution and trading of such software and
abandonware
Abandonware is a product, typically software, ignored by its owner and manufacturer, and for which no official support is available.
Within an intellectual rights contextual background, abandonware is a software (or hardware) sub-case of the ...
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 u ...
*
Random access memory
Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working data and machine code. A random-access memory device allows data items to be read or written in almost the s ...
*
Read-mostly memory Read-mostly memory (RMM) is a type of memory that can be read fast, but written to only slowly.
Historically, the term was used to refer to different types of memory over time:
In 1970, it was used by Intel and Energy Conversion Devices to refer ...
(RMM)
*
Write-only memory
Notes
References
{{Authority control
Computer memory
Non-volatile memory