Read-only memory

Listen to this article
Source: Wikipedia, the free encyclopedia.
Pokémon Silver Game Boy
cartridge. The ROM is the IC on the right labeled "MX23C1603-12A".

Read-only memory (ROM) is a type of

memory device. Read-only memory is useful for storing software that is rarely changed during the life of the system, also known as firmware. Software applications, such as video games, for programmable devices can be distributed as plug-in cartridges containing ROM
.

Strictly speaking, read-only memory refers to hard-wired memory, such as diode matrix or a mask ROM integrated circuit (IC), that cannot be electronically changed after manufacture. Although discrete circuits can be altered in principle, through the addition of bodge wires and 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.

electrically erasable programmable read-only memory (EEPROM) and flash memory 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.[1]

The term "ROM" is sometimes used to refer to a ROM device containing specific software or a file with software to be stored in a writable ROM device. For example, users modifying or replacing the

custom ROMs" after the type of storage the file used to be written to, and they may distinguish between ROM (where software and data is stored, usually Flash memory
) and RAM.

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 models, the 360/85, 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

semiconductor manufacturing. The mask defines physical features or structures that will be removed, or added in the ROM chips, and the presence or absence of these features will represent either a 1 or a 0 bit, depending on the ROM design.[2]
Thus by design, any attempts to electronically change the data will fail, since the data is defined by the presence or absence of physical features or structures that cannot be electronically changed. For every software program, even for revisions of the same program, the entire mask must be changed, which can be costly.

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:

Subsequent developments have addressed these shortcomings.

Programmable read-only memory (PROM), invented by Wen Tsing Chow in 1956,[3][4]
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

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.

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 by Fujio Masuoka at Toshiba 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".[9][10]

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

, for example), and much lower power consumption.

Use for storing programs

Many

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

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.[12] Consequently, ROM could be implemented at a lower cost-per-bit
than RAM for many years.

Most

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

OTP
(one-time programmable).

ROM and

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 new file format. Some hobbyists have taken advantage of this flexibility to reprogram consumer products for new purposes; for example, the iPodLinux and OpenWrt projects have enabled users to run full-featured Linux distributions
on their MP3 players and wireless routers, respectively.

ROM is also useful for binary storage of

cryptographic data, as it makes them difficult to replace, which may be desirable in order to enhance information security
.

Use for storing data

Since ROM (at least in hard-wired mask form) cannot be modified, it is only suitable for storing data which is not expected to need modification for the life of the device. To that end, ROM has been used in many computers to store

CPUs
were slow and ROM was cheap compared to RAM.

Notably, the

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,

secondary storage
of files.

Types

wire bonds
clearly visible through the erase window

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 photomask/mask layer for the final metallization of interconnections on the memory chip (hence the name).

Mask ROM can be made in several ways, all of which aim to change the electrical response of a transistor when it is addressed on a grid, such as:

  • In a ROM with transistors in a NOR configuration, using a photomask to define only specific areas of a grid with transistors, to fill with metal thus connecting to the grid only part of all the transistors in the ROM chip[2] thus making a grid where transistors that are connected cause a different electrical response when addressed, than spaces in the grid where the transistors are not connected, a connected transistor may represent a 1 and an unconnected one a 0, or viceversa. This is the least expensive, and fastest way of making mask ROM[2] as it only needs one mask with data, and has the lowest density of all mask ROM types as it is done at the metallization layer,[2] whose features can be relatively large in respect to other parts of the ROM. This is known as contact-programmed ROM. In ROM with a NAND configuration, this is known as metal-layer programming and the mask defines where to fill the areas surrounding transistors with metal which short-circuits the transistors instead, a transistor that is not short circuited may represent a 0, and one that is may represent a 1, or viceversa.[13]
  • Using two masks to define two types of ion implantation regions for transistors, to change their electrical properties when addressed in a grid and define two types of transistors.[2] The type of transistor defines if it represents a 1 or a 0 bit. One mask defines where to deposit one type of ion implantation (the "1" transistors), and another defines where to deposit the other (the "0" transistors). This is known as voltage threshold ROM (VTROM) as the different ion implantation types define different voltage thresholds in the transistors, and it's the voltage threshold on a transistor that defines a 0, or a 1. Can be used with NAND and NOR configurations. This technique offers a high level of resistance against optical reading of the contents as ion-implantation regions are difficult to distinguish optically,[13] which may be attempted with decapping of the ROM and a microscope.
  • Using two levels of thickness for a gate oxide in transistors,[2] and using a mask to define where to deposit one thickness of oxide, and another mask to deposit the other. Depending on the thickness a transistor can have different electrical properties and thus represent either a 1 or a 0.
  • Using several masks to define the presence or absence of the transistors themselves, on a grid. Addressing a non-existent transistor may be interpreted as a 0, and if a transistor is present it may be interpreted as a 1, or viceversa. This is known as active-layer programming.[13]

