Synchronous Dynamic
Random Access Memory
SDRAM started life as
an evolution of the EDO (Extended Data Output) DRAM memory type, as seen in
486 and older Pentium systems. The main drawback of these older memory
technologies was that they ran at a different speed than the rest of
the system components (asynchronously).
This resulted in occasional delays, or wait-states while the processor was
waiting for the RAM to be available to receive data, which in turn reduced
the overall speed of the system. SDRAM, initially available at the
66Mhz specification, was synchronized with the system clock, eliminating any unnecessary wait times. Ideally,
as long as the SDRAM used was fast enough to keep up with the
system clock, it would perform the requested data storage or retrieval action
within one clock cycle, and be ready to receive or transmit data again
on the next cycle.
To give an example,
a 66Mhz system clock, as seen in older Intel Pentium II and Celeron
systems, performed 66.6 million cycles per second, each cycle taking 15 nanoseconds to
complete. The SDRAM would theoretically perform one read or write action every cycle.
We say theoretically since the actual memory chips used to make SDRAM are not
generally significantly faster than the older DRAM types, and still take
considerably more than one clock cycle (generally 5 cycles for SDRAM) to begin a
read/write action by locating the correct row and column to begin reading or writing
from. After this first cell is located, subsequent read/write actions on the
adjacent memory cells are much faster, happening one per clock cycle. This is
known as burst mode.
Tying the memory to the system clock enabled memory access to keep pace
with the increasing speed of modern computers, while also putting pressure on
manufacturers to increase the quality of the memory to cope with the increasing
demands put on it.
SDRAM memory is commonly available in 66, 100 and 133Mhz
speeds, also called PC66, PC100 and PC133 respectively. It should be noted though,
that these values do not refer to the speed of the memory itself, but
rather the bus and system clock speed of the systems it is rated
to be used with.
The memory itself works the same way, and
is generally backwards compatible, in that higher rated memory (PC133 for
example) will work in a lower speed system (say 100Mhz) running at the lower
speed. You gain no performance benefit from using the higher rated memory in
this scenario though, and be aware that older SDRAM systems are likely to be
incompatible with newer SDRAM memory due to the memory speed settings that the
motherboards may default to.
Manufacturers have been known to put ratings on their
SDRAM of up to 166Mhz even though there are no motherboard/processor combinations using SDRAM
which run at that clock speed by default. They do this to
advertise their memory's ability to run at higher clock speeds for users who wish
to overclock their computers. Since if you increase your computer's clock speed,
the frequency at which it will attempt to access the memory will also
increase, leading to stability problems if the memory can not keep up.
Most SDRAM memory chips are capable
of transferring and receiving data slightly faster than their rated speed to
give some margin for error. SDRAM is typically available in a 168-pin DIMM
(Dual Inline Memory Module) in capacities from 16MB up to 1 GB.
Currently, aside from a few motherboards that
support both SDRAM and DDR-SDRAM, you cannot purchase new systems that use
SDRAM. The huge volume of older computers on the market ensure that SDRAM
modules will be manufactured for at least a few more years, however.