Monday, July 7, 2014

ECC memory is important

Recently I provisioned a new server and found that the memory was non-ECC. Instantly, I wasn't impressed. Since the server was running WHM/Cpanel, it was as easy as clicking "Server Information".

ECC stands for Error Checking & Correction and, in short, ECC memory is a fundamental requirement for any server that needs to run accurately, reliably, all day, every day. Not only does ECC memory check for errors but it can also correct errors to a degree. ECC memory also requires specific hardware/architecture to support it.

The most important thing about all this, is making sure that when an error is found, that a notification gets to the person managing the hardware, especially if the error is re-occurring within a short time frame.

Generally desktop computers don't have non-ECC memory because a reboot is quite simple and fast. In my opinion, I'd prefer the quality of ECC memory in my desktop especially in a business environment. Its performance is negligibly slower than non-ECC types, so you'd probably never notice the difference in speed, but you might just enjoy a more reliable computing experience.

I found this line from Wikipedia most important:
ECC protects against undetected data corruption, and is used in computers where such corruption is unacceptable, as with some scientific and financial computing applications and as file servers. ECC also reduces the number of crashes, particularly unacceptable in multi-user server applications and maximum-availability systems.
Non-ECC memory comes as a cost cutting measure but I'm sure it has costed this world much more in wasted time.

In this modern world of mobile computing, I wonder how often my tablet crashes because it doesn't run ECC memory. Who knows?