AMD Ryzen RAM scaling - performance effect in games

Memory (DDR4/DDR5) and Storage (SSD/NVMe) 366 Page 1 of 9 Published by

teaser

Introduction

AMD Ryzen RAM scaling - performance effect in games
The game performance effect of DDR4 frequency and latency for Ryzen 3000


Hey all and welcome towards an article, not so much a review. The impact of memory timings and frequency on AMD Ryzen 3000 systems in games has been a topic of discussion. In this article, we'll zoom in on specifically that. See, AMD made a change in 3rd generations Ryzen, aka "Zen 2" processors, splitting the memory controllers from the die that contains CPU cores. The DDR4 memory controller is located in the processor's 12 nm I/O controller die. So that's a dynamic shift overall. 

DDR4 memory has been a topic of discussion ever since the first generation Ryzen processors have been released. Different types of memory often resulted in different performance levels in CPU limited gaming (no GPU bound). The effect of faster low latency timed DDR4 memory has been there and very visual, much more so compared to Intel. In this article, we are going to zoom in a little and try to show what exactly the sweet spot is for Ryzen 3000 processors in regards to memory and latency (with gaming in mind). First stop, we need to look into the topology of AMDs memory controllers relative to their location on the processor package.  Below you can see an 8 core and 16 core processor package, Matisse aka Ryzen 3000 aka ZEN2. Any Matisse CPU is comprised of two or optionally three dies, aka 'chiplet' dies that between them cover to make the processor. There are two main classes of Zen 2 chiplet: the Core Chiplet die (CCD) holding the eight processor cores, and the IO Chiplet die (cIOD), basically, a chipset die; each Matisse CPU can have up to two CCDs (2x8 cores) and will always have one cIOD. Inside that cIOD, the memory controller is located.


Page1_1


The two 7nm 8-core CPU chiplets communicate with this cIOD die over 100 GB/s through the interconnect that is marketed as Infinity Fabric links. Officially Matisse based processors support memory speeds up to 3200MHz but can run kits up to 3600MHz without a problem.  With AMD Ryzen systems, you need to remember that the memory clock, memory controller clock, and Infinity Fabric clock run at a 1:1:1 ratio; e.g., 1600MHz (x2 double-data-rate) for all three you apply an XMP of 3200MHz. The Infinity Fabric frequency can either be synchronized to the memory clock or unlinked from it, using various dividers and multipliers. This is useful when you’re trying to run the RAM at more than 3600 MHz.

With memory speeds greater than 3600 MHz (a memory clock greater than 1800MHz), the memory controller clock keeps 1800MHz, however the Infinity Fabric link changes to a 1:2 ratio state. According to AMD:

“Enabling 2:1 mode crosses clock domain boundaries, imparting a DRAM latency penalty of approximately 9ns that may be overcome with additional memory clocks, higher CPU frequencies, or sub-timing adjustments.” But what could you achieve if you used faster sticks or fine-tuned the ones that you already have? To simplify things, let’s say that memory speed is made up of:

  • memory bandwidth (how much data can be transferred at once) – this is mainly influenced by the frequency
  • memory latency (how long it takes to transfer data from the RAM to the processor) – this is mainly influenced by the so-called memory timings. You’ll find more information about them on page 2.
 

Page1_2

 Tweaking

When it comes to RAM, it’s a good idea to approach overclocking with caution. An unstable configuration usually results in application or system crashes, but it can also lead to file corruption even without any crashes, making your operating system installation unusable and leading to gradual data loss.

For starters, we’d advise looking at this article: DRAM Calculator for Ryzen 1.7.2 – what is new?. You can always find the latest version of this useful program in our download section. The current revision is 1.7.3. The developer of this tool (1usmus) is active on our forums, and you can find him and more info here. DRAM Calculator lets you check which memory timing settings will be safe and fast. We always advise starting with a safe setting. When overclocking RAM, it’s good to check stability with software like HCI Memtest and, of course, in the games and applications that you usually use.

One of the factors in successful OC can also be the temperature, so, if possible, try to keep it as low as you can in your system. An intake fan or two at the front can really cool the area where your RAM is located. A top-blowing cooler on the CPU can surely help, too. Other than that, you can always use a dedicated fan to cool your memory. While there are no guarantees with overclocking because many factors can influence the outcome (motherboard, the revision of RAM, etc), you can safely assume that the best results can be achieved using memory chips based on:

  • Samsung B-die
  • Hynix E-die

Also, the lower the default CAS latency setting used by the manufacturer (e.g. 3200 MHz CL14), the more likely you are to achieve good results. This is not a strict requirement, because even some 3000 CL16 RAM kits can achieve 3600 MHz CL17 without a hassle, but you’re more likely to yield good results if you use a higher-binned kit.

What we test today

We’re going to present an overview of the game performance of Ryzen 7 3700X (paired with a GeForce RTX 2080 Ti, which shouldn’t limit its performance) in a selection of games. As nobody plays in 720p anymore, we’ll set the resolution to 1920x1080, where you can still see the differences between various CPU/GPU/RAM settings, which is what we’re interested in.

We’ve set our RAM kit using Ryzen DRAM calculator settings (Safe/Fast), and with manual override overclocking. We used two Zadak 4133 MHz kits (2 x 8GB) and the Crucial Ballistix Gaming 3200 MHz 4 x 16 GB (for one of the pages) ran it on the Aorus X470 Gaming 7 WiFi set to:

  • 3200 MHz CL14-14-14-34
  • 3200 MHz CL16-18-18-38
  • 3600 MHz CL14-16-16-36
  • 3600 MHz CL16-18-18-38
  • 3600 MHz CL18-20-20-40
  • 3733 MHz CL16-18-18-38 (Infinity Fabric divider set to 1:1)
  • 3800 MHz CL17-19-19-39
  • 4000 MHz CL18-20-20-40

You’ll find a separate page with the comparison of the results between using the 1T and 2T Command Rate setting (using the 3200 MHz CL14-14-14-34). The next thing is a dedicated section showing the performance difference when using 3733 and 3600 MHz (with CL16-18-18-38) with a 1:1 Inifinity Fabric divider.  Additionally, we’ve tested 4 x 8 GB/2 x 16 GB/4 x 16 GB in the following scenarios, to check the performance gain when using the higher capacity modules and also the impact of single rank RAM vs double rank.

Later you’ll see all results in one place. Next page, please.

Share this content
Twitter Facebook Reddit WhatsApp Email Print