IP Library › Granted Patent US 9,529,665
Granted Patent B2
US 9,529,665 · App. 14/225,972 · Granted Dec 27, 2016

Double consecutive error correction

Inventors: Alexander Gendler (Kiriat Motzkin, IL); Gilad Cohen (Haifa, IL)
Assignee: Intel Corporation
G06F11/1008H03M13/13
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 9,529,665
App. No.
14/225,972
Granted
Dec 27, 2016
Kind
B2
Abstract

Double consecutive error correction is described. An integrated circuit with double consecutive error correction logic includes a data storage structure operative to store a set of data and a first error correction code that corresponds to the set of data. The set of data includes multiple data bits. The first error correction code was generated using a generator matrix having multiple bit groups, each bit group including a unique set of bit positions. The integrated circuit also includes an error correction code generator operative to generate, using the generator matrix, a second error correction code that corresponds to the set of data. The integrated circuit further includes a comparator operative to generate a comparison result of the first error correction code and the second error correction code. The integrated circuit includes a data corrector operative to correct two consecutive data bits of the set of data.

Claims (40)

1. An integrated circuit comprising:

a data storage structure operative to store a set of data and a first error correction code that corresponds to the set of data, wherein the set of data comprises a plurality of data bits, wherein the first error correction code was generated using a generator matrix having a plurality of bit groups, each bit group comprising a unique combination of bit values;

an error correction code generator operative to generate a second error correction code based on the generator matrix;

a comparator operative to generate a comparison result of the first error correction code and the second error correction code, wherein there are no errors in the set of data when the comparison result is equal to zero, wherein there is at least one error in the set of data when the comparison result is not equal to zero; and

a data corrector operative to i) correct a single bit error of the set of data when the comparison result matches one of the unique combination of bit values of one of the plurality of bit groups in the generator matrix; and ii) correct two consecutive data bits of the set of data when the comparison result corresponds to a predefined number of values as a result of an exclusive-or (XOR) operation performed on two consecutive bit groups of the generator matrix.

2. The integrated circuit of claim 1 , wherein each of the plurality of bit groups of the generator matrix corresponds to one of the plurality of data bits, wherein each bit group comprises a plurality of positions, each position comprising either a first value or a second value.

3. The integrated circuit of claim 2 , wherein each of the plurality of bit groups comprises an odd number of second values, the odd number being greater than one.

4. The integrated circuit of claim 2 , wherein the XOR operation performed on a first set of two consecutive bit groups of the plurality of bit groups of the generator matrix results in a first vector, and wherein the XOR operation performed on a second set of two consecutive bit groups of the plurality of bit groups of the generator matrix results in a second vector that is different than the first vector.

5. The integrated circuit of claim 2 , wherein the XOR operation performed on any two consecutive bit groups of the plurality of bit groups of the generator matrix results in a first vector that includes a same number of values.

6. The integrated circuit of claim 5 , wherein the XOR operation performed on any two non-consecutive bit groups of the plurality of bit groups of the generator matrix results in a second vector that comprises a number of values that is different than the same number of values.

7. The integrated circuit of claim 1 , wherein the data corrector comprises error detection logic to determine that the two consecutive data bits of the set of data both comprise an error when the comparison result corresponds to an entry in a correlation table that is associated with the two consecutive data bits of the set of data.

8. A method comprising:

receiving a set of data and a first error correction code that corresponds to the set of data, wherein the set of data comprises a plurality of data bits, wherein the first error correction code was generated using a generator matrix having a plurality of bit groups equal to a number of the plurality of data bits, each bit group comprising a unique combination of bit values;

generating, by a processor, a second error correction code based on the generator matrix;

generating, by the processor, a comparison result of the first error correction code and the second error correction code, wherein there are no errors in the set of data when the comparison result is equal to zero, wherein there is at least one error in the set of data when the comparison result is not equal to zero;

correcting, by the processor, a single bit error of the set of data when the comparison result matches one of the unique combination of bit values of one of the plurality of bit groups in the generator matrix; and

