Our new ML600G-10 offers up to 32 GB of ECC memory pre-installed. ECC memory has been a highly requested feature from many of our business customers who are concerned about data integrity, 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. To understand why you would need this type of memory, we need to look at 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 state of each cell is collected and combined by the memory controller into a binary sequence and then translated 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.
If we look at our earlier binary example for instance, 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, or as catastrophic 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 (source), 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 as well as 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 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 is one of the many ways our new ML600G-10 can help prevent downtime and reduce hardware maintenance costs. To learn more, visit www.onlogic.com/ml600g-10.