Hardware

SolutionBase: Sorting out the differences in system RAM

With the proliferation of different types of RAM available for computers today, it's next to impossible to remember all of the different memory types you can choose from. Here's a quick guide to what's available and how to tell them apart.

Over the years, IT pros have seen different technologies come and go—and some that just stubbornly refuse to die (floppy drives, anyone?). One area that's changed drastically over the years is memory. From SIMMs to DIMMs to EDO to Rambus, RAM has come in all shapes and sizes and is definitely not a "one size fits all" venture. In this article, I'll go over the different kinds of RAM that has made its way into systems over the years. If you find a stick of RAM laying somewhere in a drawer, or need to understand just what makes DDR and DDR2 RAM different, you'll have a reference.

Terms you should know

Before embarking on a memory discussion, you should be aware of a few terms that will pop up during your reading to make it easier to follow:

  • Parity: With parity memory, a bit is added to a data stream to check for error during the transmission. This extra bit results in parity-enabled RAM being slightly larger than non-parity RAM. For example, a 128MB RAM module with parity actually has 144MB of RAM onboard to support this extra parity bit.
  • ECC (Error Checking and Correction): ECC is a type of parity checking in which a bit is added to a data stream to check for errors. While this could result in a very small performance hit, it increases the overall reliability of the system.
  • Non-parity: Usually used in lower end applications (i.e. not servers), non-parity RAM (meaning without parity and without ECC) doesn't perform additional error checking on data passing through the module.
  • Buffered: RAM with a buffer can be useful in systems with a large amount of RAM as it adds a buffer area to assist with data transmission to and from the chip.
  • CAS (Column Access Strobe): The CAS value is just a fancy way of asking how many system clock cycles the RAM controller waits before it puts the data on the memory bus before sending a signal that the memory can be read. A lower CAS value means there is a shorter wait, resulting in faster memory access.
  • Wait states: One aspect of older memory technology that is gone from newer memory types is the "wait state". Before the advent of SDRAM, which runs at speeds synchronous to that of the system, RAM was asynchronous, meaning that it ran at a different speed, often slower than the system. This meant that the system had to insert "wait states" into the RAM access cycle to accommodate this mismatch in timing. As you can probably imagine, this resulted in a performance hit since these wait states were just filler. Sometimes referred to as the "access time", these performance hits could range anywhere from 40 to 120 nanoseconds.
  • Registered: Registered RAM delays information sent from RAM by a clock cycle, allowing RAM modules of a larger capacity to be installed in the system. The trade-off is performance, however, as unregistered RAM does not impose this delay.

SIMM (Single Inline Memory Module)

An older type of RAM that you won't find in today's PCs is the SIMM, short for Single Inline Memory Module. SIMMs come in two main varieties: 30-pin and 72-pin flavors. A "pin" is one of the gold- or tin-plated connectors that makes electrical contact with a corresponding pin in the memory slot. Regarding this conduction material: don't mix them. If you have an older computer and are adding RAM, don't put tin-plated sticks of RAM into a gold-plated slot. Mixing the metals like this makes it easier for the metal to corrode and ruin both your RAM and possibly your motherboard.

SIMMs are notched on one side so you can quickly tell in which direction the module needs to be installed in the slot. A 72-pin SIMM is about 4.25" wide and around 1" tall, but the height can vary between vendors.

72-pin SIMMs use a 32-bit data path (36-bit for modules that support error checking) to transfer data between the RAM and the system in which they're installed. 30-pin SIMMs have an 8-bit data path (9-bit for ones that support parity).

A 30-pin SIMM uses 5V of electricity while a 72-pin module uses either 3.3V or 5V. 30-pin modules come in sizes up to 8MB while 72-pin varieties can be as large as 32MB.

Figure A

Notice the notch on this 30-pin SIMM. It helps to align the module in the RAM slot. Also notice that the number of chips on the module is even, indicating non-parity RAM.

Figure B

The number of chips on the module is odd, indicating a parity error checking module.

Figure C

