Data transmission method, apparatus, device, and system, and readable storage medium

The method enhances data transmission speed and error correction by converting and encoding data channels using FEC techniques, addressing the challenge of high-speed data transmission in low latency scenarios.

JP7755061B2Active Publication Date: 2025-10-15HUAWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024525670
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-10-30
Filing Date
2022-07-19
Publication Date
2025-10-15
Estimated Expiration
2042-07-19

AI Technical Summary

Technical Problem

The increasing demand for high-speed data transmission, particularly in low latency scenarios like data centers, is not adequately met by current transmission speeds, necessitating a method to achieve higher data transmission rates.

Method used

A data transmission method that converts channels of first data into channels of second data with equal or greater total speed, utilizing forward error correction (FEC) techniques to align, decode, and encode data, allowing flexible adaptation to various transmission scenarios and requirements.

Benefits of technology

Enables data transmission at higher speeds, improving error correction performance and quality, and is applicable to different FEC architectures, reducing optical fiber and component overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007755061000001
    Figure 0007755061000001
  • Figure 0007755061000002
    Figure 0007755061000002
  • Figure 0007755061000003
    Figure 0007755061000003
Patent Text Reader

Abstract

This application discloses a data transmission method, an apparatus, a device, and a system, the data transmission method including: a first module obtains at least one channel of first data encoded based on a first FEC; converts the at least one channel of first data to obtain at least one channel of second data, the sum of the rates of the at least one channel of second data being equal to or greater than the sum of the rates of the at least one channel of first data; and transmits the obtained at least one channel of second data. In this method, the at least one channel of first data is converted to obtain at least one channel of second data, the sum of the rates of the at least one channel of first data being equal to or greater than the sum of the rates of the at least one channel of first data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority to Chinese Patent Application No. 202111278595.3, entitled "Data Transmission Method, Apparatus, Device, and System, and Readable Storage Medium," filed with the State Intellectual Property Office of the People's Republic of China on October 30, 2021, which is incorporated herein by reference in its entirety.

[0002] TECHNICAL FIELD Embodiments of the present application relate to the field of communications technology, and in particular to a data transmission method, apparatus, device, and system, as well as a readable storage medium. [Background technology]

[0003] As the demand for data transmission continues to grow, the demand for transmission speeds is also increasing. For example, in scenarios requiring low latency transmission, such as data centers, data transmission must be performed at high transmission rates. Therefore, there is an urgent need for a data transmission method that can achieve high transmission rates. Summary of the Invention

[0004] The present application provides a data transmission method, apparatus, device, and system, as well as a readable storage medium, for improving data transmission speed. [Means for solving the problem]

[0005] According to a first aspect, there is provided a data transmission method, the method comprising: a first module transmitting a first forward error correction (FEC) signal; ( FEC ) The method includes the steps of obtaining at least one channel of first data encoded based on a code, converting the at least one channel of first data to obtain at least one channel of second data, wherein a sum of the rates of the at least one channel of second data is equal to or greater than a sum of the rates of the at least one channel of first data, and transmitting the obtained at least one channel of second data.

[0006] In this method, at least one channel of first data is converted to obtain at least one channel of second data whose total speed is equal to or greater than the total speed of the at least one channel of first data, thereby enabling data transmission at a high speed.

[0007] In one possible implementation, the first module converting the at least one channel of first data to obtain the at least one channel of second data includes the first module aligning the at least one channel of first data, obtaining a plurality of first code words based on the alignment result, decoding the plurality of first code words, and obtaining the at least one channel of second data based on the decoding result.

[0008] In one possible implementation, obtaining at least one channel of second data based on the decoding result includes encoding the decoding result based on a second FEC code to obtain a plurality of second codewords, and obtaining at least one channel of second data based on the plurality of second codewords. To flexibly adapt to transmission scenarios and transmission requirements, for decoding results obtained based on different first data, the first module can encode the decoding results by using the same second FEC code or different second FEC codes.

[0009] In one possible implementation, the step of obtaining at least one channel of second data based on a plurality of second code words includes the steps of interleaving the plurality of second code words and obtaining at least one channel of second data based on the interleaving result.

[0010] In one possible implementation, the first data includes an alignment indicator AM, and the AM is used to align at least one channel of the first data, and the step of encoding the decoding result based on the second FEC code to obtain a plurality of second codewords includes the step of removing the AM in the decoding result to obtain a plurality of second codewords, and the step of encoding the decoding result obtained by removing the AM based on the second FEC code.

[0011] In one possible implementation, the step of encoding the decoded result obtained by removing the AM based on the second FEC code to obtain a plurality of second codewords includes the steps of combining the decoded result obtained by removing the AM with one channel of third data in a sequential transmission manner to obtain a plurality of second codewords and encoding the one channel of third data, or converting the decoded result obtained by removing the AM into at least two channels of third data to obtain a plurality of second codewords and encoding the at least two channels of third data.

[0012] In one possible implementation, the step of converting the decoding result obtained by removing the AM into third data of at least two channels includes the steps of combining the decoding result obtained by removing the AM into fourth data of one channel, and converting the fourth data of one channel into third data of at least two channels.

[0013] In one possible implementation, the step of encoding one channel of third data to obtain a plurality of second codewords includes performing overall encoding on the one channel of third data based on a second FEC code to obtain a plurality of second codewords, or converting the one channel of third data into at least two channels of fifth data and individually encoding the at least two channels of fifth data based on the second FEC code to obtain a plurality of second codewords. The rate of the fifth data is less than the rate of the third data. In this method, the third data can be encoded in various manners to obtain the plurality of second codewords. Therefore, the transmission scenarios and transmission requirements to which this method can be applied are flexible. In addition, if the number of channels of the third data is multiple, the number of channels of the third data and the second FEC code used to encode the third data can be flexibly set to be applicable to various transmission scenarios and transmission requirements.

[0014] In one possible implementation, the step of encoding the at least two channels of third data to obtain a plurality of second codewords includes a step of performing overall encoding on the at least two channels of third data based on the second FEC code to obtain a plurality of second codewords, or a step of individually encoding the at least two channels of third data based on the second FEC code to obtain a plurality of second codewords.

[0015] In one possible implementation, the step of individually encoding the at least two channels of third data based on the second FEC code to obtain a plurality of second codewords includes the steps of individually performing overall encoding on the at least two channels of third data based on the second FEC code to obtain a plurality of second codewords, or converting each of the at least two channels of third data into at least two channels of sixth data and individually encoding the at least two channels of sixth data based on the second FEC code to obtain a plurality of second codewords, wherein the rate of the sixth data is less than the rate of the third data.

[0016] In one possible implementation, the step of obtaining at least one channel of second data based on the decoding result includes the steps of marking error code blocks in multiple code blocks included in the decoding result, and obtaining at least one channel of second data based on the marked decoding result. Since the first module can mark the error code blocks in the decoding result, when later receiving the second data obtained based on the decoding result, the receiving module can perform effective error correction on the data based on the marked error code blocks, thereby improving error correction performance and improving the quality of data transmission.

[0017] In one possible implementation, the first module converting the at least one channel of first data to obtain the at least one channel of second data includes the first module aligning the at least one channel of first data, obtaining a plurality of first code words based on the alignment result, and obtaining the at least one channel of second data based on the plurality of first code words.

[0018] In one possible implementation, the step of obtaining at least one channel of second data based on a plurality of first code words includes the steps of combining the plurality of first code words and obtaining at least one channel of second data based on the combination result.

[0019] In one possible implementation, the step of combining a plurality of first code words and obtaining at least one channel of second data based on the combination result includes a step of combining a plurality of first code words into one channel of second data in a sequential transmission manner, or a step of combining a plurality of first code words into at least two channels of second data.

[0020] In one possible implementation, the first data of at least one channel is data obtained by interleaving, and the step of obtaining a plurality of first codewords based on the alignment result includes the steps of deinterleaving the alignment result and obtaining a plurality of first codewords based on the deinterleaving result.

[0021] In one possible implementation, the first module converting the at least one channel of first data to obtain the at least one channel of second data includes the first module encoding the at least one channel of first data based on a second FEC code to obtain a plurality of third codewords, and the first module obtaining the at least one channel of second data based on the plurality of third codewords. The first module can re-encode the first data obtained by encoding based on the first FEC code using the second FEC code, and the second data has a higher coding gain, so that effective error correction can be performed on data in which bit errors occur when the second data is transmitted over a channel prone to bit errors, thereby improving the quality of data transmission.

[0022] In one possible implementation, the step of obtaining at least one channel of second data based on a plurality of third code words includes the steps of interleaving the plurality of third code words and obtaining at least one channel of second data based on the interleaving result.

[0023] In one possible implementation, the first module encoding at least one channel of first data based on the second FEC code to obtain multiple third codewords includes combining the at least one channel of first data with one channel of seventh data in a sequential transmission manner to obtain multiple third codewords and encoding the one channel of seventh data, or converting the at least one channel of first data with at least two channels of seventh data and encoding the at least two channels of seventh data to obtain multiple third codewords. This method can encode the seventh data in various ways to obtain multiple third codewords. Therefore, this method can be applied to flexible transmission scenarios and requirements. Additionally, if the number of channels of the seventh data is multiple, the number of channels of the seventh data and the second FEC code used to encode the seventh data can be flexibly configured to accommodate various transmission scenarios and requirements.

[0024] In one possible implementation, the step of converting the at least one channel of first data into at least two channels of seventh data includes the steps of combining the at least one channel of first data into one channel of eighth data and converting the one channel of eighth data into at least two channels of seventh data.

[0025] In one possible implementation, the step of encoding the seventh data of one channel to obtain a plurality of third codewords includes performing overall encoding on the seventh data of one channel based on a second FEC code to obtain a plurality of third codewords, or converting the seventh data of one channel into ninth data of at least two channels and individually encoding the ninth data of at least two channels based on the second FEC code to obtain a plurality of third codewords, wherein the rate of the ninth data is less than the rate of the seventh data.

[0026] In one possible implementation, the step of encoding the at least two channels of seventh data to obtain a plurality of third codewords includes a step of performing overall encoding on the at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords, or a step of individually encoding the at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords.

[0027] In one possible implementation, the step of individually encoding the at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords includes the steps of individually performing overall encoding on the at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords, or converting each of the at least two channels of seventh data into at least two channels of tenth data and individually encoding the at least two channels of tenth data based on the second FEC code to obtain a plurality of third codewords, wherein the rate of the tenth data is less than the rate of the seventh data.

[0028] In one possible implementation, the first module transmitting at least one channel of second data includes the first module inserting synchronization data into the at least one channel of second data, and transmitting data obtained by inserting the synchronization data.

[0029] In one possible implementation, the first module inserting synchronization data into the at least one channel of second data includes determining an AM corresponding to the second data for each channel of the at least one channel of second data, and inserting the AM corresponding to the second data for each channel as synchronization data into the second data for each channel.

[0030] In one possible implementation, the AM corresponding to the second data of each channel is obtained by adjusting the AM included in the corresponding first data, and the AM corresponding to the second data of each channel is the entire content of the AM included in the corresponding first data, or the AM corresponding to the second data of each channel is a partial content of the AM included in the corresponding first data.

[0031] According to a second aspect, a data transmission method is provided. The method includes a third module obtaining at least one channel of second data. The at least one channel of second data is obtained by converting at least one channel of first data, where a sum of the speeds of the at least one channel of second data is equal to or greater than a sum of the speeds of the at least one channel of first data, and the first data is data encoded based on a first forward error correction (FEC) code. The third module converts the at least one channel of second data to obtain the at least one channel of first data.

[0032] According to a third aspect, there is provided a data transmission device for use in a first module, the device comprising: an acquisition unit configured to acquire at least one channel of first data, the first data being data encoded based on a first forward error correction (FEC) code; a conversion unit configured to convert the at least one channel of first data to obtain the at least one channel of second data, wherein a sum of the rates of the at least one channel of second data is equal to or greater than a sum of the rates of the at least one channel of first data; a transmitting unit configured to transmit at least one channel of second data; Includes.

[0033] In one possible implementation, the conversion unit is configured to align at least one channel of first data, obtain a plurality of first code words based on the alignment result, decode the plurality of first code words, and obtain at least one channel of second data based on the decoding result.

[0034] In one possible implementation, the conversion unit is configured to encode the decoding result based on a second FEC code to obtain a plurality of second codewords, and to obtain at least one channel of second data based on the plurality of second codewords.

[0035] In one possible implementation, the transform unit is configured to interleave a plurality of second codewords and obtain second data of at least one channel based on the interleaving result.

