Multi-channel memory architecture
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
In the fields of digital electronics and computer hardware, multi-channel memory architecture is a technology that increases the data transfer rate between the DRAM memory and the memory controller by adding more channels of communication between them. Theoretically this multiplies the data rate by exactly the number of channels present. Dual-channel memory employs two channels. The technique goes back as far as the 1960s having been used in IBM System/360 Model 91 and in CDC 6600.
Modern high-end processors like the Intel i7 Extreme series and various Xeons support quad-channel memory. In March 2010, AMD released Socket G34 and Magny-Cours Opteron 6100 series processors with support for quad-channel memory. In 2006, Intel released chipsets that support quad-channel memory for its LGA771 platform and later in 2011 for its LGA2011 platform. Microcomputer chipsets with even more channels were designed; for example, the chipset in the AlphaStation 600 (1995) supports eight-channel memory, but the backplane of the machine limited operation to four channels.
Dual-channel-enabled memory controllers in a PC system architecture utilize two 64-bit data channels. Dual channel should not be confused with double data rate (DDR), in which data exchange happens twice per DRAM clock. The two technologies are independent of each other and many motherboards use both, by using DDR memory in a dual-channel configuration.
Dual-channel architecture requires a dual-channel-capable motherboard and two or more DDR, DDR2 SDRAM, or DDR3 SDRAM memory modules. The memory modules are installed into matching banks, which are usually color-coded on the motherboard. These separate channels allow the memory controller access to each memory module. It is not required that identical modules be used (if motherboard supports it), but this is often recommended for best dual-channel operation.
Motherboards supporting dual-channel memory layouts typically have color-coded DIMM sockets. Coloring schemes are not standardized and have opposing meanings, depending on the motherboard manufacturer's intentions and actual motherboard design. Matching colors may either indicate that the sockets belong to the same channel (meaning that DIMM pairs should be installed to differently colored sockets), or they may be used to indicate that DIMM pairs should be installed to the same color (meaning that each socket of the same color belongs to a different channel). The motherboard's manual will provide an explanation of how to install memory for that particular unit. A matched pair of memory modules may usually be placed in the first bank of each channel, and a different-capacity pair of modules in the second bank.
Modules rated at different speeds can be run in dual-channel mode, although the motherboard will then run all memory modules at the speed of the slowest module. Some motherboards, however, have compatibility issues with certain brands or models of memory when attempting to use them in dual-channel mode. For this reason, it is generally advised to use identical pairs of memory modules, which is why most memory manufacturers now sell "kits" of matched-pair DIMMs. Several motherboard manufacturers only support configurations where a "matched pair" of modules are used. A matching pair needs to match in:
- Capacity (e.g. 1024 MiB). Certain Intel chipsets support different capacity chips in what they call Flex Mode: the capacity that can be matched is run in dual-channel, while the remainder runs in single-channel.
- Speed (e.g. PC5300). If speed is not the same, the lower speed of the two modules will be used. Likewise, the higher latency of the two modules will be used.
- Same CAS Latency (CL) or Column Address Strobe.
- Number of chips and sides (e.g. two sides with four chips on each side).
- Matching size of rows and columns.
Dual-channel architecture is a technology implemented on motherboards by the motherboard manufacturer and does not apply to memory modules. Theoretically any matched pair of memory modules may be used in either single- or dual-channel operation, provided the motherboard supports this architecture.
Theoretically, dual-channel configurations double the memory bandwidth when compared to single-channel configurations. This should not be confused with double data rate (DDR) memory, which doubles the usage of DRAM bus by transferring data both on the rising and falling edges of the memory bus clock signals.
Tom's Hardware found little significant difference between single-channel and dual-channel configurations in synthetic and gaming benchmarks (using a "modern (2007)" system setup). In its tests, dual channel gave at best a 5% speed increase in memory-intensive tasks. Another comparison by Laptop logic resulted in a similar conclusion for integrated graphics. The test results published by Tom's Hardware had a discrete graphics comparison.
Another benchmark performed by TweakTown, using SiSoftware Sandra, measured around 70% increase in performance of a quadruple-channel configuration, when compared to a dual-channel configuration.:p. 5 Other tests performed by TweakTown on the same subject showed no significant differences in performance, leading to a conclusion that not all benchmark software is up to the task of exploiting increased parallelism offered by the multi-channel memory configurations.:p. 6
Ganged versus unganged
Dual-channel was originally conceived as a way to maximize memory throughput by combining two 64-bit buses into a single 128-bit bus. This is retrospectively called the "ganged" mode. However, due to lackluster performance gains in consumer applications, more modern implementations of dual-channel use the "unganged" mode by default, which maintains two 64-bit memory buses but allows independent access to each channel, in support of multithreading with multi-core processors.
"Ganged" versus "unganged" difference could also be envisioned as an analogy with the way RAID 0 works, when compared to JBOD. With RAID 0 (which equals to "ganged" mode), it is up to the additional logic layer to provide better (ideally even) usage of all available hardware units (storage devices, or memory modules) and increased overall performance. On the other hand, with JBOD (which equals to "unganged" mode) it is relied on the statistical usage patterns to ensure increased overall performance through even usage of all available hardware units.
DDR3 triple-channel architecture is used in the Intel Core i7-900 series (the Intel Core i7-800 series only support up to dual-channel). The LGA 1366 platform (e.g. Intel X58) supports DDR3 triple-channel, normally 1333 and 1600Mhz, but can run at higher clock speeds on certain motherboards. AMD Socket AM3 processors do not use the DDR3 triple-channel architecture but instead use dual-channel DDR3 memory. The same applies to the Intel Core i3, Core i5 and Core i7-800 series, which are used on the LGA 1156 platforms (e.g., Intel P55). According to Intel, a Core i7 with DDR3 operating at 1066 MHz will offer peak data transfer rates of 25.6 GB/s when operating in triple-channel interleaved mode. This, Intel claims, leads to faster system performance as well as higher performance per watt.
When operating in triple-channel mode, memory latency is reduced due to interleaving, meaning that each module is accessed sequentially for smaller bits of data rather than completely filling up one module before accessing the next one. Data is spread amongst the modules in an alternating pattern, potentially tripling available memory bandwidth for the same amount of data, as opposed to storing it all on one module.
The architecture can only be used when all three, or a multiple of three, memory modules are identical in capacity and speed, and are placed in three-channel slots. When two memory modules are installed, the architecture will operate in dual-channel architecture mode.
Intel Core i7:
Quad-channel DDR4 has replaced DDR3 on the Intel X99 LGA 2011 platform. DDR3 quad-channel architecture is used in the AMD G34 platform and in the Intel X79 LGA 2011 platform. AMD processors for the C32 platform and Intel processors for the LGA 1155 platform (e.g., Intel Z68) use dual-channel DDR3 memory instead.
The architecture can be used only when all four memory modules (or a multiple of four) are identical in capacity and speed, and are placed in quad-channel slots. When two memory modules are installed, the architecture will operate in a dual-channel mode; when three memory modules are installed, the architecture will operate in a triple-channel mode.
Intel Core i7:
- Jacob, Bruce; Ng, Spencer; Wang, David (2007). Memory systems: cache, DRAM, disk. Morgan Kaufmann. p. 318. ISBN 978-0-12-379751-3.
- "Opteron 6000 Series Platform Quick Reference Guide" (PDF). AMD. Retrieved 2012-10-15.
- 5000P memory controller, Intel.
- Intel LGA2011 socket x68 express chipset pictured, Tech power up.
- John H. Zurawski; John E. Murray; Paul J. Lemmon, "The Design and Verification of the AlphaStation 600 5-series Workstation", HP, 7 (1).
- "Intel Dual-Channel DDR Memory Architecture White Paper" (PDF) (Rev. 1.0 ed.). Infineon Technologies North America and Kingston Technology. September 2003. Archived from the original (PDF, 1021 KB) on 2011-09-29. Retrieved 2007-09-06.
- "Part 2: RAM and HDD", Parallel Processing, Tom's Hardware.
- Intel's Sonoma Platform: Dual Channel Performance, Laptop logic.
- Shawn Baker (2011-11-16). "Intel X79 Quad Channel and Z68 Dual Channel Memory Performance Analysis". TweakTown. Retrieved 2013-11-30.
- "AMD Phenom X4 Memory Controller in the Ganged/ Unganged Mode". ixbtlabs.com. 2008-08-16. Retrieved 2014-01-09.
- Gionatan Danti (2010-06-17). "The Phenom / PhenomII memory controller: ganged vs unganged mode benchmarked". ilsistemista.net. Retrieved 2014-01-09.
- "BIOS and Kernel Developer's Guide (BKDG) For AMD Family 10h Processors" (PDF). amd.com. 2013-01-11. pp. 107–108. Retrieved 2014-01-09.
When the DCTs are in ganged mode, as specified by [The DRAM Controller Select Low Register] F2x110 [DctGangEn], then each logical DIMM is two channels wide. Each physical DIMM of a 2-channel logical DIMM is required to be the same size and use the same timing parameters. Both DCTs must be programmed with the same information (see 2.8.1 [DCT Configuration Registers]). When the DCTs are in unganged mode, a logical DIMM is equivalent to a 64-bit physical DIMM and each channel is controlled by a different DCT. Typical systems are recommended to run in unganged mode to benefit from the additional parallelism generated by using the DCTs independently. See 2.12.2 [DRAM Considerations for ECC] for DRAM ECC implications of ganged and unganged mode. Ganged mode is not supported for S1g3, S1g4, ASB2, and G34 processors.
- Rouse, Margaret (September 2005). "JBOD (just a bunch of disks or just a bunch of drives)". SearchStorage.TechTarget.com. Retrieved 2014-01-09.
- X58 Product Brief (PDF), Intel
- Desktop Boards – Triple Memory Modules, Intel
- "Core i7 Family Product Comparison". Intel. Memory Specifications: # of Memory Channels.
- "Xeon Family Product Comparison". Intel. Memory Specifications: # of Memory Channels.
- "AMD Opteron 6200 Series Processor Quick Reference Guide" (PDF). Retrieved 2012-10-15.
- "AMD Opteron 6300 Series processor Quick Reference Guide" (PDF). Retrieved 2013-12-11.
- "Single, dual, triple and flex memory modes", Desktop motherboards support, Intel.
- Everything You Need to Know About the Dual-, Triple-, and Quad-Channel Memory Architectures, November 2011, Hardware Secrets
- Memory Configuration Guide for X9 Series DP Motherboards – Revised Ivy Bridge Update (Socket R & B2), January 2014, Super Micro Computer, Inc.
- DDR3 Memory Frequency Guide, May 2012, AMD (archived)