- Read Only Memory
:"The notion of read-only data can also refer to
file system permissions ."Read-only memory (usually known by its acronym, ROM) is a class of storage media used in
computer s and other electronic devices. Because data stored in ROM cannot be modified (at least not very quickly or easily), it is mainly used to distributefirmware (software that is very closely tied to specific hardware, and unlikely to require frequent updates).In its strictest sense, ROM refers only to
mask ROM (the oldest type of solid state ROM), which is fabricated with the desired data permanently stored in it, and thus can never be modified. However, more modern types such asEPROM andflash EEPROM can be erased and re-programmed multiple times; they are still described as "read-only memory" because the reprogramming process is generally infrequent, comparatively slow, and often does not permitrandom access writes to individual memory locations. Despite the simplicity of mask ROM,economies of scale andfield-programmability often make reprogrammable technologies more flexible and inexpensive, so that mask ROM is rarely used in new productsas of 2007 .History
The simplest type of solid state ROM is as old as semiconductor technology itself. Combinatorial
logic gate s can be joined manually to map "n"-bit address input onto arbitrary values of "m"-bit data output (alook-up table ). With the invention of theintegrated circuit camemask 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:
# It is only economical to buy mask ROM in large quantities, since users must contract with a foundry 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 forR&D work since designers frequently need to modify the contents of memora means to receive the program contents from an external source (e.g. a personal computer via aserial cable ).Flash memory , invented atToshiba in the mid-1980s, and commercialized in the early 1990s, is a form ofEEPROM 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.) Furthermore, despite the fact that newer technologies were increasingly less "read-only," most were envisioned only as replacements for the traditional use of mask ROM.
The most recent development is
NAND flash , also invented by Toshiba. Its designers explicitly broke from past practice, stating plainly that "the aim of NAND Flash is to replacehard disk s," [See page 6 of Toshiba's 1993 " [http://www.data-io.com/pdf/NAND/Toshiba/NandDesignGuide.pdf.pdf NAND Flash Applications Design Guide] ".] rather than the traditional use of ROM as a form of non-volatileprimary 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 ofUSB flash drive s and tinymicroSD memory card s, for example), and much lower power consumption.Use of ROM for program storage
Every
stored-program computer requires some form ofnon-volatile storage 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 requires 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 required 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 ofintegrated circuit s in the 1960s, both ROM and its mutable counterpartstatic RAM were implemented as arrays oftransistor s in silicon chips; however, a ROM memory cell could be implemented using fewer transistors than an SRAM memory cell, since the latter requires 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 a single transistor connecting a bit line to a word line. [See chapters on "Combinatorial Digital Circuits" and "Sequential Digital Circuits" in Millman & Grable, "Microelectronics," 2nd ed.] Consequently, ROM could be implemented at a lower cost-per-bit than RAM for many years.Many
home computer s of the 1980s stored a BASIC interpreter oroperating system in ROM. ROM was more economical than RAM, and other forms of non-volatile storage such asmagnetic disk drives were too expensive to be included with every home computer. For example, the celebratedCommodore 64 included 64KiB of RAM and 20KiB of ROM contained a BASIC interpreter and the "KERNAL " (sic) of its operating system. Later home or office computers such as theIBM 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 andbootloader remaining in ROM (known as theBIOS inIBM-compatible computers). This arrangement allowed for a more complex and easily upgradeable operating system.In modern general-purpose computers, there is little reason to store any program code or data in read-only memory:
secondary storage devices such ashard disk s are fast, ubiquitous, and rapidly decreasing in cost per bit, and large capacitydynamic RAM modules are cheaper than ROM thanks toeconomies of scale and more efficient designs. In modern PCs, ROM is used only to store basic bootstrappingfirmware , such as the legacy BIOS which persists in mostx86 -based systems; even this limited "read-only" memory is likely to be implemented as Flash ROM (see below) to permit in-place reprogramming should the need for a firmware upgrade arise.ROM and its successor technologies remain prevalent in
embedded system s, such asMP3 player s,set-top box es, andbroadband router s, all of which are designed to achieve more restricted functions than general-purpose computers, but which are nonetheless based on general-purposemicroprocessor s in most cases. These devices often store all of their program code in ROM since they usually lack mass storage peripherals (e.g. hard disks) for reasons of cost, portability, and power consumption. Furthermore, since the software is usually tightly coupled to the hardware, changes to the software are rarely needed. Nonetheless,as of 2007 nearly all of these devices use Flash rather than mask ROM, and many provide some means to connect the device to a personal computer forfirmware updates (for example, a digital audio player's firmware might be updated to support a new musicfile format ). Hobbyists have taken advantage of this flexibility to reprogram such devices to new purposes; for example, theiPodLinux andOpenWRT projects have enabled users to run full-featuredLinux 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 enhanceinformation security .ROM for data storage
Since ROM (at least in hard-wired mask form) cannot be modified, it is really 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 s for the evaluation of mathematical and logical functions (for example, afloating-point unit might tabulate the sine function in order to facilitate faster computation). This was especially effective whenCPU s were slow and ROM was cheap compared to RAM.Notably, the
display adapter s of early personal computers stored tables of bitmapped font characters in ROM. This usually meant that the text displayfont 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, Flash ROM has taken over a new role as a medium for
mass storage orsecondary storage of files .Types of ROMs
emiconductor based
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. Other types of
non-volatile solid-state memory permit some degree of modification:
*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 orantifuse s) within the chip. Consequently, a PROM can only be programmed once.
*Erasable programmable read-only memory (EPROM) can be erased by exposure to strongultraviolet light (typically for 10 minutes or longer), then rewritten with a process that again requires application of higher than usual voltage. Repeated exposure to UV light will eventually wear out an EPROM, but the endurance of most EPROM chips exceeds 1000 cycles of erasing and reprogramming. EPROM chip packages can often be identified by the prominentquartz "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 (or 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), since available densities are not as great and the cost per bit is higher.
**Electrically alterable read-only memory (EAROM) is a type of EEPROM that can be modified onebit at a time. Writing is a very slow process and again requires 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 asnon-volatile storage for critical system setup information; in many applications, EAROM has been supplanted byCMOS RAM supplied bymains power and backed-up with alithium battery .
**Flash memory (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). ModernNAND flash makes efficient use of silicon chip area, resulting in individual ICs with a capacity as high as 16GB as of 2007 ; this feature, along with its endurance and physical durability, has allowed NAND flash to replace magnetic in some applications (such asUSB flash drive s). 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, suchCD-ROM which is read-only (analogous to masked ROM).CD-R isWrite Once Read Many (analogous to PROM), whileCD-RW supports erase-rewrite cycles (analogous to EEPROM); both are designed forbackwards-compatibility with CD-ROM.Historical examples
*
Diode matrix ROM, used in small amounts in many computers in the 1960s as well as electronic deskcalculator s andkeyboard encoder s 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 aprinted circuit board .
*Resistor ,capacitor , ortransformer 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 's Function Tables were resistor matrix ROM, programmed by manually setting rotary switches. Various models of theIBM System/360 and complex peripherial devices stored theirmicrocode in either capacitor (called BCROS for "Balanced Capacitor Read Only Storage" on the 360/50 & 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/or weight were critical. This was used inNASA /MIT 's Apollo Spacecraft Computers, DEC'sPDP-8 computers, and other places. This type of ROM was programmed by hand by weaving "word line wires" inside or outside of ferrite transformer cores.
* The perforated metal character mask ("stencil ") inCharactron cathode ray tube s, which was used as ROM to shape a wideelectron beam to form a selected character shape on the screen either for display or a scanned electron beam to form a selected character shape as an overlay on avideo signal.
* Various mechanical devices used in early computing equipment. A machined metal plate served as ROM in thedot matrix printer s on theIBM 026 andIBM 029 key punch es.peed of ROMs
Reading speed
Although the relative speed of RAM vs. ROM has varied over time,
as of 2007 large RAM chips can be read faster than most ROMs. For this reason (and to make for uniform access), ROM content is sometimes copied to RAM or shadowed before its first use, and subsequently read from RAM.Writing speed
For those types of ROM that can be electrically modified, writing speed is always much slower than reading speed, and it may require 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 15
MiB /s (or 70 ns/bit), by allowing (indeed requiring) large blocks of memory cells to be written simultaneously.Endurance and data retention
Because they are written by forcing electrons through a layer of
electrical insulation onto a floatingtransistor gate, rewriteable ROMs can withstand only a limited number of write and erase cycles before the insulation is permanently damaged. In the earliest EAROMs, this might occur after as few as 1,000 write cycles, while in modern Flash EEPROM the endurance may exceed 1,000,000, but it is by no means infinite. This limited endurance, as well as the higher cost per bit, means that Flash-based storage is unlikely to completely supplant magneticdisk drive s 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 limited by charge leaking from the
floating gate s of the memory cell transistors. Leakage is exacerbated at high temperatures or in high-radiation environments. 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).
=ROMThe contents of ROM chips in video
game console cartridges can be extracted with specialsoftware or hardware devices. The resultant memory dump files are known as ROM images, and can be used to produce duplicate cartridges, or inconsole emulator s. The term 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 onCD-ROM s or other optical media.ROM images of commercial games usually contain copyrighted software. The unauthorized copying and distribution of copyrighted software is usually a violation of
copyright laws (in somejurisdiction s duplication of ROM cartridges forbackup purposes may be consideredfair use ). Nevertheless, there is a thriving community engaged in the illegal distribution and trading of such software. In such circles, the term "ROM images" is sometimes shortened simply to "ROMs" or sometimes changed to "romz" to highlight the connection with "warez ".See also
*
Random access memory
* PROM
*EPROM
*EEPROM
*Flash memory Terminology
;
EEPROM :Electrically Erasable Programmable Read-Only Memory;EPROM :Erasable Programmable Read-Only Memory;PROM:Programmable read-only memoryReferences
Wikimedia Foundation. 2010.