Data sending method, data receiving method, device and chip

By generating and transmitting data unit groups containing verification and error correction information in optical communication, and using XOR processing to recover received erroneous data, the problem of service interruption caused by fiber optic link failures and bit errors is solved, and the reliability and lossless protection of data transmission are achieved.

WO2026045191A1PCT designated stage Publication Date: 2026-03-05HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/079814
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-26
Filing Date
2025-02-28
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

In optical communication, the service interruption and bit error problems caused by fiber optic link failures make it difficult for existing technologies to improve the reliability of data transmission without interrupting services.

Method used

By mapping the data to be transmitted to y*N data units, a y*M data unit group is generated. Each data unit group includes N+M data units. The M data units are used to carry verification and error correction information. The verification and error correction information is generated by XOR processing and transmitted through different optical fiber links. The receiving device uses other data units to recover the received data that was erroneous.

Benefits of technology

In the event of fiber optic link failure or bit error, it can quickly recover erroneous data, improve data transmission reliability without interrupting services, and achieve lossless protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025079814_05032026_PF_FP_ABST
    Figure CN2025079814_05032026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of optical communications, and provides a data sending method, a data receiving method, a device and a chip. The method is applied to a sending device, and comprises: the sending device mapping data to be sent to data units carrying data, and on the basis of the data units carrying data, generating data units carrying error checking and correction information; and by means of an optical fiber link, sending the data units carrying data and the data units carrying error checking and correction information together to a receiving device. In this way, error checking and correction information is further sent when data is sent, and the error checking and correction information is used for performing error correction on the data; therefore, the reliability of data transmission can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Data transmission methods, data reception methods, devices and chips

[0001] This application claims priority to Chinese patent application filed on August 26, 2024, application number 202411178875.0, entitled "Method for transmitting data, method for receiving data, apparatus and chip", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of optical communication technology, and in particular to a method for transmitting data, a method for receiving data, an apparatus, and a chip. Background Technology

[0003] Optical communication technology features high bandwidth, large capacity, high reliability, and low latency, and is widely used in data communication. For example, two regions can communicate using optical communication technology.

[0004] To ensure the reliability of data transmission, independent primary and backup fiber optic links are deployed between the transmitting and receiving ends. Optical switches enable dual transmission and selective reception of optical signals. In this way, when a fiber optic link fails, the fiber fault is detected first, and then the optical switch performs link switching. This will result in a period of service interruption during the primary / backup switchover. Summary of the Invention

[0005] This application provides a data transmission method, a data reception method, an apparatus, and a chip that can improve data transmission reliability without interrupting services. The technical solution adopted is as follows:

[0006] In a first aspect, this application provides a data transmission method applied to a transmitting device. The method includes: mapping data to be transmitted to y*N data units and generating y*M data units to obtain y data unit groups. Each data unit group includes N+M data units. The M data units in each data unit group are used to carry the error correction information of the N data units in the group. The M data units are used to correct errors in the M data units in the N data units. y, N, and M are all greater than or equal to 1. For each data unit group, each data unit in the data unit group is transmitted to a receiving device via an optical fiber link. The number of data units sharing the optical fiber link in each data unit group is at most M.

[0007] In the scheme shown in this application, when sending data to be transmitted, the data to be transmitted is mapped to data units carrying data. Data units carrying error correction information are generated based on the data units carrying the data, resulting in data unit groups. Each data unit group includes M data units carrying error correction information. The data units in each data unit group are distributed to fiber optic links for transmission, and the number of data units sharing the fiber optic link in each data unit group is at most M. Thus, when the receiving device receives data, if there are M data units with reception errors, the error correction information can be used to recover the erroneous data. This not only improves the reliability of data transmission but also achieves lossless data protection without service interruption.

[0008] In one alternative approach, when generating y*M data units, the contents of N data units belonging to the same data unit group within the y*N data units are XORed to obtain y*M data units. This XOR operation allows for the extraction of verification and error correction information, thus enabling the rapid acquisition of verification and error correction information for each data unit group.

[0009] In one alternative approach, each data unit includes at least one data unit, each data unit including a header overhead field and a payload field. For each data unit, the payload field includes multiple sub-payload fields, each sub-payload field including a data portion and a check portion. Thus, for each sub-payload field, the check portion in the sub-payload field can check the data portion in the sub-payload field, thereby obtaining the accurate data carried in the data unit.

[0010] In one alternative approach, when the data unit is an optical data unit (ODU) frame, for each sub-payload field, the data portion of the sub-payload field is 948 bytes and the check portion is 4 bytes, thus enabling the payload portion of the ODU frame to be divided into an integer number of sub-payload fields.

[0011] In an alternative approach, in order to carry the already encoded code blocks using data units, the data portions of two adjacent sub-payload fields in multiple sub-payload fields jointly carry 57 257-bit code blocks and 5 bits of padding.

[0012] In one alternative approach, when the data transmission method is applied to an optical transport network, each data unit is an ODU frame. This allows the use of existing ODU frames without requiring modification to the transmission protocol, simplifying the implementation process.

[0013] In one alternative approach, there are multiple combinations of values ​​for N and M. Several possible combinations are provided here, where N equals 3, 2, or 1, and M equals 1.

[0014] In one alternative approach, when the transmitting device includes a tributary board and a line board, the tributary board performs the processes of mapping the data to be transmitted, generating error correction information, and distributing data units. For example, the tributary board maps the data to be transmitted into y*N data units and generates y*M data units, resulting in y data unit groups. For each data unit group, the tributary board distributes the data units from different paths within that group to line boards connected to different fiber optic links, thus transmitting the data units from different paths to the receiving device via these links. This separation of the tributary board and line board for lossless electrical layer protection ensures uninterrupted service even in the event of optical layer failures.