[0036] In one possible implementation, the first data includes an alignment indicator AM, and the AM is used to align the first data of at least one channel. The transform unit is configured to remove the AM in the decoded result to obtain a plurality of second codewords, and to encode the decoded result obtained by removing the AM based on a second FEC code.

[0037] In one possible implementation, the conversion unit is configured to combine the decoding result obtained by removing the AM into one channel of third data in a sequential transmission manner to obtain a plurality of second codewords, and encode the one channel of third data, or convert the decoding result obtained by removing the AM into at least two channels of third data to obtain a plurality of second codewords, and encode the at least two channels of third data.

[0038] In one possible implementation, the conversion unit is configured to combine the decoding result obtained by removing the AM into one channel of fourth data, and convert the one channel of fourth data into at least two channels of third data.

[0039] In one possible implementation, the conversion unit is configured to: perform overall encoding on one channel of third data based on the second FEC code to obtain a plurality of second codewords; or convert one channel of third data into at least two channels of fifth data and individually encode the at least two channels of fifth data based on the second FEC code to obtain a plurality of second codewords, wherein the rate of the fifth data is less than the rate of the third data.

[0040] In one possible implementation, the conversion unit is configured to perform overall encoding on at least two channels of third data based on the second FEC code to obtain a plurality of second codewords, or to encode at least two channels of third data individually based on the second FEC code to obtain a plurality of second codewords.

[0041] In one possible implementation, the conversion unit is configured to: individually perform overall encoding on the at least two channels of third data based on the second FEC code to obtain a plurality of second codewords; or convert each of the at least two channels of third data into at least two channels of sixth data and individually encode the at least two channels of sixth data based on the second FEC code to obtain a plurality of second codewords, wherein the rate of the sixth data is less than the rate of the third data.

[0042] In one possible implementation, the conversion unit is configured to mark erroneous code blocks in the plurality of code blocks included in the decoding result, and to obtain second data of at least one channel based on the marked decoding result.

[0043] In one possible implementation, the conversion unit is configured to align at least one channel of first data, obtain a plurality of first code words based on the alignment result, and obtain at least one channel of second data based on the plurality of first code words.

[0044] In one possible implementation, the transform unit is configured to combine a plurality of first codewords and obtain at least one channel of second data based on the combination result.

[0045] In one possible implementation, the conversion unit is configured to combine multiple first codewords into one channel of second data in a sequential transmission manner, or to combine multiple first codewords into at least two channels of second data.

[0046] In one possible implementation, the transform unit is configured to deinterleave the alignment result and obtain a plurality of first codewords based on the deinterleaving result.

[0047] In one possible implementation, the conversion unit is configured to encode at least one channel of first data based on a second FEC code to obtain a plurality of third codewords, and to obtain at least one channel of second data based on the plurality of third codewords.

[0048] In one possible implementation, the transform unit is configured to interleave a plurality of third codewords and obtain second data of at least one channel based on the interleaving result.

[0049] In one possible implementation, the conversion unit is configured to combine at least one channel of first data with one channel of seventh data in a sequential transmission manner to obtain a plurality of third code words, and encode the one channel of seventh data, or to convert at least one channel of first data into at least two channels of seventh data and encode the at least two channels of seventh data to obtain a plurality of third code words.

[0050] In one possible implementation, the conversion unit is configured to combine at least one channel of first data into one channel of eighth data, and convert the one channel of eighth data into at least two channels of seventh data.

[0051] In one possible implementation, the conversion unit is configured to perform overall encoding on one channel of seventh data based on the second FEC code to obtain a plurality of third codewords, or to convert one channel of seventh data into at least two channels of ninth data and individually encode the at least two channels of ninth data based on the second FEC code to obtain a plurality of third codewords, where the rate of the ninth data is less than the rate of the seventh data.

[0052] In one possible implementation, the conversion unit is configured to perform overall encoding on at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords, or to encode at least two channels of seventh data individually based on the second FEC code to obtain a plurality of third codewords.

[0053] In one possible implementation, the conversion unit is configured to: individually perform overall encoding on the at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords; or convert each of the at least two channels of seventh data into at least two channels of tenth data and individually encode the at least two channels of tenth data based on the second FEC code to obtain a plurality of third codewords, wherein the rate of the tenth data is less than the rate of the seventh data.

[0054] In one possible implementation, the transmitting unit is configured to insert synchronization data into second data of at least one channel, and to transmit data obtained by inserting the synchronization data.

[0055] In one possible implementation, the transmitting unit is configured to determine an AM corresponding to the second data of each channel of the second data of at least one channel, and insert the AM corresponding to the second data of each channel into the second data of each channel as synchronization data.

[0056] In one possible implementation, the AM corresponding to the second data of each channel is obtained by adjusting the AM included in the corresponding first data, and the AM corresponding to the second data of each channel is the entire content of the AM included in the corresponding first data, or the AM corresponding to the second data of each channel is a partial content of the AM included in the corresponding first data.

[0057] According to a fourth aspect, there is provided a data transmission device for use in a third module, the device comprising: an acquisition unit configured to acquire at least one channel of second data, the at least one channel of second data being data obtained by converting the at least one channel of first data, a sum of the speeds of the at least one channel of second data being equal to or greater than a sum of the speeds of the at least one channel of first data, and the first data being data encoded based on a first forward error correction FEC code; a conversion unit configured to convert at least one channel of second data to obtain at least one channel of first data; Includes.

[0058] According to a fifth aspect, there is provided a data transmission device, the device including a processor coupled to a memory, the memory storing at least one program instruction or code that is loaded and executed by the processor to enable the device to perform a data transmission method according to either the first or second aspect.

[0059] According to a sixth aspect, there is provided a data transmission system, the system including a first data transmission device configured to perform the first aspect or any of the methods according to the first aspect, and a second data transmission device configured to perform the second aspect or any of the methods according to the second aspect.

[0060] According to a seventh aspect, there is provided a computer-readable storage medium storing at least one program instruction or code which, when loaded and executed by a processor, enables the computer to perform the data transmission method according to either the first or second aspect.

[0061] Another communication device is provided. The device includes a communication interface, a memory, and a processor. The memory and the processor communicate with each other through an internal connection path. The memory is configured to store instructions. The processor is configured to execute the instructions stored in the memory to control the communication interface to receive data and to control the communication interface to transmit data. Additionally, when the processor executes the instructions stored in the memory, the processor is enabled to perform a method according to the first aspect or any one of possible implementations of the first aspect, or to perform a method according to the second aspect or any one of possible implementations of the second aspect.

[0062] For example, there may be one or more processors and one or more memories.

[0063] For example, the memory and the processor may be integrated, or the memory and the processor may be located separately.

[0064] In a particular implementation, the memory may be a non-transitory memory, such as a read-only memory (ROM). The memory and the processor may be integrated on the same chip or may be separately located on separate chips. The type of memory and the manner in which the memory and the processor are located are not limited by this application.

[0065] A computer program product is provided, which comprises computer program code that, when executed on a computer, enables the computer to carry out the method of the aforementioned aspects.

[0066] A chip is provided that includes a processor configured to retrieve and execute instructions stored in the memory from the memory so as to enable a device in which the chip is installed to perform the method of the aforementioned aspect.

[0067] Another chip is provided, which includes an input interface, an output interface, a processor, and a memory. The input interface, the output interface, the processor, and the memory are connected to each other through internal connection paths. The processor is configured to execute code in the memory. When the code is executed, the processor is configured to perform the method of the previous aspect.

[0068] A device is provided, the device including the chip of any one of the preceding solutions.

[0069] A device is provided, the device including the first module of any one of the preceding solutions and / or the third module of any one of the preceding solutions.

[0070] It should be understood that the beneficial effects achieved by the technical solutions of the third to seventh aspects and corresponding possible implementations of the embodiments of the present application should refer to the aforementioned technical effects of the first aspect, the second aspect and corresponding possible implementations, and the details will not be repeated here. [Brief explanation of the drawings]

[0071] [Figure 1] 1 is a schematic diagram of an implementation scenario of a data transmission method according to an embodiment of the present application; [Figure 2]1 is a flowchart of a data transmission method according to an embodiment of the present application; [Figure 3] FIG. 2 is a schematic diagram of first data and second data according to an embodiment of the present application; [Figure 4] FIG. 2 is another schematic diagram of the first data and the second data according to an embodiment of the present application; [Figure 5] FIG. 1 is a schematic diagram of a process for obtaining at least one channel of second data according to an embodiment of the present application. [Figure 6] FIG. 10 is a schematic diagram of another process for obtaining at least one channel of second data according to an embodiment of the present application. [Figure 7] FIG. 2 is a schematic diagram of a process for marking error code blocks according to an embodiment of the present application; [Figure 8] FIG. 10 is a schematic diagram of another process for marking error code blocks according to an embodiment of the present application; [Figure 9] FIG. 10 is a schematic diagram of another process for marking error code blocks according to an embodiment of the present application; [Figure 10] FIG. 10 is a schematic diagram of another process for marking error code blocks according to an embodiment of the present application; [Figure 11] FIG. 10 is a schematic diagram of a process of joining to third data according to an embodiment of the present application. [Figure 12] FIG. 2 is another schematic diagram of the first data and the second data according to an embodiment of the present application; [Figure 13] FIG. 2 is another schematic diagram of the first data and the second data according to an embodiment of the present application; [Figure 14] 1 is a schematic diagram of an implementation environment of an application scenario according to an embodiment of the present application; [Figure 15] FIG. 2 is a schematic diagram of an implementation environment of another application scenario according to an embodiment of the present application. [Figure 16] FIG. 2 is a schematic diagram of an implementation environment of another application scenario according to an embodiment of the present application. [Figure 17] FIG. 2 is a schematic diagram of an implementation environment of another application scenario according to an embodiment of the present application. [Figure 18] 4 is a flowchart of another data transmission method according to an embodiment of the present application. [Figure 19] 1 is a schematic diagram of the structure of a data transmission device according to an embodiment of the present application; [Figure 20] FIG. 10 is a schematic diagram of the structure of another data transmission device according to an embodiment of the present application; [Figure 21] FIG. 10 is a schematic diagram of the structure of another data transmitting device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0072] The terms used in the implementation of this application are only used to describe the embodiments of this application and are not intended to limit the application. Hereinafter, the embodiments of this application will be described with reference to the accompanying drawings.

[0073] In the field of communications technology, the demand for data transmission is constantly increasing, leading to an increasing demand for higher transmission speeds, which is becoming increasingly difficult to meet with current transmission speeds. For example, in scenarios requiring low latency transmission, such as data centers, it is becoming increasingly difficult to meet the latency requirements with 200 Gigabit Ethernet (GE) / 400 GE, and higher transmission speeds, such as 800 GE / 1.6 Terabit Ethernet (TE), are required for data transmission.

[0074] In this case, an embodiment of the present application provides a data transmission method. In this method, at least one channel of first data is converted to obtain at least one channel of second data. The sum of the speeds of the at least one channel of second data is equal to or greater than the sum of the speeds of the at least one channel of first data. In this way, data transmission can be performed at a high speed. The method provided in the embodiment of the present application is applicable to forward error correction (FEC) architectures such as end-to-end FEC architecture, segment-by-segment architecture, and concatenated FEC architecture. In addition, for the segment-by-segment FEC architecture and concatenated FEC architecture, the method of the embodiment of the present application can reuse existing modules to reduce optical fiber, module, and component overhead.

[0075] FIG. 1 illustrates an implementation scenario of a data transmission method according to an embodiment of the present application. This implementation scenario includes multiple modules, which can exchange information with each other to perform data transmission. As shown in FIG. 1, data transmission can be performed between a first module 101 and a second module 102, and between the first module 101 and a third module 103. It should be noted that the implementation scenario illustrated in FIG. 1 can include N modules, where N is a positive integer greater than or equal to 2. In FIG. 1, only an example in which the number of modules is 3 is used for explanation. In addition, these modules can be located in the same chip or in separate chips.

[0076] Referring to the implementation scenario shown in FIG. 1, the data transmission method provided in the embodiment of the present application is shown in FIG. 2, which includes but is not limited to S201-S203.

[0077] S201: A first module obtains at least one channel of first data, where the first data is data encoded based on a first FEC code.

