Time delay reporting method and device

By reporting the delay at a specific location at the physical layer of the communication device, the problem of insufficient timestamp accuracy is solved, the accuracy of time synchronization is improved, the requirements of ITU-T G.8273.2 are met, and higher-precision time synchronization is achieved.

CN120934667APending Publication Date: 2025-11-11HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410565639.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-08
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

In existing technologies, the accuracy of timestamps in communication devices is insufficient, resulting in low time synchronization accuracy. This is especially true in the 1588 protocol time synchronization scenario, where the accuracy of the sending and receiving timestamps affects the accuracy of time synchronization.

Method used

By reporting the target latency at a specific location in the data stream at the physical layer of the communication device, the locations of the maximum and minimum latency are determined using convolutional interleaving and deconvolutional deinterleaving operations. This latency information is then reported to the media access control layer for timestamp compensation to improve the accuracy of the timestamps.

Benefits of technology

It achieves higher timestamp accuracy and time synchronization precision in time synchronization scenarios, meets the time synchronization precision requirements of ITU-T G.8273.2, and improves the time synchronization precision between communication devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120934667A_ABST
    Figure CN120934667A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a time delay reporting method, and the method comprises the steps: reporting target time delays corresponding to data at a plurality of specific positions in a data stream, and enabling the specific positions to be spaced by a fixed length; wherein the period of the plurality of specific positions corresponds to the length of one or more convolution interleaving sequences, and the specific positions correspond to a delay line with the maximum or minimum time delay introduced in convolution interleaving; or, the period of the plurality of specific positions corresponds to the length of one or more distribution sequences, and each distribution sequence corresponds to eight distributed subsequences; or the period of the plurality of specific positions corresponds to an integral multiple of N data blocks, each data block in the N data blocks corresponds to a forward error correction (FEC) code word, N is a positive integer, and the length of each data block is 120 bits, or 128 bits, or 110 bits, or 126 bits. By using the scheme, the time delay can be accurately reported.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and more particularly to a delay reporting method and apparatus. Background Technology

[0002] Communication devices can exchange data. The sending end can send messages to the receiving end, adding a sending timestamp to the message. Similarly, after receiving a message, the receiving end can record its receiving timestamp for subsequent processing. For example, in a time synchronization scenario, the receiving end can perform time synchronization based on the sending and receiving timestamps. Here, the sending end can be understood as the communication device that sends the message, and the receiving end as the communication device that receives it.

[0003] The accuracy of the aforementioned sending and receiving timestamps directly affects the accuracy of the results obtained from subsequent processing measures. For example, in a time synchronization scenario, the accuracy of the sending and receiving timestamps directly affects the precision of time synchronization.

[0004] Therefore, how the sending end can accurately determine the sending timestamp of the message and how the receiving end can accurately determine the receiving timestamp of the message are problems that urgently need to be solved. Summary of the Invention

[0005] This application provides a latency reporting method and apparatus that can accurately report latency.

[0006] Firstly, this application provides a latency reporting method, which can be applied to a first module. The first module can report the target latency corresponding to data at multiple specific locations in a data stream, with a fixed interval between these multiple specific locations. In a specific example, the period of the multiple specific locations corresponds to the length of one or more convolutional interleaving sequences. When the first module corresponds to the transmitting end, the specific location corresponds to the delay line with the maximum latency introduced by the convolutional interleaving; when the first module corresponds to the receiving end, the specific location corresponds to the delay line with the minimum latency introduced by the convolutional interleaving. In this scenario, when the first module corresponds to the transmitting end, the target latency corresponding to the data at this specific location is equivalent to the maximum latency introduced by the convolutional interleaving operation; when the first module corresponds to the receiving end, the target latency corresponding to the data at this specific location is equivalent to the minimum latency introduced by the deconvolutional deinterleaving operation. In yet another specific example, the period of the multiple specific locations corresponds to the length of one or more distribution sequences, each of which corresponds to eight distributed sub-sequences. In this scenario, when the first module corresponds to the transmitting end, the target latency of the data at that specific location is equivalent to the maximum latency introduced by the distribution operation. When the first module corresponds to the receiving end, the target latency of the data at that specific location is equivalent to the minimum latency introduced by the multiplexing operation. In another specific example, the periods of the multiple specific locations correspond to integer multiples of N data blocks. Each of the N data blocks corresponds to a forward error correction (FEC) codeword, where N is a positive integer. The length of each data block is: 120 bits, 128 bits, 110 bits, or 126 bits. In this scenario, when the first module corresponds to the transmitting end, the target latency of the data at that specific location is equivalent to the maximum latency introduced by the internal code FEC encoding operation. When the first module corresponds to the receiving end, the target latency of the data at that specific location is equivalent to the minimum latency introduced by the FEC internal code decoding operation. Therefore, in this embodiment, if the first module corresponds to the transmitting end, the target latency corresponding to the data at that specific location is equivalent to the maximum latency; if the first module corresponds to the receiving end, the target latency corresponding to the data at that specific location is equivalent to the minimum latency. Thus, it can be seen that this solution can accurately report latency.

[0007] In one possible implementation, convolutional interleaving corresponds to three delay lines, and the delay line that introduces the maximum or minimum latency is the first delay line among the three delay lines in convolutional interleaving. Specifically, when the first module corresponds to the transmitting end, the delay line that introduces the maximum latency is the first delay line among the three delay lines in convolutional interleaving; when the first module corresponds to the receiving end, the delay line that introduces the minimum latency is the first delay line among the three delay lines in convolutional interleaving.

[0008] In one possible implementation, for the transmitting end, when performing the convolutional interleaving operation, the first delay line is used to delay each received data unit by 2*Q*D bits, the second delay line is used to delay each received data unit by Q*D bits, and the third delay line does not perform a delay operation on each received data unit. Here, D is the number of bits in each data unit, and Q is a positive integer. For the receiving end, when performing the deconvolutional deinterleaving operation, the third delay line is used to delay each received data unit by 2*Q*D bits, the second delay line is used to delay each received data unit by Q*D bits, and the first delay line does not perform a delay operation on each received data unit.

[0009] In one example, the value of Q is related to the interface rate. When the interface rate corresponds to 200G BASE-R, Q = 544. When the interface rate corresponds to 400G BASE-R, Q = 272. When the interface rate corresponds to 800G BASE-R, Q = 136. When the interface rate corresponds to 1.6TBASE-R, Q = 68.

[0010] In one possible implementation, convolutional interleaving corresponds to three delay lines, and the delay line that introduces the maximum or minimum latency is the third delay line among the three delay lines in convolutional interleaving. Specifically, when the first module corresponds to the transmitting end, the delay line that introduces the maximum latency is the third delay line among the three delay lines in convolutional interleaving; when the first module corresponds to the receiving end, the delay line that introduces the minimum latency is the third delay line among the three delay lines in convolutional interleaving.

[0011] In one possible implementation, for the transmitting end, when performing the convolutional interleaving operation, the first delay line does not perform a delay operation on each received data unit; the second delay line of the three delay lines delays each received data unit by 6*D bits; and the third delay line of the three delay lines delays each received data unit by 12*D bits, where D is the number of bits included in each data unit. For the receiving end, when performing the convolutional interleaving operation, the third delay line does not perform a delay operation on each received data unit; the second delay line delays each received data unit by 6*D bits; and the first delay line delays each received data unit by 12*D bits.

[0012] In one possible implementation, the number of data units included in each convolutional interleaving sequence is equal to the number of delay rows in the convolutional interleaving. For example, the number of delay rows could be 3 rows, in which case each convolutional interleaving sequence could include 3 data units. In one example, each of the 3 data units includes 40 bits. In other words, each convolutional interleaving sequence could include 120 bits.

[0013] In one possible implementation, the sending end can perform a 1:8 distribution operation on a distribution sequence, that is, distribute the distribution sequence into 8 streams. In this scenario, each distribution sequence can include 8 data blocks, and each stream can be distributed one data block. The data block distributed in each stream can also be referred to as a subsequence of the distribution sequence. In other words, after a distribution sequence is processed by a 1:8 distribution operation, 8 subsequences can be obtained. Correspondingly, the receiving end can perform an 8:1 multiplexing operation on the data blocks in the 8 streams to obtain the distribution sequence. In this scenario, since the waiting latency of the data block distributed in the first stream is the longest when the sending end performs the 1:8 distribution operation, and the waiting latency of the data block in the first stream is the shortest when the receiving end performs the 8:1 multiplexing operation, the specific position can correspond to the first stream among the aforementioned 8 streams.

[0014] In one possible implementation, if the sending end needs to perform 8:1 codeword interleaving after performing internal code FEC encoding, then the aforementioned value of N can be 8. In other words, the period of the multiple specific positions corresponds to an integer multiple of 8 data blocks, and each of the 8 data blocks corresponds to one FEC codeword.

[0015] In one possible implementation, if the sending end needs to perform 32:1 codeword interleaving after performing internal code FEC encoding, then the aforementioned value of N can be 32. In other words, the period of the multiple specific positions corresponds to an integer multiple of 32 data blocks, and each of the 32 data blocks corresponds to one FEC codeword.

[0016] In one possible implementation, the FEC codeword is an FEC internal codeword that has undergone external code FEC encoding and then internal code FEC encoding. In this scenario, the aforementioned data stream can be a data stream that has undergone external code FEC encoding and is received by the module performing internal code FEC through the attachment unit interface (AUI).

[0017] In one possible implementation, the FEC codeword is a Hamming codeword. In a specific example, the sending end can perform internal code FEC encoding using Hamming code encoding and perform 8:1 codeword interleaving on the resulting FEC codeword.

[0018] In one possible implementation, the FEC codeword is a BCH (Bose Chaudhuri Hocquenghem) codeword. In a specific example, the sender can use BCH code encoding to perform internal code FEC encoding and perform 32:1 codeword interleaving on the resulting FEC codeword.

[0019] In one possible implementation, after receiving the FEC codeword encoded with internal code, the receiving end can perform internal code FEC decoding on the FEC codeword. In one example, if the aforementioned first module corresponds to the receiving end, then the aforementioned data stream can also be the data stream obtained by the receiving end performing internal code FEC decoding.

[0020] In one possible implementation, considering that the starting position of the convolutional interleaving sequence introduces the greatest delay for the transmitting end when performing convolutional interleaving operations, and the starting position of the convolutional interleaving sequence introduces the least delay for the receiving end when performing deconvolutional deinterleaving operations, the specific position corresponds to the starting position of the one or more convolutional interleaving sequences. The starting position can be the first bit, the first symbol, or the first byte.

[0021] In one possible implementation, considering that the starting position of the distribution sequence introduces the greatest delay for the sending end during its distribution operation, and the starting position of the distribution sequence introduces the least delay for the receiving end during its multiplexing operation, the specific position corresponds to the starting position of the one or more distribution sequences.

[0022] In one possible implementation, considering that the starting positions of the aforementioned N data blocks introduce the greatest delay when the transmitter performs internal code FEC encoding, and the starting positions of the aforementioned N data blocks introduce the least delay when the receiver performs internal code FEC decoding, the specific position corresponds to a starting position that is an integer multiple of the N data blocks.

[0023] In one possible implementation, each of the aforementioned data locations at multiple specific locations can correspond to a first delay. Therefore, the data at these multiple specific locations can correspond to multiple first delays. Considering that Section 90 of the Institute of Electrical and Electronics Engineers (IEEE) 802.3cx defines corresponding maximum and minimum delay registers for each layer of the physical layer, to ensure compatibility with the current IEEE 802.3cx Section 90 mechanism for reporting physical layer delays, the maximum and / or minimum value among the multiple first delays can be reported. In other words, the aforementioned target delay can be the maximum and / or minimum value among the multiple first delays. In this case, the first module can also measure the first delay corresponding to the data at each of the multiple specific locations to obtain multiple first delays, so as to report the maximum and / or minimum value of the multiple first delays, thereby realizing the reporting of delay information.

[0024] In one possible implementation, the first module reports the target latency; specifically, this target latency can be reported to the second module. In one example, the second module could be the media access control (MAC) layer module of the communication device. In this way, the MAC layer module can compensate its own recorded timestamps based on the target latency, thereby making the compensated timestamps more accurate.

