Data synchronization method, device and system

By timing the synchronization process of the physical layer data flow in the communication system, determining whether the synchronization time is timed out, and processing accordingly, the problem of inefficient data transmission caused by the synchronization time exceeding the normal estimate is solved, and more efficient data transmission is achieved.

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

Patent Information

Application Number
CN202410042059.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-10
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

In communication systems, the synchronization process may cause the time to significantly exceed normal estimates due to software bugs, hardware failures or excessive channel noise, affecting data transmission efficiency and bandwidth utilization.

Method used

By timing the N data streams in the physical layer, it is necessary to determine whether there is synchronization taking too long. If so, timeout processing such as error reporting and system reset is performed to deal with system failures or link deterioration.

Benefits of technology

Optimize data transmission efficiency, promptly deal with the problem of excessive synchronization time, and avoid waste of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120301573A_ABST
    Figure CN120301573A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a data synchronization method, device and system. In a scene of synchronizing data streams of a physical layer, the synchronization process of the data streams can be timed. Furthermore, whether the data stream with the time length meeting the timeout condition exists in the synchronization process is judged, which is equivalent to whether the situation that the synchronization time is too long exists. If the condition that the synchronization time is too long exists, it is indicated that a system fault or link deterioration may occur, then corresponding timeout processing, such as error reporting and system resetting, needs to be carried out, so that the system fault or link deterioration can be dealt with in time, and the data transmission efficiency is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of data communication, and in particular, to a method, apparatus, and system for data synchronization. Background Art

[0002] In a communication system, synchronization has always been a very important technology. Synchronization is used in many places. Based on the differences in implementation goals, it can be divided into multiple synchronization types. For example, clock synchronization is to ensure the consistency of time between different network devices, carrier synchronization is the process of obtaining a coherent carrier from a received signal in coherent optical transmission, bit synchronization is the process of extracting a clock signal from a received signal for correct sampling and decision-making of information symbols, and frame synchronization is the process of identifying the start or end of a specific data block from a received data stream.

[0003] In a communication system, a pre-set synchronization method or process is used for synchronization, so a relatively accurate estimate of the time taken for synchronization can be obtained. However, if there are software bugs, hardware failures, or excessive channel noise in the communication system, it may cause the synchronization to not be completed for a long time, resulting in the time taken for synchronization far exceeding the normal estimated time, thereby affecting the data transmission efficiency and causing waste of power consumption and bandwidth. Summary of the Invention

[0004] The present application provides a method, apparatus, and system for data synchronization, which can time the synchronization process of a data stream to promptly respond to system failures or link deterioration, thereby optimizing the data transmission efficiency.

[0005] In a first aspect, a method for data synchronization is provided. This method is applied to the Ethernet physical layer. Specifically, N data streams of the physical layer are obtained, where N is an integer greater than or equal to 1. Each of the N data streams is synchronized, and the synchronization process of at least one of the N data streams is timed. Among them, any time period from the start of synchronization to the completion of synchronization for each data stream can be regarded as the synchronization process of the data stream, and timing any time period during the synchronization process of the data stream can be understood as timing the synchronization process of the data stream. Furthermore, it is determined whether the duration of the synchronization process of at least one of the N data streams satisfies a timeout condition. If so, timeout processing is performed.

[0006] It should be understood that in the scenario of synchronizing the data stream of the physical layer, the present application can time the synchronization process of the data stream. Furthermore, determining whether there is a data stream whose duration of the synchronization process meets the timeout condition is equivalent to determining whether there is a situation where the synchronization takes too long. If there is a situation where the synchronization takes too long, it indicates that a system failure or link deterioration may occur. Then, corresponding timeout processing needs to be performed, such as error reporting and system reset, etc., in order to respond to the system failure or link deterioration in a timely manner, thereby optimizing the data transmission efficiency.

[0007] In some possible implementation manners, in the scenario where N>1, timing the synchronization process of at least one data stream among the N data streams includes: starting a timer after the synchronization of the first data stream that completes synchronization among the N data streams, where the timer is used to time the synchronization processes of the other N - 1 data streams except the first data stream that completes synchronization among the N data streams. That the duration of the synchronization process of at least one data stream among the N data streams meets the timeout condition includes: the timer times out and the N - 1 data streams have not completed synchronization yet. That is to say, if the timer times out and there is still at least one data stream that has not completed synchronization, it is considered that the timeout condition is met. By adopting this method, it is possible to reasonably analyze whether the synchronization of the N data streams meets the timeout condition without starting a lot of timers, and it has a good practical effect.

[0008] In some possible implementation manners, that the duration of the synchronization process of at least one data stream among the N data streams meets the timeout condition includes: the duration of the synchronization processes of the N data streams is greater than or equal to a first threshold. In the scenario where N = 1, if the duration of the synchronization process of this data stream is greater than or equal to the first threshold, it is considered that the timeout condition is met. In the scenario where N>1, if the overall duration of the synchronization processes of the N data streams is greater than or equal to the first threshold, that is, when the timer reaches the first threshold starting from the synchronization start time of the N data streams and there is still at least one data stream that has not completed synchronization, it is considered that the timeout condition is met. Through this method, it is possible to effectively analyze whether there is a situation where the synchronization of the N data streams takes too long, which is beneficial to accurately determining whether a system failure or link deterioration occurs.

[0009] In some possible embodiments, in a scenario where N > 1, timing the synchronization process of at least one data stream among the N data streams includes: timing the synchronization process of each of the N data streams, where the duration of the synchronization process of each of the N data streams has a corresponding threshold. That the duration of the synchronization process of at least one data stream among the N data streams meets the timeout condition includes: that the duration of the synchronization process of at least one data stream among the N data streams is greater than or equal to the corresponding threshold. That is to say, in this embodiment, the synchronization process of each data stream is timed separately, and it is separately determined whether there is a situation where the synchronization of each data stream takes too long, so as to provide targeted feedback and processing for the data stream with an actually too long synchronization duration, thereby optimizing the data transmission efficiency.

[0010] In some possible embodiments, in a scenario where N > 1, that the duration of the synchronization process of at least one data stream among the N data streams meets the timeout condition includes: that the duration of the synchronization process of the data stream with the longest synchronization process duration among the N data streams is greater than or equal to the second threshold. That is to say, when the timer reaches the second threshold starting from the synchronization start time of the N data streams, the data stream with the longest synchronization process duration has not completed synchronization yet. In this way, the implementation scenario of this solution is extended.

[0011] In some possible embodiments, in a scenario where N > 1, that the duration of the synchronization process of at least one data stream among the N data streams meets the timeout condition includes: that the duration of the synchronization process of the first data stream to complete synchronization among the N data streams is greater than or equal to the third threshold. That is to say, when the timer reaches the third threshold starting from the synchronization start time of the N data streams, no data stream has completed synchronization yet. In this way, it is beneficial to more quickly determine whether there is a situation where the synchronization of the N data streams takes too long, and it is more beneficial to respond in a timely manner, thereby optimizing the data transmission efficiency.

