RAM: Random Access Memory
RAM (random access memory) is what is most often referred to when PC memory is discussed. RAM is the form of volatile memory used to hold temporary instructions and data for manipulation while the system is running. The term "random" is applied because the CPU can access or place data to and from any addressable RAM on the system. If power to the system is lost, all RAM is lost as well.
Usually, when referring to RAM, we are speaking of some variation of DRAM (dynamic random access memory) or the newer SDRAM (synchronous DRAM). These are the most common forms of RAM used in the modern PC.
DRAM works by using a microscopic capacitor and a microscopic transistor to store each data bit. A charged capacitor represents a value of "1," and a discharged capacitor represents a value of "0." A capacitor works like a battery-it holds a charge and then releases it. Unlike a battery, which holds a charge for months, the tiny capacitors in DRAM hold their charges for only fractions of a second. Therefore, DRAM needs an entire set of circuitry just to keep the capacitors charged. The process of recharging these capacitors is called "refreshing." Without refreshing, the data would be lost. This is another reason why DRAM is called volatile memory.
All PC CPUs handle data in 8-bit blocks. Each block, known as a byte, denotes how many bits the CPU can move in and out of memory at one time. The number is an indication of how rapidly data can be manipulated and arranged in system memory. But don't confuse this byte with the amount of system memory, which is usually expressed in megabytes (MB). System memory is the total amount of active memory that is available to the CPU as a temporary work area.
Each transaction between the CPU and memory is called a bus cycle. The amount of memory that a CPU can address in a single bus cycle has a major effect on overall system performance and determines the design of memory that the system can use. The width of the system's memory bus must match the number of data bits per cycle of the CPU.
All computers have some form of memory controller, which handles the movement of data to and from the CPU and the system memory banks. The memory controller is also responsible for the integrity of the data as it is swapped in and out. There are two primary methods of ensuring that the data received is the same as the data sent: parity and error-correction coding (ECC).
Parity
Parity is a method of ensuring data integrity that adds an extra bit (the parity bit) along with each 8-bit bus cycle. There are two kinds of parity: even and odd. Both use a three-step process to validate a bus transaction; however, they do it in opposite ways.
- In step one, both methods set the value of the parity bit based on the even or odd number that represents the sum of the data bits as the first step.
- In step two, the string goes into DRAM.
- And in step three, the parity circuit checks the math. If the parity bit matches the parity bit of the number that represents the sum of the binary string sent, the data is passed on. If it fails the test, an error is reported.
ECC
A more robust technology, ECC can detect errors beyond the limits of the simpler parity method. It adds extra information about the bits, which is then evaluated to determine if there are problems with individual bits in the data string.
Access Speed
Access speed, denoted in nanoseconds (ns), is the amount of time it takes for the RAM to provide requested data to the memory controller. Here, smaller is better. Be sure to buy RAM that is at least as fast as that listed as standard for the computer in question.
A typical total response time for a 70-ns DRAM chip is between 90 and 120 ns. This includes the time required to access the address bus and data bus. Most 486- and Pentium-based machines use either 70-ns or 60-ns DRAM chips, although 50-ns chips are now available. The access speed of a chip is usually printed on the chip (often as part of the identification number).
Here are a few important things to remember about access speed when adding memory:
- Any add-on memory should be the same speed or faster (lower number) as any existing memory.
- You cannot mix memory modules with different speeds in the same bank.
- You should check the motherboard specifications for the recommended memory chip speed.