[0078] The speed of the first data is not limited in this embodiment of the present application. In some embodiments, the speed of the first data is any one of 50 gigabits per second (Gb / s), 100 Gb / s, 200 Gb / s, 400 Gb / s, 800 Gb / s, 1.6 terabits per second (Tb / s), 3.2 Tb / s, 6.4 Tb / s, or another non-standard speed. For example, when there are multiple channels of first data, the speeds of the first data of the multiple channels may be the same or different. For example, as shown in FIG. 3, the first module obtains four channels of first data, and the speeds of the first data of the four channels are all 200GE. In another example, as shown in FIG. 4, the first module obtains four channels of first data, and the speeds of the first data of the four channels are 100GE, 100GE, 200GE, and 400GE, respectively.

[0079] In addition, the first data of at least one channel may be encoded based on the same or different first FEC codes. The first FEC codes are not limited to this embodiment of the present application. For example, the first FEC code may be any one of a Reed-Solomon (RS) code, a Bose-Chaudhuri-Hocquenghem (BCH) code, a fire code, a turbo code, a turbo product code (TPC), a staircase code, and a low-density parity-check (LDPC) code.

[0080] The manner in which the first module obtains the at least one channel of first data is not limited in this embodiment of the present application. For example, the first module and the second module can perform data transmission, and the first module receives the at least one channel of first data transmitted by the second module. For example, the first module is disposed in a first chip, and the second module is disposed in a second chip. The first module receiving the at least one channel of first data transmitted by the second module includes, but is not limited to, the first module receiving the first data transmitted by the second module through a channel of an attachment unit interface (AUI).

[0081] In addition to encoding using the first FEC code, other processing may be further performed on the first data. The processing manner of other processing performed on the first data in addition to encoding using the first FEC code is not limited to this embodiment of the present application. For example, the first data is data that is encoded based on the first FEC code and distributed using a physical medium attachment sublayer (PMA), or the first data is data that is encoded based on the first FEC code and undergoes interleaving processing and PMA distribution, etc.

[0082] S202: The first module converts the first data of at least one channel to obtain second data of at least one channel, and a sum of the speeds of the second data of the at least one channel is greater than or equal to a sum of the speeds of the first data of the at least one channel.

[0083] The speed of the second data is not limited to this embodiment of the present application. To transmit data at a higher speed, the sum of the speeds of the second data after conversion is equal to or greater than the sum of the speeds of the first data before conversion. In other words, the sum of the speeds of all the first data before conversion is equal to or less than the sum of the speeds of all the second data after conversion. In some embodiments, the speed of the second data is any one of 400 Gb / s, 800 Gb / s, 1.6 Tb / s, 3.2 Tb / s, 6.4 Tb / s, or another non-standard speed. For example, if there are multiple channels of second data, the speeds of the second data for the multiple channels may be the same or different.

[0084] For example, the first module converting at least one channel of first data to obtain at least one channel of second data includes, but is not limited to, the following three cases:

[0085] Case 1: In the case of a segment-by-segment FEC architecture, the first module converting the at least one channel of first data to obtain the at least one channel of second data includes the first module aligning the at least one channel of first data, obtaining a plurality of first codewords based on the alignment result, decoding the plurality of first codewords, and obtaining the at least one channel of second data based on the decoding result.

[0086] For example, the first module aligning the at least one channel of first data includes, but is not limited to, separately aligning the at least one channel of first data. For example, the first module converts each of the at least one channel of first data into at least one channel of first sub-data, and aligns the at least one channel of first sub-data belonging to the same channel of first data.

[0087] In some embodiments, the first data includes an alignment marker (AM), and the AM is used to align the first data of at least one channel. For example, if the first data includes an AM, aligning the first data of at least one channel includes, but is not limited to, AM lock and deskew. The AM lock is used to search for a codeword boundary, specifically, to align the first data of at least one channel. After the codeword boundary is found, deskew may be performed in a manner specified by a standard, for example, in a manner specified in each or future versions of the Institute of Electrical and Electronics Engineers (IEEE) 802.3 standard, to obtain multiple first codewords. In some embodiments, aligning the first data of at least one channel by the first module includes, by the first module, converting the first data of at least one channel into first sub-data of at least one channel and performing AM lock and deskew on the first sub-data of at least one channel. For example, see the AM lock / deskew steps shown in FIGS. 5 and 6 for aligning the first data of at least one channel.

[0088] For example, the alignment result of the first data of at least one channel includes at least one first codeword sequence, and the one first codeword sequence corresponds to the first data of the one channel. For example, if the first data of the at least one channel is non-interleaved data, obtaining the plurality of first codewords based on the alignment result may include, but is not limited to, obtaining the plurality of first codewords based on a code length interval for each first codeword sequence of the at least one first codeword sequence. For example, if the first data of the at least one channel is interleaved data, obtaining the plurality of first codewords based on the alignment result may include, but is not limited to, deinterleaving the alignment result and obtaining the plurality of first codewords based on the deinterleaving result. For example, deinterleaving is performed on each first codeword sequence of the at least one first codeword sequence, and the plurality of first codewords are obtained based on the deinterleaving result. The interleaving method of the first data of the at least one channel is not limited by this application. For example, the interleaving method of the first data of at least one channel includes, but is not limited to, at least one of codeword interleaving and interlane interleaving. When deinterleaving is performed on the aligned result, corresponding deinterleaving is performed according to the interleaving method of the first data of at least one channel. For example, for the step of obtaining multiple first codewords, please refer to the step of obtaining FEC1 (first FEC code) codewords shown in Figures 5 and 6.

[0089] After obtaining the plurality of first codewords, the first module decodes the plurality of first codewords to obtain a decoding result. For example, an FEC1 decoding step is shown in FIGS. 5 and 6. In some embodiments, decoding the plurality of first codewords to obtain a decoding result includes, but is not limited to, decoding the plurality of first codewords to obtain a decoding result and discarding check bits of the plurality of first codewords. In other words, the decoding result may include information bits of the plurality of first codewords but not check bits of the plurality of first codewords. For example, when decoding the plurality of first codewords, the first module decodes the plurality of first codewords based on a first FEC code.

[0090] In some embodiments, obtaining the second data of at least one channel based on the decoding result includes, but is not limited to, S1-1 and S1-2.

[0091] S1-1: Encode the decoding result based on a second FEC code to obtain a plurality of second codewords.

[0092] The second FEC code is not limited in this embodiment of the present application. For example, the second FEC code may be any one of an RS code, a BCH code, a Fire code, a Turbo code, a Turbo product code, a Staircase code, or an LDPC code. For example, when the decoding results include decoding results obtained separately based on the first data of each channel and the decoding results are encoded based on the second FEC code, the decoding results obtained based on different first data may be encoded based on the same second FEC code or different second FEC codes. This is not limited in this embodiment of the present application.

[0093] In some embodiments, when the first data includes an AM, encoding the decoding result based on the second FEC code to obtain a plurality of second codewords includes: deleting the AM in the decoding result to obtain a plurality of second codewords; and encoding the decoding result obtained by deleting the AM based on the second FEC code. The manner of deleting the AM in the decoding result is not limited to this embodiment of the present application. For example, when the codeword boundary is obtained by AM locking, the position of the AM can be obtained, and the AM can be deleted based on the position of the AM.

[0094] In some embodiments, obtaining at least one channel of second data based on the decoding result includes marking erroneous code blocks in a plurality of code blocks included in the decoding result and obtaining at least one channel of second data based on the marked decoding result. In one possible implementation, a plurality of code blocks included in the decoding result are inverse transcoded, erroneous code blocks in the plurality of code blocks obtained by the inverse transcoding are marked, and at least one channel of second data is obtained based on the plurality of code blocks marked with the erroneous code blocks. For example, as shown in Figures 7 and 8, the decoding result includes n 257-bit code block streams. The plurality of 257-bit code block streams are inverse transcoded to obtain n 66-bit code block streams, erroneous code blocks in the n 66-bit code block streams are marked, and at least one channel of second data is obtained based on the n 66-bit code block streams marked with the erroneous code blocks.

[0095] In another possible implementation, a plurality of code blocks included in the decoded result are inverse transcoded, erroneous code blocks in the plurality of code blocks obtained by the inverse transcoding are marked, and the plurality of code blocks marked with the erroneous code blocks are transcoded to obtain at least one channel of second data based on the plurality of code blocks obtained by the transcoding. For example, as shown in Figures 9 and 10, the decoded result includes n 257-bit (bit) code block streams. The n 257-bit (bit) code block streams are inverse transcoded to obtain n 66-bit code block streams, erroneous code blocks in the n 66-bit code block streams are marked, and the n 66-bit code block streams marked with the erroneous code blocks are transcoded to obtain n 257-bit code block streams, and at least one channel of second data is obtained based on the n 257-bit code block streams.

[0096] Optionally, the operation of marking the error code block may be performed based on the decoding result obtained by deleting the AM. Specifically, after the AM in the decoding result is deleted, the error code block in the decoding result obtained by deleting the AM is marked, and at least one channel of second data is obtained based on the decoding result obtained by deleting the AM and marked with the error code block. The error code block is marked to deal with error codes caused by AUI transmission, system noise, etc.

[0097] For example, encoding the decoding result obtained by removing AM based on the second FEC code to obtain multiple second codewords includes, but is not limited to, the following two methods:

[0098] Method 1 for obtaining multiple second code words: To obtain multiple second code words, the decoding results obtained by removing AM are combined with the third data of one channel in a sequential transmission method, and the third data of one channel is encoded.

[0099] The decoding results obtained by removing the AM are combined with the third data of one channel in a sequential transmission manner, so that the decoding results obtained by removing the AM based on the first data of each channel included in the third data may appear periodically. For example, the decoding results obtained by removing the AM include n 257-bit code block streams, and since the n 257-bit code block streams are sequentially transmitted, data belonging to the n 257-bit code block streams and included in the third data of one channel obtained by combining appear periodically. The sequential transmission granularity is not limited in this embodiment of the present application and includes, but is not limited to, 5440-bit, 5140-bit, 257-bit, 66-bit, 10-bit, 2-bit, or 1-bit.

[0100] For example, if the decoding result obtained by removing AM includes decoding results obtained by removing AM and corresponding to first data of multiple channels, the decoding results obtained by removing AM and corresponding to the first data of each channel are sequentially transmitted, and the decoding results are combined with the third data of one channel. For example, the decoding result obtained by removing AM includes four code block streams, namely, code block stream A, code block stream B, code block stream C, and code block stream D. Code block stream A includes code blocks A.1, A.2, A.3, A.4, A.5, A.6, A.7, etc. Code block stream B includes code blocks B.1, B.2, B.3, B.4, B.5, B.6, B.7, etc. Code block stream C includes code blocks C.1, C.2, C.3, C.4, C.5, C.6, C.7, etc. Code block stream D includes code blocks D.1, D.2, D.3, D.4, D.5, D.6, D.7, etc. In this case, in some embodiments, when the decoding results obtained by removing AM are combined with third data of one channel in a sequential transmission manner, the state of the code blocks in each code block stream included in the third data of the channel is shown in (a) of Figure 11, and the arrangement of the code blocks included in the third data is A.1, B.1, C.1, D.1, A.2, B.2, C.2, D.2, A.3, etc.

[0101] In some embodiments, combining the decoded result obtained by removing the AM with one channel of third data in a sequential transmission manner includes, but is not limited to, combining the decoded result obtained by removing the AM with one channel of third data at a reference rate in a sequential transmission manner. For example, if the total rate of the obtained first data is less than the reference rate, the decoded result obtained by removing the AM and the first reference data are combined with one channel of third data at a reference rate. Take an example in which the total rate of the obtained first data is 400GE and the reference rate is 800GE. In this case, the decoded result obtained by removing the AM and the 400GE first reference data are combined with one channel of 800GE third data. The first reference data may be idle data and may be set based on an application scenario. The content of the first reference data is not limited in this embodiment of the present application. The reference rate may be set based on experience or practical requirements. This is not limited in this embodiment of the present application. The manner in which the decoded result obtained by removing the AM and the first reference data are combined with one channel of third data at a reference rate is also not limited in this embodiment of the present application. For example, the decoding result obtained by removing the AM and the first reference data are combined with third data of one channel at a reference rate in a sequential transmission manner, or the decoding result obtained by removing the AM is combined, and the combined data and the first reference data are combined with third data of one channel at a reference rate in a sequential transmission manner.

