# US 2013/0159810 A1 · Error Detection And Correction Of A Data Transmission

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159810 A1
- Document ID: US20130159810A1
- Status: Published application
- Kind: A1
- Application number: 13/326,805
- Filed: 2011-12-15
- Published: 2013-06-20
- Earliest claimed: 2011-12-15
- Assignees: International Business Machines Corporation
- Inventors: Alfredo Aldereguia; Clifton E. Kerr; Grace A. Richter
- Web page: https://patentgrep.com/patent/US20130159810A1

## CPC

- H04L 1/0045: {Arrangements at the receiver end}
- H03M 13/09: Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M 13/098: {using single parity bit}
- H03M 13/2906: {using block codes (H03M13/2957 takes precedence)}
- H03M 13/2927: {Decoding strategies}
- H04L 1/0061: {Error detection codes}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

Error detection and correction of a data transmission, including: receiving a block of data, where the block includes a predefined number of words, with each word including a parity bit, where the block of data also an error-correcting code (ECC); determining, for each word in dependence upon the parity bit of the word, whether the word of the block includes a parity error; committing each word that does not include a parity error, if only one word of the block includes a parity error: correcting the one word that includes the parity error through use of the ECC of the block and committing the corrected word.

## Claims

### Claim at position 1

1-7. (canceled)

### Claim 8

An apparatus for error detection and correction of a data transmission, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
receiving a block of data, the block of data comprising a predefined number of words, each word including a parity bit, the block of data further comprising an error-correcting code (ECC);
determining, for each word in dependence upon the parity bit of the word, whether the word includes a parity error;
committing the word if the word does not include a parity error; and
if only one word of the block includes a parity error: correcting the one word that includes the parity error through use of the ECC of the block and committing the corrected word.

### Claim 9 (depends on 8)

The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of:
if more than one word includes a parity error, discarding all words that include a parity error.

### Claim 10 (depends on 8)

The apparatus of claim 8 wherein:
the ECC included in the block of data further comprises a sum of all words of the block excluding the parity bits prior to transmission of the data; and
correcting the word that includes the parity error includes:
calculating a verification ECC as a sum of all words of the received block excluding parity bits;
calculating a difference between the verification ECC and the ECC included in the block of data; and
adding the difference to the single word that includes the parity error.

### Claim 11 (depends on 8)

The apparatus of claim 8 wherein:
the ECC included in the block of data further comprises a sum of all words of the block excluding parity bits prior to transmission of the data; and
correcting the word that includes the parity error includes:
discarding the word having a parity error, setting the value of the word to 0;
calculating a verification ECC as a sum of all words of the received block excluding parity bits, where the received block include the word having the value set to 0;
calculating a difference between the verification ECC and the ECC included in the block of data; and
setting the value of the word having the parity error to the difference to the single word that includes the parity error.

### Claim 12 (depends on 8)

The apparatus of claim 8 wherein committing each word further comprises, if no word in the block of data includes a parity error committing the block of data without performing ECC verification.

### Claim 13 (depends on 8)

The apparatus of claim 8 wherein committing each word further comprises, if no word in the block of data includes a parity error: performing ECC verification and committing the block of data only if the ECC is verified.

### Claim 14 (depends on 13)

The apparatus of claim 13 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of generating a log entry upon a number of ECC verification failures exceeding a predetermined threshold.

### Claim 15

A computer program product for error detection and correction of a data transmission, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, carry out the steps of:
receiving a block of data, the block of data comprising a predefined number of words, each word including a parity bit, the block of data further comprising an error-correcting code (ECC);
determining, for each word in dependence upon the parity bit of the word, whether the word includes a parity error;
committing the word if the word does not include a parity error; and
if only one word of the block includes a parity error: correcting the one word that includes the parity error through use of the ECC of the block and committing the corrected word.

### Claim 16 (depends on 15)

The computer program product of claim 15 further comprising computer program instructions that, when executed, carry out the step of:
if more than one word includes a parity error, discarding all words that include a parity error.

### Claim 17 (depends on 15)

The computer program product of claim 15 wherein:
the ECC included in the block of data further comprises a sum of all words of the block excluding the parity bits prior to transmission of the data; and
correcting the word that includes the parity error includes:
calculating a verification ECC as a sum of all words of the received block excluding parity bits;
calculating a difference between the verification ECC and the ECC included in the block of data; and
adding the difference to the single word that includes the parity error.

### Claim 18 (depends on 15)

The computer program product of claim 15 wherein:
the ECC included in the block of data further comprises a sum of all words of the block excluding parity bits prior to transmission of the data; and
correcting the word that includes the parity error includes:
discarding the word having a parity error, setting the value of the word to 0;
calculating a verification ECC as a sum of all words of the received block excluding parity bits, where the received block include the word having the value set to 0;
calculating a difference between the verification ECC and the ECC included in the block of data; and
setting the value of the word having the parity error to the difference to the single word that includes the parity error.

### Claim 19 (depends on 15)

The computer program product of claim 15 wherein committing each word further comprises, if no word in the block of data includes a parity error committing the block of data without performing ECC verification.

### Claim 20 (depends on 15)

The computer program product of claim 15 wherein committing each word further comprises, if no word in the block of data includes a parity error:
performing ECC verification and committing the block of data only if the ECC is verified.

### Claim 21 (depends on 20)

The computer program product of claim 20 further comprising computer program instructions that, when executed, carry out the step of generating a log entry upon a number of ECC verification failures exceeding a predetermined threshold.
