Memory is the workspace for the computer's processor. It is
a temporary storage area where the programs and data being operated on by the
processor must reside. Memory storage is considered temporary because the data
and programs remain there only as long as the computer has electrical power or
is not reset. Before being shut down or reset, any data that has been changed
should be saved to a more permanent storage device (usually a hard disk) so it
can be reloaded into memory in the future.
Memory often is called RAM, for random access memory.
Main memory is called RAM because you can randomly (as opposed to sequentially)
access any location in memory. This designation is somewhat misleading and
often misinterpreted. Read-only memory (ROM), for example, is also randomly
accessible, yet is usually differentiated from the system RAM because it
maintains data without power and can't normally be written to. Disk memory is
also randomly accessible, but we don't consider that RAM either.
To better understand physical
memory in a system, you should see where and how it fits into the system. Three
main types of physical memory are used in modern PCs:
·
ROM. Read-only memory
·
DRAM. Dynamic random
access memory
·
SRAM. Static RAM
Read-only memory, or ROM, is a
type of memory that can permanently or semipermanently
store data. It is called read-only because it is either impossible or difficult
to write to. ROM also is often referred to as nonvolatile memory because
any data stored in ROM remains there, even if the power is turned off. As such,
ROM is an ideal place to put the PC's startup instructions—that is, the
software that boots the system.
Note that ROM and RAM are not
opposites, as some people seem to believe. Both are simply types of memory. In
fact, ROM could be classified as technically a subset of the system's RAM. In
other words, a portion of the system's random access memory address space is
mapped into one or more ROM chips. This is necessary to contain the software
that enables the PC to boot up; otherwise, the processor would have no program
in memory to execute when it was powered on.
The main ROM BIOS is contained
in a ROM chip on the motherboard, but there are also adapter cards with ROMs on
them as well. ROMs on adapter cards contain auxiliary BIOS routines and drivers
needed by the particular card, especially for those cards that must be active
early in the boot process, such as video cards. Cards that don't need drivers
active at boot time typically don't have a ROM because those drivers can be
loaded from the hard disk later in the boot process.
Most systems today use a type
of ROM called electrically erasable programmable ROM (EEPROM), which is a form
of Flash memory. Flash is a truly nonvolatile memory that is rewritable,
enabling users to easily update the ROM or firmware in their motherboards or
any other components (video cards, SCSI cards, peripherals, and so on).
Dynamic RAM (DRAM) is the type
of memory chip used for most of the main memory in a modern PC. The main
advantages of DRAM are that it is very dense, meaning you can pack a lot of
bits into a very small chip, and it is inexpensive, which makes purchasing
large amounts of memory affordable.
The memory cells in a DRAM
chip are tiny capacitors that retain a charge to indicate a bit. The problem
with DRAM is that it is dynamic. Also, because of the design, it must be
constantly refreshed; otherwise, the electrical charges in the individual
memory capacitors will drain and the data will be lost. Refresh occurs when the
system memory controller takes a tiny break and accesses all the rows of data
in the memory chips. Most systems have a memory controller (normally built into
the
Another distinctly different
type of memory exists that is significantly faster than most types of DRAM.
SRAM stands for static RAM, which is so named because it does not need the
periodic refresh rates like DRAM. Because of how SRAMs
are designed, not only are refresh rates unnecessary, but SRAM is much faster
than DRAM and much more capable of keeping pace with modern processors.
SRAM memory is available in
access times of 2ns or less, so it can keep pace with processors running 500MHz
or faster. This is because of the SRAM design, which calls for a cluster of six
transistors for each bit of storage. The use of transistors but no capacitors
means that refresh rates are not necessary because there are no capacitors to
lose their charges over time. As long as there is power, SRAM remembers what is
stored. With these attributes, why don't we use SRAM for all system memory? The
answers are simple.
Compared to DRAM, SRAM is much
faster but also much lower in density and much more expensive. The lower
density means that SRAM chips are physically larger and store fewer bits
overall. The high number of transistors and the clustered design mean that SRAM
chips are both physically larger and much more expensive to produce than DRAM
chips. For example, a DRAM module might contain 64MB of RAM or more, whereas
SRAM modules of the same approximate physical size would have room for only 2MB
or so of data and would cost the same as the 64MB DRAM module. Basically, SRAM
is up to 30 times larger physically and up to 30 times more expensive than
DRAM. The high cost and physical constraints have prevented SRAM from being
used as the main memory for PC systems.
The speed and performance
issue with memory is confusing to some because memory speed is usually
expressed in ns (nanoseconds) and processor speed has always been expressed in
MHz (megahertz). Recently, however, some newer and faster types of memory have
speeds expressed in MHz, adding to the confusion. Fortunately, you can
translate one to the other.
A nanosecond is defined
as one billionth of a second—a very short time indeed. To put some perspective
on that, the speed of light is 186,282 miles (299,792 kilometers) per second in
a vacuum. In one billionth of a second, a beam of light travels a mere 11.80
inches or 29.98 centimeters—less than the length of a typical ruler!
System memory timing is a
little more involved than simply converting nanoseconds to megahertz. The
transistors for each bit in a memory chip are most efficiently arranged in a
grid, using a row and column scheme to access each transistor. All memory
accesses involve selecting a row address and then a column address and then
transferring the data. The initial setup for a memory transfer where the row
and column addresses are selected is a necessary overhead referred to as latency.
The access time for memory is the cycle time plus latency for selecting the row
and column addresses.
Standard DRAM is accessed
through a technique called paging. Normal memory
access requires that a row and column address be selected, which takes time.
Paging enables faster access to all the data within a given row of memory by
keeping the row address the same and changing only the column. Memory that uses
this technique is called Page Mode or Fast Page Mode memory. Other variations on Page Mode
were called Static Column or Nibble Mode memory.
Paged memory is a simple
scheme for improving memory performance that divides memory into pages ranging
from 512 bytes to a few kilobytes long. The paging circuitry then enables
memory locations in a page to be accessed with fewer wait states. If the
desired memory location is outside the current page, one or more wait states
are added while the system selects the new page.
To improve further on memory
access speeds, systems have evolved to enable faster access to DRAM. One
important change was the implementation of burst mode access in the 486 and
later processors. Burst mode cycling takes advantage of the consecutive nature
of most memory accesses. After setting up the row and column addresses for a
given access, using burst mode, you can then access the next three adjacent
addresses with no additional latency or wait states. A burst access usually is
limited to four total accesses. To describe this, we often refer to the timing
in the number of cycles for each access. A typical burst mode access of
standard DRAM is expressed as x-y-y-y; x is the
time for the first access (latency plus cycle time), and y represents the number of cycles required for each
consecutive access.
DRAM memory that supports
paging and this bursting technique is called Fast Page Mode (FPM) memory. The
term comes from the capability of memory accesses to data on the same page to
be done with less latency. Most 486 and Pentium systems from 1995 and earlier
use FPM memory.
Another technique for speeding
up FPM memory was called interleaving. In this
design, two separate banks of memory are used together, alternating access from
one to the other as even and odd bytes. While one is being accessed, the other
is being precharged, when the row and column
addresses are being selected. Then, by the time the first bank in the pair is
finished returning data, the second bank in the pair is finished with the
latency part of the cycle and is now ready to return data. While the second
bank is returning data, the first bank is being precharged,
selecting the row and column address of the next access. This overlapping of
accesses in two banks reduces the effect of the latency or precharge
cycles and allows for faster overall data retrieval. The only problem is that
to use interleaving, you must install identical pairs of banks together, doubling
the amount of SIMMs or DIMMs required. This method
was popular on 32-bit wide memory systems on 486 processors but fell out of
favor on Pentiums because of their 64-bit wide memory widths. To perform
interleaving on a Pentium machine, you would need to install memory 128 bits at
a time, meaning four 72-pin SIMMs or two DIMMs at a time.
In 1995, a newer type of
memory called extended data out (
The effect of
EDO RAM allows for burst mode
cycling of 5-2-2-2, compared to the 5-3-3-3 of standard fast page mode memory.
To do four memory transfers, then,
EDO RAM generally comes in
72-pin SIMM form. Figure shows the physical characteristics of these SIMMs.
To actually use
EDO RAM was ideal for systems
with bus speeds of up to 66MHz, which fit perfectly with the PC market up
through 1997. However, since 1998 with the advent of faster system bus speeds
(100MHz and above), the market for
A variation of
SDRAM is short for synchronous DRAM, a type of DRAM
that runs in synchronization with the memory bus. SDRAM delivers information in
very high-speed bursts using a high-speed, clocked interface. SDRAM removes
most of the latency involved in asynchronous DRAM because the signals are
already in synchronization with the motherboard clock.
Like EDO RAM, your chipset
must support this type of memory for it to be usable in your system. Starting
in 1997 with the 430VX and 430TX, most of Intel's chipsets began to support
industry-standard SDRAM, making it the most popular type of memory for new
systems through 2000 and even into 2001.
SDRAM performance is
dramatically improved over that of FPM or EDO RAM. Because SDRAM is still a
type of DRAM, the initial latency is the same, but overall cycle times are much
faster than with FPM or
Besides being capable of
working in fewer cycles, SDRAM is also capable of supporting up to 133MHz
(7.5ns) system bus cycling. As such, most new PC systems sold from 1998 to 2000
have included SDRAM memory.
SDRAM is sold in DIMM form and
is often rated by megahertz speed rather than nanosecond cycling time, which
was confusing during the change from FPM and EDO DRAM. Figure shows the
physical characteristics of DIMMs.
To meet the stringent timing
demands of its chipsets, Intel created specifications for SDRAM called PC66,
PC100, and PC133. To meet the PC100 specification, 8ns chips usually are
required. Normally, you would think 10ns would be considered the proper rating
for 100MHz operation, but the PC100 specification calls for faster memory to
ensure all timing parameters are met.
In May 1999, the Joint
Electron Device Engineering Council (JEDEC) created a specification called
PC133. They achieved this 33MHz speed increase by taking the PC100
specification and tightening up the timing and capacitance parameters. The
faster PC133 quickly caught on as the most popular version of SDRAM for any
systems running a 133MHz processor bus. The original chips used in PC133
modules were rated for exactly 7.5ns or 133MHz; later ones were rated at 7.0ns
or 143MHz. These faster chips were still used on PC133 modules, but they
allowed for improvements in column address strobe latency (abbreviated as CAS or
CL), which somewhat improves overall memory cycling time.
Double
data rate (DDR) SDRAM memory is a
JEDEC-created standard that is an evolutionary upgrade of standard SDRAM in
which data is transferred twice as quickly. Instead of doubling the actual
clock rate, DDR memory achieves the doubling in performance by transferring
twice per transfer cycle: once at the leading (falling) edge and once at the
trailing (rising) edge of the cycle Figure. This is similar to the way RDRAM
operates and effectively doubles the transfer rate, even though the same
overall clock and timing signals are used.
DDR found initial support in
the graphics card market and since then has become the mainstream PC memory
standard. As such, DDR SDRAM is supported by all the major processor, chipset,
and memory manufacturers.
DDR SDRAM first came to market
during 2000, but it didn't really catch on until 2001 with the advent of
mainstream motherboards and chipsets supporting it. DDR SDRAM uses a new DIMM
module design with 184 pins. Figure shows the DDR SDRAM DIMM.
DDR DIMMs
come in a variety of speed or throughput ratings and normally run on 2.5 volts.
They are basically an extension of the standard SDRAM DIMMs
redesigned to support double clocking, where data is sent on each clock
transition (twice per cycle) rather than once per cycle as with standard SDRAM.
To eliminate confusion with DDR, regular SDRAM is often called single data rate
(SDR).
JEDEC and its members have
been working on the DDR2 specification for several years now, and the
specification is finally coming to fruition. DDR2 chip and module production
began in mid-2003, and the first chipsets and motherboards supporting DDR2 will
appear in the first half of 2004. DDR2 SDRAM is simply a faster version of
conventional DDR-SDRAM memory: It achieves higher throughput by using
differential pairs of signal wires to allow faster signaling without noise and
interference problems. Originally, it was thought that DDR2 was going to be a
quad-data rate solution, but that is not the case. DDR2 is still double data
rate, but the modified signaling method enables higher speeds to be achieved.
The original DDR specification tops out at 400MHz, whereas DDR2 starts at
400MHz and will go up to 800MHz and beyond.
In addition to providing
greater speeds and bandwidth, DDR2 has other advantages. It uses lower voltage
than conventional DDR (1.8V versus 2.5V), so power consumption and heat
generation are reduced. Because of the greater number of pins required on DDR2
chips, the chips typically use fine-pitch ball grid array (FBGA) packaging
rather than the thin small outline package (TSOP) chip packaging used by most
DDR and conventional SDRAM chips. FPGA chips are connected to the substrate
(meaning the memory module in most cases) via tightly spaced solder balls on
the base of the chip.
Volume production of DDR2
chips and modules has started in the latter part of 2003, with supporting
chipsets and motherboards to be released in the first half of 2004. Variations
of DDR2 such as G-DDR2 (Graphics DDR2) are being used in some of the higher-end
graphics cards as well. Because all the major memory and chipset manufacturers
are supporting DDR2, there is little doubt that DDR2 will become the most popular
form of memory after conventional DDR.
DDR2 DIMMs
resemble conventional DDR DIMMs but have more pins
and slightly different notches to prevent confusion or improper application.
For example, the different physical notches prevent you from plugging a DDR2 module
in to a conventional DDR (or SDR) socket. DDR2 memory module designs
incorporate 240 pins, significantly more than conventional DDR or standard
SDRAM DIMMs.