Notice the notch on this 72-pin SIMM. It helps to align the module in the RAM slot. The notch in the middle is different depending on the voltage of the module. This helps to prevent damage by preventing the wrong voltage module from being used on a board.

DIMM (Dual Inline Memory Module)

DIMMs were a successor to SIMMs and have 168 pins across the bottom of the RAM stick, with 84 on each side. DIMMs operate using a 64-bit data path, resulting in twice the overall throughput of older SIMMs. DIMMs have two notches along the bottom of the stick in order to assist with properly orienting the stick in the memory slot.

Figure D

A 168-pin DIMM has notches on either side and 84 pins across each side of the bottom of the module. The bottom notches determine the voltage of the module. This module is non-error-correcting since it has an even number of chips.

Figure E

This 168-pin DIMM is almost identical to the one above, but features error correction, as evidenced by the odd number of chips (usually divisible by 3).

SO-DIMM (Small Outline DIMM)

One type of DIMM that is common in laptops is the SO-DIMM, the Small Outline DIMM. Named because of it's smaller size (2.66" wide for the 144 pin variety used in today's laptops or 2.35" wide for the 72-pin SO-DIMM RAM used in older machines), a SO-DIMM has a small notch along the bottom of the stick to help you orient the chip. Whereas DIMMs are usually installed at a right-angle to the system board, SO-DIMMs are usually installed at an angle to help save space in the system, which is useful in small spaces such as laptop cases. SDRAM SO-DIMMs run on 3.3V of electricity.

MicroDIMM

Available in 144-pin SDRAM and 172-pin DDR (see below) varieties, a MicroDIMM is smaller than a SO-DIMM. At just 1.50" across, an SDRAM MicroDIMM consumes 3.3V of latency and pushes 2.1GBps of data through. The 172-pin DDR variety uses 2.5V.

DDR2 (see below) MicroDIMMs with 214 pins are also making their way to the memory market and require 1.8V of electricity.

Figure F

A 144 pin MicroDIMM used in some notebook computers.

RIMM - Rambus Inline Memory Module

Along the way, some vendor proprietary memory modules have found their way into some PCs and servers. The primary culprit in this realm is the RIMM, or Rambus Inline Memory Module. RIMMs were developed by Rambus, often in the news as a result of their proprietary RAM.

RIMMs have 184 pins along the bottom of the circuit board, with 92 pins on each side of the board. Rambus modules use a 2-byte data channel that supports transfers of up to 1.6 GB per second. That's pretty darn fast, although newer types of DIMMs have paved the way to faster memory types. RIMMs architecture does not lend itself to a low-heat operation. In fact, if you look at a Rambus memory stick, you'll notice a blue piece of metal covers all of the chips. This metal isn't just to make the chip look cool; it's to keep it cool. Rambus memory generates a lot of heat and the blue metal helps to diffuse that heat.

Figure G

Rambus RIMM modules have heat spreaders covering the individual chips.

SO-RIMM (Small Outline RIMM)

Like their DIMM counterparts, RIMM modules have a smaller small outline companion. In this case, RIMM's is called a SO-RIMM. Sporting 160 pins (80 on each side), a SO-RIMM is good for use in tight spaces. The smaller SO-RIMM also has the blue metal heat spreader to help keep the chip cool enough to operate.

Memory types

The previous three headings covered specific memory form factors, but didn't talk too much about the way the RAM actually works. The following sections go over the different kinds of RAM you might find in your system.

FPM (Fast Page Mode)

After older SIMMs took hold, engineers started to improve them. One such improved resulted in FPM—Fast Page Mode—RAM. Contrary to its name, FPM RAM is no longer considered fast! FPM RAM is not suitable on systems with a bus speed of greater than 66MHz. Some older DIMMs also support FPM. These DIMMs run FPM using either 3.3V or 5V of electricity. The notch at the bottom of the module determines the voltage. A 5V module's notch won't along with a 3.3V memory slot, for example.

EDO (Extended Data Out)

