Double Data Rate 5 Synchronous Dynamic Random-Access Memory (DDR5 SDRAM) is a type of synchronous dynamic random-access memory. Compared to its predecessor DDR4 SDRAM, DDR5 was planned to reduce power consumption, while doubling bandwidth.[5] The standard, originally targeted for 2018,[6] was released on July 14, 2020.[2]
A new feature called Decision Feedback Equalization (DFE) enables input/output (I/O) speed scalability for higher bandwidth and performance improvement. DDR5 has about the same latency (around 14 ns) as DDR4 and DDR3.[7] DDR5 octuples the maximum DIMM capacity from 64 GB to 512 GB.[8][3] DDR5 also has higher frequencies than DDR4, up to 8GT/s which translates into 64 GB/s (8 gigatransfers/second * 64-bit width / 8 bits/byte = 64 GB/s) of bandwidth per DIMM.
Rambus announced a working DDR5 dual in-line memory module (DIMM) in September 2017.[9][10] On November 15, 2018, SK Hynix announced completion of its first DDR5 RAM chip; running at 5.2 GT/s at 1.1 V.[11] In February 2019, SK Hynix announced a 6.4 GT/s chip, the highest speed specified by the preliminary DDR5 standard.[12] The first production DDR5 DRAM chip was officially launched by SK Hynix on October 6, 2020.[13][14]
Compared to DDR4, DDR5 further reduces memory voltage to 1.1 V, thus reducing power consumption. DDR5 modules incorporate on-board voltage regulators in order to reach higher speeds.[10]
Features
Unlike DDR4, all DDR5 chips have on-die error-correction code, that detects and corrects errors before sending data to the CPU, to improve reliability and allow denser RAM chips which lowers per-chip defect rate. However, on-die error-correction code is not the same as true ECC memory with extra data correction chips on the memory module. There still exists non-ECC and ECC DDR5 DIMM variants; ECC variants have extra data lines to the CPU to send error-detection data, letting the CPU detect and correct errors occurring in transit.[16]
Each DDR5 DIMM has two independent channels. Earlier DIMM generations featured only a single channel and one CA (Command/Address) bus controlling the whole memory module with its 64 (for non-ECC) or 72 (for ECC) data lines. Both subchannels on a DDR5 DIMM each have their own CA bus, controlling 32 bits for non-ECC memory and either 36 or 40 data lines for ECC memory, resulting in a total number of either 64, 72 or 80 data lines. The reduced bus width is compensated by a doubled minimum burst length of 16, which preserves the minimum access size of 64 bytes, which matches the cache line size used by modern x86 microprocessors.[17]
Memory modules
Multiple DDR5 memory chips can be mounted on a circuit board to form memory modules. For use in personal computers and servers, DDR5 memory is usually supplied in 288-pin dual in-line memory modules, more commonly known as DIMMs. As with previous memory generations, there are multiple DIMM variants available for DDR5.
Unbuffered memory modules (UDIMMs) directly expose the memory chip interface
to the module connector. Registered or load-reduced variants (RDIMMs/LRDIMMs) use
additional active circuitry on the memory module in order to buffer the
signals between the memory controller and the DRAM chips.
This reduces the capacitive load on the DDR5 bus.
DDR5 RDIMMs/LRDIMMs use 12 V and UDIMMs use 5 V input.[18] In order to prevent damage by accidental insertion of the wrong memory type, DDR5 UDIMMs and (L)RDIMMs are not mechanically compatible. Additionally, DDR5 DIMMs are supplied with management interface power at 3.3 V,[19][20] and use on-board circuitry (a power management integrated circuit[21] and associated passive components) to convert to the lower voltage required by the memory chips. Final voltage regulation close to the point of use provides more stable power, and mirrors the development of voltage regulator modules for CPU power supplies.
Operation
Standard DDR5 memory speeds range from 4,000 to 6,400 million transfers per second (PC5-32000 to PC5-51200).[3] Higher speeds may be added later, as happened with previous generations.
Compared to DDR4 SDRAM, the minimum burst length was doubled to 16, with the option of "burst chop" after eight transfers. The addressing range is also slightly extended as follows:
The number of chip ID bits remains at three bits, allowing up to eight stacked chips (3 → 3).
A third bank group bit (BG2) was added, allowing up to eight bank groups (2 → 3).
The maximum number of banks per bank group remains at four (2 → 2),
The number of row address bits remains at 17, for a maximum of 128K rows (17 → 17).
One more column address bit (C10) is added, allowing up to 8192 columns (1 KB pages) in ×4 chips (11 → 12).
The least-significant three column-address bits (C0, C1, C2) are removed. All reads and writes must begin at a column address which is a multiple of 8 (3 → 0). This is necessary due to the internal ECC.
One bit is reserved for addressing expansion as either a fourth chip ID bit (CID3) or an additional row address bit (R17) (0 → 1).
The command encoding was significantly rearranged and takes inspiration from that of LPDDR4; commands are sent using either one or two cycles with 14-bit bus. Some simple commands (e.g. precharge) take one cycle, while any that include an address (activate, read, write) use two cycles to include 28 bits of information.
Also like LPDDR, there are now 256 8-bit mode registers, rather than eight 13-bit mode registers. Also, rather than one register (MR7) being reserved for use by the registered clock driver chip, a complete second bank of mode registers is defined (selected using the CW bit).
The "Write Pattern" command is new for DDR5; this is identical to a write command, but the range is filled in with copies of a one-byte mode register (which defaults to all-zero) instead of individual data. Although this normally takes the same amount of time as a normal write, not driving the data lines saves energy. Also, writes to multiple banks may be interleaved more closely as the command bus is freed earlier.
The multi-purpose command includes various sub-commands for training and calibration of the data bus.
Support
Intel
The 12th generation Alder Lake, 13th generation Raptor Lake, as well as 14th generation Raptor Lake Refresh CPUs support both DDR5 and DDR4 but, usually, there are only DIMM sockets for either one or the other on a motherboard. Some mainboards with Intel's H610 chipset support both DDR4 and DDR5, but not simultaneously.[23]
Sapphire Rapids server CPUs, Core Ultra Series 1 Meteor Lake mobile CPUs, and the latest Core Ultra Series 2 Arrow Lake desktop CPUs all exclusively support DDR5.
AMD
DDR5 and LPDDR5 are supported by the Ryzen 6000 series mobile APUs, powered by their Zen 3+ architecture. Ryzen 7000 and Ryzen 9000 series desktop processors also support DDR5 memory as standard.[24]
Epyc fourth-generation Genoa and Bergamo server CPUs have support for 12-channel DDR5 on the SP5 socket.[25][26]
Notes
^64 GB/s assumes 8 GT/s, each with 64 bits of bus width, then divided by 8 to convert from bits to bytes
References
^Here, K, M, G, or T refer to the binary prefixes based on powers of 1024.
^"DDR5 SDRAM UDIMM Core: Product Description"(PDF). Micron Technology, Inc. p. 1. Archived from the original(PDF) on December 25, 2023. Voltage (external supply, nominal) / VIN_Bulk: 5V / Bulk input DC supply voltage from system
^"DDR5 SDRAM RDIMM Based on 16Gb M-die"(PDF). SK Hynix. p. 7. Archived from the original(PDF) on October 29, 2021. Retrieved October 29, 2021. VIN_BULK[:] 12 V power input supply pin to the PMIC. VIN_MGMT[:] 3.3 V power input supply pin to the PMIC for VOUT_1.8V & VOUT_1.0V LDO output, side band management access, internal memory read operation.
^US patent 10769082, Patel, Shwetal Arvind; Zhang, Andy & Meng, Wen Jie et al., "DDR5 PMIC Interface Protocol and Operation", published 2019-11-07, assigned to Integrated Device Technology, Inc.