History: Storage Computers
History: Storage Computers
devices. Data stored in ROM can only be modified slowly or with difficulty, or not at all, so it is mainly
used to distribute firmware (software that is very closely tied to specific hardware, and unlikely to
need frequent updates).
Strictly, read-only memory refers to memory that is hard-wired, such as diode matrix and the later
mask ROM. Although discrete circuits can be altered (in principle), ICs cannot and are useless if the
data is bad. The fact that such memory can never be changed is a large drawback; more
recently, ROM commonly refers to memory that is read-only in normal operation, while reserving the
fact of some possible way to change it.
Other types of non-volatile memory such as erasable programmable read only memory (EPROM)
and electrically erasable programmable read-only memory (EEPROM or Flash ROM) are sometimes
referred to, in an abbreviated way, as "read-only memory" (ROM); although these types of memory
can be erased and re-programmed multiple times, writing to this memory takes longer and may
require different procedures than reading the memory.
[1]
When used in this less precise way, "ROM"
indicates anon-volatile memory which serves functions typically provided by mask ROM, such as
storage of program code and nonvolatile data.
Contents
[hide]
1 History
o 1.1 Use for storing programs
o 1.2 Use for storing data
2 Types
o 2.1 Semiconductor based
o 2.2 Other technologies
2.2.1 Historical examples
3 Speed
o 3.1 Reading
o 3.2 Writing
4 Endurance and data retention
5 Content images
6 See also
7 Terminology
8 References
History[edit]
Many game consoles use interchangeable ROM cartridges, allowing for one system to play multiple games.
The simplest type of solid state ROM is as old as semiconductor
technology itself. Combinational logic gates can be joined manually to map n-bit address input onto
arbitrary values of m-bit data output (a look-up table). With the invention of the integrated
circuitcame mask ROM. Mask ROM consists of a grid of word lines (the address input) and bit lines
(the data output), selectively joined together with transistor switches, and can represent an arbitrary
look-up table with a regular physical layout and predictablepropagation 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:
1. It is only economical to buy mask ROM in large quantities, since users must contract with
a foundry to produce a custom design.
2. The turnaround time between completing the design for a mask ROM and receiving the
finished product is long, for the same reason.
3. Mask ROM is impractical for R&D work since designers frequently need to modify the
contents of memory as they refine a design.
4. 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. PROM, invented 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 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. EEPROM, invented in 1983, 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,
invented at Toshiba in the mid-1980s, and commercialized in the early 1990s, is a form of EEPROM
that makes very efficient use of chip area and can be erased and reprogrammed thousands of times
without damage.
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 the year 2000.)
Rewriteable technologies were envisioned as replacements for mask ROM.
The most recent development is NAND flash, also invented at Toshiba. Its designers explicitly broke
from past practice, stating plainly that "the aim of NAND Flash is to replacehard disks,"
[2]
rather than
the traditional use of ROM as a form of non-volatile primary storage. As of 2007, NAND has partially
achieved this goal by offering throughput comparable to hard disks, higher tolerance of physical
shock, extreme miniaturization (in the form of USB flash drives and tiny microSD memory cards, for
example), and much lower power consumption.
Use for storing programs[edit]
Every stored-program computer may use a form of non-volatile 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, often abbreviated to "booting"
or "booting up"). Likewise, every non-trivial computer needs some form of mutable memory to record
changes in its state 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 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 were implemented as arrays
of transistors 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 (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.
[3]
Consequently, ROM could be implemented at
a lower cost-per-bit than RAM for many years.
Most home computers of the 1980s stored a BASIC interpreter or operating system 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 contained a BASIC interpreter and
the "KERNAL" of its 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 remaining in ROM (known as the BIOS in IBM-compatible computers). This
arrangement allowed for a more complex and easily upgradeable operating system.
In modern PCs, "ROM" (or flash) is used to store the basic bootstrapping firmware for the main
processor, as well as the various firmware needed to internally control self-contained devices such
as graphic cards, hard disks, DVD drives, TFT screens, etc., in the system. Today, many of these
"read-only" memories especially the BIOS are often replaced with Flash memory (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 systems. These are in
everything from industrial robots to home appliances and consumer electronics(MP3 players, set-top
boxes, etc.) all of which are designed for specific functions, but are based on general-
purpose microprocessors. 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 updates; for example, a digital audio player might be
updated to support a newfile 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 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.