- Computers & Software»
- Computer Hardware
Everything you need to know about system memory
This Hub is intended to explain what system memory is and what the differences are between the old DDR the newer DDR2 and the newest DDR3 memory modules. Also how memory works and what its specifications mean. This hardware part is one of the most important pieces that determine the performance of a pc. The more system memory you have the smoother your pc will run, because programs are stored into it. Also the term MHz will be used a lot in this Hub. One MHz is in fact 1 million cycles per second. It is used with processors and memory and those computer instructions need a fixed amount of cycles. Therefore the “instructions per second” for memory is determined by the amount of instructions per second it can execute and is called “clock speed”.
What is DDR
Before we go into any specifications first off let’s talk about DDR, DDR2 and DDR3. DDR means Double Data Rate and is based on SDRAM (Synchronous Dynamic Random Acces Memory. SDRAM uses a clock signal to synchronize things and DDR doubles the “clock cycle”. Where SDRAM uses 1 data chunk per clock DDR uses 2 data chunks per clock. So, without having to raise the clock speed you get double the performance because every clock signal produces 2 data chunks instead of 1.
This DDR technology is the standard and SDRAM is not available anymore. So I’ll leave SDRAM out of the picture because it’s obsolete. This very handy feature is also used to label memory modules, for instance DDR2-800 MHz memory work at 400 MHz, a DDR2-1066 MHz at 533 MHz and DDR3-1333 MHz runs really on 666.6 MHz.
Keep in mind that these clock rates are the maximum the memory can officially support. There is no guarantee that it will work at that speed automatically. If you configure the memory incorrect or use DDR2-1066 MHz in a motherboard that only supports up to DDR2-800 the memory will be used at DDR2-800 MHz instead of DDR2-1066 MHz. Because the clock signal is applied by the memory controller on the motherboard Northbridge, or with newer processors embedded on the CPU itself this occurs. So memory is very depended on the motherboard and processor it used!
DDR Naming System
DDR memory is rated by a naming schema DDRx-YYYY, the “X” represents the generation of the technology. The “YYYY” represents the DDR clock speed and this schema is used for memory chips like DDR3-1333. The DDR3 means generation 3 (DDR3) and the 1333 means the clockspeed 1333 MHz.
Memory modules are the printed little circuit boards that are soldered chips where the memory is and use a different naming system. PCx-ZZZZ is the naming schema and the “X” represents the generation of the technology. The ZZZZ represents the “Maximum Theoretical Transfer Rate” (maximum bandwidth), this number indicates how many maximum bytes could be transferred each second between the memory controller and those memory modules. So “DDR3-1333” memory is named as a memory module “PC3-10800”
Maximum Theoretical Transfer Rate
To determine the “maximum theoretical transfer rate” you have to do a little math which is done by taking the DDR clock speed (MHz) and multiply it by eight. For instance DDR3-1333 has a "maximum theoretical transfer rate" of 1333 x 8 = 10.666 MB/s and therefore DDR3-1333 is also called PC3-10666/1333. Some manufacturers call it PC3-10666 and others PC3-10600. To make on other example DDR2-1066 is also called PC2-8500 because 1066 x 8 = 8533 MB/s. Most manufacturers write this memory as PC2-8500 and not PC2-8533, they round this figure down.
Those “maximum theoretical transfer rates” will never be reached because of the math. The math assumes (which won’t happen) that the memory sends data to a memory controller every single clock cycle. Because the memory and the memory controller exchange commands they won’t transfer any data during those times.
These are the basic principles of DDR memory so now we can talk about the specifics.
The main difference is the highest transfer rate that can be reached if you compaire DDR, DDR2 and DDR3. On the right side there is a list of each generation with its standard common speeds.
M.T.R. = Maximum Transfer Rate.
There are also other speeds than the most common speeds, and they are usually manufactured for overclockers.
Memory runs on voltage for it operation. The latest DDR3 memory runs on lower voltage then DDR2, and DDR2 runs on a lower voltage compared to DDR. So DDR memory consumes the most power followed by DDR2 and then DDR3.
Every generation DDR memory has its default memory voltage. DDR is fed with 2.5V, DDR2 has a default voltage of 1.8V and DDR3 has a default of 1.5/1.6V. These are the most common voltages, but there are memory modules that require a bit more because they don’t run on default clock speeds. In the near future there will probably be memory produces that only require 1.35V.
The time a memory controller has to wait between each request of data and when it actually receives it is called “latency”. It is also called “CAS” (Column Address Strobe) or CL and this is indicated in the amount of "clock cycles”. For instance if memory has a CAS 3 this means that it takes 3 clock cycles to wait for a memory controller for data to be delivered after requests are made. In the case memory is CAS 5 the memory controller has to wait 5 clock cycles which is longer then CAS 3. So performance wise it is best to choice memory modules with a CAS that is as low as possible. On the right side you can click on the picture to have a graphical representation of latency.
Latency (DDR vs DDR2 vs DDR3)
DDR has the lowest latency (CAS 2), DDR2 has a bit higher latency and DDR3 a considerable higher latency. Also DDR2 and DDR3 modules have AL (Additional Latency) which is an extra parameter also sometimes named A. So DDR2 and DDR3 modules have a total latency combined of CAS+AL. Because almost every DDR2 and DDR3 has an AL of 0 this isn’t a problem concerning any additional latency. To the right you see a list of latencies that are most common.
So what all this means is DDR3 modules have a greater delay when you compare it to DDR2 modules. Each clock cycle when it starts delivery of data DDR3 takes (more or less) 2 clock cycles (2 CAS) more then DDR2. Also DDR2 takes about 1,5 to 2 CAS longer compared to DDR Modules. Although is takes more time (latency) it doesn’t mean that you have to wait longer necessarily, this might be the case when you have similar memories operating at the same exact clock rate speed.
So if you have DDR2-1066 CAS 5 module that has a delay less (so it’s faster) to begin sending data then a module that is a DDR2-1066 CAS 7. Because both memory modules run on 1066MHz they both have the same exact maximum theoretical transfer rate (8,533 MB/s). Also very important you have to remember the power consumption is less with DDR3 compared to DDR2.
If you want to compare memory modules with different clock speeds there is a math to compare the latency differences. “Clock cycles” is the thing we are talking about here. If the clock speed is higher, that means a shorter clock cycle. If we take DDR2-1066 memory again every clock cycle takes about 2.5 ns (nanosecond (1 ns = 0.000000001 second)). So the math is like this: period = 1 / frequency and you have to use the real “clock speed” so don’t use the DDR clock when calculating. On the right side you see a table for reference.
When you have DDR2-800 that has CAS 5 this corresponds to a total 12.5 ns (5 x 2.5 ns). If you have DDR3-1333 memory module with a CAS of 7 then every clock cycle has a period of 1.5 ns, which will make a total waiting time (latency) of 10.5 ns (7 x 1.5 ns). See reference table for the single clock period latency. Although the latency of DDR3 appears higher (5 vs 7), it’s in fact slower in waiting time. It all depends on the clock speed, and not necessarily on slower latencies when you compare DDR2 and DDR3 memory. So if you have more MHz and a higher latency this will mean that you have a lower waiting time (latency) totally, compared to slower memory that has a lower and better latency.
Memory modules are announced with memory timings comprised of a set of numbers with dashes separating them (like 5-5-5-15 or 5-10-10-10). CAS (latency) is represented by the first number in this range of numbers. On the right side you can click on the picture to view how memory timings are listed on Corsair memory modules.
The other numbers are also pretty important but are not in this Hub. I’ll dedicate another Hub to go into those details!
Inside tiny little capacitors they form an array which is used to store data in “dynamic memory”. Those arrays on DDR memory have 2 bits of data each “clock cycle” that is transferred to the I/O internal buffer of the memory, also know as 2-bit prefetch. When DDR2 was manufactured they increase this to 4 bits, and with DDR3 they raise this to 8 bits. Because of this optimization trick DDR3 is allowed to run at higher clock rate speed compared to DDR2, and therefore DDR2 can run on higher clock rate speeds than DDR.
So far I have been talking about clock rate speeds which are externally to the I/O memory interface from the memory. The memory controller interacts and communicates with the memory is external but not internally because that works different.
I am going to compare DDR-400, DDR2-400 and DDR3-400 memory chips to better understand the internal process. For the record DDR3-400 memory doesn’t exist, but for this case we’ll just pretend. The external clock rate speed of those 3 memory chips runs at 200 MHz and transfer with 2 data per clock cycle. So the external speed performance is achieved as if they work at 400 MHz but the memory chips are transferring 2 bits between the memory and its I/O buffer. Because the I/O interface has to match the speed of the datapath it runs on 200 MHz (2 x 200 MHz = 400 MHz). Because DDR2 has an increase from 2 to 4 bits on the datapath its clock rate speed can operate at half the speed to obtain the same performance (4 bits = 4 x 100 MHz x 4 = 400 MHz). Also this applies to DDR3 because they raised the datapath again from 4 to 8 bits DDR3 can operate at half the clock rate speed compared to DDR2 (8 x 50 MHz = 400 MHz).
So what this means is because they double the internal datapath with the introduction of each new generation it is likely that memory chips will have double the maximum clock rate speed compared to the previous generation. It doesn’t matter if you have DDR-400, DDR2-800 or DDR3-1600 memory because internally it’s the exact same clock rate speed (200 MHz).
Resistive termination resides on the motherboard with DDR memory, with DDR 2 and 3 it’s located inside of the memory chip. This technique is also called ODT (On-Die Termination).
ODT makes signals cleaner and on the right side you can click on the picture to see how a signal reaches a memory chip. On the left side of the picture you see a signal with motherboard termination. On the right side you see a signal with termination that uses “on-die termination” (ODT) that are located not on the motherboard but on the DDR2/3 memory itself. When you compare the signals on the left and right side you can clearly see that the signal on the right side is much cleaner and also more stable compared to the signal on the left side. The yellow squire you can use to compare the difference in time frame. This time frame represents the time it takes to read or write a data piece. ODT allows higher clock rate speed to be reached because memory can read or write chunks of date and has more time for these tasks because the “time frame” got wider.
Physical DDR Appearance
Finally we talk about the differences in physical appearance. The memory module you buy has already memory chips soldered on top of a circuit board that is printed. The physical differences are between the different generations of DDR. It’s not possible technically nor are the pins aligned to put a DDR3 module inside a DDR2 memory slot. You cannot upgrade from DDR 2 to 3 unless you replace the motherboard and probably the processor to, it is possible if your motherboard has support for both DDR2 and DDR3. Also you need a processor that has an embedded memory controller inside it, like all recent Intel and AMD manufacturers have. Also DDR cannot be replaced with DDR2 so the same principle applies.
Also there is a difference in the number of pins between the memory generations. DDR has 184 pins and DDR 2/3 have 240 pins. Although DDR 2 and 3 have the same number of pins you can’t interchange them, because of the position of the notch which is different.
Memory Chip Packaging
There is also a difference in the way memory is packaged. DDR usually uses TSOP (Thin Small-Outline Package) while DDR2 and 3 memory chips use BGA (Ball Grid Array). There is one exception to DDR because Kingston made DDR memory with BGA packaging. The above picture shows DDR module with TSOP chip packaging and the one below shows a DDR2 module with BGA chip packaging.
- DDR stands for Double Data Rate.
- DDR naming schema is DDRx-YYYY the “X” is the generation and the YYYY the DDR clock speed.
- Memory module naming schema is PCx-ZZZZ the “X” represents the generation and the ZZZZ the “Maximum Theoretical Transfer Rate”.
- Main differences between DDR, DDR2 and DDR3 are the highest transfer rate.
- DDR, DDR2 and DDR3 run on different default voltages.
- Memory Latency is the time a memory controller has to wait between each request of data and the receiving of data.
- DDR, DDR2 and DDR3 have different latencies, DDR3 has the highest then DDR2 then DDR.
- Memory Timings give an insight in what the specifications are of the memory module and what to expect performance wise.
- Memory Prefetch is sort of a memory buffer for the “clock cycles” between the memory and the I/O internal buffer.
- Resistive Termination in the form of ODT (On-Die Termination) makes signals clearer and allows higher clock rate speeds to be possible.
- DDR, DDR2 and DDR3 have different amount of connection pins. DDR has 184 pins and DDR2/3 has 240 of them.
- Memory Chip Packaging is the way memory chips are packed on the circuit boards. DDR uses TSOP (Thin Small-Outline Package) and DDR 2 and 3 use BGA (Ball Grid Array).