Posted in Driver

[solved] Strange problems caused by three sticks of RAM

Recently, I bought a Hynix CJR 16GB RAM to upgrade my old PC. It has two 8GB RAMs, which are also Hynix CJR. I plugged 16GB into A2 on the motherboard, 8GB into B1, and 8GB into B2, to build the 16GB + (8 GB + 8GB) dual channel.

The system can recognize the 32GB RAM, running at 3200 MHz, with timing 16-18-18-36, voltage 1.36V. I think it’s very lenient for Hynix CJR, even with three sticks of RAM. I can use 8G + 8G, with timing 16-19-19-36, voltage 1.36V, very perfectly, no problems.


But I met problems during these days. What strange problems I met so far:

The system will come out Blue Screen at random.

Seriously, I used two 8GB RAMs for three years and I have never seen Blue Screen for three years. Now I will see it at any time.

Blue Screen after executing restart.

No problems until restart. Not very often.

Windows Update will fail or come out Blue Screen.

The chance of this happening while updating is very high.

Chrome tabs will crash at random.

This is very annoying, for I haven’t seen Chrome tabs crash for three years. No specific website pages, just at random.

Video Card Driver didn’t launch while starting the system.

It only happened once, not very often. Restart the system, GPU driver comes back.

Online video playing shows blurs

Because the video file is buffered in the RAM, the video player will read them from RAM. If RAM has errors, the images will blur.


Why strange:

It’s out of my experience with RAM overclocking. I can play CSGO without problems for an hour but I will meet these problems above. It makes no sense.

Usually, the wrong settings of RAM will cause a Gaming crash, not a daily light load of usage. It’s totally reversed.


Analyze:

Use WinDbg tools, given the administrator permission (UAC), to open the dump files which are located at the path C:\Windows\minidump.

Find the input box in the middle of WinDbg, which is like below:

Input the first command !analyze -v and press Enter to see which file is related.

Input the second command !process and press Enter to see which process is related. I can see the ReadMemory error, which is like the below:

ReadMemory error: Cannot get nt!KeMaximumIncrement value.
fffff78000000000: Unable to get shared data

So I’m sure it was caused by the RAM.


Workaround:

I researched online and find some people who said that for the Ryzen 3rd generation CPU, four RAMs can only run at 3000 MHz. And some people reported that three sticks can only run at 2933 MHz. So maybe the frequency of 3200 MHz is still too high. I decided to lower it at 3133 MHz, at timing 14-17-17-35, at the voltage of 1.35V. I will test it for several days.

For reference, after installing the third RAM, I left everything in Auto except Voltage at 1.38V, any frequency which is over 3466 MHz can only lead to POST failing. I can only boot into the system at 3466 MHz, working seems fine, but as soon as I restart the system, the PC won’t pass the POST. I lower the frequency to 3333 MHz, and it works nearly perfectly, except that it would causes Blue Screen at random. Then I lowered it to 3200 MHz, but the problem was still there. Combining this, I think the problem is due to the frequency.

Now my plan is to lower RAM frequency under 3200 MHz, such as 3133 MHz, 3066 MHz, 3000 MHz and 2933 MHz. I wish some frequency can make me cozy.

If the problem is still there, maybe I need to run at 2666 MHz by default. I didn’t meet any strange problems at this frequency. In fact, for most daily applications, the RAM speed of 40000 MB/s is enough, with no difference. That’s why DDR5 RAM by far has no advantages over DDR4 RAM.

If the problems still go on, I will buy another 16GB RAM to build up to four sticks of RAM, which is more stable than three sticks.

Why didn’t I buy two 16 GB RAMs at the same time? Well, I just thought the total 32GB is enough for me and the price of RAM is still higher. Maybe I should save my money at the very beginning.

Or sell the two 8GB RAMs, and only use 16GB + 16GB, it’s the safest solution.


The Answer

After several modifications, I find the real cause.

Look at the picture. The 8GB and 16GB have different trfc values. I set the trfc according to my 8GB experience but ignored the truth that I got a 16GB RAM now. The trfc value of 16GB is much higher than that of 8GB.

However, according to my test, one CJR 16GB + two CJR 8GB, the latency of around 270ns is fine. For example, if you’re setting the memory frequency at 3200 Mhz, you can set the trfc value as 432.

Now I set the memory frequency at 3333 MHz, the trfc value is 450, and it works fine. I wouldn’t lower the trfc value because it’s very dangerous. Around the latency of 260ns is not stable for my PC, which was my two 8GB RAMs’ setting before.

I also find the truth of how trfc affects performance. While playing CSGO, the FPS is very unstable at the setting of 3200 MHz, with trfc 432. However, if I set the frequency as 3333 MHz, with trfc 450, the FPS is very stable. The latency of these two settings is the same as 270ns but the performance is very different.


Conclusion

Make sure you’re setting the moderate memory frequency, CL timings, and voltage. But the most important of all, you should make sure the trfc value is not too tight, especially for the 16GB RAM.

If you find the looser trfc value is stable but has bad performance, try to improve the frequency.

If you are using AMD Ryzen CPU, I highly recommend DRAM Calculator for Ryzen. It’s very useful, correct, and convenient.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.