Absolute Beginners Guide to A+ Certification. Covers the Hardware and Operating Systems Exam
< Day Day Up > |
The first fact you need to know when you order memory for a system is what type of memory module it uses. The original form of memory used in the IBM PC, XT, and AT models and other computers of the time (early to mid-1980s) was individual RAM chips, ranging in size from 16Kb to 1Mb. These chips were installed on the motherboard or add-on cards that plugged into expansion slots on the motherboard. Because memory chips are sized in bits, not bytes, it took multiple chips to reach a given capacity. Some add-on cards for memory upgrades were so large that they ran the full length of the case and sometimes contained two layers of chips. Starting in the late 1980s, memory modules (small printed circuit boards [PCBs] with multiple memory chips soldered to them) became popular and continue to be the most common type of memory used today. Single and Multibit Chips
As you learned in Chapter 3, "How Computers Measure and Transfer Data," eight bits make a byte. A byte is the basic building block used to determine storage and RAM capacity. You might assume that every memory module made uses at least eight chips, one for each bit in a byte. At one time, many 30-pin memory modules did use a chip for each bit. This was relatively simple because a 30-pin SIMM (single inline memory module) is an eight-bit device. However, as processors required memory in larger and larger gulps (Pentium-class and newer processors use a 64-bit data bus), it stopped being practical to use a single chip for each bit on a memory module. Fortunately, there's a solution. Multibit chips , in which each memory chip contains four bits or a multiple of four bits, have been in use even before memory modules were introduced. Consequently, it was relatively simple to start producing memory modules that use multibit chips. Figure 7.1 compares a 30-pin memory module that uses one chip for each bit to two modules that use multibit (four bits per chip) memory chips. Figure 7.1. A 30-pin SIMM that uses a single chip for each bit (top) compared to two 30-pin modules that use four-bit-wide memory chips (middle and bottom). The top and middle memory modules support parity checking (which uses a single chip for the ninth [parity] bit), but the bottom module, which has only eight data bits, does not.
Current memory module designs continue to use multibit chips to reduce chip count, reduce heat, and improve reliability. However, before discussing newer memory modules, it's time to find out why some modules have "extra" bits, such as the top and middle modules shown in Figure 7.1. What does the ninth bit do? Parity Versus Non-Parity Memory
The "extra" memory bits found on some memory modules, such as those shown in Figure 7.1, are actually used by one of two methods designed to protect the reliability of memory:
tip
Parity checking, which goes back to the original IBM PC, works like this: Whenever memory is accessed, each data bit has a value of 0 or 1. When these values are added to the value in the parity bit, the resulting checksum should be an odd number. This is called odd parity . A memory problem will typically cause the data bit values plus the parity bit value to total an even number. This triggers a parity error, and your system halts with a parity error message. Note that parity checking requires parity-enabled memory and support in the motherboard. On modules that support parity checking, there's a parity bit for each group of eight bits.
The method used to fix this type of error varies with the system. On museum-piece systems that use individual memory chips, you must open the system, push all memory chips back into place, and test the memory thoroughly if you have no spares (using memory-testing software), or replace the memory if you have spare memory chips. If the computer uses memory modules, replace one module at a time, test the memory (or at least run the computer for awhile) to determine if the problem has gone away. If the problem recurs , replace the original module, swap out the second module, and repeat. Because parity checking "protects" you from bad memory by shutting down the computer (which can cause you to lose data), vendors have created a better way to use the parity bits to solve memory errors using a method called ECC. Beyond Parity ”ECC
For critical applications, network servers have long used a special type of memory called ECC , which stands for Error Correcting Code memory. This memory enables the system to correct single-bit errors and notify you of larger errors. More expensive systems today have optional ECC support that can require special ECC-compatible memory or use parity-checked memory along with special motherboard features to enable ECC. The parity bit is used by the ECC feature to determine when the contents of memory are corrupt and to fix single-bit errors. ECC memory actually corrects errors, unlike parity checking, which only warns you of memory errors. This is recommended for maximum data safety, although parity and ECC do provide a small slowdown in performance in return for the extra safety. ECC memory modules use the same types of memory chips used by standard modules, but they use more chips and might have a different internal design to allow ECC operation. ECC modules, like parity-checked modules, have an extra bit for each group of eight data bits. To determine if a system supports parity-checked or ECC memory, check the system BIOS memory configuration (typically on the Advanced or Chipset screens). Systems that support parity or ECC memory can use non-parity checked memory if parity checking and ECC are disabled. Another name for ECC is EDAC (Error Detection and Correction ). Memory Module Types and Form Factors
All systems built since the early 1990s have used some form of memory module, and most of these systems have used standard versions of these modules. These modules come in these major types:
Figure 7.2 illustrates SIMM, SIPP, and DIMM modules used in desktop computers. See Figure 7.4 for examples of SODIMMs. Figure 7.2. Desktop memory modules (SIMM, SIPP, and DIPP) compared.
Figure 7.4. An SDRAM SODIMM (top) compared to a DDR SODIMM (bottom). Photos courtesy Micron Technology.
All modules except for certain versions of the 30-pin SIMM and its sibling, the SIPP, use multibit chips to achieve their high capacities . (Refer to Figure 7.1 to compare 30-pin SIMM modules with single-bit and multibit chips.) 72-pin SIMMs are divided into two major types:
The most typical chip arrangements for 72-pin SIMMs include
DIMM modules with 72 bits support ECC error correction, whereas DIMM modules with 64 bits are non-parity. The first major use of 30-pin SIMMs was in the IBM XT/286, a lower-cost version of the IBM AT introduced in 1986.
30-pin SIMM memory became obsolete in the early 1990s because four of these SIMMs were required to make a single bank of memory with a 386- or 486-class CPU (which have 32-bit data buses).The first major use of 72-pin SIMMs (which provide 32 bits per module) was in the IBM PS/2 Model 50 and above, introduced in 1987. 72-pin SIMMs became the standard in later-model 486s and most Pentiums. However, Pentium and newer systems (which have 64-bit data buses) require two SIMMs to make a bank, and this type of memory has become obsolete. The 168-pin DIMM (which provides 64 bits per module) was introduced with the first Pentium II “based systems, and it is also standard on the Pentium III, early Pentium 4, Celeron, AMD Athlon, AMD Duron, and most Super Socket 7 systems. SIMMs and DIMMs can have memory chips (often very thin) on one or both sides of their circuit boards. The difference is in the connectors: SIMMs have either 30-pin or 72-pin connectors and require two or more SIMMs to make the full data width of the Pentium class processor; DIMMs have 168-pin or 184-pin connectors, and each DIMM supplies the full data bus width for Pentium-class and newer processors. Figure 7.3 demonstrates how the data bus width of different processors compares to the memory bus width of various memory modules. Figure 7.3. Processors from the 80286 (upper left) to the Athlon XP (lower left) and the modules needed to make a memory bank. Notice as the size of the data bus gets larger (16-bit, 32-bit, 64-bit) that memory designs that provide more bits per module are used.
As Figure 7.3 illustrates, newer memory module technologies that provide more data bits per module are a virtual necessity with newer processors because they have wider data buses. In fact, hardly any motherboards for Pentium-class processors were ever designed to use 30-pin SIMMs because eight SIMMs were needed per bank. Instead, the wider 72-pin SIMM (32 bits per module) was the typical memory module for Pentium and similar processors such as the AMD K6 series. Similarly, after the Pentium was replaced by newer designs such as the Pentium II, almost all systems used 168-pin or the latest 184-pin DIMM (64 bits per module) instead of a pair of 72-pin SIMMs (32 bits per module). All processors covered on the A+ Certification Exam (Pentium class and newer) have 64-bit data buses.
The most common type of memory in use on recent systems is the 184-pin DDR SDRAM DIMM module, a faster version of the 168-pin SDRAM DIMM shown in Figures 7.1 and 7.2. It is used by most recent Pentium 4, Celeron, and Athlon XP systems. Two identical DIMMs must be added at a time for systems that support dual-channel memory.
caution
SODIMMs are small versions of DIMMs used mainly in notebook computers. 72-pin SODIMM modules are 32-bit devices, and 144-pin SODIMM modules are 64-bit devices (see Figure 7.4). Some high-performance systems use 184-pin or 232-pin RDRAM modules. Figure 7.5 shows a 168-pin RDRAM module; 232-pin modules have a small third connection between two large connectors. Figure 7.5. A typical 184-pin RAMBUS RDRAM module. RAMBUS modules have metal heat spreaders over the memory chips to help dissipate heat, a design feature also being used by some high-performance DDR memory module makers . Photo courtesy Micron Technologies.
Table 7.1 compares the bit widths, sizes, types, and speeds of popular memory modules (though SIPPs are almost never seen today), whereas Table 7.2 compares the speeds of memory chips used in these modules. Table 7.1. Memory Modules Compared
[1] Speeds usually specified in throughput (MBps). See Table 7.2 for details . Memory Speeds
Memory chips, and the modules built from them, have become faster over the years as Table 7.1 shows. Memory speeds for SIMM and SIPP modules are rated in nanoseconds (ns ). However, DIMM, SODIMM, Rambus RDRAM, and SO-Rambus RDRAM memory modules are identified by their throughput or clock speed rather than their ns rating. When you add memory to a system, you should follow these guidelines to ensure that the system will work properly after the memory upgrade is complete:
tip
Memory speeds are affected by the type of memory chips used in the module. For typical speed ratings for different types of memory chips (and the modules created with them), see Table 7.2 in the following section. Memory Chip Types
Several different types of memory chips have been used in memory modules and as chips. Table 7.2 compares the features, uses, and speeds of the most popular chip types.
caution
Most current systems use DDR or standard SDRAM DIMMs, whereas most Pentium-class systems still in service use EDO SIMMs. Table 7.2. Memory Chip Types Compared
|
< Day Day Up > |