Skip to main content

A Quick Guide to ECC Memory in RAM for Industrial Computing

In response to multiple requests from our customers about ECC memory, we have written an article to describe the role it plays in the embedded and industrial computing space. While you’d assume that because industrial computers are built with high reliability that they’d implement ECC RAM to reduce system error and eliminate data corruption as standard. However, this is not the case. Continue reading below to learn about ECC memory and how it compares to it’s Non-ECC counterpart.

ECC Memory is the Best Choice for Rugged Systems

What is ECC RAM or ECC Memory?

ECC RAM, or ‘error-correcting code random access memory’, is a type of memory component that’s able to detect and fix errors that may occur in data memory without needing further computing power. This form of RAM is often used in servers and embedded systems that handle important information as it provides a way of preventing data corruption by detecting and correcting memory errors automatically.

ECC vs Non-ECC RAM

Non-ECC Memory utilizes eight chips to store and provide data to the processor when requested. The data stored in the chips is accessed when the processor requests it. However, this type of memory does not have the capability to detect and fix any mistakes that may occur. ECC Memory, on the other hand, has an additional chip which is specifically designed for error detection and correction. This extra chip works by monitoring the data stored in the other eight chips and corrects any errors that may arise. This ensures that the data is always accurate and reliable when accessed by the processor.

ECC vs Non-ECC

To understand why you may or may not require error-correcting code RAM you must first understand the basic functionality of flash memory.

How does Flash Memory Work?

Flash chips are composed of cells that can either be in state 0 or state 1 and require electricity to retain any state. The embedded system then sends an appropriate level of electricity to the memory controller, which then interprets the state of each cell into a unique binary sequence. This sequence is then converted into data that can be used by the computer.

Flash Memory

The cells in volatile computer RAM need constant power to remain in either the 0 or 1 state. When the computer is shut off, these cells are cleared. If static electricity causes a cell to flip its state, the entire binary sequence can be affected and cause errors. For example, the binary string for the number 135 is 010000111, and if one of these cells is flipped due to static electricity, it can cause a substantial disruption in the sequence.

010000111 = 135

110000111 = 391

011000111 = 199

010100111 = 167

000000111 = 7

Errors that arise from memory glitches can vary in their severity, from unnoticeable to disastrous. For instance, 8 GB memory sticks are known to experience roughly 5 errors per hour of use, and these do not usually affect the typical user. However, if these errors happen in mission-critical applications on servers or industrial computers, they can lead to system crashes, incorrect actions, and other costly results.

Benefits of ECC RAM

The advantages of using ECC RAM are particularly noticeable in mission-critical applications. This type of memory is equipped with a built-in controller that contains an error-detecting code, which is referred to as a Hamming Code. If one of the bits is incorrect, then the controller can notify the host computer of this error and make the necessary corrections. An algorithm is employed to store data in a way that allows it to be validated by the Hamming Code. This method of data integrity checking requires a small amount of extra data, thus supporting the computer RAM. If the error rate is too high, the approach is not very effective.

When Should I Use ECC RAM and is ECC RAM worth it?

Integrating ECC memory into your computer might be the optimal solution to reduce data errors. However, not all computers may be able to support this memory type, as it requires a compatible motherboard, chipset, and processor. There may be a slight reduction in performance due to the resources required to execute the Hamming Code algorithm, resulting in a 2-3% drop when compared to Non-ECC RAM.

If your embedded system has to function perfectly, you should think about investing in ECC memory which can identify and fix data issues. It may cost a bit more than regular memory, but the extra cost can be worth it in the long run since it could spare you from expensive repairs and downtime. The additional cost to purchase ECC memory can range from 10 to 20% extra, depending on the size of the memory stick – the bigger it is, the more money you’ll have to spend.

Looking for an Industrial Computer with Server-grade chipsets?

Tell us about your application and a member of our team will get right back to you.