ECC RAM
Error correcting code (ECC) RAM is used for workstations and servers that require a high level of reliability.
- For each transfer:
- ECC RAM performs a hash calculation on the data value and stores it as an 8-bit checksum
- This checksum requires an extra processor chip on the module and a 72-bit data bus rather than the regular 64 bits
- the memory controller performs the same calculation and should derive the same checksum
- This system can detect and correct single-bit errors and allow the PC to continue functioning normally
- ECC can also detect errors of 2, 3, or 4 bits but cannot correct them
- Instead, it will generate an error message and halt the system
- Most types of ECC are supplied as registered DIMMs (RDIMMs)
- A registered DIMM uses an extra component to reduce electrical load on the memory controller
- has a slight performance penalty, but makes the system more reliable,
- especially if large amounts of memory are installed
- Most types of non-ECC memory are unbuffered DIMMs (UDIMMs)
- Some types of ECC RAM are packaged in UDIMMs, though this is rarer
Factors to consider when selecting memory for a system:
- Both the motherboard and CPU must support ECC operation for it to be enabled
- Most motherboards support either UDIMMs or RDIMMs, but not both
- If a motherboard does support both, UDIMM and RDIMM modules cannot be mixed on the same motherboard
- system will not boot if there are different types
- Mixing non-ECC UDIMMs and ECC UDIMMs is unlikely to work