Because of timings, two memory modules with the same theoretical maximum transfer rate can achieve different performance levels. Why is this possible if both are running at the same clock rate?
Timings measure the time the memory chip delays doing something internally. Here is an example. Consider the most famous parameter, which is called CAS Latency (or CL or “access time”) that tells us how many clock cycles the memory module will delay in returning data requested by the CPU. A memory module with a CL 9 will delay nine clock cycles to deliver a requested data, whereas a memory module with a CL 7 will delay seven clock cycles to deliver it. While both modules may run at the same clock rate, the second one will be faster, as it will deliver data sooner than the first one. This issue is known as “latency.” As you can see in Figure 1, the module portrayed there has a CL of 7.
The memory timings are given through a series of numbers; for instance, 4-4-4-8, 5-5-5-15, 7-7-7-21, or 9-9-9-24. These numbers indicate the amount of clock cycles that it takes the memory to perform a certain operation. The smaller the number, the faster the memory. The memory module portrayed in Figure 1 has 7-7-7-18 timings, while the memory module portrayed in Figure 2 has 8-8-8-24 timings.
click to enlarge
Figure 2: A DDR3-1600/PC3-12800 memory module with 8-8-8-24 timings
The operations that these numbers indicate are the following: CL-tRCD-tRP-tRAS-CMD. To understand them, bear in mind that the memory is internally organized as a matrix, where the data are stored at the intersection of the lines and columns.
- CL: CAS Latency. The time it takes between a command having been sent to the memory and when it begins to reply to it. It is the time it takes between the processor asking for some data from the memory and then returning it.
- tRCD: RAS to CAS Delay. The time it takes between the activation of the line (RAS) and the column (CAS) where the data are stored in the matrix.
- tRP: RAS Precharge. The time it takes between disabling the access to a line of data and the beginning of the access to another line of data.
- tRAS: Active to Precharge Delay. How long the memory has to wait until the next access to the memory can be initiated.
- CMD: Command Rate. The time it takes between the memory chip having been activated and when the first command may be sent to the memory. Sometimes this value is not announced. It usually is T1 (1 clock cycle) or T2 (2 clock cycles).
Usually, you have two options: to configure your PC to use the memory standard timings, usually by setting memory configuration to “Auto” on the motherboard setup; or to manually configure your PC to use lower memory timings, which may increase the performance of your system. Notice that not all motherboards allow you to change the memory timings. Also, some motherboards may not be able to run at very low timings, and they may configure your memory module to run at a higher timing setting because of this.
click to enlarge
Figure 3: Configuration of memory timings at the motherboard setup
When overclocking your memory, you may need to increase the memory timings in order to make the system run in a stable manner. Here is where something very interesting happens. Due to the increased timings, the memory may achieve a lower performance, even though it is now configured to run at a higher clock rate, due to the latency that was introduced.
That is another advantage of memory modules sold specifically for overclocking. The manufacturer, besides guaranteeing that your memory module will achieve the labeled clock rate, also guarantees that you will be able to keep the labeled timings up to the labeled clock.
For example, even though you may achieve 1,600 MHz (800 MHz x2) with DDR3-1333/PC3-10600 modules, on these modules it may be necessary to increase the memory timings, while on DDR3-1600/PC3-12800 ones the manufacturer guarantees that you will be able to achieve 1,600 MHz keeping the labeled timings.
Now we are going a step further as we will explain in detail each one of the memory timing parameters.