RAM explained: Why two modules are better than four / single vs. dual-rank / stability testing

citay

Pro
SERGEANT
Joined
Oct 12, 2016
Messages
22,913
Since some people run into problems with four RAM modules on modern MSI mainboards, i wanted to explain the reasons behind that, and why two modules are often superior. The main reason lies in the way the memory slots are connected to the memory controller, which is inside the CPU. So the first explanation is about:


1) RAM slot layout

All regular mainboards and desktop CPU models have a dual-channel memory system. Since a lot of boards offer four RAM slots, a pair of two slots have to each form a RAM channel. So the four RAM slots are not individually addressed, but in pairs, as two channels. The different ways to connect the RAM slot pairs on the board are either "Daisy chain" or "T-Topology". This RAM slot layout decision - the way the slots are connected - has a big influence on how many modules (two or four) the board works best with.

Here is a slide from an MSI presentation, showing that almost all of today's boards have a "daisy chain" memory slot layout. This layout heavily prefers two-module-operation. The presentation is a bit older, but it's safe to say that the the vast majority of recent mainboards (for AMD and Intel) also have a daisy chain layout, and it's confirmed in several reviews. Especially MSI are known to use this layout on almost all their modern boards. For other mainboard makers, it depends on the board model, but they will also tend to prefer this layout.

Daisy Chain.jpg


Daisy chain means that the slot pairs are connected one after the other, and therefore optimized for two modules total. The right slot of each channel is the end point.
Using two RAM modules, they are to be inserted into slot 2 and 4 counted from the left as per the mainboard manual. Meaning, into the second slot of each channel and thus the end point. The reason is, this puts them at the very end of the PCB traces coming from the CPU, which is important for the electrical properties.
PCB (printed circuit board) traces are the thin signal lines that are visible on the mainboard, especially between the CPU and the RAM slots.

memory-layout.gif


Why is this important? The PCB traces, going from the memory controller contacts of the CPU, to each contact of the RAM slots, are optimized to result in exactly the same distance between all those points. They are essentially "zig-zagging" across the board for an electrically ideal layout, making a few extra turns if a direct line would lead to an uneven distance.

This is done so that, with two modules, a) each RAM module is at the very end of the electrical traces coming from the CPU's memory controller, and b) each module has exactly the same distance to the memory controller across all contacts. We are dealing with nanosecond-exact timings, so all this matters.

On a mainboard with a daisy-chain RAM slot layout, this optimization is done with only two modules in mind, which are in slot 2 and 4 (on the board, those slots are called A2 and B2). This is the configuration that most buyers would use, and it also results in the best overclocking potential. This way, the mainboard makers can boast with higher RAM overclocking frequencies when advertising the board, and the majority of buyers will have the ideal solution with two RAM modules.

Note: Never populate slots 1 and 3 first. When putting the modules into slot 1 and 3, the empty slots 2 and 4 would be similar to having some loose wires hanging from the end of each RAM contact, creating unwanted signal reflections and so on. So with two modules, they always need to go into the second slot of each memory channel (slot 2+4 aka A2 and B2), to not have "loose ends" after each RAM module.

Slots.png


Now the interesting question. What happens when we populate all four slots on a mainboard with a daisy-chain slot layout? Well, the module in the second and fourth slot become "daisy-chained" after the modules in the first and third slot. This completely worsens the electrical properties of the whole memory system.

With four modules, there are now two modules per channel, and the two pairs of a channel don't have the same distance from the memory controller anymore. That's because the PCB traces go to the first slot, and then over to the second slot. This daisy-chaining - with the signal lines going to the first and then to the second module of a memory channel - introduces a lot of unwanted electrical handicaps when using four modules. The signal quality worsens considerably in this case.

Only with a "T-Topology" slot layout, the PCB traces have exactly the same length across all four slots, which would provide much better properties for four-module operation. But mainboards with T-Topology have gone a bit out of fashion, since most people use just two modules. Plus the memory OC numbers look much better with a daisy chain layout and two modules. So if the mainboard makers were to use T-topology on a board, they couldn't advertise with such high overclocking numbers, and people would think the board is worse (and it actually would be, for only two modules).

topology2.jpg
Example of an ASUS board with the rare T-Topology layout, advertising the fact that it works better with four modules compared to the much more common boards using the daisy-chain layout.


2) Single-rank vs. dual-rank

Another consideration is single-rank vs. dual-rank modules. This is about how a RAM module is organized, meaning, how the individual memory chips on the module are addressed. To put it simply, with DDR4, most (if not all) 8 GB modules are single-rank nowadays, as well as a bunch of 16 GB modules. There's also some 16 GB DDR4 modules that are dual-rank, and all bigger modules are always dual-rank. With DDR5, the 16 GB and 24 GB modules are single-rank, and the 32 GB and 48 GB modules are dual-rank. We'll come to the implications of this soon.

The capacity at which the modules start to be organized as dual-rank slowly shifts upwards as the technology advances. For example, in the early days of DDR4, there were a bunch of dual-rank 8 GB modules, but with the modern RAM kits, those modules will be single-rank by now. Even the dual-rank 16 GB modules became less prominent with DDR4 as it developed further. With DDR5, the 8 GB modules are 100% single-rank from the start, the 16 and 24 GB modules are almost certainly single-rank. Above that, it's dual-rank organization. Now, why is this important?

It has implications for the DDR speed that can be reached. The main reason is, a single-rank module puts less stress on the memory system. Dual-rank is slightly faster performance-wise (up to 4%), but also loads the memory controller more. One dual-rank module puts almost as much stress on the memory system as two single-rank modules! This can become an important factor once the DDR speed approaches certain limits.

What is the memory system? It consists of the CPU's integrated memory controller (IMC), the mainboard and its BIOS, and the RAM itself.
So the following factors all affect if the RAM can actually run at a certain setting:

- The mainboard (chipset, component/PCB quality etc.).
- The mainboard's BIOS memory support and the BIOS settings.
- The CPU's integrated memory controller (IMC), quality depends on the CPU generation as well as on the individual CPU (silicon lottery).
- The properties of the RAM modules.

Every modern mainboard will be the happiest with two single-rank modules (for dual-channel operation), because this causes the least stress on the memory system, and is electrically the most ideal, considering that the memory slots are connected as "daisy chain". This fact is reflected in the maximum DDR frequencies that the mainboards are advertised with.

Let's look at DDR4 first. Here is an example from the highest MSI DDR4 board model using Intel Z690 chipset.
Specifications of MPG Z690 EDGE WIFI DDR4, under "Detail".
1DPC 1R Max speed up to 5333+ MHz
1DPC 2R Max speed up to 4800+ MHz
2DPC 1R Max speed up to 4400+ MHz
2DPC 2R Max speed up to 4000+ MHz

"DPC" means DIMM (=module) per channel, 1R means single-rank, 2R means dual-rank.

With 1DPC 1R = two single-rank modules (so, 2x 8 GB or 2x 16 GB single-rank), the highest frequencies can be reached.
With 1DPC 2R = two dual-rank modules (like 2x 16 GB dual-rank or 2x 32 GB), the maximum attainable frequency is lower, since the memory system is under more stress.
With 2DPC 1R = four single-rank modules (4x 8 GB or 4x 16 GB single-rank), the maximum frequency drops again, because four modules are even more challenging than two dual-rank modules.
And 2DPC 2R = four dual-rank modules (like 4x 16 GB dual-rank or 4x 32 GB) combines the downsides of the highest possible load on the memory controller with the electrical handicap of using four slots on a daisy-chain-mainboard.

The last configuration can already be difficult to get stable at DDR4-3200 sometimes, let alone DDR4-3600. One could consider themselves lucky to get DDR4-3600 working with four dual-rank modules, maybe having to use more relaxed timings for example. The 16 GB and 32 GB modules also often don't have particularly tight XMP timings to begin with, like DDR4-3600 18-22-22-42.
By the way: The second timing (tRCD) is more telling and important than the first one (tCL) to determine the module quality, but most people only look at tCL = CAS Latency.


With the new DDR5 standard, this drop in attainable frequency is even more pronounced. From the initial specs of one of the top MSI Z690 boards:
Specifications of MEG Z690 ACE, under "Detail".
1DPC 1R Max speed up to 6666+ MHz
1DPC 2R Max speed up to 5600+ MHz
2DPC 1R Max speed up to 4000+ MHz
2DPC 2R Max speed up to 4000+ MHz

