Random-access memory (RAM; ) is a form of
computer memory that can be read and changed in any order, typically used to store working
data
In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpret ...
and
machine code. A
random-access memory device allows
data
In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpret ...
items to be
read or written in almost the same amount of time irrespective of the physical location of data inside the memory, in contrast with other direct-access data storage media (such as
hard disk
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magnet ...
s,
CD-RWs,
DVD-RWs and the older
magnetic tapes and
drum memory), where the time required to read and write data items varies significantly depending on their physical locations on the recording medium, due to mechanical limitations such as media rotation speeds and arm movement.
RAM contains
multiplexing
In telecommunications and computer networking, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a scarce resource - a ...
and
demultiplexing circuitry, to connect the data lines to the addressed storage for reading or writing the entry. Usually more than one bit of storage is accessed by the same address, and RAM devices often have multiple data lines and are said to be "8-bit" or "16-bit", etc. devices.
In today's technology, random-access memory takes the form of
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
(IC) chips with
MOS (metal-oxide-semiconductor)
memory cells. RAM is normally associated with
volatile types of memory where stored information is lost if power is removed. The two main types of volatile random-access
semiconductor memory
Semiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a sili ...
are
static random-access memory (SRAM) and
dynamic random-access memory (DRAM).
Non-volatile RAM has also been developed
and other types of
non-volatile memories allow random access for read operations, but either do not allow write operations or have other kinds of limitations on them. These include most types of
ROM and a type of
flash memory called ''
NOR-Flash''.
Use of semiconductor RAM dated back to 1965, when IBM introduced the monolithic (single-chip) 16-bit SP95 SRAM chip for their
System/360 Model 95 computer, and
Toshiba used discrete DRAM memory cells for its 180-bit Toscal BC-1411
electronic calculator, both based on
bipolar transistors. While it offered improved performance over
magnetic-core memory, bipolar DRAM could not compete with the lower price of the then-dominant magnetic-core memory.
MOS memory, based on
MOS transistors, was developed in the late 1960s, and was the basis for all early commercial semiconductor memory. The first commercial DRAM IC chip, the 1K
Intel 1103, was introduced in October 1970.
Synchronous dynamic random-access memory
Synchronous dynamic random-access memory (synchronous dynamic RAM or SDRAM) is any DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal.
DRAM integrated circuits (ICs) produced from the ...
(SDRAM) later debuted with the
Samsung KM48SL2000 chip in 1992.
History
Early computers used
relays,
mechanical counters or
delay lines for main memory functions. Ultrasonic delay lines were
serial devices which could only reproduce data in the order it was written.
Drum memory could be expanded at relatively low cost but efficient retrieval of memory items required knowledge of the physical layout of the drum to optimize speed. Latches built out of
vacuum tube
A vacuum tube, electron tube, valve (British usage), or tube (North America), is a device that controls electric current flow in a high vacuum between electrodes to which an electric voltage, potential difference has been applied.
The type kn ...
triodes, and later, out of discrete
transistors, were used for smaller and faster memories such as registers. Such registers were relatively large and too costly to use for large amounts of data; generally only a few dozen or few hundred bits of such memory could be provided.
The first practical form of random-access memory was the
Williams tube starting in 1947. It stored data as electrically charged spots on the face of a
cathode-ray tube. Since the electron beam of the CRT could read and write the spots on the tube in any order, memory was random access. The capacity of the Williams tube was a few hundred to around a thousand bits, but it was much smaller, faster, and more power-efficient than using individual vacuum tube latches. Developed at the
University of Manchester in England, the Williams tube provided the medium on which the first electronically stored program was implemented in the
Manchester Baby computer, which first successfully ran a program on 21 June 1948. In fact, rather than the Williams tube memory being designed for the Baby, the Baby was a
testbed to demonstrate the reliability of the memory.
Magnetic-core memory was invented in 1947 and developed up until the mid-1970s. It became a widespread form of random-access memory, relying on an array of magnetized rings. By changing the sense of each ring's magnetization, data could be stored with one bit stored per ring. Since every ring had a combination of address wires to select and read or write it, access to any memory location in any sequence was possible. Magnetic core memory was the standard form of
computer memory system until displaced by
solid-state
Solid state, or solid matter, is one of the four fundamental states of matter.
Solid state may also refer to:
Electronics
* Solid-state electronics, circuits built of solid materials
* Solid state ionics, study of ionic conductors and their ...
MOS (
metal–oxide–silicon)
semiconductor memory
Semiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a sili ...
in
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
s (ICs) during the early 1970s.
Prior to the development of integrated
read-only memory (ROM) circuits, ''permanent'' (or ''read-only'') random-access memory was often constructed using
diode matrices driven by
address decoders, or specially wound
core rope memory planes.
Semiconductor memory
Semiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a sili ...
began in the 1960s with bipolar memory, which used
bipolar transistors. While it improved performance, it could not compete with the lower price of magnetic core memory.
MOS RAM
The invention of the
MOSFET
The metal–oxide–semiconductor field-effect transistor (MOSFET, MOS-FET, or MOS FET) is a type of field-effect transistor (FET), most commonly fabricated by the controlled oxidation of silicon. It has an insulated gate, the voltage of which d ...
(metal-oxide-semiconductor field-effect transistor), also known as the MOS transistor, by
Mohamed M. Atalla and
Dawon Kahng at
Bell Labs
Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984),
then AT&T Bell Laboratories (1984–1996)
and Bell Labs Innovations (1996–2007),
is an American industrial research and scientific development company owned by mult ...
in 1959,
led to the development of
metal-oxide-semiconductor (MOS) memory by John Schmidt at
Fairchild Semiconductor in 1964.
In addition to higher performance, MOS
semiconductor memory
Semiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a sili ...
was cheaper and consumed less power than magnetic core memory.
The development of
silicon-gate MOS integrated circuit (MOS IC) technology by
Federico Faggin at Fairchild in 1968 enabled the production of MOS
memory chips. MOS memory overtook magnetic core memory as the dominant memory technology in the early 1970s.
An integrated bipolar
static random-access memory (SRAM) was invented by Robert H. Norman at
Fairchild Semiconductor in 1963. It was followed by the development of MOS SRAM by John Schmidt at Fairchild in 1964.
SRAM became an alternative to magnetic-core memory, but required six MOS transistors for each
bit
The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented a ...
of data.
Commercial use of SRAM began in 1965, when
IBM introduced the SP95 memory chip for the
System/360 Model 95.
Dynamic random-access memory (DRAM) allowed replacement of a 4 or 6-transistor latch circuit by a single transistor for each memory bit, greatly increasing memory density at the cost of volatility. Data was stored in the tiny capacitance of each transistor, and had to be periodically refreshed every few milliseconds before the charge could leak away.
Toshiba's Toscal BC-1411
electronic calculator, which was introduced in 1965,
used a form of capacitive bipolar DRAM, storing 180-bit data on discrete
memory cells, consisting of
germanium bipolar transistors and capacitors.
While it offered improved performance over magnetic-core memory, bipolar DRAM could not compete with the lower price of the then dominant magnetic-core memory.
MOS technology is the basis for modern DRAM. In 1966, Dr.
Robert H. Dennard at the
IBM Thomas J. Watson Research Center was working on MOS memory. While examining the characteristics of MOS technology, he found it was capable of building
capacitor
A capacitor is a device that stores electrical energy in an electric field by virtue of accumulating electric charges on two close surfaces insulated from each other. It is a passive electronic component with two terminals.
The effect of a ...
s, and that storing a charge or no charge on the MOS capacitor could represent the 1 and 0 of a bit, while the MOS transistor could control writing the charge to the capacitor. This led to his development of a single-transistor DRAM memory cell.
In 1967, Dennard filed a patent under IBM for a single-transistor DRAM memory cell, based on MOS technology.
The first commercial DRAM IC chip was the
Intel 1103, which was
manufactured on an
8µm MOS process with a capacity of 1
kbit, and was released in 1970.
Synchronous dynamic random-access memory
Synchronous dynamic random-access memory (synchronous dynamic RAM or SDRAM) is any DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal.
DRAM integrated circuits (ICs) produced from the ...
(SDRAM) was developed by
Samsung Electronics. The first commercial SDRAM chip was the Samsung KM48SL2000, which had a capacity of 16
Mbit.
It was introduced by
Samsung in 1992, and mass-produced in 1993.
The first commercial
DDR SDRAM (
double data rate SDRAM) memory chip was Samsung's 64Mbit DDR SDRAM chip, released in June 1998.
GDDR (graphics DDR) is a form of DDR
SGRAM (synchronous graphics RAM), which was first released by Samsung as a 16Mbit memory chip in 1998.
Types
The two widely used forms of modern RAM are
static RAM
Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed.
The term ''static'' differen ...
(SRAM) and
dynamic RAM (DRAM). In SRAM, a
bit of data is stored using the state of a six-
transistor memory cell, typically using six MOSFETs. This form of RAM is more expensive to produce, but is generally faster and requires less dynamic power than DRAM. In modern computers, SRAM is often used as
cache memory for the CPU. DRAM stores a bit of data using a transistor and
capacitor
A capacitor is a device that stores electrical energy in an electric field by virtue of accumulating electric charges on two close surfaces insulated from each other. It is a passive electronic component with two terminals.
The effect of a ...
pair (typically a MOSFET and
MOS capacitor, respectively), which together comprise a DRAM cell. The capacitor holds a high or low charge (1 or 0, respectively), and the transistor acts as a switch that lets the control circuitry on the chip read the capacitor's state of charge or change it. As this form of memory is less expensive to produce than static RAM, it is the predominant form of computer memory used in modern computers.
Both static and dynamic RAM are considered ''volatile'', as their state is lost or reset when power is removed from the system. By contrast,
read-only memory (ROM) stores data by permanently enabling or disabling selected transistors, such that the memory cannot be altered. Writeable variants of ROM (such as
EEPROM and
NOR flash) share properties of both ROM and RAM, enabling data to
persist without power and to be updated without requiring special equipment.
ECC memory (which can be either SRAM or DRAM) includes special circuitry to detect and/or correct random faults (memory errors) in the stored data, using
parity bit
A parity bit, or check bit, is a bit added to a string of binary code. Parity bits are a simple form of error detecting code. Parity bits are generally applied to the smallest units of a communication protocol, typically 8-bit octets (bytes) ...
s or
error correction codes
In computing, telecommunication, information theory, and coding theory, an error correction code, sometimes error correcting code, (ECC) is used for controlling errors in data over unreliable or noisy communication channels. The central idea is ...
.
In general, the term ''RAM'' refers solely to solid-state memory devices (either DRAM or SRAM), and more specifically the main memory in most computers. In optical storage, the term
DVD-RAM is somewhat of a misnomer since, unlike
CD-RW or
DVD-RW it does not need to be erased before reuse. Nevertheless, a DVD-RAM behaves much like a hard disc drive if somewhat slower.
Memory cell
The memory cell is the fundamental building block of
computer memory. The memory cell is an
electronic circuit that stores one
bit
The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented a ...
of binary information and it must be set to store a logic 1 (high voltage level) and reset to store a logic 0 (low voltage level). Its value is maintained/stored until it is changed by the set/reset process. The value in the memory cell can be accessed by reading it.
In SRAM, the memory cell is a type of
flip-flop circuit, usually implemented using
FETs. This means that SRAM requires very low power when not being accessed, but it is expensive and has low storage density.
A second type, DRAM, is based around a capacitor. Charging and discharging this capacitor can store a "1" or a "0" in the cell. However, the charge in this capacitor slowly leaks away, and must be refreshed periodically. Because of this refresh process, DRAM uses more power, but it can achieve greater storage densities and lower unit costs compared to SRAM.
Addressing
To be useful, memory cells must be readable and writeable. Within the RAM device, multiplexing and demultiplexing circuitry is used to select memory cells. Typically, a RAM device has a set of address lines A0... An, and for each combination of bits that may be applied to these lines, a set of memory cells are activated. Due to this addressing, RAM devices virtually always have a memory capacity that is a power of two.
Usually several memory cells share the same address. For example, a 4 bit 'wide' RAM chip has 4 memory cells for each address. Often the width of the memory and that of the microprocessor are different, for a 32 bit microprocessor, eight 4 bit RAM chips would be needed.
Often more addresses are needed than can be provided by a device. In that case, external multiplexors to the device are used to activate the correct device that is being accessed.
Memory hierarchy
One can read and over-write data in RAM. Many computer systems have a memory hierarchy consisting of
processor register
A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. ...
s, on-
die SRAM caches, external
caches,
DRAM,
paging systems and
virtual memory or
swap space
In computer operating systems, memory paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage ...
on a hard drive. This entire pool of memory may be referred to as "RAM" by many developers, even though the various subsystems can have very different
access times, violating the original concept behind the ''random access'' term in RAM. Even within a hierarchy level such as DRAM, the specific row, column, bank,
rank, channel, or
interleave organization of the components make the access time variable, although not to the extent that access time to rotating
storage media or a tape is variable. The overall goal of using a memory hierarchy is to obtain the highest possible average access performance while minimizing the total cost of the entire memory system (generally, the memory hierarchy follows the access time with the fast CPU registers at the top and the slow hard drive at the bottom).
In many modern personal computers, the RAM comes in an easily upgraded form of modules called
memory modules or DRAM modules about the size of a few sticks of chewing gum. These can quickly be replaced should they become damaged or when changing needs demand more storage capacity. As suggested above, smaller amounts of RAM (mostly SRAM) are also integrated in the
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
and other
ICs
ICS may refer to:
Computing
* Image Cytometry Standard, a digital multidimensional image file format used in life sciences microscopy
* Industrial control system, computer systems and networks used to control industrial plants and infrastructu ...
on the
motherboard
A motherboard (also called mainboard, main circuit board, mb, mboard, backplane board, base board, system board, logic board (only in Apple computers) or mobo) is the main printed circuit board (PCB) in general-purpose computers and other expand ...
, as well as in hard-drives,
CD-ROMs, and several other parts of the computer system.
Other uses of RAM
In addition to serving as temporary storage and working space for the operating system and applications, RAM is used in numerous other ways.
Virtual memory
Most modern operating systems employ a method of extending RAM capacity, known as "virtual memory". A portion of the computer's
hard drive is set aside for a ''paging file'' or a ''scratch partition'', and the combination of physical RAM and the paging file form the system's total memory. (For example, if a computer has 2 GB (1024
3 B) of RAM and a 1 GB page file, the operating system has 3 GB total memory available to it.) When the system runs low on physical memory, it can "
swap" portions of RAM to the paging file to make room for new data, as well as to read previously swapped information back into RAM. Excessive use of this mechanism results in
thrashing and generally hampers overall system performance, mainly because hard drives are far slower than RAM.
RAM disk
Software can "partition" a portion of a computer's RAM, allowing it to act as a much faster hard drive that is called a
RAM disk. A RAM disk loses the stored data when the computer is shut down, unless memory is arranged to have a standby battery source, or changes to the RAM disk are written out to a nonvolatile disk. The RAM disk is reloaded from the physical disk upon RAM disk initialization.
Shadow RAM
Sometimes, the contents of a relatively slow ROM chip are copied to read/write memory to allow for shorter access times. The ROM chip is then disabled while the initialized memory locations are switched in on the same block of addresses (often write-protected). This process, sometimes called ''shadowing'', is fairly common in both computers and
embedded systems.
As a common example, the
BIOS in typical personal computers often has an option called "use shadow BIOS" or similar. When enabled, functions that rely on data from the BIOS's ROM instead use DRAM locations (most can also toggle shadowing of video card ROM or other ROM sections). Depending on the system, this may not result in increased performance, and may cause incompatibilities. For example, some hardware may be inaccessible to the
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
if shadow RAM is used. On some systems the benefit may be hypothetical because the BIOS is not used after booting in favor of direct hardware access. Free memory is reduced by the size of the shadowed ROMs.
Recent developments
Several new types of
''non-volatile'' RAM, which preserve data while powered down, are under development. The technologies used include
carbon nanotubes and approaches utilizing
Tunnel magnetoresistance. Amongst the 1st generation
MRAM, a 128
kbit ( bytes) chip was manufactured with 0.18 µm technology in the summer of 2003. In June 2004,
Infineon Technologies unveiled a 16
MB (16 × 2
20 bytes) prototype again based on 0.18 µm technology. There are two 2nd generation techniques currently in development:
thermal-assisted switching
Crocus Technology, founded in 2006, is a venture-capital-backed semiconductor startup company developing magnetoresistive random-access memory (MRAM) technology. The company's products originated in a Grenoble-based Spintec laboratory and its te ...
(TAS) which is being developed by
Crocus Technology, and
spin-transfer torque (STT) on which
Crocus,
Hynix,
IBM, and several other companies are working.
Nantero built a functioning carbon nanotube memory prototype 10
GB (10 × 2
30 bytes) array in 2004. Whether some of these technologies can eventually take significant market share from either DRAM, SRAM, or flash-memory technology, however, remains to be seen.
Since 2006, "
solid-state drives" (based on flash memory) with capacities exceeding 256 gigabytes and performance far exceeding traditional disks have become available. This development has started to blur the definition between traditional random-access memory and "disks", dramatically reducing the difference in performance.
Some kinds of random-access memory, such as "
EcoRAM", are specifically designed for
server farms, where
low power consumption is more important than speed.
Memory wall
The "memory wall" is the growing disparity of speed between CPU and memory outside the CPU chip. An important reason for this disparity is the limited communication bandwidth beyond chip boundaries, which is also referred to as ''bandwidth wall''. From 1986 to 2000,
CPU
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
speed improved at an annual rate of 55% while memory speed only improved at 10%. Given these trends, it was expected that
memory latency would become an overwhelming
bottleneck in computer performance.
CPU speed improvements slowed significantly partly due to major physical barriers and partly because current CPU designs have already hit the memory wall in some sense.
Intel summarized these causes in a 2005 document.
First of all, as chip geometries shrink and clock frequencies rise, the transistor leakage current increases, leading to excess power consumption and heat... Secondly, the advantages of higher clock speeds are in part negated by memory latency, since memory access times have not been able to keep pace with increasing clock frequencies. Third, for certain applications, traditional serial architectures are becoming less efficient as processors get faster (due to the so-called Von Neumann bottleneck), further undercutting any gains that frequency increases might otherwise buy. In addition, partly due to limitations in the means of producing inductance within solid state devices, resistance-capacitance (RC) delays in signal transmission are growing as feature sizes shrink, imposing an additional bottleneck that frequency increases don't address.
The RC delays in signal transmission were also noted in "Clock Rate versus IPC: The End of the Road for Conventional Microarchitectures" which projected a maximum of 12.5% average annual CPU performance improvement between 2000 and 2014.
A different concept is the processor-memory performance gap, which can be addressed by
3D integrated circuits that reduce the distance between the logic and memory aspects that are further apart in a 2D chip. Memory subsystem design requires a focus on the gap, which is widening over time. The main method of bridging the gap is the use of
caches; small amounts of high-speed memory that houses recent operations and instructions nearby the processor, speeding up the execution of those operations or instructions in cases where they are called upon frequently. Multiple levels of caching have been developed to deal with the widening gap, and the performance of high-speed modern computers relies on evolving caching techniques. There can be up to a 53% difference between the growth in speed of processor and the lagging speed of main memory access.
Solid-state hard drives have continued to increase in speed, from ~400 Mbit/s via
SATA3 in 2012 up to ~3 GB/s via
NVMe/
PCIe in 2018, closing the gap between RAM and hard disk speeds, although RAM continues to be an order of magnitude faster, with single-lane
DDR4 3200 capable of 25 GB/s, and modern
GDDR even faster. Fast, cheap,
non-volatile
Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data.
Non-volatile memory typic ...
solid state drives have replaced some functions formerly performed by RAM, such as holding certain data for immediate availability in
server farms - 1
terabyte of SSD storage can be had for $200, while 1 TB of RAM would cost thousands of dollars.
Timeline
SRAM
DRAM
SDRAM
See also
References
External links
*
{{DEFAULTSORT:Random-Access Memory
American inventions
Computer architecture
Computer memory
*