memory - DDR3: Timings or command rate?

01
2014-05
  • Matt Holmes

    I've recently gone from a DDR2/LGA775 setup to a DDR3/LGA1155 setup. With DDR3, the timing numbers are quite a bit different than I am used to with DDR2.

    My question is: Which is going to be more important for overall system performance, timings or command rate? I can get a command rate of 1T with timings of 9-9-9-24, or I can get timings of 7-7-7-20, but bump my command rate to 2T. I know with DDR1 and DDR2, having a 1T command rate was considered very good if you could get it without completely hosing your timings.

    I have a 1600mhz rated RAM, but I am not running it at at that frequency. I am currently running it at the stock 1066mhz, with no real plans to change it, as I do a lot more random access on my computer than large sequential data sets. Unless I am misunderstanding DDR3 completely, I am going to get more out of decent timings and a good command rate than I am a high RAM frequency.

    So, 1T command rate or tighter timings?

    Some extra system info, in case it helps:

    Core i5-2500k
    MSI P67A-G43 (B3)
    8GB (2x4GB) Corsair Dominator DDR3 
    Windows 7 Pro 64-bit
    

    My system is used mostly for gaming and development tasks.

  • Answers
  • electricsauce

    This might help a little:

    TomsHardware Memory timing

    The graphs seem to indicate that higher ram frequency is more important than tighter timings.


  • Related Question

    memory - "Faster" RAM at lower clock speeds?
  • Questioner

    I've been kind of interested in the mechanics (er, electronics) of computer systems lately and after a bunch of research and looking at my computer's properties, I've come across something strange.

    Most people say faster RAM means, well, faster RAM. Sounds logical right? But after looking at my computer I noticed that my installed RAM is capable of being under clocked. It usually runs at 333 Mhz (DDR2 at 667) with a 5-5-5-15 timing. However one of the programs I'm using to look into my PC says that it is capable of working at 266 Mhz with 4-4-4-12 timing and 200 Mhz with 3-3-3-9 timing.

    The thing is, according to my calculations (simply the timing number divided by the clock frequency to get latency in seconds), 200 Mhz at 3-3-3-9 timing actually has better latency than 333 Mhz at 5-5-5-15 timing.

    So my question is: Is this in fact true that I can actually improve the performance of my system if a program I run is accessing the memory in a truly random fashion (as opposed to sequential read/writes) by under clocking the RAM and selecting a tighter timing or have I made an error somewhere?

    Edit: Just before you start arguing that I'm mistaken about RAM "speed", let me define what I mean by "faster". RAM has both latency and bandwidth. When I say "faster" I am strictly talking about latency and not bandwidth. In sequential read/writes, yes, bandwidth is much more important than latency (RAM operates in burst mode, which achieves it's maximum bandwidth by pumping sequential rows of data into CPU cache even if the CPU never asked for the extra stuff). In random access however, latency totally out rules bandwidth.


  • Related Answers
  • Racter

    So my question is: Is this in fact true that I can actually improve the performance of my system if a program I run is accessing the memory in a truly random fashion (as opposed to sequential read/writes) by under clocking the RAM and selecting a tighter timing or have I made an error somewhere?

    This is hard to answer as there are many variable to consider. In theory you should be able to improve performance of just those programs. This assumes that memory is highly fragmented or you are reading/writing small amounts of data. Also note that your overall system performace may degrade. Best thing to do is give it a try as it is a very simple test assuming your BIOS provides access to those settings.

  • user10547
  • Bigbio2002

    Typically, you'd gain more benefit by higher MHz vs. lower CAS timings. In a general case, even though your CAS timings may be increased to 5-5-5-15 from 4-4-4-12, for example, the extra 133MHz of clock speed gained will allow the memory to go through those CAS cycles in less time, thereby being "faster" in terms of random access.

    However, it seems that you've stumbled upon an edge case where the lower CAS timings take less time than the higher CAS timings, despite the lower clock speed. In theory, I suppose that a 100% random workload would perform better in this scenario if your math works out. But like others have said, there are other factors to consider (motherboard, etc.), and this would only apply for an entirely 100% random workload that only reads a single word at a time. For the case that you defined, the difference is marginal as it is. Anything aside from that hypothetical random workload would have less performance than if it were running with the RAM modules at a higher clock speed.

    In the real world, when there's a tradeoff, go for the higher MHz (or registered modules, or whatever applies to your need).