When going from two modules (1DPC) to four modules (2DPC), the attainable frequency drops drastically. With two single-rank modules (up to 16 GB per module), DDR5-6000 and above is possible according to MSI. With two dual-rank modules (for example 2x 32 GB), that goes down a little already. But with four modules, the memory system is under a lot more stress, and MSI are quite open about the result. This seems to be a limitation of the DDR5 memory system, which relies even more on a very clean signal quality. Using four DDR5 modules on a board with a daisy-chain layout clearly is not good in that regard.
This deterioration with four DDR5 modules is so drastic that the conclusion could be: DDR5 motherboards should come with only 2 dimm slots as standard (Youtube)

Now, with the 13th gen "Raptor Lake" Intel CPUs being available (13600K and up) which come with an improved memory controller, as well as newer BIOS versions containing some memory code optimizations, MSI have revised the frequency numbers for the boards a bit. Again looking at the Z690 ACE, the revised numbers are:
1DPC 1R Max speed up to 6666+ MHz
1DPC 2R Max speed up to 6000+ MHz
2DPC 1R Max speed up to 6000+ MHz
2DPC 2R Max speed up to 5600+ MHz

However, such specs are usually what their in-house RAM overclockers have achieved with hand-picked modules and custom RAM settings. And like many people have shared here on the forum before, it's not like you can drop in some DDR5-7200 or -7600 and expect it to just work, not even with the most high-end Z790 board and 13th gen CPU. Those aren't "plug & play" speeds, those high-end RAM kits are something that enthusiasts buy to have the best potential from the RAM (meaning, a highly binned kit), and then do a back and forth of fine-tuning in the BIOS and stress-testing to get it to where they want it. I have explained this more thoroughly in this post.

And this example is only for Intel DDR5 boards. They had about a one year head start compared to AM5. What we're seeing on AM5 is, once people try to use four large DDR5 modules, they can consider themselves lucky if the can still get into the DDR5-5xxx range. Sometimes there's even problems getting it to boot properly, sometimes it will be stuck at low speeds and get unstable at anything even close to XMP speeds.

The main takeaway from all this for DDR5:

Whatever total RAM size needed, it's better to reach it with two modules if decent speed/performance is required. Combining two kits of two high-speed modules each simply has a low likelihood of working. As mentioned, with four modules, especially dual-rank ones like 32 GB modules, the maximum frequency that the memory system can reach drops down considerably, which makes XMP/EXPO speeds not work anymore. There's a reason that there are not that many four-module kits available, and they are usually a more conservative speed. With DDR5 it's always better to use two modules only (even with DDR4 that is advised, but four modules can at least work quite decently there).

This also means that DDR4 is actually better for high-capacity memory configurations such as 128 GB total, because:
- It doesn't experience such a large drop in the electrical properties of the memory system when using four modules
- Four-module high-capacity kits are readily available (and at a lower price)
- Four-module kits are actually certified on the memory QVL at MSI
- They will most likely outperform their DDR5 equivalent due to DDR4's lower latencies, when compared to DDR5's necessary low required frequencies at this configuration.
The overall higher DDR5 latencies just can't be compensated for by higher RAM frequencies anymore, since using four DDR5 modules requires lower frequencies to be stable.
See also RAM performance scaling.

Of course, on AM5 there is no option to go DDR4, it's DDR5 only. And eventually, even Intel will move to DDR5 only. So, either make do with two modules and have the RAM still run at nice speeds, or use four modules in the knowledge that there might be issues and the RAM speed will end up being lower. XMP speed might not be stable, so the "DRAM Frequency" setting might have to be lowered manually from XMP for it to work.

Generally, in case of RAM problems, no matter the technology, there are three possibilities, which can also be used in combination:
- Lower the frequency
- Loosen the timings
- Raise the voltage(s)

But in some cases, buying different RAM might be the best solution.


3) Amount of RAM

For a decent system up to mid-range, 16 GB (as 2x 8 GB) has been the norm for a long time, for good reason. Now, with DDR5, 32 GB (as 2x 16 GB) are slowly becoming the amount that a lot of people go for, at least for nice mid-range systems upwards. While 16 GB are actually still enough even for the most recent games, the system will be a bit more future-proof with 32 GB total. Anything beyond that, however, is useless for gaming, it only tends to make it worse.

Why is that? Games don't really need more than 16 GB. A lot of games are developed with the lucrative console market in mind, and even the PlayStation 5 only has 16 GB of RAM. So games are designed from the ground up not to need more RAM, which then also applies to the PC versions of those games. There are only very few games who can use more than 16 GB RAM, and it doesn't even make them run a lot faster. But i don't know a single game that will use more than 32 GB RAM, they are not even anywhere near that. So even for a high-end gaming system, i would never use more than 32 GB total, when no game can use it anyway (and that's not about to change either). The 2x 8 GB (mostly DDR4) / 2x 16 GB kits always cause the least trouble and run the fastest, that's why one of those is the best choice for a gaming PC.

64 GB RAM or more can be justified for large video editing projects, rendering, heavy photoshop use, running lots of VMs and such cases. However, 64 GB amounts to a waste of money for gaming, no matter what. Before any game will ever touch more than 32 GB, the whole PC will be long outdated, because it will take many years. Right now, most games restrict themselves to 16 GB maximum, because so many potential buyers out there have 16 GB RAM in their system. The next step would be for games to use up to 32 GB, but we're not even there yet. So no system that is put together primarily for gaming should use more than a kit of 2x 16 GB RAM.

We could just be like, ok, the money for that 64 GB RAM (or more) would be wasted because it doesn't have any benefits for gaming, but "more is better", so let the people use more RAM for their nice gaming system. However, when using large 32 GB RAM modules and/or four memory modules, it not only has no benefits, it also has a negative impact on the memory system. The bigger modules usually tend to run slower, and these configurations will also cause more stress for the memory system, increasing the likelihood of problems. So for gaming, i would never choose a configuration which can only cause problems for the memory system, but doesn't provide any benefit from that much RAM being available.


Recommendations for use on modern consumer mainboards:
8 GB RAM: Use 2x 4 GB, or even 1x 8 GB if RAM performance isn't critical anyway - this is ok for entry-level systems, office work etc.
16 GB RAM: Use 2x 8 GB - for up to mid-range (gaming) systems
32 GB RAM: Use 2x 16 GB - for nice mid-range to high-end gaming systems (when all other bottlenecks are removed) and semi-pro uses beyond gaming
48 GB RAM (DDR5 only): Use 2x 24 GB - for nice mid-range to high-end gaming systems (when all other bottlenecks are removed) and semi-pro uses beyond gaming
64 GB RAM: Use 2x 32 GB - purely "beyond gaming" - only necessary for professional use - preferable over any four-module configuration
96 GB RAM (DDR5 only): Use 2x 48 GB - purely "beyond gaming" - only necessary for professional use - preferable over any four-module configuration
128 GB RAM total : Use 4x 32 GB - purely "beyond gaming" - only necessary for professional use
256 GB RAM total : Use 4x 64 GB - purely "beyond gaming" - only necessary for professional use

These last two configurations - using four dual-rank high-capacity modules - are maximally stressing the memory system, so they will probably be restricted to something like DDR4-3200 or lower, or DDR5-5200 or lower respectively. Any higher speeds might not run reliably.

The new DDR5-only option of 2x 24 GB is quite similar to 2x 16 GB, since the 24 GB modules should still be single-rank, basically making them as easy to run as the 16 GB modules. And thus preferable to the 32 GB modules, which are definitely dual-rank and put a higher stress on the memory system.

Also, for 128 GB total, i recommend DDR4, not DDR5. DDR5 really doesn't run well with 4x 32 GB, it would be restricted to quite low frequencies, pretty much negating the DDR5 advantage. With DDR5 RAM, i would actually never recommend using four modules, not even 4x 8 GB (the 8 GB modules are slower and 2x 16 GB work better).

As for the XMP speed: For all the DDR4 configurations up to 64 GB total, i usually recommend DDR4-3600 speed (see chapter 4). For DDR5, the sweet spot would probably be DDR5-6000. Above that, it can gradually become more challenging to stabilize. Around the high DDR5-6xxx range or even into DDR5-7xxx, it's something for enthusiasts who know what they're doing, that's not a "plug & play" speed anymore (especially with AM5), and experience is required to make it work.



3b) How to increase the RAM size when you have 2x 4 GB or 2x 8 GB RAM?

First choice: Replace the 2x 4 GB with 2x 8 GB, or the 2x 8 GB with 2x16 GB. The new RAM should be a kit of matched modules. This will ensure the best performance and the least problems, because there's only two modules again in the end.