[0025] Secondly, this application provides a latency reporting device, the device comprising: a sending unit, configured to report target latency corresponding to data at multiple specific locations in a data stream, wherein the multiple specific locations are spaced at fixed intervals; wherein: the period of the multiple specific locations corresponds to the length of one or more convolutional interleaving sequences, the specific locations corresponding to the delay lines that introduce the maximum or minimum latency in the convolutional interleaving; or, the period of the multiple specific locations corresponds to the length of one or more distribution sequences, each of the distribution sequences corresponding to 8 distributed sub-sequences; or, the period of the multiple specific locations corresponds to an integer multiple of N data blocks, each of the N data blocks corresponding to a forward error correction (FEC) codeword, where N is a positive integer, and the length of each data block is: 120 bits, or 128 bits, or 110 bits, or 126 bits.

[0026] In one possible implementation, the delay line with the maximum or minimum introduced delay is the first of the three delay lines in the convolutional interleaving.

[0027] In one possible implementation, the first delay line is used to delay each received data unit by 2*Q*D bits, the second delay line of the three delay lines is used to delay each received data unit by Q*D bits, and the third delay line of the three delay lines does not perform a delay operation on each received data unit, where D is the number of bits included in each data unit and Q is a positive integer; or, the third delay line is used to delay each received data unit by 2*Q*D bits, the second delay line is used to delay each received data unit by Q*D bits, and the first delay line does not perform a delay operation on each received data unit.

[0028] In one possible implementation, Q can take the value of 544, 272, 136, or 68.

[0029] In one possible implementation, the delay line with the maximum or minimum introduced delay is the third delay line among the three delay lines in the convolutional interleaving.

[0030] In one possible implementation, the first delay line does not perform a delay operation on each received data unit, the second of the three delay lines is used to delay each received data unit by 6*D bits, and the third of the three delay lines is used to delay each received data unit by 12*D bits, where D is the number of bits included in each data unit; or, the third delay line does not perform a delay operation on each received data unit, the second delay line is used to delay each received data unit by 6*D bits, and the first delay line is used to delay each received data unit by 12*D bits.

[0031] In one possible implementation, each of the convolutional interleaving sequences comprises three data units, each of which comprises 40 bits.

[0032] In one possible implementation, each distribution sequence includes 8 data blocks, each distribution sequence is used to perform 1:8 distribution processing, or each distribution sequence is the first of 8 streams corresponding to the 1:8 distribution processing or 8:1 multiplexing processing at the specific position of the sequence obtained by performing 8:1 multiplexing processing.

[0033] In one possible implementation, the value of N is 8 or 32; or the FEC codeword is an FEC internal codeword that has undergone external code FEC encoding and then internal code FEC encoding; or the FEC internal codeword is a Hamming codeword or a BCH codeword; or the data stream is a data stream received through the Attached Unit Interface (AUI); or the data stream is a data stream obtained by performing internal code FEC decoding.

[0034] In one possible implementation, the specific position corresponds to the start position of the one or more convolutional interleaving sequences; or, the specific position corresponds to the start position of the one or more distribution sequences; or, the specific position corresponds to the start position of an integer multiple of the N data blocks; the start position is the first bit, the first symbol, or the first byte.

[0035] In one possible implementation, the apparatus further includes: a processing unit, configured to measure a first delay corresponding to the data at each of the plurality of specific locations, to obtain a plurality of first delays; wherein the target delay includes the maximum and / or minimum value among the plurality of first delays.

[0036] In one possible implementation, the sending unit is configured to: report the target latency corresponding to the data at the plurality of specific locations in the data stream to the Media Access Control (MAC) layer.

[0037] Thirdly, embodiments of this application provide a delay reporting device, including a circuit, the circuit being used to perform the method described in the first aspect above and any one of the first aspects above.

[0038] Fourthly, embodiments of this application provide a physical layer (PHY) chip, which is used to perform the methods described in the first aspect above and any one of the first aspects above.

[0039] Fifthly, embodiments of this application provide an optical module for performing the methods described in the first aspect above and any one of the first aspects above. Attached Figure Description

[0040] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0041] Figure 1a This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0042] Figure 1b This is a schematic diagram of the structure of another communication device provided in the embodiments of this application;

[0043] Figure 1c This is a schematic diagram of the structure of another communication device provided in the embodiments of this application;

[0044] Figure 1d A schematic diagram illustrating the operations included in an internal code FEC provided in an embodiment of this application;

[0045] Figure 1e A schematic diagram of convolutional interleaving provided for an embodiment of this application;

[0046] Figure 1f A schematic diagram of deconvolution deinterleaving provided in an embodiment of this application;

[0047] Figure 1g A schematic diagram illustrating the time delay introduced by convolutional interleaving and deconvolutional deinterleaving, provided for an embodiment of this application;

[0048] Figure 1h A schematic diagram illustrating the distribution of a 120-bit block as provided in an embodiment of this application;

[0049] Figure 1i A schematic diagram illustrating the delay introduced by 120-bit block distribution and 120-bit block multiplexing, provided for embodiments of this application;

[0050] Figure 1j A schematic diagram illustrating the delay introduced by the internal code FEC encoding or decoding function provided in an embodiment of this application;

[0051] Figure 1k A schematic diagram illustrating the operations included in an internal code FEC provided in an embodiment of this application;

[0052] Figure 1L A schematic diagram of convolutional interleaving provided for an embodiment of this application;

[0053] Figure 1m A schematic diagram illustrating the time delay introduced by convolutional interleaving and deconvolutional deinterleaving, provided for an embodiment of this application;

[0054] Figure 1n A schematic diagram illustrating the delay introduced by the internal code FEC encoding or decoding function provided in an embodiment of this application;

[0055] Figure 2 A flowchart illustrating a latency reporting method provided in an embodiment of this application;

[0056] Figure 3 This is a schematic diagram of the structure of a first module provided in an embodiment of this application;

[0057] Figure 4 This is a schematic diagram of the structure of a delay reporting device provided in an embodiment of this application;

[0058] Figure 5 This is a schematic diagram of the structure of a PHY chip or optical module provided in an embodiment of this application;

[0059] Figure 6 This is a schematic diagram of the structure of a device provided in an embodiment of this application;

[0060] Figure 7 This is a schematic diagram of the structure of a device provided in an embodiment of this application. Detailed Implementation

[0061] This application provides a latency reporting method and apparatus that can accurately report latency.

[0062] To make it easier to understand, we will first introduce the application scenarios of report latency.

[0063] In time synchronization scenarios, communication devices can synchronize their time by exchanging messages. The communication devices mentioned in this application embodiment can be network devices such as switches, routers, sliced ​​packet network (SPN) devices, or optical transmission network (OTN) devices. They can also be components of network devices, such as single boards, line cards, or interfaces, functional modules, chips, pluggable optical modules, servers, network cards on servers, or network cards of other devices. This application embodiment does not impose specific limitations. Communication devices can be directly connected, for example, but not limited to, via Ethernet cables or optical fibers.

[0064] The 1588 protocol is a high-precision time synchronization protocol. It provides time synchronization accuracy at the nanosecond (ns) level. Currently, the International Telecommunication Union (ITU-T) G.8273.2 defines four classes of time synchronization accuracy requirements: Class A, Class B, Class C, and Class D. Class A corresponds to a time accuracy of ±100 ns; Class B to ±70 ns; Class C to ±30 ns; and Class D to ±5 ns. Therefore, in one example, communication devices can synchronize their time by exchanging 1588 messages. The 1588 messages mentioned here can be understood as messages conforming to the 1588 protocol.

[0065] In the implementation of time synchronization between communication devices, the sending device can add a sending timestamp to the 1588 message, indicating the time of transmission. Similarly, the receiving device records the receiving timestamp, indicating the time of reception. Furthermore, the receiving device can perform time synchronization based on these sending and receiving timestamps. Since these timestamps are input parameters for time synchronization, their accuracy directly affects the precision of the synchronization. In other words, ensuring the accuracy of the sending and receiving timestamps is crucial.

[0066] Currently, communication devices record timestamps through their MAC layer. In a specific scenario, for communication devices that include an Ethernet interface, the MAC layer can record the timestamps.

[0067] Next, we will introduce how the communication device records timestamps, taking into account its structure.

[0068] See Figure 1a The figure is a schematic diagram of the structure of a communication device provided in an embodiment of this application, including the structure of the transmitting end communication device and the structure of the receiving end communication device.

[0069] like Figure 1a As shown, both the communication device acting as a transmitter and the communication device acting as a receiver can include a MAC layer and a physical layer. The physical layer can further include a physical coding sublayer (PCS), a physical medium attachment (PMA), and a physical media dependent layer (PMD). In addition, it can also include an application layer, which may correspond to upper-layer services, for example.

[0070] As the sending end, its MAC layer can generate MAC frames and send them to the physical layer. For example, the MAC layer can receive data sent by upstream devices or upper-layer services, and encapsulate the data to form MAC frames. Alternatively, if the MAC layer does not receive data from upstream devices or upper-layer services, it will generate a corresponding MAC frame based on the idle bitstream.

[0071] The MAC layer at the sending end transmits the MAC frame to the physical layer at the sending end. The physical layer may include PCS, PMA, and PMD. The MAC layer at the sending end can record the timestamp of its transmission of the MAC frame to the physical layer as the aforementioned transmission timestamp.

[0072] The PCS can process the received data stream and send the processed data to the PMA. The data stream mentioned here can be a bit stream consisting of multiple bits, which can be obtained by processing MAC frames.

[0073] PMA can modulate data from PCS into a signal that the channel supports for transmission.

[0074] PMD stands for signal transmitter, used to transmit PMA-modulated signals through a transmission medium.

[0075] The physical layer of the receiving end receives the signal transmitted through the aforementioned transmission medium, processes the signal, and then passes it to the MAC layer of the receiving end. As mentioned above, the physical layer of the receiving end also includes PMD, PMA, and PCS.

[0076] The receiving end's PMD first receives the signal transmitted on the transmission medium. Then, the PMA demodulates the signal. The data obtained after PMA demodulation is passed to the PCS, which performs corresponding operations on the received data. The operations performed by the receiving end's PCS are the inverse operations performed by the sending end's PCS. Further, the PCS can send the processed data stream to the MAC layer. Thus, after receiving the data stream sent by the PCS, the receiving end's MAC layer can obtain the MAC frame sent by the sending end and further process the MAC frame, for example, parsing the MAC frame and sending it to upstream devices or upper-layer services. When the receiving end's MAC layer receives the data stream processed by the PCS, it can record the timestamp of receiving the data stream as a reception timestamp.

[0077] To support the high-precision time synchronization feature of 1588, the physical layer of the communication device can report the latency of the data stream passing through the physical layer to the MAC layer. This allows the MAC layer to compensate for the latency when recording the transmission and reception timestamps of 1588 messages, making the timestamps more accurate after compensation. Specifically:

[0078] For the sending end, the MAC layer can add the aforementioned data stream's latency through the physical layer to its own recorded timestamp to obtain a transmission timestamp. It's easy to understand that this transmission timestamp can be considered the timestamp when the sending end's physical layer actually transmits the data stream.

[0079] For the receiving end, the MAC layer can subtract the latency of the data stream passing through the physical layer from its own recorded timestamp to obtain the received timestamp. It's easy to understand that this received timestamp can be considered the timestamp when the physical layer of the receiving end actually receives the data stream.

[0080] As described above, the data stream transmitted at the physical layer is a bitstream consisting of multiple bits. The physical layer cannot identify which parts of the bitstream correspond to 1588 packets. Therefore, the physical layer cannot accurately calculate the latency of 1588 packets. To solve this problem, in some scenarios, it is necessary to ensure the stability of the physical layer latency. That is, the latency of the data stream passing through the physical layer should stabilize around a fixed value. In this way, the physical layer can report this fixed value to the MAC layer, and the MAC layer can accordingly compensate for the timestamp based on this fixed value.

[0081] It should be noted that any communication device can function as both a transmitter and a receiver. In other words, Figure 1a The roles of the sender and receiver shown can be interchanged. Figure 1a If the roles of the sender and receiver are reversed, the direction of the data flow will also change accordingly. That is, the direction of the data flow can be from the sender after the role reversal to the receiver after the role reversal.

[0082] In some scenarios, the physical layer PCS of a communication device may include FEC functionality. (See reference...) Figure 1b , Figure 1b This is a schematic diagram of another communication device provided in an embodiment of this application. Figure 1b The structure of the communication device shown is similar to Figure 1a The communication devices shown are basically the same in structure, the difference being... Figure 1b The PCS of the communication device shown includes FEC functionality.

[0083] for Figure 1b In the communication device shown, the FEC function at the transmitting end performs FEC encoding, which includes adding a parity bit. Additionally, the transmitting end performs data stream interleaving. Similarly, the PCS at the receiving end performs FEC decoding, which includes removing the parity bit. Furthermore, the receiving end performs deinterleaving on the data stream.

