DDR4 RAM data transfers, speed, latency and voltage

RAM memory is an essential component of a computer. It is used temporarily during the execution of programs because it is much faster than the hard drives or SSDs on which they are stored. You can find out more from the page “What is the RAM memory?“.

Int this page, we will take a closer look at the numbers that appear in the specifications of DDR4 RAMs and their meaning.

Crucial Ballistix MAX DDR4-4400
Crucial Ballistix MAX DDR4-4400

Peak DDR4 RAM Transfer Rate

RAM memories are electronic circuits that use a clock with a frequency of the order of 1 GHz to execute commands and data transfers. The Peak Transfer Rate of a memory depends on its frequency and on how many commands it can execute at each clock cycle. The acronym DDR stands for “Double Data Rate” and it therefore means that two commands or data transfers can be executed every clock cycle.

For example, if the frequency of DDR memory is 1600 MHz, it can perform 2 × 1600 = 3200 million transfers per second. This transfer rate is expressed in MT/s (millions of transfers per second) and is usually included in the RAM specifications. It is often confused with the actual frequency of memory expressed in MHz. For example, a DDR4-3200 memory module can perform 3200 millions transfers per second (noted 3200 MT/s) and its clock frequency is 1600 MHz.

DDR4 memory modules use an 8-bytes (64-bits) bus for data transfer, so its maximum speed in bytes per second will be equal to eight times the number of data transfers per second. Thus the maximum speed of a DDR4-3200 memory module will be 8 × 3200 million bytes per second, or 25600 MBytes/s. This information is often found in the technical specifications of a memory modules, it is listed as PC4-25600 for a DDR4-3200 memory module. Memory names used by the industry sometimes round the memory speed; the data rate of a DDR4-2933 module is 2933 MT/s but its maximum speed is rounded down to 23400 MB/s (instead of 23466.66 MB/s). The following table contains the speed, frequency, data rate and names for the most common DDR4 memory modules.

Frequency Data Transfers/second Maximum speed Name
1200.00 MHz 2400.00 MT/s 19200 MB/s DDR4-2400 / PC4-19200
1333.33 MHz 2666.67 MT/s 21333 MB/s DDR4-2666 / PC4-21300
1466.67 MHz 2933.33 MT/s 23467 MB/s DDR4-2933 / PC4-23400
1500.00 MHz 3000.00 MT/s 24000 MB/s DDR4-3000 / PC4-24000
1600.00 MHz 3200.00 MT/s 25600 MB/s DDR4-3200 / PC4-25600
1800.00 MHz 3600.00 MT/s 28800 MB/s DDR4-3600 / PC4-28800
2000.00 MHz 4000.00 MT/s 32000 MB/s DDR4-4000 / PC4-32000
2200.00 MHz 4400.00 MT/s 35200 MB/s DDR4-4400 / PC4-35200

As a rule of thumb, the higher the maximum speed, the faster the memory and the higher its price. Please note that the fastest memory speeds are not always supported by all CPUs. It is important to check in the technical specifications of the CPU and the motherboard what is the maximum RAM speed they support before purchasing a super-fast memory module. Some CPUs and motherboards can sometimes be used with higher memory speeds than those that are officially supported. The forums that deal with the overclocking of these components will provide you more information on this subject.

Memory Chips
Memory Chips

Internal architecture of DDR4 memories4

It is important to understand the internal architecture of DDR4 memories in order to understand some additional characteristics.

Every bit of information is stored in a small capacitor in one of the chips of the memory module. If this capacitor contains electrons (it is charged) the value of the bit is “1” and it is “0” otherwise. The charging or discharging of the capacitor is controlled by a small transistor which functions much like a valve which lets electrons pass or not. Capacitors discharge naturally over time, which is why the contents of RAM are lost when the computer is turned off for example. Their content must therefore be constantly refreshed (every ten nanoseconds or so) so that the capacitors do not “forget” the value of the bit.

We can therefore imagine a memory module as an huge matrix of capacitors and transistors. If you examine a RAM module, you will see that it is made up of different chips, the bigger ones are the ones that contain these arrays of capacitors and transistors that store the bit values.

To improve the memory performance, the bits are accessed in parallel. This is one of the reasons why DDR4 memory modules are organized into groups of memory banks, then memory banks, and finally rows and columns of bits.

To get an idea of this organization, imagine that a DDR4 memory module (this is also true of DDR5 memory) is like a business building filled with cabinets and files. A memory bank group would then correspond to a floor of the building, a memory bank would be one of the cabinets of the floor, a row would identify a drawer in that cabinet and a column would be a folder in this drawer.

Drawers with bits
Drawers of bits