Second choice: Add a kit of two matching modules to your two existing modules. But you might not be able to get the same modules again. Even if they are the same model, something internally might have changed. Or you might toy with the idea of adding completely different modules (for example, adding 2x 8 GB to your existing 2x 4 GB). This can all cause problems. The least problems can be expected when you add two modules that are identical to your old ones. But then there's still this: You are now stressing the memory system more with four modules instead of two, so the attainable RAM frequency might drop a little. Also, it's electrically worse on a mainboard with daisy-chain layout, as explained under 1).

Lastly, adding just one more module (to have three modules total) is by far the worst choice for several reasons. Every desktop platform has a dual-channel memory setup. This means it works best with two modules, and it can work decently with four modules. And if you only use the PC for light office work, even a single 4GB or a single 8GB module would do. But in a PC where performance matters, for example for gaming, getting a single RAM module to upgrade when you have two existing modules is not good at all. The third module will be addressed in single-channel mode, while simultaneously ruining the memory system's electrical properties and making everything work at whatever the slowest module's specification is.

Note: When upgrading the RAM, it's always good to check for BIOS updates, they often improve compatibility with newer RAM modules (even if it's not explicitly mentioned in the changelog).


4) DDR4 only: Today's sweet spot of DDR4-3600 with the latest CPUs

On AMD AM4, DDR4-3600 has been the sweet spot for quite a while. But Intel introduced new memory controllers in their 11th gen and 12th gen CPUs which also require a divider above a certain RAM frequency. Only up to DDR4-3600 (but that pretty much guaranteed), the RAM and the CPU's memory controller (IMC) run at the same frequency (Intel calls this "Gear1 mode", on AMD AM4 it's "UCLK DIV1 Mode" on "UCLK==MEMCLK“, generally this can be called "1:1 mode"). Somewhere above DDR4-3600, depending on the IMC's capabilities, the IMC has to run on a divider for it all to work (which would be 1:2 mode), which makes it run at half the RAM frequency. This costs a lot of performance.

An example on Intel Z590 with a kit of DDR4-3200: The IMC doesn't require a divider and can comfortably run in 1:1 mode (Gear1), which has the best performance.

BIOS OC.png


The Gear2 mode that becomes necessary at high RAM frequencies has a substantial performance penalty, because the latencies increase (everything takes a little longer). This basically leads to the same situation that we already know from AMD AM4: RAM frequencies that are considerably above DDR4-3600 are almost useless, because of the divider being introduced for the IMC (memory controller). The performance loss with a divider is just too significant.

For the RAM performance to be on the same level again as DDR4-3600 without a divider (1:1 mode), it requires something like DDR4-4400 (!) with the divider in place (1:2 mode).

Looking at the high prices for DDR4-4400 kits, or what it takes to overclock a normal kit of RAM to that, it's not practical. So with Intel 11th- to 14th-gen CPUs on DDR4 boards, and of course AMD AM4 CPUs, the "sweet spot" is usually at DDR4-3600. This frequency is known to not require a divider for the memory controller and thus gives the best performance and bang-for-buck.

Some of the more recent CPU models can sometimes go a bit above DDR4-3600 without requiring a divider for the memory controller. But DDR4-3600 almost always runs well in 1:1 mode and has a better price/performance than RAM with higher specs, so it's still the top pick.

Here's an example of an AMD system (X570 with Ryzen 3900X). The tool HWinfo64 can show those frequencies in the "Sensors" window.
DDR4-3866 is too much to run in 1:1 mode, so the divider for the memory controller is active and performance is worse.
DDR4-3600 manages to run in 1:1 mode and the performance is better.

divider.png


The best thing on both platforms nowadays is to run DDR4-3600 without a divider and with some nice low timings if possible. Something like DDR4-4000 will usually make the BIOS enable the divider for the memory controller and it will be slower overall than DDR4-3600, despite the higher RAM frequency. This is because the latencies are effectively increased when the memory controller has to work at a lower frequency. With a DDR4-4000 kit of RAM for example, i would enable XMP, but then manually set a DRAM frequency of DDR4-3600. This should make the BIOS remove the divider for the memory controller and the performance will immediately be better.

Here's a page from an MSI presentation about 11th gen Rocket Lake CPUs, showing the increased latencies when the divider comes into play:
Gear1.jpg

And here's from an AMD presentation about the Ryzen 3000-series, showing similarly increased latencies once the divider is active:
AMD latencies.png


With the higher DDR5 speeds, a divider is practically always used, because it's not feasible to run the memory controller at the same speed anymore. But with DDR5, the divider for the memory controller has less of a penalty than with DDR4, because DDR5 can access a module via two seperate sub-channels of 2x 32 bits (instead of one 64 bit channel like on DDR4). This allows for higher/better interleaving of memory accesses on DDR5 and alleviates most of the latency penalties. On AMD the FCLK can be left at 2000 MHz with DDR5, it seems to be the new "sweet spot".


5) RAM stability testing

Memtest86 Free
from https://www.memtest86.com/
I use this as a basic stability test on a new system before i update the BIOS to the newest version (which is always one of the first things to do, as the factory BIOS will already be quite outdated). Also, since it runs from a USB stick/drive, i use it as a first check before booting Windows, when something has significantly changed with the RAM or its settings. One or two passes of this give me a good idea if the system is generally stable enough to start installing Windows (or boot it).

It's a good first test if you are completely unsure about stability, as well as a good "finisher" if you want to be extra sure that everything is ok with your memory system after doing other testing. The main advantage is that it runs from USB. The main disadvantage is that RAM tests in Windows are more thorough in catching errors.
Launch the included ImageUSB program to prepare a USB drive with it, then boot from that drive (press F11 during POST for the boot menu).
The row hammer tests at the end, which test for a purely theoretical vulnerability and take a long time, can be skipped.


Once in Windows, a quick way for detecting RAM instabilities is TestMem5 or TM5 for short: https://github.com/CoolCmd/TestMem5
TM5 delivers a good and relatively quick indication of RAM stability. Run as admin. I like to run it with the "1usmus_v3" configuration which can be selected under Settings, because it reliably detects instability for me. A full run takes 90 minutes, but if there's instability, it should detect errors much earlier than that, i found.
This is my go-to RAM test in Windows, because it is pretty reliable at revealing RAM errors when things are not 100% stable yet.

Example of unstable RAM (found after three minutes already):

Screenshot.png


Any errors are not acceptable, meaning, something about the RAM configuration has to be changed so it passes without errors.
This example screenshot is not from me, you see they used the "Universal 2" configuration, i prefer the "1usmus_v3" one as mentioned.

Now, aimed just with these two tools (Memtest86 for a basic stability test before even installing/booting Windows, and TM5 for more thorough testing in Windows), you should be able to detect most instability just fine. Therefore, the following tools are more for when you are really serious about RAM testing, for example if you manually tune all the timings and just want to test it in every way possible.


To more thoroughly test RAM stability, there is a test from Google, and it's called GSAT (Google stressapptest). It has been specifically developed by Google to detect memory errors, because they use ordinary PCs instead of specialized servers for a lot of things. The only downside is, it takes a bit of time to set up. To run GSAT, you first have to enable the "Windows Subsystem for Linux":

0*N8OWBM7IUXaCsH7C.jpg


After the necessary reboot, open the Microsoft Store app and install "Ubuntu", then run Ubuntu from the start menu.
It will ask for a username and password, they are not important, just enter a short password that you remember, you need to enter it for the update commands.
Then run the following commands one after the other (copy each line, then right-click into the Ubuntu window to paste it, then press enter):

sudo apt-get update
sudo apt full-upgrade -y
sudo apt-get install stressapptest

Then you can start GSAT with the command:
stressapptest -W -M 12000 -s 3600

This example tests 12 GB of RAM (in case of 16 GB total, because you need to leave some for Windows), for 3600 seconds (one hour). You can also enter -s 7200 for two hours.
If you have more RAM, always leave 4 GB for Windows, so with 32 GB, you would use "-M 28000".
GSAT looks unspectacular, just some text scrolling through, but don't let that fool you, that tool is pretty stressful on your RAM (as it should be).
At the end, it has to say Status: PASS, and there should be no so-called "hardware incidents". Otherwise it's not stable.


