Definition: ECC Memory stands for Error-Correcting Code Memory is a type of RAM that adds error detection and correction circuitry to automatically detect and correct single-bit memory errors in any of the chip. As the name of the memory suggests, ECC memory is a kind of memory that can identify and fix the most common data error, but it used for single-bit memory errors.
ECC memory contains an extra bit known as a parity bit. This extra parity bit tells us about the memory errors. If the parity is even, then the code is error-free. Also, if the size of the error is more than a bit, then it can crash the ECC memory.
A particular kind of algorithm continually scans single bit error in ECC memory. Such errors are often induced, for example, by stray alpha particles emitted from minute amounts of radioactive elements in the chips’ packaging.
ECC Memory used for most important data that can be used such as scientific and financial purpose; or in L1, L2, and sometimes L3 caches. A single-bit memory error can impact on server performance and high availability equipment.
If fitted at all, error correction schemes for personal computers work by adding a single extra parity bit to every byte (which is why RAM is built from banks of nine rather than eight chips). The memory circuitry calculates the parity, odd or even, of the bits in each bank so that any single bit error will be detected, and a parity error signaled. Mainframe and minicomputer error correction schemes typically add multiple parity bits that allow the exact location of the changed bit to identified, so that it can be corrected.
We’ll be covering the following topics in this tutorial:
Type of Single-bit Memory Errors
There are two types of single-bit memory errors
Hard errors: Some physical factors such as excessive temperature, High or voltage drop can cause hard errors generated in memory bits.
Soft errors: Some time due to the voltage on the motherboard data read/written differently than initially intended that can cause bits in the memory to flip, causing an error.
Difference between ECC Memory and Non-ECC Memory
ECC memory | Non-ECC memory |
It is more expensive than non-ECC memory. | It is less expensive. |
ECC memory can do both detect and correct the error in the data. | Mostly, non-ECC memory can’t detect errors, but if some non-ECC memory support detection, then they do not support the correction. |
ECC memory has an extra chip which detects the correct reading and writing of the data. | Non-ECC memory does not have any extra chip. |
Advantages of ECC Memory
The benefits of ECC memory are as follows:
• ECC RAM is more stable than standard RAM.
• ECC RAM is more reliable than conventional RAM.
• ECC RAM has a lower failure rate than non-ECC RAM.
• Due to ECC RAM, the number of crashes gets reduced, which is mostly unacceptable in multi-user applications.
• ECC memory or ECC RAM protects us against the undetected memory data corruption.
• ECC memory helps us in maintaining the integrity of the data.
Disadvantages of ECC Memory
The disadvantages of ECC memory or RAM are as follows:
• Every computer cannot use ECC memory.
• Due to the additional chip in ECC RAM, it seems to be more costly than non-ECC RAM.
• Also, ECC RAM is a little bit slower than non-ECC RAM.
• Sometimes, ECC memory may lower memory performance.
Applications of ECC Memory
The applications of ECC memory are as follows:
• ECC memory is suitable for high fault-tolerant applications like servers.
• Because of increased radiation in ECC memory, it also used for deep space applications.
• Typically, ECC memory used in our workstations, computers, etc.
• ECC memory is used nowadays in embedded applications.
• ECC memory also used in industrial applications.