[0015] Secondly, this application provides a method for receiving data, applied to a receiving device, the method comprising:

[0016] If the first data unit has received erroneous data, other data units in the first data unit group are acquired. The first data unit group includes N+M data units, where N data units are used to carry data, M data units are used to carry the verification and error correction information of the N data units, and M data units are used to correct errors in the M data units of the N data units. The N data units include the first data unit. Based on the other data units, the received erroneous data in the first data unit is recovered.

[0017] In the solution shown in this application, if there are M channels of erroneous data during data reception by the receiving device, the erroneous data can be recovered using error correction information and other data units belonging to the same data unit group. This not only improves the reliability of data transmission, but also enables lossless data protection without interrupting the service.

[0018] In one alternative approach, when recovering erroneously received data from the first data unit using other data units, the data corresponding to the erroneously received data from the first data unit is retrieved from these other data units. Then, the data from different data units is XORed to obtain the erroneously received data from the first data unit. Thus, the erroneously received data can be recovered using XOR processing, enabling rapid recovery of the received data.

[0019] In one alternative approach, each data unit includes at least one data unit, each data unit including a header overhead field and a payload field. For each data unit, the payload field includes multiple sub-payload fields, each sub-payload field including a data portion and a check portion. The check portion is generated using the data portion. Thus, for each sub-payload field, the check portion in the sub-payload field can verify the data portion in the sub-payload field, thereby obtaining the accurate data carried in the data unit.

[0020] In one alternative approach, when it is determined that there is received data with errors in the first data unit, the data portion of each sub-payload field can be checked for the first data unit. If a sub-payload field fails the check, it can be determined that there is received data with errors in the first data unit. Alternatively, if the fiber optic link transmitting the first data unit is interrupted, the receiving device will not receive the first data unit, thus determining that there is received data with errors in the first data unit. In this way, it can be determined that there is received data with errors in the first data unit.

[0021] In one alternative approach, to obtain accurate data for the first data unit, for each sub-payload field in the first data unit, the data portion is validated using the validation part of that sub-payload field. If the validation is successful, the data carried by the first data unit is obtained. Thus, because the data portion is validated using the validation part, the data carried by the first data unit is only obtained when the validation is successful, thereby ensuring that accurate data for the first data unit is obtained.

[0022] In one alternative approach, before acquiring other data units in the first data unit group, the multiple data units in the first data unit group are aligned to ensure that other data units belonging to the same data unit group are accurately acquired.

[0023] Thirdly, this application provides a transmitting device, which includes a processor and an interface, wherein the processor is used to obtain a data unit group based on the data to be transmitted, and the interface is used to obtain the data to be transmitted.

[0024] Fourthly, this application provides a receiving device, which includes a processor and an interface, wherein the processor is used to acquire data carried on a data unit, and the interface is used to output the data carried on the data unit.

[0025] Fifthly, this application provides a communication system, which includes a transmitting device as described in the third aspect and a receiving device as described in the fourth aspect.

[0026] In a sixth aspect, this application provides a chip for performing the data transmission method provided in the first aspect or any alternative method of the first aspect.

[0027] In a seventh aspect, this application provides a chip for performing the data receiving method provided in the second aspect or any alternative method of the second aspect. Attached Figure Description

[0028] Figure 1 is a schematic diagram of a traditional link protection architecture;

[0029] Figure 2 is a schematic diagram of the system architecture provided in an exemplary embodiment of this application;

[0030] Figure 3 is a schematic diagram of the structure of an optical transport network device provided in an exemplary embodiment of this application;

[0031] Figure 4 is a schematic diagram of the structure of an optical transport network device provided in another exemplary embodiment of this application;

[0032] Figure 5 is a structural schematic diagram of an optical transport network device provided in another exemplary embodiment of this application;

[0033] Figure 6 is a schematic flowchart of a data transmission and reception method provided in an exemplary embodiment of this application;

[0034] Figure 7 is a schematic diagram of generating verification and error correction information provided in an exemplary embodiment of this application;

[0035] Figure 8 is a schematic diagram of an ODN frame provided in an exemplary embodiment of this application;

[0036] Figure 9 is a schematic diagram of data unit generation and distribution provided in an exemplary embodiment of this application;

[0037] Figure 10 is a schematic diagram of data unit generation and distribution provided in another exemplary embodiment of this application;

[0038] Figure 11 is a schematic diagram of a data unit group provided in an exemplary embodiment of this application;

[0039] Figure 12 is a schematic diagram of the framework of a receiving data unit provided in an exemplary embodiment of this application;

[0040] Figure 13 is a schematic diagram of the framework of a receiving data unit provided in another exemplary embodiment of this application. Detailed Implementation

[0041] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0042] An optical transport network (OTN) is a wavelength division multiplexing (WDM) transmission network that interconnects optical fibers. For a single high-speed optical port, multiple sub-channels can be used to carry different services through time-division multiplexing (TDM) time slot allocation. For example, an 800G (gigabits per second, Gbps) optical port can be divided into 160 5G time slots, which can carry 8 optical data units (ODUs) for 4 frames or 2 flexible rate optical data units (ODUflex) for 4 frames. Each ODU4 frames is 100G, and each ODUflex frame is 400G.

