Definition

ECC (error correction code or error checking and correcting)

ECC (either "error correction [or correcting] code" or "error checking and correcting") allows data that is being read or transmitted to be checked for errors and, when necessary, corrected on the fly. It differs from parity-checking in that errors are not only detected but also corrected. ECC is increasingly being designed into data storage and transmission hardware as data rates (and therefore error rates) increase.

Here's how it works for data storage:

  1. When a unit of data (or "word") is stored in RAM or peripheral storage, a code that describes the bit sequence in the word is calculated and stored along with the unit of data. For each 64-bit word, an extra 7 bits are needed to store this code.
  2. When the unit of data is requested for reading, a code for the stored and about-to-be-read word is again calculated using the original algorithm. The newly generated code is compared with the code generated when the word was stored.
  3. If the codes match, the data is free of errors and is sent.
  4. If the codes don't match, the missing or erroneous bits are determined through the code comparison and the bit or bits are supplied or corrected.
  5. No attempt is made to correct the data that is still in storage. Eventually, it will be overlaid by new data and, assuming the errors were transient, the incorrect bits will "go away."
  6. Any error that recurs at the same place in storage after the system has been turned off and on again indicate a permanent hardware error and a message is sent to a log or to a system administrator indicating the location with the recurrent errors.

At the 64-bit word level, parity-checking and ECC require the same number of extra bits. In general, ECC increases the reliability of any computing or telecommunications system (or part of a system) without adding much cost. Reed-Solomon codes are commonly implemented; they're able to detect and restore "erased" bits as well as incorrect bits.

Contributor(s): Rene Martinez
This was last updated in September 2005
Posted by: Margaret Rouse

Email Alerts

Register now to receive SearchNetworking.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

More News and Tutorials

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: