ECC memory is the ultimate memory choice for reliability. ECC can help prevent downtime and data loss. This is why it should be the only choice for any mission critical computer. But what is ECC RAM exactly, why might you need it, and what benefits does it offer?
What is ECC RAM?
ECC stands for Error Correcting Code. On a high level, ECC refers to a component’s ability to detect mistakes that may occur in data memory without the need to consume separate computing resources. Why would you need this type of memory? Let’s start with the basics of how flash memory functions.
How Does Flash Memory Work?
Inside a flash chip are cells. Each cell has one of two states; 0 or 1. The memory controller combines and collects the state of each cell into a binary sequence. It then translates that code into data on our computer. For example you can express the number 135 in binary as 010000111. Without going into too much detail on binary, keep in mind that each number in a binary string represents a completely different value and binary strings can carry on for dozens of places.
Going back to our flash cells, in order for flash cells to carry a particular state, they need electricity. A certain amount of power is applied depending on whether your system wants to write a 0 or 1 to the memory. In volatile flash applications like computer RAM, the cells need power at all times to maintain their state (this is why your RAM clears when you turn off your computer). Sometimes, outside static electricity or interference can cause a cell to mistakenly flip in the wrong direction (from 1 to 0 or vise versa). As you might imagine, this can result in a range of negative consequences.
A Simple Memory Flip Example
As an example, the number 135 is expressed as the binary string 010000111. If one of those cells mistakenly flips, watch how dramatically the data changes:
Visualization of a Hamming Code
This is just one very simple example. Depending on what your computer is doing with this data, memory flips can be as harmless as a small hiccup in performance. On the other hand, they can be catastrophic such as the entire computer crashing or causing the wrong action to be carried out by a system it’s controlling. The average stick of 8 GB memory sees about 5 of these errors per hour of use, and for the average casual computer user, the impact is imperceptible. However, in the case of mission critical servers or computers, these errors could quickly compound to cause expensive problems. In addition it could cause data and functional integrity deterioration.
These type of sensitive applications are where ECC memory shines. These special, generally more expensive, sticks of RAM have a built-in controller that includes a parity code known as a Hamming Code. If one of the bits goes bad, it can correct it and report the correct data back to the host computer. This works by employing an algorithm that writes data in a way that allows the formula to match pieces of data. Hamming Codes can successfully check for data consistency with a minimal amount of redundant data, which helps in computer RAM. However, this method isn’t effective in situations where error rates are very high.
When Should I Use ECC Memory?
ECC seems like a no-brainer to have in your computer. One complication is that ECC memory requires a motherboard, chipset and processor that support it. This, along with the higher cost of ECC memory, may detract casual consumers. Additionally, there is a 2-3% decrease in performance over typical desktop memory. This decrease is due to the resource use of the data processing algorithm.
Anytime you have an always-on, mission critical computer at risk for encountering memory errors, ECC can help prevent downtime and data loss. The initial investment in ECC memory could result in thousands of dollars saved if it means your production line stays operational as opposed to suffering a data loss-related downtime event.
ECC Memory is the Best Choice for Rugged Systems
Our Karbon 700 has a reputation for power with extreme durability and reliability even in difficult environments. For ultimate reliability, we recommend configuring your system with ECC memory. The K700 offers this as an option with up to 64 GB of ECC memory pre-installed. Many of our systems offer this as an option. ECC memory is highly requested as a feature for anyone concerned about data integrity and want the best solution for reliability.
ECC is one of the many ways our new solutions can help prevent downtime and reduce hardware maintenance costs. Is ECC memory a good fit for your project? Talk to one of our sales engineers to learn more.
Note: This blog was originally published on August 26th, 2015 and updated for content on January 20, 2021.