Then, HCI Memtest is quite good. There is a useful tool for it, called MemTestHelper: https://github.com/integralfx/MemTestHelper/releases/tag/v2.2.0
It requires Memtest 6.4, which can be downloaded here: https://www.3dfxzone.it/programs/?objid=18508
(Because in the newest Memtest 7.0, they made a change so that MemTestHelper doesn't work anymore and you should be forced to buy Memtest Pro).

Put both tools in the same folder. Start MemTestHelper, and with 16 GB RAM, you can test up to 12000 MB (the rest is for Windows).
Let it run until 400% are passed. That's a good indicator that your RAM is stable. If you want to make really sure, let it run to 800%.

memtest_1.png


Another popular tool among serious RAM overclockers is Karhu from https://www.karhusoftware.com/ramtest/
But it costs 10€ to register, so i would just use the other free programs (unless RAM OC is your hobby).


A stability test which also challenges the memory controller a lot, and therefore definitely useful to round out the RAM-related testing:
Linpack Xtreme from https://www.techpowerup.com/download/linpack-xtreme/

Run Linpack, select 2 (Stress test), 5 (10 GB), set at least 10 times/trials, press Y to use all threads, 2x N, and let it do its thing.
It's one of the best tools to detect instability, but warning, this also generates a lot of heat in the CPU. So i would watch the temperatures using HWinfo64 Sensors.
Each trial has to say "pass", and it has to say "checks passed" at the end.

linpack.png


It also puts out a "GFlops" number, that one is actually a decent performance metric to quickly judge if a certain RAM tuning (lowering timings) has performance benefits.



An important note about RAM and heat: Higher ambient temperatures are not good for RAM stability. The RAM might be perfectly stable in a RAM-specific stress test, but depending on the graphics card (its power consumption and cooling design), once that dumps its heat into the case very close to the RAM slots during gaming, there can be RAM-related crashes. Simple because it heats up the RAM a lot and makes it lose stability.

So to be absolutely sure that the RAM is stable even when it's hot, it can be good to run something like FurMark alongside the RAM stability test. Not for hours, because FurMark creates extreme GPU load, but just for 20 minutes or so, to really heat things up. A lot of times, the fins of the cooler are oriented towards the mainboard and the side panel, so the heat comes out from the sides of the card, and the RAM sits right above that.

If your RAM is fine in isolated RAM stress tests, but you have crashes in games (or when otherwise loading the GPU) with the same RAM settings, then you need to loosen up those settings a bit to add more headroom for those circumstances. Go by the three principles of RAM instability: Loosen timings and/or lower frequency and/or raise voltage.



Deep-diving a bit more into RAM:
It can quickly become a bit complicated, but if there are any questions, feel free to ask.


My other guides:
Guide: How to find a good PSU
Guide: How to set up a fan curve in the BIOS


Someone asked me if they can thank me for my work by sending me something via Paypal: Yes, that's possible, just write me a message and i'll tell you my Paypal 😉
 
Last edited:
I installed two DDR5 kits (four sticks) of G.SKILL Trident Z5 RGB Series 64GB (2 x 32GB) 288-Pin PC RAM DDR5 6400 (PC5 51200) Desktop Memory Model F5-6400J3239G32GX2-TZ5RK into my brand-new MSI MEG ACE Z790. Upon activating XMP, I received an "Overclock failed" message from the BIOS. Each kit alone works without any issues with XMP enabled.

The best I could do is to enable XMP at a lower DRAM frequency of 5400, which works fine.

MEGA ACE Z790 specs say that for my configuration 2DPC 2R, the max speed is up to 5600+ MHz.

Is this the best I can hope for, or is there something I could tweak (such as voltages, timings, and such) to achieve a bit higher frequency, closer to the 6400MHz my RAM supports, or at least 5600MHz my MB should support?

I'd greatly appreciate any advice!
 
You can give up on XMP and do everything manually. Loosen the timings, e.g. down to JEDEC specification, and try the max allowed speed for this set up. If you are mixing two different kits, that's already a disadvantage. You may be lucky with 5400MHz after all. After you find a max stable speed (with the proper testing), start playing with timings to see if there is any headroom for tightening them. The board itself should not be a problem, it will be down to the memory controller and how those two kits can cooperate.
 
Thanks Doc!

I have two kits bought together, as identical as they can be. I never adjusted timings and voltages manually, and there are quite a few of those in bios. Is it too much to ask of you to indicate which settings exactly I could try to tweak and to what values I should put there? I take all responsibility is anything breaks.

Thanks again!
 
Thanks Doc!

I have two kits bought together, as identical as they can be. I never adjusted timings and voltages manually, and there are quite a few of those in bios. Is it too much to ask of you to indicate which settings exactly I could try to tweak and to what values I should put there? I take all responsibility is anything breaks.

Thanks again!
If you have never tweaked RAM settings I suggest you start from the scratch and do some research first. There is a lot of timings and a few crucial voltages to change and any false step will destabilize the system, sometimes in an inconspicuous way, which will result in random crashes and corrupted system files after weeks of seemingly problem free operation. Out of all overclocking areas, typically CPU, GPU and RAM, memory is the trickiest, the most sensitive but also the most rewarding, I can say. It is worth giving it some time of preparation. You can also use this thread, there are a few links to useful online sources that will give you some basic knowledge. On the other hand, if you do not feel like it, you can go for the XMP profile that works with your two kits and that's it. There is no other easy shortcut. 🙂
 
Aight, solid advice. I could squeeze out approximately 3.7% more performance to hit the MEG ACE spec of 5600 MHz, but honestly, it's not worth the hassle in my opinion. Considering the potential risks, the time investment required to master overclocking, and the fact that anything beyond 5600 is basically luck, I'd be better off focusing on some real work instead.

Thanks, Doc!
 
@dtprn12000293
the issue with different kits is that they tend to have different chips inside, and while intel MC tend to be a little bit more forgiving,
i would only use kits with same chips, unless you dont plan to go past default settings, and on amd are rarely stable,
even when using jedec/stock.

its a good idea to use things like typhoon burner to find out what dies are used, and find what they like tuning wise (timings vs clocks),
intel cpus tend to like clocks, amd prefers (lower) timings, and even the same brand/specced kits can behave differently running the same dies
e.g. out of three b-die kits for ryzen (DDR4), only one liked timing tweaks at lower voltage.

so its a good idea to not only look at mb settings, but also look at the cpu brand/type used, as they tend to have at least some
settings (e.g. ryzen SoC/vdd's voltages) are platform specific.
 
Yeah well I have two rams seated in A2 B2 ( G.skill 32GB KIT DDR5 6000MHz CL30 ) with newest bios on B650 Tomahawk and still I get issues when enabling EXPO. Orange light on motherboard during boot and super long boot. Kinda pissed. Just refering to "two rams being superior"... yeah as long as they arent on their advertised speed I guess
 
No, two modules are always superior over four, you'd realize that once you try with four modules on AM5, because then things really go down the drain. MSI AM5 generally still has some problems with memory support, long boot times being one of them, plus the IMC of the first-generation AM5 CPUs is not really that strong compared to Intel. As far as the long boot times, search for "Memory Context Restore" and "Power Down Enable", you will probably find some hints that this can help on AM5 boards.
 
No, two modules are always superior over four, you'd realize that once you try with four modules on AM5, because then things really go down the drain. MSI AM5 generally still has some problems with memory support, long boot times being one of them, plus the IMC of the first-generation AM5 CPUs is not really that strong compared to Intel. As far as the long boot times, search for "Memory Context Restore" and "Power Down Enable", you will probably find some hints that this can help on AM5 boards.
Im not really arguing 2 vs 4 RAMs. I was just reading your words saying 2 RAMs are superior performance and I got pissed because mine dont work as they should. Many other people too actually. I did try playing with those two settings, doesnt seem like they helped. I would hope MSI would fix this issue by now :/ ppl been complaining for over a year
 
My experience with two DDR5 6000 MHz 30-38-38 sticks on AM5 can be summed up like this:
Tuning timings, when compared to DDR4, is extremely time consuming. I started with what can be called "Buildzoid's timings" for these parameters (more or less 6000, 30-38-38 or 32-36-36), went almost all the way OK, until I tried the Gold certificate test in OCCT (5+5+2 hours) and crashed. That was it and I knew I had to start all over again, one by one, which paid off well eventually. The usually safe one hour limit for individual timing testing, which works well with DDR4, is out of question here. First errors can appear after two or even three hours of what looks like unsuspiciously easy run. I suspect the error correction function is the tricky reason for it, as it can cover individual errors for an extended period.

I am afraid there is no universal law here, and a lot depends on the motherboard and the individual CPU with the IMC and everything has to be tested meticulously and individually. When I look around, my kit cannot run certain timings at what is often seen as conveniently safe, but the IMC can do FCLK 2200 without a problem any time. Similarly, there is nothing I can do with the primaries but secondaries and tertiaries can be pushed rather far. It's the popular G. Skills kit. The result is not that bad, despite the limitations at the forefront. It seems to me Ryzen 7000 series thrives on high FCLK, tight secondaries, and low latency. Every single gain in the "back rows", so to speak, when combined with FCLK, counts here.

Memory training at boot takes along, that's right, but I do not care, better be safe than sorry. No fast boot or anything like that. Well, finally, I may have to admit I do not have an MSI AM5 board at the moment, as I was seduced by an affordable RGB on a heatsink elsewhere :D, but some of my findings can apply across all the boards, especially the ones about testing, I hope.
 
Hmm so as I'm reading a little bit more, it appears to be that the errors and instability with DDR5 at 6000 MHz is shared across multiple CPU and motherboard manufacturers. I just built this new PC and was expecting smooth EXPO experience, as I had with XMP on DDR4, but this seems to be far from the truth! I guess we all are a little bit ahead of the future with our DDR5 RAMs :O

Just BTW I have G.SKILL 32GB KIT DDR5 6000MHz CL30 on MSI MAG B650 TOMAHAWK WIFI with Ryzen 7 7800 X3D. This combination doesn't seem to be working together either, as simply enabling EXPO doesn't work.
 
Last edited:
Hmm so as I'm reading a little bit more, it appears to be that the errors and instability with DDR5 at 6000 MHz is shared across multiple CPU and motherboard manufacturers. I just built this new PC and was expecting smooth EXPO experience, as I had with XMP on DDR4, but this seems to be far from the truth! I guess we all are a little bit ahead of the future with our DDR5 RAMs :O

Just BTW I have G.SKILL 32GB KIT DDR5 6000MHz CL30 on MSI MAG B650 TOMAHAWK WIFI with Ryzen 7 7800 X3D
Yes, I think some instability at this stage is expected and requires more attention. I did that build last year in September on ROG STRIX, if I can mention it here, and was ready for some troubles, as I had read about them on forums, – as well as here, I was warned too – but the reality was not that dark. I mean, BIOS at that time was already much better and EXPO on that board worked out of the box. There are some peculiarities about my GPU, the root of which I have not found out yet, probably a complex issue between the board, the monitor, the PSU and who knows what, but the system is stable for gaming, with Ryzen 5 7600. I wonder if 3D cache may bring in some extra issues, but I purely speculate here.

Those G. Skill DIMMs are known to be stable, among the best for AMD and 6000MHz, in fact, so the cause of instability may come from the IMC, or BIOS in your case.
 
@citay
its related to the platform its used on, not the 2 vs 4 part.
e.g if it was an issue, it would be so on intel/every rig, but isnt...

@gtamasti158c02dc i still say try manual clocks/dram/soc settings from expo profile, starting with auto for timings.

@Doc_Bucket
maybe try something that's specifically for ram testing?
HCI (dos mode, no win to load) shows me bad settings within 20-60 min, so far, anything over 4h without errors was stable (1600% for pre-tweak testing).
 
@citay
its related to the platform its used on, not the 2 vs 4 part.
e.g if it was an issue, it would be so on intel/every rig, but isnt...

@gtamasti158c02dc i still say try manual clocks/dram/soc settings from expo profile, starting with auto for timings.

@Doc_Bucket
maybe try something that's specifically for ram testing?
HCI (dos mode, no win to load) shows me bad settings within 20-60 min, so far, anything over 4h without errors was stable (1600% for pre-tweak testing).
A couple of years back, when testing DDR4, I had somehow bad experience with HCI. OCCT Memory test would find errors within minutes where HCI would convince me for hundreds of per cent there was nothing wrong.
 
did you run it in win?
just trying to see why the difference, as i dont remember them having any updates/fixes in recent years prog wise that could explain any issues.
 
did you run it in win?
just trying to see why the difference, as i dont remember them having any updates/fixes in recent years prog wise that could explain any issues.
In Windows. Do you mean if I run HCI Memtest in DOS it should work better? I can still try it. I have an office build with Micron E-die ready to tune, I will look at it. If I run some extreme settings on purpose I can see how error detection works in HCI vs. OCCT this time. I have this build for experimenting anyway.
 
Since some people run into problems with four RAM modules on modern MSI mainboards, i wanted to explain the reasons behind that, and why two modules are often superior. The main reason lies in the way the memory slots are connected to the memory controller, which is inside the CPU. So the first explanation is about:


1) RAM slot layout

All regular mainboards and desktop CPU models have a dual-channel memory system. Since a lot of boards offer four RAM slots, a pair of two slots have to each form a RAM channel. So the four RAM slots are not individually addressed, but in pairs, as two channels. The different ways to connect the RAM slot pairs on the board are either "Daisy chain" or "T-Topology". This RAM slot layout decision - the way the slots are connected - has a big influence on how many modules (two or four) the board works best with.

Here is a slide from an MSI presentation, showing that almost all of today's boards have a "daisy chain" memory slot layout. This layout heavily prefers two-module-operation. The presentation is a bit older, but it's safe to say that the the vast majority of recent mainboards (B550, Z590, Z690 etc...) also have a daisy chain layout, and it's confirmed in several reviews. Especially MSI are known to use this layout on almost all their modern boards. For other mainboard makers, it depends on the board model, but they will also tend to prefer this layout.

Daisy Chain.jpg


Daisy chain means that the slot pairs are connected one after the other, and therefore optimized for two modules total. The right slot of each channel is the end point.
Using two RAM modules, they are to be inserted into slot 2 and 4 counted from the left as per the mainboard manual. Meaning, into the second slot of each channel and thus the end point. The reason is, this puts them at the very end of the PCB traces coming from the CPU, which is important for the electrical properties.
PCB (printed circuit board) traces are the thin signal lines that are visible on the mainboard, especially between the CPU and the RAM slots.

View attachment 149843

Why is this important? The PCB traces, going from the memory controller contacts of the CPU, to each contact of the RAM slots, are optimized to result in exactly the same distance between all those points. They are essentially "zig-zagging" across the board for an electrically ideal layout, making a few extra turns if a direct line would lead to an uneven distance.

This is done so that, with two modules, a) each RAM module is at the very end of the electrical traces coming from the CPU's memory controller, and b) each module has exactly the same distance to the memory controller across all contacts. We are dealing with nanosecond-exact timings, so all this matters.

