Methods and sets of tools for locating alignment markers, systems, and computer-readable storage media.

TH2501004572APending Publication Date: 2026-08-31HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
TH2501004572
Authority / Receiving Office
TH · TH
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-05
Publication Date
2026-08-31

AI Technical Summary

Technical Problem

In an Ethernet interface where multiple channels are transmitted in parallel, the data stream is prone to skew, causing the sending end of the data stream to insert an alignment mark (AM) so that the receiving end can accurately obtain the data. However, during the bit multiplexing process Burst errors can affect multiple symbols and reduce the efficiency of the alignment mark search.

Method used

By multiplexing multiple data streams using the number of symbols included in the FEC codeword as the reference granularity, the number of symbols affected by burst errors in the acquired data stream is smaller, and a method and device are provided to search for alignment in the data stream. flags, including getting a data segment from any position in the data stream and retrying from a different position if the alignment flag is not searched to increase the search tolerance for alignment flags.

Benefits of technology

It improves the tolerance and efficiency of alignment mark search, reduces the impact of burst errors on symbols, and ensures accurate alignment of multi-channel transmission data streams.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000041_0000
    Figure 00000041_0000
  • Figure 00000041_0001
    Figure 00000041_0001
  • Figure 00000042_0000
    Figure 00000042_0000
Patent Text Reader

Abstract

Invention details;
Need to check novelty before this filing date? Find Prior Art

Description

Alignment mark search method, device, system and computer-readable storage medium

[0001] This application claims priority to Chinese patent application No. 202310032473.9 filed on January 10, 2023, entitled “Alignment mark search method, device, system and computer-readable storage medium,” the entire contents of which are incorporated herein by reference. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a method, device, system, and computer-readable storage medium for searching for an alignment mark. Background Art

[0003] With the development of communication technology, the speed of Ethernet interfaces continues to increase. Because the speed of Ethernet interfaces is much higher than the speed of a single channel connected to the Ethernet interface, using multiple channels to transmit the data stream sent by the Ethernet interface in parallel has become a way to achieve channel rate adaptation with the Ethernet interface rate.

[0004] Since data streams are prone to skew when transmitted through multiple channels, the data transmitter needs to insert an alignment marker (AM) into the data streams transmitted through multiple channels. This allows the data receiver to search for the AM and align the data streams transmitted through multiple channels based on the AM, thereby accurately acquiring the data.

[0005] Summary of the Invention

[0006] The present application proposes a method, device, system and computer-readable storage medium for searching an alignment mark, which are used to perform an AM search on a data stream.

[0007] In a first aspect, a method for searching an alignment mark is provided, the method comprising: 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, any 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 of 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 using the number of bits corresponding to the n symbols included in the FEC codeword as the reference granularity, when a burst error occurs in the first data stream, the number of symbols affected by the burst error is relatively small. If the first data stream is obtained by bit-multiplexing multiple second data streams, and bit-multiplexing multiplexes multiple data streams with a granularity of 1 bit, the burst error will affect multiple symbols, resulting in a large number of symbols affected by the burst error. Therefore, compared with performing AM search in the data stream obtained by bit-multiplexing, the method provided by this application has a stronger tolerance for burst errors.

[0009] In one possible implementation, obtaining a first data segment from a first position of a first data stream according to a reference granularity includes: demultiplexing the first data stream from the first position of the first data stream according to the reference granularity to obtain the first data segment. Thus, when the first position is a multiplexing boundary, the data included in the first data segment may come from the same second data stream, and an AM search may be subsequently performed on the first data segment. For example, an AM search may be performed on the first data segment based on an 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 of a first data stream according to a reference granularity includes: obtaining a first number of bits at intervals of a first number of bits from the first position of the first data stream, and obtaining a first data segment based on multiple groups of the obtained first number of bits, wherein the first number is determined according to the reference granularity. Compared with the method of obtaining the first data segment by demultiplexing, this implementation does not require demultiplexing the first data stream, and the first data segment can be obtained by directly obtaining bits from the first data stream according to the first number of intervals, thereby improving the efficiency of obtaining the first data segment. Furthermore, in this method, the first data segment can be obtained by demultiplexing or by directly obtaining bits from the first data stream, and the method of obtaining the first data segment is more flexible.

[0011] In one possible implementation, the method further includes: based on the failure to search for AM in the first data segment, obtaining a second data segment from a second position in the first data stream at a reference granularity, and performing an AM search on the second data segment, wherein the second position is different from the first position. In other words, if the AM cannot be found in the first data segment, it means that the first position is not a multiplexing boundary. In this case, the second data segment can be obtained from another position in the first data stream, namely the second position, and the AM search can be performed in the second data segment.

[0012] In one possible implementation, the second position is a position that is a second number of bits after the first position, or a position that is a third number of reference symbols after the first position. The type of the reference symbol is determined based on the modulation scheme corresponding to the second data stream, and the second and third number of reference symbols correspond to different numbers of bits. The method for determining the second position is relatively flexible.

[0013] In one possible implementation, the AM includes a common marker (CM) field, and the CM field is used to perform an AM search 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 the AM is found, thereby improving the efficiency of the AM search.

[0014] In one possible implementation, the FEC codeword is a Reed-Solomon (RS) codeword.

[0015] In a second aspect, a method for searching an alignment mark is provided, the method comprising: a second module acquires a first data stream, the first data stream being obtained by multiplexing multiple second data streams according to a reference granularity, any second data stream including AM and data from at least one 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 second module transmits the first data stream to the first module, so that the first module acquires a first data segment from a first position of 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 included in the FEC codeword is used as the reference granularity to multiplex multiple second data streams to obtain the first data stream. As a result, when burst errors occur in the first data stream, the number of symbols affected by the burst errors is relatively small. If the first data stream is obtained by bit-multiplexing the multiple second data streams, because bit multiplexing multiples the 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 data streams obtained using bit multiplexing, the first data stream obtained by this method is more tolerant to burst errors.

[0017] In a third aspect, a device for searching for an alignment mark is provided. The device is applied to the first module and includes:

[0018] an acquisition unit, configured to receive a first data stream transmitted by the second module, where the first data stream is obtained by multiplexing multiple second data streams according to a reference granularity, where any second data stream includes AM and data from at least one FEC codeword, and the reference granularity is the number of bits corresponding to n symbols included in the FEC codeword, where n is a positive integer;