[0102] In some embodiments, when the decoding results obtained by removing AMs include decoding results obtained by removing AMs and corresponding to first data of multiple channels, combining the decoding results obtained by removing AMs with third data of one channel at a reference rate in a sequential transmission manner includes sequentially transmitting the decoding results obtained by removing AMs and padded data blocks corresponding to the first data of each channel, and combining the decoding results and the padded data blocks with the third data of one channel. Continuing with the example in which the decoding results obtained by removing AMs include code block stream A, code block stream B, code block stream C, and code block stream D, the padded data blocks may be meaningless data, for example, pseudo-random binary sequence (PRBS) data, or may be meaningful data. The contents of the padded data blocks are not limited in this embodiment of the present application and may be flexibly set based on the application scenario. In some embodiments, when the decoded result obtained by removing the AM and the padded data block are combined into the third data of one channel in a sequential transmission manner, the state of the code blocks in each code block stream included in the third data of the channel is shown in (b) of Figure 11, and the arrangement of the code blocks included in the third data is A.1, B.1, C.1, D.1, A.2, padded data block, B.2, C.2, D.2, A.3, etc.

[0103] In some embodiments, combining the decoding result obtained by removing the AM with the third data of one channel in a sequential transmission manner includes, but is not limited to, interleaving the decoding result obtained by removing the AM and combining the interleaved decoding result obtained by removing the AM with the third data of one channel in a sequential transmission manner. The interleaving manner of the decoding result obtained by removing the AM is not limited in this application. For example, for the manner of combining the decoding result obtained by removing the AM with the third data of one channel, see the data interleaving and distribution steps shown in FIG. 5.

[0104] For example, encoding one channel of third data to obtain a plurality of second codewords may include, but is not limited to, performing overall encoding on one channel of third data based on a second FEC code to obtain a plurality of second codewords, or converting one channel of third data into at least two channels of fifth data and individually encoding the at least two channels of fifth data based on the second FEC code to obtain a plurality of second codewords. The rate of the fifth data is less than the rate of the third data. For example, the third data may be one channel of 800GE data, and overall encoding may be performed on the third data based on the second FEC code to obtain a plurality of second codewords. Alternatively, the third data may be converted into two channels of 400GE fifth data, and the two channels of fifth data may be individually encoded based on the second FEC code to obtain a plurality of second codewords. For example, overall encoding may be used to encode the data to be encoded as one channel of data. The manner of converting one channel of third data into at least two channels of fifth data is not limited by this application. For example, one channel of third data is converted into at least two channels of fifth data in a sequential transmission manner. For the steps of encoding one channel of third data to obtain multiple second codewords, please refer to the FEC2 (second FEC code) encoding steps and processing steps shown in Figure 5.

[0105] The whole coding refers to combining data of multiple channels into data of one channel for coding, or the whole coding is used to encode the data to be coded as data of one channel. Therefore, performing the whole coding on the third data of one channel based on the second FEC code refers to encoding the third data of one channel as data of one channel.

[0106] Method 2 for obtaining multiple second code words: To obtain multiple second code words, the decoding result obtained by deleting AM is converted into at least two channels of third data, and the at least two channels of third data are encoded.

[0107] For example, the rate of the third data may be a reference rate, and the number of channels and the reference rate of the third data may be set based on experience or practical requirements. This is not limited to this embodiment of the present application. In some embodiments, the decoded result obtained by removing the AM is converted into at least two channels of third data in a sequential transmission manner. For example, converting the decoded result obtained by removing the AM into at least two channels of third data includes, but is not limited to, interleaving the decoded result obtained by removing the AM and converting the interleaved decoded result obtained by removing the AM into at least two channels of third data. The interleaving method of the decoded result obtained by removing the AM is not limited to this embodiment. For example, for the method of converting the decoded result obtained by removing the AM into at least two channels of third data, see the data interleaving and distribution steps shown in FIG. 6.

[0108] For example, if the total rate of the first data of at least one channel is less than the total rate of the third data of at least two channels, the decoded result obtained by removing the AM and the second reference data are both converted into third data of at least two channels at the reference rate. For example, the rates of the first data of four channels are 400GE, 400GE, 400GE, and 200GE, and the reference rate is 800GE. The decoded result obtained by removing the AM and the 200GE second reference data are both converted into third data of two channels at 800GE. In another example, the rate of the first data of one channel is 1.6TE, and the reference rate is 800GE. The decoded result obtained by removing the AM and the 1.6TE second reference data are both converted into third data of four channels at 800GE. The second reference data may be idle data and may be set based on the application scenario. The content of the second reference data is not limited in this embodiment of the present application. For example, the second reference data may include multiple padded data blocks. The state of the padded data block included in each of the at least two channels of third data is not limited in this embodiment of the present application.

[0109] For example, if the sum of the rates of the first data of at least one channel is equal to the sum of the rates of the third data of at least two channels, the decoded result obtained by deleting the AM is converted into the third data of at least two channels. For example, as shown in Figure 12, the rate of the first data of four channels is all 400GE, and the decoded result obtained by deleting the AM is converted into the third data of two channels with a rate of 800GE. In another example, as shown in Figure 13, the rate of the first data of one channel is 1.6TE, and the decoded result obtained by deleting the AM is converted into the third data of two channels with a rate of 800GE.

[0110] In some embodiments, when the number of channels of the first data is multiple, for any one of at least two channels of third data, the third data of any one channel may include only a decoding result obtained by removing AMs and which is a part of the first data, or may include a decoding result obtained by removing AMs and which is the first data of each channel. Continuing with the example where the decoding results obtained by removing AMs include code block stream A, code block stream B, code block stream C, and code block stream D. In some embodiments, when the decoding results obtained by removing AMs are combined into two channels of third data in a sequential transmission manner, the states of the code blocks in each code block stream included in the two channels of third data are shown in (c) of FIG. The sequence of code blocks included in the third data of one channel is A.1, C.1, A.2, C.2, A.3, C.3, A.4, C.4, A.5, etc., and the sequence of code blocks included in the third data of the other channel is B.1, D.1, B.2, D.2, B.3, D.3, B.4, D.4, B.5, etc. Note that (c) of FIG. 11 is merely an example in which code block stream A and code block stream C are combined into the third data of one channel, and code block stream B and code block stream D are combined into the third data of one channel. However, this is not used to limit the implementation. The third data of each channel can be obtained by aggregating any two code block streams.

[0111] In some other embodiments, when the decoding results obtained by removing AM are combined into the third data of two channels in a sequential transmission manner, the states of the code blocks in each code block stream included in the third data of two channels are as shown in (d) of Figure 11. The sequence of the code blocks included in the third data of one channel is A.1, B.1, C.1, D.1, A.3, B.3, C.3, D.3, C.5, A.5, etc., and the sequence of the code blocks included in the third data of the other channel is A.2, B.2, C.2, D.2, A.4, B.4, C.4, D.4, B.6, etc.

[0112] In addition, in the process of obtaining the third data by combining, the schemes shown in (a), (c), and (d) of FIG. 11 may instead include sequentially transmitting the padded data block and the data to be combined. For a specific process, please refer to the scheme in (b) of FIG. 11. The details will not be repeated one by one here. Optionally, the padded data block does not necessarily need to be transmitted periodically, or may be transmitted at various intervals. For example, one padded data block is transmitted at intervals of a certain number of data, or multiple padded data blocks are inserted at intervals of a certain number of data.

[0113] For example, converting the decoded results obtained by removing AM into at least two channels of third data includes combining the decoded results obtained by removing AM into one channel of fourth data and converting the one channel of fourth data into at least two channels of third data. For example, the four channels of first data obtained are all 400GE data, and the decoded results obtained by removing AM are combined into one channel of 1.6TE fourth data, and the one channel of 1.6TE fourth data is converted into two channels of 800GE third data.

[0114] When the at least two channels of third data are encoded, a whole encoding or individual encoding scheme may be used instead. For example, encoding the at least two channels of third data to obtain a plurality of second codewords includes performing whole encoding on the at least two channels of third data based on a second FEC code to obtain a plurality of second codewords, or individually encoding the at least two channels of third data based on a second FEC code to obtain a plurality of second codewords. For the steps of encoding the at least two channels of third data to obtain a plurality of second codewords, please refer to the FEC2 (second FEC code) encoding steps and processing steps shown in Figure 6.

[0115] In some embodiments, separately encoding at least two channels of third data based on the second FEC code to obtain a plurality of second codewords includes separately performing overall encoding on the at least two channels of third data based on the second FEC code to obtain a plurality of second codewords, or converting each of the at least two channels of third data into at least two channels of sixth data and separately encoding the at least two channels of sixth data based on the second FEC code to obtain a plurality of second codewords. The rate of the sixth data is less than the rate of the third data. The principle of the process of converting each of the at least two channels of third data into at least two channels of sixth data and separately encoding the at least two channels of sixth data based on the second FEC code is the same as the principle of the related process of converting one channel of third data into at least two channels of fifth data and separately encoding the at least two channels of fifth data based on the second FEC code in the above-mentioned method 1 to obtain a plurality of second codewords. Details will not be repeated here. The whole coding refers to combining multiple channels of data into one channel of data for encoding, or the whole coding is used to encode the data to be encoded as one channel of data. Therefore, performing the whole coding on the at least two channels of third data based on the second FEC code refers to encoding all the third data of the at least two channels of third data as one channel of data.

[0116] According to the method provided in this embodiment of the present application, the third data can be coded in various ways to obtain multiple second codewords. Therefore, the transmission scenarios and transmission requirements to which this method can be applied are flexible. In addition, when the number of channels of the third data is multiple channels, the number of channels of the third data and the second FEC code used to code the third data can be flexibly set to be applicable to various transmission scenarios and transmission requirements.

[0117] S1-2: Obtain second data of at least one channel based on a plurality of second code words.

[0118] For example, obtaining at least one channel of second data based on a plurality of second codewords may include, but is not limited to, interleaving the plurality of second codewords and obtaining at least one channel of second data based on the interleaving result. The manner of interleaving the plurality of second codewords is not limited in this embodiment of the present application. For example, at least one of codeword interleaving and interlane interleaving may be performed on the plurality of second codewords.

[0119] Case 2: The first module aligns first data of at least one channel, obtains a plurality of first code words based on the alignment result, and obtains second data of at least one channel based on the plurality of first code words.

[0120] The principle of the method in which the first module aligns at least one channel of first data and obtains multiple first code words based on the alignment result is the same as the principle of the related process of the above-mentioned method 1. Details will not be repeated here.

[0121] For example, obtaining at least one channel of second data based on a plurality of first code words includes combining the plurality of first code words and obtaining at least one channel of second data based on the combining result. For example, combining the plurality of first code words and obtaining at least one channel of second data based on the combining result includes, but is not limited to, the following two ways:

[0122] Combining method 1: A plurality of first code words are combined with one channel of second data in a sequential transmission manner.

[0123] Since the multiple first codewords are sequentially transmitted to the second data of one channel, the multiple first codewords included in the second data and obtained based on the first data of each channel may appear periodically. The principle of the sequentially transmitted method of combining the multiple first codewords to the second data of one channel is the same as the principle of the related process of sequentially transmitting the decoded result obtained by removing AM to the third data of one channel. Details will not be repeated here.

[0124] Combining scheme 2: A plurality of first codewords are combined with at least two channels of second data.

[0125] For example, the principle of the method for combining multiple first codewords into at least two channels of second data is the same as the principle of the related process described above for converting the decoded result obtained by removing AM into at least two channels of third data, and the details will not be repeated here.

[0126] It should be noted that regardless of the aforementioned combining method, the second data may be interleaved data, and the interleaving method is not limited in this embodiment of the present application.

[0127] Case 3: The first module encodes at least one channel of first data based on a second FEC code to obtain a plurality of third codewords, and the first module obtains at least one channel of second data based on the plurality of third codewords.

[0128] For example, the first module encoding the first data of at least one channel based on the second FEC code to obtain multiple third code words includes, but is not limited to, the following two ways:

[0129] Method 1 for obtaining multiple third code words: To obtain multiple third code words, at least one channel of first data is combined with one channel of seventh data in a sequential transmission manner, and the one channel of seventh data is encoded.

[0130] In some embodiments, combining at least one channel of first data with one channel of seventh data in a sequential transmission manner includes, but is not limited to, having a first module align the at least one channel of first data, obtain a plurality of first code words based on the alignment result, and combine the plurality of first code words with the one channel of seventh data in a sequential transmission manner. The sequential transmission granularity is not limited in this embodiment of the present application and includes, but is not limited to, 5440-bit, 5140-bit, 257-bit, 66-bit, 10-bit, 2-bit, or 1-bit. The principle of the method in which the first module aligns at least one channel of first data and obtains a plurality of first code words based on the alignment result is the same as the principle of the related process of the above-mentioned method 1. Details will not be repeated here.

