Since the fundamental DRAM cell and array has maintained the same basic structure for many years, the types of DRAM are mainly distinguished by the many different interfaces for communicating with DRAM chips.
Asynchronous DRAM The original DRAM, now known by the
retronym asynchronous DRAM was the first type of DRAM in use. From its origins in the late 1960s, it was commonplace in computing up until around 1997, when it was mostly replaced by
synchronous DRAM. In the present day, manufacture of asynchronous RAM is relatively rare.
Principles of operation An asynchronous DRAM chip has power connections, some number of address inputs (typically 12), and a few (typically one or four) bidirectional data lines. There are three main
active-low control signals: • , the Row Address Strobe. The address inputs are captured on the falling edge of , and select a row to open. The row is held open as long as is low. • , the Column Address Strobe. The address inputs are captured on the falling edge of , and select a column from the currently open row to read or write. • , Write Enable. This signal determines whether a given falling edge of is a read (if high) or write (if low). If low, the data inputs are also captured on the falling edge of . If high, the data outputs are enabled by the falling edge of and produce valid output after the internal access time. This interface provides direct control of internal timing: when is driven low, a cycle must not be attempted until the sense amplifiers have sensed the memory state, and must not be returned high until the storage cells have been refreshed. When is driven high, it must be held high long enough for precharging to complete. Although the DRAM is asynchronous, the signals are typically generated by a clocked memory controller, which limits their timing to multiples of the controller's clock cycle. For completeness, we mention two other control signals which are not essential to DRAM operation, but are provided for the convenience of systems using DRAM: • , Chip Select. When this is high, all other inputs are ignored. This makes it easy to build an array of DRAM chips which share the same control signals. Just as DRAM internally uses the word lines to select one row of storage cells connect to the shared bit lines and sense amplifiers, is used to select one row of DRAM chips to connect to the shared control, address, and data lines. • , Output Enable. This is an additional signal that (if high) inhibits output on the data I/O pins, while allowing all other operations to proceed normally. In many applications, can be permanently connected low (output enabled whenever , and are low and is high), but in high-speed applications, judicious use of can prevent
bus contention between two DRAM chips connected to the same data lines. For example, it is possible to have two
interleaved memory banks sharing the address and data lines, but each having their own , , and connections. The memory controller can begin a read from the second bank while a read from the first bank is in progress, using the two signals to only permit one result to appear on the data bus at a time. In other systems, especially
home computers, refresh was handled by the video circuitry as a side effect of its periodic scan of the
frame buffer.
CAS before RAS refresh For convenience, the counter was quickly incorporated into the DRAM chips themselves. If the line is driven low before (normally an illegal operation), then the DRAM ignores the address inputs and uses an internal counter to select the row to open. This is known as -before- (CBR) refresh. This became the standard form of refresh for asynchronous DRAM, and is the only form generally used with SDRAM.
Hidden refresh Given support of -before- refresh, it is possible to deassert while holding low to maintain data output. If is then asserted again, this performs a CBR refresh cycle while the DRAM outputs remain valid. Because data output is not interrupted, this is known as
hidden refresh. Hidden refresh is no faster than a normal read followed by a normal refresh, but does maintain the data output valid during the refresh cycle.
Page mode DRAM Page mode DRAM is a minor modification to the first-generation DRAM IC interface which improves the performance of reads and writes to a row by avoiding the inefficiency of precharging and opening the same row repeatedly to access a different column. In page mode DRAM, after a row is opened by holding low, the row can be kept open, and multiple reads or writes can be performed to any of the columns in the row. Each column access is initiated by presenting a column address and asserting . For reads, after a delay (
tCAC), valid data appears on the data out pins, which are held at high-Z before the appearance of valid data. For writes, the write enable signal and write data is presented along with the column address. Page mode DRAM was in turn later improved with a small modification which further reduced latency. DRAMs with this improvement are called
fast page mode DRAMs (
FPM DRAMs). In page mode DRAM, the chip does not capture the column address until is asserted, so column access time (until data out was valid) begins when is asserted. In FPM DRAM, the column address can be supplied while is still deasserted, and the main column access time (
tAA) begins as soon as the address is stable. The signal is only needed to enable the output (the data out pins were held at high-Z while was deasserted), so time from assertion to data valid (
tCAC) is greatly reduced. Fast page mode DRAM was introduced in 1986 and was used with the
Intel 80486.
Static column is a variant of fast page mode in which the column address does not need to be latched, but rather the address inputs may be changed with held low, and the data output will be updated accordingly a few nanoseconds later. EDO RAM, sometimes referred to as
hyper page mode enabled DRAM, is similar to fast page mode DRAM with the additional feature that a new access cycle can be started while keeping the data output of the previous cycle active. This allows a certain amount of overlap in operation (pipelining), allowing somewhat improved performance. It is up to 30% faster than FPM DRAM, which it began to replace in 1995 when
Intel introduced the
430FX chipset with EDO DRAM support. Irrespective of the performance gains, FPM and EDO SIMMs can be used interchangeably in many (but not all) applications. To be precise, EDO DRAM begins data output on the falling edge of but does not disable the output when rises again. Instead, it holds the current output valid (thus extending the data output time) even as the DRAM begins decoding a new column address, until either a new column's data is selected by another falling edge, or the output is switched off by the rising edge of . (Or, less commonly, a change in , , or .) This ability to start a new access even before the system has received the preceding column's data made it possible to design memory controllers which could carry out a access (in the currently open row) in one clock cycle, or at least within two clock cycles instead of the previously required three. EDO's capabilities were able to partially compensate for the performance lost due to the lack of an L2 cache in low-cost, commodity PCs. More expensive notebooks also often lacked an L2 cache due to size and power limitations, and benefitted similarly. Even for systems
with an L2 cache, the availability of EDO memory improved the average memory latency seen by applications over earlier FPM implementations. Single-cycle EDO DRAM became very popular on video cards toward the end of the 1990s. It was very low cost, yet nearly as efficient for performance as the far more costly VRAM.
Burst EDO DRAM An evolution of EDO DRAM, burst EDO DRAM (BEDO DRAM), could process four memory addresses in one burst, for a maximum of , saving an additional three clocks over optimally designed EDO memory. It was done by adding an address counter on the chip to keep track of the next address. BEDO also added a pipeline stage allowing page-access cycle to be divided into two parts. During a memory-read operation, the first part accessed the data from the memory array to the output stage (second latch). The second part drove the data bus from this latch at the appropriate logic level. Since the data is already in the output buffer, quicker access time is achieved (up to 50% for large blocks of data) than with traditional EDO. Although BEDO DRAM showed additional optimization over EDO, by the time it was available the market had made a significant investment towards synchronous DRAM, or SDRAM. Even though BEDO RAM was superior to SDRAM in some ways, the latter technology quickly displaced BEDO.
Synchronous dynamic RAM Synchronous dynamic RAM (SDRAM) significantly revises the asynchronous memory interface, adding a clock (and a clock enable) line. All other signals are received on the rising edge of the clock. The and inputs no longer act as strobes, but are instead, along with , part of a 3-bit command: The line's function is extended to a per-byte DQM signal, which controls data input (writes) in addition to data output (reads). This allows DRAM chips to be wider than 8 bits while still supporting byte-granularity writes. Many timing parameters remain under the control of the DRAM controller. For example, a minimum time must elapse between a row being activated and a read or write command. One important parameter must be programmed into the SDRAM chip itself, namely the
CAS latency. This is the number of clock cycles allowed for internal operations between a read command and the first data word appearing on the data bus. The
Load mode register command is used to transfer this value to the SDRAM chip. Other configurable parameters include the length of read and write bursts, i.e. the number of words transferred per read or write command. The most significant change, and the primary reason that SDRAM has supplanted asynchronous RAM, is the support for multiple internal banks inside the DRAM chip. Using a few bits of
bank address that accompany each command, a second bank can be activated and begin reading data
while a read from the first bank is in progress. By alternating banks, a single SDRAM device can keep the data bus continuously busy, in a way that asynchronous DRAM cannot.
Single data rate synchronous DRAM Single data rate SDRAM (SDR SDRAM or SDR) is the original generation of SDRAM; it made a single transfer of data per clock cycle.
Double data rate synchronous DRAM of a Samsung DDR-SDRAM 64-MBit package Double data rate SDRAM (DDR SDRAM or DDR) was a later development of SDRAM, used in PC memory beginning in 2000. Subsequent specifications are numbered sequentially (
DDR2,
DDR3, etc.). DDR SDRAM internally performs double-width accesses at the clock rate, and uses a
double data rate interface to transfer one half on each clock edge. DDR2 and DDR3 increased this factor to 4× and 8×, respectively, delivering 4-word and 8-word bursts over 2 and 4 clock cycles, respectively. The internal access rate is mostly unchanged (200 million per second for DDR-400, DDR2-800 and DDR3-1600 memory), but each access transfers more data.
Direct Rambus DRAM Direct RAMBUS DRAM (
DRDRAM) was developed by Rambus. First supported on
motherboards in 1999, it was intended to become an industry standard, but was outcompeted by
DDR SDRAM, making it technically obsolete by 2003.
Reduced Latency DRAM Reduced Latency DRAM (RLDRAM) is a high performance double data rate (DDR) SDRAM that combines fast, random access with high bandwidth, mainly intended for networking and caching applications.
Graphics RAM Graphics RAMs are asynchronous and synchronous DRAMs designed for graphics-related tasks such as
texture memory and
framebuffers, found on
video cards.
Video DRAM Video DRAM (VRAM) is a
dual-ported variant of DRAM that was once commonly used to store the frame buffer in some
graphics adapters.
Window DRAM Window DRAM (WRAM) is a variant of VRAM that was once used in graphics adapters such as the
Matrox Millennium and
ATI 3D Rage Pro. WRAM was designed to perform better and cost less than VRAM. WRAM offered up to 25% greater bandwidth than VRAM and accelerated commonly used graphical operations such as text drawing and block fills.
Multibank DRAM MDRAM MD908 Multibank DRAM (MDRAM) is a type of specialized DRAM developed by
MoSys. It is constructed from small
memory banks of , which are operated in an
interleaved fashion, providing bandwidths suitable for graphics cards at a lower cost to memories such as
SRAM. MDRAM also allows operations to two banks in a single clock cycle, permitting multiple concurrent accesses to occur if the accesses were independent. MDRAM was primarily used in graphic cards, such as those featuring the
Tseng Labs ET6x00 chipsets. Boards based upon this chipset often had the unusual capacity of because of MDRAM's ability to be implemented more easily with such capacities. A graphics card with of MDRAM had enough memory to provide 24-bit color at a resolution of —a very popular setting at the time.
Synchronous graphics RAM Synchronous graphics RAM (SGRAM) is a specialized form of SDRAM for graphics adapters. It adds functions such as
bit masking (writing to a specified bit plane without affecting the others) and block write (filling a block of memory with a single color). Unlike VRAM and WRAM, SGRAM is single-ported. However, it can open two memory pages at once, which simulates the dual-port nature of other video RAM technologies.
Graphics double data rate SDRAM GDDR3 SDRAM package Graphics double data rate SDRAM is a type of specialized
DDR SDRAM designed to be used as the main memory of
graphics processing units (GPUs). GDDR SDRAM is distinct from commodity types of DDR SDRAM such as DDR3, although they share some core technologies. Their primary characteristics are higher clock frequencies for both the DRAM core and I/O interface, which provides greater memory bandwidth for GPUs. As of 2025, there are eight successive generations of GDDR:
GDDR2,
GDDR3,
GDDR4,
GDDR5,
GDDR5X,
GDDR6,
GDDR6X and
GDDR7.
Pseudostatic RAM pseudostatic RAM, made by
Toshiba Pseudostatic RAM (PSRAM or PSDRAM) is dynamic RAM with built-in refresh and address-control circuitry to make it behave similarly to static RAM (SRAM). It combines the high density of DRAM with the ease of use of true SRAM. PSRAM was used in the Apple iPhone 3G and other embedded systems such as XFlar Platform. Some DRAM components have a
self-refresh mode. While this involves much of the same logic that is needed for pseudo-static operation, this mode is often equivalent to a standby mode. It is provided primarily to allow a system to suspend operation of its DRAM controller to save power without losing data stored in DRAM, rather than to allow operation without a separate DRAM controller as is in the case of mentioned PSRAMs. An
embedded variant of PSRAM was sold by MoSys under the name
1T-SRAM. It is a set of small DRAM banks with an SRAM cache in front to make it behave much like a true SRAM. It is used in
Nintendo GameCube and
Wii video game consoles.
Cypress Semiconductor's HyperRAM is a type of PSRAM supporting a
JEDEC-compliant 8-pin HyperBus or Octal xSPI interface. ==See also==