Computer memory types Volatile
* DRAM, e.g. DDR SDRAM * SRAM * Upcoming o Z-RAM o TTRAM * Historical o Williams tube o Delay line memory
* ROM o PROM o EAROM o EPROM o EEPROM o Flash memory * Upcoming o FeRAM o MRAM o PRAM o SONOS o RRAM o NRAM * Historical o Drum memory o Magnetic core memory o Bubble memory
Read-only memory (usually known by its acronym, ROM) is a class of storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified (at least not very quickly or easily), it is mainly used to distribute firmware (software that is very closely tied to specific hardware, and unlikely to require frequent updates).
Modern semiconductor ROM chips are not immediately distinguishable from similar chips like RAM modules, except by the part numbers printed on the package.
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 as EPROM and flash 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 permit random access writes to individual memory locations, which are possible when reading a ROM. Despite the simplicity of mask ROM, economies of scale and field-programmability often make reprogrammable technologies more flexible and inexpensive, so that mask ROM is rarely used in new products as a discrete device as of 2007. In custom ASIC design, a small amount of masked ROM may be present as part of securing write access to the larger, field-programmable ROM array. Contents [hide]
* 1 History o 1.1 Use of ROM for program storage o 1.2 ROM for data storage * 2 Types of ROMs o 2.1 Semiconductor based o 2.2 Other technologies + 2.2.1 Historical examples * 3 Speed of ROMs o 3.1 Reading speed o 3.2 Writing speed * 4 Endurance and data retention * 5 ROM images * 6 See also * 7 References * 8 External links
(Add: Jacquard Loom as a non-electronic precursor)
The simplest type of solid state ROM is as old as semiconductor technology itself. Combinatorial 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 circuit came 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 predictable propagation 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 for R&D work since designers frequently need to modify the contents of memory as they refine a design.
- 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.
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 addresses 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 (e.g. 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.) 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 replace hard disks," 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 of ROM for program storage
Every stored-program computer requires some form of non-volatile storage to store the initial program that runs when the computer is powered on or otherwise begin execution (a process known as bootstrapping). 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 problem 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 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 requires a latch (comprising 5-20 transistors) to retain its contents, while a ROM cell might consist of a the absence (logical 0) or presence (logical 1) of a single transistor connecting a bit line to a word line. Consequently, ROM could be implemented at a lower cost-per-bit than RAM for many years.
Many home computers of the 1980s stored a BASIC interpreter or operating system in ROM. ROM was more economical than RAM, and other forms of non-volatile storage such as magnetic disk drives were too expensive to be included with every home computer. For example, the celebrated Commodore 64 included 64 KiB of RAM and 20 KiB of ROM contained a BASIC interpreter and the "KERNAL" (sic) 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 general-purpose computers, there is little reason to store any program code or data in read-only memory: secondary storage devices such as hard disks are fast, ubiquitous, and rapidly decreasing in cost per bit, and large capacity dynamic RAM modules are cheaper than ROM thanks to economies of scale and more efficient designs. In modern PCs, ROM is used only to store basic bootstrapping firmware, such as the legacy BIOS which persists in most x86-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 systems, such as MP3 players, set-top boxes, and broadband routers, all of which are designed to achieve more restricted functions than general-purpose computers, but which are nonetheless based on general-purpose microprocessors 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 for firmware updates (for example, a digital audio player's firmware might be updated to support a new music file format). Hobbyists have taken advantage of this flexibility to reprogram such devices to 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.
 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 tables for the evaluation of mathematical and logical functions (for example, a floating-point unit might tabulate the sine function in order to facilitate faster computation). This was especially effective when CPUs were slow and ROM was cheap compared to RAM.
Notably, the display adapters of early personal computers stored tables of bitmapped font characters in ROM. This usually meant that the text display font 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. (False... most modern cellphones include a small amount of hard-wired ROM to secure write access to the on-board flash ROM). However, Flash ROM has taken over a new role as a medium for mass storage or secondary storage of files .
 Types of ROMs The first EPROM, an Intel 1702, with the die and wire bonds clearly visible through the erase window. The first EPROM, an Intel 1702, with the die and wire bonds clearly visible through the erase window.
 Semiconductor 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 or antifuses) within the chip. Consequently, a PROM can only be programmed once. * Erasable programmable read-only memory (EPROM) can be erased by exposure to strong ultraviolet 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 prominent circular "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-programmed 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 to a ROM or writing to a RAM (nanoseconds in both cases). o Electrically alterable read-only memory (EAROM) is a type of EEPROM that can be modified one bit 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 as non-volatile storage for critical system setup information; in many applications, EAROM has been supplanted by CMOS RAM supplied by mains power and backed-up with a lithium battery. o 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). Modern NAND flash makes efficient use of silicon chip area, resulting in individual ICs with a capacity as high as 16 GB as of 2007; this feature, along with its endurance and physical durability, has allowed NAND flash to replace magnetic in some applications (such as USB flash drives). 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, such CD-ROM which is read-only (analogous to masked ROM). CD-R is Write Once Read Many (analogous to PROM), while CD-RW supports erase-rewrite cycles (analogous to EEPROM); both are designed for backwards-compatibility with CD-ROM.
 Historical examples Transformer matrix ROM (TROS), from the IBM System 360/20 Transformer matrix ROM (TROS), from the IBM System 360/20
* Diode matrix ROM, used in small amounts in many computers in the 1960s as well as electronic desk calculators and 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, 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 the IBM System/360 and complex peripherial devices stored their microcode 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/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 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, which was used as ROM to shape a wide electron 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 a video signal. * Various mechanical devices used in early computing equipment. A machined metal plate served as ROM in the dot matrix printers on the IBM 026 and IBM 029 key punches.
 Speed 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. Therefore, 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 floating transistor 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 magnetic disk drives 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 gates 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 early fused PROMs).
 ROM images