On a mainboard with a daisy-chain RAM slot layout, this optimization is done with only two modules in mind, which are in slot 2 and 4 (on the board, those slots are called A2 and B2). This is the configuration that most buyers would use, and it also results in the best overclocking potential. This way, the mainboard makers can boast with higher RAM overclocking frequencies when advertising the board, and the majority of buyers will have the ideal solution with two RAM modules.

Note: Never populate slots 1 and 3 first. When putting the modules into slot 1 and 3, the empty slots 2 and 4 would be like having some loose wires hanging from the end of each RAM contact, creating unwanted signal reflections and so on. So with two modules, they need to go into the second slot (slot 2+4, or A2 and B2) of each memory channel, to not have "loose ends" after the RAM module.

View attachment 155049


Now the interesting question. What happens when we populate all four slots on a mainboard with a daisy-chain slot layout? Well, the module in the second and fourth slot become "daisy-chained" after the modules in the first and third slot. This completely worsens the electrical properties of the whole memory system.

With four modules, there are now two modules per channel, and the two pairs of a channel don't have the same distance from the memory controller anymore. That's because the PCB traces go to the first slot, and then over to the second slot. This daisy-chaining - with the signal lines going to the first and then to the second module of a memory channel - introduces a lot of unwanted electrical handicaps when using four modules. The signal quality worsens considerably in this case.

Only with a "T-Topology" slot layout, the PCB traces have exactly the same length across all four slots, which would provide much better properties for four-module operation. But mainboards with T-Topology have gone a bit out of fashion, since most people use just two modules. Plus the memory OC numbers look much better with a daisy chain layout and two modules. So if the mainboard makers were to use T-topology on a board, they couldn't advertise with such high overclocking numbers, and people would think the board is worse (and it actually would be, for only two modules).

View attachment 156014
Example of an ASUS board with the rare T-Topology layout, advertising the fact that it works better with four modules compared to the much more common boards using the daisy-chain layout.


2) Single-rank vs. dual-rank

