Skip to main content

3.6.1 Memory Characteristics

Learn how to choose the appropriate memory module for a given PC system.

Memory Type

Find out what types of RAM are supported by your PC system.

  • Check motherboard documentation
  • Check online resources like forums, YouTube videos, and memory manufacturers e.g. Crucial @ https://crucial.com
  • Check the RAM type that's already installed on the PC, if the previous two searches return fruitless
  • Check the memory package (a.k.a. the memory form)

Max Supported Memory

32-bit motherboards are theoretically capable of supporting 4 GB of RAM. However, this is not always the case. Some 32-bit motherboards can only access 2 GB of RAM, and this can only be circumvented through the use of a Physical Address Extension (PAE). PAEs only work on Windows server running on 32-bit based processors paired with the x86 instruction set.

64-bit motherboards are theoretically able to access up to 16 exabytes (EB) of RAM, but most Windows 64-bit OS can access a maximum of 1-2 TB.

Memory Speed

Literally just make sure that the memory module speed matches up with the motherboard speed, or BAD.

Error Correcting Code (ECC) Memory

If your motherboard requires an ECC RAM module, then you need to find a RAM module that has an ECC chip. ECC chips are responsible for dynamically detecting and correcting data corruption errors in data storage systems.

Every time a byte is sent to RAM for storage, the ECC chips counts the number of set bits in that byte, and stores it. Then, when that byte is read by the CPU, it checks whether or not the byte still contains the same amount of set bits. If it doesn't, it assumes the data has corrupted and begins its correction process.

ECC modules and normal RAM modules shouldn't be mixed together. If they are, the ECC chip will detect this and disable it's error-correcting feature. Using ECC will decrease the system's performance, while a normal RAM module won't affect system performance at all.

Parity RAM is an older type of RAM, that also checks for data corruption errors. However, parity RAM didn't correct those errors as ECC does today.

Visual Comparison

ECC RAM stick usually have 9 chips on them, or another odd number of chips divisible by 3 or 5. Normal RAM sticks usually have an even amount of chips installed. The Non-ECC RAM stick below has 8 chips.

Registered Memory

Check if your motherboard requires registered memory. Registered memory (a.k.a. buffered memory even though they're not always the same exact thing) Buffered memory implements an extra chip on the RAM module that functions as a buffer (think TSA check at an airport), holding the data for a little bit before handing it off to the RAM or the memory controller. This helps to reduce the load on the memory controller, allowing the system to reach higher levels of stability.

Registered memory is usually only used in server-grade systems, and they're usually paired with ECC chips. However, you can find non-ECC, but registered memory modules, along with ECC, but non-registered memory modules. Always check motherboard documentation to determine what types of RAM you need to install.

Column Address Strobe Latency (CAS; CL)

The CAS parameter only really tells you what kind of performance you're going to get out of that particular stick of RAM. Although uncommon, you should still check motherboard documentation to see whether or not it specifies if a RAM module needs a certain CAS latency.

CAS latency specifies the delay between the time that the memory controller tells the memory module to access a particular memory location and the time that the data is actually retrieved and available on the module's output pins. This interval is usually measured in clock cycles.

The time that it takes for a memory module to respond to a CAS event varies, depending on the clock rate. A special chip on the RAM module itself identifies the timing characteristics of the module. It then sends that information to the motherboard for automatic configuration, and the motherboard will not use those timing values when communicating with the memory module.

Latency = lower means good. So lower CAS rate = better.

Timing Parameters

You can use the memory timing parameters to help determine how well a specific memory module will perform. The parameters measure the performance of memory using four numbers representing the units of clock cycles, each specifying a different type of delay.

  • 1st | CAS Latency
  • 2nd | tRCD - Row Address to Column Address Delay
    • # of clock cycles required to open a row of memory and access the colums within it
  • 3rd | tRP - Row Precharge Time
    • # of clock cycles required between the issuing of the precharge command and the opening of the next row
  • 4th | tRAS - Row Active Time
    • # of clock cycles required between a row active command and another issue of the precharge command

Serial Presence Detect (SPD)

SPD is info stored on an Electrically-Erasable-Programmable-ROM chip when the PC is booted. The EEPROM chip can be found on the SDRAM stick. It reports the size, data width, speed, and voltage use of the module to BIOS for automatic configuration. This results in maximum reliability and system performance.

In some systems, you're allowed to edit the values that the EEPROM chip has provided through the CMOS setup wizard on BIOS. This feature can be used to increase performance that SPD is reporting back to BIOS, essentially overclocking the memory module. You can also override the SPD values to lower the performance of the module, reducing it's load and extending it's lifespan.

#III

#Aplus