Read-only memory

From Free net encyclopedia

(Redirected from Read Only Memory)
Read only can also refer to a type of file system permissions.

Read-only memory (ROM) is a class of storage media used in computers and other electronic devices. Because it cannot (easily) be written to, its main uses lie in the distribution of firmware (software that is very closely related to hardware, and not likely to need frequent upgrading).

Modern semiconductor ROMs typically take the shape of IC packages, i.e. "computer chips", not immediately distinguishable from other chips like RAMs but for the text printed on the chips. "ROM" in its strictest sense can only be read from, but all ROMs allow data to be written into them at least once, either during initial manufacturing or during a step called "programming". Some ROMs can be erased and re-programmed multiple times, although they are still referred to as "read only" because the reprogramming process involves relatively infrequent, complete erasure and reprogramming, not the frequent, bit- or word at a time updating that is possible with RAM (random access memory).

Contents

Applications

Many microcontrollers include the program ROM, a CPU core, some on-board peripherals, and RAM, all on one chip. Practically all microprogrammed CPUs also include a kind of ROM on the same chip to hold the control store.

Home computers of the early 1980s came with their complete operating system in ROM, often including a BASIC programming language interpreter. There was no reasonable alternative because floppy disk drives were generally optional. Upgrading to a newer version meant replacing the old ROM chip with a new one -- using either a soldering iron or a set of DIP sockets.

Most video game consoles from the 1970s to the mid-1990s used ROMs as their primary software distribution medium. Such ROMs are sealed into plastic cases suitable for handling and repeated insertion, known as cartridges or "carts" (called "Game Paks" by Nintendo). Some home computers also used ROM cartridges for distributing games and other types of software. The Nintendo 64 was the last major console to use ROM cartridges for software distribution, since Nintendo opted to go with an optical solution with the Nintendo Gamecube, holding nearly forty-two times as much, though at the cost of read, write, load and access times. As of the 2000s, only handheld consoles like the Game Boy Advance and Nintendo DS continue using ROM cartridges.

There is a trend to put less and less software into static ROMs, and more on disk storage. This makes changes easier. By the 2000s, operating systems for desktop computers are not generally on ROM anymore. Computers may still rely on some software in ROMs, like their BIOS, but even that is more likely to reside on a Flash-ROM (see below). Mobile phones and personal digital assistants are likely to have software in ROM (or at least flash memory).

One reason why some data still sits in ROMs is speed – disks are an order of magnitude slower. Even more important, though, is that you cannot read software that is needed to drive a disk from the disk itself – see bootstrap. Hence the BIOS or a bootloader for a computer is often stored in ROM. Also, a networking or graphics card may implement some basic functionality through software contained on a ROM chip. Another application for ROMs is in storing software for embedded systems operating in physically demanding environments (exposed to, say, vibration, or high acceleration), where disks are too fragile.

Types of ROMs

Semiconductor based

Classic mask-programmed ROM chips are written to during production and cannot change content afterwards. But there are other types of non-volatile solid-state memory:

  • PROMs (Programmable Read-Only Memory) can be written to (programmed) via a special device, a PROM programmer. The writing often takes the form of permanently destroying or creating internal links (fuses or antifuses) with the result that a PROM can only be programmed once.
  • EPROMs (Erasable Programmable Read-Only Memory) can be erased by exposure to ultraviolet light then rewritten via an EPROM programmer. Repeated exposure to ultraviolet light will eventually destroy the EPROM but it generally takes many (greater than 1000) exposures before the EPROM becomes unusable. EPROMs can be easily identified by the circular 'window' in the top which allows the UV light to enter. Once programmed, this window is typically covered by a label to prevent accidental erasure.
  • EAROMs (Electrically Alterable Read-Only Memory) can be modified a bit at a time, but writing is intended to be an infrequent operation; most of the time the memory is used as a ROM. EAROM may be used to store critical system setup information in a non-volatile way. For many applications, EAROM has been supplanted by CMOS RAM backed-up by a lithium battery.
  • EEPROM such as Flash memory (Electrically Erasable Programmable Read-Only Memory) allow the entire ROM (or selected banks of the ROM) to be electrically erased (flashed back to zero) then written to without taking them out of the computer (camera, MP3 player, etc.). Flashing is much slower (milliseconds) than writing to RAM (nanoseconds) (or reading from any ROM).
  • By applying write protection, read/write memory may be turned (temporarily) into read-only memory.

