Do you have a question? Post it now! No Registration Necessary. Now with pictures!
- Posted on
- Dual Channel Memory
February 27, 2010, 6:18 pm
rate this thread
Re: Dual Channel Memory
Dual channel is implemented a couple of ways.
On AMD processors, their idea was to run a pair of DIMMs, as if
they were 128 bits wide. For that to be possible, the rows,
columns, banks, and ranks of each module have to be the same
(because both modules will be getting exactly the same commands).
If the timings of the modules differ, then the BIOS will select
the fastest options that the pair of modules share.
Other memory controller implementations, have more independent
control of each channel and each stick. The rows, columns,
banks, and ranks could differ and it would still work. Instead
of the DIMMs being treated like a pair of them are 128 bits wide,
the implementation is true dual channel, giving custom commands to
each channel, then waiting for both channels to come back.
Intel Flex Memory, on some of the Intel chipsets, works that way.
The Nvidia Nforce2 was true dual channel as well.
With true dual channel controllers like that, dual channel
behavior exists for as much memory quantity as is matched on each
channel. For example, if 2GB is installed on one channel, and
1GB is installed on the other, then the 2x1GB bottom portion runs
in dual channel, while the "unbalanced" remaining 1GB portion
gives single channel bandwidth when accessed. I've actually
tested that, with a specially modified version of memtest86+,
and indeed, you get variable memory bandwidth as a function
of where in the address space that you're working.
So to answer your question:
1) If the situation is a total unknown (you don't know
what kind of computer you own :-) ), then matching
rows, columns, banks, and ranks, means you'll get
dual channel from virtually any system that supports
dual channel. For example, if you're mixing a single sided
DIMM with a double sided DIMM, you know that isn't a match.
2) For systems with "extra flexibility", only the quantity
of memory in each channel has to match. On some systems
for example, you can stick 2x1GB on one channel and stick
a single 2GB stick on the other channel, and the whole
memory space runs dual channel.
Memory timings are generally shared by all modules, simply
because the memory controller design would be too complicated
to do otherwise. So if the modules all have different timing
values in their SPD, the BIOS is going to select some common
denominator, when setting them up. That allows the more flexible
dual channel implementations, to have activities on each channel
complete on the same clock cycle.
There are cases, where the BIOS was doing "too much matching"
and actually rejected DIMMs for relatively minor differences.
That behavior was seen on early S939 systems, where you could
install two pairs of virtually matching DIMMs, only to find
the BIOS would ignore one of the pairs. A BIOS update fixed that.
There are other ways to mismatch modules, and that is the
"voltage dimension". Say I purchase a pair of DIMMs that
don't tolerate high voltage (my Crucial was good to 2.7V).
Then, I purchase a second pair of modules, say some nice
Winbond that runs up to 3.3V. It may not be possible to
make that mess perform to your satisfaction, as lowering
the voltage to protect the Crucial, may prevent the
Winbond from meeting its timing. From a practical perspective,
when running four sticks, you shouldn't go too far, such as mixing
"extreme enthusiast" RAM with "valueram". You want your RAMs to
have similar voltage characteristics, such that you can select
a value of Vdimm that makes all the modules happy. Otherwise,
you may have to select reduced frequency and slack timing, to
make your system work error free. The BIOS won't be able to
help you - it takes manual settings to straighten out
that kind of mess.
Re: Dual Channel Memory
Thanks for your answers. Just to elaborate a bit:
(1) The motherboard is and ASRock G41M-GS, which purports to support
dual channel memory. (The board only has two memory module slots.)
(2) The memory is a couple of pqi 1GB DDR2-667 sticks.
Up to this point, I basically though that the dual channel implemention
was in the board alone. On those chips, though, "Single Channel" was
explicitly printed and it made me wonder. Maybe it's just clarifying
that the speed and timings were for single channel mode?
Re: Dual Channel Memory
The pqimemory page mentions "single pack", implying you're buying one
stick at a time.
Dual channel would be a feature of the motherboard. The DIMMs don't
"know about one another". There is no communication between the
DIMMs, to affect their behavior. The behavior is that of the chipset
and BIOS setup.
G41 chipset datasheet. Pg. 527 indicates it is a Flex Memory chipset.
(Use a recent version of Acrobat Reader to open this.)
"Dual channel symmetric mode is used when both Channel A and Channel B DIMMs
are populated in any order with the total amount of memory in each channel
being the same, but the DRAM device technology and width may vary from one
channel to the other."
If you installed 2x1GB, that would mean each channel has the same amount
of memory, so the "Dual channel symmetric mode" could be used.
The quoted description means you could plug in a single sided (8 chip) 1GB
DIMM and a dual sided (16 chip) 1GB DIMM (i.e. not matching), and it would
still run dual channel.
- » Newest MemTest86, MemTest86+ incompatible with Sandy, Ivy chipsets?
- — Next thread in » Computer Hardware