Main article: ROM image
The contents of ROM chips in video game console cartridges can be extracted with special software or hardware devices. The resultant memory dump files are known as ROM images, and can be used to produce duplicate cartridges, or in console emulators. 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 on CD-ROMs 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 some jurisdictions duplication of ROM cartridges for backup purposes may be considered fair 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"
Mask ROM (MROM) refers to a kind of ROM (read-only memory) whose contents are programmed by the Integrated Circuit manufacturer (rather than by the user). The terminology "mask" comes from Integrated Circuit fabrication, where regions of the chip are masked off before during the process of lithography.
It is common practice to use rewritable 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, since it is significantly cheaper than other kinds of ROM. It is also very compact. However, on the flip side, 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.
Jump to: navigation, search Computer memory types Volatile
* DRAM, e.g. DDR SDRAM * SRAM * Upcoming o Z-RAM o TTRAM * Historical o Williams tube o Delay line memory
* ROM o PROM o EAROM o EPROM o EEPROM o Flash memory * Upcoming o FeRAM o MRAM o PRAM o SONOS o RRAM o NRAM * Historical o Drum memory o Magnetic core memory o Bubble memory
EPROM. The small quartz window admits UV light for erasure. EPROM. The small quartz window admits UV light for erasure.
An EPROM, or erasable programmable read-only memory, is a type of computer memory chip that retains its data when its power supply is switched off. In other words, it is non-volatile. It is an array of floating-gate transistors individually programmed by an electronic device that supplies higher voltages than those normally used in electronic circuits. Once programmed, an EPROM can be erased only by exposing it to strong ultraviolet light. That UV light usually has a wavelength of 235nm (for optimum erasure time) and belongs to the UVC range of UV light. EPROMs are easily recognizable by the transparent fused quartz window in the top of the package, through which the silicon chip can be seen, and which permits UV light during erasing. A 32KB (256Kbit) EPROM. A 32KB (256Kbit) EPROM.
As the quartz window is expensive to make, OTP (one-time programmable) chips were introduced; the only difference is that the EPROM chip is packed in an opaque package, so it can not be erased after programming. OTP versions are manufactured for both EPROMs themselves and EPROM-based microcontrollers. However, OTP EPROM (whether separate or part of a larger chip) is being increasingly replaced by EEPROM for small amounts where the cell cost isn't too important and flash for larger amounts. EPROM. 60x Closeup . EPROM. 60x Closeup .
A programmed EPROM retains its data for about ten to twenty years and can be read an unlimited number of times. The erasing window must be kept covered with a foil label to prevent accidental erasure by sunlight. Old PC BIOS chips were often EPROMs, and the erasing window was often covered with a label containing the BIOS publisher's name, the BIOS revision, and a copyright notice.
Some microcontrollers, often those from before the era of EEPROMs and flash memory, use EPROM to store their program. This is not very useful for development, as using one-time programmable devices would be horribly wasteful for debugging and windowed versions are expensive. Leaving the die of such a chip exposed to light can also change behavior in ways that may be disastrous when moving from a windowed part used for development to a non-windowed part for production. For example a device may power up with data memory random with the die covered but with it in a predictable state with the die exposed to light.
The EPROM was invented by Israeli engineer Dov Frohman in 1971. This 8749 Microcontroller stores its program in internal EPROM. This 8749 Microcontroller stores its program in internal EPROM.
EPROMs come in several sizes both in physical packaging as well and storage capacity. While parts of the same type number from different manufacturers are compatible as long as they're only being read, there are subtle differences in the programming process.
Most EPROMS could be identified by the programmer through "signature mode" by forcing 12V on pin A9 and reading out two bytes of data. However, as this was not universal, programmer software also would allow manual setting of the manufacturer and device type of the chip to ensure proper programming. EPROM Type Size — bits Size — bytes Length (hex) Last address (hex) 1702, 1702A 2 Kbit 256 100 000FF 2704 4 Kbit 512 200 001FF 2708 8 Kbit 1 KB 400 003FF 2716, 27C16 16 Kbit 2 KB 800 007FF 2732, 27C32 32 Kbit 4 KB 1000 00FFF 2764, 27C64 64 Kbit 8 KB 2000 01FFF 27128, 27C128 128 Kbit 16 KB 4000 03FFF 27256, 27C256 256 Kbit 32 KB 8000 07FFF 27512, 27C512 512 Kbit 64 KB 10000 0FFFF 27C010, 27C100 1 Mbit 128 KB 20000 1FFFF 27C020 2 Mbit 256 KB 40000 3FFFF 27C040 4 Mbit 512 KB 80000 7FFFF 27C080 8 Mbit 1 MB 100000 FFFFF
Jump to: navigation, search Computer memory types Volatile
A USB flash drive. The chip on the left is the flash memory. The microcontroller is on the right. A USB flash drive. The chip on the left is the flash memory. The microcontroller is on the right.
Flash memory is non-volatile computer memory that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards, and USB flash drives (thumb drives, handy drive, memory stick, flash stick, jump drive) for general storage and transfer of data between computers and other digital products. It is a specific type of EEPROM that is erased and programmed in large blocks; in early flash the entire chip had to be erased at once. Flash memory costs far less than byte-programmable EEPROM and therefore has become the dominant technology wherever a significant amount of non-volatile, solid-state storage is needed. Examples of applications include PDAs and laptop computers, digital audio players, digital cameras and mobile phones. It has also gained some popularity in the game console market, where it is often used instead of EEPROMs or battery-powered static RAM (SRAM) for game save data.
Flash memory is non-volatile, which means that it does not need power to maintain the information stored in the chip. In addition, flash memory offers fast read access times (although not as fast as volatile DRAM memory used for main memory in PCs) and better kinetic shock resistance than hard disks. These characteristics explain the popularity of flash memory for applications such as storage on battery-powered devices. Another feature of flash memory is that when packaged in a "memory card", it is enormously durable, being able to withstand intense pressure, extremes of temperature and immersion in water.
Although technically a type of EEPROM, the term "EEPROM" is generally used to refer specifically to non-flash EEPROM which is erasable in small blocks, typically bytes. Because an erase cycle is slow, the large size of a flash ROM's erase block can make programming it faster than old-style EEPROM. Contents [hide]
* 1 Principles of operation o 1.1 NOR flash o 1.2 NAND flash * 2 History * 3 Limitations * 4 Low-level access o 4.1 NOR memories o 4.2 NAND memories o 4.3 Standardization * 5 Understanding the distinction between NOR and NAND flash o 5.1 Endurance * 6 Serial flash o 6.1 Firmware storage * 7 Flash file systems * 8 Capacity * 9 Speed * 10 Flash memory as a replacement for hard drives * 11 See also * 12 References * 13 External links
 Principles of operation
