IP Library Granted Patent US 8,788,922
Granted Patent B2
US 8,788,922 · App. 13/405,308 · Granted Jul 22, 2014

Error correction codes for incremental redundancy

Inventors: Micha Anholt (Tel-Aviv, IL); Naftali Sommer (Rishon Le-Zion, IL)
Assignee: Apple Inc
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,788,922
App. No.
13/405,308
Granted
Jul 22, 2014
Kind
B2
Abstract

A method includes accepting input including at least part of a codeword that has been encoded by an ECC defined by a set of parity check equations. The codeword includes data bits and parity bits. A decoding process is applied to the codeword using the data bits and only a first partial subset of parity bits in the input, and using only a second partial subset of equations. Upon a failure to decode the codeword using the partial subsets, the codeword is re-decoded using the data bits and all parity bits in the input, and using all equations. The set of parity check equations is defined such that any parity bit in the codeword appears in multiple equations, and any parity bit in the first partial subset of the parity bits appears in a plurality of equations in the second partial subset of the equations.

Claims (36)

1. A method for error correction, comprising:

accepting input comprising at least part of a code word that has been encoded by an Error Correction Code (ECC) defined by a set of parity check equations, the code word comprising data bits and parity bits, wherein the ECC comprises a systematic ECC that is representable by a parity check matrix having a data sub-matrix and a parity sub-matrix;

applying a decoding process to the code word using the data bits and only a first partial subset of the parity bits that were comprised in the input and using only a second partial subset of the parity check equations; and

upon a failure to decode the code word using the first and second partial subsets, re-decoding the code word using the data bits and all the parity bits that were comprised in the input and using all the parity check equations in the set,

wherein the set of the parity check equations is defined such that any parity bit in the code word appears in multiple parity check equations in the set, and any parity bit in the first partial subset of the parity bits appears in a plurality of parity check equations in the second partial subset of the parity check equations;

wherein a first sub-matrix of the parity sub-matrix corresponding to the first partial subset of the parity bits and to the second partial subset of the parity check equations is lower triangular except for a group of last columns of the first sub-matrix.

2. The method according to claim 1 , wherein the parity sub-matrix comprises a rectangular block of elements that are equal to zero below a main diagonal of the parity sub-matrix.

3. The method according to claim 1 , wherein a first sub-matrix of the parity sub-matrix corresponding to the first partial subset of the parity bits and to the parity check equations other than the second partial subset comprises elements that are equal to zero, except for one or more last columns of one or more first rows of the first sub-matrix.

4. The method according to claim 1 , wherein the second partial subset of the parity check equations is equal in size to the first partial subset of the parity bits.

5. The method according to claim 1 , wherein the second partial subset of the parity check equations is smaller in size than the first partial subset of the parity bits.

6. The method according to claim 1 , wherein accepting the input comprises reading the data bits and the first partial subset of the parity bits from a memory device in order to apply the decoding process, and, upon the failure, reading the parity bits other than the first partial subset from the memory device in order to re-decode the code word.

7. The method according to claim 1 , wherein accepting the input comprises receiving the data bits and the first partial subset of the parity bits from a communication receiver in order to apply the decoding process, and, upon the failure, receiving the parity bits other than the first partial subset from the communication receiver in order to re-decode the code word.

8. A method for error correction, comprising:

accepting input comprising at least part of a code word that has been encoded by an Error Correction Code (ECC) defined by a set of parity check equations, the code word comprising data bits and parity bits, wherein the ECC comprises a systematic ECC that is representable by a parity check matrix having a data sub-matrix and a parity sub-matrix;

applying a decoding process to the code word using the data bits and only a first partial subset of the parity bits that were comprised in the input and using only a second partial subset of the parity check equations; and

upon a failure to decode the code word using the first and second partial subsets, re-decoding the code word using the data bits and all the parity bits that were comprised in the input and using all the parity check equations in the set,

wherein the set of the parity check equations is defined such that any parity bit in the code word appears in multiple parity check equations in the set, and any parity bit in the first partial subset of the parity bits appears in a plurality of parity check equations in the second partial subset of the parity check equations;

