Latency is the time the memory controller must wait between requesting data and the actual delivery of them. It is also known as CAS (Column Address Strobe) Latency or simply CL. This number is expressed in terms of clock cycles. For example, a memory with CL3 means that the memory controller must wait three clock cycles until data is delivered after a request is made. For a memory with CL5, the memory controller will have to wait longer: five clock cycles. So you should always look for the memory modules with the lowest latency possible.
DDR3 memories have higher latencies than DDR2 memories, which in turn have higher latencies than DDR memories. DDR2 and DDR3 memories have an additional parameter called AL (Additional Latency) or simply A. With DDR2 and DDR3 memories the total latency will be CL+AL. Fortunately, almost all DDR2 and DDR3 memories are AL 0, meaning that no additional latency is necessary. Below we summarize the most common latency values.
|Technology||Typical Latency||Other Common Latencies Available|
|DDR3||7||6, 8, 9|
This means that DDR3 memories delay more clock cycles to start delivering data compared to DDR2 memories (just like DDR2 memories delay more clock cycles to start delivering data compared to DDR memories), but this does not necessarily mean a longer wait time (this will be true only when comparing memories working at the exact same clock rate).
For example, a DDR2-800 CL5 memory will delay less time (i.e., is faster) to start delivering data than a DDR3-800 CL7 memory. However, since both are “800 MHz” memories, both provide the exact same maximum theoretical transfer rate (6,400 MB/s). Also, it is important to remember that the DDR3 memory will consume less power than the DDR2.
When comparing modules with different clock rates, you need to do some math to be able to compare the latencies. Notice that we are talking about “clock cycles.” When the clock is higher, each clock cycle is shorter (i.e., shorter period). For example, on a DDR2-800 memory, each clock cycle takes 2.5 ns (1 ns = 0.000000001 second). The math is simple: period = 1 / frequency. (Note that you need to use the real clock, not the DDR clock on this formula. To make things easier, we compiled the reference table below.) The initial wait time of a DDR2-800 memory with CL 5 corresponds to 12.5 ns (2.5 ns x 5). Now suppose we have a DDR3-1333 memory with CL 7. With this memory, each clock cycle will have a period of 1.5 ns (see table below), so the total wait time (latency) will be 10.5 ns (1.5 ns x 7). Even though the latency of this DDR3 memory appears to be higher (7 vs. 5), the wait time is actually lower. So don’t go around thinking that DDR3 memories have worse latencies than DDR2 memories; it will depend on the clock rate you are talking about.
|DDR Clock||Real Clock||Clock Period|
|200 MHz||100 MHz||10 ns|
|266 MHz||133 MHz||7.5 ns|
|333 MHz||166 MHz||6 ns|
|400 MHz||200 MHz||5 ns|
|533 MHz||266 MHz||3.75 ns|
|666 MHz||333 MHz||3 ns|
|800 MHz||400 MHz||2.5 ns|
|1,066 MHz||533 MHz||1.875 ns|
|1,333 MHz||666 MHz||1.5 ns|
|1,600 MHz||800 MHz||1.25 ns|
Usually manufacturers announce the memory timings as a series of several numbers separated by a dash (e.g., 5-5-5-5, 7-10-10-10, etc.). The CAS latency is always the first number from these series. See the examples on Figures 3 and 4. If you want to know what the other numbers mean, please read our tutorial Understanding RAM Timings.