[0012] In some possible embodiments, in a scenario where N > 1, timing the synchronization process of at least one data stream among the N data streams includes: timing the synchronization process of the first data stream to complete synchronization among the N data streams, and starting from the synchronization completion time of the first data stream to complete synchronization, timing the synchronization processes of the other N - 1 data streams among the N data streams except the first data stream to complete synchronization. That the duration of the synchronization process of at least one data stream among the N data streams meets the timeout condition includes: that the duration of the synchronization process of the first data stream to complete synchronization is greater than or equal to the third threshold, and / or, that the duration of the synchronization processes of the N - 1 data streams is greater than or equal to the fourth threshold. In this way, the implementation scenario for determining whether there is a situation where the synchronization of the N data streams takes too long in this solution is enriched.

[0013] In some possible implementation manners, in a scenario where N>1, the duration of the synchronization process of at least one data stream among the N data streams satisfying the timeout condition includes: the duration of the synchronization process of the first data stream to complete synchronization is greater than or equal to a third threshold, and / or, the difference between the duration of the synchronization process of the last data stream to complete synchronization among the N data streams and the duration of the synchronization process of the first data stream to complete synchronization among the N data streams is greater than or equal to a fourth threshold. In this way, the implementation scenarios for determining whether the synchronization of the N data streams takes too long are enriched in this solution.

[0014] In some possible implementation manners, in a coherent transmission scenario, the N data streams include data streams in a first polarization direction and data streams in a second polarization direction, where the first polarization direction and the second polarization direction are orthogonal to each other. Due to the difference in polarization directions, time delay differences (skew) may occur in the data streams in the X deflection direction and the Y polarization direction during link transmission. At the receiving end, the data streams in the X deflection direction and the Y polarization direction need to be synchronized and aligned respectively before the data can be correctly recovered. The method provided in this application can determine whether the synchronization of the data streams in the two polarization directions takes too long, so as to respond in a timely manner, so that the data streams in the two polarization directions can complete synchronization and recover the data faster.

[0015] In some possible implementation manners, synchronizing each of the N data streams includes at least one of the following operations: performing frame synchronization on each of the N data streams to determine the frame boundary of each data stream; performing codeword synchronization on each of the N data streams to determine the codeword boundary of each data stream; performing interleaving synchronization on each of the N data streams to determine the interleaving start position of each data stream; performing symbol synchronization on each of the N data streams to determine the symbol group boundary of each data stream. Here, multiple implementation manners for data synchronization at the physical layer are provided, enriching the application scenarios of this solution.

[0016] In some possible implementation manners, timing the synchronization process of at least one of the N data streams includes: timing the synchronization process of at least one of the N data streams through a timer. Timing the synchronization process through a timer is simpler and more direct, and has a better practical effect.

[0017] In some possible implementation manners, timing the synchronization process of at least one of the N data streams includes: counting the number of bits, symbols, or data blocks that have passed since the start of the synchronization process of at least one of the N data streams through a counter, so as to time the synchronization process of at least one of the N data streams. Here, an implementation manner of counting through a counter, which is equivalent to timing the synchronization process, is also provided, improving the flexibility of this solution.

[0018] In some possible embodiments, performing timeout processing includes: reporting an error, resetting the system, restarting the device, and / or restarting synchronization. So as to respond in a timely manner to system failures or link deterioration, thereby optimizing the data transmission efficiency.

[0019] In some possible embodiments, after synchronizing each of the N data streams, the method further includes: performing data processing on the N synchronized data streams, and transmitting the N data streams after data processing through a channel. That is to say, the method provided in this application can be applied to the synchronization process at the data sending end.

[0020] In some possible embodiments, obtaining N data streams of the physical layer includes: receiving N data streams transmitted through a channel. After synchronizing each of the N data streams, the method further includes: performing data processing on the N synchronized data streams. That is to say, the method provided in this application can be applied to the synchronization process at the data receiving end.

[0021] In a second aspect, this application provides a communication device, which includes: an obtaining unit and a processing unit. The obtaining unit is configured to: obtain N data streams of the physical layer, where N is an integer greater than or equal to 1. The processing unit is configured to: synchronize each of the N data streams, and time the synchronization process of at least one of the N data streams; if the duration of the synchronization process of at least one of the N data streams satisfies a timeout condition, perform timeout processing.

[0022] In some possible embodiments, N>1, and the processing unit is specifically configured to start a timer after the synchronization of the first synchronized data stream among the N data streams is completed. The timer is used to time the synchronization processes of the other N-1 data streams except the first synchronized data stream among the N data streams. The duration of the synchronization process of at least one of the N data streams satisfying a timeout condition includes: the timer times out and the N-1 data streams have not been synchronized yet.

[0023] In some possible embodiments, the duration of the synchronization process of at least one of the N data streams satisfying a timeout condition includes: the duration of the synchronization process of the N data streams is greater than or equal to a first threshold.

[0024] In some possible embodiments, N>1, and the processing unit is specifically configured to time the synchronization process of each of the N data streams, where the duration of the synchronization process of each of the N data streams has a corresponding threshold. The duration of the synchronization process of at least one of the N data streams satisfying a timeout condition includes: the duration of the synchronization process of at least one of the N data streams is greater than or equal to the corresponding threshold.

[0025] In some possible embodiments, N>1, and the duration of the synchronization process of at least one data stream among the N data streams satisfying the timeout condition includes: the duration of the synchronization process of the data stream with the longest synchronization process duration among the N data streams is greater than or equal to a second threshold, and / or, the duration of the synchronization process of the first data stream that completes synchronization among the N data streams is greater than or equal to a third threshold.

[0026] In some possible embodiments, N>1, and the processing unit is specifically configured to time the synchronization process of the first data stream that completes synchronization among the N data streams, and start timing the synchronization processes of the other N - 1 data streams among the N data streams from the moment when the first data stream that completes synchronization finishes synchronization. The duration of the synchronization process of at least one data stream among the N data streams satisfying the timeout condition includes: the duration of the synchronization process of the first data stream that completes synchronization is greater than or equal to a third threshold, and / or, the duration of the synchronization processes of the N - 1 data streams is greater than or equal to a fourth threshold.

[0027] In some possible embodiments, N>1, and the duration of the synchronization process of at least one data stream among the N data streams satisfying the timeout condition includes: the duration of the synchronization process of the first data stream that completes synchronization is greater than or equal to a third threshold, and / or, the difference between the duration of the synchronization process of the data stream with the longest synchronization process duration among the N data streams and the duration of the synchronization process of the first data stream that completes synchronization among the N data streams is greater than or equal to a fourth threshold.

[0028] In some possible embodiments, the N data streams include data streams in a first polarization direction and data streams in a second polarization direction, where the first polarization direction is orthogonal to the second polarization direction.

[0029] In some possible embodiments, the processing unit is specifically configured to perform at least one of the following operations: perform frame synchronization on each of the N data streams to determine the frame boundary of each data stream; perform codeword synchronization on each of the N data streams to determine the codeword boundary of each data stream; perform interleaving synchronization on each of the N data streams to determine the interleaving start position of each data stream; perform symbol synchronization on each of the N data streams to determine the symbol group boundary of each data stream.

[0030] In some possible embodiments, the processing unit is specifically configured to time the synchronization process of at least one of the N data streams through a timer.

