IP Library › Granted Patent US 11,005,598
Granted Patent B1
US 11,005,598 · App. 16/571,781 · Granted May 11, 2021

System and method for a forward error correction decoder with error reporting

Inventor: Ben J. Jones (Edinburgh, GB)
Assignee: XILINX, INC.
H04L1/0061H03M13/2906H04L1/0045
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 11,005,598
App. No.
16/571,781
Granted
May 11, 2021
Kind
B1
Abstract

A forward error correction decoder for packing error information of a codeword in the space that was previously occupied by the parity symbols in the decoder output is presented. Specifically, the decoder summarizes error information of the codeword in a summary vector having the size no greater than the total size of the parity symbols. The decoder then outputs the message symbols from the codeword and the summary error vector, which provides the error information of the received codeword but only requires a bandwidth that is no greater than the bandwidth previously used for transmitting the parity symbols.

Claims (69)

1. A circuit comprising:

an error vector packing circuit configured to:

obtain error information indicative of at least one error symbol in a received codeword that includes a set of parity symbols; and

generate a summary vector of the error information including an error value and an error location relating to the at least one error symbol, wherein generating the summary vector includes packing the error value from the error information in a first bit pattern having the same size of the message symbol or the parity symbol, the packing including to:

count, based on the error information, a first number of bits in the at least one error symbol that changed from 0 to 1;

encode the first number into a first binary number;

count, based on the error information, a second number of bits in the at least one error symbol that changed from 1 to 0;

encode the second number into a second binary number; and

concatenate the first binary number and the second binary number into a concatenated number; and

an output element configured to output the summary vector having a size equal to or less than a total size of the set of parity symbols for generating a decoded codeword corresponding to the received codeword.

2. The circuit of claim 1 , further comprising:

an error determination circuit configured to:

receive the codeword that is an error correction block code having a first block of a set of message symbols and a second block of the set of parity symbols, and

determine the error information indicative of the at least one error symbol.

3. The circuit of claim 2 , wherein the error determination circuit is configured to determine error information indicative of at least one symbol error in the received codeword based on the set of parity symbols by:

generating an error vector of a bit pattern having a same size with the received codeword,

wherein the error vector, when XORed with the received codeword, produces the corrected codeword.

4. The circuit of claim 1 , wherein the error vector packing circuit is further configured to generate the summary vector of the error information by

packing an error location from the error information in a second bit pattern having the same size of the parity symbol.

5. The circuit of claim 4 , wherein the error vector packing circuit is configured to pack the error location from the error information in the second bit pattern having the same size of the message symbol or the parity symbol by:

designating the second bit pattern indicative of a position of the at least one error symbol in the codeword.

6. The circuit of claim 4 , wherein the error vector packing circuit is configured to generate the summary vector of the error information by:

concatenating the first bit pattern and the second bit pattern to form a first error block relating to the at least one error symbol.

7. The circuit of claim 6 , wherein the error vector packing circuit is further configured to:

in response to determining that the error information is indicative of another error symbol in the received codeword, generate a second error block indicative of another error value and another error location relating to the another error symbol; and

concatenate the first error block and the second error block to form the summary vector.

8. The circuit of claim 1 , wherein the error vector packing circuit is further configured to pack the error value from the error information in the first bit pattern having the same size of the message symbol or the parity symbol by

padding the concatenated number with extra bits to the first bit pattern having the same size of the message symbol or the parity symbol.

9. The circuit of claim 1 , further comprising:

a correction circuit configured to generate a corrected codeword by:

performing an XOR operation on the error information and the received codeword, and

sending a set of corrected message symbols from the corrected codeword to the output element,

wherein the output element includes a multiplexer configured to multiplex the set of corrected message symbols and the summary vector for output, wherein the output from the multiplexer has an output throughput no greater than an input throughput for receiving the codeword.

10. The circuit of claim 1 , further comprising:

an alignment circuit coupled to a plurality of parallel receiver circuits,

wherein each receiver circuit is configured to receive data from a communication link, and the alignment circuit is configured to align a plurality of codewords received from multiple communication links into one bitstream and send the one bitstream to the error vector packing circuit.

11. A method comprising:

obtaining, at an error vector packing circuit, error information indicative of at least one error symbol in a received codeword that includes a set of parity symbols;

generating a summary vector of the error information including an error value and an error location relating to the at least one error symbol, including packing the error value from the error information in a first bit pattern having the same size of the message symbol or the parity symbol, by:

counting, based on the error information, a first number of bits in the at least one error symbol that changed from 0 to 1;

encoding the first number into a first binary number;

counting, based on the error information, a second number of bits in the at least one error symbol that changed from 1 to 0;

encoding the second number into a second binary number; and

concatenating the first binary number and the second binary number; and

outputting, at an output element, the summary vector having a size equal to or less than a total size of the set of parity symbols for generating a decoded codeword corresponding to the received codeword.

12. The method of claim 11 , further comprising:

receiving, at an error determination circuit, the codeword that is an error correction block code having a first block of a set of message symbols and a second block of the set of parity symbols; and

determining the error information indicative of the at least one error symbol.

13. The method of claim 12 , wherein the determining error information indicative of at least one symbol error in the received codeword based on the set of parity symbols comprises:

generating an error vector of a bit pattern having a same size with the received codeword,

wherein the error vector, when XORed with the received codeword, produces the corrected codeword.

14. The method of claim 11 , wherein the generating the summary vector of the error information further comprises

packing an error location from the error information in a second bit pattern having the same size of the parity symbol.

15. The method of claim 11 , wherein the packing the error value from the error information in the first bit pattern having the same size of the message symbol or the parity symbol further comprises

padding the concatenated number with extra bits to the first bit pattern having the same size of the message symbol or the parity symbol.

16. The method of claim 14 , wherein the packing the error location from the error information in the second bit pattern having the same size of the message symbol or the parity symbol comprises:

designating the second bit pattern indicative of a position of the at least one error symbol in the codeword.

17. The method of claim 14 , wherein the generating the summary vector of the error information comprises:

concatenating the first bit pattern and the second bit pattern to form a first error block relating to the at least one error symbol.

18. The method of claim 17 , further comprising:

in response to determining that the error information is indicative of another error symbol in the received codeword, generating a second error block indicative of another error value and another error location relating to the another error symbol; and

concatenating the first error block and the second error block to form the summary vector.

19. The method of claim 11 , further comprising:

performing, at a correction circuit, an XOR operation on the error information and the received codeword, and

sending a set of corrected message symbols from the corrected codeword to the output element,

wherein the output element includes a multiplexer configured to multiplex the set of corrected message symbols and the summary vector for output, wherein the output from the multiplexer has an output throughput no greater than an input throughput for receiving the codeword.

20. The method of claim 11 , further comprising:

aligning, at an alignment circuit coupled to a plurality of parallel receiver circuits, a plurality of codewords received from multiple communication links into one bitstream; and

sending the one bitstream to the error vector packing circuit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2019
From: JONES, BEN J.
To: XILINX, INC.
Reel/Frame 050415/0144 →
Cited By (1)
US 12,531,594