Browse Prior Art Database

Improved Error Checking and Correcting Methodology

IP.com Disclosure Number: IPCOM000106943D
Original Publication Date: 1992-Jan-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 4 page(s) / 187K

Publishing Venue

IBM

Related People

Snyder, CH: AUTHOR

Abstract

Prior art Error Checking and Correction (ECC) modules correct only data bits during the detect and correct process; when these modules are used to correct errors in memory data, any check bit errors must be corrected by a subsequent process, requiring additional time.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 33% of the total text.

Improved Error Checking and Correcting Methodology

       Prior art Error Checking and Correction (ECC) modules
correct only data bits during the detect and correct process; when
these modules are used to correct errors in memory data, any check
bit errors must be corrected by a subsequent process, requiring
additional time.

      This article presents a method for concurrent correction of
both data and check bits, reducing the process time.  This will allow
faster memory accesses, increasing memory throughput and the speed of
any programs which have to wait for data from memory.  Additionally,
the savings in time may allow the use of slower, less expensive
memory, ECC modules or other system components such as buffers.  The
disclosed process also requires fewer control signals.

      Although the method is discussed here in terms of a hardware
implementation, the method is not specific to hardware; error
checking and correction can be done in software.  Additionally,
although the method is discussed here with 32 data bits, 7 check bits
and an error code which can correct all 1-bit errors and detect all
2-bit errors, the disclosed method does not depend upon these
particular parameter choices.

      Although this article has been written in terms of a memory
system, the technique discussed here can also be applied to other
cases, such as the reception and retransmission of electrical or
optical data, where the data bits and associated check bits are to be
reused.
METHODOLOGY:

      Although it is not the intent of this article to explain error
checking and correction in digital data, a brief discussion is
provided to clarify the terminology used here.

      A concern of computer designers and users is errors occurring
in data stored in memory.  It has been found that errors can be
detected and corrected by using coding schemes which append
additional information to the original data and that the trade-off of
the necessary additional memory to store the additional data versus
the added reliability can be favorable.  The additional data is
called check bits.

      Various methods for calculating the check bits are available;
however, it is beyond the scope or intent of this article to mention
them in more than passing.  In general, the check bits are calculated
as the Exclusive OR of special combinations of the bits in the
original data.  Also, in general, increasing the number of check bits
that are stored with the original data increases the ability of an
ECC method to detect and/or correct errors.

      When data is to be stored in memory, a calculation is done to
find the check bits, which are then stored along with the original
data in the same memory and are subject to the same error-producing
conditions as the original data. When data is recalled from memory,
the associated check bits are also recalled.  A second set of check
bits is derived from the recalled data, and these are compared...