[0131] In some embodiments, combining at least one channel of first data into one channel of seventh data in a sequential transmission manner includes, but is not limited to, combining at least one channel of first data into one channel of seventh data at a reference rate in a sequential transmission manner. For example, in response to the fact that the sum of the obtained rates of the first data is less than the reference rate, the at least one channel of first data and the third reference data are combined into one channel of seventh data at the reference rate. Take an example in which the sum of the obtained rates of the first data is 400GE and the reference rate is 800GE. In this case, the at least one channel of first data and the 400GE third reference data are combined into one channel of seventh data at 800GE. The third reference data may be idle data. The content of the third reference data is not limited in this embodiment of the present application. For example, the third reference data may be determined based on an application scenario. Note that the reference rate may be set based on experience or actual requirements. This is not limited in this embodiment of the present application. The manner of combining the first data and the third reference data of at least one channel into the seventh data of one channel at the reference rate is not limited in this embodiment of the present application. For example, the first data and the third reference data of at least one channel are combined into the seventh data of one channel at the reference rate in a sequential transmission manner, or the first data of at least one channel is combined, and the combined data and the third reference data are combined into the seventh data of one channel at the reference rate in a sequential transmission manner.

[0132] For example, encoding one channel of seventh data to obtain a plurality of third codewords may include, but is not limited to, performing overall encoding on one channel of seventh data based on a second FEC code to obtain a plurality of third codewords, or converting one channel of seventh data into at least two channels of ninth data and individually encoding the at least two channels of ninth data based on the second FEC code to obtain a plurality of third codewords. The rate of the ninth data is less than the rate of the seventh data. For example, the seventh data may be one channel of 800GE data, and overall encoding may be performed on the seventh data based on the second FEC code to obtain a plurality of third codewords. Alternatively, the seventh data may be converted into two channels of 400GE ninth data, and the two channels of ninth data may be individually encoded based on the second FEC code to obtain a plurality of third codewords. For example, overall encoding may be used to encode the data to be encoded as one channel of data. The method of converting one channel of seventh data into at least two channels of ninth data is not limited by this application. For example, the seventh data of one channel is converted into the ninth data of at least two channels in a sequential transmission manner.

[0133] Method 2 for obtaining multiple third code words: To obtain multiple third code words, at least one channel of first data is converted into at least two channels of seventh data, and the at least two channels of seventh data are encoded.

[0134] For example, the rate of the seventh data may be a reference rate, and the number of channels and the reference rate of the seventh data may be set based on experience or practical requirements, which is not limited in this embodiment of the present application. In some embodiments, at least one channel of first data is converted into at least two channels of seventh data in a sequential transmission manner.

[0135] For example, if the total rate of the first data of at least one channel is less than the total rate of the seventh data of at least two channels, the first data of at least one channel and the fourth reference data are both converted into seventh data of at least two channels at the reference rate. For example, the rates of the obtained four channels of first data are 400GE, 400GE, 400GE, and 200GE, and the reference rate is 800GE. The first data of at least one channel and the 200GE fourth reference data are both converted into seventh data of two channels of 800GE. In another example, the rate of the obtained one channel of first data is 1.6TE, and the reference rate is 800GE. The first data of at least one channel and the 1.6TE fourth reference data are both converted into seventh data of four channels of 800GE.

[0136] For example, if the sum of the rates of the first data of the at least one channel is equal to the sum of the rates of the seventh data of the at least two channels, the first data of the at least one channel is converted into seventh data of the at least two channels.

[0137] In some embodiments, when the number of channels of the first data is multiple channels, for any one of the at least two channels of the seventh data, the seventh data of any one channel may include only a portion of the data of the first data, or may include data of the first data of each channel.

[0138] For example, converting the at least one channel of first data into at least two channels of seventh data includes combining the at least one channel of first data into one channel of eighth data and converting the one channel of eighth data into at least two channels of seventh data. For example, the obtained four channels of first data are all 400GE data, and the four channels of first data are combined into one channel of 1.6TE eighth data, and the one channel of 1.6TE eighth data is converted into two channels of 800GE seventh data.

[0139] When the seventh data of the at least two channels is encoded, a whole encoding or individual encoding scheme may be used instead. For example, encoding the seventh data of the at least two channels to obtain a plurality of third codewords includes performing whole encoding on the seventh data of the at least two channels based on a second FEC code to obtain a plurality of third codewords, or individually encoding the seventh data of the at least two channels based on the second FEC code to obtain a plurality of third codewords.

[0140] In some embodiments, individually encoding at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords includes individually performing overall encoding on the at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords, or converting each of the at least two channels of seventh data into at least two channels of tenth data and individually encoding the at least two channels of tenth data based on the second FEC code to obtain a plurality of third codewords. The rate of the tenth data is less than the rate of the seventh data. The principle of the process of converting each of the at least two channels of seventh data into at least two channels of tenth data and individually encoding the at least two channels of tenth data based on the second FEC code is the same as the principle of the related process of converting one channel of seventh data into at least two channels of ninth data and individually encoding the at least two channels of ninth data based on the second FEC code in the above-mentioned method 1 to obtain a plurality of third codewords. Details will not be repeated here.

[0141] For example, obtaining at least one channel of second data based on a plurality of third codewords may include, but is not limited to, interleaving the plurality of third codewords and obtaining at least one channel of second data based on the interleaving result. The manner of interleaving the plurality of third codewords is not limited in this embodiment of the present application. For example, at least one of codeword interleaving and interlane interleaving may be performed on the plurality of third codewords.

[0142] According to the method provided in this embodiment of the present application, the seventh data can be coded in various ways to obtain multiple third codewords. Therefore, the transmission scenarios and transmission requirements to which this method can be applied are flexible. In addition, when the number of channels of the seventh data is multiple channels, the number of channels of the seventh data and the second FEC code used to code the seventh data can be flexibly set to be applicable to various transmission scenarios and transmission requirements.

[0143] S203: The first module transmits second data of at least one channel.

[0144] For example, the first module transmitting the second data of at least one channel may include inserting synchronization data into the second data of at least one channel, and transmitting data obtained by inserting the synchronization data, where the synchronization data includes, but is not limited to, at least one of an AM, a coherent digital signal processing (DSP) frame header, a training symbol, or a pilot symbol.

[0145] In some embodiments, the first module's insertion of synchronization data into the at least one channel of second data includes determining an AM corresponding to each channel of the at least one channel of second data and inserting the AM corresponding to each channel of the second data into the second data as synchronization data. For example, the AM corresponding to each channel of second data is obtained by adjusting the AM included in the corresponding first data, and the AM corresponding to each channel of second data is the entire content of the AM included in the corresponding first data, or the AM corresponding to each channel of second data is a partial content of the AM included in the corresponding first data. Adjusting the AM included in the corresponding first data includes, but is not limited to, adjusting the content or length of the AM based on various granularities.

[0146] In some embodiments, when the acquired first data is first data of multiple channels, the AM included in any one of the first data of the multiple channels may be used as the AM corresponding to the second data of any one channel. Note that the AM corresponding to the second data of all channels may be the same or different. For example, the AM of the second data of each channel may be determined based on actual requirements.

[0147] For example, when transmitting at least one channel of second data, the first module may further perform other processing, such as multiplexing (muxing), training sequence (TS) / pilot symbol insertion, frequency adjustment, and optical modulation, on the at least one channel of second data, and then transmit the at least one channel of processed second data. For example, modulation steps and output steps are shown in FIGS. 5 and 6. Regardless of whether the data transmitted by the first module is data obtained by inserting synchronization data or data obtained by other processing, the multiplexing granularity used when the first module transmits data may include, but is not limited to, an FEC codeword, 257-bit, 66-bit, 10-bit, or 1-bit. This is not limited in this embodiment of the present application.

[0148] According to the method provided in this embodiment of the present application, at least one channel of first data is converted to obtain at least one channel of second data, the sum of the speeds of which is equal to or greater than the sum of the speeds of the at least one channel of first data, thereby enabling high-speed data transmission. In addition, the first module can re-encode the first data obtained by encoding based on the first FEC code using a second FEC code, and the second data has a higher coding gain, thereby enabling effective error correction of bit-error-caused data when the second data is transmitted over a channel prone to bit errors, thereby improving the quality of data transmission.

[0149] Next, referring to the method steps shown in FIG. 2, the data transmission method provided in this embodiment of the present application will be described using an example in which a first module is located on a first chip and a second module is located on a second chip in the following several scenarios:

[0150] Scenario 1: The first and second chips are used in a segment-by-segment FEC architecture.

[0151] For example, scenario 1 corresponds to case 1 in the embodiment shown in Figure 2. The implementation environment of this scenario can be shown in Figure 14, and the data transmission process is as follows:

[0152] The second chip transmits eight channels of first data to the first chip through the AUI. All of the first data have a media access control (MAC) rate of 100 Gb / s, and the first data are all data encoded based on the RS(544, 514) FEC code. The second chip transmits one channel of first data through one AUI at a transmission rate of 106.25 Gb / s. The first chip includes eight processing units, each configured to process one channel of first data. After receiving the eight channels of first data, the first chip separately performs AM lock on the first data of each channel to align the first data and obtain multiple first codewords. Because the first data are data encoded based on the RS(544, 514) FEC code, the multiple first codewords are codewords encoded based on the RS(544, 514) FEC code. For example, if the first data is data obtained by interleaving, the first chip performs AM lock on the first data to obtain an alignment result, then performs deinterleaving on the alignment result, and obtains multiple first codewords based on the deinterleaving. After obtaining the multiple first codewords, the first chip decodes the multiple first codewords. In one possible implementation, the first chip interleaves the decoded result and obtains second data of at least one channel based on the interleaved decoded result. After obtaining the decoded result, the first chip deletes the AM in the decoded result. The AM can be used to determine an AM corresponding to each of the second data of at least one channel. Note that the first chip may perform processing on the first data of all channels simultaneously, or may perform processing on the first data of one channel and then perform processing on the first data of another channel. This is not limited to this embodiment of the present application.

[0153] Furthermore, the first chip performs data combining based on the decoding results obtained by removing the AM. For example, the decoding results obtained by removing the AM are combined into one channel of 800GE third data in a sequential transmission manner, or the decoding results obtained by removing the AM are converted into at least two channels of 800GE third data. The first chip performs data processing on the third data, for example, encoding the third data to obtain multiple second codewords and obtaining at least one channel of second data based on the multiple second codewords.

[0154] Finally, the first chip inserts AM as synchronous data into at least one channel of second data, and executes transmitter (TX) DSP on the data obtained by inserting the synchronous data to obtain 800G coherent light.

[0155] In another possible implementation, the implementation environment of the scenario is shown in Figure 15, and the data transmission process is as follows:

[0156] The second chip transmits one channel of first data to the first chip through the AUI. The first data has a MAC rate of 1.6 Tb / s and is interleaved and coded using a 2x RS(544, 514) FEC code. The second chip transmits one channel of first data through 16 AUIs, with one AUI being used for the first sub-data of the one channel, for a transmission rate of 106.25 Gb / s. After receiving the first data, the first chip performs AM lock / deskew on the first data to align the first data and obtain multiple first codewords. Because the first data is coded based on the RS(544, 514) FEC code, the multiple first codewords are codewords coded based on the RS(544, 514) FEC code. For example, if the first data is data obtained by interleaving, the first chip performs AM lock on the first data to obtain an alignment result, then performs deinterleaving on the alignment result, and obtains multiple first codewords based on the deinterleaving. After obtaining the multiple first codewords, the first chip decodes the multiple first codewords. In one possible implementation, the first chip interleaves the decoding result and obtains at least one channel of second data based on the interleaved decoding result. After obtaining the decoding result, the first chip deletes the AM in the decoding result. The AM can be used to determine an AM corresponding to each of the at least one channel of second data.

[0157] Furthermore, the first chip performs data distribution on the decoding result obtained by removing the AM. For example, the decoding result obtained by removing the AM is converted into two-channel 800GE third data. The first chip performs data processing on the two-channel third data, for example, encoding the two-channel third data to obtain multiple second codewords, and obtaining two-channel second data based on the multiple second codewords. Note that the processing on the two-channel third data may be the same or different.

[0158] The first chip then inserts AM as synchronous data into the two-channel second data and executes TX DSP on the data obtained by inserting the synchronous data to obtain two channels of 800G coherent light. The processing for the two channels of second data may be the same or different. The wavelengths of the resulting two channels of 800G coherent light may be the same or different.

[0159] Scenario 2: The first and second chips are used in an end-to-end FEC architecture.

