I've seen a dicussion about ECC ram use on servers. Why is it better?
|
|
ECC RAM can recover from small errors in bits, by utilizing parity bits. Since servers are a shared resource where up-time and reliability are important, ECC RAM is generally used with only a modest difference in price. ECC RAM is also used in CAD/CAM workstations were small bit errors could cause calculation mistakes which become more significant problems when a design goes to manufacturing. |
|||||||
|
|
Excellent real-world study: DRAM Errors in the Wild: A Large-Scale Field Study (pdf)
Interesting that most memory errors were hard -- hard memory errors are unrecoverable, meaning the memory has to be physically replaced as failed, whereas soft memory errors can be fixed by overwriting the memory with the correct value. This indicates to me the value of ECC is fairly limited.
Sounds like all the servers in the study used ECC though, so we can't know ECC vs. non-ECC error rates..
|
|||||
|
|
ECC has several advantages over parity. For one, it can detect and repair single-bit errors and do so without having to stop the whole system. Multiple-bit errors will still return a parity error, but the odds of this happening are astronomically low during the lifetime of a PC unless the memory itself is defective. ECC is like auto insurance: It covers you for the majority of things that can go wrong, but it can't prevent a multi-car pileup. more detail here: ECC memory: A must for servers, not for desktop PCs |
|||||||||||||||
|
|
To make things simple, quoting from Wikipedia:
|
|||
|
|