Flash memory stores information in an array of floating-gate transistors, called "cells". In traditional single-level cell (SLC) devices, each cell stores only one bit of information. Some newer flash memory, known as multi-level cell (MLC) devices, can store more than one bit per cell by choosing between multiple levels of electrical charge to apply to the floating gates of its cells. A flash memory cell. A flash memory cell.
 NOR flash Programming a NOR memory cell (setting it to logical 0), via hot-electron injection. Programming a NOR memory cell (setting it to logical 0), via hot-electron injection. Erasing a NOR memory cell (setting it to logical 1), via quantum tunneling. Erasing a NOR memory cell (setting it to logical 1), via quantum tunneling.
In NOR gate flash, each cell resembles a standard MOSFET, except that it has two gates instead of just one. On top is the control gate (CG), as in other MOS transistors, but below this there is a floating gate (FG) insulated all around by an oxide layer. The FG sits between the CG and the MOSFET channel. Because the FG is electrically isolated by its insulating layer, any electrons placed on it are trapped there and, under normal conditions, will not discharge for a period of many years. When the FG holds a charge, it screens (partially cancels) the electric field from the CG, which modifies the threshold voltage (VT) of the cell. During read-out, a voltage is applied to the CG, and the MOSFET channel will become conducting or remain insulating, depending on the VT of the cell, which is in turn controlled by charge on the FG. The presence or absence of current flow through the MOSFET channel is sensed and forms a binary code, reproducing the stored data. In a multi-level cell device, which stores more than one bit per cell, the amount of current flow is sensed (rather than simply its presence or absence), in order to determine more precisely the level of charge on the FG.
A single-level NOR flash cell in its default state is logically equivalent to a binary "1" value, because current will flow through the channel under application of an appropriate voltage to the control gate. A NOR flash cell can be programmed, or set to a binary "0" value, by the following procedure:
* an elevated on-voltage (typically >5 V) is applied to the CG * the channel is now turned on, so electrons can flow between the source and the drain * the source-drain current is sufficiently high to cause some high energy electrons to jump through the insulating layer onto the FG, via a process called hot-electron injection
To erase a NOR flash cell (resetting it to the "1" state), a large voltage of the opposite polarity is applied between the CG and drain, pulling the electrons off the FG through quantum tunneling. Modern NOR flash memory chips are divided into erase segments (often called blocks or sectors). The erase operation can only be performed on a block-wise basis; all the cells in an erase segment must be erased together. Programming of NOR cells, however, can generally be performed one byte or word at a time.
Despite the need for high programming and erasing voltages, virtually all flash chips today require only a single supply voltage, and produce the high voltages on-chip via charge pumps. NOR flash memory wiring and structure on silicon. NOR flash memory wiring and structure on silicon.
 NAND flash
NAND gate flash uses tunnel injection for writing and tunnel release for erasing. NAND flash memory forms the core of the removable USB interface storage devices known as USB flash drives, as well as most memory card formats available today. NAND flash memory wiring and structure on silicon. NAND flash memory wiring and structure on silicon.
Flash memory (both NOR and NAND types) was invented by Dr. Fujio Masuoka while working for Toshiba in 1984. According to Toshiba, the name "flash" was suggested by Dr. Masuoka's colleague, Mr. Shoji Ariizumi, because the erasure process of the memory contents reminded him of a flash of a camera. Dr. Masuoka presented the invention at the IEEE 1984 International Electron Devices Meeting (IEDM) held in San Francisco, California. Intel saw the massive potential of the invention and introduced the first commercial NOR type flash chip in 1988.
NOR-based flash has long erase and write times, but provides full address and data buses, allowing random access to any memory location. This makes it a suitable replacement for older ROM chips, which are used to store program code that rarely needs to be updated, such as a computer's BIOS or the firmware of set-top boxes. Its endurance is 10,000 to 1,000,000 erase cycles.  NOR-based flash was the basis of early flash-based removable media; CompactFlash was originally based on it, though later cards moved to less expensive NAND flash.
Toshiba announced NAND flash at ISSCC in 1989. It has faster erase and write times, and requires a smaller chip area per cell, thus allowing greater storage densities and lower costs per bit than NOR flash; it also has up to ten times the endurance of NOR flash. However, the I/O interface of NAND flash does not provide a random-access external address bus. Rather, data must be read on a block-wise basis, with typical block sizes of hundreds to thousands of bits. This makes NAND flash unsuitable to replace program ROM, since most microprocessors and microcontrollers cannot directly execute programs stored in memory without random access; however, NAND flash is similar to other secondary storage devices such as hard disks and optical media, and is thus very suitable for use in mass-storage devices such as memory cards. The first NAND-based removable media format was SmartMedia, and many others have followed, including MultiMediaCard, Secure Digital, Memory Stick and xD-Picture Card. A new generation of memory card formats, including RS-MMC, miniSD and microSD, and Intelligent Stick, feature extremely small form factors; the microSD card has an area of just over 1.5 cm², with a thickness of less than 1 mm.
One limitation of flash memory is that although it can be read or programmed a byte or a word at a time in a random access fashion, it must be erased a "block" at a time. This generally sets all bits in the block to 1. Starting with a freshly erased block, any location within that block can be programmed. However, once a bit has been set to 0, only by erasing the entire block can it be changed back to 1. In other words, flash memory (specifically NOR flash) offers random-access read and programming operations, but cannot offer arbitrary random-access rewrite or erase operations. A location can, however, be rewritten as long as the new value's 0 bits are a superset of the over-written value's. For example, a nibble value may be erased to 1111, then written as 1110. Successive writes to that nibble can change it to 1010, then 0010, and finally 0000. Although data structures in flash memory can not be updated in completely general ways, this allows members to be "removed" by marking them as invalid. This technique must be modified somewhat for multi-level devices, where one memory cell holds more than one bit.
Another limitation is that flash memory has a finite number of erase-write cycles (most commercially available flash products are guaranteed to withstand 100,000 write-erase-cycles for block 0, and no guarantees for other blocks). This effect is partially offset by some chip firmware or file system drivers by counting the writes and dynamically remapping the blocks in order to spread the write operations between the sectors; this technique is called wear levelling. Another mechanism is to perform write verification and remapping to spare sectors in case of write failure, which is named bad block management (BBM). With these mechanisms in place, some industry analysts have calculated that flash memory can be written to at full speed continuously for 51 years before exceeding its write endurance, even if such writes frequently cause the entire memory to be overwritten. This figure (51 years) involved a worst-case scenario using specific data parameters and should not be confused with a particular "shelf life" for a flash memory device. The bottom line is that a typical user using a commercial device, such as a camera, with a flash drive will probably not wear out the memory for the effective life of the camera. However, it - like any other hardware component - can fail. Anyone using flash memory (and any other medium) for critical data would be well advised to backup the data to another device (preferably of a different medium). Many have found it very fast and reliable for 'read-only' operating systems such as thin clients and routers.
 Low-level access
