Read-Only Memory - Wikipedia
Read-Only Memory - Wikipedia
Read-Only Memory - Wikipedia
Read-only memory (ROM) is a t ype of non-volat ile memory used in comput ers and ot her
elect ronic devices. Dat a st ored in ROM cannot be elect ronically modified aft er t he manufact ure
of t he memory device. Read-only memory is useful for st oring soft ware t hat is rarely changed
during t he life of t he syst em, also known as firmware. Soft ware applicat ions (like video games)
for programmable devices can be dist ribut ed as plug-in cart ridges cont aining ROM.
Many game consoles use interchangeable ROM cartridges, allowing for one system to play multiple games. Shown here is
the inside of a Pokemon Silver Game Boy cartridge. The ROM is the IC on the right labeled "MX23C1603-12A".
Read-only memory st rict ly refers t o memory t hat is hard-wired, such as diode mat rix or a mask
ROM int egrat ed circuit (IC), which cannot be elect ronically[a] changed aft er manufact ure.
Alt hough discret e circuit s can be alt ered in principle, t hrough t he addit ion of bodge wires and/or
t he removal or replacement of component s, ICs cannot . Correct ion of errors, or updat es t o t he
soft ware, require new devices t o be manufact ured and t o replace t he inst alled device.
The t erm "ROM" is somet imes used t o mean a ROM device cont aining specific soft ware, or a file
wit h soft ware t o be st ored in EEPROM or Flash Memory. For example, users modifying or
replacing t he Android operat ing syst em describe files cont aining a modified or replacement
operat ing syst em as "cust om ROMs" aft er t he t ype of st orage t he file used t o be writ t en t o.
History
Discrete-component ROM
IBM used capacit or read-only st orage (CROS) and t ransformer read-only st orage (TROS) t o st ore
microcode for t he smaller Syst em/360 models, t he 360/85, and t he init ial t wo Syst em/370
models (370/155 and 370/165). On some models t here was also a writ eable cont rol st ore (WCS)
for addit ional diagnost ics and emulat ion support . The Apollo Guidance Comput er used core rope
memory, programmed by t hreading wires t hrough magnet ic cores.
Solid-state ROM
In mask ROM, t he dat a is physically encoded in t he circuit , so it can only be programmed during
fabricat ion. This leads t o a number of serious disadvant ages:
1. It is only economical t o buy mask ROM in large quant it ies, since users must cont ract wit h a
foundry t o produce a cust om design.
2. The t urnaround t ime bet ween complet ing t he design for a mask ROM and receiving t he
finished product is long, for t he same reason.
3. Mask ROM is impract ical for R&D work since designers frequent ly need t o modify t he
cont ent s of memory as t hey refine a design.
4. If a product is shipped wit h fault y mask ROM, t he only way t o fix it is t o recall t he product
and physically replace t he ROM in every unit shipped.
Elect rically erasable programmable read-only memory (EEPROM), developed by Yasuo Tarui,
Yut aka Hayashi and Kiyoko Naga at t he Elect rot echnical Laborat ory in 1972,[7] went a long way t o
solving problem 4, since an EEPROM can be programmed in-place if t he cont aining device
provides a means t o receive t he program cont ent s from an ext ernal source (for example, a
personal comput er via a serial cable). Flash memory, invent ed by Fujio Masuoka at Toshiba in t he
early 1980s and commercialized in t he lat e 1980s, is a form of EEPROM t hat makes very
efficient use of chip area and can be erased and reprogrammed t housands of t imes wit hout
damage. It permit s erasure and programming of only a specific part of t he device, inst ead of t he
ent ire device. This can be done at high speed, hence t he name "flash".[8][9]
All of t hese t echnologies improved t he flexibilit y of ROM, but at a significant cost -per-chip, so
t hat in large quant it ies mask ROM would remain an economical choice for many years.
(Decreasing cost of reprogrammable devices had almost eliminat ed t he market for mask ROM
by t he year 2000.) Rewrit eable t echnologies were envisioned as replacement s for mask ROM.
The most recent development is NAND flash, also invent ed at Toshiba. It s designers explicit ly
broke from past pract ice, st at ing plainly t hat "t he aim of NAND flash is t o replace hard disks,"[10]
rat her t han t he t radit ional use of ROM as a form of non-volat ile primary st orage. As of 2021,
NAND has nearly complet ely achieved t his goal by offering t hroughput higher t han hard disks,
lower lat ency, higher t olerance of physical shock, ext reme miniat urizat ion (in t he form of USB
flash drives and t iny microSD memory cards, for example), and much lower power consumpt ion.
Many st ored-program comput ers use a form of non-volat ile st orage (t hat is, st orage t hat ret ains
it s dat a when power is removed) t o st ore t he init ial program t hat runs when t he comput er is
powered on or ot herwise begins execut ion (a process known[b] as boot st rapping, oft en
abbreviat ed t o "boot ing" or "boot ing up"). Likewise, every non-t rivial comput er needs some form
of mut able memory t o record changes in it s st at e as it execut es.
Forms of read-only memory were employed as non-volat ile st orage for programs in most early
st ored-program comput ers, such as ENIAC aft er 1948. (Unt il t hen it was not a st ored-program
comput er as every program had t o be manually wired int o t he machine, which could t ake days t o
weeks.) Read-only memory was simpler t o implement since it needed only a mechanism t o read
st ored values, and not t o change t hem in-place, and t hus could be implement ed wit h very crude
elect romechanical devices (see hist orical examples below). Wit h t he advent of int egrat ed
circuit s in t he 1960s, bot h ROM and it s mut able count erpart st at ic RAM were implement ed as
arrays of t ransist ors in silicon chips; however, a ROM memory cell could be implement ed using
fewer t ransist ors t han an SRAM memory cell, since t he lat t er needs a lat ch (comprising 5-20
t ransist ors) t o ret ain it s cont ent s, while a ROM cell might consist of t he absence (logical 0) or
presence (logical 1) of one t ransist or connect ing a bit line t o a word line.[11] Consequent ly, ROM
could be implement ed at a lower cost -per-bit t han RAM for many years.
Most home comput ers of t he 1980s st ored a BASIC int erpret er or operat ing syst em in ROM as
ot her forms of non-volat ile st orage such as magnet ic disk drives were t oo cost ly. For example,
t he Commodore 64 included 64 KB of RAM and 20 KB of ROM cont aining a BASIC int erpret er and
t he KERNAL operat ing syst em. Lat er home or office comput ers such as t he IBM PC XT oft en
included magnet ic disk drives, and larger amount s of RAM, allowing t hem t o load t heir operat ing
syst ems from disk int o RAM, wit h only a minimal hardware init ializat ion core and boot loader
remaining in ROM (known as t he BIOS in IBM-compat ible comput ers). This arrangement allowed
for a more complex and easily upgradeable operat ing syst em.
In modern PCs, "ROM" is used t o st ore t he basic boot st rapping firmware for t he processor, as
well as t he various firmware needed t o int ernally cont rol self-cont ained devices such as graphic
cards, hard disk drives, solid st at e drives, opt ical disc drives, TFT screens, et c., in t he syst em.
Today, many of t hese "read-only" memories – especially t he BIOS/UEFI – are oft en replaced
wit h EEPROM or Flash memory (see below), t o permit in-place reprogramming should t he need
for a firmware upgrade arise. However, simple and mat ure sub-syst ems (such as t he keyboard or
some communicat ion cont rollers in t he int egrat ed circuit s on t he main board, for example) may
employ mask ROM or OTP (one-t ime programmable).
ROM and successor t echnologies such as flash are prevalent in embedded syst ems. These are in
everyt hing from indust rial robot s t o home appliances and consumer elect ronics (MP3 players,
set -t op boxes, et c.) all of which are designed for specific funct ions, but are based on general-
purpose microprocessors. Wit h soft ware usually t ight ly coupled t o hardware, program changes
are rarely needed in such devices (which t ypically lack hard disks for reasons of cost , size, or
power consumpt ion). As of 2008, most product s use Flash rat her t han mask ROM, and many
provide some means for connect ing t o a PC for firmware updat es; for example, a digit al audio
player might be updat ed t o support a new file format . Some hobbyist s have t aken advant age of
t his flexibilit y t o reprogram consumer product s for new purposes; for example, t he iPodLinux and
OpenWrt project s have enabled users t o run full-feat ured Linux dist ribut ions on t heir MP3
players and wireless rout ers, respect ively.
ROM is also useful for binary st orage of crypt ographic dat a, as it makes t hem difficult t o replace,
which may be desirable in order t o enhance informat ion securit y.
Since ROM (at least in hard-wired mask form) cannot be modified, it is only suit able for st oring
dat a which is not expect ed t o need modificat ion for t he life of t he device. To t hat end, ROM has
been used in many comput ers t o st ore look-up t ables for t he evaluat ion of mat hemat ical and
logical funct ions (for example, a float ing-point unit might t abulat e t he sine funct ion in order t o
facilit at e fast er comput at ion). This was especially effect ive when CPUs were slow and ROM
was cheap compared t o RAM.
Not ably, t he display adapt ers of early personal comput ers st ored t ables of bit mapped font
charact ers in ROM. This usually meant t hat t he t ext display font could not be changed
int eract ively. This was t he case for bot h t he CGA and MDA adapt ers available wit h t he IBM PC
XT.
The use of ROM t o st ore such small amount s of dat a has disappeared almost complet ely in
modern general-purpose comput ers. However, NAND Flash has t aken over a new role as a
medium for mass st orage or secondary st orage of files.
Types
The first EPROM, an Intel 1702, with the die and wire bonds clearly visible through the erase window.
Factory programmed
Mask ROM is a read-only memory whose cont ent s are programmed by t he int egrat ed circuit
manufact urer (rat her t han by t he user). The desired memory cont ent s are furnished by t he
cust omer t o t he device manufact urer. The desired dat a is convert ed int o a cust om mask layer
for t he final met allizat ion of int erconnect ions on t he memory chip (hence t he name).
It is common pract ice t o use rewrit able non-volat ile memory – such as UV-EPROM or EEPROM –
for t he development phase of a project , and t o swit ch t o mask ROM when t he code has been
finalized. For example, At mel microcont rollers come in bot h EEPROM and mask ROM format s.
The main advant age of mask ROM is it s cost . Per bit , mask ROM is more compact t han any ot her
kind of semiconduct or memory. Since t he cost of an int egrat ed circuit st rongly depends on it s
size, mask ROM is significant ly cheaper t han any ot her kind of semiconduct or memory.
However, t he one-t ime masking cost is high and t here is a long t urn-around t ime from design t o
product phase. Design errors are cost ly: if an error in t he dat a or code is found, t he mask ROM is
useless and must be replaced in order t o change t he code or dat a. [12]
As of 2003, four companies produce most such mask ROM chips: Samsung Elect ronics, NEC
Corporat ion, Oki Elect ric Indust ry, and Macronix.[13]
Some int egrat ed circuit s cont ain only mask ROM. Ot her int egrat ed circuit s cont ain mask ROM as
well as a variet y of ot her devices. In part icular, many microprocessors have mask ROM t o st ore
t heir microcode. Some microcont rollers have mask ROM t o st ore t he boot loader or all of t heir
firmware.
Classic mask-programmed ROM chips are int egrat ed circuit s t hat physically encode t he dat a t o
be st ored, and t hus it is impossible t o change t heir cont ent s aft er fabricat ion.
Field programmable
Programmable read-only memory (PROM), or one-time programmable ROM (OTP), can be
writ t en t o or programmed via a special device called a PROM programmer. Typically, t his
device uses high volt ages t o permanent ly dest roy or creat e int ernal links (fuses or ant ifuses)
wit hin t he chip. Consequent ly, a PROM can only be programmed once.
Flash memory (or simply flash) is a modern t ype of EEPROM invent ed in 1984. Flash
memory can be erased and rewrit t en fast er t han ordinary EEPROM, and newer designs
feat ure very high endurance (exceeding 1,000,000 cycles). Modern NAND flash makes
efficient use of silicon chip area, result ing in individual ICs wit h a capacit y as high as 32 GB
as of 2007; t his feat ure, along wit h it s endurance and physical durabilit y, has allowed
NAND flash t o replace magnet ic in some applicat ions (such as USB flash drives). NOR flash
memory is somet imes called flash ROM or flash EEPROM when used as a replacement for
older ROM t ypes, but not in applicat ions t hat t ake advant age of it s abilit y t o be modified
quickly and frequent ly.
By applying writ e prot ect ion, some t ypes of reprogrammable ROMs may t emporarily become
read-only memory.
Other technologies
There are ot her t ypes of non-volat ile memory which are not based on solid-st at e IC t echnology,
including:
Opt ical st orage media, such CD-ROM which is read-only (analogous t o masked ROM). CD-R is
Writ e Once Read Many (analogous t o PROM), while CD-RW support s erase-rewrit e cycles
(analogous t o EEPROM); bot h are designed for backwards-compat ibilit y wit h CD-ROM.
Transformer matrix ROM (TROS), from the IBM System 360/20
Diode mat rix ROM, used in small amount s in many comput ers in t he 1960s as well as elect ronic
desk calculat ors and keyboard encoders for t erminals. This ROM was programmed by inst alling
discret e semiconduct or diodes at select ed locat ions bet ween a mat rix of word line traces and
bit line traces on a print ed circuit board.
Resist or, capacit or, or t ransformer mat rix ROM, used in many comput ers unt il t he 1970s. Like
diode mat rix ROM, it was programmed by placing component s at select ed locat ions bet ween
a mat rix of word lines and bit lines. ENIAC's Funct ion Tables were resist or mat rix ROM,
programmed by manually set t ing rot ary swit ches. Various models of t he IBM Syst em/360 and
complex peripheral devices st ored t heir microcode in eit her capacit or (called BCROS for
balanced capacitor read-only storage on t he 360/50 and 360/65, or CCROS for card capacitor
read-only storage on t he 360/30) or t ransformer (called TROS for transformer read-only storage
on t he 360/20, 360/40 and ot hers) mat rix ROM.
Core rope, a form of t ransformer mat rix ROM t echnology used where size and weight were
crit ical. This was used in NASA/MIT's Apollo Spacecraft Comput ers, DEC's PDP-8 comput ers,
t he Hewlet t -Packard 9100A calculat or, and ot her places. This t ype of ROM was programmed
by hand by weaving "word line wires" inside or out side of ferrit e t ransformer cores.
Diamond Ring st ores, in which wires are t hreaded t hrough a sequence of large ferrit e rings t hat
funct ion only as sensing devices. These were used in TXE t elephone exchanges.
Speed
Alt hough t he relat ive speed of RAM vs. ROM has varied over t ime, as of 2007 large RAM chips
can be read fast er t han most ROMs. For t his reason (and t o allow uniform access), ROM cont ent
is somet imes copied t o RAM or shadowed before it s first use, and subsequent ly read from RAM.
Writing
For t hose t ypes of ROM t hat can be elect rically modified, writ ing speed has t radit ionally been
much slower t han reading speed, and it may need unusually high volt age, t he movement of
jumper plugs t o apply writ e-enable signals, and special lock/unlock command codes. Modern
NAND Flash achieves t he highest writ e speeds of any rewrit able ROM t echnology, wit h speeds
as high as 10 GB/s. This has been enabled by t he increased invest ment in bot h consumer and
ent erprise solid st at e drives and flash memory product s for higher end mobile devices. On a
t echnical level t he gains have been achieved by increasing parallelism bot h in cont roller design
and of st orage, t he use of large DRAM read/writ e caches and t he implement at ion of memory
cells which can st ore more t han one bit (DLC, TLC and MLC). The lat t er approach is more failure
prone but t his has been largely mit igat ed by overprovisioning (t he inclusion of spare capacit y in a
product which is visible only t o t he drive cont roller) and by increasingly sophist icat ed read/writ e
algorit hms in drive firmware.
An EPROM
Because t hey are writ t en by forcing elect rons t hrough a layer of elect rical insulat ion ont o a
float ing t ransist or gat e, rewrit eable ROMs can wit hst and only a limit ed number of writ e and erase
cycles before t he insulat ion is permanent ly damaged. In t he earliest EPROMs, t his might occur
aft er as few as 1,000 writ e cycles, while in modern Flash EEPROM t he endurance may exceed
1,000,000. The limit ed endurance, as well as t he higher cost per bit , means t hat Flash-based
st orage is unlikely t o complet ely supplant magnet ic disk drives in t he near fut ure.
The t imespan over which a ROM remains accurat ely readable is not limit ed by writ e cycling. The
dat a ret ent ion of EPROM, EAROM, EEPROM, and Flash may be t ime-limit ed by charge leaking
from t he float ing gat es of t he memory cell t ransist ors. Early generat ion EEPROM's, in t he mid
1980's generally cit ed 5 or 6 year dat a ret ent ion. A review of EEPROM's offered in t he year 2020
shows manufact urers cit ing 100 year dat a ret ent ion. Adverse environment s will reduce t he
ret ent ion t ime (leakage is accelerat ed by high t emperat ures or radiat ion). Masked ROM and
fuse/ant ifuse PROM do not suffer from t his effect , as t heir dat a ret ent ion depends on physical
rat her t han elect rical permanence of t he int egrat ed circuit , alt hough fuse re-growt h was once a
problem in some syst ems.[14]
Content images
The cont ent s of ROM chips can be ext ract ed wit h special hardware devices and relevant
cont rolling soft ware. This pract ice is common for, as a main example, reading t he cont ent s of
older video game console cart ridges. Anot her example is making backups of firmware/OS ROMs
from older comput ers or ot her devices - for archival purposes, as in many cases, t he original
chips are PROMs and t hus at risk of exceeding t heir usable dat a lifet ime.
The result ant memory dump files are known as ROM images or abbreviat ed ROMs, and can be
used t o produce duplicat e ROMs - for example t o produce new cart ridges or as digit al files for
playing in console emulat ors. The t erm ROM image originat ed when most console games were
dist ribut ed on cart ridges cont aining ROM chips, but achieved such widespread usage t hat it is
st ill applied t o images of newer games dist ribut ed on CD-ROMs or ot her opt ical media.
ROM images of commercial games, firmware, et c. usually cont ain copyright ed soft ware. The
unaut horized copying and dist ribut ion of copyright ed soft ware is a violat ion of copyright laws in
many jurisdict ions, alt hough duplicat ion for backup purposes may be considered fair use
depending on locat ion. In any case, t here is a t hriving communit y engaged in t he dist ribut ion and
t rading of such soft ware and abandonware for preservat ion/sharing purposes.
Timeline
Date of Chip Capacity ROM
MOSFET Manufacturer(s) Process Area
introduction name (bits) type
Bipolar
1965 ? 256-bit ROM Sylvania ? ?
TTL
General
1965 ? 1 kb ROM MOS ? ?
Microelect ronics
Bipolar
1970 ? 512-bit PROM Radiat ion ? ?
TTL
St at ic
MOS
1971 1702 2 kb EPROM Int el ? 15 mm²
(silicon
gat e)
AMD, General
1974 ? 4 kb ROM MOS ? ?
Inst rument
General
1974 ? ? EAROM MNOS ? ?
Inst rument
NMOS
1975 2708 8 kb EPROM Int el ? ?
(FGMOS)
µCOM-
1977 43 16 kb PROM PMOS NEC ? ?
(PMOS)
µCOM-
1978 43 16 kb PROM CMOS NEC ? ?
(CMOS)
NMOS
1978 2732 32 kb EPROM Int el ? ?
(HMOS)
1978 2364 64 kb ROM NMOS Int el ? ?
NMOS
[1
1981 2764 64 kb EPROM (HMOS Int el 3,500 nm ?
II)
NMOS
1982 27128 128 kb EPROM (HMOS Int el ? ? [1
II)
NMOS
1983 27256 256 kb EPROM Int el ? ?
(HMOS)
MBM
January 1984 64 kb EEPROM NMOS Fujit su ? 528 mm²
2764
NMOS
1984 27512 512 kb EPROM Int el ? ?
(HMOS)
See also
Flash memory
Notes
a. Some discrete component ROM could be mechanically altered, e.g., by adding and removing
transformers. IC ROMs, however, cannot be mechanically changed.
b. Other terms are used as well, e.g., "Initial Program Load" (IPL).
References
2. Han-Way Huang (5 December 2008). Embedded System Design with C805 (https://books.google.com/b
ooks?id=3zRtCgAAQBAJ&pg=PA22) . Cengage Learning. p. 22. ISBN 978-1-111-81079-5. Archived (ht
tps://web.archive.org/web/20180427092847/https://books.google.com/books?id=3zRtCgAAQBAJ&pg=
PA22) from the original on 27 April 2018.
3. Marie-Aude Aufaure; Esteban Zimányi (17 January 2013). Business Intelligence: Second European
Summer School, eBISS 2012, Brussels, Belgium, July 15-21, 2012, Tutorial Lectures (https://books.googl
e.com/books?id=7iK5BQAAQBAJ&pg=PA136) . Springer. p. 136. ISBN 978-3-642-36318-4. Archived (h
ttps://web.archive.org/web/20180427092847/https://books.google.com/books?id=7iK5BQAAQBAJ&pg
=PA136) from the original on 27 April 2018.
7. Tarui, Y.; Hayashi, Y.; Nagai, K. (1972). "Electrically reprogrammable nonvolatile semiconductor memory".
IEEE Journal of Solid-State Circuits. 7 (5): 369–375. Bibcode:1972IJSSC...7..369T (https://ui.adsabs.ha
rvard.edu/abs/1972IJSSC...7..369T) . doi:10.1109/JSSC.1972.1052895 (https://doi.org/10.1109%2FJ
SSC.1972.1052895) . ISSN 0018-9200 (https://www.worldcat.org/issn/0018-9200) .
10. See page 6 of Toshiba's 1993 NAND Flash Applications Design Guide (http://www.data-io.com/pdf/NAN
D/Toshiba/NandDesignGuide.pdf.pdf) Archived (https://web.archive.org/web/20091007201702/htt
p://www.data-io.com/pdf/NAND/Toshiba/NandDesignGuide.pdf.pdf) 2009-10-07 at the Wayback
Machine.
11. See chapters on "Combinatorial Digital Circuits" and "Sequential Digital Circuits" in Millman & Grable,
Microelectronics, 2nd ed.
12. Paul Horowitz, Winfield Hill, The Art of Electronics (Third Edition), Cambridge University Press, ISBN 0-
521-37095-7, page 817
13. "Technology Analysis: Oki P2ROM to Replace Mask ROM, Flash EEPROM" (http://techon.nikkeibp.co.jp/
NEA/archive/200307/254214/) Archived (https://web.archive.org/web/20071021033128/http://techo
n.nikkeibp.co.jp/NEA/archive/200307/254214/) 2007-10-21 at the Wayback Machine by Motoyuki
Oishi 2003
17. "A chronological list of Intel products. The products are sorted by date" (https://web.archive.org/web/20
070809053720/http://download.intel.com/museum/research/arc_collect/timeline/TimelineDateSort7_
05.pdf) (PDF). Intel museum. Intel Corporation. July 2005. Archived from the original (http://downloa
d.intel.com/museum/research/arc_collect/timeline/TimelineDateSort7_05.pdf) (PDF) on August 9,
2007. Retrieved July 31, 2007.
19. Iizuka, H.; Masuoka, F.; Sato, Tai; Ishikawa, M. (1976). "Electrically alterable avalanche-injection-type
MOS READ-ONLY memory with stacked-gate structure". IEEE Transactions on Electron Devices. 23 (4):
379–387. Bibcode:1976ITED...23..379I (https://ui.adsabs.harvard.edu/abs/1976ITED...23..379I) .
doi:10.1109/T-ED.1976.18415 (https://doi.org/10.1109%2FT-ED.1976.18415) . ISSN 0018-9383 (http
s://www.worldcat.org/issn/0018-9383) .
20. µCOM-43 SINGLE CHIP MICROCOMPUTER: USERS' MANUAL (https://en.wikichip.org/w/images/9/9c/%
C2%B5COM-43_SINGLE_CHIP_MICROCOMPUTER_USERS_MANUAL.pdf) (PDF). NEC Microcomputers.
January 1978. Retrieved 27 June 2019.
Last edited 14 days ago by JPxG