[0031] In some possible embodiments, the processing unit is specifically configured to count, through a counter, the number of bits, symbols, or data blocks that at least one of the N data streams has passed since the start of the synchronization process, so as to time the synchronization process of at least one of the N data streams.

[0032] In some possible embodiments, the processing unit is specifically configured to report errors, reset the system, restart the device, and / or restart synchronization.

[0033] In some possible embodiments, the communication device further includes a sending unit. The processing unit is further configured to perform data processing on the N data streams after synchronization. The sending unit is configured to send the N data streams after data processing through a channel.

[0034] In some possible embodiments, the obtaining unit is specifically configured to receive the N data streams transmitted through a channel. The processing unit is further configured to perform data processing on the N data streams after synchronization.

[0035] In a third aspect, the present application provides a chip, which includes a processor, and the processor is configured to execute the method described in any one of the embodiments of the first aspect.

[0036] In a fourth aspect, the present application provides an optical module, which includes: a processor and an interface circuit. The interface circuit is configured to receive and send data. The processor is configured to execute the method described in any one of the embodiments of the first aspect.

[0037] In a fifth aspect, the present application provides a host-side module, which includes: a processor and an interface circuit. The interface circuit is configured to receive and send data. The processor is configured to execute the method described in any one of the embodiments of the first aspect.

[0038] In a sixth aspect, the present application provides a sending device, which includes: a processor and an interface circuit. The processor is configured to execute the method described in any one of the embodiments of the first aspect and perform data processing on the data stream that has completed synchronization. The interface circuit is configured to send the data stream after data processing through a channel.

[0039] In a seventh aspect, the present application provides a receiving device, which includes: a processor and an interface circuit. The interface circuit is configured to receive the data stream transmitted through a channel. The processor is configured to execute the method described in any one of the embodiments of the first aspect and perform data processing on the data stream that has completed synchronization.

[0040] In an eighth aspect, the present application provides a communication system, which includes the sending device described in the sixth aspect and the receiving device described in the seventh aspect.

[0041] In a ninth aspect, the present application provides a computer-readable storage medium, on which instructions are stored. When the instructions are executed by a computer, the method described in any implementation manner of the first aspect is implemented.

[0042] In a tenth aspect, the present application provides a computer program product, which includes program instructions. When the computer program product is executed, it is used to implement the method described in any implementation manner of the first aspect above.

[0043] As can be seen from the above technical solutions, the present application has the following advantages:

[0044] In a scenario of synchronizing data streams at the physical layer, the present application provides a data synchronization method, which can time the synchronization process of the data stream. Furthermore, it is equivalent to determining whether there is a data stream whose duration of the synchronization process meets the timeout condition, that is, determining whether there is a situation where the synchronization takes too long. If there is a situation where the synchronization takes too long, it indicates that a system failure or link deterioration may occur. Then, corresponding timeout processing needs to be performed, such as error reporting and system reset, etc., in order to respond to the system failure or link deterioration in a timely manner, thereby optimizing the data transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 It is a schematic diagram of a communication system applied to an embodiment of the present application;

[0046] Figure 2 It is a schematic diagram of a data transmission process in an embodiment of the present application;

[0047] Figure 3 It is a schematic diagram of an implementation manner of a transmitting-end data processor in an embodiment of the present application;

[0048] Figure 4 It is a schematic diagram of a method flow for data synchronization in an embodiment of the present application;

[0049] Figure 5 It is a schematic diagram of an FEC codeword in an embodiment of the present application;

[0050] Figure 6 It is a schematic diagram of an implementation manner of convolutional interleaving in an embodiment of the present application;

[0051] Figure 7 It is a schematic diagram of the first application scenario for synchronizing multiple data streams in an embodiment of the present application;

[0052] Figure 8 It is a schematic diagram of the second application scenario for synchronizing multiple data streams in an embodiment of the present application;

[0053] Figure 9It is a schematic structural diagram of a communication device in an embodiment of the present application;

[0054] Figure 10 It is a schematic structural diagram of a sending device in an embodiment of the present application;

[0055] Figure 11 It is a schematic structural diagram of a receiving device in an embodiment of the present application. Detailed implementation manners

[0056] An embodiment of the present application provides a method, device and system for data synchronization, which can time the synchronization process of a data stream. If the synchronization takes too long, it indicates that there may be a system failure or link deterioration, then corresponding timeout processing needs to be performed, such as error reporting and system reset, etc., so as to timely respond to the system failure or link deterioration, thereby optimizing the data transmission efficiency.

[0057] Figure 1 It is a schematic diagram of a communication system applied in an embodiment of the present application. As Figure 1 shown, the communication system includes a transmitting device 01, a transmitting processing module 02, a channel transmission medium 03, a receiving processing module 04 and a receiving device 05. Taking this communication system as a data center network as an example, the transmitting device 01 and the receiving device 05 can be devices such as switches or routers, and the transmitting device 01 is also called a host-side device (host device) or a host-side chip (host chip) located at the transmitting end, and the receiving device 05 is also called a host-side device or a host-side chip located at the receiving end, and the channel transmission medium 03 can be an optical fiber. Among them, the transmitting device 01 and the transmitting processing module 02 can be connected through an attachment unit interface (AUI), and the receiving device 05 and the receiving processing module 04 can be connected through an AUI. The transmitting processing module 02 and the receiving processing module 04 can be optical modules (optical module), electrical modules, connectors (connector) or other modules that process data during data transmission. For example, the processing module can be an 800LR module (800LR module), which is a coherent optical module. And, the transmitting device 01, the transmitting processing module 02, the channel transmission medium 03, the receiving processing module 04 and the receiving device 05 in this communication system can all support two-way transmission or one-way transmission, and specific details are not limited here.

[0058] Figure 2 It is a schematic diagram of a data transmission process in an embodiment of the present application. As Figure 2As shown in the figure, at the sending end, the information source provides the data stream to be sent; the transmitting-end data processor receives this data stream, and performs data processing including encoding, interleaving, and modulation on it to obtain a symbol data stream, which is sent to the transmitting-end signal processor for framing. After being transmitted through the channel, it reaches the receiving device. After receiving the distorted signal generated by noise or other impairments in the channel, the receiving device sends it to the receiving-end signal processor for operations such as dispersion compensation, synchronization, and phase recovery, and then sends it to the receiving-end data processing for operations including demodulation, deinterleaving, and decoding to recover the original data, which is sent to the information sink. Among them, Figure 2 The transmitting-end data processing and transmitting-end signal processing shown in Figure 1 can be applied to the Figure 2 transmitting-end processing module 02 shown in Figure 1 The receiving-end data processing and receiving-end signal processing shown in

[0059] Figure 3 is a schematic diagram of an implementation manner of the transmitting-end data processor in an embodiment of this application. As Figure 3 shown, it can be used in the scenario of concatenated coding. The transmitting-end data processor sequentially performs operations such as outer code encoding, stuffing bit insertion, convolutional interleaving, inner code encoding, channel interleaving, symbol mapping, and polarization division on the input data stream. It should be understood that the operations performed by the transmitting-end data processor in actual applications include but are not limited to Figure 3 the operations reflected in

