Data synchronization method, apparatus 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 performing corresponding processing, the system failure or link deterioration caused by the synchronization process is solved, and data transmission efficiency is improved.

WO2025148576A1PCT designated stage expired Publication Date: 2025-07-17HUAWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/136970
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-10
Filing Date
2024-12-05
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

In communication systems, the synchronization process takes too long and may lead to system failure or link deterioration, affecting data transmission efficiency.

Method used

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

Benefits of technology

Optimize the data transmission efficiency and promptly deal with system failures or link deterioration during synchronization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024136970_17072025_PF_FP_ABST
    Figure CN2024136970_17072025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the embodiments of the present application are a data synchronization method, apparatus and system. In a scenario where data streams of a physical layer are synchronized, the synchronization processes of the data streams can be timed. Then, whether there is a data stream for which the length of time used for the synchronization process meets a timeout condition is determined, which is equivalent to determining whether there is a situation in which synchronization takes too long. If there is a situation in which synchronization takes too long, it is indicated that there may be a system failure or link deterioration, and it is necessary to perform corresponding timeout processing, such as error reporting and system reset, so as to respond to the system failure or link deterioration in a timely manner, thereby optimizing the data transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

A method, device and system for data synchronization

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on January 10, 2024, with application number 202410042059.0 and invention name “A method, device and system for data synchronization”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The embodiments of the present application relate to the field of data communications, and in particular to a method, device, and system for data synchronization. Background Art

[0003] Synchronization has always been a crucial technology in communication systems. It's used in many applications and can be categorized into various types based on their objectives. For example, clock synchronization ensures consistent time between different network devices. Carrier synchronization is the process of obtaining a coherent carrier from the received signal during coherent optical transmission. Bit synchronization extracts the clock signal from the received signal to ensure accurate sampling and decision of information symbols. Frame synchronization identifies the beginning or end of a specific data block in the received data stream.

[0004] Synchronization in communication systems uses pre-defined methods or processes, allowing for a relatively accurate estimate of synchronization time. However, if a communication system encounters software bugs, hardware failures, or excessive channel noise, synchronization may take a long time to complete, significantly exceeding the normal estimated time. This can affect data transmission efficiency and waste power and bandwidth. Summary of the Invention

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

[0006] In a first aspect, a method for data synchronization is provided, which is applied to an Ethernet physical layer. Specifically, N data streams are obtained from the physical layer, 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. Any time period from the start of synchronization to the completion of synchronization for each data stream can be considered as the synchronization process of the data stream, and the timing of any time period during the data stream synchronization process can be understood as the timing of the data stream synchronization process. Furthermore, it is determined whether the duration of the synchronization process of at least one of the N data streams meets a timeout condition. If so, timeout processing is performed.

[0007] 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, judging whether there is a data stream whose synchronization process time meets the timeout condition is equivalent to judging whether the synchronization time is too long. If the synchronization time is too long, it means that there may be a system failure or link deterioration, then corresponding timeout processing is required, such as error reporting and system reset, so as to respond to the system failure or link deterioration in a timely manner, thereby optimizing the data transmission efficiency.

[0008] In some possible implementations, in a scenario where 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 data stream that has completed synchronization among the N data streams is completed, wherein the timer is used to time the synchronization process of the other N-1 data streams among the N data streams except the first data stream that has completed synchronization. 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 yet completed synchronization. In other words, if all timers have timed out, and there is still at least one data stream that has not completed synchronization, it is considered that the timeout condition is met. In this way, it is possible to reasonably analyze whether the synchronization of the N data streams meets the timeout condition without starting many timers, which has a good practical effect.

[0009] In some possible implementations, the duration of the synchronization process of at least one data stream among the N data streams meeting the timeout condition includes: the duration of the synchronization process of the N data streams is greater than or equal to the first threshold. In the scenario where N=1, if the duration of the synchronization process of the 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 duration of the overall synchronization process of the N data streams is greater than or equal to the first threshold, that is, when the timer starts counting from the synchronization start time of the N data streams and reaches the first threshold, there is still at least one data stream that has not completed synchronization, it is considered that the timeout condition is met. In this way, it is possible to effectively analyze whether the synchronization of the N data streams is too long, which is conducive to accurately judging whether a system failure or link deterioration occurs.

[0010] In some possible implementations, in a scenario where 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, wherein 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 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 the corresponding threshold. In other words, this implementation times the synchronization process of each data stream separately, and determines whether the synchronization time of each data stream is too long, so as to provide targeted feedback and processing for the data streams that actually take too long to synchronize, thereby optimizing data transmission efficiency.