[0043] With the development of network technology, cloud architecture has become the mainstream architecture for computing centers. As shown in Figure 1, in a cloud architecture, a region is further divided into multiple availability zones (AZs) for reliability considerations to reduce the risk of single points of failure. Multiple AZs can be about 100km apart, interconnected point-to-point. Massive amounts of data exist between AZs, requiring high-speed and secure transmission. Therefore, OTN technology is used for transmission between AZs, and primary / backup link protection is also provided. For example, multiple Ethernet interfaces of switches in an AZ are mapped to the colored light of the optical transport network equipment. The colored light includes multiple wavelengths, which are combined and split into a single optical fiber by a multiplexer. Then, optical switches perform dual transmission and selective reception functions. The optical switches are also connected to optical amplifiers to amplify the optical signals. Thus, in the event of a fiber optic failure, the failure must be detected first before the optical switch is switched to restore service. This results in approximately 50ms of service interruption during the primary / backup failover period, potentially causing the entire computing task of the AZ to fail. Moreover, even under normal fiber optic link conditions, there are still bit errors of 1E-15 to 1E-12. When bit errors occur, the receiving side will discard the data with bit errors, resulting in data loss.

[0044] Based on this, this application provides a method for sending and receiving data. In this method, verification and error correction information is generated based on business data. The business data and the verification and error correction information are sent together to the receiving device. In this way, when a fiber optic link failure occurs or a bit error occurs, the verification and error correction information can be used to recover the business data, thereby improving the reliability of data transmission.

[0045] The system architecture of an embodiment of this application is described below.

[0046] Figure 2 provides a schematic diagram of the system architecture. As shown in Figure 2, the system architecture includes multiple optical transport network devices. Each optical transport network device is a network element, and every two optical transport network devices are connected by multiple optical fibers, meaning there are multiple optical fiber links between every two optical transport network devices. Each optical transport network device can function as both a transmitting device and a receiving device.

[0047] Optionally, the system architecture is applied in 400G zero-reach (ZR) scenarios, 800G ZR scenarios, or 1.6T ZR scenarios. ZR refers to high-bandwidth and short-distance optical transmission technology used for connections between data centers or metropolitan area networks. Specifically, 400G ZR refers to achieving a data transmission rate of 400Gbps on a single optical fiber, a key technology for high-density, high-rate transmission. 800G ZR and 1.6T ZR are similar to 400ZR and will not be elaborated further here. Thus, the optical transport network equipment is used to provide transmission services in data centers or metropolitan area networks.

[0048] Optionally, when the system architecture is applied in the cloud domain, each optical transport network device is located in an Availability Zone (AZ) and connected to a switch or router in that AZ; alternatively, each optical transport network device is located in a Region and connected to a switch or router in that Region. In this configuration, the switches or routers in either the AZ or the Region are connected to multiple servers, providing data forwarding services to the servers.

[0049] Optionally, Figures 3 and 4 provide structural schematics of an optical transport network device. The optical transport network device includes branch boards and line boards. The number of branch boards and line boards can be one or more. Each branch board is connected to at least one line board. The line boards are used to connect to optical fiber links. Figures 3 and 4 both include four branch boards and four line boards. Figure 3 shows a case where one line board is connected to one optical fiber link, and Figure 4 shows a case where one line board is connected to multiple optical fiber links. The signals transmitted from the branch boards to the line boards are electrical signals, and the signals output by the line boards are optical signals. Each optical fiber link transmits one or more wavelengths of optical signals. In the case of transmitting multiple wavelengths of optical signals, the optical transport network device also includes multiple multiplexers. Each multiplexer is located between a line board and an optical fiber link. When transmitting optical signals, it combines optical signals of different wavelengths into a single optical signal; when receiving optical signals, it separates optical signals of different wavelengths from a single optical signal. Different multiplexers are located between different line boards and optical fiber links. For example, there are 4 branch boards and 4 line boards. Each branch board is connected to each line board. Each line board includes multiple optical modules. The wavelengths of the optical signals output by the multiple optical modules are different. The multiple optical modules are connected to a multiplexer. The multiplexer is connected to an optical fiber link.

[0050] Optionally, the optical transport network equipment also includes multiple optical amplifiers, each located between the circuit board and the optical fiber link, for amplifying the optical signals transmitted through the optical fiber link.

[0051] Alternatively, the branch board and the circuit board can each use independent chips, or they can be integrated together using a single chip.