[0084] In one example, the FEC function of the PCS can also be called the external code FEC function. The FEC codeword obtained by the PCS at the sending end through FEC encoding can be called the FEC external codeword.

[0085] Furthermore, the current IEEE 802.3dj task force (B400G standard) defines physical layer support for concatenated coding. Specifically, an inner code FEC is inserted between the PMA and PMD for FEC encoding and decoding. As an example, the FEC codeword obtained by encoding the transmitter's inner code FEC using the inner code FEC can be referred to as the FEC inner code codeword.

[0086] For reference Figure 1c To understand, Figure 1c This is a schematic diagram of another communication device provided in an embodiment of this application. Figure 1c As shown, the physical layer of the communication device supporting concatenated coding includes: PCS supporting FEC function, PMA 101, PMA102, internal code FEC, and PMD. PMA 101 and PMA102 interact via AUI. Specifically:

[0087] PCS and PMA 101 can belong to the first chip, while PMA102, internal code FEC, and PMD can belong to the optical module.

[0088] The internal code FEC performs operations related to the internal code.

[0089] In one example, the operations included in the internal code FEC can be referenced. Figure 1d To understand, Figure 1d This is a schematic diagram illustrating the operations included in an internal code FEC provided in an embodiment of this application.

[0090] like Figure 1d As shown:

[0091] For the transmitting end, the operations performed by the internal code FEC include: convolutional interweaving, 120-bit block distribution, internal code FEC processing, 8:1 four-level pulse amplitude modulation 4 (PAM4) interweaving, 1024-bit pad insertion, and other processing. Internal code FEC processing may include circular shifting and internal code FEC encoding, while other processing includes PAM4 encoding.

[0092] Correspondingly, for the receiving end, the operations performed by the inner code FEC include: other processing, inner code FEC synchronization and pad removal, 1:8 PAM4 deinterleaving, inner code FEC processing, 120-bit block multiplexing, and deconvolutional deinterweaving. Among these, inner code FEC processing may include cyclic shifting and inner code FEC decoding, while other processing includes PAM4 encoding.

[0093] in:

[0094] Convolutional interleaving involves various design parameters, including the number of delay lines, delay block length, and number of delay blocks. In one example, the number of delay lines in convolutional interleaving can be 3, corresponding to... Figure 1e and Figure 1f Lines 0, 1, and 2 in the code. The delay block length can correspond to... Figure 1e and Figure 1f In this context, D can be, for example, 40 bits, and the number of delay blocks can correspond to... Figure 1e and Figure 1f The delay value is Q, and the number of delay blocks varies for each delay line. Taking three delay lines as an example, the number of delay blocks can be 0, D, and 2D, resulting in a delay of 0 bits (no delay operation), 2*Q*D, and Q*D, respectively. Furthermore, when the number of delay blocks is different, the number of delay bits for each delay line can also be... Figure 1L The values ​​are 0 (no delayed operation), 6*D, and 12*D.

[0095] As a concrete example, the convolutional interleaving operation at the sending end sends 40 bits (where each 40 bits is called a data unit) in a round-robin fashion to three delay lines. See reference... Figure 1e As shown, Figure 1e This is a schematic diagram of convolutional interleaving provided in an embodiment of this application. These three delay lines correspond to... Figure 1e The diagram shows lines 0, 1, and 2. Line 0 is also referred to as the first delay line, line 1 as the second delay line, and line 2 as the third delay line. Figure 1e As shown, line0 (i.e., the first delay line) can receive each data unit (corresponding to...) Figure 1eIn the leftmost and rightmost small squares, D) is delayed by 2*Q*D bits. Line 1 (the second delay line) can delay each received data unit by Q*D bits, while line 2 (the third delay line) does not perform a delay operation on each received data unit. Where:

[0096] In 2*Q*D and 2*Q*D, D represents the number of bits in each data unit; that is, the value of D in 2*Q*D and 2*Q*D is 40. Q is a positive integer. In one example, the value of Q is related to the interface rate of the communication device: Q = 544 when the interface rate corresponds to 200GBASE-R; Q = 272 when the interface rate corresponds to 400G BASE-R; Q = 136 when the interface rate corresponds to 800G BASE-R; and Q = 68 when the interface rate corresponds to 1.6T BASE-R.

[0097] Similarly, the deconvolution deinterleaving operation at the receiving end also sends every 40 bits to the three delay lines in a polling manner. The processing operations of the three delay lines at the receiving end are the reverse of those at the transmitting end. (See reference...) Figure 1f As shown, Figure 1f This is a schematic diagram of deconvolution deinterleaving provided in an embodiment of this application. For example... Figure 1f As shown, line 2 (the third delay line) can delay each data unit it receives by 2*Q*D bits, line 1 (the second delay line) can delay each data unit it receives by Q*D bits, and line 0 (the first delay line) does not perform a delay operation on each data unit it receives.

[0098] In one example, three data units sent sequentially to three delay lines can also be referred to as a convolutional interleaving sequence. In other words, when the number of delay lines is 3, a convolutional interleaving sequence can include 3 data units (i.e., 120 bits). When the number of delay lines is N, the number of data units included in the convolutional interleaving sequence is also N.

[0099] Because the three delay lines have different delays for data units during convolutional interleaving or deconvolutional deinterleaving operations, these operations introduce a sawtooth-shaped delay. (See reference...) Figure 1g To understand, Figure 1g This is a schematic diagram illustrating the time delay introduced by convolutional interleaving and deconvolutional deinterleaving, as provided in an embodiment of this application. Figure 1g The horizontal axis represents the bit stream after convolutional interleaving or deconvolutional deinterleaving, and the vertical axis represents the latency. TX represents the latency introduced by the convolutional interleaving operation at the transmitting end, and RX represents the latency introduced by the deconvolutional deinterleaving operation at the receiving end.

[0100] exist Figure 1g In the diagram, the period of the sawtooth wave corresponds to the length of 3 data blocks, and the time corresponding to the length of 3 data blocks is:

[0101] 3*40 / (106.25G*2)≈0.5647ns.

[0102] The amplitude of the sawtooth wave is: 2*Q*40 / (106.25G*2). The amplitude of the sawtooth wave varies depending on the value of Q. Specifically:

[0103] If Q equals 544, then the amplitude of the sawtooth wave is: 2*544*40 / (106.25G*2)≈204.8ns;

[0104] If Q equals 272, then the amplitude of the sawtooth wave is: 2*272*40 / (106.25G*2)≈102.4ns;

[0105] If Q equals 136, then the amplitude of the sawtooth wave is: 2*136*40 / (106.25G*2)≈51.2ns;

[0106] If Q equals 68, then the amplitude of the sawtooth wave is: 2*68*40 / (106.25G*2)≈25.6ns.

[0107] In the above calculation formula: 106.25G*2 is the bit rate of the data stream for convolutional interleaving (or deconvolutional deinterleaving), and "2*Q*40" means that one symbol includes 2 bits, and 40 is the number of bits included in one data unit.

[0108] As described above regarding the convolutional interleaving performed at the transmitting end and the deconvolutional deinterleaving performed at the receiving end, for the transmitting end, the first delay line introduces the largest delay, and the delay corresponding to the data at the beginning of a convolutional interleaving sequence corresponds to the maximum delay introduced by the transmitting end performing the convolutional interleaving operation. For the receiving end, the first delay line introduces the smallest delay, and the delay corresponding to the data at the beginning of a convolutional interleaving sequence corresponds to the minimum delay introduced by the receiving end performing the deconvolutional deinterleaving operation. Specifically, Figure 1g The positions circled by the hollow and solid circles in the diagram correspond to the first delay line, and these positions also correspond to the starting positions of a convolutional interleaving sequence.

[0109] In the embodiments of this application, the starting position includes, but is not limited to, the first bit, the first symbol, or the first byte.

[0110] exist Figure 1gIn the diagram, the period of both the free circle and the solid circle corresponds to 120 bits, which is the length of 3 data units, with each data unit being 40 bits long.

[0111] The sending end's 120-bit block distribution operation distributes each 120-bit data block to eight Inner FEC flows using a round-robin approach, and then sends them out uniformly. (See reference...) Figure 1h To understand, Figure 1h This is a schematic diagram illustrating a 120-bit block distribution as provided in an embodiment of this application. Figure 1h As shown, these 8 Inner FEC flows correspond to Inner FEC flow0 to Inner FEC flow7. Inner FEC flow0 can be considered the first flow among these 8 Inner FEC flows, Inner FEC flow1 can be considered the second flow, and so on, with Inner FEC flow7 being the eighth flow. Figure 1h As shown, 120-bit blocks 0 to 120-bit blocks 7 are distributed sequentially to Inner FEC flows 0 to 7, and 120-bit blocks 8 to 120-bit blocks 15 are distributed sequentially to Inner FEC flows 0 to 7. This 120-bit block distribution process results in the longest data latency for flow 0 and the shortest for flow 7. The 120-bit block multiplexing at the receiving end is the reverse process of 120-bit block distribution. The receiving end merges the data from the eight Inner FEC flows into one, resulting in the shortest data latency for flow 0 and the longest for flow 7.

[0112] Because the waiting times for data on each Inner FEC flow differ between the sending and receiving ends, the distribution and multiplexing of 120-bit blocks introduce a sawtooth-shaped delay. (See reference...) Figure 1i To understand, Figure 1i This is a schematic diagram illustrating the delay introduced by 120-bit block distribution and 120-bit block multiplexing, as provided in an embodiment of this application. Figure 1i The horizontal axis represents the bit stream after 120-bit block distribution or 120-bit block multiplexing, and the vertical axis represents the delay. TX represents the delay introduced by the 120-bit block distribution operation at the transmitting end, and RX represents the delay introduced by the 120-bit block multiplexing operation at the receiving end.

[0113] exist Figure 1i In the diagram, the period of the sawtooth wave corresponds to eight 120-bit lengths, and the time corresponding to eight 120-bit lengths is:

[0114] 8*120 / (106.25G*2)≈4.5176ns.

[0115] The amplitude of the sawtooth wave is also approximately 4.5176 ns.

[0116] In one example, the eight 120-bit sequences sequentially distributed to eight inner FEC flows can also be referred to as a distribution sequence. In other words, a distribution sequence can include 8 * 120 = 960 bits. That is, the length of the distribution sequence corresponds to the product of the number of data streams after distribution and the length of the convolutional interleaving sequence. When the number of streams after distribution is N, the number of bits included in the distribution sequence is also N * 120 bits.

[0117] As described above regarding the 120-bit block distribution performed by the sending end and the 120-bit block multiplexing performed by the receiving end, for the sending end, the delay introduced by the beginning position of a distribution sequence is the largest. In other words, the delay corresponding to the data at the beginning position of a distribution sequence corresponds to the maximum delay introduced by the sending end in performing a 120-bit block distribution operation. For the receiving end, the delay introduced by the beginning position of a distribution sequence is the smallest. In other words, the delay corresponding to the data at the beginning position of a distribution sequence corresponds to the minimum delay introduced by the receiving end in performing a 120-bit block multiplexing operation. The beginning position in the distribution sequence corresponds to Inner FEC flow0. Specifically... Figure 1i The positions circled by the hollow and solid circles in the diagram correspond to the starting positions of the distribution sequence and also correspond to Inner FEC flow0.

[0118] exist Figure 1i In the diagram, the period of both the free circle and the solid circle corresponds to 960 bits.

[0119] The transmitting end's internal code FEC encoding could, for example, insert 8 parity bits for every 120 message bits. Combined with the 8:1 codeword interleaving after internal code FEC encoding, this is equivalent to inserting 64 parity bits every 960 message bits. The receiving end performs the reverse process, removing 64 parity bits every 960 message bits. In this scenario, the FEC codeword obtained after internal code FEC encoding can be a Hamming codeword.

[0120] Adding or removing parity bits during FEC encoding and decoding introduces a sawtooth-shaped delay. (See reference...) Figure 1j To understand, Figure 1jThis is a schematic diagram illustrating the delay introduced by the internal code FEC encoding or decoding function provided in an embodiment of this application. Wherein:

[0121] The period of the sawtooth wave is approximately 4.5 ns (1024 / 113.4375G / 2), and the amplitude of the sawtooth wave is approximately 0.28125 ns (64 / 113.4375G / 2).

[0122] In formula 1024 / 113.4375G / 2:

[0123] 1024 corresponds to the number of bits contained in 8 FEC codewords, and one FEC codeword contains 128 bits;

[0124] 113.4375G corresponds to the baud rate of a single physical lane;

[0125] 2 indicates that in the scenario of PAM4 encoding of a data stream, a symbol consists of 2 bits;

[0126] In formula 64 / 113.4375G / 2:

[0127] 64 indicates that in 8:1 codeword interleaving, the first bit of the ninth virtual lane is the 65th bit in the interleaved data, and it needs to wait for the first 64 bits to be sent before it can be sent.

[0128] 113.4375G corresponds to the baud rate of a single physical channel;

[0129] 2 indicates that a symbol consists of 2 bits.

[0130] As above Figure 1j As described, the period of the sawtooth wave corresponds to 8 data blocks, and each data block corresponds to one FEC internal codeword as a Hamming codeword. For example, a data block may include 128 bits, which correspond to one FEC internal codeword encoded in Hamming code. Alternatively, a data block may include 120 bits, which, after Hamming code encoding, yield a 128-bit FEC internal codeword. Figure 1i In the diagram, the positions circled by the hollow and solid circles correspond to the starting positions of the aforementioned eight data blocks. For the transmitting end, the delay corresponding to the position circled by the hollow circle represents the maximum delay introduced by the transmitting end when performing the internal code FEC encoding operation. For the receiving end, the delay corresponding to the position circled by the solid circle represents the minimum delay introduced by the receiving end when performing the internal code decoding operation.

[0131] exist Figure 1gIn this example, the period of the free circle and the period of the solid circle both correspond to 8 data blocks. In one example, a data block consists of 128 bits, and in another example, a data block consists of 120 bits.

[0132] In this system, data blocks can be numbered sequentially, with an interval of m data blocks between two adjacent circles. This interval can be represented by the difference in numbers between the data blocks corresponding to the two adjacent circles. In this case, the period of the positions marked by the aforementioned circles is also m. For example, the interval between data blocks corresponding to two hollow circles can be 8 data blocks, which can be represented by the difference in numbers between the data blocks corresponding to the two hollow circles. Accordingly, the period of the positions marked by the hollow circles is 8.

[0133] In another example, the operations included in the internal code FEC can be referenced. Figure 1k To understand, Figure 1k This is a schematic diagram illustrating the operations included in an internal code FEC provided in an embodiment of this application. Figure 1k The operations included in the internal code FEC shown are similar to those in the FEC code. Figure 1d The internal code FEC shown includes different operational scenarios. Generally, Figure 1d It can be applied to short-range communication scenarios. Figure 1k It can be applied to long-distance communication scenarios.

[0134] like Figure 1k As shown:

[0135] For the transmitting end, the operations performed by the internal code FEC include: alignment lock and lane deskew, lane reorder, permutation, convolutional interleaving, BCH encoding, cyclic shift, BCH interleaving, pilot insertion, dual polarization 16-state quadrature amplitude modulation (DP-16QAM) encoding, and digital-to-analog conversion via a digital-to-analog converter (DAC).

[0136] Correspondingly, for the receiving end, the operations performed by the internal code FEC include: via analog-to-digital converter (ADC), DP-16QAM decoding, BCH deinterleaving, pilot removal, cyclic shift, BCH decoding, deconvolution deinterleaving, and inverse permutation.

[0137] in:

[0138] The convolutional interleaving operation at the sending end sends 40 bits (each 40 bits is called a data unit) to three delay lines in a round-robin fashion. See reference [link / reference]. Figure 1L As shown, Figure 1L This is a schematic diagram of convolutional interleaving provided in an embodiment of this application. These three delay lines correspond to... Figure 1L The diagram shows lines 0, 1, and 2. Line 0 is also referred to as the first delay line, line 1 as the second delay line, and line 2 as the third delay line. Figure 1L As shown, line 0 (the first delay line) does not perform a delay operation on each data unit it receives, line 1 (the second delay line) can delay each data unit it receives by 6*D bits, and line 2 (the third delay line) can delay each data unit it receives by 12*D bits. Where D is the number of bits in each data unit, i.e., D is 40.

[0139] Similarly, the deconvolution deinterleaving operation at the receiving end also sends every 40 bits to the three delay lines in a polling manner. The processing operations of the three delay lines at the receiving end are the opposite of those at the sending end. Line 2 (i.e., the first delay line) does not perform a delay operation on each data unit it receives. Line 1 (i.e., the second delay line) can delay each data unit it receives by 6*D bits. Line 0 (i.e., the third delay line) can delay each data unit it receives by 12*D bits.

[0140] In one example, three data units sent sequentially to three delay lines can also be referred to as a convolutional interleaving sequence. In other words, a convolutional interleaving sequence can include three data units (i.e., 120 bits).

[0141] Because the three delay lines have different delays for data units during convolutional interleaving or deconvolutional deinterleaving operations, these operations introduce a sawtooth-shaped delay. (See reference...) Figure 1m To understand, Figure 1m This is a schematic diagram illustrating the time delay introduced by convolutional interleaving and deconvolutional deinterleaving, as provided in an embodiment of this application. Figure 1m The horizontal axis represents the bit stream after convolutional interleaving or deconvolutional deinterleaving, and the vertical axis represents the latency. TX represents the latency introduced by the convolutional interleaving operation at the transmitting end, and RX represents the latency introduced by the deconvolutional deinterleaving operation at the receiving end.

[0142] exist Figure 1mIn the diagram, the period of the sawtooth wave corresponds to the length of 3 data blocks, and the time corresponding to the length of 3 data blocks is:

[0143] 3*40 / (106.25G / 4)≈4.5176ns.

[0144] The amplitude of the sawtooth wave corresponds to the following time for 12*D bits: 12*40 / (106.25G / 4)≈18.0706ns. Where:

[0145] 106.25G / 4 is the bit rate at which the data stream is processed by convolutional interleaving (or deconvolutional deinterleaving).

[0146] As described above regarding the convolutional interleaving performed at the transmitting end and the deconvolutional deinterleaving performed at the receiving end, it can be seen that the third delay line introduces the greatest delay for the transmitting end, and the third delay line introduces the least delay for the receiving end. Specifically, Figure 1m The positions circled by the hollow and solid circles correspond to the third delay line.

[0147] exist Figure 1m In this context, the period of both the free circle and the solid circle corresponds to 120 bits.

[0148] The transmitting end's internal code FEC encoding could, for example, insert 16 parity bits for every 110 information bits. Combined with the 32:1 codeword interleaving after internal code FEC encoding, this is equivalent to inserting 512 parity bits every 3520 information bits. The receiving end performs the reverse process, removing 512 parity bits every 3520 information bits.

[0149] Adding or removing parity bits during FEC encoding and decoding introduces a sawtooth-shaped delay. (See reference...) Figure 1n To understand, Figure 1n This is a schematic diagram illustrating the delay introduced by the internal code FEC encoding or decoding function provided in an embodiment of this application. Wherein:

[0150] The period of the sawtooth wave is approximately 126*32 / (106.25G / 4)≈151.7929ns, and the amplitude of the sawtooth wave is approximately 512 / (106.25G / 4)≈19.2753ns.

[0151] As above Figure 1nAs described, the period of the sawtooth wave corresponds to 32 data blocks, and each data block corresponds to one FEC internal codeword as a BCH codeword. For example, a data block may include 126 bits, which correspond to one FEC internal codeword encoded via BCH. Alternatively, a data block may include 110 bits, which, after being encoded via BCH, yield a 126-bit FEC internal codeword. Figure 1n In the diagram, the positions circled by hollow and solid circles correspond to the starting positions of the aforementioned 32 data blocks. For the transmitting end, the delay corresponding to the position circled by the hollow circle represents the maximum delay introduced by the transmitting end performing the internal code FEC encoding operation. For the receiving end, the delay corresponding to the position circled by the solid circle represents the minimum delay introduced by the receiving end performing the internal code decoding operation.

[0152] exist Figure 1n In this example, the period of the free circle and the period of the solid circle both correspond to 32 data blocks. In one example, a data block consists of 126 bits, and in another example, a data block consists of 110 bits.

[0153] Regarding the aforementioned delay introduced by the internal code FEC function, the Institute of Electrical and Electronics Engineers (IEEE) 802.3cx standard stipulates that: for the transmitting end, the reported delay is equivalent to the maximum delay, and for the receiving end, the reported delay is equivalent to the minimum delay.

[0154] However, the IEEE 802.3cx standard does not specify the specific implementation methods for the transmitter to report the maximum latency and the receiver to report the minimum latency in scenarios where the physical layer supports concatenated coding.

[0155] Furthermore, the existing IEEE 802.3cx Chapter 90 requires that when the physical layer of a communication device reports latency, each layer should report the maximum latency and minimum latency separately. Specifically, IEEE 802.3cx Chapter 90 defines the registers used by each layer to report the maximum and minimum latency. For example, IEEE 802.3cx Chapter 90 defines the TX maximum latency register, TX minimum latency register, RX maximum latency register, and RX minimum latency register for the PMA / PMD, where:

[0156] The PMA / PMD TX maximum delay register is used to report the maximum delay of the PMA / PMD when the communication device is acting as the transmitter.

[0157] The PMA / PMD's TX minimum delay register is used to report the minimum delay of the PMA / PMD when the communication device is acting as the transmitter.

[0158] The PMA / PMD's RX maximum delay register is used to report the maximum delay of the PMA / PMD when the communication device is acting as the receiver.

[0159] The RX minimum delay register of the PMA / PMD is used to report the minimum delay of the PMA / PMD when the communication device is acting as the receiver.

[0160] In view of this, embodiments of this application provide a latency reporting method. For multiple operations performed by the internal code FEC, the latency corresponding to each of the multiple operations can be determined separately, so as to report the latency corresponding to each operation to the MAC layer. The solution provided by embodiments of this application can accurately report latency in scenarios where the physical layer supports concatenated coding, while adhering to the EEE 802.3cx standard, which stipulates that "for the sender, the reported latency is equivalent to the maximum latency, and for the receiver, the reported latency is equivalent to the minimum latency."

[0161] Next, the delay reporting method provided in the embodiments of this application will be described in conjunction with the accompanying drawings.

[0162] Before introducing the latency reporting method provided in the embodiments of this application, it should be noted that:

[0163] For a communication device, it may include a physical layer module, which implements the functions of the aforementioned physical layer. The physical layer may include multiple sub-modules, each implementing a specific physical layer function. For example, the physical layer module may include a PCS sub-module, a PMA sub-module, and a PMD sub-module. The PCS sub-module implements the functions of the aforementioned PCS, the PMA sub-module implements the functions of the aforementioned PMA, and the PMD sub-module implements the functions of the aforementioned PMD.

[0164] In addition, the communication device may also include an optical module, and the optical module may also include corresponding sub-modules to implement corresponding functions. For example, for a structure with... Figure 1c For the communication device with the structure shown, the optical module may include a PMA submodule, an internal code FEC module, and a PMD submodule. The internal code FEC module is used to implement the internal code FEC function.

[0165] Furthermore, time synchronization is only one application scenario provided by the embodiments of this application, and the solution of the embodiments of this application can also be applied to other scenarios. For example, in the scenario of flow detection, the communication device can also use the solution of the embodiments of this application to determine the sending timestamp or receiving timestamp of the message. The application scenarios of the embodiments of this application will not be listed and described one by one here.

[0166] See Figure 2 The figure is a flowchart illustrating a delay reporting method provided in an embodiment of this application.

[0167] Figure 2 The delay reporting method shown can be applied to the first module, which can be a module in a communication device. The communication device mentioned here can be a communication device acting as a transmitter or a communication device acting as a receiver; this application embodiment does not specifically limit its application. The structure of the first module can be as follows: Figure 3 As shown, Figure 3 This is a schematic diagram of the structure of a first module provided in an embodiment of this application. Figure 3 As shown, the first module includes a bitstream processing module, a delay determination module, and a delay reporting module. The bitstream processing module may include an FEC module and other modules that interact with the FEC module. The delay determination module is used to determine the delay, and the delay reporting module is used to report the determined delay to the second module.

[0168] In one example, the first module can be a PHY module or an optical module. As a specific example, the structure of a communication device including the first module is as follows: Figure 1c The structure shown. In this case... Figure 3 The FEC module shown can be a module that implements the internal code FEC function. The module that implements the internal code FEC function can also be called an "internal code FEC module".

[0169] The PHY module mentioned in the embodiments of this application may be, for example, a PHY chip used to implement PHY functions.

[0170] Figure 2 The method may include the following steps S101-S102.

