IP Library Granted Patent US 9,344,117
Granted Patent B2
US 9,344,117 · App. 13/839,193 · Granted May 17, 2016

Methods and systems for error-correction 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 9,344,117
App. No.
13/839,193
Granted
May 17, 2016
Kind
B2
Abstract

Methods and systems for efficient Reed-Solomon (RS) decoding are provided. The RS decoding unit includes both an RS pseudo decoder and an RS decoder. The RS pseudo decoder is configured to correct a small number of errors in a received codeword, while the RS decoder is configured to correct errors that are recoverable by the RS code. The RS pseudo decoder runs in parallel with the RS decoder. Once the RS pseudo decoder successfully decodes the codeword, the RS decoder may stop its processing, thereby reducing the RS decoding latency.

Claims (52)

1. A method for error-correction decoding, comprising:

receiving an encoded codeword;

computing one or more syndrome values based on the received codeword;

performing, on the received codeword and the one or more syndrome values, a first decoding process using a first decoder, wherein the first decoder is configured to identify no more than a predetermined number of errors, wherein the first decoder is configured to use a non-iterative decoding algorithm based on the one or more syndrome values, and wherein the first decoder is configured to, when the received codeword contains a single error, identify a location of an error symbol based on a ratio between two syndrome values, and when the received codeword contains two errors in adjacent symbols, identify a location l of one of the two error symbols by calculating

a

2

l

=

τ

2

τ

1

,

wherein τ 1 =((S 0 S 2 )+(S 1 ) 2 )(1+α 2m ) −1 , τ 2 =((S 0 S 4 )+(S 2 ) 2 )(1+α 4m ) −1 , S 0 , S 1 , S 2 and S 4 are syndrome values, α is a primitive element, and m is a distance between the two error symbols; and

performing, on the received codeword and in parallel with the first decoding process, a second decoding process using a second decoder, the second decoder configured to identify more than the predetermined number of errors, wherein the second decoder uses an iterative decoding algorithm based on the one or more syndrome values.

2. The method of claim 1 , further comprising:

generating a decoded message by the first decoding process; and

aborting the second decoding process.

3. The method of claim 1 , further comprising generating a decoded message by the second decoding process, wherein the first decoding process determines that the received codeword includes more than the predetermined number of errors.

4. The method of claim 1 , wherein the first decoder is a Reed-Solomon (RS) pseudo decoder and the second decoder is an RS decoder.

5. The method of claim 1 , wherein the first decoder identifies one or two errors associated with the received codeword based on the one or more syndrome values.

6. The method of claim 1 , wherein the first decoding process consumes less time than the second decoding process.

7. The method of claim 1 , wherein the second decoder is based on a Berlekamp-Massey algorithm.

8. The method of claim 1 , wherein the first decoder and the second decoder are integrated in a single chip.

9. The method of claim 1 , further comprising:

generating a decoded message by the first decoding process; and

starting decoding another received codeword.

10. An error-correction decoding unit comprising:

a first decoder for performing a first decoding process based on a received codeword, wherein the first decoder is configured to identify no more than a predetermined number of errors, wherein the first decoder is configured to use a non-iterative decoding algorithm based on one or more syndrome values computed based on the received codeword, and wherein the first decoder is configured to, when the received codeword contains a single error, identify a location of an error symbol based on a ratio between two syndrome values, and when the received codeword contains two errors in adjacent symbols, identify a location l of one of the two error symbols by calculating

a

2

l

=

τ

2

τ

1

,

wherein τ 1 =((S 0 S 2 )+(S 1 ) 2 )(1+α 2m ) −1 , τ 2 =((S 0 S 4 )+(S 2 ) 2 )(1+α 4m ) −1 , S 0 , S 1 , S 2 , and S 4 are syndrome values, α is a primitive element, and m is a distance between the two error symbols; and

a second decoder for performing a second decoding process based on the received codeword, the second decoder configured to identify more than the predetermined number of errors, wherein the first decoder performs the first decoding process in parallel with the second decoder performing the second decoding process, and wherein the second decoder uses an iterative decoding algorithm based on the one or more syndrome values.

11. The decoding unit of claim 10 , wherein the first decoder is a Reed-Solomon (RS) pseudo decoder and the second decoder is an RS decoder.

12. The decoding unit of claim 10 , wherein the first decoding process generates a decoded message and the second decoding process is aborted.

13. The decoding unit of claim 10 , wherein the first decoding process determines that the received codeword includes more than the predetermined number of errors and the second decoding process generates a decoded message.

14. The decoding unit of claim 10 , wherein the first decoder identifies one or two errors associated with the received codeword based on the one or more syndrome values.

15. The decoding unit of claim 10 , wherein the first decoding process consumes less time than the second decoding process.

16. The decoding unit of claim 10 , wherein the second decoder is based on a Berlekamp-Massey algorithm.

17. The decoding unit of claim 10 , wherein the first decoder and the second decoder are integrated in a single chip.

18. The decoding unit of claim 10 , wherein the first decoding process generates a decoded message, and the decoding unit starts decoding another received codeword.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 37900/0720 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 046542/0792 →
PATENT SECURITY AGREEMENT Recorded Feb 24, 2016
From: MELLANOX TECHNOLOGIES, LTD.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037900/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2013
From: MULA, LIRON; RAVID, RAN; GAIST, CHEN; SHIMON, OMER ZILBERBOIM; SELA, OREN TZVI
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 030700/0830 →