IP Library Granted Patent US 9,203,436
Granted Patent B2
US 9,203,436 · App. 11/775,963 · Granted Dec 1, 2015

Error correction in multi-valued (p,k) codes

Inventor: Peter Lablans (Morris Township, NJ)
Assignee: Ternarylogic LLC
H03M13/151H03M13/15H03M13/152H03M13/154H03M13/157H03M13/158H03M13/1515H03M13/1545H03M13/1575H03M13/1585H03M13/616
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,203,436
App. No.
11/775,963
Granted
Dec 1, 2015
Kind
B2
Abstract

Methods, apparatus and systems for error correction of n-valued symbols in (p,k) codewords including Reed Solomon codes of p n-valued symbols with n>2 and k information symbols have been disclosed. Coders and decoders using a Linear Feedback Shift Registers (LFSR) are applied. An LFSR can be in Fibonacci or Galois configuration. Errors can be corrected by execution of an n-valued expression in a deterministic way. Error correcting methods using Galois arithmetic are disclosed. Methods using Cramer's rule are also disclosed. Deterministic error correction methods based on known symbols in error are provided, making first determining error magnitudes not necessary. An error location methods using up and down state tracking is provided. Methods and apparatus executing the methods with binary circuits are also disclosed. Systems using the error correcting methods, including communication systems and data storage systems are also provided.

Claims (33)

1. A method for correcting an n-valued symbol in error in an n-valued codeword of a (p,k) code having p n-valued symbols of which k n-valued symbols are information symbols and (p−k) symbols are check symbols with p>1, n>2 and k>1, comprising:

receiving by a processor of the n-valued codeword that is a Reed-Solomon codeword wherein each n-valued symbol in the n-valued codeword is represented by a signal;

determining by the processor of a location of the n-valued symbol in error in the n-valued codeword based on check symbols in the n-valued codeword;

selecting by the processor of a pre-determined n-valued expression from a plurality of pre-determined expressions based on the location of the n-valued symbol in error; and

calculating by the processor a correct value of the n-valued symbol in error by evaluating the predetermined n-valued expressions which applies one or more of the p n-valued symbols not in error as an input variable and wherein the predetermined n-valued expression applies at least one n-valued logic function and outputs the correct value of the n-valued symbol in error.

2. The method as claimed in claim 1 , further comprising:

locating by the processor of the n-state symbol in error in the n-state codeword by determining a plurality of intermediate comparative coding states associated with the Reed-Solomon codeword.

3. The method as claimed in claim 1 , wherein determining the location of the symbol in error is performed by calculating a syndrome.

4. The method as claimed in claim 1 , further comprising determining that errors have not occurred exclusively in a check symbol.

5. The method as claimed in claim 1 , wherein the n-valued expression uses addition and multiplication over GF(n).

6. The method as claimed in claim 5 , wherein n=2 m and m is an integer greater than 1, an n-valued symbol is represented by a plurality of binary symbols, and the addition and multiplication over GF(n) are executed by binary functions.

7. The method as claimed in claim 1 , wherein each codeword of the (p,k) code has at most k symbols in common in corresponding positions with any other codeword of the (p,k) code.

8. The method as claimed in claim 1 , wherein each codeword of the (p,k) code has at most (k−1) symbols in common in corresponding positions with any other codeword of the (p,k) code.

9. The method as claimed in claim 1 , wherein a check symbol in the codeword is created by executing a check symbol determining n-valued expression.

10. The method as claimed in claim 9 , wherein each check symbol is represented by a plurality of binary symbols and is created by applying a binary logic function.

11. The method of claim 1 , wherein the method is used in a receiver of a communication system.

12. An apparatus for correcting an n-valued symbol in error in an n-valued codeword of a (p,k) code having p n-valued symbols of which k n-valued symbols are information symbols and (p−k) symbols are check symbols with p>1, n>2 and k>1, comprising:

a processor executing instructions to perform the steps of:

receiving the n-valued codeword that is a Reed-Solomon codeword wherein each n-valued symbol in the n-valued codeword is represented by a signal and an n-valued symbol is in error with an unknown location in the Reed-Solomon codeword;

determining the location of the n-valued symbol in error in the n-valued Reed-Solomon codeword;

selecting a predetermined n-valued expression based on the location of the n-valued symbol in error from a plurality of predetermined expressions; and

determining a correct value of the n-valued symbol in error by evaluating the predetermined n-valued expression which applies one or more of the p n-valued symbols not in error directly as an input variable and wherein the pre-determined n-valued expression applies at least one n-valued logic function and outputs the correct value of the n-valued symbol in error.

13. The apparatus as claimed in claim 12 , further performing the step of determining that errors have not occurred exclusively in a check symbol.

14. The apparatus of claim 12 , wherein the apparatus in a storage device.

15. A system for processing a (p,k) codeword having p n-valued symbols of which k n-valued symbols are information symbols and (p−k) symbols are check symbols with p>1, n>2 and k>1, the codeword having a symbol in error, comprising:

a receiver which receives the p symbols of the (p,k) codeword;

a processor performing the steps of:

receiving the (p,k) codeword that is a Reed-Solomon codeword wherein each n-valued symbol in the n-valued codeword is represented by a signal and an n-valued symbol is in error with an unknown location in the Reed-Solomon codeword;

determining the location of the n-valued symbol in error in the Reed-Solomon codeword; and

calculating a correct value of the n-valued symbol in error by non-iteratively evaluating a single predetermined n-valued expression that is selected from a plurality of at least three predetermined n-valued expressions based on the location of the n-valued symbol in error, the selected single predetermined n-valued expression outputting the correct value.

16. The system as claimed in claim 15 , wherein the system is a communication system.

17. The system as claimed in claim 15 , wherein the system is a data storage system.

18. The system of claim 15 , wherein the processor locates the n-state symbol in error in the n-state codeword by determining a plurality of intermediate comparative coding states.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2025
From: TERNARYLOGIC LLC
To: LABLANS, PETER, MR.
Reel/Frame 072838/0394 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FROM TERNARYLOGIC, LLC TO READ TERNARYLOGIC LLC (NO COMMA) PREVIOUSLY RECORDED ON REEL 019542 FRAME 0504. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGEE SHOULD READ TERNARYLOGIC LLC (NO COMMA). Recorded Jun 5, 2009
From: LABLANS, PETER
To: TERNARYLOGIC LLC
Reel/Frame 022790/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2007
From: LABLANS, PETER
To: TERNARYLOGIC, LLC
Reel/Frame 019542/0504 →
Continuity (5)
Continuation In Part 11739189 · Apr 24, 2007
Continuation In Part 11743893 · May 3, 2007
Provisional Application 60807087 · Jul 12, 2006
Provisional Application 60821980 · Aug 10, 2006
Related Publication 20080016432A1 · Jan 17, 2008