The low-level interface to flash memory chips usually differs from those of other common types such as DRAM, ROM, and EEPROM, which support random-access via externally accessible address buses.
While NOR memory provides an external address bus for read operations (and thus supports random-access), unlocking, erasing, and writing NOR memory must proceed on a block-by-block basis. Typical block sizes are 64, 128, or 256 bytes. With NAND flash memory, all operations must be performed in a block-wise fashion: reading, unlocking, erasing, and writing.
 NOR memories
Reading from NOR flash is similar to reading from random-access memory, provided the address and data bus are mapped correctly. Because of this, most microprocessors can use NOR flash memory as execute in place (XIP) memory, meaning that programs stored in NOR flash can be executed directly without the need to copy them into RAM. NOR flash chips lack intrinsic bad block management, so when a flash block is worn out, the software or device driver controlling the device must handle this, or the device will cease to work reliably.
When unlocking, erasing or writing NOR memories, special commands are written to the first page of the mapped memory. These commands are defined by the Common Flash memory Interface (CFI) and the flash chips can provide a list of available commands to the physical driver.
Apart from being used as random-access ROM, NOR memories can also be used as storage devices. However, NOR flash chips typically have slow write speeds compared with NAND flash.
 NAND memories
NAND flash architecture was introduced by Toshiba in 1989. NAND flash memories cannot provide execute in place due to their different construction principles. These memories are accessed much like block devices such as hard disks or memory cards. The pages are typically 512 or 2,048 bytes in size. Associated with each page are a few bytes (typically 12–16 bytes) that should be used for storage of an error detection and correction checksum.
The pages are typically arranged in blocks. A typical block would be 32 pages of 512 bytes or 64 pages of 2,048 bytes.
While programming is performed on a page basis, erasure can only be performed on a block basis.
NAND devices also require bad block management to be performed by device driver software, or by a separate controller chip (SD cards, for example, include controller circuitry to perform bad block management and wear leveling). When a logical block is accessed by high-level software, it is mapped to a physical block by the device driver or controller, and a number of blocks on the flash chip are set aside for storing mapping tables to deal with bad blocks.
The error-correcting and detecting checksum will typically correct an error where one bit per 256 bytes (2,048 bits) is incorrect. When this happens, the block is marked bad in a logical block allocation table, and its undamaged contents are copied to a new block and the logical block allocation table is altered accordingly. If more than one bit out of 2,048 is corrupted, the contents are partly lost, i.e. it is no longer possible to reconstruct the original contents. If this is detected when the block is written, the contents may still be available.
Most NAND devices are shipped from the factory with some bad blocks which are typically identified and marked according to a specified bad block marking strategy. By allowing some bad blocks, the manufacturers achieve far higher yields than would be possible if all blocks were tested good. This significantly reduces NAND flash costs and only slightly decreases the storage capacity of the parts.
The first physical block (block 0) is always guaranteed to be readable and free from errors. Hence, all vital pointers for partitioning and bad block management for the device must be located inside this block (typically a pointer to the bad block tables etc). If the device is used for booting a system, this block may contain the master boot record.
When executing software from NAND memories, virtual memory strategies are used: memory contents must first be paged or copied into memory-mapped RAM and executed there. A memory management unit (MMU) in the system is helpful, but this can also be accomplished with overlays. For this reason, some systems will use a combination of NOR and NAND memories, where a smaller NOR memory is used as software ROM and a larger NAND memory is partitioned with a file system for use as a random access storage area. NAND is best suited to flash devices requiring high capacity data storage. This type of flash architecture combines higher storage space with faster erase, write, and read capabilities over the execute in place advantage of the NOR architecture.
A group called the Open NAND Flash Interface Working Group (ONFI) has developed a standardized low-level interface for NAND flash chips. This allows interoperability between conforming NAND devices from different vendors. The ONFI specification version 1.0 was released on December 28, 2006. It specifies:
* a standard physical interface (pinout) for NAND flash in TSOP-48, WSOP-48, LGA-52, and BGA-63 packages * a standard command set for reading, writing, and erasing NAND flash chips * a mechanism for self-identification (comparable to the Serial Presence Detection feature of SDRAM chips)
The ONFI group is supported by major NAND flash manufacturers, including Intel, Micron Technology, and Sony, as well as by major manufacturers of devices incorporating NAND flash chips.
A group of vendors, including Intel, Dell, and Microsoft formed a Non-Volatile Memory Host Controller Interface (NVMHCI) Working Group . The goal of the group is to provide standard software and hardware programming interfaces for nonvolatile memory subsystems, including the "flash cache" device connected to the PCI Express bus.
 Understanding the distinction between NOR and NAND flash
