Data transmission method, apparatus and system
By configuring multiple internal code processing modes and portable mode indications, the problem that existing optical communication systems cannot be applied in multiple application scenarios is solved, and flexible data transmission and adaptability are achieved to meet the delay and error correction of different scenarios. Capacity requirements.
Patent Information
- Application Number
- PCT/CN2024/085620
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-21
- Filing Date
- 2024-04-02
- Publication Date
- 2024-12-26
AI Technical Summary
The existing optical communication system cannot be applied in many application scenarios, especially due to different delay requirements, the existing internal code processing solutions cannot meet the needs of different scenarios.
Provide a data transmission method and system, by configuring multiple internal code processing modes, selecting appropriate internal code processing modes according to different scenarios, and carrying mode indications in the data, supporting the selection and switching of multiple internal code processing modes, including Convolutional interleaving, cyclic shift, internal code encoding and filling processing, etc.
The internal code processing applicable in different optical communication scenarios is realized, the flexibility and adaptability of data transmission are improved, and the appropriate internal code processing mode can be selected according to the needs to meet the requirements of delay and error correction capabilities.
Smart Images

Figure CN2024085620_26122024_PF_FP_ABST
Abstract
Description
Data transmission method, device and system
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on June 21, 2023, with application number 202310748877.8 and application name "A Data Transmission Method, Device and System", the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of optical communication technology, and in particular to a data transmission method, device and system. Background Art
[0004] Driven by 5G, cloud computing, big data, and artificial intelligence, optical communication systems and optical transport networks (OTN) are developing towards large capacity and ultra-high speed. Using forward error correction (FEC) to correct transmitted data can resolve transmission errors and recover the original data sent by the sender from the received data. Optical communication scenarios include short-haul and long-haul scenarios such as artificial intelligence (AI) and high-performance computing (HPC), and different scenarios have different latency requirements. Current optical communication internal code processing solutions are not suitable for a variety of application scenarios.
[0005] Summary of the Invention
[0006] The embodiments of the present application provide a data transmission method, device, and system for providing an internal code processing solution applicable to various application scenarios.
[0007] In the first aspect, an embodiment of the present application provides a data transmission method, which is applied to a first optical communication device. The first optical communication device can be a first optical module, or a first optical communication device including a first optical module and a first host. The first optical module obtains first data that has been encoded by an outer code, and the first data is any data in the data stream to be sent; the first data is subjected to transmitting end inner code processing using a first inner code processing mode to obtain first encoded data, and the first encoded data is output, and the first encoded data carries a first mode indication for indicating the first inner code processing mode, and the transmitting end inner code processing corresponding to the first inner code processing mode includes at least inner code encoding and padding processing. The first inner code processing mode is one of the multiple configured inner code processing modes, and different inner code processing modes in the multiple inner code processing modes have different processing methods.
[0008] Different inner code processing modes may have different processing methods, or different processing delays or performance (error correction capabilities) may be different, or different inner code processing modes may include different types of operations or different operating parameters for the same operation. For example, among multiple inner code processing modes, several inner code processing modes may include inner code encoding. The different inner code processing modes may include different types of operations other than the inner code encoding, or different types of operations other than the inner code encoding, or different operating parameters for the same operation.
[0009] In a possible implementation, before adopting the first inner code processing mode to perform inner code processing on the first data at the transmitting end, the first inner code processing mode may be determined first.
[0010] In the embodiment of the present application, multiple inner code processing modes are configured. The first optical module can select an inner code processing mode from the multiple inner code processing modes according to needs, such as different scenarios, and indicate the inner code processing mode to the receiving end through the data generated during the inner code processing. Therefore, the solution provided by the embodiment of the present application can be applied to various application scenarios.
[0011] In a possible implementation, the first mode indication is carried in a padding sequence of the first encoded data. By adding the mode indication in the padding sequence, no additional resources are occupied and the baud rate of the transmission is not changed.
[0012] In one possible implementation, the padding sequence of the first encoded data carries N copies of the first mode indicator. This can also be understood as carrying N copies of the first mode indicator in the padding sequence of the first encoded data, where N is an integer greater than 1. This can also be understood as repeatedly padding the padding sequence of the first encoded data with N copies of the first mode indicator. By adding multiple copies, decoding accuracy and efficiency can be improved.
[0013] In a possible implementation, at least two of the multiple inner code processing modes satisfy at least one of the following conditions:
[0014] The depth of convolution interleaving in the two inner coding processing modes is different; or,
[0015] Only one of the two inner coding processing modes includes convolutional interleaving; or
[0016] One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or
[0017] One of the two inner code processing modes indicates execution of a first inner code processing, and the other inner code processing mode indicates skipping execution of the first inner code processing; the first inner code processing includes at least inner code encoding and padding processing, and the first inner code processing mode is not an inner code processing mode indicating skipping execution of the first inner code processing.
[0018] As an example, the multiple inner code processing modes include at least two of: a fully coded interleaving mode, a half coded interleaving mode, a convolutional interleaving transparent mode, a cyclic shift transparent mode, an inner code skipping mode, and the like.
[0019] In one possible implementation, the transmitting end inner code processing corresponding to the first inner code processing mode includes at least padding processing and channel interleaving; the padding processing includes adding the first mode indication; wherein the padding processing is located after the channel interleaving; or, the padding processing is located before the channel interleaving, the first data includes data of multiple channels, and when padding processing is performed on the data of the multiple channels before channel interleaving, the first mode indication is added to the data of each channel in the data of the multiple channels.
[0020] It should be noted that if the padding process is located after channel interleaving, and the channel interleaving includes data of multiple channels, the addition of the first mode indication may be performed on each channel.
[0021] In the embodiment of the present application, the second optical communication device on the receiving side may also confirm the selected inner code mode, for example, the second optical communication device on the receiving side may detect the quality of the communication link.
[0022] In a possible embodiment, the method further includes: receiving second encoded data from a second optical communication device, the second encoded data carrying a second mode indication, the second mode indication being used to indicate a second inner code processing mode selected by the second communication device; the link being a communication link between the first optical communication device and the second optical communication device; and performing transmitting end inner code processing on the third data encoded by the outer code in the data stream using the second inner code processing mode. For example, the second communication device may select an inner code processing mode based on the quality of the link. The second inner code processing mode matches the quality of the link detected by the second optical communication device. The adaptability of the adopted inner code processing mode can be improved. In some scenarios, when the transmitting end cannot select a suitable inner code processing mode, the receiving end may select it, thereby increasing the applicable scenarios of the present application.
[0023] In a possible implementation, the method further includes: after receiving the second encoded data from the second optical communication device, performing receiving-end inner code processing on the second encoded data using the second inner code processing mode to obtain second data.
[0024] In a possible implementation, the method further includes:
[0025] After receiving the second encoded data from the second optical communication device, performing receiving-end inner code processing on the second encoded data using the inner code processing mode indicated by the first mode indicator to obtain second data. Exemplarily, the second encoded data carries the first indicator, the first indicator including the first mode indicator indicating the inner code processing mode used before the switching and the second mode indicator indicating the inner code processing mode used after the switching.
[0026] In another possible implementation, the method further includes:
[0027] receiving second encoded data from a second optical communication device, the second encoded data carrying a second indication, the second indication carrying the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first inner code processing mode does not match the quality of the link detected by the second optical communication device; the link being a communication link between the first optical communication device and the second optical communication device;
[0028] According to the switching instruction, performing transmitting-end inner code processing on the third data encoded by the outer code in the data stream using the third inner code processing mode;
[0029] When the switching indication is a first value, the third inner code processing mode is the first inner code processing mode; or when the switching indication is a second value, the third inner code processing mode is an inner code processing mode among the multiple inner code processing modes except the first inner code processing mode.
[0030] In the above manner, the receiving end only notifies the transmitting end whether the inner code processing mode indicated by the current transmitting end is compatible with the current link environment, thereby reducing bit usage.
[0031] In yet another possible implementation, the method further includes:
[0032] receiving second encoded data from a second optical communication device, the second encoded data carrying a second indication, the second mode indication carrying the first mode indication and a switching indication; when the switching indication is a first value, indicating that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, indicating switching to an inner code processing mode having a greater latency or performance (error correction capability) than the first inner code processing mode; and when the switching indication is a third value, indicating switching to an inner code processing mode having a lesser latency or performance (error correction capability) than the first inner code processing mode; the link being a communication link between the first optical communication device and the second optical communication device;
[0033] According to the switching indication, a third inner code processing mode is used to perform transmitting end inner code processing on the third data encoded by the outer code in the data stream; wherein, when the switching indication is a first value, the third inner code processing mode is the same as the first inner code processing mode; or, when the switching indication is a second value, the delay or performance (error correction capability) of the third inner code processing mode is greater than the delay or performance (error correction capability) of the first inner code processing mode; or, when the switching indication is a third value, the delay or performance (error correction capability) of the third inner code processing mode is less than the delay or performance (error correction capability) of the first inner code processing mode.
[0034] In the above method, the receiving end only notifies the transmitting end whether the inner code processing mode indicated by the current transmitting end is compatible with the current link environment and the switching direction. In some scenarios, when multiple inner code processing modes are applicable to the current link environment, the transmitting end can be provided with multiple inner code processing modes as a choice.
[0035] In another possible embodiment, the first encoded data carries a third indication, the third indication includes the first mode indication, the first inner code processing mode indicated by the first mode is the inner code processing mode used in the negotiation process, and the third indication also includes a third mode indication, and the third mode indication is used to indicate the inner code processing mode to be negotiated.
[0036] The method further comprises:
[0037] receiving second encoded data from a second optical communication device, the second encoded data carrying a fourth indication;
[0038] When the inner code processing mode indicated by the third mode indication matches the link quality detected by the second optical communication device, the fourth indication includes the first mode indication and the third mode indication; the inner code processing mode indicated by the third mode indication is used to perform inner code processing on the third data encoded by the outer code in the data stream at the transmitting end; or
[0039] When the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the fourth mode indication; the inner code processing mode indicated by the fourth mode indication matches the quality of the link detected by the second optical communication device; and the inner code processing mode indicated by the fourth mode indication is used to perform transmitting end inner code processing on the third data.
[0040] The above solution first uses a non-skipped inner code processing mode to negotiate the inner code processing mode. That is, during the negotiation process, both the sender and receiver use the first mode indication. The inner code processing mode to be negotiated is applicable to scenarios where inner code processing is skipped, as well as scenarios where inner code processing is not skipped, thus increasing the applicable scenarios. In some scenarios, the inner code processing mode used during the negotiation process can be the same as the inner code processing mode to be negotiated, or can be different, depending on the requirements. This is not specifically limited in the present embodiment.
[0041] In another possible implementation, the first coded data carries a third indication, the third indication including the first mode indication, the first inner coding processing mode indicated by the first mode indication being the inner coding processing mode used during the negotiation process, and the third indication further including a third mode indication, the third mode indication being used to indicate the inner coding processing mode to be negotiated. The third mode indication may be the inner coding processing mode to be adopted to be (or in the future).
[0042] In a possible implementation, the method further includes:
[0043] receiving second data from a second optical communication device, the second data carrying a fourth indication, the fourth indication including the first mode indication and a confirmation indication, wherein when the confirmation indication is a first value, it indicates that the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical communication device; and when the confirmation indication is a second value, it indicates that the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device; the link being a communication link between the first optical communication device and the second optical communication device;
[0044] performing transmitting-end inner code processing on the third data using a third inner code processing mode according to the confirmation indication;
[0045] When the confirmation indication is a first value, the third inner code processing mode is the inner code processing mode indicated by the third mode indication; or when the confirmation indication is a second value, the third inner code processing mode is an inner code processing mode among the multiple inner code processing modes except the third inner code processing mode.
[0046] In a possible implementation, the first encoded data further carries a decoding indication for indicating a decoding method adopted in the first inner code processing mode, where the decoding method is hard decoding or soft decoding.
[0047] In some possible scenarios, the first optical communication device and the second optical communication device are both optical modules.
[0048] In other possible scenarios, when the first optical communication device includes a first host and a first optical module, the first host is configured to perform outer code encoding, and the first optical module is configured to perform inner code processing. The method further includes: the first host obtaining fourth data from a data stream to be transmitted; the first host performing outer code encoding on the fourth data to obtain outer-coded fourth data, and transmitting the outer-coded fourth data to the first optical module; the first optical module skipping the transmitting-end inner code processing for the outer-coded fourth data and outputting the outer-coded fourth data. When skipping the transmitting-end inner code processing is employed on the transmitting side, the first host may instruct the first optical module to perform the processing.
[0049] In a possible implementation, the outer code encoded fourth data New Jin Ping Mei obtained by outer code encoding before the first host can carry a fourth mode indication for indicating a fourth inner code processing mode, and the fourth inner code processing mode is used to instruct the first optical module to skip performing the transmitting end inner code processing.
[0050] In a second aspect, an embodiment of the present application provides another data transmission method, applied to a second optical communication device, comprising:
[0051] receiving first encoded data from a first optical communication device, the first encoded data carrying a first mode indication, the first inner code processing mode indicated by the first mode indication being one of a plurality of configured inner code processing modes, different inner code processing modes in the plurality of inner code processing modes having different processing methods;
[0052] The first encoded data is subjected to receiving-end inner code processing using the first inner code processing mode to obtain first data.
[0053] In a possible implementation, the first mode indication is carried in a padding sequence of the first encoded data.
[0054] In one possible implementation, the padding sequence of the first encoded data carries N copies of the first mode indication.
[0055] In a possible implementation, at least two of the multiple inner code processing modes satisfy at least one of the following conditions:
[0056] The depth of convolution interleaving in the two inner coding processing modes is different; or,
[0057] Only one of the two inner coding processing modes includes convolutional interleaving; or
[0058] One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or
[0059] One of the two inner code processing modes indicates execution of a first inner code processing, and the other inner code processing mode indicates skipping execution of the first inner code processing; the first inner code processing includes at least inner code encoding and padding processing, and the first inner code processing mode is not an inner code processing mode indicating skipping execution of the first inner code processing.
[0060] In one possible implementation, the inner code processing at the receiving end corresponding to the first inner code processing mode includes at least de-stuffing and de-channel interleaving; the de-stuffing includes detecting the first mode indication;
[0061] The de-stuffing process is performed before the de-channel interleaving process; or
[0062] The destuffing process is performed after the channel deinterleaving process. During the destuffing process, the first mode indicator is detected from the data of the multiple channels obtained by the channel deinterleaving process.
[0063] In a possible implementation, the method further includes:
[0064] Sending second encoded data to the first optical communication device, the second encoded data carrying a second mode indication, wherein a second inner code processing mode indicated by the second mode indication matches a quality of a link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device;
[0065] receiving third encoded data from the first optical communication device;
[0066] The second inner code processing mode is used to perform receiving-end inner code processing on the third encoded data.
[0067] In a possible implementation, the second encoded data carries a first indication, where the first indication includes the first mode indication for indicating the inner code processing mode used before switching and the second mode indication for indicating the inner code processing mode used after switching.
[0068] In a possible implementation, the method further includes:
[0069] Second encoded data is sent to the first optical communication device, the second encoded data carrying a second indication, the second indication carrying the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first mode indication matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first mode indication does not match the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device.
[0070] In a possible implementation, the method further includes:
[0071] receiving third encoded data from the first optical communication device;
[0072] When the switching indication is the first value, the third coded data carries the first mode indication, and the first inner coding processing mode is continued to be used to perform receiving end inner coding processing on the third coded data; or
[0073] When the switching indication is a second value, the third encoded data carries a mode indication for indicating a third inner code processing mode, and the third inner code processing mode is adopted to perform receiving end inner code processing on the third encoded data. The third inner code processing mode is an inner code processing mode among the multiple inner code processing modes except the first inner code processing mode.
[0074] In a possible implementation, the method further includes:
[0075] Sending second encoded data to the first optical communication device, the second encoded data carrying a second indication, the second indication carrying the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first mode indication matches the quality of the link detected by the second optical communication device; when the switching indication is a third value, it is used to indicate switching to an inner code processing mode having a delay or performance (error correction capability) greater than the first inner code processing mode; when the switching indication is a fourth value, it is used to indicate switching to an inner code processing mode having a delay or performance (error correction capability) less than the first inner code processing mode; the link is a link for communication between the first optical communication device and the second optical communication device.
[0076] In a possible implementation, the method further includes:
[0077] receiving third encoded data from the first optical communication device;
[0078] performing receiving-end inner coding processing on the third encoded data using a third inner coding processing mode according to the switching indication;
[0079] Among them, when the switching indication is a first value, the third inner code processing mode is the same as the first inner code processing mode; or, when the switching indication is a third value, the delay or performance (error correction capability) of the third inner code processing mode is greater than the delay or performance (error correction capability) of the first inner code processing mode; or, when the switching indication is a fourth value, the delay or performance (error correction capability) of the third inner code processing mode is less than the delay or performance (error correction capability) of the first inner code processing mode.
[0080] In a possible implementation, the first coded data carries a third indication, where the third indication includes the first mode indication, where the first inner coding processing mode indicated by the first mode indication is the inner coding processing mode used during the negotiation process, and the third indication further includes a third mode indication, where the third mode indication is used to indicate the inner coding processing mode to be negotiated.
[0081] sending second encoded data to the first optical communication device, wherein the second encoded data carries a fourth indication;
[0082] When the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the third mode indication; or
[0083] When the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the fourth mode indication; the inner code processing mode indicated by the fourth mode indication matches the quality of the link detected by the second optical communication device.
[0084] In a possible implementation, the first coded data carries a third indication, where the third indication includes the first mode indication, where the first inner coding processing mode indicated by the first mode indication is the inner coding processing mode used during the negotiation process, and the third indication further includes a third mode indication, where the third mode indication is used to indicate the inner coding processing mode to be negotiated.
[0085] The method further comprises:
[0086] Second encoded data is sent to the first optical communication device, where the second encoded data is obtained by performing inner code processing on the transmitting end using the first inner code processing mode, and the second encoded data carries a fourth indication, where the fourth indication includes the first mode indication and a confirmation indication, and when the confirmation indication is a first value, it indicates that the third mode indication matches the quality of the link detected by the second optical communication device; when the confirmation indication is a second value, it indicates that the third mode indication does not match the quality of the link detected by the second optical communication device; and the link is a communication link between the first optical communication device and the second optical communication device.
[0087] In a possible implementation, the method further includes:
[0088] The quality of the link between the first optical communication device and the second optical communication device is detected according to the first encoded data, and the inner code processing mode that matches the quality of the link among the multiple inner code processing modes satisfies at least one of the following:
[0089] During inner code decoding of the first encoded data, a first number of non-zero syndromes in syndromes of N1 consecutive codewords in the first encoded data is determined to be within a first number range corresponding to a matching inner code processing mode among the multiple inner code processing modes; the multiple inner code processing modes each correspond to a first number range, and different inner code processing modes correspond to different first number ranges; N1 is an integer greater than 1, or,
[0090] During inner code decoding of the first encoded data, a first ratio of non-zero syndromes in syndromes of N2 consecutive codewords in the first encoded data is determined to be within a first ratio range corresponding to a matched inner code processing mode; the multiple inner code processing modes each correspond to a first ratio range, and different inner code processing modes correspond to different first ratio ranges; N2 is an integer greater than 1, or,
[0091] In the process of performing inner code decoding on N3 consecutive bits in the first encoded data, the number of corrected bits determined is within a second number range corresponding to the matched inner code processing mode, the multiple inner code processing modes respectively correspond to a second number range, and different inner code processing modes correspond to different second number ranges; N3 is an integer greater than 1; or,
[0092] In the process of performing inner code decoding on N4 consecutive bits in the first encoded data, a second ratio of the number of corrected bits to the N3 bits is determined to be within a second ratio range corresponding to the matched inner code processing mode, the multiple inner code processing modes each correspond to a second ratio range, and different inner code processing modes correspond to different second ratio ranges; N4 is an integer greater than 1; or
[0093] During inner code decoding of N5 consecutive code words of the first encoded data, a third number of code words for which error correction fails is determined to be within a third number range corresponding to the matched inner code processing mode; the multiple inner code processing modes each correspond to a third number range, and different inner code processing modes correspond to different third number ranges; N5 is an integer greater than 1, or,
[0094] During inner code decoding of N6 consecutive code words of the first encoded data, a third proportion of code words for which error correction fails is determined to be within a third proportion range corresponding to the matched inner code processing mode; the multiple inner code processing modes each correspond to a third proportion range, and different inner code processing modes correspond to different third proportion ranges; N6 is an integer greater than 1; or
[0095] During inner code decoding and outer code decoding of N7 consecutive code words of the first encoded data, a fourth number of code words for which error correction fails, determined to be within a fourth number range corresponding to the matched inner code processing mode; the plurality of inner code processing modes respectively correspond to a fourth number range, and different inner code processing modes correspond to different fourth number ranges; N7 is an integer greater than 1, or,
[0096] During inner code decoding and outer code decoding of N8 consecutive code words of the first encoded data, a fourth proportion of code words that fail error correction is determined to be within a fourth proportion range corresponding to the matched inner code processing mode; the multiple inner code processing modes each correspond to a fourth proportion range, and different inner code processing modes correspond to different fourth proportion ranges; and N8 is an integer greater than 1.
[0097] In a possible implementation, the first encoded data further carries a decoding indication for indicating a decoding mode adopted in the first inner code processing mode, where the decoding mode is hard decoding or soft decoding;
[0098] The receiving end inner code processing includes inner code decoding, and the inner code decoding adopts the decoding method indicated by the decoding instruction.
[0099] In a possible implementation, both the first optical communication device and the second optical communication device are optical modules.
[0100] In a possible implementation, the method further includes:
[0101] receiving fourth data from the second optical communication device, and detecting a rate of the fourth data;
[0102] When the inner coding processing mode to be adopted is determined according to the rate of the fourth data and indicates skipping the receiving end inner coding processing, the receiving end inner coding processing is skipped for the fourth data.
[0103] In a third aspect, an embodiment of the present application provides a data transmission method, applied to a first optical communication device, wherein the first optical communication device includes a first host and a first optical module, the method comprising:
[0104] Acquire first data through the first host, where the first data is any data in a data stream to be sent;
[0105] The first data is outer-coded by the first host to obtain the outer-coded first data, the outer-coded first data carrying a first mode indication, the first mode indication being used to indicate a first inner-code processing mode adopted by the second optical communication device for communicating with the first optical communication device; the first inner-code processing mode being one of a plurality of configured inner-code processing modes, different inner-code processing modes among the plurality of inner-code processing modes having different processing delays or performances (error correction capabilities);
[0106] The first optical module adopts a second inner code processing mode to perform inner code processing on the first data encoded by the outer code to obtain first encoded data, and outputs the first encoded data to the second optical communication device. The second inner code processing mode is a default inner code processing mode among the multiple inner code processing modes.
[0107] In the above solution, the host indicates the internal code processing mode to be used. The optical module initially performs internal code processing in the default internal code processing mode. The host-indicated internal code processing mode can be either skipping internal code processing or not skipping internal code processing. If not skipping internal code processing, the host-indicated internal code processing mode includes at least internal code encoding and PAD insertion.
[0108] In one possible implementation, the second inner code processing mode includes at least inner code encoding and padding processing. In another possible implementation, the second inner code processing mode may also skip inner code processing.
[0109] In a possible implementation manner, the first mode indication is carried in a padding sequence of the first data encoded by the outer code.
[0110] In a possible implementation, the padding sequence of the outer-code encoded first data carries N copies of the first mode indication, where N is an integer greater than 1.
[0111] In a possible implementation, at least two of the multiple inner code processing modes satisfy at least one of the following conditions:
[0112] The depth of convolution interleaving in the two inner coding processing modes is different; or,
[0113] Only one of the two inner coding processing modes includes convolutional interleaving; or
[0114] One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or
[0115] One of the two inner code processing modes indicates execution of a first inner code processing, and the other inner code processing mode indicates skipping execution of the first inner code processing; the first inner code processing includes at least inner code encoding and padding processing, and the first inner code processing mode is not an inner code processing mode indicating skipping execution of the first inner code processing.
[0116] In a possible implementation, the method further includes:
[0117] receiving, by the first optical module, second encoded data from a second optical communication device;
[0118] performing receiving-end inner code processing on the second encoded data using the first optical module in a first inner code processing mode to obtain second data encoded by an outer code; the second data encoded by the outer code carries a second mode indication, and the inner code processing mode indicated by the second mode indication is different from the first inner code processing mode;
[0119] The first host performs outer code decoding processing on the second data encoded by the outer code to obtain the decoded second data.
[0120] In the above scheme, if the first inner code processing mode is to skip inner code processing, the first optical module adopts the first inner code processing mode to perform inner code processing on the second encoded data at the receiving end to obtain the second data encoded by the outer code. The first optical module can adopt the first inner code processing to skip inner code processing on the second encoded data.
[0121] In a possible implementation, the method further includes:
[0122] The first optical module adopts the inner code processing mode indicated by the second mode indication to perform transmitting end inner code processing on the third data encoded by the outer code in the data stream to obtain third encoded data, and sends the third encoded data.
[0123] In a possible implementation manner, the second data encoded by the outer code carries a first indication, where the first indication includes the first mode indication and the second mode indication.
[0124] In a possible implementation, the method further includes:
[0125] receiving, by the first optical module, second encoded data from a second optical communication device;
[0126] performing receiving-end inner code processing on the second encoded data by the first optical module using a first inner code processing mode to obtain second data encoded by an outer code; the second data encoded by the outer code carries the first mode indication;
[0127] The first host performs outer code decoding processing on the second data encoded with the outer code to obtain the decoded second data.
[0128] In a possible implementation, the second data encoded by the outer code carries a second indication, where the second indication includes the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first inner code processing mode does not match the quality of the link detected by the second optical communication device; the link is a communication link between the first optical communication device and the second optical communication device;
[0129] The method further comprises:
[0130] performing, by the first optical module, a transmitting end inner code processing on the third data encoded by the outer code in the data stream in a third inner code processing mode to obtain third encoded data, and sending the third encoded data;
[0131] When the switching indication is a first value, the third inner code processing mode is the same as the first inner code processing mode; or when the switching indication is a second value, the third inner code processing mode is an inner code processing mode among the multiple inner code processing modes except the first inner code processing mode.
[0132] In a possible implementation, the second data encoded by the outer code carries a third indication, where the second indication includes the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a third value, it indicates switching to an inner code processing mode having a greater latency or performance (error correction capability) than the first inner code processing mode; when the switching indication is a fourth value, it indicates switching to an inner code processing mode having a lesser latency or performance (error correction capability) than the first inner code processing mode; the link is a communication link between the first optical communication device and the second optical communication device;
[0133] The method further comprises:
[0134] performing, by the first optical module, a transmitting end inner code processing on the third data encoded by the outer code in the data stream in a third inner code processing mode according to the switching instruction to obtain third encoded data, and sending the third encoded data;
[0135] When the switching indication is a first value, the third inner code processing mode is the same as the first inner code processing mode; or
[0136] When the switching indication is a third value, the delay or performance (error correction capability) of the third inner code processing mode is greater than the delay or performance (error correction capability) of the first inner code processing mode; or
[0137] When the switching indication is a fourth value, the delay or performance (error correction capability) of the third inner code processing mode is smaller than the delay or performance (error correction capability) of the first inner code processing mode.
[0138] In a fourth aspect, an embodiment of the present application provides a data transmission method, which is applied to a second optical communication device, wherein the second optical communication device includes a second host and a second optical module, and the method includes: receiving first encoded data from the first optical communication device through the second optical module. Performing receiving end inner code processing on the first encoded data using a second inner code processing mode through the second optical module to obtain first data encoded by an outer code. The second inner code processing mode is a default inner code processing mode among the multiple inner code processing modes, and the second inner code processing mode includes at least inner code encoding and padding processing; different inner code processing modes among the multiple inner code processing modes have different processing methods. Performing receiving end outer code decoding on the first data encoded by the outer code through the second host, the first data encoded by the outer code carries a first mode indication, and the first mode indication is used to indicate the first inner code processing mode used by the second optical module; the first inner code processing mode is an inner code processing mode among the multiple configured inner code processing modes.
[0139] In a possible implementation manner, the first mode indication is carried in a padding sequence of the first data encoded by the outer code.
[0140] In a possible implementation, the padding sequence of the outer-code encoded first data carries N copies of the first mode indication, where N is an integer greater than 1.
[0141] In a possible implementation, at least two of the multiple inner code processing modes satisfy at least one of the following conditions:
[0142] The depth of convolution interleaving in the two inner coding processing modes is different; or,
[0143] Only one of the two inner coding processing modes includes convolutional interleaving; or
[0144] One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or
[0145] One of the two inner code processing modes indicates execution of a first inner code processing, and the other inner code processing mode indicates skipping execution of the first inner code processing; the first inner code processing includes at least inner code encoding and padding processing, and the first inner code processing mode is not an inner code processing mode indicating skipping execution of the first inner code processing.
[0146] In a possible implementation, the method further includes:
[0147] performing outer code encoding processing on second data in the data stream by the second host to obtain outer code-encoded second data; the outer code-encoded second data carries the second mode indication, and the inner code processing mode indicated by the second mode indication matches the quality of the link detected by the second host; the link is a communication link between the first optical communication device and the second optical communication device;
[0148] The inner code processing mode indicated by the second mode indication is different from the first inner code processing mode;
[0149] performing transmitting-end inner code processing on the second data encoded by the outer code by the second optical module using the first inner code processing mode to obtain second encoded data;
[0150] The second encoded data is transmitted to the first optical communication device through the second optical module.
[0151] In a possible implementation, the method further includes:
[0152] receiving third encoded data from the first optical communication device through the second optical module;
[0153] The inner code processing mode indicated by the second mode indication is adopted by the second optical module to perform receiving-end inner code processing on the third encoded data.
[0154] In a possible implementation manner, the second data encoded by the outer code carries a first indication, where the first indication includes the first mode indication and the second mode indication.
[0155] In a possible implementation, the method further includes:
[0156] performing outer code encoding on the second data in the data stream by the second host to obtain outer code encoded second data; the outer code encoded second data carries the first mode indication;
[0157] The second optical module adopts the first inner code processing mode to perform transmitting end inner code processing on the second coded data to obtain second coded data, and sends the second coded data to the second optical communication device.
[0158] In a possible implementation, the second data encoded by the outer code carries a second indication, where the second indication includes the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first inner code processing mode does not match the quality of the link detected by the second optical communication device; the link is a communication link between the first optical communication device and the second optical communication device;
[0159] The method further comprises:
[0160] After sending the second coded data, receiving third coded data through the second optical module, and performing receiving-end inner code processing on the third coded data using a third inner code processing mode;
[0161] When the switching indication is a first value, the third inner code processing mode is the same as the first inner code processing mode; or when the switching indication is a second value, the third inner code processing mode is an inner code processing mode among the multiple inner code processing modes except the first inner code processing mode.
[0162] In a possible implementation, the second data encoded by the outer code carries a third indication, where the second indication includes the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a third value, it indicates switching to an inner code processing mode having a greater latency or performance (error correction capability) than the first inner code processing mode; when the switching indication is a fourth value, it indicates switching to an inner code processing mode having a lesser latency or performance (error correction capability) than the first inner code processing mode; the link is a communication link between the first optical communication device and the second optical communication device;
[0163] The method further comprises:
[0164] After sending the second encoded data, receiving third encoded data through the second optical module, and adopting a third inner code processing mode according to the switching instruction to perform transmitting end inner code processing on the third data encoded by the outer code in the data stream;
[0165] Wherein, when the switching indication is a first value, the third inner code processing mode is the same as the first inner code processing mode; or,
[0166] When the switching indication is a third value, the delay or performance (error correction capability) of the third inner code processing mode is greater than the delay or performance (error correction capability) of the first inner code processing mode; or
[0167] When the switching indication is a fourth value, the delay or performance (error correction capability) of the third inner code processing mode is smaller than the delay or performance (error correction capability) of the first inner code processing mode.
[0168] In a possible implementation, the method further includes:
[0169] The quality of the link between the first optical communication device and the second optical communication device is detected according to the first encoded data, and the inner code processing mode that matches the quality of the link among the multiple inner code processing modes satisfies at least one of the following:
[0170] During outer code decoding of M1 consecutive code blocks of the first encoded data, the number of code blocks for which error correction fails is determined to be within a number range corresponding to a matching inner code processing mode; the multiple inner code processing modes each correspond to a number range, and different inner code processing modes correspond to different number ranges; M1 is an integer greater than 1, or,
[0171] During inner code decoding and outer code decoding of M2 consecutive code blocks of the first encoded data, the proportion of code blocks that failed error correction is determined to be within a proportion range corresponding to the matching inner code processing mode; the multiple inner code processing modes each correspond to a proportion range, and different inner code processing modes correspond to different proportion ranges; M2 is an integer greater than 1.
[0172] In a fifth aspect, an embodiment of the present application provides an optical module, comprising a communication unit and an inner code processing unit; the communication unit is used to send and receive data; the inner code processing unit is used to execute the method executed by the optical module in the first aspect or any implementation of the first aspect.
[0173] In a sixth aspect, an embodiment of the present application provides an optical module, comprising a communication unit and an inner code processing unit; the communication unit is used to send and receive data; the inner code processing unit is used to execute the method executed by the optical module in the second aspect or any implementation of the second aspect,
[0174] In the seventh aspect, an embodiment of the present application provides an optical communication device, including a memory and a processor, the memory storing program instructions, and the processor running the program instructions to execute the method provided in the first aspect, the second aspect and any possible implementation of the present application.
[0175] In an eighth aspect, the present application provides a computer-readable storage medium comprising program instructions. When the program instructions are executed on a computer device, the computer device executes the method provided in the first aspect, the second aspect and any possible implementation thereof of the present application.
[0176] In a ninth aspect, the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method provided in the first aspect, the second aspect, and any possible implementation thereof of the present application.
[0177] Based on the implementations provided in the above aspects, this application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS
[0178] FIG1 is a schematic diagram of the structure of an optical communication system provided in an embodiment of the present application;
[0179] FIG2A is a schematic diagram of an inner code processing flow at a transceiver provided in an embodiment of the present application;
[0180] FIG2B is a schematic diagram of another inner code processing flow of a transceiver provided in an embodiment of the present application;
[0181] FIG3 is a flow chart of a data transmission method provided in Example 1 of an embodiment of the present application;
[0182] FIG4 is a schematic diagram of a frame structure provided in an embodiment of the present application;
[0183] FIG5A is a schematic diagram of a mode indication insertion process provided by an embodiment of the present application;
[0184] FIG5B is a schematic diagram of another insertion process of a mode indication provided in an embodiment of the present application;
[0185] FIG6A is a flowchart of a data transmission method provided in Example 2 of an embodiment of the present application;
[0186] FIG6B is a flow chart of another data transmission method provided in Example 2 of an embodiment of the present application;
[0187] FIG6C is a flowchart of another data transmission method provided in Example 2 of an embodiment of the present application;
[0188] FIG7 is a flow chart of a data transmission method provided in Example 3 of an embodiment of the present application;
[0189] FIG8 is a schematic diagram of a second indication structure provided in Example 3 of an embodiment of the present application;
[0190] FIG9A is a flowchart of a data transmission method provided in Example 4 of an embodiment of the present application;
[0191] FIG9B is a flowchart of another data transmission method provided in Example 4 of an embodiment of the present application;
[0192] FIG10 is a flowchart of a data transmission method provided in Example 5 of an embodiment of the present application;
[0193] FIG11 is a flow chart of a data transmission method provided in Example 6 of an embodiment of the present application;
[0194] FIG12 is a flow chart of a data transmission method provided in Example 7 of an embodiment of the present application;
[0195] FIG13 is a schematic structural diagram of an optical module provided in an embodiment of the present application;
[0196] FIG14 is another schematic diagram of the structure of an optical module provided in an embodiment of the present application;
[0197] FIG15 is a schematic structural diagram of an optical communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0198] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0199] In the description of this application, unless otherwise specified, "plurality" means two or more than two. Furthermore, " / " indicates that the associated objects are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application simply describes the association between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exists simultaneously, or B exists alone. A and B can be singular or plural. Furthermore, to facilitate the clear description of the technical solutions of the embodiments of this application, the embodiments of this application use terms such as "first" and "second" to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that terms such as "first" and "second" do not limit the quantity or order of execution, and do not necessarily indicate differences. It should also be noted that, unless otherwise specified, the specific description of certain technical features in one embodiment can also be used to explain the corresponding technical features mentioned in other embodiments. In the embodiments of this application, "data" may also be referred to as "signal."
[0200] Before explaining the embodiments of the present application in detail, the optical communication system used in the embodiments of the present application will be described. FIG1 is a schematic diagram of the structure of the optical communication system. The optical communication system includes multiple optical communication devices. FIG1 takes two optical communication devices as an example, namely a first optical communication device 100 and a second optical communication device 200. The optical communication system may also include a channel transmission medium 300. For example, the channel transmission medium 300 may be an optical fiber. In some embodiments, the first optical communication device 100 and the second optical communication device 200 may serve as a transmitting end and a receiving end to each other. The first optical communication device 100 includes a first host 110 and a first optical module 120. The second optical communication device 200 includes a second host 210 and a second optical module 220. The first host 110 may also be referred to as a first client-side chip (host chip), and the second host 210 may be referred to as a second client-side chip (host chip). The first host 110 and the first optical module 120 may be connected via an attachment unit interface (AUI). The second host 210 and the second optical module 220 may be connected via an AUI. The AUI can also be called an attachment unit interface. The first host 110, the first optical module 120, the channel transmission medium 300, the second host 210 and the second optical module 220 can all support bidirectional transmission or unidirectional transmission, which is not specifically limited in this embodiment of the application.
[0201] After the data stream to be transmitted on the first host 110 undergoes transmitting outer code processing (including at least transmitting outer code encoding) on the first host 110, it can be sent to the first optical module 120 via the attachment unit interface (AUI) / attachment unit interface channel. The first optical module 120 processes the outer code-encoded data stream, and the processing by the first optical module 120 at least includes transmitting inner code processing. The first optical module 120 can send the processed encoded data stream to the second optical communication device 200 via the channel transmission medium 300. After receiving the encoded data stream, the second optical communication device 200 performs inverse processing through the second optical module 220, which at least includes receiving inner code processing. The inverse processing is then sent to the second host 210 via the AUI channel. The second host 210 performs receiving outer code processing (including at least receiving outer code decoding) on the received data stream to complete the data stream transmission process.
[0202] The "inner" in the inner code and the "outer" in the outer code indicate the distance of the subject performing the data operation relative to the channel transmission medium 300. The subject performing the inner code operation is closer to the channel transmission medium, while the subject performing the outer code operation is farther away from the channel transmission medium. In the embodiment of the present application, since data is transmitted from the first host 110, transmitted to the channel transmission medium 300 via the first optical module 120, and then transmitted from the channel transmission medium 300 to the second host 210 via the second optical module 220, the data processed by the first host 110 is farther from the channel transmission medium 300 than the data processed by the first optical module 120, and the data processed by the second host 210 is farther from the channel transmission medium 300 than the data processed by the second optical module 220. Therefore, the data processed by the first host 110 is referred to as data processed by the outer code, the data processed by the first optical module 120 is referred to as data processed by the inner code, the data processed by the second host 210 is referred to as data processed by the outer code, and the data processed by the second optical module 220 is referred to as data processed by the inner code.
[0203] Optical communications applications include data centers, cloud storage, cloud computing, and 5G base station backbone transmission. These applications encompass both short-haul and long-haul scenarios, such as those for artificial intelligence (AI) and high-performance computing (HPC). These scenarios have varying latency requirements. Some have stringent latency requirements, while others tolerate a certain amount of latency. Consequently, current encoding solutions are not adaptable to diverse application scenarios.
[0204] Based on this, the present application implements a signal transmission method, device, and system, providing a solution to adapt to various application scenarios. The present application embodiment provides a selection scheme for inner code processing, configuring multiple inner code processing modes, and selecting the appropriate inner code processing mode according to needs. The present application embodiment provides multiple inner code processing modes, and different inner code processing modes in the multiple inner code processing modes have different processing delays or performance (error correction capabilities).
[0205] Exemplarily, the inner code processing at the transmitting end may include multiple operations, including one or more of: convolutional interleaving, cyclic shift, inner code encoding, channel interleaving, padding (PAD) insertion, etc. The inner code processing at the receiving end may include multiple operations corresponding to the inner code processing at the transmitting end, including: PAD processing, channel deinterleaving, inner code decoding (or inner code decoding), cyclic shift, and deconvolutional interleaving.
[0206] 2A and 2B are schematic diagrams of the inner code processing flow of the transceiver provided in the embodiments of the present application. The difference between FIG2A and FIG2B is that the PAD insertion (PAD processing) is performed at different locations in the inner code processing flow.
[0207] As shown in Figure 2A, when the first optical module 120 performs inner code processing at the transmitting end, it sequentially performs convolution interleaving, cyclic shifting, inner code encoding, channel interleaving, and periodic insertion of PAD sequences on the received data encoded by the outer code. Correspondingly, when the second optical module 220 performs inner code processing at the receiving end, it sequentially performs PAD processing, channel deinterleaving, inner code decoding, cyclic shifting, and deconvolution interleaving. The PAD insertion operation can also be performed before inner code encoding and channel interleaving, as shown in Figure 2B. When the first optical module 120 performs inner code processing at the transmitting end, it sequentially performs convolution interleaving, cyclic shifting, periodic insertion of PAD sequences, inner code encoding, and channel interleaving on the received data encoded by the outer code. Correspondingly, when the second optical module 220 performs inner code processing at the receiving end, it sequentially performs channel deinterleaving, inner code decoding, PAD processing, cyclic shifting, and deconvolution interleaving.
[0208] Generally, the first optical module 120 performs the inner code processing at the transmitting end, or the second optical module performs the inner code processing at the receiving end, which may cause a delay of tens to hundreds of nanoseconds (ns). In delay-sensitive scenarios, the inner code processing flow shown in Figure 2A or Figure 2B may not meet the requirements. In an embodiment of the present application, it is possible to turn off / transmit certain operations, such as turning off / transmitting the convolution interleaving operation. Alternatively, the interleaving depth of the convolution interleaving operation can be reduced to reduce the delay. Based on this, an embodiment of the present application can configure multiple inner code processing modes. Different inner code processing modes have different processing methods, or different inner code processing modes have different processing delays or performance (such as error correction capabilities), or different inner code processing modes include different types of operations or different operating parameters for the same operation. For example, among the multiple inner code processing modes, several inner code processing modes all include inner code encoding. The different inner code processing modes can be different in the categories of operations other than the inner code encoding included in the several inner code processing modes, or different types of operations other than the inner code encoding included in the multiple inner code processing modes or different operating parameters for the same operation.
[0209] The following is an exemplary description of the multiple inner code processing modes. For example, among the multiple inner code processing modes, there are at least two inner code processing modes that satisfy at least one of the following conditions:
[0210] The depths of the convolution interleaving in the two inner code processing modes are different; or, only one of the two inner code processing modes includes convolution interleaving; or, one of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or, one of the two inner code processing modes indicates execution of a first inner code processing, and the other inner code processing mode indicates skipping execution of the first inner code processing; the first inner code processing includes at least inner code encoding and padding processing, and the first inner code processing mode is not an inner code processing mode indicating skipping execution of the first inner code processing.
[0211] As an example, the multiple inner code processing modes include: at least two of: a fully coded interleaving mode, a half coded interleaving mode, a convolutional interleaving transparent mode, a cyclic shift transparent mode, and an inner code skipping mode. The fully coded interleaving mode can be understood as the execution of all steps included in the inner code processing at the transmitting end / receiving end, and the convolutional interleaving depth adopts the maximum supported convolutional interleaving depth (also referred to as the interleaving depth). The half coded interleaving mode can be understood as the execution of all steps included in the inner code processing at the transmitting end / receiving end, but the interleaving depth is less than the interleaving depth adopted by the fully coded interleaving mode. Exemplarily, the interleaving depth of the half coded interleaving mode can be half the interleaving depth of the fully coded interleaving mode, for example, the fully coded interleaving mode adopts a 12-way KP4 interleaving method. It should be noted that the KP4 codeword is RS (544, 514, 15, 10), that is, the KP4 codeword includes 544 symbols, of which 514 symbols are information symbols. One decoding can correct errors of up to 15 symbols, and each symbol includes 10 bits; the interleaving unit can process the received bit stream in a row-column interleaving manner, that is, write the bits in the form of rows and read them out in the form of columns to play an interleaving function. This is an interleaving method that is easier to implement. Of course, other interleaving methods can also be used, and this application does not limit it. RS code represents Reed-Solomon code. In some possible scenarios, the configured inner code processing mode can include multiple half-coded interleaving modes, and different half-coded interleaving modes have different interleaving depths.
[0212] The data transmission scheme in the embodiment of the present application is described below with reference to the accompanying drawings. The embodiment of the present application exemplarily provides multiple data transmission schemes.
[0213] In the first possible transmission mode, the transmitter selects the inner code processing mode, and the optical module adds a mode indication indicating the inner code processing mode to the data during the inner code processing process to indicate it to the receiver. The indicated inner code processing mode includes at least inner code encoding and PAD insertion.
[0214] In the second possible transmission mode, after the transmitter selects an inner code processing mode and indicates it to the receiver, the receiver can determine whether the inner code processing mode selected by the transmitter matches the channel quality based on the detected channel quality.
[0215] In a third possible transmission mode, the inner code processing mode selected by the transmitter is to skip the inner code processing at the transmitter, and the host adds the mode indication to the data during the outer code processing.
[0216] In a fourth possible transmission mode, the transmitting end carries the inner code processing mode adopted by the receiving end during the outer code processing process.
[0217] The above four transmission modes are explained below with reference to the accompanying drawings. The following explanation is given with reference to the optical module at the transmitting end and the optical module at the receiving end. The transmitting end and the receiving end mentioned here are relative. In some scenarios, the device at the transmitting end can also be used as the receiving end, and the device at the receiving end can also be used as the transmitting end. For example, the optical module at the transmitting end can be the first optical module 120 in the first optical communication device, and the optical module at the receiving end can be the second optical module 220 in the second optical communication device. The optical module at the transmitting end can also be the second optical module 220 in the second optical communication device, and the optical module at the receiving end can be the first optical module 120 in the first optical communication device. The following example takes the case where the optical module at the transmitting end can be the first optical module 120 in the first optical communication device, and the optical module at the receiving end can be the second optical module 220 in the second optical communication device. For the convenience of description, the digital identification of each unit will no longer be explained.
[0218] The following describes the first possible transmission method with reference to the accompanying drawings. Example 1 is suitable for scenarios where the first optical communication device and the second optical communication device serve as transceivers, and is also suitable for unidirectional transmission scenarios, where the first optical communication device serves as the transmitter and the second optical communication device serves as the receiver.
[0219] Example 1:
[0220] The solution provided by the embodiment of the present application is described in detail below in conjunction with Figure 3. Referring to Figure 3, it is a flow chart of a data transmission method provided in Example 1 of the embodiment of the present application.
[0221] S301: A first optical module obtains first data encoded by an outer code, where the first data is any data in a data stream to be sent, which can be understood as a data stream to be sent in a first optical communication device.
[0222] At step S302, the first optical module determines a first inner code processing mode. The first inner code processing mode is one of multiple configured inner code processing modes. Different inner code processing modes in the multiple inner code processing modes have different processing methods. For example, the first optical module selects the first inner code processing mode from the multiple inner code processing modes. In some scenarios, step S302 may not be included. For example, the first inner code processing mode may be pre-configured in the first optical module. After the first optical module obtains the first data encoded by the outer code, step S303 is executed.
[0223] S303: The first optical module performs transmitting-end internal code processing on the first data using a first internal code processing mode to obtain first coded data. The first coded data herein can be understood as data that has undergone both internal code processing and external code processing. It should be noted that while the term "first coded data" is used herein to designate the first data that has undergone transmitting-end internal code processing, other naming methods may also be used, and this is not specifically limited in this embodiment of the present application.
[0224] The first encoded data carries a first mode indicator for indicating a first inner code processing mode. The transmitting-end inner code processing corresponding to the first inner code processing mode includes at least inner code encoding and padding processing. The first inner code processing mode can be understood as an inner code processing mode that does not skip the transmitting-end inner code processing. Exemplarily, the first mode indicator can be carried in a padding (PAD) sequence of the first encoded data. It can be understood that when the first optical module performs PAD insertion during the transmitting-end inner code processing, the first mode indicator is inserted into the PAD sequence. The embodiment of the present application does not limit the position of the mode indicator in the PAD sequence. For example, it can be inserted after and immediately adjacent to the synchronization sequence, or inserted into other positions. In some possible scenarios, the PAD sequence of the first encoded data can carry N copies of the first mode indicator. That is, during the PAD insertion process, N copies of the first mode indicator are inserted into the PAD sequence, which can improve the efficiency of pattern recognition at the receiving end. The carrying of N copies of the first mode indicator in the padding sequence of the first encoded data can also be understood as carrying N copies of the first mode indicator in the padding sequence of the first encoded data, where N is an integer greater than 1. It can also be understood that N first mode indications are repeatedly filled in the filling sequence of the first encoded data.
[0225] As an example, take the frame structure (or data structure) of 3264*128bit+384bit as an example, as shown in Figure 4. 384bit is used as a PAD sequence. Each 128bit can be understood as a forward error correction (FEC) code block. The first optical module 110 periodically adds a PAD sequence to the data stream. For example, taking the frame structure shown in Figure 4 as an example, the inner code adopts the (128,120) encoding based on the Hamming codeword, and 384 PAD bits (i.e., PAD sequence) are inserted every 3264 inner code (128,120) codewords (codewords of inner code or inner coderwords). In other embodiments, 1024 PAD bits can also be inserted every 8704 inner code (128,120) codewords. The PAD bits may also include a framing sequence (FS), an alignment marker (AM), a cyclic redundancy checksum (CRC), and the like.
[0226] Since the AM and CRC bits are not sufficient to fill the bandwidth of the PAD sequence, based on this, in an embodiment of the present application, a mode indication is added to the PAD sequence, so that the mode indication does not need to occupy an additional out-of-band signal for transmission, which can provide resource utilization and the data baud rate of the sending end will not change.
[0227] Exemplarily, the first optical module can select an inner code processing mode from a plurality of configured inner code processing modes for configuration. The number of bits (or bit width) occupied by the mode indication corresponding to the inner code processing mode can be configured according to the number of configured inner code processing modes. As an example, the configured inner code processing modes include a fully coded interleaved mode and a convolutional interleaved transparent mode. The values of the mode indications corresponding to the two inner code processing modes can be configured using 1 bit. For example, see Table 1. The correspondence between the values of the mode indications and the inner code processing modes in Table 1 is only an example. For example, 1 can be used to indicate the fully coded interleaved mode, and 0 can be used to indicate the convolutional interleaved transparent mode. The two inner code processing modes can also be configured with a mode indication using 2 bits, for example, see Table 2. The signal ultimately used for channel transmission can use pulse amplitude modulation (PAM) 4 symbols, each symbol consisting of two bits. Therefore, the mode indication can also be represented by two bits. It can be represented by 00,10 as shown in Table 2, that is, the two symbols with a lower bit error rate corresponding to the PAM4 signal in the channel transmission. Of course, any two symbols from {00, 01, 11, 10} may also be used as mode indicators for the two inner code processing modes. As another example, the two configured inner code processing modes may include a fully coded interleaved mode and a half coded interleaved mode. The bit width of the mode indicators corresponding to the two inner code processing modes may be 1 bit or 2 bits, or a larger bit width may also be used. The configuration of the specific corresponding relationships can be referred to the configuration methods of Tables 1 and 2, and will not be repeated here.
[0228] Table 1
[0229] Table 2
[0230] As another example, the configured inner code processing modes include a fully coded interleaved mode, a convolutional interleaved transparent mode, and a half coded interleaved mode. The mode indication corresponding to each of the three inner code processing modes can use a 2-bit bit width, and of course, a higher bit width can also be used, which is not limited in this embodiment of the present application. For example, see Table 3.
[0231] Table 3
[0232] Note that the correspondence between the inner code processing modes and mode indicators in Tables 1-3 above is not unique, but requires a one-to-one correspondence. In addition, the configured inner code processing modes may include more than four, and a mode indicator with a higher bit width may be used. The specific relationships are not listed here.
[0233] S304: The first optical module outputs first encoded data.
[0234] S305: After receiving the first coded data, the second optical module performs receiving-end inner code processing on the first coded data using the first inner code processing mode. After receiving the first coded data, the second optical module may detect the mode of the first coded data, obtain a first mode indication from the PAD sequence, and then perform receiving-end inner code processing on the first coded data according to the first inner code processing mode indicated by the first mode.
[0235] In one possible implementation, the first encoded data may further carry a decoding indicator for indicating a decoding method to be used in the first inner code processing mode, where the decoding method is either hard decoding or soft decoding. Furthermore, when performing inner code decoding on the first encoded data during inner code processing at the receiving end using the first inner code processing mode, inner code decoding may be performed using hard decoding or soft decoding, depending on the decoding indicator. Hard decoding can be understood as performing inner code decoding using hardware. Soft decoding can be understood as performing inner code decoding using a software algorithm. Furthermore, embodiments of the present application may use a mode indicator to indicate both the inner code processing mode and the decoding method to be used in that inner code processing mode. For example, one value of the mode indicator may indicate the use of a fully coded interleaving mode, with hard coding employed in that fully coded interleaving mode, while another value of the mode indicator may indicate the use of a fully coded interleaving mode, with soft coding employed in that fully coded interleaving mode. This embodiment is also applicable to other examples, and these other examples will not be described in detail.
[0236] In some embodiments, when the first encoded data includes multiple (for example, N) copies of the first mode indication, the second optical module can identify the first mode indication through a large data judgment or a weighted average strategy of soft information after successively parsing J copies of the first mode indication from the first encoded data, so as to improve the decoding accuracy of the first mode indication. J is less than or equal to N. Then the second optical module decides whether to perform cyclic shift and convolution interleaving (including determining the depth of convolution interleaving) according to the first inner code processing module indicated by the first mode indication. It should be noted that the inner code processing method of the receiving end corresponds one-to-one to the inner code processing method of the transmitting end. For example, if the transmitting end adopts a fully encoded interleaving mode, the receiving end also adopts a fully decoded interleaving mode. For another example, if the transmitting end skips performing convolution interleaving, the receiving end also skips performing deconvolution interleaving.
[0237] As described above, the addition of a mode indicator can be performed during the PAD addition process. Taking the first mode indicator described above as an example, the transmitting end inner code processing corresponding to the first inner code processing mode includes at least padding and channel interleaving; the padding includes the addition of a first mode indicator for indicating the first inner code processing mode. In one embodiment, the padding can be performed after channel interleaving, as shown in Figure 2A. In another embodiment, the padding can be performed before the channel interleaving, as shown in Figure 2B.
[0238] The insertion process of the mode indication is described below with reference to FIG. 5A and FIG. 5B .
[0239] Referring to FIG5A , the padding process is performed after channel interleaving as an example. For the data stream after inner code encoding and channel interleaving, in conjunction with FIG3 , for the first data in the first data stream. For the first data after outer code encoding, the first inner code processing mode is used to perform the inner code processing at the transmitting end. For example, after channel interleaving, m data streams are obtained, which can also be understood as data streams of m channels, such as m=4. For example, the baud rate of the m data streams is 113.33 GBd. Then, for each data stream, a 384-bit PAD sequence is inserted every 3264 inner code (128,120) codewords, which includes a 360-bit PAD sequence data portion and a 24-bit check portion. In the embodiment of the present application, a mode indication (such as a first mode indication) can be used as padding to any position of other PAD sequence data portions. It can be understood that the PAD sequence in the first encoded data includes a mode indication (i.e., a first mode indication). During the insertion process, N copies (N>=1) of the mode indication can also be inserted into the PAD sequence to improve the efficiency of pattern recognition at the receiving end.
[0240] As shown in Figure 5B, the mode indicator can also be added to each FEC data stream before channel interleaving. After convolution interleaving and cyclic shifting, a mode indicator is inserted into each of the g data streams. During the insertion process, N copies of the mode indicator (N>=1) can also be inserted into the PAD sequence to improve the efficiency of pattern recognition at the receiving end. Since each FEC data stream uses the same data encoding mode, the inserted mode indicator is also the same. After completing PAD, each k stream is grouped together for channel interleaving, ultimately forming m 113.4375GB data streams entering the channel (k=g / m). The PAD insertion interval here is 1024 PAD bits for every 8704 inner code (128, 120) codewords. In this embodiment, the mode indicator bit data is contained in 1024 bits, and no new redundancy is required. Similarly, in this solution, the mode indicator bit data can be filled into the PAD sequence data portion.
[0241] The second possible transmission mode is described below in combination with Example 2 and Example 3. In the second possible transmission mode, there is a return channel between the sending end and the receiving end.
[0242] Example 2:
[0243] 6A-6B , which are flowchart diagrams of a data transmission method according to an embodiment of the present application.
[0244] S601-S605, see S301-S305, which will not be repeated here. In Example 2, it can be understood that the first inner code processing mode indicated by the first mode indication carried in the first encoded data is an inner code processing mode selected by the first optical module. The second optical module can detect whether the current link (or channel) quality matches the inner code processing mode indicated by the first mode indication. For example, the second optical module can detect the quality of the link between the first optical communication device and the second optical communication device based on the first encoded data received from the first optical module.
[0245] Several exemplary methods for detecting link quality are provided below.
[0246] Method 1: Syndrome detection.
[0247] At the receiving end, syndrome detection is performed on a number of consecutive codewords (codewords can also be called code blocks), and the number or ratio of non-zero syndromes is counted. For example, if inner code encoding uses a Hamming code-based encoding method, syndrome detection can be performed on a number of consecutive inner codewords at the receiving end, and the number or ratio of non-zero syndromes can be counted. This number is then compared with a set number or ratio threshold to determine the matching inner code processing mode.
[0248] Taking the first encoded data as an example, during the inner code decoding process of the first encoded data, the second optical module determines a first number of non-zero syndromes in the syndromes of N1 consecutive codewords (i.e., inner code codewords) in the first encoded data. The first number is within a first number range corresponding to a certain inner code processing mode among multiple inner code processing modes, i.e., the certain inner code processing mode matches the quality of the link. In other words, the first number is within a first number range corresponding to the matching inner code processing mode. The multiple inner code processing modes each correspond to a first number range, and different inner code processing modes correspond to different first number ranges; N1 is an integer greater than 1.
[0249] Alternatively, during inner code decoding of the first encoded data, a first ratio of non-zero syndromes in syndromes of N2 consecutive codewords (i.e., inner code codewords) in the first encoded data is determined. The first ratio is within a first ratio range corresponding to a particular inner code processing mode among multiple inner code processing modes, i.e., the particular inner code processing mode matches the link quality. In other words, the first ratio is within a first ratio range corresponding to the matching inner code processing mode; each of the multiple inner code processing modes corresponds to a first ratio range, and different inner code processing modes have different first ratio ranges. N2 is an integer greater than 1.
[0250] Method 2: Detection through bit flipping of inner code decoding.
[0251] At the receiving end, the number or ratio of flipped (or corrected) bits in a number of consecutive codewords (i.e., inner codewords) is detected. For example, if the inner code encoding uses a Hamming code-based encoding method, a number of consecutive inner codes are decoded, and the number or ratio of flipped (corrected) bits during the decoding process is recorded. This number is then compared with a set number or ratio threshold to determine a matching inner code processing mode.
[0252] Taking the first encoded data as an example, when the second optical module performs inner code decoding on N3 consecutive bits in the first encoded data, the number of corrected bits determined is within the second number range corresponding to the matching inner code processing mode, and the multiple inner code processing modes respectively correspond to a second number range, and different inner code processing modes correspond to different second number ranges. N3 is an integer greater than 1. Or,
[0253] During inner code decoding of N4 consecutive bits in the first encoded data by the second optical module, a second ratio of the number of corrected bits to the N3 bits is determined to be within a second ratio range corresponding to the matched inner code processing mode, wherein the plurality of inner code processing modes respectively correspond to a second ratio range, and different inner code processing modes correspond to different second ratio ranges. N4 is an integer greater than 1.
[0254] Method 3: By counting the number or proportion of uncorrectable code words in the inner code.
[0255] At the receiving end, after decoding and verifying a number of consecutive codewords (also known as inner codewords), the number or proportion of codewords whose syndromes remain non-zero (i.e., inner codewords for which error correction failed) is counted. For example, if inner code encoding uses a Hamming code-based encoding scheme, the number or proportion of consecutive inner codewords whose syndromes remain non-zero after inner code decoding is counted and compared with a pre-set number threshold or ratio threshold to determine the inner code processing mode appropriate for the current link quality.
[0256] Taking the decoding of the first encoded data as an example, during the inner code decoding of N5 consecutive code words of the first encoded data, the third number of code words for which error correction fails is determined to be within a third number range corresponding to the matched inner code processing mode; the multiple inner code processing modes each correspond to a third number range, and different inner code processing modes correspond to different third number ranges. N5 is an integer greater than 1. Or,
[0257] During inner code decoding of N6 consecutive codewords of the first encoded data, a third ratio of codewords for which error correction fails (i.e., inner code codewords) is determined to be within a third ratio range corresponding to the matched inner code processing mode; the multiple inner code processing modes each correspond to a third ratio range, and different inner code processing modes correspond to different third ratio ranges. N6 is an integer greater than 1.
[0258] Method 4: Detection by the number or ratio of uncorrectable codewords after outer code decoding.
[0259] After the second optical module completes inner code decoding, deconvolution interleaving and other processes according to the first pattern indication extracted from the PAD sequence, a continuous KP4 codeword data stream can be obtained. The continuous KP4 codewords are decoded in the second optical module, and the uncorrectable codewords are counted and compared with a preset quantity threshold or ratio threshold to determine the inner code processing mode suitable for the current link quality.
[0260] Taking the decoding of the first encoded data as an example, after performing inner code decoding and outer code decoding on N7 consecutive code words of the first encoded data, the fourth number of code words (such as KP4 code words) for which error correction fails is determined to be within a fourth number range corresponding to the matching inner code processing mode; the multiple inner code processing modes each correspond to a fourth number range, and different inner code processing modes correspond to different fourth number ranges. N7 is an integer greater than 1. Or,
[0261] After performing inner code decoding and outer code decoding on N8 consecutive code words of the first encoded data, a fourth proportion of code words (such as KP4 code words) that fail error correction is determined to be within a fourth proportion range corresponding to the matching inner code processing mode; the multiple inner code processing modes each correspond to a fourth proportion range, and different inner code processing modes correspond to different fourth proportion ranges; N8 is an integer greater than 1.
[0262] Furthermore, after detecting the link quality, the second optical module determines a matching inner code processing mode and, for example, feeds back the matching inner code processing mode corresponding to the second mode indication to the first optical module via the return channel.
[0263] S606: The second optical module transmits second coded data to the first optical communication device. The second coded data carries a second mode indicator. The second inner code processing mode indicated by the second mode indicator matches the link quality detected by the second optical module. In Figure 6A, if the second coded data is obtained by performing inner code encoding on the transmitting end using the inner code processing mode indicated by the second mode indicator, then S607a is executed. In Figure 6B, if the second coded data is still obtained by performing inner code encoding on the transmitting end using the inner code processing mode before the switch, then S607b is executed.
[0264] It should be noted that the second mode indication may be the same as or different from the first mode indication. If the second mode indication is the same as the first mode indication, it can be understood that the link quality detected by the second optical module matches the inner code processing mode indicated by the first mode indication. If the second mode indication is different from the first mode indication, it can be understood that the link quality detected by the second optical module does not match the inner code processing mode indicated by the first mode indication.
[0265] S607a: After receiving the second encoded data, the first optical module performs receiving-end inner code processing on the second encoded data using the second inner code processing mode indicated by the second mode indicator to obtain second data encoded with an outer code. The second optical module uses the second inner code processing mode indicated by the second mode indicator when performing transmitting-end inner code processing on the second data encoded with an outer code.
[0266] S607b: After receiving the second encoded data, the first optical module performs receiving end inner code processing on the second encoded data using the first inner code processing mode indicated by the first mode indicator to obtain second data encoded by an outer code.
[0267] S608: After performing receiving-end inner code processing and decoding on the second coded data to obtain the second mode indication, the first optical module performs transmitting-end inner code processing on the third data coded by the outer code in the data stream to be transmitted using the inner code processing mode indicated by the second mode indication to obtain third coded data.
[0268] S609: The first optical module sends the third encoded data to the second optical module.
[0269] S610: After receiving the third coded data, the second optical module performs receiving-end inner code processing on the third coded data by adopting the second inner code processing mode.
[0270] In some possible implementations, the inner code processing mode indicated by the second mode indicator in the solution shown in FIG6A includes at least inner code encoding and PAD insertion. In this implementation, during S608 , the first optical module may further insert the second mode indicator into the third encoded data during inner code processing at the transmitting end.
[0271] In other possible implementations, the scheme shown in FIG6B is applicable to both schemes in which the inner code processing mode indicated by the second mode indication includes at least inner code encoding and PAD insertion, and schemes in which the inner code processing mode indicated by the second mode indication is skipping inner code processing. When the inner code processing mode indicated by the second mode indication is skip mode, when the first optical module executes S608, it uses the inner code processing mode indicated by the second mode indication to perform transmitting-end inner code processing on the third data encoded with an outer code in the data stream to be transmitted, i.e., it uses the inner code processing mode indicated by the second mode indication to skip transmitting-end inner code processing. Consequently, after receiving the third encoded data, the second optical module can skip performing receiving-end inner code processing.
[0272] In some possible implementations, for the solution shown in FIG6B , in order to clearly indicate to the first optical module the inner code processing mode used before switching and the inner code processing mode indicated after switching, a first indication can be carried in the second encoded data. This first indication includes the first mode indication indicating the inner code processing mode used before switching and the second mode indication indicating the inner code processing mode used after switching, as shown in FIG6C . The difference between FIG6C and FIG6B is that in FIG6C , the second encoded data carries the first indication, while in FIG6B , the second encoded data carries the second mode indication.
[0273] Example 3:
[0274] 7 is a flow chart of a data transmission method according to Example 3 of the present application. In Example 2, the second optical module uses an explicit indication method, while in Example 3, an indirect indication method is used to indicate whether the inner code processing mode indicated by the transmitter matches the current link quality.
[0275] S701-S705, refer to S301-S305, and will not be repeated here.
[0276] S706: The second optical module transmits second encoded data to the first optical communication device (the first optical module), the second encoded data carrying a second indication. During inner code processing by the second optical module, the second encoded data may be subjected to transmitting-end inner code processing using a first inner code processing mode indicated by the first mode indication, according to the indication of the first optical module.
[0277] 8 , the second indication consists of two parts, the first half of which is a copy of the first mode indication, and the second half of which is a switching indication. That is, the second indication includes the first mode indication and the switching indication.
[0278] In the first possible manner, the switching indication is used to indicate whether the detected link quality matches the quality of the link indicated by the first mode indication. When the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical module; when the switching indication is a second value, it indicates that the first inner code processing mode does not match the quality of the link detected by the second module. In one example, as shown in Table 4, the switching indication can occupy only 1 bit of bit width, for example, 0 indicates mismatch (switching), 1 indicates match (not switching); for another example, 1 indicates mismatch, 0 indicates match. In another example, the switching indication can occupy 2 bits of bit width, for example, it can be represented by 00 and 10, for example, 00 indicates mismatch, 10 indicates match; for another example, 10 indicates mismatch, 00 indicates match. The switching indication can use any two of 00, 01, 10 and 11, and this is not specifically limited in the embodiments of the present application. The bit width occupied by the switching indication is not specifically limited in the embodiments of the present application.
[0279] Table 4
[0280] In the second possible way, the switching indication is used to indicate whether to switch and the switching direction. When the switching indication is a first value, it indicates that the quality of the link detected by the first inner code processing mode matches that of the link detected by the second optical communication device; when the switching indication is a third value, it is used to indicate switching to an inner code processing mode with a delay or performance (error correction capability) greater than that of the first inner code processing mode; when the switching indication is a fourth value, it is used to indicate switching to an inner code processing mode with a delay or performance (error correction capability) less than that of the first inner code processing mode; the link is a link for communication between the first optical communication device and the second optical communication device. In one example, as shown in Table 5, the switching indication can occupy a 2-bit bit width, for example, 00 indicates no switching, 10 indicates switching to an inner code processing mode with a delay or performance (error correction capability) greater than that of the first inner code processing mode, and 11 indicates switching to an inner code processing mode with a delay or performance (error correction capability) less than that of the first inner code processing mode. The switching indication can be any three of 00, 01, 10 and 11, and the embodiments of the present application are not specifically limited to this. The bit width occupied by the switching indication is not specifically limited in the embodiment of the present application.
[0281] Table 5
[0282] S707, see S607b, no further details will be given here.
[0283] S708 : After receiving the second encoded data, the first optical module performs transmitting-end inner code processing on the third data encoded with the outer code in the data stream to be transmitted in the inner code processing mode according to the switching instruction.
[0284] In the first possible approach described above, when the switch indication is the first value, the third inner code processing mode is the first inner code processing mode; alternatively, when the switch indication is the second value, the third inner code processing mode is one of the multiple inner code processing modes other than the first inner code processing mode. It can be understood that when the switch indication is the first value, no switch is performed, and the first inner code processing mode indicated by the first mode indication continues to be used for transmitting inner code processing of the data in the data stream. When the switch indication is the second value, switch is performed, and an inner code processing mode other than the first inner code processing mode is selected from the multiple configured inner code processing modes. As an example, if two inner code processing modes are configured, then when the switch indication is the second value, the other inner code processing mode other than the inner code processing mode indicated by the first optical mode is directly used for transmitting inner code processing of the transmitting data stream.
[0285] In the second possible manner described above, when the switching indication is the first value, the third inner code processing mode is the same as the first inner code processing mode; or, when the switching indication is the third value, the latency or performance (error correction capability) of the third inner code processing mode is greater than the latency or performance (error correction capability) of the first inner code processing mode; or, when the switching indication is the fourth value, the latency or performance (error correction capability) of the third inner code processing mode is less than the latency or performance (error correction capability) of the first inner code processing mode.
[0286] Example 4:
[0287] 9A and 9B are flow charts of a data transmission method according to an embodiment of the present application. In Example 4, the first optical module and the second optical module adopt a negotiation method. The first optical module indicates to the second optical module the inner code processing mode to be used during the negotiation and the inner code processing mode to be negotiated.
[0288] S901-S902, refer to S301-S302, and will not be repeated here.
[0289] S903: The first optical module performs transmitting end inner code processing on the first data using a first inner code processing mode to obtain first coded data. The first coded data mentioned here can be understood as data that has been processed with inner code and outer code.
[0290] The first encoded data carries a third indication, the third indication includes the first mode indication, the first inner code processing mode indicated by the first mode is the inner code processing mode used in the negotiation process, and the third indication also includes a third mode indication, and the third mode indication is used to indicate the inner code processing mode to be negotiated.
[0291] S904-S905, refer to S304-S305, which will not be repeated here.
[0292] S906 , the second optical module sends second encoded data to the first optical communication device (first optical module), where the second encoded data carries a fourth indication.
[0293] In this embodiment, the second encoded data is obtained by performing inner code processing on the transmitting end by the second optical module using the first inner code processing mode indicated by the first mode indicator during inner code processing on the transmitting end.
[0294] When the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical module, the fourth indication includes the first mode indication and the third mode indication; the inner code processing mode indicated by the third mode indication is used to perform transmitting end inner code processing on the third data encoded with the outer code in the data stream. Alternatively, when the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical module, the fourth indication includes the first mode indication and the fourth mode indication; the inner code processing mode indicated by the fourth mode indication matches the quality of the link detected by the second optical module; the inner code processing mode indicated by the fourth mode indication is used to perform transmitting end inner code processing on the third data.
[0295] In addition, the method for determining the link quality and the matching inner code processing mode can be as described above and will not be repeated here.
[0296] S907, see S607b, no further details will be given here.
[0297] S908a: When the fourth indication includes a third mode indication, the first optical module performs transmitting-end inner code processing on the third data encoded with the outer code in the data stream to be transmitted using the inner code processing mode indicated by the third mode indication, to obtain third encoded data. Correspondingly, the second optical module performs receiving-end inner code processing on the third encoded data using the inner code processing mode indicated by the third mode indication.
[0298] In some embodiments, the inner code processing mode indicated by the third mode indication may be an inner code processing mode in which the transmitting end inner code processing is skipped, or may not be an inner code processing mode in which the transmitting end inner code processing is skipped.
[0299] S908b: When the fourth indication includes a fourth mode indication, the first optical module performs transmitting-end inner code processing on the third data encoded with an outer code in the data stream to be transmitted using the inner code processing mode indicated by the fourth mode indication, thereby obtaining a third encoded data stream. Correspondingly, the second optical module performs receiving-end inner code processing on the third encoded data using the inner code processing mode indicated by the fourth mode indication. In some embodiments, the inner code processing mode indicated by the fourth mode indication may be an inner code processing mode that skips performing transmitting-end inner code processing, or may not skip performing transmitting-end inner code processing.
[0300] S909: The first optical module sends a third encoded data stream to the second optical module.
[0301] Example 5:
[0302] Referring to FIG10 , which is a flow chart of a data transmission method according to an embodiment of the present application, in Example 5, the first optical module and the second optical module adopt a negotiation method. Example 5 differs from Example 4 in that the fourth indication fed back by the second optical module no longer explicitly indicates the confirmed inner code processing mode, but instead indicates whether to adopt the inner code processing mode to be negotiated indicated by the first optical module.
[0303] S1001-S1005, refer to S901-S905 and will not be repeated here.
[0304] S1006: The second optical module sends second encoded data to the first optical communication device (first optical module), where the second encoded data carries a fourth indication.
[0305] In this embodiment, the second encoded data is obtained by performing inner code processing on the transmitting end by the second optical module using the first inner code processing mode indicated by the first mode indicator during inner code processing on the transmitting end.
[0306] The fourth indication includes a first mode indication and a confirmation indication. When the confirmation indication is a first value, it indicates that the third mode indication matches the quality of the link detected by the second optical communication device; when the confirmation indication is a second value, it indicates that the third mode indication does not match the quality of the link detected by the second optical communication device; the link is a communication link between the first optical communication device and the second optical communication device.
[0307] In addition, the method for determining the link quality and the matching inner code processing mode can be as described above and will not be repeated here.
[0308] S1007, see S907, no further details will be given here.
[0309] S1008 : The first optical module selects a fourth inner code processing mode according to the confirmation instruction, and performs transmitting-end inner code processing on the third data encoded by the outer code in the data stream to be transmitted to obtain a third encoded data stream.
[0310] In some embodiments, the inner code processing mode indicated by the third mode indication may be an inner code processing mode in which the transmitting end inner code processing is skipped, or may not be an inner code processing mode in which the transmitting end inner code processing is skipped.
[0311] When the confirmation indicator is a first value, the fourth inner code processing mode is the inner code processing mode indicated by the third mode indicator. Alternatively, when the confirmation indicator is a second value, the fourth inner code processing mode is an inner code processing mode other than the inner code processing mode indicated by the third mode indicator.
[0312] S1009: The first optical module sends a third encoded data stream to the second optical module.
[0313] The third possible transmission mode is described below: The inner code processing mode selected by the transmitter is to skip the inner code processing at the transmitter, and the host adds the mode indication to the data during the outer code processing.
[0314] Example 6:
[0315] The following describes in detail the solution provided in Example 6 of the embodiment of the present application in conjunction with Figure 11. Figure 11 shows a flow chart of the data transmission method provided in Example 6 of the embodiment of the present application. Example 6 can be applied to the scenario of full transparent transmission inner code processing and can directly instruct the receiving end to perform full transparent transmission inner code processing, i.e., skipping the inner code processing at the transmitting / receiving end.
[0316] When the transmitting end selects any mode other than the fully transparent inner code processing, any possible solution in Example 1-Example 2 can be adopted. When the optical module at the transmitting end selects the fully transparent inner code processing mode (also referred to as the inner code processing transparent mode), the transmitting end will skip executing the transmitting end inner code processing operation. Therefore, the optical module at the transmitting end cannot indicate the inner code processing mode from the PAD sequence, and the optical module at the receiving end cannot identify the mode indication from the PAD signal. Therefore, in the case where the transmitting end adopts the skipping execution of the transmitting end inner code processing, the optical module at the receiving end can identify whether the transmitting end adopts the fully transparent inner code processing mode through rate detection. If not, the subsequent processing is carried out in the manner of Example 2 or Example 3.
[0317] S1101: A first host obtains fourth data in a data stream to be sent. The fourth data may be understood as the current data to be sent in the data stream to be sent.
[0318] S1102: The first host performs outer code encoding on the fourth data to obtain outer code encoded fourth data.
[0319] S1103: The first host sends fourth data encoded by an outer code to the first optical module.
[0320] S1104: The first optical module skips performing the transmitting end inner code processing on the outer-coded fourth data and outputs the outer-coded fourth data (to the second optical module). In some embodiments, the first optical module may perform electro-optical processing on the outer-coded fourth data before outputting it.
[0321] S1105 : After receiving the fourth data encoded by the outer code, the second optical module detects a rate of the fourth data encoded by the outer code.
[0322] S1106, when the second optical module determines that the inner code processing mode to be adopted is skipping the receiving end inner code processing according to the rate of the fourth data encoded by the outer code, skipping the receiving end inner code processing for the fourth data encoded by the outer code, and sending the fourth data encoded by the outer code to the second host.
[0323] S1107: The second host performs external code decoding on the fourth data encoded by the external code to obtain decoded fourth data.
[0324] In some possible embodiments, the fourth data encoded with the outer code carries a fourth mode indicator for indicating a fourth inner code processing mode, and the fourth inner code processing mode is used to instruct the first optical module to skip performing the transmitting-end inner code processing. Thus, the second host can also obtain the fourth mode indicator during the outer code decoding process and notify the second optical module. Subsequently, upon receiving data from the first optical module, the second optical module will no longer perform the receiving-end inner code processing according to the skipping inner code processing mode indicated by the fourth mode indicator, and the transmitted data may also no longer undergo the transmitting-end inner code processing.
[0325] In some embodiments, the second host may also perform link quality determination during outer code decoding. During outer code decoding of M1 consecutive code blocks in the outer code-encoded fourth data, the number of code blocks determined to have failed error correction is within a range corresponding to a matching inner code processing mode; the multiple inner code processing modes each correspond to a range of numbers, with different inner code processing modes corresponding to different ranges of numbers; and M1 is an integer greater than 1. Alternatively, during inner code decoding and outer code decoding of M2 consecutive code blocks in the outer code-encoded fourth data, the ratio of code blocks determined to have failed error correction is within a range corresponding to a matching inner code processing mode; the multiple inner code processing modes each correspond to a range of numbers, with different inner code processing modes corresponding to different ranges of numbers; and M2 is an integer greater than 1. Furthermore, the second host may, during the outer code encoding PAD insertion process, add a mode indication of the matching inner code processing mode to the outer code PAD sequence or to a 3-bit status field signal. The second optical communication device may also adopt other methods to transmit back the mode indication of the selected inner code processing mode, for example, the method shown in Example 2 may be adopted, which will not be described in detail here.
[0326] A fourth possible implementation is described below with reference to the accompanying drawings.
[0327] Example 7:
[0328] The host side of the transmitting end can independently determine which inner code processing mode to adopt for inner code processing. The inner code processing mode selected can be the inner code processing transparent transmission mode or other inner code processing modes. In one possible implementation, if the host side of the transmitting end selects the inner code processing transparent transmission mode, the transmitting end can directly notify the optical module of the transmitting end to skip executing the transmitting end inner code processing. In another possible implementation, if the inner code processing mode selected by the host side of the transmitting end is not the inner code processing transparent transmission mode, the host side of the transmitting end first negotiates the inner code processing mode with the host side of the receiving end, and then instructs the optical module after completing the negotiation. In another possible implementation, if the inner code processing mode selected by the host side of the transmitting end is not the inner code processing transparent transmission mode, it can be directly indicated to the receiving end through the current data to be sent. And the optical module is instructed to adopt the inner code processing mode when processing the subsequent data to be sent. In another possible implementation, regardless of whether the inner code processing mode selected by the host side is the inner code processing transparent transmission mode, it can be directly indicated to the receiving end through the current data to be sent. The optical module is instructed to adopt the inner code processing mode when processing subsequent data to be sent.
[0329] The solution provided in Example 7 of the present embodiment is described in detail below in conjunction with Figure 12. Figure 12 shows a flow chart of a data transmission method provided in Example 7 of the present embodiment. Example 7 can be applied to scenarios involving fully transparent inner coding processing and can directly instruct the receiving end to perform fully transparent inner coding processing, i.e., skipping the inner coding processing at the transmitting / receiving end.
[0330] S1201: A first host obtains first data, where the first data is any data in a data stream to be sent.
[0331] S1202. The first host performs outer code encoding on the first data to obtain outer code encoded first data. The outer code encoded first data carries a first mode indication, and the first mode indication is used to indicate a first inner code processing mode to be negotiated. The first inner code processing mode is one of the multiple configured inner code processing modes. Different inner code processing modes among the multiple inner code processing modes have different processing delays or performances (error correction capabilities).
[0332] Exemplarily, the first mode indicator is carried in a padding sequence of the outer-code encoded first data. For example, the first mode indicator is carried in a padding sequence of the physical coding sublayer (PCS). In some embodiments, to improve recognition accuracy on the decoding side, the padding sequence of the outer-code encoded first data carries N copies of the first mode indicator, where N is an integer greater than 1.
[0333] S1203, the first optical module adopts the default second inner code processing mode to perform inner code processing on the first data encoded by the outer code to obtain the first encoded data, and outputs the first encoded data to the second optical communication device. The second inner code processing mode is a default inner code processing mode among multiple inner code processing modes, and the second inner code processing mode includes at least inner code encoding and padding processing.
[0334] S1204: The second optical module receives the first encoded data, and performs receiving-end inner code processing on the first encoded data using a second inner code processing mode to obtain first data encoded by an outer code.
[0335] S1205: The second host performs external code decoding on the first data encoded by the external code to obtain decoded first data.
[0336] In one possible implementation, the second host instructs the second optical module to subsequently use the first inner code processing mode for transmitting / receiving end inner code processing, and the first host instructs the first optical module to subsequently use the first inner code processing mode for transmitting / receiving end inner code processing. The second optical module uses the first inner code processing mode to perform transmitting end inner code encoding on the second data to be transmitted that has been encoded with an outer code to obtain second encoded data, and sends it to the first optical communication device. After the first optical module receives the second encoded data, it can use the first inner code processing mode to perform receiving end inner code processing on the second encoded data to obtain second data encoded with an outer code; the first host performs outer code decoding processing on the second data encoded with an outer code to obtain decoded second data. Exemplarily, when the second host performs outer code encoding on the second data to be transmitted, it can encode the first mode indication for indicating the first inner code processing mode into the second data encoded with an outer code.
[0337] In another possible implementation, the second host can detect the quality of the current link and select an inner code processing mode based on the quality. If the selected inner code processing mode is the same as the first inner code processing mode, it can be notified to the first host. For example, when the second host performs outer code encoding on the second data to be sent, the first mode indication for indicating the first inner code processing mode can be encoded into the second data encoded by the outer code. The second optical module uses the first inner code processing mode to perform transmitting end inner code encoding on the second data to be sent that has been encoded by the outer code to obtain the second encoded data, and sends it to the first optical communication device. After the first optical module receives the second encoded data, it can use the first inner code processing mode to perform receiving end inner code processing on the second encoded data to obtain the second data encoded by the outer code; the first host performs outer code decoding on the second data encoded by the outer code to obtain the decoded second data.
[0338] In another possible implementation, the second host can detect the quality of the current link and select an inner code processing mode based on the quality. If the selected inner code processing mode is different from the first inner code processing mode, it can be notified to the first host. For example, when the second host performs outer code encoding on the second data to be sent, it can encode the second mode indication for indicating the selected inner code processing mode into the second data encoded by the outer code. The second optical module uses the default second inner code processing mode to perform transmitting end inner code encoding on the second data encoded by the outer code to obtain the second encoded data, and sends it to the first optical communication device. After receiving the second encoded data, the first optical module can use the default second inner code processing mode to perform receiving end inner code processing on the second encoded data to obtain the second data encoded by the outer code; the first host performs outer code decoding on the second data encoded by the outer code to obtain the decoded second data. The first host can notify the first optical module of the inner code processing mode indicated by the second mode indication. The second host can also notify the second optical module of the selected inner code processing mode (i.e., the inner code processing mode indicated by the second mode indication). The first optical module subsequently performs transmitting-end inner code processing on the outer-code encoded third data to be sent using the inner code processing mode indicated by the second mode indicator, and the second optical module also performs receiving-end inner code processing using the inner code processing mode.
[0339] In another possible implementation, the second host can detect the quality of the current link and select an inner code processing mode based on the quality. If the selected inner code processing mode is different from the first inner code processing mode, it can be notified to the first host, but the indicated first inner code processing mode can still be used for inner code processing first, so that the first host can switch the inner code processing mode later. For example, when the second host performs outer code encoding on the second data to be sent, the second mode indication for indicating the selected inner code processing mode can be encoded into the second data encoded by the outer code. The second optical module uses the first inner code processing mode to perform transmitting end inner code encoding on the second data to be sent that has been encoded by the outer code to obtain the second encoded data, and sends it to the first optical communication device. After the first optical module receives the second encoded data, it can use the first inner code processing mode to perform receiving end inner code processing on the second encoded data to obtain the second data encoded by the outer code; the first host performs outer code decoding on the second data encoded by the outer code to obtain the decoded second data. Then, the first host can notify the first optical module of the inner code processing mode indicated by the second mode indication. The second host may also notify the second optical module of the selected inner code processing mode (i.e., the inner code processing mode indicated by the second mode indication). The first optical module subsequently uses the inner code processing mode indicated by the second mode indication to perform inner code processing on the transmitting end for the third data to be sent that has been encoded with an outer code, and the second optical module also uses the inner code processing mode to perform inner code processing on the receiving end. In some embodiments, when the second host notifies the first host of the inner code processing mode indicated by the second mode indication selected, it may indicate the currently used mode indication. That is, the pad sequence of the PCS layer of the second data encoded with an outer code carries a first indication, and the first indication includes a first mode indication (indicating the inner code processing mode currently used) and a second mode indication (indicating the inner code processing mode used after switching).
[0340] In another possible implementation, the second host can detect the quality of the current link, determine whether the current quality matches the inner code processing mode indicated by the first host, and then indicate this to the first host via a switching indication. In one example, when the second host performs outer code encoding on the second data to be transmitted, it can encode a copy of the first mode indication and the switching indication into the outer code-encoded second data. The outer code-encoded second data carries a second indication, which includes the first mode indication and a switching indication. When the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first inner code processing mode does not match the quality of the link detected by the second optical communication device. In some scenarios, if the switching indication is the second value, the first host can select an inner code processing mode from inner code processing modes other than the first inner code processing mode and then conduct another round of negotiation. In some scenarios, if there are only two selectable inner code processing modes, there is no need for another round of negotiation. In another example, the switching indication can also indicate the switching direction. For example, when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a third value, it is used to indicate switching to an inner code processing mode whose latency or performance (error correction capability) is greater than that of the first inner code processing mode; when the switching indication is a fourth value, it is used to indicate switching to an inner code processing mode whose latency or performance (error correction capability) is less than that of the first inner code processing mode.
[0341] In an embodiment of the present application, when the second host detects the inner code processing mode matched to the quality of the link, it can adopt at least one of the following: in the process of performing outer code decoding on M1 consecutive code blocks of the first encoded data, the number of code blocks that failed error correction is determined to be within the number range corresponding to the matched inner code processing mode; multiple inner code processing modes each correspond to a number range, and different inner code processing modes correspond to different number ranges; M1 is an integer greater than 1, or, in the process of performing outer code decoding on M2 consecutive code blocks of the first encoded data, the proportion of code blocks that failed error correction is determined to be within the proportion range corresponding to the matched inner code processing mode; multiple inner code processing modes each correspond to a proportion range, and different inner code processing modes correspond to different proportion ranges; M2 is an integer greater than 1.
[0342] It should be noted that the order of the steps of the data processing method provided in the embodiments of the present application can be adjusted appropriately, and the steps can be increased or decreased accordingly. Any person skilled in the art can easily think of a modified method within the technical scope disclosed in this application, and the modified method should be included in the scope of protection of this application, so it will not be described in detail.
[0343] The present invention also provides an optical module for implementing the method performed by the first optical module or the method performed by the second optical module in the data processing method provided in the present invention. FIG13 shows a schematic diagram of the optical module structure provided in the present invention. The optical module includes a communication unit 1310 and an inner code processing unit 1320.
[0344] In one possible application scenario, the optical module is used to execute the method executed by the first optical module. Specifically:
[0345] The communication unit 1310 is configured to obtain first data encoded by an outer code, where the first data is any data in a data stream to be sent.
[0346] The inner code processing unit 1320 is used to determine a first inner code processing mode, where the first inner code processing mode is one of the multiple configured inner code processing modes, and different inner code processing modes in the multiple inner code processing modes have different processing methods; the first inner code processing mode is used to perform inner code processing on the first data at the transmitting end to obtain first encoded data.
[0347] The communication unit 1310 is configured to output first encoded data, where the first encoded data carries a first mode indication for indicating a first inner code processing mode. The transmitting end inner code processing corresponding to the first inner code processing mode includes at least inner code encoding and padding processing.
[0348] In a first possible implementation, the communication unit 1310 is further configured to receive second encoded data from a second optical communication device, the second encoded data carrying a second mode indicator, the second inner code processing mode indicated by the second mode indicator matching the quality of a link detected by the second optical communication device; the link being a communication link between the first optical communication device and the second optical communication device. The inner code processing unit 1320 is configured to perform transmitting-end inner code processing on third data in the data stream that has been encoded with an outer code, using the second inner code processing mode.
[0349] In some embodiments, the inner code processing unit 1320 is further configured to perform receiving-end inner code processing on the second encoded data using a second inner code processing mode to obtain second data after the communication unit 1310 receives the second encoded data from the second optical communication device.
[0350] In some embodiments, the inner code processing unit 1320 is further configured to perform receiving end inner code processing on the second encoded data using the inner code processing mode indicated by the first mode indicator after the communication unit 1310 receives the second encoded data from the second optical communication device to obtain second data.
[0351] In some embodiments, the second encoded data carries a first indication, the first indication including a first mode indication for indicating an inner code processing mode used before switching and a second mode indication for indicating an inner code processing mode used after switching.
[0352] In a second possible implementation, the communication unit 1310 receives second encoded data from a second optical communication device, the second encoded data carries a second indication, and the second indication carries a first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first inner code processing mode does not match the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device; the inner code processing unit 1320 adopts a third inner code processing mode to perform transmitting end inner code processing on the third data encoded by the outer code in the data stream according to the switching indication; wherein, when the switching indication is the first value, the third inner code processing mode is the first inner code processing mode; or, when the switching indication is the second value, the third inner code processing mode is an inner code processing mode other than the first inner code processing mode among the multiple inner code processing modes.
[0353] In a third possible implementation, the communication unit 1310 receives second encoded data from a second optical communication device, the second encoded data carries a second indication, and the second mode indication carries a first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it is used to indicate switching to an inner code processing mode whose latency or performance (error correction capability) is greater than that of the first inner code processing mode; when the switching indication is a third value, it is used to indicate switching to an inner code processing mode whose latency or performance (error correction capability) is less than that of the first inner code processing mode; the link is a link for communication between the first optical communication device and the second optical communication device. The inner code processing unit 1320 performs transmitting inner code processing on the third data in the data stream that has been outer-coded using a third inner code processing mode according to the switching indication; wherein, when the switching indication is a first value, the third inner code processing mode is the same as the first inner code processing mode; or, when the switching indication is a second value, the delay or performance (error correction capability) of the third inner code processing mode is greater than the delay or performance (error correction capability) of the first inner code processing mode; or, when the switching indication is a third value, the delay or performance (error correction capability) of the third inner code processing mode is less than the delay or performance (error correction capability) of the first inner code processing mode.
[0354] In a fourth possible implementation, the first encoded data carries a third indication, the third indication includes a first mode indication, the first inner code processing mode indicated by the first mode is the inner code processing mode used in the negotiation process, and the third indication also includes a third mode indication, and the third mode indication is used to indicate the inner code processing mode to be negotiated.
[0355] The communication unit 1310 receives second encoded data from a second optical communication device, where the second encoded data carries a fourth indication;
[0356] When the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the third mode indication; the inner code processing unit 1320 performs transmitting end inner code processing on the third data encoded by the outer code in the data stream using the inner code processing mode indicated by the third mode indication; or
[0357] When the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the fourth mode indication; the inner code processing mode indicated by the fourth mode indication matches the quality of the link detected by the second optical communication device; the inner code processing unit 1320 uses the inner code processing mode indicated by the fourth mode indication to perform transmitting end inner code processing on the third data.
[0358] In a fifth possible implementation, the first coded data carries a third indication, where the third indication includes a first mode indication, where the first inner coding processing mode indicated by the first mode is the inner coding processing mode used during the negotiation process, and the third indication further includes a third mode indication, where the third mode indication is used to indicate the inner coding processing mode to be negotiated.
[0359] The communication unit 1310 receives second data from the second optical communication device, and the second data carries a fourth indication, which includes a first mode indication and a confirmation indication. When the confirmation indication is a first value, it indicates that the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical communication device; when the confirmation indication is a second value, it indicates that the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device; the inner code processing unit 1320 uses the third inner code processing mode to perform transmitting end inner code processing on the third data according to the confirmation indication; wherein, when the confirmation indication is a first value, the third inner code processing mode is the inner code processing mode indicated by the third mode indication; or, when the confirmation indication is a second value, the third inner code processing mode is an inner code processing mode other than the third inner code processing mode among the multiple inner code processing modes.
[0360] In a possible implementation, the first encoded data further carries a decoding indication for indicating a decoding method adopted in the first inner code processing mode, where the decoding method is hard decoding or soft decoding.
[0361] In another possible application scenario, the optical module is used to execute the method executed by the second optical module. Specifically:
[0362] The communication unit 1310 receives first encoded data from a first optical communication device. The first encoded data carries a first mode indication. The first inner code processing mode indicated by the first mode indication is one of the multiple configured inner code processing modes. Different inner code processing modes in the multiple inner code processing modes have different processing methods.
[0363] The inner code processing unit 1320 performs receiving-end inner code processing on the first coded data using a first inner code processing mode to obtain first data.
[0364] In a first possible implementation, the communication unit 1310 sends second coded data to the first optical communication device, the second coded data carries a second mode indication, and the second inner code processing mode indicated by the second mode indication matches the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device; third coded data is received from the first optical communication device; and the inner code processing unit 1320 performs receiving end inner code processing on the third coded data using the second inner code processing mode.
[0365] In some embodiments, the second encoded data carries a first indication, the first indication including a first mode indication for indicating an inner code processing mode used before switching and a second mode indication for indicating an inner code processing mode used after switching.
[0366] In a second possible implementation, the communication unit 1310 sends second encoded data to the first optical communication device, the second encoded data carries a second indication, the second indication carries a first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first mode indication matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first mode indication does not match the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device.
[0367] In some embodiments, the communication unit 1310 receives third encoded data from the first optical communication device. The inner code processing unit 1320 performs receiving-end inner code processing on the third encoded data using the first inner code processing mode, continuing to use the first inner code processing mode when the switching indication is a first value and the third encoded data carries the first mode indication; or, when the switching indication is a second value, performs receiving-end inner code processing on the third encoded data using the third inner code processing mode, using the third inner code processing mode, where the third inner code processing mode is one of the multiple inner code processing modes other than the first inner code processing mode.
[0368] In a third possible implementation, the communication unit 1310 sends second encoded data to the first optical communication device, the second encoded data carries a second indication, and the second indication carries a first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first mode indication matches the quality of the link detected by the second optical communication device; when the switching indication is a third value, it is used to indicate switching to an inner code processing mode whose latency or performance (error correction capability) is greater than the first inner code processing mode; when the switching indication is a fourth value, it is used to indicate switching to an inner code processing mode whose latency or performance (error correction capability) is less than the first inner code processing mode; the link is a link for communication between the first optical communication device and the second optical communication device.
[0369] In some embodiments, the communication unit 1310 receives third encoded data from the first optical communication device; the inner code processing unit 1320 performs receiving end inner code processing on the third encoded data using a third inner code processing mode according to the switching indication; wherein, when the switching indication is a first value, the third inner code processing mode is the same as the first inner code processing mode; or, when the switching indication is a third value, the delay or performance (error correction capability) of the third inner code processing mode is greater than the delay or performance (error correction capability) of the first inner code processing mode; or, when the switching indication is a fourth value, the delay or performance (error correction capability) of the third inner code processing mode is less than the delay or performance (error correction capability) of the first inner code processing mode.
[0370] In a fourth possible implementation, the first coded data carries a third indication, where the third indication includes a first mode indication, where the first inner coding processing mode indicated by the first mode is the inner coding processing mode used during the negotiation process, and the third indication further includes a third mode indication, where the third mode indication is used to indicate the inner coding processing mode to be negotiated.
[0371] The communication unit 1310 sends second encoded data to the first optical communication device, where the second encoded data carries a fourth indication;
[0372] When the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the third mode indication; or,
[0373] When the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the fourth mode indication; the inner code processing mode indicated by the fourth mode indication matches the quality of the link detected by the second optical communication device.
[0374] In a fifth possible implementation, the first encoded data carries a third indication, the third indication includes a first mode indication, the first inner code processing mode indicated by the first mode is the inner code processing mode used in the negotiation process, and the third indication also includes a third mode indication, and the third mode indication is used to indicate the inner code processing mode to be negotiated.
[0375] The communication unit 1310 sends second encoded data to the first optical communication device. The second encoded data is obtained by performing inner code processing on the transmitting end using the first inner code processing mode. The second encoded data carries a fourth indication. The fourth indication includes a first mode indication and a confirmation indication. When the confirmation indication is a first value, it indicates that the third mode indication matches the quality of the link detected by the second optical communication device; when the confirmation indication is a second value, it indicates that the third mode indication does not match the quality of the link detected by the second optical communication device; the link is a communication link between the first optical communication device and the second optical communication device.
[0376] The inner code processing unit 1320 is further configured to detect the quality of the link between the first optical communication device and the second optical communication device based on the first encoded data, wherein the inner code processing mode that matches the link quality among the multiple inner code processing modes satisfies at least one of the following:
[0377] During inner code decoding of the first encoded data, a first number of non-zero syndromes in syndromes of N1 consecutive codewords in the first encoded data is determined to be within a first number range corresponding to a matching inner code processing mode among the plurality of inner code processing modes; the plurality of inner code processing modes respectively correspond to a first number range, and different inner code processing modes correspond to different first number ranges; N1 is an integer greater than 1, or,
[0378] During inner code decoding of the first encoded data, a first ratio of non-zero syndromes in syndromes of N2 consecutive code words in the first encoded data is determined to be within a first ratio range corresponding to the matched inner code processing mode; a plurality of inner code processing modes each correspond to a first ratio range, and different inner code processing modes correspond to different first ratio ranges; N2 is an integer greater than 1, or,
[0379] In the process of performing inner code decoding on N3 consecutive bits in the first encoded data, the number of corrected bits determined is within a second number range corresponding to the matched inner code processing mode, wherein the plurality of inner code processing modes respectively correspond to a second number range, and different inner code processing modes correspond to different second number ranges; N3 is an integer greater than 1; or
[0380] In the process of performing inner code decoding on N4 consecutive bits in the first encoded data, a second ratio of the number of corrected bits to the N3 bits is determined to be within a second ratio range corresponding to the matched inner code processing mode, wherein each of the multiple inner code processing modes corresponds to a second ratio range, and different inner code processing modes correspond to different second ratio ranges; N4 is an integer greater than 1; or
[0381] During inner code decoding of N5 consecutive code words of the first encoded data, a third number of code words for which error correction fails is determined to be within a third number range corresponding to the matched inner code processing mode; each of the multiple inner code processing modes corresponds to a third number range, and different inner code processing modes correspond to different third number ranges; N5 is an integer greater than 1, or,
[0382] During inner code decoding of N6 consecutive code words of the first encoded data, a third ratio of code words for which error correction fails is determined to be within a third ratio range corresponding to the matched inner code processing mode; each of the multiple inner code processing modes corresponds to a third ratio range, and different inner code processing modes correspond to different third ratio ranges; N6 is an integer greater than 1; or
[0383] During inner code decoding and outer code decoding of N7 consecutive code words of the first encoded data, a fourth number of code words for which error correction fails is determined to be within a fourth number range corresponding to the matched inner code processing mode; a plurality of inner code processing modes each correspond to a fourth number range, and different inner code processing modes correspond to different fourth number ranges; N7 is an integer greater than 1, or,
[0384] During inner code decoding and outer code decoding of N8 consecutive code words of the first encoded data, a fourth proportion of code words that fail error correction is determined to be within a fourth proportion range corresponding to the matched inner code processing mode; multiple inner code processing modes each correspond to a fourth proportion range, and different inner code processing modes correspond to different fourth proportion ranges; and N8 is an integer greater than 1.
[0385] In one possible implementation, the first encoded data also carries a decoding indication for indicating the decoding method adopted in the first inner code processing mode, and the decoding method is hard decoding or soft decoding; the inner code processing at the receiving end includes inner code decoding, and the inner code decoding adopts the decoding method indicated by the decoding indication.
[0386] In one possible implementation, the inner code processing unit 1320 may include multiple modules, such as a convolutional interleaving module, a cyclic shift module, an inner code encoding module, a channel interleaving module, and a PAD module. Each module performs or does not perform corresponding operations based on the inner code processing mode. For example, if the inner code processing mode is to skip convolutional interleaving, the convolutional interleaving module no longer performs the convolutional interleaving operation, and the inner code processing unit 1320 skips the convolutional interleaving module. For another example, if the inner code processing mode is to skip cyclic shifting, the cyclic shift module no longer performs the cyclic shift operation.
[0387] In one possible implementation, the inner code processing unit 1320 of the optical module at the receiving end may further include a mode detection module configured to detect the inner code processing mode indicated by the transmitting end. For example, the module may detect the quality of the current link, determine an appropriate inner code processing mode based on the quality, and then instruct the PAD module to insert a mode indicator indicating the inner code processing mode at the corresponding position.
[0388] In a possible implementation, the inner code processing unit 1320 of the optical module at the transmitting end may further include a mode control module configured to determine an inner code processing mode to be used and instruct the PAD module to insert a mode indication indicating the inner code processing mode at a corresponding position.
[0389] In one possible implementation, the communication unit 1310 may include an input unit and an output unit. It may include an electrical input / output unit and an optical input / output unit. The electrical input / output unit is used to communicate with a host. The optical input / output unit is used to communicate with another optical communication device.
[0390] Referring to Figure 14, a schematic diagram of the structure of another optical module provided in an embodiment of the present application is shown. The optical module includes a first integrated circuit (IC) module, a second integrated circuit module, a transmitter optical subassembly (TOSA), an optical receiving module assembly (ROSA), a memory and a microcontroller unit (MCU). The optical module is provided with a first electrical interface, a second electrical interface, a first optical interface and a second optical interface, the first electrical interface is connected to the input end of the first integrated circuit module, the second electrical interface is connected to the output end of the second integrated circuit module, and the other end of the first electrical interface and the second electrical interface can be used to connect to the host. The first optical interface is connected to the output end of the optical transmitter module assembly, and the second optical interface is connected to the input end of the optical input module assembly.
[0391] The microcontroller is used to control the various components in the optical module. The first integrated circuit module is used to receive an electrical signal from the first electrical interface, the electrical signal including outer-code encoded data, perform transmitting-end inner-code processing on the electrical signal, and transmit the processed electrical signal to the optical transmitter module assembly. The optical transmitter module assembly is used to convert the electrical signal processed by the first integrated circuit module into an optical signal and other processing, and output the converted optical signal through the first optical interface. The optical input module assembly is used to receive an optical signal (encoded data from an opposite optical communication device) input from the second optical interface, convert the optical signal into an electrical signal and other processing, and transmit the converted electrical signal to the second integrated circuit. The second integrated circuit is used to perform receiving-end inner-code processing on the converted electrical signal and output the processed electrical signal through the second electrical interface. The memory can be used to store information such as the performance parameters, manufacturer information, device model, and device version number of the optical module. In addition, the first integrated circuit module includes the aforementioned inner-code processing unit (for the encoding side), and the second integrated circuit module includes the aforementioned inner-code processing unit (for the decoding side).
[0392] In an embodiment of the present application, the memory in the optical module can be an electrically erasable programmable read-only memory, in which a corresponding relationship between an identifier of an internal code processing mode and a mode indication is provided, and an identifier of the internal code processing mode currently used can also be configured. The electrically erasable programmable read-only memory is a read-only memory (ROM) that can be modified by the user, and the data recorded in the electrically erasable programmable read-only memory can be erased and rewritten by programming voltage, and the modification of the data in the electrically erasable programmable read-only memory can be performed with bytes as the minimum modification unit. Therefore, when writing data to the electrically erasable programmable read-only memory, it is not necessary to completely erase all the data in the electrically erasable programmable read-only memory to achieve writing. The memory in the optical module can also use other readable and writable memories, and the embodiment of the present application does not specifically limit this.
[0393] An embodiment of the present application provides an optical communication device. Figure 15 exemplarily provides a possible architecture diagram of an optical communication device. As shown in Figure 15, the optical communication device may include a processor 1501, a memory 1502, a communication interface 1503 and a bus 1504. In the optical communication device, the number of processors 1501 may be one or more, and Figure 15 only illustrates one of the processors 1501. Optionally, the processor 1501 may be a central processing unit (CPU). If the optical communication device has multiple processors 1501, the types of the multiple processors 1501 may be different, or may be the same. Optionally, the multiple processors of the optical communication device may also be integrated into a multi-core processor.
[0394] Memory 1502 stores computer instructions and data. Memory 1502 can store computer instructions and data required to implement the methods provided herein. Memory 1502 can be any one or a combination of the following storage media: non-volatile memory (such as read-only memory (ROM), solid state disk (SSD), hard disk drive (HDD), optical disk, etc.), or volatile memory.
[0395] The communication interface 1503 can be any one or any combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, or other devices with network access functions.
[0396] Communication interface 1503 is used for optical communication devices to communicate data with other nodes or other optical communication devices. Figure 15 also illustrates a bus 1504. Bus 1504 connects processor 1501 to memory 1502 and communication interface 1503. Thus, via bus 1504, processor 1501 can access memory 1502 and exchange data with other nodes or other optical communication devices using communication interface 1503.
[0397] In the present application, the optical communication device executes the computer instructions in the memory 1502 to implement the data transmission method provided in the present application. Furthermore, the implementation process of the optical communication device executing the computer instructions in the memory 1502 to perform the steps of the method provided in the present application can refer to the corresponding description in the above method embodiments.
[0398] An embodiment of the present application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions. When the program instructions are executed on a computer device, the optical communication device executes the method provided in the embodiment of the present application.
[0399] The embodiment of the present application also provides a computer program product containing instructions, which, when executed on a computer, enables the computer to execute the method provided by the embodiment of the present application.
[0400] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, optical storage, etc.) that contain computer-usable program code.
[0401] The present application is described with reference to the flow chart and / or block diagram of the method, device (system), and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processing machine or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.
[0402] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include these modifications and variations.
Claims
1. A data transmission method, characterized in that: Applicable to a first optical communication device, comprising: Acquire first data encoded by an outer code, where the first data is any data in a data stream to be sent; Determine a first inner code processing mode, where the first inner code processing mode is one of multiple configured inner code processing modes, and different inner code processing modes in the multiple inner code processing modes have different processing methods; The first data is subjected to transmitting end inner code processing using the first inner code processing mode to obtain first encoded data, and the first encoded data is output, wherein the first encoded data carries a first mode indication for indicating the first inner code processing mode, and the transmitting end inner code processing corresponding to the first inner code processing mode includes at least inner code encoding and padding processing.
2. The method according to claim 1, characterized in that The first mode indication is carried in a padding sequence of the first encoded data.
3. The method according to claim 1 or 2, characterized in that The padding sequence of the first encoded data carries N copies of the first mode indication, where N is an integer greater than 1.
4. The method according to any one of claims 1 to 3, characterized in that: Among the multiple inner code processing modes, there are at least two inner code processing modes that satisfy at least one of the following: The depth of convolution interleaving in the two inner coding processing modes is different; or, Only one of the two inner code processing modes includes convolution interleaving; or, One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or, One of the two inner code processing modes indicates executing a first inner code processing, and the other inner code processing mode indicates skipping executing the first inner code processing; the first inner code processing at least includes inner code encoding and padding processing, and the first inner code processing mode is not an inner code processing mode indicating skipping executing the first inner code processing.
5. The method according to any one of claims 1 to 4, characterized in that: The transmitting end inner code processing corresponding to the first inner code processing mode includes at least padding processing and channel interleaving; the padding processing includes adding the first mode indication; The padding process is performed after the channel interleaving; or The padding process is located before the channel interleaving, the first data includes data of multiple channels, and when the padding process is performed on the data of the multiple channels before the channel interleaving, the first mode indication is added to the data of each channel in the data of the multiple channels.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: receiving second encoded data from a second optical communication device, the second encoded data carrying a second mode indication, the second inner code processing mode indicated by the second mode indication matching the quality of a link detected by the second optical communication device; the link being a link for communication between the first optical communication device and the second optical communication device; The second inner code processing mode is used to perform inner code processing at the transmitting end on the third data in the data stream that has been encoded by the outer code.
7. The method according to claim 6, characterized in that The method further comprises: After receiving the second encoded data from the second optical communication device, the second inner code processing mode is used to perform receiving end inner code processing on the second encoded data to obtain second data.
8. The method according to claim 6, characterized in that The method further comprises: After receiving the second encoded data from the second optical communication device, the second encoded data is subjected to receiving end inner code processing using the inner code processing mode indicated by the first mode indication to obtain second data.
9. The method according to claim 8, characterized in that The second encoded data carries a first indication, which includes the first mode indication for indicating the inner code processing mode used before switching and the second mode indication for indicating the inner code processing mode used after switching.
10. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: receiving second encoded data from a second optical communication device, the second encoded data carrying a second indication, the second indication carrying the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first inner code processing mode matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first inner code processing mode does not match the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device; According to the switching indication, the third data in the data stream encoded by the outer code is processed by the third inner code processing mode. deal with; Among them, when the switching indication is a first value, the third inner code processing mode is the first inner code processing mode; or, when the switching indication is a second value, the third inner code processing mode is an inner code processing mode among the multiple inner code processing modes except the first inner code processing mode.
11. The method according to any one of claims 1 to 5, characterized in that: The first encoded data carries a third indication, the third indication includes the first mode indication, the first inner code processing mode indicated by the first mode is the inner code processing mode used in the negotiation process, and the third indication further includes a third mode indication, and the third mode indication is used to indicate the inner code processing mode to be negotiated; The method further comprises: receiving second encoded data from a second optical communication device, the second encoded data carrying a fourth indication; When the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the third mode indication; the inner code processing mode indicated by the third mode indication is used to perform inner code processing on the third data encoded by the outer code in the data stream at the transmitting end; or When the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the fourth mode indication; the inner code processing mode indicated by the fourth mode indication matches the quality of the link detected by the second optical communication device; and the inner code processing mode indicated by the fourth mode indication is used to perform transmitting end inner code processing on the third data.
12. The method according to any one of claims 1 to 5, characterized in that: The first encoded data carries a third indication, the third indication includes the first mode indication, the first inner code processing mode indicated by the first mode is the inner code processing mode used in the negotiation process, and the third indication further includes a third mode indication, and the third mode indication is used to indicate the inner code processing mode to be negotiated; The method further comprises: receiving second data from a second optical communication device, the second data carrying a fourth indication, the fourth indication including the first mode indication and a confirmation indication, wherein when the confirmation indication is a first value, it indicates that the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical communication device; and when the confirmation indication is a second value, it indicates that the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device; According to the confirmation indication, using a third inner code processing mode to perform a transmitting end inner code processing on the third data; Among them, when the confirmation indication is a first value, the third inner code processing mode is the inner code processing mode indicated by the third mode indication; or, when the confirmation indication is a second value, the third inner code processing mode is an inner code processing mode among the multiple inner code processing modes except the third inner code processing mode.
13. The method according to any one of claims 1 to 12, characterized in that: The first encoded data also carries a decoding indication for indicating a decoding method adopted in the first inner code processing mode, and the decoding method is hard decoding or soft decoding.
14. The method according to any one of claims 1 to 13, characterized in that: The first optical communication device and the second optical communication device are both optical modules.
15. The method according to any one of claims 1 to 14, characterized in that: The first optical communication device includes a first host and a first optical module; the method further includes: The first host obtains fourth data in the data stream to be sent; The first host performs outer code encoding on the fourth data to obtain outer code encoded fourth data, and sends the fourth data to the first optical module; The first optical module skips performing the transmitting end inner code processing on the fourth data encoded by the outer code, and outputs the fourth data encoded by the outer code.
16. The method according to claim 15, characterized in that The fourth data encoded by the outer code carries a fourth mode indication for indicating a fourth inner code processing mode, and the fourth inner code processing mode is used to instruct the first optical module to skip performing the transmitting end inner code processing.
17. A data transmission method, characterized in that: Applicable to a second optical communication device, comprising: receiving first encoded data from a first optical communication device, the first encoded data carrying a first mode indication, the first inner code processing mode indicated by the first mode indication being one of a plurality of configured inner code processing modes, and different inner code processing modes of the plurality of inner code processing modes have different processing methods; The first inner code processing mode is used to perform receiving end inner code processing on the first encoded data to obtain first data.
18. The method according to claim 17, characterized in that The first mode indication is carried in a padding sequence of the first encoded data.
19. The method according to claim 17 or 18, characterized in that The padding sequence of the first encoded data carries N copies of the first mode indication, where N is an integer greater than 1.
20. The method according to any one of claims 17 to 19, characterized in that: Among the multiple inner code processing modes, there are at least two inner code processing modes that satisfy at least one of the following: The depth of convolution interleaving in the two inner coding processing modes is different; or, Only one of the two inner code processing modes includes convolution interleaving; or, One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or, One of the two inner code processing modes indicates executing a first inner code processing, and the other inner code processing mode indicates skipping executing the first inner code processing; the first inner code processing at least includes inner code encoding and padding processing, and the first inner code processing mode is not an inner code processing mode indicating skipping executing the first inner code processing.
21. The method according to any one of claims 17 to 20, characterized in that: The receiving end inner code processing corresponding to the first inner code processing mode includes at least destuffing processing and de-channel interleaving; the destuffing processing includes detection of the first mode indication; The de-stuffing process is located before the de-channel interleaving process; or, The destuffing process is located after the channel deinterleaving process. During the destuffing process, the first mode indicator is detected from the data of the multiple channels obtained by the channel deinterleaving process.
22. The method according to any one of claims 17 to 21, characterized in that: The method further comprises: Sending second encoded data to the first optical communication device, the second encoded data carrying a second mode indication, the second inner code processing mode indicated by the second mode indication matching the quality of a link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device; receiving third encoded data from the first optical communication device; The second inner code processing mode is used to perform receiving-end inner code processing on the third encoded data.
23. The method of claim 22, wherein: The second encoded data carries a first indication, which includes the first mode indication for indicating the inner code processing mode used before switching and the second mode indication for indicating the inner code processing mode used after switching.
24. The method according to any one of claims 17 to 21, characterized in that The method further comprises: Sending second encoded data to the first optical communication device, the second encoded data carrying a second indication, the second indication carrying the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first mode indication matches the quality of the link detected by the second optical communication device; when the switching indication is a second value, it indicates that the first mode indication does not match the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device.
25. The method of claim 24, wherein: The method further comprises: receiving third encoded data from the first optical communication device; When the switching indication is the first value, the third coded data carries the first mode indication, and the first inner code processing mode is continued to be used to perform receiving end inner code processing on the third coded data; or, When the switching indication is a second value, the third encoded data carries a mode indication for indicating a third inner code processing mode, and the third inner code processing mode is adopted to perform receiving end inner code processing on the third encoded data, and the third inner code processing mode is an inner code processing mode among the multiple inner code processing modes except the first inner code processing mode.
26. The method according to any one of claims 17 to 21, characterized in that The method further comprises: Sending second encoded data to the first optical communication device, the second encoded data carrying a second indication, the second indication carrying the first mode indication and a switching indication; when the switching indication is a first value, it indicates that the first mode indication matches the quality of the link detected by the second optical communication device; when the switching indication is a third value, it is used to indicate switching to an inner code processing mode with a delay greater than the first inner code processing mode; when the switching indication is a fourth value, it is used to indicate switching to an inner code processing mode with a delay less than the first inner code processing mode; the link is a link for communication between the first optical communication device and the second optical communication device.
27. The method according to any one of claims 17 to 21, characterized in that The first encoded data carries a third indication, the third indication includes the first mode indication, the first inner code processing mode indicated by the first mode is the inner code processing mode used in the negotiation process, and the third indication further includes a third mode indication, and the third mode indication is used to indicate the inner code processing mode to be negotiated; Sending second encoded data to the first optical communication device, the second encoded data carrying a fourth indication; When the inner code processing mode indicated by the third mode indication matches the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the third mode indication; or, When the inner code processing mode indicated by the third mode indication does not match the quality of the link detected by the second optical communication device, the fourth indication includes the first mode indication and the fourth mode indication; the inner code processing mode indicated by the fourth mode indication matches the quality of the link detected by the second optical communication device.
28. The method according to any one of claims 17 to 21, characterized in that The first encoded data carries a third indication, the third indication includes the first mode indication, the first inner code processing mode indicated by the first mode is the inner code processing mode used in the negotiation process, and the third indication further includes a third mode indication, and the third mode indication is used to indicate the inner code processing mode to be negotiated; The method further comprises: Sending second encoded data to the first optical communication device, the second encoded data being obtained by performing inner code processing on a transmitting end using the first inner code processing mode, the second encoded data carrying a fourth indication, the fourth indication including the first mode indication and a confirmation indication, when the confirmation indication is a first value, indicating that the third mode indication matches the quality of the link detected by the second optical communication device; when the confirmation indication is a second value, indicating that the third mode indication does not match the quality of the link detected by the second optical communication device; the link is a link for communication between the first optical communication device and the second optical communication device.
29. The method according to any one of claims 22 to 28, characterized in that The method further comprises: The quality of the link between the first optical communication device and the second optical communication device is detected according to the first encoded data, and the inner code processing mode matching the quality of the link among the multiple inner code processing modes satisfies at least one of the following: In the process of performing inner code decoding on the first encoded data, a first number of non-zero syndromes in syndromes of N1 consecutive code words in the first encoded data is determined to be within a first number range corresponding to an inner code processing mode matched among the multiple inner code processing modes; the multiple inner code processing modes respectively correspond to a first number range, and different inner code processing modes correspond to different first number ranges; N1 is an integer greater than 1, or, In the process of performing inner code decoding on the first encoded data, a first ratio of non-zero syndromes in syndromes of consecutive N2 code words in the first encoded data is determined to be within a first ratio range corresponding to the matched inner code processing mode; the multiple inner code processing modes respectively correspond to a first ratio range, and different inner code processing modes correspond to different first ratio ranges; N2 is an integer greater than 1, or, In the process of performing inner code decoding on N3 consecutive bits in the first encoded data, the number of corrected bits determined is within a second number range corresponding to the matched inner code processing mode, the multiple inner code processing modes respectively correspond to a second number range, and different inner code processing modes correspond to different second number ranges; N3 is an integer greater than 1; or, In the process of performing inner code decoding on the consecutive N4 bits in the first encoded data, the second ratio of the number of corrected bits to the N3 bits is determined to be within a second ratio range corresponding to the matched inner code processing mode, the multiple inner code processing modes respectively correspond to a second ratio range, and different inner code processing modes correspond to different second ratio ranges; N4 is an integer greater than 1; or, In the process of performing inner code decoding on the consecutive N5 code words of the first encoded data, the third number of code words for which error correction fails is determined to be within a third number range corresponding to the matched inner code processing mode; the multiple inner code processing modes respectively correspond to a third number range, and different inner code processing modes correspond to different third number ranges; N5 is an integer greater than 1, or, In the process of performing inner code decoding on the consecutive N6 code words of the first encoded data, the third proportion of the code words that fail to correct the error is determined to be within a third proportion range corresponding to the matched inner code processing mode; the multiple inner code processing modes respectively correspond to a third proportion range, and different inner code processing modes correspond to different third proportion ranges; N6 is an integer greater than 1; or, In the process of performing inner code decoding and outer code decoding on the consecutive N7 code words of the first encoded data, the fourth number of code words for which error correction fails is determined to be within a fourth number range corresponding to the matched inner code processing mode; the multiple inner code processing modes respectively correspond to a fourth number range, and different inner code processing modes correspond to different fourth number ranges; N7 is an integer greater than 1, or, In the process of inner code decoding and outer code decoding of N8 consecutive code words of the first encoded data, the fourth proportion of code words that fail error correction is determined to be within a fourth proportion range corresponding to the matching inner code processing mode; the multiple inner code processing modes respectively correspond to a fourth proportion range, and different inner code processing modes correspond to different fourth proportion ranges; N8 is an integer greater than 1.
30. The method according to any one of claims 17 to 29, characterized in that The first encoded data further carries a decoding indication for indicating a decoding mode adopted in the first inner code processing mode, wherein the decoding mode is hard decoding or soft decoding; The receiving end inner code processing includes inner code decoding, and the inner code decoding adopts the decoding mode indicated by the decoding indication.
31. The method according to any one of claims 17 to 30, characterized in that The first optical communication device and the second optical communication device are both optical modules.
32. The method according to any one of claims 17 to 31, characterized in that The method further comprises: receiving fourth data from the second optical communication device, and detecting a rate of the fourth data; When the adopted inner coding processing mode is determined according to the rate of the fourth data to indicate skipping the receiving end inner coding processing, the receiving end inner coding processing is skipped for the fourth data.
33. An optical module, characterized in that: It includes a communication unit and an internal code processing unit; The communication unit is used to send and receive data; The inner code processing unit is used to execute the method according to any one of claims 1-13, or to execute the method according to any one of claims 17-30.
34. An optical communication device, characterized in that: The method comprises a memory and a processor, wherein the memory stores program code, and the processor is used to run the program code to execute the method as described in any one of claims 1 to 16, or to execute the method as described in any one of claims 17 to 32.
35. An optical communication system, characterized in that: including a first optical communication device and a second optical communication device; The first optical communication device is used to perform the method according to any one of claims 1 to 16; The second optical communication device is used to execute the method according to any one of claims 17-32.
36. A computer-readable storage medium, characterized in that: Program instructions are stored, and when the program instructions are executed on a processor, the processor is caused to execute the method as described in any one of claims 1-16, or to execute the method as described in any one of claims 17-32.
Citation Information
Patent Citations
Method and device for synchronizing forward error correction coding and decoding modes
CN101594206A
Optical module, data processing method and transmitting device
CN107017949A
Data transmission method, communication device and system
CN115134039A
Coding method, decoding method and optical module
CN115473582A
Link monitoring method and device
CN115694718A
