Part of the Computing fundamentals glossary:

RAM Defined | Briefly How RAM Works | Kinds of RAM
Main RAM | SRAM | BSRAM | DRAM | FPM DRAM | EDO RAM | EDO DRAM | BEDO DRAM | EDRAM | NVRAM | SDRAM | JEDEC SDRAM | PC100 SDRAM | DDR SDRAM | ESDRAM | DRDRAM | SLDRAM | FRAM
Video RAM | RAMDAC | VRAM | SGRAM | WRAM | MDRAM | RDRAM
The RAM Table 

RAM Defined

RAM (random access memory) is memory in which all areas can be written to or read from within the same amount of time. The operating system, application programs and data in current use are kept in RAM, specifically in the chip-on-card main memory, for quick access by the computer's processor.

RAM is slower than a processor's own smaller-instruction level-1, level-2 or level-3 cache memory but much faster to read from and write to than any of the other kinds of storage in a computer, including the hard disk, CD-ROM and even fast long term storage devices like SATA or PCI express-based flash storage.

However, the data in RAM generally stays there only as long as your computer is running; as such, it is termed volatile memory. Unlike the aforementioned storage devices, when you turn the computer off, RAM loses its data. When you turn your computer on again, your operating system and other files are once again loaded into RAM, usually from your hard disk. With some forms of sleep mode, the computer keeps RAM powered for a more instant-on wakeup.

RAM can be compared to a person's short-term memory and the hard disk to the long-term memory. The short-term memory focuses on work at hand, but can only keep so many facts in view at one time. If short-term memory fills up, the least-used information is generally forgotten. If required information is not in short-term memory your brain is sometimes able to refresh it from facts stored in long-term memory. A computer works similarly.

Sufficient RAM is important to computer performance because as RAM fills up, the processor needs to continually go to the hard disk to store old data in a page file from the RAM, while contesting with the new information and previously stored page file info needed for programs currently in use. This can further bottleneck the slower main storage and thereby slow down the computer's operation. This problem is getting increasingly unusual because most current computers have enough RAM. For many, the page file is not usually necessary except for compatibility.

How Big is RAM?

