Our editors will review what you’ve submitted and determine whether to revise the article.
- Engineering LibreTexts - Memory
- Computer History Museum - Memory & Storage
- Institute for Statistics and Mathematics Resources Web Page - Computer Memory
- University of Diyala - College of Science - Computer memory
- OpenStax - Introduction to Computer Science - Memory Management
- ACM Digital Library - Evolution of computer memory structure (PDF)
- University of Rhode Island - College of Arts and Sciences - Department of Computer Science and Statistics - How Computers Work: The CPU and Memory
- IOPscience - Neuromorphic Computing and Engineering - Editorial: Focus issue on in-memory computing (PDF)
- University of Babylon - Computer Memory
- Stanford University - Computer Hardware (Memory)
computer memory
- What is computer memory?
- What is the difference between RAM and storage?
- What role does RAM play in a computer's performance?
- What is the function of ROM in a computer?
- What is cache memory and why is it important?
- How does virtual memory work and why is it used?
- What is the memory hierarchy in computer systems?
- What are non-volatile memory types and their uses in computing?
computer memory, device that is used to storedata or programs (sequences of instructions) on a temporary or permanent basis for use in an electronicdigital computer. Computers represent information inbinary code, written as sequences of 0s and 1s. Each binary digit (or “bit”) may be stored by any physical system that can be in either of two stable states, to represent 0 and 1. Such a system is called bistable. This could be an on-off switch, an electricalcapacitor that can store or lose a charge, a magnet with its polarity up or down, or a surface that can have a pit or not. Today capacitors andtransistors, functioning as tiny electrical switches, are used for temporary storage, and either disks or tape with a magnetic coating, or plastic discs with patterns of pits are used for long-term storage.
Computer memory is divided into main (or primary) memory andauxiliary (or secondary) memory. Main memory holds instructions and data when a program is executing, while auxiliary memory holds data and programs not currently in use and provides long-term storage.
Main memory
The earliest memory devices were electro-mechanical switches, or relays (seecomputers: The first computer), andelectron tubes (seecomputers: The first stored-program machines). In the late 1940s the first stored-program computers used ultrasonic waves in tubes ofmercury or charges in special electron tubes as main memory. The latter were the firstrandom-access memory (RAM). RAM contains storage cells that can be accessed directly for read and write operations, as opposed to serial access memory, such as magnetic tape, in which each cell in sequence must be accessed till the required cell is located.
Magnetic drum memory
Magnetic drums, which had fixed read/write heads for each of many tracks on the outside surface of a rotating cylinder coated with a ferromagnetic material, were used for both main and auxiliary memory in the 1950s, although their data access was serial.
Magnetic core memory
About 1952 the first relatively cheap RAM was developed: magnetic core memory, an arrangement of tiny ferrite cores on a wire grid through which current could be directed to change individual core alignments. Because of theinherent advantage of RAM, core memory was the principal form of main memory until superseded bysemiconductor memory in the late 1960s.

Semiconductor memory
There are two basic kinds of semiconductor memory.Static RAM (SRAM) consists offlip-flops, a bistable circuit composed of four to six transistors. Once a flip-flop stores a bit, it keeps that value until the opposite value is stored in it. SRAM gives fast access to data, but it is physically relatively large. It is used primarily for small amounts of memory called registers in a computer’scentral processing unit (CPU) and for fast “cache” memory.Dynamic RAM (DRAM) stores each bit in an electrical capacitor rather than in a flip-flop, using atransistor as a switch to charge ordischarge the capacitor. Because it has fewer electrical components, a DRAM storage cell is smaller than SRAM. However, access to its value is slower and, because capacitors gradually leak charges, stored values must be recharged approximately 50 times per second. Nonetheless, DRAM is generally used for main memory because the same sizechip can hold several times as much DRAM as SRAM.
Storage cells in RAM have addresses. It is common to organize RAM into “words” of 8 to 64 bits, or 1 to 8 bytes (8 bits = 1 byte). The size of a word is generally the number of bits that can be transferred at a time between main memory and the CPU. Every word, and usually every byte, has an address. A memory chip must have additionaldecoding circuits that select the set of storage cells that are at a particular address and either store a value at that address or fetch what is stored there. The main memory of a modern computer consists of a number of memory chips, each of which might hold many megabytes (millions of bytes), and still further addressing circuitry selects the appropriate chip for each address. In addition, DRAM requires circuits to detect its stored values and refresh them periodically.
Main memories take longer to access data than CPUs take to operate on them. For instance, DRAM memory access typically takes 20 to 80 nanoseconds (billionths of a second), but CPU arithmetic operations may take only a nanosecond or less. There are several ways in which this disparity is handled. CPUs have a small number of registers, very fast SRAM that hold current instructions and the data on which they operate.Cache memory is a larger amount (up to several megabytes) of fast SRAM on the CPU chip. Data and instructions from main memory are transferred to thecache, and since programs frequently exhibit “locality of reference”—that is, they execute the same instruction sequence for a while in a repetitive loop and operate on sets of related data—memory references can be made to the fast cache once values are copied into it from main memory.
Much of the DRAM access time goes into decoding the address to select the appropriate storage cells. The locality of reference property means that a sequence of memory addresses will frequently be used, and fast DRAM is designed to speed access tosubsequent addresses after the first one. Synchronous DRAM (SDRAM) and EDO (extended data output) are two such types of fast memory.
Nonvolatile semiconductor memories, unlike SRAM and DRAM, do not lose their contents when power is turned off. Some nonvolatile memories, such asread-only memory (ROM), are not rewritable once manufactured or written. Each memory cell of a ROM chip has either a transistor for a 1 bit or none for a 0 bit. ROMs are used for programs that are essential parts of a computer’s operation, such as the bootstrap program that starts a computer and loads itsoperating system or theBIOS (basic input/output system) that addresses external devices in apersonal computer (PC).
EPROM (erasable programmable ROM),EAROM (electrically alterable ROM), andflash memory are types of nonvolatile memories that are rewritable, though the rewriting is far more time-consuming than reading. They are thus used as special-purpose memories where writing is seldom necessary—if used for the BIOS, for example, they may be changed to correct errors or update features.





