In this sample chapter from, CompTIA A+ 220-901 and 220-902 Cert Guide, Academic Edition, author Mark Edward Soper explains RAM types and features including Memory Upgrade Considerations, SO-DIMM vs DIMM, RAM Configurations, Single-Sided vs Double-Sided, RAM Compatibility, and Installing Memory.
RAM is used for programs and data as well as by the operating system for disk caching (using RAM to hold recently accessed information). Thus, installing more RAM improves transfers between the CPU and both RAM and hard drives. If your computer runs short of RAM, the operating system can also use the hard drive as virtual memory, a slow substitute for RAM. Although the hard drive can substitute for RAM in a pinch, don’t confuse RAM with mass storage devices such as hard disks or SSDs. Although the contents of RAM and mass storage can be changed freely, RAM loses its contents as soon as you shut down the computer, while magnetic storage can hold data for years. Although RAM’s contents are temporary, RAM is much faster than magnetic or SSD storage; RAM speed is measured in nanoseconds (billionths of a second), while magnetic and SSD storage is measured in milliseconds (thousandths of a second).
Ever-increasing amounts of RAM are needed as operating systems and applications get more powerful and add more features. Because RAM is one of the most popular upgrades to add to any laptop or desktop system during its lifespan, you need to understand how RAM works, which types of RAM exist, and how to add it to provide the biggest performance boost to the systems you maintain.
220-901: Objective 1.3 Compare and contrast various RAM types and their features.
Memory Upgrade Considerations
When you must specify memory for a given system, there are several variables you need to know:
Memory module form factor (240-pin DIMM, 184-pin DIMM, 168-pin DIMM, 204-pin SO-DIMM, and so on)—The form factor your system can use has a great deal to do with the memory upgrade options you have with any given system. Although a few systems can use more than one memory module form factor, in most cases if you want to change to a faster type of memory module, such as from 184-pin DIMM (used by DDR SDRAM) to 240-pin DIMM (such as DDR2 or DDR3 SDRAM), you need to upgrade the motherboard first.
Memory chip type used on the module (SDRAM, DDR SDRAM, and so on)—Today, a particular memory module type uses only one type of memory. However, older memory module types such as early 168-pin DIMMs were available with different types of memory chips. You need to specify the right memory chip type in such cases to avoid conflicts with onboard memory and provide stable performance.
Memory module speed (PC3200, PC2-6400, PC3-12800, and so on)—There are three ways to specify the speed of a memory module: the actual speed in ns (nanoseconds) of the chips on the module (60ns), the clock speed of the data bus (PC800 is 800MHz), or the throughput (in Mbps) of the memory (for example, PC3200 is 3,200Mbps or 3.2Gbps; PC2-2 6400 is 6,400Mbps or 6.4Gbps; and PC3-12800 is 12,800Mbps or 12.8Gbps). The throughput method is used by current memory types.
Memory module latency—Latency is how quickly memory can switch between rows. Modules with the same speed might have different latency values. All of the modules in a bank should have the same latency as well as size and speed.
Error checking (parity, non-parity, ECC)—Most systems don’t perform parity checking (to verify the contents of memory or correct errors), but some motherboards and systems support these functions. Although parity-checked memory mainly slows down the system, ECC memory can detect memory errors as well as correct them. If a system is performing critical work (such as high-level mathematics or financial functions or departmental or enterprise-level server tasks), ECC support in the motherboard and ECC memory are worthwhile options to specify. Some systems also support buffered (registered) or nonregistered modules. Buffered (more commonly known as registered) modules are more reliable but are slower because they include a chip that boosts the memory signal.
Allowable module sizes and combinations—Some motherboards insist you use the same speeds and sometimes the same sizes of memory in each memory socket; others are more flexible. To find out which is true about a particular system, check the motherboard or system documentation before you install memory or add more memory.
The number of modules needed per bank of memory—Systems address memory in banks, and the number of modules per bank varies according to the processor and the memory module type installed. If you need more than one module per bank, and only one module is installed, the system will ignore it. Systems that require multiple modules per bank require that modules be the same size and speed.
Whether the system requires or supports multi-channel memory (two or more identical memory modules accessed together instead of one at a time)—Dual-channel memory, triple-channel memory, and quad-channel memory are accessed in an interleaved manner to improve memory latency (the time required between memory accesses). As a result, systems running dual-channel memory offer faster memory performance than systems running single-channel memory. Intel introduced triple-channel memory (which runs even faster than dual-channel memory) with its Core i7 processor. Quad-channel memory, available on some high-performance Intel desktop and server platforms and AMD server platforms, is even faster. Almost all of these systems can run (albeit with reduced performance) if non-identical memory modules are used.
The total number of modules that can be installed—The number of sockets on the motherboard determines the number of modules that can be installed. Very small-footprint systems (such as those that use microATX or Mini-ITX motherboards) often support only one or two modules, but systems that use full-size ATX motherboards often support three or more modules, especially those designed for multi-channel memory (two or more modules accessed as a single logical unit for faster performance).
Virtually all memory modules use some type of dynamic RAM (DRAM) chips. DRAM requires frequent recharges of memory to retain its contents.
Static random-access memory (SRAM) is RAM that does not need to be periodically refreshed. Memory refreshing is common to other types of RAM and is basically the act of reading information from a specific area of memory and immediately rewriting that information back to the same area without modifying it. Due to SRAM’s architecture, it does not require this refresh. You will find SRAM being used as cache memory for CPUs, as buffers within hard drives, and as temporary storage for LCD screens. Normally, SRAM is soldered directly to a printed circuit board (PCB) or integrated directly to a chip. This means that you probably won’t be replacing SRAM. SRAM is faster than—and is usually found in smaller quantities than—its distant cousin DRAM.
Synchronous DRAM (SDRAM) was the first type of memory to run in sync with the processor bus (the connection between the processor, or CPU, and other components on the motherboard). Most 168-pin DIMM modules use SDRAM memory. To determine whether a DIMM module contains SDRAM memory, check its speed markings. SDRAM memory is rated by bus speed (PC66 equals 66MHz bus speed; PC100 equals 100MHz bus speed; and PC133 equals 133MHz bus speed). All SDRAM modules have a one-bit prefetch buffer and perform one transfer per clock cycle.
Depending on the specific module and motherboard chipset combination, PC133 modules can sometimes be used on systems that are designed for PC100 modules.
The second generation of systems running synchronous DRAM use double data rate SDRAM (DDR SDRAM). DDR SDRAM performs two transfers per clock cycle (instead of one, as with regular SDRAM) and features a two-bit prefetch buffer. 184-pin DIMM memory modules use DDR SDRAM chips.
While DDR SDRAM is sometimes rated inMHz, it is more often rated by throughput (MBps). Common speeds for DDR SDRAM include PC1600 (200MHz/1600Mbps), PC2100 (266MHz/2100Mbps), PC2700 (333MHz/2700Mbps), and PC3200 (400MHz/3200Mbps), but other speeds are available from some vendors.
Double data rate 2 SDRAM (DDR2 SDRAM) is the successor to DDR SDRAM. DDR2 SDRAM runs its external data bus at twice the speed of DDR SDRAM and features a four-bit prefetch buffer, enabling faster performance. However, DDR2 SDRAM memory has greater latency than DDR SDRAM memory. Latency is a measure of how long it takes to receive information from memory; the higher the number, the greater the latency. Typical latency values for mainstream DDR2 memory are CL=5 and CL=6, compared to CL=2.5 and CL=3 for DDR memory. 240-pin memory modules use DDR2 SDRAM.
DDR2 SDRAM memory might be referred to by the effective memory speed of the memory chips on the module (the memory clock speed x4 or the I/O bus clock speed x2)—for example, DDR2-533 (133MHz memory clock x4 or 266MHz I/O bus clock x2)=533MHz)—or by module throughput (DDR2-533 is used in PC2-4200 modules, which have a throughput of more than 4200Mbps). PC2- indicates the module uses DDR2 memory; PC- indicates the module uses DDR memory.
Other common speeds for DDR2 SDRAM modules include PC2-3200 (DDR2-400; 3200Mbps throughput); PC2-5300 (DDR2-667); PC2-6400 (DDR2-800); and PC2-8500 (DDR2-1066).
Double data rate 3 SDRAM (DDR3 SDRAM) Compared to DDR2, DDR3 runs at lower voltages, has twice the internal banks, and most versions run at faster speeds than DDR2. DDR3 also has an eight-bit prefetch bus. As with DDR2 versus DDR, DDR3 has greater latency than DDR2. Typical latency values for mainstream DDR3 memory are CL7 or CL9, compared to CL5 or CL6 for DDR2. Although DDR3 modules also use 240 pins, their layout and keying are different than DDR2, and they cannot be interchanged.
DDR3 SDRAM memory might be referred to by the effective memory speed of the memory chips on the module (the memory clock speed x4 or the I/O bus clock speed x2); for example, DDR3-1333 (333MHz memory clock x4 or 666MHz I/O bus clock x2)=1333MHz) or by module throughput (DDR3-1333 is used in PC3-10600 modules, which have a throughput of more than 10,600MBps or 10.6GBps). PC3- indicates the module uses DDR3 memory.
Other common speeds for DDR3 SDRAM modules include PC3-8500 (DDR3-1066; 8500MBps throughput); PC3-12800 (DDR3-1600); and PC3-17000 (DDR3-2133).
Figure 4-1 compares DDR, DDR2, DDR3, and DD4 memory modules.
Figure 4-1 From top to bottom, DDR, DDR2, DDR3, and DDR4 DIMM desktop memory modules.
256MB DDR module, PC3200 (DDR400)
2GB DDR2 module (from matched set), DDR2-667 (PC2-5300)
2GB DDR3 module, PC3-10600 (DDR3-1333)
8GB DDR4 module, DDR4-2133 (PC4-17000)
Parity vs Non-Parity
Two methods have been used to protect the reliability of memory:
ECC (error-correcting code or error-correction code)
Both methods depend upon the presence of an additional memory chip over the chips required for the data bus of the module. For example, a module that uses eight chips for data would use a ninth chip to support parity or ECC. If the module uses 16 chips for data (two banks of eight), it would use the 17th and 18th chips for parity (refer to Figure 4-2).
Figure 4-2 A standard unbuffered module (top) compared to a buffered (registered) module with ECC (bottom).
Two groups of four (total eight)memory chips (no parity chip)
Buffered (registered) DIMM with ECC
Eighteen memory chips (two banks of nine, including parity chip)
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 typically causes 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 you must 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 a while) to determine whether 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 created a better way to use the parity bits to solve memory errors using a method called ECC.
ECC vs non-ECC Memory
For critical applications, network servers have long used a special type of memory called error-correcting code (ECC). This memory enables the system to correct single-bit errors and notify you of larger errors.
Although most desktops do not support ECC, some workstations and most servers do offer ECC support. On systems that offer ECC support, ECC support might be enabled or disabled through the system BIOS or it might be a standard feature. The parity bit in parity memory is used by the ECC feature to determine when the content of memory is corrupt and to fix single-bit errors. Unlike parity checking, which only warns you of memory errors, ECC memory actually corrects errors.
ECC 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 whether 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 when parity checking and ECC are disabled. Another name for ECC is EDAC (Error Detection and Correction).
Buffered (Registered) vs Unbuffered
Most types of desktop memory modules use unbuffered memory. However, many servers and some desktop or workstation computers use a type of memory module called registered memory or buffered memory: buffered memory is the term used by the 220-901 exam. Buffered (registered) memory modules contain a register chip that enables the system to remain stable with large amounts of memory installed. The register chip acts as a buffer, which slightly slows down memory access.
Buffered (registered) memory modules can be built with or without ECC support. However, most buffered memory modules are used by servers and include ECC support. Figure 4-2 compares a standard (unbuffered) memory module with a buffered (registered) memory module that also supports ECC.
SO-DIMM vs DIMM
Most desktop computers use full-sized memory modules known asDIMMs. However, laptop computers and some small-footprint mini-ITX motherboards and systems use reduced-size memory modules known as small outline DIMMs (SO-DIMMs or SODIMMS).
Figure 4-3 compares common DIMM and SODIMM modules.
Table 4-1 lists common DIMM and SODIMM form factors and their uses.
Figure 4-3 DDR2 SODIMM and DIMM modules compared to DDR3 SODIMM and DIMM modules.
Table 4-1 RAM Comparisons
Common Type and Speed
PC3200 = 400MHz/3200Mbps
Double the transfers per clock cycle compared to regular SDRAM.
DDR2-800 (PC2-6400) = 800MHz/6400Mbps
External data bus speed (I/O bus clock) is 2x faster than DDR SDRAM.
DDR3-1333 (PC3-10600) = 1333MHz/10,600Mbps
External data bus speed (I/O bus clock) is 2x faster than DDR2 SDRAM (4x faster than DDR SDRAM).
DDR4-2400 (PC4-19200)= 2400MHz/19200Mbps
External data bus speed (I/O bus clock) is 2x faster than DDR3 SDRAM (8x faster than DDR SDRAM).
DDR3 or DDR4
Designed for use with Intel Skylake (6th generation Core i-series CPU); memory controller on motherboard/ processor must support both DDR3 and DDR4 memory
Some less-common SODIMM designs include:
214-pin MicroDIMM, used for DDR2 SDRAM
244-pin MiniDIMM, used for DDR2 SDRAM
Almost all systems can be used with a variety of memory sizes. However, systems that are designed to access two or more identical modules as a single logical unit (multi-channel) provide faster performance than systems that access each module as a unit.
Originally, all systems that used SDRAM were single-channel systems. Each 64-bit DIMM or SODIMM module was addressed individually.
Some systems using DDR and most using DDR2 or newer memory technologies support dual-channel operation. When two identical (same size, speed, and latency) modules are installed in the proper sockets, the memory controller accesses them in interleaved mode for faster access.
Most systems with two pairs of sockets marked in contrasting colors implement dual-channel operation in this way: install the matching modules in the same color sockets (see Figure 4-4). See the instructions for the system or motherboard for exceptions.
Figure 4-4 To use dual-channel operation on this motherboard, add an identical module to the light-colored memory socket.
Install identical module here for dual-channel operation
Use a matched pair (same speed and CL value as the first pair) in these sockets for best performance.
This pair need not be the same size as the first pair.
Some systems using Intel’s LGA 1366 chipset support triple-channel addressing. Most of these systems use two sets of three sockets. Populate at least one set with identical memory. Some triple-channel motherboards use four sockets, but for best performance, the last socket should not be used on these systems.
Some systems using Intel’s LGA 2011 chipset support quad-channel addressing. Most of these systems use two sets of four sockets. Populate one or both sets with identical memory.
Single-Sided vs Double-Sided
A single-sided (more properly known as single-ranked) module has a single 64-bit wide bank of memory chips. A double-sided (double-ranked) module has two 64-bit banks of memory stacked for higher capacity. Many, but not all, of these modules use both sides of the module for memory. However, the use of smaller memory chips enables “double-sided” modules to have all of the chips on one side. Refer to Figure 4-2. The top module is single-sided (one 64-bit rank) and the bottom module is double-sided (two 64-bit ranks), but all of the memory chips are on the front of the module.
Some systems, primarily older systems using DDR2 or older memory technologies, have different maximum amounts of RAM based on whether single-sided or double-sided modules are used. To determine specifics for a particular system or motherboard, check its documentation or use a memory vendor’s compatibility list or system scanner.
When it comes to memory, compatibility is important. The memory module type must fit the motherboard; speed must be compatible and the module storage size/combination must match your computer system as well.
The labels on the memory modules shown in Figure 4-1 list the manufacturer, module type, size, and speed, and most also list the CAS latency (CL) value. If you want to buy additional modules of the same size, you can use this information to purchase additional modules.
However, to find out exactly which type of memory modules are compatible with your motherboard, visit a memory manufacturer’s website and check within its database. Be sure to have the model number of the motherboard or the model of the computer handy.
Some memory vendors, such as Crucial.com, also offer a browser-based utility that checks your system for installed memory and lists recommended memory specific to your system. This type of utility displays installed memory size and speed.
If you are installing memory in a system that uses single-sided modules (8 or 9 chips), don’t install double-sided modules (16 or 18 chips) as additional or replacement RAM unless you verify they will work in that system.
Surprisingly, the CompTIA A+ 220-901 exam lists installing memory in laptops as an objective (220-901 objective 3.1), but it does not list installing memory in desktop computers. Nevertheless, this is an important skill to learn and understand.
Preparations for Installing DIMM Memory
Before working with any memory modules, turn the computer off and unplug it from the AC outlet. Be sure to employ electrostatic discharge (ESD) protection in the form of an ESD strap and ESD mat. Use an antistatic bag to hold the memory modules while you are not working with them. Before actually handling any components, touch an unpainted portion of the case chassis in a further effort to ground yourself. Try not to touch any of the chips, connectors, or circuitry of the memory module; hold them from the sides.
To install a DIMM module, follow these steps:
Step 1. Line up the modules’ connectors with the socket. DIMM modules have connections with different widths, preventing the module from being inserted backwards.
Step 2. Verify that the locking tabs on the socket are swiveled to the outside (open) position. Some motherboards use a locking tab on only one side of the socket.
Step 3. After verifying that the module is lined up correctly with the socket, push the module straight down into the socket until the swivel locks on each end of the socket snap into place at the top corners of the module (see Figure 4-5). A fair amount of force is required to engage the locks. Do not touch the metal-plated connectors on the bottom of the module; this can cause corrosion or ESD.
Figure 4-5 A DDR3 DIMM partly inserted (top) and fully inserted (bottom). The memory module must be pressed firmly into place before the locking tab (left) will engage.
DDR3 module lined up for installation
Many recent motherboards use fixed guides on one side.
Motherboards have at least one locking tab per module.
Connectors visible when module is not fully inserted.
Push module firmly into place.
Locking tab holds module in place when fully installed.
Connectors are no longer visible when module is fully inserted.
For clarity, the memory module installation pictured in Figure 4-5 was photographed with the motherboard out of the case. However, the tangle of cables and components around and over the DIMM sockets in Figure 4-6 provides a much more realistic view of the challenges you face when you install memory in a working system.
Figure 4-6 DIMM sockets in a typical system are often surrounded and covered up by power and data cables or aftermarket CPU fans and heat sinks, making it difficult to properly install additional memory.
Memory sockets (some blocked by fan and heat sink)
Aftermarket fan and heat sink for CPU
Power and data cables
When you install memory on a motherboard inside a working system, use the following tips to help your upgrade go smoothly and the module to work properly:
If the system is a tower system, consider placing the system on its side to make the upgrade easier. Doing this also helps to prevent tipping the system over by accident when you push on the memory to lock it into the socket.
Use a digital camera or smartphone set for close-up focusing so you can document the system’s interior before you start the upgrade process.
Move the locking tab on the DIMM sockets to the open position before you try to insert the module (refer to Figure 4-5). The sockets shown in Figure 4-6 have closed tabs.
If an aftermarket heat sink blocks access to memory sockets, try to remove its fan by unscrewing it from the radiator fin assembly. This is normally easier to do than removing the heat sink from the CPU.
Move power and drive cables away from the memory sockets so you can access the sockets. Disconnect cables if necessary.
Use a flashlight to shine light into the interior of the system so you can see the memory sockets and locking tabs clearly; this enables you to determine the proper orientation of the module and to make sure the sockets’ locking mechanisms are open.
Use a flashlight to double-check your memory installation to make sure the module is completely inserted into the slot and locked into place.
Replace any cables you moved or disconnected during the process before you close the case and restart the system.