[0060] In some other possible concatenated coding scenarios, as Figure 1 shown, in the process of transmitting data from the transmitting device 01 to the receiving device 05, the transmitting device 01 is used to perform outer code encoding on this data, and then transmit the data after outer code encoding to the transmitting-end processing module 02. The transmitting-end processing module 02 is used to perform inner code encoding on the data after outer code encoding to obtain the data after outer code encoding and inner code encoding, and transmit the data after outer code encoding and inner code encoding to the channel transmission medium 03. The channel transmission medium 03 is used to transmit the data after outer code encoding and inner code encoding to the receiving-end processing module 04. The receiving-end processing module 04 is used to perform inner code decoding on the data after outer code encoding and inner code encoding, and transmit the data after inner code decoding to the receiving device 05. The receiving device 05 is used to perform outer code decoding on the data after inner code decoding.

[0061] It should be understood that the "inner" in the inner code and the "outer" in the outer code are only distinguished based on the distance of the execution entity operating on the data from the channel transmission medium 03. The execution entity operating on the inner code is closer to the channel transmission medium, and the execution entity operating on the outer code is farther from the channel transmission medium. In the embodiment of the present application, since the data is sent from the sending device 01 and then transmitted to the channel transmission medium 03 through the sending processing module 02, and then from the channel transmission medium 03 through the receiving processing module 04 to the receiving device 05. The data encoded by the sending device 01 is farther from the channel transmission medium 03 than the data encoded by the sending processing module 02, and the data decoded by the receiving device 05 is farther from the channel transmission medium 03 than the data decoded by the receiving processing module 04. Therefore, the data encoded by the sending device 01 is called the data encoded by the outer code, the data encoded by the sending processing module 02 is called the data encoded by the inner code, the data decoded by the receiving device 05 is called the data decoded by the outer code, and the data decoded by the receiving processing module 04 is called the data decoded by the inner code. In a possible implementation manner, the above inner code encoding and outer code encoding are both performed in the manner of forward error correction (FEC) encoding, thereby forming a cascaded FEC transmission scheme. For example, the sending device 01 can use Reed-Solomon (RS) code for outer code encoding, and the sending processing module 02 can use Hamming code for inner code encoding. Another example is that the sending device 01 can use RS code for outer code encoding, and the sending processing module 02 can use Bose–Chaudhuri–Hocquenghem (BCH) code for inner code encoding. Still another example is that the sending device 01 can use RS code for outer code encoding, and the sending processing module 02 can use Polar code for inner code encoding.

[0062] It should be noted that the above content is an exemplary description of the application scenario of the data synchronization method provided by the embodiment of the present application, and does not constitute a limitation on the application scenario of the data synchronization method. Those of ordinary skill in the art know that with the change of service requirements, its application scenario can be adjusted according to application requirements, and the embodiment of the present application does not list them one by one.

[0063] The method provided in the embodiment of the present application is mainly applied to the Ethernet physical layer, that is, to synchronize the data stream of the Ethernet physical layer and time the synchronization process. If the synchronization takes too long, it means that there may be a system failure or link deterioration, and then corresponding timeout processing is required.

[0064] Figure 4 It is a schematic flow chart of a data synchronization method in an embodiment of the present application.

[0065] 101. Obtain N data streams at the physical layer.

[0066] It should be noted that the data synchronization method provided in the embodiments of this application can be applied to the data sending end of the channel or the data receiving end of the channel, and is applicable to any scenario involving the synchronization of data streams at the physical layer. As an example, this method can be implemented by Figure 1 the transmitting end processing module 02 as shown. The transmitting end processing module 02 receives N data streams that have been outer-coded by the transmitting end device 01. The transmitting end processing module 02 first synchronizes the N data streams, and then performs data processing such as inner coding and then sends them into the channel for transmission. As another example, this method can also be implemented by Figure 1 the receiving end processing module 04 or the receiving end device 05 as shown. The receiving end processing module 04 receives N data streams that have been transmitted through the channel. The receiving end processing module 04 first synchronizes the N data streams, and then performs data processing such as inner decoding and then sends them to the receiving end device 05. The receiving end device 05 first synchronizes the N data streams from the receiving end processing module 04, and then performs data processing such as outer decoding.

[0067] It should be understood that the embodiments of this application do not limit the specific number of the N data streams. N is an integer greater than or equal to 1, such as 8, 16, or 32, etc. The N data streams can be Physical Medium Attachment (PMA) channel data streams, Physical Coding Sublayer (PCS), FEC channel data streams, or physical channel data streams, etc., and are not specifically limited here. In the scenario where N is greater than 1, the N data streams can be related. For example, the N data streams are obtained by distributing one data stream.

[0068] 102. Synchronize each of the N data streams, and time the synchronization process of at least one of the N data streams.

[0069] In the embodiments of this application, each of the N data streams is synchronized independently. The data synchronization operations at the physical layer include but are not limited to frame synchronization (such as DSP frame synchronization), codeword synchronization, symbol synchronization, and interleaving synchronization, etc. It should be understood that the embodiments of this application do not limit the specific implementation manner of the data synchronization operations. Optionally, the data synchronization (sync) in the embodiments of this application can also be referred to as data locking (lock) or data alignment (align), etc. For the convenience of introduction, several possible data synchronization operations at the physical layer will be introduced below by taking the data receiving end of the channel as an example.

[0070] As a first example, each data frame in the N data streams sent by the sender includes a frame header with a fixed number of bits, which can also be referred to as an Alignment marker or a frame alignment signal (FAS) or other names. The receiver performs frame synchronization on the received data stream to determine the boundary of each data frame in the data stream, which can also be understood as determining the synchronization position of the frame. That is to say, when the boundary or synchronization position of each data frame in the data stream is determined, the frame synchronization is completed.

[0071] As a second example, the sender performs FEC encoding operations on the data stream to be sent, including outer code encoding and inner code encoding. Figure 5 A schematic diagram of an FEC codeword in an embodiment of the present application. As Figure 5 shown, the codeword after FEC encoding includes the original information bits and the parity bits obtained by FEC encoding. The receiver performs codeword synchronization on the received data stream to determine the boundary of each codeword in the data stream, which can also be understood as determining the synchronization position of the codeword. That is to say, when the boundary or synchronization position of each codeword in the data stream is determined, the codeword synchronization is completed.

[0072] As a third example, the value of the outer code length is counted in units of symbols, where a symbol can include one or more bits, and here the symbol can also be referred to as a symbol group. For example, the outer code is the KP4 RS(544,514) code, the code length N = 544 symbols, and one symbol contains 10 bits. The receiver performs symbol synchronization on the received data stream to determine the boundary of each symbol in the data stream, which can also be understood as determining the synchronization position of the symbol. That is to say, when the boundary or synchronization position of each symbol in the data stream is determined, the symbol synchronization is completed.