NOR and NAND flash differ in two important ways:
* the connections of the individual memory cells are different * the interface provided for reading and writing the memory is different (NOR allows random-access for reading, NAND allows only page access)
It is important to understand that these two are linked by the design choices made in the development of NAND flash. An important goal of NAND flash development was to reduce the chip area required to implement a given capacity of flash memory, and thereby to reduce cost per bit and increase maximum chip capacity so that flash memory could compete with magnetic storage devices like hard disks.
NOR and NAND flash get their names from the structure of the interconnections between memory cells. In NOR flash, cells are connected in parallel to the bit lines, allowing cells to be read and programmed individually. The parallel connection of cells resembles the parallel connection of transistors in a CMOS NOR gate. In NAND flash, cells are connected in series, resembling a NAND gate, and preventing cells from being read and programmed individually: the cells connected in series must be read in series.
When NOR flash was developed, it was envisioned as a more economical and conveniently rewriteable ROM than contemporary EPROM, EAROM, and EEPROM memories. Thus random-access reading circuitry was necessary. However, it was expected that NOR flash ROM would be read much more often than written, so the write circuitry included was fairly slow and could only erase in a block-wise fashion; random-access write circuitry would add to the complexity and cost unnecessarily.
Because of the series connection, a large grid of NAND flash memory cells will occupy only a small fraction of the area of equivalent NOR cells (assuming the same CMOS process resolution, e.g. 130 nm, 90 nm, 65 nm). NAND flash's designers realized that the area of a NAND chip, and thus the cost, could be further reduced by removing the external address and data bus circuitry. Instead, external devices could communicate with NAND flash via sequential-accessed command and data registers, which would internally retrieve and output the necessary data. This design choice made random-access of NAND flash memory impossible, but the goal of NAND flash was to replace hard disks, not to replace ROMs.
The endurance of NAND flash is much greater than that of NOR flash (typically 1,000,000 cycles vs. 100,000 cycles). This is because programming and erasure in NOR flash rely on different microscopic processes (hot electron injection and quantum tunneling, respectively), while they are perfectly symmetric in NAND flash (Fowler-Nordheim tunneling). The asymmetric nature of NOR flash programming and erasure increases the rate at which memory cells degrade, over many program/erase cycles.
The superior symmetric programming method of NAND flash has in fact been adopted in many NOR flash designs, so that some modern NOR chips boast endurance comparable to NAND flash.
 Serial flash
Serial flash is a small, low-power flash memory that uses a serial interface, typically SPI, for sequential data access. When incorporated into an embedded system, serial flash requires fewer wires on the PCB than parallel flash memories, since it transmits and receives data one bit at a time. This may permit a reduction in board space, power consumption, and total system cost.
There are several reasons why a serial device, with fewer external pins than a parallel device, can significantly reduce overall cost:
* Many ASICs are pad-limited, meaning that the size of the die is constrained by the number of wire bond pads, rather than the complexity and number of gates used for the device logic. Eliminating bond pads thus permits a more compact integrated circuit, on a smaller die; this increases the number of dies that may be fabricated on a wafer, and thus reduces the cost per die. * Reducing the number of external pins also reduces assembly and packaging costs. A serial device may be packaged in a smaller and simpler package than a parallel device. * Smaller and lower pin-count packages occupy reduced PCB area. * Lower pin-count devices simplify PCB routing.
 Firmware storage
With the increasing speed of modern CPUs, parallel flash devices are often too slow to execute in place program code stored on them. Conversely, modern SRAM offers access times below 10 ns, while DDR2 SDRAM offers access times below 20 ns. Because of this, it is often necessary to shadow code stored in flash into RAM; that is, code must be copied from flash into RAM before execution, so that the CPU may access it at full speed. Device firmware may be stored in a serial flash device, and then copied into SDRAM or SRAM when the device is powered-up.  Using an external serial flash device rather than on-chip flash removes the need for significant process compromise (a process that is good for high speed logic is generally not good for flash and vice-versa). Once it is decided to read the firmware in as one big block it is common to add compression to allow a smaller flash chip to be used. Typical applications for serial flash include storing firmware for hard drives, Ethernet controllers, DSL modems, wireless network devices, etc.
 Flash file systems
