I recently built a 1U rackmount server for my home theater closet. A debate shortly ensued over whether or not I should use a Core i7 or a XEON for my build. This started a second but much more civil debate over whether or not ECC RAM was important in my build. And it quickly became obvious that many of the self-proclaimed experts didn’t even know the truth about what ECC RAM actually does. So exactly what is ECC RAM?
What is ECC RAM? ECC Explained
First things, first. Let’s get the definition of the acronym ECC right! Many in the tech community, even seasoned veterans will refer to ECC as Error Checking and Correcting RAM. This is actually incorrect. ECC stands for Error Correcting Code Memory.
ECC memory contains an additional RAM chip on the DIMM along with an ASIC for processing and detecting errors in the DIMM. This is quite similar to RAID 5 used on hard disks but implemented in a different way.
Computer systems are constantly bombarded by electromagnetic interference. This interference can come from many sources, such as cosmic rays, or even flakey components inside the PC itself. This interference can occasionally cause a seemingly random memory bit to flip within the DIMM. This can result in numerous outcomes.
Outcomes of Erroneous Bit Flipping
- The computer may crash – If the bit flipped is a critical bit it may send an invalid command to the processor such as divide by zero, resulting in a complete and immediate crash of the computer.
- The computer my send invalid data – If the bit flipped is part of a number crunching algorithm it may change the outcome of the computation. In banking for example, this could make a deposit or withdrawal to be processed incorrectly, resulting in too much or too little money being deposited.
- Unnoticeable behaviors – If the bit flipped is one representing a pixel on the screen it might just slightly change colors or completely turn off. In many cases no one would ever know this happened, and no real harm would be done.
- Nothing – The bit flipped might not actually be in use by the computer and no harm would occur.
ECC RAM for this reason is very commonly used in business servers, especially in banking/financial or scientific use cases such as plotting the trajectory of a satellite. This erroneous bit flipping doesn’t happen very often and therefore generally not considered necessary for home computers. Although, some high-end workstations computers will use ECC. An example of this is the Apple Mac Pro.
How ECC RAM Works
So I think we’ve answered the question “What is ECC RAM?” pretty well. Let’s take a quick second to explain how it works!
As mentioned previously, ECC RAM has an extra memory chip and ASIC on the DIMM which acts as a parity chip and memory processor for error correction. When data is written to the DIMM, the ASIC calculates a parity bit using either Hamming Codes, or Triple Modular Redundancy codes depending on the manufacturer. This chip creates a parity bit for each 64-bit word in the standard chips. When a read occurs this parity bit is again checked, and if found not to match the error is corrected before the data leaves to the memory bus.
Thanks for reading and we hope that answers the question “What is ECC RAM?”!