[0171] S101: Determine the target latency corresponding to data at multiple specific locations in the data stream, wherein the multiple specific locations are spaced at fixed intervals, and the period of the multiple specific locations corresponds to the length of one or more convolutional interleaving sequences, wherein the specific locations correspond to the delay lines that introduce the maximum or minimum latency in the convolutional interleaving; or, the period of the multiple specific locations corresponds to the length of one or more distribution sequences, wherein each distribution sequence corresponds to 8 distributed sub-sequences; or, the period of the multiple specific locations corresponds to an integer multiple of N data blocks, wherein each of the N data blocks corresponds to a forward error correction (FEC) codeword, where N is a positive integer, and the length of each data block is: 120 bits, or 128 bits, or 110 bits, or 126 bits.

[0172] In this embodiment of the application, the data stream is a bit stream comprising multiple bits.

[0173] In one example, the first module could be Figure 1d The module corresponding to the internal code FEC is shown. If the first module is the module of the corresponding transmitting end, then the first module can perform convolutional interleaving, 120-bit block distribution, and internal code FEC encoding on the data entering the first module. Correspondingly, if the first module is the module of the corresponding receiving end, then the first module can perform FEC internal code decoding, 120-bit block multiplexing, and deconvolutional deinterleaving on the data entering the first module. In this case:

[0174] In one example, the target latency can be the latency introduced by the sending end performing convolutional interleaving. In this case, the periods at the multiple specific positions correspond to the lengths of one or more convolutional interleaving sequences. As described earlier, a convolutional interleaving sequence can include three 40-bit sequences, i.e., a convolutional interleaving sequence includes 120 bits. For this case, refer to the previous section on... Figure 1g As can be seen from the description above, the aforementioned Figure 1g The time delay corresponding to the position circled by the hollow circle is the maximum time delay corresponding to the convolutional interleaving operation performed by the transmitting end. Therefore, the period of the multiple specific positions corresponds to... Figure 1g The period of a hollow circle, for example, the period of multiple specific positions can be... Figure 1g The period of the hollow circle is an integer multiple of its period. In other words, the periods at the multiple specific positions can correspond to the lengths of one or more convolutional interleaving sequences. In this scenario, Figure 1gThe position circled in the hollow circle corresponds to the delay line with the largest introduced delay, while the delay line with the smallest introduced delay is the first of the three delay lines. Specifically, for the transmitting end, the first delay line delays each received data unit by 2*Q*D bits, the second delay line delays each received data unit by Q*D bits, and the third delay line does not perform any delay operation on each received data unit. For the values ​​of data unit, Q, and D, please refer to the previous section on... Figure 1g The relevant descriptions will not be repeated here.

[0175] In this scenario, the data stream can be either the data stream entering the convolutional interleaving module at the sending end, or the data stream processed by the convolutional interleaving module, whereby the convolutional interleaving module performs convolutional interleaving processing. Prior to entering the convolutional interleaving module, the data stream may have undergone external code FEC encoding processing via the PCS at the sending end. (See reference...) Figure 1c It is understood that the data stream that performs the external code FEC encoding process can be passed to the PMA101 of the PCS and then to the PMA102 of the optical module via the AUI. Furthermore, the PMA102 of the optical module passes it to the internal code FEC so that the convolutional interleaving module of the internal code FEC can further perform convolutional interleaving processing.

[0176] As before Figure 1g As can be seen from the description of the position circled by the hollow circle, the position circled by the hollow circle can correspond to the starting position of the convolutional interleaving sequence. In other words, the specific position corresponds to the starting position of one or more convolutional interleaving sequences.

[0177] In another example, the target latency can be the latency introduced by the receiving end performing deconvolution deinterleaving. In this case, the periods at the multiple specific positions correspond to the lengths of one or more convolutional interleaving sequences. As described earlier, a convolutional interleaving sequence can include three 40-bit sequences, i.e., a convolutional interleaving sequence includes 120 bits. For this case, refer to the previous section on... Figure 1g As can be seen from the description above, the aforementioned Figure 1g The time delay corresponding to the position circled in the solid circle is the minimum time delay required for the receiving end to perform the deconvolution deinterleaving operation. Therefore, the period of the multiple specific positions can correspond to... Figure 1g The period of the solid circle, for example, the period of the multiple specific positions can be... Figure 1g The period of the solid circle is an integer multiple of its period. In other words, the periods at the multiple specific positions can correspond to the lengths of one or more convolutional interleaving sequences. In this scenario, Figure 1gThe area circled in the solid circle corresponds to the delay line with the minimum introduced delay, which is the first of the three delay lines. Specifically, the first delay line at the receiving end does not perform a delay operation on each received data unit. The second delay line at the receiving end delays each received data unit by Q*D bits. The third delay line at the receiving end delays each received data unit by 2*Q*D bits. For the values ​​of Q and D, please refer to the previous section on... Figure 1g The relevant descriptions will not be repeated here.

[0178] In this scenario, as an example, the data stream can be a data stream sent from the sending end to the receiving end, and this data stream can be a data stream entering the convolutional interleaving module of the receiving end. As another example, the data stream can also be a data stream processed by the convolutional interleaving module of the receiving end, wherein the convolutional interleaving module of the receiving end is used to perform deconvolutional deinterleaving processing.

[0179] As before Figure 1g As can be seen from the description of the position circled in the solid circle, the position circled in the solid circle can correspond to the starting position of the convolutional interleaving sequence. In other words, the specific position corresponds to the starting position of one or more convolutional interleaving sequences.

[0180] In the embodiments of this application, the first module is a module corresponding to the sending end, which can be understood as the first module being a module in the communication device that acts as the sending end; the first module is a module corresponding to the receiving end, which can be understood as the first module being a module in the communication device that acts as the receiving end. Wherein, the first module corresponding to the receiving end can also be understood as the first module corresponding to the receiving end, and the first module corresponding to the sending end can also be understood as the first module corresponding to the sending end.

[0181] In one example, the target latency could be the latency introduced by the sender performing 120-bit block distribution. In this case, the periods at the multiple specific locations correspond to the lengths of one or more distribution sequences. The sender can perform a 1:8 distribution process on the distribution sequence, distributing multiple data blocks, each containing 120 bits, to eight inner FEC flows. As described earlier, a distribution sequence can include eight 120-bit blocks, meaning a distribution sequence comprises 960 bits. For this case, refer to the previous section on... Figure 1i As can be seen from the description above, the aforementioned Figure 1i The time delay corresponding to the position circled by the hollow circle is the maximum time delay for the transmitting end to perform a 120-bit block distribution operation. Therefore, the period of the multiple specific positions corresponds to... Figure 1i The period of a hollow circle, for example, the period of multiple specific positions can be... Figure 1iThe period of the hollow circle is an integer multiple of its period. In other words, the periods at the multiple specific positions can correspond to the lengths of one or more distribution sequences. In this scenario, Figure 1i The position circled in the hollow circle corresponds to the starting position of the distribution sequence and the first flow (i.e., the first inner FEC flow) corresponding to the 1:8 distribution process.

[0182] In another example, the target latency could be the latency introduced by the receiver performing 120-bit block multiplexing. In this case, the periods at the multiple specific locations correspond to the lengths of one or more distribution sequences. The receiver can perform 8:1 multiplexing on the distribution sequence, combining 120-bit data blocks from eight inner FEC flows into a single data stream. For this situation, refer to the previous section on... Figure 1i As can be seen from the description above, the aforementioned Figure 1i The time delay corresponding to the position circled in the solid circle is the minimum time delay required for the receiving end to perform a 120-bit block multiplexing operation. Therefore, the period of the plurality of specific positions corresponds to... Figure 1i The period of the solid circle, for example, the period of the multiple specific positions can be... Figure 1i The period of the solid circle is an integer multiple of its period. In other words, the periods at the multiple specific positions can correspond to the lengths of one or more distribution sequences. In this scenario, Figure 1i The position circled in the solid circle corresponds to the starting position of the distribution sequence and the first flow (i.e., the first inner FEC flow) corresponding to the 8:1 multiplexing process.

[0183] In one example, the target latency can be the latency introduced by the sender performing internal code FEC encoding. In this case, the periods at the multiple specific locations correspond to integer multiples of N data blocks. For this situation, refer to the previous section on... Figure 1j As can be seen from the description above, the aforementioned Figure 1j The time delay corresponding to the position circled by the hollow circle is the maximum time delay corresponding to the internal code FEC encoding operation performed by the transmitting end. Therefore, the period of the multiple specific positions corresponds to... Figure 1j The period of a hollow circle, for example, the period of multiple specific positions can be... Figure 1j An integer multiple of the period of the hollow circle. As before for... Figure 1j As described, the period of the hollow circle is 8 data blocks; therefore, in one example, N equals 8. In other words, the period at the multiple specific positions can correspond to an integer multiple of 8 data blocks. In this scenario, Figure 1jThe positions circled in the hollow circle correspond to the starting positions of integer multiples of the aforementioned 8 data blocks. Each of these 8 data blocks can include either 128 bits or 120 bits, where the 128 bits are the FEC codeword obtained after Hamming encoding, and the 120 bits are the data before Hamming encoding.

[0184] In this scenario, as an example, the data stream can be the data stream entering the internal code FEC encoding module at the sending end, where the internal code FEC encoding module is used to perform internal code FEC encoding. Prior to entering the internal code FEC encoding module, the data stream may have undergone external code FEC encoding processing via the PCS at the sending end. (See reference...) Figure 1c Understanding this, the data stream undergoing external code FEC encoding can be passed to the PMA101 of the PCS, and then to the PMA102 of the optical module via the AUI. Further, the PMA102 of the optical module passes it to the internal code FEC, so that the convolutional interleaving module of the internal code FEC can further perform convolutional interleaving processing. As another example, the data stream can also be a data stream processed by the internal code FEC encoding module; in other words, the data stream can include FEC internal code codewords that have undergone external code FEC encoding and then internal code FEC encoding.

[0185] In yet another example, the target latency can be the latency introduced by the receiver performing internal code FEC decoding. In this case, the periods at the multiple specific locations correspond to integer multiples of N data blocks. For this situation, refer to the previous section on... Figure 1j As can be seen from the description above, the aforementioned Figure 1j The time delay corresponding to the position circled in the solid circle is the minimum time delay required for the receiver to perform the internal code FEC decoding operation. Therefore, the period of the plurality of specific positions corresponds to... Figure 1j The period of the solid circle, for example, the period of the multiple specific positions can be... Figure 1j An integer multiple of the period of the solid circle. As before for... Figure 1j As described, the period of the solid circle is 8 data blocks; therefore, in one example, N equals 8. In other words, the period at the multiple specific positions can correspond to an integer multiple of 8 data blocks. In this scenario, Figure 1j The positions circled in the solid circle correspond to the starting positions of integer multiples of the aforementioned 8 data blocks. Each of these 8 data blocks can include either 128 bits or 120 bits, where the 128 bits are the FEC codeword obtained after Hamming code encoding, and the 120 bits are the data before Hamming code encoding.

[0186] In this scenario, as an example, the data stream can be a data stream entering the internal code FEC decoding module at the receiving end, wherein the internal code FEC decoding module is used to perform internal code FEC decoding. As yet another example, the data stream can also be a data stream obtained by performing internal code FEC decoding via the internal code FEC decoding module.

[0187] In yet another example, the first module could be Figure 1k The module corresponding to the internal code FEC is shown. If the first module is the module of the corresponding transmitting end, then the first module can perform convolutional interleaving and internal code FEC encoding operations on the data entering the first module. Correspondingly, if the first module is the module of the corresponding receiving end, then the first module can perform FEC internal code decoding and deconvolutional deinterleaving operations on the data entering the first module. In this case:

[0188] In one example, the target latency can be the latency introduced by the sending end performing convolutional interleaving. In this case, the periods at the multiple specific positions correspond to the lengths of one or more convolutional interleaving sequences. As described earlier, a convolutional interleaving sequence can include three 40-bit sequences, i.e., a convolutional interleaving sequence includes 120 bits. For this case, refer to the previous section on... Figure 1m As can be seen from the description above, the aforementioned Figure 1m The time delay corresponding to the position circled by the hollow circle is the maximum time delay corresponding to the convolutional interleaving operation performed by the transmitting end. Therefore, the period of the multiple specific positions corresponds to... Figure 1m The period of a hollow circle, for example, the period of multiple specific positions can be... Figure 1m The period of the hollow circle is an integer multiple of its period. In other words, the periods at the multiple specific positions can correspond to the lengths of one or more convolutional interleaving sequences. In this scenario, Figure 1m The position circled in the hollow circle corresponds to the delay line with the greatest introduced delay, which is the third of the three delay lines. For the transmitting end, the first delay line does not require delaying each received data unit. The second delay line delays each received data unit by 6*D bits, and the third delay line delays each received data unit by 12*D bits. For the value of D, please refer to the previous section on... Figure 1m The relevant descriptions will not be repeated here.