[0073] As a fourth example, the sender performs an interleaving operation on the data stream to be sent, and the interleaving operation includes but is not limited to convolutional interleaving and block interleaving, etc. Figure 6 A schematic diagram of an implementation manner of convolutional interleaving in an embodiment of the present application. As Figure 6 shown, the convolutional interleaver includes multiple delay lines. Here, taking 4 delay lines as an example, the number of storage units included in each delay line is different, and each storage unit is used to store the same number of symbols. This storage unit can also be referred to as a delay block. Figure 6The boxes on each delay line are used to represent storage units. The input side of the convolutional interleaver is four codewords after FEC encoding, denoted as codeword A, codeword B, codeword C, and codeword D respectively. The output side of the convolutional interleaver is the data stream after convolutional interleaving. There is a switchable connection switch on both the input side and the output side of the convolutional interleaver, which is used to connect a certain delay line simultaneously. The symbols of the FEC codewords enter the convolutional interleaver column by column, one codeword at a time. Each time an FEC symbol enters the input side of the convolutional interleaver, a symbol will be output simultaneously on the output side of the convolutional interleaver. Then the switches on both sides will switch to the next delay line and poll in the order of the delay line numbers (0, 1, 2, 3, 0, 1, 2, 3, 0, 1, …). Since the convolutional interleaver divides into multiple delay lines and the lengths of each delay line are different, when deinterleaving at the receiving end, the delays used for each delay line are also different. It is necessary to strictly distinguish the sequence numbers of each delay line to correctly recover the data. This is equivalent to finding delay line 0 and determining the synchronization position where delay line 0 appears periodically. Figure 6 The position marked by the circle in is the synchronization position to be found. It can also be understood as finding the starting position of each column of the convolutional deinterleaver, that is, determining the starting position of the interleaving of each data stream through interleaving synchronization. That is to say, when the starting position of the interleaving of the data stream is determined, the interleaving synchronization is completed.

[0074] It should be noted that for each physical layer data synchronization operation, there will be a corresponding synchronization start time, which is subject to the actual application of each data synchronization operation and is not limited here. For example, for frame synchronization, the start time when the device at the receiving end starts can be the start time of frame synchronization. Another example is that for codeword synchronization, the end time of link training can be the start time of codeword synchronization. Any time period from the start of synchronization to the completion of synchronization for each data stream can be regarded as the synchronization process of the data stream. That is to say, the process from the start of synchronization to the completion of synchronization for the data stream is the complete synchronization process, and any time period from the start of synchronization to the completion of synchronization for the data stream is a partial synchronization process, and these all belong to the synchronization process of the data stream. Therefore, starting to time at any moment in the synchronization process of the data stream can be understood as timing the synchronization process of the data stream. It should be understood that in the scenario where N is greater than 1, the synchronization start times of multiple data streams are usually the same. Of course, in some possible scenarios, the synchronization start times of multiple data streams may not be exactly the same, but this time difference is very small and can usually be ignored.

[0075] In some possible embodiments, the synchronization process of the data stream can be timed by a timer, and a threshold can be set for the timer to facilitate determining whether the data stream synchronization times out. The timing mode of the timer can count up from 0, or can count down from the set threshold, and the specific mode is not limited here. In another possible embodiment, the synchronization process of the data stream can also be timed by a counter. For example, by counting the number of bits, symbols, or data blocks sent or received from the start of the synchronization process in the data stream, it is also equivalent to timing the synchronization process of the data stream. Another example is that each beat of the counter has a fixed duration, and the duration of the synchronization process is determined by counting the number of beats. It should be understood that the above-mentioned timer and counter can be implemented by hardware or by software, and the specific implementation is not limited here.

[0076] 103. Determine whether the duration of the synchronization process of at least one of the N data streams meets the timeout condition. If so, execute step 104.

[0077] It should be noted that the embodiments of the present application design multiple possible timeout conditions, which are introduced separately below. For the convenience of introduction, the following examples all use the threshold set by the timer. If the counter is used for timing, a similar method can also be used to set the threshold. Among them, the threshold set by the timer can be specified by a standard or user-defined. The threshold can be an integer or not an integer, and the threshold can also be any value within a value range, and the specific value is not limited here. And, the threshold itself allows for error fluctuations. For example, if the threshold is 80 ms and a 2% time length error is allowed, it can be recorded as 80 ± 1.6 ms or 80 ms ± 2%.

[0078] In the first possible embodiment, a timer is started after any one of the N data streams completes synchronization. If the timer expires and the other N - 1 data streams among the N data streams except the first data stream that has completed synchronization have not completed synchronization, it is considered that the timeout condition is met. It can be understood that the timer times the synchronization process of the other N - 1 data streams among the N data streams except the first data stream that has completed synchronization. Optionally, the other N - 1 data streams not having completed synchronization means that at least one of the other N - 1 data streams has not completed synchronization.

[0079] In the second possible implementation, a first threshold is set for the synchronization process of N data streams. In the scenario where N = 1, if the duration of the synchronization process of this data stream is greater than or equal to the first threshold, it is considered that the timeout condition is met. In the scenario where N > 1, if the overall duration of the synchronization process of N data streams is greater than or equal to the first threshold, that is, when the timer reaches the first threshold starting from the synchronization start time of the N data streams, there is at least one data stream that has not completed synchronization yet, it is considered that the timeout condition is met. It should be understood that these N data streams can start synchronization simultaneously or at different times, and the timer starts timing from the synchronization start time of the first data stream to start synchronization.

[0080] In the third possible implementation, for the scenario where N > 1, N timers are used to time the synchronization processes of N data streams respectively, and each data stream corresponds to a threshold. Each timer starts timing from the synchronization start time of the corresponding data stream. Among them, the N thresholds can all be the same, or the N thresholds can also be different. If the duration of the synchronization process of at least one of the N data streams is greater than or equal to the corresponding threshold, it is considered that the timeout condition is met.

[0081] In the fourth possible implementation, for the scenario where N > 1, there must be a data stream with the longest synchronization time-consuming. One timer can be used to set a second threshold. Assuming that the N data streams start the synchronization process simultaneously, if the duration of the synchronization process of the data stream with the longest synchronization time-consuming is greater than or equal to the second threshold, that is, when the timer reaches the second threshold starting from the synchronization start time of the N data streams, the data stream with the longest synchronization time-consuming has not completed synchronization yet, it is considered that the timeout condition is met.

[0082] In the fifth possible implementation, for the scenario where N > 1, among the N data streams, there must be a first data stream that first completes synchronization, that is, the data stream with the shortest synchronization time-consuming. One timer can be used to set a third threshold. If the duration of the synchronization process of the first data stream to complete synchronization is greater than or equal to the third threshold, that is, when the timer reaches the third threshold starting from the synchronization start time of the N data streams, no data stream has completed synchronization yet, it is considered that the timeout condition is met.

