IP Library Granted Patent US 7,096,409
Granted Patent B2
US 7,096,409 · App. 10/632,125 · Granted Aug 22, 2006

Reed-solomon decoder and decoding method for errors and erasures decoding

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 7,096,409
App. No.
10/632,125
Granted
Aug 22, 2006
Kind
B2
Abstract

A single polynomial expander 22 is time multiplexed to produce firstly a modified syndrome polynomial T(x) and then an erasure located polynomial Λ(x). T(x) is supplied to a key equation solving unit 32 which solves the key equation to calculate an error locator polynomial σ(x) and an errata evaluator polynomial ω(x). These polynomials σ(x), Λ(x) and ω(x) form three inputs to polynomial evaluators 52–56 and a Forney block 62 for determining the location and magnitude of each symbol error and symbol erasure, allowing the received codeword to be corrected in a correction block 72 . Optionally, a transform block 42 is provided to avoid unnecessary delay and improve throughput when decoding shortened codewords.

Claims (169)

1. A method for decoding of Reed-Solomon encoded data, comprising the steps of:

receiving a codeword comprising a set of symbols, and calculating a syndrome polynomial S(x) for the received codeword;

receiving erasure information which identifies zero or more symbols in the received codeword that have been declared as a symbol erasure;

calculating a modified syndrome polynomial T(x) from the syndrome polynomial S(x) and then calculating an erasure locator polynomial Λ(x), each with reference to the received erasure information;

finding an error locator polynomial σ(x) and an errata evaluator polynomial ω(x), from the modified syndrome polynomial T(x);

determining a location and magnitude of symbol errors and symbol erasures in the received codeword, from the error locator polynomial σ(x), the erasure locator polynomial Λ(x), and the errata evaluator polynomial ω(x); and

correcting the received codeword using the determined location and magnitude of symbol errors and symbol erasures.

2. The method of claim 1 , comprising

receiving the erasure information identifying zero or more of the symbols J as erasures, and calculating a set of terms α −v i where the set of α −v i represents locations of the J erasures; and

calculating each of a modified syndrome polynomial T(x) and an erasure locator polynomial Λ(x) using the equation:

polyout( x )=polyin( x )·( x+α −v 0 )( x+α −v 1 )( x+α −v 2 ) . . . ( x+α −v j−1 )

by setting polyin(x) to S(x) to calculate T(x), and setting polyin(x) an initial value of 1 to calculate Λ(x).

3. The method of claim 1 , comprising calculating the modified syndrome polynomial T(x) in a first time multiplexed mode, and then generating the erasure locator polynomial Λ(x) in a second time multiplexed mode.

4. The method of claim 3 , comprising calculating the erasure locator polynomial Λ(x) in parallel with the step of finding the error locator polynomial σ(x) and the errata evaluator polynomial ω(x).

5. The method of claim 1 , wherein the calculating step comprises calculating each of T(x) and Λ(x) using a single polynomial expander.

6. The method of claim 1 , wherein finding the error locator polynomial σ(x) and the errata evaluator polynomial ω(x) from the modified syndrome polynomial T(x) comprises solving the key equation:

σ( x )· T ( x )≡ω( x )mod x 2T .

7. The method of claim 6 , comprising solving the key equation by Euclid's algorithm.

8. The method of claim 1 , comprising:

finding a location of zero or more symbol errors E by evaluating the error locator polynomial σ(x) such that if σ(x)=0 for some x=α −i then an error has occurred in symbol i, and evaluating a derivative σ′(x) of the error locator polynomial σ(x);

finding a location of zero or more symbol erasures J by evaluating the erasure locator polynomial Λ(x) such that if Λ(x)=0 for some x=α −i then an erasure has occurred in symbol i, and evaluating a derivative Λ′(x) of the erasure locator polynomial Λ(x); evaluating the errata evaluator polynomial ω(x); and

determining an error magnitude for each symbol error by solving the equation:

E

i

=

ω

(

x

)

σ

(

x

)

·

Λ

(

x

)

for

x

=

α

-

i

;

 and

determining an erasure magnitude for each symbol erasure by solving the equation:

J

i

=

ω

(

x

)

σ

(

x

)

·

Λ

(

x

)

for

x

=

α

-

i

.

9. The method of claim 1 , comprising:

transforming the error locator polynomial σ(x), the erasure locator polynomial Λ(x), and the errata evaluator polynomial ω(x) such that each coefficient i is transformed by a factor of α (2 W −B)i , where GF(2 W ) is the Galois field of the Reed Solomon code used to generate the received codeword and B is a number of symbols in the received codeword.

10. A Reed-Solomon decoder, comprising:

a syndrome block arranged to calculate a syndrome polynomial S(x) from a received codeword;

an erasurelist block for receiving erasure information which identifies zero or more symbols in the received codeword as symbol erasures;

a polynomial expander arranged to calculate a modified syndrome polynomial T (x) from the syndrome polynomial S(X) and arranged to calculate an erasure locator polynomial Λ(x), each with reference to the erasure information;

a key equation block arranged to find an error locator polynomial σ(x) and an errata evaluator polynomial ω(x), from the modified syndrome polynomial T(x);

a polynomial evaluator block and a Forney block arranged to determine a location and magnitude of symbol errors and symbol erasures in the received codeword, from to the error locator polynomial σ(x), the erasure locator polynomial Λ(x), and the errata evaluator polynomial ω(x); and

a correction block arranged to correct the received codeword from the determined location and magnitude of each symbol error and each symbol erasure.

11. The decoder of claim 10 , wherein the polynomial expander is time multiplexed between a first mode for generating T(x), and a second mode for generating Λ(x).

12. The decoder of claim 11 , wherein the polynomial expander operates in the second mode to calculate the erasure locator polynomial Λ(x) in parallel with the key equation block finding an error locator polynomial σ(x) and an errata evaluator polynomial ω(x).

13. The decoder of claim 10 , comprising:

a first polynomial evaluator arranged to find a location of zero or more symbol errors E by evaluating the error locator polynomial σ(x) such that if σ(x)=0 for some x=α −1 then an error has occurred in symbol i;

a second polynomial evaluator arranged to find a location of zero or more symbol erasures J by evaluating the erasure locator polynomial Λ(x) such that if Λ(x)=0 for some x=α −i then an erasure has occurred in symbol i;

the first and second polynomial evaluators being arranged to evaluate a derivative σ′(x) of the error locator polynomial σ(x), and a derivative Λ′(x) of the erasure locator polynomial Λ(x), respectively;

a third polynomial evaluator arranged to evaluate the errata evaluator polynomial ω(x); and

a Forney block arranged to determine an error magnitude for each symbol error E by solving the equation

E

i

=

ω

(

x

)

σ

(

x

)

·

Λ

(

x

)

for

x

=

α

-

i

,

 and

determining an erasure magnitude for each symbol erasure J by solving the equation

J

i

=

ω

(

x

)

σ

(

x

)

·

Λ

(

x

)

for

x

=

α

-

i

.

14. The decoder of claim 10 , comprising:

a transform block arranged to transform each of the error locator polynomial σ(x), the erasure locator polynomial Λ(x), and the errata evaluator polynomial ω(x) such that each coefficient i is transformed by a factor of α (2 W −B)i , where GF(2 W ) is the Galois field of the Reed Solomon code used to generate the received codeword and B is a number of symbols in the received codeword.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 056157/0492 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2004
From: HEWLETT-PACKARD LIMITED; BANKS, DAVID MURRAY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 015161/0302 →