[0189] In this scenario, the data stream can be either the data stream entering the convolutional interleaving module at the sending end, or the data stream processed by the convolutional interleaving module, whereby the convolutional interleaving module performs convolutional interleaving processing. Prior to entering the convolutional interleaving module, the data stream may have undergone external code FEC encoding processing via the PCS at the sending end. (See reference...) Figure 1c It is understood that the data stream that performs the external code FEC encoding process can be passed to the PMA101 of the PCS and then to the PMA102 of the optical module via the AUI. Furthermore, the PMA102 of the optical module passes it to the internal code FEC so that the convolutional interleaving module of the internal code FEC can further perform convolutional interleaving processing.

[0190] In another example, the target latency can be the latency introduced by the receiving end performing deconvolution deinterleaving. In this case, the periods at the multiple specific positions correspond to the lengths of one or more convolutional interleaving sequences. As described earlier, a convolutional interleaving sequence can include three 40-bit sequences, i.e., a convolutional interleaving sequence includes 120 bits. For this case, refer to the previous section on... Figure 1m As can be seen from the description above, the aforementioned Figure 1m The time delay corresponding to the position circled in the solid circle is the minimum time delay required for the receiving end to perform the deconvolution deinterleaving operation. Therefore, the period of the multiple specific positions can correspond to... Figure 1m The period of the solid circle, for example, the period of the multiple specific positions can be... Figure 1m The period of the solid circle is an integer multiple of its period. In other words, the periods at the multiple specific positions can correspond to the lengths of one or more convolutional interleaving sequences. In this scenario, Figure 1m The area circled in the solid circle corresponds to the delay line with the minimum introduced delay, which is the third of the three delay lines. Specifically, the third delay line at the receiving end does not perform a delay operation on each received data unit. The second delay line at the receiving end delays each received data unit by 6*D bits. The first delay line at the receiving end delays each received data unit by 12*D bits. For the value of D, please refer to the previous section on... Figure 1m The relevant descriptions will not be repeated here.

[0191] In this scenario, as an example, the data stream can be a data stream sent from the sending end to the receiving end, and this data stream can be a data stream entering the convolutional interleaving module of the receiving end. As another example, the data stream can also be a data stream processed by the convolutional interleaving module of the receiving end, wherein the convolutional interleaving module of the receiving end is used to perform deconvolutional deinterleaving processing.

[0192] In one example, the target latency can be the latency introduced by the sender performing internal code FEC encoding. In this case, the periods at the multiple specific locations correspond to integer multiples of N data blocks. For this situation, refer to the previous section on... Figure 1n As can be seen from the description above, the aforementioned Figure 1n The time delay corresponding to the position circled by the hollow circle is the maximum time delay corresponding to the internal code FEC encoding operation performed by the transmitting end. Therefore, the period of the multiple specific positions corresponds to... Figure 1n The period of a hollow circle, for example, the period of multiple specific positions can be... Figure 1n An integer multiple of the period of the hollow circle. As before for... Figure 1n As described, the period of the hollow circle is 32 data blocks; therefore, in one example, N equals 32. In other words, the period at the multiple specific positions can correspond to an integer multiple of 32 data blocks. In this scenario, Figure 1n The positions circled in the hollow circle correspond to the starting positions of integer multiples of the aforementioned 32 data blocks. Each of these 32 data blocks can include either 126 bits or 110 bits, where the 126 bits are the FEC codeword obtained after BCH encoding, and the 110 bits are the data before BCH encoding.

[0193] In this scenario, as an example, the data stream can be the data stream entering the internal code FEC encoding module at the sending end, where the internal code FEC encoding module is used to perform internal code FEC encoding. Prior to entering the internal code FEC encoding module, the data stream may have undergone external code FEC encoding processing via the PCS at the sending end. (See reference...) Figure 1c Understanding this, the data stream undergoing external code FEC encoding can be passed to the PMA101 of the PCS, and then to the PMA102 of the optical module via the AUI. Further, the PMA102 of the optical module passes it to the internal code FEC, so that the convolutional interleaving module of the internal code FEC can further perform convolutional interleaving processing. As another example, the data stream can also be a data stream processed by the internal code FEC encoding module; in other words, the data stream can include FEC internal code codewords that have undergone external code FEC encoding and then internal code FEC encoding.

[0194] In yet another example, the target latency can be the latency introduced by the receiver performing internal code FEC decoding. In this case, the periods at the multiple specific locations correspond to integer multiples of N data blocks. For this situation, refer to the previous section on... Figure 1n As can be seen from the description above, the aforementioned Figure 1nThe time delay corresponding to the position circled in the solid circle is the minimum time delay required for the receiver to perform the internal code FEC decoding operation. Therefore, the period of the plurality of specific positions corresponds to... Figure 1n The period of the solid circle, for example, the period of the multiple specific positions can be... Figure 1n An integer multiple of the period of the solid circle. As before for... Figure 1n As described, the period of the solid circle is 32 data blocks; therefore, in one example, N equals 32. In other words, the period at the multiple specific positions can correspond to an integer multiple of 32 data blocks. In this scenario, Figure 1n The positions circled in the solid circle correspond to the starting positions of integer multiples of the aforementioned 32 data blocks. Each of these 32 data blocks can include either 126 bits or 110 bits, where the 126 bits are the FEC codeword obtained after BCH encoding, and the 110 bits are the data before BCH encoding.

[0195] In this scenario, as an example, the data stream can be a data stream entering the internal code FEC decoding module at the receiving end, wherein the internal code FEC decoding module is used to perform internal code FEC decoding. As yet another example, the data stream can also be a data stream obtained by performing internal code FEC decoding via the internal code FEC decoding module.

[0196] In one example, the data from the aforementioned multiple specific locations can correspond to a first time delay for each specific location. Therefore, the data from the aforementioned multiple specific locations can correspond to multiple first time delays.

[0197] In the embodiments of this application, the plurality of first delays may be the same, or may not be completely the same or completely different, and the embodiments of this application do not make specific limitations.

[0198] As mentioned earlier, the existing IEEE 802.3cx Chapter 90 defines corresponding maximum and minimum delay registers for each layer of the physical layer. Therefore, to be compatible with the current IEEE 802.3cx Chapter 90 mechanism for reporting physical layer delays, the maximum and / or minimum value among the plurality of first delays can be reported. In other words, the aforementioned target delay can be the maximum and / or minimum value among the plurality of first delays.

[0199] As mentioned above, the plurality of first delays may be the same, not exactly the same, or completely different. When the plurality of first delays are the same, the maximum value and the minimum value are the same. When the plurality of first delays are not exactly the same or completely different, the maximum value is less than the minimum value.

[0200] In one example, in a specific implementation of S101, the first module can measure the first delay corresponding to the data at each of the multiple specific locations, thus obtaining multiple first delays. For example:

[0201] The embodiments in this application do not specifically limit the specific implementation method of determining the first delay.

[0202] In one example, the first module can record the delay of data at a specific location in the data stream to determine the first delay. In another example, the first module can determine the delay of data at multiple locations in the data stream after passing through the first module, thereby obtaining multiple delays corresponding to the multiple locations. The multiple locations mentioned here may include the specific location; for example, the multiple locations may be various locations in the target data. Accordingly, the first delay can be determined from these multiple delays. That is, the delay corresponding to the specific location is extracted from the multiple delays to obtain the first delay. For example, for a data stream, the first module can determine the delay of each bit of data in the data stream after passing through the first module, and extract the delay of data at a specific location in the data stream (e.g., the start position of each convolutional interleaving sequence) after passing through the first module to obtain the first delay.

[0203] The method for determining the time delay of data at any position in the data stream after passing through the first module is not specifically limited in the embodiments of this application. Two possible implementation methods are described below.

[0204] In one implementation, the first module can record the first moment when it receives the data at that location, and the second moment when it sends the data at that location out. The difference between the second moment and the first moment is used to determine the time delay of the data at that location passing through the first module.

[0205] In another example, after receiving data at a specific location, the first module can cache that data. Accordingly, the first module can send out the cached data in sequence, based on the already cached data. Therefore, the position of the data at that location in the cache can characterize the length of time the data at that location needs to wait in the cache, and this waiting time can characterize the latency of the data at that location passing through the first module. Thus, the first module can determine the latency of the data at that location passing through the first module based on the position of the data at that location in the cache.

[0206] S102: Report the target latency corresponding to data at multiple specific locations in the data stream.

[0207] In this embodiment, the first module can report the target latency to the second module. In one example, the second module can be the MAC layer module of a communication device. In this way, the MAC layer module can compensate for its own recorded timestamps based on the target latency, thereby making the compensated timestamps more accurate.

[0208] In one example, the first module can report the target delay separately to the second module, or it can add the target delay and the delay of other operations in the internal code FEC of the data stream and report them to the second module together. This application embodiment does not make specific limitations.

[0209] The first module can use corresponding registers to report the target latency to the second module. In a scenario where the target latency includes the aforementioned maximum and / or minimum values, in one example, the first module can use corresponding registers to report the maximum and / or minimum values ​​to the second module. The following describes several specific implementation methods of the first module using corresponding registers to report the maximum and / or minimum values ​​to the second module.

[0210] In one example, if the first module corresponds to the sending end, then:

[0211] As a concrete example, new registers can be defined to report the maximum and / or minimum values ​​to the second module. For instance, a maximum TX delay register and / or a minimum TX delay register can be defined for the internal code FEC, where the maximum TX delay register is used to report the maximum value and the minimum TX delay register is used to report the minimum value. In other words, the first module can use the maximum TX delay register of the internal code FEC to report the maximum value to the second module, and / or use the minimum TX delay register of the internal code FEC to report the minimum value to the second module.

[0212] As another concrete example, the first module can use the PMA / PMD's TX maximum delay register to report the maximum value to the second module. Similarly, the first module can use the PMA / PMD's TX minimum delay register to report the minimum value to the second module. In this way, existing registers can be used to report the target delay.

[0213] In one example, if the first module corresponds to the receiving end, then:

[0214] As another concrete example, new registers can be defined to report the maximum and / or minimum values ​​to the second module. For example, a maximum RX delay register and / or a minimum RX delay register can be defined for the internal code FEC, where the maximum RX delay register is used to report the maximum value and the minimum RX delay register is used to report the minimum value. In other words, the first module can use the maximum RX delay register of the internal code FEC to report the maximum value to the second module, and / or use the minimum RX delay register of the internal code FEC to report the minimum value to the second module.

[0215] As another specific example, the first module can use the RX maximum delay register of the PMA / PMD to report the maximum value to the second module. Similarly, the first module can use the RX minimum delay register of the PMA / PMD to report the minimum value to the second module.

[0216] As can be seen from the above description, using the scheme of this application embodiment, for the dynamically periodic delay portion (i.e., the delay portion in the shape of a sawtooth wave), the first module can accurately report the delay to the second module according to the principle that "for the sending end, the reported delay is equivalent to the maximum delay, and for the receiving end, the reported delay is equivalent to the minimum delay".

[0217] The latency reporting method provided by the embodiments of this application has been described above. Next, the solution provided by the embodiments of this application will be described in conjunction with specific scenarios.

[0218] In this scenario, the structure of the communication device can be adopted. Figure 1d The structure shown can be such that the first module is an optical module of a communication device, which includes PMA102, internal code FEC and PMD.

[0219] Example 1:

[0220] For a communication device acting as a transmitter, its optical module can perform the following operations:

[0221] S1: Record the delay of the i-th convolutional interleaved sequence in the data stream it sends after the convolutional interleaving operation, and obtain DelayTX1(1,i).

[0222] in:

[0223] 1 indicates the starting position, which can be the first bit, the first byte, or the first symbol.

[0224] The value of i can be 1, 2, 3, ..., s.

[0225] S2: Determine the maximum value of DelayTX1(1,i) DelayTX_max1 and the minimum value of DelayTX1(1,i) DelayTX_min1.

[0226] S3: Report DelayTX_max1 and DelayTX_min1 to the MAC layer module, or report (DelayTX_max1+sum11) and (DelayTX_min1+sum12) to the MAC layer module.