RAM is small, both in physical size (it's stored in microchip modules) and in the amount of data it can hold. It's much smaller than your hard disk. RAM comes in the form of "discrete" (meaning separate) microchip modules, DIMMs (dual in-line memory modules) or SIMMs (single in-line memory modules) that plug into DIMM slots in the computer's motherboard. These slots connect through a bus or set of electrical paths to the processor through the printed circuits of the motherboard and a memory controller that is part of a high speed northbridge chip or built into the processor. This provides a very direct path that provides for very high bandwidth, low latency access. The hard drive, on the other hand, stores data on a spinning magnetized surface (a platter) and data is retrieved and written by a electromagnetic head on an arm. The whole inside workings resemble a super-precise, high-speed metal phonograph record with an erratic moving needle. Being so mechanically limited and connected though the slower southbridge, hard disks are a magnitude of order slower than modern RAM.

Today's personal computers come with 4-16 gigabyte (GB) of RAM. Users of memory-intensive applications such as video editing and 3D rendering may use 32, 64 or even more gigabytes of memory in cluster computing. Most personal computers are designed to allow you to add additional RAM modules up to a certain limit (for example, up to 16-32 gigabytes). Having more RAM in your computer reduces the number of times that the computer processor has to read data in from your hard disk, an operation that takes much longer than reading data from RAM. (RAM access time is expressed in nanoseconds; hard disk access time is expressed in milliseconds.)

Briefly How RAM Works

What RAM Looks Like

In general, RAM is much like an arrangement of post-office boxes in which each box can hold a 0 or a 1. Each box has a unique address that can be found by counting across columns and then counting down by row. In RAM, this set of post-office boxes is known as an array and each box is a cell. To find the contents of a box (cell), the RAM controller sends the column/row address down a very thin electrical line etched into the chip. There is an address line for each row and each column in the set of boxes. If data is being read, the bits that are read flow back on a separate data line. In describing a RAM chip or module, a notation such as 256Kx16 means 256 thousand columns of cells standing 16 rows deep.

In the most common form of RAM, dynamic RAM, each cell has a charge or lack of charge held in something similar to an electrical capacitor. A transistor acts as a gate in determining whether the value in the capacitor can be read or written. In static RAM, instead of a capacitor-held charge, the transistor itself is a positional flip/flop switch, with one position meaning 1 and the other position meaning 0.

Externally, RAM is a chip that comes embedded in a personal computer motherboard with a variable number of additional modules plugged into motherboard sockets. To add memory to your computer, you simply add more RAM modules in a prescribed configuration. These are single in-line memory modules (SIMMs) or dual in-line memory modules (DIMMs). Since DIMMs have a 64-bit pin connection, they can replace two 36-bit (32-bits plus 4 parity bits) SIMMs when synchronous DRAM is used. Laptop and notebook computers contain smaller 32-bit DIMMs known as small outline DIMMs (SO DIMMs).

How Data Is Accessed

When the processor or CPU gets the next instruction it is to perform, the instruction may contain the address of some memory or RAM location from which data is to be read (brought to the processor for further processing). This address is sent to the RAM controller. The RAM controller organizes the request and sends it down the appropriate address lines so that transistors along the lines open up the cells so that each capacitor value can be read. A capacitor with a charge over a certain voltage level represents the binary value of 1 and a capacitor with less than that charge represents a 0. For dynamic RAM, before a capacitor is read, it must be power-refreshed to ensure that the value read is valid. Depending on the type of RAM, the entire line of data may be read that the specific address happens to be located at or, in some RAM types, a unit of data called a page is read. The data that is read is transmitted along the data lines to the processor's nearby data buffer known as level-1 cache and another copy may be held in level-2 cache.

For video RAM, the process is similar to DRAM except that, in some forms of video RAM, while data is being written to video RAM by the processor, data can simultaneously be read from RAM by the video controller (for example, for refreshing the display image).

How RAM Effectiveness is Measured

The amount of time that RAM takes to switch operational modes such as to prepare to write data or to switch from read  to write once the request has been received from the processor are examples of timings. Tighter timings result in faster data access time or lower latency, which has a great effect on performance. Bandwidth is the other determining factor in RAM performance the amount, this is the amount of data per second the RAM can read or write.

RAM is marketed in speeds in MHz and based on its maximum theoretical bandwidth. The format is prefixed by PC then the number of the generation and finally the number for the bandwidth in MB/s. For Example PC3 12800 is DDR3.  Bandwidth here is calculated roughly by multiplying the frequency in MHz by eight. However, that number is not attainable as it does not account for timings.

Kinds of RAM

Static RAM (SRAM)

Static RAM is more expensive and requires four times the amount of space for a given amount of data compared to dynamic RAM but unlike dynamic RAM does not need to be power-refreshed and is therefore faster to access.  (More recent advances in dynamic RAM have improved access time.) Static RAM is often used for the level-1 and level-2 caches that the microprocessor looks in first before looking in dynamic RAM. Often SRAM runs at the frequency of the host processor, which is very fast indeed.

Burst (or SynchBurst) Static RAM (BSRAM)

Burst SRAM (also known as SynchBurst SRAM) is synchronized with the system clock or in some cases the cache bus clock. This allows it be more easily synchronized with any device that accesses it and reduces access waiting time.

Dynamic RAM (DRAM)

Dynamic RAM uses a transistor and capacitor pair that needs frequent power refreshing to retain its charge. Because reading a DRAM discharges its contents, a power refresh is required after each read. Apart from reading, just to maintain the charge that holds its content in place, DRAM must be refreshed after a specified number of cycles. DRAM is the least expensive kind of RAM.

Fast Page Mode DRAM (FPM DRAM)

Prior to newer forms of DRAM, Fast Page Mode DRAM (FPM DRAM) was the most common kind of DRAM in personal computers. Page mode DRAM essentially accesses a row of RAM without having to continually respecify the row. A row access strobe (RAS) signal is held active while the column access strobe (CAS) signal changes to read a sequence of contiguous cells. This reduces access time and lowers power requirements. Clock timings for FPM DRAM are typically 6-3-3-3 (meaning 3 clock cycles for access setup, and 3 clock cycles for the first and each of three successive accesses based on the initial setup).

Enhanced DRAM

Enhanced DRAM (EDRAM) is the combination of SRAM and DRAM in a single package that is usually used for a level-2 cache. Typically, 256 bytes of static RAM is included along with the dynamic RAM. Data is read first from the faster (typically 15 nanoseconds) SRAM and if it is not found there, it is read from the DRAM, typically at 35 nanoseconds.

Extended Data Output RAM or DRAM (EDO RAM or EDO DRAM)

Extended Data Output RAM (EDO RAM) or Extended Data Output Dynamic RAM (EDO DRAM) is up to 25% faster than standard fat page DRAM and reduces the need for level-2 cache memory.

Burst Extended Data Output DRAM (BEDO DRAM)

BEDO DRAM improves page mode DRAM by "building in" three successive column address shifts after the first column address is specified so that four bits are read as a burst. Together with a dual-bank architecture, BEDO DRAM promised to offer 4-1-1-1 access times. However, because Intel and other manufacturers preferred SDRAM, BEDO DRAM was not widely used.

Nonvolatile RAM (NVRAM)

Nonvolatile RAM (NVRAM) is a special kind of RAM that retains data when the computer is turned off or there is a power failure. Like the computer's read-only memory (ROM), it is powered by a battery within the computer. It can also work by writing its contents to and restoring them from an EEPROM.

Synchronous DRAM (SDRAM)

Synchronous DRAM (SDRAM) is a generic name for various kinds of DRAM that are synchronized with the clock speed that the microprocessor is optimized for. This tends to increase the number of instructions that the processor can perform in a given time. The speed of SDRAM is rated in MHz rather than in nanoseconds (ns). This makes it easier to compare the bus speed and the RAM chip speed. You can convert the RAM clock speed to nanoseconds by dividing the chip speed into 1 billion ns (which is one second). For example, an 83 MHz RAM would be equivalent to 12 ns.

JEDEC SDRAM

JEDEC (Joint Electron Device Engineering Council) SDRAM is an industry standard synchronous DRAM. It has a dual-bank architecture and several burst mode accesses that can be preset. JEDEC SDRAM chips operate at either 83 MHz or 100 MHz. JEDEC SDRAM is also known as PC66 SDRAM because it was originally rated for 66 MHz bus operation and to distinguish it from Intel's PC100 architecture.

PC100 SDRAM

PC-100 SDRAM is SDRAM that states that it meets the PC-100 specification from Intel. Intel created the specification to enable RAM manufacturers to make chips that would work with Intel's i440BX processor chipset. The i440BX was designed to achieve a 100 MHz system bus speed. Ideally, PC100 SDRAM would work at the 100 MHz speed, using a 4-1-1-1 access cycle. PC100 SDRAM improved performance in an Intel Socket 7 system (but not in a Pentium II because it was limited by L2 cache speed runs at only half of processor speed).

Double Data Rate SDRAM (DDR SDRAM)

Double Data Rate SDRAM can theoretically improve its base 100 MHz RAM speed to near 200 MHz level performance. It activates output on both the rising and falling edge of the system clock rather than on just the rising edge, potentially doubling output. Instead of being marketed as PC-100 having the same base speed, the PC- memory specification began to reflect maximum theoretical bandwidth rather than the base clock speed). There have been several generations of GDDR which aimed at providing more performance with lower power consumption. 

