- Multi-channel memory architecture
Multi-channel architecture is a technology that increases the transfer speed of data between the RAM 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 which theoretically doubles the data transfer rate. Higher-end chipsets like the Intel i7-9x series and various Xeon chipsets support triple-channel memory. Intel is currently (2011) working to develop chipsets that support quad-channel memory. The chipset in the AlphaStation 600 supported 8-channel memory, but the backplane currently (as of 1995) limits the machine to 4 channels.
Dual-channel-enabled memory controllers utilize two 64-bit data channels. Dual channel should not be confused with double data rate (DDR), in which each memory module is accessed twice per 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 each memory module access to the memory controller, increasing throughput bandwidth. It is not required that identical modules be used, but this is often recommended for best dual-channel operation. It is possible to use a single-sided module of 512 MB and a double-sided module of 512 MB in dual-channel configuration, but how fast and stable it is depends on the memory controller.
If the motherboard has two pairs of differently colored DIMM sockets (the colors indicate which bank they belong to, bank 0 or bank 1), then one can place a matched pair of memory modules in bank 0, but a different-capacity pair of modules in bank 1, as long as they are of the same speed. Using this scheme, a pair of 1 GB memory modules in bank 0 and a pair of matched 512 MB modules in bank 1 would be acceptable for dual-channel operation.
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 MB). 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.
- Number of chips and sides (e.g. 2 sides with 4 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.
Dual-channel technology was created to address the issue of bottlenecks. Increased processor speed and performance requires other, less prominent components to keep pace. In the case of dual channel design, the intended target is the memory controller, which regulates data flow between the CPU and system memory (RAM). The memory controller determines the types and speeds of RAM as well as the maximum size of each individual memory module and the overall memory capacity of the system. However, when the memory is unable to keep up with the processor, a bottleneck occurs, leaving the CPU with nothing to process. Under the single-channel architecture, any CPU with a bus speed greater than the memory speed would be susceptible to this bottleneck effect.
The dual-channel configuration alleviates the problem by doubling the amount of available memory bandwidth. Instead of a single memory channel, a second parallel channel is added. With two channels working simultaneously, the bottleneck is reduced. Rather than wait for memory technology to improve, dual-channel architecture simply takes the existing RAM technology and improves the method in which it is handled. While the actual implementation differs between Intel and AMD motherboards, the basic theory stands.
There have been varying reports as to the performance increase of dual-channel configurations, with some tests citing significant performance gains while others suggest almost no gain.
Tom's Hardware found little significant difference between single-channel and dual-channel configurations in synthetic and gaming benchmarks (using a "modern" system setup). In its tests, dual channel gave at best a 5% speed increase in memory-intensive tasks. Another comparison by laptoplogic.com resulted in a similar conclusion for integrated graphics. The test results published by Tom's Hardware had a discrete graphics comparison.
The difference can be far more significant in applications that manipulate large amounts of data in memory. A comparison by TechConnect Magazine demonstrated considerable gains for dual-channel in tasks using block sizes greater than 4 MB, and during stream processing by the CPU.[dead link]
Ganged vs 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 as discussed above, 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.
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), and the LGA 1366 platform (e.g., Intel X58). 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 over 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 mode.
Intel Core i7:
- Intel Core i7-9xx Bloomfield, Gulftown
- Intel Core i7-9x0X Gulftown
- Intel Xeon E55xx Nehalem-EP
- Intel Xeon E56xx Westmere-EP
- Intel Xeon ECxxxx Jasper Forest
- Intel Xeon L55xx Nehalem-EP
- Intel Xeon L5609 Westmere-EP
- Intel Xeon L5630 Westmere-EP
- Intel Xeon L5640 Westmere-EP
- Intel Xeon LC55x8 Jasper Forest
- Intel Xeon Wxxxx Bloomfield, Nehalem-EP, Westmere-EP
- Intel Xeon X55xx Nehalem-EP
- Intel Xeon X56xx Westmere-EP
- ^ http://www.techpowerup.com/138087/Intel-LGA2011-Socket-X68-Express-Chipset-Pictured.html
- ^ http://www.hpl.hp.com/hpjournal/dtj/vol7num1/vol7num1art7.txt
- ^ RAM size is specified using binary meanings for K (10241 instead of 10001), M (10242 instead of 10002), G (10243 instead of 10003), ...
- ^ Infineon Technologies North America Corporation and Kingston Technology Company, Inc. (September 2003). ""Intel Dual-Channel DDR Memory Architecture White Paper", Rev. 1.0" (PDF, 1021 KB). Kingston Technology. http://www.kingston.com/newtech/MKF_520DDRwhitepaper.pdf. Retrieved 2007-09-06.
- ^ Parallel Processing, Part 2: RAM and HDD | Tom's Hardware
- ^ Intel's Sonoma Platform: Dual Channel Performance
- ^ TechConnect Magazine - The Battle of the Channel - Dual vs Single
- ^ Intel X58 Product Brief, http://www.intel.com/Assets/PDF/prodbrief/x58-product-brief.pdf
- ^ Desktop Boards - Triple Memory Modules, http://support.intel.com/support/motherboards/desktop/sb/CS-011965.htm#triple
- ^ Intel, ed. "Intel Core i7 Family Product Comparison". Memory Specifications: # of Memory Channels. http://ark.intel.com/Compare.aspx?ids=48139,43559,43560,43562,43563,49666,47700,49654,50022,49158,49664,43122,49024,43124,43125,54616,52231,54610,52219,53463,54611,54615,53472,50067,52227,43126,43127,52237,41316,41318,41315,48498,48499,48500,37147,41447,37148,37150,37151,47933,52213,52214,52215,37149,37153,47932,52585,.
Wikimedia Foundation. 2010.