How Memory Works
In order to enable computers to work faster, there are several types of memory available
today. Within a single computer there is no longer just one type of
memory. Because the types of memory relate to speed, it is important
to understand the differences when comparing the components of a computer.
So get your memory ready as the following will explain what all those crazy abbreviations mean.
But first, here is a brief description of how memory works.
All actual computing starts with the the CPU (Central Processing Unit).
supports the CPU and contains several controllers that control
how information travels between the CPU and other components in the PC.
controller is part of the chipset and establishes the information flow between memory and the CPU.
bus is a data path that consists of parallel wires and connects the
CPU, memory and other devices. The bus architecture determines how
much and how fast data can move around the motherboard.
The memory bus goes from the memory controller
to the computer's memory sockets. Newer systems have a frontside
bus (FSB) from the CPU to main memory and a backside bus (BSB) from the memory controller to L2 cache.
For the PC to get information...
The CPU sends a request to the memory controller to memory and gets a report
back of when the information will be available. This cycle can
vary in length according to memory speed as well as other factors, such as bus speed.
Residing on the motherboard, the system clock sends
a signal to all components, just like a metronome ticking. Each
click of the clock represents a clock cycle. A clock running at
100Mhz represents 100 million clock cycles per second. Every action
is timed by the clock where different actions require a different number of clock cycles.
Many people assume that the speed of the processor is the speed of the computer.
Most of the time, the system bus and other components run at different
speeds. Because all information processed by the CPU is written
or read from memory, the performance of a system is dramatically
affected by how fast information can travel between the CPU and
memory. Therefore, faster memory technology contributes greatly to the overall system performance.
Cache memory is a relatively small amount
of high speed memory and resides very close to the CPU. It is designed
to supply the CPU with the most frequently requested data. It takes
a fraction of the time, compared to normal memory, to access cache memory.
The concept is that 20% of the time, what is needed is in cache. The cache memory
tracks instructions, putting the most frequent used instruction
at the top of the list. Once the cache is full, the lowest need is dropped.
Today, most cache memory is incorporated in the CPU. It can also be located
just outside of the CPU. Cache that is closest to the CPU is labeled Level 1, the next closest Lever 2, etc.
Interleaving is a process in which the CPU alternates between two or more memory banks. Every time the CPU addresses a memory bank, the bank needs
about one clock cycle to reset. The CPU can save processing time by addressing a second bank while the first bank is resetting.
PCB (Printed Circuit Board)
Traces (Internal Trace Layer)
The green board that holds the memory chips is made up of several layers.
Each layer contains traces and circuitry
to control the movement of data. Usually, higher quality memory
modules use more layers. The more layers, the more space there
is between traces. With more space between traces, the module has less chance of noise interference and is more reliable.
Think of traces as roads that data travels on. The width and curvature as well
as the distance between affect both the speed and reliability.
The contact fingers (connections or leads) are used to plug the memory chips
into the module. Contacts can either be tin or gold.
Gold is a better conductor than tin, but more expensive. To
help avoid corrosion, It's always best to match the metal of the module to the metal of the socket.
This is the material coating around the actual silicon. Today's most common packaging are...
DIP (Dual In-Line Package)
This type of packaging was used when memory was installed directly on
the computer's system board. It installed into holes extending
into the surface of the PCB and could either be soldered or inserted into sockets.
SOJ (Small Outline J-Lead)
This type of packaging was used for surface mount components where they
mounted directly onto the surface of the PCB.
TSOP (Thin Small Outline Package)
This is also a surface mount design and was first used to make thin credit card modules for notebook computers.
CSP (Chip Scale Package)
CSP doesn't use pins to connect to the board. It uses electrical connections
to the board on the underside of the package. RDRAM
chips utilize this type of packaging.
For higher capacity modules, it is necessary to stack chips on top of one
another. Stacking can be internally (not visible) or externally (visible).
SIMM (Single In-line Memory Modules)
DIMM (Dual In-line Memory Modules)
SIMMs are used to store a single row of DRAM, EDO
or BEDO chips where the module is soldered
onto a PCB. One SIMM can contain several chips.
When you add more memory to a computer, most likely you are adding a SIMM.
The first SIMMs transferred 8 bits of data at a time and contained 30 pins.
When CPU's began to read 32-bit chunks, a wider SIMM was developed and contained 72 pins.
72 pin SIMMS are 3/4" longer than 30 pin SIMMs and have a notch in the
lower middle of the PCB. 72 pin SIMMs install at a slight angle.
SO DIMM (Small Outline DIMM)
DIMMs allow the ability to have two rows of DRAM,
EDO or BEDO chips. They
are able to contain twice as much memory on the same size circuit
board. DIMMs contain 168 pins and transfer data in 64 bit chunks.
DIMMs install straight up and down and have two notches on the bottom of the
RDRAM - RIMM
SO DIMMs are commonly used in notebooks and are smaller than normal DIMMs.
There are two types of SO DIMMs. Either 72 pins and a transfer
rate of 32 bits or 144 pins with a transfer rate of 64 bits.
Rambus, Inc, in conjunction with Intel has created new technology, Direct
RDRAM, to increase the access speed for memory. RIMMs appeared
on motherboards sometime during 1999. The in-line memory modules
are called RIMMs. They have 184 pins and provide 1.6 GB per second
of peak bandwidth in 16 bit chunks. As chip speed gets faster,
so does the access to memory and the amount of heat produced.
An aluminum sheath, called a heat spreader, covers the module to protect the chips from overheating.
Similar in appearance to a SO DIMM and uses Rambus technology.
DRAM (Dynamic Random Access Memory)
One of the most common types of computer memory (RAM). It can only hold data
for a short period of time and must be refreshed periodically.
DRAMs are measured by storage capability and access time.
- Storage is rated in megabytes (8 MB, 16 MB, etc).
- Access time is rated in nanoseconds (60ns, 70ns, 80ns, etc) and represents
the amount of time to save or return information. With a 60ns DRAM, it would require 60 billionths of a second to save or
return information. The lower the nanospeed, the faster the memory operates.
- DRAM chips require two CPU wait states for each execution.
- Can only execute either a read or write operation at one time.
SDRAM (Synchronous DRAM)
It synchronizes itself with the timing of the CPU. It also takes
advantage of interleaving and burst
mode functions. SDRAM is faster and more expensive than DRAM.
It comes in speeds of 66, 100, 133, 200, and 266MHz.
SRAM (Static RAM)
Retains memory (while power is on) and does not require refreshing. Lower density and slower than SDRAM, but useful in applications where the need for a memory controller (for SDRAM) would be problematic and where the higher capacity of SDRAM is not needed.
DDR SDRAM (Double Data Rate Synchronous DRAM)
FPM (Fast Page Mode)
Allows transactions on both the rising and falling edges of the clock
cycle. It has a bus clock speed of 100MHz
and will yield an effective data transfer rate of 200MHz.
EDO (Extended Data Out)
At one time, this was the most common and was often just referred to as DRAM.
It offered faster access to data located within the same row.
BEDO (Burst Extended Data Out)
Newer than DRAM (1995) and requires only one
CPU wait state. You can gain a 10 to 15% improvement in performance with EDO memory.
A step up from the EDO chips. It requires zero wait states
and provides at least another 13 percent increase in performance.
Extraordinarily fast. By using doubled clocked provides
a transfer rate up to 1.6GBs yielding a 800MHz speed over a narrow 16 bit bus.
This is where SRAM is used for storing information required by the CPU. It is in kilobyte sizes of 128KB, 256KB, etc.
Other Memory Types
VRAM (Video RAM)
VRAM is a video version of FPM and is most often
used in video accelerator cards. Because it has two ports, It
provides the extra benefit over DRAM of
being able to execute simultaneous read/write operations at
the same time. One channel is used to refresh the screen and
the other manages image changes. VRAM tends to be more expensive.
This is a solid-state, nonvolatile, rewritable memory that functions
like RAM and a hard disk combined. If power is lost, all data
remains in memory. Because of its high speed, durability, and
low voltage requirements, it is ideal for digital cameras, cell
phones, printers, handheld computers, pagers and audio recorders.
When your computer starts up (boots), minimal instructions for performing
the startup procedures and video controls are stored in ROM
(Read Only Memory) in what is commonly called BIOS. ROM executes
slowly. Shadow RAM allows for the capability of moving selected
parts of the BIOS code from ROM to the faster RAM memory.
Evolution of Memory
In order to ensure that memory is working correctly, data integrity, there are two primary
means - parity and error correction code (ECC) or no checking at all - non-parity.
This is the most common used method. It can detect errors, but not correct them.
ECC (Error Correction Code)
ECC can detect and correct single-bit errors. It is used in high-end PC's and servers.
Because there has been an increased quality of memory components and an infrequency
of errors, more and more manufacturers do no include error checking
capabilities. This also lowers the cost of the PC.
Speed - Access Time, Megahertz (MHz), Bytes Per Second
Prior to SDRAM, speed was expressed in terms of nanoseconds (ns). This measured
the amount of time it takes the module to deliver a data request.
Therefore the lower the nanosecond speed, the
faster. Typical speeds were 90, 80, 70 and 60ns. Older 486
machines may have 80 or 90. More recent Pentiums will have 60 or 70.
Often the last digit of a memory part number will represents the speed such as -6 = 60ns.
SDRAM speed is measured in megahertz (MHz). Speed markings on the
memory chips may still specific nanoseconds, but in this case in represents
the number of nanoseconds between clock cycles. To add to the confusion the markings on t he chips don't match the Mhz value. Here is a conversion chart.
Total Clock Cycles per Second
Divide by 1 billions to get nanoseconds per clock speed.
To calculate bytes per second you need to know the Bus Width and Bus Speed
of your PC. The first thing to remember is 8-bits
= 1 byte. If you have a 64-bit bus, than 8 bytes of information
can be transferred at one time. (64 / 8 bits = 8 bytes)
If your bus speed is 100Mhz (100 million clock cycles per second) and the bus width
is 1 byte wide, the speed is 100 MB's per second. With a 64-bit width,
the speed is 800 MBs per second (64 / 8 * 100,000,000)
Rambus modules are measured in megabytes per second. Rambus modules are either 400
or 300Mhz. Because they send two pieces of information every clock
cycle, you get 800 or 600Mhz. They have a 16-bit bus width or 2 bytes
(16/8). The 400Mhz module speed is 1600MB a second or 1.6GB a second.
(400,000,000 * 2) * 2. The 300Mhz module provides 1.2GBs a second.
If you are running Windows 95 or 98, a minimum of 16 MBs of memory is necessary.
If you have several applications open at once, you will find by increasing
your memory, everything will run faster. Currently the cost for adding
additional memory is very low. Installation of memory is also fairly
simple. It does not require any reconfiguration.The difficult
part is determining what type of memory you need.
Type | Socket | Amount
More information on memory determination...
- FPM - Fast Page - If you have a 486, you probably have FPM
- EDO - Extended Data Out - If you have an early Pentium
system, you probably have EDO
- SDRAM - If you have a Pentium or Celeron system purchased
in 1999, you probably have SDRAM
Memory modules plug into a socket on the motherboard. There are three socket types.
- SIMM - 30 pin 3 inches in length
- SIMM - 72 pin 4 inches in length
- DIMM - 168 pin 5 inches in length
Most older 486 machines will use 30 pin modules. Later model 486 and Pentium
machines will probably use 72 pin modules. More recent Pentium machines may have 168 pin.
Memory sizes increase by the power of 2. This results in sizes of 1, 2, 4, 8, 16, 32, 64, 128, 256 MBs.
- On some older 486 machines, one memory module can be added at a time.
- On most Pentium machines, modules must be added in pairs. Each pair must be of the same size
- SDRAMmodules can be added one at a time.
For example, if you have 8 MBs of memory on a Pentium, you have two 4 MB
modules. To increase to 16 MBs, you need to add two more 4 MB
modules. To increase to 24 MBs, you need to add two 8 MB modules.
Now that you know the parameters, how do you determine which type you need?
Looking inside the computer will not provide all of the information.
It will confirm how many modules you currently have. You can also
confirm the type and quantity of open sockets. If you only have
four sockets and each socket contains a module, you will have
to replace some of the existing memory modules.
Check the Manual
The other place to find the correct information is your owners manual.
The manufacturer should have listed the type of memory required.
You will need to determine the parity and speed.
Now that you have the necessary information, you find an ad for memory and
still you may not be able to determine which modules you need.
Why? Because the computer industry thrives on confusion and abbreviations.
Here's how to interpret the coding scheme.
30 pin modules
For 30 pin modules you will see something like
- 1 x 9-60
- 4 x 9-70
- 4 x 8-70
The first number is the size in MBs. In our example this would be 1MB or 4MB.
The second number represents parity. The value 9 represents
parity and 8 represents non-parity. (Of course that makes a lot of sense!) The 9 or 8 also identifies that it is a 30
The third value represents the speed.
72 pin modules
For 72 pin modules you will see something like
- 1 x 32-60
- 2 x 32-70
- 4 x 36-60
- 8 x 36-70
Just like the 30 pin modules, the first value represents
the size, EXCEPT it only represents 1/4 of the total memory
size. Do not ask why, just accept it. So the value of
4 represents a 16 MB (4 x 4) module. A value of 8 represents a 32 MB (4 x 8) module.
The second value, again just like the 30 pin, represents parity
and the number of pins. 36 is used for parity and 32 for non-parity.
You are not asking why again, are you?
The third value represents the speed, the same as the 30 pin.
Still not sure
If you still are not sure what type of memory you need, call the manufacturer
or call us. We have a database of about 90% of all manufactured
computers that can provide us with the type of memory and upgrade
options. You will need to provide the manufacturer and model of