Reliability and data security are vitally important when carrying out mission-critical tasks. In this article, we’ll explain how ECC memory (RAM) works, how it’s different from parity memory and non-ECC memory, and the pros and cons of using a computer with ECC RAM. 

server RAM image

What is ECC memory and what does it do?

Error correcting code (ECC) memory is a type of RAM that can detect and correct single-bit memory errors. It adds extra bits to each piece of data stored in memory to detect and correct errors that occur due to random electric or magnetic interference, cosmic rays, or other factors. The presence of errors can have a big impact on performance, which is why ECC technology is important in mission-critical systems where data integrity is crucial, such as those used in the financial sector. Servers, workstations, and high-end desktop computers using server RAM rely on ECC memory more often than mainstream systems. For workstations and servers where errors, data corruption and/or system failure must be avoided at all costs, ECC memory is often the memory of choice. 

What causes memory errors and how can they be avoided?

Memory errors can result from a range of factors, including hardware issues like defects in memory chips or faulty connections, electromagnetic interference from external sources, rare cosmic rays, overheating due to excessive heat, overclocking beyond rated specifications, aging of components leading to decreased reliability, and software bugs that may manifest as memory errors. Addressing these errors often involves employing error detection and correction techniques or regularly testing and replacing faulty hardware components to ensure system stability and reliability.   

One example of what could happen when a memory error occurs is data corruption. For instance, if a memory error causes a bit flip in a critical piece of data, it could result in incorrect calculations, corrupted files, or system crashes. In a worst-case scenario, such errors could lead to data loss or system instability, potentially impacting the functionality and reliability of the entire system. This is why it is crucial to implement measures like error detection and correction to mitigate the risks associated with memory errors.  

What are the different types of memory errors?

Memory errors fall into two categories: hard errors and soft errors. 

  • Physical changes in the memory chip, such as voltage fluctuations, temperature changes, or physical stress cause hard errors.
  • Soft errors occur when an unexpected factor interrupts data read or write functions. Cosmic rays (which are a danger to satellites) or minor voltage fluctuations (which are powerful enough to affect the data, but not strong enough to physically damage the chip) cause these errors. 

Error checking with parity memory

Data on memory chips is stored in the form of zeros and ones. Parity memory is a method of error detection that uses an additional bit, known as the parity bit, to improve the integrity of the data.  

In parity memory, space is allocated for an extra bit at the end of the data bit sequence, which is the parity bit. This parity bit is set in such a way that the total number of 1s in the binary sequence, including the parity bit itself, meets a certain condition. If the objective is to have even parity, the parity bit is set so that the total number of 1s is even. If the goal is odd parity, the parity bit is adjusted to ensure the total number of 1s is odd.  

For example, the binary representation of the number '100' is 1100100. To apply odd parity, we check the total number of 1s in the sequence. If the count is already odd, the parity bit added will be ‘0’ to maintain the odd count. If the count is even, the parity bit will be ‘1’ to make the total count of 1s odd. In this case, since 1100100 has three 1s (an odd number), for odd parity, we would add a ‘0’ to make the sequence 11001000, where the last zero is the parity bit used to ensure the total number of 1s remains odd. This means if the system ever reads a sequence with an even number of 1s, something is wrong and it has identified  a memory error.  

However, parity memory has two major limitations. It only detects odd numbers of errors (1, 3, 5, etc.) and allows even numbers of errors to pass (2, 4, 6, etc.). Parity also can’t correct errors – it only detects them. This is where ECC memory comes into play. 

How does ECC RAM work?

ECC is a more sophisticated form of parity memory. Parity memory can only check for some data bit errors, while ECC memory can track and correct more errors.  

When writing data, ECC memory uses additional computed values to check for errors. If the code that was read doesn't match the stored code, the parity bits indicate which bit was in error, and immediately corrects it. This is a special verification process that’s unique to ECC memory. It’s also continuous. As data is processed, ECC memory is constantly scanning code with a special algorithm to detect and correct single-bit memory errors. 

server room image with employees

Benefits of ECC RAM

ECC memory is highly regarded by certain businesses and professionals, as it provides an added layer of safety against the loss of important data, thus minimizing data corruption. In order to use ECC RAM, you must have a motherboard that supports it. If your motherboard doesn’t support ECC memory, you either need to continue using non-ECC memory or — if you need the benefits of error correction — you need to replace your motherboard with one that supports ECC memory.   

If you install ECC memory into a motherboard that does not support it, it will simply not recognize the ECC function but will instead continue to work as if it was non-ECC memory. On the other hand, adding non-ECC memory to an ECC system can damage the error correction function.  

ECC memory is designed with specialized memory chips that set it apart from other types of memory. These specialized memory chips include a type of parity code otherwise known as “Hamming code.” This Hamming code can identify data inconsistencies while using a minimal amount of data, which is beneficial for computer RAM. The number of these memory chips should be divisible by three or five in ECC memory.   

The likelihood of issues arising in an average stick of 8GB memory is high, with the potential of a handful of single-bit errors happening hourly during use. These errors can lead to more severe issues such as data corruption, which can be hugely damaging to your system. Memory errors are the result of magnetic or electrical issues inside a computer. This can cause DRAM to flip to its opposite state, resulting in memory errors. If single-bit errors occur in a system that includes ECC memory, the system will perform a complex algorithm and reconstitute the data.  

If you’re carrying out mission-critical tasks that could be at risk due to data corruption, ECC memory could be an ideal solution to combat that risk.  

Pros and cons of ECC memory

Before considering switching to a computer that supports ECC memory, it is important to see if the positives outweigh the negatives for your needs. The main positive has already been highlighted, with ECC memory providing an added layer of security when issues with data corruption arise with your computer. If the industry you work in has sensitive data that needs to be protected, such as in the medical, financial, or scientific sectors, then ECC memory can provide you with that added protection.   

Crucial’s range of server memory, such as our 32GB ECC UDIMM can be perfect when running servers or workstations, it prevents data errors, ensuring increased reliability.   

While ECC memory has a lot of pros, unfortunately, it can be more expensive than non-ECC memory and can cause a decrease in a computer’s overall performance with a drop of 2–3% being common. Depending on your industry’s needs, the amount of time and money that can be saved by reducing the risk of data corruption can make the pros of ECC memory outweigh these cons.  

A simpler way to see if ECC memory is something to consider is whether you prioritize speed over security and accuracy or vice versa. The speed benefits of non-ECC memory will be perfect in some applications, whereas at other times, the safety of ECC memory and its ability to nullify data corruption will be more important.  

Read more about the different types of RAM here to discover if ECC memory is the right choice for you.  

People also viewed

Qty:

We're sorry, but there is not enough quantity in stock to complete this order