PDA

View Full Version : What is dual channel DDR?


Xaeron
05-31-03, 01:04 PM
I just bought one of those abit Isomething7 boards with the 865 springdale chipset. It says it supports dual channel ddr if you put 2 sticks of the same type of memory in dimm 1 and dimm 3. What on earth is this and what does it do?

One Cool Dude
05-31-03, 05:21 PM
Basicly it means it runs at double the bandwidth.

SeanOMatic
05-31-03, 05:45 PM
Yeah, but it doesn't really do too much for real-world performance.

nikhsub1
05-31-03, 05:47 PM
DC DDR should be a sticky FAQ or something... First, lets get to the basics. Dual Channel is a function of the MOTHERBOARD, NOT the ram. There is no such thing as Dual Channel Ram. When ram mfgrs. talk about Dual Channel this and that, they mean that the sticks have been tested in dual channel configuration or that they are 'optimized' for dual channel. Pretty much marketing hype. Again, there is no such thing as Dual Channel DDR as ANY DDR ram can be run in dual channel mode provided the mobo supports it.

SeanOMatic
05-31-03, 05:51 PM
Bingo!

hitechjb1
05-31-03, 07:31 PM
I have written a number of posts in the STICKY thread SDRAM and DDR Specifications (http://forum.oc-forums.com/vb/showthread.php?s=&threadid=80182) about:

- RAS, CAS Timing and BIOS Memory Setting

- Single Channel vs Dual Channel DDR Memory Module

- Overclocking memory module(s) vs dual channel

- 256MB vs 512 MB vs 1GB, 1 module vs 2 modules

- Dual Channel Memory (1 vs 2 sticks, sync vs async)

- Dual Channel, Nforce2, P4 and AMD FSB

- Different RAS/CAS timing on memory latency (estimate)

- What is cycle time and frequency of memory module

- Frequency, clock, period of synchronous operations

- Analogy on Bus Speed, Bandwidth and Latency

- Analogy for FSB, CAS2, CAS3 latency and bandwidth for DRAM memory

- Summary for overclocking CPU and FSB


There are lots of details and analysis. Maybe a little bit lengthy (and boring to read) for beginners. When I wrote them, I tried to put down all the things that I thought are important, ... , as detailed and concise as possible.

At that time, I did not have access to picture server, and no pics make it also harder to read.

So try to read it, any questions, comment about incompleteness and errors are welcome.

hitechjb1
05-31-03, 07:32 PM
The next two are related to dual channel, hope they are not out dated. E.g. I used FSB 166 MHz at time, now AMD and Intel are having 200 MHz officially, but the agruments should still hold.

Also in hammer64, the memory controller is on the CPU chip, and is no longer external to the CPU in the NB as shown in the original post.

Originally posted by hitechjb1 (03-10-2003 02:25 AM)
Single Channel vs Dual Channel DDR Memory Module

In a motherboard, the CPU is connected to the memory modules (one or two or more) via a memory controller (inside the north bridge).

Single channel memory modules and memory bus

CPU <---- fsb ----> Memory Controller <---- memory bus ----> Memory Module (dimm1/dimm2/dimm3)

maxFsbBandwidth = fsb x 2 x 8 MB/s
maxMemoryBandwidth = memoryBus x 2 x 8 MB/s
x 2 because data is pumped at twice the bus frequency (using both rising and falling clock edges) in DDR (double data rate) form,
x 8 because the memory data bus is 64 bit or 8 Byte wide.

E.g. fsb = 200 MHz,
memoryBus = 200 MHz,
maxMemoryBandwith = 200 x 2 x 8 = 3200 MB/s
(This is why fsb 200 MHz, DDR 400, PC3200 refer to same thing)

In a motherboard with dual channel, two memory dimms can be connected to the memory controller(s) in parallell to provide in theory twice the bandwidth to the memory controller(s)

Dual channel with two memory modules, memory buses in parallel

........................... Memory Controller <---- memory bus ----> Memory Module (dimm1/dimm2)
CPU <---- fsb ---->
........................... Memory Controller <---- memory bus ----> Memory Module (dimm3)

singleChannelMemoryBandwidth = memoryBus x 2 x 8 MB/s
maxMemoryBandwidth = 2 x memoryBus x 2 x 8 MB/s
x 2 because data is pumped at twice the bus frequency (using both rising and falling clock edges) in DDR (double data rate) form,
x 8 because the memory data bus is 64 bit or 8 Byte wide.

E.g. fsb = 200 MHz,
memoryBus = 200 MHz,
maxSingleChannelMemoryBandwidth = 200 x 2 x 8 = 3200 MB/s
(This is why fsb 200 MHz, DDR 400, PC3200 refer to same thing)
maxDualChannelMemoryBandwidth = 2 x 3200 MB/s = 6400 MB/s

So indeed, in dual channel, the memory controller(s) sees twice the memory bandwidth if two memory modules are put into the correct dimms (e.g. dimm1+dimm3, or dimm2+dimm3 for A7N8X). So far so good.

For the current AMD nforce2 MB, the fsb data rate for dual channel is still running as the SAME as a single channel memory double data rate (DDR). Even the memory modules are in parallel to give twice the bandwidth to the memory controller(s), but the fsb CANNOT take advantage of getting twice the data rate from memory controller(s)!!!!

Things are actually more complicated than that for nforce2 memory controller, there is some speculative prefetch data cache in the north bridge to make use of the dual channel bandwidth, so that some data are cached in the NB and can get to the CPU faster than getting from the memory. But the net is that until AMD can provide quad rate (or double fsb speed) than now, there is little or no advantage to make use of the dual memory bandwidth for the CPU. There are some MBs implementing integrated video (a diff version of the NB) which has 2x64 bit datapath and can take advantage of the dual channel memory bus bandwidth.

For current nforce2 MB, maxMemoryBandwidth = fsb x 2 x 8 MB/s
At fsb = 166,
maxMemoryBandwidth = 166 x 2 x 8 = 2656 MB/s.
If one can overclock hard (for nforce2) to 220 fsb, one would get around 3300 MB/s which will close in to Intel quad rate w/ DDR (but not there yet 4000-5000 MB/s).

For Intel, the fsb is quad data rate (QDR), i.e. the fsb data rate is four time as fast as the memory bus speed, or twice the memory's double data rate.
E.g.
fsb = 166
memory bus = 166 (DDR 333)
maxMemoryBandwidth (quad data rate) = 166 x 4 x 8 = 5312 MB/s
In general, the controller efficiency is not 100%, and also due other bus traffic. So one cannot get twice the memory bandwidth, the effective is around 70-80% = 4000 MB/s.


For current nforce2 dual channel, little or no advantage until AMD fsb data rate is twice as fast as the memory double data rate (DDR). Currently, the fsb data rate is only the same as memory's data rate.

For Intel P4 chip set, since fsb quad data rate (QDR) is four time as fast as memory speed (or twice the DDR of memory), minus some overhead in the memory controller, the effective bandwidth is about 70-80% of dual channel bandwidth. It is clear 2 modules in dual channel should be used whenever possible.

hitechjb1
05-31-03, 07:33 PM
Originally posted by hitechjb1 (03-14-2003 01:42 AM)
Dual Channel, Nforce2, P4 and AMD FSB

The key is that P4 FSB is quad pump and there is no fast memory to match the FSB, hence running memory in dual channel to increase bandwidth. But in AMD NF2 dual pump, memory can match the FSB speed and if you want to squeeze last % of bandwidth, you have to run memory in SYNC with FSB, but ASYNC dual channel will give the best price/performance.

I found that in terms of memory controller efficiency for NF2 and P4, both max out around 75-80%, not much different.

It seems that it is price/performance effective to use PC2100-2700 memory modules in dual channel so the combined bandwidth is more in line with the AMD dual pump FSB running 50-100% faster. This is like an artificial emulation of the scaled down P4 quad pump FSB.

Actually, things are more complicated than just that:

1. In practiice and absolute term, most current NF2 MB can run up to about 210-220 MHz (even with the vdd mod on the NB). I think it is due to the memory controller(s) in the NB, even the FSB can physically go much higher to 230-240 MHz by itself, without heavy memory traffic (I did some tests on this using ASYNC).

So this limits the realistic max FSB bandwidth to 2 * 8 * 220 = 3520 MB/s

2. Further there is an overhead in the dual channel memory controller, I estiamted to be about 75% efficiency. This figure seems to be about right for both dual channel in P4 and nforce2.

For P4 running 166 MHz, max bandwidth = 4 * 8 * 166 = 5312 MB/s
Actual memory bandwidth measured is around 4000 MB/s (hence ~75% efficiency).

For AMD nforce2, since FSB is only 2x, the efficiency is only 50% when memory is running 100% SYNC (half of the memory bandwidth is wasted). And the efficiency is about 75% when memory is running much slower than the FSB (at 50-75%).

So if FSB = 220 MHz, memory speed = 133 MHz (PC2100),
the max memory bandwidth = 2 * 2 * 133 * 8 = 4256 MB/s
which ideally is good for filling up the FSB, ... but taking into account overhead and efficiency,
the effective bandwidth = 4256 * 0.75 = 3192 MB/s

Actually this is pretty good for price/performance, given the memory cost is 50% lower than that running 100% SYNC using PC3500 memory, and getting close to 10-15% of the max bandwidth at 220 MHz.

But for overclockers who always want the max, this is a hard sell and requires more work to optimize the overall system. Since AMD FSB is not quad pump, and one can always find fast memory say PC3500/3700 to match the 220 MHz FSB. And the effective bandwidth will be about 3300 MB/s (subtract overhead 200 from 3500). This is a little bit better than the dual channel 3192 MB/s.

I think this is why for overclockers, most will just keep pushing the FSB with faster memory running at SYNC.

3. IMHO, running slower memory in ASYNC at 50-66-75% is much more price/performace effective than 100% SYNC. 50% memory cost will get to 10-15% of the max bandwidth. This approach has been used in P4 dual channel since its FSB is 4x and there is no fast memory to match at that speed, and dual channel is the only way to fill up the system bandwidth.

But until AMD comes up with quad pump, ppl who want absolute performance will just use the fastest memory to match the FSB and run them in SYNC to get the last 10% of memory bandwidth.

Further, even AMD does not give quad pump, if somehow the NB, ... issues are solved so we can run the FSB at 250 MHz or beyond, then the AMD system bandwidth will be close to 4000 MB/s which is about the same as that delivered by P4 dual channel (here assume P4 FSB stays at 166 MHz).

fuzzywuzzy
06-07-03, 08:29 AM
Another n00b but related question.....

In running DDR RAM in dual channel mode, you end up only having HALF the amount of RAM available to the system, right? By that, I mean, you have say, 2x512MB sticks in a dual channel configuration. You end up only having 512MB system memory....
right?

More Qs:
- Since dual channel is a motherboard thing, it is independent of OS?
- From what I know, dual channel-capable mobos only have 1 slot to add the 2nd RAM stick. So, does that mean you can only have dual channel setup with only 2 sticks of RAM? What would be the MAX MB of memory in this setup?
- For the average joe, there's no need for dual channel set up, is there?

CrazyP
06-07-03, 09:03 AM
to your first question, no, you would have the full 1024 MB of ram, its like running raid0 with 2 HDD, it actually acts as one stick of ram with a 128 bit of bandwidth insteaD OF 64 BITS. THOSE LAST NUMBERS i THREW OUT ARE FORM MEMORY, SO IF iM WRONG SOMEONE CORRECT ME PLEASE. Dual channel is really only need in high bandwidth situations.

and yes it is independent of the OS. and from what I have seen, on intel mobos you have 4 memory slots. AMD boards only have 3. on the 3 slot boards, none really knows how having another
third stick affects the other 2 in dual channel.

the max amount is dependent on the chipsets. it should say what the max amount is when you research a purchase, whcih you should always do.

IMO no its not need for the average joe but, its free extra performance. 2 256MB sticks cost about the same as 1 stick of 512 MB, so a person should buy 2 sticks versus one inorder to get full value out of his purchase.

hitechjb1
06-08-03, 12:26 PM
If you fill up the 3 dimm slots of the nforce2 motherboard, you would still get dual channel.

E.g. for A7N8X-DLX, assume the dimm's are number 1, 2, 3, 1 being nearest to CPU. Other nforce2 mb should have similar behavior.

1) 512 MB in dimm1, 512 MB in dimm3 => dual channel w/ 1024 MB total