[0052] Optionally, Figure 5 provides another schematic diagram of the optical transport network device, which includes a processor and an interface. The processor may be, for example, a general-purpose central processing unit (CPU), a network processor (NP), a graphics processing unit (GPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits used to implement the scheme of this application. For example, the processor may include an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The PLD may be, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The interface uses any transceiver-like device for communication with other devices or communication networks. This interface may be an Ethernet interface. The Ethernet interface may be an optical interface, an electrical interface, or a combination thereof.

[0053] In the optical transport network device, when acting as a transmitting device, the processor is used to map the data to be transmitted and generate data unit groups; this interface is used to obtain the data to be transmitted. When acting as a receiving device, the processor is used to obtain the data carried on the data units; this interface is used to output the data carried on the data units.

[0054] The following describes the data sending and receiving process.

[0055] Figure 6 provides a flowchart of the data sending and receiving method, see steps 601 to 604 in Figure 6.

[0056] Step 601: The transmitting device maps the data to be transmitted to y*N data units and generates y*M data units to obtain y data unit groups. Each data unit group includes N+M data units. The M data units in each data unit group are used to carry the verification and error correction information of the N data units in the group. The M data units are used to correct the errors of the M data units in the N data units. y, N and M are all greater than or equal to 1.

[0057] The data to be sent includes one or more types of service data. The data to be sent can be data generated by the sending device or data received from other devices. For example, when used for data transmission between Availability Zones (AZs), the data to be sent can be Ethernet frames received from switches within the AZ.

[0058] In this embodiment, after the transmitting device obtains the data to be transmitted, it maps the data to be transmitted to y*N data units. The value of y can be set according to actual needs. y depends on the number of data channels mapped in the data to be transmitted, and can be considered as the mapping ratio or distribution ratio. For example, if the data is mapped to four channels, the value of y is 4. For example, when y equals 4, if the data to be transmitted includes multiple data channels, the first to the i-th bit (bit, b) of each data channel is mapped to the first data unit, the (i+1)-2i-th bit is mapped to the next data unit, the (2i+1)-3i-th bit is mapped to the next data unit, the (3i+1)-4i-th bit is mapped to the next data unit, and then the (4i+1)-5i-th bit is mapped to the first data unit, and so on, in a round-robin fashion. A set of y*N data units belongs to y data unit groups. For each data unit group, N data units within that group are used to generate verification and error correction information, which is carried in M ​​data units, which also belong to that data unit group. Based on this method, y data unit groups can be obtained, each containing N+M data units. Within a data unit group, for each of the M data units carrying verification and error correction information, each data unit recovers one data unit from the N data units. Therefore, a data unit group can recover M data units, and a data unit group can be considered a lossless protection group. The values ​​of y, M, and N will be explained later.

[0059] It should be noted that, in the data unit group mentioned later, the N-way data unit is the data unit carrying data, and the M-way data unit is the data unit carrying verification and error correction information. "Way" can be understood as a logical transmission channel through which data units are continuously sent.

[0060] It should also be noted that in the embodiments of this application, data units obtained by mapping data received from different interfaces are generally grouped into data unit groups. This facilitates mapping each received signal to an optical fiber link. For example, if the transmitting device has 4 optical fiber links and 3 interfaces, each interface receiving one 800G signal, the 800G signal is divided into 8 data units. One data unit is extracted from each 800G signal, and this extracted data unit is combined with one data unit carrying error correction information to form a data unit group, which is then distributed to the 4 optical fiber links. Different optical fiber links transmit different data units. Here, if there are many interfaces, the interfaces can also be grouped. For example, if there are 6 interfaces, they can be divided into two groups, and then the signals received by the two groups of interfaces are mapped separately.

[0061] In one alternative approach, y can be set to a fixed value, such as y equal to 4, 8, or 16. Alternatively, the value of y can be related to the rate of the client signal and the rate of each data unit, where y equals the rate of the client signal divided by the rate of each data unit. For example, if the rate of the client signal is 400G and the rate of each data unit is 100G, the value of y is 4.

[0062] In one alternative approach, since M data units in a data unit group carry verification and error correction information, the larger the value of M, the more redundant information there is. Therefore, in order to reduce redundant information, M can be set to 1.

[0063] In one alternative approach, since a larger value of M allows for the recovery of more data units from a data unit group, M can be set to a value greater than 1. For example, M can be 2, 3, or 4, etc., dividing the N data units in a data unit group into M groups, and using each group of data units to generate one data unit carrying verification and error correction information. In this way, a data unit group includes M data units carrying verification and error correction information.

[0064] In one alternative approach, the value of M is related to link quality. When link quality is good, the probability of data loss is low, so M is set to a smaller value. Conversely, when link quality is poor, the probability of data loss is high, so M is set to a larger value. The value of M under a first link quality condition is greater than the value of M under a second link quality condition. In this case, after detecting a significant and sustained change in link quality, M can be dynamically adjusted based on its relationship with link quality. Alternatively, the value of M can be related to transmission bandwidth. The value of M under a first transmission bandwidth condition is greater than the value of M under a second transmission bandwidth condition. A higher first transmission bandwidth allows for the transmission of more redundant information.

[0065] In one alternative approach, N+M depends on the number of fiber optic links used simultaneously by the transmitting device. The larger the number of fiber optic links used for simultaneous transmission, the larger the value of N+M can be. For example, if one data unit carrying error correction information can recover one data unit, when M equals 1, different data units use different fiber optic links for transmission, and the maximum value of N is the maximum number of fiber optic links of the transmitting device minus one. When M is greater than 1, M data units carrying error correction information can recover M data units, and different data units may use the same fiber optic links for transmission. The maximum value of N is the maximum number of fiber optic links of the transmitting device minus M plus 1. This maximum number of fiber optic links is the number of fiber optic links used for simultaneous transmission, which refers to the fiber optic links used to transmit multiple data units in a data unit group.

[0066] In one alternative approach, N and M can be set to fixed values, where N is any value greater than 1, such as N equals any value from 1 to 10 and M is 1, or N equals any value from 2 to 10 and M is 2.

[0067] In one optional approach, the verification and error correction information is determined as follows: When M is 1, the N data units belonging to the same data unit group are XORed to obtain the verification and error correction information for that data unit group. For example, as shown in Figure 7, in a data unit group, the N data units include 3 data units, each showing one data unit, which are data units 1 to 3. The M data units include 1 data unit, and the data unit carrying the verification and error correction information is data unit 4. Data unit 4 (verification and error correction information) = (data unit 1) XOR (data unit 2) XOR (data unit 3). When M is greater than 1, the N data units in a data unit group are divided into M groups, and the data units in each group are XORed to generate one data unit carrying the verification and error correction information, resulting in M ​​data units.

[0068] In one alternative approach, each data unit includes at least one data unit, and each data unit includes a header overhead field and a payload field. The header overhead field of the data unit is related to the encapsulation format of the data unit. For example, the header overhead field includes a frame alignment signal field, necessary overhead fields, and reserved fields. The payload field includes at least one sub-payload field. For each sub-payload field, the sub-payload field includes a data portion and a check portion. The check portion is calculated using the data portion. For example, the check portion is calculated by inputting the data portion into a check algorithm (such as the cyclic redundancy check (CRC)32 algorithm). The check portion is used to check the data portion. Here, the check algorithm is CRC32 as an example for illustration. Any algorithm that can check the data portion can be applied to the embodiments of this application, and the embodiments of this application are not limited.

[0069] When a data unit includes a header overhead field and a payload field, the header overhead field of each data unit in each data unit group is generated independently, but the generation logic is the same.

[0070] Optionally, when M equals 1, in a data unit group, in the data unit carrying verification and error correction information, the data part of the first sub-payload field is obtained by XORing the data part of the first sub-payload field of the N-way data unit, the data part of the second sub-payload field is obtained by XORing the data part of the second sub-payload field of the N-way data unit, and so on, to obtain the data part of each sub-payload field in the data unit carrying verification and error correction information.

[0071] For each sub-payload field, the checksum portion of that sub-payload field is calculated using the data portion of that sub-payload field.

[0072] The case where M is greater than 1 is similar to the case where M is equal to 1, and will not be elaborated here.

[0073] In one alternative approach, the data unit is an ODU frame, which can be an ODU4 frame or other types of ODU frames, such as an ODUflex frame, etc. The embodiments of this application do not limit this.

[0074] Optionally, the structure of an ODU frame includes a header overhead field and a payload field. The payload field includes at least one sub-payload field, the number of which can be arbitrarily set, such as 1, 4, 8, 16, or 32. Each sub-payload field includes a data portion and a check portion, with the check portion used to verify the data portion. For example, Figure 8 provides one possible structure of an ODU frame, which is 4 rows and 3824 columns. The header overhead field occupies 4*16 bytes, and the payload field includes 16 sub-payload fields. The data portion in each sub-payload field is 948 bytes, and the check portion is 4 bytes. These 4 bytes are the result of inputting the 948 bytes of data content into the check algorithm. Two consecutive 948-byte blocks carry 59 257-bit code blocks and 5 bits of padding. As another example, in another possible structure of an ODU frame, the header overhead field occupies 4*16 bytes, and the payload field includes one sub-payload field, which includes both a data portion and a check portion.

[0075] Optionally, in the header overhead field, columns 1 to 14 are the overhead of the ODU frame, and columns 15 and 16 are the overhead of the optical payload unit (OPU).

[0076] Optionally, the header overhead field includes a frame alignment signal field, an ODU layer overhead field, and a reserved field.

[0077] Step 602: For each data unit group, the data units in the data unit group are sent to the receiving device through an optical fiber link. The number of data units in the data unit group that share the optical fiber link is at most M.

[0078] In this embodiment, for each data unit group, since at most M data units can be recovered, the number of data units sharing the fiber optic link is at most M. For example, when M equals 1, for each data unit group, the transmitting device sends different data units in the data unit group to different fiber optic links, so that different data units in the same data unit group are sent to the receiving device through different fiber optic links. As another example, when M equals 2, for each data unit group, the transmitting device sends at most two data units in the data unit to the same fiber optic link.

[0079] When using this method of transmission, because there are multiple data unit groups, data units belonging to different data unit groups may be transmitted in a single fiber optic link.

[0080] It should be noted that when M is greater than 1, if different data units use the same fiber optic link, then the different data units using the same fiber optic link come from different packets, which are the same packets used to generate M error correction information.

[0081] Step 603: If the receiving device receives data with a reception error in the first data unit, it acquires other data units in the first data unit group. The first data unit group includes N+M data units. Among the N+M data units, N data units are used to carry data, and M data units are used to carry the verification and error correction information of the N data units. The N data units include the first data unit.

[0082] In this embodiment, during the process of receiving data units, the receiving device determines whether there is any data with reception errors for each of the N data units in each data unit group. The first data unit is used as an example for explanation. If the first data unit is not received, or if it is determined that the first data unit contains data with a verification error, then it is determined that the first data unit contains data with reception errors. The receiving device then acquires the other data units in the first data unit group.

[0083] In one alternative approach, when the data unit includes a header overhead field and a payload field, the receiving device, upon receiving the first data unit, inputs the data portion of each sub-payload field into a verification algorithm (the same algorithm used by the transmitting device), obtains the output, and compares the output with the verification portion of the sub-payload field. If they match, the sub-payload field is determined to have been received correctly; otherwise, it is determined to have been received incorrectly. By processing each sub-payload field in this manner, it is possible to determine whether there is data with verification errors in the first data unit.

[0084] Step 604: The receiving device recovers the erroneous data received in the first data unit based on the other data units.

[0085] In this embodiment, the receiving device uses other data units to perform calculations to obtain the data that was received incorrectly in the first data unit. For example, the receiving device performs an XOR operation on the other data units to obtain the data that was received incorrectly in the first data unit.

[0086] For sub-payload fields with verification errors, the data portion of the sub-payload field can be calculated using sub-payload fields at the same position in other data units.

[0087] In one alternative approach, after receiving multiple data units belonging to a data unit group, the receiving device first performs alignment processing before executing steps 603 and 604. For example, if the header overhead field of a data unit includes a frame alignment signal field, data units including the same frame alignment signal field are aligned. In this way, the delay of the multiple data units is fixed to the longest delay of all fiber optic links traversed by the multiple data units in the data unit group.

[0088] In another alternative approach, since multiple fiber optic links exist between the transmitting and receiving devices, and the delays of these links may differ, if alignment processing is performed on the multiple data units, the delay of each data unit is fixed as the longest delay across all fiber optic links traversed by the data unit group. Therefore, to shorten the delay, the delay is minimized when the fiber optic links are functioning correctly, and only increases after a link failure. Once the link is restored, the delay returns to the minimum. The processing method is as follows: the transmitting device follows the same procedure, and the receiving device, upon receiving each data unit, directly executes step 603. If a data unit contains erroneous data, alignment processing is performed on all data units in the corresponding data unit group, and error correction is performed to recover the erroneous data unit. This way, alignment processing is only performed when a fiber optic link fails, rather than in all cases, thus reducing the overall data reception delay.

[0089] Optionally, when using the verification and error correction information, for M data units, the verification part in each data unit is used to verify the data part, so as to make the verification and error correction information accurate, thereby improving the recovery accuracy when using the verification and error correction information to recover the received erroneous data.

[0090] In the process shown in Figure 6, when M is 1, the data to be sent is mapped to the data unit carrying the data. Based on the data unit carrying the data, a data unit carrying the verification and error correction information is generated. Different data units in the data unit carrying the data and the data unit carrying the verification and error correction information are distributed to different optical fiber links. In this way, when the receiving device receives data, if there is data with reception errors, the verification and error correction information can be used to recover the data with reception errors. This not only improves the reliability of data transmission, but also achieves lossless data protection without interrupting the service.

[0091] The preceding text described the data transmission and reception process from the perspective of the transmitting and receiving equipment as a whole. Next, we will explain the solution from the perspective of the tributary board and the line board. The connection diagram of the tributary board and the line board can be found in Figures 3 and 4. Through the lossless protection scheme of the electrical layer with the tributary board and the line board separated, the service is lossless in the event of optical transmission layer failure.

[0092] In the transmitting device, each tributary board provides at least one interface for receiving client signals (i.e., data to be transmitted). These client signals can be Ethernet service data, received by the tributary board in Ethernet frame format. Each tributary board maps the data to be transmitted to data units, resulting in y*N data units, and generates y*M data units. These y*M data units carry the error correction information for the y*N data units, resulting in y data unit groups. Within each data unit group, N data units carry the data to be transmitted, and M data units carry the error correction information for those N data units. Each data unit group constitutes a lossless protection group. For each data unit group, each tributary board evenly distributes the different data units to different line boards and / or different optical modules on the same line board, reducing the possibility of simultaneous transmission errors. The line boards group data units from different paths into a data unit block, which is then transmitted via the optical module.

[0093] In the case of a data unit being an ODU frame, four ODU frames are combined into a data unit block, which is an OTU frame.

[0094] For example, as shown in Figure 9, y takes the value 4, N takes the value 3, and M takes the value 1. Branch board 1 provides 3 interfaces, each receiving one 400G client signal. Branch board 1 receives 3 400G client signals. The data to be transmitted consists of these 3 400G client signals. The first 400G signal is mapped to obtain 4 100G ODUs (ODU1.1 to 1.4), the second 400G signal is mapped to obtain 4 100G ODUs (ODU2.1 to 2.4), and the third 400G signal is mapped to obtain 4 100G ODUs (ODU3.1 to 3.4). ODU1.1, ODU2.1, and ODU3.1 are XORed to generate ODU4.1. ODU4.1 is used to carry error correction information. ODU1.1, ODU2.1, ODU3.1, and ODU4.1 form a data unit group, using ODU... ODU1.2, ODU2.2, and ODU3.2 are XORed to generate ODU4.2, which carries verification and error correction information. ODU1.2, ODU2.2, ODU3.2, and ODU4.2 form a data unit group. ODU1.3, ODU2.3, and ODU3.3 are XORed to generate ODU4.3, which carries verification and error correction information. ODU1.3, ODU2.3, ODU3.3, and ODU4.3 form a data unit group. ODU1.4, ODU2.4, and ODU3.4 are XORed to generate ODU4.4, which carries verification and error correction information. ODU1.4, ODU2.4, ODU3.4, and ODU4.4 form a data unit group. This results in four data unit groups, each of which constitutes a lossless protection group. Figure 9 shows different data units in a data unit group being sent to different circuit boards for transmission via different fiber optic links. Figure 10 shows different data units in a data unit group being sent to different optical modules on the circuit board for transmission via different fiber optic links.

[0095] It should be noted that in Figures 9 and 10, the same customer signal received by tributary board 1 is distributed to the same line board. In fact, the same customer signal can also be distributed to different line boards.

[0096] Figure 11 also provides a schematic diagram of the data unit group when the ODU frame adopts the structure shown in Figure 8, where x takes the value from 1 to 4. Each sub-payload field in ODU4.x is calculated based on the sub-payload fields at the corresponding positions in ODU1.x to ODU3.x. For example, in ODU4.x, the data part of the sub-payload field at the position of the 1st row and 17th column is obtained by XORing the data parts of the sub-payload fields at the positions of the 1st row and 17th column in ODU1.x to ODU3.x. The verification part of the sub-payload field at the position of the 1st row and 17th column is the output result obtained by inputting its data part into the verification algorithm.

[0097] There are two processing methods for the receiving device. The first method is to first align the multiple data units and then perform verification. The second method is to first verify the multiple data units, align the data units with verification errors, and then use other data units to recover the data units with verification errors.

[0098] The processing procedure for the first method is as follows:

[0099] In the receiving equipment, after the circuit board receives the optical signal from the fiber optic link, if the optical signal includes multiple wavelengths, it is split into multiple beams by a wavelength divider (actually a multiplexer for data transmission and a wavelength divider for data reception). The split optical signals are then converted into electrical signals, resulting in multiple data units. These data units are then scheduled to the corresponding tributary boards according to their configured ports. The tributary boards perform alignment processing on the received multiple data units. For each group of N data units, the tributary board determines whether it has received the N data units. If the first data unit is not received, it uses other data units in the same group to recover the data from the first data unit. If the first data unit is received, it is verified. If the verification is successful, the data carried by the first data unit is directly output. If the verification fails, other data units in the same group are used to correct the error and obtain the correct data. For example, as shown in Figure 12, the first data unit group includes ODU 1.1 to 3.1. For each ODU frame in ODU 1.1 to 3.1, the data part is checked using the check part in the sub-payload field. If the check is correct, the data part is directly output. If the ODU 1.x check fails, the other two ODU frames in ODU 1.1 to 3.1 and ODU 4.1 are used to correct the error and obtain the correct data. The correct data obtained by error correction is represented as ODU 1.x data = (ODU 2.x data) XOR (ODU 3.x data) XOR (ODU 4.x check).

[0100] The second method involves the following steps:

[0101] In the receiving equipment, after the circuit board receives the optical signal from the fiber optic link, if the optical signal includes multiple wavelengths, it is split into multiple beams by a wavelength divider (actually a multiplexer for data transmission and a wavelength divider for data reception). The split optical signals are then converted into electrical signals, resulting in multiple data units. These data units are then scheduled to the corresponding tributary boards according to their configured ports. For each group of N data units, the tributary board determines whether it has received the N data units. If the first data unit is not received, the multiple data units in the group are aligned, and the data of the first data unit is recovered using the other data units in the group. If the first data unit is received, it is verified. If the verification is correct, the data carried on the first data unit is directly output. If the verification fails, the multiple data units in the group are aligned, and the other data units in the group are used to correct the errors and obtain the correct data. For example, as shown in Figure 13, the first data unit group includes ODU 1.1 to 3.1. For each ODU frame in ODU 1.1 to 3.1, the data part is checked using the check part in the sub-payload field. If the check is correct, the data part is directly output. If the check fails, the data unit group is aligned and the other two ODU frames in ODU 1.1 to 3.1 and ODU 4.1 are used to correct the error and obtain the correct data. The correct data obtained by error correction is represented as ODU1.x data = (ODU2.x data) XOR (ODU3.x data) XOR (ODU4.x check).

[0102] After obtaining the data of y*N data units according to the first and second methods, the tributary board can restore the data of y*N data units into multiple data streams according to the distribution order of the obtained data units and send them to the connected switch.

[0103] This application provides a chip for implementing the above-described data transmission method.

[0104] This application also provides a chip for implementing the above-described data reception method.

[0105] This application also provides a communication system, which includes the transmitting device and receiving device mentioned above.

[0106] Those skilled in the art will recognize that the method steps and units described in the embodiments disclosed in this application can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the steps and components of each embodiment have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0107] In this application, the terms "first" and "second," etc., are used to distinguish identical or similar items that have substantially the same function and purpose. It should be understood that there is no logical or temporal dependency between "first" and "second," nor does it limit the quantity or execution order. It should also be understood that although the following description uses the terms "first" and "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another. For example, without departing from the scope of various examples, a first-path ODU can be referred to as a second-path ODU, and similarly, a second-path ODU can be referred to as a first-path ODU. Both a first-path ODU and a second-path ODU can be ODUs, and in some cases, they can be separate and distinct ODUs.