[0083] In the sixth possible implementation, for the scenario where N > 1, a timer 1 set with a third threshold and a timer 2 set with a fourth threshold can be used. Timer 1 starts timing from the synchronous start moment of the N data streams, and timer 2 starts timing from the synchronous completion moment of the first data stream that has completed synchronization. That is to say, timer 2 is equivalent to timing the synchronization process of the other N - 1 data streams except the first data stream that has completed synchronization among the N data streams. Similar to the fourth implementation, if the duration of the synchronization process of the first data stream that has completed synchronization is greater than or equal to the third threshold, that is, when timer 1 reaches the third threshold from the synchronous start moment of the N data streams and no data stream has completed synchronization, it is considered that the timeout condition is met. And if the duration of the synchronization process of the other N - 1 data streams is greater than or equal to the fourth threshold, that is, when timer 2 reaches the fourth threshold and there is at least one data stream that has not completed synchronization yet, it is considered that the timeout condition is met. It should be understood that since the synchronous completion moment of the first data stream that has completed synchronization is uncertain, the fourth threshold set by timer 2 can also be flexibly changed according to the actual situation. In other words, starting from the synchronous completion moment of the first data stream that has completed synchronization, there is a difference in the synchronization process duration between the other N - 1 data streams and the first data stream that has completed synchronization. As the difference in the synchronization process duration gradually increases, if the difference in the synchronization process duration is greater than or equal to the fourth threshold, it is considered that the timeout condition is met.

[0084] It should be noted that for any of the above - provided implementation manners, any one of them can be used as the implementation manner for determining whether the timeout condition is met. In some possible scenarios, the above - provided implementation manners can also be combined with each other for comprehensive judgment. As an example, if it is determined that the timeout condition is met through at least one of the implementation manners, it can ultimately be considered that the timeout condition is met. As another example, if it is determined that the timeout condition is met through one implementation manner, but it is determined that the timeout condition is not met through another implementation manner, then a judgment rule can be further designed based on this to determine whether the timeout condition is ultimately met. The specific judgment rule depends on the actual needs and is not limited here. For example, if it is determined that the timeout condition is met through the fourth implementation manner above and it is determined that the timeout condition is not met through the fifth implementation manner above, it is still considered that the timeout condition is met; conversely, it is considered that the timeout condition is not met; that is to say, generally, whether the synchronization process of the N data streams as a whole times out is still the priority judgment condition.

[0085] Several possible application scenarios are introduced below in combination with the above - provided multiple implementation manners.

[0086] However, it should be noted that the data stream to be transmitted can have multiple rate modes. For example, rate modes such as 10 gigabits per second (Gbps), 25 Gbps, 40 Gbps, 50 Gbps, 100 Gbps, 200 Gbps, 400 Gbps, 800 Gbps, and 1.6 terabits per second (Tbps). Based on different rate modes, the scenarios of transmitting through N data streams in the physical layer can be different, that is, the value of N can be 8, 16, or 32, etc. Based on the different positions of N data streams in the physical layer, the N data streams can be PCS channel data streams, PMA channel data streams, FEC channel data streams, or physical channel data streams, etc. Corresponding synchronization operations can be performed based on different types of channel data streams, which are not specifically limited here. For example, codeword synchronization can be performed on the PCS channel data stream.

[0087] Figure 7 This is a schematic diagram of the first application scenario for synchronizing multiple data streams in the embodiments of the present application. As Figure 7 shown, 8 data streams perform codeword synchronization respectively, and the 8 data streams start codeword synchronization at the same moment. The timer starts timing from the start moment of codeword synchronization of the 8 data streams. As an example, the timer is set with a threshold T1, which is the maximum synchronization process time set for the first data stream to complete codeword synchronization. Data stream 1 is the first data stream to complete codeword synchronization. If data stream 1 has not completed codeword synchronization when the timer reaches the threshold T1, it is considered that the timeout condition is satisfied. As another example, the timer is set with a threshold T2, which is the maximum synchronization process time set for the other 7 data streams except data stream 1. If there is at least one data stream that has not completed codeword synchronization when the timer reaches the threshold T2, it is considered that the timeout condition is satisfied. For example, data stream 5 is the data stream with the longest codeword synchronization time. If data stream 5 has not completed codeword synchronization when the timer reaches the threshold T2, it is considered that the timeout condition is satisfied. As yet another example, if data stream 1 completes codeword synchronization before the timer reaches the threshold T1, but data stream 5 has not completed codeword synchronization when the timer reaches the threshold T2, it is considered that the timeout condition is satisfied. For example, the threshold T1 = 2 ms, and the threshold T2 = 3.2 ms.

[0088] Figure 8 This is a schematic diagram of the second application scenario for synchronizing multiple data streams in the embodiments of the present application. As Figure 8As shown, after the transmitter performs symbol mapping and polarization division on the data stream, a dual-polarization symbol stream is formed. A dual-polarization symbol can be represented by two symbols, one of which is in the X polarization direction and the other is in the Y polarization direction. Therefore, this scenario includes a data stream in the X polarization direction and a data stream in the Y polarization direction, and the X polarization direction and the Y polarization direction are orthogonal to each other. Among them, the structure of the data frames in the data streams in the two polarization directions is the same. A frame header with a fixed length is inserted every fixed number of bits in the data stream, that is, each data frame includes a frame header and a fixed number of bits. The process of finding the frame header of the data frame in the data stream is the process of frame synchronization of the data stream. Due to the difference in polarization directions, time delay differences (skew) may occur in the data streams in the X deflection direction and the Y polarization direction during link transmission. At the receiver, the data streams in the X deflection direction and the Y polarization direction need to be synchronized and aligned respectively before the data can be correctly recovered. The data streams in the X deflection direction and the Y polarization direction start synchronization at the same moment, and timer 1 starts timing from the synchronization start moment of the two data streams. Timer 1 is set with a threshold T3, and this threshold T3 is the maximum value of the synchronization process time set for the first data stream to complete synchronization. If no data stream completes synchronization when timer 1 reaches the threshold T3, it is considered that the timeout condition is satisfied. If the data stream in the Y polarization direction completes synchronization before timer 1 reaches the threshold T3, then timer 2 starts timing from the moment when the data stream in the Y polarization direction completes synchronization. Timer 2 is set with a threshold T4. If the data stream in the X polarization direction has not completed synchronization when timer 2 reaches the threshold T4, it is considered that the timeout condition is satisfied. For example, the threshold T3 = 20 ms and the threshold T4 = 15.6 ms.

[0089] 104. Perform timeout processing.

[0090] If it is determined that the duration of the synchronization process of at least one piece of data in the N data streams satisfies the timeout condition, timeout processing is required. Among them, the methods of timeout processing include but are not limited to reporting errors, resetting the system, restarting the device, and restarting synchronization. As an example, a message can be generated based on the judgment process in step 103 above. This message is used to indicate the data stream that satisfies the timeout condition and send this message to the upper layer.

[0091] As can be seen from the above introduction, in the scenario of synchronizing the data stream at the physical layer, the embodiments of the present application provide a data synchronization method that can time the synchronization process of the data stream. Furthermore, it is equivalent to determining whether there is a data stream whose duration of the synchronization process meets the timeout condition, that is, determining whether there is a situation where the synchronization takes too long. If there is a situation where the synchronization takes too long, it indicates that a system failure or link deterioration may occur. Then, corresponding timeout processing needs to be performed, such as error reporting and system reset, etc., in order to respond to the system failure or link deterioration in a timely manner, thereby optimizing the data transmission efficiency.

[0092] Figure 9 It is a schematic structural diagram of a communication device in an embodiment of the present application. As Figure 9 shown, the communication device includes: an acquisition unit 201 and a processing unit 202. The acquisition unit 201 is used to perform the operation of step 101 above, and the processing unit 202 is used to perform the operations of step 102 to step 104 above. It should be understood that the communication device provided by the embodiments of the present application can also be implemented in other ways. For example, the unit division in the above sending device is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system. In addition, each functional unit in the various embodiments of the present application can be integrated in a processing unit, or can be individual independent physical units, or two or more functional units can be integrated in a processing unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.

[0093] It should be noted that the above communication device can specifically be a sending device or a receiving device. Further, the sending device can specifically be a host-side module or an optical module at the sending end, and the receiving device can specifically be a host-side module or an optical module at the receiving end.

[0094] Figure 10 It is a schematic structural diagram of a sending device in an embodiment of the present application. As Figure 10 shown, the sending device includes a processor 301 and an interface circuit 302. The processor 301 is used to perform the operations of step 101 to step 104 above and perform data processing on the data stream that has completed synchronization. The interface circuit 302 is used to send the data stream after data processing through a channel. It should be understood that the interface circuit 302 can be a transceiver or an input / output interface. The interface circuit 302 is used to receive signals from other devices outside the sending device and transmit them to the processor 301 or send signals from the processor 301 to other devices outside the sending device. Optionally, the sending device may further include a memory 303, where the memory 303 is used to store program instructions and data.

[0095] Figure 11 This is a schematic structural diagram of a receiving device in an embodiment of the present application. As Figure 11 shown, the receiving device includes a processor 401 and an interface circuit 402. The interface circuit 402 is used to receive a data stream transmitted through a channel. The processor 401 is used to perform the operations of steps 101 to 104 described above and perform data processing on the data stream that has completed synchronization. It should be understood that the interface circuit 302 can be a transceiver or an input / output interface. The interface circuit 402 is used to receive signals from other devices outside the receiving device and transmit them to the processor 401 or send signals from the processor 401 to other devices outside the receiving device. Optionally, the sending device may further include a memory 403, where the memory 403 is used to store program instructions and data.

[0096] An embodiment of the present application also provides a chip. The chip includes one or more interface circuits and also integrates a processing circuit for implementing the functions of the aforementioned processor 301 or processor 401. As an example, a memory is integrated in the chip. As another example, when no memory is integrated in the chip, it can be connected to an external memory through an interface. The chip can complete the method steps of any one or more of the foregoing embodiments. Alternatively, the chip implements the actions performed by the data processing device in the above embodiments according to the program code stored in the memory.

[0097] An embodiment of the present application also provides a computer-readable storage medium, including a program or instruction, which, when the program or instruction runs on a computer, enables the method executed by the processor 301 or processor 401 in the method embodiment as described above.

[0098] It should be understood that the processor mentioned in the embodiments of the present application can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc. When implemented by software, the processor can be a general-purpose processor that implements by reading software code stored in a memory.

[0099] As an example, the processor in the embodiments of the present application may be a central processing unit (CPU), or may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor, or may also be a processing circuit that implements specific functions.

[0100] In the embodiments of the present application, the memory may be a random access memory (RAM), flash memory, read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), register, hard disk, removable hard disk, CD-ROM, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium may also be a component of the processor. The processor and the storage medium may be located in an ASIC. Additionally, the ASIC may be located in a network device or a terminal device. Of course, the processor and the storage medium may also exist as discrete components in the network device or the terminal device.

[0101] In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.

[0102] When implemented using hardware, the data processing method provided by the embodiments of the present application may not be implemented by reading software code or instructions. For example, it may be implemented by a CPU, DSP, ASIC, FPGA, other programmable logic devices, transistor logic devices, hardware components, or any combination thereof.

[0103] When implemented using software, it can be implemented in the form of a computer program product in whole or in part. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are executed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a terminal device, or other programmable devices. The computer program or instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server integrating one or more available media. The available medium may be a magnetic medium, for example, a floppy disk, a hard disk, a magnetic tape; it may also be an optical medium, for example, a Digital Versatile Disc (DVD); it may also be a semiconductor medium, for example, a solid state disk (SSD).

[0104] Finally, it should be noted that the above are only specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for data synchronization, characterized in that, The method is applied to the Ethernet physical layer and includes: Obtaining N data streams of the physical layer, where N is an integer greater than or equal to 1; Synchronizing each of the N data streams and timing the synchronization process of at least one of the N data streams; If the duration of the synchronization process of at least one of the N data streams meets the timeout condition, timeout processing is performed.

2. The method according to claim 1, wherein When N>1, timing the synchronization process of at least one of the N data streams includes: Starting a timer after the synchronization of the first synchronized data stream among the N data streams is completed, where the timer is used to time the synchronization processes of the other N-1 data streams except the first synchronized data stream among the N data streams; The duration of the synchronization process of at least one of the N data streams meeting the timeout condition includes: The timer times out and the N-1 data streams have not completed synchronization.

3. The method according to claim 1, wherein The duration of the synchronization process of at least one of the N data streams meeting the timeout condition includes: The duration of the synchronization processes of the N data streams is greater than or equal to a first threshold.

4. The method according to claim 1 or 3, characterized in that, When N>1, timing the synchronization process of at least one of the N data streams includes: Timing the synchronization process of each of the N data streams; The duration of the synchronization process of at least one of the N data streams meeting the timeout condition includes: The duration of the synchronization process of at least one of the N data streams is greater than or equal to a corresponding threshold.

5. The method according to claim 1, 3 or 4, characterized in that When N>1, the duration of the synchronization process of at least one of the N data streams meeting the timeout condition includes: The duration of the synchronization process of the data stream with the longest synchronization process among the N data streams is greater than or equal to a second threshold, and / or the duration of the synchronization process of the first synchronized data stream among the N data streams is greater than or equal to a third threshold.

6. The method according to claim 1, characterized in that, When N>1, timing the synchronization process of at least one of the N data streams includes: Timing the synchronization process of the first synchronized data stream among the N data streams and starting to time the synchronization processes of the other N-1 data streams except the first synchronized data stream among the N data streams from the moment when the synchronization of the first synchronized data stream is completed; The duration of the synchronization process of at least one of the N data streams meeting the timeout condition includes: The duration of the synchronization process of the first synchronized data stream is greater than or equal to a third threshold, and / or the duration of the synchronization processes of the N-1 data streams is greater than or equal to a fourth threshold.

7. The method according to claim 1, wherein When N>1, the duration of the synchronization process of at least one of the N data streams meeting the timeout condition includes: The duration of the synchronization process of the first synchronized data stream is greater than or equal to a third threshold, and / or the difference between the duration of the synchronization process of the data stream with the longest synchronization process among the N data streams and the duration of the synchronization process of the first synchronized data stream among the N data streams is greater than or equal to a fourth threshold.

8. The method according to any one of claims 1 to 7, characterized in that, The N data streams include data streams in a first polarization direction and data streams in a second polarization direction, where the first polarization direction is orthogonal to the second polarization direction.