[0019] The acquiring unit is further configured to acquire a first data segment from a first position of the first data stream according to a reference granularity, where the first position is any position in the first data stream;

[0020] The search unit is configured to perform an AM search on the first data segment.

[0021] In a possible implementation, the acquiring unit is configured to demultiplex the first data stream from a first position of the first data stream according to a reference granularity to obtain a first data segment.

[0022] In one possible implementation, the acquisition unit is configured to acquire a first number of bits from a first position of a first data stream at intervals of a first number of bits, and obtain a first data segment based on the acquired multiple groups of the first number of bits, where the first number is determined according to a reference granularity.

[0023] In one possible implementation, the search unit is further used to obtain a second data segment from a second position of the first data stream according to a reference granularity based on the fact that AM is not found in the first data segment, where the second position is different from the first position; and perform an AM search on the second data segment.

[0024] In one possible implementation, the second position is a position that is a second number of bits after the first position, or the second position is a position that is a third number of reference symbols after the first position; wherein the type of the reference symbol is determined according to the modulation mode 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.

[0025] In a possible implementation, the AM includes a CM field, and the CM field is used to perform an AM search on the first data segment.

[0026] In one possible implementation, the FEC codeword is a RS codeword.

[0027] In a fourth aspect, a device for searching for an alignment mark is provided. The device is applied to the second module and includes:

[0028] an acquisition unit, configured to acquire a first data stream, the first data stream being obtained by multiplexing a plurality of second data streams according to a reference granularity, wherein any second data stream includes AM and data from at least one FEC codeword, and the reference granularity is the number of bits corresponding to n symbols included in the FEC codeword, where n is a positive integer;

[0029] The transmission unit is used to transmit the first data stream to the first module so that the first module obtains the first data segment from the first position of the first data stream according to the reference granularity, and the first position is any position in the first data stream; and performs AM search on the first data segment.

[0030] In a fifth aspect, a communication system is provided, which includes a first module and a second module, wherein the first module is used to execute any alignment mark search method in the first aspect, and the second module is used to execute the alignment mark search method in the second aspect.

[0031] In a sixth aspect, a computer system is provided. The computer system includes a processor, and the processor includes a first module or a second module. When the processor includes the first module, when the processor executes program instructions or code, the computer system implements any alignment mark search method described in the first aspect. When the processor includes the second module, when the processor executes program instructions or code, the computer system implements the alignment mark search method described in the second aspect. Exemplarily, the computer system also includes a memory for storing the program instructions or code.

[0032] In the seventh aspect, a computer-readable storage medium is provided, in which at least one program instruction or code is stored, and the program instruction or code is executed by a computer, and the computer includes a first module or a second module; in the case where the computer includes the first module, when the program instruction or code is executed by the computer, the computer implements any alignment mark search method in the first aspect; in the case where the computer includes the second module, when the program instruction or code is executed by the computer, the computer implements the alignment mark search method in the second aspect.

[0033] In an eighth aspect, a communication device is provided, 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 is used to store instructions; the processor is used to execute instructions stored in the memory to control the transceiver to transmit and receive signals; and the processor comprises a first module or a second module. In the case where the processor comprises the first module, when the processor executes the instructions stored in the memory, the processor executes any one of the alignment mark search methods in the first aspect. In the case where the processor comprises the second module, when the processor executes the instructions stored in the memory, the processor executes the alignment mark search method in the second aspect.

[0034] Illustratively, there are one or more processors and one or more memories.

[0035] For example, the memory may be integrated with the processor, or the memory may be provided separately from the processor.

[0036] In the specific implementation process, the memory can be a non-transitory memory, such as a read-only memory (ROM), which can be integrated on the same chip as the processor or be set on different chips. This application does not limit the type of memory and the setting method of the memory and the processor.

[0037] In the ninth aspect, a computer program product is provided, comprising: computer program instructions or codes, the computer program instructions or codes being executed by a computer, the computer comprising a first module or a second module; in the case where the computer comprises the first module, when the computer program instructions or codes are executed by the computer, the computer executes any one of the alignment mark search methods in the first aspect; in the case where the computer comprises the second module, when the computer program instructions or codes are executed by the computer, the computer implements the alignment mark search method in the second aspect.

[0038] In the tenth aspect, a chip is provided, which includes a processor, the processor includes a first module or a second module, and the processor is used to run program instructions or codes. When the processor includes the first module, the device including the chip executes any alignment mark search method in the first aspect; when the processor includes the second module, the device including the chip executes the alignment mark search method in the second aspect.

[0039] Exemplarily, the chip further includes: an input interface, an output interface, and a memory. The input interface, the output interface, the processor, and the memory are connected via an internal connection path. The memory is used to store program instructions or codes.

[0040] It should be understood that the beneficial effects achieved by the technical solutions of the third to tenth aspects of this application and their corresponding possible implementation methods can be referred to the technical effects of the above-mentioned first and second aspects and their corresponding possible implementation methods, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] FIG1 is a schematic diagram of an implementation scenario of a method for searching for an alignment mark provided in an embodiment of the present application;

[0042] FIG2 is a flow chart of a method for searching for an alignment mark provided in an embodiment of the present application;

[0043] FIG3 is a schematic diagram of multiplexing a second data stream to obtain a first data stream provided by an embodiment of the present application;

[0044] FIG4 is a schematic diagram of a first position provided in an embodiment of the present application;

[0045] FIG5 is a schematic diagram of obtaining multiple groups of a first number of bits provided by an embodiment of the present application;

[0046] FIG6 is a schematic structural diagram of an alignment mark search device provided in an embodiment of the present application;

[0047] FIG7 is a schematic structural diagram of another alignment mark search device provided in an embodiment of the present application;

[0048] FIG8 is a schematic diagram of the structure of a computer system provided in an embodiment of the present application;

[0049] FIG9 is a schematic diagram of the structure of another computer system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0050] The terms used in the embodiments of the present application are only used to explain the embodiments of the present application and are not intended to limit the present application. The embodiments of the present application are described below in conjunction with the accompanying drawings.

