The misuse of ‘Megahertz’ by media, motherboard manufacturers, and even memory manufacturers has always bothered me.
Even we’ve been guilty of sticking to the technically incorrect unit for simplicity’s sake – just to avoid this long-winded explanation.
Here’s MSI using MHz on one of their QVL pages:
And here’s Kingston doing the same for their own memory modules:
Are they wrong? Well, yes. Technically.
Let’s quickly cover why the speed of a DDR4 memory module is 3200 MT/s and NOT 3200 MHz.
We’ll also go over what MT/s (Megatransfers per second) is and why it’s the perfect unit to indicate the effective speed of any DRAM module.
Differentiating RAM Frequency and Effective Speed: Why is the Usage of Megahertz Incorrect?
Each DRAM module has a certain clock frequency that it can maintain without compromising stability. This frequency indicates the number of clock cycles per second and is measured in Hertz (Hz, MHz, GHz, etc.).
The universal use of Megahertz to denote the data transfer rate stems from early generations of memory – SDR or Single Data Rate memory. At the time, your DRAM frequency was EQUAL to your memory speed because data was transmitted only once every clock cycle.
However, things changed with the advent of DDR (Double Data Rate) memory. Modern DDR memory modules transmit data TWICE per clock cycle. Once at the rising edge of the square wave and once at the falling edge.
So, what you often see advertised as 3600 MHz DDR4 Memory is a module operating at an 1800 MHz clock rate with an effective transfer rate of 3600 MT/s (Megatransfers/second).
What is a Megatransfer? How Much is it?
Megatransfer is a bandwidth-agnostic term usually used for the rate of signal on I/O buses – making it the perfect unit to measure memory ‘speed.’
Let’s think of your memory access like a water pipeline. Now, just saying that water is flowing at 3600 meters/second doesn’t really tell us exactly HOW MUCH water is flowing through it.
If it’s a thin pipe, you’re clearly sending much less water down it compared to a thicker one – even though both might be going at 3600 m/s. You need the width (radius) of that pipe to find out exactly how much water is flowing through it.
Similarly, Megatransfers is the equivalent to the data transfer speed. It tells you how many transfers are taking place per second but is independent of the memory bus width (pipe thickness).
So, this number can’t really tell you how much data is being sent/received per second until you also factor in memory bus width. This means something transmitting at 10 MT/s over a 1-byte wide bus will offer speeds of 10 Megabytes/s.
Here’s an example:
Consider a mainstream DDR4-3200 memory module.
Now, DDR4 has a bus width of 64 bits (1 byte is 8 bits, so 64 bits/8 = 8 bytes) for data.
So, DDR4-3200 memory transmits data at a maximum rate of 3200 MT/s*8 Bytes = 25,600 MB/s.
Here are JEDEC specifications for DDR4 memory showcasing the same.
There’s an advantage to measuring memory speeds this way. Why? Well, because you can use this unit across memory generations as it doesn’t need to take bus width into account.
Why Does Everyone Use Megahertz Then?
Since a DDR4 module with a 1600 MHz frequency does ACT like a module with 3200 (1600*2) MHz frequency, it became quite widely used as it did still indicate its effective speed.
That said, continuing this convention will only cause more confusion if/when things like QDR memory become mainstream, which would be able to transfer 4 times each clock cycle.
Isn’t Frequency Just ‘Something per Second’?
Yes, but one of the basic tenets of frequency is that it is a repeating activity per unit of time. The key word here is ‘repeating.’
A data transfer, on the other hand, isn’t a repeating activity. A clock rate is constant and will not change as long as the required voltage is supplied to the module.
Just because you’re measuring the rate of something doesn’t make it frequency.
It’s not a perfect analogy, but suppose you measure the speed of a car and it comes out to 6 m/s (meters/second). Does this make 6 Hz or even 6 kHz the ‘frequency’ of said car? No, that’s silly.
The transfer rate of memory is how fast you can expect data transfer to happen, while a clock rate is the number of clock cycles per second.
How Will CGDirector Handle Memory Speed Notations in the Future?
One of the best ways (in my opinion) to indicate memory speeds is using the following notation:
64GB (2×32) DDR4-3200 CL16
The first number is the total memory capacity, while the brackets denote the memory config (2 sticks of 32GB each).
The memory generation comes next, and the number after it is a memory kit’s MT/s speed. The final number is the kit’s CAS Latency.
Moving forward, we’ll be sticking to this notation when describing or recommending DRAM modules/kits.