Synchronous dynamic random-access memory ( synchronous dynamic RAM or SDRAM) is any DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal.
DRAM integrated circuits (ICs) produced from the early 1970s to the early 1990s used an asynchronous interface, in which input control signals have a direct effect on internal functions delayed only by the trip across its semiconductor pathways. SDRAM has a synchronous interface, whereby changes on control inputs are recognised after a rising edge of its clock input. In SDRAM families standardized by JEDEC, the clock signal controls the stepping of an internal finite-state machine that responds to incoming commands. These commands can be pipelined to improve performance, with previously started operations completing while new commands are received. The memory is divided into several equally sized but independent sections called Memory bank, allowing the device to operate on a memory access command in each bank simultaneously and speed up access in an interleaved fashion. This allows SDRAMs to achieve greater concurrency and higher data transfer rates than asynchronous DRAMs could.
Pipelining means that the chip can accept a new command before it has finished processing the previous one. For a pipelined write, the write command can be immediately followed by another command without waiting for the data to be written into the memory array. For a pipelined read, the requested data appears a fixed number of clock cycles (latency) after the read command, during which additional commands can be sent.
The first commercial SDRAM was the Samsung KM48SL2000 memory chip, which had a capacity of 16Mbit. It was manufactured by Samsung Electronics using a CMOS (complementary metal–oxide–semiconductor) fabrication process in 1992, and mass-produced in 1993. By 2000, SDRAM had replaced virtually all other types of DRAM in modern computers, because of its greater performance.
SDRAM latency is not inherently lower (faster access times) than asynchronous DRAM. Indeed, early SDRAM was somewhat slower than contemporaneous burst EDO DRAM due to the additional logic. The benefits of SDRAM's internal buffering come from its ability to interleave operations to multiple banks of memory, thereby increasing effective bandwidth.
Double data rate SDRAM, known as DDR SDRAM, was first demonstrated by Samsung in 1997. Samsung released the first commercial DDR SDRAM chip (64Mbit) in June 1998, followed soon after by Hyundai Electronics (now SK Hynix) the same year.
Today, virtually all SDRAM is manufactured in compliance with standards established by JEDEC, an electronics industry association that adopts open standards to facilitate interoperability of electronic components. JEDEC formally adopted its first SDRAM standard in 1993 and subsequently adopted other SDRAM standards, including those for DDR SDRAM, DDR2 and DDR3 SDRAM.
SDRAM is also available in registered varieties, for systems that require greater scalability such as servers and workstations.
Today, the world's largest manufacturers of SDRAM include Samsung Electronics, SK Hynix, Micron Technology, and Nanya Technology.
Another limit is the CAS latency, the time between supplying a column address and receiving the corresponding data. Again, this has remained relatively constant at 10–15 ns through the last few generations of DDR SDRAM.
In operation, CAS latency is a specific number of clock cycles programmed into the SDRAM's mode register and expected by the DRAM controller. Any value may be programmed, but the SDRAM will not operate correctly if it is too low. At higher clock rates, the useful CAS latency in clock cycles naturally increases. 10–15 ns is 2–3 cycles (CL2–3) of the 200 MHz clock of DDR-400 SDRAM, CL4-6 for DDR2-800, and CL8-12 for DDR3-1600. Slower clock cycles will naturally allow lower numbers of CAS latency cycles.
SDRAM modules have their own timing specifications, which may be slower than those of the chips on the module. When 100 MHz SDRAM chips first appeared, some manufacturers sold "100 MHz" modules that could not reliably operate at that clock rate. In response, Intel published the PC100 standard, which outlines requirements and guidelines for producing a memory module that can operate reliably at 100 MHz. This standard was widely influential, and the term "PC100" quickly became a common identifier for 100 MHz SDRAM modules, and modules are now commonly designated with "PC"-prefixed numbers (PC66, PC100 or PC133 – although the actual meaning of the numbers has changed).
Command inhibit (no operation) |
No operation |
Burst terminate: stop a burst read or burst write in progress |
Read: read a burst of data from the currently active row |
Read with auto precharge: as above, and precharge (close row) when done |
Write: write a burst of data to the currently active row |
Write with auto precharge: as above, and precharge (close row) when done |
Active (activate): open a row for read and write commands |
Precharge: deactivate (close) the current row of selected bank |
Precharge all: deactivate (close) the current row of all banks |
Auto refresh: refresh one row of each bank, using an internal counter. All banks must be precharged. |
Load mode register: A0 through A9 are loaded to configure the DRAM chip. The most significant settings are CAS latency (2 or 3 cycles) and burst length (1, 2, 4 or 8 cycles) |
All SDRAM generations (SDR and DDRx) use essentially the same commands, with the changes being:
The active command activates an idle bank. It presents a two-bit bank address (BA0–BA1) and a 13-bit row address (A0–A12), and causes a read of that row into the bank's array of all 16,384 column sense amplifiers. This is also known as "opening" the row. This operation has the side effect of Memory refresh the dynamic (capacitive) memory storage cells of that row.
Once the row has been activated or "opened", read and write commands are possible to that row. Activation requires a minimum amount of time, called the row-to-column delay, or tRCD before reads or writes to it may occur. This time, rounded up to the next multiple of the clock period, specifies the minimum number of wait cycles between an active command, and a read or write command. During these wait cycles, additional commands may be sent to other banks; because each bank operates completely independently.
Both read and write commands require a column address. Because each chip accesses eight bits of data at a time, there are 2,048 possible column addresses thus requiring only 11 address lines (A0–A9, A11).
When a read command is issued, the SDRAM will produce the corresponding output data on the DQ lines in time for the rising edge of the clock a few clock cycles later, depending on the configured CAS latency. Subsequent words of the burst will be produced in time for subsequent rising clock edges.
A write command is accompanied by the data to be written driven on to the DQ lines during the same rising clock edge. It is the duty of the memory controller to ensure that the SDRAM is not driving read data on to the DQ lines at the same time that it needs to drive write data on to those lines. This can be done by waiting until a read burst has finished, by terminating a read burst, or by using the DQM control line.
When the memory controller needs to access a different row, it must first return that bank's sense amplifiers to an idle state, ready to sense the next row. This is known as a "precharge" operation, or "closing" the row. A precharge may be commanded explicitly, or it may be performed automatically at the conclusion of a read or write operation. Again, there is a minimum time, the row precharge delay, tRP, which must elapse before that row is fully "closed" and so the bank is idle in order to receive another activate command on that bank.
Although refreshing a row is an automatic side effect of activating it, there is a minimum time for this to happen, which requires a minimum row access time tRAS delay between an active command opening a row, and the corresponding precharge command closing it. This limit is usually dwarfed by desired read and write commands to the row, so its value has little effect on typical performance.
When a bank is open, there are four commands permitted: read, write, burst terminate, and precharge. Read and write commands begin bursts, which can be interrupted by following commands.
If the command issued on cycle 2 were burst terminate, or a precharge of the active bank, then no output would be generated during cycle 5.
Although the interrupting read may be to any active bank, a precharge command will only interrupt the read burst if it is to the same bank or all banks; a precharge command to a different bank will not interrupt a read burst.
Interrupting a read burst by a write command is possible, but more difficult. It can be done if the DQM signal is used to suppress output from the SDRAM so that the memory controller may drive data over the DQ lines to the SDRAM in time for the write operation. Because the effects of DQM on read data are delayed by two cycles, but the effects of DQM on write data are immediate, DQM must be raised (to mask the read data) beginning at least two cycles before write command but must be lowered for the cycle of the write command (assuming the write command is intended to have an effect).
Doing this in only two clock cycles requires careful coordination between the time the SDRAM takes to turn off its output on a clock edge and the time the data must be supplied as input to the SDRAM for the write on the following clock edge. If the clock frequency is too high to allow sufficient time, three cycles may be required.
If the read command includes auto-precharge, the precharge begins the same cycle as the interrupting command.
Bursts always access an aligned block of BL consecutive words beginning on a multiple of BL. So, for example, a four-word burst access to any column address from four to seven will return words four to seven. The ordering, however, depends on the requested address, and the configured burst type option: sequential or interleaved. Typically, a memory controller will require one or the other. When the burst length is one or two, the burst type does not matter. For a burst length of one, the requested word is the only word accessed. For a burst length of two, the requested word is accessed first, and the other word in the aligned block is accessed second. This is the following word if an even address was specified, and the previous word if an odd address was specified.
For the sequential burst mode, later words are accessed in increasing address order, wrapping back to the start of the block when the end is reached. So, for example, for a burst length of four, and a requested column address of five, the words would be accessed in the order 5-6-7-4. If the burst length were eight, the access order would be 5-6-7-0-1-2-3-4. This is done by adding a counter to the column address, and ignoring carries past the burst length. The interleaved burst mode computes the address using an exclusive or operation between the counter and the address. Using the same starting address of five, a four-word burst would return words in the order 5-4-7-6. An eight-word burst would be 5-4-7-6-1-0-3-2. Although more confusing to humans, this can be easier to implement in hardware, and is preferred by Intel for its microprocessors.
If the requested column address is at the start of a block, both burst modes (sequential and interleaved) return data in the same sequential sequence 0-1-2-3-4-5-6-7. The difference only matters if fetching a cache line from memory in critical-word-first order.
The bits are M9 through M0, presented on address lines A9 through A0 during a load mode register cycle.
Later (double data rate) SDRAM standards use more mode register bits, and provide additional mode registers called "extended mode registers". The register number is encoded on the bank address pins during the load mode register command. For example, DDR2 SDRAM has a 13-bit mode register, a 13-bit extended mode register No. 1 (EMR1), and a 5-bit extended mode register No. 2 (EMR2).
If CKE is lowered while the SDRAM is performing operations, it simply "freezes" in place until CKE is raised again.
If the SDRAM is idle (all banks precharged, no commands in progress) when CKE is lowered, the SDRAM automatically enters power-down mode, consuming minimal power until CKE is raised again. This must not last longer than the maximum refresh interval tREF, or memory contents may be lost. It is legal to stop the clock entirely during this time for additional power savings.
Finally, if CKE is lowered at the same time as an auto-refresh command is sent to the SDRAM, the SDRAM enters self-refresh mode. This is like power down, but the SDRAM uses an on-chip timer to generate internal refresh cycles as necessary. The clock may be stopped during this time. While self-refresh mode consumes slightly more power than power-down mode, it allows the memory controller to be disabled entirely, which commonly more than makes up the difference.
SDRAM designed for battery-powered devices offers some additional power-saving options. One is temperature-dependent refresh; an on-chip temperature sensor reduces the refresh rate at lower temperatures, rather than always running it at the worst-case rate. Another is selective refresh, which limits self-refresh to a portion of the DRAM array. The fraction which is refreshed is configured using an extended mode register. The third, implemented in Mobile DDR (LPDDR) and LPDDR2 is "deep power down" mode, which invalidates the memory and requires a full reinitialization to exit from. This is activated by sending a "burst terminate" command while lowering CKE.
The prefetch architecture takes advantage of the specific characteristics of memory accesses to DRAM. Typical DRAM memory operations involve three phases: bitline precharge, row access, column access. Row access is the heart of a read operation, as it involves the careful sensing of the tiny signals in DRAM memory cells; it is the slowest phase of memory operation. However, once a row is read, subsequent column accesses to that same row can be very quick, as the sense amplifiers also act as latches. For reference, a row of a 1 Gigabit DDR3 device is 2,048 wide, so internally 2,048 bits are read into 2,048 separate sense amplifiers during the row access phase. Row accesses might take 50 nanosecond, depending on the speed of the DRAM, whereas column accesses off an open row are less than 10 ns.
Traditional DRAM architectures have long supported fast column access to bits on an open row. For an 8-bit-wide memory chip with a 2,048 bit wide row, accesses to any of the 256 datawords (2048/8) on the row can be very quick, provided no intervening accesses to other rows occur.
The drawback of the older fast column access method was that a new column address had to be sent for each additional dataword on the row. The address bus had to operate at the same frequency as the data bus. Prefetch architecture simplifies this process by allowing a single address request to result in multiple data words.
In a prefetch buffer architecture, when a memory access occurs to a row the buffer grabs a set of adjacent data words on the row and reads them out ("bursts" them) in rapid-fire sequence on the IO pins, without the need for individual column address requests. This assumes the CPU wants adjacent datawords in memory, which in practice is very often the case. For instance, in DDR1, two adjacent data words will be read from each chip in the same clock cycle and placed in the pre-fetch buffer. Each word will then be transmitted on consecutive rising and falling edges of the clock cycle. Similarly, in DDR2 with a 4n pre-fetch buffer, four consecutive data words are read and placed in buffer while a clock, which is twice faster than the internal clock of DDR, transmits each of the word in consecutive rising and falling edge of the faster external clock Micron, General DDR SDRAM Functionality, Technical Note, TN-46-05
The prefetch buffer depth can also be thought of as the ratio between the core memory frequency and the IO frequency. In an 8n prefetch architecture (such as DDR3), the IOs will operate 8 times faster than the memory core (each memory access results in a burst of 8 datawords on the IOs). Thus, a 200 MHz memory core is combined with IOs that each operate eight times faster (1600 megabits per second). If the memory has 16 IOs, the total read bandwidth would be 200 MHz x 8 datawords/access x 16 IOs = 25.6 gigabits per second (Gbit/s) or 3.2 gigabytes per second (GB/s). Modules with multiple DRAM chips can provide correspondingly higher bandwidth.
Each generation of SDRAM has a different prefetch buffer size:
+ SDRAM feature map ! scope="col" | Type ! scope="col" | Feature changes |
Use of the data bus is intricate and thus requires a complex DRAM controller circuit. This is because data written to the DRAM must be presented in the same cycle as the write command, but reads produce output 2 or 3 cycles after the read command. The DRAM controller must ensure that the data bus is never required for a read and a write at the same time.
Typical SDR SDRAM clock rates are 66, 100, and 133 MHz (periods of 15, 10, and 7.5 ns), respectively denoted PC66, PC100, and PC133. Clock rates up to 200 MHz were available. It operates at a voltage of 3.3 V.
This type of SDRAM is slower than the DDR variants, because only one word of data is transmitted per clock cycle (single data rate). But this type is also faster than its predecessors extended data out DRAM (EDO-RAM) and fast page mode DRAM (FPM-RAM) which took typically two or three clocks to transfer one word of data.
This standard was used by Intel Pentium and AMD K6-based PCs. It also features in the Beige Power Mac G3, early and PowerBook G3s. It is also used in many early Intel Celeron systems with a 66 MHz front-side bus. It was superseded by the PC100 and PC133 standards.
A module built out of 100 MHz SDRAM chips is not necessarily capable of operating at 100 MHz. The PC100 standard specifies the capabilities of the memory module as a whole. PC100 is used in many older computers; PCs around the late 1990s were the most common computers with PC100 memory.
DDR SDRAM (sometimes called DDR1 for greater clarity) doubles the minimum read or write unit; every access refers to at least two consecutive words.
Typical DDR SDRAM clock rates are 133, 166 and 200 MHz (7.5, 6, and 5 ns/cycle), generally described as DDR-266, DDR-333 and DDR-400 (3.75, 3, and 2.5 ns per beat). Corresponding 184-pin DIMMs are known as PC-2100, PC-2700 and PC-3200. Performance up to DDR-550 (PC-4400) is available.
Typical DDR2 SDRAM clock rates are 200, 266, 333 or 400 MHz (periods of 5, 3.75, 3 and 2.5 ns), generally described as DDR2-400, DDR2-533, DDR2-667 and DDR2-800 (periods of 2.5, 1.875, 1.5 and 1.25 ns). Corresponding 240-pin DIMMs are known as PC2-3200 through PC2-6400. DDR2 SDRAM is now available at a clock rate of 533 MHz generally described as DDR2-1066 and the corresponding DIMMs are known as PC2-8500 (also named PC2-8600 depending on the manufacturer). Performance up to DDR2-1250 (PC2-10000) is available.
Note that because internal operations are at 1/2 the clock rate, DDR2-400 memory (internal clock rate 100 MHz) has somewhat higher latency than DDR-400 (internal clock rate 200 MHz).
Again, with every doubling, the downside is the increased latency. As with all DDR SDRAM generations, commands are still restricted to one clock edge and command latencies are given in terms of clock cycles, which are half the speed of the usually quoted transfer rate (a CAS latency of 8 with DDR3-800 is 8/(400 MHz) = 20 ns, exactly the same latency of CAS2 on PC100 SDR SDRAM).
DDR3 memory chips are being made commercially, and computer systems using them were available from the second half of 2007, with significant usage from 2008 onwards. Initial clock rates were 400 and 533 MHz, which are described as DDR3-800 and DDR3-1066 (PC3-6400 and PC3-8500 modules), but 667 and 800 MHz, described as DDR3-1333 and DDR3-1600 (PC3-10600 and PC3-12800 modules) are now common. Performance up to DDR3-2800 (PC3 22400 modules) are available.
The DDR4 chips run at 1.2 Volt or less, compared to the 1.5 V of DDR3 chips, and have in excess of 2 billion per second. They were expected to be introduced at frequency rates of 2133 MHz, estimated to rise to a potential 4266 MHz and lowered voltage of 1.05 V by 2013.
DDR4 did not double the internal prefetch width again, but uses the same 8 n prefetch as DDR3. Thus, it will be necessary to interleave reads from several banks to keep the data bus busy.
In February 2009, Samsung validated 40 nm DRAM chips, considered a "significant step" towards DDR4 development since, as of 2009, current DRAM chips were only beginning to migrate to a 50 nm process. In January 2011, Samsung announced the completion and release for testing of a 30 nm 2048 MB DDR4 DRAM module. It has a maximum bandwidth of 2.13 Gbit/s at 1.2 V, uses pseudo open drain technology and draws 40% less power than an equivalent DDR3 module.
SLDRAM used an 11-bit command bus (10 command bits CA9:0 plus one start-of-command FLAG line) to transmit 40-bit command packets on 4 consecutive edges of a differential command clock (CCLK/CCLK#). Unlike SDRAM, there were no per-chip select signals; each chip was assigned an ID when reset, and the command contained the ID of the chip that should process it. Data was transferred in 4- or 8-word bursts across an 18-bit (per chip) data bus, using one of two differential data clocks (DCLK0/DCLK0# and DCLK1/DCLK1#). Unlike standard SDRAM, the clock was generated by the data source (the SLDRAM chip in the case of a read operation) and transmitted in the same direction as the data, greatly reducing data skew. To avoid the need for a pause when the source of the DCLK changes, each command specified which DCLK pair it would use.
The basic read/write command consisted of (beginning with CA9 of the first word):
+ SLDRAM Read, write or row op request packet ! FLAG | CA0 |
Individual devices had 8-bit IDs. The 9th bit of the ID sent in commands was used to address multiple devices. Any aligned power-of-2 sized group could be addressed. If the transmitted msbit was set, all least-significant bits up to and including the least-significant 0 bit of the transmitted address were ignored for "is this addressed to me?" purposes. (If the ID8 bit is actually considered less significant than ID0, the unicast address matching becomes a special case of this pattern.)
A read/write command had the msbit clear:
A notable omission from the specification was per-byte write enables; it was designed for systems with CPU cache and ECC memory, which always write in multiples of a cache line.
Additional commands (with CMD5 set) opened and closed rows without a data transfer, performed refresh operations, read or wrote configuration registers, and performed other maintenance operations. Most of these commands supported an additional 4-bit sub-ID (sent as 5 bits, using the same multiple-destination encoding as the primary ID) which could be used to distinguish devices that were assigned the same primary ID because they were connected in parallel and always read/written at the same time.
There were a number of 8-bit control registers and 32-bit status registers to control various device timing parameters.
VCM inserts an SRAM cache of 16 "channel" buffers, each 1/4 row "segment" in size, between DRAM banks' sense amplifier rows and the data I/O pins. "Prefetch" and "restore" commands, unique to VCSDRAM, copy data between the DRAM's sense amplifier row and the channel buffers, while the equivalent of SDRAM's read and write commands specify a channel number to access. Reads and writes may thus be performed independent of the currently active state of the DRAM array, with the equivalent of four full DRAM rows being "open" for access at a time. This is an improvement over the two open rows possible in a standard two-bank SDRAM. (There is actually a 17th "dummy channel" used for some operations.)
To read from VCSDRAM, after the active command, a "prefetch" command is required to copy data from the sense amplifier array to the channel SDRAM. This command specifies a bank, two bits of column address (to select the segment of the row), and four bits of channel number. Once this is performed, the DRAM array may be precharged while read commands to the channel buffer continue. To write, first the data is written to a channel buffer (typically previous initialized using a Prefetch command), then a restore command, with the same parameters as the prefetch command, copies a segment of data from the channel to the sense amplifier array.
Unlike a normal SDRAM write, which must be performed to an active (open) row, the VCSDRAM bank must be precharged (closed) when the restore command is issued. An active command immediately after the restore command specifies the DRAM row completes the write to the DRAM array. There is, in addition, a 17th "dummy channel" which allows writes to the currently open row. It may not be read from, but may be prefetched to, written to, and restored to the sense amplifier array.
Although normally a segment is restored to the same memory address as it was prefetched from, the channel buffers may also be used for very efficient copying or clearing of large, aligned memory blocks. (The use of quarter-row segments is driven by the fact that DRAM cells are narrower than SRAM cells.) The SRAM bits are designed to be four DRAM bits wide, and are conveniently connected to one of the four DRAM bits they straddle.) Additional commands prefetch a pair of segments to a pair of channels, and an optional command combines prefetch, read, and precharge to reduce the overhead of random reads.
The above are the JEDEC-standardized commands. Earlier chips did not support the dummy channel or pair prefetch, and use a different encoding for precharge.
A 13-bit address bus, as illustrated here, is suitable for a device up to 128 Mbit. It has two banks, each containing 8,192 rows and 8,192 columns. Thus, row addresses are 13 bits, segment addresses are two bits, and eight column address bits are required to select one byte from the 2,048 bits (256 bytes) in a segment.
The earliest known SGRAM memory are 8Mbit chips dating back to 1994: the Hitachi HM5283206, introduced in November 1994, and the NEC μPD481850, introduced in December 1994. The earliest known commercial device to use SGRAM is Sony's PlayStation (PS) video game console, starting with the Japanese SCPH-5000 model released in December 1995, using the NEC μPD481850 chip.
GDDR was initially known as DDR SGRAM. It was commercially introduced as a 16Megabit memory chip by Samsung Electronics in 1998.
+ Synchronous dynamic random-access memory (SDRAM) | ||||||||
1992 | KM48SL2000 | 16 Megabit | SDR SDRAM | Samsung | ? | CMOS | ? | |
1996 | MSM5718C50 | 18 Mbit | RDRAM | Oki | ? | CMOS | 325 | |
N64 RDRAM | 36 Mbit | RDRAM | NEC | ? | CMOS | ? | ||
? | 1024 Mbit | SDR | Mitsubishi | 150 nm | CMOS | ? | ||
1997 | ? | 1024 Mbit | SDR | Hyundai | ? | SOI | ? | |
1998 | MD5764802 | 64 Mbit | RDRAM | Oki | ? | CMOS | 325 | |
Direct RDRAM | 72 Mbit | RDRAM | Rambus | ? | CMOS | ? | ||
? | 64 Mbit | DDR SDRAM | Samsung | ? | CMOS | ? | ||
1998 | ? | 64 Mbit | DDR | Hyundai | ? | CMOS | ? | |
128 Mbit | SDR | Samsung | ? | CMOS | ? | |||
1999 | ? | 128 Mbit | DDR | Samsung | ? | CMOS | ? | |
1024 Mbit | DDR | Samsung | 140 nm | CMOS | ? | |||
2000 | GS eDRAM | 32 Mbit | eDRAM | Sony, Toshiba | 180 nm | CMOS | 279 | |
2001 | ? | 288 Mbit | RDRAM | Hynix | ? | CMOS | ? | |
? | DDR2 | Samsung | 100 nm | CMOS | ? | |||
2002 | ? | 256 Mbit | SDR | Hynix | ? | CMOS | ? | |
2003 | EE+GS eDRAM | 32 Mbit | eDRAM | Sony, Toshiba | 90 nm | CMOS | 86 | |
? | 72 Mbit | DDR3 | Samsung | 90 nm | CMOS | ? | ||
512 Mbit | DDR2 | Hynix | ? | CMOS | ? | |||
Elpida Memory | 110 nm | CMOS | ? | |||||
1024 Mbit | DDR2 | Hynix | ? | CMOS | ? | |||
2004 | ? | 2048 Mbit | DDR2 | Samsung | 80 nm | CMOS | ? | |
2005 | EE+GS eDRAM | 32 Mbit | eDRAM | Sony, Toshiba | 65 nm | CMOS | 86 | |
Xenos eDRAM | 80 Mbit | eDRAM | NEC | 90 nm | CMOS | ? | ATI engineers by way of Beyond 3D's Dave Baumann | |
? | 512 Mbit | DDR3 | Samsung | 80 nm | CMOS | ? | ||
2006 | ? | 1024 Mbit | DDR2 | Hynix | 60 nm | CMOS | ? | |
2008 | ? | ? | LPDDR2 | Hynix | ? | |||
? | 8192 Mbit | DDR3 | Samsung | 50 nm | CMOS | ? | ||
2008 | ? | 16384 Mbit | DDR3 | Samsung | 50 nm | CMOS | ? | |
2009 | ? | ? | DDR3 | Hynix | 44 nm | CMOS | ? | |
2048 Mbit | DDR3 | Hynix | 40 nm | |||||
2011 | ? | 16384 Mbit | DDR3 | Hynix | 40 nm | CMOS | ? | |
2048 Mbit | DDR4 | Hynix | 30 nm | CMOS | ? | |||
2013 | ? | ? | LPDDR4 | Samsung | 20 nm | CMOS | ? | |
2014 | ? | 8192 Mbit | LPDDR4 | Samsung | 20 nm | CMOS | ? | |
2015 | ? | 12 Gbit | LPDDR4 | Samsung | 20 nm | CMOS | ? | |
2018 | ? | 8192 Mbit | LPDDR5 | Samsung | 10 nm | FinFET | ? | |
128 Gbit | DDR4 | Samsung | 10 nm | FinFET | ? |
+ Synchronous graphics random-access memory (SGRAM) | ||||||||
HM5283206 | 8 Mbit | SGRAM (SDR SDRAM) | Hitachi | 350 nm | CMOS | 58 mm2 | ||
μPD481850 | 8 Mbit | SGRAM (SDR) | NEC | CMOS | 280 mm2 | |||
1997 | μPD4811650 | 16 Mbit | SGRAM (SDR) | NEC | 350 nm | CMOS | 280 mm2 | |
16 Mbit | SGRAM (GDDR) | Samsung | CMOS | |||||
1999 | KM4132G112 | 32 Mbit | SGRAM (SDR) | Samsung | CMOS | 280 mm2 | ||
2002 | 128 Mbit | SGRAM (GDDR2) | Samsung | CMOS | ||||
2003 | 256 Mbit | SGRAM (GDDR2) | Samsung | CMOS | ||||
SGRAM (GDDR3) | ||||||||
K4D553238F | 256 Mbit | SGRAM (GDDR) | Samsung | CMOS | 77 mm2 | |||
256 Mbit | SGRAM (GDDR4) | Samsung | CMOS | |||||
2005 | 512 Mbit | SGRAM (GDDR4) | Hynix | CMOS | ||||
2007 | 1024 Mbit | SGRAM (GDDR5) | Hynix | 60 nm | ||||
2009 | 2048 Mbit | SGRAM (GDDR5) | Hynix | 40 nm | ||||
2010 | K4W1G1646G | 1024 Mbit | SGRAM (GDDR3) | Samsung | CMOS | 100 mm2 | ||
2012 | 4096 Mbit | SGRAM (GDDR3) | SK Hynix | CMOS | ||||
MT58K256M32JA | 8 Gbit | SGRAM (GDDR5X) | Micron | 20 nm | CMOS | 140 mm2 | ||
K4ZAF325BM | 16 Gbit | SGRAM (GDDR6) | Samsung | 10 nm | FinFET | 225 mm2 |
+ High Bandwidth Memory (HBM) | ||||||||
2013 | HBM | SK Hynix | CMOS | |||||
32 Gbit | HBM2 | Samsung | 20 nm | CMOS | ||||
2017 | 64 Gbit | HBM2 | Samsung | 20 nm | CMOS |
|
|