[0051] With the development of communication technology, the rate of Ethernet interfaces may increase faster than the rate of the individual channels connected to them. For example, a 10 Gigabit Ethernet (GE) interface is connected to a single 10 Gigabit per second (Gbps) lane, a 100GE interface is connected to four 25Gbps lanes, and a 400GE interface is connected to 16 25Gbps lanes or eight 50Gbps lanes. These lanes may be physical coding sublayer (PCS) lanes. Therefore, when the rate of the Ethernet interface increases from 10GE to 400GE, the rate of a single lane only increases from 10Gbps to 25Gbps or 50Gbps. In this case, the data stream sent by the Ethernet interface can be transmitted by transmitting data streams in parallel through multiple channels. When the Ethernet interface is connected by multiple channels, the multiple channels can transmit data streams in parallel.

[0052] Because data streams transmitted in parallel over multiple channels may have different skews across different channels, the transmitting end of the data stream inserts AMs into the data streams transmitted over multiple channels. The receiving end of the data stream searches for the AMs in the data streams received from the multiple channels and obtains the locations of the inserted AMs in the data streams transmitted by each channel. After obtaining the locations of the AMs, the receiving end of the data stream aligns the data streams transmitted over the multiple channels based on the AM locations (including alignment lock and deskew), and then decodes the data streams transmitted from the transmitting end to the receiving end over the multiple channels. The AM content remains unchanged during transmission, but its specific bit sequence in the data stream may be disrupted due to processes such as bit multiplexing and symbol multiplexing. This bit sequence is also called a bit pattern.

[0053] When transmitting data streams over a physical link, the rate of the physical link used to transmit the data stream can be higher than the rate of the PCS channel. For example, if the rate of a single PCS channel is 25Gbps, the rate of the physical link used to transmit the data stream can be 50Gbps or 100Gbps. In this case, when transmitting the data stream of the PCS channel over the physical link, the data streams transmitted by multiple PCS channels need to be aggregated and then transmitted over the physical link. At the data stream receiving end, the data stream transmitted by the PCS channel is obtained based on the aggregated data stream, and then an AM search can be performed on the data stream transmitted by the PCS channel.

[0054] The embodiment of the present application proposes a method for searching for an alignment mark, which is suitable for performing an AM search on the converged data stream. Figure 1 is a schematic diagram of an implementation scenario of a method for searching for an alignment mark provided by an embodiment of the present application. Referring to Figure 1, the implementation scenario includes a first module 101 and a second module 102, and the first module 101 and the second module 102 are communicatively connected. For example, the first module 101 and the second module 102 are communicatively connected via 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. The first module 101 and the second module 102 may also be included in the same device. Among them, the device where any one or more of the first module 101 and the second module 102 are located may be a network device, or may be other devices including an Ethernet interface or complying with the IEEE 802.3 standard. In addition, the implementation scenario shown in Figure 1 may also include other modules, which are not limited in the embodiment of the present application.

[0055] The alignment mark search method provided by the embodiment of the present application can be shown in Figure 2. Next, the alignment mark search method provided by the embodiment of the present application is described in conjunction with the implementation scenario shown in Figure 1. As shown in Figure 2, the method includes but is not limited to S201 and S202.

[0056] S201, the second module obtains the first data stream, which is obtained by multiplexing multiple second data streams according to the reference granularity. Any second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to n symbols included in the FEC codeword, where n is a positive integer.

[0057] When the second module multiplexes the plurality of second data streams to obtain the first data stream, the multiplexing is performed based on the number of bits corresponding to one or more symbols of the FEC codeword as a reference granularity, 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 is 2, or 4, or 8, or 16. The FEC codeword may be a Reed-Solomon (RS) codeword. In this embodiment of the present 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, the second data stream includes data from two FEC codewords, that is, the number of FEC codewords corresponding to the second data stream is 2. In this case, n is greater than or equal to 2.

[0058] For example, for any of the multiple second data streams, the AM included in the second data stream corresponds to the channel transmitting the second data stream. For example, if each of the second data streams is transmitted via a PCS channel, the AM included in each second data stream corresponds to the sequence number of the PCS channel transmitting the second data stream. If 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 transmitting the second data stream can be shown in Table 1.

[0059] Table 1

[0060] As shown in Table 1, the eight PCS lanes are numbered 0-7, PCS Lane 0 through PCS Lane 7. The AM corresponding to each PCS lane includes the CM field, the unique marker (UM) field, and the unique pad (UP) field. The values ​​of CM0 to CM5 in the AM corresponding to each PCS lane 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 lane uniquely correspond to each PCS lane. The values ​​of UP0 to UP2 also uniquely correspond to each PCS lane. For example, the values ​​of UM0 for the AMs in PCS channels 0-7 are 0xB3, 0x5A, 0x3E, 0x86, 0x2A, 0x12, 0x42, and 0xD6, respectively; and the values ​​of UP0 for the AMs in PCS channels 0-7 are 0x05, 0x04, 0x46, 0x5A, 0xE1, 0xF2, 0x3D, and 0x22, respectively. For example, the values ​​of UP0 through UP2 are padding data unrelated to the AM locking mechanism. Table 1 above is intended to illustrate the correspondence between PCS channels and AMs and the contents of AMs, and is not intended to limit the numbering of PCS channels.

[0061] In the case where 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 may be as shown in Table 2 and Table 3.

[0062] Table 2

[0063] Table 3

[0064] As shown in Tables 2 and 3, the 16 PCS channels are numbered 0-15, PCS Channel 0 through PCS Channel 15. The correspondence between PCS channels and AMs is identical to that shown in Table 1 and is not further explained here. Furthermore, Tables 2 and 3 are intended to illustrate the correspondence between PCS channels and AMs and the contents of AMs, and are not intended to limit the numbering of PCS channels.

[0065] In conjunction with the contents of Tables 1 to 3 above, CM0 to CM5, UM0 to UM5, and UP0 to UP2 can each include 8 bits, so that an AM can include 120 bits. 120 bits can come from multiple FEC codewords. For example, when the symbol size of the FEC codeword includes 10 bits, the 120-bit AM can be allocated to multiple FEC codewords in units of 10 bits. Of course, the AM can also include other bits in addition to 120 bits. For example, the AM can also include padding (pad or padding), which is used to adjust the number of bits included in the AM to a specified number. The embodiment of the present application does not limit the number of bits included in the AM.

[0066] It should be noted that the eight groups of AMs shown in Table 1 above are specific to 200GE interfaces. If interfaces with other rates are used, different AMs may be used. For design convenience, for multiple PCS channels connected to any interface, the CM field in the AM corresponding to each PCS channel can be the same, such as in Tables 1 to 3, but the UMs can be different. Furthermore, Tables 2 and 3 are specific to 400GE interfaces. If interfaces with other rates use 16 channels, the AMs can be different. Tables 1 to 3 above are merely examples and do not limit the various situations in which the correspondence between AMs and PCS channels is applicable to this application. Furthermore, 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 rates, the AMs may differ from those in Tables 1 to 3; for example, the AM may not include the UP field.

