Random Access Memory

Random access memory is a computer's fast, volatile working memory: the place where the operating system, running programs and the data they are currently using are held so that the processor can read or write any location in about the same short time, regardless of where it is. Volatile means the contents vanish when power is removed, which is why a document that has not been saved is lost in a crash. Random access refers to the freedom to jump to any address directly, in contrast to tape, which must be wound to the right spot; the general idea of memory is covered under its own entry, and this one is about the specific component of that name.

Most RAM in everyday machines is dynamic RAM, a design whose cell is one transistor and one tiny capacitor, invented by Robert Dennard at IBM in 1966. A bit is stored as the presence or absence of charge on the capacitor, a cell so small that billions fit on a chip, which is what makes gigabytes affordable. The charge leaks away within milliseconds, so the memory controller must refresh every row continuously, typically within a 64 millisecond window, and reading a cell is destructive and must be followed by a write-back. Intel's 1103, released in 1970, was the first commercially successful DRAM chip and helped displace magnetic core memory. Static RAM, built from several transistors per bit with no refresh needed, is faster but bulkier and costlier per bit, and is therefore reserved for the cache memory inside processors rather than for main memory.

Program asks for the byte at address 0x7F3A10
the processor misses in cache and goes to main memory
Inside a DRAM chip
Activate row
the whole row of capacitors is read into sense amplifiers
Select column
the wanted bits are picked from the row buffer
Precharge and refresh
the row is restored; every row is also refreshed on a timer
Data returns across the memory channel
tens of nanoseconds, far slower than a register or cache

Modern RAM is sold as synchronous modules whose generation determines compatibility. Synchronous DRAM ties its operation to a clock, and the double-data-rate versions transfer on both clock edges: DDR SDRAM appeared around 2000, followed by DDR2 in 2003, DDR3 in 2007, DDR4 in 2014 and DDR5 in 2020, each raising the transfer rate and cutting the voltage. Chips are soldered onto modules called DIMMs for desktops and servers, or fixed to the board in thin laptops and phones. Generations are physically keyed so they cannot be mixed, and using two or more channels in parallel multiplies the bandwidth available to the processor. Servers use error-correcting code memory, which stores extra bits so that a flipped bit can be detected and corrected, which matters because cosmic rays and electrical disturbance occasionally flip bits. The 2014 research paper on Rowhammer by Kim and colleagues showed that repeatedly accessing one row could even disturb neighboring rows, an unexpected security hazard.

RAM is often confused with storage, and the distinction explains many performance and capacity puzzles. A solid-state or hard disk keeps data when switched off and holds terabytes; RAM holds a working set of gigabytes, loses it at power-off, and is orders of magnitude lower in latency. The closely related registers inside the processor hold only a handful of values at once, and the processor core fetches from RAM through its caches. Installing more RAM does not by itself make a computer faster; it helps only when the working set had exceeded memory and the machine was shuffling pages to disk. Operating systems also deliberately fill spare RAM with cached disk contents, so a high memory-in-use figure is normal and not by itself a fault.

For programmers and data scientists, RAM is the budget that decides what can be done in one go. A table loaded into a dataframe typically occupies several times its file size, because text becomes objects and temporary copies are made during transformations, and running out of memory ends in an out-of-memory error or in heavy swapping. Training a neural network needs memory for parameters, gradients and activations, much of it in the graphics card's own memory rather than main RAM, and large language models are limited largely by how many gigabytes of fast memory the hardware offers. Remedies include processing in chunks, memory-mapping files, choosing smaller numeric types such as 32-bit floats, and virtual memory as a safety net, though that safety net is slow.

Read random access memory as the desk beside the processor: small compared with the filing cabinet of storage, wiped clean when the lights go out, but close enough and quick enough that the work actually gets done there.

Take random access memory further

Ask the copilot about this term, or have our engineers assess it against your process.