[0108] In this application, the term "at least one" means one or more, and the term "multiple" means two or more.

[0109] The above description is merely an exemplary embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and such modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for transmitting data, characterized in that, Applied to a transmitting device, the method includes: The data to be sent is mapped to y*N data units, and y*M data units are generated to obtain y data unit groups. Each data unit group includes N+M data units. The M data units in each data unit group are used to carry the verification and error correction information of the N data units in the data unit group. The M data units are used to correct the errors of the M data units in the N data units. y, N and M are all greater than or equal to 1. For each data unit group, each data unit in the data unit group is sent to the receiving device via an optical fiber link. The number of data units sharing the optical fiber link in each data unit group is at most M.

2. The method according to claim 1, characterized in that, The generation of y*M-way data units includes: The contents of the N data units belonging to the same data unit group in the y*N data units are XORed to obtain the y*M data units.

3. The method according to claim 1 or 2, characterized in that, Each data unit includes at least one data unit, and each data unit includes a header overhead field and a payload field; For each data unit, the payload field of the data unit includes multiple sub-payload fields, and each sub-payload field includes a data part and a verification part; For each sub-payload field, the validation portion of the sub-payload field is used to validate the data portion of the sub-payload field.

4. The method according to claim 3, characterized in that, For each sub-payload field, the data portion of the sub-payload field is 948 bytes, and the check portion is 4 bytes.