Enhanced SDRAM (ESDRAM)

Enhanced SDRAM (ESDRAM), made by Enhanced Memory Systems, includes a small static RAM (SRAM) in the SDRAM chip. This means that many accesses will be from the faster SRAM. In case the SRAM doesn't have the data, there is a wide bus between the SRAM and the SDRAM because they are on the same chip. 

Direct Rambus DRAM (DRDRAM)

Direct Rambus DRAM (DRDRAM) is a proprietary technology proposed by Rambus, Inc. in partnership with Intel. Like SLDRAM, it promises RAM speed up to 800 MHz. It has a smaller bus width (16 bits compared to 64 bits) than current SDRAM designs.

SyncLink DRAM (SLDRAM)

SyncLink DRAM is, along with Direct Rambus DRAM (DRDRAM), a protocol-based approach. In this approach, all signals to RAM are on the same line (rather than having separate CAS, RAS, address, and data lines). Since access time does not depend on synchronizing operations on multiple lines, SLDRAM promises RAM speed of up to 800 MHz. Like Double Data Rate SDRAM, SLDRAM can operate at twice the system clock rate. SyncLink is an open industry standard that was expected to compete and perhaps prevail over Direct Rambus DRAM but DDR RAM superseded both due to industry backing and cost.

Ferroelectric RAM (FRAM)

FRAM (ferroelectric RAM) is random access memory that combines the fast read and write access of dynamic RAM (DRAM) - the most common kind of personal computer memory - with the ability to retain data when power is turned off (as do other non-volatile memory devices such as ROM and flash memory). Because FRAM is not as dense (can not store as much data in the same space) as DRAM and SRAM, it is not likely to replace these technologies. However, because it is fast memory with a very low power requirement, it could have many applications in small devices such as  hand-held phones, power meters, and smart cards, and in security systems. FRAM is faster than flash memory. It is also expected to replace EEPROM and SRAM for some applications and to become a key component in future wireless products.

In spite of its name, ferroelectric RAM does not contain iron. Today's FRAM uses lead zirconate titanate (PZT); other materials are being considered. The main developer of FRAM is Ramtron International.

Video RAM

