ECC -- Error Correcting Code. ECC is a technology that allows errors in stored data to not only be detected, but corrected. The advantage of ECC over parity is that it allows data correction rather than merely data error detection. The disadvantages are that it often requires more storage be used for quality bits and it is likely to slow the data retrieval process slightly. ECC can be very effectively used with media like CDROM where the natural error rate can be rather high and where data is streamed in, rather than being randomly accessed. When used with a medium like Random Access Memory, it adds to the cost of memory because bits that could be used for data storage are used for check bit storage, and it probably slows access by one or more clocks because data quality problems must not only be detected, but corrected before data is sent on. For streamed data, this process adds a few clock ticks to the handling of a block of data, whereas for memory, it may add one or more clocks to each access. It has been reported that some computers may add the extra clocks needed for ECC even when ECC is turned off.
The exact capability of ECC is a function of the algorithm used and the number of quality bits used vs the number of data bits. Minimally, ECC will be able to detect and correct single bit errors. It will also be able to detect many sorts of multibit errors that parity might miss.
Refer to the article on ECC Memory for more detail on how ECC is implemented on PCs.
Return To Index
Copyright 1994-2002 by Donald Kenney.