Data transmission method, device and system
By configuring multiple internal code processing modes and carrying mode indications in optical communication systems, the problem that existing optical communication systems cannot adapt to multiple application scenarios is solved, and efficient data transmission in different scenarios is achieved.
Patent Information
- Application Number
- CN202310748877.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-21
- Publication Date
- 2024-12-24
AI Technical Summary
The existing internal code processing solution of optical communication systems cannot be applied to multiple application scenarios, especially when the delay requirements are different in different scenarios, and cannot be effectively adapted.
A data transmission method is provided, by configuring multiple internal code processing modes, selecting suitable internal code processing modes, and carrying mode indications in the data, realizing internal code processing suitable for various application scenarios. Specifically, it includes adding mode indications to the fill sequence, supporting different internal code processing modes, such as convolutional interleaving, cyclic shift, internal code skip mode, etc., and dynamically adjusting the internal code processing mode according to link quality.
It realizes internal code processing applicable in different application scenarios, improves the adaptability and efficiency of data transmission, reduces bit usage, and reduces delay requirements.
Smart Images

Figure CN119182457A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of optical communication technology, and in particular to a data transmission method, device and system. Background Art
[0002] 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. The use of 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-distance scenarios such as artificial intelligence (AI) and high performance computing (HPC), as well as long-distance scenarios, and different scenarios have different latency requirements. The current internal code processing solution for optical communications cannot be applied to a variety of application scenarios. Summary of the invention
[0003] 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.
[0004] In a 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 encoded by an outer code, and the first data is any data in a data stream to be sent; a first inner code processing mode is used to perform transmitting end inner code processing on the first data 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 inner code processing modes configured, and different inner code processing modes in the multiple inner code processing modes have different processing methods.
[0005] Different inner code processing modes have different processing methods, or different inner code processing modes have different processing delays or performances (error correction capabilities), or different inner code processing modes include different types of operations or different operating parameters of the same operation. For example, among the multiple inner code processing modes, several inner code processing modes include inner code encoding, and the several inner code processing modes are different, which may be that the types of operations other than the inner code encoding included in the several inner code processing modes are different, or the types of operations other than the inner code encoding included in the multiple inner code processing modes are different, or the operating parameters of the same operation are different.
[0006] In a possible implementation, before adopting the first inner code processing mode to perform the transmitting end inner code processing on the first data, the first inner code processing mode may be determined first.
[0007] In the embodiment of the present application, multiple inner code processing modes are configured, and the first optical module can select an inner code processing mode from multiple inner code processing modes according to the needs, such as different scenes, and indicate the data generated during the inner code processing to the receiving end. Therefore, the solution provided by the embodiment of the present application can be applied to a variety of application scenarios.
[0008] In a possible implementation, the first mode indication is carried in a filling sequence of the first encoded data. By adding the mode indication in the filling sequence, no additional resources need to be occupied and the baud rate of the transmission will not be changed.
[0009] In a possible implementation, the filling sequence of the first encoded data carries N first mode indications, which can also be understood as carrying N copies of the first mode indication in the filling sequence of the first encoded data, where N is an integer greater than 1. It can also be understood as repeatedly filling N first mode indications in the filling sequence of the first encoded data. By adding multiple copies, the accuracy and efficiency of decoding can be improved.
[0010] In a possible implementation, at least two of the multiple inner code processing modes satisfy at least one of the following:
[0011] The depth of convolution interleaving in the two inner coding processing modes is different; or,
[0012] Only one of the two inner code processing modes includes convolution interleaving; or,
[0013] One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or,
[0014] 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.
[0015] 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.
[0016] In a 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 for the data of each channel in the data of the multiple channels.
[0017] 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.
[0018] In the embodiment of the present application, the second optical communication device at the receiving side may also confirm the selected inner code encoding mode, for example, the second optical communication device at the receiving side may detect the quality of the communication link.
[0019] In a possible implementation, 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 link for communication 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, in a scenario where 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.
[0020] In a possible implementation manner, 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.
[0021] In a possible implementation, the method further includes:
[0022] 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. Exemplarily, the second encoded data carries a first indication, the first indication including 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.
[0023] In another possible implementation, the method further includes:
[0024] 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;
[0025] According to the switching indication, adopting a third inner code processing mode to perform inner code processing at a transmitting end on the third data in the data stream that has been encoded with an outer code;
[0026] 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.
[0027] 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, which can reduce bit occupancy.
[0028] In yet another possible implementation, the method further includes:
[0029] 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 delay or performance (error correction capability) greater than the first inner code processing mode; when the switching indication is a third value, indicating 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;
[0030] According to the switching indication, the third data in the data stream that has been encoded with an outer code is subjected to inner code processing at the transmitting end using the third inner code processing mode; 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.
[0031] 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 and the switching direction. In some scenarios, when multiple inner code processing modes are applicable to the current link environment, multiple inner code processing modes can be provided to the transmitting end as optional.
[0032] In another possible implementation, 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.
[0033] The method further comprises:
[0034] receiving second encoded data from a second optical communication device, the second encoded data carrying a fourth indication;
[0035] 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
[0036] 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.
[0037] In the above scheme, a mode of not skipping inner code processing is first adopted to negotiate the inner code processing mode, that is, the sender and receiver use the first mode indication during the negotiation process. The inner code processing mode to be negotiated is applicable to the scenario of skipping the inner code processing, and is also applicable to the scenario of not skipping the inner code processing, so as to increase the applicable scenarios. In some scenarios, the inner code processing mode adopted in the negotiation process can be the same as the inner code processing mode to be negotiated, or of course, it can be different, which is set according to the requirements, and the embodiments of the present application do not make specific limitations on this.
[0038] In another possible implementation, 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, the third mode indication is used to indicate the inner code processing mode to be negotiated. The third mode indication may be the inner code processing mode to be adopted soon (or in the future).
[0039] In a possible implementation, the method further includes:
[0040] 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;
[0041] According to the confirmation indication, using a third inner code processing mode to perform a transmitting end inner code processing on the third data;
[0042] 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.
[0043] In a possible implementation manner, the first encoded data further 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.
[0044] In some possible scenarios, the first optical communication device and the second optical communication device are both optical modules.
[0045] In some other possible scenarios, when the first optical communication device includes a first host and a first optical module, the first host is used to perform outer code encoding, and the first optical module is used to perform inner code processing. The method also includes: the first host obtains the fourth data in the data stream to be sent; the first host performs outer code encoding on the fourth data to obtain the fourth data encoded by the outer code, and sends it to the first optical module; the first optical module skips the execution of the transmitting end inner code processing for the fourth data encoded by the outer code, and outputs the fourth data encoded by the outer code. In the case where the transmitting side adopts skipping the transmitting end inner code processing, the first host can notify the first optical module to execute.
[0046] In a possible implementation, the fourth data New Jin Ping Mei encoded by the outer code can be obtained by the outer code encoding before the first host and 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.
[0047] In a second aspect, an embodiment of the present application provides another data transmission method, which is applied to a second optical communication device, including:
[0048] 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;
[0049] The first inner code processing mode is used to perform receiving end inner code processing on the first encoded data to obtain first data.
[0050] In a possible implementation manner, the first mode indication is carried in a filling sequence of the first encoded data.
[0051] In one possible implementation, a padding sequence of the first encoded data carries N copies of the first mode indication.
[0052] In a possible implementation, at least two of the multiple inner code processing modes satisfy at least one of the following:
[0053] The depth of convolution interleaving in the two inner coding processing modes is different; or,
[0054] Only one of the two inner code processing modes includes convolution interleaving; or,
[0055] One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or,
[0056] 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.
[0057] In a possible implementation, the inner code processing at the receiving end corresponding to the first inner code processing mode includes at least de-stuffing processing and de-channel interleaving; the de-stuffing processing includes detecting the first mode indication;
[0058] The de-stuffing process is located before the de-channel interleaving process; or,
[0059] 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.
[0060] In a possible implementation, the method further includes:
[0061] 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;
[0062] receiving third encoded data from the first optical communication device;
[0063] The second inner code processing mode is used to perform receiving-end inner code processing on the third encoded data.
[0064] 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.
[0065] In a possible implementation, the method further includes:
[0066] 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.
[0067] In a possible implementation, the method further includes:
[0068] receiving third encoded data from the first optical communication device;
[0069] 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,
[0070] 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.
[0071] In a possible implementation, the method further includes:
[0072] 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 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.
[0073] In a possible implementation, the method further includes:
[0074] receiving third encoded data from the first optical communication device;
[0075] According to the switching indication, adopting a third inner code processing mode to perform receiving-end inner code processing on the third encoded data;
[0076] 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.
[0077] In a possible implementation manner, 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;
[0078] Sending second encoded data to the first optical communication device, the second encoded data carrying a fourth indication;
[0079] 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,
[0080] 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.
[0081] In a possible implementation manner, 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;
[0082] The method further comprises:
[0083] 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.
[0084] In a possible implementation, the method further includes:
[0085] 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:
[0086] 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,
[0087] 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,
[0088] 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,
[0089] 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,
[0090] 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,
[0091] 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,
[0092] 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,
[0093] 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.
[0094] In a possible implementation manner, the first encoded data further carries a decoding indication for indicating a decoding mode adopted in the first inner code processing mode, and the decoding mode is hard decoding or soft decoding;
[0095] The receiving end inner code processing includes inner code decoding, and the inner code decoding adopts the decoding mode indicated by the decoding indication.
[0096] In a possible implementation manner, both the first optical communication device and the second optical communication device are optical modules.
[0097] In a possible implementation, the method further includes:
[0098] receiving fourth data from the second optical communication device, and detecting a rate of the fourth data;
[0099] 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.
[0100] In a third aspect, an embodiment of the present application provides a data transmission method, which is applied to a first optical communication device, wherein the first optical communication device includes a first host and a first optical module, and the method includes:
[0101] Acquire first data through the first host, where the first data is any data in the data stream to be sent;
[0102] The first data is encoded with an outer code by the first host, the first data encoded with an outer code carries a first mode indication, and the first mode indication is used to indicate a first inner code processing mode adopted by the second optical communication device to communicate with the first optical communication device; the first inner code processing mode is one of the configured multiple inner code processing modes, and different inner code processing modes among the multiple inner code processing modes have different processing delays or performances (error correction capabilities);
[0103] The first optical module uses 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 a second optical communication device. The second inner code processing mode is a default inner code processing mode among the multiple inner code processing modes.
[0104] In the above scheme, the host indicates the inner code processing mode to be used. The optical module first uses the default inner code processing mode for inner code processing. The inner code processing mode indicated by the host can be skipping inner code processing or non-skipping inner code processing. If the inner code processing is not skipped, the inner code processing mode indicated by the host includes at least inner code encoding and PAD insertion.
[0105] In a 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.
[0106] In a possible implementation manner, the first mode indication is carried in a filling sequence of the first data encoded by the outer code.
[0107] 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.
[0108] In a possible implementation, at least two of the multiple inner code processing modes satisfy at least one of the following:
[0109] The depth of convolution interleaving in the two inner coding processing modes is different; or,
[0110] Only one of the two inner code processing modes includes convolution interleaving; or,
[0111] One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or,
[0112] 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.
[0113] In a possible implementation, the method further includes:
[0114] receiving, by the first optical module, second encoded data from a second optical communication device;
[0115] 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 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;
[0116] The first host performs external code decoding processing on the second data encoded by the external code to obtain the decoded second data.
[0117] In the above scheme, if the first inner code processing mode is to skip the 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 use the first inner code processing to skip the inner code processing on the second encoded data.
[0118] In a possible implementation, the method further includes:
[0119] 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.
[0120] 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.
[0121] In a possible implementation, the method further includes:
[0122] receiving, by the first optical module, second encoded data from a second optical communication device;
[0123] 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;
[0124] The first host performs external code decoding processing on the second data encoded with the external code to obtain the decoded second data.
[0125] In a possible implementation, the second data encoded by the outer code carries a second indication, and 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 link for communication between the first optical communication device and the second optical communication device;
[0126] The method further comprises:
[0127] Using the third inner code processing mode through the first optical module, performing a transmitting end inner code processing on the third data encoded by the outer code in the data stream to obtain third encoded data, and sending the third encoded data;
[0128] 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 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.
[0129] In a possible implementation, the second data encoded by the outer code carries a third indication, and 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 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;
[0130] The method further comprises:
[0131] Using the third inner code processing mode according to the switching indication, the first optical module performs a 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;
[0132] 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,
[0133] 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,
[0134] 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.
[0135] 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 at least includes 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.
[0136] In a possible implementation manner, the first mode indication is carried in a filling sequence of the first data encoded by the outer code.
[0137] 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.
[0138] In a possible implementation, at least two of the multiple inner code processing modes satisfy at least one of the following:
[0139] The depth of convolution interleaving in the two inner coding processing modes is different; or,
[0140] Only one of the two inner code processing modes includes convolution interleaving; or,
[0141] One of the two inner code processing modes includes cyclic shift, and the other inner code processing mode does not include cyclic shift; or,
[0142] 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.
[0143] In a possible implementation, the method further includes:
[0144] The second host performs outer code encoding processing on the second data in the data stream 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 link for communication between the first optical communication device and the second optical communication device;
[0145] The inner code processing mode indicated by the second mode indication is different from the first inner code processing mode;
[0146] Performing a transmitting-end inner code processing on the second data encoded by the outer code by using the second optical module in the first inner code processing mode to obtain second encoded data;
[0147] The second encoded data is transmitted to the first optical communication device through the second optical module.
[0148] In a possible implementation, the method further includes:
[0149] receiving, by the second optical module, third encoded data from the first optical communication device;
[0150] 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.
[0151] 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.
[0152] In a possible implementation, the method further includes:
[0153] The second host performs outer code encoding on the second data in the data stream to obtain outer code encoded second data; the outer code encoded second data carries the first mode indication;
[0154] The second optical module uses the first inner code processing mode to perform transmitting-end inner code processing on the second encoded data to obtain second encoded data, and the second encoded data is sent to the second optical communication device.
[0155] In a possible implementation, the second data encoded by the outer code carries a second indication, and 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 link for communication between the first optical communication device and the second optical communication device;
[0156] The method further comprises:
[0157] After sending the second encoded data, receiving third encoded data through the second optical module, and performing receiving end inner code processing on the third encoded data using a third inner code processing mode;
[0158] 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 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.
[0159] In a possible implementation, the second data encoded by the outer code carries a third indication, and 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 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;
[0160] The method further comprises:
[0161] 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 indication to perform inner code processing on the third data encoded by the outer code in the data stream at the transmitting end;
[0162] 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,
[0163] 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,
[0164] 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.
[0165] In a possible implementation, the method further includes:
[0166] 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:
[0167] In the process of performing outer code decoding on M1 consecutive code blocks of the first encoded data, the number of code blocks that fail to correct errors is determined to be within a number range corresponding to the matched inner code processing mode; the multiple inner code processing modes respectively correspond to a number range, and different inner code processing modes correspond to different number ranges; M1 is an integer greater than 1, or,
[0168] In the process of inner code decoding and outer code decoding of M2 consecutive code blocks of the first encoded data, the proportion of code blocks that fail error correction is determined to be within the proportion range corresponding to the matching inner code processing mode; the multiple inner code processing modes correspond to a proportion range respectively, and different inner code processing modes correspond to different proportion ranges; M2 is an integer greater than 1.
[0169] In the 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.
[0170] 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,
[0171] In a seventh aspect, an embodiment of the present application provides an optical communication device, comprising a memory and a processor, wherein the memory stores program instructions, and the processor runs the program instructions to execute the method provided in the first aspect, the second aspect, and any possible implementation manner of the present application.
[0172] In an eighth aspect, the present application provides a computer-readable storage medium, comprising program instructions, which, when executed on a computer device, enables the computer device to execute the method provided in the first aspect, the second aspect, and any possible implementation manner of the present application.
[0173] 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 manner of the present application.
[0174] Based on the implementations provided in the above aspects, the present application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS
[0175] Figure 1 A schematic diagram of the structure of an optical communication system provided in an embodiment of the present application;
[0176] Figure 2A A schematic diagram of an inner code processing flow of a transceiver provided in an embodiment of the present application;
[0177] Figure 2B A schematic diagram of another inner code processing flow of a transceiver provided in an embodiment of the present application;
[0178] Figure 3A schematic diagram of a data transmission method flow chart provided in Example 1 of an embodiment of the present application;
[0179] Figure 4 A schematic diagram of a frame structure provided in an embodiment of the present application;
[0180] Figure 5A A schematic diagram of a mode indication insertion process provided in an embodiment of the present application;
[0181] Figure 5B A schematic diagram of another insertion process of a mode indication provided in an embodiment of the present application;
[0182] Fig. 6A A schematic diagram of a data transmission method flow chart provided in Example 2 of an embodiment of the present application;
[0183] Figure 6B A schematic diagram of another data transmission method flow chart provided in Example 2 of an embodiment of the present application;
[0184] Figure 6C A flowchart of another data transmission method provided in Example 2 of the embodiment of the present application;
[0185] Figure 7 A schematic diagram of a data transmission method flow chart provided in Example 3 of an embodiment of the present application;
[0186] Figure 8 A schematic diagram of a second indication structure provided for Example 3 of an embodiment of the present application;
[0187] Fig. 9A A flowchart of a data transmission method provided in Example 4 of an embodiment of the present application;
[0188] Fig. 9B A flowchart of another data transmission method provided in Example 4 of the embodiment of the present application;
[0189] Fig.10 A flowchart of a data transmission method provided in Example 5 of an embodiment of the present application;
[0190] Fig.11 A flowchart of a data transmission method provided in Example 6 of an embodiment of the present application;
[0191] Fig.12 A flowchart of a data transmission method provided in Example 7 of an embodiment of the present application;
[0192] Fig.13 A schematic diagram of the structure of an optical module provided in an embodiment of the present application;
[0193] Fig.14Another structural schematic diagram of an optical module provided in an embodiment of the present application;
[0194] Fig.15 A schematic diagram of the structure of an optical communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0195] 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.
[0196] Among them, in the description of this application, unless otherwise specified, "multiple" means two or more than two. In addition, " / " indicates that the objects associated before and after are in an "or" relationship, for example, A / B can represent A or B; "and / or" in this application is only a description of the association relationship of the associated objects, indicating that there can be three relationships, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. In addition, in order to facilitate the clear description of the technical solution of the embodiment of the present application, in the embodiment of the present application, the words "first" and "second" are used to distinguish the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first" and "second" do not limit the quantity and execution order, and the words "first" and "second" do not limit them to be different. It should also be noted that, unless otherwise specified, the specific description of some technical features in one embodiment can also be used to explain the corresponding technical features mentioned in other embodiments. In the embodiment of the present application, "data" can also be referred to as "signal".
[0197] Before explaining the embodiments of the present application in detail, the optical communication system applied in the embodiments of the present application is first described. Figure 1 The figure is a schematic diagram of the structure of an optical communication system. The optical communication system includes multiple optical communication devices. Figure 1In the figure, two optical communication devices are taken as examples, namely the first optical communication device 100 and the 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 be the transmitting end and the receiving end of 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 chip (host chip), and the second host 210 may be referred to as a second client 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. AUI may also be referred to as 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 may support bidirectional transmission or unidirectional transmission, which is not specifically limited in the embodiment of the present application.
[0198] After the data stream to be sent on the first host 110 is processed by the transmitting end outer code (at least including the transmitting end outer code encoding) on the first host 110, it can be sent to the first optical module 120 through the attachment unit interface (AUI) / attachment unit interface channel. The first optical module 120 processes the data stream that has been encoded by the outer code, and the processing of the first optical module 120 at least includes the transmitting end inner code processing. The first optical module 120 can send the processed encoded data stream to the second optical communication device 200 through 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, and the inverse processing at least includes the receiving end inner code processing. Then, the inversely processed data stream is sent to the second host 210 through the AUI channel. The second host 210 performs the receiving end outer code processing (at least including the receiving end outer code decoding) on the received data stream to complete the transmission process of the data stream.
[0199] Among them, the "inner" in the inner code and the "outer" in the outer code indicate the distance of the execution subject that operates on the data relative to the channel transmission medium 300. The execution subject that operates on the inner code is closer to the channel transmission medium, and the execution subject that operates on the outer code is farther away from the channel transmission medium. In the embodiment of the present application, since the data is transmitted from the first host 110 to the channel transmission medium 300 through the first optical module 120, and then transmitted from the channel transmission medium 300 to the second host 210 through 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 called data processed by the outer code, the data processed by the first optical module 120 is called data processed by the inner code, the data processed by the second host 210 is called data processed by the outer code, and the data processed by the second optical module 220 is called data processed by the inner code.
[0200] Optical communication scenarios can include data centers, cloud storage, cloud computing, and 5G base station backbone network transmission. Optical communication scenarios include short-distance scenarios such as artificial intelligence (AI) and high-performance computing (HPC), as well as long-distance scenarios. Different scenarios have different requirements for latency. Some scenarios have strict requirements for latency, while some scenarios allow a certain amount of latency. Therefore, the current encoding processing solution cannot adapt to a variety of application scenarios.
[0201] Based on this, the present application implements a signal transmission method, device and system, and provides a solution to adapt to various application scenarios. The embodiment of the present application provides a selection scheme for inner code processing, configures multiple inner code processing modes, and can select a suitable inner code processing mode according to needs. The embodiment of the present application provides multiple inner code processing modes, and different inner code processing modes in the multiple inner code processing modes have different processing delays or performances (error correction capabilities).
[0202] Exemplarily, the inner code processing at the transmitting end may include multiple operations, which may include: one or more of: convolution 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, which may include: PAD processing, channel deinterleaving, inner code decoding (or inner code decoding), cyclic shift, deconvolution interleaving.
[0203] See also Figure 2A and Figure 2B The figures are schematic diagrams of the inner code processing flow of the transmitting and receiving ends provided in the embodiments of the present application. Figure 2A and Figure 2B The difference is that the execution position of PAD insertion (PAD processing) in the inner code processing flow is different.
[0204] See also Figure 2A As shown, when the first optical module 120 performs the inner code processing at the transmitting end, it sequentially performs convolution interleaving, cyclic shift, inner code coding, channel interleaving, and periodic insertion of PAD sequence on the received outer code encoded data. Correspondingly, when the second optical module 220 performs the inner code processing at the receiving end, it sequentially performs PAD processing, channel deinterleaving, inner code decoding, cyclic shift, and deconvolution interleaving operations. The PAD insertion operation can also be performed before the inner code coding and channel interleaving, such as Figure 2B When the first optical module 120 performs the inner code processing at the transmitting end, it sequentially performs convolution interleaving, cyclic shifting, periodically inserting PAD sequence, inner code coding, channel interleaving and other operations on the received outer code encoded data. Correspondingly, when the second optical module 220 performs the inner code processing at the receiving end, it sequentially performs the operations of channel deinterleaving, inner code decoding, PAD processing, cyclic shifting, and deconvolution interleaving.
[0205] 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). Figure 2A or Figure 2B The inner code processing flow shown may not meet the requirements. In the embodiment of the present application, it is possible to turn off / transmit certain operations, such as turning off / transmitting convolution interleaving operations. Alternatively, the interleaving depth of the convolution interleaving operation can be reduced to reduce latency. Based on this, the embodiment of the present application can configure a variety of inner code processing modes. Different inner code processing modes have different processing methods, or different inner code processing modes have different processing delays or performances (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 coding, and the different inner code processing modes may be different in the categories of operations other than the inner code coding included in the several inner code processing modes, or the types of operations other than the inner code coding included in the multiple inner code processing modes are different or the operating parameters for the same operation are different.
[0206] The following is an exemplary description of 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, including:
[0207] The depths of 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.
[0208] 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, etc. The fully coded interleaving mode can be that all steps included in the inner code processing at the transmitting end / receiving end are executed, 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 that all steps included in the inner code processing at the transmitting end / receiving end are executed, 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 of 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, the bits are written in the form of rows and read out in the form of columns to perform the 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 may include multiple half-coded interleaving modes, and different half-coded interleaving modes have different interleaving depths.
[0209] The data transmission scheme in the embodiment of the present application is described below in conjunction with the accompanying drawings. The embodiment of the present application exemplarily provides multiple data transmission schemes.
[0210] In the first possible transmission mode, the transmitting end selects the inner code processing mode, and the optical module adds a mode indication for indicating the inner code processing mode to the data during the inner code processing process to indicate it to the receiving end. The indicated inner code processing mode includes at least inner code encoding and PAD insertion.
[0211] In the second possible transmission mode, after the transmitting end selects an inner code processing mode and indicates it to the receiving end, the receiving end can determine whether the inner code processing mode selected by the transmitting end matches the channel quality according to the detected channel quality.
[0212] In a third possible transmission mode, the inner code processing mode selected by the transmitting end is to skip the inner code processing at the transmitting end, and the host adds the mode indication to the data during the outer code processing.
[0213] In a fourth possible transmission method, the transmitting end carries the inner code processing mode adopted with the receiving end during the outer code processing.
[0214] The above four transmission modes are explained below in conjunction with the accompanying drawings. The following is explained in conjunction with 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 takes the example that 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 not be described later.
[0215] The first possible transmission mode is described below in conjunction with the accompanying drawings. Example 1 is suitable for the scenario where the first optical communication device and the second optical communication device are mutually transmitting and receiving ends, and is also suitable for the scenario of unidirectional transmission, that is, the scenario where the first optical communication device is the transmitting end and the second optical communication device is the receiving end.
[0216] Example 1:
[0217] Combine as follows Figure 3 The solution provided in the embodiment of the present application is described in detail. Figure 3 As shown, it is a flowchart of the data transmission method provided in Example 1 of an embodiment of the present application.
[0218] 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.
[0219] S302, the first optical module determines a first inner code processing mode. The first inner code processing mode is one of the multiple inner code processing modes configured. 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, 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, S303 is executed.
[0220] S303, the first optical module uses the first inner code processing mode to perform the transmitting end inner code processing on the first data to obtain the first encoded data. The first encoded data described here can be understood as the data after the inner code processing and the outer code processing. It should be noted that the first encoded data is used here to name the first data after the transmitting end inner code processing, and other naming methods can also be used, which is not specifically limited in the embodiments of the present application.
[0221] The first encoded data carries a first mode indication for indicating a 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 can be understood as an inner code processing mode that does not skip the transmitting end inner code processing. Exemplarily, the first mode indication can be carried in the padding (PAD) sequence of the first encoded data. It can be understood that when the first optical module performs PAD insertion in the transmitting end inner code processing, the first mode indication is inserted into the PAD sequence. The embodiment of the present application does not limit the position of the mode indication in the PAD sequence, for example, it can be inserted after the synchronization sequence and 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 indication, that is, in the process of performing PAD insertion, the N copies of the first mode indication are inserted into the PAD sequence, which can improve the efficiency of the pattern recognition of the receiving end. The first encoded data carries N copies of the first mode indication in the padding sequence, which can also be understood as the first encoded data carrying N copies of the first mode indication in the padding sequence, and 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.
[0222] As an example, take the frame structure (or data structure) of 3264*128bit+384bit as an example, see Figure 4 As shown. 384 bits are used as PAD sequences. Each 128 bits can be understood as a forward error correction (FEC) code block. The first optical module 110 periodically adds PAD sequences to the data stream, for example, Figure 4Taking the frame structure shown in FIG. 1 as an example, the inner code adopts (128, 120) encoding based on Hamming codewords, and 384 PAD bits (i.e., PAD sequence) are inserted every 3264 codewords of inner code (128, 120) (codewords of inner code or inner coderwords). In other embodiments, 1024 PAD bits can also be inserted every 8704 codewords of inner code (128, 120). PAD bits can also include framing sequence (FS), alignment marker (AM), cyclic redundancy checksum (CRC), etc.
[0223] 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.
[0224] 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 convolution interleaved transparent mode, and the values of the mode indications corresponding to the two inner code processing modes can be configured by 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, the fully coded interleaved mode can also be indicated by 1, and the convolution interleaved transparent mode can be indicated by 0. The two inner code processing modes can also be configured with mode indications by 2 bits, for example, see Table 2. The signal finally 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, two symbols with a lower bit error rate of the PAM4 signal in the corresponding channel transmission. Of course, any two symbols in {00, 01, 11, 10} may also be used as mode indications of 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, and the bit width of the mode indication corresponding to the two inner code processing modes may be 1 bit or 2 bits, and of course a larger bit width may also be used. The configuration of the specific corresponding relationship can refer to the configuration methods of Table 1 and Table 2, which will not be repeated here.
[0225] Table 1
[0226] Internal code processing mode Mode indication (single bit) Fully coded interleaved mode 0 Convolution interleaved transparency mode 1
[0227] Table 2
[0228] Internal code processing mode Mode indication (two bits) Fully coded interleaved mode 00 Convolution interleaved transparency mode 10
[0229] As another example, the configured inner code processing mode includes a fully coded interleaved mode, a convolutional interleaved transparent mode, and a half-coded interleaved mode. The mode indications corresponding to the above 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 the embodiment of the present application. For example, see Table 3.
[0230] Table 3
[0231] Internal code processing mode Mode Indicator Fully coded interleaved mode 00 Half Coded Interleaving Mode 01 Convolution interleaved transparency mode 10
[0232] Note that the correspondence between the inner code processing modes and the mode indications in Tables 1 to 3 above is not unique, but needs to correspond one to one. In addition, the configured inner code processing modes may include more than 4, and a mode indication with a higher bit width may be used, and the specific relationships are not listed one by one.
[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 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 a possible implementation, the first encoded data may also carry a decoding indication for indicating a decoding method used in the first inner code processing mode, and the decoding method is hard decoding or soft decoding. Furthermore, when inner code decoding is performed in the process of performing inner code processing on the first encoded data at the receiving end using the first inner code processing mode, inner code decoding may be performed using hard decoding or soft decoding according to the decoding indication. Hard decoding may be understood as using hardware to perform inner code decoding. Soft decoding may be understood as using a software algorithm to perform inner code decoding. In addition, the embodiment of the present application may indicate the use of an inner code processing mode and the decoding method used in the inner code processing mode through a mode indication. For example, a value of a mode indication is used to indicate the use of a fully coded interleaving mode, and hard coding is used in the fully coded interleaving mode, and another value of the mode indication is used to indicate the use of a fully coded interleaving mode, and soft coding is used in the fully coded interleaving mode. This implementation is also applicable to other examples, and no further description is given in other examples.
[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 big 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 to the inner code processing method of the transmitting end one by one. 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] Through the above description, the addition of mode indication can be performed in PAD addition. Taking the above first mode indication as an example, the transmitting end inner code processing corresponding to the above first inner code processing mode includes at least padding processing and channel interleaving; the padding processing includes the addition of the first mode indication for indicating the first inner code processing mode. In one embodiment, the padding processing can be located after the channel interleaving, see Figure 2A In another embodiment, the padding process is performed before the channel interleaving process, see Figure 2B shown.
[0238] Combine as follows Figure 5A and Figure 5B The insertion flow of the mode indication is described.
[0239] See also Figure 5AAs shown, the padding process is performed after channel interleaving. Figure 3 For example, for the first data in the first data stream. After the first data is encoded by the outer code, 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.33GBd. 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 part and a 24-bit check part. In an embodiment of the present application, a mode indication (such as a first mode indication) can be used as fill to any position of other PAD sequence data parts. It can be understood that the PAD sequence in the first encoded data includes a mode indication (i.e., the first mode indication). During the insertion process, N copies of the mode indication (N>=1) can also be inserted into the PAD sequence to improve the efficiency of pattern recognition at the receiving end.
[0240] See also Figure 5B As shown, the mode indication can also be added to each FEC data stream before channel interleaving. For each of the g data streams after convolution interleaving and cyclic shift, the mode indication is inserted. During the insertion process, N copies of the mode indication (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 adopts the same data encoding mode, the inserted mode indication is also the same. After completing PAD, each k streams are grouped together for channel interleaving, and finally m data streams of 113.4375GB are formed to enter the channel (k=g / m). The insertion interval of PAD here is to insert 1024 PAD bits for every 8704 inner code (128, 120) codewords. In this embodiment, the bit data of the mode indication is contained in 1024 bits, and no new redundancy needs to be generated. Similarly, the bit data of the mode indication in this scheme can be filled into the PAD sequence data part.
[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] See also Figure 6A-6B The figure is a flow chart of the data transmission method provided in the 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 as follows.
[0246] Method 1: Syndrome detection.
[0247] At the receiving end, a number of consecutive code words (code words can also be called code blocks) are detected for syndromes, and the number or proportion of non-zero syndromes is counted. For example, if the inner code is encoded using a coding method based on Hamming code, the number or proportion of non-zero syndromes can be detected for a number of consecutive inner code words at the receiving end, and the number or proportion of non-zero syndromes can be counted, and then compared with the set number threshold or proportion threshold to determine the matching inner code processing mode.
[0248] Taking the first encoded data as an example, the second optical module determines the first number of non-zero syndromes in the syndromes of N1 consecutive codewords (i.e., inner code codewords) in the first encoded data during the inner code decoding process of the first encoded data. The first number is within the first number range corresponding to a certain inner code processing mode among multiple inner code processing modes, that is, the certain inner code processing mode matches the quality of the link. That is, the first number is within the first number range corresponding to the matching inner code processing mode. Multiple inner code processing modes correspond to a first number range respectively, and different inner code processing modes correspond to different first number ranges; N1 is an integer greater than 1.
[0249] Alternatively, 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 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 certain inner code processing mode among multiple inner code processing modes, that is, the certain inner code processing mode matches the quality of the link. That is, the first ratio is within a first ratio range corresponding to the matching inner code processing mode; the multiple inner code processing modes correspond to a first ratio range respectively, and different inner code processing modes correspond to 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 bits flipped (or corrected) of a number of consecutive code words (i.e., inner code words) is detected. For example, inner code encoding uses a coding method based on Hamming code to decode a number of consecutive inner codes, record the number or ratio of bits flipped (corrected) during the decoding process, and then compare it with the set number threshold or ratio threshold to determine the matching inner code processing mode.
[0252] Taking the first encoded data as an example, during the inner code decoding process of the continuous N3 bits in the first encoded data, the number of corrected bits determined by the second optical module is within the second number range corresponding to the matching inner code processing mode, and the multiple inner code processing modes correspond to a second number range respectively, and different inner code processing modes correspond to different second number ranges. N3 is an integer greater than 1. Or,
[0253] In the process of performing inner code decoding on the consecutive N4 bits in the first encoded data, the second optical module determines that the number of corrected bits accounts for a second proportion of the N3 bits, which is located within a second proportion range corresponding to the matching inner code processing mode, and the multiple inner code processing modes correspond to a second proportion range respectively, and different inner code processing modes correspond to different second proportion ranges. N4 is an integer greater than 1.
[0254] Method 3: By counting the number or proportion of uncorrectable words in the inner code.
[0255] After a number of consecutive code words (also understood as inner code words) are decoded and verified at the receiving end, the number or proportion of code words whose syndromes are still non-zero (i.e., inner code words whose error correction fails) is counted. For example, inner code encoding adopts a coding method based on Hamming code, and for a number of consecutive inner code words, the number or proportion of code words whose syndromes are still non-zero after inner code decoding is counted, and compared with a preset number threshold or proportion threshold, to determine the inner code processing mode suitable for the current link quality.
[0256] Taking the decoding of the first encoded data as an example, 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 that failed error correction is determined to be within the third number range corresponding to the matched inner code processing mode; the multiple inner code processing modes correspond to a third number range respectively, and different inner code processing modes correspond to different third number ranges. N5 is an integer greater than 1. Or,
[0257] 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 (i.e., the inner code code words) that fail error correction 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.
[0258] Method 4: Detection of the number or ratio of uncorrectable code words after outer code decoding.
[0259] After the second optical module completes the 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 the consecutive N7 code words of the first encoded data, the fourth number of code words (such as KP4 code words) that failed error correction is determined to be within the fourth number range corresponding to the matching inner code processing mode; the multiple inner code processing modes correspond to a fourth number range respectively, 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, the fourth proportion of code words (such as KP4 code words) that fail error correction is determined to be within the 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.
[0262] Further, after detecting the link quality, the second optical module determines the matching inner code processing mode, and for example, the matching inner code processing mode corresponds to the second mode indication, which can be fed back to the first optical module through the return channel.
[0263] S606: The second optical module sends second encoded data to the first optical communication device, wherein the second encoded data carries a second mode indication, wherein the second inner code processing mode indicated by the second mode indication matches the quality of the link detected by the second optical module. Fig. 6A If the second encoded data is obtained by performing transmitting-end inner code encoding using the inner code processing mode indicated by the second mode, S607a is executed. Figure 6BIf the second coded data is obtained by performing inner code coding at the transmitting end using the inner code processing mode before switching, 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. When 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. When 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.
[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 by 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 by 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 third encoded data to the second optical module.
[0269] S610: After receiving the third encoded data, the second optical module uses the second inner code processing mode to perform receiving end inner code processing on the third encoded data.
[0270] In some possible implementations, Fig. 6A In the illustrated solution, the inner code processing mode indicated by the second mode indicator includes at least inner code encoding and PAD insertion. In this embodiment, during the first optical module performs S608, the second mode indicator may also be inserted into the third encoded data during the inner code processing at the transmitting end.
[0271] In some other possible implementations, Figure 6BThe scheme shown is applicable to the scheme in which the inner code processing mode indicated by the second mode indication includes at least inner code encoding and PAD insertion, and is also applicable to the scheme in which the inner code processing mode indicated by the second mode indication is to skip the inner code processing. In the case where the inner code processing mode indicated by the second mode indication is the skip mode, when the first optical module executes S608, the inner code processing mode indicated by the second mode indication is used to perform the inner code processing on the third data encoded by the outer code in the data stream to be sent, that is, the inner code processing mode indicated by the second mode indication is used to skip the inner code processing on the sending end. Then, after receiving the third encoded data, the second optical module can skip the inner code processing on the receiving end.
[0272] In some possible implementations, Figure 6B 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, the first indication can be carried in the second encoded data, and the 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, see Figure 6C shown. Figure 6C and Figure 6B The difference is: Figure 6C The second encoded data carries the first indication, Figure 6B The second encoded data carries a second mode indication.
[0273] Example 3:
[0274] See also Figure 7 The figure is a flow chart of a data transmission method provided in Example 3 of the embodiment of the present application. In Example 2, the second optical module adopts an explicit indication method, and in Example 3, an indirect indication method is adopted to indicate whether the inner code processing mode indicated by the transmitting end matches the current link quality.
[0275] S701-S705, refer to S301-S305, which will not be repeated here.
[0276] S706, the second optical module sends second coded data to the first optical communication device (first optical module), and the second coded data carries a second indication. During the inner code processing performed by the second optical module, the second coded data can be processed by the first inner code processing mode indicated by the first mode indication according to the indication of the first optical module for the transmitting end inner code processing.
[0277] See also Figure 8 As shown, the second indication consists of two parts, the first half is a copy of the first mode indication, and the second half is a switching indication. That is, the second indication includes the first mode indication and the switching indication.
[0278] In the first possible way, 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, such as 0 for mismatch (switching), 1 for match (not switching); for another example, 1 for mismatch and 0 for match. In another example, the switching indication can occupy 2 bits of bit width, such as 00 and 10, such as 00 for mismatch and 10 for match; for another example, 10 for mismatch and 00 for match. The switching indication can use any two of 00, 01, 10 and 11, and the embodiment of the present application does not specifically limit this. The bit width occupied by the switching indication is not specifically limited in the embodiment of the present application.
[0279] Table 4
[0280]
[0281] 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 and the second optical communication device matches; when the switching indication is a third value, it is used to indicate switching to an inner code processing mode whose delay 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 delay 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. In an 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 whose delay or performance (error correction capability) is greater than the first inner code processing mode, and 11 indicates switching to an inner code processing mode whose delay or performance (error correction capability) is less than the first inner code processing mode. The switching indication can use 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 embodiments of the present application.
[0282] Table 5
[0283]
[0284] S707, see S607b, which will not be described in detail here.
[0285] S708: After receiving the second encoded data, the first optical module adopts the inner code processing mode to perform transmitting end inner code processing on the third data encoded by the outer code in the data stream to be transmitted according to the switching instruction.
[0286] In the first possible manner described above, 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. It can be understood that when the switching indication is the first value, the switching is not performed, and the first inner code processing mode indicated by the first mode indication is continued to be used to perform the transmitting inner code processing on the data in the data stream. When the switching indication is the second value, the switching 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, when the configured inner code processing modes include two, when the switching indication is the second value, another inner code processing mode other than the inner code processing mode indicated by the first optical mode is directly used to perform the transmitting inner code processing on the transmitting data stream.
[0287] 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 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 the 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.
[0288] Example 4:
[0289] See also Fig. 9A and Fig. 9B , which is a flow chart of a data transmission method provided by 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 adopted in the negotiation process and the inner code processing mode to be negotiated.
[0290] S901-S902, refer to S301-S302, which will not be described in detail here.
[0291] S903, the first optical module performs a 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 after inner code processing and outer code processing.
[0292] 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.
[0293] S904-S905, refer to S304-S305, which will not be repeated here.
[0294] 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.
[0295] 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 the inner code processing on the transmitting end.
[0296] 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 inner code processing on the third data encoded by the outer code in the data stream at the transmitting end. 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 inner code processing on the third data at the transmitting end.
[0297] 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.
[0298] S907, see S607b, which will not be described in detail here.
[0299] S908a, when the fourth indication includes the third mode indication, the first optical module performs transmitting-end inner code processing on the third data encoded by 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.
[0300] In some embodiments, the inner code processing mode indicated by the third mode indication may be an inner code processing mode for skipping the inner code processing at the transmitting end, or may not be an inner code processing mode for skipping the inner code processing at the transmitting end.
[0301] 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 by the outer code in the data stream to be transmitted using the inner code processing mode indicated by the fourth mode indication, to obtain 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 for skipping the execution of the transmitting-end inner code processing, or may not be an inner code processing mode for skipping the execution of the transmitting-end inner code processing.
[0302] S909: The first optical module sends a third encoded data stream to the second optical module.
[0303] Example 5:
[0304] See also Fig.10 As shown, it is a flow chart of the data transmission method provided by an embodiment of the present application. In Example 5, the first optical module and the second optical module adopt a negotiation method. The difference between Example 5 and Example 4 is that the fourth indication fed back by the second optical module no longer explicitly indicates the confirmed inner code processing mode, but indicates whether to adopt the inner code processing mode to be negotiated indicated by the first optical module.
[0305] S1001-S1005, refer to S901-S905, which will not be described in detail here.
[0306] 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.
[0307] 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 the inner code processing on the transmitting end.
[0308] 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 link for communication between the first optical communication device and the second optical communication device.
[0309] 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.
[0310] S1007, see S907, which will not be repeated here.
[0311] S1008: The first optical module selects a fourth inner code processing mode according to the confirmation indication, and performs a 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.
[0312] In some embodiments, the inner code processing mode indicated by the third mode indication may be an inner code processing mode for skipping the inner code processing at the transmitting end, or may not be an inner code processing mode for skipping the inner code processing at the transmitting end.
[0313] When the confirmation indication is the first value, the fourth inner code processing mode is the inner code processing mode indicated by the third mode indication. Alternatively, when the confirmation indication is the 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 indication.
[0314] S1009: The first optical module sends a third encoded data stream to the second optical module.
[0315] 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.
[0316] Example 6:
[0317] Combine as follows Fig.11 The solution provided in Example 6 of the embodiment of the present application is described in detail. Fig.11 As shown, it is a flowchart of a data transmission method provided by Example 6 of the embodiment of the present application. Example 6 can be aimed at the scenario of full transparent transmission inner code processing, and can directly instruct the receiving end to perform full transparent transmission inner code processing, that is, skip the execution of the transmitting end / receiving end inner code processing.
[0318] 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 mode of fully transparent inner code processing (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 mode of skipping the transmitting end inner code processing, the optical module at the receiving end can identify whether the transmitting end adopts the mode of fully transparent inner code processing through rate detection. If not, the subsequent processing is performed in the manner of Example 2 or Example 3.
[0319] S1101, the first host obtains fourth data in a data stream to be sent. The fourth data can be understood as the current data to be sent in the data stream to be sent.
[0320] S1102: The first host performs external code encoding on the fourth data to obtain external code encoded fourth data.
[0321] S1103, the first host sends fourth data encoded by an outer code to the first optical module.
[0322] S1104, 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 (to the second optical module). In some embodiments, the first optical module may perform electro-optical processing on the fourth data encoded by the outer code and then output it.
[0323] 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.
[0324] S1106, when the second optical module determines that the inner code processing mode to be adopted is to skip the receiving end inner code processing according to the rate of the fourth data encoded by the outer code, the receiving end inner code processing is skipped for the fourth data encoded by the outer code, and the fourth data encoded by the outer code is sent to the second host.
[0325] S1107, the second host performs external code decoding on the fourth data encoded by the external code to obtain decoded fourth data.
[0326] In some possible embodiments, 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 executing the inner code processing at the transmitting end. Thus, the second host can also obtain the fourth mode indication during the outer code decoding process, and notify the second optical module, and after the second optical module receives the data from the first optical module, it will no longer execute the receiving end inner code processing according to the mode of skipping the inner code processing indicated by the fourth mode, and the transmitted data may also no longer execute the transmitting end inner code processing.
[0327] In some embodiments, the second host may also perform a link quality judgment during the outer code decoding process. In the process of performing outer code decoding on M1 consecutive code blocks in the fourth data encoded by the outer code, the number of code blocks with failed error correction determined is within the number range corresponding to the matching inner code processing mode; the multiple inner code processing modes correspond to a number range respectively, and the number ranges corresponding to different inner code processing modes are different; M1 is an integer greater than 1. Alternatively, in the process of performing inner code decoding and outer code decoding on M2 consecutive code blocks of the fourth data encoded by the outer code, the proportion of code blocks with failed error correction determined is within the proportion range corresponding to the matching inner code processing mode; the multiple inner code processing modes correspond to a proportion range respectively, and the proportion ranges corresponding to different inner code processing modes are different; M2 is an integer greater than 1. Further, the second host may add the mode indication of the determined matching inner code processing mode to the PAD sequence of the outer code or the 3-bit status field signal during the PAD insertion process of the outer code encoding. 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.
[0328] A fourth possible implementation is described below with reference to the accompanying drawings.
[0329] Example 7:
[0330] The host side of the transmitting end can determine by itself which inner code processing mode to use for inner code processing. The inner code processing mode selected by the judgment can be an inner code processing transparent transmission mode, or it can be 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 indicates it to 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 instruct the optical module to use 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. And instruct the optical module to adopt the inner code processing mode when processing the subsequent data to be sent.
[0331] Combine as follows Fig.12 The solution provided in Example 7 of the embodiment of the present application is described in detail. Fig.12As shown, a data transmission method flow chart is provided in Example 7 of the embodiment of the present application. Example 7 can be aimed at the scenario of full transparent transmission inner code processing, and can directly instruct the receiving end to perform full transparent transmission inner code processing, that is, skip the execution of the transmitting end / receiving end inner code processing.
[0332] S1201, a first host obtains first data, where the first data is any data in a data stream to be sent;
[0333] 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, 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 configured multiple inner code processing modes, and different inner code processing modes among the multiple inner code processing modes have different processing delays or performances (error correction capabilities).
[0334] Exemplarily, the first mode indication is carried in a padding sequence of the first data encoded by the outer code. For example, the first mode indication is carried in a padding sequence of the physical coding sublayer PCS. In some embodiments, in order to improve the recognition accuracy of the decoding side, the padding sequence of the first data encoded by the outer code carries N copies of the first mode indication, where N is an integer greater than 1.
[0335] 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 at least includes inner code encoding and padding processing.
[0336] 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.
[0337] S1205: The second host performs external code decoding on the first data encoded by the external code to obtain decoded first data.
[0338] In a possible implementation, the second host instructs the second optical module to subsequently adopt the first inner code processing mode for transmitting / receiving end inner code processing, and the first host instructs the first optical module to subsequently adopt the first inner code processing mode for transmitting / receiving end inner code processing. The second optical module adopts the first inner code processing mode for transmitting end inner code encoding for 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 may adopt the first inner code processing mode for receiving end inner code processing for 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 may encode the first mode indication for indicating the first inner code processing mode into the second data encoded with an outer code.
[0339] In another possible implementation, the second host can detect the quality of the current link and select an inner code processing mode according to 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 inner code encoding at the transmitting end for 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 inner code processing on the second encoded data at the receiving end to obtain the second data encoded by the outer code; the first host performs outer code decoding processing on the second data encoded by the outer code to obtain the decoded second data.
[0340] In another possible implementation, the second host can detect the quality of the current link and select an inner code processing mode according to 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 for 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 default second inner code processing mode to perform the transmitting end inner code encoding for the second data to be sent after the outer code encoding 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 default second inner code processing mode to perform the 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 processing 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 third data to be transmitted and encoded with the outer code using the inner code processing mode indicated by the second mode indication, and the second optical module also performs receiving-end inner code processing using the inner code processing mode.
[0341] In another possible implementation, the second host can detect the quality of the current link and select an inner code processing mode according to 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 as to obtain the switching of the inner code processing mode by the first host later. For example, when the second host performs outer code encoding for 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 the transmitting end inner code encoding for the second data to be sent after being 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 the 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 processing 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 after being 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 notifying the first host of the inner code processing mode indicated by the second mode indication selected, the second host 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).
[0342] 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 it to the first host through a switching indication. In one example, when the second host performs outer code encoding for the second data to be sent, a copy of the first mode indication and the switching indication can be encoded into the second data encoded by the outer code. The second data encoded by the outer code carries a second indication, and the second indication includes 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. In some scenarios, if the switching indication is a second value, the first host can select an inner code processing mode from the inner code processing modes other than the first inner code processing mode and then conduct another round of negotiation. In some scenarios, the selectable inner code processing modes only include two cases, and there is no need to conduct 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.
[0343] In an embodiment of the present application, when the second host detects the inner code processing mode matched to the quality of the link, at least one of the following items may be adopted: 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 respectively 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 respectively correspond to a proportion range, and different inner code processing modes correspond to different proportion ranges; M2 is an integer greater than 1.
[0344] It should be noted that the order of the steps of the data processing method provided in the embodiment of the present application can be adjusted appropriately, and the steps can be increased or decreased accordingly according to the situation. Any technician familiar with the technical field can easily think of a method of change within the technical scope disclosed in this application, which should be included in the protection scope of this application, so it will not be repeated.
[0345] The embodiment of the present application also provides an optical module, which is used to implement 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 embodiment of the present application. Fig.13 13 is a schematic diagram of the structure of an optical module provided in an embodiment of the present application. The optical module includes a communication unit 1310 and an inner code processing unit 1320.
[0346] In a possible application scenario, the optical module is used to execute the method executed by the first optical module. Specifically:
[0347] The communication unit 1310 is used to obtain first data encoded by an outer code, where the first data is any data in a data stream to be sent.
[0348] 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 configured multiple 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.
[0349] The communication unit 1310 is used to output first encoded data, where the first encoded data carries a first mode indication for indicating a first inner code processing mode, and the transmitting end inner code processing corresponding to the first inner code processing mode at least includes inner code encoding and padding processing.
[0350] 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 indication, the second inner code processing mode indicated by the second mode indication matches 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. The inner code processing unit 1320 is configured to perform inner code processing on the third data encoded by the outer code in the data stream by using the second inner code processing mode.
[0351] 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.
[0352] 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 indication after the communication unit 1310 receives the second encoded data from the second optical communication device to obtain second data.
[0353] In some embodiments, the second encoded data carries a first indication, the first indication comprising 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.
[0354] 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 uses a third inner code processing mode to perform inner code processing on the third data encoded by the outer code in the data stream at the transmitting end according to the switching indication; wherein, 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 multiple inner code processing modes except the first inner code processing mode.
[0355] 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 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 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 inner code processing on the third data in the data stream that has been encoded with an outer code using the 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.
[0356] 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 of the first mode indication 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.
[0357] The communication unit 1310 receives second encoded data from a second optical communication device, where the second encoded data carries a fourth indication;
[0358] 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 the 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,
[0359] 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 adopts the inner code processing mode indicated by the fourth mode indication to perform transmitting end inner code processing on the third data.
[0360] In a fifth possible implementation manner, the first encoded data carries a third indication, where the third indication includes a first mode indication, where 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, where the third mode indication is used to indicate the inner code processing mode to be negotiated;
[0361] The communication unit 1310 receives second data from a second optical communication device, the second 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 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 performs transmitting end inner code processing on the third data using the third inner code processing mode 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.
[0362] 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, and the decoding method is hard decoding or soft decoding.
[0363] In another possible application scenario, the optical module is used to execute the method executed by the second optical module. Specifically:
[0364] 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 configured multiple inner code processing modes, and different inner code processing modes among the multiple inner code processing modes have different processing methods.
[0365] The inner code processing unit 1320 performs receiving-end inner code processing on the first encoded data using a first inner code processing mode to obtain first data.
[0366] 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.
[0367] In some embodiments, the second encoded data carries a first indication, the first indication comprising 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.
[0368] 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.
[0369] In some embodiments, the communication unit 1310 receives third coded data from the first optical communication device. When the switching indication is the first value, the inner code processing unit 1320 carries the first mode indication, and continues to use the first inner code processing mode to perform receiving end inner code processing on the third coded data; or, when the switching indication is the second value, the third coded data carries the mode indication for indicating the third inner code processing mode, and the third inner code processing mode is used to perform receiving end inner code processing on the third coded data, and 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.
[0370] 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, 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.
[0371] 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.
[0372] In a fourth possible implementation manner, the first encoded data carries a third indication, where the third indication includes a first mode indication, where 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, where the third mode indication is used to indicate the inner code processing mode to be negotiated;
[0373] The communication unit 1310 sends second encoded data to the first optical communication device, where the second encoded data carries a fourth indication;
[0374] 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,
[0375] 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.
[0376] 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 of the first mode indication 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.
[0377] The communication unit 1310 sends second coded data to the first optical communication device. The second coded data is obtained by performing inner code processing on the transmitting end using the first inner code processing mode. The second coded 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 link for communication between the first optical communication device and the second optical communication device.
[0378] 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 according to the first encoded data, wherein 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:
[0379] 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,
[0380] 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; a plurality of 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,
[0381] In the process of performing inner code decoding on N3 consecutive bits in the first encoded data, the number of bits to be corrected is determined to be within a second number range corresponding to the matched inner code processing mode, 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,
[0382] In the process of performing inner code decoding on N4 consecutive 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 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; or,
[0383] 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 plurality of 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,
[0384] 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 the third proportion range corresponding to the matched inner code processing mode; the multiple inner code processing modes correspond to a third proportion range respectively, and different inner code processing modes correspond to different third proportion ranges; N6 is an integer greater than 1; or,
[0385] 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 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,
[0386] In the process of inner code decoding and outer code decoding of consecutive N8 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; multiple inner code processing modes correspond to a fourth proportion range respectively, and different inner code processing modes correspond to different fourth proportion ranges; N8 is an integer greater than 1.
[0387] In one possible implementation, the first encoded data also carries a decoding indication for indicating a decoding method used 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.
[0388] In a possible implementation, the inner code processing unit 1320 may include multiple modules, such as a convolution interleaving module, a cyclic shift module, an inner code encoding module, a channel interleaving module, and a PAD module. Each module performs a corresponding operation or does not perform a corresponding operation according to the inner code processing mode. For example, when the inner code processing mode is to skip the convolution interleaving, the convolution interleaving module no longer performs the convolution interleaving operation, and the inner code processing unit 1320 skips the convolution interleaving module. For another example, when the inner code processing mode is to skip the cyclic shift, the cyclic shift module no longer performs the cyclic shift operation.
[0389] In a possible implementation, the inner code processing unit 1320 of the optical module at the receiving end may also include a mode detection module for detecting the inner code processing mode indicated by the transmitting end, such as detecting the quality of the current link, determining the adapted inner code processing mode according to the quality, and then instructing the PAD module to insert a mode indication for indicating the inner code processing mode at the corresponding position.
[0390] 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 for determining the inner code processing mode to be used and instructing the PAD module to insert a mode indication for indicating the inner code processing mode at a corresponding position.
[0391] In a 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.
[0392] See also Fig.14 As shown, it is a schematic diagram of the structure of another optical module provided in an embodiment of the present application. 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 transmitting module assembly, and the second optical interface is connected to the input end of the optical input module assembly.
[0393] Among them, the microcontroller is used to control each component in the optical module. The first integrated circuit module is used to receive an electrical signal from the first electrical interface, the electrical signal includes data encoded by an outer code, perform an inner code processing on the electrical signal at the transmitting end, and transmit the processed electrical signal to the optical transmission module component. The optical transmission module component 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 component is used to receive an optical signal input from the second optical interface (encoded data from the optical communication device on the opposite side), 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 an inner code processing on the converted electrical signal at the receiving end, and output the processed electrical signal through the second electrical interface. The memory can be used to store information such as 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).
[0394] In the embodiment of the present application, the memory in the optical module can be an electrically erasable programmable read-only memory, in which the corresponding relationship between the identifier of the internal code processing mode and the mode indication is set, and the 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 in bytes as the minimum modification unit, so when writing data to the electrically erasable programmable read-only memory, it is not necessary to completely erase 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.
[0395] An embodiment of the present application provides an optical communication device. Fig.15 A possible architecture diagram of an optical communication device is provided as an example. Fig.15 As shown, 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 the processor 1501 may be one or more. Fig.15Only one of the processors 1501 is shown. 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 the same. Optionally, the multiple processors of the optical communication device may also be integrated into a multi-core processor.
[0396] The memory 1502 stores computer instructions and data. The memory 1502 can store computer instructions and data required to implement the method provided in the present application. The memory 1502 can be any one or any 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.), volatile memory.
[0397] The communication interface 1503 may be any one or any combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, or other device with a network access function.
[0398] The communication interface 1503 is used for the optical communication device to perform data communication with other nodes or other optical communication devices. Fig.15 A bus 1504 is also exemplarily drawn. The bus 1504 can connect the processor 1501 with the memory 1502 and the communication interface 1503. Thus, through the bus 1504, the processor 1501 can access the memory 1502, and can also use the communication interface 1503 to exchange data with other nodes or other optical communication devices.
[0399] In the present application, the optical communication device executes the computer instructions in the memory 1502 to implement the data transmission method provided by the present application. In addition, the optical communication device executes the computer instructions in the memory 1502 to implement the steps of the method provided by the present application, and the corresponding description in the above method embodiment can be referred to accordingly.
[0400] The 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.
[0401] The embodiment of the present application also provides a computer program product including instructions, which, when executed on a computer, enables the computer to execute the method provided by the embodiment of the present application.
[0402] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may 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 may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, optical storage, etc.) that contain computer-usable program code.
[0403] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented 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 processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0404] Obviously, those skilled in the art can 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 also 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, adopting a third inner code processing mode to perform inner code processing at a transmitting end on the third data in the data stream that has been encoded with an outer code; 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 17; The second optical communication device is used to execute the method according to any one of claims 18 to 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
Cited By
Data transmission method, apparatus and system
EP4708727A1
