You are on page 1of 1

Introduction

In this tutorial, we will explore the main technical differences between DDR, DDR2 and DDR3 memories. Enjoy!
Before we start going into the specifics, you need to know that DDR, DDR2, and DDR3 are based on SDRAM (Synchronous Dynamic Random Access
Memory) design, meaning that they use a clock signal to synchronize things. DDR stands for Double Data Rate. Memories from this category transfer two
data chunks per clock cycle. Translation: They achieve double the performance of memories without this feature running at the same clock rate (namely
SDRAM memories, which are not available for PCs anymore).
Because of this feature, these memories are labeled with double the real maximum clock rate they can operate. For example, DDR2-800 memories work at
400 MHz, DDR2-1066 and DDR3-1066 memories work at 533 MHz, DDR3-1333 memories work at 666.6 MHz, and so on.

Figure
1: Clock signal and DDR mode
It is very important to understand that these clock rates are the maximum the memory can officially use. This does not, by any means, guarantee that the
memory will work at those speeds automatically. For example, if you install DDR2-1066 memories on a computer that can only (or it is wrongly configured
to) access the memory subsystem at 400 MHz (800 MHz DDR), the memories will be accessed at 400 MHz (800 MHz DDR) and not at 533 MHz (1,066 MHz
DDR). This happens because the clock signal is provided by the memory controller, a circuit that is located outside the memory (in the north bridge chip from
the motherboard or embedded inside the CPU, depending on the system).
This naming system DDRx-yyyy (where x is the technology generation and yyyy is the DDR clock rate), in theory, is used only for the memory chips. The
memory modules the little printed circuit boards to where the memory chips are soldered use a different naming system: PCx-zzzz, where x is the
technology generation and zzzz is the maximum theoretical transfer rate (a.k.a. maximum bandwidth). This number tells us how many bytes can be
transferred per second between the memory controller and the memory module, assuming that data will be transferred on every single clock pulse. This
math is easily done by multiplying the DDR clock in MHz by eight. (Actually, the real math is done by multiplying by 64 and then dividing by eight; since 64 / 8
= 8, we can simply multiply by eight to achieve the same result.) This will give us the maximum theoretical transfer rate in MB/s (megabytes per second). For
example, DDR2-800 memories have a maximum theoretical transfer rate of 6,400 MB/s (800 x 8), and memory modules using this kind of memory are called
PC2-6400. In some cases, the number is rounded off. For example, DDR3-1333 memories have a maximum theoretical transfer rate of 10,666
MB/s. Memory modules using this kind of memory are called PC3-10666 or PC3-10600, depending on the manufacturer.
It is really important to understand that these numbers are maximum theoretical numbers, and they are never reached. This occurs because for the math, we
are assuming that the memory will be sending data to the memory controller every single clock cycle, which simply doesnt happen. The memory controller
and the memory need to exchange commands (for example, a command instructing the memory to deliver data stored at a given position), and during such
time the memory wont be transferring data.
Now that you know the basics about DDR memories, lets talk about the specifics.

You might also like