[0160] For example, scenario 2 corresponds to case 2 in the embodiment shown in Figure 2. The implementation environment of this scenario is shown in Figure 16, and the data transmission process is as follows:

[0161] The second chip transmits eight channels of first data to the first chip through the AUI. The MAC rate of all the first data is 100 Gb / s, and all the first data is data encoded based on the RS(544, 514) FEC code. The second chip transmits one channel of first data through one AUI, with a transmission rate of 106.25 Gb / s. The first chip includes eight processing units, each configured to process one channel of first data. After receiving the eight channels of first data, the first chip separately performs AM lock on the first data of each channel to align the first data and obtain multiple first codewords. Because the first data is data encoded based on the RS(544, 514) FEC code, the multiple first codewords are codewords encoded based on the RS(544, 514) FEC code. For example, if the first data is data obtained by interleaving, the first chip performs AM locking on the first data to obtain an alignment result, and then performs deinterleaving on the alignment result to obtain multiple first codewords based on the deinterleaving. The first chip may perform processing on the first data of all channels simultaneously, or may perform processing on the first data of one channel and then perform processing on the first data of another channel. This is not limited to this embodiment of the present application.

[0162] Furthermore, the first chip performs data combining based on the multiple first codewords. For example, the multiple first codewords are combined into one channel of 800GE second data in a sequential transmission manner, or the multiple first codewords are converted into at least two channels of 800GE second data. For example, the second data may be data that has been subjected to data processing. For example, the second data may be interleaved data. Finally, the first chip performs TX DSP on at least one channel of the second data to obtain 800G coherent light.

[0163] Scenario 3: The first chip and the second chip are used in a concatenated FEC architecture.

[0164] For example, scenario 3 corresponds to case 3 in the embodiment shown in Figure 2. The implementation environment of this scenario is shown in Figure 17, and the data transmission process is as follows:

[0165] The second chip transmits eight channels of first data to the first chip through the AUI. The MAC rate of all the first data is 100 Gb / s, and all the first data is data encoded based on the RS(544, 514) FEC code. The second chip transmits one channel of first data through one AUI, with a transmission rate of 106.25 Gb / s. The first chip includes eight processing units, each configured to process one channel of first data. After receiving the eight channels of first data, the first chip separately performs AM lock on the first data of each channel to align the first data and obtain multiple first codewords. Because the first data is data encoded based on the RS(544, 514) FEC code, the multiple first codewords are codewords encoded based on the RS(544, 514) FEC code. For example, if the first data is data obtained by interleaving, the first chip performs AM locking on the first data to obtain an alignment result, and then performs deinterleaving on the alignment result to obtain multiple first codewords based on the deinterleaving. For example, the first chip may further interleave the obtained multiple first codewords to obtain multiple interleaved first codewords. The first chip may perform processing on the first data of all channels simultaneously, or may perform processing on the first data of one channel and then perform processing on the first data of another channel. This is not limited to this embodiment of the present application.

[0166] Furthermore, the first chip performs data combining based on a plurality of first code words obtained based on the first data of all channels. For example, the plurality of first code words are combined into one channel of 800GE seventh data, or the plurality of first code words are converted into at least two channels of 800GE seventh data. The first chip performs data processing on the seventh data, for example, encoding the seventh data to obtain a plurality of third code words, and obtaining at least one channel of second data based on the plurality of third code words.

[0167] The first chip then performs TX DSP on at least one channel of second data to obtain 800G coherent light.

[0168] Above, the data transmission method has been described using the first module as an example. The following describes the process in which the third module performs data transmission after the first module transmits at least one channel of second data. As shown in Figure 18, the data transmission method includes the following steps:

[0169] S1801: A third module obtains at least one channel of second data, where the at least one channel of second data is data obtained by converting at least one channel of first data, where a sum of the speeds of the at least one channel of second data is greater than or equal to a sum of the speeds of the at least one channel of first data, and where the first data is data encoded based on a first FEC code.

[0170] Referring to the implementation environment shown in Figure 1, the third module obtains at least one channel of second data transmitted by the first module. Referring to the embodiment shown in Figure 2, there are multiple ways for the first module to obtain at least one channel of second data. In this embodiment of the present application, the details will not be repeated one by one here. For details, please refer to the content of the embodiment shown in Figure 2.

[0171] S1802: A third module converts at least one channel of second data to obtain at least one channel of first data.

[0172] Since there are multiple ways for the first module to obtain at least one channel of second data, there are multiple cases of the second data. For various cases of the second data, the third module can perform processing using various methods. For example, if the second data is data encoded based on a second FEC code, the third module decodes the second data based on the second FEC code to obtain decoded data.

[0173] The third module can then further process the decoded data. The manner in which the third module processes the second data is not limited in this embodiment of the present application. For example, the decoded data can be subsequently transmitted to another module. In addition, the third module can be located on a third chip, and the first module can be located on the first chip, and the third module receives at least one channel of second data transmitted by the first module through the AUI.

[0174] According to the method provided in this embodiment of the present application, at least one channel of second data is converted to obtain at least one channel of first data, the sum of which is equal to or less than the sum of the rates of the at least one channel of second data, thereby enabling high-speed data transmission. In addition, the second data may be data encoded based on a first FEC code and a second FEC code, so that the second data can be decoded using the second FEC code, and effective error correction can be performed on data with bit errors when transmitted over a channel prone to bit errors, thereby improving the quality of data transmission.

[0175] An embodiment of the present application further provides a data transmission device. Figure 19 is a schematic diagram of the structure of a data transmission device according to an embodiment of the present application. Based on the following units shown in Figure 19, the data transmission device shown in Figure 19 can perform all or part of the work performed by the first module. It should be understood that the device may include more additional units than those shown, or may omit some units shown in the device. This is not limited in this embodiment of the present application. As shown in Figure 19, the device includes: an acquiring unit 1901 configured to acquire first data of at least one channel, the first data being data encoded based on a first FEC code; a conversion unit 1902 configured to convert the at least one channel of first data to obtain the at least one channel of second data, wherein a sum of the rates of the at least one channel of second data is equal to or greater than a sum of the rates of the at least one channel of first data; a transmitting unit 1903 configured to transmit second data of at least one channel; Includes.

[0176] In one possible implementation, the conversion unit 1902 is configured to align at least one channel of first data, obtain a plurality of first code words based on the alignment result, decode the plurality of first code words, and obtain at least one channel of second data based on the decoding result.

[0177] In one possible implementation, the conversion unit 1902 is configured to encode the decoding result based on a second FEC code to obtain a plurality of second codewords, and to obtain at least one channel of second data based on the plurality of second codewords.

[0178] In one possible implementation, the transform unit 1902 is configured to interleave a plurality of second codewords and obtain second data of at least one channel based on the interleaving result.

[0179] In one possible implementation, the first data includes an alignment indicator AM, and the AM is used to align the first data of at least one channel. The transform unit 1902 is configured to remove the AM in the decoding result to obtain a plurality of second codewords, and to encode the decoding result obtained by removing the AM based on a second FEC code.

[0180] In one possible implementation, the conversion unit 1902 is configured to combine the decoding result obtained by removing the AM with one channel of third data in a sequential transmission manner to obtain multiple second codewords, and encode the one channel of third data, or to convert the decoding result obtained by removing the AM into at least two channels of third data to obtain multiple second codewords, and encode the at least two channels of third data.

[0181] In one possible implementation, the conversion unit 1902 is configured to combine the decoding result obtained by removing the AM into one channel of fourth data, and convert the one channel of fourth data into at least two channels of third data.

[0182] In one possible implementation, the conversion unit 1902 is configured to perform overall encoding on one channel of third data based on the second FEC code to obtain a plurality of second codewords, or to convert one channel of third data into at least two channels of fifth data and individually encode the at least two channels of fifth data based on the second FEC code to obtain a plurality of second codewords, wherein the rate of the fifth data is less than the rate of the third data.

[0183] In one possible implementation, the conversion unit 1902 is configured to perform overall encoding on at least two channels of third data based on the second FEC code to obtain a plurality of second codewords, or to individually encode the at least two channels of third data based on the second FEC code to obtain a plurality of second codewords.

[0184] In one possible implementation, the conversion unit 1902 is configured to individually perform overall encoding on the at least two channels of third data based on the second FEC code to obtain a plurality of second codewords, or to convert each of the at least two channels of third data into at least two channels of sixth data and individually encode the at least two channels of sixth data based on the second FEC code to obtain a plurality of second codewords, where the rate of the sixth data is less than the rate of the third data.

[0185] In one possible implementation, the conversion unit 1902 is configured to mark an error code block in the plurality of code blocks included in the decoding result, and obtain second data of at least one channel based on the marked decoding result.

[0186] In one possible implementation, the conversion unit 1902 is configured to align at least one channel of first data, obtain a plurality of first code words based on the alignment result, and obtain at least one channel of second data based on the plurality of first code words.

[0187] In one possible implementation, the transform unit 1902 is configured to combine a plurality of first codewords and obtain second data of at least one channel based on the combination result.

[0188] In one possible implementation, the conversion unit 1902 is configured to combine multiple first codewords into one channel of second data in a sequential transmission manner, or to combine multiple first codewords into at least two channels of second data.

[0189] In one possible implementation, the transform unit 1902 is configured to deinterleave the alignment result and obtain a plurality of first codewords based on the deinterleaving result.

[0190] In one possible implementation, the conversion unit 1902 is configured to encode at least one channel of first data based on a second FEC code to obtain a plurality of third codewords, and to obtain at least one channel of second data based on the plurality of third codewords.

[0191] In one possible implementation, the transform unit 1902 is configured to interleave a plurality of third codewords and obtain second data of at least one channel based on the interleaving result.

[0192] In one possible implementation, the conversion unit 1902 is configured to combine at least one channel of first data into one channel of seventh data in a sequential transmission manner to obtain a plurality of third code words, and encode the one channel of seventh data, or to convert at least one channel of first data into at least two channels of seventh data to obtain a plurality of third code words, and encode the at least two channels of seventh data.

[0193] In one possible implementation, the conversion unit 1902 is configured to combine at least one channel of first data into one channel of eighth data, and convert the one channel of eighth data into at least two channels of seventh data.

[0194] In one possible implementation, the conversion unit 1902 is configured to perform overall encoding on one channel of seventh data based on the second FEC code to obtain a plurality of third codewords, or to convert one channel of seventh data into at least two channels of ninth data and individually encode the at least two channels of ninth data based on the second FEC code to obtain a plurality of third codewords, where the rate of the ninth data is less than the rate of the seventh data.

[0195] In one possible implementation, the conversion unit 1902 is configured to perform overall encoding on at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords, or to individually encode the at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords.

[0196] In one possible implementation, the conversion unit 1902 is configured to individually perform overall encoding on the at least two channels of seventh data based on the second FEC code to obtain a plurality of third codewords, or to convert each of the at least two channels of seventh data into at least two channels of tenth data and individually encode the at least two channels of tenth data based on the second FEC code to obtain a plurality of third codewords, wherein the rate of the tenth data is less than the rate of the seventh data.

[0197] In one possible implementation, the sending unit 1903 is configured to insert synchronization data into second data of at least one channel, and to send the data obtained by inserting the synchronization data.

[0198] In one possible implementation, the transmitting unit 1903 is configured to determine an AM corresponding to the second data of each channel of the second data of at least one channel, and insert the AM corresponding to the second data of each channel into the second data of each channel as synchronization data.

[0199] In one possible implementation, the AM corresponding to the second data of each channel is obtained by adjusting the AM included in the corresponding first data, and the AM corresponding to the second data of each channel is the entire content of the AM included in the corresponding first data, or the AM corresponding to the second data of each channel is a partial content of the AM included in the corresponding first data.

[0200] Figure 20 is a schematic diagram of the structure of a data transmission device according to an embodiment of the present application. Based on the following units shown in Figure 20, the data transmission device shown in Figure 20 can perform all or part of the work performed by the third module. It should be understood that the device may include more additional units than those shown, or may omit some units shown in the device. This is not limited in this embodiment of the present application. As shown in Figure 20, the device includes: an acquiring unit 2001 configured to acquire at least one channel of second data, the at least one channel of second data being data obtained by converting at least one channel of first data, a sum of the speeds of the at least one channel of second data being equal to or greater than a sum of the speeds of the at least one channel of first data, and the first data being data encoded based on a first forward error correction (FEC) code; a conversion unit 2002 configured to convert at least one channel of second data to obtain at least one channel of first data; Includes.

