What are the different types?
Buying memory can be a little confusing if you don't understand the terminology. Over the years, iterations of memory technology have appeared to go hand in hand with processor speed improvements. More RAM is always good, but faster RAM can also dramatically improve the speed of your PC.
A typical memory module, when you buy it, might be described something like: 512MB PC3200 DDR SDRAM DIMM. In this case, the "512MB" refers to the amount of memory the card has; "PC3200 DDR SDRAM" is the type and speed of the memory; and "DIMM" is the packaging.
We'll touch on the latter first. The packaging determines the type of slot the memory will fit into on your motherboard. It's generally not something you need to worry much about, since pretty much all modules now come in Dual Inline Memory Module (DIMM) format. Earlier memory often came in Single Inline Memory Module (SIMM) formats, and SIMM memory cards had to be installed in pairs.
The bigger concern is the type and speed of the memory. A given motherboard will only support RAM of a certain type and speed. You need to check your motherboard specifications to see what types of memory it supports. Here's a quick rundown of the types you'll commonly encounter:
SDRAM (Synchronous Dynamic Random Access Memory) is not found on new computers, but a significant installed base of computers still exists for which the only upgrade option is SDRAM.
SDRAM commonly comes in two speeds, denoted by a clock speed rating, in megahertz (MHz). You can purchase either 100MHz (PC100) or 133MHz (PC133) SDRAM. Much like processors, memory runs at a given number of cycles per second -- the more cycles, the faster the memory.
SDRAM synchronises with the clock speed of the computer's processor, and it's important to choose the right type of memory to go with your processor. It's often necessary to look up your processor documentation to find this out. Some processors require 100MHz memory, others need 133MHz. This is because CPUs run at a multiplier of the speed of the memory bus (ie, "front-side bus"). For instance, a 1.33GHz processor might run on a 133MHz memory bus (requiring PC133 memory) with a 10x multiplier.
It is possible to put PC100 memory in a PC133 system, but in order not to fry the memory, you'd have to lower the speed of the front-side bus (in the motherboard's BIOS settings, or with a jumper setting) to 100MHz - which would reduce, for instance, the aforementioned 1.33GHz processor to 1GHz.
Following SDRAM, memory vendors introduced Double Data-Rate SDRAM (DDR SDRAM), which is the most common type of memory available. DDR SDRAM allowed data to be sent on both the rising and falling edge of a clock cycling, therefore doubling, as the name implies, the overall speed at which the memory can deliver data to the processor.
The memory vendors also changed the nomenclature, from a clock speed rating to an abstract numbering system. Thus, we have, in ascending order of speed: PC1600, PC2100, PC2700 and PC3200 DDR SDRAM. The motherboard specifications will detail what kind of memory your system can handle. Most new computers support PC3200 DDR SDRAM. It's always advisable to get the fastest memory your system can handle.
Here's a breakdown of the bus speeds supported by the different memory types:
- PC1600 memory runs at a 200MHz data rate (100MHz clock)
- PC2100 memory runs at a 266MHz data rate (133MHz clock)
- PC2700 memory runs at a 333MHz data rate (166MHz clock)
- PC3200 memory runs at a 400MHz data rate (200MHz clock)
- PC3500 memory runs at a 434MHz data rate (217MHz clock)
- PC3700 memory runs at a 466MHz data rate (233MHz clock)
- PC4000 memory runs at a 500MHz data rate (250MHz clock)
- PC4200 memory runs at a 525MHz data rate (262.5MHz clock)
As shown above, memory does extend above the PC3200 specifications, but currently no CPU has an front-side bus running that high. The very high-end modules are only really necessary for serious PC enthusiasts who intend to overclock their CPU, and wish to gain a corresponding increase in memory performance.
Much as with SDRAM, it is possible to run DDR SDRAM on slower buses. If your motherboard only supports PC2100, for instance, you can still put PC3200 memory in there and run it at 266MHz. It won't perform any better than PC2100, but if you ever upgraded your PC to one that supports PC3200 you could move the memory across readily.
A new development, DDR2 SDRAM is just now becoming available at reasonable prices. Few motherboards support it yet (and, as of June 2005, only some Intel motherboards and processors have the potential for a faster front-side bus), but that is likely to change in the near future. AMD has yet to produce chips that support DDR2, but will undoubtedly do so this year.
The name might imply that DDR2 goes twice as fast as DDR, however that's not the case. DDR2 simply supports faster clock speeds than are supported by the DDR specification. DDR2 also has other tweaks and additions to make it work faster and more reliably than a DDR memory module, and it uses less power.
In terms of clock speeds, DDR2 picks up where DDR leaves off. Unlike DDR, most DDR2 memory is advertised by its data rate, in MHz.
At the present, there are three types of DDR2 available:
• DDR2 400MHz • DDR2 533MHz • DDR2 667MHz
Error correcting code (ECC) memory is not a unique type of memory -- it's an added feature of some memory cards. ECC RAM has additional circuitry that tests and corrects the accuracy of data going to and from the memory.
ECC RAM is largely designed for mission critical applications, such as company servers, where data accuracy is paramount. It costs considerably more than regular DDR SDRAM -- sometimes more than four times as much - so it is used only rarely in consumer systems.
If you're building a personal PC, ECC memory is not required or recommended. In any case, DDR2 memory, with its reduction in signal noise, promises to deliver more reliable data.
It's possible to mix and match memory types, as long as they're all supported by your motherboard. The caveat is that you're going to end up in a lowest-common denominator situation -- all the memory will run at the speed of the slowest memory module in your collection. Putting PC2700 DDR in with PC3200 DDR will result in both the modules running at PC2700 speed, for instance.