Other technologies

There are also other types of non-volatile memory that are not solid-state chips:

  • A CD-ROM is a kind of compact disc. A CD-ROM is Read Only, hence the name, while CD-R is Write-Once-Read-Many (analogous to a PROM), and CD-RW is Read/Write (analogous to an EEPROM).
  • Diode matrix ROM, which was used in small amounts in many computers in the 1960s as well as 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.
  • Resistor, capacitor, or transformer matrix ROM was used in many computers until the 1970s. Like the diode matrix ROM, it was programmed by placing components at selected locations between a matrix of word lines and bit lines. The ENIAC Function Tables were resistor matrix ROM, programmed by manually setting rotary switches. Various models of the IBM System/360 and complex peripherial devices stored their microcode in either capacitor (called BCROSBalanced Capacitor Read Only Storage on the 360/50 & 360/65 or CCROSCard Capacitor Read Only Storage on the 360/30) or transformer (called TROSTransformer Read Only Storage on the 360/40 and others) matrix ROM.
  • Core rope was a form of transformer matrix ROM technology used where size and/or weight were critical. This was used in NASA/MIT's Apollo Spacecraft Computers, DEC's PDP-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") in Charactron cathode ray tubes was used as ROM to shape a wide electron beam to form a selected character shape on the screen either for display or overlay on a video signal.
  • Various mechanical devices have been used as ROM in early computing equipment. A machined metal plate was used this way in the dot matrix printers on the IBM 026 and IBM 029 key punchs.

Speed of ROMs

Reading speed

Although this has varied over time, today, large RAMs can be read faster than most large ROMs. Therefore ROM content that is used often is sometimes copied to RAM and subsequently read from there (shadowed).

Writing speed

For those types of ROMs that can be written to or electrically altered, the writing speed is always much slower than the reading speed and it may require unusual voltages, the movement of jumper plugs to apply write-enable signals, and/or special lock/unlock command codes written to the EAROM/Flash ROM.

EEPROM/EAROM lifetime

Because they are written by forcing electrons through a layer of electrical insulation onto a floating transistor gate, re-writeable ROMs will only withstand a limited number of write cycles before the insulation is permanently damaged. In very old EAROMs, this damage could occur in as few as 1,000 write cycles. In modern Flash EEPROMs, the life may be in excess of 10,000 or even 100,000 cycles, but it is by no means infinite. It is partially for this reason (as well as their limited, more-expensive capacity) that Flash ROMs are unlikely to completely supplant magnetic disk drives in the near future.

The reading life of a ROM is not limited by the number of cycles performed. The reading life of EAROMs and EEPROMs may be limited by charge leakage from the floating gates of the storage transistors, especially at high temperatures or in high radiation environments. Masked ROMs or fused EPROMs do not suffer from this effect; once a 1 or 0, always a 1 or 0 (although fuse re-growth was once a problem in early fused PROMs).

ROM images

Main article: ROM image

The contents of video game console ROM cartridges can be extracted with special software, creating files known as "ROM images" for use in emulators. Illegal distribution and trade of these "ROM images" is hugely popular in software piracy circles, where the files are commonly referred to as "roms" (or even "romz", which has a connotation with "warez") even though the term is technically incorrect. The term is so widespread that it has even started to refer to computer games that do not come on ROM cartridges, but instead on floppy disks or CD-ROMs. Usage of such files may be a violation of copyright however.

Template:Spoken Wikipediaar:ذاكرة القراءة فقط bg:RAM bs:ROM ca:ROM cs:ROM da:Rom (hukommelse) de:Halbleiterspeicher es:Memoria ROM fr:Mémoire morte gl:ROM ko:롬 hr:ROM id:Read-only Memory it:ROM he:ROM la:ROM lv:ROM hu:ROM nl:ROM ja:Read Only Memory no:ROM nn:Read-only memory pl:Read Only Memory pt:Memória ROM ru:Постоянное запоминающее устройство simple:Read-only memory sk:Pamäť s priamym prístupom sl:Bralni pomnilnik sr:ROM fi:Lukumuisti sv:ROM th:รอม vi:RAM tr:ROM zh:ROM