Alignment mark searching method, device, system and computer readable storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2023-12-05
- Publication Date
- 2026-08-07
AI Technical Summary
[0035] It should be understood that the beneficial effects of the technical solutions of the third to tenth aspects of this application and their corresponding possible implementations can be found in the technical effects of the first and second aspects and their corresponding possible implementations mentioned above, and will not be repeated here.
Smart Images

Figure CN122533701A_ABST
Abstract
Description
[0001] This application is a divisional application. The original application has the application number 202380090518.6 and the original application date is December 5, 2023. The entire contents of the original application are incorporated in this application.
[0002] This application claims priority to Chinese Patent Application No. 202310032473.9, filed on January 10, 2023, entitled “Method, Apparatus, System and Computer-readable Storage Medium for Searching Alignment Marks”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of communication technology, and in particular to a method, apparatus, system and computer-readable storage medium for searching alignment marks. Background Technology
[0004] With the development of communication technology, the speed of Ethernet interfaces is constantly increasing. Since the speed of an Ethernet interface is much higher than that of a single channel connected to it, using multiple channels to transmit the data stream sent by the Ethernet interface in parallel has become a way to match the channel speed with the Ethernet interface speed.
[0005] Because data streams are prone to skew during transmission through multiple channels, the sending end of the data stream needs to insert an alignment marker (AM) into the data streams transmitted through multiple channels. The receiving end of the data stream searches for the AM and aligns the data streams transmitted through multiple channels based on the AM, thereby accurately acquiring the data. Summary of the Invention
[0006] This application proposes a method, apparatus, system, and computer-readable storage medium for searching alignment marks, used for performing AM search on a data stream.
[0007] Firstly, a method for searching alignment flags is provided. The method includes: a first module receiving a first data stream transmitted by a second module, the first data stream being obtained by multiplexing multiple second data streams according to a reference granularity, each second data stream including AM and data from at least one forward error correction (FEC) codeword, the reference granularity being the number of bits corresponding to n symbols included in the FEC codeword, where n is a positive integer; then, the first module obtaining a first data segment from a first position in the first data stream according to the reference granularity, and performing an AM search on the first data segment, wherein the first position is any position in the first data stream.
[0008] Because the first data stream in this method is obtained by multiplexing multiple second data streams with the number of bits corresponding to the n symbols in the FEC codeword as the reference granularity, the number of symbols affected by burst errors in the first data stream is relatively small. If the first data stream is obtained by multiplexing multiple second data streams with bits, and the bit multiplexing multiplexes multiple data streams with a granularity of 1 bit, then burst errors will affect multiple symbols, resulting in a larger number of symbols affected by burst errors. Therefore, compared with performing AM search in the bit-multiplexed data stream, the method provided in this application has a stronger tolerance for burst errors.
[0009] In one possible implementation, obtaining a first data segment from a first position in a first data stream according to a reference granularity includes: demultiplexing the first data stream from the first position in the first data stream according to the reference granularity to obtain the first data segment. Thus, when the first position is the boundary for multiplexing, the data included in the first data segment can come from the same second data stream, and AM search can be performed on the first data segment subsequently. For example, AM search can be performed on the first data segment based on the AM search method specified in the Institute of Electrical and Electronics Engineers (IEEE) 802.3 standard.
[0010] In one possible implementation, obtaining a first data segment from a first position in a first data stream according to a reference granularity includes: obtaining a first number of bits every first number of bits from the first position in the first data stream, and obtaining a first data segment based on the obtained multiple sets of the first number of bits, where the first number is determined according to the reference granularity. Compared to obtaining the first data segment through demultiplexing, this implementation does not require demultiplexing the first data stream; the first data segment can be obtained directly from the first data stream at first number of intervals, thus improving the efficiency of obtaining the first data segment. Furthermore, this method can obtain the first data segment either through demultiplexing or by directly obtaining bits from the first data stream, providing greater flexibility in obtaining the first data segment.
[0011] In one possible implementation, the method further includes: based on the fact that no AM was found in the first data segment, obtaining a second data segment from a second position in the first data stream according to a reference granularity, and performing an AM search on the second data segment, wherein the second position is different from the first position. That is, if no AM was found in the first data segment, it means that the first position is not the boundary for performing multiplexing. In this case, the second data segment can be obtained from another position in the first data stream, namely the second position, and an AM search can be performed on the second data segment.
[0012] In one possible implementation, the second position is located a second number of bits after the first position, or the second position is located a third number of reference symbols after the first position; wherein the type of reference symbol is determined according to the modulation scheme corresponding to the second data stream, and the number of bits corresponding to the second and third number of reference symbols are different. The method of determining the second position is relatively flexible.
[0013] In one possible implementation, AM includes a common marker (CM) field, which is used to perform AM searches on the first data segment. When performing an AM search based on the CM field, if the CM field is found, it is considered that an AM search has been performed, thereby improving the efficiency of the AM search.
[0014] In one possible implementation, the FEC codeword is the Reed-Solomon (RS) codeword.
[0015] Secondly, a method for searching alignment flags is provided. The method includes: a second module acquiring a first data stream, which is obtained by multiplexing multiple second data streams according to a reference granularity. Each second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is a positive integer. Then, the second module transmits the first data stream to a first module so that the first module acquires a first data segment from a first position in the first data stream according to the reference granularity and performs an AM search on the first data segment, wherein the first position is any position in the first data stream.
[0016] In this method, the number of bits corresponding to the n symbols in the FEC codeword is used as the reference granularity to multiplex multiple second data streams to obtain a first data stream. Therefore, when a burst error occurs in the first data stream, the number of symbols affected by the burst error is relatively small. If multiplexing multiple second data streams to obtain a first data stream is used, since bit multiplexing multiple data streams at a granularity of 1 bit, burst errors will affect multiple symbols, resulting in a larger number of symbols affected by burst errors. Therefore, compared to the data stream obtained by bit multiplexing, the first data stream obtained by this method has a stronger tolerance for burst errors.
[0017] Thirdly, a search device for alignment marks is provided, which is applied to a first module, and the device includes: The acquisition unit is used to receive the first data stream transmitted by the second module. The first data stream is obtained by multiplexing multiple second data streams according to a reference granularity. Each second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is a positive integer. The acquisition unit is also configured to acquire a first data segment from a first position in the first data stream according to a reference granularity, wherein the first position is any position in the first data stream; The search unit is used to perform an AM search on the first data segment.
[0018] In one possible implementation, the acquisition unit is used to demultiplex the first data stream from a first position according to a reference granularity to obtain a first data segment.
[0019] In one possible implementation, the acquisition unit is used to acquire a first number of bits every first number of bits from a first position in the first data stream, and to obtain a first data segment based on the acquired multiple sets of the first number of bits, wherein the first number is determined according to a reference granularity.
[0020] In one possible implementation, the search unit is further configured to, based on the fact that no AM was found in the first data segment, obtain a second data segment from a second position of the first data stream according to a reference granularity, the second position being different from the first position; and perform an AM search on the second data segment.
[0021] In one possible implementation, the second position is a position of a second number of bits after the first position, or the second position is a position of a third number of reference symbols after the first position; wherein the type of reference symbol is determined according to the modulation scheme corresponding to the second data stream, and the number of bits corresponding to the second number and the third number of reference symbols are different.
[0022] In one possible implementation, AM includes a CM field, which is used to perform an AM search on the first data segment.
[0023] In one possible implementation, the FEC codeword is the RS codeword.
[0024] Fourthly, a search device for alignment marks is provided, which is applied to a second module, the device comprising: The acquisition unit is used to acquire a first data stream, which is obtained by multiplexing multiple second data streams according to a reference granularity. Each second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is a positive integer. The transmission unit is used to transmit a first data stream to the first module so that the first module can obtain a first data segment from a first position in the first data stream according to a reference granularity, wherein the first position is any position in the first data stream; and perform AM search on the first data segment.
[0025] Fifthly, a communication system is provided, comprising a first module and a second module, wherein the first module is configured to perform a search method for alignment marks as described in the first aspect, and the second module is configured to perform a search method for alignment marks as described in the second aspect.
[0026] A sixth aspect provides a computer system including a processor, which includes either a first module or a second module. When the processor includes a first module, the computer system implements the alignment mark search method of any of the first aspects when the processor executes program instructions or code. When the processor includes a second module, the computer system implements the alignment mark search method of the second aspect when the processor executes program instructions or code. Exemplarily, the computer system also includes a memory for storing the program instructions or code.
[0027] In a seventh aspect, a computer-readable storage medium is provided, which stores at least one program instruction or code, the program instruction or code being executed by a computer, the computer including a first module or a second module; when the computer includes a first module, the program instruction or code, when executed by the computer, causes the computer to implement the search method for any alignment mark in the first aspect; when the computer includes a second module, the program instruction or code, when executed by the computer, causes the computer to implement the search method for alignment marks in the second aspect.
[0028] Eighthly, a communication apparatus is provided, comprising: a transceiver, a memory, and a processor. The transceiver, memory, and processor communicate with each other via internal interconnection paths. The memory stores instructions, and the processor executes the instructions stored in the memory to control the transceiver to transmit and receive signals. The processor includes either a first module or a second module. When the processor includes a first module, when the processor executes the instructions stored in the memory, it causes the processor to execute any of the alignment flag search methods in the first aspect. When the processor includes a second module, when the processor executes the instructions stored in the memory, it causes the processor to execute the alignment flag search method in the second aspect.
[0029] For example, there may be one or more processors and one or more memories.
[0030] For example, the memory can be integrated with the processor, or the memory can be set up separately from the processor.
[0031] In the specific implementation process, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. This application does not limit the type of memory or the way the memory and processor are set.
[0032] A ninth aspect provides a computer program product comprising: computer program instructions or code, the computer program instructions or code being executed by a computer, the computer including a first module or a second module; wherein, when the computer includes a first module, the computer program instructions or code, when executed by the computer, cause the computer to perform any of the alignment mark search methods in the first aspect; and wherein, when the computer includes a second module, the computer program instructions or code, when executed by the computer, cause the computer to implement the alignment mark search method in the second aspect.
[0033] In a tenth aspect, a chip is provided, the chip including a processor, the processor including a first module or a second module, the processor being configured to execute program instructions or code, wherein when the processor includes a first module, a device including the chip executes any of the alignment mark search methods in the first aspect, and when the processor includes a second module, the device including the chip executes the alignment mark search method in the second aspect.
[0034] For example, the chip also includes an input interface, an output interface, and a memory, which are connected to each other via internal connection paths. The memory is used to store program instructions or code.
[0035] It should be understood that the beneficial effects of the technical solutions of the third to tenth aspects of this application and their corresponding possible implementations can be found in the technical effects of the first and second aspects and their corresponding possible implementations mentioned above, and will not be repeated here. Attached Figure Description
[0036] Figure 1 This is a schematic diagram illustrating an implementation scenario of a method for searching alignment markers provided in an embodiment of this application; Figure 2 This is a flowchart of a method for searching alignment markers provided in an embodiment of this application; Figure 3 This is a schematic diagram illustrating how a second data stream is multiplexed to obtain a first data stream, as provided in an embodiment of this application. Figure 4 This is a schematic diagram of a first position provided in an embodiment of this application; Figure 5This is a schematic diagram illustrating how to obtain multiple groups of a first number of bits according to an embodiment of this application; Figure 6 This is a schematic diagram of the structure of an alignment mark search device provided in an embodiment of this application; Figure 7 This is a schematic diagram of another alignment mark search device provided in an embodiment of this application; Figure 8 This is a schematic diagram of the structure of a computer system provided in an embodiment of this application; Figure 9 This is a schematic diagram of another computer system provided in an embodiment of this application. Detailed Implementation
[0037] The terminology used in the embodiments section of this application is for explaining the embodiments of this application only and is not intended to limit this application. The embodiments of this application are described below with reference to the accompanying drawings.
[0038] With the development of communication technology, the speed of an Ethernet interface may increase faster than the speed of the individual channels connected to it. For example, a 10 Gigabit Ethernet (GE) interface is connected to a single channel with a speed of 10 gigabits per second (Gbps); a 100GE interface is connected to four 25 Gbps channels; and a 400GE interface is connected to 16 25 Gbps channels or eight 50 Gbps channels. These channels can be physical coding sublayer (PCS) channels. Therefore, when the Ethernet interface speed increases from 10 GE to 400 GE, the speed of a single channel only increases from 10 Gbps to 25 Gbps or 50 Gbps. In this case, the data stream sent by the Ethernet interface can be transmitted in parallel through multiple channels. When an Ethernet interface is connected to multiple channels, the multiple channels can transmit data streams in parallel.
[0039] Because the skew of a data stream can differ across multiple channels when transmitting data streams in parallel, an alignment pattern (AM) is inserted into the data stream transmitted through multiple channels at the sending end. The receiving end searches for the AM in the data streams received from multiple channels to determine the position of the inserted AM in each channel. After obtaining the AM's position, the receiving end aligns the data streams transmitted through multiple channels based on the AM's position (including alignment locking and deskew), and then decodes the data stream transmitted from the sending end to the receiving end through multiple channels. The content of the AM remains unchanged during transmission, but its specific bit sequence may be scrambled during the data stream due to bit multiplexing, symbol multiplexing, etc. This bit sequence can also be called a bit pattern.
[0040] When transmitting data streams via physical links, the speed of the physical link used for data transmission can be higher than the speed of the PCS channel. For example, a single PCS channel might have a speed of 25Gbps, while the speed of the physical link used for data transmission could be 50Gbps or 100Gbps. In this case, when the data stream from multiple PCS channels is transmitted via the physical link, the data streams need to be aggregated, and the aggregated data stream is then transmitted through the physical link. At the receiving end, the data stream transmitted via the PCS channels is obtained based on the aggregated data stream, and AM search can then be performed on the data stream transmitted via the PCS channels.
[0041] This application proposes a method for searching alignment flags, which is applicable to AM search of converged data streams. Figure 1 This is a schematic diagram illustrating an implementation scenario of an alignment marker search method provided in this application. See also... Figure 1 The implementation scenario includes a first module 101 and a second module 102, which are communicatively connected. For example, the first module 101 and the second module 102 are communicatively connected through multiple physical links. Exemplarily, the first module 101 is included in a first device, and the second module 102 is included in a second device; alternatively, the first module 101 and the second module 102 may be included in the same device. The device containing any one or more of the first module 101 and the second module 102 can be a network device or other device containing an Ethernet interface or conforming to the IEEE 802.3 standard. Furthermore, Figure 1 Other modules may also be included in the implementation scenarios shown, but this application does not limit them in this regard.
[0042] The alignment flag search method provided in this application embodiment can be as follows: Figure 2 As shown, next, combined with Figure 1The illustrated implementation scenario will be used to explain the alignment flag search method provided in the embodiments of this application. For example... Figure 2 As shown, the method includes, but is not limited to, S201 and S202.
[0043] S201, the second module obtains the first data stream, which is obtained by multiplexing multiple second data streams according to a reference granularity. Each second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is a positive integer.
[0044] When the second module multiplexes multiple second data streams to obtain the first data stream, it uses the number of bits corresponding to one or more symbols of the FEC codeword as the reference granularity for multiplexing, that is, n can be equal to or greater than 1. In some embodiments, n can be 2. m m is a positive integer greater than or equal to 1. For example, n can be 2, 4, 8, or 16. The FEC codeword can be a Reed-Solomon (RS) codeword. In the embodiments of this application, n can be determined based on the number of FEC codewords corresponding to the second data stream. For example, for any second data stream that includes data from two FEC codewords, that is, the number of FEC codewords corresponding to the second data stream is 2, in which case n is greater than or equal to 2.
[0045] For example, for any one of the multiple second data streams, the AM included in that second data stream corresponds to the channel through which that second data stream is transmitted. For instance, if each second data stream is a data stream transmitted via a PCS channel, the AM included in each second data stream corresponds one-to-one with the sequence number of the PCS channel through which each second data stream is transmitted. In the case where eight PCS channels are used to transmit multiple second data streams in parallel, the correspondence between the AM included in each second data stream and the sequence number of the PCS channel through which each second data stream is transmitted can be shown in Table 1.
[0046]
[0047] As shown in Table 1, the eight PCS channels are numbered 0-7, from channel 0 to channel 7. The AM corresponding to any PCS channel includes a CM field, a unique marker (UM) field, and a unique pad (UP) field. Specifically, the values of CM0 to CM5 in the AM corresponding to each PCS channel are identical. For example, in Table 1, the value of CM0 in each AM is 0x9A, the value of CM1 in each AM is 0x4A, the value of CM2 in each AM is 0x26, the value of CM3 in each AM is 0x65, the value of CM4 in each AM is 0xB5, and the value of CM5 in each AM is 0xD9. The values of UM0 to UM5 in the AM corresponding to each PCS channel uniquely correspond to each PCS channel, and the values of UP0 to UP2 also uniquely correspond to each PCS channel. For example, the UM0 values of AM in PCS channels 0-7 are 0xB3, 0x5A, 0x3E, 0x86, 0x2A, 0x12, 0x42, and 0xD6, respectively; the UP0 values of AM in PCS channels 0-7 are 0x05, 0x04, 0x46, 0x5A, 0xE1, 0xF2, 0x3D, and 0x22, respectively. For example, the values of UP0 to UP2 are padding data unrelated to the AM locking mechanism. The content of Table 1 above is intended to illustrate the correspondence between PCS channels and AM, and the content included in AM, and is not intended to limit the numbering method of PCS channels.
[0048] When 16 PCS channels are used to transmit multiple second data streams in parallel, the correspondence between the AM included in each second data stream and the sequence number of the PCS channel transmitting each second data stream can be shown in Tables 2 and 3.
[0049]
[0050]
[0051] As shown in Tables 2 and 3, the 16 PCS channels are numbered 0 to 15, representing PCS channels 0 through 15. The correspondence between PCS channels and AMs is the same as that shown in Table 1, and will not be repeated here. Furthermore, the contents of Tables 2 and 3 are intended to explain the correspondence between PCS channels and AMs, as well as the contents included in AMs, and are not intended to limit the numbering method of PCS channels.
[0052] Based on the contents of Tables 1 to 3 above, CM0 to CM5, UM0 to UM5, and UP0 to UP2 can each include 8 bits, thus an AM can include 120 bits. These 120 bits can come from multiple FEC codewords. For example, if the sign size of an FEC codeword includes 10 bits, the 120-bit AM can be distributed among multiple FEC codewords in units of 10 bits. Of course, the AM can also include other bits besides 120 bits. For example, the AM can also include padding, which is used to adjust the number of bits included in the AM to a specified number. This application embodiment does not limit the number of bits included in the AM.
[0053] It should be noted that the eight AMs shown in Table 1 above are specifically for 200GE interfaces. Interfaces with other speeds may use different AMs. For ease of design, for multiple PCS channels connected to any interface, the CM field in the AM corresponding to each PCS channel can be the same, as shown in Tables 1 to 3, but the UM field can be different. Furthermore, Tables 2 and 3 are specifically for 400GE interfaces. If other speed interfaces use 16 channels, the AMs can be different. Tables 1 to 3 are merely illustrative examples and do not limit the various possible correspondences between AMs and PCS channels applicable to this application. Moreover, Table 1 is used to illustrate the AMs corresponding to PCS channels connected to a 200GE interface, and Tables 2 and 3 are used to illustrate the AMs corresponding to PCS channels connected to a 400GE interface. For interfaces with other speeds, the AMs can differ from those in Tables 1 to 3; for example, the AM may not include the UP field.
[0054] Figure 3 This is a schematic diagram illustrating how a second data stream is multiplexed to obtain a first data stream, as provided in an embodiment of this application. Figure 3 As shown, two second data streams are transmitted via PCS channel 0 and PCS channel 1, respectively. Both second data streams include an AM (meaning a data portion from the FEC codeword) and a data portion from the FEC codeword. The AM used for transmitting the second data stream in PCS channel 0 is AM0, and the AM used for transmitting the second data stream in PCS channel 1 is AM1. Taking an FEC codeword symbol consisting of 10 bits, with n equal to 4 (i.e., a reference granularity of 40 bits), AM0 and AM1 are both multiplexed into three parts. The data portion from the FEC codeword in the second data stream is also multiplexed at the reference granularity to obtain the first data stream.
[0055] For example, in the embodiments of this application, when multiple second data streams are multiplexed, the multiple second data streams are first deskewed, and then the deskewed multiple second data streams are multiplexed. When deskewing the multiple second data streams, it is not necessary to fully deskew them; that is, it is not necessary to completely align the multiple second data streams according to their AM values. It is sufficient to deskew the multiple second data streams to the reference granularity for multiplexing. In other words, the AM of one second data stream can be aligned with the data portion of another, allowing multiplexing of the multiple second data streams according to the reference granularity. For example... Figure 3 As shown, the data portion of the second data stream transmitted by AM1 and PCS channel 0 is aligned, but not aligned with AM0.
[0056] S202, the second module transmits the first data stream to the first module.
[0057] This application embodiment does not limit the method by which the second module transmits the first data stream to the first module. For example, the second module may transmit the first data stream to the first module via a physical link. The first module can obtain a first data segment from a first position in the first data stream according to a reference granularity, and perform an AM search on the first data segment, where the first position can be any position in the first data stream. The process of the first module obtaining the first data segment and then performing an AM search on the first data segment is detailed in S203 to S205, and will not be elaborated here.
[0058] In the method provided in this application embodiment, the number of bits corresponding to the n symbols included in the FEC codeword is used as the reference granularity to multiplex multiple second data streams to obtain a first data stream. Therefore, when a burst error occurs in the first data stream, the number of symbols affected by the burst error is relatively small. If the method of multiplexing multiple second data streams to obtain a first data stream is used, since bit multiplexing multiple data streams is performed at a granularity of 1 bit, burst errors will affect multiple symbols, resulting in a larger number of symbols affected by burst errors. Therefore, compared to the data stream obtained by bit multiplexing, the first data stream obtained by this method has a stronger tolerance for burst errors.
[0059] The above description uses the second module side as an example to illustrate the alignment flag search method provided in this application embodiment. Next, the method will be described using the first module side as an example. Figure 2 As shown, the method includes, but is not limited to, S203 to S205.
[0060] S203, the first module receives the first data stream transmitted by the second module.
[0061] This application does not limit the method by which the first module receives the first data stream transmitted by the second module; it can correspond to the method by which the second module transmits the first data stream to the first module. The first data stream is obtained by multiplexing multiple second data streams according to a reference granularity. Each second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is a positive integer.
[0062] S204, the first module obtains the first data segment from the first position of the first data stream according to the reference granularity, where the first position is any position in the first data stream.
[0063] In one possible implementation, the first module performs the operation of obtaining the first data segment from the first position of the first data stream according to the reference granularity using either method one or method two.
[0064] Method 1: Demultiplex the first data stream from the first position of the first data stream according to the reference granularity to obtain the first data segment.
[0065] In this first approach, the first module can start from any position in the first data stream and perform demultiplexing on the first data stream at the same granularity based on the reference granularity used for multiplexing. Thus, when the first position is the boundary for performing multiplexing, the data included in the first data segment can come from the same second data stream.
[0066] Figure 4 This is a schematic diagram of a first position provided in an embodiment of this application. See also... Figure 4 If the first position is position A or position B in the first data stream, since positions A and B are not the boundary for multiplexing, the resulting first data segment will include data from both the second data stream transmitted via PCS channel 0 and PCS channel 1. In other words, the data in the first data segment comes from both second data streams. If the first position is position C in the first data stream, since position C is the boundary for multiplexing, the resulting first data segment will include only data from the second data stream transmitted via PCS channel 0, or only data from the second data stream transmitted via PCS channel 1. In other words, the data in the first data segment comes from the same second data stream. In this embodiment, when the first data segment is obtained by demultiplexing the first data stream, AM search can be performed on the first data segment subsequently. For example, AM search can be performed on the first data segment based on the AM search method specified in the IEEE 802.3 standard.
[0067] Method 2: Obtain a first number of bits every first number of bits from the first position of the first data stream, and obtain a first data segment based on the multiple sets of first number of bits obtained. The first number is determined according to the reference granularity.
[0068] Compared to Method 1, which obtains the first data segment through demultiplexing, Method 2 does not demultiplex the first data stream. Instead, it directly obtains bits from the first data stream at first-number intervals to obtain the first data segment, resulting in higher efficiency in obtaining the first data segment. In this embodiment, the first number is equal to the number of bits corresponding to the reference granularity. For example, when the FEC codeword symbol includes 10 bits, bits are obtained from the first data stream at consecutive intervals... Get consecutive bits Each bit, and then based on the obtained multiple sets The first data segment is obtained by taking one bit.
[0069] Figure 5 This is a schematic diagram for obtaining multiple sets of a first number of bits; see [link / reference]. Figure 5 If the first module takes position D as the first position, the first module will acquire a first number of bits every first number of bits in the first data stream, starting from position D. If the first module takes position E as the first position, the first module will acquire a first number of bits every first number of bits in the first data stream, starting from position E. Position E is the position one bit after position D.
[0070] S205, the first module performs an AM search on the first data segment.
[0071] For example, the AM field includes a CM field used for AM search on the first data segment, thus requiring less data to perform the AM search and achieving higher efficiency. The CM field can include CM0 to CM5 from Tables 1 to 3 above. In this embodiment, for any second data stream, the AM corresponding to the PCS channel transmitting that second data stream can be inserted intermittently into that second data stream. When performing an AM search based on the CM field, if the CM field is found, it is considered that an AM has been found. In this embodiment, for any second data stream, the AM corresponding to the PCS channel transmitting that second data stream can be repeatedly inserted into that second data stream at a reference interval. In this case, if the CM field is found p times consecutively in the first data segment at the reference interval for inserting the AM, it is considered that an AM has been found p times consecutively in the first data segment at the reference interval for AM, and the AM lock is successful, where p can be a positive integer greater than or equal to 2. This application does not limit the method of searching CM fields. For example, each CM field includes 2 nibbles, and CM0 to CM5 include a total of 12 nibbles. If 9 of the 12 nibbles can be found in the first data segment, it is determined that the CM field has been found.
[0072] In one possible implementation, the first module can also perform an AM search on the first data segment based on multiple fields of AM. For example, the first module can perform an AM search on the first data segment based on the CM and UM fields of AM. That is, the first module can search for the UM field in addition to searching for the CM field. Therefore, if both the CM field and the UM field are found in the first data segment, it is considered that AM has been found in the first data segment. This application does not limit the method of searching for the UM field. For example, each UM field includes 2 nibbles, and UM0 to UM5 include a total of 12 nibbles. If 9 of the 12 nibbles can be found in the first data segment, it is determined that the UM field has been found.
[0073] In one possible implementation, the method further includes: based on the fact that no AM was found in the first data segment, obtaining a second data segment from a second position in the first data stream according to a reference granularity, the second position being different from the first position; and performing an AM search on the second data segment. That is, if no AM was found in the first data segment, it means that the first position is not the boundary for multiplexing. In this case, a second data segment can be obtained from another position in the first data stream, i.e., the second position, and an AM search can be performed on the second data segment. The content of the AM search in the second data segment is the same as the content of S205 above, and will not be repeated here. For example, if no AM is found after a reference length of bits, it is determined that no AM was found in the first data segment. The reference length can be determined based on experience or actual needs, for example, the reference length is 5 times the AM insertion interval.
[0074] The second position can be a position two bits after the first position, or it can be a position three bits after the first position; the type of the reference symbol is determined according to the modulation scheme corresponding to the second data stream, and the number of bits corresponding to the second and third number of reference symbols are different. The modulation scheme corresponding to the second data stream can be four-level pulse amplitude modulation (PAM4), so the reference symbol can be a PAM4 symbol. Alternatively, the modulation scheme corresponding to the second data stream can be three-level pulse amplitude modulation (PAM3), so the reference symbol can be a PAM3 symbol. Alternatively, the modulation scheme corresponding to the second data stream can be five-level pulse amplitude modulation (PAM5), so the reference symbol can be a PAM5 symbol. The modulation scheme corresponding to the second data stream can also be six-level pulse amplitude modulation (PAM6), so the reference symbol can be a PAM6 symbol. Alternatively, the modulation scheme corresponding to the second data stream can be eight-level pulse amplitude modulation (PAM8), so the reference symbol can be a PAM8 symbol. Alternatively, the modulation scheme corresponding to the second data stream is 16-level pulse amplitude modulation (PAM16), so the reference symbol can be a PAM16 symbol. Alternatively, the modulation scheme corresponding to the second data stream is quadrature amplitude modulation (QAM), so the reference symbol can be a QAM symbol.
[0075] For example, if the AM is not found in the second data segment either, the first module can continue to change its position, obtain a data segment from the changed position in the first data stream, and perform an AM search on the obtained data segment. The first module repeatedly executes the process of changing position, obtaining data segments, and performing an AM search on the data segments until an AM is found in the data segment.
[0076] Because the granularity of multiplexing is fixed, the boundaries of multiplexing appear periodically. Therefore, when changing the position, it can be the position one bit after position A, or it can be... bit+1 bit position. Where x is a positive integer greater than or equal to 1. For example, ... Figure 4 As shown, if position A is the first position and the first module does not find AM in the first data segment, then position B, which is one bit after position A, can be used as the second position and the second data segment can be obtained. AM search can then be performed on the obtained second data segment. If the first module does not find AM in the second data segment, then position C, which is one bit after position B, can be used as the third position. The third data segment can be obtained from position C of the first data stream according to the reference granularity, and AM search can then be performed on the third data segment. For example, as... Figure 5 As shown, if the first module fails to find AM in the first data segment when position D is the first position, then position E, which is one bit after position D, can be used as the second position and the second data segment can be obtained. Then, AM search can be performed on the obtained second data segment.
[0077] Furthermore, when obtaining the first data segment through demultiplexing, if multiple first data segments are obtained, AM search can be performed on each first data segment. If AM locking fails on any of the multiple first data segments, it is determined that the first position is not the boundary for multiplexing. The first module then performs the operation of obtaining the second data segment from the second position of the first data stream according to the reference granularity and performing AM search on the second data segment.
[0078] The method provided in this application is applicable to AM search on a first data stream. Since the first data stream in this method is obtained by multiplexing multiple second data streams using the number of bits corresponding to the n symbols in the FEC codeword as the reference granularity, the number of symbols affected by a burst error is relatively small when a burst error occurs in the first data stream. If the first data stream is obtained by bit multiplexing multiple second data streams, and bit multiplexing multiple data streams is performed with a granularity of 1 bit, then a burst error will affect multiple symbols, resulting in a larger number of symbols affected by the burst error. Therefore, the method provided in this application has a stronger tolerance for burst errors compared to performing AM search on a bit-multiplexed data stream.
[0079] This application also provides a device for searching alignment marks. Figure 6 This is a schematic diagram of the structure of an alignment mark search device provided in an embodiment of this application. Based on Figure 6 The multiple units shown, Figure 6 The alignment mark search device shown is capable of performing all or part of the operations performed by the first module. It should be understood that the device may include more additional units than those shown, or omit some of the units shown; this application embodiment does not impose limitations in this regard. Figure 6 As shown, the device includes: The acquisition unit 601 is used to receive the first data stream transmitted by the second module. The first data stream is obtained by multiplexing multiple second data streams according to a reference granularity. Each second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is a positive integer. The acquisition unit 601 is also used to acquire a first data segment from a first position in the first data stream according to a reference granularity, wherein the first position is any position in the first data stream; Search unit 602 is used to perform AM search on the first data segment.
[0080] In one possible implementation, the acquisition unit 601 is used to demultiplex the first data stream from a first position according to a reference granularity to obtain a first data segment.
[0081] In one possible implementation, the acquisition unit 601 is used to acquire a first number of bits every first number of bits from a first position of a first data stream, and obtain a first data segment based on the acquired multiple sets of the first number of bits, wherein the first number is determined according to a reference granularity.
[0082] In one possible implementation, the search unit 602 is further configured to obtain a second data segment from a second position of the first data stream at a reference granularity based on the fact that no AM was found in the first data segment, the second position being different from the first position; and perform an AM search on the second data segment.
[0083] In one possible implementation, the second position is a position of a second number of bits after the first position, or the second position is a position of a third number of reference symbols after the first position; wherein the type of reference symbol is determined according to the modulation scheme corresponding to the second data stream, and the number of bits corresponding to the second number and the third number of reference symbols are different.
[0084] In one possible implementation, AM includes a CM field, which is used to perform an AM search on the first data segment.
[0085] In one possible implementation, the FEC codeword is the RS codeword.
[0086] The apparatus provided in this application embodiment is suitable for performing AM search on a first data stream. Since the first data stream in this apparatus is obtained by multiplexing multiple second data streams using the number of bits corresponding to the n symbols in the FEC codeword as the reference granularity, the number of symbols affected by a burst error is relatively small when a burst error occurs in the first data stream. If the first data stream is obtained by multiplexing multiple second data streams using bit multiplexing, and bit multiplexing multiple data streams is performed with a granularity of 1 bit, then a burst error will affect multiple symbols, resulting in a larger number of symbols affected by the burst error. Therefore, compared to performing AM search on a data stream obtained through bit multiplexing, this apparatus has a stronger tolerance for burst errors.
[0087] Figure 7 This is a schematic diagram of another alignment mark search device provided in an embodiment of this application. Based on Figure 7 The multiple units shown, Figure 7 The alignment mark search device shown is capable of performing all or part of the operations performed by the second module. It should be understood that this device may include more additional units than those shown, or may omit some of the units shown; this application embodiment does not impose limitations in this regard. Figure 7 As shown, the device includes: The acquisition unit 701 is used to acquire a first data stream, which is obtained by multiplexing multiple second data streams according to a reference granularity. Each second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is a positive integer. The transmission unit 702 is used to transmit a first data stream to the first module so that the first module can obtain a first data segment from a first position in the first data stream according to a reference granularity, wherein the first position is any position in the first data stream; and perform AM search on the first data segment.
[0088] In the apparatus provided in this application embodiment, the number of bits corresponding to the n symbols included in the FEC codeword is used as the reference granularity to multiplex multiple second data streams to obtain a first data stream. Therefore, when a burst error occurs in the first data stream, the number of symbols affected by the burst error is relatively small. If the method of multiplexing multiple second data streams to obtain the first data stream is used, since bit multiplexing multiple data streams is performed at a granularity of 1 bit, burst errors will affect multiple symbols, resulting in a larger number of symbols affected by burst errors. Therefore, the first data stream obtained by this apparatus has stronger resistance to burst errors compared to the data stream obtained by bit multiplexing.
[0089] It should be understood that the above Figure 6-7 The provided device, in implementing its functions, is only illustrated by the division of the above-described functional units. In practical applications, the functions can be assigned to different functional units as needed, that is, the internal structure of the device can be divided into different functional units to complete all or part of the functions described above. Furthermore, the device and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation processes are detailed in the method embodiments, and will not be repeated here.
[0090] See Figure 8 , Figure 8 This is a schematic diagram of the structure of a computer system provided in an embodiment of this application. Exemplarily, as shown... Figure 8 As shown, the computer system is a computer system 2000. The computer system 2000 can be a network device, which can be a routing device or a switching device. Figure 8 The computer system 2000 shown is used to perform the above. Figure 2 The operation involved in the first module or the operation involved in the second module in the alignment mark search method shown. The computer system 2000 is, for example, a server, and can be implemented using a general bus architecture.
[0091] like Figure 8 As shown, the computer system 2000 includes at least one processor 2001, a memory 2003, and at least one communication interface 2004.
[0092] Processor 2001 may be, for example, a central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), a neural-network processing unit (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits for implementing the solutions of this application. For example, processor 2001 includes application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof. It can implement or execute the various logic blocks, modules, and circuits described in connection with the embodiments of this application. A processor may also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0093] Optionally, the Computer System 2000 also includes a bus. The bus is used to transfer information between the various components of the Computer System 2000. The bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0094] Memory 2003 may be, for example, read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions; random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions; electrically erasable programmable read-only memory (EEPROM); compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.); magnetic disk storage media or other magnetic storage devices; or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. Memory 2003 may exist independently and be connected to processor 2001 via a bus. Memory 2003 may also be integrated with processor 2001.
[0095] The communication interface 2004 uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), or wireless local area networks (WLAN). The communication interface 2004 can include wired and wireless communication interfaces. Specifically, the communication interface 2004 can be an Ethernet interface, a Fast Ethernet (FE) interface, a Gigabit Ethernet (GE) interface, an Asynchronous Transfer Mode (ATM) interface, a WLAN interface, a cellular network communication interface, or a combination thereof. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. In this embodiment, the communication interface 2004 can be used by the computer system 2000 to communicate with other devices.
[0096] In a specific implementation, as one example, the processor 2001 may include one or more CPUs, such as... Figure 8 The CPU0 and CPU1 shown are examples of processors. Each of these processors can be a single-core processor or a multi-core processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0097] In a specific implementation, as one example, the computer system 2000 may include multiple processors, such as... Figure 8 The processors shown are 2001 and 2005. Each of these processors can be a single-core processor or a multi-core processor. Here, "processor" can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0098] In a specific implementation, as one embodiment, the computer system 2000 may further include output devices and input devices. The output devices communicate with the processor 2001 and can display information in various ways. For example, the output devices may be liquid crystal displays (LCDs), light-emitting diode (LED) displays, cathode ray tube (CRT) displays, or projectors, etc. The input devices communicate with the processor 2001 and can receive user input in various ways. For example, the input devices may be mice, keyboards, touchscreen devices, or sensing devices, etc.
[0099] In some embodiments, memory 2003 is used to store program code 2010 for executing the solution of this application, and processor 2001 can execute the program code 2010 stored in memory 2003. Program code 2010 may include one or more software modules. Optionally, processor 2001 itself may also store program code or instructions for executing the solution of this application.
[0100] In a specific embodiment, the computer system 2000 of this application embodiment may include the first module in the above-described method embodiments. The processor 2001 in the computer system 2000 reads the program code 2010 in the memory 2003 or the program code or instructions stored in the processor 2001 itself, causing... Figure 8 The computer system 2000 shown is capable of performing all or part of the operations performed by the first module.
[0101] In a specific embodiment, the computer system 2000 of this application embodiment may include the second module in the above-described method embodiments. The processor 2001 in the computer system 2000 reads the program code 2010 in the memory 2003 or the program code or instructions stored in the processor 2001 itself, and causes... Figure 8 The computer system 2000 shown is capable of performing all or part of the operations performed by the second module.
[0102] The computer system 2000 can also correspond to the above. Figure 6 ,7 The device shown, Figure 6 , 7 Each functional unit in the illustrated device is implemented using software from Computer System 2000. In other words, Figure 6 , 7 The device shown includes a functional unit generated by the processor 2001 of the computer system 2000 after reading the program code 2010 stored in the memory 2003.
[0103] in, Figure 2 The steps of the alignment mark search method shown are completed by integrated logic circuits in the hardware or by instructions in the software form of the processor of the computer system 2000. The steps of the method disclosed in the embodiments of this application can be directly implemented by the hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. Since the storage medium is located in memory, the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method; to avoid repetition, these will not be described in detail here.
[0104] Figure 9 This is a schematic diagram of another computer system provided in an embodiment of this application, which is used to perform the above-described... Figure 2 The operation involved in the first module or the operation involved in the second module in the alignment mark search method shown. Exemplarily, the computer system is a server, and servers can vary significantly due to different configurations or performance. The computer system may include one or more processors 901 and one or more memories 902, wherein the one or more memories 902 store at least one computer program, which is loaded and executed by the one or more processors 901. Exemplarily, the processor 901 is a CPU. Of course, the computer system may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input / output, and may also include other components for implementing device functions, which will not be elaborated here.
[0105] This application also provides a computer system, which includes a processor. The processor includes a first module or a second module. The processor is used to call and execute instructions stored in the memory. When the processor includes a first module, the computer system implements the alignment mark search method executed by the first module. When the processor includes a second module, the computer system implements the alignment mark search method executed by the second module.
[0106] In one possible implementation, the computer system further includes an input interface, an output interface, and the memory, wherein the input interface, the output interface, the processor, and the memory are connected via internal interconnection paths.
[0107] This application also provides a communication system, which includes a first module and a second module. The first module is used to execute... Figure 2 The first module shown executes the method, and the second module is used to execute... Figure 2 The method performed by the second module is shown above. The functions of the first and second modules of the communication system are described above. Figure 2 The relevant descriptions shown will not be repeated here.
[0108] This application also provides a communication device, comprising a transceiver, a memory, and a processor. The transceiver, the memory, and the processor communicate with each other via an internal connection path. The memory stores instructions, and the processor executes the instructions stored in the memory to control the transceiver to transmit and receive signals. The processor includes either a first module or a second module. When the processor includes a first module, when the processor executes the instructions stored in the memory, it causes the processor to execute an alignment flag search method executed by the first module. When the processor includes a second module, when the processor executes the instructions stored in the memory, it causes the processor to execute an alignment flag search method executed by the second module.
[0109] It should be understood that the aforementioned processor can be a CPU, or other general-purpose processors, DSPs, ASICs, FPGAs, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting the Advanced Reduced Instruction Set Computing (RISC) machine (ARM) architecture.
[0110] Furthermore, in an alternative embodiment, the memory described above may include read-only memory and random access memory, and provide instructions and data to the processor. The memory may also include non-volatile random access memory. For example, the memory may also store device type information.
[0111] The memory can be volatile or non-volatile, or may include both. Non-volatile memory can be ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be RAM, used as an external cache. Many forms of RAM are available by way of example, but not limitation. Examples include static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0112] This application also provides a computer-readable storage medium storing at least one program instruction or code, which is executed by a computer, the computer including a first module or a second module. When the computer includes a first module, the program instruction or code, when executed by the computer, causes the computer to implement a method for searching alignment marks executed by the first module. When the computer includes a second module, the program instruction or code, when executed by the computer, causes the computer to implement a method for searching alignment marks executed by the second module.
[0113] This application also provides a computer program product, comprising: computer program instructions or code, which are executed by a computer, the computer including a first module or a second module. When the computer includes a first module, when the computer program instructions or code are executed by the computer, the computer performs a method for searching alignment marks executed by the first module. When the computer includes a second module, when the computer program instructions or code are executed by the computer, the computer performs a method for searching alignment marks executed by the second module.
[0114] This application also provides a chip, including a processor, which includes a first module or a second module, for running program instructions or code. When the processor includes a first module, a device containing the chip executes a search method for alignment marks executed by the first module. When the processor includes a second module, a device containing the chip executes a search method for alignment marks executed by the second module.
[0115] For example, the chip also includes an input interface, an output interface, and a memory, which are connected to each other via internal interconnection paths. The memory contains program instructions or code.
[0116] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. 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 data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs, DVDs), or semiconductor media (e.g., solid-state disks, SSDs), etc.
[0117] In the above embodiments, the unit of transmission rate is Gb / s, which can also be abbreviated as G. For example, a rate of 400Gb / s can also be abbreviated as 400G.
[0118] To clearly illustrate the interchangeability of hardware and software, the steps and components of each embodiment have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0119] Computer program code used to implement the methods of the embodiments of this application may be written in one or more programming languages. This computer program code may be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable alignment mark search device, such that when executed by the computer or other programmable alignment mark search device, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a computer, partially on a computer, as a standalone software package, partially on a computer and partially on a remote computer, or entirely on a remote computer or server.
[0120] In the context of the embodiments of this application, computer program code or related data may be carried by any suitable 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, etc. Examples of signals may include electrical, optical, radio, sound, or other forms of propagation signals, such as carrier waves, infrared signals, etc.
[0121] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be found in the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0122] In the embodiments provided in this 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 merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be indirect couplings or communication connections through some interfaces, devices, or modules, or they may be electrical, mechanical, or other forms of connection.
[0123] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of the embodiments of this application, depending on actual needs.
[0124] Furthermore, the functional modules in the various embodiments of this 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 integrated modules described above can be implemented in hardware or as software functional modules.
[0125] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items that have substantially the same function and purpose. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor does it limit the quantity or 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 merely used to distinguish one element from another. For example, without departing from the scope of various examples, a first module may be referred to as a second module, and similarly, a second module may be referred to as a first module.
[0126] It should also be understood that, in the various embodiments of this application, the sequence number of each process does not imply 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 this application.
[0127] In this application, the term "at least one" means one or more, and the term "multiple" means two or more; for example, multiple code blocks refer to two or more code blocks. The terms "system" and "network" are often used interchangeably in this document.
[0128] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing the particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0129] It should also be understood that the term “comprising” (also referred to as “includes”, “including”, “comprises” and / or “comprising”) as used in this specification specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0130] It should also be understood that, depending on the context, the phrase “if it is determined that…” or “if [the stated condition or event] is detected” can be interpreted as “when it is determined that…” or “in response to determining that…” or “when [the stated condition or event] is detected” or “in response to detecting [the stated condition or event]”.
[0131] It should be understood that determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information.
[0132] It should also be understood that the phrases "an embodiment," "an embodiment," and "a possible implementation" used throughout the specification mean that a specific feature, structure, or characteristic related to an embodiment or implementation is included in at least one embodiment of this application. Therefore, the phrases "in an embodiment," "an embodiment," or "a possible implementation" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.
Claims
1. A method for multiplexing data streams, characterized in that, The method includes: Multiple second data streams are multiplexed according to a reference granularity to obtain a first data stream. Each of the multiple second data streams includes an alignment flag (AM) and data from at least one forward error correction (FEC) codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is 2^n. m , where m is a positive integer greater than or equal to 1, and one symbol of the FEC codeword consists of 10 bits; Transmit the first data stream.
2. The method according to claim 1, characterized in that, The value of n is 2, 4, 8, or 16.
3. The method according to claim 1 or 2, characterized in that, The multiplexing of multiple second data streams according to a reference granularity to obtain a first data stream includes: The first data stream is obtained by multiplexing eight second data streams from the eight physical coding sublayer PCS channels according to the reference granularity.
4. The method according to claim 1 or 2, characterized in that, The multiplexing of multiple second data streams according to a reference granularity to obtain a first data stream includes: The first data stream is obtained by multiplexing 16 second data streams from 16 PCS channels according to the reference granularity.
5. The method according to claim 3 or 4, characterized in that, The value of n is 2.
6. The method according to claim 1, characterized in that, The n is 4, and the multiplexing of multiple second data streams according to the reference granularity to obtain the first data stream includes: The two second data streams from the two PCS channels are multiplexed according to the reference granularity to obtain the first data stream.
7. The method according to any one of claims 1-6, characterized in that, Before multiplexing multiple second data streams according to a reference granularity to obtain a first data stream, the method further includes: Deskipate the multiple second data streams.
8. The method according to claim 7, characterized in that, The deskewing mentioned is incomplete deskewing.
9. The method according to any one of claims 1-8, characterized in that, The FEC codeword is the Reed-Solomon RS codeword.
10. A method for demultiplexing data streams, characterized in that, The method includes: A first data stream is received, which is obtained by multiplexing multiple second data streams according to a reference granularity. Each of the multiple second data streams includes an alignment flag (AM) and data from at least one forward error correction (FEC) codeword. The reference granularity is the number of bits corresponding to the n symbols included in the FEC codeword, where n is 2. m , where m is a positive integer greater than or equal to 1, and one symbol of the FEC codeword consists of 10 bits; The first data stream is demultiplexed according to the reference granularity to obtain the first data segment.
11. The method according to claim 10, characterized in that, The method further includes: Perform an AM search on the first data segment.
12. The method according to claim 10 or 11, characterized in that, The value of n is 2, 4, 8, or 16.
13. The method according to any one of claims 10-12, characterized in that, The step of demultiplexing the first data stream according to the reference granularity to obtain the first data segment includes: The first data stream is demultiplexed into eight physical coding sublayer (PCS) channels according to the reference granularity.
14. The method according to any one of claims 10-12, characterized in that, The step of demultiplexing the first data stream according to a reference granularity to obtain a first data segment includes: The first data stream is demultiplexed into 16 PCS channels according to the reference granularity.
15. The method according to claim 13 or 14, characterized in that, The value of n is 2.
16. The method according to claim 10, characterized in that, Where n is 4, the step of demultiplexing the first data stream according to the reference granularity to obtain the first data segment includes: The first data stream is demultiplexed into two PCS channels according to the reference granularity.
17. The method according to any one of claims 10-16, characterized in that, The FEC codeword is the Reed-Solomon RS codeword.
18. A data stream multiplexing device, characterized in that, The apparatus is used to perform the method as described in any one of claims 1-9.
19. A data stream demultiplexing device, characterized in that, The apparatus is used to perform the method as described in any one of claims 10-17.
20. A chip, characterized in that, The chip is used to perform the method as described in any one of claims 1-17.