Error Correcting Code (ECC) is a data encoding mechanism intended to render a data resistant to corruption during handling or transit. This should not be confused with techniques such as parity bits which merely allow the receiver to detect that an error has occurred. Errors can take many forms: errors in storage and data retrieval commonly called bit rot, transmission errors over telecommunications networks, or random errors that occur in RAM while handling the data. Such errors can have a variety of causes: cosmic radiation, strong electromagnetic interference, a failing power supply, intentional fuzzing, and even cosmic radiation.
Error Correcting Codes of various kinds are used in software and various computer architecture components. ECC RAM is likely the best known computer component which uses Error Correcting Codes. ECC RAM refers to a class of RAM that can correct for — and ideally log — single-bit errors that would otherwise go undetected in a system with non-ECC RAM which would directly result in data corruption and, in time, inevitably result in system instability.