Another consideration is single-rank vs. dual-rank modules. This is about how a RAM module is organized, meaning, how the individual memory chips on the module are addressed. To put it simply, most (if not all) 8 GB modules are single-rank nowadays, as well as a bunch of 16 GB modules. There's also some 16 GB DDR4 modules that are dual-rank, and all bigger modules are always dual-rank. We'll come to the implications of this in a second.

The capacity at which the modules start to be organized as dual-rank slowly shifts upwards as the technology advances. For example, in the early days of DDR4, there were a bunch of dual-rank 8 GB modules, but with the modern RAM kits, those modules will be single-rank by now. Even the dual-rank 16 GB modules became less prominent with DDR4 as it developed further. With DDR5, the 8 GB modules are 100% single-rank from the start, the 16 GB modules are very likely single-rank. Above that, it's still mostly dual-rank organization. Now, why is this important? It has implications for the DDR speed that can be reached.

A single-rank module puts less stress on the memory system. Dual-rank is slightly faster performance-wise (up to 4%), but also loads the memory controller more. One dual-rank module puts almost as much stress on the memory system as two single-rank modules! This can become an important factor once the DDR speed approaches certain limits.

What is the memory system? It consists of the CPU's integrated memory controller (IMC), the mainboard and its BIOS, and the RAM itself.
So the following factors all affect if the RAM can actually run at a certain setting:

- The mainboard (chipset, component/PCB quality etc.).
- The mainboard's BIOS memory support and the BIOS settings.
- The CPU's integrated memory controller (IMC), quality depends on the CPU generation as well as on the individual CPU (silicon lottery).
- The properties of the RAM modules.

Every modern mainboard will be the happiest with two single-rank modules (for dual-channel operation), because this causes the least stress on the memory system, and is electrically the most ideal, considering that the memory slots are connected as "daisy chain". This fact is reflected in the maximum DDR frequencies that the mainboards are advertised with.

Here is an example from the highest MSI DDR4 board model using Intel Z690 chipset.
Specifications of MPG Z690 EDGE WIFI DDR4, under "Detail".
Max. overclocking frequency:
1DPC 1R Max speed up to 5333+ MHz
1DPC 2R Max speed up to 4800+ MHz
2DPC 1R Max speed up to 4400+ MHz
2DPC 2R Max speed up to 4000+ MHz

"DPC" means DIMM (=module) per channel, 1R means single-rank, 2R means dual-rank.

With 1DPC 1R = two single-rank modules (so, 2x 8 GB or 2x 16 GB single-rank), the highest frequencies can be reached.
With 1DPC 2R = two dual-rank modules (like 2x 16 GB dual-rank or 2x 32 GB), the maximum attainable frequency is lower, since the memory system is under more stress.
With 2DPC 1R = four single-rank modules (4x 8 GB or 4x 16 GB single-rank), the maximum frequency drops again, because four modules are even more challenging than two dual-rank modules.
And 2DPC 2R = four dual-rank modules (like 4x 16 GB dual-rank or 4x 32 GB) combines the downsides of the highest possible load on the memory controller with the electrical handicap of using four slots on a daisy-chain-mainboard.

The last configuration can already be difficult to get stable at DDR4-3200 sometimes, let alone DDR4-3600. One could consider themselves lucky to get DDR4-3600 working with four dual-rank modules, maybe having to use more relaxed timings for example. The 16 GB and 32 GB modules also often don't have particularly tight XMP timings to begin with, like DDR4-3600 18-22-22-42.
By the way: The second timing (tRCD) is more telling and important than the first one (tCL) to determine the module quality, but most people only look at tCL = CAS Latency.


With the new DDR5 standard, this drop in attainable frequency is even more pronounced. From the initial specs of one of the top MSI Z690 boards:
Specifications of MEG Z690 ACE, under "Detail".
Max. overclocking frequency:
1DPC 1R Max speed up to 6666+ MHz
1DPC 2R Max speed up to 5600+ MHz
2DPC 1R Max speed up to 4000+ MHz
2DPC 2R Max speed up to 4000+ MHz

When going from two modules (1DPC) to four modules (2DPC), the attainable frequency drops drastically. With two single-rank modules (up to 16 GB per module), DDR5-6000 and above is possible according to MSI. With two dual-rank modules (for example 2x 32 GB), that goes down a little already. But with four modules, the memory system is under a lot more stress, and MSI are quite open about the result. This seems to be a limitation of the DDR5 memory system, which relies even more on a very clean signal quality. Using four DDR5 modules on a board with a daisy-chain layout clearly is not good in that regard.
This deterioration with four DDR5 modules is so drastic that the conclusion could be: DDR5 motherboards should come with only 2 dimm slots as standard (Youtube)

Now, with the 13th gen "Raptor Lake" Intel CPUs being available (13600K and up) which come with an improved memory controller, as well as newer BIOS versions containing some memory code optimizations, MSI have revised the frequency numbers for the boards a bit. Again looking at the Z690 ACE, the revised numbers are:
  • 1DPC 1R Max speed up to 6666+ MHz
  • 1DPC 2R Max speed up to 6000+ MHz
  • 2DPC 1R Max speed up to 6000+ MHz
  • 2DPC 2R Max speed up to 5600+ MHz
However, such specs are usually what their in-house RAM overclockers have achieved with hand-picked modules and custom RAM settings. And like many people have shared here on the forum before, it's not like you can drop in some DDR5-7200 or -7600 and expect it to just work, not even with the most high-end Z790 board and 13th gen CPU. Those aren't "plug & play" speeds, those high-end RAM kits are something that enthusiasts buy to have the best potential from the RAM (meaning, a highly binned kit), and then do a back and forth of fine-tuning in the BIOS and stress-testing to get it to where they want it. I have explained this more thoroughly in this post.

And this example is only for Intel DDR5 boards. They had about a one year head start compared to AM5. What we're seeing on AM5 is, once people try to use four large DDR5 modules, they can consider themselves lucky if the can still get into the DDR5-5xxx range. Sometimes there's even problems getting it to boot properly, sometimes it will be stuck at low speeds and get unstable at anything even close to XMP speeds.

The main takeaway from all this for DDR5:

Whatever total RAM size needed, it's better to reach it with two modules if decent speed is required. There's a reason why four-module kits are an absolute rarity (only a handful kits being sold by Corsair, but none by any other brand), and why those few kits sold are all below DDR5-6000. Combining two kits (of two high-speed modules each) simply has a low likelihood of working. As mentioned, with four modules, especially dual-rank ones like 32 GB modules, the maximum frequency that the memory system can reach drops down considerably, which makes XMP/EXPO speeds not work anymore. With DDR5 it's always better to use two modules only (and even with DDR4 that is advised, but four modules can at least work quite decently there).

This also means that DDR4 is actually better for high-capacity memory configurations such as 128 GB total, because:
- It doesn't experience such a large drop in the electrical properties of the memory system when using four modules
- Four-module high-capacity kits are readily available (and at a lower price)
- Four-module kits are actually certified on the memory QVL at MSI
- They will most likely outperform their DDR5 equivalent due to DDR4's lower latencies, when compared to DDR5's necessary low required frequencies at this configuration.
The overall higher DDR5 latencies just can't be compensated for by higher RAM frequencies anymore, since using four DDR5 modules requires lower frequencies to be stable.
See also RAM performance scaling.

Of course, on AM5 there is no option to go DDR4, it's DDR5 only. So either make do with two modules and have the RAM still run at nice speeds, or use four modules in the knowledge that there might be issues and the RAM speed will end up being lower. XMP speed might not be stable, so the "DRAM Frequency" setting might have to be lowered manually from XMP for it to work.

Generally, in case of RAM problems, no matter the technology, there are three possibilities, which can also be used in combination:
- Lower the frequency
- Loosen the timings
- Raise the voltage(s)

But in some cases, buying different RAM might be the best solution.


3) Amount of RAM

For a decent system up to mid-range, 16 GB (as 2x 8 GB) has been the norm for a long time, for good reason. Now, with DDR5, 32 GB (as 2x 16 GB) are slowly becoming the amount that a lot of people go for, at least for nice mid-range systems upwards. While 16 GB are actually still enough even for the most recent games, the system will be a bit more future-proof with 32 GB. Anything beyond that, however, is useless for gaming, it only tends to make it worse.

Games don't really need more than 16 GB. A lot of games are developed with the lucrative console market in mind, and even the PlayStation 5 only has 16 GB of RAM. So games are designed from the ground up not to need more RAM, which then also applies to the PC versions of those games. There are only very few games who can use more than 16 GB RAM, and it doesn't even make them run a lot faster. But i don't know a single game that will use more than 32 GB RAM, they are not even anywhere near that. So even for a high-end gaming system, i would never use more than 32 GB total, when no game can use it anyway (and that's not about to change either). The 2x 8 GB / 2x 16 GB kits always cause the least trouble and run the fastest, that's why one of those is the best choice for a gaming PC.