[0067] FIG3 is a schematic diagram of a method for multiplexing a second data stream to obtain a first data stream, as provided in an embodiment of the present application. As shown in FIG3 , two second data streams are transmitted by PCS channel 0 and PCS channel 1, respectively. Both second data streams include AM and a data portion from an FEC codeword. The AM used when transmitting the second data stream in PCS channel 0 is AM0, and the AM used when transmitting the second data stream in PCS channel 1 is AM1. Taking the example of an FEC codeword symbol consisting of 10 bits, n equals 4, and a reference granularity of 40 bits, AM0 and AM1 are both divided into three parts for multiplexing. 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.

[0068] For example, in an embodiment of the present application, when multiplexing multiple second data streams, the multiple second data streams are first deskewed, and then the multiple de-skewed second data streams are multiplexed. When de-skewing multiple second data streams, it is not necessary to fully deskew the multiple second data streams, that is, it is not necessary to fully align the multiple second data streams according to the AMs in the multiple second data streams. It is sufficient to de-skew the multiple second data streams to the reference granularity for multiplexing. That is, the AM of one second data stream can be aligned with the data portion of another, and the multiple second data streams can be multiplexed according to the reference granularity. As shown in Figure 3, AM1 is aligned with the data portion of the second data stream transmitted by PCS channel 0, but not aligned with AM0.

[0069] S202: The second module transmits a first data stream to the first module.

[0070] This embodiment of the present application does not limit the manner in which the second module transmits the first data stream to the first module. For example, the second module transmits 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 is 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 is not further described here.

[0071] In the method provided in the embodiments of the present application, 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 the first data stream. As a result, when burst errors occur in the first data stream, the number of symbols affected by the burst errors is relatively small. If the first data stream is obtained by bit-multiplexing the multiple second data streams, because bit multiplexing multiplexes the 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 greater tolerance to burst errors.

[0072] The above describes the alignment mark search method provided by the embodiment of the present application using the second module side as an example. Next, the method is described using the first module side as an example. As shown in FIG2 , the method includes but is not limited to S203 to S205 .

[0073] S203: The first module receives the first data stream transmitted by the second module.

[0074] The embodiments of the present application do not limit the manner in which the first module receives the first data stream transmitted by the second module; the manner in which the second module transmits the first data stream to the first module is consistent. The first data stream is obtained by multiplexing multiple second data streams according to a reference granularity, where any second data stream includes AM and data from at least one FEC codeword. The reference granularity is the number of bits corresponding to n symbols included in the FEC codeword, where n is a positive integer.

[0075] S204: The first module obtains a first data segment from a first position of the first data stream according to a reference granularity, where the first position is any position in the first data stream.

[0076] In a possible implementation, the first module uses the following method 1 or method 2 to execute an operation of acquiring the first data segment from the first position of the first data stream according to the reference granularity.

[0077] Method 1: Demultiplexing the first data stream from the first position of the first data stream according to the reference granularity to obtain a first data segment.

[0078] In this first approach, the first module can perform demultiplexing of the first data stream at the same granularity based on the reference granularity used for multiplexing, starting from any position in the first data stream. Thus, when the first position is a boundary for multiplexing, the data included in the first data segment can come from the same second data stream.

[0079] Figure 4 is a schematic diagram of a first position provided by an embodiment of the present application. Referring to Figure 4 , if the first position is position A or position B in the first data stream, since positions A and B are not multiplexing boundaries, the resulting first data segment will include data from both the second data stream transmitted by PCS channel 0 and the second data stream transmitted by PCS channel 1. In other words, the data included 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 a multiplexing boundary, the resulting first data segment will only include data from the second data stream transmitted by PCS channel 0 or only include data from the second data stream transmitted by PCS channel 1. In other words, the data included in the first data segment comes from the same second data stream. In this embodiment of the present application, after the first data segment is obtained by demultiplexing the first data stream, an AM search can be subsequently performed on the first data segment. For example, an AM search can be performed on the first data segment based on the AM search method specified in the IEEE 802.3 standard.

[0080] Method 2: obtaining a first number of bits from a first position of a first data stream at intervals of a first number of bits, and obtaining a first data segment based on the obtained multiple groups of the first number of bits, where the first number is determined according to a reference granularity.

[0081] Compared to the method of obtaining the first data segment through demultiplexing in method 1, method 2 does not demultiplex the first data stream, and directly obtains bits from the first data stream at a first number interval to obtain the first data segment, which is more efficient in obtaining the first data segment. In an embodiment of the present application, the first number is equal to the number of bits corresponding to the reference granularity. For example, when the symbol of the FEC codeword includes 10 bits, continuous n*10 bits are obtained from the first data stream every n*10 consecutive bits, and then the first data segment is obtained based on the obtained multiple groups of n*10 bits.

[0082] FIG5 is a schematic diagram of obtaining multiple groups of a first number of bits. Referring to FIG5 , if the first module uses position D as the first position, the first module will obtain the first number of bits every first number of bits in the first data stream starting from position D. If the first module uses position E as the first position, the first module will obtain the first number of bits every first number of bits in the first data stream starting from position E. Position E is the position that is one bit after position D.

[0083] S205: The first module performs an AM search on the first data segment.

[0084] Exemplarily, the CM field included in the AM is used to perform an AM search on the first data segment, thereby requiring less data to perform the AM search and improving AM search efficiency. The CM field may include CM0 to CM5 as described in Tables 1 to 3 above. In an embodiment of the present application, for any second data stream, the AM corresponding to the PCS channel transmitting the second data stream may be intermittently inserted into the second data stream. When performing an AM search based on the CM field, if the CM field is found, the AM is considered to have been found. In an embodiment of the present application, for any second data stream, the AM corresponding to the PCS channel transmitting the second data stream may be repeatedly inserted into the 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 AM insertion, it is considered that the AM has been found p times consecutively in the first data segment at the reference interval for AM insertion, and AM lock is successful. p may be a positive integer greater than or equal to 2. The embodiment of the present application does not limit the method for searching the CM field. For example, each CM field includes 2 nibbles, and CM0 to CM5 include a total of 12 nibbles. If 9 nibbles out of the 12 nibbles can be searched in the first data segment, it is determined that the CM field has been searched.