[0011] In some possible implementations, in a scenario where N > 1, the synchronization duration of at least one of the N data streams meeting the timeout condition includes: the synchronization duration of the data stream with the longest synchronization duration among the N data streams being greater than or equal to a second threshold. In other words, when the timer reaches the second threshold from the start time of synchronization of the N data streams, the data stream with the longest synchronization duration has not yet completed synchronization. This expands the implementation scenarios of this solution.

[0012] In some possible implementations, in a scenario where N > 1, the synchronization duration of at least one of the N data streams meeting the timeout condition includes: the synchronization duration of the first data stream to complete synchronization among the N data streams is greater than or equal to a third threshold. In other words, when the timer reaches the third threshold from the start time of synchronization of the N data streams, no data stream has yet completed synchronization. This approach facilitates faster determination of whether synchronization among the N data streams is taking too long, facilitates timely response, and thus optimizes data transmission efficiency.

[0013] In some possible implementations, in a scenario where N>1, timing the synchronization process of at least one of the N data streams includes: timing the synchronization process of the first data stream that completes synchronization among the N data streams, and timing the synchronization process of the other N-1 data streams among the N data streams except the first data stream that completes synchronization from the moment the synchronization of the first data stream that completes synchronization 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 data stream that completes synchronization is greater than or equal to the third threshold, and / or, the duration of the synchronization process of the N-1 data streams is greater than or equal to the fourth threshold. In this way, the implementation scenario of this solution for determining whether the synchronization of N data streams takes too long is enriched.

[0014] In some possible implementations, in a scenario where N > 1, the synchronization duration of at least one of the N data streams meeting the timeout condition includes: the synchronization duration of the first data stream to complete synchronization is greater than or equal to a third threshold, and / or the difference between the synchronization duration of the last data stream to complete synchronization among the N data streams minus the synchronization duration of the first data stream to complete synchronization among the N data streams is greater than or equal to a fourth threshold. This approach enriches the implementation scenarios for determining whether synchronization of N data streams is taking too long.