[0201] It should be understood that when the apparatus provided in Figures 19 and 20 implements the functions of the apparatus, the division into the above-mentioned functional modules is only used as an example for explanation. In actual applications, the above-mentioned functions may be allocated to different functional units for implementation based on requirements. In other words, the internal structure of the device is divided into various functional units to implement all or part of the above-mentioned functions. In addition, the apparatus and method embodiments provided in the above-mentioned embodiments belong to the same concept. For specific implementation processes thereof, please refer to the method embodiments. Details will not be repeated here.

[0202] One embodiment of the present application provides a data transmission device, the device including a processor, coupled to a memory, the memory storing at least one program instruction or code, the at least one program instruction or code being loaded and executed by the processor to enable the data transmission device to perform a method of the aforementioned method embodiments.

[0203] FIG. 21 is a schematic diagram of the structure of a data transmitting device 1100 according to an exemplary embodiment of the present application. The data transmitting device 1100 is a sender / receiver device. The data transmitting device 1100 shown in FIG. 21 is configured to perform operations related to the data transmitting method shown in FIG. 2. The data transmitting device 1100 is, for example, a network device such as a switch or a router, or other devices including a chip-connected mode (such as a server or a PC). The hardware structure of the data transmitting device 1100 includes a communication interface 1101 and a processor 1102. Optionally, the communication interface 1101 and the processor 1102 are connected using a bus 1104. The communication interface 1101 is configured to obtain first data and transmit second data. The processor can store instructions or program codes and call the instructions or program codes to perform functions performed by the first module or functions performed by the third module. Optionally, the data transmitting device 1100 further includes a memory 1103. The memory 1103 stores instructions or program code, and the processor 1102 is configured to invoke the instructions or program code in the memory 1103 to enable the data transmitting device 1100 to perform the associated processing steps of the first module in the aforementioned method embodiments. In a particular embodiment, the data transmitting device 1100 of this embodiment of the present application may include the first module in the aforementioned method embodiments. The processor 1102 in the data transmitting device 1100 reads the instructions or program code in the memory 1103 to enable the data transmitting device 1100 shown in FIG. 21 to perform all or a portion of the work performed by the first module.

[0204] In a particular embodiment, the data transmitting device 1100 of this embodiment of the present application includes the third module in the above-described method embodiment. The processor 1102 in the data transmitting device 1100 reads instructions or program code in the memory 1103 to enable the data transmitting device 1100 shown in FIG. 21 to perform all or part of the work performed by the third module.

[0205] For example, the processor 1102 may be a general-purpose central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits configured to implement the solutions of the present application. For example, the processor 1102 may include an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or another programmable logic device, a transistor logic device, a hardware component, or any combination thereof. The PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processor may implement or execute various logic blocks, modules, and circuits described with reference to the contents disclosed in the embodiments of the present application, or may be a combination of processors that perform computing functions, such as a combination including one or more microprocessors, or a combination of a DSP and a microprocessor.

[0206] Optionally, the data transmitting device 1100 further includes a bus 1104. The bus 1104 is configured to transfer information between components of the data transmitting device 1100. The bus 1104 may be a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The bus 1104 can be categorized as an address bus, a data bus, a control bus, or the like. For ease of representation, FIG. 21 has only one bold line to represent the bus, but this does not imply that there is only one bus or only one type of bus. In addition to being connected using the bus 1104, the components of the data transmitting device 1100 in FIG. 21 may be further connected in other manners. The manner in which the components are connected is not limited in this embodiment of the present application.

[0207] Memory 1103 may be, for example, but is not limited to, read-only memory (ROM) or another type of static storage device capable of storing static information and instructions, random access memory (RAM) or another type of dynamic storage device capable of storing information and instructions, electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or another compact disc storage device, optical disc storage device (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or another magnetic storage device, or any other medium usable to carry or store program code in the form of instructions or data structures and accessible by a computer. For example, memory 1103 may exist independently and be connected to processor 1102 via bus 1104. Alternatively, memory 1103 may be integrated with processor 1102.

[0208] The communication interface 1101 is configured to communicate with another device or a communication network using a device such as a transceiver. The communication network may be an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. The communication interface 1101 may include a wired communication interface and may further include a wireless communication interface. Specifically, the communication interface 1101 may be an Ethernet interface, a fast Ethernet (FE) interface, a gigabit Ethernet (GE) interface, an asynchronous transfer mode (ATM) interface, a wireless local area network (WLAN) interface, a cellular network communication interface, or a combination thereof. The Ethernet interface may be an optical interface, an electrical interface, or a combination thereof. In this embodiment of the present application, the communication interface 1101 may be used by the data transmitting device 1100 to communicate with another device.

[0209] In a specific implementation, in one embodiment, the processor 1102 may include one or more CPUs, each of which may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor, where a processor may be one or more devices, circuits, and / or processing cores configured to process data (e.g., computer program instructions).

[0210] In a specific implementation, in one embodiment, the data transmitting device 1100 may include multiple processors, each of which may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU), where a processor may be one or more devices, circuits, and / or processing cores configured to process data (e.g., computer program instructions).

[0211] In a specific implementation, in one embodiment, the data transmission device 1100 may further include an output device and an input device. The output device communicates with the processor 1102 and can display information in multiple ways. For example, the output device may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device communicates with the processor 1102 and can receive input from a user in multiple ways. For example, the input device may be a mouse, a keyboard, a touchscreen device, or a sensor device.

[0212] In some embodiments, the memory 1103 is configured to store program code that implements the solutions of the present application, and the processor 1102 can execute the program code stored in the memory 1103. In other words, the data transmission device 1100 can implement the data transmission methods provided in the method embodiments by using the processor 1102 and the program code in the memory 1103. The program code may include one or more software modules. Optionally, the processor 1102 may instead store program code or instructions that implement the solutions of the present application.

[0213] In a specific embodiment, the data transmitting device 1100 of this embodiment of the present application may include the first module in the above-mentioned method embodiment. The processor 1102 in the data transmitting device 1100 reads program code in the memory 1103 or program code or instructions stored in the processor 1102 to enable the data transmitting device 1100 shown in FIG. 21 to perform all or part of the work performed by the first module.

[0214] In a specific embodiment, the data transmitting device 1100 of this embodiment of the present application may include the third module in the above-mentioned method embodiment. The processor 1102 in the data transmitting device 1100 reads program code in the memory 1103 or program code or instructions stored in the processor 1102 to enable the data transmitting device 1100 shown in FIG. 21 to perform all or part of the work performed by the third module.

[0215] The data transmitting device 1100 may further correspond to the apparatuses shown in Figures 19 and 20. Each functional unit in the apparatuses shown in Figures 19 and 20 is realized using software in the data transmitting device 1100. In other words, after the processor 1102 in the data transmitting device 1100 reads the program code stored in the memory 1103, the functional units included in the apparatuses shown in Figures 19 and 20 are generated.

[0216] The steps of the data transmission method shown in Figures 2 to 18 are accomplished by integrated logic circuits in hardware within the processor of the data transmission device 1100 or by instructions in the form of software. The steps of the methods disclosed with reference to the embodiments of the present application may be performed and achieved directly using a hardware processor, or may be performed and achieved using a combination of hardware and software modules within the processor. The software modules may be located in a storage medium well-known in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads information in the memory and completes the steps of the aforementioned method in cooperation with the processor hardware. To avoid repetition, the details will not be repeated here.

[0217] An embodiment of the present application further provides a data transmission system, including a first data transmission device and a second data transmission device, wherein the first data transmission device is configured to perform the method performed by the first module shown in FIG. 2, and the second data transmission device is configured to perform the method performed by the third module shown in FIG.

[0218] For the functions of the first data transmitting device and the second data transmitting device in the system, please refer to the related descriptions shown in Figure 2 and Figure 18. The details will not be repeated one by one here.

[0219] It is understood that the processor may be a CPU, or may be another general-purpose processor, a DSP, an ASIC, an FPGA, or another programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, etc. The general-purpose processor may be a microprocessor, any conventional processor, etc. It is noted that the processor may be a processor supporting the advanced reduced instruction set computing machines (advanced RISC machines, ARM) architecture.

[0220] Further, in optional embodiments, the memory may include read-only memory and random access memory and may provide instructions and data to the processor. The memory may further include non-volatile random access memory. For example, the memory may further store information about the device type.

[0221] The memory may be volatile, non-volatile, or both. Non-volatile memory may be ROM, programmable ROM (PROM), erasable programmable read-only memory (EPROM), EEPROM, or flash memory. Volatile memory may be RAM, which acts as an external cache. By way of example and not by way of explanation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink dynamic random access memory (SLDRAM), and direct rambus random access memory (DR RAM).

[0222] There is also provided a computer-readable storage medium that stores at least one program instruction or code that, when loaded and executed by a processor, enables the computer to perform the data transmission methods shown in Figures 2 to 18.

[0223] The present application provides a computer program, which, when executed by a computer, enables the processor or computer to perform the corresponding steps and / or procedures in the aforementioned method embodiments.

[0224] A chip is provided that includes a processor configured to retrieve and execute instructions stored in the memory from the memory so as to enable a device in which the chip is installed to perform the method of the aforementioned aspect.

[0225] Another chip is provided, which includes an input interface, an output interface, a processor, and a memory. The input interface, the output interface, the processor, and the memory are connected to each other through internal connection paths. The processor is configured to execute code in the memory. When the code is executed, the processor is configured to perform the method of the previous aspect.

[0226] A device is provided, the device including the chip of any one of the preceding solutions.

[0227] A device is provided, the device including the first chip of any one of the preceding solutions and / or the third chip of any one of the preceding solutions.

[0228] 14 to 17, the second chip may be a transmitting device, e.g., a physical layer (PHY) chip in a router, switch, or server, and the first chip may be an interface of a receiving device, e.g., a chip in an optical module or a clock data recovery (CDR) / retimer chip. In some embodiments, the first chip may be a transmitting device, e.g., a PHY chip in a router, switch, or server, and the third chip may be an interface of a receiving device, e.g., a chip in an optical module or a CDR / retimer chip. The PHY chip may be a chip disposed on a substrate of a computing device. The chip may be any one or any combination of a CPU, NP, NPU, FPGA, programmable logic controller (PLC), etc.

[0229] In some embodiments, the first chip and the second chip communicate with each other over the AUI. In some embodiments, the third chip and the first chip communicate with each other over the AUI.

[0230] All or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When an embodiment is implemented using software, all or part of the embodiment may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded into a computer and executed, the procedures or functions according to the present application are generated, in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored on a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, radio wave, or microwave) method. The computer-readable storage medium may be any available medium accessible by a computer, or may be a data storage device, such as a server or data center, that integrates one or more available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk drive, or a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), a semiconductor medium (e.g., a solid state disk), or the like.

[0231] The above specific implementations further describe the objectives, technical solutions, and beneficial effects of the present application. It should be understood that the above description is only a specific implementation of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made based on the technical solutions of the present application shall fall within the protection scope of the present application.

[0232] Those skilled in the art can see from the method steps and modules described in the embodiments disclosed herein that the method steps and modules can be implemented by using software, hardware, firmware, or any combination thereof. To clearly explain the compatibility between hardware and software, the steps and configurations of the embodiments are generally described in terms of functions in the preceding description. Whether a function is performed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can implement the described functions using various methods for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0233] Those skilled in the art can understand that all or part of the steps in the above embodiments can be implemented by hardware, or by a program that instructs related hardware. The program can be stored in a computer-readable storage medium. The storage medium can be a read-only memory, a magnetic disk, a compact disk, etc.

[0234] When an embodiment is implemented using software, all or a portion of the embodiment can be implemented in the form of a computer program product. The computer program product includes one or more computer program instructions. In one example, methods according to embodiments of the present application can be described in the context of machine-executable instructions. For example, machine-executable instructions are included in program modules within components for execution on a target real or virtual processor. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., that perform particular tasks or implement particular abstract data structures. In various embodiments, the functionality of the program modules may be combined or divided among the illustrated program modules. Machine-executable instructions for program modules may be executed locally or within distributed devices. In a distributed device, program modules may be located in both local and remote storage media.

[0235] The computer program code used to implement the methods of the embodiments of the present application may be written in one or more programming languages. The computer program code may be provided to a processor of a general-purpose computer, a special-purpose computer, or another programmable data processing apparatus, so that, when executed by the computer or another programmable data processing apparatus, the functions / tasks specified in the flowcharts and / or block diagrams are performed. The program code may be executed entirely on the computer, partially on the computer, as a stand-alone software package, partially on the computer and partially on a remote computer, or entirely on a remote computer or server.