[0085] In a possible implementation, the first module may also perform an AM search on the first data segment based on multiple fields of AM. For example, the first module may perform an AM search on the first data segment based on the CM field and the UM field of AM. That is, the first module may also search the UM field on the basis of searching the CM field. Thus, if both the CM field and the UM field are searched in the first data segment, it is considered that AM is searched in the first data segment. The embodiment of the present application does not limit the method of searching the UM field. For example, each UM field includes 2 nibbles, and UM0 to UM5 include a total of 12 nibbles. If 9 nibbles out of the 12 nibbles can be searched in the first data segment, it is determined that the UM field is searched.

[0086] In a possible implementation, the method further includes: based on the fact that AM is not searched in the first data segment, obtaining 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 performing an AM search on the second data segment. That is, if AM cannot be searched in the first data segment, it means that the first position is not a 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 in the second data segment. The content of the AM search in the second data segment is the same as the content principle of S205 above, and will not be repeated here. For example, if AM is still not searched after a reference length of bits, it is determined that AM is not searched 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 insertion interval of AM.

[0087] The second position may be a position located a second number of bits after the first position, or the second position may be a position located a third number of reference symbols after the first position; wherein the type of the reference symbol is determined according to the modulation mode 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. The modulation mode corresponding to the second data stream may be four-level pulse amplitude modulation (PAM4), so that the reference symbol may be a PAM4 symbol. Alternatively, the modulation mode corresponding to the second data stream may be three-level pulse amplitude modulation (PAM3), so that the reference symbol may be a PAM3 symbol. Alternatively, the modulation mode corresponding to the second data stream may be five-level pulse amplitude modulation (PAM5), so that the reference symbol may be a PAM5 symbol. The modulation mode corresponding to the second data stream may also be six-level pulse amplitude modulation (PAM6), so that the reference symbol may be a PAM6 symbol. Alternatively, the modulation mode corresponding to the second data stream may be eight-level pulse amplitude modulation (PAM8), so that the reference symbol may be a PAM8 symbol. Alternatively, the modulation mode corresponding to the second data stream is 16-level pulse amplitude modulation (PAM16), so that the reference symbol can be a PAM16 symbol. Alternatively, the modulation mode corresponding to the second data stream is quadrature amplitude modulation (QAM), so that the reference symbol can be a QAM symbol.

[0088] For example, if AM is not found in the second data segment, the first module may continue to change the position, obtain the data segment from the changed position in the first data stream, and search for AM in the obtained data segment. The first module repeatedly performs the process of changing the position, obtaining the data segment, and searching for AM in the data segment until AM is found in the data segment.

[0089] Because the multiplexing granularity is fixed, the multiplexing boundaries occur periodically. Therefore, when changing positions, the position can be one bit after position A or x*n*10bit+1 bit. Here, x is a positive integer greater than or equal to 1. For example, as shown in Figure 4, if position A is the first position and the first module does not find AM in the first data segment, position B, which is one bit after position A, can be used as the second position, and the second data segment can be obtained. An AM search can be performed on the obtained second data segment. If the first module does not find AM in the second data segment, position C, which is one bit after position B, can be used as the third position. A third data segment can be obtained from position C of the first data stream according to the reference granularity, and an AM search can be performed on the third data segment. For another example, as shown in Figure 5, if position D is the first position and the first module does not find AM in the first data segment, position E, which is one bit after position D, can be used as the second position, and the second data segment can be obtained. An AM search can be performed on the obtained second data segment.

[0090] Furthermore, in the case of obtaining the first data segment through demultiplexing, if multiple first data segments are obtained, an AM search can be performed on each first data segment. If the AM lock of any first data segment among the multiple first data segments fails, it is determined that the first position is not the boundary for multiplexing, and the first module executes the operation of obtaining the second data segment from the second position of the first data stream according to the reference granularity and performing an AM search on the second data segment.

[0091] The method provided in the embodiment of the present application is applicable to performing AM search on the first data stream. Since 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 included in the FEC codeword as the reference granularity, when a burst error occurs in the first data stream, the number of symbols affected by the burst error is relatively small. If the first data stream is obtained by bit-multiplexing multiple second data streams, and bit multiplexing multiple data streams with a granularity of 1 bit, the burst error will affect multiple symbols, resulting in a large number of symbols affected by the burst error. Therefore, compared with performing AM search in the data stream obtained by bit multiplexing, the method provided in the embodiment of the present application has a stronger tolerance for burst errors.

[0092] The present application also provides an alignment mark search device. FIG6 is a schematic diagram of the structure of an alignment mark search device provided in an embodiment of the present application. Based on the multiple units shown in FIG6 , the alignment mark search device shown in FIG6 can perform all or part of the operations performed by the first module. It should be understood that the device may include more additional units than the units shown or omit some of the units shown therein, and the present application is not limited to this. As shown in FIG6 , the device includes:

[0093] An acquiring unit 601 is configured to receive a first data stream transmitted by a second module, where the first data stream is obtained by multiplexing multiple second data streams according to a reference granularity, where any second data stream includes AM and data from at least one FEC codeword, and the reference granularity is the number of bits corresponding to n symbols included in the FEC codeword, where n is a positive integer.

[0094] The acquiring unit 601 is further configured to acquire a first data segment from a first position of the first data stream according to a reference granularity, where the first position is any position in the first data stream;

[0095] The search unit 602 is configured to perform an AM search on the first data segment.

[0096] In a possible implementation, the acquiring unit 601 is configured to demultiplex the first data stream from a first position of the first data stream according to a reference granularity to obtain a first data segment.

[0097] In one possible implementation, the acquisition unit 601 is used to acquire a first number of bits from a first position of a first data stream every first number of bits, and obtain a first data segment based on multiple groups of the acquired first number of bits, where the first number is determined according to a reference granularity.

[0098] In one possible implementation, the search unit 602 is further used to obtain a second data segment from a second position of the first data stream according to a reference granularity based on the fact that AM is not found in the first data segment, where the second position is different from the first position; and perform an AM search on the second data segment.

[0099] In one possible implementation, the second position is a position that is a second number of bits after the first position, or the second position is a position that is a third number of reference symbols after the first position; wherein the type of the reference symbol is determined according to the modulation mode 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.

