# US 11,451,246 B1 · FEC codec module

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,451,246 B1
- Document ID: US11451246B1
- Status: Granted
- Kind: B1
- Application number: 17/459,118
- Filed: 2021-08-27
- Granted: 2022-09-20
- Earliest claimed: 2021-06-08
- Assignees: Shenzhen Lontium Semiconductor Technology Co., Ltd.
- Applicants: Shenzhen Lontium Semiconductor Technology Co., Ltd.
- Inventors: Xuansheng Zhu; Shenghui Bao; Hui Bian; Sai Gao; Xinrun Xing
- Web page: https://patentgrep.com/patent/US11451246B1

## CPC

- H03M 13/2942: {wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits}
- H03M 13/1515: {Reed-Solomon codes}
- H03M 13/1575: {Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance}
- H03M 13/159: {Remainder calculation, e.g. for encoding and syndrome calculation}
- H03M 13/27: using interleaving techniques
- H03M 13/6575: {Implementations based on combinatorial logic, e.g. Boolean circuits}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

An FEC codec module is provided. Code elements, i.e., code words of forward error correction code, are added to the data code stream of each transmission link through the codec module, so that accurate error determination and automatic error correction may be realized at the receiving end. The interleaving process is performed on multi-link data to prevent the occurrence of continuous burst errors in the data link in a transmission process, and the error correction capability of FEC is utilized to improve the data transmission efficiency and anti-interference ability of the system.

## Claims

### Claim 1

A forward error correction (FEC) codec module, comprising an encoding module and an error correction module; wherein
the encoding module comprises: a first data interleaving module, four encoding calculation units, an encoding unit and a data selector;
the first data interleaving module is configured to perform an interleaving and reorganizing process on two paths of source data input to the first data interleaving module according to a preset method, and respectively send one high byte data and one low byte data in each of two cycles of the source data after the interleaving and reorganizing process to corresponding four encoding calculation units, wherein each one of the four encoding calculation units obtains one corresponding high byte data or one corresponding low byte data in every two cycles;
each one of the four encoding calculation units is configured to perform a loop iterative calculation on obtained continuous 60 bytes of data, to obtain two parity values;
the encoding unit is configured to obtain parity values calculated by the four encoding calculation units, and perform a polarity encoding process on the parity values; and
the data selector is configured to obtain a polarity-encoded parity value, insert the polarity-encoded parity value into a PH position of the source data, and send the source data inserted with the parity value to the error correction module;
the error correction module comprises: a second data interleaving module, a decoding module, a determination unit, an error positioning unit, and an output unit;
the second data interleaving module is configured to perform an interleaving and reorganizing process on the source data sent by the data selector, according to the preset method;
the decoding module is configured to perform a decoding and restoring process on a parity value in the source data processed by the second data interleaving module;
the determination unit is configured to calculate a syndrome value of the source data processed by the second data interleaving module, based on the source data inserted with the parity value after the decoding and restoring process, determine whether the source data is wrong based on the syndrome value, and perform an error correction process on the source data if the source data is determined to be wrong;
the error positioning unit is configured to determine a position of an error character in the source data based on the syndrome value; and
the output unit is configured to output a character block marked with the position of the error character.

### Claim 2 (depends on 1)

The FEC codec module according to claim 1, wherein the four encoding calculation units are a first encoding unit, a second encoding unit, a third encoding unit, and a fourth encoding unit;
the first data interleaving module is configured to set a start flag bit in the input source data, send a high byte data in a first cycle after the start flag bit to the first encoding unit, send a low byte data in the first cycle after the start flag bit to the second encoding unit, send a high byte data in a second cycle after the start flag bit to the third encoding unit, and send a low byte data in the second cycle after the start flag bit to the fourth encoding unit.

### Claim 3 (depends on 1)

The FEC codec module according to claim 1, wherein each of the four encoding calculation units comprises a Reed-Solomon (RS) encoding circuit configured to calculate the parity value, and the RS encoding circuit comprises: a first multiplier, a second multiplier, a first adder, a second adder, a first logical AND gate, an output controller, a first trigger and second trigger; wherein
a first input terminal of the output controller is configured to input the source data processed by the first data interleaving module, a second input terminal of the output controller is connected to an output terminal of the second trigger, and a control terminal of the output controller is configured to input a control signal;
a first input terminal of the first logic AND gate is connected to an output terminal of the first adder, and a second input terminal of the first logic AND gate is connected to the control terminal of the output controller;
an input terminal of the first multiplier and an input terminal of the second multiplier are both connected to an output terminal of the first logical AND gate;
an output terminal of the first multiplier is connected to an input terminal of the first trigger;
an output terminal of the first trigger is connected to a first input terminal of the second adder;
an output terminal of the second multiplier is connected to a second input terminal of the second adder;
an input terminal of the second trigger is connected to an output terminal of the second adder, and an output terminal of the second trigger is connected to a first input terminal of the first adder; and
a second input terminal of the first adder is connected to the first input terminal of the output controller.

### Claim 4 (depends on 3)

The FEC codec module according to claim 3, wherein the determination unit comprises a syndrome value calculation circuit; and the syndrome value calculation circuit comprises: a third adder, a third multiplier, a third trigger, and a second logical AND gate; wherein:
a first input terminal of the third adder is connected to an output terminal of the second logical AND gate, and a second input terminal of the third adder is configured to obtain a source data inserted with the parity value after the decoding and restoring process;
a first input terminal of the third multiplier is connected to an output terminal of the third adder, and a second input terminal of the third multiplier is configured to input a preset coefficient; and
an input terminal of the third trigger is connected to an output terminal of the third multiplier, an output terminal of the third trigger is connected to a first input terminal of the second logic AND gate, and a second input terminal of the second logic AND gate is configured to input a control signal.