Because of the particular characteristics of flash memory, it is best used with specifically designed file systems which spread writes over the media and deal with the long erase times of NOR flash blocks. The basic concept behind flash file systems is: When the flash store is to be updated, the file system will write a new copy of the changed data over to a fresh block, remap the file pointers, then erase the old block later when it has time. One of the earliest flash file systems was Microsoft's FFS2 (presumably preceded by FFS1), for use with MS-DOS in the early 1990s. Around 1994, the PCMCIA industry group approved the FTL (Flash Translation Layer) specification, which allowed a Linear Flash device to look like a FAT disk, but still have effective wear levelling. Other commercial systems such as FlashFX by Datalight were created to avoid patent concerns with FTL.
JFFS was the first flash-specific file system for Linux, but it was quickly superseded by JFFS2, originally developed for NOR flash. Then YAFFS was released in 2003, dealing specifically with NAND flash, and JFFS2 was updated to support NAND flash too. In practice, these filesystems are only used for "Memory Technology Devices" ("MTD"), which are embedded flash memories which do not have a controller. Removable flash media, such as SD and CF cards and USB flash drives, have a controller (often built into the card) to perform wear-levelling and error correction, so use of JFFS2 or YAFFS does not add any benefit. These removable flash memory devices are often used with the old FAT filesystem for compatibility with cameras and other portable devices. Controllerless removable flash memory devices also exist; For example, SmartMedia is even electrically compatible with the Toshiba TC58 series of NAND flash chips.
Common flash memory parts (individual internal components or "chips") range widely in capacity from kilobits to several gigabits each. Multiple chips are often arrayed to achieve higher capacities for use in devices such as the iPod nano or SanDisk Sansa e200. The capacity of flash chips generally follows Moore's law because they are produced with the same processes used to manufacture other integrated circuits. However, there have also been jumps beyond Moore's law due to innovations in technology.
In 2005, Toshiba and SanDisk developed a NAND flash chip capable of storing 1 GB of data using Multi-level Cell (MLC) technology, capable of storing 2 bits of data per cell. In September 2005, Samsung Electronics announced that it had developed the world’s first 2 GB chip.
In March 2006, Samsung announced flash hard drives with a capacity of 4 GB, essentially the same order of magnitude as smaller laptop hard drives, and in September of 2006, Samsung announced an 8 GB chip produced using a 40 nm manufacturing process.
Flash memory products for end-users, such as memory cards and USB drives, were as of mid 2007 widely available in capacities ranging from 512 megabytes to 16 gigabytes. The highest capacity is found in USB devices with a current record of 128 GB.
Hitachi (formerly the OEM hard disk unit supplying IBM) has a competing hard-drive mechanism, the Microdrive, that can fit inside the shell of a type II CompactFlash card. It has a capacity up to 8 GB.
Flash memory cards are available in different speeds. Some are specified the approximate transfer rate of the card such as 2 MB per second, 12 MB per second, etc. The exact speed of these cards depends on which definition of "megabyte" the marketer has chosen to use.
Many cards are simply rated 100x, 130x, 200x, etc. For these cards the base assumption is that 1x is equal to 150 kibibytes per second. This was the speed at which the first CD drives could transfer information, which was adopted as the reference speed for flash memory cards. Thus, when comparing a 100x card to a card capable of 12 MiB per second the following calculations are useful:
150 KiB x 100 = 15000 KiB per second = 14.65 MiB per second.
Therefore, the 100x card is 14.65 MiB per second, which is faster than the card that is measured at 12 MiB per second.
 Flash memory as a replacement for hard drives
Main article: Solid state drive
An obvious extension of flash memory would be as a replacement for hard disks. Flash memory does not have the mechanical limitations and latencies of hard drives, so the idea of a solid state drive, or SSD, is attractive when considering speed, noise, power consumption, and reliability.
There remain some aspects of flash-based SSDs that make the idea unattractive. Most importantly, the cost per gigabyte of flash memory remains significantly higher than that of platter-based hard drives. Although this ratio is decreasing rapidly for flash memory, it is not yet clear that flash memory will catch up to the capacities and affordability offered by platter-based storage. Still, research and development is sufficiently vigorous that it is not clear that it will not happen, either.
There is also some concern that the finite number of erase/write cycles of flash memory would render flash memory unable to support an operating system. This seems to be a decreasing issue as warranties on flash-based SSDs are approaching those of current hard drives.
As of May 24, 2006, South Korean consumer-electronics manufacturer Samsung Electronics had released the first flash-memory based PCs, the Q1-SSD and Q30-SSD, both of which have 32 GB SSDs. Dell Computer introduced the Latitude D430 laptop with 32 GB flash-memory storage in July 2007 -- at a price significantly above a hard-drive equipped version.
At the Las Vegas CES 2007 Summit Taiwanese memory company A-DATA showcased SSD hard disk drives based on Flash technology in capacities of 32 GB, 64 GB and 128 GB. Sandisk announced an OEM 32 GB 1.8" SSD drive at CES 2007.
The XO-1, developed by the One Laptop Per Child (OLPC) association, uses flash memory rather than a hard drive.
As of June 2007, a South Korean company called Mtron claims the fastest SSD with sequential read/write speeds of 100 MB/80 MB per second.
Rather than entirely replacing the hard drive, hybrid techniques such as hybrid drive and ReadyBoost attempt to combine the advantages of both technologies, using flash as a high-speed cache for files on the disk that are often referenced, but rarely modified, such as application and operation system executable files
Compact Disc logo/trademark Compact Disc logo/trademark Optical disc authoring
* Optical disc * Optical disc image * Optical disc drive * Authoring software * Recording technologies o Recording modes o Packet writing
Optical media types
* Laserdisc * Compact disc (CD): CD-Audio, PhotoCD, CD-R, CD-ROM, CD-RW, Video CD, SVCD, CD+G, CD-Text, CD-ROM XA, CD-Extra, CD-i Bridge, CD-i * MiniDisc * DVD: DVD-R, DVD-D, DVD-R DL, DVD+R, DVD+R DL, DVD-RW, DVD+RW, DVD-RW DL, DVD+RW DL, DVD-RAM * Blu-ray Disc: BD-R, BD-RE * HD DVD: HD DVD-R, HD DVD-RW, HD DVD-RAM * UDO * UMD * Holographic data storage * 3D optical data storage * History of optical storage media
* Rainbow Books * File systems o ISO 9660 + Joliet + Rock Ridge # Amiga Rock Ridge extensions + El Torito + Apple ISO9660 Extensions o Universal Disk Format + Mount Rainier
CD-ROM (an abbreviation of "Compact Disc read-only memory") is a Compact Disc that contains data accessible by a computer. While the Compact Disc format was originally designed for music storage and playback, the format was later adapted to hold any form of binary data. CD-ROMs are popularly used to distribute computer software, including games and multimedia applications, though any data can be stored (up to the capacity limit of a disc). Some CDs hold both computer data and audio with the latter capable of being played on a CD player, whilst data (such as software or digital video) is only usable on a computer (such as PC CD-ROMs). These are called Enhanced CDs.
Although many people use lowercase letters in this acronym, proper presentation is in all capital letters with a hyphen between CD and ROM. It was also suggested by some, especially soon after the technology was first released, that CD-ROM was an acronym for "Compact Disc read-only-media", or that it was a more 'correct' definition. This was not the intention of the original team who developed the CD-ROM, and common acceptance of the 'memory' definition is now almost universal. This is probably in no small part due to the widespread use of other 'ROM' acronyms such as Flash-ROMs and EEPROMs where 'memory' is the correct term. Contents [hide]
* 1 Media o 1.1 Standards o 1.2 CD-ROM format + 1.2.1 CD sector contents o 1.3 Manufacture o 1.4 Capacity * 2 CD-ROM drives o 2.1 Transfer rates * 3 Copyright issues * 4 See also * 5 References * 6 Further reading * 7 External links
Main article: Compact Disc
CD-ROM discs are identical in appearance to audio CDs, and data is stored and retrieved in a very similar manner (only differing from audio CDs in the standards used to store the data). Discs are made from a 1.2 mm thick disc of polycarbonate plastic, with a thin layer of aluminum to make a reflective surface. The most common size of CD-ROM disc is 120 mm in diameter, though the smaller Mini CD standard with an 80 mm diameter, as well as numerous non-standard sizes and shapes (e.g. business card-sized media) are also available.
Data is stored on the disc as a series of microscopic indentations ("pits", with the gaps between them referred to as "lands"). A laser is shone onto the reflective surface of the disc to read the pattern of pits and lands. Because the depth of the pits is approximately one-quarter to one-sixth of the wavelength of the laser light used to read the disc, the reflected beam's phase is shifted in relation to the incoming beam, causing destructive interference and reducing the reflected beam's intensity. This pattern of changing intensity of the reflected beam is converted into binary data.
There are several formats used for data stored on compact discs, known collectively as the Rainbow Books. These include the original Red Book standards for CD audio, White Book and Yellow Book CD-ROM. The ECMA-130 standard, which gives a thorough description of the physics and physical layer of the CD-ROM, inclusive of CIRC and Eight-to-Fourteen Modulation, can be downloaded from .
ISO 9660 defines the standard file system of a CD-ROM, although it is due to be replaced by ISO 13490. UDF format is used on user-writeable CD-R and CD-RW discs that are intended to be extended or overwritten. The bootable CD specification, to make a CD emulate a hard disk or floppy, is called El Torito. Apparently named this because its design originated in an El Torito restaurant in Irvine, California.
 CD-ROM format