[0100] In a possible implementation, the AM includes a CM field, and the CM field is used to perform an AM search on the first data segment.

[0101] In one possible implementation, the FEC codeword is a RS codeword.

[0102] The device provided in the embodiment of the present application is suitable for performing AM search on a first data stream. Since the first data stream in the device is obtained by multiplexing multiple second data streams with the number of bits corresponding to the n symbols included in the FEC codeword as the reference granularity, when a burst error occurs in the first data stream, the number of symbols affected by the burst error is relatively small. If the first data stream is obtained by bit-multiplexing multiple second data streams, and bit multiplexing multiple data streams with a granularity of 1 bit, the burst error will affect multiple symbols, resulting in a large number of symbols affected by the burst error. Therefore, compared with performing AM search on the data stream obtained by bit multiplexing, the device has a stronger tolerance for burst errors.

[0103] FIG7 is a schematic diagram of the structure of another alignment mark search device provided in an embodiment of the present application. Based on the multiple units shown in FIG7 , the alignment mark search device shown in FIG7 can perform all or part of the operations performed by the second module. It should be understood that the device may include more additional units than the units shown or omit some of the units shown, and the embodiment of the present application is not limited to this. As shown in FIG7 , the device includes:

[0104] An acquiring unit 701 is configured to acquire a first data stream, where the first data stream is obtained by multiplexing multiple second data streams according to a reference granularity, where any second data stream includes AM and data from at least one FEC codeword, and the reference granularity is the number of bits corresponding to n symbols included in the FEC codeword, where n is a positive integer.

[0105] The transmission unit 702 is used to transmit the first data stream to the first module so that the first module obtains the first data segment from the first position of the first data stream according to the reference granularity, and the first position is any position in the first data stream; and performs AM search on the first data segment.

[0106] In the apparatus provided in the embodiments of the present application, the number of bits corresponding to the n symbols included in the FEC codeword is used as a reference granularity to multiplex multiple second data streams to obtain a first data stream. Thus, when burst errors occur in the first data stream, the number of symbols affected by the burst errors is relatively small. If the first data stream is obtained by bit-multiplexing the multiple second data streams, since bit-multiplexing multiples the 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. Consequently, the first data stream obtained by this apparatus is more resistant to burst errors than a data stream obtained by bit-multiplexing.

[0107] It should be understood that the devices provided in Figures 6-7 above are merely examples of the division of the functional units described above when implementing their functions. In actual applications, the functions described above 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. In addition, the devices and method embodiments provided in the above embodiments are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0108] Referring to FIG. 8 , FIG. 8 is a schematic diagram of the structure of a computer system provided in an embodiment of the present application. For example, as shown in FIG. 8 , the computer system is computer system 2000. Computer system 2000 may be a network device, such as a routing device or a switching device. Computer system 2000 shown in FIG. 8 is used to perform the operations involved in the first module or the operations involved in the second module of the alignment mark search method shown in FIG. 2 . Computer system 2000 is, for example, a server, and may be implemented using a general bus architecture.

[0109] As shown in FIG. 8 , a computer system 2000 includes at least one processor 2001 , a memory 2003 , and at least one communication interface 2004 .

[0110] The processor 2001 is, 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 solution of the present application. For example, the processor 2001 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or other programmable logic devices, a transistor logic device, a hardware component, or any combination thereof. The PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. It can implement or execute the various logic blocks, modules, and circuits described in conjunction with the disclosure of the embodiments of the present application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.

[0111] Optionally, computer system 2000 also includes a bus. The bus is used to transmit information between the components of computer system 2000. The bus may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, for example. Buses can be classified as address buses, data buses, control buses, etc. For ease of illustration, FIG8 shows only one thick line, but this does not mean that there is only one bus or only one type of bus.

[0112] The memory 2003 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, or a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 2003 is, for example, independent and connected to the processor 2001 via a bus. The memory 2003 can also be integrated with the processor 2001.

[0113] The communication interface 2004 uses any transceiver-like device to communicate with other devices or communication networks. The communication network can be Ethernet, a radio access network (RAN), or a wireless local area network (WLAN). The communication interface 2004 can include a wired communication interface or a wireless communication interface. 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 the embodiment of the present application, the communication interface 2004 can be used for the computer system 2000 to communicate with other devices.

[0114] In a specific implementation, as an embodiment, the processor 2001 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG8 . Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0115] In a specific implementation, as an embodiment, the computer system 2000 may include multiple processors, such as processor 2001 and processor 2005 shown in FIG8 . Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). A processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (such as computer program instructions).

[0116] In a specific implementation, as an embodiment, the computer system 2000 may further include an output device and an input device. The output device communicates with the processor 2001 and can display information in a variety of ways. For example, the output device can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device communicates with the processor 2001 and can receive user input in a variety of ways. For example, the input device can be a mouse, a keyboard, a touch screen device, or a sensor device.

[0117] In some embodiments, the memory 2003 is used to store program code 2010 for executing the solution of the present application, and the processor 2001 can execute the program code 2010 stored in the memory 2003. The program code 2010 may include one or more software modules. Optionally, the processor 2001 itself may also store program code or instructions for executing the solution of the present application.

[0118] In a specific embodiment, the computer system 2000 of the embodiment of the present application may include the first module in the above-mentioned each method embodiment, and 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, so that the computer system 2000 shown in Figure 8 can execute all or part of the operations performed by the first module.

[0119] In a specific embodiment, the computer system 2000 of the embodiment of the present application may include the second module in the above-mentioned method embodiments, and 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, so that the computer system 2000 shown in Figure 8 can execute all or part of the operations performed by the second module.

[0120] The computer system 2000 may also correspond to the apparatus shown in Figures 6 and 7 above, with each functional unit in the apparatus shown in Figures 6 and 7 being implemented using software of the computer system 2000. In other words, the functional units included in the apparatus shown in Figures 6 and 7 are generated by the processor 2001 of the computer system 2000 after reading the program code 2010 stored in the memory 2003.

[0121] Among them, each step of the search method for the alignment mark shown in Figure 2 is completed by the hardware integrated logic circuit or software instructions in the processor of the computer system 2000. The steps of the method disclosed in conjunction with the embodiment of the present application can be directly embodied as being executed by a hardware processor, or can be executed by a combination of hardware and software modules in the processor. The software module can be located in a mature storage medium in the art such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, it will not be described in detail here.