5. The method according to claim 4, characterized in that, The data portions of two adjacent sub-payload fields in the plurality of sub-payload fields together carry 57 257-bit code blocks and 5 bits of padding.

6. The method according to any one of claims 1 to 5, characterized in that, Each data unit includes at least one data unit, and each data unit is an optical data unit (ODU) frame.

7. The method according to any one of claims 1 to 6, characterized in that, N equals 3, 2 or 1, and M equals 1.

8. The method according to any one of claims 1 to 7, characterized in that, The transmitting device includes a branch board and a line board, the branch board being connected to the line board, and the line board being used to connect to multiple optical fiber links; The step of mapping the data to be sent to y*N data units and generating y*M data units to obtain y data unit groups includes: The branch board maps the data to be transmitted to y*N data units and generates y*M data units to obtain y data unit groups; For each data unit group, transmitting each data unit in the data unit group to the receiving device via an optical fiber link includes: For each data unit group, the tributary board distributes the data units of different paths in the data unit group to line boards connected to different optical fiber links, so as to send the data units of different paths to the receiving device through different optical fiber links.

9. A method for receiving data, characterized in that, Applied to a receiving device, the method includes: If there is erroneous data in the first data unit, other data units in the first data unit group are obtained. The first data unit group includes N+M data units. In the N+M data units, N data units are used to carry data, and M data units are used to carry the verification and error correction information of the N data units. The M data units are used to correct errors in the M data units in the N data units. The N data units include the first data unit. Based on the other data units, the erroneous data received in the first data unit is recovered.

