How to best distribute 12GB of RAM

dual-channelmemory

All 3 modules will have the same MHz but how do distribute modules to best handle multi-channel RAM. When buying 8GB is easy as I can take 2 x 4GB.

What solution is best for 12GB:

  1. 3 x 4GB
  2. 8GB + 4 GB
  3. something else?

If not absolutely the best solution, I would not go with 3x4GB since in the future I will probably have to throw away one of these 4GB modules when upgrading to more RAM due to the lack of RAM slots. Things like this happened 10 times so far.

Best Answer

It depends on the memory controllers.

If you have one CPU and it:

  1. Only supports 'normal' memory access: Then it does not really matter.
  2. If the memory controller supports dual channel, get the memory in pairs. They can be used at the same time. For 12GiB that would be 2x4GiB and 2x2GiB
  3. If the memory controller supports triple channel, get 3x4GiB (e.g. on an i7-920 Nehalem)
  4. If the memory controller supports quad channel, get sets of four identical DIMMS. E.g. 4x 2GiB and 4x 1GiB.
  1. If you have multiple CPU's (chips/sockets, not cores), each with their own memory controller, then fill each of those. E.g. on a dual Xeon W3520 you have two CPU's. Each with its own triple channel option. So get 6 DIMMS (2x3 channels, for 6 2GiB DIMMs).

If you have an option to fill all channels with either one set of DIMMs (e.g. triple channel and 3x4GiB) or with two sets of DIMMs (example. same triple channel setup with 6 DIMMs) then my own choice would be the lesser number of DIMMs. Both to keep expansion options open and because less ranks per channel allows higher bus speeds. (And thus allows you to use XMP).

Related Question