No announcement yet.

Lets talk about memory timings

  • Filter
  • Time
  • Show
Clear All
new posts

  • Lets talk about memory timings

    Not everyone knows the deal with memorys timings and how important they are, etc... I'm one of them ;)

    Can anyone provide a 'Memory Specs for Dummys' description of what the timings mean, and what you should look for? I've heard Athlon systems get the most out of higher latency memory, while Intels run best with lower latency...etc.... It can get all confusing.

    My system currently has an A64 3200+, with two 512mb OCZ 2,3,3,6 sticks... and if I wanted to upgrade to 2 GB, I'd either buy two more identical OCZ sticks, or replace all my memory with something better. Problem is, I don't quite know what better is with Athlon systems...

    Help. :)
    |TG|Syn - [defense] :row__572:

  • #2
    Re: Lets talk about memory timings

    The 4 timings (2,3,3,6 in your example) stand for (in order)

    CAS (Column Address Strobe)
    RAS to CAS delay (Row Address Strobe)
    Row Precharge Timing
    Min RAS Active Timing

    all are measured in clock cycles. This brings in the first question - you probably have seen memory advertised as 2.5, how on earth do you get a half clock cycle? Well the answer is that DDR RAM (double density) fires twice per clock cycle, once on the up wave, and once on the down wave. So 5 DDR RAM firings is equal to 2 and a half processor clock cycles. This is also why DDR memory that runs at 400Mhz works on an 800Mhz FSB.

    In order to access a data element the memory must first look across the rows, and then along the columns. This is the first two numbers, but the other way around. So for your RAM it takes 3 clock cycles to access the row, and then a further 2 to access the column, for a total of 5 clock cycles. After this the data is transferred, which with a burst length of 8 will take 4 clock cycles. This gives us a total of 9 clock cycles for accessing the memory and transferring the data.

    However you must also specify in the memory how long this row can be active for. The memory must set a minimum time to deactivate the row. So soon and the data isn't transferred (which leads to an unstable system). Too long and you are unnecesarily slowing your ram up, decreasing performance. Ideally of course the memory row should be active for the same time as it takes to find the row, find the column, and then transfer the data. So why 7 instead of 9? This is because rows must be charged to become active. This takes a fair amount of current, so again if you set this too short you can cause excessive surges.

    RAS - CAS - Data

    Min Time - Charge - RAS - CAS - Data


    However there are a load of additional things that happen with memory but they are the basics as far as timing is concerned. Obviously the lower the better in terms of performance. In fact your timings are not really 'true timings' as such. I use RAM with timings of 3-3-3-8 running at 400Mhz. Were I to voluntarily turn my memory speed down to 266Mhz I would be able to set the timings as 2-2-2-6. So as you see it is a question of qaulity. High quality RAM allows you to have tight timings at high speeds. At some point though you will have to make a comprimise. Overclockers can sometimes use very loose timings in order to get very fast memory speeds. But then is a timing of 3+3+4data vs 2+2+4data worth a speed drop of 400 to 266? Every system is unique. In general anything concerning memory that boosts performance will be met with a slight loss of stability, until the system crashes. Of course increasing the voltage through the modules can help, but then you don't want to fry your expensive gear.

    There are a few other pitfalls which involve specific memory and processor integration. AMD's for example won't take advantage of a CAS better than 2.5 - so no point purchasing it. I'm not 100% on this but I think it is to do with their memory controllers (which tend to be more pushy than intel ones). Even though intels can use a CAS of 2, the performance difference tends not to be that different as they work in different ways.

    As a final (non-timing issue) both AMD's and Intels are only able to utilize a maximum of 3.5Gb of memory. Even if your motherboard claims to be able to use 4Gb, the final .5Gb will not be utilized. I am in a similar situation to you, with 1Gb of memory in two 512Mb sticks. I am going to upgrade with 2Gb (2x1Gb sticks) for a total of 3Gb. Getting the same RAM timings is very important to stability. Otherwise you can get non-POST problems, and then even if you roll back you can have windows memory module paging issues so you don't get an OS boot, so you have to reinstall / install on 2nd HDD and... well you get the idea!

    As a disclaimer it has been a little while since I looked into this (prob over a year now), so newer technologies may have altered the above information. Hope it's all correct from memory there!


    • #3
      Re: Lets talk about memory timings

      ah, sweet write-up. Little tidbits like AMD systems not being able to utilize sticks running lower than CAS2.5 is great to know.
      Thanks for your reply. :D
      |TG|Syn - [defense] :row__572:




      TeamSpeak 3 Server


      Twitter Feed