I decided to write about this, especially since more Ryzen 2000 CPUs are quite ‘old’ now, and maybe some people would like to upgrade their systems or put them to other uses and stumble on a problem like the one in this article. (like adding ram to your old Ryzen pc and using it as a home lab or for self hosting)
So we were dealing with a weird error on one of the systems we use. The system would randomly freeze at boot, at Windows startup, or randomly sometimes.
The only clue was the fact that the CPU and DRAM LEDs on the motherboard where flashing while the system was frozen.
It’s a PC with a Ryzen 2700, B450 Aorus Pro (rev 1.0) motherboard, a solid Seasonic Focus GX 750W overkill PSU, 32 Gb of Corsair 3000 MHz ram (4 sticks), and an AMD RX570.
What didn’t work?
1. Disabling Windows fast boot, sleep, hibernation, and stuff like this. Nada.
2. Drivers update. Nope.
3. Memtest each RAM stick – all good for 48h.
4. Benchmarked the GPU and stressed the heck out of it. All good.
5. BIOS reset, set and anything in between, even updating to the latest version for the sake of it. Error still occurs.
6. Random full disassembly and dust cleaning. Problem persists.
7. Reinstalling the OS, the problem persists.
8. Disabling XMP, as the memory requires XMP to run at 3000 MHz. Weirdly, the issue persisted!
Quite safe to say that this was annoying as hell. Especially as sometimes it would just work like magic. Normal boot, work, game, shutdown, all good.
What did work? SOC voltage, the magic bullet
After some fiddling around in the BIOS and some furious Googling, I finally fixed it.
Apparently, running 4 sticks of ram with a Ryzen 2000 series might sometimes be problematic. The fact that my memory sticks are actually 2 different 16 GB kits from the same model (1-year apart purchase date) and do not appear on the official memory compatibility list might not be of help too.
Just by upping the SOC voltage a bit, the issue completely disappeared.
The system is being used >10h per day, multiple boots, reboots, or shutdowns per day, and the issue has never occurred since increasing the SOC voltage.
What is this SOC?
SOC/uncore is the voltage applied to components in the CPU, other than the cores. This includes the memory controller. Bingo!
And for RAM overclocking, you often have to up the SOC voltage to 1.1V or even 1.2V. Without going too technical, you’re increasing the SOC voltage to achieve stability.
How much SOC voltage is too much?
Generally, going beyond 1.25V is pointless, and even 1.2V should be enough. And if you’d like to read more about SOC voltages and why going beyond 1.3V and such high voltages, Steve from Gamers Nexus has a great article here.
I think something like 1.1V to 1.2V would be enough for most scenarios.
In my case, the B450 combined with a Ryzen CPU that is not an X, does not allow me to set a specific value for the SOC voltage. Fortunately, it does allow me to offset increase or decrease the SOC voltage.
So I increased it with two steps. (+0.24V if I recall correctly) This is because, after one step, the issue persisted. But after the second, the machine still runs perfectly.
I didn’t actually considered the idea of SOC voltage or any type of voltage, since everything is stock. I’m not overclocking, or just using XMP if you’re considering XMP as being an overclock (I can’t since it’s like… just a simple setting in the BIOS that never went wrong for me and this is not the only Ryzen system in the house).
Conclusion – so what was the issue?
If I were to pinpoint the exact issue, it would be a combination of these things:
- the way this Ryzen 2700 handles 4 sticks of RAM;
- XMP gibberish and incompatibility;
- RAM not being on the official compatibility list (even though I never encountered an issue with this);
- the motherboard does not supply enough SOC voltage even if a 3000 MHz XMP profile is not that… wild or uncommon;
But hey! In the end, I am glad that the freezes have gone away and the system is working correctly.