Search code examples
performancebenchmarkingfrequencyramlatency

Ram real time latency


I read somewhere that to find the real latency of the ram you can use the following rule :

1/((RAMspeed/2)/1000) x CL = True Latency in nanoseconds

ie for DDR1 with 400Mhz clock speed, is it logical to me to divide by 2 to get the FSB speed or the real bus speed which is 200Mhz in this case. So the rule above seems to be correct for the DDR1.

From the other side, DDR2 also doubles the freq of the bus in relation to the previous DDR1 generation (ie 4 bits per clock cycle) according the article "What Every Programmer Should Know About Memory".

So, in the case of a DDR2 with a 800Mhz clock speed, to find the "True Latency" the above rule should be accordingly changed to

1/((RAMspeed/4)/1000) x CL = True Latency in nanoseconds

Is that correct? Because in all the cases I read that the correct way is to take RAMspeed/2 no matter if it's DDR, DDR2, DDR3 or DDR4.

Which is the correct way to get the true latency?


Solution

  • Ok I found the answer.

    Everytime the manufacturers increased the memory clock speed they did it in a constant rate which always was the double (2x) of the FSB clock speed. ie

    MEM CLK      FSB
    -------------------
    DDR200      100 MHz    
    DDR266      133 MHz    
    DDR333      166 MHz
    DDR400      200 MHz
    DDR2-400    200 MHz
    DDR2-533    266 MHz
    DDR2-667    333 MHz
    DDR2-800    400 MHz
    DDR2-1066   533 MHz
    DDR3-800    400 MHz
    DDR3-1066   533 MHz
    DDR3-1333   666 MHz
    DDR3-1600   800 MHz
    

    So, the memory module has always the double speed of the FSB.