# US 12,224,858 B2 · Data sending and receiving method and device

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

- Number: US 12,224,858 B2
- Document ID: US12224858B2
- Status: Granted
- Kind: B2
- Application number: 18/488,864
- Filed: 2023-10-17
- Published: 2024-02-08
- Granted: 2025-02-11
- Earliest claimed: 2013-12-17
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Wenbin Yang; Tongtong Wang; Xinyuan Wang
- Web page: https://patentgrep.com/patent/US12224858B2

## CPC

- H04L 1/0071: {Use of interleaving (interleaving per se H03M13/27)}
- H03M 13/2792: {Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing}
- H03M 13/2906: {using block codes (H03M13/2957 takes precedence)}
- H04L 1/0057: {Block codes (H04L1/0061, H04L1/0064 take precedence)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- 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 embodiment of the present disclosure contemplates a data sending and receiving method and apparatus. A first FEC unit of a sending device sends, by using a first channel, a first data stream on which first FEC encoding has been performed; a second FEC unit of the sending device sends, by using a second channel, a second data stream on which second FEC encoding has been performed; and the sending device performs interleaving on the first data stream and the second data stream, to obtain an output data stream, and sends the output data stream to a receiving device.

## Claims

### Claim 1

A method, comprising:
generating, by a first Forward Error Code (FEC) encoder, first FEC encoded data;
generating, by a second FEC encoder, second FEC encoded data;
generating a plurality of data streams by performing block-level interleaving on the first FEC encoded data and the second FEC encoded data, wherein a number of data streams of the plurality of data streams is 2N and N is a natural number greater than 1, wherein an interleaving granularity of the block-level interleaving is at least two bits, and wherein in each pair of adjacent data streams of the plurality of data streams, data units located at a same position in the data streams of the respective pair comprise a data unit from the first FEC encoded data and a data unit from the second FEC encoded data; and
obtaining at least one interleaved data stream by performing bit-level interleaving on the plurality of data streams, wherein an interleaving granularity of the bit-level interleaving is only one bit, and wherein a number of interleaved data streams of the at least one interleaved data stream is less than 2N.

### Claim 2 (depends on 1)

The method of claim 1, wherein each pair of adjacent data units in each data stream of the plurality of data streams includes a data unit from the first FEC encoded data and a data unit from the second FEC encoded data.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of data streams comprises a first data stream, and the first data stream comprises a first data unit of the first FEC encoded data and a second data unit of the first FEC encoded data, and an order of the first data unit and the second data unit in the first data stream is the same as an order of the first data unit and the second data unit in the first FEC encoded data.

### Claim 4 (depends on 2)

The method of claim 2, wherein adjacent bits in any interleaved data stream of the at least one interleaved data stream come from different data streams of the plurality of data streams.

### Claim 5 (depends on 1)

The method of claim 1, wherein the method is performed by an Ethernet device.

### Claim 6 (depends on 5)

The method of claim 5, wherein a rate of the Ethernet device is 100GE or higher.

### Claim 7 (depends on 4)

The method of claim 4, wherein the method is performed by an Ethernet device.

### Claim 8 (depends on 7)

The method of claim 7, wherein a rate of the Ethernet device is 100GE or higher.

### Claim 9

A device, comprising:
a first Forward Error Code (FEC) encoder, configured to generate first FEC encoded data;
a second FEC encoder, configured to generate second FEC encoded data; and
an interleaver, configured to:
generate a plurality of data streams by performing block-level interleaving on the first FEC encoded data and the second FEC encoded data, wherein a number of data streams of the plurality of data streams is 2N and N is a natural number greater than 1, wherein an interleaving granularity of the block-level interleaving is at least two bits, and wherein in each pair of adjacent data streams of the plurality of data streams, data units located at a same position in the data streams of the respective pair comprise a data unit from the first FEC encoded data and a data unit from the second FEC encoded data; and
obtain at least one interleaved data stream by performing bit-level interleaving on the plurality of data streams, wherein an interleaving granularity of the bit-level interleaving is only one bit, and wherein a number of interleaved data streams of the at least one interleaved data stream is less than 2N.

### Claim 10 (depends on 9)

The device of claim 9, wherein each pair of adjacent data units in each data stream of the plurality of data streams includes a data unit from the first FEC encoded data and a data unit from the second FEC encoded data.

### Claim 11 (depends on 9)

The device of claim 9, wherein the plurality of data streams comprises a first data stream, and the first data stream comprises a first data unit of the first FEC encoded data and a second data unit of the first FEC encoded data, and an order of the first data unit and the second data unit in the first data stream is the same as an order of the first data unit and the second data unit in the first FEC encoded data.

### Claim 12 (depends on 10)

The device of claim 10, wherein adjacent bits in any data stream of the at least one interleaved data stream come from different data streams of the plurality of data streams.

### Claim 13 (depends on 9)

The device of claim 9, wherein the device is one or more chips, or the device is a network device.

### Claim 14 (depends on 9)

The device of claim 9, wherein the device is an Ethernet device.

### Claim 15 (depends on 14)

The device of claim 14, wherein a rate of the Ethernet device is 100GE or higher.

### Claim 16 (depends on 10)

The device of claim 10, wherein the device is an Ethernet device.

### Claim 17 (depends on 16)

The device of claim 16, wherein a rate of the Ethernet device is 100GE or higher.

### Claim 18

A device, comprising:
a receiver, configured to receive at least one interleaved data stream;
a de-interleaver, configured to:
obtain a plurality of data streams by performing bit-level de-interleaving on the at least one interleaved data stream received by the receiver, and wherein a de-interleaving granularity of the bit-level de-interleaving is only one bit, wherein a number of data streams of the plurality of data streams is 2N and N is a natural number greater than 1, and wherein a number of interleaved data streams of the at least one interleaved data stream is less than 2N; and
obtain first Forward Error Code (FEC) encoded data and second FEC encoded data by performing block-level de-interleaving on the plurality of data streams, wherein a de-interleaving granularity of the block-level de-interleaving is at least two bits, and wherein in each pair of adjacent data streams of the plurality of data streams, data units located at a same position in the data streams of the respective pair comprise a data unit from the first FEC encoded data and a data unit from the second FEC encoded data.

### Claim 19 (depends on 18)

The device of claim 18, wherein each pair of adjacent data units in each data stream of the plurality of data streams are de-interleaved to allocate one of the data units of the respective pair to the first FEC encoded data and the other data unit of the respective pair to the second FEC encoded data.

### Claim 20 (depends on 18)

The device of claim 18, wherein the plurality of data streams comprises a first data stream, and the first data stream comprises a first data unit de-interleaved to the first FEC encoded data and a second data unit de-interleaved to the first FEC encoded data, and an order of the first data unit and the second data unit in the first data stream is the same as an order of the first data unit and the second data unit in the first FEC encoded data.

### Claim 21 (depends on 18)

The device of claim 18, further comprising:
a first FEC decoder, configured to decode the first FEC encoded data; and
a second FEC decoder, configured to decode the second FEC encoded data.

### Claim 22 (depends on 18)

The device of claim 18, wherein the device is one or more chips, or the device is a network device.

### Claim 23 (depends on 18)

The device of claim 18, wherein the device is an Ethernet device.

### Claim 24 (depends on 23)

The device of claim 23, wherein a rate of the Ethernet device is 100GE or higher.

### Claim 25 (depends on 19)

The device of claim 19, wherein the device is an Ethernet device.

### Claim 26 (depends on 25)

The device of claim 25, wherein a rate of the Ethernet device is 100GE or higher.

### Claim 27

A method, comprising:
receiving at least one interleaved data stream;
obtaining a plurality of data streams by performing bit-level de-interleaving on the at least one interleaved data stream, and wherein a de-interleaving granularity of the bit-level de-interleaving is only one bit, wherein a number of data streams of the plurality of data streams is 2N and N is a natural number greater than 1, and wherein a number of interleaved data streams of the at least one interleaved data stream is less than 2N; and
obtaining first Forward Error Code (FEC) encoded data and second FEC encoded data by performing block-level de-interleaving on the plurality of data streams, wherein a de-interleaving granularity of the block-level de-interleaving is at least two bits, and wherein in each pair of adjacent data streams of the plurality of data streams, data units located at a same position in the data streams of the respective pair comprise a data unit from the first FEC encoded data and a data unit from the second FEC encoded data.

### Claim 28 (depends on 27)

The method of claim 27, wherein at least two adjacent data units in any one of the plurality of data streams are de-interleaved to the first FEC encoded data and to the second FEC encoded data, respectively.

### Claim 29 (depends on 27)

The method of claim 27, wherein the plurality of data streams comprises a first data stream, and the first data stream comprises a first data unit de-interleaved to the first FEC encoded data and a second data unit de-interleaved to the first FEC encoded data, and an order of the first data unit and the second data unit in the first data stream is the same as an order of the first data unit and the second data unit in the first FEC encoded data.

### Claim 30 (depends on 27)

The method of claim 27, further comprising:
decoding the first FEC encoded data; and
decoding the second FEC encoded data.

### Claim 31 (depends on 27)

The method of claim 27, wherein the method is performed by an Ethernet device.

### Claim 32 (depends on 31)

The method of claim 31, wherein a rate of the Ethernet device is 100GE or higher.

### Claim 33 (depends on 28)

The method of claim 28, wherein the method is performed by an Ethernet device.

### Claim 34 (depends on 33)

The method of claim 33, wherein a rate of the Ethernet device is 100GE or higher.
