All computers require memory to operate, but understanding the
different types and how much you should have can be an issue. This Tech
Tip will take a look at some of the common forms of modern computer
memory and the different features they bring to the table.
The Basics
Before looking at a few of the specific types of memory, let’s cover
some of the basics that pertain to all of them.

Memory, or more specifically Random Access Memory (RAM), is a type of
computer storage that allows the information to be accessed in any
order. This allows for quick access to data that programs need to
operate. The contrasting format would be sequential access memory, such
as a tape drive, that forces the system to go through all preceding data
to get to the piece it wants.
As computers and software have advanced, the memory requirements have
also changed. Most users have a version of Microsoft’s Windows as their
operating system, and each carries a unique set of memory requirements.
Microsoft’s website recommends a minimum of 128MB for the popular
Windows XP operating system, but many other sources will argue that
256MB is the minimum and that 512MB is a better number to shoot for.
Older versions of Windows required far less memory, with Windows 98
doing well with a minimum of 64MB and Windows 2000 getting by with
128MB. A ‘minimum’ number may be misleading, as it may allow the system
to operate, but perhaps not perform anywhere near its optimum
capability.
Those with Linux-based computers may experience successful installations
with less memory than a typical Windows operating system, but Penguin
power requires a certain amount of memory too. As little as 16MB of
memory can successfully power a Linux system with a command line
interface, and 64MB may be recommended for adding one of the common
graphical interfaces. Some of the various distributions will recommend
even more memory, such as Xandros
recommending 128MB,
Linspire
recommending 256MB (128MB minimum), and the
CentOS
forum mentions 256MB.
SDRAM
SDRAM, or Synchronous Dynamic Random Access Memory, is a few
generations old at this point, but may still be found in a good number
of computers. This type of memory is/was available in approved speeds of
66 MHz, 100 MHz, and 133 MHz, and was sold based on these speeds
ratings, ie. PC66, PC100, and PC133. SDRAM for desktop computers
features 168 pins for electrical/data transfer on a module measuring
roughly 5 ¼” long. SDRAM for notebook computers features 144 pins for
electrical/data transfer on a module measuring roughly 2 5/8” long.
SDRAM could be found in early Intel Pentium and AMD K6/Athlon systems.

SDRAM was a big improvement over previous generations of computer
memory, as the memory and processor were now ‘synchronized’ and data
was available as needed. Later generations of system memory (DDR and
DDR-2) are built off of the foundation laid by SDRAM, while
obviously adding more speed and greater performance.
RIMM
RIMM (Rambus Inline Memory Module), also known as Rambus or RDRAM,
was a format launched by
Rambus as a successor to SDRAM. Desktop RIMM modules feature 184
pins for electrical/data transfer on a module measuring roughly 5
1/4” long. The rating for RIMM memory is based on the maximum
theoretical bandwidth (in MHz) and included speed ratings of 800
MHz, 1066 MHz, 1200 MHz, 1333 MHz, and 1600 MHz.
Early Intel Pentium 4 processors adopted the technology, but that
was about the extent of RIMM’s desktop popularity. Some server
applications and home electronics devices (such as the PlayStation
II) also utilize RIMM memory, but DDR memory was launched at about
the same time and eventually stole the show.
DDR
DDR, or Double Data Rate SDRAM, was the follow up to SDRAM which is
still in use today. All present AMD-based systems utilize DDR
memory, and some Intel-based systems still use it (despite most
being transitioned to DDR-2).
The ‘Double’ part of DDR comes from its ability to transfer twice
the data of an SDRAM module operating at the same speed. This is
accomplished by the fact that DDR technology can send data on both
the rise and the fall of a clock pulse, while SDRAM only sends data
on the rise.

DDR is marketed much like RIMM, as it uses its maximum theoretical
bandwidth (again in MHz) to describe the various speeds available.
Standard speeds of DDR include PC1600, PC2100, PC2700, and PC3200.
The bandwidth can be tied directly to a memory clock speed, with the
following correlation: PC1600 – 100 MHz, PC2100 – 133 MHz, PC2700 –
166 MHz, and PC3200 – 200 MHz. Many times, these speeds are
referenced by a DDR rate instead of these straight clock speeds, so
PC3200 would actually be called 400 MHz DDR, for example.
Seen in other memory types, but perhaps most prominent in DDR, are
specifications for modules operating at speeds other than the
official ones listed above. Memory standards are governed by a group
called JEDEC (http://www.jedec.org), but manufacturers can design
products outside of these specifications for computing enthusiasts.
This non-standard DDR may be capable of much higher speeds, and
products carrying ratings such as PC4000 or PC4400 are readily
available.
DDR memory for desktop computers features 184 pins for
electrical/data transfer on a module measuring roughly 5 1/4” long.
DDR for notebook computers features 200 pins for electrical/data
transfer on a module measuring roughly 2 5/8” long. You may have
noticed that a module of DDR and a module of SDRAM have the same
lengths. In order to prevent a user from installing the wrong type
of memory in their system, the modules are notched differently to
act as a key. SDRAM features 2 notches, while DDR features 1 notch
at a different location.
DDR-2
DDR-2, or Dual Data Rate Two SDRAM, is the second generation of DDR
memory and is just now reaching a price and performance level to
make it more viable for mainstream computer systems. DDR-2 provides
almost double the (theoretical) data transfer as DDR, but it still
sends data on the rise and fall of the clock pulse. The improvements
are achieved through an increased number of memory buffers, lower
electrical consumption, improved physical design, and an improved
prefetch. The problem with most present DDR-2 is that these
improvements are wiped out by a higher latency within the memory,
and the actual improvements over DDR at the same speed may only be
5% or so.

DDR-2 uses a similar naming structure to DDR, in that the maximum
theoretical bandwidth is the typical method of describing a module.
Instead of just a “PC” prefix, we now have a “PC2” to describe
modules such as PC2-3200, PC2-4200, and PC2-5300. PC2-3200 has a
DDR-2 speed of 400 MHz (4x100 MHz), PC2-4200 has a DDR-2 speed of
533 MHz (4x133 MHz), and PC2-5300 has a DDR-2 speed of 667 MHz
(4x166 MHz). As with DDR (and others), overclocking memory is
available in DDR-2, such as
Corsair’s DDR-2 PC2-8000, which operates at 1000 MHz!
DDR-2 for desktop computers features 240 pins for electrical/data
transfer on a module measuring roughly 5 1/4” long. DDR-2 for
notebook computers features 200 pins for electrical/data transfer on
a module measuring roughly 2 5/8” long. Like DDR, DDR-2 is keyed
with one notch (located at a different position than the one DDR
notch) to prevent using the wrong type of memory.
Final Words
Memory is an essential component in any computer system, and as with
most things, bigger and faster are always a good thing. But, if your
budget doesn’t allow for a few GBs of the highest performance
modules out there, having the appropriate amount of good quality
memory can make a tremendous impact on system performance,
reliability, and user happiness.