thefoxer :
Quaddro :
Speed and latency is the main factor to determine how fast is your memory.
For example:
DDR3 1600 CL 6 vs DDR3 2000 CL 9.
To put it on simple maths:
The frequency is expressed in Hertz, which means "cycles per second". So, the DDR3 2000 will perform 2000 cycles a second while the DDR3 1600 will do, well, 1600.
The CAS latency is given in cycles. So, a CAS9 RAM will take 9 cycles to respond and the CAS6, 6 cycles.
Now putting it together: the DDR3 2000 CAS9 will take 9/2000 seconds, which is equal to 0,0045 seconds, to respond while the DDR3 1600 CAS 6 will take 6/1600, which is equal to 0,0038 seconds, to respond. Thus, the 1600 one is faster.
Ok that makes a lot of sense, thanks! Now why are there 4 numbers for the CAS latency though? What do the gaps between the 2nd and 3rd number mean compared to the lower first number?
It may seem like it makes sense but most of what he wrote is incorrect.
DDR3-2133 is a memory module rated for a transfer rate of 2133 megabits per second on each IO pin. Data on the IO pin is exchanged on both the rising edge and the falling edge of the DRAM IO bus reference clock. Thus, a module rated for DDR3-2133 has an IO bus frequency of 1066Mhz, not 2133Mhz. The measure of IO pin transfer rate is in transfers per second, not cycles per second, so a DDR transfer rate of 2133MT/s has a bus frequency of 1066Mhz. The same holds true for DDR, DDR2, and DDR3.
The actual DRAM modules themselves operate at an even slower rate. What do DDR-400, DDR2-800, and DDR3-1600 all have in common? The core memory clock is 200Mhz.
DDR-400 has an IO bus frequency of 200Mhz, and a 1:1 ratio between the IO bus reference clock and the core memory clock.
DDR2-800 has an IO bus frequency of 400Mhz, and a 2:1 ratio between the IO bus reference clock and the core memory clock.
DDR3-1600 has an IO bus frequency of 800Mhz, and a 4:1 ratio between the IO bus reference clock and the core memory clock.
This pattern is an example of one of the most misunderstood aspects of modern DRAM. It has gotten wider and deeper -- which allows for greater capacity and larger prefetch buffers -- not faster which allows for lower latency. Latency measured in real time (nanoseconds) hasn't changed significantly over the past decade.
The most commonly cited DRAM performance metric aside from the IO bus transfer rate is the CAS latency. The CAS latency is the duration (in clock cycles) that it takes for the DRAM module performing a read operation to register a column address and produce a stable output on the IO pins. This delay is measured in IO bus clock cycles, which as noted above scale between generations. This is why DDR2-800C (CL4) has the same first word delay of 10ns as DDR3-1600G (CL8). Where DDR3 really improves over its predecessors is in fourth and eighth word delays, this is accomplished through a deeper prefetch buffer (outside of the scope of this explanation).
So it should be no surprise then that DDR3-2133 with CAS 9 is faster than DDR3-1600 with CAS9. This is nice, but somewhat immaterial. Why is that?
x86 memory channels data paths are 64 bits wide, and the DRAM modules are arranged to fit this. If you look at a DRAM module without the heatsink attached (eg,
this one) you'll see 8 integrated circuits on one side of the PCB. Each of these ICs is an 8 bit DRAM module and they are all tied together with common command and address lines, but with data lines formed into a 64 bit bus. Arranged together, they form what is called a rank. DIMMs that have 8 modules on each side arranged into two ranks are called dual-rank. Servers often use compact modules which have 4 or even 8 ranks crammed onto a single PCB for extreme amounts of memory.
The memory controller can only access one
rank at a time, even if two or more ranks are installed in the channel on one or more DIMMs. However, the individual DRAM chips themselves are broken down into individual
banks, each of which can be active and working independently at the same time. DDR3 modules have 8 individual banks on each IC. So, even with high DRAM latencies, the DRAM controller can keep the entire channel busy nearly 100% of the time simply by switching to another bank after a command has been issued, and switching back when the output is ready. Thus, high speed memory almost always outperforms low latency memory; this is especially true when high speed memory is accompanied by low latency (often at the cost of higher supply voltage).
This does not necessarily mean that DDR3-2133 is necessary or even a good idea. I run 32GiB of it in my PC but it requires some extra tweaking to obtain stability.
I hope that this answered your question