10. The method according to claim 9, characterized in that, The step of recovering the erroneously received data in the first data unit based on the other data units includes: In the other data units, obtain the data corresponding to the data that was received incorrectly in the first data unit; The data from different data units in the acquired data are XORed to obtain the data that was received incorrectly in the first data unit.

11. The method according to claim 9 or 10, characterized in that, The first data unit includes at least one data unit, and each data unit includes a header overhead field and a payload field; For each data unit, the payload field of the data unit includes multiple sub-payload fields, and each sub-payload field includes a data part and a verification part; For each sub-payload field, the validation portion of the sub-payload field is used to validate the data portion of the sub-payload field.

12. The method according to claim 11, characterized in that, The method further includes: For each sub-payload field in the first data unit, the data portion is validated using the validation portion of the sub-payload field; if at least one sub-payload field fails validation, it is determined that there is erroneous data in the first data unit; or, If the first data unit is not received, it is determined that there is data with reception error in the first data unit.

13. The method according to claim 11 or 12, characterized in that, The method further includes: For each sub-payload field in the first data unit, the data portion is validated using the validation part of the sub-payload field; If the verification is successful, the data carried by the first data unit is obtained.

14. The method according to any one of claims 9 to 13, characterized in that, Before acquiring other data units in the first data unit group, the method further includes: Alignment processing is performed on the multiple data units in the first data unit group.