2) 512 MB in dimm2, 512 MB in dimm3 => dual channel w/ 1024 MB total

3) 512 MB in dimm1, 512 MB in dimm2, 512 MB in dimm3 => dual channel w/ 1536 MB total

hitechjb1
06-08-03, 12:48 PM
Dual channel or single channel mode in nforce2 mb is not that crucial for overall performance. The difference is only few % (say 2-3%) at most. Also single channel may let FSB to go a bit higher due to smaller chance of potential dual dimm mismatch and memory controller stress at high FSB, I think. On the other hand, dual channel memory controller provides some performance advantage due to its intrinsic speculative caching capability. At this point, the little higher FSB from single channel offset the performance advantage of dual channel, and the two is about a tie, I think, for AMD mb. For some nforce2 mb that have integrated video which can benefit from twice the nforce2 memory bandwidth, since the bus between the video and the memory controller has 2x64 bit bus.

The max bandwdith between memory controller and CPU would be 2 x 8 x FSB = 16 FSB MB/s. x2 is because of DDR (data are transferred at both rising and falling edge of the FSB clock, x8 because of 8-byte bus or 64-bit bus). The effective bandwidth, taking into memory controller (~95% efficiency), would be around 15.2 FSB. E.g. FSB = 200 MHz, effective bandwidth ~ 3040 MB/s.

