Random access memory (RAM) is the best
known form of computer
memory. RAM is considered "random access"
because you can access any memory cell directly
if you know the row and column that intersect
at that cell.
The opposite of RAM is serial access memory
(SAM). SAM stores data as a series of memory cells
that can only be accessed sequentially (like a
cassette
tape). If the data is not in the current location,
each memory cell is checked until the needed data
is found. SAM works very well for memory buffers,
where the data is normally stored in the order
in which it will be used (a good example is the
texture buffer memory on a video
card). RAM data, on the other hand, can be
accessed in any order.
In this edition of HowStuffWorks,
you'll learn all about what RAM is, what kind
you should buy and how to install it.
RAM Basics
Similar to a microprocessor,
a memory chip is an integrated circuit
(IC) made of millions of transistors and capacitors.
In the most common form of computer memory, dynamic
random access memory (DRAM), a transistor
and a capacitor are paired to create a memory
cell, which represents a single bit
of data. The capacitor holds the bit of information
-- a 0 or a 1 (see How
Bits and Bytes Work for information on bits).
The transistor acts as a switch that lets the
control circuitry on the memory chip read the
capacitor or change its state.
A capacitor is like a small bucket that is able
to store electrons. To store a 1 in the memory
cell, the bucket is filled with electrons. To
store a 0, it is emptied. The problem with the
capacitor's bucket is that it has a leak. In a
matter of a few milliseconds a full bucket becomes
empty. Therefore, for dynamic memory to work,
either the CPU or the memory controller
has to come along and recharge all of the capacitors
holding a 1 before they discharge. To do this,
the memory controller reads the memory and then
writes it right back. This refresh operation happens
automatically thousands of times per second.
The capacitor in a dynamic
RAM memory cell is like a leaky bucket.
It needs to be refreshed periodically or it
will discharge to 0.
This refresh operation is where dynamic
RAM gets its name. Dynamic RAM has to be dynamically
refreshed all of the time or it forgets what it
is holding. The downside of all of this refreshing
is that it takes time and slows down the memory.
Memory cells are etched onto a silicon wafer
in an array of columns (bitlines) and rows
(wordlines). The intersection of a bitline
and wordline constitutes the address of
the memory cell.
Memory is made up of bits
arranged in a two-dimensional grid.
In this figure, red cells represent 1s and white
cells represent 0s.
In the animation, a column is selected and then
rows are charged to write data into the specific
column.
DRAM works by sending a charge through the appropriate
column (CAS) to activate the transistor at each
bit in the column. When writing, the row lines
contain the state the capacitor should take on.
When reading, the sense-amplifier determines the
level of charge in the capacitor. If it is more
than 50 percent, it reads it as a 1; otherwise
it reads it as a 0. The counter tracks the refresh
sequence based on which rows have been accessed
in what order. The length of time necessary to
do all this is so short that it is expressed in
nanoseconds (billionths of a second). A
memory chip rating of 70ns means that it takes
70 nanoseconds to completely read and recharge
each cell.
Memory cells alone would be worthless without
some way to get information in and out of them.
So the memory cells have a whole support infrastructure
of other specialized circuits. These circuits
perform functions such as:
Identifying each row and column (row address
select and column address select)
Keeping track of the refresh sequence (counter)
Reading and restoring the signal from a cell
(sense amplifier)
Telling a cell whether it should take a charge
or not (write enable)
Other functions of the memory controller
include a series of tasks that include identifying
the type, speed and amount of memory and checking
for errors.
Static RAM uses a completely different
technology. In static RAM, a form of flip-flop
holds each bit of memory (see How
Boolean Logic Works for details on flip-flops).
A flip-flop for a memory cell takes four or six
transistors along with some wiring, but never
has to be refreshed. This makes static RAM significantly
faster than dynamic RAM. However, because it has
more parts, a static memory cell takes up a lot
more space on a chip than a dynamic memory cell.
Therefore, you get less memory per chip, and that
makes static RAM a lot more expensive.
So static RAM is fast and expensive, and dynamic
RAM is less expensive and slower. So static RAM
is used to create the CPU's speed-sensitive cache,
while dynamic RAM forms the larger system RAM
space.
Memory Modules
Memory chips in desktop
computers originally used a pin configuration
called dual inline package (DIP). This
pin configuration could be soldered into holes
on the computer's motherboard
or plugged into a socket that was soldered on
the motherboard. This method worked fine when
computers typically operated on a couple of megabytes
or less of RAM, but as the need for memory grew,
the number of chips needing space on the motherboard
increased.
The solution was to place the memory chips,
along with all of the support components, on a
separate printed circuit board (PCB) that
could then be plugged into a special connector
(memory bank) on the motherboard. Most
of these chips use a small outline J-lead
(SOJ) pin configuration, but quite a few manufacturers
use the thin small outline package (TSOP)
configuration as well. The key difference between
these newer pin types and the original DIP configuration
is that SOJ and TSOP chips are surface-mounted
to the PCB. In other words, the pins are soldered
directly to the surface of the board, not inserted
in holes or sockets.
Memory chips are normally only available as
part of a card called a module. You've
probably seen memory listed as 8x32 or 4x16. These
numbers represent the number of the chips multiplied
by the capacity of each individual chip, which
is measured in megabits (Mb), or one million
bits. Take the result and divide it by eight to
get the number of megabytes on that module. For
example, 4x32 means that the module has four 32-megabit
chips. Multiply 4 by 32 and you get 128 megabits.
Since we know that a byte has 8 bits, we need
to divide our result of 128 by 8. Our result is
16 megabytes!
The type of board and connector used for RAM
in desktop computers has evolved over the past
few years. The first types were proprietary, meaning
that different computer manufacturers developed
memory boards that would only work with their
specific systems. Then came SIMM, which
stands for single in-line memory module.
This memory board used a 30-pin connector and
was about 3.5 x .75 inches in size (about 9 x
2 cm). In most computers, you had to install SIMMs
in pairs of equal capacity and speed. This is
because the width of the bus is more than a single
SIMM. For example, you would install two 8-megabyte
(MB) SIMMs to get 16 megabytes total RAM. Each
SIMM could send 8 bits of data at one time, while
the system bus could handle 16 bits at a time.
Later SIMM boards, slightly larger at 4.25 x 1
inch (about 11 x 2.5 cm), used a 72-pin connector
for increased bandwidth and allowed for up to
256 MB of RAM.
From the top: SIMM, DIMM
and SODIMM memory modules
As processors grew in speed and bandwidth capability,
the industry adopted a new standard in dual
in-line memory module (DIMM). With a whopping
168-pin connector and a size of 5.4 x 1 inch (about
14 x 2.5 cm), DIMMs range in capacity from 8 MB
to 128 MB per module and can be installed singly
instead of in pairs. Most PC memory modules operate
at 3.3 volts, while Mac systems typically use
5 volts. Another standard, Rambus in-line memory
module (RIMM), is comparable in size and pin
configuration to DIMM but uses a special memory
bus to greatly increase speed.
Many brands of notebook computers use proprietary
memory modules, but several manufacturers use
RAM based on the small outline dual in-line
memory module (SODIMM) configuration. SODIMM
cards are small, about 2 x 1 inch (5 x 2.5 cm),
and have 144 pins. Capacity ranges from 16 MB
to 512 MB per module. An interesting fact about
the Apple iMac desktop computer is that it uses
SODIMMs instead of the traditional DIMMs.
Error Checking
Most memory available today is highly reliable.
Most systems simply have the memory controller
check for errors at start-up and rely on that.
Memory chips with built-in error-checking typically
use a method known as parity to check for
errors. Parity chips have an extra bit for every
8 bits of data. The way parity works is simple.
Let's look at even parity first.
When the 8 bits in a byte receive data, the
chip adds up the total number of 1s. If the total
number of 1s is odd, the parity bit is set to
1. If the total is even, the parity bit is set
to 0. When the data is read back out of the bits,
the total is added up again and compared to the
parity bit. If the total is odd and the parity
bit is 1, then the data is assumed to be valid
and is sent to the CPU. But if the total is odd
and the parity bit is 0, the chip knows that there
is an error somewhere in the 8 bits and dumps
the data. Odd parity works the same way,
but the parity bit is set to 1 when the total
number of 1s in the byte are even.
The problem with parity is that it discovers
errors but does nothing to correct them. If a
byte of data does not match its parity bit, then
the data are discarded and the system tries again.
Computers in critical positions need a higher
level of fault tolerance. High-end servers
often have a form of error-checking known as error-correction
code (ECC). Like parity, ECC uses additional
bits to monitor the data in each byte. The difference
is that ECC uses several bits for error checking
-- how many depends on the width of the bus --
instead of one. ECC memory uses a special algorithm
not only to detect single bit errors, but actually
correct them as well. ECC memory will also detect
instances when more than one bit of data in a
byte fails. Such failures are very rare, and they
are not correctable, even with ECC.
The majority of computers sold today use nonparity
memory chips. These chips do not provide any type
of built-in error checking, but instead rely on
the memory controller for error detection.
Common RAM Types
SRAM Static random access memory uses multiple
transistors, typically four to six, for each memory
cell but doesn't have a capacitor in each cell.
It is used primarily for cache.
DRAM Dynamic random access memory has memory
cells with a paired transistor and capacitor requiring
constant refreshing.
FPM DRAM Fast page mode dynamic random access memory
was the original form of DRAM. It waits through
the entire process of locating a bit of data by
column and row and then reading the bit before
it starts on the next bit. Maximum transfer rate
to L2 cache is approximately 176 MBps.
EDO DRAM Extended data-out dynamic random access memory
does not wait for all of the processing of the
first bit before continuing to the next one. As
soon as the address of the first bit is located,
EDO DRAM begins looking for the next bit. It is
about five percent faster than FPM. Maximum transfer
rate to L2 cache is approximately 264 MBps.
SDRAM Synchronous dynamic random access memory
takes advantage of the burst mode concept to greatly
improve performance. It does this by staying on
the row containing the requested bit and moving
rapidly through the columns, reading each bit
as it goes. The idea is that most of the time
the data needed by the CPU will be in sequence.
SDRAM is about five percent faster than EDO RAM
and is the most common form in desktops today.
Maximum transfer rate to L2 cache is approximately
528 MBps.
DDR SDRAM Double data rate synchronous dynamic RAM
is just like SDRAM except that is has higher bandwidth,
meaning greater speed. Maximum transfer rate to
L2 cache is approximately 1,064 MBps (for DDR
SDRAM 133 MHZ).
RDRAM Rambus dynamic random access memory is
a radical departure from the previous DRAM architecture.
Designed by Rambus,
RDRAM uses a Rambus in-line memory module (RIMM),
which is similar in size and pin configuration
to a standard DIMM. What makes RDRAM so different
is its use of a special high-speed data bus called
the Rambus channel. RDRAM memory chips work in
parallel to achieve a data rate of 800 MHz, or
1,600 MBps.
Credit Card Memory
Credit card memory is a proprietary self-contained
DRAM memory module that plugs into a special slot
for use in notebook
computers.
PCMCIA Memory Card
Another self-contained DRAM module for notebooks,
cards of this type are not proprietary and should
work with any notebook computer whose system bus
matches the memory card's configuration.
CMOS RAM
CMOS RAM is a term for the small amount of memory
used by your computer and some other devices to
remember things like hard
disk settings -- see Why
does my computer need a battery? for details.
This memory uses a small battery to provide it
with the power it needs to maintain the memory
contents.
VRAM VideoRAM, also known as multiport dynamic
random access memory (MPDRAM), is a type of
RAM used specifically for video
adapters or 3-D accelerators. The "multiport"
part comes from the fact that VRAM normally has
two independent access ports instead of one, allowing
the CPU and graphics processor to access the RAM
simultaneously. VRAM is located on the graphics
card and comes in a variety of formats, many of
which are proprietary. The amount of VRAM is a
determining factor in the resolution
and color
depth of the display. VRAM is also used to
hold graphics-specific information such as 3-D
geometry data and texture maps. True multiport
VRAM tends to be expensive, so today, many graphics
cards use SGRAM (synchronous graphics RAM)
instead. Performance is nearly the same, but SGRAM
is cheaper.
How Much Do You
Need?
It's said that you can never have enough money,
and the same seems to hold true for RAM, especially
if you do a lot of graphics-intensive work or
gaming. Next to the CPU itself, RAM is the most
important factor in computer performance. If you
don't have enough, adding RAM can make more of
a difference than getting a new CPU!
If your system responds slowly or accesses the
hard
drive constantly, then you need to add more
RAM. If you are running Windows 95/98, you need
a bare minimum of 32 MB, and your computer will
work much better with 64 MB. Windows NT/2000 needs
at least 64 MB, and it will take everything you
can throw at it, so you'll probably want 128 MB
or more.
Linux
works happily on a system with only 4 MB of RAM.
If you plan to add X-Windows or do much serious
work, however, you'll probably want 64 MB. Apple
Mac OS systems will work with 16 MB, but you should
probably have a minimum of 32 MB.
The amount of RAM listed for each system above
is estimated for normal usage -- accessing the
Internet, word processing, standard home/office
applications and light entertainment. If you do
computer-aided design (CAD), 3-D modeling/animation
or heavy data processing, or if you are a serious
gamer, then you will most likely need more RAM.
You may also need more RAM if your computer acts
as a server
of some sort (Web
pages, database, application, FTP or network).
Another question is how much VRAM you want on
your video card. Almost all cards that you can
buy today have at least 8 MB of RAM. This is normally
enough to operate in a typical office environment.
You should probably invest in a 32-MB graphics
card if you want to do any of the following:
When shopping for video cards, remember that your
monitor
and computer must be capable of supporting the card
you choose.
How to Install RAM
Most of the time, installing RAM is a very simple
and straightforward procedure. The key is to do
your research. Here's what you need to know:
How much RAM you have
How much RAM you wish to add
Form factor
RAM type
Tools needed
Warranty
Where it goes
In the previous section, we discussed how much RAM
is needed in most situations. RAM is usually sold
in multiples of 16 megabytes: 16, 32, 64, 128, 256,
512. This means that if you currently have a system
with 64 MB RAM and you want at least 100 MB RAM
total, then you will probably need to add another
64 MB module.
Once you know how much RAM you want, check to
see what form factor (card type) you need
to buy. You can find this in the manual that came
with your computer, or you can contact the manufacturer.
An important thing to realize is that your options
will depend on the design of your computer. Most
computers sold today for normal home/office use
have DIMM slots. High-end systems are moving to
RIMM technology, which will eventually take over
in standard desktop computers as well. Since DIMM
and RIMM slots look a lot alike, be very careful
to make sure you know which type your computer
uses. Putting the wrong type of card in a slot
can cause damage to your system and ruin the card.
You will also need to know what type of RAM
is required. Some computers require very specific
types of RAM to operate. For example, your computer
may only work with 60ns-70ns parity EDO RAM. Most
computers are not quite that restrictive, but
they do have limitations. For optimal performance,
the RAM you add to your computer must also match
the existing RAM in speed, parity and type. The
most common type available today is SDRAM.
Before you open your computer,
check to make sure you won't be voiding the warranty.
Some manufacturers seal the case and request that
the customer have an authorized technician install
RAM. If you're set to open the case, turn off
and unplug the computer. Ground yourself by using
an anti-static pad or wrist strap to discharge
any static electricity. Depending on your computer,
you may need a screwdriver or nut-driver to open
the case. Many systems sold today come in toolless
cases that use thumbscrews or a simple latch.
To install
more RAM, look for memory modules on your
computer's motherboard. At the left is
a Macintosh G4 and on the right is a PC.
The actual installation of the memory module
does not normally require any tools. RAM is installed
in a series of slots on the motherboard known
as the memory bank. The memory module is
notched at one end so you won't be able to insert
it in the wrong direction. For SIMMs and some
DIMMs, you install the module by placing it in
the slot at approximately a 45-degree angle. Then
push it forward until it is perpendicular to the
motherboard
and the small metal clips at each end snap into
place. If the clips do not catch properly, check
to make sure the notch is at the right end and
the card is firmly seated. Many DIMMs do not have
metal clips; they rely on friction to hold them
in place. Again, just make sure the module is
firmly seated in the slot.
Once the module is installed, close the case,
plug the computer back in and power it up. When
the computer starts the POST, it should automatically
recognize the memory. That's all there is to it!