The MemoryC Guide to Memory
Setting up a new processor is as easy as popping it in the socket and pressing the power button, but memory is a very different beast. To get the best out of it you will need to venture into the BIOS of your motherboard and manually set a variety of parameters to their optimal values. By following our in-depth guide, you should be able to correctly set up your memory, tweak it to the best settings and maximise the performance benefits of your new purchase.
Why are there two ways of naming DDR?
Many people find choosing the right kind of memory for their PC tricky because of the confusing mix of nomenclature. Two different standards are widely used; the first of which refers to the speed at which the module runs, and the second the peak bandwidth it is capable of delivering under perfect conditions. Back in the days of single data rate (SDR) DIMMs, all modules were simply named after their speed, so PC-100 ran at 100MHz, PC-133 at 133MHz and so on. In the early Pentium 4 era however, Intel started using a different kind of memory module – RD-RAM - which worked in a rather different way and ran at a much higher frequency. This new kind of memory didn’t provide the vast performance increase suggested by its clock speed however, so when DDR was released as a competing standard, its backers didn’t want it to lose out just because it had a smaller number on the box. For this reason, DDR was named after its peak bandwidth rather than its speed. This trend has continued throughout the evolution of the product, so with each new release we have even more nomenclature to get our heads around!
There is a simple way of calculating a memory module’s operating speed from its bandwidth name by working back from how the peak bandwidth rating is calculated in the first place.
(Operating Speed) x (64-bit Bus) x (1/8 bytes per bit) = Peak Theoretical Bandwidth in MB/s
Effective Operating speed = Peak Theoretical Bandwidth / 64 x 0.125
Effective Operating speed = Peak Theoretical Bandwidth / 8
If we take PC2-6400 as an example;
6400 / 8 = 800MHz
You will notice that if you work out the exact operating speeds from the bandwidth names above that some of them have been rounded up or down slightly just to keep the memory names nice and clean! Afterall, PC2-8500 is much more memorable than PC2-8528!
Even More Confusion: Effective Vs Actual Operating Speeds
In reality, even the clock speed method of naming these modules is not truly accurate, as the actual operating frequency of all DDR modules is half of the quoted speed. This is because DDR memory transfers its data on both the rising and falling edge of each clock cycle, meaning for a given MHz, DDR will transfer twice as much data as SDR memory. For ease of use we simply use its effective clock frequency, i.e. PC2-6400 really runs at 400MHz, not 800MHz but because it’s DDR, delivers the same performance as SDR running twice as fast.
Not Just Clock Speed
Not all memory modules of the same speed are created equal. In addition to the clock frequency, there are a number of other specifications that need to be carefully looked at as they also greatly influence performance. These are widely known as latencies, and refer to the speed at which various auxiliary circuits within a module run. In all cases a lower latency results in better performance, with tighter timings often bringing more of a performance boost to a system than a bump in clock speed. A module’s latency rating is often described in shorthand just by quoting its CAS latency, but make sure you read the small print as there are actually four important timings.
(In DDR2 usually 3, 4 or 5) = Lower gives significant performance increase
(In DDR2 usually 3, 4 or 5) = Lower gives significant performance increase
(In DDR2 usually 2, 3 or 4) = Lower gives very small performance increase
(In DDR2 usually 12, 15 or 18) = Lower gives very small performance increase
The rating for each of these timings is quoted in the order shown above, so a module with “5-5-5-15” written in its specification will run at a CAS of 5, a tRCD of 5, a tRP of 5 and a tRAS of 15. Entry-level modules of DDR2 memory typically run at these timings, with modules sporting tighter latencies attracting a price premium. PC2-6400 modules with 4-4-4-12 timings are becoming increasingly popular and normally only cost a few pounds extra per kit. Low latency modules running at faster speeds, such as CAS 4 kits of PC2-8500 are much rarer and more expensive, as creating memory with both a high clock speed and low latency is a difficult challenge for manufacturers. DDR3 memory has much slacker timings than DDR2, with aggressive kits sporting CAS latencies of 7 and cheaper kits being CAS 10 or even higher. Obviously this is more than made up for by a much higher operating speed, but DDR3 running at the same speed as DDR2 will be slower, just as running DDR2 at DDR speeds when it was first released was slower.
Another timing that is not as commonly discussed as the four above is the command rate. The command rate determines whether a chip select can be executed in a single clock or whether it needs two or more clocks. Typical DDR2 memory runs at a command rate of 2T, but a 1T command rate can yield as much of a gain in performance as any other adjustment. With 2GB kits a 1T command rate is usually fairly obtainable if you order a high end kit. 4GB kits are much more difficult to run at 1T and you normally have to reduce the sticks to 2T. DDR3 kits are more amenable to running at a 1T command rate and most decent DDR3 4GB kits will allow the most aggressive setting to be used. In all cases it is more difficult to use a command rate at 1T the faster the modules are running.
Almost all motherboards use dual channel memory technology – a way of effectively increasing its performance by writing to more than one stick of memory at the same time. To take advantage of this, memory needs to be installed in dual channel kits. You also need to make sure you install your memory in the correct slots, which are normally colour coded for ease of use. Whilst most dual channel motherboards do work in single channel mode, you will lose much of your potential memory performance by having just one slot populated.
All memory modules have a small chip on them called the SPD or “Serial Presence Detect” it contains information about the module that helps the motherboard to set the correct settings in order to retain stability. Some of the most important settings stored in the SPD refer to the aforementioned memory timings, and by default all motherboards will set the memory timings to those requested by the SPD. Fortunately, these values can be overridden in the BIOS and set manually. This is useful for increasing performance, as often memory is capable of operating significantly faster than the SPD suggests. By using a less aggressive SPD setting, memory manufacturers can maximise the compatibility of their modules on initial booting.
Setting Up Your Memory
On installing new memory in your machine, proceed immediately to the BIOS. The memory settings are usually either in the global tweaking/overclocking menu of enthusiast boards, or in the advanced chipset features in mainstream variants. In nearly all cases you will only get the best out of your RAM by setting it up manually, as the automatic setting is deliberately set to very conservative settings to maximise compatibility and ensure you can get into the BIOS without any issues. One of the main reasons for this is that a lot of the better memory around requires a higher voltage than the original specifications state. It is not uncommon to see CAS 4 kits of PC2-6400 that require a voltage of 2.1V of more, so before setting the memory to the tighter settings, this will need to be set.