[0227] In one example, the TX maximum delay register of the internal code FEC can be used to report DelayTX_max1 or (DelayTX_max1+sum11) to the MAC layer module, and the TX minimum delay register of the internal code FEC can be used to report DelayTX_min1 or (DelayTX_min1+sum12) to the MAC layer module.

[0228] In another example, the TX maximum delay register of the PMA / PMD can be used to report DelayTX_max1 or (DelayTX_max1+sum11) to the MAC layer module, and the TX minimum delay register of the PMA / PMD can be used to report DelayTX_min1 or (DelayTX_min1+sum12) to the MAC layer module.

[0229] Here, sum11 can be the maximum sum of delays of the data stream through other operations, and sum12 can be the minimum sum of delays of the data stream through other operations. sum11 and sum12 can be the same, and sum11 can also be greater than sum12. Other operations mentioned here can be, for example, the 120-bit block distribution operation in internal code FEC, the internal code FEC encoding operation, etc.

[0230] For a communication device acting as a receiver, its optical module can perform the following operations:

[0231] S1': Records the delay of the i-th convolutional interleaved sequence in the data stream it sends after the convolutional interleaving operation, resulting in DelayRX1(1, i), where:

[0232] 1 indicates the starting position, which can be the first bit, the first byte, or the first symbol.

[0233] The value of i can be 1, 2, 3, ..., s.

[0234] S2': Determine the maximum value of DelayRX1(1,i) DelayRX_max1 and the minimum value of DelayRX1(1,i) DelayRX_min1.

[0235] S3': Report DelayRX_max1 and DelayRX_min1 to the MAC layer module, or report (DelayRX_max1+sum11') and (DelayRX_min1+sum12') to the MAC layer module.

[0236] In one example, the RX maximum delay register of the internal code FEC can be used to report DelayRX_max1 or (DelayRX_max1+sum11') to the MAC layer module, and the RX minimum delay register of the internal code FEC can be used to report DelayRX_min1 or (DelayRX_min1+sum12') to the MAC layer module.

[0237] In another example, the RX maximum delay register of the PMA / PMD can be used to report DelayRX_max1 or (DelayRX_max1+sum11') to the MAC layer module, and the RX minimum delay register of the PMA / PMD can be used to report DelayRX_min1 or (DelayRX_min1+sum12') to the MAC layer module.

[0238] Wherein, sum11' can be the maximum sum of delays of the data stream through other operations, and sum12' can be the minimum sum of delays of the data stream through other operations. sum11' and sum12' can be the same, and sum11' can also be greater than sum12'. Other operations mentioned here can be, for example, the 120-bit block multiplexing operation in the internal code FEC, the FEC internal code decoding operation, etc.

[0239] Example 2:

[0240] For a communication device acting as a transmitter, its optical module can perform the following operations:

[0241] S4: Record the delay of the i-th distributed sequence in the data stream after a 120-bit block distribution operation, and obtain DelayTX2(1,j), where:

[0242] 1 indicates the starting position, which can be the first bit, the first byte, or the first symbol.

[0243] The value of i can be 1, 2, 3, ..., s.

[0244] S5: Determine the maximum value of DelayTX2(1,j) DelayTX_max2 and the minimum value of DelayTX2(1,j) DelayTX_min2.

[0245] S6: Report DelayTX_max2 and DelayTX_min2 to the MAC layer module, or report (DelayTX_max2+sum21) and (DelayTX_min2+sum22) to the MAC layer module.

[0246] In one example, the TX maximum delay register of the internal code FEC can be used to report DelayTX_max2 or (DelayTX_max2+sum21) to the MAC layer module, and the TX minimum delay register of the internal code FEC can be used to report DelayTX_min2 or (DelayTX_min2+sum22) to the MAC layer module.

[0247] In another example, the maximum TX delay register of the PMA / PMD can be used to report DelayTX_max2 or (DelayTX_max2+sum21) to the MAC layer module, and the minimum TX delay register of the PMA / PMD can be used to report DelayTX_min2 or (DelayTX_min2+sum22) to the MAC layer module.

[0248] Here, sum21 can be the maximum sum of the delays of the data stream through other operations, and sum22 can be the minimum sum of the delays of the data stream through other operations. sum21 and sum22 can be the same, and sum21 can also be greater than sum22. The other operations mentioned here can be, for example, the convolution interleaving operation in internal code FEC, the internal code FEC encoding operation, etc.

[0249] For a communication device acting as a receiver, its optical module can perform the following operations:

[0250] S4': Records the delay of the i-th distributed sequence in the data stream after 120-bit block multiplexing, resulting in DelayRX2(1, j), where:

[0251] 1 indicates the starting position, which can be the first bit, the first byte, or the first symbol.

[0252] The value of i can be 1, 2, 3, ..., s.

[0253] S5': Determine the maximum value of DelayRX2(1,j) DelayRX_max2 and the minimum value of DelayRX2(1,j) DelayRX_min2.

[0254] S6': Report DelayRX_max2 and DelayRX_min2 to the MAC layer module, or report (DelayRX_max2+sum21') and (DelayRX_min2+sum22') to the MAC layer module.

[0255] In one example, DelayRX_max2 or (DelayRX_max2+sum21') can be reported to the MAC layer module through the RX maximum delay register of the internal code FEC, and DelayRX_min2 or (DelayRX_min2+sum22') can be reported to the MAC layer module through the RX minimum delay register of the internal code FEC.

[0256] In another example, DelayRX_max2 or (DelayRX_max2+sum21') can be reported to the MAC layer module through the RX maximum delay register of the PMA / PMD, and DelayRX_min2 or (DelayRX_min2+sum22') can be reported to the MAC layer module through the RX minimum delay register of the PMA / PMD.

[0257] Here, sum21' can be the maximum sum of the delays of the data stream through other operations, and sum22' can be the minimum sum of the delays of the data stream through other operations. sum21' can be equal to sum22', or sum21' can be greater than sum22'. The other operations mentioned here can be, for example, the deconvolution deinterleaving operation and the FEC code decoding operation in the internal code FEC.

[0258] Example 3:

[0259] For a communication device acting as a transmitter, its optical module can perform the following operations:

[0260] S7: Record the start position of the k-th data block in the transmitted data stream and the delay encoded by the internal code FEC, to obtain DelayTX3(1, k), where:

[0261] 1 indicates the starting position, which can be the first bit, the first byte, or the first symbol.

[0262] The value of k can be 8, 16, 32, ... 8*s, in which case a data block includes 128 bits or 120 bits; or, the value of k can be 32, 64, 96, ... 32*s, in which case a data block includes 126 bits or 110 bits.

[0263] S8: Determine the maximum value of DelayTX3(1,k) DelayTX_max3 and the minimum value of DelayTX3(1,k) DelayTX_min3.

[0264] S9: Report DelayTX_max3 and DelayTX_min3 to the MAC layer module, or report (DelayTX_max3+sum31) and (DelayTX_min3+sum32) to the MAC layer module.

[0265] In one example, the maximum TX delay register of the internal code FEC can be used to report DelayTX_max3 or (DelayTX_max3+sum31) to the MAC layer module, and the minimum TX delay register of the internal code FEC can be used to report DelayTX_min3 or (DelayTX_min3+sum32) to the MAC layer module.

[0266] In another example, the maximum TX delay register of the PMA / PMD can be used to report DelayTX_max3 or (DelayTX_max3+sum31) to the MAC layer module, and the minimum TX delay register of the PMA / PMD can be used to report DelayTX_min3 or (DelayTX_min3+sum32) to the MAC layer module.

[0267] Here, sum31 can be the maximum sum of the delays of the data stream through other operations, and sum32 can be the minimum sum of the delays of the data stream through other operations. sum31 can be equal to sum32, or sum31 can be greater than sum32. The other operations mentioned here can be, for example, the convolution interleaving operation in the internal code FEC, or the convolution interleaving operation and the 120-bit block distribution operation.

[0268] For a communication device acting as a receiver, its optical module can perform the following operations:

[0269] S7': Records the delay of the starting position of the k-th data block in the transmitted data stream via internal code FEC encoding, resulting in DelayRX3(1, k), where:

[0270] 1 indicates the starting position, which can be the first bit, the first byte, or the first symbol.

[0271] The value of k can be 8, 16, 32, ... 8*s, in which case a data block includes 128 bits or 120 bits; or, the value of k can be 32, 64, 96, ... 32*s, in which case a data block includes 126 bits or 110 bits.

[0272] S8': Determine the maximum value of DelayRX3(1,k) DelayRX_max3 and the minimum value of DelayRX(1,k) DelayRX_min3.

[0273] S9': Report DelayRX_max3 and DelayRX_min3 to the MAC layer module, or report (DelayRX_max3+sum31') and (DelayRX_min3+sum32') to the MAC layer module.

[0274] In one example, the maximum delay of DelayRX_max3 or (DelayRX_max3+sum31') can be reported to the MAC layer module through the RX maximum delay register of the internal code FEC, and the minimum delay of DelayRX_min3 or (DelayRX_min3+sum32') can be reported to the MAC layer module through the RX minimum delay register of the internal code FEC.

[0275] In another example, DelayRX_max3 or (DelayRX_max3+sum31') can be reported to the MAC layer module through the RX maximum delay register of the PMA / PMD, and DelayRX_min3 or (DelayRX_min3+sum32') can be reported to the MAC layer module through the RX minimum delay register of the PMA / PMD.

[0276] Here, sum31' can be the maximum sum of the delays of the data stream through other operations, and sum32' can be the minimum sum of the delays of the data stream through other operations. sum31' can be equal to sum32', or sum31' can be greater than sum32'. The other operations mentioned here can be, for example, the deconvolution deinterleaving operation in the internal code FEC, or the deconvolution deinterleaving operation and the 120-bit block multiplexing operation.

[0277] Based on the latency reporting method provided in the above embodiments, this application also provides a corresponding latency reporting device, which can be used to execute the latency reporting method provided in the above embodiments.

[0278] In a specific example, the delay reporting device can be as follows: Figure 4 As shown. Figure 4 This is a schematic diagram of a delay reporting device provided in an embodiment of this application.

[0279] like Figure 4 As shown, the delay reporting device 400 includes a sending unit 401.

[0280] The sending unit 401 is used to report the target latency corresponding to data at multiple specific locations in the data stream, wherein the multiple specific locations are spaced at fixed intervals; wherein: the period of the multiple specific locations corresponds to the length of one or more convolutional interleaving sequences, and the specific locations correspond to the delay lines with the maximum or minimum latency introduced in the convolutional interleaving; or, the period of the multiple specific locations corresponds to the length of one or more distribution sequences, and each distribution sequence corresponds to 8 distributed sub-sequences; or, the period of the multiple specific locations corresponds to an integer multiple of N data blocks, and each of the N data blocks corresponds to a forward error correction (FEC) codeword, where N is a positive integer, and the length of each data block is: 120 bits, or 128 bits, or 110 bits, or 126 bits.

[0281] In one possible implementation, the delay line with the maximum or minimum introduced delay is the first of the three delay lines in the convolutional interleaving.

[0282] In one possible implementation, the first delay line is used to delay each received data unit by 2*Q*D bits, the second delay line of the three delay lines is used to delay each received data unit by Q*D bits, and the third delay line of the three delay lines does not perform a delay operation on each received data unit, where D is the number of bits included in each data unit and Q is a positive integer; or, the third delay line is used to delay each received data unit by 2*Q*D bits, the second delay line is used to delay each received data unit by Q*D bits, and the first delay line does not perform a delay operation on each received data unit.

[0283] In one possible implementation, Q can take the value of 544, 272, 136, or 68.

[0284] In one possible implementation, the delay line with the maximum or minimum introduced delay is the third delay line among the three delay lines in the convolutional interleaving.

[0285] In one possible implementation, the first delay line does not perform a delay operation on each received data unit, the second of the three delay lines is used to delay each received data unit by 6*D bits, and the third of the three delay lines is used to delay each received data unit by 12*D bits, where D is the number of bits included in each data unit; or, the third delay line does not perform a delay operation on each received data unit, the second delay line is used to delay each received data unit by 6*D bits, and the first delay line is used to delay each received data unit by 12*D bits.

[0286] In one possible implementation, each of the convolutional interleaving sequences comprises three data units, each of which comprises 40 bits.

[0287] In one possible implementation, each distribution sequence includes 8 data blocks, each distribution sequence is used to perform 1:8 distribution processing, or each distribution sequence is the first of 8 streams corresponding to the 1:8 distribution processing or 8:1 multiplexing processing at the specific position of the sequence obtained by performing 8:1 multiplexing processing.

[0288] In one possible implementation, the value of N is 8 or 32; or the FEC codeword is an FEC internal codeword that has undergone external code FEC encoding and then internal code FEC encoding; or the FEC internal codeword is a Hamming codeword or a BCH codeword; or the data stream is a data stream received through the Attached Unit Interface (AUI); or the data stream is a data stream obtained by performing internal code FEC decoding.

[0289] In one possible implementation, the specific position corresponds to the start position of the one or more convolutional interleaving sequences; or, the specific position corresponds to the start position of the one or more distribution sequences; or, the specific position corresponds to the start position of an integer multiple of the N data blocks; the start position is the first bit, the first symbol, or the first byte.

[0290] In one possible implementation, the device 400 further includes: a processing unit 402, configured to measure a first delay corresponding to the data at each of the plurality of specific locations, and obtain a plurality of first delays; wherein the target delay includes the maximum and / or minimum value among the plurality of first delays.

[0291] In one possible implementation, the sending unit 401 is configured to: report the target latency corresponding to the data at the plurality of specific locations in the data stream to the Media Access Control (MAC) layer.

[0292] For the specific implementation of each unit of the device 400, please refer to the description of the delay reporting method provided in this application in the above embodiments. The device 400 can implement the delay reporting method described in the above embodiments, and will not be described again here. Each unit in the device 400 can be a software unit implemented by a computer program or a hardware unit implemented by a circuit.

[0293] In yet another specific example, the aforementioned delay reporting device may include circuitry for performing the delay reporting method provided in the above embodiments.

[0294] The delay reporting device mentioned in the embodiments of this application can be an optical module or a PHY chip.

[0295] In one example, the structure of the PHY chip or optical module can be as follows: Figure 5 As shown. See also Figure 5 The figure is a schematic diagram of the structure of a PHY chip or optical module provided in an embodiment of this application. Figure 5 The PHY chip or optical module 500 shown includes an interface circuit 501 and a processing circuit 502. The interface circuit 501 is used to receive and / or transmit data, and the processing circuit 502 is used to perform data processing. The PHY chip or optical module 500 can implement the latency reporting method described in the above embodiments. The interface circuit 501 and the processing circuit 502 can be a division in actual circuit structure, meaning the PHY chip or optical module 500 includes two circuit parts: the interface circuit 501 and the processing circuit 502. Alternatively, the interface circuit 501 and the processing circuit 502 can be a division in functional logic, meaning the PHY chip or optical module 500 includes a single integrated circuit that can implement both the data receiving and / or transmitting process corresponding to the interface circuit 501 and the data processing process corresponding to the processing circuit 502.

[0296] In one example, the interface circuit 501 is used to report the target latency corresponding to data at multiple specific locations in the data stream, with a fixed interval between the multiple specific locations; wherein: the period of the multiple specific locations corresponds to the length of one or more convolutional interleaving sequences, and the specific location corresponds to the delay line with the maximum or minimum latency introduced in the convolutional interleaving; or, the period of the multiple specific locations corresponds to the length of one or more distribution sequences, each of the distribution sequences corresponding to 8 distributed sub-sequences; or, the period of the multiple specific locations corresponds to an integer multiple of N data blocks, each of the N data blocks corresponding to a forward error correction (FEC) codeword, where N is a positive integer, and the length of each data block is: 120 bits, or 128 bits, or 110 bits, or 126 bits. The processing circuit 502 is used to measure the first latency corresponding to the data at each specific location in the multiple specific locations, obtaining multiple first latencys; wherein, the target latency includes the maximum and / or minimum value among the multiple first latencys.

[0297] See Figure 6 The figure is a schematic diagram of the structure of a device provided in an embodiment of this application. Figure 6The device 600 shown includes an interface circuit 601 and a processing circuit 602. The interface circuit 601 is used to receive and / or send data, and the processing circuit 602 is used to perform data processing. The device 600 can implement the delay reporting method described in the above embodiments. The interface circuit 601 and the processing circuit 602 can be divided in terms of actual circuit structure, meaning the device 600 includes two circuit parts: the interface circuit 601 and the processing circuit 602. Alternatively, the interface circuit 601 and the processing circuit 602 can be divided in terms of functional logic, meaning the device 600 includes a single integrated circuit that can implement both the data receiving and / or sending process corresponding to the interface circuit 601 and the data processing process corresponding to the processing circuit 602.

[0298] As a specific example, the interface circuit 601 is used to report the target latency corresponding to data at multiple specific locations in the data stream, with a fixed interval between the multiple specific locations; wherein: the period of the multiple specific locations corresponds to the length of one or more convolutional interleaving sequences, and the specific location corresponds to the delay line with the maximum or minimum latency introduced in the convolutional interleaving; or, the period of the multiple specific locations corresponds to the length of one or more distribution sequences, each of the distribution sequences corresponding to 8 distributed sub-sequences; or, the period of the multiple specific locations corresponds to an integer multiple of N data blocks, each of the N data blocks corresponding to a forward error correction (FEC) codeword, where N is a positive integer, and the length of each data block is: 120 bits, or 128 bits, or 110 bits, or 126 bits. The processing circuit 602 is used to measure the first latency corresponding to the data at each specific location in the multiple specific locations, obtaining multiple first latencys; wherein, the target latency includes the maximum and / or minimum value among the multiple first latencys.

[0299] See Figure 7 The figure is a schematic diagram of the structure of a device provided in an embodiment of this application.

[0300] In one example Figure 7 The device 700 shown can be used to perform the methods provided in the above embodiments. Figure 2 The corresponding delay reporting method.

[0301] Please see Figure 7 As shown, device 700 includes a communication interface 720. This communication interface 720 is used to perform the communication provided in the above method embodiments. Figure 2 The corresponding delay reporting method.

[0302] In one example, the device 700 may further include a processor 710. The number of processors 710 in the device 700 may be one or more. Figure 7 Taking a processor as an example, the processor 710 and the communication interface 720 jointly execute the methods provided in the above embodiments. Figure 2 A corresponding latency reporting method. For example, the processor 710 is used to measure the first latency corresponding to the data at each specific location in a data stream, obtaining multiple first latencys; wherein, the target latency includes the maximum and / or minimum value among the multiple first latencys. The communication interface 720 is used to report the target latency corresponding to the data at multiple specific locations in the data stream.

[0303] Processor 710 may be a central processing unit (CPU), an NP, or a combination of CPU and NP. Processor 710 may include a digital signal processor (DSP). Processor 710 may further include hardware chips. The aforementioned hardware chips may be ASICs, programmable logic devices (PLDs), or combinations thereof. The aforementioned PLDs may be complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), generic array logic (GALs), or any combination thereof.