A CD-ROM sector contains 2352 bytes, divided into 98 24-byte frames. The CD-ROM is, in essence, a data disk, which cannot rely on error concealment, and therefore requires a higher reliability of the retrieved data. In order to achieve improved error correction and detection, a CD-ROM has a third layer of Reed-Solomon error correction. A Mode-1 CD-ROM, which has the full three layers of error correction data, contains a net 2048 bytes of the available 2352 per sector. In a Mode-2 CD-ROM, which is mostly used for video files, there are 2336 user-available bytes per sector. The net byte rate of a Mode-1 CD-ROM, based on comparison to CDDA audio standards, is 44.1k/s×4B×2048/2352 = 153.6 kB/s. The playing time is 74 minutes, or 4440 seconds, so that the net capacity of a Mode-1 CD-ROM is 682 MB.
A 1x speed CD drive reads 75 consecutive sectors per second.
 CD sector contents
* A standard 74 min CD contains 333,000 blocks or sectors. * Each sector is 2352 bytes, and contains 2048 bytes of PC (MODE1) Data, 2336 bytes of PSX/VCD (MODE2) Data, or 2352 bytes of AUDIO. * The difference between sector size and data content are the Headers info and the Error Correction Codes, that are big for Data (high precision required), small for VCD (standard for video) and none for audio. * If extracting the disc in RAW format (standard for creating images) always extract 2352 bytes per sector, not 2048/2336/2352 bytes depending on data type (basically, extracting the whole sector). This fact has two main consequences: o Recording data CDs at very high speed (40x) can be done without losing information. However, as audio CDs do not contain a third layer of error correction codes, recording these at high speed may result in more unrecoverable errors or 'clicks' in the audio. o On a 74 minute CD, one can fit larger images using RAW mode, up to 333,000 × 2352 = 783,216,000 bytes (747~ MiB). This is the upper limit for RAW images created on a 74 min or 650~ MiB Red Book CD. The 14.8% increase is due to the discarding of error correction data * Please note that an image size is always a multiple of 2352 bytes (the size of a block) when extracting in RAW mode.
Layout Type ← 2,352 bytes block → CD Digital Audio: 2,352 bytes of Digital Audio CD-ROM (MODE1): 10 4 2,048 bytes of user data 4 8 276 CD-ROM (MODE2): 12 4 2,336 bytes of user data Legend (bytes) 12 sync 4 sector ID data 4 error detection 8 blank/null 276 error correction
Main article: CD manufacturing
Pre-pressed CD-ROMs are mass-produced by a process of stamping where a glass master disc is created and used to make "stampers", which in turn are used to manufacture multiple copies of the final disc with the pits already present. Recordable (CD-R) and rewritable (CD-RW) discs are manufactured by a similar method, but the data is recorded on them by a laser changing the properties of a dye or phase change material in a process that is often referred to as "burning".
A standard 120 mm CD-ROM holds 650 or 700 MiB of data. To put this storage capacity into context, the average novel contains 100,000 words. Assume that average word length is 10 letters and that each letter occupies one byte. A novel therefore might occupy 1,000,000 bytes (1000 kB, without layout information). One CD can therefore contain around 700 novels. If each novel occupies at least one centimetre of bookshelf space, then one CD can contain the equivalent of seven metres of bookshelf. However, textual data can be compressed by more than a factor of ten, using compression algorithms, so a CD-ROM can accommodate close to 100 metres of bookshelf space.
In comparison a single layer DVD contains 4.4 GiB of data, approximately 6 times the amount of a CD-ROM. Capacities of Compact Disc types Type Sectors Data max size Audio max size Time (MB) (MiB) (MB) (MiB) (min) 8 cm 94,500 193.536 ≈ 184.6 222.264 ≈ 212.0 21 283,500 580.608 ≈ 553.7 666.792 ≈ 635.9 63 650 MB 333,000 681.984 ≈ 650.3 783.216 ≈ 746.9 74 700 MB 360,000 737.280 ≈ 703.1 846.720 ≈ 807.4 80 800 MB 405,000 829.440 ≈ 791.0 952.560 ≈ 908.4 90 900 MB 445,500 912.384 ≈ 870.1 1,047.816 ≈ 999.3 99 Note: Megabyte (MB) and minute (min) values are exact.
CD capacities are always given in binary units, although decimal SI prefixes are usually used: a "700 MB" CD has a nominal capacity of about 700 MiB. DVD capacities, on the other hand, are given in decimal units: a "4.7 GB" DVD has a nominal capacity of about 4.38 GiB.
 CD-ROM drives
