RAM Questions (DDR3 vs 4, CAS Latency)

skribs

Distinguished
Nov 22, 2011
22
0
18,520
Okay, this isn't a "I want to know what RAM to get thread." I know how I will decide what RAM to get (unless I learn something that vastly changes my opinion in the answers here). However, in looking to answer that question, I came up with a couple other questions I haven't seen answered. Granted, I am terrible at research, so that might be part of the problem. So this thread is more to satisfy my curiosity than for any practical use.

Question 1: What is the difference between DDR3 and DDR4?
Looking on Newegg, I see DDR3 2133 RAM at anywhere from 8 to 11 CAS Latency, and I see DDR4 2133 RAM at 15 latency. It would seem to me that DDR3 would be better, unless of course I'm missing something (which I assume I am).

Question 2: What exactly is the difference between low speed, low latency and high speed, high latency RAM?

For example, if I had 2 sticks of RAM, one running at 1333 MHz with a latency of 6, and one running at 2666 MHz with a latency of 12, what would the overall difference be?
I've heard both that you should take the frequency and divide it by the latency to figure out the actual speed (sometimes with other constants involved in the formula, but as those are the only variables that's all I looked at in the comparisons), but also that "which one you want depends on whether the operation is dependent upon frequency or latency." I don't really know what operations are dependent on either, so I don't know what this means.

Any help in increasing my understanding would be great.
 
Solution


1. DDR3 is for the most part just a logical extension to DDR2. There are a number of improvements such as a wider prefetch (8n rather than 4n) and on-die-termination, but internally it's very much the same. Electrically, DDR3 consumes much less power than DDR2 and is much friendly from an electrical loading perspective so this is where it's biggest advantages lay.

DDR4 is quite different internally than DDR3. It includes several design techniques used in GDDR5 (which is itself based off of DDR3), namely bank groups, CRC for the data bus, and Parity command bus. There's also some new tricks such as finer grained on-die-termination control. This is all shored up by substantially lower power draw and higher native memory density.

2. When coupled with a well designed memory controller, data rate trumps latency almost always. DDR4 is brand new and there's only one consumer platform that supports it so it'll be quite some time before it's possible to gather empirical evidence of how DDR3 and DDR4 compare to each other in a like platform (if we ever get this) but even when running as close a comparison as possible DDR4 tends to win out.

DRAM latency is primarily a matter of scheduling operations, not performance. Memory controllers interleave commands to multiple memory banks to keep the bus as busy as possible and a good memory controller with lots of work to do can keep the bus(es) busy nearly 100% of the time without significant regard to latency considerations. The memory controller can issue a command to one bank on the active rank and then immediately switch to a different bank on that same rank to issue another command, and then repeat the process before returning to the original bank to process the result.

One of the consequences of newer generations of DRAM is that it increases the electrical complexity of the device. Process shrinks have complemented this, but when faced between choosing a lower latency DRAM design, a higher throughput DRAM design, and a higher density DRAM design the market has consistently chosen higher density / higher throughput design so latency hasn't been given much thought by DRAM manufacturers. If DDR4 were to follow after DDR3 like DDR3 followed after DDR2 then it would have sixteen independent DRAM banks each with a sixteen word prefetch, and an 8:1 IO:Core clock ratio.
DDR4 does adopt an 8:1 IO:Core clock ratio and it does adopt sixteen banks but these banks are not independent (they are organized into four bank groups with four banks each) and the prefetch remains at eight words (not least of all because a sixteen word prefetch wouldn't line up nicely with the common 64 byte cache block size). This constrains the horizontal scaling of the DDR4 IO interface to something reasonable while allowing for the planned vertical scaling and reducing power consumption relative to DDR3.

There are plenty of benchmarks showing small but statistically noticeable performance benefits to using higher data rate memory, there are no statistically sound benchmarks showing any benefit to using lower latency memory that I am aware of (I am aware of several benchmarks showing a difference, but these have major flaws in methodology).
In other words, DDR3-2133 will almost always trump DDR3-1333 regardless of what the specific timings are. However, DDR3-2133 CAS 9 compared to DDR3-2133 CAS 11 has no statistically noticeable advantage in any well conducted test. The small handful of added nanoseconds is easily masked by the design of the microprocessor and its cache architecture.

TL'DR: Don't believe everything that you hear on the internet.
 
Solution
That actually does change how I look at it...

For posterity's sake, this is what my plan was to pick out my RAM when I build my next system (and how I've basically done it):
Step 1: Pick a processor
Step 2: Pick a motherboard of that processor's socket that has enough slots and ports for all the other junk I want
Step 3: Look at the ratings that Motherboard has for RAM (i.e. 2133 (OC), 1866 (OC), 1600, 1333)
Step 4: Take the highest rating without OC (in the above example, 1600) and pick the lowest latency that isn't prohibitively expensive
Step 5: Get as much as I can afford of the above*

I plan on building my next system later in the year, so I wanted a thought process rather than a specific product in mind, so I could plan ahead.

However, I may change my thought process now based on everything I've learned to either:
A) Just getting a large amount of RAM for as cheap as possible with no consideration to speed*
B) Throwing cost to the wind and looking for the highest speed, with less (but still somewhat) concern for the latency

I may still go with my original plan. I'm finicky like that.

*Obviously I would get quality RAM from one of a few manufacturers, and not just the cheapest brand I could find.