EDO SIMMs were a technology that came just after FPM RAM. EDO RAM was still SIMM-based technology, but allowed a memory operation to begin just before the last operation was complete, resulting in a small performance improvement over FPM RAM.

For quite some time, EDO was the memory of choice in systems, until the advent of the DIMM—DDR RAM in particular. EDO requires support from the system's chipset and won't work without this support. Even if EDO RAM does happen to work in a non-EDO system, it won't be able to use its newer features, such as being able to begin an operation before completing the last.

Some older DIMMs also support EDO. These DIMMs run EDO using either 3.3V or 5V of electricity. The notch at the bottom of the module determines the voltage. A 5V module's notch won't along with a 3.3V memory slot, for example.

SDRAM (Synchronous Dynamic RAM)

A newer kind of DIMM, SDRAM looks almost identical to an older generic DIMM, but provides faster retrieval of data from the fewer RAM chips on the memory stick. SDRAM sticks still have 168 pins for the memory slot connect, with 84 on each side. The "synchronous" part of the SDRAM name helps keep the memory in sync with the system processor, resulting in a faster rate of data transfer than that afforded by older types of RAM.

The list below provides details about the three common types of SDRAM as shows you the clock speed and the data transfer rate afford by each module.

  • PC66: 66 MHz, 528MB/s
  • PC100: 100MHz, 800MB/s
  • PC133: 133MHz, 1.1 GB/s

168-pin SDRAM modules operate at 3.3V or 5V.

DDR SDRAM (Double Data Rate SDRAM)

One of the newest additions to the DIMM class is the DDR module. DDR RAM is fairly standard in today's desktop and server computers, although DDR2 SDRAM (explained later) is beginning to show up in some systems.

DDR RAM modules are capable of handling two operations per clock cycle—twice that number of operations as older types of SDRAM. This helps to explain where DDR gets its name.

DDR SDRAM looks similar to normal SDRAM, except it has 184 pins used for the motherboard connection and has two notches on each side of the module. The notch along the bottom of the module in a DDR module is also slightly different from those for other SDRAM modules and there is only once such notch present on a DDR module.

A DDR module is similar in size to an older SDRAM module at approximately 5.25" wide and 1.25" in height, although the height may vary depending on manufacturer. Only memory slots on motherboards designed specifically for DDR RAM will accept a DDR module as a result. DDR SDRAM, like other SDRAM, also uses a 64-bit data bus to deliver data to the main system. DDR RAM runs using 2.5V of electricity.

There are a number of varieties of DDR SDRAM on the market. The list below shows the name by which many companies market the product and explains what these ratings mean. Not all of these speeds are "official". That is, there's not necessarily chipset support for some of the really fast DDR speeds, although fans of overclocking have managed to get some of these performance numbers and some vendors do sell memory modules at the higher speeds for these hobbyists. DDR is capable of providing dual data channels, resulting in twice the memory throughput.

The math for DDR RAM goes like this:

Clock speed * 8 bytes per second (a 64-bit data path is 8 bytes) = transfer speed

For example, DDR 266 (PC2100) has a clock speed of 266,000 Hz (266 MHz) * 8 bytes = 2,128,000 Bps or about 2.1 GB/s.

Other DDR Speeds include:

  • DDR200/PC1600: 1.6 GB/s transfer @ 200MHz
  • DDR266/PC2100: 2.1 GB/s transfer @ 266Mhz
  • DDR333/PC2700: 2.7 GB/s transfer @ 333Mhz
  • DDR400/PC3200: 3.2 GB/s transfer @ 400Mhz. (a lot of literature lists this as the fastest DDR RAM available)
  • DDR433/PC3500: 3.5 GB/s transfer @ 433Mhz
  • DDR466/PC3700: 3.7 GB/s transfer @ 466Mhz
  • DDR500/PC4000: 4.0 GB/s transfer @ 500Mhz
  • DDR533/PC4200: 4.2 GB/s transfer @ 533Mhz

Figure H

A DDR 184-pin non-ECC memory module

Figure I

