|
|
|
|
ALL
ABOUT RAM:
An
overview of the different types of RAM.
|
|
|
RAM means
Random-Access-Memory (1). RAM is
cheap and fast compared to some other forms of memory. RAM
is temporary storage. Data loaded into RAM, from the
hard-drive or ROM, will be lost when the computer is powered
down. Remember to save what is in RAM to hard-drive before
you power off or you will lose whatever you did. You can
think of your Hard-Drive as your bookshelf (where you store
things), but RAM would be your desktop. RAM is where you
work on things.The larger the desktop, the more different
things you can see and be working on at once, without having
to put something away or covering it up with something
else.
(1) This is ironic
way to name RAM since ROM is also random access memory
(but it also read-only), but never try to figure out
computer naming conventions -- it will only frustrate
you.
Packaging
RAM used to be sold as separate chips you put into little
sockets individually. But this was a pain in the butt. So
now RAM chips are usually sold soldered on little circuit
boards (sticks) called SIMM's or DIMM's. There
are also custom cards for memory for some devices, but most
companies are standardizing on the "standards".
SIMM means
Single-Inline-Memory-Module,
DIMM means
Dual-Inline-Memory-Module --
the only difference being that DIMM's have more pins (use
both sides) and support more total memory. Physically
they are not the same form factor, so you can not
accidentally install the wrong package in your computer
and cause harm. Then to mess up the standards, they made
many different types of SIMM's and DIMM's -- so that you
had to call tech-support to figure out which TYPE of
SIMM/DIMM and what type of memory you need. Some SIMM's
or DIMM's are keyed so that you can't put in the wrong
type, most are not.
There is also a new package called
SO-DIMM. SO means small
outline, which means that is is physically much smaller.
This is important for portable computers, and many of
those will be going to SO-DIMM's in the future (it is not
yet very common).
Some memory still comes in proprietary packages --
usually soldered on to custom memory cards. This is more
common for portables. Also some memory is available in
standardized memory cards, like PCMCIA, PC-CARD or
CARD-BUS cards (which are basically the same thing).
Most of the time you do not need
to know about the different types of SIMM's or DIMM's.
You can call up a supplier and ask for memory for your
computer, and they can do a look-up on your model and
tell you what you need. So these explanations are
strictly for understanding the basics and for your
information.
Features
What differentiates the types of Packages (SIMM's and
DIMM's) is sometimes the amount of pins (or connections) on
the edge. Sometimes it is what are the functions of that
package and what configuration of memory is on the package.
Some of the different features of RAM include -
PARITY is a way of
using a little extra memory (one extra bit for every 8)
to double check the value, to make sure you have a good
value in the RAM. Its like sending the page count on a
FAX so that the recipient can make sure all the pages got
there. It sounds good in theory, but computers RAM (in
practical applications) only fails once every 10-50 years
or so. Most computers with parity RAM can't do anything
(when parity fails) except crash immediately -- which
prevents you from writing bad-data to the hard drive but
little else. Most of the time you get a parity error it
will be in an area of memory that would not have effected
anything . So for 15% more cost, you get very little
return except a machine that may crash 1 more time in
every 50 years.
ECC is another type of "Error
Correcting" memory but uses a better algorithm (catches
more errors). Parity can only detect a single bit error
(in each Byte), if two bits in the same byte get an
error, then parity thinks everything is OK. ECC can catch
both one bit and two bit errors. Again, it costs more
than regular memory -- and doesn't do that much for most
users. A single bit error is likely to happen
infrequently -- but the likelihood of two bits failing in
the same area at the same time is likely to happen very
very infrequently. RAM fails so rarely that this is just
anachronistic paranoia held-out from the old days (10-20+
years ago) when RAM was not as reliable as it is
today.
Voltage. 5v memory is the
most common, but speed, size and voltage are related. As
we go faster and get smaller, we lower the voltage as
well. So 3.3v DIMM's are starting to become more common,
and it is possible that 2.5v will someday become the
norm. So it was not a sick joke, there are reasons for
differing voltages -- but it does confuse users.
SPEED. Memory runs at
different speeds -- measured in Nanoseconds (billionths
of a second). Your memory has to be at least as fast as
the computer expects, or you may start getting memory
errors. So a computers that says "70ns RAM" WILL require
AT LEAST 70ns RAM. 60ns is faster, and so could be used,
but usually the computer will still only access that RAM
at its rated speed (70ns), so you aren't gaining
anything. Smaller is faster in this case because it is a
measurement of time to access -- 60 billionths, is
smaller and faster (less time) than 70 billionths of a
second.
DUAL-PORTED (VRAM). RAM can
normally only be accessed from one thing at a time (a
single BUS). But some designs are much easier if you have
Dual-Ported RAM, RAM that supports two separate devices
talking to it at the same time (two/dual ports). For
Video RAM this means that the computer (CPU) can read and
write to the RAM at the same time that the video
circuitry can be accessing it (to update your screen
image). It can also be used for other types of I/O. It
would be like being able to hold on two conversations
simultaneously. We need dual ported people (and no sick
jokes)!
NV-RAM. This is
Non-Volitile RAM -- it will not forget things, even when
power is removed. NV-RAM is made with a variety of ways.
Sometimes it is really EEPROM, but usually it is
low-power dynamic RAM with an internal battery, or
sometimes external circuitry and a battery. Sometimes it
is just SRAM. So NV-RAM just means nonvolatile, and could
be just about any type of memory.
PRAM - Parameter RAM. Macs
(and some other computers) have a small amount of memory
for remembering things, even when the power is off. This
is often called "Parameter RAM" or PRAM. The name is
defining the RAMs function, not the type. Usually the
Macs PRAM is battery backed up SRAM (a type of NVRAM) and
is contained on a specialty chip that does other things,
like keep track of the date and time, and supply that
information to the computer.
Types
Not only are there different types of packages that the
RAM comes on and different features, but there are different
TYPES of RAM as well.
DYNAMIC RAM (DRAM)-
this is the type of RAM used in most microcomputers main
memory. It is inexpensive -- relative to the other forms
of RAM. The name is redundant since Dynamic means
"changing", and all RAM changes -- that is what makes it
RAM instead of ROM. In this case Dynamic is very
specific, it means that the DRAM will not remember stuff
for very long (millionths of a second). So the DRAM has
to have its own circuitry to refresh itself -- remind
itself of what it already knows. This circuitry has to
look at each location inside of itself, and reminds
itself to remember that value -- which will decay unless
it comes back and reminds itself again. This is the same
as you walking down the street repeating a phone number
or address to yourself so that you won't forget it. DRAM
has to do this because is uses capacitors to remember
things (which are like short term batteries), instead of
a more complex set of circuits (gates). Capacitors remain
charged for only a while, so you have to keep recharging
them (by reminding them). Since capacitors are easy to
make, and the refresh logic can be shared among a whole
chip, the cost of DRAM is cheap. Because capacitors are
somewhat slow, and there is refresh logic running part of
the time, the access to DRAM is slower than other forms
of memory. Access takes about 60ns (60 billionths of a
second).
STATIC RAM (SRAM)- this is
used when you need fast memory. Instead of the
refresh-decay design of Dynamic RAM, SRAM uses a more
complex design of switches (called a flip-flop). This
means that once you set a value in a SRAM, you do not
have to come back and remind it. But the more switches
(gates) on a chip, the more it costs, and the more space
it takes. The switches are faster than a capacitor, and
so SRAM is quick. Also because it does not need to keep
charging itself to remember things, SRAM's require much
less power. SRAM's are often used in portables (or they
use Pseudo Static RAM which is low-power DRAM pretending
to be SRAM). SRAM is also used for L2 Caches, for some
Video-Memory, and for other high-speed applications.
Access speeds are often as low as 8-14ns (billionths of a
second) -- or 5 to 10 times faster than DRAM.
Types of Access
How you design the memory to access information can also
change the name of the RAM and the performance
characteristics. Programmers access memory as a giant linear
array (one dimensional) of addresses -- similar to your
street address or phone number being different from your
neighbors. However, inside the chip, memory is laid out in a
grid or two dimensional array . This is more like the
zip-code to the post office, or area code and prefix to the
phone company - it lets them presort by area, with each
lesser significant number narrowing the area more and more.
Internally to RAM these addresses are the RAS (Row Access
Strobe) and CAS (Column Access Strobe) control lines which
are just part of the larger address.
Interleave -
Memory can be accessed based on the width of the BUS
(which varies depending on the processor and machine).
But memory is slower than the CPU. So if you take 2 (or
4) banks of memory, and interleave them, you can speed up
access. Interleaving is basically alternating each
address among the two chips (toggling between 2 different
chips). Think of a set of data "AAA" and a set of data
"BBB", when we interleave them we get "ABABAB". Since
memory is usually accessed sequentially, and the access
speed is fixed, by alternating addresses we can almost
double the speed. While I am loading A, bank B is ready
-- when I load from B, A is getting its next address and
by the time I load from B and get back to A, A is ready
to send me its data.
FPM RAM - Fast Page Mode RAM.
Using the RAS and CAS explained above... instead of
sending the whole address to get every location, we can
cheat. We send the whole address once, then as long as we
are in the same area (column) we only have to move in the
row address (the last part). Since the chip won't have to
make BIG area changes, it can be a little faster, for
much of the time. That is what Fast page means -- it is
Fast-inside that Page (column). But when you go out of
the area (column) it still has to take a performance hit.
So it is faster on sequential access, but can't do much
for completely random accesses of memory. (Fortunately
most access is sequential).
HPM/EDO RAM - Hyper Page Mode
or Extended Data Out RAM. This uses a neat trick -- the
memory will hold its old data until you are DONE sending
a new address. This allows the CPU to read the data in,
while the RAM is getting the next address. Normally RAM
will drop the valid data to a null state as soon as you
START to send a new address. On EDO, this means that
there is less time between finishing reading one address,
and reading another one -- because EDO has been starting
to get the next address while you were finishing reading
the last one. Imagine looking up two words in the
dictionary (at random) -- on FPM when you are done
reading the definition of one word, you go on and start
looking up the next word. With EDO while you are reading
the definition of one word, part of you is looking up the
next word, so as soon as you are done with the definition
you can just pop to the next words page (or you are part
way through the look-up and can continue from much closer
to your goal).
BEDO RAM - Burst EDO RAM. I
don't know how this differs from EDO and SDRAM. I believe
it is some hybrid between the two. Burst generally means
something similar to synchronous -- the first access is
normal, but the rest comes back at you very quickly
(bursts of speed).
SDRAM - Synchronous Dynamic
RAM. This is a newer type of fast DRAM. Performance wise
it is getting very good and competes with SRAM. Access
times for interleaved SDRAM can be 8-10ns, but not
for ANY one address (that is the average). SDRAM uses a
trick of addressing. When you ask for an address, SDRAM
will get you that address, and then for each tick of the
clock it will give you the next sequential address (for
some specified size). So your first access is as slow as
normal, but all subsequent sequential addresses keep
getting spewed out very quickly. Internally it actually
has a fair amount of support logic to do this (an
internal controller) and they are programmable to a point
(you can change the size of the data coming back) and are
going to be the future of main memory because of the
speed gains.
Conclusion
Remember, RAM comes in a package (DIMM/SIMM) and has
different features and attributes (Parity or Non-Parity, its
speed, its voltage, etc.). It also is of a different
manufacture (Static or Dynamic), and has a design for how it
will be accessed (whether Interleaved, Fast-Page, EDO,
SDRAM). All of those together definite the exact type of
memory you are using.
My 7500 uses 70ns, interleaved FPM DRAM DIMMs at 5v. The
Tanzania based Macs (and clones) use 60ns,
non-interleaved, EDO DRAM DIMMs at 3.3v. The G3 Macs use
10ns SDRAM DIMM's (at 3.3v). If you understand this
paragraph you are now a memory Guru! If you don't (and
you read the article), then send me eMail because my
article needs more work.
OTHER LINKS
|