[0304] In one example, the device 700 further includes a memory 730. The memory 730 may include volatile memory, such as random-access memory (RAM); the memory 730 may also include non-volatile memory, such as flash memory, hard disk drive (HDD), or solid-state drive (SSD); the memory 730 may also include combinations of the above types of memory. The memory 730 may, for example, store the aforementioned target delay.

[0305] Optionally, the memory 730 stores an operating system and programs, executable modules, or data structures, or subsets thereof, or extended sets thereof. The programs may include various operation instructions for implementing various operations. The operating system may include various system programs for implementing various basic services and handling hardware-based tasks. The processor 710 can read the programs from the memory 730 to implement the methods provided in the embodiments of this application.

[0306] In this embodiment, the processor 710, communication interface 720, and memory 730 can be connected via a bus system or other means. Figure 7 Taking the connection between China and Israel via the 740 bus system as an example.

[0307] The bus system 740 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus system 740 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 7 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0308] The latency reporting device 400, PHY chip or optical module 500, device 600 and device 700 provided above can all be network devices such as switches, routers, SPN devices or OTN devices, or they can be components of network devices, such as single boards, line cards or interfaces on network devices, or functional modules on network devices, or chips, or pluggable optical modules on network devices, or servers, network cards on servers, or network cards of other devices, etc. The embodiments of this application do not make specific limitations.

[0309] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0310] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0311] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical business division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.

[0312] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0313] Furthermore, the various business units in the embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software business unit.

[0314] If the integrated unit is implemented as a software business unit and sold or used as a separate product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0315] Those skilled in the art will recognize that, in one or more of the examples above, the services described in this invention can be implemented using hardware, software, firmware, or any combination thereof. When implemented in software, these services can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transmission of computer programs from one place to another. Storage media can be any available medium accessible to general-purpose or special-purpose computers.

[0316] The above specific embodiments further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above are merely specific embodiments of the present invention.

[0317] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A delay reporting method, characterized in that, The method includes: The target latency corresponds to data at multiple specific locations in the report data stream, with a fixed interval between these multiple specific locations; wherein: The period at the multiple specific positions corresponds to the length of one or more convolutional interleaving sequences, and the specific positions correspond to the delay lines with the maximum or minimum delay introduced in the convolutional interleaving; or, The period at the multiple specific positions corresponds to the length of one or more distribution sequences, and each distribution sequence corresponds to 8 distributed subsequences; or, The period of the multiple specific positions corresponds to an integer multiple of N data blocks, and each of the N data blocks corresponds to a forward error correction (FEC) codeword, where N is a positive integer. The length of each data block is: 120 bits, or 128 bits, or 110 bits, or 126 bits.

2. The method according to claim 1, characterized in that, The delay line with the maximum or minimum introduced delay is the first of the three delay lines in the convolutional interleaving.

3. The method according to claim 2, characterized in that, The first delay line is used to delay each received data unit by 2*Q*D bits, the second delay line of the three delay lines is used to delay each received data unit by Q*D bits, and the third delay line of the three delay lines does not perform a delay operation on each received data unit, where D is the number of bits included in each data unit and Q is a positive integer; or, The third delay line is used to delay each received data unit by 2*Q*D bits, the second delay line is used to delay each received data unit by Q*D bits, and the first delay line does not perform a delay operation on each received data unit.

4. The method according to claim 3, characterized in that, The value of Q can be 544, 272, 136, or 68.

5. The method according to claim 1, characterized in that, The delay line with the maximum or minimum introduced delay is the third delay line among the three delay lines in the convolutional interleaving.

6. The method according to claim 5, characterized in that, The first delay line does not perform a delay operation on each data unit it receives. The second delay line of the three delay lines is used to delay each data unit it receives by 6*D bits. The third delay line of the three delay lines is used to delay each data unit it receives by 12*D bits, where D is the number of bits included in each data unit. or, The third delay line does not perform a delay operation on each data unit it receives, the second delay line is used to delay each data unit it receives by 6*D bits, and the first delay line is used to delay each data unit it receives by 12*D bits.

7. The method according to any one of claims 1-6, characterized in that, Each of the convolutional interleaving sequences comprises three data units, each of which comprises 40 bits.

8. The method according to claim 1, characterized in that, Each of the distribution sequences includes 8 data blocks, and each of the distribution sequences is used to perform 1:8 distribution processing, or each of the distribution sequences is the first of 8 streams corresponding to the 1:8 distribution processing or 8:1 multiplexing processing at the specific position of the sequence obtained by performing 8:1 multiplexing processing.

9. The method according to claim 1, characterized in that, The value of N is 8 or 32; or The FEC codeword is an FEC internal codeword that has undergone external code FEC encoding and then internal code FEC encoding; or The FEC internal codeword is a Hamming codeword or a BCH codeword; or The data stream is a data stream received through the Attached Unit Interface (AUI); or The data stream is the data stream obtained by performing FEC decoding of the internal code.

10. The method according to any one of claims 1-9, characterized in that, The specific position corresponds to the starting position of the one or more convolutional interleaving sequences; or, The specific position corresponds to the starting position of the one or more distribution sequences; or, The specific position corresponds to the starting position of an integer multiple of the N data blocks; The starting position is the first bit, the first symbol, or the first byte.

11. The method according to any one of claims 1-10, characterized in that, The method further includes: Measure the first time delay corresponding to the data at each of the multiple specific locations to obtain multiple first delays; The target delay includes the maximum and / or minimum value among the plurality of first delays.

12. The method according to any one of claims 1-11, characterized in that, The target latency corresponding to data at multiple specific locations in the report data stream includes: Report the target latency corresponding to the data at the multiple specific locations in the data stream to the Media Access Control (MAC) layer.

13. A time delay reporting device, characterized in that, The apparatus is used to perform the method according to any one of claims 1 to 12.

14. A time delay reporting device, characterized in that, The device includes a circuit; The circuit is used to perform the method according to any one of claims 1 to 12.

15. The apparatus according to claim 14, wherein the apparatus comprises: Optical module, or physical PHY layer chip.