A custom PC configuration guide. © 2000,2001,2002,2004 by Jef Poskanzer.
There are two main types of memory in common use today.
This is fairly new as of mid-2004, and I don't have a picture yet.
Physically it looks very similar to DDR, except that since it has
240 pins instead of 184, the contacts are smaller and closer together.
Also the notch is in a slightly different place.
It is not compatible with DDR.
DDR or double data rate memory started to show up in 2001, and is now the standard. It comes in 184-pin DIMMs.
DDR memory comes in a number of different speeds:
Your motherboard's specs will indicate the speed it wants.
Using a higher-rated module will work, but it won't operate at
the higher speed, so it's merely a waste of money.
Here are a few older formats that may still be in use.
RAMBUS memory was used by some Intel systems starting around 2000. The modules are called RIMMs and have 184 pins like DDR DIMMs, but are not compatible.
RAMBUS was invented as a way to decrease the number of wires needed on the motherboard to handle memory slots. While SDRAM and DDR SDRAM use 64-bit data paths, RDRAM's interface is only 16 bits wide but runs at a higher rate. When first introduced it was astoundingly expensive - ten times more than regular memory - and benchmarks showed it was actually slower in some cases. It certainly wasn't as fast as it was supposed to be. Now, a couple years later, it's only about 1.5 times as expensive as DDR memory and the performance problems seem to have been ironed out. Still, even Intel is pulling back from it, so it will probably fade away except perhaps in specialty uses like video game consoles, where the lower trace count matters much more.
RDRAM memory comes in a number of different speeds:
Your motherboard's specs will indicate the speed it wants.
Also, be sure to read the section below on
interleaving,
since most RDRAM motherboards implement it.
The old standard, regular single-data-rate memory, a.k.a. PC66/PC100/PC133. It was introduced around 1996 and is now becoming obsolete. It comes in 168-pin DIMMs.
SDRAM memory comes in a number of different speeds:
Your motherboard's specs will indicate the speed it wants. Using a higher-rated module will work, but it won't operate at the higher speed. However, some shops are pricing PC100 modules higher than PC133, so you may actually be able to save a few pennies by using PC133 in a PC100 board.
All of these memory types come in ECC and non-ECC varieties. ECC stands for Error Correcting Code, which means there's an extra chip or two on each module to store check bits. ECC memory can correct single-bit errors, and detect mode multiple-bit errors. Not all motherboard chipsets implement ECC. If you put an ECC memory module into a motherboard which doesn't implement ECC, the memory will work fine but will not correct errors.
Because it requires extra chips it is slightly more expensive than regular memory. Is it worth it? Well, how often does memory get random bit errors? Before Silicon Valley learned to use ultra-pure materials, bit errors were fairly frequent, due to the slight radioactivity from trace impurities in the chip itself. These days that problem has been solved, and the main source of bit errors seems to be cosmic rays from outer space. Not much we can do about that, aside from putting our computers a couple miles underground. Studies on this issue estimate that cosmic rays cause bit errors maybe one or two times a year per gigabyte of memory. To me, that's easily often enough to spend a few extra bucks preventing it. On the other hand, if you run Windows and therefore are used to your machine mysteriously crashing every few days, then you probably won't even notice the few extra crashes from memory errors.
Some high-end motherboards require registered memory.
This doesn't mean it's listed with some Memory Board of Certification.
Rather, it means the memory module has registers on it, to buffer
the data before it goes to the motherboard.
This helps make high speed access more reliable, although
it ends up being very slightly slower than non-registered memory
(and substantially more expensive).
If your motherboard requires registered memory then you must use it,
if not then you don't want it.
Interleaving
Interleaving means that data gets stored with addresses alternating between two or even four banks of memory modules. This doubles (or quadruples) overall memory speed. The cost, of course, is doubling (or quadrupling) the memory access electronics on the motherboard. Because RDRAM has a narrower data path (so the extra electronics are cheaper), all but the earliest RDRAM motherboards do interleaving. Some very recent DDR SDRAM motherboards interleave as well, which is an exciting development.
This is solely a function of the motherboard, not the memory modules.
If your motherboard does interleaving, any memory modules it accepts
will be interleaved.
The only gotcha to keep in mind is that you must add memory modules
in pairs.
If you have an odd number of modules, the last one won't get used at all!
Some folks have been talking about DDR-II lately, a proposed follow-on to DDR. As near as I can figure, this will double the data path to 16 bits/chip, 128 bits/DIMM. A 100MHz DDR-II DIMM will have a total bandwidth of 25 Gbps or 3.2 GB/s, equivalent to the as-yet-undeployed 200MHz PC3200/DDR400 memory. But that's just the slowest speed; DDR-II with a core speed of 133MHz would do 34 Gbps or 4.3 GB/s; at 167MHz, 43 Gbps or 5.3 GB/s.
DDR-II will also require a new type of memory slot, with more pins (232). Motherboards with these slots probably won't show up before mid-2003. However, since DDR-II is basically on-chip interleaving and board makers are now doing motherboard-side interleaving themselves, they might just decide not to bother with DDR-II.
Memory is very cheap these days so you should get a lot of it. You can almost always make a system feel faster by adding memory up to the point that your typical mix of applications will fit entirely in core. After that point, adding memory does nothing; but what if next year you want to run something larger? So, figure out what you will typically be running on the system, and then double that.
Be sure to check the prices on all the available sizes of memory. You'll often find that getting two modules of size X/2 is slightly cheaper than getting a single size X module. The cheapest $/bit modules are often one size smaller than the current largest size. Most motherboards have three or four DIMM slots, which should be plenty. Here's a table with some recent memory prices from Pricewatch; the cheapest module of each type is highlighted, showing this effect:
1GB total | Module Size | ||
---|---|---|---|
256MB | 512MB | 1GB | |
PC2700 DDR SDRAM | 4 * $52 = $208 | 2 * $115 = $230 | |
PC2100 DDR SDRAM | 4 * $32 = $128 | 2 * $85 = $170 | 1 * $323 = $323 |
PC1600 DDR SDRAM | 4 * $44 = $176 | 2 * $97 = $194 | |
PC800 RDRAM | 4 * $75 = $300 | 2 * $179 = $358 | |
PC133 SDRAM | 4 * $27 = $108 | 2 * $55 = $110 |
One more tip: it's generally a bad idea to mix different speeds of memory. What usually happens is the system treats all the memory as if it was the slowest kind. Not fatal, just a waste of your good memory.
Finally, here are some photos of older types of memory modules.
If you have an old system you would like to add memory to, see if you can
match what you have against the pictures here.
More detailed information is available at
Crucial Technology's
site, and at the
DEW Associates Performance Center.
72-pin SIMM.
This was the standard desktop memory module prior to the PC66 standard,
in the late 486 and early Pentium era.
30-pin SIMM.
An older desktop memory style, from the 386 and 486 days.
200-pin SODIMM.
DDR memory for current laptops.
144-pin micro-DIMM.
Used in sub-notebook computers.
144-pin SODIMM.
Used in laptops.
72-pin SODIMM.
Used in older laptops.