In This Article
What is ECC (Error Correction Code) Memory?
ECC or Error Correction Code refers to a specific type of memory that is designed with the ability to detect errors in memory automatically and correct them.
ECC is a special type of memory created with an additional chip in them to work on complex algorithms to prevent system crashes due to data corruption.
- ECC RAM is typically useful for those users who work with high value data in workstations, servers and supercomputers in the IT sector or businesses.
- ECC memory prevents data corruption and works in a much similar way as RAM but follows a complex algorithm to detect and rectify the errors.
- These special memory modules store parity bits, apart from 0s and 1s and depending on the odd and even parity these are included in the main code.
- Data security is the primary benefit offered by the ECC memory but its slow operational speed and limited CPU and motherboard compatibility are serious concerns which disallow using it in an average desktop computer.
Understanding ECC (Error Correction Code) in RAM Memory
ECC, in terms of RAM, means “Error Correcting Code”.
So basically, it is a form of algorithm that ensures that there is not a single speck of corrupted data left in the system.
This code is present on a separate chip on the RAM module, that does not take part in memory storage like the 8 other chips.
ECC RAM is usually used by people working with data of high value, in servers, workstations, and supercomputers for example.
In other business and IT sectors as well, there can be no scope of corrupted data getting stored and this is why they prefer ECC memory.
Not all processors and motherboards support it, and thus most consumer-grade RAM modules have no error checking in them.
It’s not that an ECC RAM module wouldn’t work in a system that isn’t compatible with ECC, but you wouldn’t get any error checking facilities and end up spending extra for no benefit at all.
Rather, you will have a slow working speed.
Typically, the ECC memory works on single-bit errors that need specific explanation to understand what these types of memory can actually do.
A bit refers to the smallest addressable memory unit and is actually a single binary digit that can be a 1 or a 0. 8 such single bits form a one byte. The computer reads it as a single letter or a digit.
A single-bit error occurs when a 0 is flipped to 1 or vice versa, mainly due to the changes in the electric charge. A single-bit error can be of two specific types namely:
- Hard single-bit errors – These are caused due to variations in power, temperature and other physical factors as well as additional strain on the hardware and
- Soft single-bit errors – These are caused due to magnetic interference and others such as cosmic rays that are hard to observe.
Irrespective of their type, the effects of single-bit errors are similar and may cause serious damage to valuable data.
It is here that the ECC memory comes to the rescue with its additional parity bit that indicates the memory errors.
If it is even, the code is considered to be error free and if the parity bit is odd then it indicates that there is an error in the memory.
This may even cause the ECC memory to crash if the error size is more than a single bit.
The algorithm scans the ECC memory continually to detect any bit error in it by looking for any drifted alpha particles given out by the tiny amounts of radioactive elements present in the packaging of the chip.
ECC Memory can be used for financial and scientific purposes, in L1, L2, and sometimes in L3 caches as well as in other applications such as:
- Data centers
- Medical industry
- Industrial automations
- Space industry and
- Military and defense.
How Does It Work?
ECC RAMs ensure that whatever data you store on the cloud, drive, or a social media platform, for example, remains safe for years until you decide to remove or alter it.
They work similar to RAM, but the error-correcting is done by a complex algorithm. Here, the extra memory chip in the module comes to action which both detects and corrects errors.
They store what are called parity bits, 0s, and 1s of course, that are added to the main code, depending on its nature (even or odd parity).
Now you must know that your computer reads and stores data in binary, in the form of low and high signals represented by 0s and 1s.
This data is stored in bytes, each of which consists of 8 bits of data.
A combination of binary digits forms these 8 bits, and every combination has a character to convey, for instance, the character ‘C’ is represented by 01000011.
When there is an electrical fault, signal interruption or any other external magnetic or electrical interference, one of these bits may turn into the opposite, that might transform the data into something else entirely or result in a system crash, both being fatal for an IT or financial company.
ECC memory uses the parity bits to check every code, and inserts these as follows by adding up all the ‘1’s in the code:
- In case of even parity, the total number of ‘1’s in the binary code is an even number, including the parity bit. When the number of ‘1’ in the original code is even, the parity bit 0 is used, and when it is odd, parity bit 1 is used.
- In case of odd parity, the total number of ‘1’s in the binary code is an odd number, including the parity bit. When the number of ‘1’ in the original code is even, the parity bit 1 is used, and when it is odd, parity bit 0 is used.
Thus, in this way, the parity of the code is checked and when a fault is encountered, the RAM automatically goes back to the original data when it was stored without any faults.
Then it checks every bit with the use of the algorithm and replaces the corrupted bit with a parity bit, thus ensuring there is no fault in the code anymore.
This was an extremely simplified version, and there can be more than one parity bit as well.
1. Error Checking
ECC memory is fundamentally advantageous because of the memory checking it offers. When the data is of immense importance, not the smallest part of it can be left corrupted and this is made sure by the error checking algorithm. This improves reliability by a great margin.
2. No system Crashes
The number of system crashes in a server or such system using an ECC RAM is less than 0.1 %, which is lower than a non-ECC system’s 0.6 %. Surely the latter isn’t a very large number, but when working with sensitive data the ECC RAM’s reliability is auspicious.
3. Security of data
And yes, when the data is of such high value it must be secure. While using your computer at home, losing some data in case of a power outage is not such a big deal and in most cases, it can either be recovered or it wouldn’t matter much even if you lost it.
But matters aren’t easy in places of high importance where no such risks could be taken. This is another reason why ECC RAMs are used as they do not allow data loss.
The extra reliability comes at a price, and an ECC RAM module is considerably pricier than a non-ECC one, DDR4, or DDR3 no matter what generation. For an average user, this extra money could be spent elsewhere.
5. Motherboard and CPU compatibility
Very few motherboards and processors currently support ECC memory, and the numbers are very thin when you consider consumer motherboards. These too are expensive, and to use an ECC compatible RAM, you will have to make significant upgrades on your PC.
6. Slow Speed
Another problem with ECC memory is that it is slower than conventional memory modules. The reason behind it is the extra processing that needs to be done for the error detection and replacement of the corrupted ones.
Questions & Answers:
How do you know if your RAM is ECC?
The easiest way to know whether a RAM is ECC or not is to check the modules. If there is an extra chip more on the module than there usually is, then it is an ECC RAM. It would be better to inquire about it at the time of buying to avoid any confusion.
Can you use ECC RAM in any desktop?
No, ECC RAM is not suitable for any average desktop. There should be the proper motherboard, CPU, and overall every criterion for a computer to be a workstation PC to support ECC.
Is ECC RAM good for gaming?
ECC RAM is only good for running servers that need to be active for longer sessions and without any chance of data loss. This is why gaming wouldn’t be something that you would do with ECC RAM.
Moreover, it is slightly slower and a lot expensive than other DIMMs, and thus there is no point in choosing it for gaming. Also, the CPU that supports ECC wouldn’t be very good for gaming either.
So now you know what the fuss regarding ECC RAM was all about.
This is purely for your information since there is no reason why you should use one in your PC unless you transform it into a workstation-grade desktop.
But before that happens, make sure to share this article with others who you feel would be benefited from it.