64 GB RAM or more can be justified for large video editing projects, rendering, heavy photoshop use, running lots of VMs and such cases. However, 64 GB amounts to a waste of money for gaming, no matter what. Before any game will ever touch more than 32 GB, the whole PC will be long outdated, because it will take many years. Right now, most games restrict themselves to 16 GB maximum, because so many potential buyers out there have 16 GB RAM in their system. The next step would be for games to use up to 32 GB, but we're not even there yet. So no system that is put together primarily for gaming should use more than a kit of 2x 16 GB RAM.

We could just be like, ok, the money for that 64 GB RAM (or more) would be wasted because it doesn't have any benefits for gaming, but "more is better", so let the people use more RAM for their nice gaming system. However, when using large 32 GB RAM modules and/or four memory modules, it not only has no benefits, it also has a negative impact on the memory system. The bigger modules usually tend to run slower, and these configurations will also cause more stress for the memory system, increasing the likelihood of problems. So for gaming, i would never choose a configuration which can only cause problems for the memory system, but doesn't provide any benefit from that much RAM being available.


Recommendations for use on modern consumer mainboards:
8 GB RAM: Use 2x 4 GB, or even 1x 8 GB if RAM performance isn't critical anyway - this is ok for entry-level systems, office work etc.
16 GB RAM: Use 2x 8 GB - for up to mid-range (gaming) systems
32 GB RAM: Use 2x 16 GB - for nice mid-range to high-end gaming systems (when all other bottlenecks are removed) and semi-pro uses beyond gaming
48 GB RAM (DDR5 only): Use 2x 24 GB - for nice mid-range to high-end gaming systems (when all other bottlenecks are removed) and semi-pro uses beyond gaming
64 GB RAM: Use 2x 32 GB - purely "beyond gaming" - only necessary for professional use - preferable over any four-module configuration
96 GB RAM (DDR5 only): Use 2x 48 GB - purely "beyond gaming" - only necessary for professional use - preferable over any four-module configuration
128 GB RAM total : Use 4x 32 GB - purely "beyond gaming" - only necessary for professional use
256 GB RAM total : Use 4x 64 GB - purely "beyond gaming" - only necessary for professional use

These last two configurations - using four dual-rank high-capacity modules - are maximally stressing the memory system, so they will probably be restricted to something like DDR4-3200 or lower, or DDR5-5200 or lower respectively. Any higher speeds might not run reliably.

The new DDR5-only option of 2x 24 GB is quite similar to 2x 16 GB, since the 24 GB modules should still be single-rank, basically making them as easy to run as the 16 GB modules. And thus preferable to the 32 GB modules, which are definitely dual-rank and put a higher stress on the memory system.

Also, for 128 GB total, i recommend DDR4, not DDR5. DDR5 really doesn't run well with 4x 32 GB, it would be restricted to quite low frequencies, pretty much negating the DDR5 advantage. With DDR5 RAM, i would actually never recommend using four modules, not even 4x 8 GB (the 8 GB modules are slower and 2x 16 GB work better).

As for the XMP speed: For all the DDR4 configurations up to 64 GB total, i usually recommend DDR4-3600 speed (see chapter 4). For DDR5, the sweet spot would probably be DDR5-6000. Above that, it can gradually become more challenging to stabilize. Around the high DDR5-6xxx range or even into DDR5-7xxx, it's something for enthusiasts who know what they're doing, that's not a "plug & play" speed anymore (especially with AM5), and experience is required to make it work.



3b) How to increase the RAM size when you have 2x 4 GB or 2x 8 GB RAM?

First choice: Replace the 2x 4 GB with 2x 8 GB, or the 2x 8 GB with 2x16 GB. The new RAM should be a kit of matched modules. This will ensure the best performance and the least problems, because there's only two modules again in the end.

Second choice: Add a kit of two matching modules to your two existing modules. But you might not be able to get the same modules again. Even if they are the same model, something internally might have changed. Or you might toy with the idea of adding completely different modules (for example, adding 2x 8 GB to your existing 2x 4 GB). This can all cause problems. The least problems can be expected when you add two modules that are identical to your old ones. But then there's still this: You are now stressing the memory system more with four modules instead of two, so the attainable RAM frequency might drop a little. Also, it's electrically worse on a mainboard with daisy-chain layout, as explained under 1).

Lastly, adding just one more module (to have three modules total) is by far the worst choice for several reasons. Every desktop platform has a dual-channel memory setup. This means it works best with two modules, and it can work decently with four modules. And if you only use the PC for light office work, even a single 4GB or a single 8GB module would do. But in a PC where performance matters, for example for gaming, getting a single RAM module to upgrade when you have two existing modules is not good at all. The third module will be addressed in single-channel mode, while simultaneously ruining the memory system's electrical properties and making everything work at whatever the slowest module's specification is.

Note: When upgrading the RAM, it's always good to check for BIOS updates, they often improve compatibility with newer RAM modules (even if it's not explicitly mentioned in the changelog).


4) Today's sweet spot of DDR4-3600 with the latest CPUs

On AMD, DDR4-3600 has been the sweet spot for quite a while. But now, Intel introduced new memory controllers in their 11th gen and 12th gen CPUs which also require a divider above a certain RAM frequency. Only up to DDR4-3600 (but that pretty much guaranteed), the RAM and the CPU's memory controller (IMC) run at the same frequency (Intel calls this "Gear1 mode"). Somewhere above that RAM frequency, depending on the IMC's capabilities, the IMC has to resort to Gear2 mode, which introduces a divider for it and makes it run at half the RAM frequency. This costs a lot of performance.

An example on Intel Z590 with a kit of DDR4-3200: The IMC doesn't require a divider and can comfortably run in 1:1 mode (Gear1), which has the best performance.

BIOS OC.png


The Gear2 mode that becomes necessary at high RAM frequencies has a substantial performance penalty, because the latencies increase (everything takes a little longer). This basically leads to the same situation that we already know from AMD: RAM frequencies that are considerably above DDR4-3600 are almost useless, because of the divider being introduced for the IMC (memory controller). The performance loss with a divider is just too significant.

For the RAM performance to be on the same level again as DDR4-3600 without a divider (Gear1 mode on Intel), it requires something like DDR4-4400 (!) with the divider in place (Gear2 mode).

Looking at the high prices for DDR4-4400 kits or what it takes to overclock a normal kit of RAM to that, it's not practical. So with Rocket Lake (Core i-11000) and Alder Lake (Core i-12000) CPUs, and of course recent AMD CPUs, the "sweet spot" is usually at DDR4-3600. This frequency is known to not require a divider for the memory controller and thus gives the best performance and bang-for-buck.

Some more recent AMD CPUs, as well as 12th gen Intel "Alder Lake" CPUs, can sometimes go a bit above DDR4-3600 without requiring a divider for the memory controller.
But DDR4-3600 almost always runs well in 1:1 mode and has a better price/performance than RAM with higher specs, so it's still the top pick.

Here's an example of an AMD system (X570 with Ryzen 3900X). The tool HWinfo64 can show those frequencies in the "Sensors" window.
DDR4-3866 is too much to run in 1:1 mode, so the divider for the memory controller is active and performance is worse. DDR4-3600 manages to run in 1:1 mode and the performance is better.

View attachment 150421

The best thing on both platforms nowadays is to run DDR4-3600 without a divider and with some nice low timings if possible. Something like DDR4-4000 will usually make the BIOS enable the divider for the memory controller and it will be slower overall than DDR4-3600, despite the higher RAM frequency. This is because the latencies are effectively increased when the memory controller has to work at a lower frequency. With a DDR4-4000 kit of RAM for example, i would enable XMP, but then manually set a DRAM frequency of DDR4-3600. This should make the BIOS remove the divider for the memory controller and the performance will immediately be better.

Here's a page from an MSI presentation about 11th gen Rocket Lake CPUs, showing the increased latencies when the divider comes into play:
View attachment 158526

And here's from an AMD presentation about the Ryzen 3000-series, showing similarly increased latencies once the divider is active:
View attachment 159007