Mask ROM transistors can be arranged in either NOR or NAND configurations and can achieve one of the smallest cell sizes possible as each bit is represented by only one transistor. NAND offers higher storage density than NOR. OR configurations are also possible, but compared to NOR it only connects transistors to Vcc instead of Vss.

bipolar transistors.[14]

It is common practice to use rewritable non-volatile memory – such as UV-EPROM or EEPROM – for the development phase of a project, and to switch to mask ROM when the code has been finalized. For example, Atmel microcontrollers come in both EEPROM and mask ROM formats.

The main advantage of mask ROM is its cost. Per bit, mask ROM was 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.[15]

As of 2003, four companies produce most such mask ROM chips:

]

Some integrated circuits contain only mask ROM. Other integrated circuits contain mask ROM as well as a variety of other devices. In particular, many microprocessors have mask ROM to store their microcode. Some microcontrollers have mask ROM to store the bootloader or all of their firmware.

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.

It is also possible to write the contents of a Laser ROM by using a laser to alter the electrical properties of only some diodes on the ROM, or by using a laser to cut only some polysilicon links, instead of using a mask.[17][18][13]

Field-programmable

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:

  • backwards-compatibility
    with CD-ROM.
Transformer matrix ROM (TROS), from the IBM System 360/20

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 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 can be used to achieve the highest write speeds of any rewritable ROM technology, with speeds as high as 10 GB/s in an SSD. 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

An EPROM

Because they are written by forcing electrons through a layer of

disk drives in the near future.[citation needed
]

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-1980s 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). 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.[21]

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 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 laws in many jurisdictions, although duplication for backup purposes may be considered fair use depending on location. In any case, there is a thriving community engaged in the distribution and trading of such software for preservation/sharing purposes.

Timeline

Date of introduction Chip name Capacity (bits) ROM type MOSFET Manufacturer(s) Process Area Ref
1956 ? ?
PROM
? Arma ? ? [3][4]
1965 ? 256 bit ROM Bipolar TTL Sylvania ? ? [22]
1965 ? 1
kb
ROM MOS
General Microelectronics
? ?
1969 3301 1 kb ROM Bipolar Intel ? ? [22]
1970 ? 512 bit PROM Bipolar TTL
Radiation
? ? [7]
1971 1702 2 kb EPROM Static MOS (
silicon gate
)
Intel ? 15 mm² [7][23]
1974 ? 4 kb ROM MOS AMD, General Instrument ? ? [22]
1974 ? ?
EAROM
MNOS General Instrument ? ? [7]
1975 2708 8 kb EPROM NMOS (FGMOS) Intel ? ? [24][25]
1976 ? 2 kb EEPROM MOS Toshiba ? ? [26]
1977 µCOM-43 (PMOS) 16 kb PROM PMOS NEC ? ? [27]
1977 2716 16 kb EPROM TTL Intel ? ? [28][29]
1978 EA8316F 16 kb ROM NMOS Electronic Arrays ? 436 mm² [22][30]
1978 µCOM-43 (CMOS) 16 kb PROM CMOS NEC ? ? [27]
1978 2732 32 kb EPROM NMOS (
HMOS
)
Intel ? ? [24][31]
1978 2364 64 kb ROM NMOS Intel ? ? [32]
1980 ? 16 kb EEPROM NMOS Motorola 4,000 nm ? [24][33]
1981 2764 64 kb EPROM NMOS (
HMOS II
)
Intel 3,500 nm ? [24][33][34]
1982 ? 32 kb EEPROM MOS Motorola ? ? [33]
1982 27128 128 kb EPROM NMOS (HMOS II) Intel ? ? [24][33][35]
1983 ? 64 kb EPROM CMOS Signetics 3,000 nm ? [33]
1983 27256 256 kb EPROM NMOS (HMOS) Intel ? ? [24][36]
1983 ? 256 kb EPROM CMOS Fujitsu ? ? [37]
January 1984 MBM 2764 64 kb EEPROM NMOS Fujitsu ? 528 mm² [38]
1984 ? 512 kb EPROM NMOS AMD 1,700 nm ? [33]
1984 27512 512 kb EPROM NMOS (HMOS) Intel ? ? [24][39]
1984 ? 1
Mb
EPROM CMOS NEC 1,200 nm ? [33]
1987 ? 4 Mb EPROM CMOS Toshiba
800 nm
? [33]
1990 ? 16 Mb EPROM CMOS NEC
600 nm
? [33]
1993 ? 8 Mb
MROM
CMOS Hyundai ? ? [40]
1995 ? 1 Mb EEPROM CMOS Hitachi ? ? [41]
1995 ? 16 Mb MROM CMOS AKM, Hitachi ? ? [41]

See also

Notes

  1. ^ Other terms are used as well, e.g., "Initial Program Load" (IPL).

References