Video RAM can mean any form of RAM used to store image data for the video display monitor. Somewhat confusingly, the most common type of video RAM is called Video RAM (VRAM). All types of video RAM are special arrangements of dynamic RAM (DRAM). Video RAM is really a buffer between the processor and the display monitor and is often called the frame buffer. When images are to be sent to the display, they are first read by the processor as data from some form of main storage RAM and then written to video RAM. From video RAM (the frame buffer), the data is converted by a RAM digital-to-analog converter (RAMDAC) into analog signals that are sent to the display presentation mechanism such as a cathode ray tube (CRT). Usually, video RAM comes in a 1 or 2 megabyte package and is located on the video or graphics card in the computer. Most forms of video RAM are dual-ported. While the processor is writing a new image to video RAM, the display is reading from video to refresh its current display content. The dual-port design is the main difference between main storage RAM and video RAM.

GDDR RAM

Graphics Double Data Rate Ram, or GDDR as it is commonly referred to, is the most common type of graphics or video card RAM. It has the same technology as DDR SDRAM to enable access on the rising and falling edge of the CPU clock cycle but runs at higher voltages and looser timings. With less focus on tight access times, which are not as necessary on parallel tasks like 2D and 3D video rendering, GDDR enables the higher frequencies (speeds) that enable the memory bandwidth that GPUs need for performance. Like desktop DDR, there have been several generations of GDDR aimed at providing more performance with lower power consumption. GDDR is generally a generation ahead of desktop RAM: GDDR5 had existed for some time, for example, before DDR4 became a standard.

RAMDAC

RAMDAC (random access memory digital-to-analog converter) is a microchip that converts digital image data into the analog data needed by a computer display. A RAMDAC microchip is built into the video adapter in a computer. It combines a small static RAM (SRAM) containing a color table with three digital-to-analog converters (DACs) that change digital image data into analog signals that are sent to the display's color generators, one for each primary color - red, green, and blue. In a cathode ray tube (CRT) display, an analog signal is sent to each of three electron guns. With displays using other technologies, the signals are sent to a corresponding mechanism.

The SRAM part of the RAMDAC contains a color palette table. A logical color number in the digital data input to SRAM is used to generate three separate values obtained from the table - one for each of red, green, and blue - that are output to one of three digital-to-analog converters. The analog signal output from the converter is input directly to the display electron guns or other image projecting mechanisms. For displays with true color, the digital color data is fed directly to the DACs, bypassing the SRAM table, which is not needed.

Synchronous Graphics RAM

Synchronous Graphics RAM (SGRAM) is clock-synchronized RAM that is used for video memory. It is relatively low-cost video memory. It uses masked write, which enables selected data to be modified in a single operation rather as a sequence of read, update, and write operations. It also uses block write, which allows data for background or foreground image fills to be handled more efficiently. SGRAM is single-ported. Its special features are what make it a moderately fast form of video memory. The Matrox Mystique is an example of a video card that uses SGRAM.

Window RAM

Window RAM (WRAM), unrelated to Microsoft Windows, is very high-performance video RAM that is dual-ported and has about 25% more bandwidth than VRAM but costs less. It has features that make it more efficient to read data for use in block fills and text drawing. It can be used for very high resolution (such as 1600 by 1200 pixels) projection using true color). It's used in the Matrox Millenium video card.

Multibank Dynamic RAM

Multibank Dynamic RAM (MDRAM) is a high-performance RAM, developed by MoSys, that divides memory into multiple 32 KB parts or "banks" that can be accessed individually. Traditional video RAM is monolithic; the entire frame buffer is accessed at one time. Having individual memory banks allows accesses to be interleaved concurrently, increasing overall performance. It's also cheaper since, unlike other forms of video RAM, cards can be manufactured with just the right amount of RAM for a given resolution capability instead of requiring it to be in multiples of megabytes.

Rambus Dynamic RAM

Rambus Dynamic RAM (RDRAM) is a video RAM designed by Rambus that includes a proprietary bus that speeds up the data flow between video RAM and the frame buffer. It is optimized for video streaming and high bandwidth. Rambus has had some use as desktop ram especially in Intel Pentium 4 processors but market penetration was limited due to heat power consumption and cost.

NOR flash memory

NOR flash memory, invented by Dr. Fujio Masuoka, has longer read and write times than his other flash memory invention, NAND flash memory but does have full address and data buses allowing for random access, and is the only current flash memory to do so. Intel has been a great supporter of this technology.

The RAM Table

