Article Ryzen Memory Speed Tuning: You Can Do It

Ryzen users are having memory speed problems. (TL: DR it's your own fault).

I've been helping users on various forums for the last couple years since the Ryzen release. The number one help ticket item is RAM speeds.

Just because your motherboard has a QVL with your RAM kit on it, it doesn't mean your RAM is going to work at the advertised speed, automatically, right out of the box.

AMD Ryzen processors will run certain RAM speeds, but only guaranteed to boot automatically when the speeds are within the JEDEC thresholds. For 1st generation Ryzen, that's 2666MT/s (1333MHz), Ryzen+ is 2933MT/s, and Ryzen 2 is 3200MT/s, but at very loose JEDEC timings.


Example of Micron JEDEC DDR4-3200

Your fancy kits with the bling heat spreaders are binned and can work at better speed and timings than crummy JEDEC RAM, but only if you tune certain parameters. These include the various DIMM voltage settings and memory controller voltages in your BIOS. Typically you will need to raise DIMM voltage from 1.2v to 1.35v or sometimes as high as 1.5v for serious overclockers. Also since the SOC is the memory controller for AM4, you may need to raise SOC voltage. I've seen numerous theories on what is a safe SOC voltage floating around various forums, but AMD themselves raised SOC to 1.2v in their own overclocking guide just to get to 2933MT/s. I personally have to run about 1.21v to stabilize my own memory overclock.

AMD Official AM4 Tuning Guide

How can you get your fancy-out-of-spec-RAM to work fast? Well, you are going to have to set it up yourself. Luckily there are a few kits out there like FLAREX that have automatic profiles that usually work fine for AM4. Unfortunately most of the RAM on the market just has Intel X.M.P. timing charts that rarely work automatically on Ryzen because the memory controller just can't handle speeds like that without some manual help. This means you will most likely have to set ALL of your timings manually and adjust your voltages MANUALLY. This can be a real daunting task for most users to consider. Even for veteran overclockers, manually testing timings one at a time can be rather tedious. Luckily, there is a tool that can help eliminate much of the guesswork. A forum user by the name of 1usmus has been sampling various RAM kits, and has compiled a list of "SAFE" and "FAST" timings in a calculator. To make the calculator work, you'll need to figure out what memory ICs that your RAM kit uses. To do that, you can use Thaiphoon Burner.

Thaiphoon Burner

Ryzen DRAM Calculator

Ryzen Memory Guide by 1usmus

The DRAM calculator is an estimate, so if it doesn't work, try loosening timings and adding more voltage before blowing up the forums about your RAM blah, blah, blah (you'll just look like an idiot).

Read your motherboard manual and verify that you know how to manually CLEAR CMOS. This will be important to recover if you overbork your settings.

To measure the effectiveness of your memory overclock, I suggest the AIDA64 Extreme cache and memory benchmark. To test for stability I also suggest the AIDA64 Extreme stability tester. Unstable memory will corrupt your OS.

AIDA64 Extreme

Examples from my own rig:

Hynix D Dies are not in the calculator yet, so I made educated guesses based on the X.M.P. as well as the calculator, and ended up stabilizing timings slightly faster than even the FAST calculated timings for CJR.

With proper tuning, I reduced my latency by about 30% and added a ton of bandwidth as well.

Stock system versus fully tuned and stable overclocked system:

A word or two about JEDEC, X.M.P. and QVLs

I'm going to explain this, but I got to start baby steps first so bare with me.

JEDEC. What is it?

It's an industry wide standard set so that any RAM (of the same generation such as ALL DDR4) can run on any motherboard, with any CPU, whether that be Ryzen, Ryzen+, Ryzen 2, or Skylake, or whatever. Example: you buy a random stick of RAM, you put it into your new motherboard and CPU that just came out of the box, turn it on and it POSTS. It might not be at the speed and timings that are advertised on your box, because if it is faster than JEDEC spec, then it is considered overclocking.

Example JEDEC DDR4, these are always the same and 1.2v, and that's the point of JEDEC:

Example: You bought some Neo 3600MT/s because it has shiny lights even though you have no idea how RAM really works. You put it in your motherboard and it posts at one of the JEDEC speeds programmed into the SPD table on the RAM, probably 2133MT/s CL15. You get pissed, so you post here, and here we are. Now if you enter your BIOS and set frequency to 3200MT/s and leave everything on AUTO (not X.M.P.), it should POST with the DDR4-3200 JEDEC frequency and timings, CL20...but at least it will work. It's guaranteed to work if your RAM and CPU are rated that high because it's an industry standard.

Now what about X.M.P.?

That is an Intel standard, period. It's spec'd by Intel in cooperation with the memory manufacturer to work on Intel memory controllers.

Can it work on AMD. Yes, sometimes it can, but it is not guaranteed because the timings are often too aggressive for AMD memory controller without additional tuning.

Some memory manufacturers will advertise "AMD ready", and what that means is they loosened some secondary timings in the X.M.P. profile so it's more likely to work, but still not guaranteed without some manual tuning.

In the past, AMD tried to come up with an equivalent standard for AMD processors called A.M.P. but that never really caught on with vendors.

But, but, but my QVL???

You read it on a QVL, so you still think it's just going to work out of the box right?

First of all, there's technically actually 3 QVL's: one for the processor, once for the motherboard, and one for the RAM.

Example: Ryzen 2 is guaranteed to work with RAM speed up to JEDEC 3200MT/s per AMD specification. Any faster than that is not guaranteed and is considered overclocking.

Intel actually made a QVL with specifics like BIOS version ect, but still does not tell you what voltages were used on the memory controller itself.

Your motherboard manufacturer has a QVL, but they don't tell you exactly what settings they used. They could have checked the RAM at JEDEC speeds, or X.M.P. or manually tuned. They don't specify what voltages they used. They could have had a silicon lottery memory controller, or maybe not. It might be an off the shelf CPU sample, or a review sample, or they may have used an engineering sample. Maybe they pushed 1.4v through the memory controller and 1.5v through the DIMM, maybe they didn't. Every board manufacturer has a different method of validation, so if you are only looking at your motherboard QVL then you are a fool. Go ahead, email support from each company and see how many totally different answers you get.

Example of an X570 QVL and that's one of the more detailed ones:

Your memory manufacturer also has a QVL. See motherboard QVL. Same story.

RAM QVL Example: OMG they don't tell you anything useful at all in that one.

Still trusting those QVLs?

Ok now all of the above is true and not refutable. Call it the ten commandments of RAM or whatever you want. But that doesn't mean you can't tune your RAM for more performance. You just need to learn how. I would start by reading your motherboard manual and getting familiar with the terms in your BIOS. I would stay away from forums like Reddit and Github and stick with reading guides from veteran overclockers like 1USMUS. His Ryzen memory software is pretty nice too and will get you in the ballpark of what your platform is capable.

Maybe next time we can discuss ATX PSU specifications :D
Reactions: Phaaze88