[0236] In the context of embodiments of the present application, computer program code and associated data may be carried on any suitable carrier to enable a device, apparatus, or processor to perform the various types of processes and tasks described above. Examples of carriers include signals, computer-readable media, etc.

[0237] Examples of signals may include electrical signals, optical signals, radio signals, audio signals, or other forms of propagated signals such as carrier waves or infrared signals.

[0238] A machine-readable medium may be any tangible medium that contains or stores a program used by or associated with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More specific examples of machine-readable storage media include electrical connections with one or more wires, a portable computer disk, a hard disk drive, RAM, ROM, erasable programmable read-only memory (EPROM or flash memory), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0239] For convenience of description, it can be clearly understood by those skilled in the art that the detailed working processes of the aforementioned systems, devices and modules should refer to the corresponding processes in the aforementioned method embodiments, and the details will not be repeated here.

[0240] It should be understood that in some embodiments provided in the present application, the disclosed systems, devices, and methods may be implemented in other ways. For example, the described device embodiments are merely examples. For example, the division into modules is merely a logical division of functions, and other division schemes may be used in actual applications. For example, multiple modules or components may be combined or integrated into another system, and some features may be ignored or not implemented. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be indirect couplings or communication connections implemented using some interfaces, devices, or modules, or may be electrical, mechanical, or other forms of connection.

[0241] Modules described as separate parts may or may not be physically separate, and parts shown as modules may or may not be physical modules, specifically, may be located in one place or distributed over multiple network modules. To achieve the objectives of the solutions of the embodiments of the present application, some or all of the modules may be selected based on actual requirements.

[0242] In addition, the functional modules of the embodiments of the present application may be integrated into one processing module, or each module may exist physically alone, or two or more modules may be integrated into one module. The integrated modules described above may be implemented in the form of hardware or in the form of software functional modules.

[0243] When the integrated module is implemented in the form of a software functional module and sold or used as an independent product, the integrated module may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application may essentially be expressed in the form of a software product, or a portion of the technical solution may be expressed in the form of a software product. The computer software product may be stored in a storage medium and include instructions that instruct a computer device (such as a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method described in the embodiments of the present application. The storage medium may include any medium capable of storing program code, such as a USB flash drive, a removable hard disk drive, a ROM, a RAM, a magnetic disk, or an optical disk.

[0244] In this application, terms such as "first" and "second" are used to distinguish between identical or similar items having essentially the same function. It should be understood that there is no logical or chronological dependency between "first," "second," and "nth," and that they do not limit the quantity or order of execution. In the following description, various elements are described using terms such as "first" and "second," but it should also be understood that these elements should not be limited by these terms. These terms are used merely to distinguish one element from another. For example, a first module could be referred to as a second module, and similarly, a second module could be referred to as a first module, without departing from the scope of the various examples described.

[0245] It should be further understood that the sequence numbers of the processes do not mean the execution order in the embodiments of the present application, and the execution order of the processes should be determined based on the functions and internal logic of the processes, and should not be construed as any limitation on the implementation process of the embodiments of the present application.

[0246] In this application, the term "at least one" means one or more, and the term "a plurality of" means two or more. For example, a plurality of second packets means two or more second packets. The terms "system" and "network" may be used interchangeably herein.

[0247] It is to be understood that the terminology used in the description of the various examples herein is intended to describe particular examples only and is not intended to constitute limitations. As used in the description of the various examples and the appended claims, the singular forms "one" ("a" and "an") and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise.

[0248] It is to be further understood that the term "include" (also referred to as "includes," "including," "comprises," and / or "comprising") as used herein specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or components.

[0249] It should be further understood that the term "if" may also be interpreted to mean "when" (or "upon"), "in response to determining," or "in response to detecting." Similarly, the phrases "if it is determined that" or "if (a stated condition or event) is detected" may also be interpreted to mean "when it is determined that," "in response to determining," "when (a stated condition or event) is detected," or "in response to detecting (a stated condition or event)," depending on the context.

[0250] It should be understood that determining B based on A does not mean that B is determined based only on A; B may instead be determined based on A and / or other information.

[0251] It should be understood that references throughout this specification to "one embodiment," "an embodiment," and "a possible implementation" mean that a particular feature, structure, or characteristic associated with an embodiment or implementation is included in at least one embodiment of the present application. Thus, the appearances of "in one embodiment," "in an embodiment," or "in a possible implementation" throughout this specification do not necessarily refer to the same embodiment. Furthermore, these particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. [Explanation of symbols]

[0252] 1. Connection methods, scenarios, and cases 2. Connection methods, scenarios, and cases 3 Scenarios and cases 101 First Module 102 Second Module 103 Third Module 1100 Data Transmission Device 1101 Communication Interface 1102 processor 1103 Memory 1104 Bus 1901 Acquired Units 1902 Conversion Unit 1903 Transmitting Unit 2001 Acquired Units 2002 Conversion Unit

Claims

1. A data transmission method performed by an optical module, comprising: obtaining at least one channel of first data, wherein the at least one channel of first data is data encoded based on a first forward error correction (FEC) code; aligning the first data of the at least one channel; and obtaining a plurality of first code words based on the alignment result; decoding the plurality of first codewords; encoding the decoded first codewords based on a second FEC code to obtain a plurality of second codewords, wherein the first FEC code is different from the second FEC code; obtaining second data for the at least one channel based on the plurality of second codewords, wherein a sum of the rates of the second data for the at least one channel is equal to or greater than a sum of the rates of the first data for the at least one channel; transmitting the second data of the at least one channel; A data transmission method, including:

2. The step of obtaining second data of the at least one channel based on the plurality of second code words includes: interleaving the plurality of second code words; and obtaining the second data of the at least one channel based on the interleaving result; 2. The method of claim 1, comprising:

3. the first data includes an alignment indicator (AM), the AM is used to align the first data of the at least one channel, and the step of encoding the decoded first codewords based on a second FEC code to obtain a plurality of second codewords includes: removing the AM in the decoded first codewords to obtain the second codewords; and encoding the decoded first codewords obtained by removing the AM based on the second FEC code.

2. The method of claim 1, comprising:

4. encoding the decoded first codewords obtained by removing the AM based on the second FEC code to obtain the second codewords, combining the decoded first codewords obtained by removing the AM with one channel of third data in a progressive transmission manner to obtain the plurality of second codewords; and encoding the one channel of third data; or converting the decoded first codewords obtained by removing the AM into at least two channels of third data to obtain the second codewords; and encoding the at least two channels of third data.

4. The method of claim 3, comprising:

5. The step of converting the decoded plurality of first codewords obtained by removing the AM into third data of at least two channels includes: combining the decoded first codewords obtained by removing the AM into one channel of fourth data; and converting the one channel of fourth data into the at least two channels of third data.

5. The method of claim 4, comprising:

6. the step of encoding the at least two channels of the third data to obtain the plurality of second codewords comprises: performing overall coding on the at least two channels of the third data based on the second FEC code to obtain the plurality of second codewords; or separately encoding the third data of the at least two channels based on the second FEC code to obtain the plurality of second codewords.

6. The method of claim 5, comprising:

7. the step of individually encoding the third data of the at least two channels based on the second FEC code to obtain the plurality of second codewords includes: separately performing overall coding on the at least two channels of the third data based on the second FEC code to obtain the plurality of second codewords; or converting each of the at least two channels of the third data into at least two channels of sixth data to obtain the plurality of second codewords; and individually encoding the at least two channels of the sixth data based on the second FEC code, wherein a rate of the sixth data is less than a rate of the third data; 7. The method of claim 6, comprising:

8. The first data of the at least one channel is data obtained by interleaving, and the step of obtaining a plurality of first code words based on the alignment result includes: deinterleaving the alignment result; and obtaining the plurality of first codewords based on the deinterleaving result.

2. The method of claim 1, comprising:

9. The step of transmitting the second data of the at least one channel, inserting synchronization data into the second data of the at least one channel; and transmitting data obtained by inserting the synchronization data.

2. The method of claim 1, comprising:

10. A data transmission method performed by an optical module, comprising: obtaining at least one channel of second data, the at least one channel of second data being data obtained by converting at least one channel of first data, a sum of the rates of the at least one channel of second data being equal to or greater than a sum of the rates of the at least one channel of first data, the first data being data encoded based on a first forward error correction (FEC) code, and the second data being data encoded based on a second FEC code, the first FEC code being different from the second FEC code; aligning the second data of the at least one channel; and obtaining a plurality of second code words based on the alignment result; decoding the plurality of second codewords; encoding the decoded second codewords based on a first FEC code to obtain a plurality of first codewords; obtaining third data of the at least one channel based on the plurality of first code words; A data transmission method, including:

11. A data transmission device, the device being an optical module, comprising one or more processors and a communication interface; the one or more processors obtain at least one channel of first data, the first data being data encoded based on a first forward error correction (FEC) code; aligning the first data of the at least one channel and obtaining a plurality of first code words based on the alignment result; decoding the plurality of first codewords; encoding the decoded first codewords based on a second FEC code to obtain a plurality of second codewords, the first FEC code being different from the second FEC code; obtaining second data of the at least one channel based on the plurality of second code words, wherein a sum of the rates of the second data of the at least one channel is equal to or greater than a sum of the rates of the first data of the at least one channel; It is configured as follows: the communication interface is configured to transmit the second data of the at least one channel; Data transmission device.

12. The apparatus of claim 11 , wherein the one or more processors are configured to interleave the plurality of second codewords and obtain the second data for the at least one channel based on an interleaving result.

13. 12. The apparatus of claim 11, wherein the first data includes an alignment indicator (AM), the AM being used to align the first data of the at least one channel, and the one or more processors are configured to remove the AM in the decoded plurality of first codewords to obtain the plurality of second codewords, and to encode the decoded plurality of first codewords obtained by removing the AM based on the second FEC code.

14. 14. The apparatus of claim 13, wherein the one or more processors are configured to: combine the decoded first codewords obtained by removing the AM with one channel of third data in a progressive transmission manner to obtain the plurality of second codewords, and encode the one channel of third data; or convert the decoded first codewords obtained by removing the AM into at least two channels of third data to obtain the plurality of second codewords, and encode the at least two channels of third data.

15. 15. The apparatus of claim 14, wherein the one or more processors are configured to combine the decoded first codewords obtained by removing the AM into fourth data of one channel, and convert the fourth data of the one channel into the third data of the at least two channels.

16. 15. The apparatus of claim 14, wherein the one or more processors are configured to: perform overall encoding on the at least two channels of the third data based on the second FEC code to obtain the plurality of second codewords; or individually encode the at least two channels of the third data based on the second FEC code to obtain the plurality of second codewords.

17. 17. The apparatus of claim 16, wherein the one or more processors are configured to: individually perform overall encoding on the at least two channels of the third data based on the second FEC code to obtain the plurality of second codewords; or convert each of the at least two channels of the third data into at least two channels of sixth data and individually encode the at least two channels of sixth data based on the second FEC code to obtain the plurality of second codewords, wherein a rate of the sixth data is less than a rate of the third data.

18. The apparatus of claim 11 , wherein the one or more processors are configured to deinterleave the alignment result and obtain the plurality of first codewords based on the deinterleaving result.

19. 12. The apparatus of claim 11, wherein the one or more processors are configured to insert synchronization data into the second data of the at least one channel, and the communication interface is configured to transmit data obtained by inserting the synchronization data.

20. A data transmission device, the device being an optical module and comprising one or more processors; the one or more processors: obtaining at least one channel of second data, the at least one channel of second data being data obtained by converting at least one channel of first data, a sum of the rates of the at least one channel of second data being equal to or greater than a sum of the rates of the at least one channel of first data, the first data being data encoded based on a first forward error correction (FEC) code, the second data being data encoded based on a second FEC code, the first FEC code being different from the second FEC code; aligning the second data of the at least one channel and obtaining a plurality of second code words based on the alignment result; decoding the plurality of second codewords; encoding the decoded second codewords based on a first FEC code to obtain a plurality of first codewords; obtaining third data of the at least one channel based on the plurality of first code words; A data transmission device configured as follows.

Citation Information

Patent Citations

  • A method and apparatus for optical monitor channel processing in an optical network

    CN109257093A

  • A data transmission system having a relay station between a transmitting station and a receiving station

    JP2001515297A

  • Packet relay device and method thereof, packet reception device and method thereof, packet relay program and recording medium recording program, and packet reception program and recording medium recording program

    JP2005012753A

  • Signal quality information notification method and relay communication device

    JP2019220883A

  • Optical Supervisory Channel Processing Method and Apparatus in Optical Network

    US20200153529A1