ECC RAM why is it important and do I need it?
Now everyone knows RAM, maybe you also know there are different types of RAM, and maybe you also know what purpose RAM serves. However when it comes to ECC rams it is often regarded to as a commercial thing and left unchecked. Discover now what it is and when to use it.
What is RAM
Let’s start with a basic introduction on what normal RAM is. RAM is a form of storage and unlike hard disks in most cases it is volatile, meaning an electricity interruption will wipe it. RAM is used for fast operations, hence it needs to be fast. As a matter of fact the speed with which you can access data inside of RAM is independent from where the data is physically, meaning it doesn’t matter if it is in the first block or in the last, the speed will be roughly the same. That’s an important thing for the so called random access (from which the first part of the acronym).
What is ECC RAM?
ECC stands for error-correcting code, meaning the RAM can correct itself whenever an error (up to a point) occurs, and if it can’t recover, at least it will detect the error. But, what kind of error can happen? Good question. There are two kind of errors: hard and soft. Hard errors occur when a chip has failed and are unrecoverable. Soft errors are recoverable (up to a point) and are caused by electromagnetic interference, alpha particles or (it’s not a joke) cosmic rays, and a few several more. In case of an error, a normal RAM would ignore it creating data corruption, whilst an ECC RAM would try to recover the error (usually up to a bit per byte), if that’s not possible it will halt the operation preventing the corruption. ECC RAM is also a bit slower than normal RAM because of its self-correction feature.
When to use it
Data corruption due to errors in RAM has been proven to be dramatically higher than what we thought, so it might be a good thing to know when to use it. In commercial, financial or scientific computing ECC RAM is almost mandatory, if you care about data corruption then it is mandatory too. Normal desktop users won’t likely need ECC RAM, but for important data a good (and near-zero cost) solution is backups. For servers that store data as their primary function ECC is mandatory since things like RAID or filesystems like ZFS will most likely die on the spot had an error to occur, potentially compromising entire pools of data.
What do I need?
ECC RAM is more expensive than normal RAM, but the most expensive part of the expense lies in CPU and Motherboard which must support ECC RAMs. Most Intel desktop CPUs won’t support ECC rams, and even if they do, most Intel motherboards won’t. To get ECC support you will have to buy a server-class Intel motherboard and a Xeon family processor (some i7 and i5 processors will support them). On the other hand non-server AMD processor with ECC support are more common than Intel ones, as long as the motherboard supports it you will be fine.