When a program needs to access one of the bytes of the memory, it identifies it with a number called its logical address. The memory controller converts this logical address into a physical address that identifies the memory bank group, the memory bank, the row and the column in order to access the information.

Memory latency

Although memories modules are fast, data transfers to and from the memory are not immediate. Let’s take the example of the business building to understand it. If I need to access a particular file, I have to take the elevator to go to the floor where it is located, look for the right cabinet, open the right drawer before searching for the file I am looking for. If I need a second file in the same drawer, it’s easy, I just have to look for it by its number. If, on the other hand, it is in another drawer, another cabinet or on another floor, it will take more time.

CL16-18-18-36 Latencies

It is a more or less the same thing it I need to access the data of a memory module: the access to the data will be faster if there is no need to change memory bank line (the drawer) and slower otherwise. This example is a bit simplified compared to memory modules data access but it gives an idea of the additional time (it is called the latency) required to access data. In the case of memory modules, everything is done in parallel, as if there were several people looking for folders in the building and everything is running at the memory’s clock speed.

Memory modules manufacturers often communicate about some of the memory operations latencies. The most common are:

  • CAS (Column Address Strobe): Number of clock cycles between sending a column (the “folder” in our example) request to the memory and receiving the data when the correct row (the “drawer”) is already open.
  • tRCD (RAS to CAS delay): Number of clock cycles the memory controller must wait to activate a new row (to open a new “drawer”).
  • tRP (Row Precharge): Number of clock cycles the memory controller must wait for the current wrong row (the wrong “drawer”) to close before opening a new one.
  • tRAS (Row Active time): Number of clock cycles the memory controller must wait between opening and closing a row (a “drawer”).
  • CMD (Command Rate): Number of clock cycles between when a memory chip is selected and a command is executed. Typical values are 1T and 2T..

Lower latencies will improve the performance of DDR4 memories, the lower they are for a memory of a certain speed, the faster the RAM memory will be. Anyway, the memory module speed is more important than the latencies and they should only be taken into account when comparing two memory modules with the same speed.

These latencies appear in the specifications of the memory modules in the following order: CAS-tRCD-tRP-tRAS-CMD (the last parameter is not always present). So for example a RAM module with the following timings CL16-18-18-36 will have a CAS of 16, a tRCD of 18, a tRP of 18 and a tRAS of 36.

Memory bank groups and channels

The number of memory bank groups is another important parameter for the performance of a memory module, but that information is not always provided by manufacturers. If you examine the label of a RAM memory module in detail, you may however find sometimes that can help you to identify this information. It is a multiplier that will appear either as ×4 (for server memories often), ×8 or ×16. The smaller this multiplier, the more memory bank groups there will be for the same amount of memory. For instance an 8 GB memory module can have a ×8 or ×16 multiplier. If it is ×8 it means that there are 4 groups of memory banks while there will only be 2 if the multiplier is ×16 . The number of memory bank groups determines the number of commands the RAM module can execute in parallel, the larger it is and the better it will perform.

Samsung DDR4 x8
Samsung DDR4 x8

On the other hand, modern CPUs are able to use multiple memory channels and can send commands in parallel to the memory modules. The performance of the computer will usually improve if it has 2 or even 4 memory modules instead of a single one. It is therefore better to install two 8 GB memory modules rather than a single 16 GB module. This is especially true for components that require a very fast memory such as the integrated graphics processors. This is the case, for example, if one wishes to play video with the iGPU of the microprocessor if the computer has no graphics card. Having two fast memory modules instead of a single one will significantly improve the performance in this case.

DDR4 memory voltage

The standard DDR4 memory modules voltage is 1.2 V, but the specifications of fast RAM modules often indicate a voltage of 1.35 V or higher. Such higher voltages are necessary to ensure the stability of electronic signals at high frequency. These memories modules use what is called an XMP extension profile (Extreme Memory Profile) which is an increase of the memory module frequency (overclocking) that has been validated by the manufacturer. It is generally necessary to activate the XMP profile in the computer BIOS for the memory modules to use these high frequencies..

DDR4 1.35V
DDR4 1.35V

It is sometimes possible to increase the memory modules frequency by increasing the voltage in the computer BIOS if the CPU and the motherboard support it. But be careful, the computer can reboot, crash or generate errors with programs or the operating system if the memory modules are not stable enough at the requested frequency. Reseting the memory parameters to their default values are generally enough to restore the computer to a stable configuration.

As a conclusion, do not forget to check the processor specifications to find out what are the supported memory speeds and try to install pairs of memory modules whenever it is possible. The price pf some very fast memory modules is generally not justified except for very high-end configurations. A better processor or graphics card is often more important to improve the computer performances.

The post DDR4 RAM data transfers, speed, latency and voltage appeared first on EatYourBytes