RAM Technology Application and Computer Location Access Speed Range Ports Characteristics
Static RAM (SRAM) level-1 and level-2 cache memory
Also used in RAMDAC
Fast One RAM that is continually charged
More expensive than DRAM
Burst SRAM (BSRAM) Level-2 cache memory Fast One SRAM in burst mode
DRAM Main memory
Low-cost video memory
Slow One A generic term for any kind of dynamic (constantly recharged) RAM
FPM (Fast Page Mode) DRAM Main memory
Low-cost video memory
Slow One Prior to EDO DRAM, the most common type of DRAM
EDO (Extended Data Out) DRAM Main memory
Low-cost video memory
5-20% faster than FPM DRAM One Uses overlapping reads (one can begin while another is finishing)
Currently, the most common type of DRAM
BEDO (Burst Extended Data Out) DRAM Main memory and low-cost video Faster than EDO DRAM
4-1-1-1 at 66 MHz
One Not widely used because not supported by processor chipset makers
EDRAM (Enhanced DRAM) Level-2 cache memory 15 ns access to SRAM
35 ns access to DRAM
One Contains a 256-byte SRAM inside a larger DRAM
Nonvolatile RAM (NVRAM) Preset phone numbers and profiles in modems Fast One Battery-powered RAM
Synchronous DRAM (SDRAM) Main memory See specific forms of SDRAM
Rated in MHz rather than nanoseconds
One Generic term for DRAMs with a synchronous interface
JEDEC Synchronous DRAM (JEDEC SDRAM) Main memory Fast One Dual-bank architecture
Burst mode
Most common form of SDRAM
PC100 Synchronous DRAM (PC100 SDRAM) Main memory Intended to run at 100 MHz with 4-1-1-1 timing One An Intel specification designed to work with their i440BX
Double Data Rate Synchronous DRAM (DDR DRAM) Main memory Up to 200 MHz One Activates output on both the up and the down part of the clock cycle, doubling the data rate of PC100 SDRAM
Enhanced Synchronous DRAM (ESDRAM) Main memory Fast (100 MHz +) Two Twice as fast as SDRAM
See Enhanced Memory Systems (EMS)
SyncLink DRAM (SLDRAM) Main memory Fastest (200 MHz +) One Open protocol-based design
Uses "packets" for address, data, and control signals
Direct Rambus DRAM (DRDRAM) Main memory Up to 800 MHz but with a 16-bit bus width One Backed by Intel and Rambus Inc.
Ferroelectric RAM (FRAM) Main memory in small devices ? ? Developed by Ramtron
RAMDAC Video card Fast One Uses a small SRAM to store the color palette table used to provide data for digital-to-analog conversion
Rambus DRAM (RDRAM) Video memory for Nintendos Up to 600 MHz One Intel and Rambus Inc. architecture
Synchronous Graphics RAM (SGRAM) Moderate to high-end video memory Closer to VRAM than DRAM One Has special performance-enhancing features
Example: Matrox Mystique
VRAM (Video RAM) Higher-cost video memory Twice the speed of DRAM Two Dual-ported, meaning a new image can be stored in RAM while a previous image is being sent to the display
WRAM (Window RAM) Less expensive video memory 25% faster than VRAM Two With RAMDAC, can handle true color at 1600 by 1200 pixel resolution
Multibank DRAM (MDRAM) Low-cost high-end video memory applications Faster One Interleaved memory accesses between banks
Memory has multiple 32 kilobyte banks that can be accessed independently
Can be manufactured to fit the amount of memory the card requires
No size-related performance penalty
GDDR ram Video card Very Fast, Ranges in speed  but ahead of desktop varieties of DDR Two High frequencies (speeds) providing great bandwidth,  necessary for good 2D and  especially 3D video performance.

 

This was last updated in September 2011
Contributor(s): Matthew Haughn, Aista, Mark Burrett, Con Giakamozis, Chaminda Jayasekara, Harry Kachline, Carlos Eugenio Machado, Jeff Martin, Dayne Miller, Mike Peters, Simon Smith, and Shaun Trivedi
Posted by: Margaret Rouse

Related Terms

Definitions

  • application program interface (API)

    - An application program interface (API) is code that allows two software programs to communicate with each other. Typically, APIs are released for third-party development as part of a software devel... (SearchExchange.com)

  • algorithm

    - An algorithm (pronounced AL-go-rith-um) is a procedure or formula for solving a problem. (WhatIs.com)

  • server

    - In information technology, a server is a computer program that provides services to other computer programs (and their users) in the same or other computers. (WhatIs.com)

Glossaries

  • Computing fundamentals

    - Terms related to computer fundamentals, including computer hardware definitions and words and phrases about software, operating systems, peripherals and troubleshooting.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question About Fast Guide to RAMPowered by ITKnowledgeExchange.com

Get answers from your peers on your most technical challenges

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.