| | |
memory management in wndows 2000
![]() |
Hi
The Internet is full of answers on this subject.
open www.google.com
and type in the search box ....memory management of Windows 2000
I you will find info for your project
HTH
Darren
South Africa
The Internet is full of answers on this subject.
open www.google.com
and type in the search box ....memory management of Windows 2000
I you will find info for your project
HTH
Darren
South Africa
Live by Ghandi and Learn By Google ! Simple
Hi
try this link
http://www.google.co.za/search?hl=en...le+Search&meta=
Click on the link and do some research
HTH
darren
south africa
try this link
http://www.google.co.za/search?hl=en...le+Search&meta=
Click on the link and do some research
HTH
darren
south africa
Live by Ghandi and Learn By Google ! Simple
Hi
Ok i think we need to be more specific about what the project requires from you.
What tasks have been set by the University and what are the questions or tasks they need you to achive. The more information we have the more we can help you
Darren
South Africa
Ok i think we need to be more specific about what the project requires from you.
What tasks have been set by the University and what are the questions or tasks they need you to achive. The more information we have the more we can help you
Darren
South Africa
Live by Ghandi and Learn By Google ! Simple
Hi
This is my thesis i wrote for my degree in Computer science. if refers to how memory works. Its a large document so let it download.
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 or 184-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 1 GB per
module and can be installed singly instead of in pairs. Most PC memory modules and the
modules for the Mac G5 systems operate at 2.5 volts, while older Mac G4 systems typically
use 3.3 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 or 200 pins. Capacity ranges from 16 MB to 1 GB per module. To conserve space, the
Apple iMac desktop computer uses SO-DIMMs instead of the traditional DIMMs. Subnotebook
computers use even smaller DIMMs, known as Micro-DIMMs, which have either
144 pins or 172 pins.
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 errorchecking
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.
Since they operate at such high speeds, they generate much more heat than other types of
chips. To help dissipate the excess heat Rambus chips are fitted with a heat spreader, which
looks like a long thin wafer. Just like there are smaller versions of DIMMs, there are also SORIMMs,
designed for notebook computers.
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. 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 resouloution and colour
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.
Maybe you have been thinking about buying a computer, and it has occurred to you that you
might want to buy a laptop version. After all, today's laptops have just as much computing
power as desktops, without taking up as much space. You can take a laptop on the road with
you to do your computing or make presentations. Perhaps you prefer comfortably working on
your couch in front of the TV instead of sitting at a desk. Maybe a laptop is for you.
A Brief History
Alan Kay of the Xerox Palo Alto Research Center originated the idea of a portable computer
in the 1970s. Kay envisioned a notebook-sized, portable computer called the Dynabook that
everyone could own, and that could handle all of the user's informational needs. Kay also
envisioned the Dynabook with wireless network capabilities. Arguably, the first laptop
computer was designed in 1979 by William Moggridge of Grid Systems Corp. It had 340
kilobytes of bubble memory, a die-cast magnesium case and a folding electroluminescent
graphics display screen. In 1983, Gavilan Computer produced a laptop computer with the
following features:
· 64 kilobytes (expandable to 128 kilobytes) of random access memory (RAM)
· Gavilan operating system (also ran MS-DOS)
· 8088 microprocessor
· touchpad mouse
· portable printer
· weighed 9 lb (4 kg) alone or 14 lb (6.4 kg) with printer
The Gavilan computer had a floppy drive that was not compatible with other computers, and
it primarily used its own operating system. The company failed.
In 1984, Apple Computer introduced its Apple IIc model. The Apple IIc was a notebook-sized
computer, but not a true laptop. It had a 65C02 microprocessor, 128 kilobytes of memory, an
internal 5.25-inch floppy drive, two serial ports, a mouse port, modem card, external power
supply, and a folding handle. The computer itself weighed about 10 to 12 lb (about 5 kg), but
the monitor was heavier. The Apple IIc had a 9-inch monochrome monitor or an optional
LCD panel. The combination computer/ LCD panel made it a genuinely portable computer,
although you would have to set it up once you reached your destination. The Apple IIc was
aimed at the home and educational markets, and was highly successful for about five years.
Later, in 1986, IBM introduced its IBM PC Convertible. Unlike the Apple IIc, the PC
Convertible was a true laptop computer. Like the Gavilan computer, the PC Convertible used
an 8088 microprocessor, but it had 256 kilobytes of memory, two 3.5-inch (8.9-cm) floppy
drives, an LCD, parallel and serial printer ports and a space for an internal modem. It came
with its own applications software (basic word processing, appointment calendar,
telephone/address book, calculator), weighed 12 lbs (5.4 kg) and sold for $3,500. The PC
Convertible was a success, and ushered in the laptop era. A bit later, Toshiba was
successful with an IBM laptop clone.
Since these early models, many manufacturers have introduced and improved laptop
computers over the years. Today's laptops are much more sophisticated, lighter and closer
to Kay's original vision.
The First Laptop?
By Ian McKay
The following claim is the sort of thing that can get you
into trouble, but only M.A.D. offers you the chance to
verify the news of what I imagine is the first auction
appearance of the Grid Compass Computer 1109 that
Bonhams, which offered it in a "20th Century Design"
sale of June 1, claimed is "the first ever lap-top
computer."
Designed in 1979 by a Briton, William Moggridge, for
Grid Systems Corporation, the Grid Compass was one fifth the weight of any model
equivalent in performance and was used by NASA on the space shuttle program in the
early 1980's.
The sale catalog describes it as a "340K byte bubble memory lap-top computer with diecast
magnesium case and folding electroluminescent graphics display screen."
Complete with manual, it sold for $800.
When you think about it, it's amazing how many different types of electronic memory you
encounter in daily life. Many of them have become an integral part of our vocabulary:
· RAM
· ROM
· Cache
· Dynamic RAM
· Static RAM
· Flash Memory
· Memory Sticks
· Virtual Memory
· Video memory
· BIOS
You already know that the Computer in front of you has memory. What you may not know is
that most of the electronic items you use every day have some form of memory also. Here
are just a few examples of the many items that use memory:
· Cell phones
· PDA’s
· Game consoles
· Car radios
· VCRs
· TVs
Each of these devices uses different types of memory in different ways!
In this article, you'll learn why there are so many different types of memory and what all of
the terms mean.
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. 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. 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.
How Much Do You Need?
It's been said that you can never have enough money, and the same holds 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 XP, Microsoft recommends 128MB as the minimum
RAM requirement. At 64MB, you may experience frequent application problems. For optimal
performance with standard desktop applications, 256MB is recommended. 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. Mac OS X systems should have a
minimum of 128 MB, or for optimal performance, 512 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.
Another question is how much VRAM you want on your video card. Almost all cards that you
can buy today have at least 16 MB of RAM. This is normally enough to operate in a typical
office environment. You should probably invest in a 32-MB or better graphics card if you
want to do any of the following:
· Play realistic games
· Capture and edit video
· Create 3-D graphics
· Work in a high-resolution, full-color environment
· Design full-color illustrations
When shopping for video cards, remember that your monitor and computer must be capable
of supporting the card you choose.
Read-only memory (ROM), also known as firmware, is an integrated circuit programmed
with specific data when it is manufactured. ROM chips are used not only in computers, but in
most other electronic items as well. In this edition you will learn about the different types of
ROM and how each works. This article is one in a series of articles dealing with computer
memory, including:
· How Computer Memory Works
· How RAM Works
· How Virtual Memory Works
· How Flash Memory Works
· How BIOS Works
Let's start by identifying the different types of ROM.
ROM Types
There are five basic ROM types:
· ROM
· PROM
· EPROM
· EEPROM
· Flash memory
Each type has unique characteristics, which you'll learn about in this article, but they are all
types of memory with two things in common:
· Data stored in these chips is nonvolatile -- it is not lost when power is removed.
· Data stored in these chips is either unchangeable or requires a special operation to
change (unlike RAM, which can be changed as easily as it is read).
This means that removing the power source from the chip will not cause it to lose any data.
ROM at Work
Similar to RAM, ROM chips (Figure 1) contain a grid of columns and rows. But where the
columns and rows intersect, ROM chips are fundamentally different from RAM chips. While
RAM uses transistors to turn on or off access to a capacitor at each intersection, ROM uses
a diode to connect the lines if the value is 1. If the value is 0, then the lines are not
connected at all.
Figure 1. BIOS uses Flash memory, a type of ROM.
A diode normally allows current to flow in only one direction and has a certain threshold,
known as the forward breakover, that determines how much current is required before the
diode will pass it on. In silicon-based items such as processors and memory chips, the
forward breakover voltage is approximately 0.6 volts. By taking advantage of the unique
properties of a diode, a ROM chip can send a charge that is above the forward break over
down the appropriate column with the selected row grounded to connect at a specific cell. If
a diode is present at that cell, the charge will be conducted through to the ground, and, under
the binary system, the cell will be read as being "on" (a value of 1). The neat part of ROM is
that if the cell's value is 0, there is no diode at that intersection to connect the column and
row. So the charge on the column does not get transferred to the row.
As you can see, the way a ROM chip works necessitates the programming of perfect and
complete data when the chip is created. You cannot reprogram or rewrite a standard ROM
chip. If it is incorrect, or the data needs to be updated, you have to throw it away and start
over. Creating the original template for a ROM chip is often a laborious process full of trial
and error. But the benefits of ROM chips outweigh the drawbacks. Once the template is
completed, the actual chips can cost as little as a few cents each. They use very little power,
are extremely reliable and, in the case of most small electronic devices, contain all the
necessary programming to control the device. A great example is the small chip in the
singing fish toy. This chip, about the size of your fingernail, contains the 30-second song
clips in ROM and the control codes to synchronize the motors to the music.
PROM
Creating ROM chips totally from scratch is time-consuming and very expensive in small
quantities. For this reason, mainly, developers created a type of ROM known as
programmable read-only memory (PROM). Blank PROM chips can be bought
inexpensively and coded by anyone with a special tool called a programmer.
PROM chips (Figure 2) have a grid of columns and rows just as ordinary ROMs do. The
difference is that every intersection of a column and row in a PROM chip has a fuse
connecting them. A charge sent through a column will pass through the fuse in a cell to a
grounded row indicating a value of 1. Since all the cells have a fuse, the initial (blank) state
of a PROM chip is all 1s. To change the value of a cell to 0, you use a programmer to send a
specific amount of current to the cell. The higher voltage breaks the connection between the
column and row by burning out the fuse. This process is known as burning the PROM.
Figure 2
PROMs can only be programmed once. They are more fragile than ROMs. A jolt of static
electricity can easily cause fuses in the PROM to burn out, changing essential bits from 1 to
0. But blank PROMs are inexpensive and are great for prototyping the data for a ROM before
committing to the costly ROM fabrication process.
EPROM
Working with ROMs and PROMs can be a wasteful business. Even though they are
inexpensive per chip, the cost can add up over time. Erasable programmable read-only
memory (EPROM) addresses this issue. EPROM chips can be rewritten many times.
Erasing an EPROM requires a special tool that emits a certain frequency of ultraviolet (UV)
light. EPROM’s are configured using an EPROM programmer that provides voltage at
specified levels depending on the type of EPROM used.
Once again we have a grid of columns and rows. In an EPROM, the cell at each intersection
has two transistors. The two transistors are separated from each other by a thin oxide layer.
One of the transistors is known as the floating gate and the other as the control gate. The
floating gate's only link to the row (wordline) is through the control gate. As long as this link
is in place, the cell has a value of 1. To change the value to 0 requires a curious process
called Fowler-Nordheim tunneling. Tunneling is used to alter the placement of electrons in
the floating gate. An electrical charge, usually 10 to 13 volts, is applied to the floating gate.
The charge comes from the column (bitline), enters the floating gate and drains to a ground.
This charge causes the floating-gate transistor to act like an electron gun. The excited
electrons are pushed through and trapped on the other side of the thin oxide layer, giving it a
negative charge. These negatively charged electrons act as a barrier between the control
gate and the floating gate. A device called a cell sensor monitors the level of the charge
passing through the floating gate. If the flow through the gate is greater than 50 percent of
the charge, it has a value of 1. When the charge passing through drops below the 50-percent
threshold, the value changes to 0. A blank EPROM has all of the gates fully open, giving
each cell a value of 1.
To rewrite an EPROM, you must erase it first. To erase it, you must supply a level of energy
strong enough to break through the negative electrons blocking the floating gate. In a
standard EPROM, this is best accomplished with UV light at a frequency of 253.7. Because
this particular frequency will not penetrate most plastics or glasses, each EPROM chip has a
quartz window on top of it. The EPROM must be very close to the eraser's light source,
within an inch or two, to work properly.
An EPROM eraser is not selective, it will erase the entire EPROM. The EPROM must be
removed from the device it is in and placed under the UV light of the EPROM eraser for
several minutes. An EPROM that is left under too long can become over-erased. In such a
case, the EPROM's floating gates are charged to the point that they are unable to hold the
electrons at all.
EEPROMs and Flash Memory
Though EPROMs are a big step up from PROMs in terms of reusability, they still require
dedicated equipment and a labor-intensive process to remove and reinstall them each time a
change is necessary. Also, changes cannot be made incrementally to an EPROM; the whole
chip must be erased. Electrically erasable programmable read-only memory (EEPROM)
chips remove the biggest drawbacks of EPROMs.
In EEPROMs:
· The chip does not have to removed to be rewritten.
· The entire chip does not have to be completely erased to change a specific portion of
it.
· Changing the contents does not require additional dedicated equipment.
Instead of using UV light, you can return the electrons in the cells of an EEPROM to normal
with the localized application of an electric field to each cell. This erases the targeted cells
of the EEPROM, which can then be rewritten. EEPROMs are changed 1 byte at a time,
which makes them versatile but slow. In fact, EEPROM chips are too slow to use in many
products that make quick changes to the data stored on the chip.
Manufacturers responded to this limitation with Flash memory, a type of EEPROM that uses
in-circuit wiring to erase by applying an electrical field to the entire chip or to predetermined
sections of the chip called blocks. Flash memory works much faster than traditional
EEPROMs because it writes data in chunks, usually 512 bytes in size, instead of 1 byte at a
time.
DB Consulting 2004© has written the definitive document related to memory and the technology
behind it. Everything you ever wanted to know about memory can be found here.
Select from the following topics:
· What is Memory?
· How Much Memory Do You Need?
· A Closer Look
· How Memory Works
· How Much Memory Is On a Module?
· Different Kinds of Memory
· Other Memory Technologies
· What to Consider When Buying Memory
· How to Install Memory
· Troubleshooting Memory Problems
· More About Kingston
· The Glossary
The Ultimate Memory Guide is also available in Adobe Acrobat (PDF) format, in the following
languages
WHAT IS MEMORY?
INTRODUCTION
These days, no matter how much memory your computer has, it never seems to be quite enough.
Not long ago, it was unheard of for a PC (Personal Computer), to have more than 1 or 2 MB
(Megabytes) of memory. Today, most systems require 128MB to run basic applications. And up
to 512MB or more is needed for optimal performance when using graphical and multimedia
programs.
As an indication of how much things have changed over the past two decades, consider this: in
1981, referring to computer memory, Bill Gates said, "640K (roughly 1/2 of a megabyte) ought to
be enough for anybody."
For some, the memory equation is simple: more is good; less is bad. However, for those who
want to know more, this reference guide contains answers to the most common questions, plus
much, much more.
THE ROLE OF MEMORY IN THE COMPUTER
People in the computer industry commonly use the term "memory" to refer to RAM (Random
Access Memory). A computer uses Ram to hold temporary instructions and data needed to
complete tasks. This enables the computer's CPU (Central Processing Unit), to access
instructions and data stored in memory very quickly.
A good example of this is when the CPU loads an application program - such as a word
processing or page layout program - into memory, thereby allowing the application program to
work as quickly and efficiently as possible. In practical terms, having the program loaded into
memory means that you can get work done more quickly with less time spent waiting for the
computer to perform tasks.
The process begins when you enter a command from your keyboard. The CPU interprets the
command and instructs the hard drive to load the command or program into memory. Once the
data is loaded into memory, the CPU is able to access it much more quickly than if it had to
retrieve it from the hard drive.
This process of putting things the CPU needs in a place where it can get at them more quickly is
similar to placing various electronic files and documents you're using on the computer into a
single file folder or directory. By doing so, you keep all the files you need handy and avoid
searching in several places every time you need them.
THE DIFFERENCE BETWEEN MEMORY AND STORAGE
People often confuse the terms memory and storage, especially when describing the amount
they have of each. The term memory refers to the amount of RAM installed in the computer,
whereas the term storage refers to the capacity of the computer's hard disk. To clarify this
common mix-up, it helps to compare your computer to an office that contains a desk and a file
cabinet.
The file cabinet represents the computer's
hard disk, which provides storage for all the
files and information you need in your
office. When you come in to work, you take
out the files you need from storage and put
them on your desk for easy access while
you work on them. The desk is like memory
in the computer: it holds the information and
data you need to have handy while you're
working.
Consider the desk-and-file-cabinet metaphor for a moment. Imagine what it would be like if every
time you wanted to look at a document or folder you had to retrieve it from the file drawer. It
would slow you down tremendously, not to mention drive you crazy. With adequate desk space -
our metaphor for memory - you can lay out the documents in use and retrieve information from
them immediately, often with just a glance.
Here's another important difference between memory and storage: the information stored on a
hard disk remains intact even when the computer is turned off. However, any data held in
memory is lost when the computer is turned off. In our desk space metaphor, it's as though any
files left on the desk at closing time will be thrown away.
MEMORY AND PERFORMANCE
It's been proven that adding more memory to a computer system increases its performance. If
there isn't enough room in memory for all the information the CPU needs, the computer has to set
up what's known as a virtual memory file. In so doing, the CPU reserves space on the hard disk
to simulate additional RAM. This process, referred to as "swapping", slows the system down. In
an average computer, it takes the CPU approximately 200ns (nanoseconds) to access RAM
compared to 12,000,000ns to access the hard drive. To put this into perspective, this is
equivalent to what's normally a 3 1/2 minute task taking 4 1/2 months to complete!
Access time comparison between RAM and a hard drive.
MEMORY UPGRADE ON A PC: LIFE IS GOOD
If you've ever had more memory added to your PC, you probably noticed a performance
improvement right away. With a memory upgrade, applications respond more quickly, Web pages
load faster, and you can have more programs running simultaneously. In short, additional
memory can make using your computer a lot more enjoyable.
MEMORY UPGRADE ON A SERVER: LIFE IS EVEN BETTER
These days, more and more people are using computers in a workgroup and sharing information
over a network. The computers that help distribute information to people on a network are called
servers. And their performance has a huge impact on the performance of the network: if a server
is performing poorly, everyone on the network "feels the pain." So, while a memory upgrade on
an individual PC makes a big difference for the person who uses it, a memory upgrade in a server
has even more far-reaching effects and benefits everyone who accesses the server.
To better understand the benefits of increasing memory on a server, take a look at these results
from an independent study done on Windows NT-based servers.
Application servers are utilized to host a wide range of applications, such as word processing and
spreadsheet programs. By increasing base memory from 64MB to 256MB, Windows NT Server
was able to support five times as many clients before transactions per second dropped.
Web servers are employed to serve up Web pages in response to HTTP requests from users.
Doubling memory can cut response time by more than 50%.
Directory servers are vital to corporate productivity, handling most email and messaging tasks. In
this environment, more memory increases the speed with which a server can access information
from linked databases. Doubling memory increased performance from 248 to 3000%.
How Much Memory Do You Need?
Perhaps you already know what it's like to work on a computer that doesn't have quite enough
memory. You can hear the hard drive operating more frequently and the "hour glass" or "wrist
watch" cursor symbol appears on the screen for longer periods of time. Things can run more
slowly at times, memory errors can occur more frequently, and sometimes you can't launch an
application or a file without first closing or quitting another.
So, how do you determine if you have enough memory, or if you would benefit from more? And if
you do need more, how much more? The fact is, the right amount of memory depends on the
type of system you have, the type of work you're doing, and the software applications you're
using. Because the right amount of memory is likely to be different for a desktop computer than
for a server, we've divided this section into two parts - one for each type of system.
Memory Requirements For A Desktop Computer
If you're using a desktop computer, memory requirements depend on the computer's operating
system and the application software you're using. Today's word processing and spreadsheet
applications require as little as 32MB of memory to run. However, software and operating system
developers continue to extend the capabilities of their products, which usually means greater
memory requirements. Today, developers typically assume a minimum memory configuration of
64MB. Systems used for graphic arts, publishing, and multimedia call for at least 128MB of
memory and it's common for such systems to require 256MB or more for best performance.
The chart on the next page provides basic guidelines to help you decide how much memory is
optimal for your desktop computer. The chart is divided by operating system and by different
kinds of work. Find the operating system you're using on your computer, then look for the
descriptions of work that most closely match the kind of work you do.
DESKTOP MEMORY MAP
WINDOWS® 2000 PROFESSIONAL
Windows 2000 Professional runs software applications faster. Notebook-ready and designed with
the future in mind, Windows 2000 Professional allows users to take advantage of a full range of
features today. Windows 2000 Professional is future-ready and promises to run today's and
tomorrow's applications better.
Baseline: 64MB - 128MB
Optimal: 128MB - 512MB
Light- Word processing, email, data-entry 64MB - 96MB
Medium- Fax/communications, database administration, spreadsheets; >2
applications open at a time
64MB - 128MB
Administrative & Service
Heavy- Complex documents, accounting, business graphics, presentation software,
network connectivity
96MB - 256MB
Light- Proposals, reports, spreadsheets, business graphics, databases, scheduling,
presentations
64MB - 96MB
Medium- Complex presentations, sales/market analysis, project management,
Internet access
96MB - 128MB
Executives & Analysts
Heavy- Statistical applications, large databases, research/technical analysis,
complex presentations, video conferencing
128MB -
512MB
Light- Page layout, 2 - 4 color line drawings, simple image manipulation, simple
graphics
96MB - 128MB
Medium- 2D CAD, rendering, multimedia presentations, simple photo-editing, Web
development
128MB -
512MB
Engineers & Designers
Heavy- Animation, complex photo-editing, real-time video, 3D CAD, solid modeling,
finite element analysis
256MB - 1GB
WINDOWS® 98
Windows 98 requires 16 - 32MB to run basic applications. Tests show 45 - 65% performance
improvements at 64MB and beyond.
Baseline: 32MB - 64MB
Optimal: 128MB - 256MB
Light- Word processing, basic financial management, email and other light Internet use 32MB - 64MB
Medium- Home office applications, games, Internet surfing, downloading images, spreadsheets,
presentations
64MB - 128MB
Students
Heavy- Multimedia use such as video, graphics, music, voice recognition, design, complex
images
128MB -
384MB
Light- Word processing, basic financial management, email and other light Internet use 32MB - 48MB
Medium- Home office applications, games, Internet surfing, downloading images, spreadsheets,
presentations 48MB - 64MB
Home Users
Heavy- Multimedia use such as video, graphics, music, voice recognition, design, complex
images
64MB - 128MB
LINUX®
The Linux operating system is quickly gaining popularity as an alternative to Microsoft Windows.
It includes true multitasking, virtual memory, shared libraries, demand loading, proper memory
management, TCP/IP networking, and other features consistent with Unix-type systems.
Baseline: 48MB - 112MB
Optimal: 112MB - 512MB
Light- Word processing, email, data-entry 48MB - 80MB
Medium- Fax /communications, database administration, spreadsheets; >2
applications open at a time
48MB - 112MB
Administrative & Service
Heavy- Complex documents, accounting, business graphics, presentation software,
network connectivity
80MB - 240MB
Light- Proposals, reports, spreadsheets, business graphics, databases, scheduling,
presentations 48MB - 80MB
Medium- Complex presentations, sales/market analysis, project management,
Internet access
80MB - 112MB
Executives & Analysts
Heavy- Statistical applications, large databases, research/technical analysis,
complex presentations, video conferencing
112MB -
512MB
Light- Page layout, 2 - 4 color line drawings, simple image manipulation, simple
graphics
80MB - 112MB
Medium- 2D CAD, rendering, multimedia presentations, simple photo-editing, Web
development 112MB -
512MB
Engineers & Designers
Heavy- Animation, complex photo-editing, real-time video, 3D CAD, solid modeling,
finite element analysis
240MB - 1GB
MACINTOSH™ OS
The Macintosh operating system manages memory in substantially different ways than other
systems. Still, System 9.0 users will find that 48MB is a bare minimum. When using PowerMac ®
applications with Internet connectivity, plan on a range between 64 and 128MB as a minimum.
Baseline: 48MB - 64MB
Optimal: 128MB - 512MB
Light- Word processing, email, data- entry 48MB - 64MB
Medium- Fax /communications, database administration, spreadsheets; >2
applications open at a time
64MB - 96MB
Administrative & Service
Heavy- Complex documents, accounting, business graphics, presentation software,
network connectivity
96MB - 128MB
Light- Proposals, reports, spreadsheets, business graphics, databases, scheduling,
presentations
64MB - 256MB
Medium- Complex presentations, sales/ market analysis, project management,
Internet access
128MB - 1GB
Executives & Analysts
Heavy- Statistical applications, large databases, research/ technical analysis,
complex presentations, video conferencing
96MB - 128MB
Light- Page layout, 2 - 4 color line drawings, simple image manipulation, simple
graphics
128MB -
512MB
Medium- 2D CAD, rendering, multimedia presentations, simple photo-editing, Web
development
256MB - 1GB
Engineers & ;Designers
Heavy- Animation, complex photo-editing, real- ime video, 3D CAD, solid modeling,
finite element analysis 512MB - 2GB
· Please Note: These figures reflect work done in a typical desktop environment. Higher-end workstation tasks may
require up to 4GB. Naturally, a chart such as this evolves as memory needs and trends change. Over time, developers
of software and operating systems will continue to add features and functionality to their products. This will continue to
drive the demand for more memory. More complex character sets, like Kanji, may require more memory than the
standard Roman based (English) character sets.
· SERVER MEMORY REQUIREMENTS
How can you tell when a server requires more memory? Quite often, the users of the
network are good indicators. If network-related activity such as email, shared
applications, or printing slows down, they'll probably let their Network Administrator know.
Here are a few proactive strategies that can be used to gauge whether or not a server
has sufficient memory:
· Monitor server disk activity. If disk swapping is detected, it is usually a result of
inadequate memory.
· Most servers have a utility that monitors CPU, memory, and disk utilization. Review this
at peak usage times to measure the highest spikes in demand.
Once it's determined that a server does need more memory, there are many factors to consider
when deciding on how much is enough:
What functions does the server perform (application, communication, remote access,
email, Web, file, multimedia, print, database)?
Some servers hold a large amount of information in memory at once, while others
process information sequentially. For example, a typical large database server does a lot
of data processing; with more memory, such a server would likely run much faster
because more of the records it needs for searches and queries could be held in memory -
that is, "at the ready." On the other hand, compared to a database server, a typical file
server can perform efficiently with less memory because its primary job is simply to
transfer information rather than to process it.
What operating system does the server use?
Each server operating system manages memory differently. For example, a network
operating system (NOS) such as the Novell operating system handles information much
differently than an application-oriented system such as Windows NT. Windows NT's
richer interface requires more memory, while the traditional Novell functions of file and
print serving require less memory.
How many users access the server at one time?
Most servers are designed and configured to support a certain number of users at one
time. Recent tests show that this number is directly proportional to the amount of memory
in the server. As soon as the number of users exceeds maximum capacity, the server
resorts to using hard disk space as virtual memory, and performance drops sharply. In
recent studies with Windows NT, additional memory allowed an application server to
increase by several times the number of users supported while maintaining the same
level of performance.
What kind and how many processors are installed on the server?
Memory and processors affect server performance differently, but they work hand in
hand. Adding memory allows more information to be handled at one time, while adding
processors allows the information to be processed faster. So, if you add processing
power to a system, additional memory will enable the processors to perform at their full
potential.
How critical is the server's response time?
In some servers, such as Web or e-commerce servers, response time directly affects the
customer experience and hence revenue. In these cases, some IT Managers choose to
install more memory than they think they would ever need in order to accommodate
surprise surges in use. Because server configurations involve so many variables, it's
difficult to make precise recommendations with regard to memory. The following chart
shows two server upgrade scenarios.
SERVER MEMORY MAP
WINDOWS® 2000 SERVER
Designed to help businesses of all sizes run better, Windows 2000 Server offers a manageable,
reliable and internet-ready solution for today's growing enterprises. For optimal performance,
consider adding more memory to take advantage of Windows 2000 Server's robust feature set.
Windows 2000 Server is internet-ready and promises to run today's and tomorrow's applications
better.
Baseline: 128MB
Optimal: 256MB - 1GB
Application Server Houses one or more applications to be accessed over a wide user base 256MB - 4GB
Directory Server Central Management of network resources 128MB - 1GB
Print Server Distributes print jobs to appropriate printers 128MB - 512MB
Communication Server Manages a variety of communications such as PBX, Voicemail, Email, and
VPN
512MB - 2GB
Web Server Internet and intranet solutions 512MB - 2GB
Database Server Manages simple to complex databases of varying sizes 256MB - 4GB
LINUX®
Linux is a reliable, cost-effective alternative to traditional UNIX servers. Depending on the
distribution, the Linux server platform features a variety of utilities, applications, and services.
Baseline: 64MB - 128MB
Optimal: 256MB - 1GB
Application Server Houses one or more applications to be accessed over a wide user base 64MB - 4GB
Directory Server Central Management of network resources 128MB - 1GB
Print Server Distributes print jobs to appropriate printers 128MB - 512MB
Communication Server Manages a variety of communications such as PBX, Voicemail, Email, and
VPN
512MB - 2GB
Web Server Internet and intranet solutions 512MB - 2GB
Database Server Manages simple to complex databases of varying sizes 256MB - 4GB
* Please Note: These figures reflect work done in a typical server environment. Higher-end
workstation tasks may require up to 4GB. Naturally, a chart such as this evolves as memory
needs and trends change. Over time, developers of software and operating systems will continue
to add features and functionality to their products. This will continue to drive the demand for more
memory. More complex character sets, like Kanji, may require more memory than the standard
Roman based (English) character sets.
A CLOSER LOOK
Memory comes in a variety of sizes and shapes. In general, it looks like a flat green stick with little
black cubes on it. Obviously, there's a lot more to memory than that. The illustration below shows
a typical memory module and points out some of its most important features.
WHAT MEMORY LOOKS LIKE
A closer look at a 168-pin SDRAM DIMM.
PCB (PRINTED CIRCUIT BOARD)
The green board that all the memory chips sit on is actually made up of several layers. Each layer
contains traces and circuitry, which facilitate the movement of data. In general, higher quality
memory modules use PCBs with more layers. The more layers a PCB has, the more space there
is between traces. The more space there is between traces, the lesser the chance of noise
interference. This makes the module much more reliable.
DRAM (DYNAMIC RANDOM ACCESS MEMORY)
DRAM is the most common form of RAM. It's called "dynamic" RAM because it can only hold data
for a short period of time and must be refreshed periodically. Most memory chips have black or
chrome coating, or packaging, to protect their circuitry. The following section titled "Chip
Packaging" shows pictures of chips housed in different types of chip packages.
CONTACT FINGERS
The contact fingers, sometimes referred to as "connectors" or "leads," plug into the memory
socket on the system board, enabling information to travel from the system board to the memory
module and back. On some memory modules, these leads are plated with tin while on others, the
leads are made of gold.
INTERNAL TRACE LAYER
The magnifying glass shows a layer of the PCB stripped away to reveal the traces etched in the
board. Traces are like roads the data travels on. The width and curvature of these traces as well
as the distance between them affect both the speed and the reliability of the overall module.
Experienced designers arrange, or "lay out", the traces to maximize speed and reliability and
minimize interference.
CHIP PACKAGING
The term "chip packaging" refers to the material coating around the actual silicon. Today's most
common packaging is called TSOP (Thin Small Outline Package). Some earlier chip designs
used DIP (Dual In-line Package) packaging and SOJ (Small Outline J-lead). Newer chips, such
as RDRAM use CSP (Chip Scale Package). Take a look at the different chip packages below, so
you can see how they differ.
DIP (DUAL IN-LINE PACKAGE)
When it was common for memory to be installed directly on the computer's system board, the
DIP-style DRAM package was extremely popular. DIPs are through-hole components, which
means they install in holes extending into the surface of the PCB. They can be soldered in place
or installed in sockets.
SOJ (SMALL OUTLINE J-LEAD)
SOJ packages got their name because the pins coming out of the chip are shaped like the letter
"J". SOJs are surface-mount components - that is, they mount directly onto the surface of the
PCB.
TSOP (THIN SMALL OUTLINE PACKAGE)
TSOP packaging, another surface-mount design, got its name because the package was much
thinner than the SOJ design. TSOPs were first used to make thin credit card modules for
notebook computers.
CSP (CHIP SCALE PACKAGE)
Unlike DIP, SOJ, and TSOP packaging, CSP packaging doesn't use pins to connect the chip to
the board. Instead, electrical connections to the board are through a BGA (Ball Grid Array) on the
underside of the package. RDRAM (Rambus DRAM) chips utilize this type of packaging.
CHIP STACKING
For some higher capacity modules, it is necessary to stack chips on top of one another to fit them
all on the PCB. Chips can be "stacked" either internally or externally. "Externally" stacked chip
arrangements are visible, whereas "internally" stacked chip arrangements are not.
WHERE MEMORY COMES FROM
MAKING THE CHIP
Amazing but true: memory starts out as common beach sand. Sand contains silicon, which is the
primary component in the manufacture of semiconductors, or "chips." Silicon is extracted from
sand, melted, pulled, cut, ground, and polished into silicon wafers. During the chip-making
process, intricate circuit patterns are imprinted on the chips through a variety of techniques. Once
this is complete, the chips are tested and die-cut. The good chips are separated out and proceed
through a stage called "bonding": this process establishes connections between the chip and the
gold or tin leads, or pins. Once the chips are bonded, they're packaged in hermetically sealed
plastic or ceramic casings. After inspection, they're ready for sale.
MAKING THE MEMORY MODULE
This is where memory module manufacturers enter the picture. There are three major
components that make up a memory module: the memory chips, PCB, and other "on-board"
elements such as resistors and capacitors. Design engineers use CAD (computer aided design)
programs to design the PCB. Building a high-quality board requires careful consideration of the
placement and the trace length of every signal line. The basic process of PCB manufacture is
very similar to that of the memory chips. Masking, layering, and etching techniques create copper
traces on the surface of the board. After the PCB is produced, the module is ready for assembly.
Automated systems perform surface-mount and through-hole assembly of the components onto
the PCB. The attachment is made with solder paste, which is then heated and cooled to form a
permanent bond. Modules that pass inspection are packaged and shipped for installation into a
computer.
WHERE MEMORY GOES IN THE COMPUTER
Originally, memory chips were connected directly to the computer's motherboard or system
board. But then space on the board became an issue. The solution was to solder memory chips
to a small modular circuit board - that is, a removable module that inserts into a socket on the
motherboard. This module design was called a SIMM (single in-line memory module), and it
saved a lot of space on the motherboard. For example, a set of four SIMMs might contain a total
of 80 memory chips and take up about 9 square inches of surface area on the motherboard.
Those same 80 chips installed flat on the motherboard would take up more than 21 square inches
on the motherboard.
These days, almost all memory comes in the form of memory modules and is installed in sockets
located on the system motherboard. Memory sockets are easy to spot because they are normally
the only sockets of their size on the board. Because it's critical to a computer's performance for
information to travel quickly between memory and the processor(s), the sockets for memory are
typically located near the CPU.
Examples of where memory can be installed.
MEMORY BANKS AND BANK SCHEMAS
Memory in a computer is usually designed and arranged in memory banks. A memory bank is a
group of sockets or modules that make up one logical unit. So, memory sockets that are
physically arranged in rows may be part of one bank or divided into different banks. Most
computer systems have two or more memory banks - usually called bank A, bank B, and so on.
And each system has rules or conventions on how memory banks should be filled. For example,
some computer systems require all the sockets in one bank to be filled with the same capacity
module. Some computers require the first bank to house the highest capacity modules. If the
configuration rules aren't followed, the computer may not start up or it may not recognize all the
memory in the system.
You can usually find the memory configuration rules specific to your computer system in the
computer's system manual. You can also use what's called a memory configurator. Most thirdparty
memory manufacturers offer free memory configurator available in printed form, or
accessible electronically via the Web. Memory configurator allow you to look up your computer
and find the part numbers and special memory configuration rules that apply to your system.
HOW MEMORY WORKS
Earlier, we talked about how memory holds information in a place where the CPU can get to it
quickly. Let's look at that process in more detail.
HOW MEMORY WORKS WITH THE PROCESSOR
Main components of a computer system.
The CPU is often referred to as the brain of the computer. This is where all the actual computing
is done.
The chipset supports the CPU. It usually contains several "controllers" which govern how
information travels between the processor and other components in the system. Some systems
have more than one chipset.
The memory controller is part of the chipset, and this controller establishes the information flow
between memory and the CPU.
A bus is a data path in a computer, consisting of various parallel wires to which the CPU,
memory, and all input/output devices are connected. The design of the bus, or bus architecture,
determines how much and how fast data can move across the motherboard. There are several
different kinds of busses in a system, depending on what speeds are required for those particular
components. The memory bus runs from the memory controller to the computer's memory
sockets. Newer systems have a memory bus architecture in which a frontside bus (FSB) runs
from the CPU to main memory and a backside bus (BSB) which runs from the memory
controller to L2 cache.
MEMORY SPEED
When the CPU needs information from memory, it sends out a request that is managed by the
memory controller. The memory controller sends the request to memory and reports to the CPU
when the information will be available for it to read. This entire cycle - from CPU to memory
controller to memory and back to the CPU - can vary in length according to memory speed as
well as other factors, such as bus speed.
Memory speed is sometimes measured in Megahertz (MHz), or in terms of access time - the
actual time required to deliver data - measured in nanoseconds (ns). Whether measured in
Megahertz or nanoseconds, memory speed indicates how quickly the memory module itself can
deliver on a request once that request is received.
ACCESS TIME (NANOSECONDS)
Access time measures from when the memory module receives a data request to when that data
becomes available. Memory chips and modules used to be marked with access times ranging
from 80ns to 50ns. With access time measurements (that is, measurements in nanoseconds),
lower numbers indicate faster speeds.
In this example, the memory controller requests data from memory and memory reacts to the
request in 70ns.The CPU receives the data in approximately 125ns. So, the total time from when
the CPU first requests information to when it actually receives the information can be up to 195ns
when using a 70ns memory module. This is because it takes time for the memory controller to
manage the information flow, and the information needs to travel from the memory module to the
CPU on the bus.
MEGAHERTZ (MHZ)
Beginning with Synchronous DRAM technology, memory chips had the ability to synchronize
themselves with the computer's system clock, making it easier to measure speed in megahertz,
or millions of cycles per second. Because this is the same way speed is measured in the rest of
the system, it makes it easier to compare the speeds of different components and synchronize
their functions. In order to understand speed better, it's important to understand the system clock.
SYSTEM CLOCK
A computer's system clock resides on the motherboard. It sends out a signal to all other
computer components in rhythm, like a metronome. This rhythm is typically drawn as a square
wave, like this:
In reality, however, the actual clock signal, when viewed with an oscilloscope, looks more like the
example shown below.
Each wave in this signal measures one clock cycle. If a system clock runs at 100MHz that
means there are 100 million clock cycles in one second. Every action in the computer is timed by
these clock cycles, and every action takes a certain number of clock cycles to perform. When
processing a memory request, for example, the memory controller can report to the processor
that the data requested will arrive in six clock cycles.
It's possible for the CPU and other devices to run faster or slower than the system clock.
Components of different speeds simply require a multiplication or division factor to synchronize
them. For example, when a 100MHz system clock interacts with a 400MHz CPU, each device
understands that every system clock cycle is equal to four clock cycles on the CPU; they use a
factor of four to synchronize their actions.
Many people assume that the speed of the processor is the speed of the computer. But most of
the time, the system bus and other components run at different speeds.
MAXIMIZING PERFORMANCE
Computer processor speeds have been increasing rapidly over the past several years. Increasing
the speed of the processor increases the overall performance of the computer. However, the
processor is only one part of the computer, and it still relies on other components in a system to
complete functions. Because all the information the CPU will process must be written to or read
from memory, the overall performance of a system is dramatically affected by how fast
information can travel between the CPU and main memory.
So, faster memory technologies contribute a great deal to overall system performance. But
increasing the speed of the memory itself is only part of the solution. The time it takes for
information to travel between memory and the processor is typically longer than the time it takes
for the processor to perform its functions. The technologies and innovations described in this
section are designed to speed up the communication process between memory and the
processor.
CACHE MEMORY
Cache memory is a relatively small amount (normally less than 1MB) of high speed memory that
resides very close to the CPU. Cache memory is designed to supply the CPU with the most
frequently requested data and instructions. Because retriev-ing data from cache takes a fraction
of the time that it takes to access it from main memory, having cache memory can save a lot of
time. If the information is not in cache, it still has to be retrieved from main memory, but checking
cache memory takes so little time, it's worth it. This is analogous to checking your refrigerator for
the food you need before running to the store to get it: it's likely that what you need is there; if not,
it only took a moment to check.
The concept behind caching is the "80/20" rule, which states that of all the programs, information,
and data on your computer, about 20% of it is used about 80% of the time. (This 20% data might
include the code required for sending or deleting email, saving a file onto your hard drive, or
simply recognizing which keys you've touched on your keyboard.) Conversely, the remaining 80%
of the data in your system gets used about 20% of the time. Cache memory makes sense
because there's a good chance that the data and instructions the CPU is using now will be
needed again.
HOW CACHE MEMORY WORKS
Cache memory is like a "hot list" of instructions needed by the CPU. The memory controller saves
in cache each instruction the CPU requests; each time the CPU gets an instruction it needs from
cache - called a "cache hit" - that instruction moves to the top of the "hot list." When cache is full
and the CPU calls for a new instruction, the system overwrites the data in cache that hasn't been
used for the longest period of time. This way, the high priority information that's used continuously
stays in cache, while the less frequently used information drops out.
LEVELS OF CACHE
Today, most cache memory is incorporated into the processor chip itself; however, other
configurations are possible. In some cases, a system may have cache located inside the
processor, just outside the processor on the motherboard, and/or it may have a memory cache
socket near the CPU, which can contain a cache memory module. Whatever the configuration,
any cache memory component is assigned a "level" according to its proximity to the processor.
For example, the cache that is closest to the processor is called Level 1 (L1) Cache, the next
level of cache is numbered L2, then L3, and so on. Computers often have other types of caching
in addition to cache memory. For example, sometimes the system uses main memory as a cache
for the hard drive. While we won't discuss these scenarios here, it's important to note that the
term cache can refer specifically to memory and to other storage technologies as well.
You might wonder: if having cache memory near the processor is so beneficial, why isn't cache
memory used for all of main memory? For one thing, cache memory typically uses a type of
memory chip called SRAM (Static RAM), which is more expensive and requires more space per
megabyte than the DRAM typically used for main memory. Also, while cache memory does
improve overall system performance, it does so up to a point. The real benefit of cache memory is
in storing the most frequently-used instructions. A larger cache would hold more data, but if that
data isn't needed frequently, there's little benefit to having it near the processor.
It can take as long as 195ns for main memory to
satisfy a memory request from the CPU. External
cache can satisfy a memory request from the CPU in
as little as 45ns.
SYSTEM BOARD LAYOUT
As you've probably figured out, the placement of
memory modules on the system board has a direct
effect on system performance. Because local memory must hold all the information the CPU
needs to process, the speed at which the data can travel between memory and the CPU is critical
to the overall performance of the system. And because exchanges of information between the
CPU and memory are so intricately timed, the distance between the processor and the memory
becomes another critical factor in performance.
INTERLEAVING
The term interleaving refers to a process in which the CPU alternates communication between
two or more memory banks. Interleaving technology is typically used in larger systems such as
servers and workstations. Here's how it works: every time the CPU addresses a memory bank,
the bank needs about one clock cycle to "reset" itself. The CPU can save processing time by
addressing a second bank while the first bank is resetting. Interleaving can also function within
the memory chips themselves to improve performance. For example, the memory cells inside
SDRAM chip are divided into two independent cell banks, which can be activated
simultaneously. Interleaving between the two cell banks produces a continuous flow of data. This
cuts down the length of the memory cycle and results in faster transfer rates.
BURSTING
Bursting is another time-saving technology. The purpose of bursting is to provide the CPU with
additional data from memory based on the likelihood that it will be needed. So, instead of the
CPU retrieving information from memory one piece of at a time, it grabs a block of information
from several consecutive addresses in memory. This saves time because there's a statistical
likelihood that the next data address the processor will request will be sequential to the previous
one. This way, the CPU gets the instructions it needs without having to send an individual request
for each one. Bursting can work with many different types of memory and can function when
reading or writing data.
Both bursting and pipelining became popular at about the same time that EDO technology
became available. EDO chips that featured these functions were called "Burst EDO" or "Pipeline
Burst EDO" chips.
PIPELINING
Pipelining is a computer processing technique where a task is divided into a series of stages with
some of the work completed at each stage. Through the division of a larger task into smaller,
overlapping tasks, pipelining is used to improve performance beyond what is possible with nonpipelined
processing. Once the flow through a pipeline is started, execution rate of the
instructions is high, in spite of the number of stages through which they progress.
HOW MUCH MEMORY IS ON A MODULE?
Up to now, we've discussed some of the technical attributes of memory and how memory
functions in a system. What's left are the technical details - the "bits and bytes," as they say. This
section covers the binary numbering system, which forms the basis of computing, and
calculation of a memory module's capacity.
BITS AND BYTES
Computers speak in a "code" called machine language, which uses only two numerals: 0 and 1.
Different combinations of 0s and 1s form what are called binary numbers. These binary
numbers form instructions for the chips and microprocessors that drive computing devices - such
as computers, printers, hard disk drives, and so on. You may have heard the terms "bit" and
"byte." Both of these are units of information that are important to computing. The term bit is short
for "binary digit." As the name suggests, a bit represents a single digit in a binary number; a bit is
the smallest unit of information used in computing and can have a value of either 1 or a 0. A byte
consists of 8 bits. Almost all specifications of your computer's capabilities are represented in
bytes. For example, memory capacity, data-transfer rates, and data-storage capacity are all
measured in bytes or multiples thereof (such as kilobytes, megabytes, or gigabytes).
This discussion of bits and bytes becomes very relevant when it comes to computing devices and
components working together. Here, we'll address specifically how bits and bytes form the basis
of measuring memory component performance and interaction with other devices like the CPU.
CPU AND MEMORY REQUIREMENTS
A computer's CPU (central processing unit) processes data in 8-bit chunks. Those chunks, as we
learned in the previous section, are commonly referred to as bytes.
Because a byte is the fundamental unit of processing, the CPU's processing power is often
described in terms of the maximum number of bytes it can process at any given time. For
example, Pentium and PowerPC microprocessors currently are 64-bit CPUs, which means they
can simultaneously process 64 bits, or 8 bytes, at a time.
Each transaction between the CPU and memory is called a bus cycle. The number of data bits a
CPU can transfer during a single bus cycle affects a computer's performance and dictates what
type of memory the computer requires. Most desktop computers today use 168-pin DIMMs, which
support 64-bit data paths. Earlier 72-pin SIMMs supported 32-bit data paths, and were originally
used with 32-bit CPUs. When 32-bit SIMMs were used with 64-bit processors, they had to be
installed in pairs, with each pair of modules making up a memory bank. The CPU communicated
with the bank of memory as one logical unit.
Interestingly, RIMM modules, which are newer than DIMMs, use smaller 16-bit data paths;
however they transmit information very rapidly, sending several packets of data at a time. RIMM
modules use pipelining technology to send four 16-bit packets at a time to a 64-bit CPU, so
information still gets processed in 64-bit chunks.
CALCULATING THE CAPACITY OF A MODULE
Memory holds the information that the CPU needs to process. The capacity of memory chips and
modules are described in megabits (millions of bits) and megabytes (millions of bytes). When
trying to figure out how much memory you have on a module, there are two important things to
remember:
A module consists of a group of chips. If you add together the capacities of all the chips on the
module, you get the total capacity of the module. Exceptions to this rule are:
· If some of the capacity is being used for another function, such as error checking.
· If some of the capacity is not being used, for example some chips may have extra rows to
be used as back-ups. (This isn't common.)
While chip capacity is usually expressed in megabits, module capacity is expressed in
megabytes. This can get confusing, especially since many people unknowingly use the word "bit"
when they mean "byte" and vice versa. To help make it clear, we'll adopt the following standards
in this book:
When we talk about the amount of memory on a module, we'll use the term "module capacity";
when we are referring to chips, we'll use the term "chip density". Module capacity will be
measured in megabytes (MB) with both letters capital, and chip density will be measured in
megabits (Mbit), and we'll spell out the word "bit" in small letters.
COMPONENT CAPACITY EXPRESSION CAPACITY UNITS EXAMPLE
Chips Chip Density Mbit (megabits) 64Mbit
Memory Modules Module Capacity MB (megabytes) 64MB
CHIP DENSITY
Each memory chip is a matrix of tiny cells. Each cell holds one bit of information. Memory chips
are often described by how much information they can hold. We call this chip density. You may
have encountered examples of chip densities, such as "64Mbit SDRAM" or "8M by 8". A 64Mbit
chip has 64 million cells and is capable of holding 64 million bits of data. The expression "8M by
8" describes one kind of 64Mbit chip in more detail.
In the memory industry, DRAM chip densities are often described by their cell organization. The
first number in the expression indicates the depth of the chip (in locations) and the second
number indicates the width of the chip (in bits). If you multiply the depth by the width, you get the
density of the chip. Here are some examples:
CURRENT AVAILABLE CHIP TECHNOLOGY
CHIP DEPTH IN
MILLIONS OF
LOCATIONS
CHIP WIDTH
IN BITS
CHIP DENSITY
=
DEPTH x WIDTH
16Mbit Chips
4Mx4 4 4 16
1Mx16 1 16 16
2Mx8 2 8 16
16Mx1 16 1 16
64Mbit Chips
4Mx16 4 16 64
8Mx8 8 8 64
16Mx4 16 4 64
128Mbit Chips
8Mx16 8 16 128
16Mx8 16 8 128
32Mx4 32 4 128
256Mbit Chips
32Mx8 32 8 256
MODULE CAPACITY
It's easy to calculate the capacity of a memory module if you know the capacities of the chips on
it. If there are eight 64Mbit chips, it's a 512Mbit module. However, because the capacity of a
module is described in megabytes, not megabits, you have to convert bits to bytes. To do this,
divide the number of bits by 8. In the case of the 512Mbit module:
You may hear standard memory modules in the industry being described as: "4Mx32" (that is, "4
Meg by 32"), or "16Mx64" ("16 Meg by 64"). In these cases, you can calculate the capacity of the
module exactly as if it were a chip:
Here are some additional examples:
STANDARD MODULE TYPES
STANDARD
MODULE DEPTH IN
LOCATIONS
MODULE WIDTH
IN DATA BITS
CAPACITY
IN MBITS =
DEPTH X
WIDTH
CAPACITY IN MB
= MBITS/8
72-
Pin
1Mx32
2Mx32
4Mx32
8Mx32
16Mx32
32Mx32
1
2
4
8
16
32
32
32
32
32
32
32
32
64
128
256
512
1024
4
8
16
32
64
128
168-
Pin
2Mx64
4Mx64
8Mx64
16Mx64
32Mx64
2
4
8
16
32
64
64
64
64
64
128
256
512
1024
2048
16
32
64
128
256
As we mentioned earlier, there's only room for a certain number of chips on a PCB. Based on an
industry standard 168-pin DIMM, the largest capacity module manufacturers can make using
64Mbit chips is 128MB; with 128Mbit chips, the largest module possible is 256MB; and with
256Mbit chips, the largest module possible is 512MB.
STACKING
Many large servers and workstations require higher capacity modules in order to reach system
memory capacities of several gigabytes or more. There are two ways to increase the capacity of
a module. Manufacturers can stack chips on top of one another, or they can stack boards.
CHIP STACKING
With chip stacking, two chips are stacked together and occupy the space that one chip would
normally take up. In some cases, the stacking is done internally at the chip manufacturing plant
and can actually appear to be one chip. In other cases the chips are stacked externally. The
example below shows two externally stacked chips.
Example of externally stacked chips.
BOARD STACKING
As you might expect, board stacking involves putting two memory module printed circuit boards
(PCBs) together. With board stacking, a secondary board mounts onto the primary board, which
fits into the memory socket on the system motherboard.
Example of a stacked module.
DIFFERENT KINDS OF MEMORY
Some people like to know a lot about the computer systems they own - or are considering buying
- just because. They're like that. It's what makes them tick. Some people never find out about
their systems and like it that way. Still other people - most of us, in fact - find out about their
systems when they have to - when something goes wrong, or when they want to upgrade it. It's
important to note that making a choice about a computer system - and its memory features - will
affect the experience and satisfaction you derive from the system. This chapter is here to make
you smarter about memory so that you can get more out of the system you're purchasing or
upgrading.
MODULE FORM FACTORS
The easiest way to categorize memory is by form factor. The form factor of any memory module
describes its size and pin configuration. Most computer systems have memory sockets that can
accept only one form factor. Some computer systems are designed with more than one type of
memory socket, allowing a choice between two or more form factors. Such designs are usually a
result of transitional periods in the industry when it's not clear which form factors will gain
predominance or be more available.
SIMMS
The term SIMM stands for Single In-Line Memory Module. With SIMMs, memory chips are
soldered onto a modular printed circuit board (PCB), which inserts into a socket on the system
board.
The first SIMMs transferred 8 bits of data at a time. Later, as CPUs began to read data in 32-bit
chunks, a wider SIMM was developed, which could supply 32 bits of data at a time. The easiest
way to differentiate between these two different kinds of SIMMs was by the number of pins, or
connectors. The earlier modules had 30 pins and the later modules had 72 pins. Thus, they
became commonly referred to as 30-pin SIMMs and 72-pin SIMMs.
Another important difference between 30-pin and 72-pin SIMMs is that 72-pin SIMMs are 3/4 of
an inch (about 1.9 centimeters) longer than the 30-pin SIMMs and have a notch in the lower
middle of the PCB. The graphic below compares the two types of SIMMs and indicates their data
widths.
4-1/4" 72-Pin SIMM
3-1/2" 30-Pin SIMM
Comparison of a 30-pin and a 72-pin SIMM
DIMMS
Dual In-line Memory Modules, or DIMMs, closely resemble SIMMs. Like SIMMs, most DIMMs
install vertically into expansion sockets. The principal difference between the two is that on a
SIMM, pins on opposite sides of the board are "tied together" to form one electrical contact; on a
DIMM, opposing pins remain electrically isolated to form two separate contacts.
168-pin DIMMs transfer 64 bits of data at a time and are typically used in computer configurations
that support a 64-bit or wider memory bus. Some of the physical differences between 168-pin
DIMMs and 72-pin SIMMs include: the length of module, the number of notches on the module,
and the way the module installs in the socket. Another difference is that many 72-pin SIMMs
install at a slight angle, whereas 168-pin DIMMs install straight into the memory socket and
remain completely vertical in relation to the system motherboard. The illustration below compares
a 168-pin DIMM to a 72-pin SIMM.
4-1/4" 72-Pin SIMM
5-1/4" 168-Pin DIMM
Comparison of a 72-pin SIMM and a 168-pin DIMM.
SO DIMMs
A type of memory commonly used in notebook computers is called SO DIMM or Small Outline
DIMM. The principal difference between a SO DIMM and a DIMM is that the SO DIMM, because
it is intended for use in notebook computers, is significantly smaller than the standard DIMM. The
72-pin SO DIMM is 32 bits wide and the 144-pin SO DIMM is 64 bits wide. 144-pin and 200-pin
modules are the most common SO DIMMs today.
2.35" 72-pin SO DIMM 2.66" 144-Pin SO DIMM
Comparison of a 72-pin SO DIMM and a 144-pin SO DIMM.
MicroDIMM (Micro Dual In-Line Memory Module)
Smaller than an SO DIMM, MicroDIMMs are primarily used in sub-notebook computers.
MicroDIMMs are available in 144-pin SDRAM and 172-pin DDR.
RIMMS AND SO-RIMMS
RIMM is the trademarked name for a Direct Rambus memory module. RIMMs look similar to
DIMMs, but have a different pin count. RIMMs transfer data in 16-bit chunks. The faster access
and transfer speed generates more heat. An aluminum sheath, called a heat spreader, covers
the module to protect the chips from overheating.
A 184-pin Direct Rambus RIMM shown with heat spreaders pulled away.
A SO-RIMM looks similar to an SO DIMM, but it uses Rambus technology.
A 160-pin SO-RIMM module.
FLASH MEMORY
Flash memory is a solid-state, non-volatile, rewritable memory that functions like RAM and a hard
disk drive combined. Flash memory stores bits of electronic data in memory cells, just like DRAM,
but it also works like a hard-disk drive in that when the power is turned off, the data remains in
memory. Because of its high speed, durability, and low voltage requirements, flash memory is
ideal for use in many applications - such as digital cameras, cell phones, printers, handheld
computers, pagers, and audio recorders.
Flash memory is avaliable in many different form factors, including: CompactFlash, Secure
Digital, SmartMedia, MultiMedia and USB Memory
PC CARD AND CREDIT CARD MEMORY
Before SO DIMMs became popular, most notebook memory was developed using proprietary
designs. It is always more cost-effective for a system manufacturer to use standard components,
and at one point, it became popular to use the same "credit card" like packaging for memory that
is used on PC Cards today. Because the modules looked like PC Cards, many people thought
the memory cards were the same as PC Cards, and could fit into PC Card slots. At the time, this
memory was described as "Credit Card Memory" because the form factor was the approximate
size of a credit card. Because of its compact form factor, credit card memory was ideal for
notebook applications where space is limited.
PC Cards use an input/output protocol that used to
be referred to as PCMCIA (Personal Computer Memory Card
International Association). This standard is designed for
attaching
input/output devices such as network adapters, fax/modems, or hard drives to notebook
computers. Because PC Card memory resembles the types of cards designed for use in a
notebook computer's PC Card slot, some people have mistakenly thought that the memory
modules could be used in the PC Card slot. To date, RAM has not been packaged on a PCMCIA
card because the technology doesn't allow the processor to communicate quickly enough with
memory. Currently, the most common type of memory on PC Card modules is Flash memory.
On the surface, credit card memory does not resemble a typical memory module configuration.
However, on the inside you will find standard TSOP memory chips.
This section presents the most common memory technologies used for main memory: This road
map offers an overview of the evolution of memory.
YEAR INTRODUCED TECHNOLOGY SPEED LIMIT
1987 FPM 50ns
1995 EDO 50ns
1997 PC66 SDRAM 66MHz
1998 PC100 SDRAM 100MHz
1999 RDRAM 800MHz
1999/2000 PC133 SRAM 133MHz (VCM option)
2000 DDR SDRAM 266MHz
2001 DDR SDRAM 333MHz
2002 DDR SDRAM 434MHz
2003 DDR SDRAM 500MHz
MAJOR CHIP TECHNOLOGIES
It's usually pretty easy to tell memory module form factors apart because of physical differences.
Most module form factors can support various memory technologies so, it's possible for two
modules to appear to be the same when, in fact, they're not. For example, a 168-pin DIMM can
be used for EDO, Synchronous DRAM, or some other type of memory. The only way to tell
precisely what kind of memory a module contains is to interpret the marking on the chips. Each
DRAM chip manufacturer has different markings and part numbers to identify the chip technology.
FAST PAGE MODE (FPM)
At one time, FPM was the most common form of DRAM found in computers. In fact, it was so
common that people simply called it "DRAM," leaving off the "FPM". FPM offered an advantage
over earlier memory technologies because it enabled faster access to data located within the
same row.
EXTENDED DATA OUT (EDO)
In 1995, EDO became the next memory innovation. It was similar to FPM, but with a slight
modification that allowed consecutive memory accesses to occur much faster. This meant the
memory controller could save time by cutting out a few steps in the addressing process. EDO
enabled the CPU to access memory 10 to 15% faster than with FPM.
SYNCHRONOUS DRAM (SDRAM)
In late 1996, SDRAM began to appear in systems. Unlike previous technologies, SDRAM is
designed to synchronize itself with the timing of the CPU. This enables the memory controller to
know the exact clock cycle when the requested data will be ready, so the CPU no longer has to
wait between memory accesses. SDRAM chips also take advantage of interleaving and burst
mode functions, which make memory retrieval even faster. SDRAM modules come in several
different speeds so as to synchronize to the clock speeds of the systems they'll be used in. For
example, PC66 SDRAM runs at 66MHz, PC100 SDRAM runs at 100MHz, PC133 SDRAM runs at
133MHz, and so on. Faster SDRAM speeds such as 200MHz and 266MHz are currently in
development.
DOUBLE DATA RATE SYNCHRONOUS DRAM (DDR SDRAM)
DDR SDRAM, is a next-generation SDRAM technology. It allows the memory chip to perform
transactions on both the rising and falling edges of the clock cycle. For example, with DDR
SDRAM, a 100 or 133MHz memory bus clock rate yields an effective data rate of 200MHz or
266MHz.
DIRECT RAMBUS
Direct Rambus is a DRAM architecture and interface standard that challenges traditional main
memory designs. Direct Rambus technology is extraordinarily fast compared to older memory
technologies. It transfers data at speeds up to 800MHz over a narrow 16-bit bus called a Direct
Rambus Channel. This high-speed clock rate is possible due to a feature called "double
clocked," which allows operations to occur on both the rising and falling edges of the clock cycle.
Also, each memory device on an RDRAM module provides up to 1.6 gigabytes per second of
bandwidth - twice the bandwidth available with current 100MHz SDRAM.
In addition to chip technologies designed for use in main memory, there are also specialty
memory technologies that have been developed for video applications.
MEMORY TECHNOLOGIES FOR VIDEO OR GRAPHICS PROCESSING
VIDEO RAM (VRAM)
VRAM is a video version of FPM technology. VRAM typically has two ports instead of one, which
allows the memory to allocate one channel to refreshing the screen while the other is focused on
changing the images on the screen. This works much more efficiently than regular DRAM when it
comes to video applications. However, since video memory chips are used in much lower
quantities than main memory chips, they tend to be more expensive. So, a system designer may
choose to use regular DRAM in a video subsystem, depending on whether cost or performance is
the design objective.
WINDOW RAM (WRAM)
WRAM is another type of dual-ported memory also used in graphics-intensive systems. It differs
slightly from VRAM in that its dedicated display port is smaller and it supports EDO features.
SYNCHRONOUS GRAPHICS RAM (SGRAM)
SGRAM is a video-specific extension of SDRAM that includes graphics-specific read/write
features. SGRAM also allows data to be retrieved and modified in blocks, instead of individually.
This reduces the number of reads and writes that memory must perform and increases the
performance of the graphics controller by making the process more efficient.
BASE RAMBUS AND CONCURRENT RAMBUS
Before it even became a contender for main memory, Rambus technology was actually used in
video memory. The current Rambus main memory technology is called Direct Rambus. Two
earlier forms of Rambus are Base Rambus and Concurrent Rambus. These forms of Rambus
have been used in specialty video applications in some workstations and video game systems
like Nintendo 64 for several years.
OTHER MEMORY TECHNOLOGIES YOU MAY
HAVE HEARD ABOUT
ENHANCED SDRAM (ESDRAM)
In order to increase the speed and efficiency of standard memory modules, some manufacturers
have incorporated a small amount of SRAM directly into the chip, effectively creating an on-chip
cache. ESDRAM is essentially SDRAM, plus a small amount of SRAM cache, which allows for
burst operations of up to 200MHz. Just as with external cache memory, the goal of cache DRAM
is to hold the most frequently used data in the SRAM cache to minimize accesses to the slower
DRAM. One advantage of on-chip SRAM is that it enables a wider bus between the SRAM and
DRAM, effectively increasing the bandwidth and speed of the DRAM.
FAST CYCLE RAM (FCRAM)
FCRAM, co-developed by Toshiba and Fujitsu, is intended for specialty applications such as
high-end servers, printers, and telecommunications switching systems. It includes memory array
segmentation and internal pipelining that speed random access and reduce power consumption.
SYNCLINK DRAM (SLDRAM)
Though considered obsolete today, SLDRAM was developed by a consortium of DRAM
manufacturers as an alternative to Rambus technology in the late 1990s.
VIRTUAL CHANNEL MEMORY (VCM)
Developed by NEC, VCM allows different "blocks" of memory to interface inde-pendently with the
memory controller, each with its own buffer. This way, different system tasks can be assigned
their own "virtual channels," and information related to one function does not share buffer space
with other tasks occurring at the same time, making operations more efficient.
ERROR CHECKING
Ensuring the integrity of data stored in memory is an important aspect of memory design. Two
primary means of accomplishing this are parity and error correction code (ECC).
Historically, parity has been the most commonly used data integrity method. Parity can detect -
but not correct - single-bit errors. Error Correction Code (ECC) is a more comprehensive
method of data integrity checking that can detect and correct single-bit errors.
Fewer and fewer PC manufacturers are supporting data integrity checking in their designs. This is
due to a couple of factors. First, by eliminating support for parity memory, which is more
expensive than standard memory, manufacturers can lower the price of their computers.
Fortunately, this trend is complemented by the second factor: that is, the increased quality of
memory components available from certain manufacturers and, as a result, the relative
infrequency of memory errors.
The type of data integrity checking depends on how a given computer system will be used. If the
computer is to play a critical role - as a server, for example - then a computer that supports data
integrity checking is an ideal choice. In general:
· Most computers designed for use as high-end servers support ECC memory.
· Most low-cost computers designed for use at home or for small businesses support nonparity
memory.
PARITY
When parity is in use on a computer system, one parity bit is stored in DRAM along with every 8
bits (1 byte) of data. The two types of parity protocol - odd parity and even parity - function in
similar ways.
With normal parity, when 8 bits of data are written to DRAM, a corresponding parity bit is written
at the same time. The value of the parity bit (either a 1 or 0) is determined at the time the byte is
written to DRAM, based on an odd or even quantity of 1s. Some manufacturers use a less
expensive "fake parity" chip. This chip simply generates a 1 or a 0 at the time the data is being
sent to the CPU in order to accommodate the memory controller. (For example, if the computer
uses odd parity, the fake parity chip will generate a 1 when a byte of data containing an even
number of 1s is sent to the CPU. If the byte contains an odd number of 1s, the fake parity chip will
generate a 0.) The issue here is that the fake parity chip sends an "OK" signal no matter what.
This way, it "fools" a computer that's expecting the parity bit into thinking that parity checking is
actually taking place when it is not. The bottom line: fake parity cannot detect an invalid data bit.
This table shows how odd parity and even parity work. The processes are identical but with
opposite attributes.
ODD PARITY EVEN PARITY
Step 1
The parity bit will be forced to 1 (or turned "on") if its
corresponding byte of data contains an even number of 1's.
The parity bit is forced to 0 if the byte contains an
even number of 1's.
If the byte contains an odd number of 1's, the parity bit is
forced to 0 (or turned "off ").
The parity bit is forced to 1 if its corresponding byte of
data contains an odd number of 1's.
Step 2 The parity bit and the corresponding 8 bits of data are written
to DRAM.
(Same as for odd parity)
Step 3 Just before the data is sent to the CPU, it is intercepted by
the parity circuit.
(Same as for odd parity)
If the parity circuit sees an odd number of 1's, the data is
considered valid. The parity bit is stripped from the data and
the 8 data bits are passed on to the CPU.
Data is considered valid if the parity circuit detects an
even number of 1's.
If the parity circuit detects an even number of 1's, the data is
considered invalid and a parity error is generated.
Data is invalid if the parity circuit detects an odd
number of 1's.
Parity does have its limitations. For example, parity can detect errors but cannot make
corrections. This is because the parity technology can't determine which of the 8 data bits are
invalid.
Furthermore, if multiple bits are invalid, the parity circuit will not detect the problem if the data
matches the odd or even parity condition that the parity circuit is checking for. For example, if a
valid 0 becomes an invalid 1 and a valid 1 becomes an invalid 0, the two defective bits cancel
each other out and the parity circuit misses the resulting errors. Fortunately, the chances of this
happening are extremely remote.
ECC
Error Correction Code is the data integrity checking method used primarily in high-end PCs and
file servers. The important difference between ECC and parity is that ECC is capable of detecting
and correcting 1-bit errors. With ECC, 1-bit error correction usually takes place without the user
even knowing an error has occurred. Depending on the type of memory controller the computer
uses, ECC can also detect rare 2 bit memory errors. While ECC can detect a multiple-bit errors, it
cannot correct them. However, there are some more complex forms of ECC that can correct
multiple bit errors.
Using a special mathematical sequence, algorithm, and working in conjunction with the memory
controller, the ECC circuit appends ECC bits to the data bits, which are stored together in
memory. When the CPU requests data from memory, the memory controller decodes the ECC
bits and determines if one or more of the data bits are corrupted. If there's a single-bit error, the
ECC circuit corrects the bit. In the rare case of a multiple-bit error, the ECC circuit reports a parity
error.
Memory Scrubbing
Memory scrubbing is a feature initially implemented by most major server OEMs when ECC
DIMMs first became available. Memory scrubbing refers to a process that actively reads memory
during idle periods to search for and correct errors in memory. Therefore, the entire memory
subsystem would be periodically checked and cleansed as the scrubbing process repeated itself
over and over. If non-correctable memory errors are found the server management system would
be alerted as to which DIMM was causing the errors.
Chipkill
Chipkill is a highly advanced error correction method much more effective than standard ECC
correction. Chipkill provides error correction for up to four bits per DIMM. If too many memory
errors are detected chipkill technology can take the inoperative chip offline while the server is still
running to keep more errors from occurring. Chipkill support is provided in the memory controller
and implemented using standard ECC DIMMs, so it is transparent to the OS.
OTHER SPECIFICATIONS
In addition to form factors, memory technologies, and error checking methods, there are several
other specifications important to understanding and selecting memory products.
SPEED
The speed of memory components and modules is one of the most important factors in optimizing
a memory configuration. In fact, all computer systems specify a memory component speed.
Ensuring memory compatibility requires conforming to this specification. This section covers three
measurements of memory component and module speed: access time, megahertz, and bytes per
second.
ACCESS TIME
Prior to SDRAM, memory speed was expressed by access time, measured in nanoseconds (ns).
A memory module's access time indicates the amount of time it takes the module to deliver on a
data request. So, smaller numbers indicate faster access times. Typical speeds were 80ns, 70ns,
and 60ns. Very often, you can identify the speed of a module by the part number on the chip:
such part numbers end in "-6" for 60ns, "-7" for 70ns, and so on.
In most cases you can conform to a computer system's memory specification with a module rated
at the required speed or faster. For example, if your system requires 70ns memory, you can use
both 70ns and 60ns memory without a problem. However, some older systems check the module
ID for the rated speed at system-boot up, and will only boot up if they recognize the exact speed
they are looking for. If the system has an 80ns speed specification, for example, it won't accept
anything different than 80ns, even if it is faster. In many cases, modules could still be built for
these systems with faster memory chips on them, but the ID on the module would be set at the
slower speed to insure compatibility with the system. This is why you can't always be sure of the
rated speed on a module by looking at the speed markings on the memory chips.
MEGAHERTZ
Beginning with the development of SDRAM technology, memory module speed has been
measured in megahertz (MHz). Speed markings on the memory chips them-selves are typically
still in nanoseconds. This can be confusing, especially since these nanosecond markings no
longer measure access time, but instead measure the number of nanoseconds between clock
cycles. For SDRAM chips with speeds of 66MHz, 100MHz, and 133MHz, for example, the
corresponding marking on the chips are -15, -10, and -8, respectively.
This table shows the method for determining speed equivalencies between MHz and ns ratings.
-
!
-
"!
## ##$%%%$%%% $%%%$%%%$%%% &
%% %%$%%%$%%% $%%%$%%%$%%% %
$%%%$%%% $%%%$%%%$%%% '(&
nanoseconds per second 1,000,000,000ns nanoseconds
= =
clock cycles per second clock cycles clock cycle
As noted in a previous section, the speed of the processor and the speed of the memory bus are
normally not the same. The speed of memory is limited by the speed of the memory bus, which is
the slowest link in the process.
BYTES PER SECOND
Converting MHz to bytes per second can be confusing at first. The two most important pieces of
information you need to make the conversion is the speed (in MHz) and the width (in bits) of the
bus.
Bus Width: If you have an 8-bit bus, then 8 bits, or 1 byte of information at a time can travel on
the bus. If you have a 64-bit bus, then 64-bits, or 8 bytes of information can travel at a time.
Bus Speed: If the memory bus speed is 100MHz, this measures 100 million clock cycles per
second. Typically, one packet of information can travel on each clock cycle. If the 100MHz bus is
1 byte wide, then data can travel at 100 megabytes per second. Data travels on a 100MHz, 64-bit
bus at 800 megabytes per second.
Rambus modules are
sometimes measured in
MHz and sometimes
measured in megabytes per
second. One type of
Rambus module runs
on a 400MHz bus, but
because Rambus
modules can send two
pieces of information per
clock cycle instead of one,
the module is rated at
800MHz. This is sometimes
referred to as PC-800.
Because the Rambus bus
width is 16- bit, or 2 bytes
wide, data travels at
1600MB per second, or
1.6GB per second. Using
the same logic, PC-600
Rambus transfers data at 1.2 gigabytes per second.
REGISTERS AND BUFFERS
Registers and buffers improve memory operation by "re-driving" control signals in the memory
chips. They can be external to the memory module, or they can be located on the module itself.
Having registers and buffers placed directly on the memory module, enables a system to support
a greater quantity of modules. So, you're likely to find these types of modules in servers and highend
workstations. It is important to note that when upgrading, unbuffered and buffered (or
registered) modules cannot be mixed.
Buffering (EDO and FPM): For EDO and fast page modules, the process of re-driving the
signals is called buffering. With buffering there is no loss of performance.
Registering (SDRAM): For SDRAM, the signal driving process is called registering. Registering
is similar to buffering, except that in registering, the data is clocked in and out of the register by
the system clock. Registered modules are slightly slower than non-registered modules, because
the registering process takes one clock cycle.
An example of a buffered and a non-buffered module. They are keyed differently, to ensure that
they can't be used in place of one another.
MULTIPLE-BANKED MODULES
A multiple-banked module allows more flexibility in type of chips used. Multiple banking allows a
memory designer to divide the module into banks, which means it can appear to the computer
system to be more than one module. This design is equivalent to the banks of memory sockets in
a computer: the system accesses one bank of memory at a time, regardless of how many actual
memory sockets comprise a bank.
Some people confuse the terms "double-sided" and "dual-banked". To clarify: Double- sided is a
physical term meaning that chips are arranged on two sides of the memory module. Dual-banked
is an electrical term meaning that the module is divided electrically into two memory banks.
TIN VERSUS GOLD
Memory modules are manufactured with either tin leads (connectors) or gold leads. Gold is a
better conductor than tin. However, because tin is much less expensive than gold, computer
manufacturers began using tin sockets on system boards in the early 1990s to reduce their costs.
If you're buying memory and you have a choice - that is, compatible modules come in both tin
and gold - it's best to match the metal of the module to the metal of the socket it will be going into.
Matching metals can help avoid corrosion.
REFRESH RATES
Refresh is the process of recharging, or re-energizing, the "memory cells" in a memory chip.
Internally, computer memory is arranged as a matrix of memory cells in rows and columns - like
the squares on a checkerboard - with each column being further divided by the I/O width of the
memory chip. The entire organization of rows and columns is called a DRAM array. DRAM is
called "dynamic" RAM because it must be refreshed, or re-energized, thousands of times each
second in order to retain data. It has to be refreshed because its memory cells are designed
around tiny capacitors that store electrical charges. These capacitors work like very tiny batteries
that lose their stored charges if they are not re-energized. Also, the process of reading data from
the memory array drains these charges, so the memory cells must also be pre-charged before
reading the data.
Cells are refreshed one row at a time (usually one row per refresh cycle).The term refresh rate
refers not to the time it takes to refresh the memory but to the total number of rows that it takes to
refresh the entire DRAM array. For example, a refresh rate of 2K indicates that it takes 2,048
rows to refresh the array; likewise, a 4K rate indicates 4,096 rows.
Normally, the system's memory controller initiates the refresh operation. But some chips are able
to "self refresh." This means that the DRAM chip has its own refresh circuitry and does not
require intervention from the CPU or external memory controller. Self-refresh modules
dramatically reduce power consumption and are often used in portable computers.
CAS LATENCY
The term CAS latency refers to the number of clock cycles it takes before a column can be
addressed on the DRAM chip. Latency is a measure of delay, so a "CL2" CAS latency factor
indicates a two-clock cycle delay, and a "CL3" latency factor indicates a three-clock cycle delay.
When SDRAM chips first came out, it was difficult to produce chips with a CAS latency factor as
low as CL2. And although some specifications called for CL2, many modules worked fine at a
CAS latency factor of CL3.
HEAT SPREADERS AND HEAT SINKS
As memory components get faster, chips become more dense and more circuits get squeezed
onto smaller boards. Dissipation of excess heat becomes more of an issue. For several years
now processors have incorporated fans. Newer memory module designs use heat sinks or heat
spreaders to maintain safe operating temperatures.
SERIAL PRESENCE DETECTS (SPD) AND PARALLEL PRESENCE DETECTS (PPD)
When a computer system boots up, it must "detect" the configuration of the memory modules in
order to run properly. Parallel Presence Detect is the traditional method of relaying the required
information by using a number of resistors. PPD is the method SIMMs and some DIMMs use to
identify themselves. Serial Presence Detect uses an EEPROM (Electrically Erasable
Programmable Read-Only Memory) to store information about the module.
An EEPROM chip (also known as an E2PROM) differs from an EPROM in that it does not need
to be removed from the computer to be modified. However, it does have to be erased and
reprogrammed in its entirety, not selectively. It also has a limited lifespan - that is, the number of
times it can be reprogrammed is limited.
NUMBER OF CLOCK LINES (2-CLOCK VERSUS 4-CLOCK)
SDRAM memory requires that clock lines run from the system clock to the memory module. "2-
clock" means there are two clock lines running to the module, and "4-clock" means there are four
clock lines running to the module. The first Intel designs were 2-clock because there were only
eight chips on the module. Later, 4-clock designs were developed, which allowed for fewer chips
per clock line, thereby decreasing the load on each line and enabling a quicker data interface.
VOLTAGES
Voltages on memory modules keep decreasing as memory cells in DRAMs get closer together
and heat becomes more of an issue. Most computer systems used to operate at a standard of 5
volts. Compact notebook computers were the first to use 3.3-volt chips. This was not only
because of heat issues; since lower voltage chips use less power, using them made it easier to
prolong battery life. Now most desktops are standardized on 3.3-volt memory as well, but this is
quickly being replaced by 2.5 voltage chips as products continue to get smaller and components
closer together.
COMPOSITE VERSUS NON-COMPOSITE
Composite and non-composite were terms first used by Apple Computer to explain the difference
between modules of the same capacity that used a different number of chips. To illustrate: when
the industry is transitioning from one chip density to another, there is normally a stage where you
can build, for example, a memory module with 8 of the new density chips, or 32 of the old density
chips. Apple referred to the module using the latest technology and fewer chips as "noncomposite",
and the version using earlier technology and greater number of chips as "composite".
Because 32 chips on a module can cause heat and spacing problems, Apple would often advise
customers to buy non-composite modules.
WHAT TO CONSIDER WHEN BUYING MEMORY
O
ne of the quickest and easiest ways to identify the right memory modules and expansion
options for your computer is to use a memory configurator. Like some of the other major memory
manufacturers, Kingston makes a memory configurator available. You can access Kingston's
configurator through their home page at www.kingston.com.
The most important thing to ensure when buying memory is compatibility with your system. In
addition, you'll need to decide how much memory you need and beyond that lie considerations of
price, quality, availability, service, and warranty. This section helps you address these important
decision factors and helps you answer questions like these:
· How much memory do I need?
· How much memory will my system recognize?
· What kind of memory is compatible with my system?
· How many sockets are open and how should I fill them?
· How do I determine the quality of memory?
· What should I know about memory prices?
· What other issues should I consider?
COMPATIBILITY
As mentioned earlier, compatibility of memory components with your computer system is
arguably the most important factor to consider when upgrading memory. This section can get you
started; it also makes frequent mention of the advantages of using a memory configurator.
WHAT KIND OF MEMORY IS COMPATIBLE WITH MY SYSTEM?
The easiest way to determine what type of memory goes with your system is to consult with your
system documentation. If you need further assistance, consult a memory configurator available
from many sources,
· System manufacturer/model
· Computer model name
· Memory module part number (distributor, manufacturer)
· Specification
· Generic memory
WHAT IF I CAN'T FIND MY SYSTEM IN A MEMORY CONFIGURATOR?
If you can't find your system in the memory configuration programs, you can still find out what
kind of memory you need by consulting the manual that came with your system. In most cases,
the manual will provide basic specifications such as the speed and technology of the memory you
need. This information is usually enough to choose a module by specification. If you don't feel
you have enough information, you can call your system manufacturer.
HOW MANY SOCKETS DO I HAVE OPEN?
You may or may not have an idea what the inside of your computer looks like and how memory is
configured. You may have opened up your computer when you bought it to see the configuration
inside, or you may have looked at a configuration diagram in your user's manual. Even if you
have no idea of the memory configuration of your system, you can use Kingston's memory
configuration tools to find out. For each system, the configuration includes a diagram, called a
bank schema, which indicates how the memory sockets are arranged in your system and what
the basic configuration rules are. The simple tutorial on the next page outlines how to use a bank
schema diagram to determine the number of sockets in your system and how to fill them.
HOW TO READ A BANK SCHEMA
A bank schema is a diagram of rows and columns that shows the number of memory sockets in
your system. This diagram is a theoretical bank layout and not an actual system board layout; it is
designed to help you quickly determine configuration requirements when adding memory
modules.
In a bank schema, each [__] represents a memory socket:
Example: [__][__][__][__] = 4 memory sockets
Each column in the diagram represents a memory bank. The number of " " symbols in a column
represents the number of memory sockets in a bank. Upgrading is performed one bank at a time.
For example, if there are four columns with two [__] in each column, upgrading is done two
modules at a time. However, if there is just a single row of [__], upgrading may be performed one
module at a time.
Examples:
8 sockets = [__][__][__][__][__][__][__][__]
(Modules may be installed one at a time in any combination)
8 sockets (4 banks of 2) =
(Modules must be installed two at a time)
4 sockets (1 bank of 4) =
(Modules must be installed four
at a time)
The standard memory (base amount that the system was shipped with) appears in the diagram
as either removable or non-removable.
Removable memory comes in the form of modules that fit into memory sockets, and, if desired,
can be removed and replaced with modules of higher capacity. Removable memory is
represented by a " " symbol with a number next to it: 4 [___] that a 4MB module is in
the first socket and that the second socket is empty.
Non-removable memory usually comes in the form of memory chips soldered directly onto the
system board. It is represented in the bank schema in brackets: [_4MB_] indicates 4MB of nonremovable
memory soldered onto the board and two available memory sockets.
If your system is not included in the configurator, you may be able to find out how many sockets
are in the system and how many are filled by pressing the F1 key during system startup. If your
system supports this, a screen will appear that indicates how many memory sockets are in the
system, which ones are filled and which are open, and what capacity modules are in each socket.
If pressing the F1 key during startup doesn't produce this result, check your computer's system
manual for more information.
As a last resort, you can open your computer and take a look at the sockets. (Important Note:
Before removing the cover of your computer, refer to the computer's system manual and warranty
information for instructions and other relevant information.) If you do open the computer, you may
be able to identify "bank labels" that indicate whether memory are installed in pairs. Bank
numbering typically begins with 0 instead of 1. So, if you have two banks, the first bank will be
labeled "bank 0", and the second bank will be labeled "bank 1."
HOW SHOULD I FILL THE SOCKETS?
In most cases, it's best to plan your memory upgrade so you won't have to remove and discard
the memory that came with the computer. The best way to manage this is to consider the memory
configuration when you first buy the computer. Because lower-capacity modules are less
expensive and more readily available, system manufacturers may achieve a base configuration
by filling more sockets with lower-capacity modules. By way of illustration, consider this scenario:
a computer system with 64MB standard memory comes with either two (2) 32MB modules or one
(1) 64MB module. In this case, the second configuration is the better choice because it leaves
more room for growth and reduces the chance that you'll have to remove and discard lowercapacity
modules later. Unless you insist on the (1) 64MB module configuration, you may find
yourself with only one socket left open for upgrading later.
Once you have purchased a computer and are planning your first upgrade, plan to buy the
highest-capacity module you think you may need, especially if you only have one or two sockets
available for upgrading. Keep in mind that, in general, minimum memory requirements for
software applications double every 12 to 18 months, so a memory configuration that's considered
large today will seem much less so a year from now.
QUALITY
As with any type of product, memory can vary in the quality from one manufacturer to another. In
general, the larger, more established brand name companies are more consistent in adhering to
tight design specifications, using high-quality components, and establishing certified quality
control processes for manufacturing and thorough testing. That's not to say that lower-quality
modules don't work fine - they may be the right solution, depending on how hard you work your
system. In deciding the level of quality you require, consider the following:
1. If the memory you buy doesn't perform well, will you be comfortable returning it for a
replacement? Would you have the time to deal with removing the memory and waiting a
couple of days to a week to get the situation resolved?
2. When memory is of low quality, you often experience intermittent problems, such as the
computer "freezing" unexpectedly, or having frequent errors. How often do you save your
work, and if you were to lose your work, how much would that cost you? If you use your
computer to play games, read email, and surf the Internet, such interruptions and losses
may not be a big problem. But if you're running a business, losing a few hours of work
could be a serious matter.
3. The biggest risk with unreliable memory is data corruption: that is, some bits of data may
change or be read incorrectly. The result of data corruption could be as harmless as a
syntax error in a document, or as potentially serious as a miscalculation in a spreadsheet.
How important is the accuracy of the work you do on your computer? Again, if you use
your computer for gaming, writing letters, and the Internet, it may not be a problem. But if
you're managing your finances, you may want to do all you can to assure the reliability of
your data.
4. Just like all products, the quality and durability you require depends on how you use it.
Computer applications that require a lot of memory usually work the memory very hard.
These applications often work better with memory that exceeds the system's speed and
reliability specifications. If you're working in multimedia or using heavy number-crunching
programs, the chance of a lower-quality memory module failing is greater than if you're
only doing light work, such as simple word processing.
ASSESSING MEMORY QUALITY
Here are some important factors to keep in mind when assessing the quality of a brand of
memory:
DESIGN
Designers of memory modules can follow strict specifications or take short cuts to save money on
components. In general, manufacturers who do in-house design have more control over the
quality of the module than those who farm this work out.
COMPONENTS
The quality of the DRAM chips, PC boards, and other components used on the module are critical
to the overall quality of the module. Premium memory chips can cost up to 30% more than lowgrade
chips and high-quality PC boards cost about 50% more than lower quality alternatives.
ASSEMBLY
Many factors in module assembly can affect the overall quality of the module. In addition to
proper handling of components, solder quality affects how reliably information can travel from the
chip to the module and back. The temperature and humidity in the assembly and storage areas
must be regulated to prevent warping, expansion, and contraction of components during
assembly.
PROPER HANDLING
Electro-Static Discharge (ESD) is one of the most common causes of damage to a memory
module. ESD damage can result from excessive and inappropriate handling. Memory modules
should only be handled by workers who are properly "grounded" and modules should be properly
packaged to protect against ESD during shipping.
TESTING
The more thoroughly memory has been tested before it is shipped, the less chance of problems
during operation. In addition to standard production tests to ensure that the modules have been
built correctly, memory can be tested for compatibility in the systems in which it will be used. The
DRAM core can be tested for chip reliability, and modules can be tested "at speed" to make sure
they will work in high-use situations. Some companies perform testing at all levels, and some do
less testing.
PRICING AND AVAILABILITY
This section contains information that helps make sense of the fluctuations that can occur in the
memory market.
THE DRAM CHIP MARKET
Memory modules are made with DRAM chips, which are manufactured in mass quantities in
enormous fabrication plants (often referred to as "fabs"). Fabs can take up to two years to build
and require substantial capital investment: approximately $3 billion per plant. These time and cost
factors directly affect on the ability of the memory market to adjust quickly to fluctuations in supply
and demand. When demand for memory chips increases, chip manufacturers typically do not
respond immediately because the investment required to add more capacity is substantial and
may not pay off, especially if all the competitors are doing so at the same time. Therefore, the
immediate effect is that prices rise as manufacturers assess whether the increase on demand is
temporary or substantial enough to warrant investment. By the same token, when there is an
oversupply situation in the market, chip manufacturers are willing to sustain losses for a long time
while prices fall to below breakeven levels. This is because in many cases it costs more money to
shut a plant down than to continue to produce and sell chips at below cost. Also, the longer a
manufacturer can hold on, the greater the chance of "being there" to reap the rewards when
competitors reduce capacity and the market turns around again.
WHY MEMORY PRICES FLUCTUATE
There are several factors that can affect memory prices. A few of these include: demand, DRAM
manufacturing levels, inventory in the marketplace, time of the year, new operating system
releases, and computer sales. All these things can affect memory prices at different times, either
separately or simultaneously.
The most important thing to keep in mind when buying memory is that the price of 256MB today
will most likely be different than the price of 256MB next quarter. The best rule of thumb is to
compare memory prices close to your time of purchase. When doing price comparisons, it's more
important to make sure you are making equivalent comparisons on module types than how the
actual price per MB varies over time. If there are shortages in the market it's most important to be
sure that what appears to be a "great deal" isn't a "short-cut" module built from off-spec
components. In an oversupply market, you're much more likely to get a great price, but keep in
mind that many manufacturers are losing money and may take shortcuts on testing and other
expensive production quality measures to compensate. Refer to the quality section above for
more details on this.
HOW TO INSTALL MEMORY
Congratulations! You have new memory for your computer. Now you have to install it. This
chapter will guide you through the basics of memory module installation and refer you to
resources that can help with problems.
BEFORE YOU INSTALL
Before you start, make sure you have the following:
1. Your computer manual. To install memory, you must open the computer box (chassis)
and locate the memory sockets. You may need to unplug cables and peripherals, and reinstall
them afterward. The manual will most likely provide instructions specific to your
computer.
2. A small screwdriver. Most computer chassis assemble
with screws. The screwdriver also comes in
handy if the notches on memory sockets are too tiny
for your fingers.
IMPORTANT THINGS TO KEEP IN MIND
ESD DAMAGE
Electro-Static Discharge (ESD) is a frequent causes of damage to the memory module. ESD is
the result of handling the module without first properly grounding yourself and thereby dissipating
static electricity from your body or clothing. If you have a grounded wrist strap, wear it. If you
don't, before touching electronic components - especially your new memory module - make sure
you first touch an unpainted, grounded metal object. Most convenient is the metal frame inside
the computer. In addition, always handle the module by the edges. If ESD damages memory,
problems may not show up immediately and may be difficult to diagnose.
Wearing a grounded wrist strap can prevent ESD damage.
SWITCHING OFF THE POWER
Before opening the chassis, always power-off your computer and all attached peripherals.
Leaving power on can cause permanent electrical damage to your computer and its components.
INSTALLING THE MEMORY
The vast majority of computers today have memory sockets that accept the following industrystandard
memory modules:
Desktops, Workstations and Servers
· 72-pin SIMM
· 168-pin DIMM
· 184-pin RIMM
Notebooks and Mobile Computers
· 144-pin SO DIMM
Although sockets may be in different places on different computers, installation is the same.
Consult the computer owner's manual to find out whether the memory sits on an expansion card
or on the motherboard, and whether internal computer components must be moved to gain
access.
In the section below are installation instructions for the standard modules listed above, followed
by installation instructions for some of the more popular
proprietary memory modules. If the computer requires
proprietary memory, or the instructions below don't
seem to apply to your situation, phone Kingston
Technology's Technical Support Group at (800) 435-0640.
INSTALLING A 72-PIN
SIMM
Installation of a 72-pin SIMM.
1. Place your computer's power switch in the off position and disconnect the AC power
cord.
2. Follow the instructions in your owner's manual that describe how to locate your
computer's memory expansion sockets.
3. Before touching any electronic components or opening the package containing your new
module(s), make sure you first touch an unpainted, grounded metal object to discharge
any static electricity you may have stored on your body or clothing.
4. Handle your new module(s) carefully; do not flex or bend the module(s). Always grasp
the module by its edges.
5. As shown in the illustration, the module and the expansion socket are keyed. A small
plastic bridge in the socket must align with the curved notch in the module. The bridge
ensures the module can only be plugged into the socket one way.
6. Insert the module into the socket at a slight angle. Make sure the module is completely
seated in the socket. If you're having problems inserting the module into the socket, stop
and examine both the module and the socket; make sure the notch in the module is
properly aligned with the keyed plastic bridge in the socket. Do not force the module into
the socket. If too much force is used, both the socket and module could be damaged.
7. Once you are satisfied the module is seated properly in the socket, rotate the module
upward until the clips at each end of the expansion socket click into place.
8. After all modules have been installed, close the computer, plug in the AC power cord,
and reinstall any other cables that may have been disconnected during the installation
process.
INSTALLING A 168-PIN DIMM
1. Locate the memory expansion sockets on the
computer's motherboard. If all the sockets are full,
you will need to remove smaller capacity modules to
allow room for higher capacity modules.
2. For some installations, DIMM memory can be
installed in any available expansion slot. Other
installations may require the memory to be installed in
a particular sequence based on the module's capacity. Check your owner's manual to
determine the correct installation sequence for your configuration.
3. Insert the module into an available expansion socket as shown in the illustration. Note
how the module is keyed to the socket. This ensures the module can be plugged into the
socket one way only. Firmly press the module into position, making certain the module is
completely seated in the socket. Repeat this procedure for any additional modules you
are installing.
4. Most 168-pin DIMM modules have ejector tabs similar to those shown in the illustration.
The ejector tabs are used only when you need to remove a module. By pressing down on
the ejector tabs, the module will pop up from the socket and it can be removed.
INSTALLING A 184-PIN RIMM
Installation of a 184-pin RIMM. RIMMs install into RIMM connectors. Currently,
there are two connectors on the computer board, and each must contain a RIMM or
a C-RIMM (continuity RIMM). C-RIMMs do not contain memory devices. They are
inexpensive pass-through modules that provide a continuous channel for the signal.
1. Turn off the computer and disconnect the AC power cord.
2. Locate your computer's memory expansion sockets by following the instructions in your
owner's manual.
3. Before touching any electronic components, make sure you first touch an unpainted,
grounded metal object to discharge any static electricity stored on your clothing or body.
4. If all the sockets are full, you will need to remove smaller capacity modules to allow room
for higher capacity modules.
5. The ejector tabs shown in the illustration are used to remove a module. By pushing
outward on the ejector tabs, the module will pop up from the socket and it can then be
removed.
6. For most installations, Rambus modules can be installed in any available expansion
socket, but any empty sockets must contain a continuity module as shown in the
illustration. Note that some modes may use a specific installation sequence for Rambus
modules (e.g. Rambus dual-channel configurations); see your owner's manual for more
details.
7. Insert the module into an available expansion socket as shown in the illustration. Note
how the module is keyed to the socket. This ensures the module can be plugged into the
socket one way only. Firmly press the module into position, making certain the module is
completely seated in the socket. The ejector tabs at each end of the socket will
automatically snap into the locked position. Repeat this procedure for any additional
modules are installing.
8. Once the module or modules have been installed, close the computer.
EXAMPLES OF NOTEBOOK MEMORY INSTALLATION
Although more and more notebooks accept standard SO DIMM memory modules, many still
require proprietary modules having unique form factors. No standard dictates where the memory
should be installed in the notebook. Because notebooks differ greatly in how memory is installed,
you should consult your computer manual for specific instructions.This example shows a typical
144-pin SO DIM installation.
1. Always turn off your computer and remove the rechargeable battery pack before installing
the memory.
2. Insert the module into the socket at a slight angle (approximately 30 degrees). Note that
the socket and module are both keyed, which means the module can be installed one
way only.
3. To seat the module into the socket, apply firm, even pressure to each end of the module
(see the arrows) until you feel it slip down into the socket. If you are having problems
getting the module to seat properly, try rocking the module up and down slightly, while
continuing to apply pressure. When properly seated, the contact fingers on the edge of
the module will almost completely disappear inside the socket.
4. With the module properly seated in the socket, rotate the module downward, as indicated
in the illustration. Continue pressing downward until the clips at each end of the socket
lock into position. With most sockets, you will hear a distinctive click, indicating the
module is correctly locked into position.
TROUBLESHOOTING MEMORY PROBLEMS
COMMON MEMORY PROBLEMS
When you have a problem with memory, the cause is usually one of three things:
Improper Configuration: You have the wrong part for your computer or did not follow the
configuration rules.
Improper Installation: The memory may not be seated correctly, a socket is bad, or the socket
may need cleaning.
Defective Hardware: The memory module itself is defective.
The fact that many computer problems manifest themselves as memory problems makes
troubleshooting difficult. For example, a problem with the motherboard or software may produce a
memory error message.
This chapter is designed DB Consulting 2004© to help you figure out if you have a memory
problem, and if so, what kind of problem it is, so you can get to a solution as quickly as possible.
BASIC TROUBLESHOOTING
The following basic steps apply to almost all situations:
1. Make sure you have the right memory part for your computer. At the manufacturer's
Web site you can look up the part number. Many memory manufacturers have
configurator, which indicate the compatibilities of your module. If not, phone the memory
manufacturer, consult your computer manual, or phone the computer manufacturer.
2. Confirm that you configured the memory correctly. Many computers require module
installation in banks of equal-capacity modules. Some computers require the highest
capacity module to be in the lowest labeled bank. Other computers require that all
sockets be filled; still others require single-banked memory. These are only a few
examples of special configuration requirements. If you have a name-brand computer, visit
Kingston's Web site (www.kingston.com) or use our upgrade manual to look up
configuration rules specific to your computer. You can also contact technical support for
your memory or computer manufacturer.
3. Re-install the module. Push the module firmly into the socket. In most cases you hear a
click when the module is in position. To make sure you have a module all the way in the
socket, compare the height of the module to the height of other modules in neighboring
sockets.
4. Swap modules. Remove the new memory and see whether the problem disappears.
Remove the old memory, reinstall the new, and see whether the problem persists. Try the
memory in different sockets. Swapping reveals whether the problem is a particular
memory module or socket, or whether two types of memory aren't compatible.
5. Clean the socket and pins on the memory module. Use a soft cloth to wipe the pins
on the module. Use a PC vacuum or compressed air to blow dust off the socket. Do NOT
use solvent, which may corrode the metal or prevent the leads from making full contact.
Flux Off is a cleaner used specifically for contacts. You can purchase it at electronics or
computer equipment stores.
6. Update the BIOS. Computer manufacturers update BIOS information frequently and post
revisions on their Web sites. Make sure you have the most recent BIOS for your
computer. This applies especially when you have recently installed new software or you
are significantly upgrading memory.
WHEN THE PROBLEM OCCURS
When the problem occurs is a clue as to the cause.
For example, your response to a memory error message depends on whether:
1. You have just bought a new computer.
2. You have just installed new memory.
3. You have just installed new software or a new operating system.
4. You have just installed or removed hardware.
5. Your computer has been running fine and you've made no other recent changes.
Here are rules to get started:
YOU'VE JUST BOUGHT A NEW COMPUTER
If you have just purchased a new computer and it is producing memory errors, the problem could
be related to anything, including a bad computer board. In this case, you need to troubleshoot the
entire computer, including memory. Because the computer dealer will have configured memory
and run system tests before shipping, they can best help.
YOU'VE JUST INSTALLED NEW MEMORY
If you have just installed new memory; the first possibility is that you installed incorrect parts.
Double-check the part numbers. Confirm that you have configured and installed the memory
correctly.
YOU'VE INSTALLED NEW SOFTWARE OR OPERATING SYSTEM
Newer software or operating systems tend to push memory harder than older operating systems.
Sometimes memory that worked fine prior to a software installation begins producing errors once
it runs memory-intensive software. New software also has bugs, and beta versions are notorious
for producing memory errors. In these cases, your first step should be to ensure you have the
latest BIOS and service patches for your software. Otherwise contact the memory vendor. A
technical support representative may have experience with other software incidents and can walk
you through more-detailed troubleshooting.
YOU'VE INSTALLED OR REMOVED HARDWARE
If you have just installed or removed hardware and suddenly receive memory error messages,
the first place to look is in the computer itself. A connection may have come loose during the
installation or the new hardware may be defective; in either case the errors are manifesting
themselves as memory problems. Make sure you have the latest drivers and firmware. Most
hardware manufacturers will post updates on their Web sites.
UNEXPECTED PROBLEMS
If your system has been running fine, but suddenly starts to produce memory errors, and crash or
lock up frequently, the chance of a hardware failure is more likely, since configuration and
installation problems show up as soon as the computer turns on. Sometimes you can get memory
problems if your computer is overheating, if you are having a problem with your power supply, or
if corrosion has developed between the memory module and the socket, weakening the
connection.
HANDLING SPECIFIC PROBLEMS
Here is a list of the most common ways the computer informs you of a memory problem.
1. The computer won't boot, merely beeps.
2. The computer boots but the screen is blank.
3. The computer boots but the screen is blank.
4. The computer reports a memory error.
a. Memory mismatch error
b. Memory parity interrupt at xxxxx
c. Memory address error at xxxxx
d. Memory failure at xxxxx, read xxxxx, expecting xxxxx
e. Memory verify error at xxxxx
5. The computer has other problems caused by memory.
. The computer intermittently reports errors, crashes frequently, or spontaneously reboots.
a. Registry Errors
b. General-protection faults, page faults, and exception errors
6. The server system manager reports a memory error.
The following translations help you understand what the computer means when it gives you one
of these signals.
1. Computer won't boot, merely beeps.
Every time the computer starts, it takes inventory of hardware. Inventory consists of the
computer BIOS recognizing, acknowledging, and in some cases, assigning addresses to,
the components in the computer. If the computer won't boot, the CPU is unable to
communicate with hardware. The cause can be improper installation or failure of the
BIOS to recognize hardware. Follow basic troubleshooting, paying special attention to
whether the memory module is completely installed and that you have the latest version
of the BIOS.
2. Computer boots but doesn't recognize all the installed memory. When the computer
boots, a part of the process is counting memory. On some machines the count appears
on the screen and on others is masked. If the count is masked, from the computer set-up
menu see how much memory the computer thinks it has. If the computer counts to or lists
a number less than the memory you installed, the computer hasn't recognized all the
memory.
Sometimes the computer will recognize only part of a module. This is almost always due
to using the wrong kind of memory. For example, if your computer accepts only singlebanked
memory and you have installed dual-banked, the computer will read only half the
memory on the module. Sometimes the computer will accept only modules containing
memory chips with specific organizations. For example, the VX chipset doesn't work well
with 64 Mbit chips.
In many computers the maximum amount of memory the computer can recognize is
lower than the maximum amount you can physically install. For example, your computer
may have three sockets, each of which can hold a 128MB module. If you filled every
socket with 128MB, you would have 384MB of memory. However, your computer may
recognize a maximum of 256MB. In most cases you can avoid this problem by consulting
your computer manual or a memory configuration Web site before purchasing memory.
Or visit the Kingston Web site.
3. The computer boots but the screen is blank. The most common reason for a blank
screen is a dislodged card, memory not fully seated, or memory the computer doesn't
support. Confirm that the memory is installed properly and that other components in the
computer were not accidentally disconnected or dislodged while you installed memory.
Double-check that you have the right part number for the computer. If you have nonparity
memory in a computer that requires error-checking memory, or SDRAM memory in a
computer that supports only EDO, the screen may be blank at boot up.
4. The computer reports a memory error.
Memory mismatch error: This is not actually an error. Some computers require you to
tell them that it's OK to have a new amount of memory. Use the set-up menu to tell the
computer. Follow the prompts, enter the new amount, select Save, and exit.
Computer memory or address errors: All of the following errors, and those similar to
them, indicate that the computer has a problem with memory:
o Memory parity interrupt at xxxxx
o Memory address error at xxxxx
o Memory failure at xxxxx, read xxxxx, expecting xxxxx
o Memory verification error at xxxxx
Typically the computer will perform a simple memory test as it boots. The computer will
write information to memory and read it back. If the computer doesn't get what it was
expecting, then it will report an error and sometimes give the address where the error
occurred.
Such errors normally indicate a problem with a memory module but can sometimes
indicate a defective motherboard or incompatibility between old and new memory. To
verify that the new memory is causing the problem, remove the new memory and see
whether the problem goes away. Then remove the old memory and install only the new
memory. If the error persists, phone the memory manufacturer and ask for a
replacement.
5. The computer has other problems caused by memory.
The Computer Intermittently Reports Errors, Crashes Frequently, or
Spontaneously Reboots: Because of the large number of causes, these problems are
difficult to diagnose. Possible causes are ESD (Electro-static Discharge), overheating,
corrosion, or a faulty power supply. If you suspect ESD damage, contact the memory
manufacturer and ask for a replacement. Before you install new memory, see page 85 for
information on how to prevent ESD. If you suspect corrosion, clean the memory contacts
and the sockets as explained on page 96. If you suspect the power supply, you will have
to do overall computer troubleshooting with a focus on the power supply.
Registry Errors: Windows writes a large portion of the registry to RAM. Sometimes
defective memory will cause registry errors. Windows reports a registry error and prompts
you to restart and restore. If the prompts repeat, remove your newly installed memory
and restart the computer. If the errors disappear, ask the memory manufacturer for
replacement modules.
6. General-Protection Faults, Page Faults, and Exception Errors: The most common
cause is software. For example, one application may not have released the memory after
quitting or occupies the same memory addresses as another. In these cases, rebooting
should solve the problem. If the computer suddenly displays general-protection faults,
exception errors, or page faults after you have installed new memory, remove the new
memory and see whether the errors stop. If they occur only when the new memory is
installed, contact the memory manufacturer for assistance.
7. The server system manager reports a memory error. Most servers ship with system
managers that monitor component utilization and test for abnormalities. Some of these
system managers count soft errors in memory. Soft errors have been corrected by ECC
memory. If the rate of soft errors is higher than specifications, however, the system
manager issues a pre-failure warning. This warning enables the network administrator to
replace the memory and prevent system downtime.
If the system manager on your server issues a pre-failure warning or other memory error,
ask your memory manufacturer for a replacement. If the system manager continues to
issue errors after memory replacement, make sure you have the latest BIOS, software
service patches, and firmware. The chance of receiving two bad memory modules in a
row is low. Contact the memory manufacturer for compatibility troubleshooting.
Sometimes the server does not work well with certain types of memory chips or certain
memory designs.
STILL NEED HELP?
Most memory manufacturers have FAQ or Q-and-A sections on their Web sites. There are also
troubleshooting areas on the Web site of the computer manufacturer. If you can't find anything
online, phone technical support for the computer or memory manufacturer.
Windows XP
DB Consulting 2004© has created this guide to help you determine your optimal memory
requirements for Microsoft® Windows® XP.
Windows XP gives you the freedom, performance and reliability to experience more than you
ever thought possible with your computer and the Internet.
To find out how much memory you will need, select the description that most closely matches
your business or home computing usage.
Administrative and Service Personnel
Light to Medium - Word processing, email,
spreadsheets, fax/communications, Internet
128MB - 256MB
Medium to Heavy - Complex documents, running
multiple applications, business graphics,
presentation software
256MB - 512MB
Executives and Analysts
Light to Medium - Proposals, graphic
presentations, project management, databases,
Internet
128MB - 512MB
Medium to Heavy - Statistical applications. large
databases, complex presentations, video
conferencing
256MB-1024MB
Engineers and Designers
Light to Medium - 2-4 color line drawings,
multimedia presentations, photo editing, web
development, sound editing
256MB-1024MB
Medium to Heavy - 3D CAD, animation, complex
photo editing, real-time video, digital imaging, solid
modeling
256MB - 1GB
or System Max
This is my thesis i wrote for my degree in Computer science. if refers to how memory works. Its a large document so let it download.
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 or 184-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 1 GB per
module and can be installed singly instead of in pairs. Most PC memory modules and the
modules for the Mac G5 systems operate at 2.5 volts, while older Mac G4 systems typically
use 3.3 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 or 200 pins. Capacity ranges from 16 MB to 1 GB per module. To conserve space, the
Apple iMac desktop computer uses SO-DIMMs instead of the traditional DIMMs. Subnotebook
computers use even smaller DIMMs, known as Micro-DIMMs, which have either
144 pins or 172 pins.
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 errorchecking
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.
Since they operate at such high speeds, they generate much more heat than other types of
chips. To help dissipate the excess heat Rambus chips are fitted with a heat spreader, which
looks like a long thin wafer. Just like there are smaller versions of DIMMs, there are also SORIMMs,
designed for notebook computers.
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. 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 resouloution and colour
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.
Maybe you have been thinking about buying a computer, and it has occurred to you that you
might want to buy a laptop version. After all, today's laptops have just as much computing
power as desktops, without taking up as much space. You can take a laptop on the road with
you to do your computing or make presentations. Perhaps you prefer comfortably working on
your couch in front of the TV instead of sitting at a desk. Maybe a laptop is for you.
A Brief History
Alan Kay of the Xerox Palo Alto Research Center originated the idea of a portable computer
in the 1970s. Kay envisioned a notebook-sized, portable computer called the Dynabook that
everyone could own, and that could handle all of the user's informational needs. Kay also
envisioned the Dynabook with wireless network capabilities. Arguably, the first laptop
computer was designed in 1979 by William Moggridge of Grid Systems Corp. It had 340
kilobytes of bubble memory, a die-cast magnesium case and a folding electroluminescent
graphics display screen. In 1983, Gavilan Computer produced a laptop computer with the
following features:
· 64 kilobytes (expandable to 128 kilobytes) of random access memory (RAM)
· Gavilan operating system (also ran MS-DOS)
· 8088 microprocessor
· touchpad mouse
· portable printer
· weighed 9 lb (4 kg) alone or 14 lb (6.4 kg) with printer
The Gavilan computer had a floppy drive that was not compatible with other computers, and
it primarily used its own operating system. The company failed.
In 1984, Apple Computer introduced its Apple IIc model. The Apple IIc was a notebook-sized
computer, but not a true laptop. It had a 65C02 microprocessor, 128 kilobytes of memory, an
internal 5.25-inch floppy drive, two serial ports, a mouse port, modem card, external power
supply, and a folding handle. The computer itself weighed about 10 to 12 lb (about 5 kg), but
the monitor was heavier. The Apple IIc had a 9-inch monochrome monitor or an optional
LCD panel. The combination computer/ LCD panel made it a genuinely portable computer,
although you would have to set it up once you reached your destination. The Apple IIc was
aimed at the home and educational markets, and was highly successful for about five years.
Later, in 1986, IBM introduced its IBM PC Convertible. Unlike the Apple IIc, the PC
Convertible was a true laptop computer. Like the Gavilan computer, the PC Convertible used
an 8088 microprocessor, but it had 256 kilobytes of memory, two 3.5-inch (8.9-cm) floppy
drives, an LCD, parallel and serial printer ports and a space for an internal modem. It came
with its own applications software (basic word processing, appointment calendar,
telephone/address book, calculator), weighed 12 lbs (5.4 kg) and sold for $3,500. The PC
Convertible was a success, and ushered in the laptop era. A bit later, Toshiba was
successful with an IBM laptop clone.
Since these early models, many manufacturers have introduced and improved laptop
computers over the years. Today's laptops are much more sophisticated, lighter and closer
to Kay's original vision.
The First Laptop?
By Ian McKay
The following claim is the sort of thing that can get you
into trouble, but only M.A.D. offers you the chance to
verify the news of what I imagine is the first auction
appearance of the Grid Compass Computer 1109 that
Bonhams, which offered it in a "20th Century Design"
sale of June 1, claimed is "the first ever lap-top
computer."
Designed in 1979 by a Briton, William Moggridge, for
Grid Systems Corporation, the Grid Compass was one fifth the weight of any model
equivalent in performance and was used by NASA on the space shuttle program in the
early 1980's.
The sale catalog describes it as a "340K byte bubble memory lap-top computer with diecast
magnesium case and folding electroluminescent graphics display screen."
Complete with manual, it sold for $800.
When you think about it, it's amazing how many different types of electronic memory you
encounter in daily life. Many of them have become an integral part of our vocabulary:
· RAM
· ROM
· Cache
· Dynamic RAM
· Static RAM
· Flash Memory
· Memory Sticks
· Virtual Memory
· Video memory
· BIOS
You already know that the Computer in front of you has memory. What you may not know is
that most of the electronic items you use every day have some form of memory also. Here
are just a few examples of the many items that use memory:
· Cell phones
· PDA’s
· Game consoles
· Car radios
· VCRs
· TVs
Each of these devices uses different types of memory in different ways!
In this article, you'll learn why there are so many different types of memory and what all of
the terms mean.
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. 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. 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.
How Much Do You Need?
It's been said that you can never have enough money, and the same holds 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 XP, Microsoft recommends 128MB as the minimum
RAM requirement. At 64MB, you may experience frequent application problems. For optimal
performance with standard desktop applications, 256MB is recommended. 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. Mac OS X systems should have a
minimum of 128 MB, or for optimal performance, 512 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.
Another question is how much VRAM you want on your video card. Almost all cards that you
can buy today have at least 16 MB of RAM. This is normally enough to operate in a typical
office environment. You should probably invest in a 32-MB or better graphics card if you
want to do any of the following:
· Play realistic games
· Capture and edit video
· Create 3-D graphics
· Work in a high-resolution, full-color environment
· Design full-color illustrations
When shopping for video cards, remember that your monitor and computer must be capable
of supporting the card you choose.
Read-only memory (ROM), also known as firmware, is an integrated circuit programmed
with specific data when it is manufactured. ROM chips are used not only in computers, but in
most other electronic items as well. In this edition you will learn about the different types of
ROM and how each works. This article is one in a series of articles dealing with computer
memory, including:
· How Computer Memory Works
· How RAM Works
· How Virtual Memory Works
· How Flash Memory Works
· How BIOS Works
Let's start by identifying the different types of ROM.
ROM Types
There are five basic ROM types:
· ROM
· PROM
· EPROM
· EEPROM
· Flash memory
Each type has unique characteristics, which you'll learn about in this article, but they are all
types of memory with two things in common:
· Data stored in these chips is nonvolatile -- it is not lost when power is removed.
· Data stored in these chips is either unchangeable or requires a special operation to
change (unlike RAM, which can be changed as easily as it is read).
This means that removing the power source from the chip will not cause it to lose any data.
ROM at Work
Similar to RAM, ROM chips (Figure 1) contain a grid of columns and rows. But where the
columns and rows intersect, ROM chips are fundamentally different from RAM chips. While
RAM uses transistors to turn on or off access to a capacitor at each intersection, ROM uses
a diode to connect the lines if the value is 1. If the value is 0, then the lines are not
connected at all.
Figure 1. BIOS uses Flash memory, a type of ROM.
A diode normally allows current to flow in only one direction and has a certain threshold,
known as the forward breakover, that determines how much current is required before the
diode will pass it on. In silicon-based items such as processors and memory chips, the
forward breakover voltage is approximately 0.6 volts. By taking advantage of the unique
properties of a diode, a ROM chip can send a charge that is above the forward break over
down the appropriate column with the selected row grounded to connect at a specific cell. If
a diode is present at that cell, the charge will be conducted through to the ground, and, under
the binary system, the cell will be read as being "on" (a value of 1). The neat part of ROM is
that if the cell's value is 0, there is no diode at that intersection to connect the column and
row. So the charge on the column does not get transferred to the row.
As you can see, the way a ROM chip works necessitates the programming of perfect and
complete data when the chip is created. You cannot reprogram or rewrite a standard ROM
chip. If it is incorrect, or the data needs to be updated, you have to throw it away and start
over. Creating the original template for a ROM chip is often a laborious process full of trial
and error. But the benefits of ROM chips outweigh the drawbacks. Once the template is
completed, the actual chips can cost as little as a few cents each. They use very little power,
are extremely reliable and, in the case of most small electronic devices, contain all the
necessary programming to control the device. A great example is the small chip in the
singing fish toy. This chip, about the size of your fingernail, contains the 30-second song
clips in ROM and the control codes to synchronize the motors to the music.
PROM
Creating ROM chips totally from scratch is time-consuming and very expensive in small
quantities. For this reason, mainly, developers created a type of ROM known as
programmable read-only memory (PROM). Blank PROM chips can be bought
inexpensively and coded by anyone with a special tool called a programmer.
PROM chips (Figure 2) have a grid of columns and rows just as ordinary ROMs do. The
difference is that every intersection of a column and row in a PROM chip has a fuse
connecting them. A charge sent through a column will pass through the fuse in a cell to a
grounded row indicating a value of 1. Since all the cells have a fuse, the initial (blank) state
of a PROM chip is all 1s. To change the value of a cell to 0, you use a programmer to send a
specific amount of current to the cell. The higher voltage breaks the connection between the
column and row by burning out the fuse. This process is known as burning the PROM.
Figure 2
PROMs can only be programmed once. They are more fragile than ROMs. A jolt of static
electricity can easily cause fuses in the PROM to burn out, changing essential bits from 1 to
0. But blank PROMs are inexpensive and are great for prototyping the data for a ROM before
committing to the costly ROM fabrication process.
EPROM
Working with ROMs and PROMs can be a wasteful business. Even though they are
inexpensive per chip, the cost can add up over time. Erasable programmable read-only
memory (EPROM) addresses this issue. EPROM chips can be rewritten many times.
Erasing an EPROM requires a special tool that emits a certain frequency of ultraviolet (UV)
light. EPROM’s are configured using an EPROM programmer that provides voltage at
specified levels depending on the type of EPROM used.
Once again we have a grid of columns and rows. In an EPROM, the cell at each intersection
has two transistors. The two transistors are separated from each other by a thin oxide layer.
One of the transistors is known as the floating gate and the other as the control gate. The
floating gate's only link to the row (wordline) is through the control gate. As long as this link
is in place, the cell has a value of 1. To change the value to 0 requires a curious process
called Fowler-Nordheim tunneling. Tunneling is used to alter the placement of electrons in
the floating gate. An electrical charge, usually 10 to 13 volts, is applied to the floating gate.
The charge comes from the column (bitline), enters the floating gate and drains to a ground.
This charge causes the floating-gate transistor to act like an electron gun. The excited
electrons are pushed through and trapped on the other side of the thin oxide layer, giving it a
negative charge. These negatively charged electrons act as a barrier between the control
gate and the floating gate. A device called a cell sensor monitors the level of the charge
passing through the floating gate. If the flow through the gate is greater than 50 percent of
the charge, it has a value of 1. When the charge passing through drops below the 50-percent
threshold, the value changes to 0. A blank EPROM has all of the gates fully open, giving
each cell a value of 1.
To rewrite an EPROM, you must erase it first. To erase it, you must supply a level of energy
strong enough to break through the negative electrons blocking the floating gate. In a
standard EPROM, this is best accomplished with UV light at a frequency of 253.7. Because
this particular frequency will not penetrate most plastics or glasses, each EPROM chip has a
quartz window on top of it. The EPROM must be very close to the eraser's light source,
within an inch or two, to work properly.
An EPROM eraser is not selective, it will erase the entire EPROM. The EPROM must be
removed from the device it is in and placed under the UV light of the EPROM eraser for
several minutes. An EPROM that is left under too long can become over-erased. In such a
case, the EPROM's floating gates are charged to the point that they are unable to hold the
electrons at all.
EEPROMs and Flash Memory
Though EPROMs are a big step up from PROMs in terms of reusability, they still require
dedicated equipment and a labor-intensive process to remove and reinstall them each time a
change is necessary. Also, changes cannot be made incrementally to an EPROM; the whole
chip must be erased. Electrically erasable programmable read-only memory (EEPROM)
chips remove the biggest drawbacks of EPROMs.
In EEPROMs:
· The chip does not have to removed to be rewritten.
· The entire chip does not have to be completely erased to change a specific portion of
it.
· Changing the contents does not require additional dedicated equipment.
Instead of using UV light, you can return the electrons in the cells of an EEPROM to normal
with the localized application of an electric field to each cell. This erases the targeted cells
of the EEPROM, which can then be rewritten. EEPROMs are changed 1 byte at a time,
which makes them versatile but slow. In fact, EEPROM chips are too slow to use in many
products that make quick changes to the data stored on the chip.
Manufacturers responded to this limitation with Flash memory, a type of EEPROM that uses
in-circuit wiring to erase by applying an electrical field to the entire chip or to predetermined
sections of the chip called blocks. Flash memory works much faster than traditional
EEPROMs because it writes data in chunks, usually 512 bytes in size, instead of 1 byte at a
time.
DB Consulting 2004© has written the definitive document related to memory and the technology
behind it. Everything you ever wanted to know about memory can be found here.
Select from the following topics:
· What is Memory?
· How Much Memory Do You Need?
· A Closer Look
· How Memory Works
· How Much Memory Is On a Module?
· Different Kinds of Memory
· Other Memory Technologies
· What to Consider When Buying Memory
· How to Install Memory
· Troubleshooting Memory Problems
· More About Kingston
· The Glossary
The Ultimate Memory Guide is also available in Adobe Acrobat (PDF) format, in the following
languages
WHAT IS MEMORY?
INTRODUCTION
These days, no matter how much memory your computer has, it never seems to be quite enough.
Not long ago, it was unheard of for a PC (Personal Computer), to have more than 1 or 2 MB
(Megabytes) of memory. Today, most systems require 128MB to run basic applications. And up
to 512MB or more is needed for optimal performance when using graphical and multimedia
programs.
As an indication of how much things have changed over the past two decades, consider this: in
1981, referring to computer memory, Bill Gates said, "640K (roughly 1/2 of a megabyte) ought to
be enough for anybody."
For some, the memory equation is simple: more is good; less is bad. However, for those who
want to know more, this reference guide contains answers to the most common questions, plus
much, much more.
THE ROLE OF MEMORY IN THE COMPUTER
People in the computer industry commonly use the term "memory" to refer to RAM (Random
Access Memory). A computer uses Ram to hold temporary instructions and data needed to
complete tasks. This enables the computer's CPU (Central Processing Unit), to access
instructions and data stored in memory very quickly.
A good example of this is when the CPU loads an application program - such as a word
processing or page layout program - into memory, thereby allowing the application program to
work as quickly and efficiently as possible. In practical terms, having the program loaded into
memory means that you can get work done more quickly with less time spent waiting for the
computer to perform tasks.
The process begins when you enter a command from your keyboard. The CPU interprets the
command and instructs the hard drive to load the command or program into memory. Once the
data is loaded into memory, the CPU is able to access it much more quickly than if it had to
retrieve it from the hard drive.
This process of putting things the CPU needs in a place where it can get at them more quickly is
similar to placing various electronic files and documents you're using on the computer into a
single file folder or directory. By doing so, you keep all the files you need handy and avoid
searching in several places every time you need them.
THE DIFFERENCE BETWEEN MEMORY AND STORAGE
People often confuse the terms memory and storage, especially when describing the amount
they have of each. The term memory refers to the amount of RAM installed in the computer,
whereas the term storage refers to the capacity of the computer's hard disk. To clarify this
common mix-up, it helps to compare your computer to an office that contains a desk and a file
cabinet.
The file cabinet represents the computer's
hard disk, which provides storage for all the
files and information you need in your
office. When you come in to work, you take
out the files you need from storage and put
them on your desk for easy access while
you work on them. The desk is like memory
in the computer: it holds the information and
data you need to have handy while you're
working.
Consider the desk-and-file-cabinet metaphor for a moment. Imagine what it would be like if every
time you wanted to look at a document or folder you had to retrieve it from the file drawer. It
would slow you down tremendously, not to mention drive you crazy. With adequate desk space -
our metaphor for memory - you can lay out the documents in use and retrieve information from
them immediately, often with just a glance.
Here's another important difference between memory and storage: the information stored on a
hard disk remains intact even when the computer is turned off. However, any data held in
memory is lost when the computer is turned off. In our desk space metaphor, it's as though any
files left on the desk at closing time will be thrown away.
MEMORY AND PERFORMANCE
It's been proven that adding more memory to a computer system increases its performance. If
there isn't enough room in memory for all the information the CPU needs, the computer has to set
up what's known as a virtual memory file. In so doing, the CPU reserves space on the hard disk
to simulate additional RAM. This process, referred to as "swapping", slows the system down. In
an average computer, it takes the CPU approximately 200ns (nanoseconds) to access RAM
compared to 12,000,000ns to access the hard drive. To put this into perspective, this is
equivalent to what's normally a 3 1/2 minute task taking 4 1/2 months to complete!
Access time comparison between RAM and a hard drive.
MEMORY UPGRADE ON A PC: LIFE IS GOOD
If you've ever had more memory added to your PC, you probably noticed a performance
improvement right away. With a memory upgrade, applications respond more quickly, Web pages
load faster, and you can have more programs running simultaneously. In short, additional
memory can make using your computer a lot more enjoyable.
MEMORY UPGRADE ON A SERVER: LIFE IS EVEN BETTER
These days, more and more people are using computers in a workgroup and sharing information
over a network. The computers that help distribute information to people on a network are called
servers. And their performance has a huge impact on the performance of the network: if a server
is performing poorly, everyone on the network "feels the pain." So, while a memory upgrade on
an individual PC makes a big difference for the person who uses it, a memory upgrade in a server
has even more far-reaching effects and benefits everyone who accesses the server.
To better understand the benefits of increasing memory on a server, take a look at these results
from an independent study done on Windows NT-based servers.
Application servers are utilized to host a wide range of applications, such as word processing and
spreadsheet programs. By increasing base memory from 64MB to 256MB, Windows NT Server
was able to support five times as many clients before transactions per second dropped.
Web servers are employed to serve up Web pages in response to HTTP requests from users.
Doubling memory can cut response time by more than 50%.
Directory servers are vital to corporate productivity, handling most email and messaging tasks. In
this environment, more memory increases the speed with which a server can access information
from linked databases. Doubling memory increased performance from 248 to 3000%.
How Much Memory Do You Need?
Perhaps you already know what it's like to work on a computer that doesn't have quite enough
memory. You can hear the hard drive operating more frequently and the "hour glass" or "wrist
watch" cursor symbol appears on the screen for longer periods of time. Things can run more
slowly at times, memory errors can occur more frequently, and sometimes you can't launch an
application or a file without first closing or quitting another.
So, how do you determine if you have enough memory, or if you would benefit from more? And if
you do need more, how much more? The fact is, the right amount of memory depends on the
type of system you have, the type of work you're doing, and the software applications you're
using. Because the right amount of memory is likely to be different for a desktop computer than
for a server, we've divided this section into two parts - one for each type of system.
Memory Requirements For A Desktop Computer
If you're using a desktop computer, memory requirements depend on the computer's operating
system and the application software you're using. Today's word processing and spreadsheet
applications require as little as 32MB of memory to run. However, software and operating system
developers continue to extend the capabilities of their products, which usually means greater
memory requirements. Today, developers typically assume a minimum memory configuration of
64MB. Systems used for graphic arts, publishing, and multimedia call for at least 128MB of
memory and it's common for such systems to require 256MB or more for best performance.
The chart on the next page provides basic guidelines to help you decide how much memory is
optimal for your desktop computer. The chart is divided by operating system and by different
kinds of work. Find the operating system you're using on your computer, then look for the
descriptions of work that most closely match the kind of work you do.
DESKTOP MEMORY MAP
WINDOWS® 2000 PROFESSIONAL
Windows 2000 Professional runs software applications faster. Notebook-ready and designed with
the future in mind, Windows 2000 Professional allows users to take advantage of a full range of
features today. Windows 2000 Professional is future-ready and promises to run today's and
tomorrow's applications better.
Baseline: 64MB - 128MB
Optimal: 128MB - 512MB
Light- Word processing, email, data-entry 64MB - 96MB
Medium- Fax/communications, database administration, spreadsheets; >2
applications open at a time
64MB - 128MB
Administrative & Service
Heavy- Complex documents, accounting, business graphics, presentation software,
network connectivity
96MB - 256MB
Light- Proposals, reports, spreadsheets, business graphics, databases, scheduling,
presentations
64MB - 96MB
Medium- Complex presentations, sales/market analysis, project management,
Internet access
96MB - 128MB
Executives & Analysts
Heavy- Statistical applications, large databases, research/technical analysis,
complex presentations, video conferencing
128MB -
512MB
Light- Page layout, 2 - 4 color line drawings, simple image manipulation, simple
graphics
96MB - 128MB
Medium- 2D CAD, rendering, multimedia presentations, simple photo-editing, Web
development
128MB -
512MB
Engineers & Designers
Heavy- Animation, complex photo-editing, real-time video, 3D CAD, solid modeling,
finite element analysis
256MB - 1GB
WINDOWS® 98
Windows 98 requires 16 - 32MB to run basic applications. Tests show 45 - 65% performance
improvements at 64MB and beyond.
Baseline: 32MB - 64MB
Optimal: 128MB - 256MB
Light- Word processing, basic financial management, email and other light Internet use 32MB - 64MB
Medium- Home office applications, games, Internet surfing, downloading images, spreadsheets,
presentations
64MB - 128MB
Students
Heavy- Multimedia use such as video, graphics, music, voice recognition, design, complex
images
128MB -
384MB
Light- Word processing, basic financial management, email and other light Internet use 32MB - 48MB
Medium- Home office applications, games, Internet surfing, downloading images, spreadsheets,
presentations 48MB - 64MB
Home Users
Heavy- Multimedia use such as video, graphics, music, voice recognition, design, complex
images
64MB - 128MB
LINUX®
The Linux operating system is quickly gaining popularity as an alternative to Microsoft Windows.
It includes true multitasking, virtual memory, shared libraries, demand loading, proper memory
management, TCP/IP networking, and other features consistent with Unix-type systems.
Baseline: 48MB - 112MB
Optimal: 112MB - 512MB
Light- Word processing, email, data-entry 48MB - 80MB
Medium- Fax /communications, database administration, spreadsheets; >2
applications open at a time
48MB - 112MB
Administrative & Service
Heavy- Complex documents, accounting, business graphics, presentation software,
network connectivity
80MB - 240MB
Light- Proposals, reports, spreadsheets, business graphics, databases, scheduling,
presentations 48MB - 80MB
Medium- Complex presentations, sales/market analysis, project management,
Internet access
80MB - 112MB
Executives & Analysts
Heavy- Statistical applications, large databases, research/technical analysis,
complex presentations, video conferencing
112MB -
512MB
Light- Page layout, 2 - 4 color line drawings, simple image manipulation, simple
graphics
80MB - 112MB
Medium- 2D CAD, rendering, multimedia presentations, simple photo-editing, Web
development 112MB -
512MB
Engineers & Designers
Heavy- Animation, complex photo-editing, real-time video, 3D CAD, solid modeling,
finite element analysis
240MB - 1GB
MACINTOSH™ OS
The Macintosh operating system manages memory in substantially different ways than other
systems. Still, System 9.0 users will find that 48MB is a bare minimum. When using PowerMac ®
applications with Internet connectivity, plan on a range between 64 and 128MB as a minimum.
Baseline: 48MB - 64MB
Optimal: 128MB - 512MB
Light- Word processing, email, data- entry 48MB - 64MB
Medium- Fax /communications, database administration, spreadsheets; >2
applications open at a time
64MB - 96MB
Administrative & Service
Heavy- Complex documents, accounting, business graphics, presentation software,
network connectivity
96MB - 128MB
Light- Proposals, reports, spreadsheets, business graphics, databases, scheduling,
presentations
64MB - 256MB
Medium- Complex presentations, sales/ market analysis, project management,
Internet access
128MB - 1GB
Executives & Analysts
Heavy- Statistical applications, large databases, research/ technical analysis,
complex presentations, video conferencing
96MB - 128MB
Light- Page layout, 2 - 4 color line drawings, simple image manipulation, simple
graphics
128MB -
512MB
Medium- 2D CAD, rendering, multimedia presentations, simple photo-editing, Web
development
256MB - 1GB
Engineers & ;Designers
Heavy- Animation, complex photo-editing, real- ime video, 3D CAD, solid modeling,
finite element analysis 512MB - 2GB
· Please Note: These figures reflect work done in a typical desktop environment. Higher-end workstation tasks may
require up to 4GB. Naturally, a chart such as this evolves as memory needs and trends change. Over time, developers
of software and operating systems will continue to add features and functionality to their products. This will continue to
drive the demand for more memory. More complex character sets, like Kanji, may require more memory than the
standard Roman based (English) character sets.
· SERVER MEMORY REQUIREMENTS
How can you tell when a server requires more memory? Quite often, the users of the
network are good indicators. If network-related activity such as email, shared
applications, or printing slows down, they'll probably let their Network Administrator know.
Here are a few proactive strategies that can be used to gauge whether or not a server
has sufficient memory:
· Monitor server disk activity. If disk swapping is detected, it is usually a result of
inadequate memory.
· Most servers have a utility that monitors CPU, memory, and disk utilization. Review this
at peak usage times to measure the highest spikes in demand.
Once it's determined that a server does need more memory, there are many factors to consider
when deciding on how much is enough:
What functions does the server perform (application, communication, remote access,
email, Web, file, multimedia, print, database)?
Some servers hold a large amount of information in memory at once, while others
process information sequentially. For example, a typical large database server does a lot
of data processing; with more memory, such a server would likely run much faster
because more of the records it needs for searches and queries could be held in memory -
that is, "at the ready." On the other hand, compared to a database server, a typical file
server can perform efficiently with less memory because its primary job is simply to
transfer information rather than to process it.
What operating system does the server use?
Each server operating system manages memory differently. For example, a network
operating system (NOS) such as the Novell operating system handles information much
differently than an application-oriented system such as Windows NT. Windows NT's
richer interface requires more memory, while the traditional Novell functions of file and
print serving require less memory.
How many users access the server at one time?
Most servers are designed and configured to support a certain number of users at one
time. Recent tests show that this number is directly proportional to the amount of memory
in the server. As soon as the number of users exceeds maximum capacity, the server
resorts to using hard disk space as virtual memory, and performance drops sharply. In
recent studies with Windows NT, additional memory allowed an application server to
increase by several times the number of users supported while maintaining the same
level of performance.
What kind and how many processors are installed on the server?
Memory and processors affect server performance differently, but they work hand in
hand. Adding memory allows more information to be handled at one time, while adding
processors allows the information to be processed faster. So, if you add processing
power to a system, additional memory will enable the processors to perform at their full
potential.
How critical is the server's response time?
In some servers, such as Web or e-commerce servers, response time directly affects the
customer experience and hence revenue. In these cases, some IT Managers choose to
install more memory than they think they would ever need in order to accommodate
surprise surges in use. Because server configurations involve so many variables, it's
difficult to make precise recommendations with regard to memory. The following chart
shows two server upgrade scenarios.
SERVER MEMORY MAP
WINDOWS® 2000 SERVER
Designed to help businesses of all sizes run better, Windows 2000 Server offers a manageable,
reliable and internet-ready solution for today's growing enterprises. For optimal performance,
consider adding more memory to take advantage of Windows 2000 Server's robust feature set.
Windows 2000 Server is internet-ready and promises to run today's and tomorrow's applications
better.
Baseline: 128MB
Optimal: 256MB - 1GB
Application Server Houses one or more applications to be accessed over a wide user base 256MB - 4GB
Directory Server Central Management of network resources 128MB - 1GB
Print Server Distributes print jobs to appropriate printers 128MB - 512MB
Communication Server Manages a variety of communications such as PBX, Voicemail, Email, and
VPN
512MB - 2GB
Web Server Internet and intranet solutions 512MB - 2GB
Database Server Manages simple to complex databases of varying sizes 256MB - 4GB
LINUX®
Linux is a reliable, cost-effective alternative to traditional UNIX servers. Depending on the
distribution, the Linux server platform features a variety of utilities, applications, and services.
Baseline: 64MB - 128MB
Optimal: 256MB - 1GB
Application Server Houses one or more applications to be accessed over a wide user base 64MB - 4GB
Directory Server Central Management of network resources 128MB - 1GB
Print Server Distributes print jobs to appropriate printers 128MB - 512MB
Communication Server Manages a variety of communications such as PBX, Voicemail, Email, and
VPN
512MB - 2GB
Web Server Internet and intranet solutions 512MB - 2GB
Database Server Manages simple to complex databases of varying sizes 256MB - 4GB
* Please Note: These figures reflect work done in a typical server environment. Higher-end
workstation tasks may require up to 4GB. Naturally, a chart such as this evolves as memory
needs and trends change. Over time, developers of software and operating systems will continue
to add features and functionality to their products. This will continue to drive the demand for more
memory. More complex character sets, like Kanji, may require more memory than the standard
Roman based (English) character sets.
A CLOSER LOOK
Memory comes in a variety of sizes and shapes. In general, it looks like a flat green stick with little
black cubes on it. Obviously, there's a lot more to memory than that. The illustration below shows
a typical memory module and points out some of its most important features.
WHAT MEMORY LOOKS LIKE
A closer look at a 168-pin SDRAM DIMM.
PCB (PRINTED CIRCUIT BOARD)
The green board that all the memory chips sit on is actually made up of several layers. Each layer
contains traces and circuitry, which facilitate the movement of data. In general, higher quality
memory modules use PCBs with more layers. The more layers a PCB has, the more space there
is between traces. The more space there is between traces, the lesser the chance of noise
interference. This makes the module much more reliable.
DRAM (DYNAMIC RANDOM ACCESS MEMORY)
DRAM is the most common form of RAM. It's called "dynamic" RAM because it can only hold data
for a short period of time and must be refreshed periodically. Most memory chips have black or
chrome coating, or packaging, to protect their circuitry. The following section titled "Chip
Packaging" shows pictures of chips housed in different types of chip packages.
CONTACT FINGERS
The contact fingers, sometimes referred to as "connectors" or "leads," plug into the memory
socket on the system board, enabling information to travel from the system board to the memory
module and back. On some memory modules, these leads are plated with tin while on others, the
leads are made of gold.
INTERNAL TRACE LAYER
The magnifying glass shows a layer of the PCB stripped away to reveal the traces etched in the
board. Traces are like roads the data travels on. The width and curvature of these traces as well
as the distance between them affect both the speed and the reliability of the overall module.
Experienced designers arrange, or "lay out", the traces to maximize speed and reliability and
minimize interference.
CHIP PACKAGING
The term "chip packaging" refers to the material coating around the actual silicon. Today's most
common packaging is called TSOP (Thin Small Outline Package). Some earlier chip designs
used DIP (Dual In-line Package) packaging and SOJ (Small Outline J-lead). Newer chips, such
as RDRAM use CSP (Chip Scale Package). Take a look at the different chip packages below, so
you can see how they differ.
DIP (DUAL IN-LINE PACKAGE)
When it was common for memory to be installed directly on the computer's system board, the
DIP-style DRAM package was extremely popular. DIPs are through-hole components, which
means they install in holes extending into the surface of the PCB. They can be soldered in place
or installed in sockets.
SOJ (SMALL OUTLINE J-LEAD)
SOJ packages got their name because the pins coming out of the chip are shaped like the letter
"J". SOJs are surface-mount components - that is, they mount directly onto the surface of the
PCB.
TSOP (THIN SMALL OUTLINE PACKAGE)
TSOP packaging, another surface-mount design, got its name because the package was much
thinner than the SOJ design. TSOPs were first used to make thin credit card modules for
notebook computers.
CSP (CHIP SCALE PACKAGE)
Unlike DIP, SOJ, and TSOP packaging, CSP packaging doesn't use pins to connect the chip to
the board. Instead, electrical connections to the board are through a BGA (Ball Grid Array) on the
underside of the package. RDRAM (Rambus DRAM) chips utilize this type of packaging.
CHIP STACKING
For some higher capacity modules, it is necessary to stack chips on top of one another to fit them
all on the PCB. Chips can be "stacked" either internally or externally. "Externally" stacked chip
arrangements are visible, whereas "internally" stacked chip arrangements are not.
WHERE MEMORY COMES FROM
MAKING THE CHIP
Amazing but true: memory starts out as common beach sand. Sand contains silicon, which is the
primary component in the manufacture of semiconductors, or "chips." Silicon is extracted from
sand, melted, pulled, cut, ground, and polished into silicon wafers. During the chip-making
process, intricate circuit patterns are imprinted on the chips through a variety of techniques. Once
this is complete, the chips are tested and die-cut. The good chips are separated out and proceed
through a stage called "bonding": this process establishes connections between the chip and the
gold or tin leads, or pins. Once the chips are bonded, they're packaged in hermetically sealed
plastic or ceramic casings. After inspection, they're ready for sale.
MAKING THE MEMORY MODULE
This is where memory module manufacturers enter the picture. There are three major
components that make up a memory module: the memory chips, PCB, and other "on-board"
elements such as resistors and capacitors. Design engineers use CAD (computer aided design)
programs to design the PCB. Building a high-quality board requires careful consideration of the
placement and the trace length of every signal line. The basic process of PCB manufacture is
very similar to that of the memory chips. Masking, layering, and etching techniques create copper
traces on the surface of the board. After the PCB is produced, the module is ready for assembly.
Automated systems perform surface-mount and through-hole assembly of the components onto
the PCB. The attachment is made with solder paste, which is then heated and cooled to form a
permanent bond. Modules that pass inspection are packaged and shipped for installation into a
computer.
WHERE MEMORY GOES IN THE COMPUTER
Originally, memory chips were connected directly to the computer's motherboard or system
board. But then space on the board became an issue. The solution was to solder memory chips
to a small modular circuit board - that is, a removable module that inserts into a socket on the
motherboard. This module design was called a SIMM (single in-line memory module), and it
saved a lot of space on the motherboard. For example, a set of four SIMMs might contain a total
of 80 memory chips and take up about 9 square inches of surface area on the motherboard.
Those same 80 chips installed flat on the motherboard would take up more than 21 square inches
on the motherboard.
These days, almost all memory comes in the form of memory modules and is installed in sockets
located on the system motherboard. Memory sockets are easy to spot because they are normally
the only sockets of their size on the board. Because it's critical to a computer's performance for
information to travel quickly between memory and the processor(s), the sockets for memory are
typically located near the CPU.
Examples of where memory can be installed.
MEMORY BANKS AND BANK SCHEMAS
Memory in a computer is usually designed and arranged in memory banks. A memory bank is a
group of sockets or modules that make up one logical unit. So, memory sockets that are
physically arranged in rows may be part of one bank or divided into different banks. Most
computer systems have two or more memory banks - usually called bank A, bank B, and so on.
And each system has rules or conventions on how memory banks should be filled. For example,
some computer systems require all the sockets in one bank to be filled with the same capacity
module. Some computers require the first bank to house the highest capacity modules. If the
configuration rules aren't followed, the computer may not start up or it may not recognize all the
memory in the system.
You can usually find the memory configuration rules specific to your computer system in the
computer's system manual. You can also use what's called a memory configurator. Most thirdparty
memory manufacturers offer free memory configurator available in printed form, or
accessible electronically via the Web. Memory configurator allow you to look up your computer
and find the part numbers and special memory configuration rules that apply to your system.
HOW MEMORY WORKS
Earlier, we talked about how memory holds information in a place where the CPU can get to it
quickly. Let's look at that process in more detail.
HOW MEMORY WORKS WITH THE PROCESSOR
Main components of a computer system.
The CPU is often referred to as the brain of the computer. This is where all the actual computing
is done.
The chipset supports the CPU. It usually contains several "controllers" which govern how
information travels between the processor and other components in the system. Some systems
have more than one chipset.
The memory controller is part of the chipset, and this controller establishes the information flow
between memory and the CPU.
A bus is a data path in a computer, consisting of various parallel wires to which the CPU,
memory, and all input/output devices are connected. The design of the bus, or bus architecture,
determines how much and how fast data can move across the motherboard. There are several
different kinds of busses in a system, depending on what speeds are required for those particular
components. The memory bus runs from the memory controller to the computer's memory
sockets. Newer systems have a memory bus architecture in which a frontside bus (FSB) runs
from the CPU to main memory and a backside bus (BSB) which runs from the memory
controller to L2 cache.
MEMORY SPEED
When the CPU needs information from memory, it sends out a request that is managed by the
memory controller. The memory controller sends the request to memory and reports to the CPU
when the information will be available for it to read. This entire cycle - from CPU to memory
controller to memory and back to the CPU - can vary in length according to memory speed as
well as other factors, such as bus speed.
Memory speed is sometimes measured in Megahertz (MHz), or in terms of access time - the
actual time required to deliver data - measured in nanoseconds (ns). Whether measured in
Megahertz or nanoseconds, memory speed indicates how quickly the memory module itself can
deliver on a request once that request is received.
ACCESS TIME (NANOSECONDS)
Access time measures from when the memory module receives a data request to when that data
becomes available. Memory chips and modules used to be marked with access times ranging
from 80ns to 50ns. With access time measurements (that is, measurements in nanoseconds),
lower numbers indicate faster speeds.
In this example, the memory controller requests data from memory and memory reacts to the
request in 70ns.The CPU receives the data in approximately 125ns. So, the total time from when
the CPU first requests information to when it actually receives the information can be up to 195ns
when using a 70ns memory module. This is because it takes time for the memory controller to
manage the information flow, and the information needs to travel from the memory module to the
CPU on the bus.
MEGAHERTZ (MHZ)
Beginning with Synchronous DRAM technology, memory chips had the ability to synchronize
themselves with the computer's system clock, making it easier to measure speed in megahertz,
or millions of cycles per second. Because this is the same way speed is measured in the rest of
the system, it makes it easier to compare the speeds of different components and synchronize
their functions. In order to understand speed better, it's important to understand the system clock.
SYSTEM CLOCK
A computer's system clock resides on the motherboard. It sends out a signal to all other
computer components in rhythm, like a metronome. This rhythm is typically drawn as a square
wave, like this:
In reality, however, the actual clock signal, when viewed with an oscilloscope, looks more like the
example shown below.
Each wave in this signal measures one clock cycle. If a system clock runs at 100MHz that
means there are 100 million clock cycles in one second. Every action in the computer is timed by
these clock cycles, and every action takes a certain number of clock cycles to perform. When
processing a memory request, for example, the memory controller can report to the processor
that the data requested will arrive in six clock cycles.
It's possible for the CPU and other devices to run faster or slower than the system clock.
Components of different speeds simply require a multiplication or division factor to synchronize
them. For example, when a 100MHz system clock interacts with a 400MHz CPU, each device
understands that every system clock cycle is equal to four clock cycles on the CPU; they use a
factor of four to synchronize their actions.
Many people assume that the speed of the processor is the speed of the computer. But most of
the time, the system bus and other components run at different speeds.
MAXIMIZING PERFORMANCE
Computer processor speeds have been increasing rapidly over the past several years. Increasing
the speed of the processor increases the overall performance of the computer. However, the
processor is only one part of the computer, and it still relies on other components in a system to
complete functions. Because all the information the CPU will process must be written to or read
from memory, the overall performance of a system is dramatically affected by how fast
information can travel between the CPU and main memory.
So, faster memory technologies contribute a great deal to overall system performance. But
increasing the speed of the memory itself is only part of the solution. The time it takes for
information to travel between memory and the processor is typically longer than the time it takes
for the processor to perform its functions. The technologies and innovations described in this
section are designed to speed up the communication process between memory and the
processor.
CACHE MEMORY
Cache memory is a relatively small amount (normally less than 1MB) of high speed memory that
resides very close to the CPU. Cache memory is designed to supply the CPU with the most
frequently requested data and instructions. Because retriev-ing data from cache takes a fraction
of the time that it takes to access it from main memory, having cache memory can save a lot of
time. If the information is not in cache, it still has to be retrieved from main memory, but checking
cache memory takes so little time, it's worth it. This is analogous to checking your refrigerator for
the food you need before running to the store to get it: it's likely that what you need is there; if not,
it only took a moment to check.
The concept behind caching is the "80/20" rule, which states that of all the programs, information,
and data on your computer, about 20% of it is used about 80% of the time. (This 20% data might
include the code required for sending or deleting email, saving a file onto your hard drive, or
simply recognizing which keys you've touched on your keyboard.) Conversely, the remaining 80%
of the data in your system gets used about 20% of the time. Cache memory makes sense
because there's a good chance that the data and instructions the CPU is using now will be
needed again.
HOW CACHE MEMORY WORKS
Cache memory is like a "hot list" of instructions needed by the CPU. The memory controller saves
in cache each instruction the CPU requests; each time the CPU gets an instruction it needs from
cache - called a "cache hit" - that instruction moves to the top of the "hot list." When cache is full
and the CPU calls for a new instruction, the system overwrites the data in cache that hasn't been
used for the longest period of time. This way, the high priority information that's used continuously
stays in cache, while the less frequently used information drops out.
LEVELS OF CACHE
Today, most cache memory is incorporated into the processor chip itself; however, other
configurations are possible. In some cases, a system may have cache located inside the
processor, just outside the processor on the motherboard, and/or it may have a memory cache
socket near the CPU, which can contain a cache memory module. Whatever the configuration,
any cache memory component is assigned a "level" according to its proximity to the processor.
For example, the cache that is closest to the processor is called Level 1 (L1) Cache, the next
level of cache is numbered L2, then L3, and so on. Computers often have other types of caching
in addition to cache memory. For example, sometimes the system uses main memory as a cache
for the hard drive. While we won't discuss these scenarios here, it's important to note that the
term cache can refer specifically to memory and to other storage technologies as well.
You might wonder: if having cache memory near the processor is so beneficial, why isn't cache
memory used for all of main memory? For one thing, cache memory typically uses a type of
memory chip called SRAM (Static RAM), which is more expensive and requires more space per
megabyte than the DRAM typically used for main memory. Also, while cache memory does
improve overall system performance, it does so up to a point. The real benefit of cache memory is
in storing the most frequently-used instructions. A larger cache would hold more data, but if that
data isn't needed frequently, there's little benefit to having it near the processor.
It can take as long as 195ns for main memory to
satisfy a memory request from the CPU. External
cache can satisfy a memory request from the CPU in
as little as 45ns.
SYSTEM BOARD LAYOUT
As you've probably figured out, the placement of
memory modules on the system board has a direct
effect on system performance. Because local memory must hold all the information the CPU
needs to process, the speed at which the data can travel between memory and the CPU is critical
to the overall performance of the system. And because exchanges of information between the
CPU and memory are so intricately timed, the distance between the processor and the memory
becomes another critical factor in performance.
INTERLEAVING
The term interleaving refers to a process in which the CPU alternates communication between
two or more memory banks. Interleaving technology is typically used in larger systems such as
servers and workstations. Here's how it works: every time the CPU addresses a memory bank,
the bank needs about one clock cycle to "reset" itself. The CPU can save processing time by
addressing a second bank while the first bank is resetting. Interleaving can also function within
the memory chips themselves to improve performance. For example, the memory cells inside
SDRAM chip are divided into two independent cell banks, which can be activated
simultaneously. Interleaving between the two cell banks produces a continuous flow of data. This
cuts down the length of the memory cycle and results in faster transfer rates.
BURSTING
Bursting is another time-saving technology. The purpose of bursting is to provide the CPU with
additional data from memory based on the likelihood that it will be needed. So, instead of the
CPU retrieving information from memory one piece of at a time, it grabs a block of information
from several consecutive addresses in memory. This saves time because there's a statistical
likelihood that the next data address the processor will request will be sequential to the previous
one. This way, the CPU gets the instructions it needs without having to send an individual request
for each one. Bursting can work with many different types of memory and can function when
reading or writing data.
Both bursting and pipelining became popular at about the same time that EDO technology
became available. EDO chips that featured these functions were called "Burst EDO" or "Pipeline
Burst EDO" chips.
PIPELINING
Pipelining is a computer processing technique where a task is divided into a series of stages with
some of the work completed at each stage. Through the division of a larger task into smaller,
overlapping tasks, pipelining is used to improve performance beyond what is possible with nonpipelined
processing. Once the flow through a pipeline is started, execution rate of the
instructions is high, in spite of the number of stages through which they progress.
HOW MUCH MEMORY IS ON A MODULE?
Up to now, we've discussed some of the technical attributes of memory and how memory
functions in a system. What's left are the technical details - the "bits and bytes," as they say. This
section covers the binary numbering system, which forms the basis of computing, and
calculation of a memory module's capacity.
BITS AND BYTES
Computers speak in a "code" called machine language, which uses only two numerals: 0 and 1.
Different combinations of 0s and 1s form what are called binary numbers. These binary
numbers form instructions for the chips and microprocessors that drive computing devices - such
as computers, printers, hard disk drives, and so on. You may have heard the terms "bit" and
"byte." Both of these are units of information that are important to computing. The term bit is short
for "binary digit." As the name suggests, a bit represents a single digit in a binary number; a bit is
the smallest unit of information used in computing and can have a value of either 1 or a 0. A byte
consists of 8 bits. Almost all specifications of your computer's capabilities are represented in
bytes. For example, memory capacity, data-transfer rates, and data-storage capacity are all
measured in bytes or multiples thereof (such as kilobytes, megabytes, or gigabytes).
This discussion of bits and bytes becomes very relevant when it comes to computing devices and
components working together. Here, we'll address specifically how bits and bytes form the basis
of measuring memory component performance and interaction with other devices like the CPU.
CPU AND MEMORY REQUIREMENTS
A computer's CPU (central processing unit) processes data in 8-bit chunks. Those chunks, as we
learned in the previous section, are commonly referred to as bytes.
Because a byte is the fundamental unit of processing, the CPU's processing power is often
described in terms of the maximum number of bytes it can process at any given time. For
example, Pentium and PowerPC microprocessors currently are 64-bit CPUs, which means they
can simultaneously process 64 bits, or 8 bytes, at a time.
Each transaction between the CPU and memory is called a bus cycle. The number of data bits a
CPU can transfer during a single bus cycle affects a computer's performance and dictates what
type of memory the computer requires. Most desktop computers today use 168-pin DIMMs, which
support 64-bit data paths. Earlier 72-pin SIMMs supported 32-bit data paths, and were originally
used with 32-bit CPUs. When 32-bit SIMMs were used with 64-bit processors, they had to be
installed in pairs, with each pair of modules making up a memory bank. The CPU communicated
with the bank of memory as one logical unit.
Interestingly, RIMM modules, which are newer than DIMMs, use smaller 16-bit data paths;
however they transmit information very rapidly, sending several packets of data at a time. RIMM
modules use pipelining technology to send four 16-bit packets at a time to a 64-bit CPU, so
information still gets processed in 64-bit chunks.
CALCULATING THE CAPACITY OF A MODULE
Memory holds the information that the CPU needs to process. The capacity of memory chips and
modules are described in megabits (millions of bits) and megabytes (millions of bytes). When
trying to figure out how much memory you have on a module, there are two important things to
remember:
A module consists of a group of chips. If you add together the capacities of all the chips on the
module, you get the total capacity of the module. Exceptions to this rule are:
· If some of the capacity is being used for another function, such as error checking.
· If some of the capacity is not being used, for example some chips may have extra rows to
be used as back-ups. (This isn't common.)
While chip capacity is usually expressed in megabits, module capacity is expressed in
megabytes. This can get confusing, especially since many people unknowingly use the word "bit"
when they mean "byte" and vice versa. To help make it clear, we'll adopt the following standards
in this book:
When we talk about the amount of memory on a module, we'll use the term "module capacity";
when we are referring to chips, we'll use the term "chip density". Module capacity will be
measured in megabytes (MB) with both letters capital, and chip density will be measured in
megabits (Mbit), and we'll spell out the word "bit" in small letters.
COMPONENT CAPACITY EXPRESSION CAPACITY UNITS EXAMPLE
Chips Chip Density Mbit (megabits) 64Mbit
Memory Modules Module Capacity MB (megabytes) 64MB
CHIP DENSITY
Each memory chip is a matrix of tiny cells. Each cell holds one bit of information. Memory chips
are often described by how much information they can hold. We call this chip density. You may
have encountered examples of chip densities, such as "64Mbit SDRAM" or "8M by 8". A 64Mbit
chip has 64 million cells and is capable of holding 64 million bits of data. The expression "8M by
8" describes one kind of 64Mbit chip in more detail.
In the memory industry, DRAM chip densities are often described by their cell organization. The
first number in the expression indicates the depth of the chip (in locations) and the second
number indicates the width of the chip (in bits). If you multiply the depth by the width, you get the
density of the chip. Here are some examples:
CURRENT AVAILABLE CHIP TECHNOLOGY
CHIP DEPTH IN
MILLIONS OF
LOCATIONS
CHIP WIDTH
IN BITS
CHIP DENSITY
=
DEPTH x WIDTH
16Mbit Chips
4Mx4 4 4 16
1Mx16 1 16 16
2Mx8 2 8 16
16Mx1 16 1 16
64Mbit Chips
4Mx16 4 16 64
8Mx8 8 8 64
16Mx4 16 4 64
128Mbit Chips
8Mx16 8 16 128
16Mx8 16 8 128
32Mx4 32 4 128
256Mbit Chips
32Mx8 32 8 256
MODULE CAPACITY
It's easy to calculate the capacity of a memory module if you know the capacities of the chips on
it. If there are eight 64Mbit chips, it's a 512Mbit module. However, because the capacity of a
module is described in megabytes, not megabits, you have to convert bits to bytes. To do this,
divide the number of bits by 8. In the case of the 512Mbit module:
You may hear standard memory modules in the industry being described as: "4Mx32" (that is, "4
Meg by 32"), or "16Mx64" ("16 Meg by 64"). In these cases, you can calculate the capacity of the
module exactly as if it were a chip:
Here are some additional examples:
STANDARD MODULE TYPES
STANDARD
MODULE DEPTH IN
LOCATIONS
MODULE WIDTH
IN DATA BITS
CAPACITY
IN MBITS =
DEPTH X
WIDTH
CAPACITY IN MB
= MBITS/8
72-
Pin
1Mx32
2Mx32
4Mx32
8Mx32
16Mx32
32Mx32
1
2
4
8
16
32
32
32
32
32
32
32
32
64
128
256
512
1024
4
8
16
32
64
128
168-
Pin
2Mx64
4Mx64
8Mx64
16Mx64
32Mx64
2
4
8
16
32
64
64
64
64
64
128
256
512
1024
2048
16
32
64
128
256
As we mentioned earlier, there's only room for a certain number of chips on a PCB. Based on an
industry standard 168-pin DIMM, the largest capacity module manufacturers can make using
64Mbit chips is 128MB; with 128Mbit chips, the largest module possible is 256MB; and with
256Mbit chips, the largest module possible is 512MB.
STACKING
Many large servers and workstations require higher capacity modules in order to reach system
memory capacities of several gigabytes or more. There are two ways to increase the capacity of
a module. Manufacturers can stack chips on top of one another, or they can stack boards.
CHIP STACKING
With chip stacking, two chips are stacked together and occupy the space that one chip would
normally take up. In some cases, the stacking is done internally at the chip manufacturing plant
and can actually appear to be one chip. In other cases the chips are stacked externally. The
example below shows two externally stacked chips.
Example of externally stacked chips.
BOARD STACKING
As you might expect, board stacking involves putting two memory module printed circuit boards
(PCBs) together. With board stacking, a secondary board mounts onto the primary board, which
fits into the memory socket on the system motherboard.
Example of a stacked module.
DIFFERENT KINDS OF MEMORY
Some people like to know a lot about the computer systems they own - or are considering buying
- just because. They're like that. It's what makes them tick. Some people never find out about
their systems and like it that way. Still other people - most of us, in fact - find out about their
systems when they have to - when something goes wrong, or when they want to upgrade it. It's
important to note that making a choice about a computer system - and its memory features - will
affect the experience and satisfaction you derive from the system. This chapter is here to make
you smarter about memory so that you can get more out of the system you're purchasing or
upgrading.
MODULE FORM FACTORS
The easiest way to categorize memory is by form factor. The form factor of any memory module
describes its size and pin configuration. Most computer systems have memory sockets that can
accept only one form factor. Some computer systems are designed with more than one type of
memory socket, allowing a choice between two or more form factors. Such designs are usually a
result of transitional periods in the industry when it's not clear which form factors will gain
predominance or be more available.
SIMMS
The term SIMM stands for Single In-Line Memory Module. With SIMMs, memory chips are
soldered onto a modular printed circuit board (PCB), which inserts into a socket on the system
board.
The first SIMMs transferred 8 bits of data at a time. Later, as CPUs began to read data in 32-bit
chunks, a wider SIMM was developed, which could supply 32 bits of data at a time. The easiest
way to differentiate between these two different kinds of SIMMs was by the number of pins, or
connectors. The earlier modules had 30 pins and the later modules had 72 pins. Thus, they
became commonly referred to as 30-pin SIMMs and 72-pin SIMMs.
Another important difference between 30-pin and 72-pin SIMMs is that 72-pin SIMMs are 3/4 of
an inch (about 1.9 centimeters) longer than the 30-pin SIMMs and have a notch in the lower
middle of the PCB. The graphic below compares the two types of SIMMs and indicates their data
widths.
4-1/4" 72-Pin SIMM
3-1/2" 30-Pin SIMM
Comparison of a 30-pin and a 72-pin SIMM
DIMMS
Dual In-line Memory Modules, or DIMMs, closely resemble SIMMs. Like SIMMs, most DIMMs
install vertically into expansion sockets. The principal difference between the two is that on a
SIMM, pins on opposite sides of the board are "tied together" to form one electrical contact; on a
DIMM, opposing pins remain electrically isolated to form two separate contacts.
168-pin DIMMs transfer 64 bits of data at a time and are typically used in computer configurations
that support a 64-bit or wider memory bus. Some of the physical differences between 168-pin
DIMMs and 72-pin SIMMs include: the length of module, the number of notches on the module,
and the way the module installs in the socket. Another difference is that many 72-pin SIMMs
install at a slight angle, whereas 168-pin DIMMs install straight into the memory socket and
remain completely vertical in relation to the system motherboard. The illustration below compares
a 168-pin DIMM to a 72-pin SIMM.
4-1/4" 72-Pin SIMM
5-1/4" 168-Pin DIMM
Comparison of a 72-pin SIMM and a 168-pin DIMM.
SO DIMMs
A type of memory commonly used in notebook computers is called SO DIMM or Small Outline
DIMM. The principal difference between a SO DIMM and a DIMM is that the SO DIMM, because
it is intended for use in notebook computers, is significantly smaller than the standard DIMM. The
72-pin SO DIMM is 32 bits wide and the 144-pin SO DIMM is 64 bits wide. 144-pin and 200-pin
modules are the most common SO DIMMs today.
2.35" 72-pin SO DIMM 2.66" 144-Pin SO DIMM
Comparison of a 72-pin SO DIMM and a 144-pin SO DIMM.
MicroDIMM (Micro Dual In-Line Memory Module)
Smaller than an SO DIMM, MicroDIMMs are primarily used in sub-notebook computers.
MicroDIMMs are available in 144-pin SDRAM and 172-pin DDR.
RIMMS AND SO-RIMMS
RIMM is the trademarked name for a Direct Rambus memory module. RIMMs look similar to
DIMMs, but have a different pin count. RIMMs transfer data in 16-bit chunks. The faster access
and transfer speed generates more heat. An aluminum sheath, called a heat spreader, covers
the module to protect the chips from overheating.
A 184-pin Direct Rambus RIMM shown with heat spreaders pulled away.
A SO-RIMM looks similar to an SO DIMM, but it uses Rambus technology.
A 160-pin SO-RIMM module.
FLASH MEMORY
Flash memory is a solid-state, non-volatile, rewritable memory that functions like RAM and a hard
disk drive combined. Flash memory stores bits of electronic data in memory cells, just like DRAM,
but it also works like a hard-disk drive in that when the power is turned off, the data remains in
memory. Because of its high speed, durability, and low voltage requirements, flash memory is
ideal for use in many applications - such as digital cameras, cell phones, printers, handheld
computers, pagers, and audio recorders.
Flash memory is avaliable in many different form factors, including: CompactFlash, Secure
Digital, SmartMedia, MultiMedia and USB Memory
PC CARD AND CREDIT CARD MEMORY
Before SO DIMMs became popular, most notebook memory was developed using proprietary
designs. It is always more cost-effective for a system manufacturer to use standard components,
and at one point, it became popular to use the same "credit card" like packaging for memory that
is used on PC Cards today. Because the modules looked like PC Cards, many people thought
the memory cards were the same as PC Cards, and could fit into PC Card slots. At the time, this
memory was described as "Credit Card Memory" because the form factor was the approximate
size of a credit card. Because of its compact form factor, credit card memory was ideal for
notebook applications where space is limited.
PC Cards use an input/output protocol that used to
be referred to as PCMCIA (Personal Computer Memory Card
International Association). This standard is designed for
attaching
input/output devices such as network adapters, fax/modems, or hard drives to notebook
computers. Because PC Card memory resembles the types of cards designed for use in a
notebook computer's PC Card slot, some people have mistakenly thought that the memory
modules could be used in the PC Card slot. To date, RAM has not been packaged on a PCMCIA
card because the technology doesn't allow the processor to communicate quickly enough with
memory. Currently, the most common type of memory on PC Card modules is Flash memory.
On the surface, credit card memory does not resemble a typical memory module configuration.
However, on the inside you will find standard TSOP memory chips.
This section presents the most common memory technologies used for main memory: This road
map offers an overview of the evolution of memory.
YEAR INTRODUCED TECHNOLOGY SPEED LIMIT
1987 FPM 50ns
1995 EDO 50ns
1997 PC66 SDRAM 66MHz
1998 PC100 SDRAM 100MHz
1999 RDRAM 800MHz
1999/2000 PC133 SRAM 133MHz (VCM option)
2000 DDR SDRAM 266MHz
2001 DDR SDRAM 333MHz
2002 DDR SDRAM 434MHz
2003 DDR SDRAM 500MHz
MAJOR CHIP TECHNOLOGIES
It's usually pretty easy to tell memory module form factors apart because of physical differences.
Most module form factors can support various memory technologies so, it's possible for two
modules to appear to be the same when, in fact, they're not. For example, a 168-pin DIMM can
be used for EDO, Synchronous DRAM, or some other type of memory. The only way to tell
precisely what kind of memory a module contains is to interpret the marking on the chips. Each
DRAM chip manufacturer has different markings and part numbers to identify the chip technology.
FAST PAGE MODE (FPM)
At one time, FPM was the most common form of DRAM found in computers. In fact, it was so
common that people simply called it "DRAM," leaving off the "FPM". FPM offered an advantage
over earlier memory technologies because it enabled faster access to data located within the
same row.
EXTENDED DATA OUT (EDO)
In 1995, EDO became the next memory innovation. It was similar to FPM, but with a slight
modification that allowed consecutive memory accesses to occur much faster. This meant the
memory controller could save time by cutting out a few steps in the addressing process. EDO
enabled the CPU to access memory 10 to 15% faster than with FPM.
SYNCHRONOUS DRAM (SDRAM)
In late 1996, SDRAM began to appear in systems. Unlike previous technologies, SDRAM is
designed to synchronize itself with the timing of the CPU. This enables the memory controller to
know the exact clock cycle when the requested data will be ready, so the CPU no longer has to
wait between memory accesses. SDRAM chips also take advantage of interleaving and burst
mode functions, which make memory retrieval even faster. SDRAM modules come in several
different speeds so as to synchronize to the clock speeds of the systems they'll be used in. For
example, PC66 SDRAM runs at 66MHz, PC100 SDRAM runs at 100MHz, PC133 SDRAM runs at
133MHz, and so on. Faster SDRAM speeds such as 200MHz and 266MHz are currently in
development.
DOUBLE DATA RATE SYNCHRONOUS DRAM (DDR SDRAM)
DDR SDRAM, is a next-generation SDRAM technology. It allows the memory chip to perform
transactions on both the rising and falling edges of the clock cycle. For example, with DDR
SDRAM, a 100 or 133MHz memory bus clock rate yields an effective data rate of 200MHz or
266MHz.
DIRECT RAMBUS
Direct Rambus is a DRAM architecture and interface standard that challenges traditional main
memory designs. Direct Rambus technology is extraordinarily fast compared to older memory
technologies. It transfers data at speeds up to 800MHz over a narrow 16-bit bus called a Direct
Rambus Channel. This high-speed clock rate is possible due to a feature called "double
clocked," which allows operations to occur on both the rising and falling edges of the clock cycle.
Also, each memory device on an RDRAM module provides up to 1.6 gigabytes per second of
bandwidth - twice the bandwidth available with current 100MHz SDRAM.
In addition to chip technologies designed for use in main memory, there are also specialty
memory technologies that have been developed for video applications.
MEMORY TECHNOLOGIES FOR VIDEO OR GRAPHICS PROCESSING
VIDEO RAM (VRAM)
VRAM is a video version of FPM technology. VRAM typically has two ports instead of one, which
allows the memory to allocate one channel to refreshing the screen while the other is focused on
changing the images on the screen. This works much more efficiently than regular DRAM when it
comes to video applications. However, since video memory chips are used in much lower
quantities than main memory chips, they tend to be more expensive. So, a system designer may
choose to use regular DRAM in a video subsystem, depending on whether cost or performance is
the design objective.
WINDOW RAM (WRAM)
WRAM is another type of dual-ported memory also used in graphics-intensive systems. It differs
slightly from VRAM in that its dedicated display port is smaller and it supports EDO features.
SYNCHRONOUS GRAPHICS RAM (SGRAM)
SGRAM is a video-specific extension of SDRAM that includes graphics-specific read/write
features. SGRAM also allows data to be retrieved and modified in blocks, instead of individually.
This reduces the number of reads and writes that memory must perform and increases the
performance of the graphics controller by making the process more efficient.
BASE RAMBUS AND CONCURRENT RAMBUS
Before it even became a contender for main memory, Rambus technology was actually used in
video memory. The current Rambus main memory technology is called Direct Rambus. Two
earlier forms of Rambus are Base Rambus and Concurrent Rambus. These forms of Rambus
have been used in specialty video applications in some workstations and video game systems
like Nintendo 64 for several years.
OTHER MEMORY TECHNOLOGIES YOU MAY
HAVE HEARD ABOUT
ENHANCED SDRAM (ESDRAM)
In order to increase the speed and efficiency of standard memory modules, some manufacturers
have incorporated a small amount of SRAM directly into the chip, effectively creating an on-chip
cache. ESDRAM is essentially SDRAM, plus a small amount of SRAM cache, which allows for
burst operations of up to 200MHz. Just as with external cache memory, the goal of cache DRAM
is to hold the most frequently used data in the SRAM cache to minimize accesses to the slower
DRAM. One advantage of on-chip SRAM is that it enables a wider bus between the SRAM and
DRAM, effectively increasing the bandwidth and speed of the DRAM.
FAST CYCLE RAM (FCRAM)
FCRAM, co-developed by Toshiba and Fujitsu, is intended for specialty applications such as
high-end servers, printers, and telecommunications switching systems. It includes memory array
segmentation and internal pipelining that speed random access and reduce power consumption.
SYNCLINK DRAM (SLDRAM)
Though considered obsolete today, SLDRAM was developed by a consortium of DRAM
manufacturers as an alternative to Rambus technology in the late 1990s.
VIRTUAL CHANNEL MEMORY (VCM)
Developed by NEC, VCM allows different "blocks" of memory to interface inde-pendently with the
memory controller, each with its own buffer. This way, different system tasks can be assigned
their own "virtual channels," and information related to one function does not share buffer space
with other tasks occurring at the same time, making operations more efficient.
ERROR CHECKING
Ensuring the integrity of data stored in memory is an important aspect of memory design. Two
primary means of accomplishing this are parity and error correction code (ECC).
Historically, parity has been the most commonly used data integrity method. Parity can detect -
but not correct - single-bit errors. Error Correction Code (ECC) is a more comprehensive
method of data integrity checking that can detect and correct single-bit errors.
Fewer and fewer PC manufacturers are supporting data integrity checking in their designs. This is
due to a couple of factors. First, by eliminating support for parity memory, which is more
expensive than standard memory, manufacturers can lower the price of their computers.
Fortunately, this trend is complemented by the second factor: that is, the increased quality of
memory components available from certain manufacturers and, as a result, the relative
infrequency of memory errors.
The type of data integrity checking depends on how a given computer system will be used. If the
computer is to play a critical role - as a server, for example - then a computer that supports data
integrity checking is an ideal choice. In general:
· Most computers designed for use as high-end servers support ECC memory.
· Most low-cost computers designed for use at home or for small businesses support nonparity
memory.
PARITY
When parity is in use on a computer system, one parity bit is stored in DRAM along with every 8
bits (1 byte) of data. The two types of parity protocol - odd parity and even parity - function in
similar ways.
With normal parity, when 8 bits of data are written to DRAM, a corresponding parity bit is written
at the same time. The value of the parity bit (either a 1 or 0) is determined at the time the byte is
written to DRAM, based on an odd or even quantity of 1s. Some manufacturers use a less
expensive "fake parity" chip. This chip simply generates a 1 or a 0 at the time the data is being
sent to the CPU in order to accommodate the memory controller. (For example, if the computer
uses odd parity, the fake parity chip will generate a 1 when a byte of data containing an even
number of 1s is sent to the CPU. If the byte contains an odd number of 1s, the fake parity chip will
generate a 0.) The issue here is that the fake parity chip sends an "OK" signal no matter what.
This way, it "fools" a computer that's expecting the parity bit into thinking that parity checking is
actually taking place when it is not. The bottom line: fake parity cannot detect an invalid data bit.
This table shows how odd parity and even parity work. The processes are identical but with
opposite attributes.
ODD PARITY EVEN PARITY
Step 1
The parity bit will be forced to 1 (or turned "on") if its
corresponding byte of data contains an even number of 1's.
The parity bit is forced to 0 if the byte contains an
even number of 1's.
If the byte contains an odd number of 1's, the parity bit is
forced to 0 (or turned "off ").
The parity bit is forced to 1 if its corresponding byte of
data contains an odd number of 1's.
Step 2 The parity bit and the corresponding 8 bits of data are written
to DRAM.
(Same as for odd parity)
Step 3 Just before the data is sent to the CPU, it is intercepted by
the parity circuit.
(Same as for odd parity)
If the parity circuit sees an odd number of 1's, the data is
considered valid. The parity bit is stripped from the data and
the 8 data bits are passed on to the CPU.
Data is considered valid if the parity circuit detects an
even number of 1's.
If the parity circuit detects an even number of 1's, the data is
considered invalid and a parity error is generated.
Data is invalid if the parity circuit detects an odd
number of 1's.
Parity does have its limitations. For example, parity can detect errors but cannot make
corrections. This is because the parity technology can't determine which of the 8 data bits are
invalid.
Furthermore, if multiple bits are invalid, the parity circuit will not detect the problem if the data
matches the odd or even parity condition that the parity circuit is checking for. For example, if a
valid 0 becomes an invalid 1 and a valid 1 becomes an invalid 0, the two defective bits cancel
each other out and the parity circuit misses the resulting errors. Fortunately, the chances of this
happening are extremely remote.
ECC
Error Correction Code is the data integrity checking method used primarily in high-end PCs and
file servers. The important difference between ECC and parity is that ECC is capable of detecting
and correcting 1-bit errors. With ECC, 1-bit error correction usually takes place without the user
even knowing an error has occurred. Depending on the type of memory controller the computer
uses, ECC can also detect rare 2 bit memory errors. While ECC can detect a multiple-bit errors, it
cannot correct them. However, there are some more complex forms of ECC that can correct
multiple bit errors.
Using a special mathematical sequence, algorithm, and working in conjunction with the memory
controller, the ECC circuit appends ECC bits to the data bits, which are stored together in
memory. When the CPU requests data from memory, the memory controller decodes the ECC
bits and determines if one or more of the data bits are corrupted. If there's a single-bit error, the
ECC circuit corrects the bit. In the rare case of a multiple-bit error, the ECC circuit reports a parity
error.
Memory Scrubbing
Memory scrubbing is a feature initially implemented by most major server OEMs when ECC
DIMMs first became available. Memory scrubbing refers to a process that actively reads memory
during idle periods to search for and correct errors in memory. Therefore, the entire memory
subsystem would be periodically checked and cleansed as the scrubbing process repeated itself
over and over. If non-correctable memory errors are found the server management system would
be alerted as to which DIMM was causing the errors.
Chipkill
Chipkill is a highly advanced error correction method much more effective than standard ECC
correction. Chipkill provides error correction for up to four bits per DIMM. If too many memory
errors are detected chipkill technology can take the inoperative chip offline while the server is still
running to keep more errors from occurring. Chipkill support is provided in the memory controller
and implemented using standard ECC DIMMs, so it is transparent to the OS.
OTHER SPECIFICATIONS
In addition to form factors, memory technologies, and error checking methods, there are several
other specifications important to understanding and selecting memory products.
SPEED
The speed of memory components and modules is one of the most important factors in optimizing
a memory configuration. In fact, all computer systems specify a memory component speed.
Ensuring memory compatibility requires conforming to this specification. This section covers three
measurements of memory component and module speed: access time, megahertz, and bytes per
second.
ACCESS TIME
Prior to SDRAM, memory speed was expressed by access time, measured in nanoseconds (ns).
A memory module's access time indicates the amount of time it takes the module to deliver on a
data request. So, smaller numbers indicate faster access times. Typical speeds were 80ns, 70ns,
and 60ns. Very often, you can identify the speed of a module by the part number on the chip:
such part numbers end in "-6" for 60ns, "-7" for 70ns, and so on.
In most cases you can conform to a computer system's memory specification with a module rated
at the required speed or faster. For example, if your system requires 70ns memory, you can use
both 70ns and 60ns memory without a problem. However, some older systems check the module
ID for the rated speed at system-boot up, and will only boot up if they recognize the exact speed
they are looking for. If the system has an 80ns speed specification, for example, it won't accept
anything different than 80ns, even if it is faster. In many cases, modules could still be built for
these systems with faster memory chips on them, but the ID on the module would be set at the
slower speed to insure compatibility with the system. This is why you can't always be sure of the
rated speed on a module by looking at the speed markings on the memory chips.
MEGAHERTZ
Beginning with the development of SDRAM technology, memory module speed has been
measured in megahertz (MHz). Speed markings on the memory chips them-selves are typically
still in nanoseconds. This can be confusing, especially since these nanosecond markings no
longer measure access time, but instead measure the number of nanoseconds between clock
cycles. For SDRAM chips with speeds of 66MHz, 100MHz, and 133MHz, for example, the
corresponding marking on the chips are -15, -10, and -8, respectively.
This table shows the method for determining speed equivalencies between MHz and ns ratings.
-
!
-
"!
## ##$%%%$%%% $%%%$%%%$%%% &
%% %%$%%%$%%% $%%%$%%%$%%% %
$%%%$%%% $%%%$%%%$%%% '(&
nanoseconds per second 1,000,000,000ns nanoseconds
= =
clock cycles per second clock cycles clock cycle
As noted in a previous section, the speed of the processor and the speed of the memory bus are
normally not the same. The speed of memory is limited by the speed of the memory bus, which is
the slowest link in the process.
BYTES PER SECOND
Converting MHz to bytes per second can be confusing at first. The two most important pieces of
information you need to make the conversion is the speed (in MHz) and the width (in bits) of the
bus.
Bus Width: If you have an 8-bit bus, then 8 bits, or 1 byte of information at a time can travel on
the bus. If you have a 64-bit bus, then 64-bits, or 8 bytes of information can travel at a time.
Bus Speed: If the memory bus speed is 100MHz, this measures 100 million clock cycles per
second. Typically, one packet of information can travel on each clock cycle. If the 100MHz bus is
1 byte wide, then data can travel at 100 megabytes per second. Data travels on a 100MHz, 64-bit
bus at 800 megabytes per second.
Rambus modules are
sometimes measured in
MHz and sometimes
measured in megabytes per
second. One type of
Rambus module runs
on a 400MHz bus, but
because Rambus
modules can send two
pieces of information per
clock cycle instead of one,
the module is rated at
800MHz. This is sometimes
referred to as PC-800.
Because the Rambus bus
width is 16- bit, or 2 bytes
wide, data travels at
1600MB per second, or
1.6GB per second. Using
the same logic, PC-600
Rambus transfers data at 1.2 gigabytes per second.
REGISTERS AND BUFFERS
Registers and buffers improve memory operation by "re-driving" control signals in the memory
chips. They can be external to the memory module, or they can be located on the module itself.
Having registers and buffers placed directly on the memory module, enables a system to support
a greater quantity of modules. So, you're likely to find these types of modules in servers and highend
workstations. It is important to note that when upgrading, unbuffered and buffered (or
registered) modules cannot be mixed.
Buffering (EDO and FPM): For EDO and fast page modules, the process of re-driving the
signals is called buffering. With buffering there is no loss of performance.
Registering (SDRAM): For SDRAM, the signal driving process is called registering. Registering
is similar to buffering, except that in registering, the data is clocked in and out of the register by
the system clock. Registered modules are slightly slower than non-registered modules, because
the registering process takes one clock cycle.
An example of a buffered and a non-buffered module. They are keyed differently, to ensure that
they can't be used in place of one another.
MULTIPLE-BANKED MODULES
A multiple-banked module allows more flexibility in type of chips used. Multiple banking allows a
memory designer to divide the module into banks, which means it can appear to the computer
system to be more than one module. This design is equivalent to the banks of memory sockets in
a computer: the system accesses one bank of memory at a time, regardless of how many actual
memory sockets comprise a bank.
Some people confuse the terms "double-sided" and "dual-banked". To clarify: Double- sided is a
physical term meaning that chips are arranged on two sides of the memory module. Dual-banked
is an electrical term meaning that the module is divided electrically into two memory banks.
TIN VERSUS GOLD
Memory modules are manufactured with either tin leads (connectors) or gold leads. Gold is a
better conductor than tin. However, because tin is much less expensive than gold, computer
manufacturers began using tin sockets on system boards in the early 1990s to reduce their costs.
If you're buying memory and you have a choice - that is, compatible modules come in both tin
and gold - it's best to match the metal of the module to the metal of the socket it will be going into.
Matching metals can help avoid corrosion.
REFRESH RATES
Refresh is the process of recharging, or re-energizing, the "memory cells" in a memory chip.
Internally, computer memory is arranged as a matrix of memory cells in rows and columns - like
the squares on a checkerboard - with each column being further divided by the I/O width of the
memory chip. The entire organization of rows and columns is called a DRAM array. DRAM is
called "dynamic" RAM because it must be refreshed, or re-energized, thousands of times each
second in order to retain data. It has to be refreshed because its memory cells are designed
around tiny capacitors that store electrical charges. These capacitors work like very tiny batteries
that lose their stored charges if they are not re-energized. Also, the process of reading data from
the memory array drains these charges, so the memory cells must also be pre-charged before
reading the data.
Cells are refreshed one row at a time (usually one row per refresh cycle).The term refresh rate
refers not to the time it takes to refresh the memory but to the total number of rows that it takes to
refresh the entire DRAM array. For example, a refresh rate of 2K indicates that it takes 2,048
rows to refresh the array; likewise, a 4K rate indicates 4,096 rows.
Normally, the system's memory controller initiates the refresh operation. But some chips are able
to "self refresh." This means that the DRAM chip has its own refresh circuitry and does not
require intervention from the CPU or external memory controller. Self-refresh modules
dramatically reduce power consumption and are often used in portable computers.
CAS LATENCY
The term CAS latency refers to the number of clock cycles it takes before a column can be
addressed on the DRAM chip. Latency is a measure of delay, so a "CL2" CAS latency factor
indicates a two-clock cycle delay, and a "CL3" latency factor indicates a three-clock cycle delay.
When SDRAM chips first came out, it was difficult to produce chips with a CAS latency factor as
low as CL2. And although some specifications called for CL2, many modules worked fine at a
CAS latency factor of CL3.
HEAT SPREADERS AND HEAT SINKS
As memory components get faster, chips become more dense and more circuits get squeezed
onto smaller boards. Dissipation of excess heat becomes more of an issue. For several years
now processors have incorporated fans. Newer memory module designs use heat sinks or heat
spreaders to maintain safe operating temperatures.
SERIAL PRESENCE DETECTS (SPD) AND PARALLEL PRESENCE DETECTS (PPD)
When a computer system boots up, it must "detect" the configuration of the memory modules in
order to run properly. Parallel Presence Detect is the traditional method of relaying the required
information by using a number of resistors. PPD is the method SIMMs and some DIMMs use to
identify themselves. Serial Presence Detect uses an EEPROM (Electrically Erasable
Programmable Read-Only Memory) to store information about the module.
An EEPROM chip (also known as an E2PROM) differs from an EPROM in that it does not need
to be removed from the computer to be modified. However, it does have to be erased and
reprogrammed in its entirety, not selectively. It also has a limited lifespan - that is, the number of
times it can be reprogrammed is limited.
NUMBER OF CLOCK LINES (2-CLOCK VERSUS 4-CLOCK)
SDRAM memory requires that clock lines run from the system clock to the memory module. "2-
clock" means there are two clock lines running to the module, and "4-clock" means there are four
clock lines running to the module. The first Intel designs were 2-clock because there were only
eight chips on the module. Later, 4-clock designs were developed, which allowed for fewer chips
per clock line, thereby decreasing the load on each line and enabling a quicker data interface.
VOLTAGES
Voltages on memory modules keep decreasing as memory cells in DRAMs get closer together
and heat becomes more of an issue. Most computer systems used to operate at a standard of 5
volts. Compact notebook computers were the first to use 3.3-volt chips. This was not only
because of heat issues; since lower voltage chips use less power, using them made it easier to
prolong battery life. Now most desktops are standardized on 3.3-volt memory as well, but this is
quickly being replaced by 2.5 voltage chips as products continue to get smaller and components
closer together.
COMPOSITE VERSUS NON-COMPOSITE
Composite and non-composite were terms first used by Apple Computer to explain the difference
between modules of the same capacity that used a different number of chips. To illustrate: when
the industry is transitioning from one chip density to another, there is normally a stage where you
can build, for example, a memory module with 8 of the new density chips, or 32 of the old density
chips. Apple referred to the module using the latest technology and fewer chips as "noncomposite",
and the version using earlier technology and greater number of chips as "composite".
Because 32 chips on a module can cause heat and spacing problems, Apple would often advise
customers to buy non-composite modules.
WHAT TO CONSIDER WHEN BUYING MEMORY
O
ne of the quickest and easiest ways to identify the right memory modules and expansion
options for your computer is to use a memory configurator. Like some of the other major memory
manufacturers, Kingston makes a memory configurator available. You can access Kingston's
configurator through their home page at www.kingston.com.
The most important thing to ensure when buying memory is compatibility with your system. In
addition, you'll need to decide how much memory you need and beyond that lie considerations of
price, quality, availability, service, and warranty. This section helps you address these important
decision factors and helps you answer questions like these:
· How much memory do I need?
· How much memory will my system recognize?
· What kind of memory is compatible with my system?
· How many sockets are open and how should I fill them?
· How do I determine the quality of memory?
· What should I know about memory prices?
· What other issues should I consider?
COMPATIBILITY
As mentioned earlier, compatibility of memory components with your computer system is
arguably the most important factor to consider when upgrading memory. This section can get you
started; it also makes frequent mention of the advantages of using a memory configurator.
WHAT KIND OF MEMORY IS COMPATIBLE WITH MY SYSTEM?
The easiest way to determine what type of memory goes with your system is to consult with your
system documentation. If you need further assistance, consult a memory configurator available
from many sources,
· System manufacturer/model
· Computer model name
· Memory module part number (distributor, manufacturer)
· Specification
· Generic memory
WHAT IF I CAN'T FIND MY SYSTEM IN A MEMORY CONFIGURATOR?
If you can't find your system in the memory configuration programs, you can still find out what
kind of memory you need by consulting the manual that came with your system. In most cases,
the manual will provide basic specifications such as the speed and technology of the memory you
need. This information is usually enough to choose a module by specification. If you don't feel
you have enough information, you can call your system manufacturer.
HOW MANY SOCKETS DO I HAVE OPEN?
You may or may not have an idea what the inside of your computer looks like and how memory is
configured. You may have opened up your computer when you bought it to see the configuration
inside, or you may have looked at a configuration diagram in your user's manual. Even if you
have no idea of the memory configuration of your system, you can use Kingston's memory
configuration tools to find out. For each system, the configuration includes a diagram, called a
bank schema, which indicates how the memory sockets are arranged in your system and what
the basic configuration rules are. The simple tutorial on the next page outlines how to use a bank
schema diagram to determine the number of sockets in your system and how to fill them.
HOW TO READ A BANK SCHEMA
A bank schema is a diagram of rows and columns that shows the number of memory sockets in
your system. This diagram is a theoretical bank layout and not an actual system board layout; it is
designed to help you quickly determine configuration requirements when adding memory
modules.
In a bank schema, each [__] represents a memory socket:
Example: [__][__][__][__] = 4 memory sockets
Each column in the diagram represents a memory bank. The number of " " symbols in a column
represents the number of memory sockets in a bank. Upgrading is performed one bank at a time.
For example, if there are four columns with two [__] in each column, upgrading is done two
modules at a time. However, if there is just a single row of [__], upgrading may be performed one
module at a time.
Examples:
8 sockets = [__][__][__][__][__][__][__][__]
(Modules may be installed one at a time in any combination)
8 sockets (4 banks of 2) =
(Modules must be installed two at a time)
4 sockets (1 bank of 4) =
(Modules must be installed four
at a time)
The standard memory (base amount that the system was shipped with) appears in the diagram
as either removable or non-removable.
Removable memory comes in the form of modules that fit into memory sockets, and, if desired,
can be removed and replaced with modules of higher capacity. Removable memory is
represented by a " " symbol with a number next to it: 4 [___] that a 4MB module is in
the first socket and that the second socket is empty.
Non-removable memory usually comes in the form of memory chips soldered directly onto the
system board. It is represented in the bank schema in brackets: [_4MB_] indicates 4MB of nonremovable
memory soldered onto the board and two available memory sockets.
If your system is not included in the configurator, you may be able to find out how many sockets
are in the system and how many are filled by pressing the F1 key during system startup. If your
system supports this, a screen will appear that indicates how many memory sockets are in the
system, which ones are filled and which are open, and what capacity modules are in each socket.
If pressing the F1 key during startup doesn't produce this result, check your computer's system
manual for more information.
As a last resort, you can open your computer and take a look at the sockets. (Important Note:
Before removing the cover of your computer, refer to the computer's system manual and warranty
information for instructions and other relevant information.) If you do open the computer, you may
be able to identify "bank labels" that indicate whether memory are installed in pairs. Bank
numbering typically begins with 0 instead of 1. So, if you have two banks, the first bank will be
labeled "bank 0", and the second bank will be labeled "bank 1."
HOW SHOULD I FILL THE SOCKETS?
In most cases, it's best to plan your memory upgrade so you won't have to remove and discard
the memory that came with the computer. The best way to manage this is to consider the memory
configuration when you first buy the computer. Because lower-capacity modules are less
expensive and more readily available, system manufacturers may achieve a base configuration
by filling more sockets with lower-capacity modules. By way of illustration, consider this scenario:
a computer system with 64MB standard memory comes with either two (2) 32MB modules or one
(1) 64MB module. In this case, the second configuration is the better choice because it leaves
more room for growth and reduces the chance that you'll have to remove and discard lowercapacity
modules later. Unless you insist on the (1) 64MB module configuration, you may find
yourself with only one socket left open for upgrading later.
Once you have purchased a computer and are planning your first upgrade, plan to buy the
highest-capacity module you think you may need, especially if you only have one or two sockets
available for upgrading. Keep in mind that, in general, minimum memory requirements for
software applications double every 12 to 18 months, so a memory configuration that's considered
large today will seem much less so a year from now.
QUALITY
As with any type of product, memory can vary in the quality from one manufacturer to another. In
general, the larger, more established brand name companies are more consistent in adhering to
tight design specifications, using high-quality components, and establishing certified quality
control processes for manufacturing and thorough testing. That's not to say that lower-quality
modules don't work fine - they may be the right solution, depending on how hard you work your
system. In deciding the level of quality you require, consider the following:
1. If the memory you buy doesn't perform well, will you be comfortable returning it for a
replacement? Would you have the time to deal with removing the memory and waiting a
couple of days to a week to get the situation resolved?
2. When memory is of low quality, you often experience intermittent problems, such as the
computer "freezing" unexpectedly, or having frequent errors. How often do you save your
work, and if you were to lose your work, how much would that cost you? If you use your
computer to play games, read email, and surf the Internet, such interruptions and losses
may not be a big problem. But if you're running a business, losing a few hours of work
could be a serious matter.
3. The biggest risk with unreliable memory is data corruption: that is, some bits of data may
change or be read incorrectly. The result of data corruption could be as harmless as a
syntax error in a document, or as potentially serious as a miscalculation in a spreadsheet.
How important is the accuracy of the work you do on your computer? Again, if you use
your computer for gaming, writing letters, and the Internet, it may not be a problem. But if
you're managing your finances, you may want to do all you can to assure the reliability of
your data.
4. Just like all products, the quality and durability you require depends on how you use it.
Computer applications that require a lot of memory usually work the memory very hard.
These applications often work better with memory that exceeds the system's speed and
reliability specifications. If you're working in multimedia or using heavy number-crunching
programs, the chance of a lower-quality memory module failing is greater than if you're
only doing light work, such as simple word processing.
ASSESSING MEMORY QUALITY
Here are some important factors to keep in mind when assessing the quality of a brand of
memory:
DESIGN
Designers of memory modules can follow strict specifications or take short cuts to save money on
components. In general, manufacturers who do in-house design have more control over the
quality of the module than those who farm this work out.
COMPONENTS
The quality of the DRAM chips, PC boards, and other components used on the module are critical
to the overall quality of the module. Premium memory chips can cost up to 30% more than lowgrade
chips and high-quality PC boards cost about 50% more than lower quality alternatives.
ASSEMBLY
Many factors in module assembly can affect the overall quality of the module. In addition to
proper handling of components, solder quality affects how reliably information can travel from the
chip to the module and back. The temperature and humidity in the assembly and storage areas
must be regulated to prevent warping, expansion, and contraction of components during
assembly.
PROPER HANDLING
Electro-Static Discharge (ESD) is one of the most common causes of damage to a memory
module. ESD damage can result from excessive and inappropriate handling. Memory modules
should only be handled by workers who are properly "grounded" and modules should be properly
packaged to protect against ESD during shipping.
TESTING
The more thoroughly memory has been tested before it is shipped, the less chance of problems
during operation. In addition to standard production tests to ensure that the modules have been
built correctly, memory can be tested for compatibility in the systems in which it will be used. The
DRAM core can be tested for chip reliability, and modules can be tested "at speed" to make sure
they will work in high-use situations. Some companies perform testing at all levels, and some do
less testing.
PRICING AND AVAILABILITY
This section contains information that helps make sense of the fluctuations that can occur in the
memory market.
THE DRAM CHIP MARKET
Memory modules are made with DRAM chips, which are manufactured in mass quantities in
enormous fabrication plants (often referred to as "fabs"). Fabs can take up to two years to build
and require substantial capital investment: approximately $3 billion per plant. These time and cost
factors directly affect on the ability of the memory market to adjust quickly to fluctuations in supply
and demand. When demand for memory chips increases, chip manufacturers typically do not
respond immediately because the investment required to add more capacity is substantial and
may not pay off, especially if all the competitors are doing so at the same time. Therefore, the
immediate effect is that prices rise as manufacturers assess whether the increase on demand is
temporary or substantial enough to warrant investment. By the same token, when there is an
oversupply situation in the market, chip manufacturers are willing to sustain losses for a long time
while prices fall to below breakeven levels. This is because in many cases it costs more money to
shut a plant down than to continue to produce and sell chips at below cost. Also, the longer a
manufacturer can hold on, the greater the chance of "being there" to reap the rewards when
competitors reduce capacity and the market turns around again.
WHY MEMORY PRICES FLUCTUATE
There are several factors that can affect memory prices. A few of these include: demand, DRAM
manufacturing levels, inventory in the marketplace, time of the year, new operating system
releases, and computer sales. All these things can affect memory prices at different times, either
separately or simultaneously.
The most important thing to keep in mind when buying memory is that the price of 256MB today
will most likely be different than the price of 256MB next quarter. The best rule of thumb is to
compare memory prices close to your time of purchase. When doing price comparisons, it's more
important to make sure you are making equivalent comparisons on module types than how the
actual price per MB varies over time. If there are shortages in the market it's most important to be
sure that what appears to be a "great deal" isn't a "short-cut" module built from off-spec
components. In an oversupply market, you're much more likely to get a great price, but keep in
mind that many manufacturers are losing money and may take shortcuts on testing and other
expensive production quality measures to compensate. Refer to the quality section above for
more details on this.
HOW TO INSTALL MEMORY
Congratulations! You have new memory for your computer. Now you have to install it. This
chapter will guide you through the basics of memory module installation and refer you to
resources that can help with problems.
BEFORE YOU INSTALL
Before you start, make sure you have the following:
1. Your computer manual. To install memory, you must open the computer box (chassis)
and locate the memory sockets. You may need to unplug cables and peripherals, and reinstall
them afterward. The manual will most likely provide instructions specific to your
computer.
2. A small screwdriver. Most computer chassis assemble
with screws. The screwdriver also comes in
handy if the notches on memory sockets are too tiny
for your fingers.
IMPORTANT THINGS TO KEEP IN MIND
ESD DAMAGE
Electro-Static Discharge (ESD) is a frequent causes of damage to the memory module. ESD is
the result of handling the module without first properly grounding yourself and thereby dissipating
static electricity from your body or clothing. If you have a grounded wrist strap, wear it. If you
don't, before touching electronic components - especially your new memory module - make sure
you first touch an unpainted, grounded metal object. Most convenient is the metal frame inside
the computer. In addition, always handle the module by the edges. If ESD damages memory,
problems may not show up immediately and may be difficult to diagnose.
Wearing a grounded wrist strap can prevent ESD damage.
SWITCHING OFF THE POWER
Before opening the chassis, always power-off your computer and all attached peripherals.
Leaving power on can cause permanent electrical damage to your computer and its components.
INSTALLING THE MEMORY
The vast majority of computers today have memory sockets that accept the following industrystandard
memory modules:
Desktops, Workstations and Servers
· 72-pin SIMM
· 168-pin DIMM
· 184-pin RIMM
Notebooks and Mobile Computers
· 144-pin SO DIMM
Although sockets may be in different places on different computers, installation is the same.
Consult the computer owner's manual to find out whether the memory sits on an expansion card
or on the motherboard, and whether internal computer components must be moved to gain
access.
In the section below are installation instructions for the standard modules listed above, followed
by installation instructions for some of the more popular
proprietary memory modules. If the computer requires
proprietary memory, or the instructions below don't
seem to apply to your situation, phone Kingston
Technology's Technical Support Group at (800) 435-0640.
INSTALLING A 72-PIN
SIMM
Installation of a 72-pin SIMM.
1. Place your computer's power switch in the off position and disconnect the AC power
cord.
2. Follow the instructions in your owner's manual that describe how to locate your
computer's memory expansion sockets.
3. Before touching any electronic components or opening the package containing your new
module(s), make sure you first touch an unpainted, grounded metal object to discharge
any static electricity you may have stored on your body or clothing.
4. Handle your new module(s) carefully; do not flex or bend the module(s). Always grasp
the module by its edges.
5. As shown in the illustration, the module and the expansion socket are keyed. A small
plastic bridge in the socket must align with the curved notch in the module. The bridge
ensures the module can only be plugged into the socket one way.
6. Insert the module into the socket at a slight angle. Make sure the module is completely
seated in the socket. If you're having problems inserting the module into the socket, stop
and examine both the module and the socket; make sure the notch in the module is
properly aligned with the keyed plastic bridge in the socket. Do not force the module into
the socket. If too much force is used, both the socket and module could be damaged.
7. Once you are satisfied the module is seated properly in the socket, rotate the module
upward until the clips at each end of the expansion socket click into place.
8. After all modules have been installed, close the computer, plug in the AC power cord,
and reinstall any other cables that may have been disconnected during the installation
process.
INSTALLING A 168-PIN DIMM
1. Locate the memory expansion sockets on the
computer's motherboard. If all the sockets are full,
you will need to remove smaller capacity modules to
allow room for higher capacity modules.
2. For some installations, DIMM memory can be
installed in any available expansion slot. Other
installations may require the memory to be installed in
a particular sequence based on the module's capacity. Check your owner's manual to
determine the correct installation sequence for your configuration.
3. Insert the module into an available expansion socket as shown in the illustration. Note
how the module is keyed to the socket. This ensures the module can be plugged into the
socket one way only. Firmly press the module into position, making certain the module is
completely seated in the socket. Repeat this procedure for any additional modules you
are installing.
4. Most 168-pin DIMM modules have ejector tabs similar to those shown in the illustration.
The ejector tabs are used only when you need to remove a module. By pressing down on
the ejector tabs, the module will pop up from the socket and it can be removed.
INSTALLING A 184-PIN RIMM
Installation of a 184-pin RIMM. RIMMs install into RIMM connectors. Currently,
there are two connectors on the computer board, and each must contain a RIMM or
a C-RIMM (continuity RIMM). C-RIMMs do not contain memory devices. They are
inexpensive pass-through modules that provide a continuous channel for the signal.
1. Turn off the computer and disconnect the AC power cord.
2. Locate your computer's memory expansion sockets by following the instructions in your
owner's manual.
3. Before touching any electronic components, make sure you first touch an unpainted,
grounded metal object to discharge any static electricity stored on your clothing or body.
4. If all the sockets are full, you will need to remove smaller capacity modules to allow room
for higher capacity modules.
5. The ejector tabs shown in the illustration are used to remove a module. By pushing
outward on the ejector tabs, the module will pop up from the socket and it can then be
removed.
6. For most installations, Rambus modules can be installed in any available expansion
socket, but any empty sockets must contain a continuity module as shown in the
illustration. Note that some modes may use a specific installation sequence for Rambus
modules (e.g. Rambus dual-channel configurations); see your owner's manual for more
details.
7. Insert the module into an available expansion socket as shown in the illustration. Note
how the module is keyed to the socket. This ensures the module can be plugged into the
socket one way only. Firmly press the module into position, making certain the module is
completely seated in the socket. The ejector tabs at each end of the socket will
automatically snap into the locked position. Repeat this procedure for any additional
modules are installing.
8. Once the module or modules have been installed, close the computer.
EXAMPLES OF NOTEBOOK MEMORY INSTALLATION
Although more and more notebooks accept standard SO DIMM memory modules, many still
require proprietary modules having unique form factors. No standard dictates where the memory
should be installed in the notebook. Because notebooks differ greatly in how memory is installed,
you should consult your computer manual for specific instructions.This example shows a typical
144-pin SO DIM installation.
1. Always turn off your computer and remove the rechargeable battery pack before installing
the memory.
2. Insert the module into the socket at a slight angle (approximately 30 degrees). Note that
the socket and module are both keyed, which means the module can be installed one
way only.
3. To seat the module into the socket, apply firm, even pressure to each end of the module
(see the arrows) until you feel it slip down into the socket. If you are having problems
getting the module to seat properly, try rocking the module up and down slightly, while
continuing to apply pressure. When properly seated, the contact fingers on the edge of
the module will almost completely disappear inside the socket.
4. With the module properly seated in the socket, rotate the module downward, as indicated
in the illustration. Continue pressing downward until the clips at each end of the socket
lock into position. With most sockets, you will hear a distinctive click, indicating the
module is correctly locked into position.
TROUBLESHOOTING MEMORY PROBLEMS
COMMON MEMORY PROBLEMS
When you have a problem with memory, the cause is usually one of three things:
Improper Configuration: You have the wrong part for your computer or did not follow the
configuration rules.
Improper Installation: The memory may not be seated correctly, a socket is bad, or the socket
may need cleaning.
Defective Hardware: The memory module itself is defective.
The fact that many computer problems manifest themselves as memory problems makes
troubleshooting difficult. For example, a problem with the motherboard or software may produce a
memory error message.
This chapter is designed DB Consulting 2004© to help you figure out if you have a memory
problem, and if so, what kind of problem it is, so you can get to a solution as quickly as possible.
BASIC TROUBLESHOOTING
The following basic steps apply to almost all situations:
1. Make sure you have the right memory part for your computer. At the manufacturer's
Web site you can look up the part number. Many memory manufacturers have
configurator, which indicate the compatibilities of your module. If not, phone the memory
manufacturer, consult your computer manual, or phone the computer manufacturer.
2. Confirm that you configured the memory correctly. Many computers require module
installation in banks of equal-capacity modules. Some computers require the highest
capacity module to be in the lowest labeled bank. Other computers require that all
sockets be filled; still others require single-banked memory. These are only a few
examples of special configuration requirements. If you have a name-brand computer, visit
Kingston's Web site (www.kingston.com) or use our upgrade manual to look up
configuration rules specific to your computer. You can also contact technical support for
your memory or computer manufacturer.
3. Re-install the module. Push the module firmly into the socket. In most cases you hear a
click when the module is in position. To make sure you have a module all the way in the
socket, compare the height of the module to the height of other modules in neighboring
sockets.
4. Swap modules. Remove the new memory and see whether the problem disappears.
Remove the old memory, reinstall the new, and see whether the problem persists. Try the
memory in different sockets. Swapping reveals whether the problem is a particular
memory module or socket, or whether two types of memory aren't compatible.
5. Clean the socket and pins on the memory module. Use a soft cloth to wipe the pins
on the module. Use a PC vacuum or compressed air to blow dust off the socket. Do NOT
use solvent, which may corrode the metal or prevent the leads from making full contact.
Flux Off is a cleaner used specifically for contacts. You can purchase it at electronics or
computer equipment stores.
6. Update the BIOS. Computer manufacturers update BIOS information frequently and post
revisions on their Web sites. Make sure you have the most recent BIOS for your
computer. This applies especially when you have recently installed new software or you
are significantly upgrading memory.
WHEN THE PROBLEM OCCURS
When the problem occurs is a clue as to the cause.
For example, your response to a memory error message depends on whether:
1. You have just bought a new computer.
2. You have just installed new memory.
3. You have just installed new software or a new operating system.
4. You have just installed or removed hardware.
5. Your computer has been running fine and you've made no other recent changes.
Here are rules to get started:
YOU'VE JUST BOUGHT A NEW COMPUTER
If you have just purchased a new computer and it is producing memory errors, the problem could
be related to anything, including a bad computer board. In this case, you need to troubleshoot the
entire computer, including memory. Because the computer dealer will have configured memory
and run system tests before shipping, they can best help.
YOU'VE JUST INSTALLED NEW MEMORY
If you have just installed new memory; the first possibility is that you installed incorrect parts.
Double-check the part numbers. Confirm that you have configured and installed the memory
correctly.
YOU'VE INSTALLED NEW SOFTWARE OR OPERATING SYSTEM
Newer software or operating systems tend to push memory harder than older operating systems.
Sometimes memory that worked fine prior to a software installation begins producing errors once
it runs memory-intensive software. New software also has bugs, and beta versions are notorious
for producing memory errors. In these cases, your first step should be to ensure you have the
latest BIOS and service patches for your software. Otherwise contact the memory vendor. A
technical support representative may have experience with other software incidents and can walk
you through more-detailed troubleshooting.
YOU'VE INSTALLED OR REMOVED HARDWARE
If you have just installed or removed hardware and suddenly receive memory error messages,
the first place to look is in the computer itself. A connection may have come loose during the
installation or the new hardware may be defective; in either case the errors are manifesting
themselves as memory problems. Make sure you have the latest drivers and firmware. Most
hardware manufacturers will post updates on their Web sites.
UNEXPECTED PROBLEMS
If your system has been running fine, but suddenly starts to produce memory errors, and crash or
lock up frequently, the chance of a hardware failure is more likely, since configuration and
installation problems show up as soon as the computer turns on. Sometimes you can get memory
problems if your computer is overheating, if you are having a problem with your power supply, or
if corrosion has developed between the memory module and the socket, weakening the
connection.
HANDLING SPECIFIC PROBLEMS
Here is a list of the most common ways the computer informs you of a memory problem.
1. The computer won't boot, merely beeps.
2. The computer boots but the screen is blank.
3. The computer boots but the screen is blank.
4. The computer reports a memory error.
a. Memory mismatch error
b. Memory parity interrupt at xxxxx
c. Memory address error at xxxxx
d. Memory failure at xxxxx, read xxxxx, expecting xxxxx
e. Memory verify error at xxxxx
5. The computer has other problems caused by memory.
. The computer intermittently reports errors, crashes frequently, or spontaneously reboots.
a. Registry Errors
b. General-protection faults, page faults, and exception errors
6. The server system manager reports a memory error.
The following translations help you understand what the computer means when it gives you one
of these signals.
1. Computer won't boot, merely beeps.
Every time the computer starts, it takes inventory of hardware. Inventory consists of the
computer BIOS recognizing, acknowledging, and in some cases, assigning addresses to,
the components in the computer. If the computer won't boot, the CPU is unable to
communicate with hardware. The cause can be improper installation or failure of the
BIOS to recognize hardware. Follow basic troubleshooting, paying special attention to
whether the memory module is completely installed and that you have the latest version
of the BIOS.
2. Computer boots but doesn't recognize all the installed memory. When the computer
boots, a part of the process is counting memory. On some machines the count appears
on the screen and on others is masked. If the count is masked, from the computer set-up
menu see how much memory the computer thinks it has. If the computer counts to or lists
a number less than the memory you installed, the computer hasn't recognized all the
memory.
Sometimes the computer will recognize only part of a module. This is almost always due
to using the wrong kind of memory. For example, if your computer accepts only singlebanked
memory and you have installed dual-banked, the computer will read only half the
memory on the module. Sometimes the computer will accept only modules containing
memory chips with specific organizations. For example, the VX chipset doesn't work well
with 64 Mbit chips.
In many computers the maximum amount of memory the computer can recognize is
lower than the maximum amount you can physically install. For example, your computer
may have three sockets, each of which can hold a 128MB module. If you filled every
socket with 128MB, you would have 384MB of memory. However, your computer may
recognize a maximum of 256MB. In most cases you can avoid this problem by consulting
your computer manual or a memory configuration Web site before purchasing memory.
Or visit the Kingston Web site.
3. The computer boots but the screen is blank. The most common reason for a blank
screen is a dislodged card, memory not fully seated, or memory the computer doesn't
support. Confirm that the memory is installed properly and that other components in the
computer were not accidentally disconnected or dislodged while you installed memory.
Double-check that you have the right part number for the computer. If you have nonparity
memory in a computer that requires error-checking memory, or SDRAM memory in a
computer that supports only EDO, the screen may be blank at boot up.
4. The computer reports a memory error.
Memory mismatch error: This is not actually an error. Some computers require you to
tell them that it's OK to have a new amount of memory. Use the set-up menu to tell the
computer. Follow the prompts, enter the new amount, select Save, and exit.
Computer memory or address errors: All of the following errors, and those similar to
them, indicate that the computer has a problem with memory:
o Memory parity interrupt at xxxxx
o Memory address error at xxxxx
o Memory failure at xxxxx, read xxxxx, expecting xxxxx
o Memory verification error at xxxxx
Typically the computer will perform a simple memory test as it boots. The computer will
write information to memory and read it back. If the computer doesn't get what it was
expecting, then it will report an error and sometimes give the address where the error
occurred.
Such errors normally indicate a problem with a memory module but can sometimes
indicate a defective motherboard or incompatibility between old and new memory. To
verify that the new memory is causing the problem, remove the new memory and see
whether the problem goes away. Then remove the old memory and install only the new
memory. If the error persists, phone the memory manufacturer and ask for a
replacement.
5. The computer has other problems caused by memory.
The Computer Intermittently Reports Errors, Crashes Frequently, or
Spontaneously Reboots: Because of the large number of causes, these problems are
difficult to diagnose. Possible causes are ESD (Electro-static Discharge), overheating,
corrosion, or a faulty power supply. If you suspect ESD damage, contact the memory
manufacturer and ask for a replacement. Before you install new memory, see page 85 for
information on how to prevent ESD. If you suspect corrosion, clean the memory contacts
and the sockets as explained on page 96. If you suspect the power supply, you will have
to do overall computer troubleshooting with a focus on the power supply.
Registry Errors: Windows writes a large portion of the registry to RAM. Sometimes
defective memory will cause registry errors. Windows reports a registry error and prompts
you to restart and restore. If the prompts repeat, remove your newly installed memory
and restart the computer. If the errors disappear, ask the memory manufacturer for
replacement modules.
6. General-Protection Faults, Page Faults, and Exception Errors: The most common
cause is software. For example, one application may not have released the memory after
quitting or occupies the same memory addresses as another. In these cases, rebooting
should solve the problem. If the computer suddenly displays general-protection faults,
exception errors, or page faults after you have installed new memory, remove the new
memory and see whether the errors stop. If they occur only when the new memory is
installed, contact the memory manufacturer for assistance.
7. The server system manager reports a memory error. Most servers ship with system
managers that monitor component utilization and test for abnormalities. Some of these
system managers count soft errors in memory. Soft errors have been corrected by ECC
memory. If the rate of soft errors is higher than specifications, however, the system
manager issues a pre-failure warning. This warning enables the network administrator to
replace the memory and prevent system downtime.
If the system manager on your server issues a pre-failure warning or other memory error,
ask your memory manufacturer for a replacement. If the system manager continues to
issue errors after memory replacement, make sure you have the latest BIOS, software
service patches, and firmware. The chance of receiving two bad memory modules in a
row is low. Contact the memory manufacturer for compatibility troubleshooting.
Sometimes the server does not work well with certain types of memory chips or certain
memory designs.
STILL NEED HELP?
Most memory manufacturers have FAQ or Q-and-A sections on their Web sites. There are also
troubleshooting areas on the Web site of the computer manufacturer. If you can't find anything
online, phone technical support for the computer or memory manufacturer.
Windows XP
DB Consulting 2004© has created this guide to help you determine your optimal memory
requirements for Microsoft® Windows® XP.
Windows XP gives you the freedom, performance and reliability to experience more than you
ever thought possible with your computer and the Internet.
To find out how much memory you will need, select the description that most closely matches
your business or home computing usage.
Administrative and Service Personnel
Light to Medium - Word processing, email,
spreadsheets, fax/communications, Internet
128MB - 256MB
Medium to Heavy - Complex documents, running
multiple applications, business graphics,
presentation software
256MB - 512MB
Executives and Analysts
Light to Medium - Proposals, graphic
presentations, project management, databases,
Internet
128MB - 512MB
Medium to Heavy - Statistical applications. large
databases, complex presentations, video
conferencing
256MB-1024MB
Engineers and Designers
Light to Medium - 2-4 color line drawings,
multimedia presentations, photo editing, web
development, sound editing
256MB-1024MB
Medium to Heavy - 3D CAD, animation, complex
photo editing, real-time video, digital imaging, solid
modeling
256MB - 1GB
or System Max
Live by Ghandi and Learn By Google ! Simple
![]() |
Other Threads in the Windows NT / 2000 / XP Forum
- Previous Thread: Windows explorer crashing?
- Next Thread: Can't access hotmail
| Thread Tools | Search this Thread |
.net 64bit 2007 2010 a.exe activedirectory address android apache appstore black blue bsod bulletin canonical chinese codeplex combofix crash cursor deployment deployments desktop desktops dns dotnetnuke drive eartlink error errors explorer fax features folder fontmanagers format framework freeze hardware home interoperability laptop laptops lcd linux login mac markshuttleworth memory microsoft monitor motionle1600 netbooks novell nvidia opensource operatingsystems options oracle osinstallationproblem osx palm printer product program proxy reformat remotedesktop repair replacingraiddrive retail retrieve screen security sharepoint simplifiedchinese sitetositevpn slowperformance sp3 spyware studios technology ubuntu update upgrade videodrivers videogames virus vista visual vpn vulnerability win win32/heur windows windows7 windowsxp windowsxpnotstartingup. xp xpde