Further information: Optical disc drive
Old 4x CD-ROM Drive Old 4x CD-ROM Drive
CD-ROM discs are read using CD-ROM drives, which are now almost universal on personal computers. A CD-ROM drive may be connected to the computer via an IDE (ATA), SCSI, S-ATA, Firewire, or USB interface or a proprietary interface, such as the Panasonic CD interface. Virtually all modern CD-ROM drives can also play audio CDs as well as Video CDs and other data standards when used in conjunction with the right software.
 Transfer rates
The rate at which CD-ROM drives can transfer data from the disc is gauged by a speed factor relative to music CDs: 1x or 1-speed which gives a data transfer rate of 150 kilobytes per second in the most common data format. By increasing the speed at which the disc is spun, data can be transferred at greater rates. For example, a CD-ROM drive that can read at 8x speed spins the disc at up to 4000 rpm (compared to the 500 rpm maximum for 1x speed), giving a transfer rate of 1.2 megabytes per second. Above 12x speed, vibration and heat can become a problem. CD-ROM drives above this speed tackle the problem in several ways. Constant angular velocity (CAV) drives spin the disc at a constant rate, leading to faster data transfer when reading from the outer parts of the disc, but slower towards the centre. 20x was thought to be the maximum speed due to mechanical constraints until Samsung Electronics introduced the SCR-3230, a 32x CD-ROM drive which uses a ball bearing system to balance the spinning disc in the drive to reduce vibration and noise. As of 2004, the fastest transfer rate commonly available is about 52x or 10,350 rpm and 7.62 megabytes per second, though this is only when reading information from the outer parts of a disc. Future speed increases based simply upon spinning the disc faster are particularly limited by the strength of polycarbonate plastic used in CD manufacturing, though improvements can still be obtained by the use of multiple laser pickups as demonstrated by the Kenwood TrueX 72x which uses seven laser beams and a rotation speed of approximately 10x.
CD-Recordable drives are often sold with three different speed ratings, one speed for write-once operations, one for re-write operations, and one for read-only operations. The speeds are typically listed in that order; ie a 12x/10x/32x CD drive can, CPU and media permitting, write to CD-R disks at 12x speed (1.76 megabytes/s), write to CD-RW discs at 10x speed (1.46 megabytes/s), and read from CD discs at 32x speed (4.69 megabytes/s).
The 1x speed rating for CDs (150 kilobytes/s) is not to be confused with the 1x speed rating for DVDs (1.32 megabytes/s). A view of a CD-ROM drive's disassembled laser system. A view of a CD-ROM drive's disassembled laser system. The movement of the laser enables reading at any position of the CD. The movement of the laser enables reading at any position of the CD. The laser system of a CD Drive. The laser system of a CD Drive.
Common transfer speeds: Data Transfer Speeds Transfer Speed Megabytes/s Megabits/s Mebibits/s 1x 0.15 1.2 1.1444 2x 0.3 2.4 2.2888 4x 0.6 4.8 4.5776 8x 1.2 9.6 9.1553 10x 1.5 12.0 11.4441 12x 1.8 14.4 13.7329 20x 3.0 24.0 22.8882 32x 4.8 38.4 36.6211 36x 5.4 43.2 41.1987 40x 6.0 48.0 45.7764 48x 7.2 57.6 54.9316 50x 7.5 60.0 57.2205 52x 7.8 62.4 59.5093
 Copyright issues This article or section needs to be updated. Parts of this article or section are no longer up to date. Please update the article to reflect recent events, and remove this template when finished.
Main article: CD/DVD copy protection
There has been a move by the recording industry to make audio CDs (CDDAs, Red Book CDs) unplayable on computer CD-ROM drives, to prevent the copying of music. This is done by intentionally introducing errors onto the disc that the embedded circuits on most stand-alone audio players can automatically compensate for, but which may confuse CD-ROM drives. Consumer rights advocates are as of October 2001 pushing to require warning labels on compact discs that do not conform to the official Compact Disc Digital Audio standard (often called the Red Book) to inform consumers of which discs do not permit full fair use of their content.
In 2005, Sony BMG Music Entertainment were criticised when a copy protection mechanism known as Extended Copy Protection (XCP) used on some of their audio CDs automatically and surreptitiously installed copy-prevention software on computers (see 2005 Sony BMG CD copy protection scandal). Such discs are not legally allowed to be called CDs or Compact Discs because they break the Red Book standard governing CDs, and Amazon.com for example describes them as "copy protected discs" rather than "compact discs" or "CDs".
Software distributors, and in particular distributors of computer games, often make use of various copy protection schemes to prevent software running from any media besides the original CD-ROMs. This differs somewhat from audio CD protection in that it is usually implemented in both the media and the software itself. The CD-ROM itself may contain "weak" sectors to make copying the disc more difficult, and additional data that may be difficult or impossible to copy to a CD-R or disc image, but which the software checks for each time it is run to ensure an original disc and not an unauthorized copy is present in the computer's CD-ROM drive.
Manufacturers of CD writers (CD-R or CD-RW) are encouraged by the music industry to ensure that every drive they produce has a unique identifier, which will be encoded by the drive on every disc that it records: the RID or Recorder Identification Code. This is a counterpart to the SID — the Source Identification Code, an eight character code beginning with "IFPI" that is usually stamped on discs produced by CD recording plants.