IP Library Granted Patent US 8,560,920
Granted Patent B2
US 8,560,920 · App. 12/444,061 · Granted Oct 15, 2013

Error correction via lookup in compressed error location data

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,560,920
App. No.
12/444,061
Granted
Oct 15, 2013
Kind
B2
Abstract

An error correction apparatus comprises an input for receiving data. The received data includes error-check data. The apparatus also includes a processing resource arranged to calculate parity check data. A data store is coupled to the processing resource for storing look-up data for identifying, when in use, a location of an error in the received data. The look-up data is a compressed form of indexed error location data.

Claims (48)

1. An error correction apparatus comprising:

an input for receiving data that includes error-check data;

a processing resource arranged to calculate parity check data; and

a data store coupled to the processing resource and arranged to store look-up data for identifying, when in use, a location of an error in the received data, wherein:

the look-up data is a compressed form of indexed error location data; and

the processing resource is arranged to determine locations of entries in the look-up data based upon parity check calculations and to verify that values of the entries correspond to the parity check calculations.

2. An apparatus as claimed in claim 1 , wherein the compressed form of the indexed error location data consists of a first array of data and a second array of data.

3. An apparatus as claimed in claim 2 , wherein the second array of data comprises a plurality of vectors.

4. An apparatus as claimed in claim 3 , wherein:

a first dimension of each vector of the second array constitutes an index and a second dimension of each vector of the second array identifies an error location; and

the verifying that values of the entries correspond to the parity check calculations comprises verifying that an index of a vector corresponds to a parity check calculation, wherein a location of an entry of the vector was determined based upon the parity check calculation.

5. The apparatus of claim 4 , wherein verifying that the index of the vector corresponds to the parity check calculation comprises verifying that the index of the vector equals the parity check calculation.

6. An apparatus as claimed in claim 2 , wherein:

the first array of data comprises identifying data to identify data within the second array of data to be accessed; and

the processing resource is arranged to use an index value to determine a first value in the first array of data and to use the index value and the first value to determine a second value in the second array of data.

7. The apparatus as claimed in claim 6 , wherein:

the index value comprises a number; and

using the index value to determine a first value in the first array of data comprises calculating the quotient of the index value by another number.

8. The apparatus as claimed in claim 7 , wherein:

using the index value to determine a second value in the second array of data comprises calculating the remainder of the division of the index value by the other number.

9. The apparatus of claim 1 , wherein:

a location of an entry in the look-up data is determined by a plurality of values of parity check calculations;

a value of the entry corresponds to one of the values of parity check calculations; and

the verifying that the value of the entry corresponds to a parity check calculation value used to determine the location of the entry comprises verifying that the one value of parity check calculations corresponds to the parity check calculation value.

10. An apparatus as claimed in claim 1 , wherein the compressed form of the indexed error location data is a compression of a matrix representation of a table of the indexed error location data.

11. An apparatus as claimed in claim 1 , wherein the compressed form of the indexed error location data is formed using a matrix compression algorithm.

12. An apparatus as claimed in claim 1 , wherein the received data is a header of a data structure.

13. An apparatus as claimed in claim 1 , wherein the received data is a part of an Asynchronous Transfer Mode cell.

14. A method of correcting an error in data that includes error-check data, the method comprising the steps of:

receiving data comprising error-check data;

generating parity check data from the data;

accessing look-up data to identify a location of an error in the data, the accessing comprising determining a location of an entry of the look-up data based upon the parity check data, wherein access of the look-up data comprises access of a compressed form of indexed error location data; and

verifying that a value of the entry of the look-up data corresponds to the parity check data.

15. A method of generating error location data, the method comprising the steps of:

generating a table of error location data indexed by parity check value;

forming a matrix from the table of error location data; and

compressing the matrix to form a first array of data and a second array of data, wherein:

each entry of the second array of data comprises an error location value and a parity check value; and

the parity check value of an entry is to be used to verify that the error location value of the entry corresponds to a parity check value used as an index to the entry.

16. A method as claimed in claim 15 , wherein a mapping exists between the table of error location data and the first array of data and the second array of data.

17. A method as claimed in claim 15 wherein the second array of data comprises a plurality of vectors.

18. A method as claimed in claim 17 , wherein a first dimension of each vector constitutes an index and a second dimension of each vector identifies as error location.

19. A method as claimed in claim 15 , wherein the matrix is compressed using a matrix compression algorithm to form the first array of data and the second array of data.

20. A non-transitory computer-readable storage medium comprising computer program product, including program code portions for performing operations when run on a programmable apparatus, the operations comprising:

receiving data comprising error-check data;

generating parity check data from the data;

accessing look-up data to identify a location of an error in the data, the accessing comprising determining a location of an entry of the look-up data based upon the parity check data, wherein

access of the look-up data comprises access of a compressed form of indexed error location data; and verifying that a value of the entry corresponds to the parity check data.

Assignments (31)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040632 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Sep 21, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 044209/0047 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 040632/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0823 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Sep 23, 2009
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 023273/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2009
From: LIN, BO; EDMISTON, GRAHAM
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 022502/0031 →