Link monitoring method and apparatus
The method effectively monitors link quality in optical communication systems by separate inner and outer encoding/decoding processes, addressing distortion and bit error issues without increasing delay, using error symbol analysis for accurate assessment.
Patent Information
- Application Number
- JP2024504837
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-26
- Filing Date
- 2022-05-05
- Publication Date
- 2025-07-23
- Estimated Expiration
- 2042-05-05
AI Technical Summary
There is currently no effective method for monitoring the quality of links in optical communication systems, particularly in scenarios with low transmission delay requirements, which are prone to signal distortion and bit error rate increases due to factors like scattering and component degradation.
A link monitoring method involving separate processes of inner and outer encoding/decoding to determine link quality without increasing overall transmission delay, using the number of error symbols in codeword sequences to assess link quality.
Accurately monitors link quality in low-delay scenarios by comprehensively reflecting link impact through error symbol analysis, ensuring precise monitoring without additional delay.
Smart Images

Figure 0007712041000001 
Figure 0007712041000002 
Figure 0007712041000003
Abstract
Description
Technical Field
[0001] This application claims priority to Chinese Patent Application No. 202110846541.6, filed on July 26, 2021, entitled "Link Monitoring Method and Apparatus", the entire content of which is incorporated herein by reference.
[0002] This application relates to the field of data transmission technologies, and in particular, to link monitoring methods and apparatuses.
Background Art
[0003] While continuously promoted by 5G, cloud computing, big data, and artificial intelligence, optical communication systems and optical transport networks (OTNs) are developing towards the trend of large capacity and ultra-high speed. The optical signals transmitted in optical communication systems and optical transport networks can be distorted due to several reasons in the transmission process, and the transmission bit error rate of optical signals increases with the increase of the Ethernet (registered trademark) transmission rate. Forward error correction (FEC) coding is used to correct the transmitted data, eliminate the problem of transmission bit errors, and restore the unprocessed data from the received data transmitted by the transmitter. In addition, FEC decoding can further assist in link monitoring. Link monitoring means monitoring the quality of the link for data transmission.
[0004] However, there is currently no effective method for monitoring the quality of the link.
Summary of the Invention
[0005] This application provides a link monitoring method and apparatus for effectively monitoring the quality of a link. The technical solutions provided in this application are as follows.
[0006] According to a first aspect, the present application provides a link monitoring method. The method includes: receiving externally encoded data; performing inner encoding on the externally encoded data and outputting inner-encoded data; performing outer decoding on the externally encoded data; and determining the quality of a link for transmission of the externally encoded data based on the status of the execution of outer decoding on the externally encoded data.
[0007] In the link monitoring method, externally encoded data is received, inner encoding is performed on the externally encoded data, and inner-encoded data is output. In addition, outer decoding is performed on the externally encoded data, and the quality of the link for transmission of the externally encoded data is determined based on the status of the execution of outer decoding on the externally encoded data. Thereby, the quality of the link is effectively monitored.
[0008] In addition, in the link monitoring method, inner encoding needs to be performed on the externally encoded data, and inner-encoded data is output. In addition, outer decoding is performed on the externally encoded data, and the quality of the link is determined based on the status of outer decoding. The two processes are executed separately. Therefore, the process of performing outer decoding on the data and determining the quality of the link does not affect the process of performing inner encoding on the data and outputting inner-encoded data, and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, particularly transmission scenarios with low requirements for transmission delay.
[0009] In implementation, since the number of error symbols in the codeword sequence can reflect the impact of the codeword sequence on the link, the transmitter processing module can determine the link quality based on the number of error symbols in the codeword sequence. Next, determining the link quality for the transmission of the outer-coded data based on the execution status of the outer decoding for the outer-coded data includes: determining the number of error symbols in each of the codeword sequences of P1 for the outer-coded data based on the execution status of the outer decoding for the codeword sequence of P1 of the outer-coded data, where P1 is a positive integer; and determining the link quality based on the number of error symbols in the codeword sequence of P1.
[0010] The transmitter processing module can determine the link quality for the transmission of the outer-coded data based on the number of error symbols in one or more (i.e., P1) codeword sequences of the outer-coded data. In this case, the transmitter processing module needs to separately determine the number of error symbols in each of the codeword sequences of P1. Additionally, when the link quality is determined based on the number of error symbols in multiple codeword sequences of the outer-coded data, the number of error symbols in the multiple codeword sequences can more comprehensively reflect the impact of the codeword sequence on the link, so the link quality can be monitored more accurately.
[0011] In another implementation, determining the link quality for the transmission of the outer-coded data based on the execution status of the outer decoding for the outer-coded data includes: determining the instruction parameter corresponding to the codeword sequence based on the execution status of the outer decoding for the codeword sequence of the outer-coded data; and determining the link quality based on the instruction parameter corresponding to the P2 codeword sequence of the outer-coded data, where P2 is a positive integer.
[0012] When the link quality is determined based on the number of error symbols in multiple codeword sequences of the outer-coded data, the number of error symbols in the multiple codeword sequences can more comprehensively reflect the impact of the codeword sequences on the link, so the link quality can be monitored more accurately.
[0013] Optionally, the specific implementation of the outer-decoded data varies depending on different application scenarios. The following cases are used as examples for illustration.
[0014] In one case, the outer-decoded data is the data on which outer coding and despreading have been performed. For example, after receiving the outer-coded data, the transmitter processing module can first perform despreading on the outer-coded data, and then perform outer decoding on the despread data. Despreading is first performed on the outer-coded data, outer decoding is performed on the despread data, and then the link quality for the transmission of the outer-coded data is determined based on the situation of the outer decoding. Since the data for determining the link quality is the despread data, the accuracy of the link quality determined based on the data can be effectively ensured.
[0015] In another case, the outer-decoded data is the data on which outer coding, lane reordering, and first deinterleaving have been performed. For example, after receiving the outer-coded data, the transmitter processing module can first perform despreading and lane reordering on the outer-coded data, perform first deinterleaving on the lane-reordered data, and then perform outer decoding on the data on which the first deinterleaving has been performed.
[0016] In yet another case, the externally decoded data is the data on which external coding and data extraction have been performed. For example, after receiving the externally encoded data, the transmitter processing module may first perform data extraction on the externally encoded data, and then perform external decoding on the data after extraction. When the amount of data after data extraction is smaller than the amount of data before data extraction, the rate of the data obtained through data extraction may be smaller than the rate of the inner code of the data encoded by the transmitter processing module. Thereby, the rate of the de-skewed data can be reduced, and monitoring can be implemented with low power consumption.
[0017] Optionally, the specific implementation of the inner-coded data varies depending on different application scenarios. The following cases are used as examples for explanation.
[0018] In one case, the inner-coded data is the data on which external coding has been performed. For example, after receiving the externally encoded data, the transmitter processing module may directly perform inner coding on the externally encoded data.
[0019] In another case, the inner-coded data is the data on which external coding and de-skewing have been performed. When the inner-coded data is the data on which external coding and de-skewing have been performed, and the externally decoded data is the data on which external coding and de-skewing have been performed, de-skewing can be performed after the transmitter processing module receives the externally encoded data. After de-skewing, two types of processing can be performed on the de-skewed data. One type of processing is that the transmitter processing module performs inner coding and outputs the data, and the other type of processing is that the transmitter processing module performs external decoding.
[0020] In yet another case, the inner-coded data is data on which outer coding, de-skewing, and lane re-alignment have been performed. Thus, regardless of the order of the plurality of lanes of data acquired by the transmitter processing module, lane re-alignment is performed on the data, and then inner coding is performed on the lane re-aligned data. As a result, the inner-coded data output by the transmitter processing module is aligned based on the order specified in the lane re-alignment. Therefore, when a performance test is executed on the transmitter processing module, different transmitter processing modules of the same type have the same output data when the input data is the same. This facilitates the performance test of the transmitter processing module. In addition, if there is a need for a first interleaving to be further performed on the data before the inner coding is performed on the data, all the data on which the lane re-alignment is performed can be aligned based on the order specified in the lane re-alignment, so that the order of the data on which the first interleaving is performed is fixed. This facilitates the design of the first interleaving processing unit.
[0021] In yet another case, the inner-coded data is data on which outer coding, de-skewing, lane re-alignment, and first de-interleaving have been performed. In addition, two types of processing can be performed on the data on which de-skewing, lane re-alignment, and first de-interleaving have been performed. One type of processing is inner coding, and the other type of processing is outer decoding.
[0022] In yet another case, the inner-coded data is data on which outer coding and data processing have been performed, and the data processing includes first interleaving. For example, after receiving the outer-coded data, the transmitter processing module may first perform de-skewing on the outer-coded data, perform first interleaving on the de-skewed data, and then perform inner coding on the data on which the first interleaving has been performed. For another example, after receiving the outer-coded data, on the one hand, the transmitter processing module may perform de-skewing on the outer-coded data. On the other hand, the transmitter processing module may perform first interleaving on the outer-coded data, and then perform inner coding on the data on which the first interleaving has been performed.
[0023] According to a second aspect, the present application provides a link monitoring method. The method includes the steps of receiving outer-coded and inner-coded data; performing inner decoding on the outer-coded and inner-coded data and outputting inner-decoded data; performing outer decoding on the inner-decoded data; and determining the quality of a link for transmission of the outer-coded and inner-coded data based on a status of execution of the outer decoding on the inner-decoded data.
[0024] In the link monitoring method, outer-coded and inner-coded data is received, inner decoding is performed on the outer-coded and inner-coded data, and inner-decoded data is output. In addition, outer decoding is performed on the inner-decoded data, and the quality of the link for transmission of the outer-coded and inner-coded data is determined based on a status of execution of the outer decoding on the inner-decoded data. Thereby, the quality of the link can be effectively monitored.
[0025] In addition, in the link monitoring method, the internally decoded data needs to be output. In addition, external decoding needs to be performed on the internally decoded data, and the link quality is determined based on the situation of external decoding. The two processes are executed separately. Therefore, the process of performing external decoding on the data and determining the link quality does not affect the process of outputting the internally decoded data and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, especially transmission scenarios with low requirements for transmission delay.
[0026] In implementation, since the number of error symbols in the codeword sequence can reflect the influence of the codeword sequence on the link, the receiver processing module can determine the link quality based on the number of error symbols in the codeword sequence. Next, determining the link quality for the transmission of the externally encoded and internally encoded data based on the situation of the execution of external decoding on the internally decoded data includes determining the number of error symbols in each of the P3 codeword sequences of the internally decoded data based on the situation of the execution of external decoding on the P3 codeword sequence, where P3 is a positive integer; and determining the link quality based on the number of error symbols in the P3 codeword sequence.
[0027] The receiver processing module can determine the link quality for the transmission of the externally encoded and internally encoded data based on the number of error symbols in one or more (i.e., P3) codeword sequences of the internally decoded data. In this case, the receiver processing module needs to separately determine the number of error symbols in each of the P3 codeword sequences. In addition, when the link quality is determined based on the number of error symbols in multiple codeword sequences of the internally decoded data, the number of error symbols in the multiple codeword sequences can more comprehensively reflect the influence of the codeword sequence on the link, so the link quality can be monitored more accurately.
[0028] In another implementation, the step of determining the link quality for the transmission of the outer code encoded and inner code encoded data based on the execution status of the outer code decoding for the inner code decoded data includes: determining an instruction parameter corresponding to the codeword sequence based on the execution status of the execution outer code decoding for the codeword sequence of the inner code decoded data; and determining the link quality of the inner code decoded data based on the instruction parameter corresponding to the codeword sequence of P4, where P4 is a positive integer.
[0029] When the link quality is determined based on the number of error symbols in a plurality of codeword sequences of the inner code decoded data, the number of error symbols in the plurality of codeword sequences can more comprehensively reflect the influence of the codeword sequence on the link, so the link quality can be monitored more accurately.
[0030] Optionally, the specific implementation of the outer code decoded data varies depending on different application scenarios. The following cases are used as examples for illustration.
[0031] In one case, the outer code decoded data is the data for which inner code decoding and despiking have been performed. For example, after receiving the inner code decoded data, the receiver processing module may first perform despiking on the inner code decoded data and then perform outer code decoding on the despiked data.
[0032] In another case, the outer code decoded data is the data for which inner code decoding, lane realignment, and first deinterleaving have been performed. For example, after receiving the inner code decoded data, the receiver processing module may first perform lane realignment on the inner code decoded data, then perform first deinterleaving on the lane realigned data, and then perform outer code decoding on the data for which the first deinterleaving has been performed.
[0033] In yet another case, when the outer code encoded and inner code encoded data is lane re-aligned data, the outer code decoded data is the data on which inner code decoding and first de-interleaving have been performed.
[0034] In yet another case, the outer code decoded data is the data on which inner code decoding and data extraction have been performed. For example, after receiving the inner code decoded data, the receiver processing module may first perform data extraction on the inner code decoded data and then perform outer code decoding on the data after data extraction. When the data amount of the data after data extraction is smaller than the data amount of the data before data extraction, the rate of the data obtained through data extraction may be smaller than the rate of the inner code of the data encoded by the transmitter processing module. Thereby, the rate of the de-skewed data can be reduced, and monitoring can be implemented with low power consumption.
[0035] In yet another case, the internally decoded data is the data on which data processing has been performed, the externally decoded data is the data on which the reverse processing of internal decoding and data processing has been performed, the data processing includes a first interleaving, and the reverse processing includes a second de-interleaving. For example, after receiving the internally decoded data, the receiver processing module may first perform a second de-interleaving on the internally decoded data, and then perform external decoding on the data on which the second de-interleaving has been performed. In addition, when the data output by the receiver processing module is the data on which the reverse processing of internal decoding and data processing has been performed, and the externally decoded data is the data on which the reverse processing of internal decoding and data processing has been performed, the reverse processing may be performed after the receiver processing module receives the internally decoded data. After the reverse processing is performed, two types of processing may be performed on the data on which the reverse processing has been performed. One type of processing is for the receiver processing module to output the data, and the other type of processing is for the receiver processing module to perform external decoding. Thus, the process of performing external decoding on the data to detect the link quality does not affect the process of the receiver processing module outputting the data, does not additionally increase the transmission delay of the data, and effectively reduces the overall transmission delay of the data.
[0036] Optionally, the specific implementation of the output data varies depending on different application scenarios. The following cases are used as examples for illustration.
[0037] In one case, the output data is the data on which internal decoding has been performed. For example, after performing internal decoding on the externally encoded and internally encoded data, the receiver processing module may directly output the internally decoded data.
[0038] In yet another case, the internally decoded data is the data on which data processing has been performed, the output data is the data on which the reverse processing of internal decoding and data processing has been performed, the data processing includes a first interleaving, and the reverse processing includes a second deinterleaving. For example, after receiving the externally encoded and internally encoded data, the receiver processing module may first perform internal decoding on the externally encoded and internally encoded data, perform a second deinterleaving on the internally decoded data, and then output the data on which the second deinterleaving has been performed.
[0039] According to a third aspect, the present application provides a link monitoring apparatus. The apparatus includes: an input unit configured to receive externally encoded data; an encoding unit configured to perform internal encoding on the externally encoded data; an output unit configured to output the internally encoded data; and a decoding unit configured to perform external decoding on the externally encoded data. The decoding unit is further configured to determine the quality of the link regarding the transmission of the externally encoded data based on the status of the execution of the external decoding on the externally encoded data.
[0040] Optionally, specifically, the decoding unit is configured to determine the number of error symbols in each of the codeword sequences of P1 based on the status of the execution of the external decoding on the codeword sequence of P1 of the externally encoded data, where P1 is a positive integer; and determine the quality of the link based on the number of error symbols in the codeword sequence of P1.
[0041] Optionally, the decoding unit is specifically configured to: determine an instruction parameter corresponding to the codeword sequence based on the execution status of the external code decoding for the codeword sequence of the externally encoded data; and determine the link quality based on the instruction parameter corresponding to the codeword sequence of P2 of the externally encoded data, where P2 is a positive integer.
[0042] Optionally, the externally decoded data is data on which external code encoding and despinning have been performed.
[0043] Optionally, the externally decoded data is data on which external code encoding, lane realignment, and first deinterleaving have been performed.
[0044] Optionally, the externally decoded data is data on which external code encoding and data extraction have been performed.
[0045] Optionally, the internally encoded data is data on which external code encoding has been performed.
[0046] Optionally, the internally encoded data is data on which external code encoding and despinning have been performed.
[0047] Optionally, the internally encoded data is data on which external code encoding, despinning, and lane realignment have been performed.
[0048] Optionally, the internally encoded data is data on which external code encoding, despinning, lane realignment, and first deinterleaving have been performed.
[0049] Optionally, the internally encoded data is data on which external code encoding and data processing have been performed, and the data processing includes first interleaving.
[0050] According to a fourth aspect, the present application provides a link monitoring apparatus. The apparatus includes an input unit configured to receive externally and internally encoded data; a first decoding unit configured to perform inner code decoding on the externally and internally encoded data; an output unit configured to output the inner code decoded data; and a second decoding unit configured to perform outer code decoding on the inner code decoded data. The second decoding unit is further configured to determine the quality of a link regarding the transmission of the externally and internally encoded data based on the status of performing outer code decoding on the inner code decoded data.
[0051] Optionally, specifically, the second decoding unit is configured to determine the number of error symbols in each of the codeword sequences of P3 based on the status of performing outer code decoding on the codeword sequence of P3 of the inner code decoded data, where P3 is a positive integer; and to determine the link quality based on the number of error symbols in the codeword sequence of P3.
[0052] Optionally, specifically, the second decoding unit is configured to determine an indication parameter corresponding to the codeword sequence based on the status of performing outer code decoding on the codeword sequence of the inner code decoded data; and to determine the link quality based on the indication parameter corresponding to the codeword sequence of P4 of the inner code decoded data, where P4 is a positive integer.
[0053] Optionally, the outer code decoded data is data on which inner code decoding and despreading have been performed.
[0054] Optionally, the outer code decoded data is data on which inner code decoding and first deinterleaving have been performed.
[0055] Optionally, the externally decoded data is the data on which inner decoding, lane realignment, and first de-interleaving have been performed.
[0056] Optionally, the externally decoded data is the data on which inner decoding and data extraction have been performed.
[0057] Optionally, the inner decoded data is the data on which data processing has been performed, the externally decoded data is the data on which the reverse processing of inner decoding and data processing has been performed, the data processing includes first interleaving, and the reverse processing includes second de-interleaving.
[0058] Optionally, the output data is the inner decoded data.
[0059] Optionally, the inner decoded data is the data on which data processing has been performed, the output data is the data on which the reverse processing of inner decoding and data processing has been performed, the data processing includes first interleaving, and the reverse processing includes second de-interleaving.
[0060] According to a fifth aspect, the present application provides a computer device including a memory and a processor. The memory stores program instructions, and the processor executes the program instructions to execute the method in any one of the first aspect, the second aspect, and the possible implementations of the first aspect and the second aspect of the present application.
[0061] According to a sixth aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium is a non-volatile computer-readable storage medium including program instructions. When the program instructions are executed on a computer device, the computer device can execute the method in any one of the first aspect, the second aspect, and the possible implementations of the first aspect and the second aspect of the present application.
[0062] According to the seventh aspect, the present application provides a computer program product including instructions. When the computer program product is executed on a computer, the computer can execute the method according to any one of the first aspect, the second aspect, and the possible implementations of the first and second aspects of the present application.
Brief Description of the Drawings
[0063]
Figure 1
[0064]
Figure 2
[0065]
Figure 3
[0066]
Figure 4
[0067]
Figure 5
[0068]
Figure 6
[0069]
Figure 7
[0070]
Figure 8
[0071]
Figure 9
[0072]
Figure 10
[0073]
Figure 11
[0074]
Figure 12
[0075]
Figure 13
[0076]
Figure 14
[0077]
Figure 15
[0078]
Figure 16
[0079]
Figure 17
[0080]
Figure 18
[0081]
Figure 19
[0082]
Figure 20
[0083]
Figure 21
[0084]
Figure 22
[0085]
Figure 23
[0086]
Figure 24
[0087]
Figure 25
[0088]
Figure 26
[0089]
Figure 27
[0090]
Figure 28
[0091]
Figure 29
[0092]
Figure 30
[0093]
Figure 31
[0094]
Figure 32
[0095]
Figure 33
[0096]
Figure 34
[0097]
Figure 35
[0098]
Figure 36
[0099]
Figure 37
[0100]
Figure 38
[0101]
Figure 39
[0102]
Figure 40
[0103]
Figure 41
[0104]
Figure 42
[0105]
Figure 43
[0106]
Figure 44
[0107]
Figure 45
[0108]
Figure 46
[0109]
Figure 47
Embodiments for Carrying Out the Invention
[0110] To make the objectives, technical solutions, and advantages of the present application clearer, the implementation of the present application will be further described in detail below with reference to the accompanying drawings.
[0111] Continuously driven by 5G, cloud computing, big data, and artificial intelligence, optical communication systems and optical transport networks (OTNs) are evolving towards the trends of high capacity and ultra-high speed. Optical communication systems typically use the amplitude, phase, polarization, or frequency of light waves to carry data. During transmission, optical signals can be distorted due to scattering, polarization-dependent loss, noise, non-linear effects, or other factors. In addition, wear and aging of components in the optical network can cause performance degradation of the transmission system. Forward error correction (FEC) coding is used to correct the transmitted data, eliminate transmission bit errors, and restore the raw data from the received data. In addition, FEC decoding can further assist in link synchronization and link performance monitoring. Link performance monitoring means monitoring the quality of the link for data transmission.
[0112] However, there is currently no effective method for monitoring the quality of the link.
[0113] Embodiments of the present application provide a link monitoring method. The link monitoring method can be applied to a transmitter processing module and is used to monitor the quality of the link for data transmission. In the link monitoring method, externally encoded data is received, internal encoding is performed on the externally encoded data, and internally encoded data is output. In addition, external decoding is performed on the externally encoded data, and the quality of the link for the transmission of the externally encoded data is determined based on the status of the execution of the external decoding on the externally encoded data. Thereby, the quality of the link can be effectively monitored.
[0114] In addition, in the link monitoring method, inner coding needs to be performed on the outer-coded data, and the inner-coded data is output. In addition, outer decoding is performed on the outer-coded data, and the link quality is determined based on the situation of the outer decoding. The two processes are executed separately. Therefore, the process of performing outer decoding on the data and determining the link quality does not affect the process of performing inner coding on the data and outputting the data, and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, particularly transmission scenarios with low requirements for transmission delay.
[0115] Embodiments of the present application provide another link monitoring method. The link monitoring method can be applied to a receiver processing module and is used to monitor the link quality for data transmission. In the link monitoring method, outer-coded and inner-coded data is received, inner decoding is performed on the outer-coded and inner-coded data, and the inner-decoded data is output. In addition, outer decoding is performed on the inner-decoded data, and the link quality for the transmission of the outer-coded and inner-coded data is determined based on the situation of the execution of the outer decoding on the inner-decoded data. Thereby, the link quality can be effectively monitored.
[0116] In addition, in the link monitoring method, the internally decoded data needs to be output. In addition, external decoding needs to be performed on the internally decoded data, and the quality of the link is determined based on the status of the external decoding. The two processes are executed separately. Therefore, the process of performing external decoding on the data and determining the quality of the link does not affect the process of outputting the internally decoded data and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, particularly transmission scenarios with low requirements for transmission delay.
[0117] Embodiments of the present application provide yet another link monitoring method. The link monitoring method can be applied to a transmitter processing module, i.e., a processing module in a transmitter. The link monitoring method monitors whether the dequeued data meets the processing criteria and is used to determine the method for subsequent dequeuing based on the result of monitoring whether the data meets the processing criteria. In the link monitoring method, the externally encoded data is received, dequeuing is performed on the externally encoded data, internal encoding is performed on the externally encoded data, and the internally encoded data is output. In addition, it is detected whether the dequeued data meets the processing criteria, and when the dequeued data does not meet the processing criteria, the dequeuing method for dequeuing is adjusted.
[0118] In the link monitoring method, inner coding needs to be performed on the outer-coded data, and the inner-coded data is output. In addition, it is necessary to detect whether the dequeued data meets the processing criteria. The two processes are executed separately. Therefore, the process of detecting whether the dequeued data meets the processing criteria does not affect the process of performing inner coding on the data and outputting the data, and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, especially transmission scenarios with low requirements for transmission delay.
[0119] Embodiments of the present application further provide another link monitoring method. The link monitoring method can be applied to a receiver processing module, that is, a processing module in a receiver. The link monitoring method monitors whether the dequeued data meets the processing criteria and is used to determine a method for subsequent dequeuing based on the result of monitoring whether the data meets the processing criteria. In the link monitoring method, outer-coded and inner-coded data is received, inner decoding is performed on the outer-coded and inner-coded data, and the inner-decoded data is output. In addition, dequeuing is performed on the inner-decoded data, it is detected whether the dequeued data meets the processing criteria, and when the dequeued data does not meet the processing criteria, the dequeuing method for dequeuing is adjusted.
[0120] In the link monitoring method, it is necessary to output the internally decoded data. In addition, it is necessary to detect whether the deskewed data meets the processing criteria. The two processes are executed separately. Therefore, the process of detecting whether the deskewed data meets the processing criteria does not affect the process of outputting the internally decoded data and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, especially transmission scenarios with low requirements for transmission delay.
[0121] FIG. 1 is a schematic diagram of an implementation environment related to a link monitoring method according to an embodiment of the present application. As shown in FIG. 1, the implementation environment includes a transmitter device 01, a transmitter processing module 02, a channel transmission medium 03, a receiver processing module 04, and a receiver device 05. In a data center network, the transmitter device 01 and the receiver device 05 can be devices such as switches or routers. The transmitter device 01 can also be referred to as a host chip located at the transmitter, the receiver device 05 can also be referred to as a host chip located at the receiver, and the channel transmission medium 03 can be an optical fiber. The transmitter device 01 can be connected to the transmitter processing module 02 through an attachment unit interface (AUI), and the receiver device 05 can be connected to the receiver processing module 04 through the AUI. The processing module can be an optical module, an electrical module, or another module that processes data in the data transmission process. For example, the processing module can be an 800LR module (800LR module, a coherent optical module). In addition, the transmitter device 01, the transmitter processing module 02, the channel transmission medium 03, the receiver processing module 04, and the receiver device 05 in the application scenario can all support bidirectional transmission or unidirectional transmission. This is not particularly limited in the embodiments of the present application.
[0122] FIG. 2 is a schematic flowchart of a data transmission process in the implementation environment shown in FIG. 1 according to an embodiment of the present application. As shown in FIG. 2, in the process of transmitting data from the transmitter device 01 to the receiver device 05, the transmitter device 01 is configured to perform external code encoding on the data and then transmit the externally code-encoded data to the transmitter processing module 02. The transmitter processing module 02 is configured to perform internal code encoding on the externally code-encoded data to obtain externally and internally code-encoded data, and to transmit the externally and internally code-encoded data to the channel transmission medium 03. The channel transmission medium 03 is configured to transmit the externally and internally code-encoded data to the receiver processing module 04. The receiver processing module 04 is configured to perform internal code decoding on the externally and internally code-encoded data, and to transmit the data on which the internal code decoding has been performed (data on which external code decoding is to be performed) to the receiver device 05. The receiver device 05 is configured to perform external code decoding on the internally code-decoded data. Both the transmitter processing module 02 and the receiver processing module 04 are further configured to monitor the quality of the link for data transmission. In addition, both the transmitter processing module 02 and the receiver processing module 04 are further configured to perform despiking on the signal, monitor whether the despiked data meets the processing criteria, and determine a method for subsequent despiking based on the result of monitoring whether the data meets the processing criteria.
[0123] "Internal" in "internal symbol" and "external" in "external symbol" indicate the distance between the execution entity that performs operations on the data and the channel transmission medium 03. The execution entity that performs operations on the internal symbol is closer to the channel transmission medium, and the execution entity that performs operations on the external symbol is farther away from the channel transmission medium. In the embodiments of the present application, data is transmitted from the transmitter device 01 to the channel transmission medium 03 via the transmitter processing module 02, and then transmitted from the channel transmission medium 03 to the receiver device 05 via the receiver processing module 04. Compared with the data encoded by the transmitter processing module 02, the data encoded by the transmitter device 01 is farther away from the channel transmission medium 03. Compared with the data decoded by the receiver processing module 04, the data decoded by the receiver device 05 is farther away from the channel transmission medium 03. Therefore, the data encoded by the transmitter device 01 is called externally encoded data, and the data encoded by the transmitter processing module 02 is called internally encoded data; the data decoded by the receiver device 05 is called externally decoded data, and the data decoded by the receiver processing module 04 is called internally decoded data.
[0124] The above content is an example of the application scenario of the link monitoring method provided in the embodiments of the present application, and it should be understood that it does not constitute any limitation to the application scenario of the link monitoring method. A person skilled in the art can recognize that when the service requirements change, the application scenario of the link monitoring method can be adjusted according to the application requirements. The application scenario is not enumerated in the embodiments of the present application.
[0125] The implementation process of the link monitoring method described in the embodiments of the present application will be described below. First, the link monitoring method applied to the transmitter processing module will be described below. The link monitoring method is used to monitor the quality of the link for data transmission. As shown in Figure 3, the implementation process of the link monitoring method includes the following steps.
[0126] Step 301: The transmitter processing module receives externally coded data.
[0127] In implementation, as shown in Figure 4, the physical medium attachment (PMA) sublayer 021 is arranged in the transmitter processing module 02. The transmitter processing module receiving externally coded data essentially means that the PMA sublayer receives the externally coded data from the transmitter device through the interface (such as AUI) between the transmitter processing module and the transmitter device. In addition, after receiving the externally coded data, the PMA sublayer can perform demultiplexing on the externally coded data to obtain n physical coding sublayer lane (PCSL) data streams, and thereby perform de-skew on the n PCSL data streams.
[0128] Step 302: The transmitter processing module performs internal coding on the externally coded data and outputs the internally coded data.
[0129] After receiving the externally-coded data, the transmitter processing module performs internal coding on the externally-coded data, outputs the internally-coded data, and may transmit the internally-coded data to the receiver processing module through a channel transmission medium (e.g., an optical fiber). Bit errors occurring during data transmission through the interface between the transmitter processing module and the transmitter device are transmitted for internal coding without being removed through external decoding. As shown in FIG. 4, the internal coding unit 022 is arranged in the transmitter processing module 02, and the internal coding unit 022 is configured to perform internal coding. The fact that the transmitter processing module performs internal coding on the externally-coded data essentially means obtaining the internal code check data of the externally-coded data using the internal coding method and adding the internal code check data to the externally-coded data. The fact that the transmitter processing module outputs the internally-coded data essentially means outputting the externally-coded data including the check data, which is also referred to as outputting the externally-coded and internally-coded data.
[0130] Optionally, the specific implementation of the object (i.e., the data on which inner coding has been performed) on which inner coding is performed by the transmitter processing module varies depending on different application scenarios. In one case, the data on which inner coding has been performed can be the data on which outer coding and de-skewing have been performed. In the implementation, as shown in FIG. 4, an alignment marker lock and lane de-skew unit 023 is arranged in the transmitter processing module 02. The alignment marker lock and lane de-skew unit 023 is configured to perform de-skewing on the data. For example, as shown in FIG. 4, after receiving the outer-coded data, the transmitter processing module 02 can first perform de-skewing on the outer-coded data, and then perform inner coding on the de-skewed data. In another case, the inner-coded data can directly be the data on which outer coding has been performed. For example, as shown in FIG. 5, after receiving the outer-coded data, the transmitter processing module 02 can directly perform inner coding on the outer-coded data. In yet another case, the inner-coded data can be the data on which outer coding and data processing have been performed. In the implementation, the data processing includes first interleaving. For example, as shown in FIG. 6, after receiving the outer-coded data, the transmitter processing module 02 can first perform de-skewing on the outer-coded data, perform first interleaving on the de-skewed data, and then perform inner coding on the data on which the first interleaving has been performed. For example, as shown in FIG. 7, after receiving the outer-coded data, on the one hand, the transmitter processing module 02 can perform de-skewing on the outer-coded data; on the other hand, the transmitter processing module can perform first interleaving on the outer-coded data, and then perform inner coding on the data on which the first interleaving has been performed.In addition, as shown in FIGS. 6 and 7, the first interleaving processing unit 024 is arranged in the transmitter processing module 02, and the first interleaving processing unit 024 is configured to perform first interleaving.
[0131] It should be noted that the de-skewed data usually includes data of a plurality of lanes. When the de-skewing process is executed before the inner code encoding and output processes, the transmitter processing module may further perform lane reorder on the data after de-skewing and before inner code encoding. In other words, the inner code encoded data may be the data on which outer code encoding, de-skewing, and lane reorder have been executed. Lane reorder means reordering the data of a plurality of lanes based on the alignment markers of the data of the plurality of lanes, so that as a result, the data of the plurality of lanes can be arranged in a specified order. In addition, two types of processing can be performed on the data on which de-skewing and lane reorder have been executed. One type of processing is inner code encoding, and the other type of processing is outer code decoding. As shown in FIG. 8, the lane reorder unit 025 is arranged in the transmitter processing module 02. The lane reorder unit 025 is configured to perform lane reorder on the data.
[0132] In this way, regardless of the order of the data of a plurality of lanes acquired by the transmitter processing module, lane rearrangement is performed on the data, and then inner code encoding is performed on the lane-rearranged data. As a result, the inner code-encoded data output by the transmitter processing module is arranged based on the order specified in the lane rearrangement. Therefore, when a performance test is executed on the transmitter processing module, different transmitter processing modules of the same type have the same output data when the input data is the same. This facilitates the performance test of the transmitter processing module. In addition, if there is a further execution where first interleaving is required for the data before inner code encoding is performed on the data, all the data on which lane rearrangement is performed can be arranged based on the order specified in the lane rearrangement, so the order of the data on which the first interleaving is performed is fixed. This facilitates the design of the first interleaving processing unit.
[0133] In addition, after performing lane realignment on the data, the transmitter processing module may first perform a first de-interleaving on the data. In other words, the internally encoded data is the data on which outer coding, despreading, lane realignment, and the first de-interleaving have been performed. In addition, two types of processing may be performed on the data on which despreading, lane realignment, and the first de-interleaving have been performed. One type of processing is inner coding, and the other type of processing is outer decoding. After performing outer coding on the data, the transmitter device performs a second interleaving on the outer-coded data, and then outputs the data on which the second interleaving has been performed. The first de-interleaving is the reverse process of the second interleaving. The first de-interleaving is performed on the data, and a codeword stream is obtained based on the data of a plurality of lanes. When the outer-coded data is the data on which Reed-Solomon (RS) coding has been performed, the codeword stream is a stream of Reed-Solomon codewords. In an implementation, the transmitter processing module may first perform lane realignment on the despread data, perform the first de-interleaving on the lane-realigned data, and then perform inner coding on the data on which the first de-interleaving has been performed. Alternatively, the transmitter processing module may first perform lane realignment on the despread data, perform the first de-interleaving on the lane-realigned data, perform a first interleaving on the data on which the first de-interleaving has been performed, and then perform inner coding on the data on which the first interleaving has been performed. As shown in FIG. 9, a first de-interleaving processing unit 026 is disposed in the transmitter processing module, and the first de-interleaving processing unit 026 is configured to perform the first de-interleaving on the data.
[0134] In addition, before transmitting the internally coded coded data to the channel transmission medium, the transmitter processing module may further perform some data processing on the internally coded coded data. For example, data processing such as modulation mapping or channel interleaving may first be performed on the internally coded coded data, and then the processed data is transmitted to the channel transmission medium.
[0135] In an implementation, the implementation process of performing a de-skew on an n PCSL data stream may include obtaining an alignment marker (AM) of the n PCSL data stream; performing an alignment marker lock on the n PCSL data stream based on the alignment marker of the n PCSL data stream; and after determining that all alignment markers of the n PCSL data stream are valid, performing a de-skew on the n PCSL data stream based on the alignment marker of the n PCSL data stream.
[0136] For different transmission scenarios, the standard alignment markers of the PCSL data stream of n1 in the corresponding transmission scenario are defined in the communication standard. Thus, an implementation that determines that all markers of the PCSL data stream of n1 are valid includes: comparing the alignment markers of the PCSL data stream of n1 received by the transmitter processing module with the standard alignment markers of the PCSL data stream of n1 defined in the communication standard; and determining that all markers of the PCSL data stream of n1 are valid when the alignment markers of the PCSL data stream of n1 received by the transmitter processing module match the standard alignment markers of the PCSL data stream of n1 one by one. When the interface (such as AUI) between the transmitter processing module and the transmitter device is a parallel interface of p, the processing module may split the PCSL data stream of n into p data streams, each data stream including the PCSL data stream of n1, where n = n1 * p, p is a positive integer, and n1 is a positive integer. Based on the foregoing description, it is separately determined that all alignment markers of the PCSL data stream of n1 in each data stream are valid. Next, a despread is performed on the PCSL data stream of n based on all alignment markers of the PCSL data stream of n, or a despread is separately performed on the p data streams.
[0137] To ensure that an effective despooling can be performed on data, it should be noted that the transmitter processing module may determine a despooling method for performing despooling on the data according to some policies. For example, the transmitter processing module may first perform despooling on the data, and then detect whether the despooled data meets the processing criteria. When the despooled data does not meet the processing criteria, the transmitter processing module adjusts the despooling method for despooling until the despooled data meets the processing criteria, and performs despooling on the data by using the despooling method that meets the processing criteria. To improve the readability of the present embodiment of the present application, the implementation process of the process is not described in detail herein. For the implementation process of the process, refer to the relevant descriptions of steps 3201 to 3205 in the following content.
[0138] Step 303: The transmitter processing module performs external code decoding on the externally code-encoded data.
[0139] The transmitter processing module can perform external code decoding on the externally code-encoded data and determine the link quality for the transmission of the externally code-encoded data based on the status of the external code decoding. In addition, on the one hand, the transmitter processing module performs internal code encoding on the externally code-encoded data and outputs the internally code-encoded data. On the other hand, the transmitter processing module performs external code decoding on the externally code-encoded data and then determines the link quality based on the status of the external code decoding. In other words, the transmitter processing module performs internal code encoding on the externally code-encoded data and outputs the internally code-encoded data. In addition, the transmitter processing module performs external code decoding on the externally code-encoded data and determines the link quality. The two processes are each executed on two processing lanes. Thus, the process of performing external code decoding on the externally code-encoded data and determining the link quality does not affect the process of performing internal code encoding on the externally code-encoded data and outputting the internally code-encoded data, does not additionally increase the data transmission delay, and effectively reduces the overall data transmission delay. Optionally, as shown in FIGS. 4 to 9, the external code decoding unit 027 is arranged in the transmitter processing module 02, and the external code decoding unit 027 is configured to: perform external code decoding on the externally code-encoded data and determine the link quality for the transmission of the externally code-encoded data based on the status of the execution of the external code decoding on the externally code-encoded data.
[0140] Optionally, the specific implementation of the externally decoded data may vary depending on different application scenarios. In one case, the externally decoded data can be the data on which external coding and despreading have been performed. For example, as shown in FIGS. 4 to 9, after receiving the externally encoded data, the transmitter processing module 02 may first perform despreading on the externally encoded data, and then perform external decoding on the despread data. In addition, when the internally encoded data is the data on which external coding and despreading have been performed, and the externally decoded data is the data on which external coding and despreading have been performed, despreading can be performed after the transmitter processing module receives the externally encoded data. After despreading is performed, two types of processing can be performed on the despread data. One type of processing is that the transmitter processing module performs internal coding and outputs the data, and the other type of processing is that the transmitter processing module performs external decoding. Despreading is first performed on the externally encoded data, external decoding is performed on the despread data, and then the quality of the link for the transmission of the externally encoded data is determined based on the situation of the external decoding. Since the data for determining the link quality is the despread data, the accuracy of the link quality determined based on the data can be effectively ensured.
[0141] In another case, the externally decoded data can be the data on which external coding, lane realignment, and first deinterleaving have been performed. For example, as shown in FIGS. 9, 10, 11, and 12, after receiving the externally encoded data, the transmitter processing module 02 may first perform despreading and lane realignment on the externally encoded data, perform first deinterleaving on the lane-realigned data, and then perform external decoding on the data on which the first deinterleaving has been performed.
[0142] In yet another case, the externally decoded data can be the data on which external coding and data extraction have been performed. For example, as shown in FIGS. 13, 14, and 15, after receiving the externally encoded data, the transmitter processing module 02 can first perform data extraction on the externally encoded data and then perform external decoding on the data after extraction.
[0143] For the implementation of performing deskewing on data, lane realignment on data, and first deinterleaving on data, refer to the relevant descriptions in the foregoing content. Details will not be described again in this specification. Additionally, the externally decoded data can alternatively be the data on which deskewing, data extraction, lane realignment, and first deinterleaving have been performed, and the execution order of multiple types of processing such as deskewing, data extraction, lane realignment, and first deinterleaving can be adjusted according to application requirements.
[0144] Performing data extraction on data means extracting a part of the data stream from the data according to a preset rule. In the implementation, as shown in FIGS. 13, 14, and 15, the data extraction unit 028 is arranged in the transmitter processing module 02. The data extraction unit 028 can extract a part of the data stream from the data according to a preset rule and output the data stream after data extraction is performed.
[0145] Optionally, the pre-set rules for data extraction are: for each symbol of T in the data, a symbol of T0 is selected to ensure that the data stream on which data extraction has been performed can be decoded, where the symbol of T0 may need to contain at least one complete codeword sequence. T≥T0, and T and T0 are positive integers. The values of T and T0 can be determined according to the application requirements. For example, FIG. 16 shows data having 16 PCSL data streams. The code length of the outer code is 544 symbols. Symbols A0, A1, A2 and the like in the data stream are from a codeword data stream with a symbol of 1, indicating that A0, A1,..., and A543 constitute a codeword; symbols B0, B1, B2 and the like in the data stream are from another codeword data stream, and it is considered that B0, B1,..., and B543 constitute a codeword. Before data extraction, the symbols transmitted in each data lane are arranged in the manner shown in the dashed frame 1 of FIG. 16. In this case, T can be 2176 and T0 can be 1088. After data extraction is performed based on the values of T and T0, the extracted data includes the symbols in the dashed frame 2 of FIG. 16.
[0146] It should be noted that when T>T0, the rate of the data obtained through data extraction may be smaller than the rate of the inner code of the data encoded by the transmitter processing module. Thereby, the rate of the de-skewed signal can be reduced, and monitoring can be implemented with low power consumption. When T = T0, since the input data and the output data of the data extraction unit are basically the same, the data extraction unit can be regarded as not being set. Correspondingly, in this case, the data extraction unit can also be removed.
[0147] Step 304: The transmitter processing module determines the quality of the link for the transmission of the externally coded data based on the situation where the externally coded data is decoded for the externally coded data.
[0148] In implementation, as shown in FIG. 17, the implementation process of step 304 includes the following steps.
[0149] Step 3041a: The transmitter processing module determines the number of error symbols in each of the codeword sequences of P1 based on the execution status of the external code decoding for the codeword sequence of P1 of the externally coded data, where P1 is a positive integer.
[0150] The transmitter processing module may determine the number of error symbols in the codeword sequence based on the status of decoding the codeword sequence of the externally coded data. In implementation, based on the status of external code decoding, if it is determined that the codeword sequence can be decoded normally (i.e., correctable), the total number of symbols corrected in the codeword sequence during decoding may be shown as the number of error symbols in the codeword sequence. Based on the status of external code decoding, if it is determined that the codeword sequence cannot be decoded normally (i.e., uncorrectable), the number of error symbols in the codeword sequence may be considered to exceed the number of error symbols t corresponding to the maximum decoding correction capability. In this case, the number of error symbols in the codeword sequence may be shown as t + 1. For example, when the KP4 RS(544, 514) code is used as the external code, the number of error symbols corresponding to the maximum decoding correction capability is 15. When the received codeword sequence is correctable, the total number of symbols corrected in the codeword sequence during decoding may be shown as the number of error symbols in the codeword sequence. When the received codeword sequence is uncorrectable, the number of error symbols in the codeword sequence may be shown as 16.
[0151] The transmitter processing module may determine the quality of the link for the transmission of the externally coded data based on the number of error symbols in one or more (i.e., P1) codeword sequences of the externally coded data. In this case, the transmitter processing module needs to separately determine the number of error symbols in each of the codeword sequences of P1. Additionally, when the link quality is determined based on the number of error symbols in multiple codeword sequences of the externally coded data, the number of error symbols in the multiple codeword sequences can more comprehensively reflect the influence of the codeword sequences on the link, so the link quality can be monitored more accurately.
[0152] It should be noted that the "number of error symbols in the codeword sequence" in the above description is the number of error symbols in the codeword sequence detected by the decoder, and it may or may not be equal to the actual number of error symbols in the codeword sequence.
[0153] Step 3042a: The transmitter processing module determines the link quality based on the number of error symbols in the codeword sequence of P1.
[0154] The number of error symbols in the symbol sequence can reflect the influence of the symbol sequence on the link. Therefore, the transmitter processing module can determine the link quality based on the number of error symbols in the symbol sequence. In an implementation, the transmitter processing module can calculate the sum of the number of error symbols in the symbol sequence of P1 of the externally encoded data and determine the link quality based on the sum. For example, the sum can be compared with a preset threshold. When the sum is greater than the threshold (exceeds the threshold), it is determined that the link quality has deteriorated, that is, link degradation has occurred on the link. When the sum is less than or equal to the threshold, it is determined that the link quality has not deteriorated. The threshold can be determined according to the application requirements. In addition, multiple levels can be set for the link quality, and corresponding thresholds are set for each of the multiple levels. When the sum is within the range limited by the threshold, the link quality is determined to be the quality level corresponding to the threshold.
[0155] In another implementation, as shown in FIG. 18, the implementation process of step 304 includes the following steps.
[0156] Step 3041b: The transmitter processing module determines an instruction parameter corresponding to the symbol sequence based on the execution status of the external symbol decoding for the symbol sequence of the externally encoded data.
[0157] The implementation process of step 3041b is as follows: The transmitter processing module determines the number of error symbols in the codeword sequence of the externally encoded data based on the situation of external decoding, and then determines the indication parameter of the codeword sequence based on the number of error symbols in the received codeword sequence. For the implementation of the transmitter processing module to determine the number of error symbols in the codeword sequence based on the situation of external decoding, please refer to the relevant description in step 3041a. In the implementation, determining the indication parameter of the codeword sequence based on the number of error symbols in the codeword sequence includes: comparing the number of error symbols in the codeword sequence with a preset first threshold value; and when the number of error symbols in the codeword sequence is less than or equal to the first threshold value, setting the indication parameter corresponding to the codeword sequence to Q0; or when the number of error symbols in the codeword sequence is greater than the first threshold value, setting the indication parameter corresponding to the codeword sequence to Q1. The value of Q0 is smaller than the value of Q1, and the first threshold value, the value of Q0, and the value of Q1 can be determined according to the application requirements. For example, the value of Q0 can be 0, and the value of Q1 can be 1.
[0158] Step 3042b: The transmitter processing module determines the link quality based on the indication parameter corresponding to the P2 codeword sequence of the externally encoded data, where P2 is a positive integer.
[0159] In implementation, the transmitter processing module may calculate the sum of the indication parameters corresponding to the codeword sequences of P2 of the externally coded data, and determine the link quality based on the sum. For example, the sum may be compared with a preset second threshold. When the sum is greater than the second threshold, it is determined that the link quality is degraded, that is, link degradation is occurring on the link. When the sum is less than or equal to the second threshold, it is determined that the link quality is not degraded. The second threshold may be determined according to the application requirements. In addition, multiple levels may be set for the link quality, and corresponding thresholds are set for the multiple levels respectively. When the sum is within the range limited by the threshold, the link quality is determined to be the quality level corresponding to the threshold. In addition, P2 may be a positive integer greater than 1. When the link quality is determined based on the number of error symbols in the codeword sequences of the externally coded data, the number of error symbols in the multiple codeword sequences can more comprehensively reflect the influence of the codeword sequences on the link, so the link quality can be monitored more accurately.
[0160] In conclusion, in the link monitoring method, external decoding is performed on the externally coded data, and the link quality for the transmission of the externally coded data is determined based on the situation of the execution of the external decoding on the externally coded data. Thereby, the link quality can be effectively monitored.
[0161] In addition, inner code encoding needs to be performed on the outer code encoded data, and the inner code encoded data is output. In addition, outer code decoding is performed on the outer code encoded data, and the link quality is determined based on the situation of the outer code decoding. The two processes are executed separately. Therefore, the process of performing outer code decoding on the data and determining the link quality does not affect the process of performing inner code encoding on the data and outputting the data, and does not additionally increase the transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, especially transmission scenarios with low requirements for transmission delay.
[0162] Hereinafter, a link monitoring method applied to a receiver processing module will be described. The link monitoring method is used to monitor the link quality for data transmission. As shown in FIG. 19, the implementation process of the link monitoring method includes the following steps.
[0163] Step 1901: The receiver processing module receives the outer code encoded and inner code encoded data.
[0164] The receiver processing module is connected to the transmitter processing module via a channel transmission medium (such as an optical fiber). After the transmitter processing module outputs the outer code encoded and inner code encoded data, the receiver processing module can receive the outer code encoded and inner code encoded data from the channel transmission medium. In addition, after receiving the outer code encoded and inner code encoded data, the receiver processing module can process the data (for example, perform channel deinterleaving and demodulation on the data) to obtain a data stream, and thereby further process the data stream.
[0165] Step 1902: The receiver processing module performs inner code decoding on the outer code encoded and inner code encoded data and outputs the inner code decoded data.
[0166] After receiving the externally symbolized and internally symbolized data, the receiver processing module may execute inner code decoding on the data to remove at least a part of bit errors that occur during the transmission of the data in the channel transmission medium, and output the inner code decoded data, thereby completing the processing and transmission of the data in the receiver processing module. In implementation, as shown in FIG. 20, the inner code decoding unit 041 and the PMA sublayer 042 are arranged in the receiver processing module 04. The inner code decoding unit 041 is configured to execute inner code decoding on the externally symbolized and internally symbolized data. The fact that the receiver processing module outputs the inner code decoded data essentially means that the PMA sublayer 042 transmits the inner code decoded data to the receiver device through an interface (such as AUI) between the receiver processing module and the receiver device.
[0167] Optionally, the specific implementation of the data output by the receiver processing module (i.e., the output data) varies depending on different application scenarios. In one case, the data output by the receiver processing module may directly be the inner code decoded data. For example, as shown in FIG. 20, after executing inner code decoding on the externally symbolized and internally symbolized data, the receiver processing module 04 may directly output the inner code decoded data.
[0168] In another case, before performing inner code encoding on the data, the transmitter processing module may perform data processing on the data, and as a result, the outer code encoded and inner code encoded data may be the data after data processing. Therefore, the data output by the receiver processing module may be the data after the reverse processing of inner code decoding and data processing. In implementation, the data processing may include first interleaving, and the reverse processing of the data processing may include second de-interleaving. For example, as shown in FIG. 21, after receiving the outer code encoded and inner code encoded data, the receiver processing module 04 may first perform inner code decoding on the outer code encoded and inner code encoded data, perform second de-interleaving on the inner code decoded data, and then output the data on which the second de-interleaving has been performed. In addition, as shown in FIG. 21, the second de-interleaving processing unit 043 is arranged in the receiver processing module 04. The second de-interleaving processing unit 043 is configured to perform de-interleaving on the inner code decoded data. For the implementation of performing second de-interleaving on the data, refer to the relevant description of de-interleaving in the above content. Details are not described again in this specification.
[0169] Step 1903: The receiver processing module performs outer code decoding on the inner code decoded data.
[0170] The receiver processing module can perform outer code decoding on the inner code decoded data and determine the link quality for the transmission of the outer code encoded and inner code encoded data based on the status of the outer code decoding. In addition, on the one hand, the receiver processing module outputs the inner code decoded data. On the other hand, the receiver processing module performs outer code decoding on the inner code decoded data and determines the link quality based on the status of the outer code decoding. In other words, the receiver processing module outputs the inner code decoded data. In addition, the receiver processing module performs outer code decoding and determines the link quality. The two processes are executed separately on two processing lanes. Thus, the process of performing outer code decoding and determining the link quality does not affect the process of outputting the inner code decoded data, does not additionally increase the overall data transmission delay, and effectively reduces the overall data transmission delay. As shown in FIGS. 20 and 21, the outer code decoding unit 044 is arranged in the receiver processing module 04, and the outer code decoding unit 044 is configured to perform outer code decoding on the data.
[0171] Optionally, the specific implementation of the externally decoded data may vary depending on different application scenarios. In one case, as shown in FIG. 20, the externally decoded data may be the internally decoded data. In another case, the externally decoded data may be the data on which internal decoding and de-skewing have been performed. For example, as shown in FIGS. 22 and 23, after receiving the internally decoded data, the receiver processing module 04 may first perform de-skewing on the internally decoded data, and then perform external decoding on the de-skewed data. The alignment marker lock and lane de-skewing unit 045 are arranged in the receiver processing module 04, and the alignment marker lock and lane de-skewing unit 045 is configured to perform de-skewing on the data. In yet another case, the externally decoded data may be the data on which internal decoding, lane realignment, and first de-interleaving have been performed. For example, as shown in FIGS. 24, 25, and 26, after receiving the internally decoded data, the receiver processing module 04 may first perform lane realignment on the internally decoded data, perform first de-interleaving on the lane realigned data, and then perform external decoding on the data on which the first de-interleaving has been performed. The lane realignment unit 046 and the first de-interleaving processing unit 047 are arranged in the receiver processing module 04, the lane realignment unit 046 is configured to perform lane realignment on the data, and the first de-interleaving processing unit 047 is configured to perform first de-interleaving on the data. In yet another case, when the externally encoded and internally encoded data is the lane realigned data, the externally decoded data may be the data on which internal decoding and first de-interleaving have been performed. In other words, the receiver processing module does not need to perform lane realignment on the externally encoded and internally encoded data.In this case, when the internally decoded data is the data on which the second interleaving has been performed, the receiver processing module may first perform the first deinterleaving on the internally decoded data, and then perform the external decoding on the data on which the first deinterleaving has been performed. For example, as shown in FIGS. 27 and 28, in yet another case, the externally decoded data may be the data on which the internal decoding and data extraction have been performed. For example, as shown in FIGS. 29 and 30, after receiving the internally decoded data, the receiver processing module 04 may first perform data extraction on the internally decoded data, and then perform external decoding on the data on which the data extraction has been performed. As shown in FIGS. 29, 30, 31, and 32, the data extraction unit 048 is arranged in the receiver processing module 04, and the data extraction unit 048 is configured to perform data extraction on the data. In yet another case, the internally decoded data may be the data on which the data processing has been performed, and the externally decoded data may be the data on which the reverse processing of the internal decoding and the data processing has been performed. Optionally, the data processing includes the first interleaving, and the reverse processing includes the second deinterleaving. For example, as shown in FIGS. 28 to 32, after receiving the internally decoded data, the receiver processing module 04 may first perform the second deinterleaving on the internally decoded data, and then perform external decoding on the data on which the second deinterleaving has been performed. In addition, when the data output by the receiver processing module is the data on which the reverse processing of the internal decoding and the data processing has been performed, and the externally decoded data is the data on which the reverse processing of the internal decoding and the data processing has been performed, the reverse processing may be performed after the receiver processing module receives the internally decoded data. After the reverse processing is performed, two types of processing may be performed on the data on which the reverse processing has been performed. One type of processing is that the receiver processing module outputs the data, and the other type of processing is that the receiver processing module performs external decoding.In this way, the process of performing external code decoding on data to detect the link quality does not affect the process of outputting data by the receiver processing module, does not additionally increase the data transmission delay, and effectively reduces the overall data transmission delay.
[0172] For the implementation of performing deskewing on data, performing lane realignment on data, performing first deinterleaving on data, performing data extraction on data, and performing second deinterleaving on data, please refer to the relevant descriptions in the foregoing content. Details will not be described again in this specification. In addition, the externally decoded data can alternatively be the data on which deskewing, data extraction, lane realignment, and first deinterleaving have been performed, and the execution order of multiple types of processing such as deskewing, data extraction, lane realignment, and first deinterleaving can be adjusted according to the application requirements.
[0173] Step 1904: Based on the situation where the receiver processing module performs external code decoding on the internally decoded data, the receiver processing module determines the link quality for the transmission of the externally encoded and internally encoded data.
[0174] In the implementation, as shown in FIG. 33, the implementation process of step 1904 includes the following steps.
[0175] Step 19041a: Based on the situation where the receiver processing module performs external code decoding on the codeword sequence of P3 of the internally decoded data, the receiver processing module determines the number of error symbols in each of the codeword sequences of P3, where P3 is a positive integer.
[0176] For the implementation process of step 19041a, please refer to the implementation process of step 3041a.
[0177] Step 19042a: The receiver processing module determines the link quality based on the number of error symbols in the codeword sequence of P3.
[0178] For the implementation process of Step 19042a, please refer to the implementation process of Step 3042a.
[0179] In another implementation, as shown in FIG. 34, the implementation process of Step 1904 includes the following steps.
[0180] Step 19041b: The receiver processing module determines the instruction parameter corresponding to the codeword sequence based on the situation of performing external code decoding on the codeword sequence of the internally decoded data.
[0181] For the implementation process of Step 19041b, please refer to the implementation process of Step 3041b.
[0182] Step 19042b: The receiver processing module determines the link quality based on the instruction parameter corresponding to the P4 codeword sequence of the internally decoded data, where P4 is a positive integer.
[0183] For the implementation process of Step 19042b, please refer to the implementation process of Step 3042b.
[0184] In conclusion, in the link monitoring method, external code decoding is performed on the externally encoded data, and the link quality for the transmission of the externally encoded data is determined based on the situation of performing external code decoding on the externally encoded data. Thereby, the link quality can be effectively monitored.
[0185] In addition, the internally decoded data needs to be output. In addition, external decoding needs to be performed on the internally decoded data, and the link quality is determined based on the situation of the external decoding. The two processes are executed separately. Therefore, the process of performing external decoding on the data and determining the link quality does not affect the process of outputting the internally decoded data and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, especially transmission scenarios with low requirements for transmission delay.
[0186] Hereinafter, a link monitoring method applied to a transmitter processing module will be described. The link monitoring method monitors whether the dequeued data meets the processing criteria, and is used to determine the method for subsequent dequeuing based on the result of monitoring whether the data meets the processing criteria. As shown in FIG. 35, the implementation process of the link monitoring method includes the following steps.
[0187] Step 3201: The transmitter processing module receives the externally encoded data.
[0188] For the implementation process of step 3201, refer to the implementation process of step 301. Details will not be described again in this specification.
[0189] Step 3202: The transmitter processing module performs internal encoding on the externally encoded data and outputs the internally encoded data.
[0190] For the implementation process in which the transmitter processing module performs internal encoding on the externally encoded data, refer to the relevant description in step 302. Details will not be described again in this specification.
[0191] Optionally, before performing inner coding on the outer-coded data, the transmitter processing module may perform data processing on the outer-coded data and then perform inner coding on the processed data. In this case, the object on which inner coding is performed by the transmitter processing module (i.e., the inner code of the data encoded by the transmitter processing module, also referred to as the inner-coded data) is the data on which outer coding and data processing have been performed. In implementation, as shown in FIG. 6, the data processing includes first interleaving.
[0192] In addition, before transmitting the inner-coded data to the channel transmission medium, the transmitter processing module may perform some data processing on the inner-coded data. For example, data processing such as modulation mapping or channel interleaving may first be performed on the inner-coded data, and the processed data is transmitted to the channel transmission medium.
[0193] Step 3203: The transmitter processing module performs de-skewing on the outer-coded data.
[0194] Optionally, in different transmission scenarios, the execution opportunity of the process in which the transmitter processing module performs de-skewing on the outer-coded data may be adjusted according to the requirements of the transmission scenario. In addition, during transmission, after receiving the outer-coded data, the transmitter processing module further needs to perform inner coding on the outer-coded data and output the inner-coded data. Hereinafter, by using examples of different execution orders between the process of performing de-skewing on the outer-coded data and the process in which the transmitter processing module performs inner coding on the outer-coded data and outputs the inner-coded data, the execution opportunity of the process of performing de-skewing on the outer-coded data is explained.
[0195] In implementation, as shown in FIGS. 4, 6, 8, 9, 10, 11, 13, and 15, the process by which the transmitter processing module performs despreading on the externally encoded data can be performed before the process by which the transmitter processing module performs inner encoding on the externally encoded data to output the inner encoded data. In other words, the object (i.e., the inner encoded data) that has been inner encoded by the transmitter processing module is the data on which external encoding and despreading have been performed. In this case, the process by which the transmitter processing module performs inner encoding on the externally encoded data includes performing inner encoding on the despread data. In some transmission scenarios, when the despread data does not meet the processing criteria, it should be noted that the transmitter processing module also performs inner encoding on the data and outputs the inner encoded data. In some other transmission scenarios, when the despread data does not meet the processing criteria, the transmitter processing module first corrects some data in the data, marks the data as data that does not meet the processing criteria, performs inner encoding, and outputs the inner encoded data.
[0196] It should be noted that the despread data usually includes data of a plurality of lanes. When the despreading process is performed before the inner encoding and output processes, after despreading and before inner encoding, the transmitter processing module can further perform lane realignment on the data, for example, as shown in FIGS. 8, 9, 10, and 15.
[0197] In addition, after performing lane realignment on the data, the transmitter processing module may further first perform first deinterleaving on the data. In other words, the internally coded data is data on which outer coding, descrambling, lane realignment, and first deinterleaving have been performed, as shown, for example, in FIGS. 9 and 15. In an implementation, the transmitter processing module may first perform lane realignment on the descrambled data, perform first deinterleaving on the lane realigned data, and then perform inner coding on the data on which the first deinterleaving has been performed. Alternatively, the transmitter processing module may first perform lane realignment on the descrambled data, perform first deinterleaving on the lane realigned data, perform first interleaving on the data on which the first deinterleaving has been performed, and then perform inner coding on the data on which the first interleaving has been performed. For the implementation of lane realignment and first deinterleaving, refer to the relevant descriptions in the foregoing content. Details are not described again in this specification.
[0198] In another implementation, as shown in FIGS. 5, 7, 12, and 14, on the one hand, the transmitter processing module may perform a de-skew on the externally coded data. On the other hand, the transmitter processing module may perform an inner coding on the externally coded data and output the inner-coded data. In other words, the transmitter processing module performs a de-skew on the externally coded data. In addition, the transmitter processing module performs an inner coding on the externally coded data and outputs the inner-coded data. The two processes may be executed separately. In this case, after receiving the externally coded data, the transmitter processing module performs two types of processing on the externally coded data. One type of processing is to perform a de-skew on the externally coded data, and the other type of processing is to perform an inner coding on the externally coded data and output the inner-coded data. In this case, the object on which the inner coding is performed by the transmitter processing module is the received externally coded data, not the de-skewed data. Thus, the process of performing a de-skew on the externally coded data does not affect the process of performing an inner coding on the externally coded data and outputting the inner-coded data, does not additionally increase the overall transmission delay of the data, and further reduces the overall transmission delay of the data.
[0199] Step 3204: The transmitter processing module detects whether the de-skewed data meets the processing criteria.
[0200] On the one hand, the transmitter processing module performs inner coding on the externally coded data and outputs the inner coded data. On the other hand, the transmitter processing module performs de-skewing on the externally coded data and detects whether the de-skewed data meets the processing criteria. In other words, the transmitter processing module performs inner coding on the externally coded data and outputs the inner coded data. In addition, the transmitter processing module detects whether the de-skewed data meets the processing criteria. The two processes are separately executed on two processing lanes. In this way, the process of detecting whether the de-skewed data meets the processing criteria does not affect the process of performing inner coding on the externally coded data and outputting the inner coded data, does not additionally increase the overall transmission delay of the data, and effectively reduces the overall transmission delay of the data.
[0201] In implementation, the transmitter processing module may determine whether the de-skewed data meets the processing criteria based on the status of the execution of outer decoding on the de-skewed data. Correspondingly, the transmitter processing module detecting whether the de-skewed data meets the processing criteria includes: the transmitter processing module performing outer decoding on the de-skewed data and determining whether the de-skewed data meets the processing criteria based on the status of the outer decoding. As shown in FIGS. 4 to 15, the outer decoding unit 027 is arranged in the transmitter processing module 02, and the outer decoding unit 027 is configured to perform outer decoding on the de-skewed data and determine whether the de-skewed data meets the processing criteria based on the status of the outer decoding. In FIGS. 4 to 15, the arrows pointing from the outer decoding unit 027 to the alignment marker lock and the lane de-skewing unit 023 indicate whether the de-skewed data meets the processing criteria.
[0202] Optionally, when it is determined that the deskewed data can be successfully decoded, the transmitter processing module may determine that the deskewed data meets the processing criteria. There are multiple implementations for determining whether the deskewed data can be successfully decoded. In the present embodiment of the present application, the following two implementations are used as examples for explanation.
[0203] In an implementation, after the process of decoding the deskewed data is completed, the transmitter processing module determines that the deskewed data can be successfully decoded. In other words, the transmitter processing module may perform a complete decoding process on the deskewed data. After the completed decoding process is performed on the deskewed data, if it is determined that the process of decoding the deskewed data is completed, the transmitter processing module determines that the deskewed data can be successfully decoded. For example, when the external code is a Reed-Solomon code, the transmitter processing module may calculate the syndrome for the received codeword sequence of the deskewed data, calculate the error locator polynomial based on the syndrome, solve the key equation, and obtain the error positions where code errors occur; then, based on the error positions, determine the error values of the code errors to decode the codeword, thereby decoding the deskewed data.
[0204] For descrambled data including a plurality of coded word sequences, in the decoding process, if it is found that N1 consecutive coded word sequences of the descrambled data have failed to be decoded, it may be determined that the descrambled data cannot be decoded normally. Correspondingly, it may be determined that the descrambled data does not meet the processing criteria. N1 is a positive integer greater than 1, and the value of N1 can be adjusted according to the applicable scenario. For example, when the outer code is a RS code and a KP4 RS(544, 514) code is used for the RS code, the value of N1 can be 3. The coded word data stream received by the decoder can be split into q coded word data streams, and when q sub-decoders are used for decoding, it should be noted that "the decoding of N1 consecutive coded word sequences of the descrambled data fails" can be the failure of decoding N1 consecutive coded word sequences in any coded word data stream. q is a positive integer greater than 1. In other words, for descrambled data including a plurality of coded word sequences, when the data can be split into q coded word data streams and q sub-decoders are used for decoding, if it is found in the decoding process that the decoding of N1 consecutive coded word sequences in any data stream has failed, it may be determined that the descrambled data does not meet the processing criteria.
[0205] Alternatively, for descrambled data including one or more sets including M1 coded word sequences, if the decoding of N2 consecutive coded word sequences in any M1 coded word sequence fails, it may be determined that the descrambled data cannot be decoded normally. Correspondingly, it may be determined that the descrambled data does not meet the processing criteria. N2 is a positive integer greater than 1, M1 is a positive integer greater than N2, and the values of M1 and N2 can be adjusted according to the applicable scenario.
[0206] In the foregoing description, it should be noted that "failure to decode N1 consecutive codeword sequences of the descrambled data" and "failure to decode N2 consecutive codeword sequences in the M1 codeword sequence" mean that the decoder detects that the decoding of the corresponding number of codeword sequences has failed.
[0207] In another implementation, the syndrome can be calculated for each codeword sequence of the descrambled data. When the syndrome of the codeword sequence of the descrambled data indicates that the descrambled data can be successfully decoded, the transmitter processing module determines that the descrambled data can be successfully decoded. The syndrome of the codeword sequence can directly indicate whether the codeword sequence can be successfully decoded. In addition, when it is directly determined based on the syndrome whether a codeword sequence can be successfully decoded, for descrambled data including a plurality of codeword sequences, if it is determined based on the syndrome that N1 consecutive codeword sequences of the descrambled data cannot be successfully decoded, it can be determined that the codeword stream cannot be successfully decoded. Alternatively, for descrambled data including one or more sets including an M1 codeword sequence, if it is determined based on the syndrome that the decoding of N2 consecutive codeword sequences in any M1 codeword sequence of the descrambled data has failed, it can be determined that the codeword stream cannot be successfully decoded.
[0208] Whether the descrambled data can be successfully decoded is determined based on the syndrome of the codeword sequence of the descrambled data. Therefore, it is not necessary to perform a complete decoding process on the descrambled data to reduce the power consumption and computational complexity of the transmitter processing module.
[0209] Optionally, the data for which it is detected whether it meets the processing criteria may alternatively be data on which some processing and despiking have been performed. In addition, the processing performed on the data may vary depending on different transmission scenarios. In the present embodiment of the present application, the following cases are used as examples for explanation.
[0210] In the first case, the data for which it is detected whether it meets the processing criteria (i.e., despiked data) may be data on which despiking and data extraction have been performed as shown in FIGS. 13 to 15, for example.
[0211] In the second case, from the foregoing description, it can be understood that the data for which it is detected whether it meets the processing criteria may be data on which despiking, lane realignment, and first deinterleaving are performed as shown in FIGS. 9, 10, 11, 12, 13, 14, and 15, for example. In addition, when despiking is performed before inner code encoding and output, lane realignment and first deinterleaving may be performed after despiking and before inner code encoding as shown in FIGS. 9 and 15, for example. When the despiking process and the inner code encoding and output processes are performed separately, lane realignment and first deinterleaving may be performed after despiking as shown in FIGS. 12, 13, and 14, for example.
[0212] In the third case, the data for which it has been detected whether it meets the processing criteria may be data on which despiking, data extraction, lane realignment, and first-day interleaving have been performed. The execution order of multiple types of processing such as despiking, data extraction, lane realignment, and first-day interleaving may be adjusted according to the application requirements. For example, data extraction may first be performed on the data, then lane realignment may be performed on the data after extraction, and then first-day interleaving may be performed on the data after lane realignment. Alternatively, lane realignment may first be performed on the data, first-day interleaving may be performed on the data after lane realignment, and then data extraction may be performed on the data on which first-day interleaving has been performed. In the present embodiment of the present application, it is not particularly limited thereto. In addition, the execution order of the data extraction process and the process of performing despiking on the data may also be adjusted according to the application requirements. For example, based on the above description, despiking may first be performed on the data, and then data extraction may be performed on the despiked data; or data extraction may first be performed on the data, and then despiking may be performed on the data after extraction. This is also not specifically limited in the present embodiment of the present application.
[0213] Step 3205: When the despiked data does not meet the processing criteria, the transmitter processing module adjusts the despiking method for despiking.
[0214] When the descrambled data does not meet the processing criteria, the descrambling performed on the externally coded data indicates that the descrambling requirements are not met. In this case, the transmitter processing module needs to adjust the descrambling method for descrambling to perform an effective descrambling on the data. When the descrambled data meets the processing criteria, the descrambling method does not need to be adjusted. In an implementation, the descrambling performed on the data can be implemented by using a state machine, and adjusting the descrambling method for descrambling can be implemented by restarting the state machine.
[0215] In conclusion, in the link monitoring method, inner coding needs to be performed on the externally coded data, and the inner coded data is output. In addition, it is necessary to detect whether the descrambled data meets the processing criteria. The two processes are executed separately. Therefore, the process of detecting whether the descrambled data meets the processing criteria does not affect the process of performing inner coding on the data and outputting the data, and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring method can be applied to more transmission scenarios, especially transmission scenarios with low requirements for transmission delay.
[0216] The following describes the link monitoring method applied to the receiver processing module. The link monitoring method is used to monitor whether the descrambled data meets the processing criteria and to determine the method for subsequent descrambling based on the result of monitoring whether the data meets the processing criteria. As shown in FIG. 36, the implementation process of the link monitoring method includes the following steps.
[0217] Step 3301: The receiver processing module receives the externally coded and inner coded data.
[0218] For the implementation process of step 3301, please refer to the implementation process of step 1901.
[0219] Step 3302: The receiver processing module performs inner code decoding on the outer code encoded and inner code encoded data, and outputs the inner code decoded data.
[0220] For the implementation process of step 3302, please refer to the implementation process of step 1902.
[0221] Step 3303: The receiver processing module performs dequeue on the inner code decoded data, and detects whether the dequeued data meets the processing criteria.
[0222] For the implementation process in which the receiver processing module performs dequeue on the inner code decoded data, please refer to the implementation process in which the transmitter processing module performs dequeue on the outer code encoded data. Details are not described again in this specification.
[0223] Regarding the implementation process in which the receiver processing module detects whether the dequeued data meets the processing criteria, refer to the implementation process in which the transmitter processing module detects whether the dequeued data meets the processing criteria. For example, the receiver processing module may perform external decoding on the dequeued data and determine whether the dequeued data meets the processing criteria based on the status of the external decoding. Optionally, when the dequeued data can be successfully decoded, it can be determined that the dequeued data meets the processing criteria. In addition, after the process of decoding the dequeued data is completed, the receiver processing module may determine that the dequeued data can be successfully decoded. Alternatively, when the syndrome of the codeword sequence of the dequeued data indicates that the dequeued data can be successfully decoded, the receiver processing module may determine that the dequeued data can be successfully decoded. Further, when the decoding of N3 consecutive codeword sequences of the dequeued data fails, it can be determined that the dequeued data does not meet the processing criteria. N3 is a positive integer greater than 1. Alternatively, when the dequeued data contains an M2 codeword sequence, when the decoding of the N4 codeword sequence in the M2 codeword sequence fails, the dequeued data does not meet the processing criteria. N4 is a positive integer greater than 1, and M2 is a positive integer greater than N4.
[0224] As shown in FIGS. 22 to 30, the external code decoding unit 044, the alignment marker lock, and the lane dequeue unit 045 are arranged in the receiver processing module 04. The alignment marker lock and the lane dequeue unit 045 are configured to perform dequeue on the signal. The external code decoding unit 044 is configured to perform external code decoding on the dequeued data and determine whether the dequeued data meets the processing criteria based on the status of the external code decoding. In FIGS. 22 to 30, the arrow pointing from the external code decoding unit 044 to the alignment marker lock and the lane dequeue unit 045 indicates whether the dequeued data meets the processing criteria.
[0225] On the one hand, the receiver processing module outputs the internally decoded data. On the other hand, the receiver processing module performs a dequeue on the internally decoded data and detects whether the dequeued data meets the processing criteria. In other words, the receiver processing module outputs the internally decoded data. In addition, the receiver processing module detects whether the dequeued data meets the processing criteria. The two processes are executed separately on two processing lanes. Thus, the process of detecting whether the dequeued data meets the processing criteria does not affect the process of outputting the internally decoded data, does not additionally increase the overall transmission delay of the data, and effectively reduces the overall transmission delay of the data.
[0226] Optionally, the externally coded and internally coded data can be the data on which data processing has been performed. Correspondingly, the internally decoded data can be the data on which data processing has been performed. The de-skewed data can be the data on which the reverse processing of the internal decoding and the data processing has been performed. In an implementation, the data processing includes a first interleaving, and the reverse processing includes a second de-interleaving. In this case, for the receiver processing module to perform de-skewing on the internally decoded data, as shown in FIGS. 21, 23, 25, 28, 29, and 30, the receiver processing module performs the reverse processing of the data processing on the internally decoded data, and performs de-skewing on the data on which the reverse processing has been performed. Before the receiver processing module outputs the data, it is necessary to perform the reverse processing on the internally decoded data, and when it is necessary to perform the reverse processing on the data before performing de-skewing on the data, the reverse processing can be performed after the receiver processing module performs internal decoding on the externally coded and internally coded data. After the reverse processing is performed, two types of processing are performed on the data on which the reverse processing has been performed. One type of processing is for the receiver processing module to output the data, and the other type of processing is for the receiver processing module to perform de-skewing on the data. Thus, since de-skewing is not performed on the transmission path for outputting the internally decoded data, the process of de-skewing and detecting whether the processing criteria are met does not affect the process of outputting the internally decoded data, does not additionally increase the overall transmission delay of the data, and effectively reduces the overall transmission delay of the data.
[0227] Note that the data for which it has been detected whether it meets the processing criteria (i.e., the deskewed data) can alternatively be data for which some processing and deskewing have been performed. For example, the deskewed data can be data for which deskewing and data extraction have been performed. In this case, the receiver processing module detecting whether the deskewed data meets the processing criteria includes: the receiver processing module performing data extraction on the deskewed data and detecting whether the data after data extraction meets the processing criteria. In an implementation, as shown in FIGS. 29 and 30, the data extraction unit 048 is arranged in the receiver processing module 04, and the data extraction unit 048 is configured to perform data extraction on the data. For the implementation of data extraction, refer to the relevant explanations in the foregoing content.
[0228] In another example, when the deskewed data includes data of multiple lanes, the deskewed data can be data for which deskewing, lane realignment, and first deinterleaving have been performed. In this case, the receiver processing module detecting whether the deskewed data meets the processing criteria includes: as shown in FIGS. 24, 25, and 29, the receiver processing module performing lane realignment on the deskewed data of multiple lanes, performing first deinterleaving on the data after lane realignment, and detecting whether the data after the first deinterleaving meets the processing criteria. For the implementation process of lane realignment and first deinterleaving, refer to the relevant explanations in the foregoing content.
[0229] In another example, the despun data can alternatively be data on which despinning, data extraction, lane realignment, and first-day interleaving have been performed. The execution order of multiple types of processing such as despinning, data extraction, lane realignment, and first-day interleaving can be adjusted according to application requirements. For example, data extraction can be first performed on the data, and then lane realignment and first-day interleaving are performed on the data after extraction. Alternatively, lane realignment and first-day interleaving can be first performed on the data, and then data extraction is performed on the data on which lane realignment and first-day interleaving have been performed. In the present embodiment of the present application, it is not particularly limited thereto. In addition, the execution order of the data extraction process and the process of performing despinning on the data can also be adjusted according to application requirements. For example, based on the above description, despinning can be first performed on the data, and then data extraction is performed on the despun data. Alternatively, data extraction can be first performed on the data, and then despinning is performed on the data after extraction. This is also not specifically limited in the present embodiment of the present application.
[0230] Step 3304: When the despun data does not meet the processing criteria, the receiver processing module adjusts the despinning method for despinning.
[0231] In conclusion, in the link monitoring method, the internally decoded data needs to be output. In addition, it is necessary to detect whether the despun data meets the processing criteria. The two processes are executed separately. Therefore, the process of detecting whether the despun data meets the processing criteria does not affect the process of outputting the internally decoded data and does not additionally increase the data transmission delay. Therefore, the link monitoring method can be applied to more transmission scenarios, especially transmission scenarios with low requirements for transmission delay.
[0232] The link monitoring method provided in the present embodiment of the present application is applicable to a plurality of data center interconnect (DCI) application scenarios.
[0233] For example, FIG. 37 shows an application scenario in which the link monitoring method according to the embodiment of the present application is applicable to a transmitter processing module having an 800G single-wavelength coherent line interface and a transmitter device having a 2*400G interface. In this case, the transmitter device can transmit data to the transmitter processing module through 8 synchronous physical lanes of the AUI (belonging to 1 400G AUI-4 interface for every 4 physical lanes). After the PMA sublayer of the transmitter processing module demultiplexes the data, 32 PCSL data streams can be obtained. The 32 PCSL data streams can be grouped into 2 data streams, and each data stream includes 16 PCSL data streams. The transmitter processing module can separately perform de-skewing on the 2 data streams, detect whether the de-skewed data meets the processing criteria, and determine the de-skewing method used by the transmitter processing module for de-skewing based on the result of whether the de-skewed data meets the processing criteria. In addition, the transmitter processing module can perform first interleaving on the 2 data streams on which de-skewing has been performed, perform inner code encoding on the data on which the first interleaving has been performed, and output the inner code encoded data.
[0234] In some scenarios, the transmitter processing module groups 32 PCSL data streams into 2 data streams, performs alignment marker locking on 16 PCSL data streams based on the alignment markers of the 16 PCSL data streams in each data stream, and determines whether the alignment markers of the 16 PCSL data streams are valid. Note that after it is determined that the alignment markers of the 32 PCSL data streams in the 2 data streams are valid, a despread is performed on the 32 PCSL data streams based on the alignment markers of the 32 PCSL data streams. Next, it is separately detected whether the 2 data streams on which the despread has been performed meet the processing criteria.
[0235] The transmitter processing module can perform external decoding on the dequeued data and detect whether the dequeued data meets the processing criteria. After performing dequeue on the data, the transmitter processing module further sequentially performs data extraction, lane realignment, and first deinterleaving on the dequeued data, and then can perform external decoding on the data after the first deinterleaving is performed. In addition, the transmitter processing module can further determine the quality of the link for transmitting the data to the transmitter processing module, that is, the quality of the AUI, based on the status of the execution of the external decoding on the data. As shown in FIG. 37, each dashed box in FIG. 37 represents the processing of one data stream. In addition, since the transmitter processing module groups 32 PCSL data streams into 2 data streams for processing, the processing includes performing data extraction on the data stream, and if T used for data extraction is greater than T0, the throughput rate for processing each data stream can be T0 / (2xT) of the throughput rate before internal encoding is performed on the data after the first interleaving is performed. Optionally, as shown in FIG. 38, the transmitter processing module may not perform data extraction on the data. In addition, as shown in FIG. 39, the process of performing lane realignment on the data can be performed between the execution of dequeue on the data and the execution of internal encoding on the data. FIG. 39 shows that dequeue is first performed on the data, and then lane realignment is performed on the data. Next, two types of processing are performed on the lane realigned data. One type of processing is to sequentially perform first deinterleaving and internal encoding on the lane realigned data, and the other type of processing is to sequentially perform data extraction, first deinterleaving, and external decoding on the lane realigned data. In addition, in this process, whether to perform data extraction on the data can alternatively be selected according to the application requirements.
[0236] Similarly, in this application scenario, as shown in FIG. 40, after receiving the data, the receiver processing module performs a second deinterleaving on the data to obtain 32 PCSL data streams. On the other hand, the receiver processing module outputs the 32 PCSL data streams by using the PMA sublayer. On the other hand, the receiver processing module groups the 32 PCSL data streams into two data streams, where each data stream includes 16 PCSL data streams; performs external code decoding on each data stream; and determines the link quality, i.e., the quality of the optical fiber link, based on the status of the external code decoding. In addition, before performing external code decoding on the data stream, the transmitter processing module may further sequentially perform data extraction, lane realignment, and first deinterleaving on the data. Optionally, as shown in FIG. 41, the receiver processing module may not perform data extraction on the data. In addition, when lane realignment is performed between deserialization and inner code encoding, as shown in FIG. 42, the receiver processing module does not need to perform lane realignment on the data stream. In addition, in this process, whether to perform data extraction on the data may also be selected according to the application requirements.
[0237] In another example, FIG. 43 shows an application scenario in which the link monitoring method according to an embodiment of the present application is applicable to a transmitter processing module having an 800G single-wavelength coherent line interface and a transmitter device having a 4*200G interface. In this case, the transmitter device can send data to the transmitter processing module through 8 synchronous physical lanes of the AUI (belonging to 1 200G AUI-2 interface for every 2 physical lanes). After the PMA sublayer of the transmitter processing module demultiplexes the data, 32 PCSL data streams can be obtained. The 32 PCSL data streams can be grouped into 4 data streams, and each data stream includes 8 PCSL data streams. The transmitter processing module can separately perform dequeueing on the 4 data streams, detect whether the dequeued data meets the processing criteria, and determine the dequeue method used by the transmitter processing module for dequeueing based on the result of whether the dequeued data meets the processing criteria. In addition, the transmitter processing module can perform first interleaving on the 4 data streams on which dequeueing has been performed, perform inner code encoding on the data on which the first interleaving has been performed, and output the inner code encoded data.
[0238] In some scenarios, the transmitter processing module groups 32 PCSL data streams into 4 data streams, and based on the alignment markers of 8 PCSL data streams in each data stream, performs alignment marker locking on 8 PCSL data streams, and it should be noted that it determines whether the alignment markers of 8 PCSL data streams are valid. Next, after it is determined that the alignment markers of 32 PCSL data streams in 4 data streams are valid, despreading is performed on 32 PCSL data streams based on the alignment markers of 32 PCSL data streams. Next, it is separately detected whether the 4 data streams on which despreading has been performed meet the processing criteria.
[0239] The transmitter processing module may perform external decoding on the despread data and detect whether the despread data meets the processing criteria. After performing despreading on the data, the transmitter processing module may further sequentially perform data extraction, lane realignment, and first deinterleaving on the despread data, and then may perform external decoding on the data on which the first deinterleaving has been performed. In addition, the transmitter processing module may further determine the quality of the link for transmitting the data to the transmitter processing module, that is, the quality of the AUI, based on the status of the execution of external decoding on the data. As shown in FIG. 43, each dashed frame in FIG. 43 indicates the processing of 1 data stream. In addition, since the transmitter processing module groups 32 PCSL data streams into 4 data streams for processing, the processing includes performing data extraction on the data stream, and if T used for data extraction is greater than T0, the throughput rate for processing each data stream may be T0 / (4xT) of the throughput rate before internal coding is performed on the data on which the first interleaving has been performed.
[0240] Similarly, in this application scenario, as shown in FIG. 44, after receiving the data, the receiver processing module performs a second deinterleaving on the data to obtain 32 PCSL data streams. On the other hand, the receiver processing module outputs the 32 PCSL data streams by using the PMA sublayer. On the other hand, the receiver processing module also groups the 32 PCSL data streams into 4 data streams, where each data stream includes 8 PCSL data streams; performs external code decoding on each data stream; and determines the link quality, i.e., the quality of the optical fiber link, based on the situation of the external code decoding. In addition, before performing external code decoding on the data stream, the transmitter processing module may further sequentially perform data extraction, lane reordering, and a first deinterleaving on the data.
[0241] In another example, FIG. 13 shows an application scenario in which the link monitoring method according to the embodiment of the present application is applicable to a transmitter processing module having an 800G single-wavelength coherent line interface and a transmitter device having a 1*800G interface. In this case, the transmitter device may transmit data to the transmitter processing module through 8 synchronous physical lanes of the AUI, where the 8 physical lanes belong to a 1 800G AUI-8 interface. After the PMA sublayer of the transmitter processing module demultiplexes the data, 32 (i.e., n = 32 in FIG. 13) PCSL data streams may be obtained. The 32 PCSL data streams are used as 1 data stream (including the 32 PCSL data streams). The transmitter processing module may perform despreading on 1 data stream and detect whether the despread data meets the processing criteria, and determine the despreading method used by the transmitter processing module for despreading based on the result of whether the despread data meets the processing criteria. In addition, the transmitter processing module may perform first interleaving on the 1 data stream on which despreading has been performed, perform inner code encoding on the data on which the first interleaving has been performed, and output the inner code encoded data. The transmitter processing module may perform outer code decoding on the despread data and detect whether the despread data meets the processing criteria. After performing despreading on the data, the transmitter processing module may further sequentially perform data extraction, lane realignment, and first deinterleaving on the despread data, and then perform outer code decoding on the data on which the first deinterleaving has been performed. In addition, the transmitter processing module may further determine the quality of the link for transmitting the data to the transmitter processing module, that is, the quality of the AUI, based on the status of the execution of the outer code decoding on the data. As shown in FIG. 13, the dashed frame in FIG. 13 indicates the processing of 1 data stream.In addition, since the transmitter processing module uses 32 PCSL data streams as one data stream for processing, the processing includes performing data extraction on the data streams, and if T used for data extraction is greater than T0, the throughput rate for processing each data stream can be T0 / T of the throughput rate before inner coding is performed on the data for which the first interleaving is executed.
[0242] Similarly, in this application scenario, as shown in FIG. 31, after receiving the data, the receiver processing module performs deinterleaving on the data to obtain 32 (i.e., n = 32 in FIG. 31) PCSL data streams. On the other hand, the receiver processing module outputs 32 PCSL data streams by using the PMA sublayer. On the other hand, the receiver processing module also uses 32 PCSL data streams as one data stream, performs outer decoding on the one data stream, and determines the quality of the link, i.e., the quality of the optical fiber link, based on the situation of the outer decoding. In addition, before performing outer decoding on the data stream, the transmitter processing module may sequentially perform data extraction, lane realignment, and the first deinterleaving on the data.
[0243] In another example, FIG. 13 shows an application scenario in which the link monitoring method according to the embodiment of the present application is applicable to a transmitter processing module having a 400G single-wavelength coherent line interface and a transmitter device having a 1*400G interface. In this case, the transmitter device may transmit data to the transmitter processing module through 8 synchronous physical lanes of the AUI, where the 8 physical lanes belong to a 1 400G AUI-8 interface. After the PMA sublayer of the transmitter processing module demultiplexes the data, 16 (i.e., n = 16 in FIG. 13) PCSL data streams may be obtained. The 16 PCSL data streams may be used as one data stream. The transmitter processing module may perform despreading on one data stream and detect whether the despread data meets the processing criteria, and determine the despreading method used by the transmitter processing module for despreading based on the result of whether the despread data meets the processing criteria. In addition, the transmitter processing module may perform first interleaving on the one data stream on which despreading has been performed, perform inner coding on the data on which the first interleaving has been performed, and output the inner-coded data. The transmitter processing module may perform outer decoding on the despread data and detect whether the despread data meets the processing criteria. After performing despreading on the data, the transmitter processing module may further sequentially perform data extraction, lane realignment, and first deinterleaving on the despread data, and then perform outer decoding on the data after data extraction. In addition, the transmitter processing module may further determine the quality of the link for transmitting data to the transmitter processing module, that is, the quality of the AUI, based on the status of performing outer decoding on the data. As shown in FIG. 13, the dashed frame in FIG. 13 indicates the processing of one data stream.In addition, since the transmitter processing module uses 16 PCSL data streams as one data stream for processing, the processing includes performing data extraction on the data stream, and if T used for data extraction is greater than T0, the throughput rate for processing each data stream can be T0 / T of the throughput rate before inner code encoding is performed on the data for which the first interleaving is executed.
[0244] Similarly, in this application scenario, as shown in FIG. 31, after receiving the data, the receiver processing module performs a second deinterleaving on the data to obtain 16 (i.e., n = 16 in FIG. 31) PCSL data streams. On the one hand, the receiver processing module outputs 16 PCSL data streams by using the PMA sublayer. On the other hand, the receiver processing module also uses 16 PCSL data streams as one data stream, performs outer code decoding on the one data stream, and determines the link quality, i.e., the quality of the optical fiber link, based on the situation of the outer code decoding. In addition, before performing outer code decoding on the data stream, the transmitter processing module may sequentially perform data extraction, lane realignment, and the first deinterleaving on the data.
[0245] In addition to the examples of the foregoing application scenarios, the link monitoring method provided in the embodiments of the present application is further applicable to other application scenarios, for example, other transmission scenarios with higher speeds such as 400G, 600G, 800G, or even 1.6T or 3.2T. In this case, an example where the link monitoring method is applicable to a speed of 800G or 1.6T is used. The link monitoring method can further be applied to another transmitter processing module provided in the embodiments of the present application. The transmitter device can transmit data to the transmitter processing module through an 800G AUI-m / 1600G AUI-m interface including m physical lanes. After the PMA sublayer of the transmitter processing module demultiplexes the data, n PCSL data streams can be obtained. Next, de-skewing is performed on the n PCSL data streams, and it is detected whether the de-skewed data meets the processing criteria. Based on the result of whether the de-skewed data meets the processing criteria, the de-skewing method used by the transmitter processing module for de-skewing is determined. In addition, first interleaving is performed on the n PCSL data streams on which de-skewing has been performed, inner coding is performed on the data on which the first interleaving has been performed, and inner-coded data is output. In addition, the transmitter processing module can further determine the quality of the link for transmitting data to the transmitter processing module based on the status of performing external decoding on the data. The value of n can be 8, 16, 32, 64 or the like, and the value of m can be 4, 8, 16, 32 or the like.
[0246] Similarly, the link monitoring method can be further applied to another receiver processing module provided in the embodiments of the present application. After receiving data, the receiver processing module performs deinterleaving on the data to obtain n PCSL data streams. On the other hand, the receiver processing module outputs n PCSL data streams by using the PMA sublayer. On the other hand, the receiver processing module also performs external code decoding on the n PCSL data streams and determines the link quality based on the situation of the external code decoding.
[0247] It should be noted that the foregoing description of the application scenarios of the link monitoring method provided in the embodiments of the present application is described by using some implementations of the transmitter processing module and some implementations of the receiver processing module as examples. However, it is not excluded that the application scenarios of the link monitoring method provided in the embodiments of the present application can also be applied to processing modules of other structures provided in the embodiments of the present application. Details will not be described again in this specification.
[0248] It should be noted that the order of the steps of the link monitoring method provided in the embodiments of the present application can be appropriately adjusted, and the steps can be added or removed based on the situation. Any deformation method that can be easily conceived by those skilled in the art within the technical scope disclosed in the present application will be included within the protection scope of the present application. Therefore, details will not be described in this specification.
[0249] The embodiments of the present application further provide a link monitoring device. As shown in FIG. 45, the link monitoring device 450 includes: an input unit 4501 configured to receive externally coded data; an encoding unit 4502 configured to perform internal code encoding on the externally coded data; an output unit 4503 configured to output the internally coded data; and a decoding unit 4504 configured to perform external code decoding on the externally coded data.
[0250] The decoding unit 4504 is further configured to determine the link quality for the transmission of the externally coded data based on the execution status of the external code decoding for the externally coded data.
[0251] Optionally, specifically, the decoding unit 4504 is configured to determine the number of error symbols in each of the codeword sequences of P1 based on the execution status of the external code decoding for the codeword sequence of P1 of the externally coded data, where P1 is a positive integer; and to determine the link quality based on the number of error symbols in the codeword sequence of P1.
[0252] Optionally, specifically, the decoding unit 4504 is configured to determine the indication parameter corresponding to the codeword sequence based on the execution status of the external code decoding for the codeword sequence of the externally coded data; and to determine the link quality based on the indication parameter corresponding to the codeword sequence of P2 of the externally coded data, where P2 is a positive integer.
[0253] Optionally, the externally decoded data is data on which external coding and despreading have been performed.
[0254] Optionally, the externally decoded data is data on which external coding, lane realignment, and first deinterleaving have been performed.
[0255] Optionally, the externally decoded data is data on which external coding and data extraction have been performed.
[0256] Optionally, the internally coded data is data on which external coding has been performed.
[0257] Optionally, the internally coded data is data on which external coding and despreading have been performed.
[0258] Optionally, the inner-coded data is data on which outer coding, despiking, and lane realignment have been performed.
[0259] Optionally, the inner-coded data is data on which outer coding, despiking, lane realignment, and first deinterleaving have been performed.
[0260] Optionally, the inner-coded data is data on which outer coding and data processing have been performed, and the data processing includes first interleaving.
[0261] In conclusion, in the link monitoring apparatus, outer-coded data is received, inner coding is performed on the outer-coded data, and inner-coded data is output. In addition, outer decoding is performed on the outer-coded data, and the quality of the link for the transmission of the outer-coded data is determined based on the situation of the execution of the outer decoding on the outer-coded data. Thereby, the quality of the link can be effectively monitored.
[0262] In addition, in the link monitoring apparatus, inner coding needs to be performed on the outer-coded data, and inner-coded data is output. In addition, outer decoding is performed on the outer-coded data, and the quality of the link is determined based on the situation of the outer decoding. The two processes are executed separately. Therefore, the process of performing outer decoding on the data and determining the quality of the link does not affect the process of performing inner coding on the data and outputting the data, and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring apparatus can be applied to more transmission scenarios, particularly transmission scenarios with low requirements for transmission delay.
[0263] Embodiments of the present application further provide a link monitoring device. As shown in FIG. 46, the link monitoring device 460 includes: an input unit 4601 configured to receive externally coded and internally coded data; a first decoding unit 4602 configured to perform internal decoding on the externally coded and internally coded data; an output unit 4603 configured to output the internally decoded data; and a second decoding unit 4604 configured to perform external decoding on the internally decoded data.
[0264] The second decoding unit 4604 is further configured to determine the link quality regarding the transmission of the externally coded and internally coded data based on the execution status of the external decoding on the internally decoded data.
[0265] Optionally, specifically, the second decoding unit 4604 determines the number of error symbols in each of the codeword sequences of P3 based on the execution status of the external decoding on the codeword sequence of P3 of the internally decoded data, where P3 is a positive integer; and is configured to determine the link quality based on the number of error symbols in the codeword sequence of P3.
[0266] Optionally, specifically, the second decoding unit 4604 determines an indication parameter corresponding to the codeword sequence based on the execution status of the external decoding on the codeword sequence of the internally decoded data; and is configured to determine the link quality based on the indication parameter corresponding to the codeword sequence of P4 of the internally decoded data, where P4 is a positive integer.
[0267] Optionally, the externally decoded data is data on which internal decoding and despreading have been performed.
[0268] Optionally, the externally decoded data is data on which internal decoding and first deinterleaving have been performed.
[0269] Optionally, the externally decoded data is data on which inner decoding, lane realignment, and first deinterleaving have been performed.
[0270] Optionally, the externally decoded data is data on which inner decoding and data extraction have been performed.
[0271] Optionally, the inner decoded data is data on which data processing has been performed, the externally decoded data is data on which the reverse process of inner decoding and data processing has been performed, the data processing includes first interleaving, and the reverse process includes second deinterleaving.
[0272] Optionally, the output data is data on which inner decoding has been performed.
[0273] Optionally, the inner decoded data is data on which data processing has been performed, the output data is data on which the reverse process of inner decoding and data processing has been performed, the data processing includes first interleaving, and the reverse process includes second deinterleaving.
[0274] In conclusion, in the link monitoring apparatus provided in the present embodiment of the present application, externally encoded and internally encoded data is received, inner decoding is performed on the externally encoded and internally encoded data, and the inner decoded data is output. In addition, outer decoding is performed on the inner decoded data, and the quality of the link regarding the transmission of the externally encoded and internally encoded data is determined based on the situation of the execution of the outer decoding on the inner decoded data. Thereby, the quality of the link can be effectively monitored.
[0275] In addition, in the link monitoring device, it is necessary to output the internally decoded data. In addition, it is necessary to perform external decoding on the internally decoded data, and the link quality is determined based on the situation of the external decoding. The two processes are executed separately. Therefore, the process of performing external decoding on the data and determining the link quality does not affect the process of outputting the internally decoded data and does not additionally increase the overall transmission delay of the data. Therefore, the link monitoring device can be applied to more transmission scenarios, particularly transmission scenarios with low requirements for transmission delay.
[0276] Those skilled in the art can clearly understand that, for the purpose of convenience and concise description, for the detailed operation processes of the foregoing devices and units, reference may be made to the corresponding content in the method embodiments. The details will not be described again in this specification.
[0277] Embodiments of the present application provide a computer device. FIG. 47 is an example of a diagram of a possible architecture of a computer device. As shown in FIG. 47, the computer device 470 may include a processor 4701, a memory 4702, a communication interface 4703, and a bus 4704. In the computer device, there may be one or more processors 4701. FIG. 47 shows only one of the processors 4701. Optionally, the processor 4701 may be a central processing unit (CPU). When the computer device includes a plurality of processors 4701, the plurality of processors 4701 may be of the same type or different types. Optionally, the plurality of processors of the computer device may be integrated into a multi-core processor.
[0278] Memory 4702 stores computer instructions and data, and the memory 4702 may store the computer instructions and data necessary to implement the methods provided in this application. The memory 4702 may be any of the following storage media: non-volatile memory (e.g., read-only memory (ROM), solid-state disk (SSD), hard disk drive (HDD), or optical disk) or volatile memory, or any combination thereof.
[0279] The communication interface 4703 may be any one or any combination of the following components having network access functions: a network interface (e.g., an Ethernet interface) and a wireless network interface card.
[0280] The communication interface 4703 is used by the computer device to perform data communication with another node or another computer device.
[0281] FIG. 47 further illustrates, by way of example, a bus 4704. The processor 4701, the memory 4702, and the communication interface 4703 may be connected by using the bus 4704. In this way, the processor 4701 may access the memory 4702 by using the bus 4704, and may further exchange data with another node or another computer device through the communication interface 4703.
[0282] In the present application, a computer device executes computer instructions in a memory 4702 to implement the method provided in the present application. For example, externally coded data is received, internal coding is performed on the externally coded data, and internally coded data is output. External decoding is performed on the externally coded data, and the quality of the link for the transmission of the externally coded data is determined based on the situation of the execution of the external decoding on the externally coded data. In addition, for the implementation process in which the computer device executes computer instructions in the memory 4702 to execute the steps of the method provided in the present application, refer to the corresponding description in the foregoing embodiments of the method.
[0283] Embodiments of the present application further provide a computer-readable storage medium. The computer-readable storage medium is a non-volatile computer-readable storage medium containing program instructions. When the program instructions are executed on a computer device, the computer device can execute the method provided in the embodiments of the present application.
[0284] Embodiments of the present application further provide a computer program product containing instructions. When the computer program product is executed on a computer, the computer can execute the method provided in the embodiments of the present application.
[0285] A person skilled in the art can understand that all or part of the embodiments can be implemented by hardware or a program instructing related hardware. The program can be stored in a computer-readable storage medium. The storage medium may be a read-only memory, a magnetic disk, an optical disk, or the like.
[0286] In the embodiments of the present application, the terms "first", "second", and "third" are merely used for explanation and cannot be understood as indicating or suggesting relative importance. Unless otherwise explicitly limited, the term "at least one" means one or more, and the term "a plurality of" means two or more.
[0287] The term "and / or" in the present application merely describes the associated relationship for describing related objects and represents that three relationships may exist. For example, A and / or B may represent three cases: only A exists, both A and B exist, and only B exists. In addition, in this specification, the character " / " usually indicates an "or" relationship between related objects.
[0288] The foregoing description is only an optional embodiment of the present application and is not intended to limit the present application. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application. (Other possible items) [Item 1] A link monitoring method, comprising: Receiving externally coded data; Performing internal coding on the externally coded data and outputting internally coded data; Performing external decoding on the externally coded data; and Determining the quality of a link for transmission of the externally coded data based on a status of execution of external decoding on the externally coded data . [Item 2] The step of determining the quality of the link for transmission of the externally coded data based on a status of execution of external decoding on the externally coded data includes: Determining the number of error symbols in each of symbol sequences of P1 of the externally coded data based on a status of execution of external decoding on a symbol sequence of P1 of the externally coded data, where P1 is a positive integer; and Determining the quality of the link based on the number of error symbols in the symbol sequence of P1 . The method according to item 1, comprising: [Item 3] The step of determining the quality of the link for transmission of the externally coded data based on a status of execution of external decoding on the externally coded data includes: Determining an indication parameter corresponding to the symbol sequence based on a status of execution of external decoding on the symbol sequence of the externally coded data; and Determining the quality of the link based on the indication parameter corresponding to a symbol sequence of P2 of the externally coded data, where P2 is a positive integer . The method according to item 1, including: [Item 4] The externally decoded data is data on which external coding and de-skewing have been performed. The method according to any one of items 1 to 3 [Item 5] The method according to any one of items 1 to 4, wherein the externally decoded data is data on which external coding, lane realignment, and first deinterleaving have been performed. [Item 6] The method according to any one of items 1 to 5, wherein the externally decoded data is data on which external coding and data extraction have been performed. [Item 7] The method according to any one of items 1 to 6, wherein the internally encoded data is data on which external coding has been performed. [Item 8] The method according to any one of items 1 to 6, wherein the internally encoded data is data on which external coding and despiking have been performed. [Item 9] The method according to any one of items 1 to 6, wherein the internally encoded data is data on which external coding, despiking, and lane realignment have been performed. [Item 10] The method according to any one of items 1 to 6, wherein the internally encoded data is data on which external coding, despiking, lane realignment, and first deinterleaving have been performed. [Item 11] The method according to any one of items 1 to 10, wherein the internally encoded data is data on which external coding and data processing have been performed, and the data processing includes first interleaving. [Item 12] A link monitoring method, comprising: receiving externally encoded and internally encoded data; performing internal decoding on the externally encoded and internally encoded data, and outputting internally decoded data; performing external decoding on the internally decoded data; and determining the quality of a link for transmission of the externally encoded and internally encoded data based on a status of execution of external decoding on the internally decoded data. The method comprising the above steps. [Item 13] The step of determining the quality of the link for transmission of the externally encoded and internally encoded data based on the status of execution of external decoding on the internally decoded data includes: determining the number of error symbols in each of the codeword sequences of P3 of the internally decoded data based on the status of execution of external decoding on the codeword sequence of P3, where P3 is a positive integer; and determining the quality of the link based on the number of error symbols in the codeword sequence of P3. The method according to item 12, including [Item 14] The step of determining the quality of the link for the transmission of the externally coded and internally coded data based on the execution status of the external decoding for the internally decoded data is: The step of determining the instruction parameter corresponding to the codeword sequence based on the execution status of the external decoding for the codeword sequence of the internally decoded data; and The step of determining the quality of the link based on the instruction parameter corresponding to the codeword sequence of P4 of the internally decoded data, where P4 is a positive integer. The method according to item 12, including [Item 15] The method according to any one of items 12 to 14, wherein the externally decoded data is the data on which the internal decoding and de-skewing have been performed. [Item 16] The method according to any one of items 12 to 15, wherein the externally decoded data is the data on which the internal decoding and the first de-interleaving have been performed. [Item 17] The method according to any one of items 12 to 16, wherein the externally decoded data is the data on which the internal decoding, lane re-alignment, and the first de-interleaving have been performed. [Item 18] The method according to any one of items 12 to 17, wherein the externally decoded data is the data on which the internal decoding and data extraction have been performed. [Item 19] The method according to any one of items 12 to 18, wherein the internally decoded data is the data on which the data processing has been performed, the externally decoded data is the data on which the internal decoding and the reverse process of the data processing have been performed, the data processing includes the first de-interleaving, and the reverse process includes the second de-interleaving. [Item 20] The method according to any one of items 12 to 19, wherein the output data is the data on which the internal decoding has been performed. [Item 21] The method according to any one of items 12 to 19, wherein the internally decoded data is the data on which the data processing has been performed, the output data is the data on which the internal decoding and the reverse process of the data processing have been performed, the data processing includes the first de-interleaving, and the reverse process includes the second de-interleaving. [Item 22] A link monitoring device, An input unit configured to receive externally coded data. An encoding unit configured to perform inner encoding on the externally encoded data; and An output unit configured to output the inner-encoded data; and A decoding unit configured to perform external decoding on the externally encoded data wherein the decoding unit is further configured to determine the quality of a link regarding the transmission of the externally encoded data based on the status of the execution of external decoding on the externally encoded data. Device. [Item 23] Specifically, the decoding unit:[[]] Determines the number of error symbols in each of the codeword sequences of P1 based on the status of the execution of external decoding on the codeword sequence of P1 of the externally encoded data, where P1 is a positive integer; and Determines the quality of the link based on the number of error symbols in the codeword sequence of P1 The device according to item 22, configured as such. [Item 24] Specifically, the decoding unit:[[]] Determines an instruction parameter corresponding to the codeword sequence based on the status of the execution of external decoding on the codeword sequence of the externally encoded data; and Determines the quality of the link based on the instruction parameter corresponding to the codeword sequence of P2 of the externally encoded data, where P2 is a positive integer The device according to item 22, configured as such. [Item 25] The externally decoded data is data on which external encoding and despreading have been performed. The device according to any one of items 22 to 24. [Item 26] The externally decoded data is data on which external encoding, lane realignment, and first deinterleaving have been performed. The device according to any one of items 22 to 25. [Item 27] The externally decoded data is data on which external encoding and data extraction have been performed. The device according to any one of items 22 to 26. [Item 28] The inner-encoded data is data on which external encoding has been performed. The device according to any one of items 22 to 27. [Item 29] The inner-encoded data is data on which external encoding and despreading have been performed. The device according to any one of items 22 to 27. [Item 30] The apparatus according to any one of items 22 to 27, wherein the internally coded data is data on which external coding, descrambling, and lane realignment have been performed. [Item 31] The apparatus according to any one of items 22 to 27, wherein the internally coded data is data on which external coding, descrambling, lane realignment, and first deinterleaving have been performed. [Item 32] The apparatus according to any one of items 22 to 31, wherein the internally coded data is data on which external coding and data processing have been performed, and the data processing includes first interleaving. [Item 33] A link monitoring apparatus, an input unit configured to receive externally coded and internally coded data; a first decoding unit configured to perform internal decoding on the externally coded and internally coded data; an output unit configured to output internally decoded data; and a second decoding unit configured to perform external decoding on the internally decoded data, wherein the second decoding unit is further configured to determine the quality of a link regarding transmission of the externally coded and internally coded data based on a status of execution of external decoding on the internally decoded data. Apparatus. [Item 34] Specifically, the second decoding unit: determines the number of error symbols in each of the codeword sequences of P3 based on a status of execution of external decoding on the codeword sequence of P3 of the internally decoded data, where P3 is a positive integer; and determines the quality of the link based on the number of error symbols in the codeword sequence of P3. The apparatus according to item 33, configured as such. [Item 35] Specifically, the second decoding unit: determines an instruction parameter corresponding to the codeword sequence based on a status of execution of external decoding on the codeword sequence of the internally decoded data; and determines the quality of the link based on the instruction parameter corresponding to the codeword sequence of P4 of the internally decoded data, where P4 is a positive integer. The apparatus according to item 33, configured as such. [Item 36] The apparatus according to any one of items 33 to 35, wherein the externally decoded data is data on which internal decoding and deskewing have been performed. [Item 37] The apparatus according to any one of items 33 to 36, wherein the externally decoded data is data on which internal decoding and first deinterleaving have been performed. [Item 38] The apparatus according to any one of items 33 to 37, wherein the externally decoded data is data on which internal decoding, lane realignment, and first deinterleaving have been performed. [Item 39] The apparatus according to any one of items 33 to 38, wherein the externally decoded data is data on which internal decoding and data extraction have been performed. [Item 40] The internally decoded data is data on which data processing has been performed, the externally decoded data is data on which internal decoding and the reverse process of the data processing have been performed, the data processing includes first interleave, and the reverse process includes second deinterleave. The apparatus according to any one of items 33 to 39. [Item 41] The apparatus according to any one of items 33 to 40, wherein the output data is data on which internal decoding has been performed. [Item 42] The internally decoded data is data on which data processing has been performed, the output data is data on which internal decoding and the reverse process of the data processing have been performed, the data processing includes first interleave, and the reverse process includes second deinterleave. The apparatus according to any one of items 33 to 40. [Item 43] A computer device including a memory and a processor, wherein the memory stores program instructions, and the processor executes the program instructions to execute the method according to any one of items 1 to 21. [Item 44] A computer-readable storage medium including program instructions, wherein when the program instructions are executed on a computer device, the computer device can execute the method according to any one of items 1 to 21. [Item 45] A computer program product, wherein when the computer program product is executed on a computer, the computer can execute the method according to any one of items 1 to 21.
Claims
A link monitoring method applied to a first device, comprising: Receiving externally-coded data from the device; Performing inner coding on the externally-coded data and outputting the inner-coded data to a second device, wherein the second device is configured to perform inner decoding on the inner-coded data; Performing outer decoding on the externally-coded data to generate outer-decoded data; and Determining the quality of the link for transmitting the externally-coded data from the device that transmits the externally-coded data to the first device based on the status of performing outer decoding on the externally-coded data A method comprising the above steps. Claim 2 The step of determining the quality of the link for transmitting the externally-coded data from the device to the first device based on the status of performing outer decoding on the externally-coded data includes: Determining the number of error symbols in each of the codeword sequences of P1 based on the status of performing outer decoding on the codeword sequence of P1 of the externally-coded data, where P1 is a positive integer; and Determining the quality of the link based on the number of error symbols in the codeword sequence of P1 The method according to claim 1, comprising the above steps. Claim 3 The step of determining the quality of the link for transmitting the externally-coded data from the device to the first device based on the status of performing outer decoding on the externally-coded data includes: Determining an indication parameter corresponding to the codeword sequence based on the status of performing outer decoding on the codeword sequence of the externally-coded data, wherein the indication parameter indicates a value indicating that the number of error symbols in the codeword sequence is less than or equal to a threshold, or a value indicating that the number of error symbols in the codeword sequence is greater than the threshold; and Determining the quality of the link based on the indication parameter corresponding to the codeword sequence of P2 among the codeword sequences of the externally-coded data, where P2 is a positive integer The method according to claim 1, including the above steps.
4. The method according to any one of claims 1 to 3, wherein the externally decoded data is data obtained by performing deskewing and external decoding on the externally encoded data.
5. The method according to any one of claims 1 to 3, wherein the externally decoded data is data obtained by performing lane realignment, first deinterleaving, and external decoding on the externally encoded data.
6. The method according to any one of claims 1 to 3, wherein the externally decoded data is data obtained by performing data extraction and external decoding on the externally encoded data.
7. The method according to any one of claims 1 to 3, wherein the internally encoded data is data on which external encoding has been performed.
8. The method according to any one of claims 1 to 3, wherein the internally encoded data is data on which external encoding and deskewing have been performed.
9. The method according to any one of claims 1 to 3, wherein the internally encoded data is data on which external encoding, deskewing, and lane realignment have been performed.
10. The method according to any one of claims 1 to 3, wherein the internally encoded data is data on which external encoding, deskewing, lane realignment, and first deinterleaving have been performed.
11. The method according to any one of claims 1 to 3, wherein the internally encoded data is data on which external encoding and data processing have been performed, and the data processing includes first interleaving.
12. A link monitoring method applied to a second device, comprising: receiving externally encoded and internally encoded data from a first device; performing internal decoding on the externally encoded and internally encoded data, and outputting the internally decoded data to a third device, wherein the third device is configured to perform external decoding on the internally decoded data; performing external decoding on the internally decoded data to generate externally decoded data; and Based on the execution status of the outer code decoding for the inner code decoded data, determining the quality of the link for the transmission of the outer code encoded and inner code encoded data from the first device to the second device A method comprising the above.
13. Based on the execution status of the outer code decoding for the inner code decoded data, the step of determining the quality of the link for the transmission of the outer code encoded and inner code encoded data from the first device to the second device is as follows: Based on the execution status of the outer code decoding for the codeword sequence of P3 of the inner code decoded data, determining the number of error symbols in each of the codeword sequences of P3, where P3 is a positive integer; and Determining the quality of the link based on the number of error symbols in the codeword sequence of P3 The method according to claim 12, comprising the above.
14. Based on the execution status of the outer code decoding for the inner code decoded data, the step of determining the quality of the link for the transmission of the outer code encoded and inner code encoded data from the first device to the second device is as follows: Based on the execution status of the outer code decoding for the codeword sequence of the inner code decoded data, determining an indication parameter corresponding to the codeword sequence, where the indication parameter indicates a value that the number of error symbols in the codeword sequence is less than or equal to a threshold, or a value that the number of error symbols in the codeword sequence is greater than the threshold; and Determining the quality of the link based on the indication parameter corresponding to the codeword sequence of P4 among the codeword sequences of the inner code decoded data, where P4 is a positive integer The method according to claim 12, comprising the above.
15. The outer code decoded data is the data obtained by performing the inner code decoding, de-skewing, and outer code decoding on the outer code encoded and inner code encoded data. The method according to any one of claims 12 to 14.
16. The externally decoded data is data obtained by performing the inner decoding, first deinterleaving, and the external decoding on the externally encoded and internally encoded data, the method according to any one of claims 12 to 14.
17. The externally decoded data is data obtained by performing the inner decoding, lane realignment, first deinterleaving, and the external decoding on the externally encoded and internally encoded data, the method according to any one of claims 12 to 14.
18. The externally decoded data is data obtained by performing the inner decoding, data extraction, and the external decoding on the externally encoded and internally encoded data, the method according to any one of claims 12 to 14.
19. The externally encoded and internally encoded data is data on which data processing is performed after external encoding and before internal encoding, where the data processing includes first interleaving; After the inner decoding and before the external decoding, the method further includes: Performing a process reverse to the data processing on the inner decoded data, where the reverse process includes second deinterleaving, The method according to any one of claims 12 to 14, comprising.
20. The output data is data on which inner decoding is performed, the method according to any one of claims 12 to 14.
21. The externally encoded and internally encoded data is data on which data processing is performed after external encoding and before internal encoding, where the data processing includes first interleaving; After the inner decoding and before the external decoding, the method further includes: Performing a process reverse to the data processing on the inner decoded data, where the reverse process includes second deinterleaving; and Outputting the inner decoded and reverse processed data The method according to any one of claims 12 to 14, comprising. **Claim 22**: The method according to any one of claims 12 to 14, further comprising calculating a sum of indication parameters indicating a value that the number of error symbols is less than or equal to a threshold and a value that the number of error symbols exceeds the threshold, and determining the quality of the link based on the sum, wherein the indication parameters correspond to a plurality of codeword sequences of the internally decoded data. **Claim 23** A link monitoring device comprising at least one processor, wherein the at least one processor: receives externally encoded data from a device; performs internal encoding on the externally encoded data and outputs the internally encoded data to a second link monitoring device; performs external decoding on the externally encoded data; and determines the quality of the link for the transmission of the externally encoded data from the device transmitting the externally encoded data to the link monitoring device based on the status of the execution of the external decoding on the externally encoded data is configured as a link monitoring device, wherein the second link monitoring device is configured to perform internal decoding on the internally encoded data. **Claim 24** A link monitoring device comprising at least one processor, wherein the at least one processor: receives externally and internally encoded data from a first device; performs internal decoding on the externally and internally encoded data and outputs the internally decoded data to a second link monitoring device; performs external decoding on the internally decoded data; and determines the quality of the link for the transmission of the externally and internally encoded data from the first device transmitting the externally and internally encoded data to the link monitoring device based on the status of the execution of the external decoding on the internally decoded data is configured as a link monitoring device, wherein the second link monitoring device is configured to perform external decoding on the internally decoded data. **Claim 25**: The at least one processor is configured to calculate a sum of indication parameters indicating a value indicating that the number of error symbols is less than or equal to a threshold value and a value indicating that the number of error symbols exceeds the threshold value, and determine the quality of the link based on the sum, wherein the indication parameters correspond to a plurality of codeword sequences of the inner code decoded data. The link monitoring device according to claim 24. **Claim 26** A communication system comprising a first device and a second device, wherein the first device: Receives externally coded data from a device; Performs inner code encoding on the externally coded data and outputs the inner code encoded data to the second device; Performs outer code decoding on the externally coded data; and Determines the quality of the link for the transmission of the externally coded data from the device transmitting the externally coded data to the first device based on the status of the execution of the outer code decoding on the externally coded data Is configured to; wherein the second device: Receives the inner code encoded data from the first device; Performs inner code decoding on the inner code encoded data and outputs the inner code decoded data to a third device; Performs outer code decoding on the inner code decoded data; and Determines the quality of the link for the transmission of the inner code encoded data from the first device to the second device based on the status of the execution of the outer code decoding on the inner code decoded data Is configured to, The third device is configured to perform outer code decoding on the inner code decoded data; A communication system.
Citation Information
Patent Citations
Device and method for constituting forward error correction (FEC) frame
JP2010263555A
Radio communication device and communication parameter determination method
JP2015130626A
Error correcting decoding device and error correcting decoding method
WO2020170435A1
Data transmission, encoding and decoding method, apparatus and device, and storage medium
WO2020228126A1