Dual channel makes a big difference for P4 dual channel mb though, due to quad pump data of P4 (or QDR). The max bandwidth for P4 dual channel is 4 x 8 x FSB = 32 FSB MB/s. The effective bandwidth, taking into memory controller overhead (~ 75% efficiency), would be around 24 FSB MB/s. E.g. FSB = 200 MHz, effective bandwidth ~ 4800 MB/s, which is around 60% more than that of a nforce2 mb running same FSB 200 MHz.

fuzzywuzzy
06-10-03, 08:08 AM
Ok, so I understand now that Dual Channel DDR is more a memory controller-based thing, more than memory modules :) I see now...

In this third configuration you listed, would it mean that one of the 512MB 'regions' is not really dual channel? i.e. It seems to be then that you'd have 3 chunks of memory trying to fight for the dual channels.... Only 2 of them, but you have 3 chunks of memory?

Originally posted by hitechjb1
If you fill up the 3 dimm slots of the nforce2 motherboard, you would still get dual channel.

3) 512 MB in dimm1, 512 MB in dimm2, 512 MB in dimm3 => dual channel w/ 1536 MB total

hitechjb1
06-10-03, 04:16 PM
Originally posted by fuzzywuzzy
Ok, so I understand now that Dual Channel DDR is more a memory controller-based thing, more than memory modules :) I see now...