9. The method according to any one of claims 1 to 8, characterized in that, Synchronizing each of the N data streams includes at least one of the following operations: Performing frame synchronization on each of the N data streams to determine the frame boundary of each data stream; Performing codeword synchronization on each of the N data streams to determine the codeword boundary of each data stream; Performing interleaving synchronization on each of the N data streams to determine the interleaving start position of each data stream; Performing symbol synchronization on each of the N data streams to determine the symbol group boundary of each data stream.

10. The method according to any one of claims 1 to 9, characterized in that, Timing the synchronization process of at least one of the N data streams includes: Timing the synchronization process of at least one of the N data streams through a timer.

11. The method according to any one of claims 1 to 10, characterized in that Timing the synchronization process of at least one of the N data streams includes: Counting, through a counter, the number of bits, symbols, or data blocks that have passed since the start of the synchronization process for at least one of the N data streams to time the synchronization process of at least one of the N data streams.

12. The method according to any one of claims 1 to 11, characterized in that, Performing timeout processing includes: Reporting an error, resetting the system, restarting the device, and / or restarting synchronization.

13. The method according to any one of claims 1 to 12, characterized in that, After synchronizing each of the N data streams, the method further includes: Performing data processing on the N synchronized data streams and transmitting the N data streams after data processing through a channel.

14. The method according to any one of claims 1 to 12, characterized in that, Obtaining N data streams of the physical layer includes: Receiving the N data streams transmitted through a channel; After synchronizing each of the N data streams, the method further includes: Performing data processing on the N synchronized data streams.

15. A communication device, characterized in that, Includes: An acquisition unit and a processing unit; The acquisition unit is configured to: obtain N data streams of the physical layer, where N is an integer greater than or equal to 1; The processing unit is configured to: synchronize each of the N data streams and time the synchronization process of at least one of the N data streams; If the duration of the synchronization process of at least one of the N data streams satisfies a timeout condition, perform timeout processing.

16. The communication device according to claim 15, wherein, When N>1, the processing unit is specifically configured to start a timer after the synchronization of the first synchronized data stream among the N data streams is completed, and the timer is used to time the synchronization process of the other N-1 data streams except the first synchronized data stream among the N data streams; The duration of the synchronization process of at least one of the N data streams satisfying a timeout condition includes: The timer times out and the N-1 data streams have not been synchronized yet.

17. The communication device according to claim 15, characterized in that, The duration of the synchronization process of at least one of the N data streams satisfying a timeout condition includes: The duration of the synchronization process of the N data streams is greater than or equal to a first threshold.

18. The communication device according to claim 15 or 17, characterized in that, When N>1, the processing unit is specifically configured to time the synchronization process of each of the N data streams; The condition that the duration of the synchronization process of at least one of the N data streams meets the timeout condition includes: The duration of the synchronization process of at least one of the N data streams is greater than or equal to the corresponding threshold.

19. The communication device according to claim 15, 17 or 18, characterized in that, When N>1, the condition that the duration of the synchronization process of at least one of the N data streams meets the timeout condition includes: The duration of the synchronization process of the data stream with the longest synchronization process among the N data streams is greater than or equal to the second threshold, and / or, the duration of the synchronization process of the first data stream that completes synchronization among the N data streams is greater than or equal to the third threshold.

20. The communication device according to claim 15, characterized in that When N>1, the processing unit is specifically configured to time the synchronization process of the first data stream that completes synchronization among the N data streams, and start timing the synchronization processes of the other N-1 data streams among the N data streams from the synchronization completion moment of the first data stream that completes synchronization; The condition that the duration of the synchronization process of at least one of the N data streams meets the timeout condition includes: The duration of the synchronization process of the first data stream that completes synchronization is greater than or equal to the third threshold, and / or, the duration of the synchronization processes of the N-1 data streams is greater than or equal to the fourth threshold.

21. The communication device according to claim 15, wherein When N>1, the condition that the duration of the synchronization process of at least one of the N data streams meets the timeout condition includes: The duration of the synchronization process of the first data stream that completes synchronization is greater than or equal to the third threshold, and / or, the difference between the duration of the synchronization process of the data stream with the longest synchronization process among the N data streams and the duration of the synchronization process of the first data stream that completes synchronization among the N data streams is greater than or equal to the fourth threshold.

22. The communication device according to any one of claims 15 to 21, characterized in that, The N data streams include data streams in a first polarization direction and data streams in a second polarization direction, wherein the first polarization direction is orthogonal to the second polarization direction.

23. The communication device according to any one of claims 15 to 22, characterized in that, The processing unit is specifically configured to perform at least one of the following operations: Perform frame synchronization on each of the N data streams to determine the frame boundary of each data stream; Perform codeword synchronization on each of the N data streams to determine the codeword boundary of each data stream; Perform interleaving synchronization on each of the N data streams to determine the interleaving start position of each data stream; Perform symbol synchronization on each of the N data streams to determine the symbol group boundary of each data stream.

24. The communication device according to any one of claims 15 to 23, characterized in that, The processing unit is specifically configured to time the synchronization process of at least one of the N data streams through a timer.

25. The communication device according to any one of claims 15 to 23, characterized in that, The processing unit is specifically configured to count the number of bits, symbols or data blocks that have passed since the start of the synchronization process of at least one of the N data streams through a counter, so as to time the synchronization process of at least one of the N data streams.

26. The communication device according to any one of claims 15 to 25, characterized in that The processing unit is specifically configured to report errors, reset the system, restart the device and / or restart synchronization.

27. The communication device according to any one of claims 15 to 26, characterized in that The communication device further includes a sending unit; The processing unit is further configured to perform data processing on the N data streams after synchronization; The sending unit is configured to send the N data streams after data processing through a channel.

28. The communication device according to any one of claims 15 to 26, characterized in that The obtaining unit is specifically configured to receive the N data streams transmitted through the channel; The processing unit is further configured to perform data processing on the N data streams after synchronization.

29. A chip, characterized in that, The chip includes a processor, and the processor is configured to execute the method according to any one of claims 1 to 14.

30. An optical module, characterized in that, The optical module includes a processor and an interface circuit. The interface circuit is configured to receive and send data, and the processor is configured to execute the method according to any one of claims 1 to 14.

31. A host-side module, characterized in that, The host-side module includes a processor and an interface circuit. The interface circuit is configured to receive and send data, and the processor is configured to execute the method according to any one of claims 1 to 14.

32. A transmitting device, characterized in that, The sending device includes a processor and an interface circuit. The processor is configured to execute the method according to any one of claims 1 to 13, and perform data processing on the data streams after synchronization. The interface circuit is configured to send the data streams after data processing through a channel.

33. A receiving device, characterized in that, The receiving device includes a processor and an interface circuit. The interface circuit is configured to receive the data streams transmitted through the channel, and the processor is configured to execute the method according to any one of claims 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 or 14, and perform data processing on the data streams after synchronization.

34. A communication system, characterized in that, Comprising: The sending device according to claim 32 and the receiving device according to claim 33.

35. A computer-readable storage medium, characterized in that, Instructions are stored on the computer-readable storage medium, and when the instructions are executed by a computer, the method according to any one of claims 1 to 14 is implemented.

Citation Information

Cited By

  • Data synchronization method, apparatus and system

    WO2025148576A1