With higher DDR5 speeds, a divider is used, because it's not feasible to run the memory controller at the same speed anymore. But with DDR5, the divider for the memory controller has less of a penalty than with DDR4, because DDR5 can access a module via two seperate sub-channels of 2x 32 bits (instead of one 64 bit channel like on DDR4). This allows for higher/better interleaving of memory accesses on DDR5 and alleviates most of the latency penalties. On AMD the FCLK can be left at 2000 MHz with DDR5, it seems to be the new "sweet spot".


5) RAM stability testing

Memtest86 Free
from https://www.memtest86.com/
I use this as a basic stability test on a new system before i update the BIOS to the newest version (which is always one of the first things to do, as the factory BIOS will already be quite outdated). Also, since it runs from a USB stick/drive, i use it as a first check before booting Windows, when something has significantly changed with the RAM or its settings. One or two passes of this give me a good idea if the system is generally stable enough to start installing Windows (or boot it).

It's a good first test if you are completely unsure about stability, as well as a good "finisher" if you want to be extra sure that everything is ok with your memory system after doing other testing. The main advantage is that it runs from USB. The main disadvantage is that RAM tests in Windows are more thorough in catching errors.
Launch the included ImageUSB program to prepare a USB drive with it, then boot from that drive (press F11 during POST for the boot menu).
Some people may also know "Memtest86+", a fork of Memtest86 which was better for a while. But by now, the regular Memtest86 is more current and the one to use.


Once in Windows, a quick way for detecting RAM instabilities is TestMem5 or TM5 for short: https://testmem.tz.ru/tm5.rar
Used with this config file (1usmus_v3 config) that goes into the TM5\bin folder. Note that some antivirus scanners don't like ".cfg"-files, but it's just a harmless text file, you can check in any text editor. TM5 delivers a good and relatively quick indication of RAM stability. Run as admin. A full run of three passes with the config file from the link should take 10 to 40 minutes. The precise time it takes depends on the amount of RAM and the RAM/CPU performance.

Example of unstable RAM, with TM5 detecting six errors during testing:

1648934955114.png


Those weird letters on the bottom left are shown because that font doesn't contain the proper Cyrillic letters (but even if it did, most people couldn't read it).
Those lines say at which test (0, 8, 2, 2, 0...) the errors were found. But just make sure there are no errors.
If the RAM passes all tests, TM5 will say "of errors is not detected" at the end.


One of the best tools to thoroughly test RAM stability is from Google, and it's called GSAT (Google stressapptest). It has been specifically developed by Google to detect memory errors, because they use ordinary PCs instead of specialized servers for a lot of things. The only downside, it takes a bit of time to set up. To run GSAT, you first have to enable the "Windows Subsystem for Linux":

0*N8OWBM7IUXaCsH7C.jpg


After the necessary reboot, open the Microsoft Store app and install "Ubuntu", then run Ubuntu from the start menu.
It will ask for a username and password, they are not important, just enter a short password that you remember, you need to enter it for the update commands.
Then run the following commands one after the other (copy each line, then right-click into the Ubuntu window to paste it, then press enter):

sudo apt-get update
sudo apt full-upgrade -y
sudo apt-get install stressapptest

Then you can start GSAT with the command:
stressapptest -W -M 12000 -s 3600

This example tests 12 GB of RAM (in case of 16 GB total, because you need to leave some for Windows), for 3600 seconds (one hour). You can also enter -s 7200 for two hours.
If you have more RAM, always leave 4 GB for Windows, so with 32 GB, you would use "-M 28000".
GSAT looks unspectacular, just some text scrolling through, but don't let that fool you, that tool is pretty stressful on your RAM (as it should be).
At the end, it has to say Status: PASS, and there should be no so-called "hardware incidents". Otherwise it's not stable.


Then, HCI Memtest is quite good. There is a useful tool for it, called MemTestHelper: https://github.com/integralfx/MemTestHelper/releases/tag/v2.2.0
It requires Memtest 6.4, which can be downloaded here: https://www.3dfxzone.it/programs/?objid=18508
(Because in the newest Memtest 7.0, they made a change so that MemTestHelper doesn't work anymore and you should be forced to buy Memtest Pro).

Put both tools in the same folder. Start MemTestHelper, and with 16 GB RAM, you can test up to 12000 MB (the rest is for Windows).
Let it run until 400% are passed. That's a good indicator that your RAM is stable. If you want to make really sure, let it run to 800%.

memtest_1.png


Another popular tool among serious RAM overclockers is Karhu from https://www.karhusoftware.com/ramtest/
But it costs 10€ to register, so i would just use the other free programs (unless RAM OC is your hobby).


A stability test which also challenges the memory controller a lot, and therefore definitely useful to round out the RAM-related testing:
Linpack Xtreme from https://www.techpowerup.com/download/linpack-xtreme/

Run Linpack, select 2 (Stress test), 5 (10 GB), set at least 10 times/trials, press Y to use all threads, 2x N, and let it do its thing.
It's one of the best tools to detect instability, but warning, this also generates a lot of heat in the CPU. So i would watch the temperatures using HWinfo64 Sensors.
Each trial has to say "pass", and it has to say "checks passed" at the end.

View attachment 161818

It also puts out a "GFlops" number, that one is actually a decent performance metric to quickly judge if a certain RAM tuning (lowering timings) has performance benefits.



An important note about RAM and heat: Higher ambient temperatures are not good for RAM stability. The RAM might be perfectly stable in a RAM-specific stress test, but depending on the graphics card (its power consumption and cooling design), once that dumps its heat into the case very close to the RAM slots during gaming, there can be RAM-related crashes. Simple because it heats up the RAM a lot and makes it lose stability.

So to be absolutely sure that the RAM is stable even when it's hot, it can be good to run something like FurMark alongside the RAM stability test. Not for hours, because FurMark creates extreme GPU load, but just for 20 minutes or so, to really heat things up. A lot of times, the fins of the cooler are oriented towards the mainboard and the side panel, so the heat comes out from the sides of the card, and the RAM sits right above that.

If your RAM is fine in isolated RAM stress tests, but you have crashes in games (or when otherwise loading the GPU) with the same RAM settings, then you need to loosen up those settings a bit to add more headroom for those circumstances. Go by the three principles of RAM instability: Loosen timings and/or lower frequency and/or raise voltage.



Deep-diving a bit more into RAM:
It can quickly become a bit complicated, but if there are any questions, feel free to ask.


My other guides:
Guide: How to find a good PSU
Guide: How to set up a fan curve in the BIOS


Someone asked me if they can thank me for my work by sending me something via Paypal: Yes, that's possible, just write me a message and i'll tell you my Paypal 😉
Thank you for this work, but for a creative type like myself, I still find this a bit confusing & have been stressing over what to buy now that I can finally afford to upgrade to a system that will actually be able to run 2 Adobe apps + Chrome at the same time without wanting to die, Lol!

1 question:
The PC will be built on the MSI MEG Z790 ACE (with a i9-14900k).
I wanted to load it up with 128GB or 192GB of RAM to ensure my work (2D & 3D motion graphics using mainly Adobe products) can be done smoothly.
But after reading this, I'm 2nd guessing the 4x32GB / 4x48GB 4dimm setup...

Any thoughts on the best way to accomplish what I need without having the knowledge/ability to do all the RAM tweaking & bios tinkering mentioned in your writeup?
Thanks in advance for your time.

Edit to add the RAM I was looking at:
- Corsair Vengeance 128 GB (4x32GB) DDR5-5600 CL40
- Kingston FURY Beast 128 GB (4x32GB) DDR5 5200MT/s CL40
 
Last edited:
@citay
not a good idea to use any memtest(86) with "fixed" running time, e.g. where the suite stops after running every test once.
those are for detecting DEFECTIVE ram, not for tweaking/stability testing.
and as you correctly listed, for that you will need stuff like TM5/HCI, e.g. any ram test that runs "indefinitely" (until shutdown),
as those are the only ones able to detect intermittent errors.
i can pass ever (fixed time) version of memtest on tweaked ram, while triggering errors on the others within 1-20 min.

anytime ram is stable (HCI/TM5), its not the ram when a game crashes, more likely the game not "happy" with something
might be IF/MC, but if ram is stable, its stable, e.g. if i dont have errors running HCI for +2 days, its not the ram causing issues.

@truthntraditio156902db
MEGs are great boards, incl ram tweaking.

i recommend getting something above bare min for corsair, the vengeance series is known to have multiple dies being used for the same model nbr,
so its a crapshoot what die you get, i would say stick with LPX or Dominator when it comes to corsair, or kits with speccs know to be b-die (or equivalent).

and unless i missed something, 4 sticks would be fine, as long as its fast enough to match the systems "sweetspot".
 
Last edited:
Back
Top