[0015] In some possible implementations, in a coherent transmission scenario, the N data streams include a data stream in a first polarization direction and a data stream in a second polarization direction, wherein the first polarization direction and the second polarization direction are orthogonal to each other. Due to the difference in polarization direction, a delay difference (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 the present application can determine whether the synchronization of the data streams in the two polarization directions takes too long, so as to facilitate timely response, thereby enabling the data streams in the two polarization directions to complete synchronization and recover data faster.

[0016] In some possible implementations, 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 boundaries of each data stream; performing codeword synchronization on each of the N data streams to determine the codeword boundaries of each data stream; performing interleaving synchronization on each of the N data streams to determine the interleaving starting position of each data stream; and performing symbol synchronization on each of the N data streams to determine the symbol group boundaries of each data stream. Multiple implementations for data synchronization at the physical layer are provided herein, enriching the application scenarios of this solution.

[0017] In some possible implementations, 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 using a timer. Timing the synchronization process using a timer is simpler and more direct, and has better practical effects.

[0018] In some possible implementations, timing the synchronization process of at least one of the N data streams includes: using a counter to count the number of bits, symbols, or data blocks that have elapsed since the start of the synchronization process for the at least one of the N data streams, thereby timing the synchronization process of the at least one of the N data streams. Also provided herein is an implementation in which counting by a counter is equivalent to timing the synchronization process, thereby increasing the flexibility of this solution.

[0019] In some possible implementations, timeout processing includes: reporting an error, resetting the system, restarting the device, and / or restarting synchronization, so as to promptly respond to system failures or link deterioration, thereby optimizing data transmission efficiency.

[0020] In some possible implementations, after synchronizing each of the N data streams, the method further includes: performing data processing on the N synchronized data streams, and transmitting the processed N data streams via a channel. In other words, the method provided in this application can be applied to the synchronization process of a data transmitter.

[0021] In some possible implementations, obtaining N data streams at the physical layer includes receiving N data streams transmitted via a channel. After synchronizing each of the N data streams, the method further includes processing the synchronized N data streams. In other words, the method provided herein can be applied to the synchronization process at a data receiving end.

[0022] In a second aspect, the present application provides a communication device comprising: an acquisition unit and a processing unit. The acquisition unit is configured to acquire N data streams from a 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 meets a timeout condition, perform timeout processing.

[0023] In some possible implementations, 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 configured to time the synchronization process of the other N-1 data streams among the N data streams except the first synchronized data stream. The synchronization timeout condition for 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 yet completed synchronization.

[0024] In some possible implementations, 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 N data streams being greater than or equal to a first threshold.

[0025] In some possible implementations, N>1, and the processing unit is specifically configured to time the synchronization process of each of the N data streams, wherein a 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 meeting the timeout condition includes: the duration of the synchronization process of the at least one of the N data streams is greater than or equal to the corresponding threshold.

[0026] In some possible implementations, N>1, the duration of the synchronization process of at least one data stream among the N data streams satisfies the timeout condition, including: the duration of the synchronization process of the data stream with the longest synchronization time 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 to complete synchronization among the N data streams is greater than or equal to the third threshold.

[0027] In some possible implementations, 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 to time the synchronization processes of the other N-1 data streams among the N data streams except the first data stream that completes synchronization, starting from the synchronization completion moment of the first data stream that completes synchronization. The duration of the synchronization process of at least one data stream among the N data streams meeting 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 process of the N-1 data streams is greater than or equal to a fourth threshold.

[0028] In some possible implementations, N>1, the duration of the synchronization process of at least one data stream among the N data streams satisfies the timeout condition, including: 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 data stream with the longest synchronization time 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.

[0029] In some possible implementations, the N data streams include a data stream in a first polarization direction and a data stream in a second polarization direction, wherein the first polarization direction and the second polarization direction are orthogonal to each other.

[0030] In some possible implementations, the processing unit is specifically used to perform 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 starting position of each data stream; and performing symbol synchronization on each of the N data streams to determine the symbol group boundary of each data stream.

[0031] In some possible implementations, the processing unit is specifically configured to time the synchronization process of at least one data stream among the N data streams by using a timer.

[0032] In some possible implementations, the processing unit is specifically configured to use a counter to count 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, so as to time the synchronization process of at least one of the N data streams.

[0033] In some possible implementations, the processing unit is specifically configured to report an error, reset the system, restart the device, and / or restart synchronization.

[0034] In some possible implementations, the communication device further includes a sending unit. The processing unit is further configured to perform data processing on the N synchronized data streams. The sending unit is configured to send the processed N data streams via a channel.

[0035] In some possible implementations, the acquiring unit is specifically configured to receive N data streams transmitted via a channel, and the processing unit is further configured to perform data processing on the N synchronized data streams.

[0036] In a third aspect, the present application provides a chip comprising a processor configured to execute the method described in any embodiment of the first aspect.

[0037] In a fourth aspect, the present application provides an optical module comprising: 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 embodiment of the first aspect.

[0038] In a fifth aspect, the present application provides a host-side module, comprising: 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 embodiment of the first aspect.

[0039] In a sixth aspect, the present application provides a transmitting device, comprising: a processor and an interface circuit. The processor is configured to execute the method described in any embodiment of the first aspect and perform data processing on the synchronized data stream. The interface circuit is configured to transmit the processed data stream via a channel.

[0040] In a seventh aspect, the present application provides a receiving device comprising: a processor and an interface circuit. The interface circuit is configured to receive a data stream transmitted via a channel. The processor is configured to execute the method described in any embodiment of the first aspect and perform data processing on the synchronized data stream.

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

[0042] In a ninth aspect, the present application provides a computer-readable storage medium having instructions stored thereon. When the instructions are executed by a computer, the method described in any embodiment of the first aspect is implemented.

[0043] 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 introduced in any embodiment of the first aspect above.

[0044] It can be seen from the above technical solutions that this application has the following advantages:

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

[0046] FIG1 is a schematic diagram of a communication system used in an embodiment of the present application;

[0047] FIG2 is a schematic diagram of a data transmission process according to an embodiment of the present application;

[0048] FIG3 is a schematic diagram of an implementation of a data processor at a transmitting end according to an embodiment of the present application;

[0049] FIG4 is a flow chart of a method for data synchronization according to an embodiment of the present application;

[0050] FIG5 is a schematic diagram of an FEC codeword in an embodiment of the present application;

[0051] FIG6 is a schematic diagram of an implementation of convolutional interleaving in an embodiment of the present application;

[0052] FIG7 is a schematic diagram of a first application scenario of synchronization of multiple data streams according to an embodiment of the present application;

[0053] FIG8 is a schematic diagram of a second application scenario of synchronization of multiple data streams according to an embodiment of the present application;

[0054] FIG9 is a schematic structural diagram of a communication device according to an embodiment of the present application;

[0055] FIG10 is a schematic structural diagram of a sending device in an embodiment of the present application;

[0056] FIG11 is a schematic structural diagram of a receiving device in an embodiment of the present application. DETAILED DESCRIPTION

[0057] The present invention provides a method, device, and system for data synchronization that can time the synchronization process of data streams. If synchronization takes too long, it may indicate a system failure or link degradation. Timeout processing is necessary, such as error reporting and system reset, to promptly address the system failure or link degradation, thereby optimizing data transmission efficiency.

[0058] FIG1 is a schematic diagram of a communication system used in an embodiment of the present application. As shown in FIG1 , 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 the 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 referred to as a host device or host chip located at the transmitting end, and the receiving device 05 is also referred to as a host device or host chip located at the receiving end, and the channel transmission medium 03 can be an optical fiber. The transmitting device 01 and the transmitting processing module 02 can be connected via an attachment unit interface (AUI), and the receiving device 05 and the receiving processing module 04 can be connected via an AUI. The transmitting processing module 02 and the receiving processing module 04 can be optical modules, electrical modules, connectors, or other modules that process data during data transmission. For example, the processing module may be an 800LR module, which is a coherent optical module. Furthermore, the transmitting device 01, transmitting processing module 02, channel transmission medium 03, receiving processing module 04, and receiving device 05 in the communication system may all support bidirectional or unidirectional transmission, without limitation herein.

[0059] Figure 2 is a schematic diagram of a data transmission process in an embodiment of the present application. As shown in Figure 2, at the transmitting end, the information source provides a data stream to be transmitted; the transmitting end data processor receives the 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 the receiving device receives the distorted signal caused by noise or other damage in the channel, it is sent to the receiving end signal processor for dispersion compensation, synchronization, phase recovery, and other operations. The signal is then sent to the receiving end data processor for demodulation, deinterleaving, and decoding. The original data is recovered and sent to the destination. The transmitting end data processing and transmitting end signal processing shown in Figure 2 can be applied to the transmitting end processing module 02 shown in Figure 1, and the receiving end data processing and receiving end signal processing shown in Figure 2 can be applied to the receiving end processing module 04 shown in Figure 1.

[0060] Figure 3 is a schematic diagram of one embodiment of a transmitting data processor in an embodiment of the present application. As shown in Figure 3, in a concatenated coding scenario, the transmitting data processor sequentially performs outer code encoding, padding bit insertion, convolutional interleaving, inner code encoding, channel interleaving, symbol mapping, and polarization division on the input data stream. It should be understood that in actual applications, the operations performed by the transmitting data processor include, but are not limited to, those shown in Figure 3. For example, the encoded data frame obtained by outer code encoding may also be scrambled before convolutional interleaving.

[0061] In other possible cascade coding scenarios, as shown in Figure 1, during data transmission from a transmitting device 01 to a receiving device 05, the transmitting device 01 is configured to perform outer code encoding on the data and then transmit the outer-coded data to the transmitting processing module 02. The transmitting processing module 02 is configured to perform inner code encoding on the outer-coded data to obtain outer-coded and inner-coded data, and then transmit the outer-coded and inner-coded data to the channel transmission medium 03. The channel transmission medium 03 is configured to transmit the outer-coded and inner-coded data to the receiving processing module 04. The receiving processing module 04 is configured to perform inner code decoding on the outer-coded and inner-coded data and transmit the inner-coded data to the receiving device 05. The receiving device 05 is configured to perform outer code decoding on the inner-coded data.

[0062] It should be understood that the distinction between "inner" in inner code and "outer" in outer code is based solely on the distance between the entity performing the data operation and the channel transmission medium 03. The entity performing the inner code operation is closer to the channel transmission medium, while the entity performing the outer code operation is farther away. In the embodiment of the present application, after data is transmitted from transmitting device 01, it passes through transmitting processing module 02 to channel transmission medium 03, and then from channel transmission medium 03 to receiving device 05 via receiving processing module 04. The data encoded by transmitting device 01 is farther from channel transmission medium 03 than the data encoded by transmitting processing module 02, and the data decoded by receiving device 05 is farther from channel transmission medium 03 than the data decoded by receiving processing module 04. Therefore, data encoded by transmitting device 01 is referred to as data encoded with an outer code, data encoded by transmitting processing module 02 is referred to as data encoded with an inner code, data decoded by receiving device 05 is referred to as data decoded with an outer code, and data decoded by receiving processing module 04 is referred to as data decoded with an inner code. In one possible implementation, both the inner code encoding and the outer code encoding adopt forward error correction (FEC) encoding, thereby forming a cascade FEC transmission scheme. For example, the transmitting device 01 can adopt Reed-Solomon (RS) code for outer code encoding, and the transmitting processing module 02 can adopt Hamming code for inner code encoding. For another example, the transmitting device 01 can adopt RS code for outer code encoding, and the transmitting processing module 02 can adopt Bose–Chaudhuri–Hocquenghem (BCH) code for inner code encoding. For another example, the transmitting device 01 can adopt RS code for outer code encoding, and the transmitting processing module 02 can adopt Polar code for inner code encoding.

[0063] It should be noted that the above content is an illustrative description of the application scenarios of the data synchronization method provided in the embodiment of the present application, and does not constitute a limitation on the application scenarios of the data synchronization method. Ordinary technicians in this field know that as business needs change, its application scenarios can be adjusted according to application needs, and the embodiments of the present application do not list them one by one.

[0064] 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 corresponding timeout processing is required.

[0065] FIG4 is a flow chart of a method for data synchronization in an embodiment of the present application.

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

[0067] It should be noted that the data synchronization method provided in the embodiment of the present application can be applied to the data transmitting end of the channel or to the data receiving end of the channel, and is applicable as long as it involves synchronizing the data stream of the physical layer. As an example, the method can be implemented by the transmitting end processing module 02 shown in Figure 1. The transmitting end processing module 02 receives N data streams encoded with outer codes sent by the transmitting end device 01. The transmitting end processing module 02 first synchronizes the N data streams, and then performs data processing including inner code encoding before sending them into the channel for transmission. As another example, the method can also be implemented by the receiving end processing module 04 or the receiving end device 05 shown in Figure 1. The receiving end processing module 04 receives N data streams transmitted through the channel. The receiving end processing module 04 first synchronizes the N data streams, and then performs data processing including inner code decoding before sending 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 including outer code decoding.

[0068] It should be understood that the embodiments of the present application do not limit the specific number of N data streams, where N is an integer greater than or equal to 1, such as 8, 16, or 32. The N data streams can be physical medium attachment (PMA) channel data streams, physical coding sublayer (PCS) channel data streams, FEC channel data streams, or physical channel data streams, and are not specifically limited here. In scenarios where N is greater than 1, the N data streams can be associated, for example, N data streams can be distributed from a single data stream.

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

[0070] In the embodiments of the present application, each of the N data streams is independently synchronized. Physical layer data synchronization operations include, but are not limited to, frame synchronization (e.g., DSP frame synchronization), codeword synchronization, symbol synchronization, and interleaving synchronization. It should be understood that the embodiments of the present application do not limit the specific implementation of data synchronization operations. Alternatively, data synchronization (sync) in the embodiments of the present application may also be referred to as data lock (lock) or data alignment (align). For ease of introduction, several possible physical layer data synchronization operations are described below using the data receiving end of a channel as an example.

[0071] As a first example, each data frame in the N data streams sent by the transmitter includes a frame header with a fixed number of bits. This frame header can also be called an alignment marker, 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. In other words, frame synchronization is completed when the boundary or synchronization position of each data frame in the data stream is determined.

[0072] As a second example, the transmitting end performs an FEC encoding operation including outer code encoding and inner code encoding on the data stream to be transmitted. Figure 5 is a schematic diagram of an FEC codeword in an embodiment of the present application. As shown in Figure 5, the codeword after FEC encoding includes the original information bits and the check bits obtained by FEC encoding. The receiving end 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. In other words, when the boundary or synchronization position of each codeword in the data stream is determined, the codeword synchronization is completed.

[0073] As a third example, the outer code length is calculated in units of symbols, where a symbol can include one or more bits. Symbols are also referred to as symbol groups. For example, the outer code uses the KP4 RS (544,514) code, with a code length of N = 544 symbols, where each symbol contains 10 bits. The receiving end performs symbol synchronization on the received data stream to determine the boundaries of each symbol in the data stream, which can also be understood as determining the synchronization position of the symbol. In other words, symbol synchronization is completed when the boundaries or synchronization position of each symbol in the data stream are determined.

[0074] As a fourth example, the transmitting end performs an interleaving operation on the data stream to be transmitted, and the interleaving operation includes but is not limited to convolution interleaving and group interleaving. Figure 6 is a schematic diagram of an implementation method of convolution interleaving in an embodiment of the present application. As shown in Figure 6, the convolution interleaver includes multiple delay lines. Here, four delay lines are taken as an example. Each delay line includes a different number of storage units, and each storage unit is used to store the same number of symbols. The storage unit can also be called a delay block. The box on each delay line in Figure 6 is used to represent the storage unit. The input side of the convolution interleaver is the four codewords after FEC encoding, which are respectively recorded as codeword A, codeword B, codeword C and codeword D. The output side of the convolution interleaver is the data stream after convolution interleaving. The input side and output side of the convolution interleaver each have a switchable connection switch for connecting a delay line at the same time. The symbols of the FEC codeword enter the convolution interleaver by column, one codeword at a time. Each time an FEC symbol enters the input side of the convolutional interleaver, the output side of the convolutional interleaver simultaneously outputs a symbol. The switches on both sides then switch to the next delay line, polling in the order of the delay line numbers (0, 1, 2, 3, 0, 1, 2, 3, 0, 1, ...). Because the convolutional interleaver is divided into multiple delay lines, and each delay line has a different length, the delay used by each delay line is also different during deinterleaving at the receiving end. The sequence number of each delay line must be strictly distinguished to correctly recover the data. This is equivalent to finding delay line 0 and determining the synchronization position where delay line 0 periodically appears. The circled position in Figure 6 is the synchronization position to be found, which can also be understood as finding the starting position of each column of the convolutional deinterleaver, that is, determining the interleaving starting position of each data stream through interleaving synchronization. In other words, once the interleaving starting position of the data stream is determined, interleaving synchronization is completed.

[0075] It should be noted that each physical layer data synchronization operation has a corresponding synchronization start time. The specific time depends on the actual application of each data synchronization operation and is not limited here. For example, for frame synchronization, the start time of frame synchronization can be the time when the receiving device is powered on. For another example, for codeword synchronization, the end time of link training can be the start time of codeword synchronization. Any time period between the start and completion of synchronization for each data stream can be considered the synchronization process of that data stream. That is, the time period from the start of synchronization to the completion of synchronization is the complete synchronization process, and any time period between the start and completion of synchronization is a partial synchronization process. These all belong to the synchronization process of the data stream. Therefore, starting the timing at any moment in the synchronization process of a data stream can be understood as timing the synchronization process of the data stream. It should be understood that in scenarios where N is greater than 1, the synchronization start times of multiple data streams are generally the same. Of course, in some possible scenarios, the synchronization start times of multiple data streams may not be exactly the same, but the time difference is small and generally negligible.

[0076] In some possible implementations, the synchronization process of the data stream can be timed by a timer, and a threshold value can be set for the timer to facilitate determining whether the data stream has timed out of synchronization. The timing method of the timer can be to start counting up from 0, or to start counting down from a set threshold value, which is not specifically limited here. In another possible implementation, the synchronization process of the data stream can also be timed by a counter. For example, counting the number of bits, symbols, or data blocks that have been sent or received in the data stream since the start of the synchronization process by a counter is also equivalent to timing the synchronization process of the data stream. For another example, the counter has a fixed duration per beat, 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 software, which is not specifically limited here.

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

[0078] It should be noted that the embodiments of the present application have designed a variety of possible timeout conditions, which are introduced below. For the sake of ease of introduction, the following is an example of setting the threshold value by a timer. If a counter is used for timing, the threshold value can also be set in a similar manner. Among them, the threshold value set by the timer can be specified by the standard or customized by the user. The threshold value can be an integer or not. The threshold value can also be any value within a range of values, which is not specifically limited here. In addition, the threshold value itself allows for floating errors. For example, if the threshold value is 80ms and a 2% time length error is allowed, it can be recorded as 80±1.6ms or 80ms±2%.

[0079] In a first possible implementation, 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, excluding the first synchronized data stream, have not yet completed synchronization, the timeout condition is considered to be met. It is understood that the timer measures the synchronization process of the other N-1 data streams, excluding the first synchronized data stream, among the N data streams. Optionally, the other N-1 data streams not yet completing synchronization means that at least one of the other N-1 data streams has not yet completed synchronization.

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

[0081] In a third possible implementation, for scenarios where N > 1, N timers are used to time the synchronization process of the N data streams, with each data stream corresponding to a threshold. Each timer starts counting from the synchronization start time of the corresponding data stream. The N thresholds can be the same, or they can be different. If the synchronization process of at least one of the N data streams takes longer than or equal to the corresponding threshold, the timeout condition is considered met.

[0082] In a fourth possible implementation, for scenarios where N > 1, there will inevitably be a data stream that takes the longest to synchronize. A timer can be used to set a second threshold. Assuming that N data streams begin synchronization simultaneously, if the synchronization duration of the data stream that takes the longest to synchronize is greater than or equal to the second threshold—that is, if the data stream that takes the longest to synchronize has not yet completed synchronization when the timer reaches the second threshold from the start of synchronization for the N data streams, the timeout condition is considered met.

[0083] In a fifth possible implementation, for a scenario where N > 1, the first data stream among the N data streams to complete synchronization must exist, i.e., the data stream with the shortest synchronization time. A timer can be used to set a third threshold. If the synchronization time of the first data stream to complete synchronization is greater than or equal to the third threshold, that is, if no data stream has completed synchronization by the time the timer reaches the third threshold from the start time of synchronization of the N data streams, then the timeout condition is considered to have been met.

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

[0085] It should be noted that, for the several implementation methods provided above, any one of them can be used as an implementation method for determining whether the timeout condition is met. In some possible scenarios, the several implementation methods provided above 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 methods, it can be ultimately considered that the timeout condition is met. As another example, if it is determined that the timeout condition is met through one of the implementation methods, but it is determined that the timeout condition is not met through another implementation method, then a judgment rule can be further designed on this basis to determine whether the timeout condition is ultimately met. The specific judgment rule shall be based on actual needs and is not limited here. For example, if it is determined that the timeout condition is met through the fourth implementation method mentioned above, and it is determined that the timeout condition is not met through the fifth implementation method mentioned above, it is still considered that the timeout condition is met; otherwise, it is considered that the timeout condition is not met; that is, it is usually still the priority judgment condition whether the synchronization process of the N data streams as a whole has timed out.

[0086] Several possible application scenarios are introduced below in combination with the various implementation methods provided above.

[0087] However, it should be noted that the data streams to be transmitted can have multiple rate modes, for example, 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 in which N data streams are transmitted in the physical layer can be different, that is, the value of N can be 8, 16, or 32. Based on the different positions of the 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. 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 PCS channel data streams.

[0088] FIG7 is a schematic diagram of the first application scenario of synchronization of multiple data streams in an embodiment of the present application. As shown in FIG7 , eight data streams are codeword synchronized separately, and the eight data streams start codeword synchronization at the same time. The timer starts timing from the codeword synchronization start time of the eight data streams. As an example, the timer is set with a threshold value T1, which is the maximum time taken for the synchronization process set for the first data stream to complete codeword synchronization. Data stream 1 is the first data stream to complete codeword synchronization. When the timer reaches the threshold value T1, if data stream 1 has not completed codeword synchronization, it is considered that the timeout condition is met. As another example, the timer is set with a threshold value T2, which is the maximum time taken for the synchronization process set for the other seven data streams except data stream 1. If at least one data stream has not completed codeword synchronization when the timer reaches the threshold value T2, it is considered that the timeout condition is met. For example, data stream 5 is the data stream that takes the longest time for codeword synchronization. When the timer reaches the threshold value T2, if data stream 5 has not completed codeword synchronization, it is considered that the timeout condition is met. As another example, if data stream 1 completes codeword synchronization before the timer reaches threshold T1, but data stream 5 still has not completed codeword synchronization when the timer reaches threshold T2, then the timeout condition is considered to be met. For example, threshold T1 = 2ms, threshold T2 = 3.2ms.

[0089] FIG8 is a schematic diagram of a second application scenario for synchronizing multiple data streams in an embodiment of the present application. As shown in FIG8 , after the transmitting end 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 located in the X polarization direction and the other is located in the Y polarization direction. Therefore, the 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 mutually orthogonal. Among them, the structure of the data frame in the data streams in the two polarization directions is the same, and a fixed-length frame header 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 searching for 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 direction, the data stream in the X deflection direction and the Y polarization direction may cause a delay difference (skew) in the 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 data streams in the X deflection direction and the Y polarization direction are synchronized from 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 value T3, which is the maximum synchronization time for the first synchronized data stream. If no data stream has completed synchronization by the time Timer 1 reaches threshold T3, the timeout condition is considered met. If the data stream in the Y polarization direction completes synchronization before Timer 1 reaches threshold T3, Timer 2 starts counting from the moment the data stream in the Y polarization direction completes synchronization. Timer 2 is set with a threshold value T4. If the data stream in the X polarization direction has not completed synchronization by the time Timer 2 reaches threshold T4, the timeout condition is considered met. For example, threshold T3 = 20ms and threshold T4 = 15.6ms.

[0090] 104. Perform timeout processing.

[0091] If the synchronization time of at least one data item in the N data streams is determined to have met the timeout condition, timeout processing is required. Timeout processing methods include, but are not limited to, reporting an error, resetting the system, restarting the device, and restarting synchronization. As an example, a message can be generated based on the determination process in step 103 above, indicating the data stream that met the timeout condition, and the message can be sent to the upper layer.

[0092] From the above introduction, it can be seen that in the scenario of synchronizing the data stream of the physical layer, the embodiment of the present application provides a method for data synchronization, which can time the synchronization process of the data stream. Furthermore, judging whether there is a data stream whose synchronization process time meets the timeout condition is equivalent to judging whether there is a situation where the synchronization time is too long. If there is a situation where the synchronization time is too long, it means that there may be a system failure or link deterioration, then it is necessary to perform corresponding timeout processing, such as error reporting and system reset, so as to respond to the system failure or link deterioration in a timely manner, thereby optimizing the data transmission efficiency.

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

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

[0095] Figure 10 is a structural diagram of a sending device in an embodiment of the present application. As shown in Figure 10, the sending device includes a processor 301 and an interface circuit 302. The processor 301 is used to perform the operations of steps 101 to 104 above and perform data processing on the synchronized data stream. The interface circuit 302 is used to send the processed data stream through a channel. It should be understood that the interface circuit 302 can be a transceiver or an input / output interface, and 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 also include a memory 303, wherein the memory 303 is used to store program instructions and data.

[0096] Figure 11 is a schematic diagram of the structure of a receiving device in an embodiment of the present application. As shown in Figure 11, 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 above and perform data processing on the synchronized data stream. It should be understood that the interface circuit 302 can be a transceiver or an input / output interface, and 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 also include a memory 403, wherein the memory 403 is used to store program instructions and data.

[0097] The present application also provides a chip in an embodiment. The chip includes one or more interface circuits and also integrates processing circuits for implementing the functions of the aforementioned processor 301 or processor 401. As an example, the chip integrates a memory. As another example, when the chip does not integrate a memory, it can be connected to an external memory via an interface. The chip can perform the method steps of any one or more of the aforementioned embodiments. Alternatively, the chip implements the actions performed by the data processing device in the aforementioned embodiments based on program code stored in the memory.

[0098] An embodiment of the present application further provides a computer-readable storage medium, including a program or instruction. When the program or instruction is executed on a computer, the method executed by the processor 301 or the processor 401 in the above method embodiment is executed.

[0099] It should be understood that the processors mentioned in the embodiments of the present application can be implemented by hardware or 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 is implemented by reading software code stored in a memory.

[0100] As an example, the processor in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor may be a microprocessor, or any conventional processor, or a processing circuit that implements a specific function.

[0101] In the embodiments of the present application, the memory may be a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a mobile hard disk, a CD-ROM, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a 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 an integral part of the processor. The processor and the storage medium may be located in an ASIC. In addition, the ASIC may be located in a network device or a terminal device. Of course, the processor and the storage medium may also exist in a network device or a terminal device as discrete components.

[0102] In the above embodiments, all or part of them can be implemented by software, hardware, firmware or any combination thereof.

[0103] When implemented using hardware, the data processing method provided in the embodiments of the present application may be implemented without 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.

[0104] 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 programs or instructions. When the computer program or instruction is loaded and executed on a computer, the process or function described in the embodiment of the present application is 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 device. The computer program or instruction may be stored in a computer-readable storage medium or transmitted via the computer-readable storage medium. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, a hard disk, or a magnetic tape; it may also be an optical medium, such as a digital versatile disc (DVD); it may also be a semiconductor medium, such as a solid state disk (SSD).

[0105] Finally, it should be noted that the above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any modifications or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application should be included within the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection 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, perform timeout processing.

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 yet.

3. The method according to claim 1, characterized in that, 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, 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 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 data streams after synchronization 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 data streams after synchronization.

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 data stream that completes synchronization among the N data streams, and the timer is used to time the synchronization process of the other N-1 data streams except the first data stream that completes synchronization 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 completed synchronization.

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 value.

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 value, 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 value.

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 except the first data stream that completes synchronization 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 value, and / or, the duration of the synchronization processes of the N-1 data streams is greater than or equal to the fourth threshold value.

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 value, 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 value.

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 and the second polarization direction are orthogonal to each other.

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 boundaries of each of the data streams; Perform codeword synchronization on each of the N data streams to determine the codeword boundaries of each of the data streams; Perform interleaving synchronization on each of the N data streams to determine the interleaving start positions of each of the data streams; Perform symbol synchronization on each of the N data streams to determine the symbol group boundaries of each of the data streams.

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

Patent Citations

  • Data synchronization method, device and system

    CN120301573A

  • Data stream synchronization method and device

    CN112135177A

  • Large-data-volume data synchronization method between master controllers of mimicry industrial controllers

    CN113433919A

  • Unbounded flow data processing method and device, equipment and storage medium

    CN113760989A

  • Data synchronization method, data synchronization system and data synchronization program

    US20040215810A1