Error floor performance improvement of generalized product codes
AssigneeInfinera Corporation
InventorsMehdi Torbatian, Han Henry Sun
Life of this patent
Estimating the term…
Abstract
Systems and methods for improving the error floor performance in decoding generalized product codes (GPC) are described. The systems and methods can implement a two stage process to decode a GPC block code and break a stall error pattern for the decoding the block code. In the first stage, erroneuous bits in a codeword can be flagged. In the second stage, some of these bits and related bits in a codeword can be toggled to generate one or more test patterns. The test patterns can be decoded and one of them can be selected using a particular selection criteria to ultimately break the stall error pattern and improve the error floor performance.
Claims20
A device comprising:
- an optical receiver configured to receive a communication optical signal including a plurality of optical subcarriers from a communication network, one of the plurality of optical subcarriers carrying data encoded using a generalized product code;
- and
- at least one processor coupled to the receiver and comprising a decoder, the at least one processor being configured to:
- for a first decoding iteration:
- determine whether a number of errors associated with a first codeword of a block code in the data encoded using the generalized product code satisfies a capacity threshold;
- and
- in response to determining that the number of errors associated with the first codeword does not satisfy the capacity threshold, set flags for bits in the first codeword;
- for a second decoding iteration that follows the first decoding iteration:
- determine whether a number of errors associated with a second codeword of the block code satisfies a second threshold;
- and
- in response to determining the number of errors associated with the second codeword does not satisfy the second threshold,
- identify flagged bits in the second codeword;
- generate at least one test pattern based on the flagged bits;
- determine syndromes for the at least one test pattern;
- decode the at least one test pattern;
- select one of the at least one test pattern based on a selection criterion;
- and
- clear the flagged bits.
A method to decode data encoded using a generalized product code, the method comprising:
- receiving, from a communication network, a plurality of optical subcarriers, one of the plurality of optical subcarriers carrying the data encoded using the generalized product code;
- for a first decoding iteration:
- determining, by at least one processor, whether a number of errors associated with a first codeword of a block code in the data encoded using the generalized product code satisfies a capacity threshold;
- and
- in response to determining that the number of errors associated with the first codeword does not satisfy the capacity threshold, setting flags for bits in the first codeword;
- for a second decoding iteration that follows the first decoding iteration:
- determining whether a number of errors associated with a second codeword of the block code satisfies a second threshold;
- and
- in response to determining the number of errors associated with the second codeword does not satisfy the second threshold,
- identifying flagged bits in the second codeword;
- generating at least one test pattern based on the flagged bits;
- determining syndromes for the at least one test pattern;
- decoding the at least one test pattern;
- selecting one of the at least one test pattern based on a selection criterion;
- and
- clearing the flagged bits.
A receiver comprising:
- a photodetector circuit operable to provide an electrical signal indicative of data carried by one of a plurality of optical subcarrier provided to the photodetector circuit;
- a memory configured to store the data and provide the data to one or more components of the receiver;
- and
- a decoder coupled to the memory and configured to obtain the data from the memory, the decoder being configured to:
- flag bits in a first codeword of a block code of the data in a first decoding iteration of the block code;
- identify at least one of the flagged bits in the block code in a second decoding iteration of the block code, the second decoding iteration occurring after codewords in the block code have been processed in the first decoding iteration;
- generate a test pattern based on the identified at least one of the flagged bits;
- and
- decode the block code based on the test pattern.
Dependencies are inferred from the claim text.