Listen to this article (7 minutes)
Spoken Wikipedia icon
Audio help · More spoken articles
)
  1. ^ "flash ROM Definition from PC Magazine Encyclopedia". pcmag.com. Archived from the original on November 10, 2013.
  2. ^ a b c d e f g "ROM, EPROM, and EEPROM Technology" (PDF).
  3. ^ from the original on 27 April 2018.
  4. ^ from the original on 27 April 2018.
  5. ^ "1960 - Metal Oxide Semiconductor (MOS) Transistor Demonstrated". The Silicon Engine. Computer History Museum.
  6. ^ "Transistors - an overview". ScienceDirect. Archived from the original on 13 October 2022. Retrieved 8 August 2019.
  7. ^ a b c d "1971: Reusable semiconductor ROM introduced". Computer History Museum. Retrieved 19 June 2019.
  8. ISSN 0018-9200
    .
  9. ^ "1987: Toshiba Launches NAND Flash". eWEEK.
  10. ^ Detlev Richter (Sep 12, 2013). "Chapter 2. Fundamentals of Non-Volatile Memories". Flash Memories: Economic Principles of Performance, Cost and Reliability. Springer Science & Business Media. p. 6.
  11. ^ "NAND Flash Applications Design Guide" (PDF). Toshiba. April 2003. p. 6. Archived from the original (PDF) on 2009-10-07..
  12. ^ See chapters on "Combinatorial Digital Circuits" and "Sequential Digital Circuits" in Millman & Grable, Microelectronics, 2nd ed.
  13. ^ a b c d e Semi-invasive attacks - A new approach to hardware security analysis. SP Skorobogatov. 2005. https://citeseerx.ist.psu.edu/pdf/2b7ba7f2db6ae96cc7869282a1ab5d25fbe02f5b
  14. .
  15. .
  16. ^ Oishi, Motoyuki (July 2003). "Technology Analysis: Oki P2ROM to Replace Mask ROM, Flash EEPROM". Nikkei Electronics Asia. Archived from the original on 2007-10-21.
  17. ^ J. J. Lee and N. R. Strader, "CMOS ROM arrays programmable by laser beam scanning," in IEEE Journal of Solid-State Circuits, vol. 22, no. 4, pp. 622-624, Aug. 1987, doi: 10.1109/JSSC.1987.1052783. https://ieeexplore.ieee.org/document/1052783
  18. ^ IButton AN937. https://pdfserv.maximintegrated.com/en/an/AN937.pdf
  19. .
  20. ^ "Computer for Apollo". MIT Science Reporter. 1965. WGBH.
  21. ^ "Memory Ic". transparentc. Archived from the original on 12 July 2016. Retrieved 22 July 2016.
  22. ^ a b c d "1965: Semiconductor Read-Only-Memory Chips Appear". Computer History Museum. Retrieved 20 June 2019.
  23. ^ "1702A Datasheet" (PDF). Intel. Retrieved 6 July 2019.
  24. ^ a b c d e f g "A chronological list of Intel products. The products are sorted by date" (PDF). Intel museum. Intel Corporation. July 2005. Archived from the original (PDF) on August 9, 2007. Retrieved July 31, 2007.
  25. ^ "2708 Datasheet" (PDF). Intel. Retrieved 6 July 2019.
  26. S2CID 30491074
    .
  27. ^ a b µCOM-43 SINGLE CHIP MICROCOMPUTER: USERS' MANUAL (PDF). NEC Microcomputers. January 1978. Retrieved 27 June 2019.
  28. ^ "Intel: 35 Years of Innovation (1968–2003)" (PDF). Intel. 2003. Archived from the original (PDF) on 4 November 2021. Retrieved 26 June 2019.
  29. ^ "2716: 16K (2K x 8) UV ERASABLE PROM" (PDF). Intel. Archived from the original (PDF) on 27 June 2019. Retrieved 27 June 2019.
  30. NEC Electronics
    . Retrieved 20 June 2019.
  31. ^ "2732A Datasheet" (PDF). Intel. Retrieved 6 July 2019.
  32. ^ Component Data Catalog (PDF). Intel. 1978. pp. 1–3. Retrieved 27 June 2019.
  33. ^ a b c d e f g h i "Memory". STOL (Semiconductor Technology Online). Archived from the original on 25 June 2019. Retrieved 25 June 2019.
  34. ^ "2764A Datasheet" (PDF). Intel. Retrieved 6 July 2019.
  35. ^ "27128A Datasheet" (PDF). Intel. Retrieved 6 July 2019.
  36. ^ "27256 Datasheet" (PDF). Intel. Retrieved 2 July 2019.
  37. ^ "History of Fujitsu's Semiconductor Business". Fujitsu. Archived from the original on 3 July 2019. Retrieved 2 July 2019.
  38. ^ "MBM 2764" (PDF). Fujitsu. January 1984. Retrieved 21 June 2019.
  39. ^ "D27512-30 Datasheet" (PDF). Intel. Retrieved 2 July 2019.
  40. ^ "History: 1990s". SK Hynix. Archived from the original on 1 May 2021. Retrieved 6 July 2019.
  41. ^ a b "Japanese Company Profiles" (PDF). Smithsonian Institution. 1996. Archived from the original (PDF) on 27 June 2019. Retrieved 27 June 2019.