Method, device and system for de-interleaving data streams
By determining the deinterleaving location based on FEC encoding and interleaving particle size in Ethernet data transmission, the inefficiency problem caused by code errors in transmission is solved, and efficient deinterleaving without additional data transmission is achieved, reducing costs and delays.
Patent Information
- Application Number
- CN202410063609.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-03
- Filing Date
- 2024-01-16
- Publication Date
- 2024-12-27
AI Technical Summary
In Ethernet data transmission, due to environmental interference and system errors, there is inconsistency between the data received by the data receiving end and the data at the sending end. The prior art requires additional transmission of fixed data segments to determine the deinterleaving location, resulting in transmission cost and efficiency Low.
By obtaining the forward error correction FEC encoded data stream, the deinterleaving location is determined based on the interleaving particle size and the FEC codeword boundary, avoiding additional transmission of fixed data segments, and directly restoring the original data stream.
Improve understanding of interleaving efficiency, save hardware resources, reduce transmission costs, and improve network efficiency.
Smart Images

Figure CN119210646A_ABST
Abstract
Description
[0001] This application claims priority to Chinese patent application No. 202310773216.0, filed on June 27, 2023, with invention name “A synchronization method for deinterleaving”, and Chinese patent application No. 202310808219.3, filed on July 3, 2023, with invention name “A method, device and system for deinterleaving a data stream”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communications, and in particular to a method, device and system for deinterleaving a data stream. Background Art
[0003] During Ethernet data transmission, due to various factors such as environmental interference and system errors, there will be inconsistencies between the data received by the data receiving end and the data sent by the data sending end, that is, bit errors are inevitable. Forward Error Correction (FEC) and interleaver can reduce the bit error rate (BER). The data output by the interleaver is transmitted to the data receiving end through the communication channel, input to the deinterleaver of the data receiving end for deinterleaving, and then enter the FEC decoder for decoding.
[0004] In order to determine the correct deinterleaving position, the data transmitter usually periodically inserts fixed data segments specifically used to determine the deinterleaving position into the data, and the data receiver determines the correct deinterleaving position by looking for these fixed data segments. However, this method requires an additional fixed data segment to be transmitted in addition to the original data to be transmitted, which brings higher transmission costs. Summary of the invention
[0005] A method for deinterleaving a data stream is provided to solve the technical problems of low deinterleaving efficiency and low network transmission efficiency caused by inserting fixed data segments.
[0006] In the first aspect, a method for deinterleaving a data stream is provided, the method comprising: obtaining a first interleaved data stream encoded by forward error correction (FEC), obtaining N sub-data streams corresponding to the first interleaved data stream based on the interleaving granularity of the first interleaved data stream, N being the interleaving depth of the first interleaved data stream, and N being a positive integer greater than 1, determining a deinterleaving position based on the FEC codeword boundaries of at least two sub-data streams in the N sub-data streams, and obtaining a first deinterleaved data stream based on the first interleaved data stream based on the deinterleaving position. The deinterleaving position can also be referred to as a correct deinterleaving position, that is, it is used to correctly perform the deinterleaving process, restore the original codewords, and the relative order of the original codewords, so as to restore the position of the data stream before encoding. Through this method, deinterleaving can be completed and data can be correctly restored without inserting an additional fixed data segment specifically used to find the deinterleaving position. This avoids adding additional data, saves hardware resources, improves deinterleaving efficiency, and reduces transmission costs and improves network efficiency.
[0007] In a possible implementation, N sub-data streams are arranged in order, and the deinterleaving position is determined based on the FEC codeword boundaries of at least two sub-data streams among the N sub-data streams, including: based on the FEC codeword boundary of the first sub-data stream being after the FEC codeword boundary of the second sub-data stream, the deinterleaving position is determined to be the FEC codeword boundary of the second sub-data stream; wherein the first sub-data stream and the second sub-data stream are two adjacent sub-data streams among the N sub-data streams. The order of FEC codeword boundaries refers to the order in which the data at the FEC codeword boundary position is transmitted in the first interleaved data stream, or is called the fast and slow order. When it is found that there is a difference in the FEC codeword boundaries of two adjacent sub-data streams, the sub-data stream with the earlier FEC codeword boundary is the sub-data stream with faster transmission, and the FEC codeword boundary of the sub-data stream with faster transmission is the correct deinterleaving position.
[0008] In a possible implementation manner, the first sub-data stream is arranged before the second sub-data stream.
[0009] In a possible implementation manner, the FEC codeword boundary of the first sub-data stream differs from the FEC codeword boundary of the second sub-data stream by one symbol.
[0010] In a possible implementation, the N sub-data streams are arranged in order, and the deinterleaving position is determined based on the FEC codeword boundaries of at least two sub-data streams in the N sub-data streams, including: based on the alignment of the FEC codeword boundaries of each sub-data stream in the N sub-data streams, the deinterleaving position is determined to be the FEC codeword boundary of the first sub-data stream; wherein the first sub-data stream is arranged first in the N sub-data streams. The alignment of the FEC codeword boundaries of each sub-data stream means that the data at the FEC codeword boundary position of each sub-data stream is in the data corresponding to a deinterleaving distribution, that is, the data at the FEC codeword boundary position of each sub-data stream is in the data corresponding to a group of interleaving at the data transmitting end. When it is found that the FEC codeword boundaries of each sub-data stream are aligned, the current position for starting deinterleaving distribution is the correct deinterleaving position, that is, the FEC codeword boundary of the sub-data stream that is arranged first in the N sub-data streams is the correct deinterleaving position.
[0011] In a possible implementation, obtaining a first deinterleaved data stream based on the first interleaved data stream based on the deinterleaving position includes: determining a deinterleaving combination order of the N sub-data streams based on the deinterleaving position and an arrangement order of the N sub-data streams; and combining data in the first interleaved data stream based on the deinterleaving combination order to obtain the first deinterleaved data stream.
[0012] In a possible implementation, the obtaining of N sub-data streams corresponding to the first interleaved data stream based on the interleaving granularity of the first interleaved data stream includes: selecting a data stream distribution starting position from the first interleaved data stream, and distributing the first interleaved data stream into N sub-data streams based on the interleaving granularity of the first interleaved data stream; wherein the data stream distribution starting position is a randomly selected position in the first interleaved data stream.
[0013] In a possible implementation, obtaining N sub-data streams corresponding to the first interleaved data stream based on the interleaving granularity of the first interleaved data stream includes: based on the interleaving granularity of the first interleaved data stream, polling and distributing data of the first interleaved data stream to the N sub-data streams.
[0014] In a possible implementation manner, the method further includes: determining an FEC codeword boundary of each of the N sub-data streams.
[0015] In a possible implementation, the determining the FEC codeword boundary of each of the N sub-data streams includes: determining the FEC codeword boundary of each of the N sub-data streams according to a FEC codeword feature.
[0016] In a possible implementation, determining the FEC codeword boundary of each of the N sub-data streams based on the FEC codeword characteristics includes: in each sub-data stream, performing characteristic value verification based on the assumed FEC codeword boundary, and determining the FEC codeword boundary of each sub-data stream based on the verification result.
[0017] In a possible implementation, the FEC codewords of the N sub-data streams are in a cyclic shift relationship, and determining the FEC codeword boundary of each of the N sub-data streams based on the FEC codeword characteristics includes: performing a reverse cyclic shift on the obtained FEC codewords of the N sub-data streams; and determining the FEC codeword boundary of each of the N sub-data streams after the reverse cyclic shift based on the FEC codeword characteristics.
[0018] In a possible implementation, the first interleaved data stream does not include a periodic alignment data segment, and the periodic alignment data segment includes an alignment word, a frame alignment word, or a guide data.
[0019] In a possible implementation manner, the FEC encoding method of the first interleaved data stream is non-concatenated code FEC encoding or concatenated code FEC encoding.
[0020] In a possible implementation, N is 4 or 8.
[0021] In a possible implementation, the interleaving type of the first interleaved data stream is symbol interleaving or convolutional interleaving.
[0022] In a possible implementation, the method is executed by a physical layer PHY chip, a forwarding device, or a pluggable module.
[0023] In a possible implementation, a channel rate of the first interleaved data stream is greater than or equal to 200 Gbps.
[0024] In a second aspect, an Ethernet device is provided, comprising at least one module; the at least one module is used to execute the method provided in the first aspect or any optional manner of the first aspect. The at least one module can be implemented based on software, hardware, or a combination of software and hardware, and the module can be arbitrarily combined or divided based on the specific implementation.
[0025] In a third aspect, an Ethernet device is provided, comprising a memory and a processor; the memory is used to store a computer program; the processor is used to execute the computer program stored in the memory so that the Ethernet device performs the method provided in the first aspect or any optional manner of the first aspect.
[0026] In a fourth aspect, an Ethernet device is provided, including a main control board and an interface board, wherein the main control board or the interface board is used to implement the method provided in the first aspect or any optional manner of the first aspect.
[0027] In a fifth aspect, a communication system is provided, which includes a transmitting device and a receiving device, and the receiving device is used to execute the method provided in the first aspect or any optional manner of the first aspect.
[0028] In a seventh aspect, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed, the method provided in the first aspect or any optional manner of the first aspect is implemented.
[0029] In an eighth aspect, a computer program product is provided, which includes a program or code, and when the program or code is executed, it implements the method provided in the first aspect or any optional manner of the first aspect.
[0030] In a ninth aspect, a chip is provided, which implements the method provided in the first aspect or any optional manner of the first aspect when running. The chip may be a control chip or a forwarding chip, and the chip includes a programmable logic circuit and / or program instructions.
[0031] The technical effects of the second to ninth aspects mentioned above can refer to the technical effects of the first aspect and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] In order to more clearly illustrate the technical solution of the present application, the following is a brief introduction to the drawings used in the embodiments. Obviously, the following drawings are only drawings of some embodiments of the present application. For ordinary technicians in this field, other technical solutions and drawings that can also implement the present application can be obtained based on these drawings without creative labor.
[0033] FIG1( a ) is a schematic diagram of a random bit error provided by an embodiment of the present invention;
[0034] FIG1( b ) is a schematic diagram of a random bit error provided by an embodiment of the present invention;
[0035] Figure 2 A schematic diagram of an interleaver processing process provided by an embodiment of the present invention;
[0036] Figure 3 A schematic diagram of an interleaved data processing process provided by an embodiment of the present invention;
[0037] FIG4( a) is a schematic diagram of an interleaved data processing process provided by an embodiment of the present invention;
[0038] FIG4( b) is a schematic diagram of an interleaved data processing process provided by an embodiment of the present invention;
[0039] Figure 5 A schematic diagram of an interleaved data processing process provided by an embodiment of the present invention;
[0040] Figure 6 A schematic diagram of a data insertion process provided by an embodiment of the present invention;
[0041] Figure 7 A schematic diagram of a method for deinterleaving a data stream provided by an embodiment of the present invention;
[0042] FIG8( a) is an applicable scenario of a data stream deinterleaving method provided in an embodiment of the present application;
[0043] FIG8( b) is an applicable scenario of a data stream deinterleaving method provided in an embodiment of the present application;
[0044] FIG8( c ) is an applicable scenario of a data stream deinterleaving method provided in an embodiment of the present application;
[0045] Fig. 9 A schematic diagram of a cyclic shift processing process provided in an embodiment of the present application;
[0046] Fig.10 A schematic diagram of a processing procedure of interleaving with cyclic shift provided in an embodiment of the present application;
[0047] Fig.11 A schematic diagram of a data stream deinterleaving process provided in an embodiment of the present application;
[0048] Fig.12 A schematic diagram of a data stream deinterleaving process provided in an embodiment of the present application;
[0049] Fig.13 A schematic diagram of a data stream deinterleaving process provided in an embodiment of the present application;
[0050] Fig.14 A schematic diagram of a data stream deinterleaving process provided in an embodiment of the present application;
[0051] Fig.15 A schematic diagram of the structure of an Ethernet device provided by an embodiment of the present invention;
[0052] Fig.16 A schematic diagram of the structure of an Ethernet device provided by an embodiment of the present invention;
[0053] Fig.17A schematic diagram of a communication system provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0054] During the communication transmission process, due to various reasons such as environmental interference and system errors, there is a high probability that the data received by the data receiving end and the data sent by the data sending end will be inconsistent. This inconsistency is also called a bit error. Bit errors are inevitable during the communication transmission process. Bit errors can cause many problems. For example, when there are errors in the key control signals for the interaction between various devices in the network, it may cause serious problems such as system crashes and data loss. In addition, the existence of bit errors will greatly affect the network communication delay, which in turn affects consumers' experience of watching videos, online games, and making calls. Therefore, the bit error rate BER has always been an important performance indicator of the communication system. The smaller the BER value at the data receiving end, the higher the network transmission reliability.
[0055] In order to ensure the high reliability of the communication system, the industry usually puts forward clear requirements for the BER of the communication system. For example, the Institute of Electrical and Electronics Engineers (IEEE) standard 802.3bs requires that the BER of the data received by the data receiving end when entering the media access control (MAC) sublayer should be less than 1×10 -13 However, when the data in the network completes the transmission in the network link and enters the data receiving end, its BER can usually reach 2×10 -4 At this point, the data receiving end can use FEC to correct the bit errors in the data stream to restore it to the transmitted data. FEC can eliminate most of the bit errors, greatly reducing the BER of the processed data.
[0056] The effect of FEC is related to the error distribution. When the error distribution of two data streams is different, even if their BER before correction is the same, their BER after correction will be different. Among them, the BER before correction refers to the BER before FEC, and the BER after correction refers to the BER after FEC. The distribution of errors can be mainly divided into two categories: random error and non-random error. For the sake of illustration, Figure 1 (a) and Figure 1 (b) illustrate random errors and non-random errors, where b represents the correct bit of the data and x represents the bit where the error occurs. Random errors are manifested as random error distribution, as shown in Figure 1 (a), and non-random errors are manifested as multiple errors appearing in a shorter data sequence, as shown in Figure 1 (b). Therefore, non-random errors can also be called burst errors. Burst errors are common in actual communication networks, such as continuous errors caused by decision feedback equalization (DFE) and continuous errors caused by fast fading caused by the multipath effect of wireless information. As shown above, the current BER of the data in Figure 1(a) and Figure 1(b) is the same, but different error distributions will cause differences in the BER of these data after FEC. Under most communication transmission conditions, based on the same pre-correction FEC, burst errors will result in a better post-correction BER than random errors.
[0057] In order to further reduce the post-correction FEC in the case of burst bit errors, an interleaver, also known as a channel interleaver, is usually introduced. Figure 2 shown. Figure 2 In the figure, Tx is the data to be input into the FEC encoder at the data transmitting end. After being encoded by the FEC encoder at the data transmitting end, these data are input into the interleaver for interleaving. The data output by the interleaver is transmitted to the data receiving end through the communication channel. The data is input into the deinterleaver at the data receiving end for deinterleaving, and then enters the FEC decoder for decoding. Rx is the data output by the FEC decoder at the data receiving end. After FEC and interleaving processing, the BER in Rx will be greatly reduced.
[0058] In an embodiment of the present application, the interleaving mode of the interleaver may have multiple attributes. The interleaving type is an attribute of the interleaving mode, and the interleaving type includes symbol interleaving or convolution interleaving. Among them, symbol interleaving may also be referred to as block interleaving. Symbol interleaving and convolution interleaving are basically the same in terms of error correction performance, but when the same error correction performance is achieved, the delay and power consumption of the two modes may be different. The interleaving depth is also an attribute of the interleaving mode. The interleaving depth indicates the number of FEC codewords involved in the interleaving, and the number of FEC codewords involved in the interleaving will affect the error correction performance.
[0059] Figure 3 A schematic diagram of a data processing method for symbol interleaving is given as an example.
[0060] like Figure 3 As shown, multiple FEC-encoded codewords are obtained from the data stream to be interleaved as codewords participating in the interleaving, such as codewordA, codewordB, codewordC, codewordD, etc. in the figure. When the codewords participating in the interleaving come from the same data stream, it is the interleaving within the data stream; when the codewords participating in the interleaving come from different data streams, it is the interleaving between data streams. Each codeword includes p FEC-encoded symbols, each symbol includes q bits, that is, each codeword includes p×q bits. Among them, p and q are positive integers. For example, the length of each symbol can be 10 bits, that is, the symbol interleaving is performed with a granularity of 10 bits. For another example, in pulse amplitude modulation-4 (PAM4), the length of each symbol can be 2 bits, that is, PAM4 can use symbol interleaving with a granularity of 2 bits. For another example, p can also be 1, that is, the length of each symbol can be 1 bit, that is, the symbol interleaving is performed with a granularity of 1 bit. As shown Figure 3 In the example, 4 codewords are selected from the data stream to be interleaved to participate in the interleaving, that is, the interleaving depth is 4 codewords. When the codeword is an RS codeword, the interleaving depth can be called 4×RS. These 4 codewords are alternately distributed as n data streams on n lanes at a symbol granularity, so that the adjacent symbols of each data stream come from different codewords, that is, the symbols from the above 4 codewords appear alternately, and the interleaved data sequence is formed, that is, Figure 3 Interleaved lane 1 to interleaved lane n shown in FIG.
[0061] Symbol interleaving can be performed on one data stream or on multiple data streams. Figures 4(a) and 4(b) respectively exemplarily show schematic diagrams of data processing methods for symbol interleaving on one or more data streams.
[0062] As shown in FIG4(a), the data stream to be interleaved is a data stream Tx. Four FEC codewords are obtained from the data stream Tx to be interleaved to participate in the interleaving, such as cwA, cwB, cwC, and cwD in FIG4(a). Four FEC codewords are selected for interleaving each time, that is, the interleaving depth is 4. The number of symbols included in each codeword is 8. For example, the codeword cwA is composed of 8 symbols, each symbol is a, that is, the codeword cwA can be expanded to aaaaaaaaa. Similarly, cwB, cwC, and cwD are expanded to bbbbbbbb, cccccccc, and dddddddd, respectively. These four codewords are alternately combined with the symbol as the granularity to form the interleaved data stream abcdabcdabcd…abcd, that is, a group of interleaving is completed. Since the interleaving depth is 4, it can also be called a group of 4:1 interleaving. Thereafter, the subsequent 4 FEC codewords are further selected to continue the next group of 4:1 interleaving, and so on, which will not be repeated.
[0063] As shown in Figure 4(b), the data streams to be interleaved are 4 data streams Tx1, Tx2, Tx3 and Tx4. Take out one FEC codeword from each of the 4 data streams to be interleaved as the FEC codeword involved in the interleaving, such as cwA, cwB, cwC, and cwD selected from Tx1, Tx2, Tx3 and Tx4 in Figure 4(b). Four FEC codewords are selected for interleaving each time, that is, the interleaving depth is 4. The composition of each codeword is the same as Figure 4(a). That is, the codewords cwA, cwB, cwC and cwD are expanded to aaaaaaaa, bbbbbbbb, cccccccc, and dddddddd, respectively. These 4 codewords are alternately combined with symbols as the granularity to form the interleaved data stream abcdabcdabcd…abcd. Thereafter, the subsequent four FEC codewords are further taken out from the four data streams to be interleaved and interleaved, and so on, which will not be described in detail.
[0064] Figure 5 A schematic diagram of a data processing method of convolution interleaving is given as an example. Convolution interleaving involves a variety of design parameters, including the number of delay lines, the length of delay blocks, the number of delay blocks, etc. Figure 5 As shown, multiple FEC-encoded codewords are obtained from the data stream to be interleaved to participate in interleaving, including cwA, cwB, cwC, cwD, etc. The interleaving depth is 4 codewords, that is, 4 codewords are selected from the data stream to be interleaved, namely the above-mentioned cwA, cwB, cwC, cwD, and the number of delayed lines is 4, namely 4 lines of data line 0, 1, 2, 3 from top to bottom. Figure 5D stands for delay block. Each delay block consists of a shift register (LFSR) that can temporarily store certain data, and the number of delay blocks on each delay line is different. There is a switch that can be switched on the input and output sides of the interleaver to connect a certain delay line. The data of the FEC codeword enters the convolutional interleaver column by column with the delay block length as the granularity, such as Figure 5 As shown in a, b, c, and d. Among them, when the FEC codeword length is the same as the delay block length, the granularity entering the convolutional interleaver is also the length of the FEC codeword. When the FEC codeword length is different from the delay block length, when entering the convolutional interleaver, the FEC codeword data needs to be adjusted to enter the convolutional interleaver with the delay block length as the granularity. When the input side inputs data of a delay block length each time, the output side will simultaneously output data of a delay block length, and then the switchable connection switches on both sides will switch to the next delay line, and poll in the order of {line 0, line 1, line 2, line 3, line 0, line 1, line 2, line 3, line 0, line1,…}. In addition, Figure 5 The output side x in the delay block represents the data before 4 codewords. Figure 5 In this paper, the convolution interleaving of a data stream is taken as an example, but the convolution interleaving between multiple data streams is similar to Figure 5 The process shown in is similar to that shown in , except that the codewords involved in the interleaving come from multiple data streams, which will not be described in detail here.
[0065] As mentioned above, the data output by the interleaver is transmitted to the data receiving end through the communication channel. The data is input into the deinterleaver at the data receiving end for deinterleaving, and then enters the FEC decoder for decoding. Among them, the deinterleaver can also be called a channel deinterleaver. In the deinterleaving process at the data receiving end, the deinterleaving position must first be found. The deinterleaving position can be, for example, the first FEC codeword boundary in a group of interleavings, as shown in Figure 4 (a), where the position of the circle is the deinterleaving position, that is, the first FEC codeword boundary position in a group of interleavings. Starting from this position, the interleaved data stream can be deinterleaved and combined to obtain a deinterleaved data stream. It is easy to understand that the deinterleaving position appears periodically in the interleaved data stream, for example, each group of interleavings has the first FEC codeword boundary position in the group. After determining the above-mentioned deinterleaving position, the received interleaved data stream can be distributed based on the interleaving granularity and interleaving depth starting from the deinterleaving position, and then the distributed codewords are recombined in order to obtain a deinterleaved data stream. For example, for the interleaved data stream formed by 4:1 interleaving as shown in Figure 4(a), 4 FEC codewords are obtained based on the interleaving granularity distribution, and these 4 FEC codewords are recombined in the order of A, B, C, and D to obtain a deinterleaved data stream. For the interleaved data stream shown in Figure 4(b), 4 FEC codewords are obtained based on the interleaving granularity distribution, and these 4 FEC codewords are respectively distributed to the 4 deinterleaved data streams in the order of A, B, C, and D.
[0066] It can be seen that determining the correct deinterleaving position is a prerequisite for deinterleaving. In order to determine the deinterleaving position, the data transmitter can periodically insert fixed data segments known to the data receiver before or after the deinterleaving position. These fixed data segments are specifically used to find the deinterleaving position, so that the data receiver can determine the deinterleaving position by finding these fixed data segments. The above-mentioned fixed data segments may include alignment markers (AM), frame alignment words, or pilot data. Figure 6 This is one of the ways to insert additional data, and pppp is the fixed data segment inserted. It can be seen that this method requires the transmission of an additional fixed data segment in addition to the original data to be transmitted, which brings higher transmission costs. In addition, under transmission conditions with limited bandwidth or phase-locked loop frequency, the applicability of this method is greatly reduced.
[0067] The present application proposes a method for deinterleaving a data stream, that is, a method for restoring the correct data order of an interleaved data stream. The method can be performed by a physical layer PHY chip, a forwarding device or a pluggable module in an Ethernet. Among them, the physical layer PHY chip and the pluggable module can be located in a forwarding device or a server, the forwarding device includes but is not limited to an Ethernet switch or a router, the server includes but is not limited to a computing server or a storage server, and the pluggable module includes but is not limited to an optical module. The method can start processing at any position of the received data stream, find the correct deinterleaving position by identifying FEC codeword features, and restore the pre-interleaving data stream of the data transmitter. Through the above method, deinterleaving can be completed and data can be correctly restored without inserting an additional fixed data segment specifically used to find the deinterleaving position. This avoids adding extra data, saves hardware resources, improves deinterleaving efficiency, and reduces transmission costs and improves network efficiency.
[0068] Figure 7 700 is a flow chart of a data transmission method 700 in an embodiment of the present application. The method may include:
[0069] Step S701: Acquire a first interleaved data stream.
[0070] The data receiving end obtains a data stream. The first interleaved data stream is a data stream that has been encoded with forward error correction (FEC). In a possible implementation, the FEC encoding method of the first interleaved data stream can be a non-concatenated code FEC encoding or a concatenated code FEC encoding in the IEEE802.3dj standard.
[0071] Figure 8(a), Figure 8(b) and Figure 8(c) show the applicable scenarios of the data stream deinterleaving method in the embodiment of the present application, wherein Figure 8(a) is a non-concatenated code FEC encoding scenario, and Figure 8(b) and Figure 8(c) are concatenated code FEC encoding scenarios in the IEEE802.3dj standard, wherein the dotted boxes are functions that can be removed. The specific contents of each function in Figure 8(b) and Figure 8(c) can be found in the IEEE802.3dj standard and will not be repeated here. A cyclic shift function is introduced in both Figure 8(b) and Figure 8(c), wherein the cyclic shift in Figure 8(b) is performed before the second-level FEC, and the cyclic shift in Figure 8(c) is performed after the second-level FEC.
[0072] Cyclic shift is a function introduced in the concatenated code FEC coding scenario. Through cyclic shift, the internal structure of the inner code FEC codeword of the concatenated code can be disrupted, the burst error can be further dispersed, the impact of the burst error on the outer code FEC of the concatenated code can be reduced, and the error correction performance can be enhanced. The specific function of cyclic shift is as follows Fig. 9 As shown, Fig. 9In the example, the channel interleaving depth is 4. For each group of 4 adjacent inner code FEC codewords to be interleaved, the bit content in each FEC codeword is cyclically shifted by a certain length. Each line is an inner code FEC codeword, including 8 symbols A to H, and the length of each symbol can be, for example, 10 bits. Symbol blocks such as A, B, C, and D represent symbols from different cascaded outer code FEC codewords. It can be seen that the cyclic shift will disrupt the original inner code FEC codeword structure of the cascaded code, that is, the FEC codeword structure including the information bit plus the check bit at the end will be disrupted, which will cause changes in the characteristics of the FEC codeword. Fig.10 The channel interleaved data sequence after adding cyclic shift is shown in FIG. 1 , wherein each symbol such as A.1, A.2, etc. may be a symbol of 10 bits in length, for example.
[0073] In a possible implementation, the interleaving type of the first interleaved data stream is symbol interleaving or convolution interleaving. The specific content of the symbol interleaving or convolution interleaving is referred to the above introduction and will not be repeated here.
[0074] In a possible implementation, the first interleaved data stream does not include a periodic alignment data segment, and the periodic alignment data segment includes an alignment marker, a frame alignment word, or a pilot. As described above, through the data stream deinterleaving method in the embodiment of the present application, there is no need to insert an additional fixed data segment specifically used to determine the deinterleaving position into the data stream at the data sending end, and the deinterleaving can be completed at the data receiving end to correctly restore the data.
[0075] In a possible implementation, the channel rate of the first interleaved data stream is greater than or equal to 200 Gbps. The data stream deinterleaving method in the embodiment of the present application can be applicable to high-speed Ethernet transmission scenarios, such as 800GbE or 1.6TbE scenarios defined by the IEEE standard. For example, the channel rate of the first interleaved data stream can be 200Gbps, 400Gbps, 800Gbps or 1.6Tbps, etc.
[0076] Step S702: Based on the interleaving granularity of the first interleaved data stream, obtain N sub-data streams corresponding to the first interleaved data stream, where N is the interleaving depth of the first interleaved data stream and is a positive integer greater than 1.
[0077] After acquiring the first interleaved data stream, the data receiving end deinterleaves the first interleaved data stream. In a possible implementation, the processing process of the data receiving end can start from any position in the first interleaved data stream. For example, the data receiving end randomly selects a starting position in the first interleaved data stream and starts processing.
[0078] In an embodiment of the present application, the data receiving end is able to obtain the parameters used by the data sending end in processing the first interleaved data stream, such as the FEC codeword length, interleaving granularity, or interleaving depth, and on this basis, the data receiving end deinterleaves the first interleaved data stream.
[0079] In a possible implementation, after determining the starting position, the data receiving end distributes the first interleaved data stream into N sub-data streams starting from the starting position based on the interleaving granularity of the first interleaved data stream. The starting position may also be referred to as a data stream distribution start position. The sub-data stream may also be referred to as a sub-channel data stream.
[0080] In a possible implementation manner, the data receiving end distributes the data of the first interleaved data stream to the N sub-data streams by polling based on the interleaving granularity of the first interleaved data stream.
[0081] In a possible implementation, N is 4 or 8.
[0082] In a possible implementation, the N sub-data streams are not obtained in one go based on distribution, but one sub-data stream is taken out from the first interleaved data stream each time, processed, and then the next sub-data stream is taken out, and this is repeated N times to obtain the N sub-data streams.
[0083] Fig.11 The process of distributing the first interleaved data stream into N sub-data streams is exemplarily given. Exemplarily, the interleaving depth N is 4. The data receiving end receives the interleaved data stream, which includes multiple symbols, such as D.3, A.4, B.4, C.4 ... A.0, B.0, C.0 in the figure. The data receiving end selects any position from it, such as Fig.11 C.5 in the 4 sub-data streams is distributed based on the interleaving granularity from this position to obtain 4 sub-data streams. In addition, the data in the interleaved data stream is distributed to the 4 sub-data streams in a round-robin manner. That is, lane0 first obtains the first symbol C.5, lane1 obtains the second symbol D.5, lane2 obtains the third symbol A.0, lane3 obtains the fourth symbol B.0, lane0 obtains the fifth symbol C.0, and so on. The data in each sub-data stream after distribution is composed of a series of FEC codewords, so as to confirm the FEC codeword boundary of each sub-data stream in the subsequent steps.
[0084] In one possible implementation, if the cyclic shift shown in FIG8(c) exists at the data transmitting end, that is, when the cyclic shift at the data transmitting end is performed after the second-level FEC, then in the N sub-data streams obtained at the data receiving end, the data structure within each FEC codeword in each sub-data stream has been disrupted, that is, the FEC codewords in the N sub-data streams are in a cyclic shift relationship.
[0085] Step S703: Determine a deinterleaving position based on FEC codeword boundaries of at least two sub-data streams among the N sub-data streams.
[0086] In a possible implementation, after obtaining the N sub-data streams corresponding to the first interleaved data stream, the data receiving end will further determine the FEC codeword boundary of each of the N sub-data streams. In the embodiment of the present application, the specific method for determining the FEC codeword boundary is not limited. In the embodiment of the present application, the deinterleaving position is used to correctly deinterleave the data, restore the original codewords, and the relative order of the original codewords, so as to restore the data stream before encoding.
[0087] In a possible implementation, the data receiving end may determine the FEC codeword boundary of each of the N sub-data streams according to the FEC codeword feature. For example, a feature value verification is performed in the sub-data stream based on the assumed FEC codeword boundary, and the FEC codeword boundary is determined according to the verification result. The feature value may be, for example, a check sequence, syndrome. Fig.11 As shown, in one example, the FEC codeword boundary of each of the four sub-data streams is the position where the symbol 0 is located, that is, the FEC codeword boundary in lane0 is the position shown by the symbol C.0, the FEC codeword boundary in lane1 is the position shown by the symbol D.0, the FEC codeword boundary in lane2 is the position shown by the symbol A.0, and the FEC codeword boundary in lane3 is the position shown by the symbol B.0. It should be noted that the FEC codeword boundary in each sub-data stream appears periodically in the data stream, and the length of the interval between each FEC codeword boundary is the FEC codeword length.
[0088] In an embodiment of the present application, the specific content of determining the FEC codeword boundary in the data stream according to the FEC codeword characteristics can be found in the patent document with application number 202010424884.9 with application date of May 19, 2020, the patent document with application number 202110904102.6 with application date of August 6, 2021, and the patent document with application number 202210520888.6 with application date of May 12, 2022, and all of their contents are incorporated herein by reference as if fully stated.
[0089] In a possible implementation, the data receiving end may also determine the FEC codeword boundary of each of the N sub-data streams based on other information in addition to the FEC codeword characteristics. The other information includes, but is not limited to, scrambling information, AM in the N sub-data streams, etc. Among them, the AM in the N sub-data streams may be, for example, the AM inserted by the physical coding sublayer PCS, which is scrambled after the data is interleaved at the data sending end, that is, the data receiving end cannot find the AM when receiving the interleaved data stream, but may recover the AM in the obtained N sub-data streams, and use the AM to determine the FEC codeword boundary in the sub-data stream.
[0090] In a possible implementation, the data receiving end may first determine the FEC codeword boundary of one of the N sub-data streams according to the FEC codeword characteristics or other information, and then further determine the FEC codeword boundaries of other sub-data streams based on the FEC codeword boundary of this sub-data stream. For example, the FEC codeword boundary of any one of the N sub-data streams may be first determined according to the FEC codeword characteristics or other information, and then the possible positions of the FEC codeword boundaries of other sub-data streams may be estimated based on the FEC codeword boundary of this sub-data stream, thereby greatly reducing the amount of calculation or power consumption required to find the codeword boundaries of all sub-data streams. Fig.11 As shown, in one example, the data receiving end first finds the FEC codeword boundary of lane0 in the four sub-data streams, that is, the position shown by symbol C.0, which can also be called position 0. Based on the interleaving characteristics, it can be known that the FEC codeword boundaries of all sub-data streams are distributed in the same column or in two adjacent columns after distribution. Therefore, after determining that the FEC codeword boundary of lane0 is at the above position 0, the FEC codeword boundaries of other sub-data streams must also be at the above position 0 or at a position adjacent to position 0, such as position 5. Taking lane1 as an example, the FEC codeword boundary of lane1 must be at the position shown in D.0 or D.5 in the figure. Therefore, for lane1, only the two positions D.0 or D.5 need to be verified to find the FEC codeword boundary, without verifying other positions such as D.1 to D.4, which greatly reduces the amount of calculation. Similarly, for lane2, only A.1 or A.0 needs to be verified to find the FEC codeword boundary, without verifying other positions such as A.2 to A.5. For lane3, only B.1 or B.0 needs to be verified to find the FEC codeword boundary, without verifying other positions such as B.2 to B.5. It should be noted that the data receiving end can first find the FEC codeword boundary position of any lane in the four sub-data streams, such as the FEC codeword boundary of lane2, and then determine the possible positions of the FEC codeword boundaries of the other three sub-data streams based on this, thereby reducing the amount of calculation or power consumption required to find the FEC codeword boundaries of the three sub-data streams. The principle is the same and will not be repeated here.
[0091] In a possible implementation, as mentioned above, if the cyclic shift shown in FIG. 8(c) exists at the data transmitting end, that is, when the cyclic shift at the data transmitting end is performed after the second-level FEC, then in the N sub-data streams obtained at the data receiving end, the FEC codewords of the N sub-data streams are in a cyclic shift relationship, and the cyclic shift changes the FEC codeword characteristics in the sub-data streams. At this time, it is necessary to perform a reverse cyclic shift on the FEC codewords in each sub-data stream before determining the FEC codeword boundary of each sub-data stream in the N sub-data streams according to the FEC codeword characteristics, so as to restore the disrupted FEC codeword structure. Then, the FEC codeword boundary of each sub-data stream in the N sub-data streams after the reverse cyclic shift can be determined according to the FEC codeword characteristics.
[0092] After determining the FEC codeword boundary of each of the N sub-data streams, the data receiving end determines the deinterleaving position based on the FEC codeword boundary of at least two of the N sub-data streams. As mentioned above, after the data receiving end obtains the N sub-data streams corresponding to the first interleaved data stream, the N sub-data streams are arranged in sequence. When determining the deinterleaving position based on the FEC codeword boundary of at least two of the N sub-data streams, there are two cases.
[0093] In the first possible case, there are differences in the FEC codeword boundaries of at least two adjacent sub-data streams, for example, the two adjacent sub-data streams may be the first sub-data stream and the second sub-data stream. The data receiving end determines that the deinterleaving position is the FEC codeword boundary of the second sub-data stream based on the FEC codeword boundary of the first sub-data stream being after the FEC codeword boundary of the second sub-data stream.
[0094] In the embodiment of the present application, the order of FEC codeword boundaries refers to the order in which data at the FEC codeword boundary position is transmitted in the first interleaved data stream, or is called the speed order. When it is found that there is a difference in the FEC codeword boundaries of two adjacent sub-data streams, the sub-data stream with the earlier FEC codeword boundary is the sub-data stream with faster transmission, and the FEC codeword boundary of the sub-data stream with faster transmission is the correct deinterleaving position.
[0095] Generally speaking, the first sub-data stream is arranged before the second sub-data stream, and the FEC codeword boundaries of the two sub-data streams differ by 1 symbol.
[0096] In the second possible case, the FEC codeword boundaries of each sub-data stream are aligned. The data receiving end determines that the FEC codeword boundary of the sub-data stream that is arranged first in the N sub-data streams is the correct deinterleaving position. At this time, if the current position for starting deinterleaving distribution is the FEC codeword boundary, the current position for starting deinterleaving distribution is the correct deinterleaving position.
[0097] In an embodiment of the present application, the FEC codeword boundary alignment of each sub-data stream means that the data at the FEC codeword boundary position of each sub-data stream is in the data corresponding to a deinterleaving distribution, that is, the data at the FEC codeword boundary position of each sub-data stream is in the data corresponding to a group of interleaving at the data sending end.
[0098] Fig.11 and Fig.12 Two possible situations of determining the deinterleaving position based on the FEC codeword boundaries of at least two sub-data streams among the N sub-data streams are respectively shown.
[0099] like Fig.11 As shown, as mentioned above, in one example, the FEC codeword boundary of each of the four sub-data streams is at the position where the symbol 0 is located, that is, the FEC codeword boundary in lane0 is at the position shown by the symbol C.0, the FEC codeword boundary in lane1 is at the position shown by the symbol D.0, the FEC codeword boundary in lane2 is at the position shown by the symbol A.0, and the FEC codeword boundary in lane3 is at the position shown by the symbol B.0. Comparing the FEC codeword boundaries in the four sub-data streams, it can be seen that the FEC codeword boundaries of at least two of the four sub-data streams are not in the same column, that is, they are not aligned. Fig.11 As shown, there are differences in the FEC codeword boundaries of lane1 and lane2. The FEC codeword boundaries of lane1 are D.0, and the FEC codeword boundaries of lane2 are A.0. Moreover, the FEC codeword boundary of lane1 is after the FEC codeword boundary of lane2. Therefore, the FEC codeword boundary A.0 of lane2 is the correct deinterleaving position.
[0100] Fig.12 Another process of distributing the first interleaved data stream into N sub-data streams is exemplarily given. Exemplarily, the interleaving depth N is 4. Fig.11 The difference is that the data receiver selects an arbitrary position from the received interleaved data stream, e.g. Fig.12A.5 in the data stream, starting from this position, the interleaved data stream is distributed based on the interleaving granularity to obtain 4 sub-data streams. And, the data in the interleaved data stream is polled and distributed to the 4 sub-data streams. That is, lane0 first obtains the first symbol A.5, lane1 obtains the second symbol B.5, lane2 obtains the third symbol C.5, lane3 obtains the fourth symbol D.5, lane0 obtains the fifth symbol A.0, and so on. The FEC codeword boundary of each of the 4 sub-data streams is the position where the symbol 0 is located, that is, the FEC codeword boundary in lane0 is the position shown by symbol A.0, the FEC codeword boundary in lane1 is the position shown by symbol B.0, the FEC codeword boundary in lane2 is the position shown by symbol C.0, and the FEC codeword boundary in lane3 is the position shown by symbol D.0. Comparing the FEC codeword boundaries in the 4 sub-data streams, it can be seen that the FEC codeword boundaries in the 4 sub-data streams are in the same column, that is, aligned. At this time, considering that lane 0 is arranged first in the order of the four sub-data streams, the FEC codeword boundary A.0 of lane 0 is the deinterleaving position.
[0101] Compare Fig.11 and Fig.12 It can be seen that the data transmitter interleaves multiple FEC codewords whose boundaries are aligned. When the data receiver deinterleaves a randomly selected arbitrary position as the starting position, the FEC codeword boundaries in the obtained multiple sub-data streams can be aligned or not. However, even when the FEC codeword boundaries in multiple sub-data streams are not aligned, these codeword boundaries are still adjacent, with only a difference of 1 symbol. In addition, it should be noted that if the FEC codeword boundaries of the multiple sub-data streams determined are not adjacent, with a difference of more than 2 symbols, it means that an error occurred in the aforementioned steps, which may be an error in the process of determining the FEC codeword boundaries in the sub-data stream, or an error in other processes. At this time, it is necessary to return to step S702, redetermine a starting position, and obtain N sub-data streams from the first interleaved data stream.
[0102] Step S704: Based on the deinterleaving position, obtain a first deinterleaved data stream according to the first interleaved data stream.
[0103] After determining the deinterleaving position sequence, the data receiving end can combine the FEC codewords in the first interleaved data stream to obtain the deinterleaved data stream and restore the data before interleaving.
[0104] In one possible implementation, in addition to determining the FEC codeword boundary of each of the N sub-data streams, the data receiving end also needs to determine the deinterleaving combination order of the N sub-data streams, and then, based on the deinterleaving combination order, combine the FEC codewords in the N sub-data streams to obtain the first deinterleaved data stream.
[0105] In a possible implementation, when determining the deinterleaving and combining order of the N sub-data streams, the data receiving end determines the deinterleaving and combining order of the N sub-data streams based on the distribution order of distributing the first interleaved data stream into the N sub-data streams and the FEC codeword boundary position relationship of each sub-data stream in the N sub-data streams. The position relationship is determined according to the order of data at the FEC codeword boundary position of each sub-data stream in the N sub-data streams in the first interleaved data stream. It is easy to understand that the order of data in the first interleaved data stream refers to the order in which the data is received, that is, the order of data received first in the first interleaved data stream is first, and the order of data received later in the first interleaved data stream is later.
[0106] In a possible implementation, when a data receiving end obtains a first deinterleaved data stream based on the first interleaved data stream, it is not required that all data in the first interleaved data stream be in the first deinterleaved data stream. In an example, part of the data in the first interleaved data stream is in the first deinterleaved data stream.
[0107] In a possible implementation, the data used to combine the first deinterleaved data stream may be part of the data in the first interleaved data stream, or in other words, part of the data in the first interleaved data stream is not combined into the deinterleaved data stream. For example, the data used to combine the deinterleaved data stream and the data distributed to the N sub-data streams and used to determine the deinterleaved position may be different data in the first interleaved data stream. For example, the data distributed to the N sub-data streams and used to determine the deinterleaved position may be discarded after finding the deinterleaved position, and is not introduced into the deinterleaved data stream. For example, the data used to combine the deinterleaved data stream may be data in the first interleaved data stream that is located after the data distributed to the N sub-data streams.
[0108] In the embodiment of the present application, the specific method for obtaining the deinterleaved data stream after finding the deinterleaved position is not limited. In a possible implementation, after finding the deinterleaved position, the interleaved data stream may no longer be distributed into N sub-data streams, but based on the deinterleaved position, the deinterleaved data stream is obtained according to the interleaved data stream.
[0109] Fig.13 An example of a data stream deinterleaving method in an embodiment of the present application is given. Fig.13 As shown, the data transmitter obtains a single data stream to be interleaved, and the data stream to be interleaved is composed of multiple FEC codewords, each codeword contains 12 bits, and each adjacent 2 bits is a PAM4 symbol, such as Fig.13 A.0, A.1, etc. The data transmitter interleaves the data stream and distributes it into 4 sub-data streams, namely Fig.13 T0, T1, T2, T3 in the PAM4 symbol, and then interleave the interleaved data stream based on the PAM4 symbol. The data receiving end obtains the interleaved data stream and selects any position from it, such as Fig.13 C.5 in the figure, starting from this position, the interleaved data stream is PAM4 symbol deinterleaved and distributed based on the interleaving granularity to obtain 4 sub-data streams, namely lane0, lane1, lane2, and lane3. According to the FEC codeword characteristics, it is determined that the FEC codeword boundary of each of the 4 sub-data streams is the position where symbol 0 is located. Then, the FEC codeword boundaries in the 4 sub-data streams are compared, and the position relationship of the FEC codeword boundaries of each of the 4 sub-data streams and the distribution order of the 4 sub-data streams are considered. It is determined that the arrangement order of the 4 sub-data streams is lane2, lane3, lane0, lane1, and the FEC codeword boundary A.0 of lane2 is the deinterleaving position. Combine the FEC codewords in the four sub-data streams in this order. For example, take out an FEC codeword A.0 to A.5 from lane2, take out an FEC codeword B.0 to B.5 from lane3, take out an FEC codeword C.0 to C.5 from lane0, and take out an FEC codeword D.0 to D.5 from lane1. Combine them in order to obtain a group of deinterleaved data, and so on to obtain more groups of deinterleaved data. It can be seen that the deinterleaved data is the same as the data before interleaving at the data transmitter.
[0110] Fig.14 Another example of the data stream deinterleaving method in the embodiment of the present application is given. For example, the number of sub-data streams is 8, each small square represents a PAM4 symbol, and the gray small square is the first FEC codeword in a group of interleaving, that is, the correct deinterleaving position. Fig.14 As shown, the data transmitter interleaves the 8 sub-data streams to obtain the interleaved data stream and sends it to the data receiver. The data receiver receives the interleaved data stream and starts processing from any position, such as Fig.14The small square filled with diagonal lines is shown. According to the FEC codeword characteristics, the FEC codeword boundary of each sub-data stream is determined. When the FEC codeword boundary between two adjacent sub-data streams differs by 1 PAM4 symbol, such as Fig.14 There is a difference of one PAM4 symbol in the FEC codeword boundary between the second sub-data stream and the third sub-data stream. The FEC codeword boundary of the third sub-data stream is closer to the front, that is, the third sub-data stream is the sub-data stream that is transmitted faster in the interleaved data stream. Therefore, the FEC codeword boundary of the third sub-data stream is the correct deinterleaving position (such as Fig.14 It is easy to understand that if there is no difference in the FEC codeword boundary of each of the 8 sub-data streams, then any of the above positions is the correct deinterleaving position.
[0111] Through the above method, deinterleaving can be completed without inserting additional fixed data segments and data can be correctly restored, thereby avoiding the addition of additional data, reducing transmission costs and improving network efficiency.
[0112] Fig.15 is a schematic diagram of the structure of an Ethernet device provided in an embodiment of the present application. The Ethernet device can be used to receive data. The Ethernet device can be Figure 7 The Ethernet device in the data stream deinterleaving method shown. Fig.15 The structure shown in the figure can be implemented by the Ethernet device. Figure 7 It should be understood that the Ethernet device may include more additional structures than the structure shown or omit a part of the structure shown therein, and the embodiment of the present application is not limited to this. Fig.15 As shown, the Ethernet device includes:
[0113] A deinterleaving circuit is used to obtain a first interleaved data stream, where the first interleaved data stream is a data stream encoded with forward error correction (FEC); based on the interleaving granularity of the first interleaved data stream, obtain N sub-data streams corresponding to the first interleaved data stream, where N is the interleaving depth of the first interleaved data stream and is a positive integer greater than 1; based on the FEC codeword boundaries of at least two sub-data streams among the N sub-data streams, determine a deinterleaving position; based on the deinterleaving position, obtain a first deinterleaved data stream according to the first interleaved data stream.
[0114] In a possible implementation, the Ethernet device may further include an interface circuit. The interface circuit may be used to receive the first interleaved data stream. The interface circuit may also be used to send the first deinterleaved data stream.
[0115] In a possible implementation, the N sub-data streams are arranged in sequence, and the deinterleaving position is determined based on the FEC codeword boundaries of at least two sub-data streams among the N sub-data streams, including: based on the FEC codeword boundary of the first sub-data stream being after the FEC codeword boundary of the second sub-data stream, determining the deinterleaving position to be the FEC codeword boundary of the second sub-data stream; wherein the first sub-data stream and the second sub-data stream are two adjacent sub-data streams among the N sub-data streams.
[0116] In a possible implementation manner, the first sub-data stream is arranged before the second sub-data stream.
[0117] In a possible implementation manner, the FEC codeword boundary of the first sub-data stream differs from the FEC codeword boundary of the second sub-data stream by one symbol.
[0118] In a possible implementation, the N sub-data streams are arranged in sequence, and the deinterleaving position is determined based on the FEC codeword boundaries of at least two of the N sub-data streams, including: based on the alignment of the FEC codeword boundaries of each sub-data stream in the N sub-data streams, determining the deinterleaving position as the FEC codeword boundary of the first sub-data stream; wherein the first sub-data stream is arranged first in the N sub-data streams.
[0119] In a possible implementation, the N sub-data streams are arranged in sequence, and the step of obtaining a first deinterleaved data stream based on the first interleaved data stream based on the deinterleaved position includes: determining a deinterleaving combination order of the N sub-data streams based on the deinterleaving position and the arrangement order of the N sub-data streams; and combining data in the first interleaved data stream based on the deinterleaving combination order to obtain the first deinterleaved data stream.
[0120] In a possible implementation, the obtaining of N sub-data streams corresponding to the first interleaved data stream based on the interleaving granularity of the first interleaved data stream includes: selecting a data stream distribution starting position from the first interleaved data stream, and distributing the first interleaved data stream into N sub-data streams based on the interleaving granularity of the first interleaved data stream; wherein the data stream distribution starting position is a randomly selected position in the first interleaved data stream.
[0121] In a possible implementation, obtaining N sub-data streams corresponding to the first interleaved data stream based on the interleaving granularity of the first interleaved data stream includes: based on the interleaving granularity of the first interleaved data stream, polling and distributing data of the first interleaved data stream to the N sub-data streams.
[0122] In a possible implementation manner, the deinterleaving circuit is further used to: determine an FEC codeword boundary of each of the N sub-data streams.
[0123] In a possible implementation, the determining the FEC codeword boundary of each of the N sub-data streams includes: determining the FEC codeword boundary of each of the N sub-data streams according to a FEC codeword feature.
[0124] In a possible implementation, determining the FEC codeword boundary of each of the N sub-data streams based on the FEC codeword characteristics includes: in each sub-data stream, performing characteristic value verification based on the assumed FEC codeword boundary, and determining the FEC codeword boundary of each sub-data stream based on the verification result.
[0125] In a possible implementation, the FEC codewords of the N sub-data streams are in a cyclic shift relationship, and determining the FEC codeword boundary of each of the N sub-data streams based on the FEC codeword characteristics includes: performing a reverse cyclic shift on the obtained FEC codewords of the N sub-data streams; and determining the FEC codeword boundary of each of the N sub-data streams after the reverse cyclic shift based on the FEC codeword characteristics.
[0126] In a possible implementation, the first interleaved data stream does not include a periodic alignment data segment, and the periodic alignment data segment includes an alignment word, a frame alignment word, or a guide data.
[0127] In a possible implementation manner, the FEC encoding method of the first interleaved data stream is non-concatenated code FEC encoding or concatenated code FEC encoding.
[0128] In a possible implementation, N is 4 or 8.
[0129] In a possible implementation, the interleaving type of the first interleaved data stream is symbol interleaving or convolutional interleaving.
[0130] In a possible implementation, the method is executed by a physical layer PHY chip, a forwarding device, or a pluggable module.
[0131] In a possible implementation, a channel rate of the first interleaved data stream is greater than or equal to 200 Gbps.
[0132] For a detailed description of the operations performed by the Ethernet device, please refer to the above Figure 7 The detailed description of the illustrated method embodiment will not be repeated here.
[0133] The Ethernet device may be a physical layer PHY chip, a forwarding device or a pluggable module, wherein the forwarding device may be an Ethernet forwarding device such as a switch or a router, and the pluggable module is not limited to a pluggable optical module or an electrical module, etc.
[0134] When the Ethernet device is an Ethernet forwarding device such as a switch or a router, the Ethernet device may include an Ethernet chip, or a pluggable optical module or an electrical module, wherein the Ethernet chip, or the pluggable optical module or the electrical module can perform Figure 7 All or part of the operations in the method.
[0135] See also Fig.16 , Fig.16 FIG. 2 shows a schematic diagram of the structure of an Ethernet device 2100 provided by another exemplary embodiment of the present application. Fig.16 The Ethernet device 2100 shown is used to perform the above Figure 7 All or part of the operations involved in the data stream deinterleaving method shown. The network device 2100 is, for example, a physical layer PHY chip, a forwarding device or a pluggable module, and the Ethernet device 2100 can be implemented by a general bus architecture.
[0136] like Fig.16 As shown, the Ethernet device 2100 includes: a main control board 2110 and an interface board 2130 .
[0137] The main control board is also called a main processing unit (MPU) or a route processor card. The main control board 2110 is used to control and manage various components in the Ethernet device 2100, including routing calculation, device management, device maintenance, and protocol processing functions. The main control board 2110 includes: a central processing unit 2111 and a memory 2112.
[0138] The interface board 2130 is also called a line processing unit (LPU), a line card (linecard) or a service board. The interface board 2130 is used to provide various service interfaces and realize the forwarding of data packets. The service interface includes but is not limited to an Ethernet interface, a POS (Packet over SONET / SDH) interface, etc., and the Ethernet interface is, for example, a Flexible Ethernet Service Interface (Flexible Ethernet Clients, FlexE Clients). The interface board 2130 includes: a central processing unit 2131, a network processor 2132, a forwarding table entry memory 2134 and a physical interface card (physical interface card, PIC) 2133.
[0139] The central processor 2131 on the interface board 2130 is used to control and manage the interface board 2130 and communicate with the central processor 2111 on the main control board 2110 .
[0140] The network processor 2132 is used to implement the forwarding processing of the message. The network processor 2132 can be in the form of a forwarding chip. The forwarding chip can be a network processor (NP). In some embodiments, the forwarding chip can be implemented by an application-specific integrated circuit (ASIC) or a field programmable gate array (FPGA). Specifically, the network processor 2132 is used to forward the received message based on the forwarding table stored in the forwarding table entry memory 2134. If the destination address of the message is the address of the Ethernet device 2100, the message is sent to the CPU (such as the central processor 2131) for processing; if the destination address of the message is not the address of the Ethernet device 2100, the next hop and the output interface corresponding to the destination address are found from the forwarding table according to the destination address, and the message is forwarded to the output interface corresponding to the destination address. Among them, the processing of the uplink message may include: processing of the message input interface, forwarding table search; the processing of the downlink message may include: forwarding table search, etc. In some embodiments, the central processor can also perform the function of the forwarding chip, such as implementing software forwarding based on a general-purpose CPU, so that the forwarding chip is not required in the interface board.
[0141] The physical interface card 2133 is used to implement the physical layer docking function, whereby the original traffic enters the interface board 2130, and the processed message is sent out from the physical interface card 2133. The physical interface card 2133, also called a daughter card, can be installed on the interface board 2130, and is responsible for converting the photoelectric signal into a message and forwarding the message to the network processor 2132 for processing after checking the legitimacy of the message. In some embodiments, the central processor 2131 can also perform the functions of the network processor 2132, such as implementing software forwarding based on a general-purpose CPU, so that the network processor 2132 is not required in the physical interface card 2133.
[0142] Optionally, the Ethernet device 2100 includes a plurality of interface boards, for example, the Ethernet device 2100 further includes an interface board 2140, and the interface board 2140 includes: a central processor 2141, a network processor 2142, a forwarding table entry memory 2144, and a physical interface card 2143. The functions and implementation methods of the components in the interface board 2140 are the same or similar to those of the interface board 2130, and are not described in detail herein.
[0143] Optionally, the Ethernet device 2100 further includes a switching fabric board 2120. The switching fabric board 2120 may also be referred to as a switch fabric unit (SFU). When the network device 2100 has multiple interface boards, the switching fabric board 2120 is used to complete data exchange between the interface boards. For example, the interface board 2130 and the interface board 2140 may communicate via the switching fabric board 2120.
[0144] The main control board 2110 is coupled to the interface board. For example, the main control board 2110, the interface board 2130, the interface board 2140, and the switching network board 2120 are connected to the system backplane through the system bus to achieve intercommunication. In a possible implementation, an inter-process communication (IPC) channel is established between the main control board 2110 and the interface board 2130 and the interface board 2140, and the main control board 2110 and the interface board 2130 and the interface board 2140 communicate through the IPC channel.
[0145] Logically, the Ethernet device 2100 includes a control plane and a forwarding plane. The control plane includes a main control board 2110 and a central processor 2111. The forwarding plane includes various components for performing forwarding, such as a forwarding table entry memory 2134, a physical interface card 2133, and a network processor 2132. The control plane performs functions such as a router, generating a forwarding table, processing signaling and protocol messages, and configuring and maintaining the status of network devices. The control plane sends the generated forwarding table to the forwarding plane. On the forwarding plane, the network processor 2132 forwards the message received by the physical interface card 2133 based on the forwarding table sent by the control plane. The forwarding table sent by the control plane can be stored in the forwarding table entry memory 2134. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same network device.
[0146] It is worth noting that there may be one or more main control boards, and when there are multiple boards, they may include a primary main control board and a backup main control board. There may be one or more interface boards. The stronger the data processing capability of the network device, the more interface boards are provided. There may also be one or more physical interface cards on the interface board. There may be no switching network board, or there may be one or more switching network boards. When there are multiple switching network boards, they can jointly realize load sharing and redundant backup. In a centralized forwarding architecture, the network device may not need a switching network board, and the interface board is responsible for the processing function of the service data of the entire system. In a distributed forwarding architecture, the network device may have at least one switching network board, and the switching network board is used to realize data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the network device with a distributed architecture are greater than those of the network device with a centralized architecture. Optionally, the network device may have only one board, that is, no switching board, and the functions of the interface board and the main control board are integrated on the board. In this case, the central processor on the interface board and the central processor on the main control board can be combined into one central processor on the board to perform the functions of the two. This type of network device has low data exchange and processing capabilities (for example, low-end switches or routers and other network devices). The specific architecture to be adopted depends on the specific networking deployment scenario, and no limitation is made here.
[0147] In a specific embodiment, the Ethernet device 2100 corresponds to the above Fig.15 Ethernet devices shown.
[0148] For example, the Ethernet device 2100 may be Fig.15 The Ethernet devices shown are switches, routers and other Ethernet forwarding devices. Figure 7 The Ethernet chip of the method shown may be located in the main control board 2110 , or may be located in the interface board 2130 or the interface board 2140 , and the Ethernet chip may be specifically located in the physical interface card 2133 or 2143 .
[0149] like Fig.17 As shown, the embodiment of the present application further provides a communication system 3000, the message processing system includes: a sending end device 3001 and a receiving end device 3002. Optionally, the receiving end device 3002 executes Figure 7 The deinterleaving method of the data stream is shown.
[0150] An embodiment of the present application also provides a computer-readable storage medium, in which at least one instruction is stored. The instruction is loaded and executed by a processor so that a computer implements any of the above data sending methods or data receiving methods.
[0151] The embodiments of the present application also provide a computer program (product), which, when executed by a computer, can enable a processor or a computer to execute the corresponding steps and / or processes in the above method embodiments.
[0152] An embodiment of the present application also provides a chip, including a processor, for calling and executing instructions stored in a memory, so that a communication device equipped with the chip executes any of the above data sending methods or data receiving methods.
[0153] An embodiment of the present application also provides another chip, including: an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected via an internal connection path, and the processor is used to execute the code in the memory. When the code is executed, the processor is used to execute any of the above data sending methods or data receiving methods.
[0154] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function according to the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, a computer, a server or a data center to another website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integration. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive (solid state disk)), etc.
[0155] Those of ordinary skill in the art will appreciate that, in conjunction with the various method steps and modules described in the embodiments disclosed herein, they can be implemented in software, hardware, firmware, or any combination thereof. In order to clearly illustrate the interchangeability of hardware and software, the steps and components of each embodiment have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those of ordinary skill in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0156] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0157] When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer program instructions. As an example, the method of the embodiment of the present application can be described in the context of a machine executable instruction, and the machine executable instruction is such as included in the program module executed in the device on the real or virtual processor of the target. Generally speaking, a program module includes a routine, a program, a library, an object, a class, a component, a data structure, etc., which performs a specific task or realizes a specific abstract data structure. In various embodiments, the function of the program module can be merged or divided between the described program modules. The machine executable instruction for the program module can be executed in a local or distributed device. In a distributed device, the program module can be located in both a local and a remote storage medium.
[0158] The computer program code for realizing the method for the embodiment of the present application can be written in one or more programming languages. These computer program codes can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device, so that the program code, when executed by a computer or other programmable data processing device, causes the function / operation specified in the flow chart and / or block diagram to be implemented. The program code can be executed completely on a computer, partially on a computer, as an independent software package, partially on a computer and partially on a remote computer or completely on a remote computer or server.
[0159] In the context of the embodiments of the present application, computer program codes or related data may be carried by any appropriate carrier to enable a device, apparatus or processor to perform the various processes and operations described above. Examples of carriers include signals, computer readable media, and the like.
[0160] Examples of signals may include electrical, optical, radio, acoustic or other forms of propagated signals, such as carrier waves, infrared signals, etc.
[0161] A machine-readable medium may be any tangible medium that contains or stores a program for or related to an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More detailed examples of machine-readable storage media include an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0162] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0163] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or modules, or it can be an electrical, mechanical or other form of connection.
[0164] The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the embodiments of the present application.
[0165] In addition, each functional module in each embodiment of the present application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or software functional modules.
[0166] If the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially 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, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0167] In the present application, the terms "first", "second", etc. are used to distinguish between identical or similar items having substantially the same effects and functions. It should be understood that there is no logical or temporal dependency between "first", "second", and "nth", nor is there a limitation on quantity and execution order. It should also be understood that although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, without departing from the scope of various examples, a first image may be referred to as a second image, and similarly, a second image may be referred to as a first image. Both the first image and the second image may be images, and in some cases, may be separate and different images.
[0168] It should also be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0169] The term "at least one" in this application means one or more, and the term "multiple" in this application means two or more, for example, multiple second messages means two or more second messages. The terms "system" and "network" are often used interchangeably herein.
[0170] It should be understood that the terms used in the description of the various examples herein are only for describing specific examples and are not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0171] It should also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The term "and / or" is a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this application generally indicates that the associated objects before and after are in an "or" relationship.
[0172] It should also be understood that the term “comprise” (also known as “includes,” “including,” “comprises” and / or “comprising”) when used in this specification specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0173] It should also be understood that the terms "if" and "if" may be interpreted to mean "when" or "upon" or "in response to determining" or "in response to detecting." Similarly, the phrases "if it is determined that ..." or "if [a stated condition or event] is detected" may be interpreted to mean "upon determining that ..." or "in response to determining that ..." or "upon detecting [a stated condition or event]" or "in response to detecting [a stated condition or event]," depending on the context.
[0174] It should be understood that determining B based on A does not mean determining B only based on A. B can also be determined based on A and / or other information.
[0175] It should also be understood that the references to "one embodiment", "an embodiment", or "a possible implementation" throughout the specification mean that specific features, structures, or characteristics related to the embodiment or implementation are included in at least one embodiment of the present application. Therefore, the references to "in one embodiment" or "in an embodiment", or "a possible implementation" throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0176] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the principles of the present application should be included in the protection scope of the present application.
Claims
1. A method for deinterleaving a data stream, characterized in that: The method comprises: Acquire a first interleaved data stream, where the first interleaved data stream is a data stream encoded by forward error correction (FEC); Based on the interleaving granularity of the first interleaved data stream, obtain N sub-data streams corresponding to the first interleaved data stream, where N is the interleaving depth of the first interleaved data stream, and N is a positive integer greater than 1; Determining a deinterleaving position based on FEC codeword boundaries of at least two of the N sub-data streams; Based on the deinterleaving position, a first deinterleaved data stream is obtained according to the first interleaved data stream.
2. The method according to claim 1, characterized in that The N sub-data streams are arranged in sequence, and the determining of the deinterleaving position based on FEC codeword boundaries of at least two sub-data streams among the N sub-data streams includes: Based on the fact that the FEC codeword boundary of the first sub-data stream is after the FEC codeword boundary of the second sub-data stream, determining that the deinterleaving position is the FEC codeword boundary of the second sub-data stream; The first sub-data stream and the second sub-data stream are two adjacent sub-data streams among the N sub-data streams.
3. The method according to claim 2, characterized in that The first sub-data stream is arranged before the second sub-data stream.
4. The method according to claim 2 or 3, characterized in that: The FEC codeword boundary of the first sub-data stream differs from the FEC codeword boundary of the second sub-data stream by one symbol.
5. The method according to claim 1, characterized in that The N sub-data streams are arranged in sequence, and the determining of the deinterleaving position based on FEC codeword boundaries of at least two sub-data streams among the N sub-data streams includes: Based on the alignment of the FEC codeword boundaries of each sub-data stream in the N sub-data streams, determining the deinterleaving position as the FEC codeword boundary of the first sub-data stream; The first sub-data stream is arranged first in the N sub-data streams.
6. The method according to any one of claims 1 to 5, characterized in that: The N sub-data streams are arranged in sequence, and obtaining a first deinterleaved data stream according to the first interleaved data stream based on the deinterleaved position includes: Determining a deinterleaving combination order of the N sub-data streams based on the deinterleaving positions and the arrangement order of the N sub-data streams; Based on the deinterleaving combination order, the data in the first interleaved data stream is combined to obtain the first deinterleaved data stream.
7. The method according to any one of claims 1 to 6, characterized in that: The obtaining, based on the interleaving granularity of the first interleaved data stream, N sub-data streams corresponding to the first interleaved data stream includes: Selecting a data stream distribution start position from the first interleaved data stream, and distributing the first interleaved data stream into N sub-data streams based on an interleaving granularity of the first interleaved data stream; The data stream distribution start position is a randomly selected position in the first interleaved data stream.
8. The method according to any one of claims 1 to 7, characterized in that: The obtaining, based on the interleaving granularity of the first interleaved data stream, N sub-data streams corresponding to the first interleaved data stream includes: Based on the interleaving granularity of the first interleaved data stream, data of the first interleaved data stream is distributed to the N sub-data streams by polling.
9. The method according to any one of claims 1 to 8, characterized in that: The method further comprises: Determine an FEC codeword boundary of each of the N sub-data streams.
10. The method according to claim 9, characterized in that The determining of the FEC codeword boundary of each of the N sub-data streams includes: According to the FEC codeword characteristics, an FEC codeword boundary of each of the N sub-data streams is determined.
11. The method according to claim 10, characterized in that The step of determining the FEC codeword boundary of each of the N sub-data streams according to the FEC codeword feature includes: In each sub-data stream, characteristic value verification is performed based on the assumed FEC codeword boundary, and the FEC codeword boundary of each sub-data stream is determined according to the verification result.
12. The method according to claim 10 or 11, characterized in that: The FEC codewords of the N sub-data streams are in a cyclic shift relationship, and determining the FEC codeword boundary of each sub-data stream in the N sub-data streams according to the FEC codeword characteristics includes: Performing a reverse cyclic shift on the obtained FEC codewords of the N sub-data streams; According to the FEC codeword characteristics, the FEC codeword boundary of each sub-data stream in the N sub-data streams after the reverse cyclic shift is determined.
13. The method according to claim 9, characterized in that The determining of the FEC codeword boundary of each of the N sub-data streams includes: Determining an FEC codeword boundary of a third sub-data stream among the N sub-data streams; Based on the FEC codeword boundary of the third sub-data stream, the FEC codeword boundaries of other sub-data streams in the N sub-data streams are determined.
14. The method according to claim 13, characterized in that The FEC codeword boundary of the third sub-data stream is located in the first column of the third sub-data stream, The determining, based on the FEC codeword boundary of the third sub-data stream, the FEC codeword boundary of other sub-data streams in the N sub-data streams includes: The FEC codeword boundaries of the other sub-data streams are respectively located in the first column of the other sub-data streams or in a column adjacent to the first column.
15. The method according to any one of claims 1 to 14, characterized in that: The first interleaved data stream does not include a periodic alignment data segment, and the periodic alignment data segment includes an alignment word, a frame alignment word or a guide data.
16. The method according to any one of claims 1 to 15, characterized in that: The FEC encoding method of the first interleaved data stream is non-concatenated code FEC encoding or concatenated code FEC encoding.
17. The method according to any one of claims 1 to 16, characterized in that: The N is 4 or 8.
18. The method according to any one of claims 1 to 17, characterized in that: The interleaving type of the first interleaved data stream is symbol interleaving or convolutional interleaving.
19. The method according to any one of claims 1 to 18, characterized in that: The method is executed by a physical layer PHY chip, a forwarding device, or a pluggable module.
20. The method according to any one of claims 1 to 19, characterized in that: The channel rate of the first interleaved data stream is greater than or equal to 200 Gbps.
21. An Ethernet device, characterized in that: The Ethernet device is used to execute the method according to any one of claims 1-20.
22. A chip, characterized in that: The chip is used to execute the method according to any one of claims 1 to 20.
23. A communication system, characterized in that: The communication system includes a transmitting device and a receiving device. The receiving device is used to execute the method as described in any one of claims 1-20.
Citation Information
Cited By
Data stream deinterleaving method, device, and system
EP4712374A1
Data stream deinterleaving method, device, and system
WO2025002132A1