An outline of a DDR 184-pin non-ECC memory module

Figure J

An outline of a DDR 184-pin ECC memory module. Notice the additional chip.

DDR2 SDRAM

As of this writing, DDR2 SDRAM is hitting the market. DDR2 starts where DDR left off and supports frequencies of 400MHz, 533MHz, and 667MHz. The DDR2 form factor includes additional pins not found on DDR modules. DDR2 sports 240 pins—120 per side—and runs on less power than older DDR RAM—1.8V to be exact. This results in memory that doesn't require as much power and also runs cooler. A DDR2 module is about 5.25" wide and usually around 1.2" high, although the height may vary.

Because of these differences, DDR2 SDRAM will not work in a DDR slot. Further, the system chipset must include support for DDR2 RAM.

Like DDR, DDR2 SDRAM sports a 64-bit data path, or 72-bits wide for registered or ECC memory modules. Further, DDR2 SDRAM can make use of dual data channels, with appropriate chipset support, providing a 128-bit data path to the system, resulting in improved RAM performance.

The list below outlines the three major DDR2 classes. Expect more to be added a la DDR.

  • DDR2-400/PC2-3200: 3.2GB/s @ 400MHz (6.4GB/s with dual channels enabled)
  • DDR2-533/PC2-4200: 4.2GB/s @ 533MHz (8.4GB/s with dual channels enabled)
  • DDR2-667/PC2-5300: 5.3GB/s @ 667MHz (10.6GB/s with dual channels enabled)

Figure K

This memory module is a DDR2 non-ECC module as evidenced by the even number of chips on the module.

Figure L

This memory module is a DDR2 Registered ECC module as evidenced by the odd number of chips on the module.

DDR SO-DIMM (DDR Small Outline DIMM)

By now, you know that the SO part of a DDR SO-DIMM means that it's a small outline form factor used most in laptop computers and other small devices. Other than physical size, the other primary difference between a DDR DIMM and a DDR SO-DIMM is the number of pins that connect the stick to the motherboard. A DDR SO-DIMM has 200 such connections—100 on each side. DDR and DDR2 SO-DIMMs measure about 2.66" wide and 1.25" tall.

Figure M

This memory module is a DDR-SODIMM module with 200 total pins.

Determining memory type by sight

This is a hard section to write as there are a number of variables and some RAM manufacturers have opted to not print anything on a memory module, making it very difficult to completely identify.

I've already provided some ways throughout the article that you can quickly identify modules by sight. However, all these tips tell you is the overall type of RAM present in the system—i.e. DDR, SIMM, etc. You might want to try to be able to tell if the RAM you're holding is a 256MB stick or a 1GB stick, or whether it's ECC-enabled or might be registered. Here are some tips I've collected from all over the place to help you in your identification efforts.

  • Module size: If you have a lot of RAM to identify, bookmark this site. It provides information regarding a number of manufacturers and their RAM numbering methods. Unfortunately, every manufacturer uses a different numbering scheme, so it's extremely difficult to tell how large a module is just by looking. If you can manage to figure out how large each of the individual chips is (sometimes the part number on the chip will give it away), multiply that size by the number of chips on the board. If the number of chips is divisible by three, subtract one from the total count as the last chip does not hold data; it's used for error checking.
  • Parity/ECC: Count the number of same-sized chips on your RAM module. If the number is divisible by 3 (or sometimes 5), the module support either parity or ECC error checking. If the module's chip count is not divisible by 3, you have non-parity RAM.
  • Buffered: I've read that buffered RAM can be identified by determining whether the leads next to first notch are evenly spaced.
  • Registered: If you memory module has an additional chip near the memory chips, it might be registered memory.

Remembering memory facts

As you can probably tell, there have been a number of different types of RAM through the years. This is by no means intended to be a 100% complete guide to all things memory related. To compile such a guide would simply require too much space to be usable. Instead, this is intended to provide a quick overview to some of the modules you might run across and attempts to help you identify what you already have on hand.

Editor's Picks