Glossary - Computer Memory
Customer Reviews: " Very good wrapup of older ram types. " Click here for more reviews.
| System Memory | Memory
Technology Types | Memory Access and Access Time | DIMMs
| Asynchronous and Synchronous DRAM | DRAM
Speed Ratings | Mixing DRAM Speed | Required
DRAM Speed | DRAM Technologies | Synchronous
DRAM (SDRAM) | PC100 | Double Data
Rate SDRAM | Memory Size | Size
and System Performance |
Memory Packaging
| SIMMs |
System Memory - The system memory
is the place where the computer holds current programs and data that are
in use. The term "memory" is somewhat ambiguous; it can refer to many different
parts of the PC because there are so many different kinds of memory that
a PC uses. However, when used by itself, "memory" usually refers to the
main system memory, which holds the instructions that the processor executes
and the data that those instructions work with. Your system memory is an
important part of the main processing subsystem of the PC, tied in with
the processor, cache, motherboard and chipset.
Memory plays a significant role in the following important aspects of
your computer system:
Performance: The amount and type of system memory you have is
an important contributing factor to overall performance. In many ways,
it is more important than the processor, because insufficient memory can
cause a processor to work at 50% or even more below its performance potential.
This is an important point that is often overlooked.
Software Support: Newer programs require more memory than old
ones. More memory will give you access to programs that you cannot use
with a lesser amount.
Reliability and Stability: Bad memory is a leading cause of
mysterious system problems. Ensuring you have high-quality memory will
result in a PC that runs smoothly and exhibits fewer problems. Also, even
high-quality memory will not work well if you use the wrong kind.
Upgradability: There are many different types of memory available,
and some are more universal than others. Making a wise choice can allow
you to migrate your memory it to a future system or continue to use it
after you upgrade your motherboard.
Memory Technology Types - The system
memory itself is made from DRAM, but the other types are explained here
to show the other major technology types in use in the PC, and how they
differ from DRAM.
ROM: Read-Only Memory. One major type of memory that is
used in PCs is called read-only memory, or ROM for short. ROM is a type
of memory that normally can only be read, as opposed to RAM which can be
both read and written. There are two main reasons that read-only memory
is used for certain functions within the PC: Permanence. The values stored
in ROM are always there, whether the power is on or not. A ROM can be removed
from the PC, stored for an indefinite period of time, and then replaced,
and the data it contains will still be there. For this reason, it is called
non-volatile storage. A hard disk is also non-volatile, for the same reason,
but regular RAM is not.Security: The fact that ROM cannot easily be modified
provides a measure of security against accidental (or malicious) changes
to its contents. You are not going to find viruses infecting true ROMs,
for example; it's just not possible. (It's technically possible with erasable
EPROMs, though in practice never seen.)
Read-only memory is most commonly used to store system-level programs
that we want to have available to the PC at all times. The most common
example is the system BIOS program, which is stored in a ROM called (amazingly
enough) the system BIOS ROM. Having this in a permanent ROM means it is
available when the power is turned on so that the PC can use it to boot
up the system. Remember that when you first turn on the PC the system memory
is empty, so there has to be something for the PC to use when it starts
up.
RAM: Random Access Memory. The kind of memory used for
holding programs and data being executed is called random access memory
or RAM. RAM differs from read-only memory (ROM) in that it can be both
read and written. It is considered volatile storage because unlike ROM,
the contents of RAM are lost when the power is turned off. RAM is also
sometimes called read-write memory or RWM. It's a better name because calling
RAM "random access" implies to some people that ROM isn't random access,
which is not true. RAM is called "random access" because earlier read-write
memories were sequential and did not allow random access. Sometimes old
acronyms persist even when they don't make much sense any more. Obviously,
RAM needs to be writable in order for it to do its job of holding programs
and data that you are working on. The volatility of RAM also means that
you risk losing what you are working on unless you save it frequently.
RAM is much faster than ROM is, due to the nature of how it stores information.
This is why RAM is often used to shadow the BIOS ROM to improve performance
when executing BIOS code. There are many different types of RAMs, including
static RAM (SRAM) and many flavors of dynamic RAM (DRAM).
SRAM: Static RAM. Static RAM is a type of RAM that holds
its data without external refresh, for as long as power is supplied to
the circuit. This is contrasted to dynamic RAM (DRAM), which must be refreshed
many times per second in order to hold its data contents. SRAMs are used
for specific applications within the PC, where their strengths outweigh
their weaknesses compared to DRAM: Simplicity: SRAMs don't require external
refresh circuitry or other work in order for them to keep their data intact.
Speed: SRAM is faster than DRAM. In contrast, SRAMs have the following
weaknesses, compared to DRAMs: Cost: SRAM is, byte for byte, several times
more expensive than DRAM. Size: SRAMs take up much more space than DRAMs
(which is part of why the cost is higher).
These advantages and disadvantages taken together obviously show that
performance-wise, SRAM is superior to DRAM, and we would use it exclusively
if only we could do so economically. Unfortunately, 32 MB of SRAM would
be prohibitively large and costly, which is why DRAM is used for system
memory. SRAMs are used instead for level 1 cache and level 2 cache memory,
for which it is perfectly suited; cache memory needs to be very fast, and
not very large.
DRAM: Dynamic RAM. Dynamic RAM is a type of RAM that
only holds its data if it is continuously accessed by special logic called
a refresh circuit. Many hundreds of times each second, this circuitry reads
the contents of each memory cell, whether the memory cell is being used
at that time by the computer or not. Due to the way in which the cells
are constructed, the reading action itself refreshes the contents of the
memory. If this is not done regularly, then the DRAM will lose its contents,
even if it continues to have power supplied to it. This refreshing action
is why the memory is called dynamic.
All PCs use DRAM for their main system memory, instead of SRAM, even
though DRAMs are slower than SRAMs and require the overhead of the refresh
circuitry. It may seem weird to want to make the computer's memory out
of something that can only hold a value for a fraction of a second. In
fact, DRAMs are both more complicated and slower than SRAMs.
The reason that DRAMs are used is simple: they are much cheaper and
take up much less space, typically 1/4 the silicon area of SRAMs or less.
To build a 64 MB core memory from SRAMs would be very expensive. The overhead
of the refresh circuit is tolerated in order to allow the use of large
amounts of inexpensive, compact memory. The refresh circuitry itself is
almost never a problem; many years of using DRAM has caused the design
of these circuits to be all but perfected.
DRAMs are smaller and less expensive than SRAMs because SRAMs are made
from four to six transistors (or more) per bit, DRAMs use only one, plus
a capacitor. The capacitor, when energized, holds an electrical charge
if the bit contains a "1" or no charge if it contains a "0". The transistor
is used to read the contents of the capacitor. The problem with capacitors
is that they only hold a charge for a short period of time, and then it
fades away. These capacitors are tiny, so their charges fade particularly
quickly. This is why the refresh circuitry is needed: to read the contents
of every cell and refresh them with a fresh "charge" before the contents
fade away and are lost. Refreshing is done by reading every "row" in the
memory chip one row at a time; the process of reading the contents of each
capacitor re-establishes the charge. For an explanation of how these "rows"
are read, and thus how refresh is accomplished, refer to this section describing
memory access.
DRAM is manufactured using a similar process to how processors are:
a silicon substrate is etched with the patterns that make the transistors
and capacitors (and support structures) that comprise each bit. DRAM costs
much less than a processor because it is a series of simple, repeated structures,
so there isn't the complexity of making a single chip with several million
individually-located transistors.
There are many different kinds of specific DRAM technologies and speeds
that they are available in. These have evolved over many years of using
DRAM for system memory, and are discussed in more detail in the following.
Memory Access and Access Time - When
memory is read or written, this is called a memory access. A specific procedure
is used to control each access to memory, which consists of having the
memory controller generate the correct signals to specify which memory
location needs to be accessed, and then having the data show up on the
data bus to be read by the processor or whatever other device requested
it.
In order to understand how memory is accessed, it is first necessary
to have a basic understanding of how memory chips are addressed. Let's
take as an example a common 16Mbit chip, configured as 4Mx4. This means
that there are 4M (4,194,304) addresses with 4 bits each; so there are
4,194,304 different memory locations--sometimes called cells--each of which
contains 4 bits of data.. 4,194,304 is equal to 2^22, which means 22 bits
are required to uniquely address that number of memory locations. Thus,
in theory 22 address lines are required.
However, in practice, memory chips do not have this many address lines.
They are instead logically organized as a "square" of rows and columns.
The low-order 11 bits are considered the "row" and the high-order 11 bits
the "column". First the row address is sent to the chip, and then the column
address. For example, let's suppose that we want to access memory location
2,871,405 in this chip. This corresponds to a binary address of "10101111010
00001101101". First, "00001101101" would be sent to select the "row", and
then "10101111010" would be sent to select the column. This combination
selects the unique location of memory address 2,871,405. This is analogous
to how you might select a particular cell on a spreadsheet: go to row #34,
say, and then look at column "J" to find cell "J34".
Intuitively, it would seem that designing memory chips in this manner
is both more complex and slower than just putting one address pin on the
chip for each address line required to uniquely address the chip--why not
just put 22 address pins on the chip? It may not surprise you to learn
that the answer is "cost". By using the row/column method, it is possible
to greatly reduce the number of pins on the DRAM chip. Here, 11 address
pins are required instead of 22 (though you lose a small part of the "savings"
of 22-11=11 to additional control signals that are needed to manage the
row/column timing.) You also save some of the buffers and other circuitry
that are required for each address line. Certainly having to send the address
in two "chunks" slows down the addressing process, but keeping the chip
smaller and with fewer inputs allows it to use less power, which makes
it possible to run the chip faster, partially offsetting the loss in access
speed.
Of course, a PC doesn't have a single memory chip; most have dozens,
depending on total memory capacity and the size of DRAMs being used. The
chips are arranged into modules, and then into banks, and the memory controller
manages which sets of chips are read from or written to. Since a modern
PC reads or writes 64 bits at a time, each read or write involves simultaneous
accesses to as many as 64 different DRAM chips.
Here is a simplified walkthrough of how a basic read memory access is
performed. This is a conventional asynchronous read, because the timing
signals are not tied to the main system clock; synchronous DRAM uses different
timing signals:
The address for the memory location to be read is placed on the address
bus.
The memory controller decodes the memory address and determines which
chips are to be accessed.
The lower half of the address ("row") is sent to the chips to be read.
After allowing sufficient time for the row address signals to stabilize,
the memory controller sets the row address strobe (sometimes called row
address select) signal to zero. (This line is abbreviated as "RAS" with
a horizontal line over it. The horizontal line is a short-hand code that
tell engineers working with the circuit that the signal is "active low",
meaning that the chip is looking for it to be set to zero as a signal to
"do something". There's no way in HTML to reliably use this notation so
instead, I will write "/RAS".)
When the /RAS signal has settled at zero, the entire row selected (all
2^11 columns in the example above, or 2048 different cells of 4 bits each)
is read by the circuits in the chip. Note that this action refreshes all
the cells in that row; refreshing is done one row at a time.
The higher half of the address ("column") is sent to the chips to be
read.
After allowing sufficient time for the column address signals to stabilize,
the memory controller sets the column address strobe (or column address
select) signal to zero. This line is abbreviated as "CAS" with a horizontal
line over it, or "/CAS".
When the /CAS signal has settled at zero, the selected column is fed
to the output buffers of the chip.
The output buffers of all the accessed memory chips feed the data out
onto the data bus, where the processor or other device that requested the
data can read it.
Note that this is a very simplified example, since it doesn't mention
all of the various timing signals, and it also ignores common performance
enhancements such as multiple-banked modules, burst mode, etc. A write
process is performed similarly, except of course that the data is read
into the chips instead of being sent out by them. A special signal called
"R/W" (actually written with a horizontal line over the "W") controls whether
a read or write is being performed during the access.
The amount of time that it takes for the memory to produce the data
required, from the start of the access until when the valid data is available
for use, is called the memory's access time, sometimes abbreviated tAC.
It is normally measured in nanoseconds (ns). Today's memory normally has
access time ranging from 5 to 70 nanoseconds. This is the speed of the
DRAM memory itself, which is not necessarily the same as the true speed
of the overall memory system. Note that much of the difference in access
times of various DRAM technologies has to do with how the memory chips
are arranged and controlled, not anything different in the core DRAM chips
themselves.
Asynchronous and Synchronous DRAM - Conventional
DRAM, of the type that has been used in PCs since the original IBM PC days,
is said to be asynchronous. This refers to the fact that the memory is
not synchronized to the system clock. A memory access is begun, and a certain
period of time later the memory value appears on the bus. The signals are
not coordinated with the system clock at all, as described in the section
discussing memory access. Asynchronous memory works fine in lower-speed
memory bus systems but is not nearly as suitable for use in high-speed
(>66 MHz) memory systems.
A newer type of DRAM, called "synchronous DRAM" or "SDRAM", is synchronized
to the system clock; all signals are tied to the clock so timing is much
tighter and better controlled. This type of memory is much faster than
asynchronous DRAM and can be used to improve the performance of the system.
It is more suitable to the higher-speed memory systems of the newest PCs.
Note that there are several different flavors of both asynchronous DRAM
and synchronous DRAM; they are discussed on the page covering DRAM technologies.
DRAM Speed Ratings
There are two different ways that DRAM chips are rated for speed. Conventional
asynchronous DRAM chips have a rated speed in nanoseconds (ns, or a billionth
of a second), a speed which represents the minimum access time for doing
a read or write to memory. This includes the entire access cycle. Most
asynchronous memory in modern systems is 50, 60 or 70 ns in speed. Older
systems (386 and earlier) use usually 70 or 80 ns RAM. Very old systems
use even slower memory: 100, 120 or even 150 ns. Systems running with a
clock speed of 60 MHz or higher generally require 60 ns or faster memory
to function at peak efficiency. 70 ns is fine for 486 or older PCs.
Synchronous memory is much faster than conventional asynchronous RAM.
It is usually rated at 12, 10 or even 7 nanoseconds; however you have to
be careful here. An SDRAM module rated at 10 ns is not "5 times faster"
than an EDO module rated at 50 ns. Since SDRAM is synchronized to the internal
system clock, SDRAM speed ratings refer to the maximum speed at which the
SDRAM module can burst data onto the bus. This does not include the addressing
latency time the way asynchronous DRAM speed ratings do, which is why the
numbers are much smaller. The core DRAMs inside the SDRAM module are usually
not any faster than those of older technologies; the increase in usable
speed is due to how the module is constructed and controlled. See the following
section on SDRAM for more details.
DRAM chips are usually marked with their speed via a suffix at the end
of the part number. If you look at the chips themselves, you'll see something
like "-6" or "-60". This usually means 60 nanosecond DRAM. The suffix found
on SDRAM chips is often "-12", "-10" or "-07". Note that older memory running
at 100 or 120 ns also used "-10" and "-12" sometimes. This memory hasn't
been used in years so there really shouldn't be any confusion between the
two types. However, 70 ns memory uses "-7" and this can be readily confused
with 7 ns SDRAM memory if you are not careful.
In addition to being referred to using a nanosecond speed rating, SDRAMs
are also often rated in terms of their maximum frequency, in MHz. This
is really the same thing, just expressed in a different way: for example,
an SDRAM module with a 10ns rating would be called instead a "100 MHz SDRAM".
100 MHz is 100 million cycles per second, which is the reciprocal of 10ns,
one-hundred-millionth of a second per cycle. This MHz number is not the
same as saying that the SDRAM with that rating is designed for a system
of that speed. A 100 MHz SDRAM may not function in a 100 MHz system bus
PC. See here for more.
The rated speed of the memory is a maximum. In theory, the memory cannot
support memory timing that requires a faster speed of RAM. However, in
practice many companies rate their DRAM conservatively, so that the memory
will function at a higher speed than what is indicated. This is why many
Pentium systems running on a 66 MHz bus will work with 70 ns memory, even
when set to 60 ns timing. However, this is not reliable and cannot be counted
on (in a way, it is a form of overclocking) and is not recommended. You
can usually compensate for slower memory by turning down the system timing
level, which will cause a small performance decrease but give you better
reliability.
SDRAM speed ratings and selection criteria are more complicated than
those for conventional asynchronous RAM. Refer to the section on SDRAM.
Mixing DRAM Speeds - Mixing memory
speeds refers to the use of DRAM of more than one speed in the same computer.
For example, you might have bought a machine in 1994 that came with 70
ns DRAM (the fastest speed generally available then) and later upgraded
with more memory in 1997 that was 60 ns. While it's generally preferable
to avoid doing this, it can work without problems as long as certain caveats
are followed:
Use Identical Memory Within a Bank: PCs read a certain
bit width of memory at a time, typically 32 or 64, and the memory making
up this width is called a bank. PCs always read data from more than one
chip at a time within a single bank of memory. If different memory is used
within a bank, some of the bits may arrive later than others and all sorts
of system problems can result. For this reason you should only use the
same type and speed of memory within a bank. This also means using the
same technology--never mix EDO and FPM memory (for example) within a bank.
Put The Slowest Memory in the First Bank: Some memory
systems automatically detect the speed of the memory being used, and set
the system timing accordingly. They usually only look at the speed of the
memory in the first bank when setting the timing. If you have 60 ns RAM
in the first bank and 70 ns in the second bank, the system may set the
timing at a rate that works fine for the 60 ns memory, but causes problems
for the 70 ns. You should put the 70 ns memory in the first bank instead.
(If your system doesn't do autodetection this won't be an issue but it
is still good practice). Note that the first bank of memory is often called
"Bank 0".
Some systems just generally have a hard time working with dissimilar
banks of memory. I once tried to upgrade a system that had a pair of 8
MB, fast page mode 60 ns SIMMs, with another pair of 8 MB, fast page mode
60 ns SIMMs of another brand. The two pairs just would not work together
in any configuration, even though they worked fine separately. See this
section of the Troubleshooting Expert for more on RAM problems.
Memory Bus Speed and Required DRAM Speed
- Most modern systems generally require the DRAMs they use to be a certain
minimum speed. The speed required is normally a function of the speed of
the memory bus. Faster memory buses require faster speed DRAMs and in some
cases, faster technologies. While it is not always cut-and-dried what speed
is necessary, the table below is a guideline. It is usually possible to
use slower memory in any system if you slow down the memory timing, but
of course we're trying to make our systems run as fast as we can.
|
Processor Generation
|
Memory Bus Speed
|
Usual DRAM Technology
|
Usual Required DRAM Speed (ns)
|
|
First, Second
|
4.77-20
|
Conventional
|
100-120
|
|
Third, Fourth
|
16-40
|
Conventional, Page Mode, FPM, EDO
|
70-100
|
|
Fifth, Sixth
|
50-100
|
FPM, EDO, BEDO, SDRAM
|
8-10 (SDRAM) 50-70 (Asynchronous)
|
|
Future
|
125+
|
SDRAM, DDR SDRAM, DRDRAM, SLDRAM, Other?
|
?
|
DRAM Technologies - DRAM is available in
several different technology types. At their core, all of these different
memory types are similar. They differ mostly in the way that they are organized
and how they are accessed. As processors get faster, memory needs to run
increasingly faster and more efficiently. Memory companies have invented
progressively faster memory architectures to allow memory speeds to increase.
In the real world, the differences between many of the DRAM technologies
is not that great. Most requests for data by the processor are satisfied
from either the primary or secondary caches on a modern PC, which masks
much of the improvement in DRAM efficiency. Also, memory is just one piece
of the puzzle in overall performance. Often, more system memory is more
important to performance than better system memory.
Also bear in mind that at its core, DRAM is DRAM. The differences between
the various acronyms of DRAM technologies are primarily a result of how
the DRAM inside the module is connected, configured and addressed, in addition
to any special enhancement circuits added to the device. For example, some
fancy modules include SRAM (cache) directly in the DRAM module to improve
performance.
Generally, there are Conventional DRAM, Fast Page Mode (FPM) DRAM, Extended
Data Out (EDO) DRAM, Burst Extended Data Out (BEDO) DRAM, Synchronous DRAM
(SDRAM), Double Data Rate SDRAM (DDR SDRAM), Direct Rambus DRAM (DRDRAM),
Synchronous-Link DRAM (SLDRAM), Video RAM (VRAM) and Other Video DRAM Technologies.
Today, the most commonlly used is SDRAM.
Synchronous DRAM (SDRAM) - A relatively new
and different kind of RAM, Synchronous DRAM or SDRAM differs from earlier
types in that it does not run asynchronously to the system clock the way
older, conventional types of memory do. SDRAM is tied to the system clock
and is designed to be able to read or write from memory in burst mode (after
the initial read or write latency) at 1 clock cycle per access (zero wait
states) at memory bus speeds up to 100 MHz or even higher. SDRAM supports
5-1-1-1 system timing when used with a supporting chipset. SDRAM accomplishes
its faster access using a number of internal performance improvements,
including internal interleaving, which allows half the module to begin
an access while the other half is finishing one.
SDRAM is rapidly becoming the new memory standard for modern PCs. The
reason is that its synchronized design permits support for the much higher
bus speeds that have started to enter the market. SDRAM doesn't offer that
much "real world" additional performance over EDO in many systems, due
to the system cache masking much of that differential in speed, and the
fact that most systems are running on relatively slow 66 MHz or lower system
bus speeds. As 100 MHz bus system PCs become mainstream, SDRAM will largely
replace older technologies, since it is designed to work at these higher
operating speeds and conventional asynchronous DRAM is not.
There are several important characteristics and concerns regarding SDRAMs
that are relatively unique to the technology. In addition to the notes
below, you will want to read this informative article that goes into more
depth on choosing SDRAM modules:
Speed and Speed Matching: SDRAM modules are generally
speed-rated in two different ways: First, they have a "nanosecond" rating
like conventional asynchronous DRAMs, so SDRAMs are sometimes referred to
as being "12 nanosecond" or "10 nanosecond". Second, they have a "MHz"
rating, so they are called "83 MHz" or "100 MHz" SDRAMs for example. Because
SDRAMs are, well, synchronous, they must be fast enough for the system
in which they are being used. With asynchronous DRAMs such as EDO or FPM,
it was common to add extra wait states to the access timing for the memory
to compensate for memory that was too slow. With SDRAM however, the whole
point of the technology is to be able to run with zero wait states. In
order to do this, the memory must be fast enough for the bus speed of the
system. One place where people run into trouble in this regard is that
they take the reciprocal of the "nanosecond" rating of the module and conclude
that the module can run at that speed. For example, the reciprocal of 10
ns is 100 MHz, so people assume that 10 ns modules will definitely be able
to run on a 100 MHz system. The problem is that this allows absolutely
no room for slack. In practice, you really want memory rated slightly higher
than what is required, so 10 ns modules are really intended for 83 MHz
operation. 100 MHz systems require faster memory, which is why the
PC100 specification was developed (see below).
Speed Rating: Due to the confusion inherent in the speed rating system
described immediately above, and the likelihood of problems running slower
SDRAM modules on new 100 MHz system bus motherboards, Intel created a formal
specification for SDRAM capable of being used in these new PCs. Dubbed
PC100, these modules generally are rated at 8 ns as previously mentioned,
but there are other internal timing characteristics that must be met in
order to have a module certified as PC100-compliant. While relying on a
specification is never foolproof, it is definitely a good idea to ensure
that any SDRAM you intend to use on a 100 MHz system bus motherboard is
in fact PC100 specification compliant.
Latency: SDRAMs are still DRAMs, and therefore still have latency.
The fast 12, 10 and 8 nanosecond numbers that everyone talks about refer
only to the second, third and fourth accesses in a four-access burst. The
first access is still a relatively slow 5 cycles, just as it is for conventional
EDO and FPM memory.
2-Clock and 4-Clock Circuitry: There are two slight variations in the
composition of SDRAM modules; these are commonly called 2-clock and 4-clock
SDRAMs. They are almost exactly the same, and they use the same DRAM chips,
but they differ in how they are laid out and accessed. A 2-clock SDRAM
is structured so that each clock signal controls 2 different DRAM chips
on the module, while a 4-clock SDRAM has clock signals that can control
4 different chips each. You need to make sure that you get the right kind
for your motherboard. The current trend appears to be toward 4-clock SDRAMs.
Serial Presence Detect: Some motherboards are now being created that
require the use of special SDRAM modules that include something called
a Serial Presence Detect (SPD) chip. This is an EEPROM that contains speed
and design information about the module. The motherboard queries the chip
for information about the module and makes adjustments to system operation
based on what it finds. A great idea in theory, but you won't think it's
great if you buy an SDRAM module without the chip on it when your board
requires SPD...
CAS2 vs. CAS3: "CAS" stands for column address strobe, one of the main
signals used in accessing DRAM chips; see here for an explanation of what
CAS is all about. The terms "CAS2" and "CAS3" are used to distinguish between
slight variants in SDRAM modules. In fact, the term is a misnomer; the
"2" and "3" refer to the latency of the CAS line, so the terms should be
"CL2" and "CL3". Theoretically a "CAS2" module is slightly faster than
a "CAS3" module, making it more likely to function if the system bus is
being overclocked beyond 100 MHz, but the whole matter of "CAS2" and "CAS3"
has been overhyped to the Nth degree by many vendors. Dean Kent's
article on SDRAM terminology explains this in greater detail.
Packaging Concerns: To make matters even more confusing, SDRAM usually
comes in DIMM packaging, which itself comes in several different formats
(buffered and unbuffered, 3.3 volts and 5 volts). You need to make sure
you get the right type of packaging as well; see DIMMs section for detail
about it..
Now that you've read that, do you feel a bit confused about exactly
what type of SDRAM you need? I don't blame you! This is why I strongly
advise working closely with your motherboard manufacturer and/or a trusted
vendor in choosing your SDRAM. It's one thing to try to figure all of this
out from specifications, but it's much better to contact the company that
made your motherboard and have them say definitively that you need "10
ns, 4-clock, unbuffered, 3.3 volt SDRAM modules with serial presence detect",
or whatever.
Double Data Rate SDRAM (DDR SDRAM) - Only a
few years ago, "regular" SDRAM was introduced as a proposed replacement
for the older FPM and EDO asynchronous DRAM technologies. This was due
to the limitations the older memory has when working with systems using
higher bus speeds (over 75 MHz). In the next couple of years, as system
bus speeds increase further, the bell will soon toll on SDRAM itself. One
of the proposed new standards to replace SDRAM is Double Data Rate SDRAM
or DDR SDRAM.
Memory Size - Every system has a maximum
amount of memory and maximum cacheable memory that it will support. There
are in fact several limiting factors that dictate how much memory can be
used in any system. See following for how it influences the system performance.
Memory Size and System
Performance
The amount of memory in a PC has a significant impact on its overall
performance. Using too little RAM can be the biggest anchor dragging down
overall system speed. This is something that many PC users fail to realize;
I will often see someone posting to USEnet saying that their PC is "too
slow" and so they want to upgrade to a faster processor. Then I will find
out they are trying to run multiple applications or high-end games under
Windows 95 but have only 8 MB of RAM. In a situation like this, upgrading
the processor is a waste of money until the system memory is brought up
to a more reasonable level.
Strictly speaking, the amount of memory in the computer has no impact
on the speed that the memory runs, nor on the speed that the processor,
chipset, motherboard and other major system components run. However, this
is only if all of the programs running on the PC fit into the system RAM!
All multitasking operating systems use virtual memory, which lets the PC
think it has more memory than the actual physical RAM; the extra virtual
memory is stored in a swap file on the hard disk. When more programs and
data are in use than physically fit in memory, the virtual memory manager
swaps parts of memory to disk. This is described in detail in the section
discussing virtual memory.
When the amount of virtual memory in use greatly exceeds the amount
of real memory, the operating system spends a lot of time swapping pages
of memory around, which greatly hampers performance. The reason is simple:
the hard disk is thousands of times slower than the system memory, if not
more. Remember that hard disk access time is measured in thousandths of
a second; memory access time is measured in billionths of a second. This
doesn't tell the whole story but it gives you a general idea of the difference.
Let's suppose you are running a word processor, spreadsheet and a calendar
program on Windows 95 on a system with 8 MB of real system memory. The
total amount of virtual memory required by the applications you are using
combine to most likely about 24 MB, depending on what versions of the software
you are using. Windows 95 itself needs about 8 MB for system tasks. Since
you only have 8 MB of memory, this means basically every time you do anything,
the PC will have to pause and swap information to disk before proceeding.
If you were to increase your system RAM to 32 MB, you could hold most (if
not all) of the data in memory and the hard disk would be quiet. The improvement
in performance is dramatic.
The best way to understand the importance of having enough memory is
to compare PCs with more memory and with less when running similar tasks.
I have seen 80486DX2-66s that feel faster than Pentium 133s, when the 486
has 32 MB of memory and the Pentium has only 8 MB. (I'm not exaggerating.)
Even though the Pentium has probably three times the raw power, it is wasted
because the system is spending so much time thrashing to the hard disk
(while the CPU figuratively twiddles its thumbs).
So how much memory do you need? This is not an easy question to answer.
It depends entirely on what you are using the system for. If you are running
a single DOS application on a slower PC, 4 MB can be sufficient as long
as the application doesn't need more than that. Many high-end CAD or graphics
workstations use 256 MB of RAM or more. The amount of memory needed by
PCs continues to increase as programs and data get larger and larger. A
few years ago, 8 MB was considered a configuration for a high-end system;
last year this would have been considered "entry level"; today, it is considered
totally unacceptable. The trend towards much larger quantities of RAM will
continue in the future, since the price of RAM continues to drop dramatically,
and is now in the environs of $1/MB.
Tip: Watch your hard disk LED. If you see it come on and flicker rapidly
when switching between tasks for example, this probably means that your
operating system is being forced to use virtual memory. If this happens
often, it is a clue that you may need more memory. (Note that when loading
programs or doing other obviously disk-intensive work, having the disk
light come on does not necessarily imply anything about virtual memory,
of course.)
In general, more memory is better, however you have to watch out for
the cacheability issue, since some PCs will not cache memory above a certain
value. In addition, the law of diminishing returns definitely applies to
memory size: each time you increase your system's memory, you get less
improvement than you did the previous time you increased it. Going from
8 MB to 16 MB results in a huge performance increase for most Windows 95
users. Going from 16 to 24 MB results in some improvement but much less
than that resulting from going from 8 to 16, and so on.
For most systems, there is a point beyond which adding more memory does
not add appreciably to system performance. Where this point lies depends
a great deal on what you use your system for--if you are using huge multimedia
files for example your PC can probably make use of as much memory as you
can throw at it. For most users the point of serious diminishing returns
lies between 24 and 48 MB. Above about 48 MB, you will not see much noticeable
improvement unless you are doing high-end graphics work, manipulating large
files, or multitasking like crazy.
The table below shows some sample operating systems and application
types, along with general ranges for recommended memory. This is a guideline
only and should not be taken as definitive law; if you are using Windows
NT and several applications, I can guarantee that 32 MB is going to be
too little, pretty quickly. Only you can assess how you use your PC and
therefore what makes the most sense. (That said, I will also say that very
few people will want to be below the numbers in the "minimum" column below):
|
Operating System and Application
|
Minimum RAM for Tolerable Performance
|
Minimum RAM for Good Performance
|
Typical Point of Diminishing Returns
|
|
DOS, Single Tasking (not games)
|
4 MB
|
8 MB
|
16 MB
|
|
Office work, Windows 3.x
|
8 MB
|
16 MB
|
32 MB
|
|
Windows 95 Multitasking, High-end DOS games
|
16 MB
|
32 MB
|
64 MB
|
|
Windows NT Workstation
|
24-32 MB
|
48 MB
|
128+ MB
|
|
High-end use, Graphics processing, Multimedia,
Servers
|
32 MB
|
64+ MB
|
In many cases, none
|
There is one other way that memory size impacts on overall system performance.
Having more memory allows you to dedicate some of it for use as a disk
cache. A disk cache lets you store recently-used information from the disk
in a special area of memory, to save time reading to the disk when it is
needed again. This improves system performance by avoiding unnecessary
reads and writes to the slow hard disk.
Memory Packaging - Like processors,
memory is made from tiny semiconductor chips and must be packaged into
something less fragile and tiny in order to be integrated with the rest
of the system. However, in many cases the chip packages are themselves
further integrated into larger packages. There are many different kinds
of memory packages in the PC world today, and it can be difficult to know
which type needs to be used with a given system design. The following are
common memory packaging types: Dual Inline Packages (DIPs) and Memory Modules,
Parity, Non-Parity and ECC Memory, Standard and Proprietary Memory Modules,
Single Inline Memory Modules (SIMMs), Dual Inline Memory Modules (DIMMs).
Single Inline Memory Modules (SIMMs) - The
single inline memory module or SIMM is still the most common memory module
format in use in the PC world, largely due to the enormous installed base
of PCs that use them (in new PCs, DIMMs are now overtaking SIMMs in popularity.)
SIMMs are available in two flavors: 30 pin and 72 pin. 30-pin SIMMs are
the older standard, and were popular on third and fourth generation motherboards.
72-pin SIMMs are used on fourth, fifth and sixth generation PCs.
SIMMs are placed into special sockets on the motherboard created to
hold them. The sockets are specifically designed to ensure that once inserted,
the SIMM will be held in place tightly. SIMMs are secured into their sockets
(in most cases) by inserting them at an angle (usually about 60 degrees
from the motherboard) into the base of the socket and then tilting them
upward until they are perpendicular to the motherboard. Special metal clips
on either side of the socket snap in place when the SIMM is inserted correctly.
The SIMM is also keyed with a notch on one side, to make sure it isn't
put in backwards.
The 30 pin SIMMs are generally available in sizes from 1 to 16 MB. Each
one has 30 pins of course, and provides one byte of data (8 bits), plus
1 additional bit for parity with parity versions. 72-pin SIMMs provide
four bytes of data at a time (32 bits) plus 4 bits for parity/ECC in parity/ECC
versions. Package bit width is discussed in detail here.
SIMMs are available in two styles: single-sided or double-sided. This
refers to whether or not DRAM chips are found on both sides of the SIMM
or only on one side. 30-pin SIMMs are all (I am pretty sure) single-sided.
72-pin SIMMs are either single-sided or double-sided. Some double-sided
SIMMs are constructed as composite SIMMs. Internally, they are wired as
if they were actually two single-sided SIMMs back to back. This doesn't
change how many bits of data they put out or how many you need to use.
However, some motherboards cannot handle composite SIMMs because they are
slightly different electrically.
72-pin SIMMs that are 1 MB, 4 MB and 16 MB in size are normally single-sided,
while those 2 MB, 8 MB and 32 MB in size are generally double-sided. This
is why there are so many motherboards that will only work with 1 MB, 4
MB and 16 MB SIMMs. You should always check your motherboard to see what
sizes of SIMMs it supports. Composite SIMMs will not work in a motherboard
that doesn't support them. SIMMs with 32 chips on them are almost always
composite.
Warning: Lately, some 16 MB and 64 MB SIMMs have been seen that are
composite. These can cause significant problems with some motherboards,
since they are specified to support 16 MB SIMMs on the expectation that
16 MB SIMMs will all be single-sided. You may not be able to use double-sided
16 MB SIMMs in some systems, especially older or cheaper ones.
Most motherboards support either 30-pin or 72-pin SIMMs, but not both.
Some 486 motherboards do support both, however. In many cases these motherboards
have significant restrictions on how these SIMMs can be used. For example,
only one 72-pin socket may be usable if the 30-pin sockets are in use,
or double-sided SIMMs may not be usable.
Dual Inline Memory Modules (DIMMs) - The dual
inline memory module or DIMM is a newer memory module, intended for use
in fifth- and sixth-generation computer systems. DIMMs are 168 pins in
size, and provide memory 64 bits in width. They are a newer form factor
and are becoming the de facto standard for new PCs; they are not used on
older motherboards. They are also not generally available in smaller sizes
such as 1 MB or 4 MB for the simple reason that newer machines are rarely
configured with such small amounts of system RAM.
Physically, DIMMs differ from SIMMs in an important way. SIMMs have
contacts on either side of the circuit board but they are tied together.
So a 30-pin SIMM has 30 contacts on each side of the circuit board, but
each pair is connected. This gives some redundancy and allows for more
forgiving connections since each pin has two pads. This is also true of
72-pin SIMMs. DIMMs however have different connections on each side of
the circuit board. So a 168-pin DIMM has 83 pads on each side and they
are not redundant. This allows the packaging to be made smaller, but makes
DIMMs a bit more sensitive to correct insertion and good electrical contact.
DIMMs are inserted into special sockets on the motherboard, similar
to those used for SIMMs. They are generally available in 8 MB, 16 MB, 32
MB and 64 MB sizes, with larger DIMMs also available at a higher cost per
megabyte. DIMMs are the memory format of choice for the newest memory technology,
SDRAM. DIMMs are also used for EDO and other technologies as well.
DIMMs come in different flavors, and it is important to ensure that
you get the right kind for the machine that you are using. They come in
two different voltages: 3.3V and 5.0V, and they come in either buffered
or unbuffered versions. This yields of course a total of four different
combinations. The standard today is the 3.3 volt unbuffered DIMM, and most
machines will use these. Consult your motherboard or system manual.
A smaller version of the DIMM is also sometimes seen; called the small
outline DIMM or SODIMM, these packages are used primarily in laptop computers
where miniaturization is key.
Related Items: | How to Choose Memory | Installation Guide | FAQ |
Go to Top
Very good wrapup of older ram types - Nov 30, 2003
Reviewer: d nyberg
Very good wrapup of older ram types
YES! - Jan 12, 2003
Reviewer: Michael Lianez
If this glossary is updated regularly, then the world will be a happier place! I have been so confused on the types of memory floating around, and now I can see where my crazy components might actually go! Thanks!
Read More Customer Reviews
Write New Reviews