correcting, by the processor, two consecutive data bits of the set of data when the comparison result corresponds to a predefined number of values as a result of an exclusive-or (XOR) operation performed on two consecutive bit groups of the generator matrix.

9. The method of claim 8 , wherein each of the plurality of bit groups of the generator matrix corresponds to one of the plurality of data bits, wherein each bit group comprises a plurality of positions, each position comprising either a first value or a second value.

10. The method of claim 9 , wherein each of the plurality of bit groups comprises an odd number of second values, the odd number being greater than one.

11. The method of claim 9 further comprising:

performing the XOR operation on a first set of two consecutive bit groups of the plurality of bit groups of the generator matrix to obtain a first vector; and

performing the XOR operation on a second set of two consecutive bit groups of the plurality of bit groups of the generator matrix results to obtain a second vector that is different than the first vector.

12. The method of claim 9 further comprising performing the XOR operation on any two consecutive bit groups of the plurality of bit groups of the generator matrix to obtain a first vector that includes a predefined number of values.

13. The method of claim 12 further comprising performing the XOR operation on any two non-consecutive bit groups of the plurality of bit groups of the generator matrix to obtain a second vector that comprises a number of values that is different than the predefined number of values.

14. The method of claim 9 , wherein correcting two consecutive data bits of the set of data comprises determining that the two consecutive data bits of the set of data both comprise an error when the comparison result corresponds to an entry in a correlation table that is associated with the two consecutive data bits of the set of data.

15. A non-transitory machine-readable storage medium including data that, when accessed by a processor, cause the processor to perform operations comprising:

receiving a set of data and a first error correction code that corresponds to the set of data, wherein the set of data comprises a plurality of data bits, wherein the first error correction code was generated using a generator matrix having a plurality of bit groups equal to the plurality of data bits, each bit group comprising a unique combination of bit values;

generating, by a processor, a second error correction code based on the generator matrix, the second error correction code;

generating, by the processor, a comparison result of the first error correction code and the second error correction code;

correcting, by the processor, a single bit error of the set of data when the comparison result matches one of the unique combination of bit values of one of the plurality of bit groups in the generator matrix; and

correcting, by the processor, two consecutive data bits of the set of data when the comparison result corresponds to a predefined number of values as a result of an exclusive-or (XOR) operation performed on two consecutive bit groups of the generator matrix.

16. The non-transitory machine-readable storage medium of claim 15 , wherein each of the plurality of bit groups of the generator matrix corresponds to one of the plurality of data bits, wherein each bit group comprises a plurality of positions, each position comprising either a first value or a second value.

17. The non-transitory machine-readable storage medium of claim 16 , wherein each of the plurality of bit groups comprises an odd number of second values, the odd number being greater than one.

18. The non-transitory machine-readable storage medium of claim 16 , the operations further comprising:

performing the XOR operation on a first set of two consecutive bit groups of the plurality of bit groups of the generator matrix to obtain a first vector; and

performing the XOR operation on a second set of two consecutive bit groups of the plurality of bit groups of the generator matrix to obtain a second vector that is different than the first vector.

19. The non-transitory machine-readable storage medium of claim 16 , the operations further comprising:

performing the XOR operation on any two consecutive bit groups of the plurality of bit groups of the generator matrix to obtain in a first vector that includes a predefined number of values; and

performing the XOR operation on any two non-consecutive bit groups of the plurality of bit groups of the generator matrix to obtain a second vector that comprises a number of values that is different than the predefined number of values.

20. The non-transitory machine-readable storage medium of claim 15 , wherein correcting two consecutive data bits of the set of data comprises determining that the two consecutive data bits of the set of data both comprise an error when the comparison result corresponds to an entry in a correlation table that is associated with the two consecutive data bits of the set of data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2014
From: GENDLER, ALEXANDER; COHEN, GILAD
To: INTEL CORPORATION
Reel/Frame 032855/0022 →
Continuity (1)
Related Publication 20150280748A1 · Oct 1, 2015