Random-access memory

RAMmemoryrandom access memoryrandom-accessSRAMmain memoryMemory (RAM)system memorycomputer memorymemory wall
Random-access memory (RAM ) is a form of computer data storage that stores data and machine code currently being used.wikipedia
2,460 Related Articles

Computer data storage

main memorystoragememory
Random-access memory (RAM ) is a form of computer data storage that stores data and machine code currently being used.
In contemporary usage, "memory" is usually semiconductor storage read-write random-access memory, typically DRAM (dynamic RAM) or other forms of fast but temporary storage.

Reading (computer)

readingreadread channel
A random-access memory device allows data items to be read or written in almost the same amount of time irrespective of the physical location of data inside the memory.
For example, a computer may read information off a floppy disk and store it temporarily in random access memory before it is written to the hard drive to be processed at a future date.

Delay line memory

acoustic delay linedelay linesdelay line
Early computers used relays, mechanical counters or delay lines for main memory functions.
Like many modern forms of electronic computer memory, delay line memory was a refreshable memory, but as opposed to modern random-access memory, delay line memory was sequential-access.

Williams tube

Williams–Kilburn tubeWilliams-Kilborn tubeWilliams-Kilburn tube
The first practical form of random-access memory was the Williams tube starting in 1947.
It was the first random-access digital storage device, and was used successfully in several early computers.

Dynamic random-access memory

DRAMdynamic RAMdynamic random access memory
RAM is normally associated with volatile types of memory (such as DRAM modules), where stored information is lost if power is removed, although non-volatile RAM has also been developed. Many computer systems have a memory hierarchy consisting of processor registers, on-die SRAM caches, external caches, DRAM, paging systems and virtual memory or swap space on a hard drive.
Dynamic random-access memory (DRAM) is a type of random access semiconductor memory that stores each bit of data in a separate tiny capacitor within an integrated circuit.

Manchester Baby

BabyA routine for the Manchester BabyBaby, or SSEM
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.
The machine was not intended to be a practical computer, but was instead designed as a testbed for the Williams tube, the first truly random-access computer memory.

Non-volatile memory

non-volatilenon-volatile storagenon-volatile memories
Other types of non-volatile memories exist that allow random access for read operations, but either do not allow write operations or have other kinds of limitations on them.
The most widely used form of primary storage today is a volatile form of random access memory (RAM), meaning that when the computer is shut down, anything contained in RAM is lost.

Integrated circuit

integrated circuitsmicrochipchip
In today's technology, random-access memory takes the form of integrated circuits.
A random-access memory is the most regular type of integrated circuit; the highest density devices are thus memories; but even a microprocessor will have memory on the chip.

Calculator

pocket calculatorcalculatorselectronic calculator
The Toshiba Toscal BC-1411 electronic calculator, which was introduced in 1965, used a form of DRAM built from discrete components.
It could be expanded with random access memory (RAM, for memory) and read-only memory (ROM, for software) modules, and peripherals like bar code readers, microcassette and floppy disk drives, paper-roll thermal printers, and miscellaneous communication interfaces (RS-232, HP-IL, HP-IB).

Computer memory

memorymemoriesmain memory
The memory cell is the fundamental building block of computer memory.
Computer memory operates at a high speed, for example random-access memory (RAM), as a distinction from storage that provides slow-to-access information but offers higher capacities.

Processor register

registersregistergeneral purpose register
Many computer systems have a memory hierarchy consisting of processor registers, on-die SRAM caches, external caches, DRAM, paging systems and virtual memory or swap space on a hard drive.
Modern processors use either static or dynamic RAM as main memory, with the latter usually accessed via one or more cache levels.

Volatile memory

volatilememoryvolatile program memory
RAM is normally associated with volatile types of memory (such as DRAM modules), where stored information is lost if power is removed, although non-volatile RAM has also been developed.
Most of the general-purpose random-access memory (RAM) is volatile.

Magnetic-core memory

core memorymagnetic core memoryferrite core memory
Magnetic-core memory was invented in 1947 and developed up until the mid-1970s.
Core was replaced with integrated semiconductor RAM chips in the 1970s.

Paging

swap spaceswap fileswap
Many computer systems have a memory hierarchy consisting of processor registers, on-die SRAM caches, external caches, DRAM, paging systems and virtual memory or swap space on a hard drive.
For simplicity, main memory is called "RAM" (an acronym of "random-access memory") and secondary storage is called "disk" (a shorthand for "hard disk drive"), but the concepts do not depend on whether these terms apply literally to a specific computer system.

RAM drive

ramdiskvirtual driveRAM 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 drive (also called a RAM disk) is a block of random-access memory (primary storage or volatile memory) that a computer's software is treating as if the memory were a disk drive (secondary storage).

Drum memory

magnetic drumdrummagnetic drums
In contrast, with other direct-access data storage media such as hard disks, CD-RWs, DVD-RWs and the older magnetic tapes and drum memory, 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.
Random-access memory

Flash memory

flashNANDflash storage
These include most types of ROM and a type of flash memory called NOR-Flash.
With the increasing speed of modern CPUs, parallel flash devices are often much slower than the memory bus of the computer they are connected to. Conversely, modern SRAM offers access times below 10 ns, while DDR2 SDRAM offers access times below 20 ns. Because of this, it is often desirable to shadow code stored in flash into RAM; that is, the code is copied from flash into RAM before execution, so that the CPU may access it at full speed.

Non-volatile random-access memory

NVRAMnon-volatile RAMnon-volatile random access memory
Several new types of non-volatile RAM, which preserve data while powered down, are under development.
Non-volatile random-access memory (NVRAM) is random-access memory that retains its information when power is turned off.

Core rope memory

read-only memoryCore roperope memory
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.
Contrary to ordinary coincident-current magnetic-core memory, which was used for random access memory (RAM) at the time, the ferrite cores in a core rope are just used as transformers.

Read-only memory

ROMROMsread-only
These include most types of ROM and a type of flash memory called NOR-Flash. 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.
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 needs 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.

Error detection and correction

error correctionerror detectionerror-correction
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 bits or error correction codes.
Error-correcting codes are frequently used in lower-layer communication, as well as for reliable storage in media such as CDs, DVDs, hard disks, and RAM.

Memory cell (computing)

memory cellmemory cellscell
In SRAM, a bit of data is stored using the state of a six transistor memory cell.
It was operational in 1947 and is considered the first practical implementation of random-access memory.

Magnetoresistive random-access memory

MRAMmagnetic random access memorymagnetoresistive devices
Amongst the 1st generation MRAM, a 128 KiB (128 × 2 10 bytes) chip was manufactured with 0.18 µm technology in the summer of 2003.
Unlike conventional RAM chip technologies, data in MRAM is not stored as electric charge or current flows, but by magnetic storage elements.

Thrashing (computer science)

thrashingcache thrashingdisk thrashing
Excessive use of this mechanism results in thrashing and generally hampers overall system performance, mainly because hard drives are far slower than RAM.
Virtual memory is notable for allowing processes to use more memory than is physically present in main memory and for enabling virtual machines.

BIOS

system BIOSBasic Input/Output Systemsystem
As a common example, the BIOS in typical personal computers often has an option called “use shadow BIOS” or similar.
The POST checks, identifies, and initializes system devices such as the CPU, RAM, interrupt and DMA controllers and other parts of the chipset, video display card, keyboard, hard disk drive, optical disc drive and other basic hardware.