[0122] Figure 9 is a schematic diagram of the structure of another computer system provided in an embodiment of the present application, which is used to perform the operations involved in the first module or the operations involved in the second module in the search method for the alignment mark shown in Figure 2 above. Exemplarily, the computer system is a server, and the server may have relatively large differences 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, and the at least one computer program 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 components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output. The computer system may also include other components for realizing device functions, which will not be described here.

[0123] An embodiment of the present application also provides a computer system, which includes a processor, the processor includes a first module or a second module, and the processor is used to call and execute instructions stored in the memory from the memory; when the processor includes the first module, the computer system implements the alignment mark search method executed by the above-mentioned first module, and when the processor includes the second module, the computer system implements the alignment mark search method executed by the above-mentioned second module.

[0124] In a possible implementation, the computer system further includes: an input interface, an output interface, and the memory, and the input interface, the output interface, the processor, and the memory are connected via an internal connection path.

[0125] An embodiment of the present application further provides a communication system, comprising a first module and a second module. The first module is configured to execute the method executed by the first module shown in FIG2 , and the second module is configured to execute the method executed by the second module shown in FIG2 . The functions of the first module and the second module of the communication system can be referred to the description of FIG2 above and will not be detailed here.

[0126] An embodiment of the present application also provides a communication device, which includes: a transceiver, a memory, and a processor. The transceiver, the memory, and the processor communicate with each other through an internal connection path, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive and transmit signals, and the processor includes a first module or a second module. In the case where the processor includes the first module, when the processor executes the instructions stored in the memory, the processor executes the alignment mark search method executed by the first module. In the case where the processor includes the second module, when the processor executes the instructions stored in the memory, the processor executes the alignment mark search method executed by the second module.

[0127] It should be understood that the processor may be a CPU, or other general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor supporting the Advanced Reduced Instruction Set Machine (ARM) architecture.

[0128] Furthermore, in an optional embodiment, the memory may include a read-only memory and a random access memory, and provide instructions and data to the processor. The memory may also include a non-volatile random access memory. For example, the memory may also store device type information.

[0129] The memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a ROM, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a RAM, which is used as an external cache. By way of example but not limitation, many forms of RAM are available. For example, 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 link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0130] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores at least one program instruction or code, the program instruction or code being executed by a computer, and the computer including a first module or a second module. In the case where the computer includes the first module, when the program instruction or code is executed by the computer, the computer implements the search method for the alignment mark executed by the first module. In the case where the computer includes the second module, when the program instruction or code is executed by the computer, the computer implements the search method for the alignment mark executed by the second module.

[0131] An embodiment of the present application further provides a computer program product, comprising: computer program instructions or codes, the computer program instructions or codes being executed by a computer, the computer comprising a first module or a second module. In the case where the computer comprises the first module, when the computer program instructions or codes are executed by the computer, the computer executes the alignment mark search method executed by the first module. In the case where the computer comprises the second module, when the computer program instructions or codes are executed by the computer, the computer executes the alignment mark search method executed by the second module.

[0132] An embodiment of the present application further provides a chip including a processor, the processor including a first module or a second module, the processor being configured to execute program instructions or code. When the processor includes the first module, a device including the chip executes the alignment mark search method executed by the first module. When the processor includes the second module, the device including the chip executes the alignment mark search method executed by the second module.

[0133] Exemplarily, the chip further includes: an input interface, an output interface, and a memory. The input interface, the output interface, the processor, and the memory are connected via an internal connection path. The memory contains program instructions or codes.

[0134] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. 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 instructions. When the computer program instructions are loaded and executed on a 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, computer, server or data center to another website, computer, server or 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 data center that includes one or more available media integrations. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital versatile disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).

[0135] In the above embodiments, the unit of transmission rate Gb / s can also be abbreviated as G, such as a rate of 400 Gb / s can also be abbreviated as 400G.

[0136] To clearly illustrate the interchangeability of hardware and software, the above description has generally described the steps and components of each embodiment according to their functions. 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 may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0137] The computer program code for implementing the method of the embodiment of the application can be written in one or more programming languages. These computer program codes can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable alignment mark search device, so that when the program code is executed by the computer or other programmable alignment mark search device, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on a computer, partially on a computer, as an independent software package, partially on a computer and partially on a remote computer, or entirely on a remote computer or server.

[0138] In the context of the embodiments of the present 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, and the like. Examples of signals may include electrical, optical, radio, acoustic, or other forms of propagated signals, such as carrier waves, infrared signals, and the like.

[0139] Those skilled in the art will clearly understand that, for the sake of convenience and brevity of description, the specific working processes of the above-described systems, devices, and modules can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0140] In the several 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 schematic. For example, the division of the modules is merely a logical function division. In actual implementation, there may be other division methods, 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 can be electrical, mechanical or other forms of connection.

[0141] The modules described as separate components may or may not be physically separate, and 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 may be selected according to actual needs to achieve the purpose of the embodiments of the present application.

[0142] In addition, the functional modules in the various embodiments of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into a single module. The above-mentioned integrated modules may be implemented in the form of hardware or software functional modules.

[0143] In this application, the terms "first", "second", etc. are used to distinguish between identical or similar items with 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 limit 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 module can be referred to as a second module, and similarly, a second module can be referred to as a first module.

[0144] 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.

[0145] As used herein, the term "at least one" means one or more, and the term "plurality" means two or more. For example, "plurality of code blocks" means two or more code blocks. The terms "system" and "network" are often used interchangeably herein.

[0146] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing 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," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0147] It will 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.

[0148] It should also be understood that, depending on the context, the phrase “if it is determined that…” or “if [stated condition or event] is detected” may be interpreted to mean “upon determining…” or “in response to determining…” or “upon detecting [stated condition or event]” or “in response to detecting [stated condition or event]”.

[0149] It should be understood that determining B based on A does not mean determining B based solely on A. B can also be determined based on A and / or other information.

[0150] It should also be understood that references throughout this specification to "one embodiment," "an embodiment," or "one possible implementation" mean that specific features, structures, or characteristics associated with that embodiment or implementation are included in at least one embodiment of the present application. Therefore, the appearance of "in one embodiment," "in an embodiment," or "one possible implementation" throughout this specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

Claims

