41

With hard drives, you can put them in a RAID 0 configuration to split data between drives to increase read and write speed. Is there an equivalent of this for RAM? If I have 16 GB of memory, for instance, can I split it into 2 8GB sections and implement striping across them? Note: I am not talking about using ramdisks at all. I am not trying to treat ram as hard drives but rather to speed it up. I have heard that there is a RAID 1 equivalent for RAM called mirroring, but I have not heard of a RAID 0 equivalent.

  • 10
  • 3
    You may need to look into benchmarks for this method FYI, SSD's and RAM sticks usually don't benefit from RAID configurations like HDD's do. I'm doubtful that RAM will see any speed up that's worth halving the amount of RAM you have. – SupaJord Mar 21 at 15:59
61

Dual-channel.

Consumer-grade computers have supported this for years now. You don't have to enable it explicitly, but you have to install RAM sticks into the correct slots. Those are usually color coded, but there's no standard for this: some manufacturers mark slots on the same channel with the same color (so for dual-channel you have to use different colored slots), some use same color for slots that will enable dual-channel. Long story short, check with the manual.

Server-grade motherboards can support triple-channel or even quad-channel if the CPU can support it too. (see the comment by J...)

  • 17
    The CPU must also support n-channel RAM to use it. Some motherboards which support quad-channel, for example, can also accomodate processor SKUs which do not. An i7-7740X in an X299 mobo is an example where the board supports quad channel but the CPU only dual. – J... Mar 21 at 11:12
  • 1
    They're up to 6 channels now on the Scalable Xeon, 8 on EPYC, and up to 32 on Power9 – user71659 Mar 23 at 18:52
18

It's called interleaving. Simple implementations use two banks of RAM (two separate RAM sticks) but I've seen motherboards with up to four banks interleaved.

Like Raid 0, it exploits the fact that the CPU is often much faster than RAM and that there are lots of instances where you are basically streaming data to and from RAM. The memory controller allows the CPU to initiate the next write without waiting for the current write to complete.

For reads it works a bit like DMA where the memory controller will be told to prefetch the next values from RAM before the current data read is complete.

  • Note that this is not something that you normally can just enable. If and when you use motherboards that support this feature you typically must install RAM of the same size and type in specific paired slots. – slebetman Mar 21 at 9:43
  • 1
    @kloddant Neither RAID-0 (striping), nor multi-channel, nor interleaving decrease amount of available memory, because there is no redundancy (unlike in higher RAIDs). – gronostaj Mar 21 at 14:50
  • 1
    This is very low-level and must be implemented directly on RAM modules, right? – gronostaj Mar 21 at 14:51
  • 2
    Not RAM modules. Typically these systems use standard RAM available at the time. What's needed is support from the motherboard and depending on the architecture the CPU (older systems with external memory controllers used to use generic CPUs but a lot of modern systems have integrated the memory controller) – slebetman Mar 22 at 2:57
  • 2
    @kloddant: No, you still have the total amount of RAM. The hardware just addresses them differently from what the CPU thinks of as memory. For example, the first RAM stick will hold all even addressed data: 0x00000000, 0x00000002, 0x00003284 and another stick will hold all odd addressed data: 0x00000001, 0x00000003, 0x00003285 etc. – slebetman Mar 22 at 3:00
9

Yes, there's indeed an equivalent. But generally you just need to follow the instructions for your motherboard when adding RAM, and the setup will be automatic.

Technically this depends on your CPU, but in practice all CPU's that fit in the socket of your motherboard will use the same interface to RAM.

5

As the other answers have covered, this has already been available for over a decade.

The Core i7-920 was launched in Q4 2008 and supported tri-channel memory. https://ark.intel.com/content/www/us/en/ark/products/37148/intel-core-i7-940-processor-8m-cache-2-93-ghz-4-80-gt-s-intel-qpi.html

What the other answers do not cover is that 99% of people will not notice a difference. The biggest advantage for the average user is that dual-channel (or better) memory configurations help noticeably in gaming performance when using an:


If you look up specs for LGA 775 motherboards then you will find dual-channel support going back even further such as https://www.newegg.com/Product/Product.aspx?Item=9SIA4RE8205361

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.