wherein a first sub-matrix of the parity sub-matrix corresponding to the parity bits other than the first partial subset and to the parity check equations other than the second partial subset is lower triangular except for a group of last columns of the first sub-matrix.

9. Apparatus for error correction, comprising:

an interface; and

decoding circuitry, which is configured to accept via the interface input comprising at least part of a code word that has been encoded by an Error Correction Code (ECC) defined by a set of parity check equations, the code word comprising data bits and parity bits, to apply a decoding process to the code word using the data bits and only a first partial subset of the parity bits that were comprised in the input and using only a second partial subset of the parity check equations, and, upon a failure to decode the code word using the first and second partial subsets, to re-decode the code word using the data bits and all the parity bits that were comprised in the input and using all the parity check equations in the set,

wherein the set of the parity check equations is defined such that any parity bit in the code word appears in multiple parity check equations in the set, and any parity bit in the first partial subset of the parity bits appears in a plurality of parity check equations in the second partial subset of the parity check equations;

wherein the ECC comprises a systematic ECC that is representable by a parity check matrix having a data sub-matrix and a parity sub-matrix;

wherein a first sub-matrix of the parity sub-matrix corresponding to the first partial subset of the parity bits and to the second partial subset of the parity check equations is lower triangular except for a group of last columns of the first sub-matrix.

10. The apparatus according to claim 9 , wherein the parity sub-matrix comprises a rectangular block of elements that are equal to zero below a main diagonal of the parity sub-matrix.

11. The apparatus according to claim 9 , wherein a first sub-matrix of the parity sub-matrix corresponding to the first partial subset of the parity bits and to the parity check equations other than the second partial subset comprises elements that are equal to zero, except for one or more last columns of one or more first rows of the first sub-matrix.

12. The apparatus according to claim 9 , wherein the second partial subset of the parity check equations is equal in size to the first partial subset of the parity bits.

13. The apparatus according to claim 9 , wherein the second partial subset of the parity check equations is smaller in size than the first partial subset of the parity bits.

14. The apparatus according to claim 9 , wherein the interface is configured to accept the data bits and the first partial subset of the parity bits from a memory device in order to apply the decoding process, and, upon the failure, to accept the parity bits other than the first partial subset from the memory device in order to re-decode the code word.

15. The apparatus according to claim 9 , wherein the interface is configured to accept the data bits and the first partial subset of the parity bits from a communication receiver in order to apply the decoding process, and, upon the failure, to accept the parity bits other than the first partial subset from the communication receiver in order to re-decode the code word.

16. Apparatus for error correction, comprising:

an interface; and

decoding circuitry, which is configured to accept via the interface input comprising at least part of a code word that has been encoded by an Error Correction Code (ECC) defined by a set of parity check equations, the code word comprising data bits and parity bits, to apply a decoding process to the code word using the data bits and only a first partial subset of the parity bits that were comprised in the input and using only a second partial subset of the parity check equations, and, upon a failure to decode the code word using the first and second partial subsets, to re-decode the code word using the data bits and all the parity bits that were comprised in the input and using all the parity check equations in the set,

wherein the set of the parity check equations is defined such that any parity bit in the code word appears in multiple parity check equations in the set, and any parity bit in the first partial subset of the parity bits appears in a plurality of parity check equations in the second partial subset of the parity check equations;

wherein the ECC comprises a systematic ECC that is representable by a parity check matrix having a data sub-matrix and a parity sub-matrix;

wherein a first sub-matrix of the parity sub-matrix corresponding to the parity bits other than the first partial subset and to the parity check equations other than the second partial subset is lower triangular except for a group of last columns of the first sub-matrix.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2012
From: ANOBIT TECHNOLOGIES LTD.
To: APPLE INC.
Reel/Frame 028399/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2012
From: ANHOLT, MICHA; SOMMER, NAFTALI
To: ANOBIT TECHNOLOGIES LTD
Reel/Frame 027763/0269 →
Continuity (2)
Provisional Application 61447111 · Feb 28, 2011
Related Publication 20120221913A1 · Aug 30, 2012