DEPCT6903 / 10 / 25681. Method for finding the alignment mark, whereby the method comprises: reception, by module one, of data stream one transmitted by module two, where data stream one is obtained by combining more than one signal of data stream two at the reference resolution level, any data stream two comprises the AM alignment mark and data from at least one FEC pre-error correction code word, the reference resolution level is the quantity of bits corresponding to the n symbols comprised in the FEC code word, and n is a positive integer. Obtaining the first data segment from position one in data stream one at the reference resolution level, where position one is any position in data stream one, and performing the AM search on the first data segment.

2. Method according to claim 1, whereby obtaining the first data segment from position one in data stream one at the reference resolution level comprises: extraction of the first data stream signal from position one in data stream one at the reference resolution level, in order to obtain the first data segment.3.The method under Claim 1, in which the acquisition of the first data segment from the first position in the first data stream at the reference resolution level is comprised of: periodic acquisition of every first bit quantity from the first position in the first data stream, and acquisition of the first data segment based on more than one group of acquired first bit quantities, in which the first quantity is determined based on the reference resolution level.

4. Any of the methods under Claim 1 through 3, in which the method is comprised of: acquisition of the second data segment from the second position in the first data stream at the reference resolution level based on the absence of an AM found in the first data segment, in which the second position differs from the first position, and the AM lookup operation on the second data segment.

6. One of the methods under Claims 1 through 5, where the AM is incorporated by the Common Mark (CM) field, and the CM field is used to perform the AM lookup on the first data segment.

7. One of the methods under Claims 1 through 6, where the FEC code word is the Reed-Solomon code word.The method for finding the alignment mark, where the method comprises: receiving, by module two, data stream one, where data stream one is obtained by combining more than one signal of data stream two at the reference resolution level, any data stream two comprises the AM alignment mark and data from at least one FEC pre-error correction code word, the reference resolution level is the quantity of bits corresponding to the n symbols comprised in the FEC code word, and n is a positive integer, and transmitting data stream one to module one, so that module one receives the data segment one from position one in data stream one at the reference resolution level, where position one is any position in data stream one, and to perform the AM lookup on the data segment one.The alignment mark finder unit, in which the unit is used in Module One, and the unit comprises: a receiver unit, which is configured to receive the first data stream sent by Module Two, in which the first data stream is obtained by combining more than one signal of the second data stream at the reference resolution level, any second data stream containing the AM alignment mark and data from at least one FEC pre-error correction code word, the reference resolution level is the quantity of bits corresponding to the n symbols contained in the FEC code word, and n is a positive integer, in which the receiver unit is further configured to obtain the first data segment from position one in the first data stream at the reference resolution level, in which position one is any position in the first data stream, and a finder unit, which is configured to perform an AM lookup on the first data segment.

10. The unit according to claim 9, in which the receiver unit is configured to separate the first data stream signal from position one in the first data stream at the reference resolution level, in order to obtain the first data segment.11.The set of instruments under claim 9, in which the receiving unit is configured, shall: periodically receive the first quantity of bits from position one of bits from the first quantity of bits in the first data stream, and shall receive the first data segment based on more than one group of the first quantities of bits received, in which the first quantity is determined based on the reference resolution level.

12. The set of instruments under any of claims 9 through 11, in which the searching unit is further configured, shall: receive the second data segment from position two in the first data stream at the reference resolution level based on the absence of an AM found in the first data segment, where position two differs from position one, and perform an AM search on the second data segment.13.A set of devices according to claim 12, where the second position is the position after the first position as the second quantity of bits, or the second position is the position after the first position as the third quantity of the symbol reference, where the type of symbol reference is determined based on the modulation pattern corresponding to the second data stream, and the second quantity differs from the quantity of bits corresponding to the third quantity of the symbol reference.

14. A set of devices according to any of claims 9 through 13, where AM is incorporated with the common mark field CM, and the CM field is used to perform AM lookup on the first data segment.

15. A set of devices according to any of claims 9 through 14, where the FEC code word is the Reed-Solomon code word RS16.The alignment mark finder suite, in which the suite is used in the second module, consists of: a receiving unit, configured to receive the first data stream, in which the first data stream is obtained by combining more than one signal of the second data stream at the reference resolution level, any second data stream containing the AM alignment mark and data from at least one FEC pre-error correction code, the reference resolution level is the quantity of bits corresponding to the n symbols included in the FEC code, and n is a positive integer; and a transmitting unit, configured to: transmit the first data stream to the first module, in order for the first module to receive the first data segment from position one in the first data stream at the reference resolution level, in which position one is any position in the first data stream, and to perform an AM lookup on the first data segment.17.A communication system, in which the system consists of module one and module two, module one is configured to execute any of the methods described in Claims 1 through 7, and module two is configured to execute any of the methods described in Claims 818. A computer system, in which the computer system consists of a processor, the processor consists of module one or module two, and if the processor consists of module one, when the processor executes a program instruction or code instruction, the computer system produces an effect in which of any of the methods described in Claims 1 through 7, or if the processor consists of module two, when the processor executes a program instruction or code instruction, the computer system produces an effect in which of the methods described in Claims 819. A computer system under Claims 18, in which the computer system also consists of memory, and the memory is configured to store program instructions or code instruction.A computer-readable media, on which the computer-readable media contains at least one program instruction or code instruction, the program instruction or code instruction is executed by the computer, the computer consists of Module One or Module Two, and if the computer consists of Module One, when the program instruction or code instruction is executed by the computer, the computer is produced by any of the methods described in Claim 1 through 7, or if the computer consists of Module Two, when the program instruction or code instruction is executed by the computer, the computer is produced by any of the methods described in Claim 821.Computer program products, in which the computer program product contains computer program instructions or instruction code, the computer program instructions or instruction code are executed by the computer, the computer contains module one or module two, and if the computer contains module one, when the computer program instructions or instruction code are executed by the computer, the computer is produced by any of the methods described in Claims 1 through 7, or if the computer contains module two, when the computer program instructions or instruction code are executed by the computer, the computer is produced by any of the methods described in Claim 822. Chips, in which the chip contains a processor, the processor contains module one or module two, the processor is configured to execute computer program instructions or instruction code, and if the processor contains module one, the device containing the chip performs any of the methods described in Claims 1 through 7, or if the processor contains module two, the device containing the chip performs the methods described in Claim 823.A chip under claim 22, in which the chip comprises an input interface, an output interface, and memory; the input interface, the output interface, the processor, and the memory are connected via internal connection paths, and the memory comprises program instructions or instruction code;