Although it’s arguably one of the most straightforward components to install, understanding what makes your RAM tick is a whole other ballgame.
Those innocent-looking sticks of memory are far more complex than they seem. So let’s try to simplify one aspect today, shall we?
We’ll go over what it means, how it could affect your workloads, and help you understand whether you should chase after those blazing-fast speeds or look for low latency memory kits.
RAM Speed vs. Latency
While memory speed (or data rate) addresses how fast your memory controller can access or write data to memory, RAM latency focuses on how soon it can start the process.
The former is measured in MT/s (Megatransfers per second) and the latter in nanoseconds.
Before we dive into calculating memory or RAM latency, there are a few terms you should know:
Simply put, latency is a delay.
This delay can be measured in nanoseconds (real-world time).
However, when it comes to digital electronics, we often use clock cycles because this way we get comparative numbers that aren’t dependent on frequency or data rate of a part.
Unlike latency, memory timings (that sequence of numbers you see on your memory module) are measured in clock cycles.
So, each number in memory timings, like 16-19-19-39, indicates the number of clock ‘ticks’ or cycles it takes to complete a certain task.
Here’s a short overview of what those timings mean, from first to last (all measured in clock cycles).
To simplify things, imagine your memory space as a giant spreadsheet with rows and columns, where each cell can hold binary data (0 or 1).
- CAS Latency (tCL) – The first memory timing is something called Column Access Strobe (CAS) Latency. Although the term strobe is a bit antiquated today as it’s a vestige from the Asynchronous DRAM days, the term CAS is still used in the industry. CAS Latency of RAM indicates the number of cycles it takes to get a response from memory once the memory controller sends over a column it needs to access (think about that spreadsheet analogy I mentioned above). Unlike all other timings below, tCL is an exact number and not a maximum/minimum.
- Row Address to Column Address Delay (tRCD) – The second number denotes the minimum number of clock cycles it will take to open a row (again, on that giant spreadsheet) and access the required column. Remember, unlike tCL, tRCD isn’t an exact number but is the maximum delay.
- Row Precharge Time (tRP) – The third number in that 4-number sequence indicates the minimum clock cycle delay to access another row within the same selected column.
- Row Active Time (tRAS) – The last number in that memory timing sequence denotes the minimum number of clock cycles a row needs to remain open to access the data. This is usually the biggest delay.
Calculating RAM Latency or CAS Latency
Simply put, CAS Latency is the amount of time your memory takes to respond to a request from the memory controller. Here’s a chart that simplifies the process for you:
In this section, we’ll find out how to calculate your RAM latency.
Of course, you could also use a RAM Latency calculator if you want to skip the math.
However, because advertised CAS Latency is measured in clock cycles, we need to account for memory speed to get a real-world CAS latency in nanoseconds.
Here’s the formula that you use:
So, say we have a DDR4-3200 CL16 memory kit.
You get a latency in nanoseconds with (16*2000)/3200 = 10ns.
First Word Latency
Now, if you’re wondering – what about those other memory timings? Don’t those affect latency as well?
Yes, they do.
However, CAS Latency is still the most commonly used metric to compare memory latency because it more directly affects (immediately) how fast your RAM module responds to a request.
That said, some engineers do argue the benefits of relying instead on First Word latency when it comes to memory.
In simple terms, First Word Latency accounts for primary memory timing numbers along with the Burst Length to come up with a delay that in essence tells you how long it takes to read a word out from memory.
Low Latency RAM vs. High-Speed RAM?
Consider the following three kits –
- 32GB (2×16) DDR4-3200 CL16
- 32GB (2×16) DDR4-3600 CL18
- 32GB (2×16) DDR4-4000 CL20
Which one do you think is the ‘fastest’?
Well, that’s where things become a bit complicated (or interesting, if you’re a weirdo like me).
For 3D Viewports and Active Workloads
We tested this out ourselves. And it turns out that the task itself is so severely bottlenecked by the IPC and clock speed of a single processor core, that it doesn’t matter what latency you pick as long as the memory data rate or timings don’t actively hamper the processor’s speed.
|CPU: Ryzen 9 5950X||CGDirector Viewport Benchmark (10-run Average)|
So, as an example – with Ryzen CPUs, both looser timings and lower data rates affect the performance of the CPU itself (even single core).
However, this opens up an interesting discussion.
Should you grab a cheaper DDR4-2666 CL20 kit (or a DDR4-2666 CL16 kit) instead of a slightly pricier DDR4-3600 CL20 kit if you’re going to end up with similar performance?
I’d say no. You’ll see better performance with a faster memory kit for any task that places an active load squarely on the CPU, spread across multiple cores.
One example of this is scrolling across quickly across a Premiere Pro timeline with compressed source footage.
For CPU/GPU Rendering Workloads
Short answer – doesn’t matter too much. If these are your main workloads, we recommend prioritizing system stability rather than chasing marginal gains.
Frequently Asked Questions (FAQ)
Is Mixing RAM with Different Latency, a Bad Idea?
Yes. As we’ve covered here, mixing memory, in general, isn’t ideal. This holds true even if your memory timings are different.
As for what behavior to expect, there are two possibilities:
- if you’re lucky, the memory modules can be tuned to work at the slower memory’s timings.
- if unlucky, you might not see stability until you dial back your memory overclock all the way back to JEDEC specifications, which are usually much slower.
How to Check my RAM’s CAS Latency?
You can find your current memory latency in no time!
Once you install and run CPU-Z, you should see a screen like this one (the hardware and specs will be yours instead, of course) –
Head on over to the ‘Memory’ tab you see here, and you should see a list featuring your memory frequency (NOT datarate) as well as your memory timings like CAS Latency.
What is SPD in CPU-Z?
If you’re a curious kitty, you’ll have seen a tab called ‘SPD’ in your CPU-Z window and wondered what it was.
SPD, or Serial Presence Detect, is a standardized EEPROM (Electrically Erasable Programmable Read Only Memory) that offers a way for your system to access memory specifications.
So, when your system ‘POSTs’ (Power-On-Self-Test), it accesses memory specifications using the information stored here. During this step, it’ll instantly know what JEDEC specifications are set for your memory, in addition to a few other things. What’s more, it’ll also see any XMP profiles that have been loaded to your memory as you can see in the screenshot above. Your BIOS can then offer a ‘one-click’ way to set specifications to this XMP profile by reading off it.
Keep in mind, these aren’t your current memory settings. This tab only lists what it reads from your memory modules.