15. A data transmission device, characterized in that, The transmitting device includes a processor and an interface for obtaining data to be transmitted. The processor is used to map the data to be sent to y*N data units and generate y*M data units to obtain y data unit groups. Each data unit group includes N+M data units. The M data units in each data unit group are used to carry the verification and error correction information of the N data units in the data unit group. The M data units are used to correct the errors of the M data units in the N data units. y, N and M are all greater than or equal to 1. For each data unit group, each data unit in the data unit group is sent to the receiving device via an optical fiber link. The number of data units sharing the optical fiber link in each data unit group is at most M.

16. The transmitting device according to claim 15, characterized in that, M equals 1, and the processor is used to perform XOR processing on the contents of N data units belonging to the same data unit group in the y*N data units to obtain y*M data units.

17. The transmitting device according to claim 15 or 16, characterized in that, Each data unit includes at least one data unit, and each data unit includes a header overhead field and a payload field; The payload field includes multiple sub-payload fields, and each sub-payload field includes a data part and a verification part; For each sub-payload field, the validation portion of the sub-payload field is used to validate the data portion of the sub-payload field.

18. The transmitting device according to claim 17, characterized in that, For each sub-payload field, the data portion of the sub-payload field is 948 bytes, and the check portion is 4 bytes.

19. The transmitting device according to claim 18, characterized in that, The data portions of two adjacent sub-payload fields in the plurality of sub-payload fields together carry 57 257-bit code blocks and 5 bits of padding.

20. A data receiving device, characterized in that, The receiving device includes a processor and an interface for the data carried by the output data unit; The processor is used for: In the event that the first data unit has received data with an error, other data units in the first data unit group are obtained. The first data unit group includes N+M data units. Among the N+M data units, N data units are used to carry data, and M data units are used to carry the verification and error correction information of the N data units. The M data units are used to correct the errors of the M data units in the N data units. The N data units include the first data unit. Based on the other data units, the erroneous data received in the first data unit is recovered.

21. The receiving device according to claim 20, characterized in that, M equals 1, and the processor is used to obtain, from the other data units, the data corresponding to the data that was received incorrectly by the first data unit; The data from different data units in the acquired data are XORed to obtain the data that was received incorrectly in the first data unit.

22. The receiving device according to claim 20 or 21, characterized in that, The first data unit includes at least one data unit, and each data unit includes a header overhead field and a payload field; The payload field includes multiple sub-payload fields, and each sub-payload field includes a data part and a verification part; For each sub-payload field, the validation portion of the sub-payload field is used to validate the data portion of the sub-payload field.

23. The receiving device according to claim 22, characterized in that, The processor is configured to, for each sub-payload field in the first data unit, use the verification portion of the sub-payload field to verify the data portion; if at least one sub-payload field fails verification, it is determined that there is data with received errors in the first data unit; or, If the first data unit is not received, it is determined that there is data with reception error in the first data unit.

24. The receiving device according to any one of claims 20 to 23, characterized in that, The processor is further configured to perform alignment processing on the multiple data units in the first data unit group before acquiring other data units in the first data unit group.

25. A communication system, characterized in that, include: The transmitting device as claimed in any one of claims 15 to 19 and the receiving device as claimed in any one of claims 20 to 24.

26. A chip, characterized in that, The chip is used to perform the method as described in any one of claims 1 to 8.

27. A chip, characterized in that, The chip is used to perform the method as described in any one of claims 9 to 14.

Citation Information

Patent Citations

  • Business data processing method and device

    CN111130686A

  • Sending circuit based on JESD204C protocol

    CN118508975A

  • Method and apparatus for transmitting an asynchronous transport signal over an optical section

    EP2738964A1