In this third configuration you listed, would it mean that one of the 512MB 'regions' is not really dual channel? i.e. It seems to be then that you'd have 3 chunks of memory trying to fight for the dual channels.... Only 2 of them, but you have 3 chunks of memory?



I have not looked at the detailed circuits of how the memory controller handles all the 3 dimms together. When all the 3 dimms are populated, I can imagine that the memory controller can address either dimm2+dimm3 together or both dimm1+dimm3 together, to perform DDR data input/output with a datapath width of 2 x 64 bit. 64-bit is the data path for a single PC3200/3500/3700 DDR memory module avaiable today. That is, no single dimm has to be left as single channel and the other two working as dual channel.

CGR
06-10-03, 04:50 PM
I did Sandra tests with my Asus board and its duel dimm slots.

I found that I got between 100 - 200 more on my memory speed test with the dimms in duel mode. Not a huge difference but if you got two dimms might as well use it. This was with my pc2100 memory so with higher speed memory I cant say what it will do for you..

Gautam
06-10-03, 04:55 PM
Although dual channel doesn't benefit AMD systems by nearly as much as it does Intel-based ones, it actually does give a surprising bit of a boost. Sandra reports my bandwidth, at 220mhz SC in sync to be 3320 mb/sec. I've seen people on these forums running at the same 220mhz, but in dual channel, getting scores past 3700mb/sec. I'm not sure why this happens; theoretically it shouldn't happen, as the theoretical max for a 220mhz fsb is on 3520 mb/sec. Yet it proves to be quite advantageous to run dual channel, nonetheless. It shows improvements in other places, such as 3dMark2001, etc. It seems like running your memory out of sync above your fsb can be helpful, too. One of my friends is running his KT400-based system with an fsb of 175mhz, and his memory bus at 200mhz. Doesn't sound like it should help, yet his bandwidth, as reported by Sandra, is raised from around 2600mb/sec running in sync to 2900mb/sec running out of sync. Rather strange phenomenon, at least as far as I can tell.

hitechjb1
06-10-03, 05:37 PM
I recall that few months ago for AMD nforce2 (after it came out), many people reported/said there is not much different (2-3-5%) between single and dual channel. It looks like recently, there are more results showing that the dual channel has at least higher benchmark numbers? Is this really the case?

For bandwidth, there is an upper bound bandwidth for AMD DDR FSB which is 16 FSB (MB/s). But for system performance which is more than just pure bandwidth, maybe there is some advantage inside the NB memory controller such as some kind of data caching between memory and CPU going on, in dual channel mode helping things out.

I think we have to look into it more, whether it is due to NB stepping change, bios, or Sandra reporting, or nothing has change, ...