Data transmission method, communication device and system
By using X coding units of the first FEC mode to evenly distribute data to L links during data transmission, the problems of single data transmission method and complex logic in the prior art are solved, and the effects of simplifying the distribution logic and improving the utilization of hardware resources are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-24
- Publication Date
- 2026-04-10
AI Technical Summary
Existing data transmission schemes are relatively simple, resulting in complex logic for nodes to distribute and receive encoded data, and insufficient data transmission methods.
The X encoding units using the first FEC mode divide the data to be encoded into X groups of initial data, and then distribute the X groups of encoded data evenly to L links, ensuring that X*N and X*K are integer multiples of L, simplifying the distribution logic, and supporting switching between multiple FEC modes to maintain the data transmission rate and efficient utilization of hardware resources.
It enriches data transmission methods, simplifies node distribution and reception logic, maintains the stability of data transmission rate, and improves the utilization efficiency of hardware resources.
Smart Images

Figure CN120546823B_ABST
Abstract
Description
[0001] This application is a divisional application, the original application number is 202110315863.8, the original application date is March 24, 2021, and the entire contents of the original application are incorporated into the present application by reference. TECHNICAL FIELD
[0002] The present application relates to the field of communication technology, in particular to a data transmission method, a communication device and a system. BACKGROUND
[0003] In the field of communication technology, the rate of data transmission between nodes is getting higher and higher. In order to ensure the reliability of data transmission, the nodes need to correct the data during the process of transmitting data.
[0004] Usually, the sending end (a node) and the receiving end (another node) of the data use the forward error correction (FEC) mode to realize the error correction of the data. For example, the sending end will encode the data using a certain FEC mode, and then send the encoded data to the receiving end. After receiving the data, the receiving end will decode the data using the same FEC mode to realize the error correction of the data.
[0005] However, the existing data transmission scheme is relatively single. SUMMARY
[0006] The present application provides a data transmission method, a communication device and a system, which can solve the problem that the data transmission scheme is relatively single. The technical solution is as follows:
[0007] In a first aspect, a data transmission method is provided, the method is executed by a first node, the first node includes X encoding units encoded by a first FEC mode, X≥1, the method includes: the first node first divides the data to be encoded into X groups of initial data, and encodes the X groups of initial data using the X encoding units one by one to obtain X groups of encoded data; then, the first node distributes the X groups of encoded data to L links between the first node and a second node to send the X groups of encoded data to the second node, L≥2; wherein X*N and X*K are both integer multiples of L, N represents the length of a first codeword of the first FEC mode, and K represents the length of the effective information bits in the first codeword. Since X*N and X*K are both integer multiples of L, the total length of the X groups of encoded data obtained by the first node is also an integer multiple of L, so the amount of encoded data distributed by the first node to different links of the L links is the same.
[0008] The data transmission method is different from the current data transmission method, and enriches the data transmission mode. Moreover, X*N and X*K are both integer multiples of L, so the total length of the X groups of encoded data obtained by the first node is an integer multiple of L. The first node can uniformly and regularly distribute the X groups of encoded data to the L links, and the starting position of the X groups of encoded data distributed by the first node each time is the same. Therefore, the logic of the first node for distributing the encoded data is simplified.
[0009] For example, N is an integer multiple of 66 symbols, and K is an integer multiple of 64 symbols; or N is an integer multiple of 34 symbols, and K is an integer multiple of 32 symbols; or N is an integer multiple of 70 symbols, and K is an integer multiple of 64 symbols; or N is an integer multiple of 36 symbols, and K is an integer multiple of 32 symbols; or N is an integer multiple of 70 symbols, and K is an integer multiple of 68 symbols; or N is an integer multiple of 36 symbols, and K is an integer multiple of 34 symbols; or N is an integer multiple of 74 symbols, and K is an integer multiple of 68 symbols; or N is an integer multiple of 38 symbols, and K is an integer multiple of 34 symbols; or N is an integer multiple of 64 symbols, and K is an integer multiple of 60 symbols.
[0010] The type of the code word of any FEC mode in the embodiments of the present application can be any type, such as Reed Solomon (RS), which is not limited in the embodiments of the present application.
[0011] Optionally, the first node and the second node can both support a plurality of FEC modes, and the first FEC mode is any FEC mode in the plurality of FEC modes. In this way, no matter which FEC mode in the plurality of FEC modes is used by the first node and the second node, the encoded data obtained by the first node can be uniformly distributed to the L links, and the starting position of the X groups of encoded data distributed by the first node each time is the same. Therefore, the logic of the first node for distributing the encoded data is simplified.
[0012] Optionally, in the case that the first node and the second node both support a plurality of FEC modes, the first node and the second node can switch the used FEC mode in the plurality of FEC modes.
[0013] For example, the data transmission method further includes: before the first node divides the to-be-encoded data into X groups of initial data, if a mode switching condition is met, the first node switches a second FEC mode currently used in the plurality of FEC modes to the first FEC mode, and sends an indication of the first FEC mode to the second node. The second node can switch the second FEC mode currently used to the first FEC mode according to the indication of the first FEC mode.
[0014] For another example, the data transmission method further comprises: before the first node divides the to-be-encoded data into X groups of initial data, if a mode switching condition is met, the first node switches a second FEC mode currently adopted from the plurality of FEC modes to the first FEC mode. And the X groups of encoded data obtained by the first node adopting the first FEC mode to encode carry an indication of the first FEC mode.
[0015] Optionally, when the indication of the first FEC mode is carried in encoded data (such as encoded data obtained by the first FEC mode or encoded data obtained by the second FEC mode), the indication of the first FEC mode comprises an alignment marker (AM). The AM in the encoded data is used to indicate the first FEC mode, so that the AM can be multiplexed, which not only enables the first node to send the indication of the first FEC mode to the second node, but also eliminates the need to change the format of the existing encoded data.
[0016] Further, the codewords of the FEC modes before and after the switching can have an association relationship. Taking the switching of the second FEC mode to the first FEC mode as an example, suppose the codeword of the first FEC mode is referred to as a first codeword, and the codeword of the second FEC mode is referred to as a second codeword. Then, the length of the first codeword is a first multiple of a first reference length, and the length of the valid information bits in the first codeword is a first multiple of a second reference length; the length of the second codeword is a second multiple of the first reference length, and the length of the valid information bits in the second codeword is a second multiple of the second reference length.
[0017] If the length of the codeword of the FEC mode is N, and the length of the valid information bits in the codeword is K, then the overhead of the FEC mode is (N-K) / K. According to the calculation method of the overhead and the multiple relationship between the codewords of the FEC modes before and after the switching, the overheads of the FEC modes before and after the switching are the same. In this way, it can be ensured that the overheads of the FEC modes before and after the switching are the same, the data transmission rate can be kept unchanged during the switching of the FEC modes, and the influence of the change of the overheads before and after the switching of the FEC modes on the data transmission (such as the change of the clock frequency of the first node and the second node caused by the change of the overheads before and after the switching of the FEC modes) can be avoided.
[0018] In addition, when the codewords of the FEC modes before and after the switching have the above-mentioned multiple relationship, at least part of the hardware resources can be shared between the units in the nodes (such as the first node and the second node) that adopt the FEC modes before and after the switching. In this way, the volume of the first node and the second node can be reduced, and the hardware resources in the nodes can be efficiently utilized.
[0019] Optionally, when the first code word and the second code word have the above-mentioned multiple relationship, the first reference length and the second reference length related to the multiple relationship can have multiple implementation manners.
[0020] Optionally, the first node switching the FEC mode can be triggered by the second node, and the data transmission method further includes: the first node receiving a mode switching request sent by the second node, and determining whether the mode switching condition is satisfied according to the mode switching request. Then, the first node can switch the second FEC mode to the first FEC mode when the mode switching condition is satisfied.
[0021] Optionally, the mode switching request carries at least one of: a state parameter of the L links, and an indication of the first FEC mode.
[0022] Optionally, the multiple FEC modes each have a corresponding parameter range, and the parameter ranges corresponding to the multiple FEC modes do not overlap with each other. The mode switching request carries a state parameter of the L links. The first node can determine that the mode switching condition is satisfied when the state parameter does not belong to the parameter range corresponding to the second FEC mode. The data transmission method can further include: the first node determining the first FEC mode according to the state parameter. Then, the first node can switch the second FEC mode to the determined first FEC mode. The state parameter belongs to the parameter range corresponding to the first FEC mode.
[0023] Optionally, X≤16, or X≤32. For example, X=1, 2, 4, 6, 8, 12, or 16.
[0024] In a second aspect, a data transmission method is provided, which is performed by a second node including X decoding units decoding in a first FEC mode, X≥1. The method includes: the second node receiving encoded data from L links between the first node and the second node, and combining the encoded data received from the L links to obtain X groups of encoded data; then, the second node decoding the X groups of encoded data one by one using the X decoding units to obtain X groups of initial data, and combining the X groups of initial data to obtain to-be-encoded data of the first node. Wherein, L≥2, X*N and X*K are integer multiples of L, N represents a length of a first code word of the first FEC mode, K represents a length of valid information bits in the first code word, and the amount of encoded data received from different links is the same.
[0025] The process of the second node combining the encoded data received from the L links is opposite to the process of the first node distributing the X groups of encoded data to the L links. The second node can combine the received encoded data according to the steps of the first node distributing the encoded data to obtain the X groups of encoded data. The process of the second node combining the X groups of initial data is opposite to the process of the first node dividing the to-be-encoded data into the X groups of initial data. The second node can combine the X groups of initial data according to steps opposite to the steps of the first node dividing the to-be-encoded data into the X groups of initial data to obtain the to-be-encoded data.
[0026] For example, the N is an integer multiple of 66 symbols, and the K is an integer multiple of 64 symbols; or the N is an integer multiple of 34 symbols, and the K is an integer multiple of 32 symbols; or the N is an integer multiple of 70 symbols, and the K is an integer multiple of 64 symbols; or the N is an integer multiple of 36 symbols, and the K is an integer multiple of 32 symbols; or the N is an integer multiple of 70 symbols, and the K is an integer multiple of 68 symbols; or the N is an integer multiple of 36 symbols, and the K is an integer multiple of 34 symbols; or the N is an integer multiple of 74 symbols, and the K is an integer multiple of 68 symbols; or the N is an integer multiple of 38 symbols, and the K is an integer multiple of 34 symbols; or the N is an integer multiple of 64 symbols, and the K is an integer multiple of 60 symbols.
[0027] Optionally, the first node and the second node both support a plurality of FEC modes, and the first FEC mode is any one of the plurality of FEC modes.
[0028] Optionally, in the case that the first node and the second node both support a plurality of FEC modes, the first node and the second node can switch the FEC mode used in the plurality of FEC modes.
[0029] For example, the method further includes: before the second node combines the encoded data received from the L links, the second node receives the indication of the first FEC mode sent by the first node, and switches a second FEC mode currently used in the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode.
[0030] For another example, when the X groups of encoded data encoded by the first node using the first FEC mode carry the indication of the first FEC mode, the method further includes: before the second node combines the encoded data received from the L links, the second node switches a second FEC mode currently used in the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode carried in the X groups of encoded data.
[0031] Optionally, when the indication of the first FEC mode is carried in the encoded data (such as the encoded data encoded by the first FEC mode, or the encoded data encoded by the second FEC mode), the indication of the first FEC mode comprises: an AM. The first FEC mode is indicated by the AM in the encoded data, so that the AM can be multiplexed, and the first node can send the indication of the first FEC mode to the second node, without changing the format of the existing encoded data.
[0032] Further, the code words of the FEC modes before and after the switching can have a correlation. Taking the switching of the second FEC mode to the first FEC mode as an example, assuming that the code word of the first FEC mode is referred to as a first code word, and the code word of the second FEC mode is referred to as a second code word. Then, the length of the first code word is a first multiple of a first reference length, and the length of the valid information bits in the first code word is a first multiple of a second reference length; the length of the second code word is a second multiple of the first reference length, and the length of the valid information bits in the second code word is a second multiple of the second reference length.
[0033] If the length of the code word of the FEC mode is N, and the length of the valid information bits in the code word is K, then the overhead of the FEC mode is (N-K) / K. According to the calculation method of the overhead, and the multiple relationship between the code words of the FEC modes before and after the switching, the overheads of the FEC modes before and after the switching are the same. In this way, it can be ensured that the overheads of the FEC modes before and after the switching are the same, the data transmission rate can be kept unchanged during the switching of the FEC modes, and the influence of the change of the overheads before and after the switching of the FEC modes on the data transmission (such as the change of the clock frequency of the first node and the second node caused by the change of the overheads before and after the switching of the FEC modes) can be avoided.
[0034] In addition, when the code words of the FEC modes before and after the switching have the multiple relationship, at least part of the hardware resources can be shared between the units using the FEC modes before and after the switching in the nodes (such as the first node and the second node). In this way, the volume of the first node and the second node can be reduced, and the hardware resources in the nodes can be efficiently utilized.
[0035] Optionally, when the first code word and the second code word have the multiple relationship, the first reference length and the second reference length related to the multiple relationship can have multiple implementation manners.
[0036] Optionally, the switching of the FEC modes by the first node and the second node can be triggered by the second node. For example, before receiving the indication of the first FEC mode sent by the first node, the second node can send a mode switching request to the first node when a mode switching condition is met.
[0037] Optionally, the mode switching request carries a state parameter of the L links and / or an identifier of the first FEC mode.
[0038] Optionally, the plurality of FEC modes each has a corresponding parameter range, and the parameter ranges corresponding to the plurality of FEC modes are mutually exclusive; before sending the mode switching request to the first node, the second node can acquire a state parameter of the L links, and when the state parameter does not belong to the parameter range corresponding to the second FEC mode, determine that the mode switching condition is satisfied, and the mode switching request carries the state parameter.
[0039] Optionally, X≤16, or X≤32. For example, X=1, 2, 4, 6, 8, 12, or 16, etc.
[0040] In a third aspect, a communication device is provided, which belongs to a first node and has X encoding units adopting a first FEC mode, X≥1, and the communication device comprises a processing module, an encoding module, and a first sending module. The processing module is configured to divide to-be-encoded data into X groups of initial data; the encoding module is configured to encode the X groups of initial data using the X encoding units one by one to obtain X groups of encoded data; and the first sending module is configured to distribute the X groups of encoded data to L links between the first node and a second node to send the X groups of encoded data to the second node, L≥2; wherein X*N and X*K are both integer multiples of L, N represents the length of a first codeword of the first FEC mode, K represents the length of valid information bits in the first codeword, and the amount of encoded data distributed to different links of the L links is the same.
[0041] For example, the N is an integer multiple of 66 symbols, and the K is an integer multiple of 64 symbols; or the N is an integer multiple of 34 symbols, and the K is an integer multiple of 32 symbols; or the N is an integer multiple of 70 symbols, and the K is an integer multiple of 64 symbols; or the N is an integer multiple of 36 symbols, and the K is an integer multiple of 32 symbols; or the N is an integer multiple of 70 symbols, and the K is an integer multiple of 68 symbols; or the N is an integer multiple of 36 symbols, and the K is an integer multiple of 34 symbols; or the N is an integer multiple of 74 symbols, and the K is an integer multiple of 68 symbols; or the N is an integer multiple of 38 symbols, and the K is an integer multiple of 34 symbols; or the N is an integer multiple of 64 symbols, and the K is an integer multiple of 60 symbols.
[0042] Optionally, the first node and the second node each support a plurality of FEC modes, and the first FEC mode is any one of the plurality of FEC modes.
[0043] Optionally, if both the first node and the second node support multiple FEC modes, the first node and the second node can switch the FEC mode they use among these multiple FEC modes.
[0044] For example, the communication device further includes: a first switching module and a second transmitting module. The first switching module is used to switch the currently used second FEC mode among the multiple FEC modes to the first FEC mode if the mode switching condition is met before the processing module divides the data to be encoded into X groups of initial data; the second transmitting module is used to send an indication of the first FEC mode to the second node.
[0045] For example, the communication device further includes a second switching module, which is used to switch the currently used second FEC mode among the multiple FEC modes to the first FEC mode if the mode switching condition is met before the processing module divides the data to be encoded into X groups of initial data. The X groups of encoded data carry an indication of the first FEC mode.
[0046] Optionally, when the indication of the first FEC mode is carried in the encoded data (such as encoded data obtained by encoding the first FEC mode, or encoded data obtained by encoding the second FEC mode), the indication of the first FEC mode includes: AM. By using the AM in the encoded data to indicate the first FEC mode, the AM can be multiplexed, enabling the first node to send the indication of the first FEC mode to the second node without changing the format of the existing encoded data.
[0047] Optionally, the length of the first codeword is a first multiple of the first reference length, and the length of the effective information bits in the first codeword is a first multiple of the second reference length; the length of the second codeword in the second FEC mode is a second multiple of the first reference length, and the length of the effective information bits in the second codeword is a second multiple of the second reference length.
[0048] Optionally, when the first codeword and the second codeword both have the above-mentioned multiple relationship, the first reference length and the second reference length related to the multiple relationship can be implemented in a variety of ways.
[0049] Optionally, the switching of FEC mode by the first node can be triggered by the second node. In this case, the communication device further includes a receiving module and a judging module. The receiving module is used to receive the mode switching request sent by the second node; the judging module is used to judge whether the mode switching conditions are met based on the mode switching request.
[0050] Optionally, the mode switching request carries at least one of the following: the state parameters of the L links, and an indication of the first FEC mode.
[0051] Optionally, the plurality of FEC modes each has a corresponding parameter range, and the parameter ranges corresponding to the plurality of FEC modes are mutually exclusive. The mode switching request carries the state parameters of the L links. The judging module is configured to determine that the mode switching condition is satisfied when the state parameters do not belong to the parameter range corresponding to the second FEC mode. The communication device further comprises a determining module configured to determine the first FEC mode according to the state parameters, the state parameters belonging to the parameter range corresponding to the first FEC mode.
[0052] Optionally, X≤16, or X≤32.
[0053] In a fourth aspect, a communication device is provided. The communication device belongs to a second node. The communication device has X decoding units for decoding in a first FEC mode, where X≥1. The communication device comprises a first receiving module, a first processing module, a decoding module, and a second processing module. The first receiving module is configured to receive encoded data from L links between the first node and the second node, where L≥2. The first processing module is configured to combine the encoded data received from the L links to obtain X groups of encoded data. The decoding module is configured to decode the X groups of encoded data using the X decoding units one by one. The second processing module is configured to combine the X groups of initial data to obtain to-be-encoded data of the first node. Wherein, X*N and X*K are integer multiples of L. N represents the length of a first codeword of the first FEC mode, and K represents the length of effective information bits in the first codeword. The amount of encoded data received from different links is the same.
[0054] For example, N is an integer multiple of 66 symbols, and K is an integer multiple of 64 symbols; or N is an integer multiple of 34 symbols, and K is an integer multiple of 32 symbols; or N is an integer multiple of 70 symbols, and K is an integer multiple of 64 symbols; or N is an integer multiple of 36 symbols, and K is an integer multiple of 32 symbols; or N is an integer multiple of 70 symbols, and K is an integer multiple of 68 symbols; or N is an integer multiple of 36 symbols, and K is an integer multiple of 34 symbols; or N is an integer multiple of 74 symbols, and K is an integer multiple of 68 symbols; or N is an integer multiple of 38 symbols, and K is an integer multiple of 34 symbols; or N is an integer multiple of 64 symbols, and K is an integer multiple of 60 symbols.
[0055] Optionally, the first node and the second node both support a plurality of FEC modes, and the first FEC mode is any one of the plurality of FEC modes.
[0056] Optionally, in the case that the first node and the second node both support a plurality of FEC modes, the first node and the second node can switch the employed FEC mode among the plurality of FEC modes.
[0057] For example, the communication device further comprises a second receiving module and a first switching module. The second receiving module is configured to receive the indication of the first FEC mode sent by the first node before the first processing module combines the encoded data received from the L links; and the first switching module is configured to switch the second FEC mode currently employed among the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode.
[0058] For another example, the indication of the first FEC mode is carried in the X groups of encoded data; and the communication device further comprises a second switching module configured to switch the second FEC mode currently employed among the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode before the first processing module combines the encoded data received from the L links.
[0059] Optionally, when the indication of the first FEC mode is carried in encoded data (such as encoded data obtained by encoding using the first FEC mode or encoded data obtained by encoding using the second FEC mode), the indication of the first FEC mode comprises an AM. The AM in the encoded data indicates the first FEC mode, so that the AM can be multiplexed, which not only enables the first node to send the indication of the first FEC mode to the second node, but also eliminates the need to change the format of the existing encoded data.
[0060] Optionally, the length of the first codeword is a first multiple of a first reference length, and the length of the valid information bits in the first codeword is the first multiple of a second reference length; the length of the second codeword of the second FEC mode is a second multiple of the first reference length, and the length of the valid information bits in the second codeword is the second multiple of the second reference length.
[0061] Optionally, when the first codeword and the second codeword both have the above multiple relationship, the first reference length and the second reference length related to the multiple relationship can have multiple implementation manners.
[0062] Optionally, the switching of FEC mode by the first node may be triggered by the second node. In this case, the communication device further includes a sending module, which is used to send a mode switching request to the first node when the mode switching conditions are met, before the first switching module or the second switching module switches the currently used second FEC mode to the first FEC mode according to the indication of the first FEC mode.
[0063] Optionally, the mode switching request carries: the status parameters of the L links, and / or, the identifier of the first FEC mode.
[0064] Optionally, each of the multiple FEC modes has a corresponding parameter range, and the parameter ranges corresponding to the multiple FEC modes do not overlap; the communication device further includes: an acquisition module and a determination module, wherein the acquisition module is used to acquire the status parameters of the L links before the sending module sends a mode switching request to the first node; the determination module is used to determine that the mode switching condition is met when the status parameters do not belong to the parameter range corresponding to the second FEC mode, and the mode switching request carries the status parameters.
[0065] Alternatively, X ≤ 16, or X ≤ 32.
[0066] Fifthly, a communication device is provided, the communication device comprising: a processor and a memory, the memory storing a program; the processor being configured to invoke the program stored in the memory to cause the communication device to perform a data transmission method as described in any of the designs in the first aspect.
[0067] In a sixth aspect, a communication device is provided, the communication device comprising: a processor and a memory, the memory storing a program; the processor being configured to invoke the program stored in the memory to cause the communication device to perform the data transmission method as described in any design of the second aspect.
[0068] In a seventh aspect, a communication system is provided, the communication system comprising: a first node and a second node;
[0069] The first node includes the communication device described in any of the designs of the third aspect, and the second node includes the communication device described in any of the designs of the fourth aspect; or, the first node includes the communication device described in any of the designs of the fifth aspect, and the second node includes the communication device described in any of the designs of the sixth aspect.
[0070] In an eighth aspect, a computer storage medium is provided, and the computer storage medium stores a computer program. The computer program, when executed on a computer, causes the computer to perform the data transmission method according to any one of the designs in the first aspect. Alternatively, the computer program, when executed on a computer, causes the computer to perform the data transmission method according to any one of the designs in the second aspect.
[0071] In a ninth aspect, a computer program product is provided, and the computer program product contains instructions. When the computer program product is executed on a communication device, the communication device performs the data transmission method according to any one of the designs in the first aspect. Alternatively, when the computer program product is executed on a communication device, the communication device performs the data transmission method according to any one of the designs in the second aspect.
[0072] The technical effects brought by any one of the designs in the second aspect to the ninth aspect can refer to the technical effects brought by the corresponding design in the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0073] Figure 1 A structural schematic diagram of a communication system is provided for the embodiments of the present application.
[0074] Figure 2 A structural schematic diagram of a communication device is provided for the embodiments of the present application.
[0075] Figure 3 A flowchart of a data transmission method is provided for the embodiments of the present application.
[0076] Figure 4 A flowchart related to the switching process of the FEC mode in the data transmission method is provided for the embodiments of the present application.
[0077] Figure 5 A functional module schematic diagram of a node is provided for the embodiments of the present application.
[0078] Figure 6 A block diagram of a communication device is provided for the embodiments of the present application.
[0079] Figure 7 A block diagram of another communication device is provided for the embodiments of the present application. DETAILED DESCRIPTION
[0080] In order to make the principles and technical schemes of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the drawings.
[0081] Figure 1 A structural schematic diagram of a communication system is provided for the embodiments of the present application, as shown in Figure 1 The communication system can include multiple nodes (such as Figure 1The first node 01 and the second node 02 in the communication system can be referred to as a first communication device and a second communication device respectively. It should be noted that Figure 1 It should be noted that only two nodes in the communication system are shown in the figure, and the number of nodes in the communication system can be greater than 2, such as 10, 100 or 1000, and the embodiments of the present application do not limit the number of nodes in the communication system.
[0082] The node can be any device capable of transmitting data, such as a processor, an accelerator, a memory, an input / output (I / O) device, an Ethernet device, a server, a server cluster, a gateway, a router, a mobile phone, a tablet computer, a desktop computer, a security device, a smart screen, or an interface in an electronic device. The interface can be any interface, such as an Ethernet interface or an Internet Technology (IT) interface. For example, the Ethernet interface can be a 40-gigabit Ethernet (GE) / 100GE interface, a 200GE / 400GE interface, or an 800GE / 1.6-terabit Ethernet (TE) interface. The IT interface can be a peripheral component interconnect express (PCIE) interface. The rate of the IT interface can be any rate, such as 2.5 gigatransactions per second (GT / s), 5 GT / s, 8 GT / s, 16 GT / s, 32 GT / s, or 64 GT / s.
[0083] The first node 01 and the second node 02 can be referred to as communication devices. For example, the communication device can include a processing unit, and the processing unit is coupled to a storage unit and reads instructions in the storage unit, and then executes the method performed by the communication device according to the instructions. The number of processing units can be multiple, and the storage unit coupled to the processing unit can be independent of the processing unit or independent of the communication device, or can be inside the processing unit or the communication device. The storage unit can be a physically independent unit, or a storage space on a cloud server or a network hard disk. Optionally, the storage unit can be one or more. When the number of storage units is multiple, they can be located in the same or different locations, and can be used independently or in cooperation. For example, when the storage unit is inside the communication device, please refer to Figure 2 , Figure 2A structural schematic diagram of a communication device is provided in the embodiments of the present application. The communication device 200 comprises a processing unit 202 and a storage unit 201, wherein the storage unit 201 is configured to store programs, and the processing unit 202 is configured to invoke the programs stored in the storage unit 201, so that the communication device performs corresponding methods or functions. Optionally, as shown in Figure 2 the communication device 200 can further comprise at least one communication interface 203 and at least one communication bus 204. The storage unit 201, the processing unit 202 and the communication interface 203 are communicatively connected through the communication bus 204. The communication interface 203 is configured to communicate with other devices under the control of the processing unit 202, and the processing unit 202 can invoke the programs stored in the storage unit 201 through the communication bus 204.
[0084] The nodes in the communication system have a connection relationship, and the nodes can transmit data based on the connection relationship. Each node in the communication system can be a data transmitter (Tx) or a data receiver (Rx). In the embodiments of the present application, the first node 01 is taken as the data transmitter, and the second node 02 is taken as the data receiver.
[0085] With the development of technology, the amount of data transmitted between nodes is increasing, and the transmission rate of data is also increasing. In order to ensure the reliability of data transmission, the nodes need to correct the data during data transmission.
[0086] Generally, the nodes correct the data by using the FEC mode. For example, the first node 01 transmits data to the second node 02. The first node 01 can encode the data to be encoded by using a certain FEC mode, and transmit the encoded data to the second node 02. The second node 02 can decode the encoded data by using the FEC mode after receiving the encoded data. The first node 01 and the second node 02 are connected by L lanes (L≥2, Figure 1 For example, the first node 01 and the second node 02 are connected by 4 lanes. The first node 01 can distribute the encoded data to the L lanes to transmit the encoded data to the second node.
[0087] The link here is a logical link between the first node 01 and the second node 02, and is not a physical link. The logical link here has a corresponding relationship (such as a one-to-one correspondence, but it can also not be a one-to-one correspondence) with the physical link. After the first node 01 distributes the encoded data to the logical link, the first node 01 will process the data distributed to the logical link according to the corresponding relationship between the logical link and the physical link, and distribute the data to the corresponding physical link.
[0088] The encoded data obtained by encoding in the FEC mode includes a plurality of code words of the FEC mode. For example, a code word usually includes valid information bits and check bits, wherein the valid information bits are used to carry the data to be encoded, and the check bits are used to carry check data of the data to be encoded. The code word can be represented as (N, K, T, M), wherein N represents the length of the code word; K represents the length of the valid information bits in the code word; T=(N-K) / 2, T represents the check capability of the check bits in the code word, the check bits can correct T symbols in the valid information bits, and T is an integer; the valid information bits and the check bits in the code word each include at least one symbol, and M represents the number of bit positions included in one symbol in the code word.
[0089] When the first node distributes the encoded data to the links (the logical links described above), the first node can uniformly distribute the symbols in the code words in the encoded data to the links in the granularity of the symbols in the code words. However, the length of the code words in the encoded data (for example, the number of the symbols in the code words) is usually not an integer multiple of the number of the links, so that the first node cannot uniformly distribute the encoded data to the links. In the case that the length of the code words is not an integer multiple of the number of the links, when the first node distributes each code word, the first node distributes the symbols in the code word to the links in turn, and takes the next link of the link to which the last symbol in the code word is distributed as the starting position to distribute the symbols in the next code word to the links in turn. However, because the length of the code words is not an integer multiple of the number of the links, at least part of the code words are distributed to the links from different starting positions, so that the logic of the first node to distribute the encoded data to the links is relatively complex. Correspondingly, the second node also needs to recover the received encoded data according to the rule of the first node to distribute the code words after receiving the encoded data, so that the logic of the second node to obtain the encoded data is also relatively complex.
[0090] It can be seen that the distribution logic of the first node in the current data transmission scheme is relatively complex, and the data transmission mode is also relatively single.
[0091] The embodiment of the present application provides a data transmission method, which is different from the data transmission method described above, and enriches the data transmission mode. In the data transmission method provided by the embodiment of the present application, the first node has X encoding units (X>1) encoded by using a first FEC mode, and X*N and X*K are both integer multiples of L (the length of a first code word of the first FEC mode, and K represents the length of the valid information bits in the first code word). Therefore, the first node can uniformly distribute the encoded data obtained by encoding the X encoding units to L links, and the starting positions of the encoded data distributed by the first node each time are the same, so that the logic of the first node to distribute the encoded data is simplified.
[0092] For example, Figure 3A flowchart of a data transmission method is provided in the embodiments of the present application, and the data transmission method can be used in a communication system (such as the communication system shown in FIG. 1) provided in the embodiments of the present application. As shown in FIG. 2, the data transmission method can include the following steps. Figure 1 Figure 3 As shown in FIG. 2, the data transmission method can include the following steps.
[0093] S101, the first node divides the to-be-encoded data into X groups of initial data.
[0094] In the embodiments of the present application, the first node supports a first FEC mode, and the first node includes X encoding units that are encoded in the first FEC mode. In S101, the first node determines to encode in the first FEC mode, and therefore, the first node can divide the to-be-encoded data into X groups of initial data according to the number X of the encoding units that are encoded in the first FEC mode.
[0095] It should be noted that the X encoding units in the first node have corresponding hardware resources, and each of the X encoding units is encoded in the first FEC mode based on the corresponding hardware resource. X≥1, when X is greater than 1, the corresponding hardware resources of the X encoding units can be independent of each other, or the X encoding units can share at least part of the hardware resources with each other, which is not limited in the embodiments of the present application.
[0096] The code word of the first FEC mode can be referred to as a first code word, the number X of the encoding units in the first node that are encoded in the first FEC mode is related to the first code word, and X is also related to the number L of links between the first node and the second node. For example, X*N and X*K are both integer multiples of L. Wherein, N represents the length of the first code word, and K represents the length of the effective information bits in the first code word. Since the length of the check bits in the first code word is equal to the length of the first code word minus the length of the effective information bits in the first code word, when X*N and X*K are both integer multiples of L, N-K represents the length of the check bits in the first code word, and then N-K is also an integer multiple of L.
[0097] For example, it is assumed that the length N of the first code word is 64 symbols, the length K of the effective information bits in the first code word is 60 symbols, and N-K is equal to 4 symbols.
[0098] When there are 4 links between the first node and the second node (i.e., L=4), X can be equal to 1, at this time, 1*64, 1*60, and 1*4 are all integer multiples of 4.
[0099] When there are 8 links between the first node and the second node (i.e., L=8), X can be equal to 2, 2*64, 2*60, and 2*4 are all integer multiples of 8.
[0100] In the embodiments of the present application, the number X of the encoding units can be set according to the first code word and the number L of links. Optionally, X≤16, or X≤32. For example, X can be 1, 2, 4, 8, 16, etc.
[0101] It should be noted that L in the embodiments of the present application is the number of links between the first node and the second node for transmitting the encoded data. The L links can be all the links between the first node and the second node, or can be part of the links between the first node and the second node, which is not limited in the embodiments of the present application.
[0102] S102, the first node encodes the X groups of initial data using the X encoding units respectively to obtain X groups of encoded data.
[0103] After the first node divides the data to be encoded into the X groups of initial data, the first node can encode the X groups of initial data using the X encoding units respectively, so as to obtain one group of encoded data output by each of the X encoding units, i.e., X groups of encoded data.
[0104] For example, if X is equal to 2, the X encoding units include encoding unit 1 and encoding unit 2, and the X groups of initial data include a first group of initial data and a second group of initial data. Then, the first node can encode the first group of initial data using encoding unit 1 to obtain a first group of encoded data, and can also encode the second group of initial data using encoding unit 2 to obtain a second group of encoded data.
[0105] S103, the first node distributes the X groups of encoded data to the L links between the first node and the second node to send the X groups of encoded data to the second node, and L≥2.
[0106] Since X*N and X*K are both integer multiples of L, the total length of the X groups of encoded data obtained by the first node in S102 is an integer multiple of the number L of links, the total length of the valid information bits in the X groups of encoded data is also an integer multiple of the number L of links, and the total length of the check bits in the X groups of encoded data is also an integer multiple of the number L of links.
[0107] In this way, the first node can distribute the X groups of encoded data evenly to the L links between the first node and the second node, so that the amount (e.g., the number of symbols) of encoded data distributed by the first node to different links is the same, and thus the amount of encoded data received by the second node from different links is also the same.
[0108] For example, as shown in Table 1, it is assumed that the first codeword includes 64 symbols, of which the first 60 symbols (e.g., symbols A1 to A60 in Table 1) belong to the valid information bits in the first codeword, and the last 4 symbols (e.g., symbols AP1 to AP4 in Table 1) belong to the check bits in the first codeword. When there are 4 links (e.g., links 1, 2, 3, and 4 shown in Table 1) between the first node and the second node, X is equal to 1, and in this case, 1*64, 1*60, and 1*4 are all integer multiples of 4.
[0109] The first node can obtain a set of encoded data in S102, and each first codeword in the set of encoded data can be distributed to the 4 links in the distribution manner shown in Table 1. In the distribution manner shown in Table 1, the (L*Y+1)th symbol of the 64 symbols is distributed to link 1, the (L*Y+2)th symbol is distributed to link 2, the (L*Y+3)th symbol is distributed to link 3, and the (L*Y+4)th symbol is distributed to link 4. Here, Y is an integer greater than or equal to 0.
[0110] Table 1
[0111]
[0112]
[0113] Alternatively, the 64 symbols shown in Table 1 can also have other distribution manners, which are not limited by the embodiments of the present application.
[0114] For example, the 64 symbols shown in Table 1 can also be distributed to the 4 links in the distribution manner shown in Table 2. In the distribution manner shown in Table 2, the 64 symbols are divided into 4 parts of symbols in sequence, and each part includes 16 symbols, and the 4 parts of symbols are distributed to the 4 links one by one.
[0115] Table 2
[0116] Link 1 Link 2 Link 3 Link 4 A1 A17 A33 A49 A2 A18 A34 A50 A3 A19 A35 A51 A4 A20 A36 A52 A5 A21 A37 A53 A6 A22 A38 A54 A7 A23 A39 A55 A8 A24 A40 A56 A9 A25 A41 A57 A10 A26 A42 A58 A11 A27 A43 A59 A12 A28 A44 A60 A13 A29 A45 AP 1 A14 A30 A46 AP 2 A15 A31 A47 AP 2 A16 A32 A48 AP 4
[0117] For example, assume that the first codeword includes 64 symbols, of which the first 60 symbols belong to the valid information bits in the first codeword and the last 4 symbols belong to the check bits in the first codeword. When there are 8 links (i.e., links 1, 2, 3, 4, 5, 6, 7 and 8 as shown in Table 1) between the first node and the second node, X is equal to 2, and 2*64, 2*60 and 2*4 are all integer multiples of 8. The first node can obtain two groups of encoded data in S102, and can interleave the codewords in the two groups of encoded data when distributing the two groups of encoded data to the 8 links. For example, the first node can take out the first codeword from the two groups of encoded data respectively, and can distribute every two first codewords taken out from the two groups of encoded data to the 8 links in an interleaved manner.
[0118] As shown in Table 3, the first codeword A taken out by the first node from one group of encoded data includes 64 symbols, of which the first 60 symbols (i.e., symbols A1 to A60 in Table 3) belong to the valid information bits and the last 4 symbols (i.e., symbols AP1 to AP4 in Table 3) belong to the check bits. The first codeword B taken out by the first node from another group of encoded data includes 64 symbols, of which the first 60 symbols (i.e., symbols B1 to B60 in Table 3) belong to the valid information bits and the last 4 symbols (i.e., symbols BP1 to BP4 in Table 3) belong to the check bits.
[0119] The two first codewords (A and B) can be distributed to the 8 links in the distribution manner as shown in Table 3. In the distribution manner shown in Table 3, the (L*Y+1)th symbol in the 64 symbols of the first codeword A is distributed to link 1, the (L*Y+5)th symbol is distributed to link 2, the (L*Y+2)th symbol is distributed to link 3, the (L*Y+6)th symbol is distributed to link 4, the (L*Y+3)th symbol is distributed to link 5, the (L*Y+7)th symbol is distributed to link 6, the (L*Y+4)th symbol is distributed to link 7, and the (L*Y+8)th symbol is distributed to link 8. The (L*Y+5)th symbol in the 64 symbols of the first codeword B is distributed to link 1, the (L*Y+1)th symbol is distributed to link 2, the (L*Y+6)th symbol is distributed to link 3, the (L*Y+2)th symbol is distributed to link 4, the (L*Y+7)th symbol is distributed to link 5, the (L*Y+3)th symbol is distributed to link 6, the (L*Y+8)th symbol is distributed to link 7, and the (L*Y+4)th symbol is distributed to link 8.
[0120] Table 3
[0121] Link 1 Link 2 Link 3 Link 4 Link 5 Link 6 Link 7 Link 8 A1 B1 A2 B2 A3 B3 A4 B4 B5 A5 B6 A6 B7 A7 B8 A8 A9 B9 A10 B10 A11 B11 A12 B12 B13 A13 B14 A14 B15 A15 B16 A16 A17 B17 A18 B18 A19 B19 A20 B20 B21 A21 B22 A22 B23 A23 B24 A24 A25 B25 A26 B26 A27 B27 A28 B28 B29 A29 B30 A30 B31 A31 B32 A32 A33 B33 A34 B34 A35 B35 A36 B36 B37 A37 B37 A37 B38 A38 B40 A40 A41 B41 A42 B42 A43 B43 A44 B44 B45 A45 B46 A46 B47 A47 B48 A48 A49 B49 A50 B50 A51 B51 A52 B52 B53 A53 B54 A54 B55 A55 B56 A56 A57 B57 A58 B58 A59 B59 A60 B60 BP 1 AP 1 BP 2 AP 2 BP 3 AP 3 BP 4 AP 4
[0122] Alternatively, the 128 symbols shown in Table 3 can have other distribution manners, which are not limited in the embodiments of the present application.
[0123] For example, the 128 symbols shown in Table 3 can also be distributed to the 8 links in the distribution mode shown in Table 4. In the distribution mode shown in Table 4, the 64 symbols of the first code word A are divided into 4 parts of symbols in sequence, each part of symbols includes 16 symbols, and the 4 parts of symbols are distributed to the 4 links (link 1, link 3, link 5 and link 7) in sequence. The 64 symbols of the first code word B are also divided into 4 parts of symbols in sequence, each part of symbols includes 16 symbols, and the 4 parts of symbols are distributed to the other 4 links (link 2, link 4, link 6 and link 8) in sequence.
[0124] Table 4
[0125] Link 1 Link 2 Link 3 Link 4 Link 5 Link 6 Link 7 Link 8 A1 B1 A17 B17 A33 B33 A49 B49 A2 B2 A18 B18 A34 B34 A50 B50 A3 B3 A19 B19 A35 B35 A51 B51 A4 B4 A20 B20 A36 B36 A52 B52 A5 B5 A21 B21 A37 B37 A53 B53 A6 B6 A22 B22 A38 B38 A54 B54 A7 B7 A23 B23 A39 B39 A55 B55 A8 B8 A24 B24 A40 B40 A56 B56 A9 B9 A25 B25 A41 B41 A57 B57 A10 B10 A26 B26 A42 B42 A58 B58 A11 B11 A27 B27 A43 B43 A59 B59 A12 B12 A28 B28 A44 B44 A60 B60 A13 B13 A29 B29 A45 B45 AP 1 BP 1 A14 B14 A30 B30 A46 B46 AP 2 BP 2 A15 B15 A31 B31 A47 B47 AP 2 BP 2 A16 B16 A32 B32 A48 B48 AP 4 BP 4
[0126] S104, the second node combines the encoded data received from the L links to obtain X groups of encoded data.
[0127] Similar to the first node, the second node supports the first FEC mode, and the second node includes X decoding units that decode in the first FEC mode. After receiving the encoded data sent by the first node from the L links, the second node can combine the encoded data according to the first FEC mode currently adopted to obtain the X groups of encoded data in S102.
[0128] The process in which the second node combines the encoded data received from the L links is opposite to the process in which the first node distributes the X groups of encoded data to the L links. The second node can adopt the opposite steps to the steps in which the first node distributes the encoded data to combine the received encoded data to obtain the X groups of encoded data, and the embodiments of the present application do not make redundant description here.
[0129] It should be noted that the X decoding units in the second node have corresponding hardware resources, and each decoding unit in the X decoding units decodes in the first FEC mode based on the corresponding hardware resource. When X is greater than 1, the corresponding hardware resources of the X decoding units can be independent of each other, or the X decoding units can share part of the hardware resources, and the embodiments of the present application do not limit this.
[0130] S105, the second node adopts the X decoding units to decode the X groups of encoded data one by one to obtain X groups of initial data.
[0131] After obtaining the X groups of encoded data, the second node can adopt the X decoding units to decode the X groups of encoded data one by one to obtain X groups of initial data.
[0132] For example, if X equals 2, the X decoding units include decoding unit 1 and decoding unit 2, and the X groups of encoded data include: a first group of encoded data and a second group of encoded data. Then, the first node can decode the first group of encoded data by using decoding unit 1 to obtain a first group of initial data, and the first node can also decode the second group of encoded data by using decoding unit 2 to obtain a second group of initial data.
[0133] It should be noted that each of the X decoding units decodes a corresponding group of encoded data by using the first FEC mode, and the decoding unit can correct errors of the group of encoded data in the process of decoding the group of encoded data by using the first FEC mode, so as to improve the transmission quality of the encoded data.
[0134] S106, the second node combines the X groups of initial data to obtain the to-be-encoded data of the first node.
[0135] After obtaining the X groups of initial data, the second node can combine the X groups of initial data to obtain the to-be-encoded data of the first node in S101. The process of combining the X groups of initial data by the second node is opposite to the process of dividing the to-be-encoded data into the X groups of initial data by the first node in S101, and the second node can combine the X groups of initial data into the to-be-encoded data by using steps opposite to the steps of dividing the to-be-encoded data into the X groups of initial data by the first node.
[0136] At this point, the second node obtains the to-be-encoded data of the first node, and realizes the transmission of the to-be-encoded data from the first node to the second node.
[0137] In summary, in the data transmission method provided by the embodiment of the present application, the first node divides the to-be-encoded data into X groups of initial data according to the number X of the encoding units that encode by using the first FEC mode; then, the first node encodes the X groups of initial data by using the X encoding units one by one to obtain X groups of encoded data, and distributes the X groups of encoded data to the L links between the first node and the second node to send the X groups of encoded data to the second node. The data transmission method is different from the current data transmission method, and enriches the data transmission mode.
[0138] Moreover, in the data transmission method provided by the embodiment of the present application, X*N and X*K are both integer multiples of L, so the total length of the X groups of encoded data obtained by the first node is an integer multiple of L, and the first node can evenly and regularly distribute the X groups of encoded data to the L links. The starting position of the X groups of encoded data distributed by the first node each time is the same, so the logic of the first node in distributing the encoded data is simplified.
[0139] In the above embodiments, the first node and the second node both support the first FEC mode. Alternatively, the first node and the second node both can support a plurality of FEC modes, and the first FEC mode is any one of the plurality of FEC modes.
[0140] It can be seen that, for each of the plurality of FEC modes, the first node includes at least one encoding unit that encodes in the FEC mode, and the second node includes at least one decoding unit that decodes in the FEC mode. And for the length N of a codeword in the FEC mode, the length K of valid information bits in the codeword, the number X of encoding units in the first node that encode in the FEC mode (or the number X of decoding units in the second node that decode in the FEC mode), and the number L of links between the first node and the second node for transmitting encoded data, the four parameters have the following relationship: X*N and X*K are both integer multiples of L.
[0141] In this way, no matter which FEC mode of the plurality of FEC modes is used by the first node and the second node, the encoded data encoded by the first node can be evenly distributed on the L links, and the starting position of the first node for distributing encoded data each time is the same, so that the logic of the first node for distributing encoded data is simplified.
[0142] In the case where the first node and the second node both support a plurality of FEC modes, the first node and the second node can switch the FEC mode used in the plurality of FEC modes. Hereinafter, the switching process of the FEC mode will be described by taking the first node and the second node switching from the currently used second FEC mode to the first FEC mode as an example.
[0143] For example, Figure 4 The flowchart related to the switching process of the FEC mode in the data transmission method provided by the embodiments of the present application is shown in FIG. 2, which can include the following steps. Figure 4
[0144] S201, the second node acquires the state parameters of the L links.
[0145] In the process of data transmission by the first node and the second node, the second node can decode the received data in the second FEC mode. In this process, the second node can also acquire the state parameters of the L links between the first node and the second node for transmitting encoded data.
[0146] The state parameters of the L links are used to reflect the transmission quality of the L links. For example, the state parameters can include at least one of the following parameters: bit error rate, packet loss rate, frame error rate, etc., which are not limited by the embodiments of the present application.
[0147] S202, the second node determines whether the mode switching condition is met according to the state parameter of the L links. If the mode switching condition is met, S203 is performed; if the mode switching condition is not met, S201 is performed.
[0148] Optionally, the mode switching condition can be that the state parameter of the L links belongs to a parameter range corresponding to the second FEC mode currently adopted. The plurality of FEC modes supported by the first node and the second node each has a corresponding parameter range, and the parameter ranges corresponding to the plurality of FEC modes do not overlap with each other. The parameter range is a range of the state parameter of the L links.
[0149] On one hand, if the state parameter of the L links belongs to the parameter range corresponding to the second FEC mode currently adopted, it indicates that the mode switching condition is not met. At this time, the second node can repeatedly perform S201.
[0150] On the other hand, if the state parameter of the L links does not belong to the parameter range corresponding to the second FEC mode currently adopted, it indicates that the mode switching condition is met. At this time, the second node can perform S203.
[0151] For example, taking the state parameter as the bit error rate, if the bit error rate of the L links is 20%, and the parameter range corresponding to the second FEC mode is (5%, 10%], the second node can determine that the bit error rate of the L links is outside the parameter range corresponding to the second FEC mode. At this time, the mode switching condition is met.
[0152] In the embodiments of the present application, the mode switching condition is that the state parameter of the L links belongs to the parameter range corresponding to the second FEC mode currently adopted. Alternatively, the mode switching condition can also have other implementation manners, which are not limited in the embodiments of the present application.
[0153] S203, the second node sends a mode switching request to the first node, and the mode switching request carries the state parameter of the L links.
[0154] When the second node determines that the mode switching condition is met, it can be determined that the current second FEC mode is not suitable for the current state of the L links.
[0155] For example, the current transmission quality of the L links is poor, and the error correction capability of the second FEC mode cannot improve the transmission quality to a higher transmission quality. At this time, if the second FEC mode is adopted, the higher data transmission quality cannot be guaranteed.
[0156] For another example, the transmission quality of the L links is high, and the second FEC mode has excess error correction capability, i.e., the second FEC mode is over-designed. If the second FEC mode is used, the data transmission delay is high, and the power consumption of the first node and the second node is high.
[0157] At this time, the second node can send a mode switching request to the first node to trigger the first node and the second node to switch the second FEC mode currently used.
[0158] S204, the first node determines whether the mode switching condition is met according to the state parameters of the L links carried in the mode switching request. If the mode switching condition is met, S205 is performed.
[0159] The mode switching request sent by the second node carries the state parameters of the L links, and the first node can determine whether the mode switching condition is met according to the state parameters in S204. The process in which the first node determines whether the mode switching condition is met according to the state parameters can refer to the process in which the second node determines whether the mode switching condition is met according to the state parameters, which will not be described herein again.
[0160] When the first node determines that the mode switching condition is met, the subsequent steps can be performed to switch the FEC mode.
[0161] On the contrary, when the first node determines that the mode switching condition is not met, the subsequent steps can not be performed, and the current second FEC mode can be continued to be used to encode data. Correspondingly, the second node can continue to use the second FEC mode to decode data.
[0162] S205, the first node determines the first FEC mode according to the state parameters, and the state parameters belong to the parameter range corresponding to the first FEC mode.
[0163] When the first node determines that the mode switching condition is met, the first FEC mode can be selected from a plurality of FEC modes according to the state parameters of the L links, and the state parameters of the L links belong to the parameter range corresponding to the first FEC mode.
[0164] It can be seen that the first FEC mode is suitable for the current transmission quality of the L links. Using the first FEC mode under the current state of the L links can not only ensure high data transmission quality, but also avoid the problems of high data transmission delay and high node power consumption caused by over-design of the FEC mode.
[0165] For example, taking the state parameter of the bit error rate as an example, assuming that the plurality of FEC modes include FEC modes 1, 2 and 3, and the parameter ranges corresponding to the three modes are shown in Table 5, which are bit error rate ranges. Among them, Figure 51E-13 represents 10 to the power of -13, 1E-11 represents 10 to the power of -11, 1E-10 represents 10 to the power of -10, 1E-8 represents 10 to the power of -8, 1E-7 represents 10 to the power of -7, and 1E-4 represents 10 to the power of -4. If the error rate of the L links is 1E-5 (10 to the power of -5), the first node can determine that the error rate 1E-5 is within the parameter range 1E-7 to 1E-4 corresponding to the FEC mode 3, and determine that the FEC mode 3 is the first FEC mode.
[0166] Table 5
[0167] FEC mode Parameter range corresponding to FEC mode 1 1E-13~1E-11 2 1E-10~1E-8 3 1E-7~1E-4
[0168] S206, the first node sends an indication of the first FEC mode to the second node.
[0169] After determining the first FEC mode, the first node can also send an indication of the first FEC mode to the second node, to inform the second node to switch the FEC mode to the first FEC mode.
[0170] For example, the indication of the first FEC mode can be carried in a certain control code stream sent to the second node, or can be carried in encoded data encoded by using the second FEC mode, and the embodiments of the present application do not make any limitation in this regard.
[0171] Optionally, when the indication of the first FEC mode is carried in the encoded data, the indication of the first FEC mode can be an AM in the encoded data. In the embodiments of the present application, the first FEC mode is indicated by using the AM in the encoded data, so that the AM can be multiplexed, and not only the indication of the first FEC mode can be sent to the second node by the first node, but also the format of the existing encoded data does not need to be changed.
[0172] The AM is usually used for data alignment, and when the AM is used to indicate the first FEC mode, the code type of the AM is different from that of the AM used for data alignment. In other words, the AM used to indicate the first FEC mode in the embodiments of the present application has the same format as the AM used for data alignment, but the values of the two AMs are different, so that the two AMs can have different functions. It can be seen that, in addition to the function of data alignment, the AM can also have the function of carrying the indication of the first FEC mode.
[0173] It should be noted that, when the indication of the first FEC mode is carried in the encoded data, the indication of the first FEC mode can also be carried in other parts other than the AM, and the embodiments of the present application do not make any limitation in this regard.
[0174] S207, the first node switches the second FEC mode currently used in the plurality of FEC modes to the first FEC mode.
[0175] The first node can switch the second FEC mode currently used to the first FEC mode after determining the first FEC mode. Then, the first node can transmit data according to the method shown in Figure 3
[0176] S208, the second node switches the second FEC mode currently used to the first FEC mode according to the indication of the first FEC mode.
[0177] The second node can determine the first FEC mode according to the indication of the first FEC mode after receiving the indication of the first FEC mode sent by the first node, and switch the second FEC mode currently used to the first FEC mode. Then, the second node can transmit data according to the method shown in Figure 3
[0178] It should be noted that the encoding data transmitted by the first node to the second node before sending the indication of the first FEC mode is encoded by the second FEC mode; the encoding data transmitted by the first node to the second node after sending the indication of the first FEC mode is encoded by the first FEC mode. The second node decodes the received encoding data by the second FEC mode before receiving the indication of the first FEC mode; the second node decodes the received encoding data by the first FEC mode after receiving the indication of the first FEC mode.
[0179] For example, the first node encodes the data before the AM used to indicate the first FEC mode by the second FEC mode, and encodes the data after the AM by the first FEC mode. The second node decodes the data before the AM by the second FEC mode, and decodes the data after the AM by the first FEC mode.
[0180] The above takes the first node to encode immediately by the first FEC encoding mode after sending the indication of the first FEC mode, and the second node to decode immediately by the first FEC mode after receiving the indication of the first FEC mode as an example. Alternatively, the first node can encode by the first FEC encoding mode after a certain fixed data interval after sending the indication of the first FEC mode, and correspondingly, the second node can decode by the first FEC mode after the fixed data interval after receiving the indication of the first FEC mode. It can be seen that the second node can switch the FEC mode according to the rule of the first node switching the FEC mode.
[0181] In this way, the first node and the second node do not need to interrupt the transmission of the encoding data in the process of switching the FEC mode, and the influence of switching the FEC mode on the data transmission is avoided.
[0182] The second FEC mode can be an initial FEC mode adopted by the first node and the second node, and of course, the second FEC mode can also be an FEC mode switched from the initial FEC mode. The initial FEC mode can be an FEC mode determined by the first node and the second node through negotiation.
[0183] For example, the initial FEC mode can also be an FEC mode pre-configured by a staff on the first node and the second node (for example, an FEC mode configured according to the quality of a link).
[0184] For another example, before transmitting service data (for example, the encoded data), the first node can send test data to the second node, and the second node can feed back state parameters of the L links to the first node according to the test data. At this time, the first node can determine the second FEC mode according to the state parameters with reference to S205, and send an indication of the second FEC mode to the second node with reference to S206. Then, the first node and the second node can both adopt the second FEC mode to transmit service data.
[0185] Figure 4 The data transmission method shown can also have other implementation manners, and other implementation manners will be exemplified below.
[0186] In a possible implementation manner, the first node can not perform S206, but directly perform S207, and carry the indication of the first FEC mode at the beginning of the encoded data obtained by encoding according to the first FEC mode. The second node can switch the second FEC mode to the first FEC mode according to the indication of the first FEC mode carried at the beginning of the encoded data after receiving the encoded data. Then, the second node decodes the part of the encoded data after the indication of the first FEC mode by using the first FEC mode. Optionally, the indication of the first FEC mode at the beginning of the encoded data obtained by encoding according to the first FEC mode can also be carried by AM.
[0187] In a possible implementation manner, the mode switching condition judged by the first node can also be different from the mode switching condition judged by the second node, and the embodiments of the present application do not limit this.
[0188] In a possible implementation manner, on the basis of the method shown, Figure 4 On the basis of the method shown, the second node can also determine the first FEC mode with reference to S205, and carry the indication of the first FEC mode in the mode switching request in S203. Optionally, the first node can not perform S205, and the mode switching condition judged by the first node in S204 can also include that the first node supports the first FEC mode.
[0189] In a possible implementation, when the second node determines that the mode switching condition is met, the second node further determines the first FEC mode according to S205, and carries an indication of the first FEC mode in the mode switching request sent to the first node in S203 instead of the state parameter. After receiving the mode switching request, the first node can not perform S205, and the mode switching condition determined by the first node in S204 can be that the first node supports the first FEC mode.
[0190] In a possible implementation, the second node can also not determine whether the mode switching condition is met, and in this case, the second node does not need to perform S202 and S203, but directly sends the state parameter determined in S201 to the first node, so that the first node performs S204, S205, S206 and S207 according to the state parameter. The state parameter can be carried in the mode switching request sent to the first node, or can be carried in other messages sent to the first node, which is not limited by the embodiments of the application. In addition, the second node can periodically send the state parameter to the first node, or can send the state parameter to the first node only when a certain condition is met.
[0191] It can be seen that if the second node sends the mode switching request to the first node, the mode switching request can carry at least one of the state parameters of the L links and the indication of the first FEC mode.
[0192] In a possible implementation, the determination of whether the mode switching condition is met by the first node can also not be triggered by the second node. For example, the second node does not need to perform S201, S202 and S203, and the first node can also not determine whether the mode switching condition is met according to the state parameters of the L links carried in the mode switching request in S204, which is not limited by the embodiments of the application.
[0193] In a possible implementation, when the state parameters of the L links do not belong to the parameter range corresponding to the second FEC mode, if the transmission quality reflected by the parameters in the parameter range corresponding to the second FEC mode is higher than the transmission quality reflected by the state parameters of the L links, the first node and the second node can also not switch the second FEC mode to the first FEC mode. It can be understood that when the second FEC mode has a design problem, the first node and the second node can also not switch the second FEC mode to the first FEC mode.
[0194] The data transmission method provided by the embodiments of the application supports the switching of FEC modes. Further, there can be an association relationship between the code words of the FEC modes before and after the switching.
[0195] Taking switching the second FEC mode to the first FEC mode as an example, it is assumed that the codeword of the first FEC mode is referred to as a first codeword, and the codeword of the second FEC mode is referred to as a second codeword. Then, the length of the first codeword is a first multiple of the first reference length, and the length of the effective information bits in the first codeword is a first multiple of the second reference length; the length of the second codeword is a second multiple of the first reference length, and the length of the effective information bits in the second codeword is a second multiple of the second reference length.
[0196] In other words, the length of the codeword of the FEC mode before and after the switching is a multiple of the first reference length, and the length of the effective information bits in the codeword of the FEC mode before and after the switching is also a multiple of the second reference length. Moreover, for each of the FEC modes before and after the switching, the length of the codeword of the FEC mode is a multiple of the first reference length, and the length of the effective information bits in the codeword is a multiple of the second reference length.
[0197] For example, it is assumed that the length of the first codeword is 64 symbols, the length of the effective information bits in the first codeword is 60 symbols, the length of the second codeword is 128 symbols, the length of the effective information bits in the second codeword is 120 symbols, the first reference length is 64 symbols, and the second reference length is 60 symbols. It can be seen that the length of the first codeword is 1 times the first reference length, the length of the effective information bits in the first codeword is 1 times the second reference length, the length of the second codeword is 2 times the first reference length, and the length of the effective information bits in the second codeword is 2 times the second reference length.
[0198] If the length of the codeword of the FEC mode is N, and the length of the effective information bits in the codeword is K, then the overhead of the FEC mode is (N-K) / K. According to the calculation manner of the overhead and the multiple relationship between the codewords of the FEC modes before and after the switching, it can be known that the overheads of the FEC modes before and after the switching are the same. In this way, it can be ensured that the overheads of the FEC modes before and after the switching are the same, the data transmission rate can be kept unchanged during the switching of the FEC modes, and the influence of the change of the overheads before and after the switching of the FEC modes on the data transmission (for example, the change of the overheads before and after the switching of the FEC modes will cause the change of the clock frequency of the first node and the second node) can be avoided.
[0199] In addition, when the multiple relationship between the codewords of the FEC modes before and after the switching exists, at least part of the hardware resources can be shared between the units adopting the FEC modes before and after the switching in the nodes (for example, the first node and the second node). In this way, the volume of the first node and the second node can be reduced, and the hardware resources in the nodes can be efficiently utilized.
[0200] The first node and the second node can switch between the plurality of FEC modes supported by the first node and the second node, and the code words of the plurality of FEC modes can have the multiple relationship. In this way, when switching between any two FEC modes of the plurality of FEC modes, the overhead does not change, and at least part of the hardware resources can be shared between the plurality of FEC modes.
[0201] Optionally, when the code words of the plurality of FEC modes have the multiple relationship, the first reference length and the second reference length related to the multiple relationship can have a plurality of implementation manners.
[0202] For example, N is an integer multiple of 66 symbols, and K is an integer multiple of 64 symbols. In this case, the first reference length is 66 symbols, the second reference length is 64 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 6. Referring to Table 6, N represents the length of the code word of the FEC mode, K represents the length of the valid information bit in the code word of the FEC mode, T=(N-K) / 2, T represents the check capability of the check bit in the code word of the FEC mode, and the check bit can correct T symbols in the valid information bit; and M represents the number of bit positions included in one symbol in the code word of the FEC mode. Table 6 shows information of FEC modes 1.1, 1.2, 1.3, and 1.4, and the first node can switch between the four FEC modes.
[0203] Alternatively, N is an integer multiple of 34 symbols, and K is an integer multiple of 32 symbols. In this case, the first reference length is 34 symbols, the second reference length is 32 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 7. The explanation of Table 7 can refer to the explanation of Table 6, and the embodiments of the present application do not perform detailed description of Table 7.
[0204] Alternatively, N is an integer multiple of 70 symbols, and K is an integer multiple of 64 symbols. In this case, the first reference length is 70 symbols, the second reference length is 64 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 8. The explanation of Table 8 can refer to the explanation of Table 6, and the embodiments of the present application do not perform detailed description of Table 8.
[0205] Alternatively, N is an integer multiple of 36 symbols, and K is an integer multiple of 32 symbols. In this case, the first reference length is 36 symbols, the second reference length is 32 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 9. The explanation of Table 9 can refer to the explanation of Table 6, and the embodiments of the present application do not perform detailed description of Table 9.
[0206] Or, N is an integer multiple of 70 symbols, K is an integer multiple of 68 symbols; at this time, the first reference length is 70 symbols, the second reference length is 68 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 10. The explanation of Table 10 can refer to the explanation of Table 6, and the embodiments of the present application will not be described in detail here.
[0207] Or, N is an integer multiple of 36 symbols, K is an integer multiple of 34 symbols; at this time, the first reference length is 36 symbols, the second reference length is 34 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 11. The explanation of Table 11 can refer to the explanation of Table 6, and the embodiments of the present application will not be described in detail here.
[0208] Or, N is an integer multiple of 74 symbols, K is an integer multiple of 68 symbols; at this time, the first reference length is 74 symbols, the second reference length is 68 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 12. The explanation of Table 12 can refer to the explanation of Table 6, and the embodiments of the present application will not be described in detail here.
[0209] Or, N is an integer multiple of 38 symbols, K is an integer multiple of 34 symbols; at this time, the first reference length is 38 symbols, the second reference length is 34 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 13. The explanation of Table 13 can refer to the explanation of Table 6, and the embodiments of the present application will not be described in detail here.
[0210] Or, N is an integer multiple of 64 symbols, K is an integer multiple of 60 symbols; at this time, the first reference length is 64 symbols, the second reference length is 60 symbols, and the plurality of FEC modes supported by the first node and the second node can be the FEC modes shown in Table 14. The explanation of Table 14 can refer to the explanation of Table 6, and the embodiments of the present application will not be described in detail here.
[0211] Table 6
[0212] FEC mode N K T M 1.1 528 512 8 10 1.2 264 256 4 10 1.3 132 128 2 8 1.4 66 64 1 8
[0213] Table 7
[0214] FEC mode N K T M 2.1 544 512 16 10 2.2 272 256 8 10 2.3 136 128 4 8 2.4 68 64 2 8 2.5 34 32 1 8
[0215] Table 8
[0216] FEC mode N K T M 3.1 560 512 24 10 3.2 280 256 12 10 3.3 140 128 6 8 3.4 70 64 3 8
[0217] Table 9
[0218] FEC mode N K T M 4.1 576 512 32 10 4.2 288 256 16 10 4.3 144 128 8 8 4.4 72 64 4 8 4.5 36 32 2 8
[0219] Table 10
[0220]
[0221]
[0222] Table 11
[0223] FEC mode N K T M 6.1 576 544 16 10 6.2 288 272 8 10 6.3 144 136 4 8 6.4 72 68 2 8 6.5 36 34 1 8
[0224] Table 12
[0225] FEC mode N K T M 7.1 592 544 24 10 7.2 296 272 12 10 7.3 148 136 6 8 7.4 74 68 3 8
[0226] Table 13
[0227] FEC mode N K T M 8.1 608 544 32 10 8.2 304 272 16 10 8.3 152 136 8 8 8.4 76 68 4 8 8.5 38 34 2 8
[0228] Table 14
[0229] FEC mode N K T M 9.1 512 480 16 10 9.2 256 240 8 10 9.3 128 120 4 8 9.4 64 60 2 8
[0230] The type of the codeword of any FEC mode in the embodiments of the present application can be any type, such as Reed Solomon (RS), and the embodiments of the present application do not limit this.
[0231] Further, all the FEC modes supported by the first node and all the FEC modes supported by the second node can be the same or different. Before performing the data transmission method, the first node and the second node can transmit capability information to each other to inform each other of the FEC modes supported by themselves, and then the first node and the second node can determine the multiple FEC modes supported by both of them according to the FEC modes supported by both of them.
[0232] In summary, in the data transmission method provided by the embodiments of the present application, the first node divides the to-be-encoded data into X groups of initial data according to the number X of the encoding units encoded by using the first FEC mode; then the first node encodes the X groups of initial data one by one by using the X encoding units to obtain X groups of encoded data, and distributes the X groups of encoded data to the L links between the first node and the second node to transmit the X groups of encoded data to the second node. The data transmission method is different from the current data transmission method, and enriches the data transmission mode.
[0233] Also, in the data transmission method provided by the embodiments of the present application, X*N and X*K are both integer multiples of L, so the total length of the X groups of encoded data obtained by the first node is an integer multiple of L, and the first node can evenly and regularly distribute the X groups of encoded data to the L links, and the first node distributes the X groups of encoded data from the same starting position each time, thus simplifying the logic of the first node for distributing encoded data.
[0234] In addition, the first node and the second node can switch between the plurality of FEC modes. The length of the codeword of the FEC mode before and after the switching is a multiple of the first reference length, and the length of the valid information bits in the codeword of the FEC mode before and after the switching is an integer multiple of the second reference length, and for each FEC mode before and after the switching, the length of the codeword of the FEC mode is a multiple of the first reference length, and the length of the valid information bits in the codeword is an integer multiple of the second reference length. Therefore, the overheads of the FEC modes before and after the switching are the same. In this way, it can be ensured that the overheads of the FEC modes before and after the switching are the same, and the influence of the change of the overheads before and after the switching of the FEC modes on the data transmission (such as the change of the clock frequency of the first node and the second node caused by the change of the overheads before and after the switching of the FEC modes) can be avoided.
[0235] Further, in the present application, when the mode switching condition is met, the FEC mode can be switched to match the current FEC mode with the transmission quality of the current L links. For example, when the current transmission quality of the L links is poor, a FEC mode with stronger error correction capability can be used to improve the transmission quality and achieve high gain of data transmission. For another example, when the current transmission quality of the L links is high, a FEC mode with lower error correction capability can be used to minimize the latency of data transmission and reduce the power consumption of the first node and the second node while ensuring the quality of data transmission. It can be seen that the data transmission method provided by the embodiments of the present application can not only ensure high quality of data transmission, but also ensure low latency of data transmission and low power consumption of the nodes.
[0236] For example, the codewords of the plurality of FEC modes described above are different, the error correction capabilities of the FEC modes are different, the data transmission latencies caused by the FEC modes are different, and the power consumptions of the nodes caused by the FEC modes are also different. Therefore, the parameter range corresponding to each FEC mode can be designed according to the characteristics of the FEC modes, so that each FEC mode can be applied to the L links with state parameters in the corresponding parameter range. In this way, a suitable FEC mode can be selected according to different state parameters of the L links to achieve high data transmission quality, low data transmission latency, and low power consumption of the nodes.
[0237] It can be seen that the data transmission method provided by the embodiments of the present application can flexibly adjust the FEC mode used according to the transmission quality of the link, so that the data transmission method can be applied to links of various transmission qualities, and the transmission quality of the link can be effectively improved when the transmission quality of the link suddenly decreases.
[0238] For example, the code words of the above-mentioned multiple FEC modes can be as shown in Table 15. It can be seen that the code words of these FEC modes have a certain multiple relationship, so that the overheads of these FEC modes are consistent, the data rate can remain unchanged when the FEC mode is switched, and the clock scheme is simplified. In addition, for N, K and T in Table 15, N*X, K*X and T*X can all be integer multiples of the number of links L, so as to simplify the data distribution logic of the node. The M in the code word of each FEC mode in the same FEC mode group can be as consistent as possible, such as M1 and M2 being the same, M3 and M4 being the same, and in the embodiments of the present application, M can be 8 or 10. The FEC modes shown in Table 15 can be divided into two FEC mode groups, which are a low-latency group and a high-gain group. The low-latency group includes FEC modes 1 and 2, and the high-gain group includes FEC modes 3 and 4. The code word of the FEC mode in the low-latency group is shorter, and the data transmission latency caused is lower. The code word of the FEC mode in the high-gain group is longer, and the error correction capability is stronger. When the node uses the FEC mode in the low-latency group, the latency of data transmission can be ensured to be low; when the node uses the FEC mode in the high-gain group, the quality of data transmission can be ensured to be high, and a high data transmission gain can be ensured.
[0239] Table 15
[0240]
[0241] In the above embodiments, the first node is taken as an example of the sending end, and the second node is taken as an example of the receiving end. Alternatively, the first node can also be taken as a receiving end, and the second node can also be taken as a sending end. It can be seen that each node can simultaneously act as a sending end and a receiving end. At this time, each node will refer to the first node to generate encoded data according to the to-be-encoded data, and send the encoded data to another node. Each node will also refer to the second node to decode the received encoded data (referred to as to-be-decoded data) to obtain decoded data.
[0242] For example, Figure 5 A functional module schematic diagram of a node provided by the embodiments of the present application is as shown in Figure 5As shown, the node includes a first distribution module, a second distribution module, an encoding / decoding module, and an FEC mode control module. The encoding / decoding module includes C encoding / decoding groups, where C > 1. These C encoding / decoding groups correspond one-to-one with the various FEC modes mentioned above. Each FEC mode's corresponding encoding / decoding group includes at least one encoding / decoding unit for encoding and decoding using that FEC mode. Figure 5 (Not shown in the image). The FEC mode control module is used to determine the currently used FEC mode, control a set of codec units corresponding to this FEC mode in the codec module to be in working state, and control the codec units other than this set of codec units to be in non-working state.
[0243] On one hand, the first distribution module divides the data to be encoded into multiple sets of initial data and inputs these sets of initial data into multiple encoding / decoding units that are in operation within the encoding / decoding module. These encoding / decoding units encode the input initial data to obtain multiple sets of encoded data, and then input these sets of encoded data into the second distribution module. The second distribution module is used to evenly distribute the multiple sets of encoded data into multiple links.
[0244] On the other hand, the first distribution module is also used to input the received data to be decoded (including multiple sets of encoded data) one by one into multiple encoding / decoding units in the encoding / decoding module that are in operation. These encoding / decoding units decode the input encoded data to obtain multiple sets of decoded data (similar to the initial data mentioned above), and output these decoded data to the second distribution module. The second distribution module is used to combine these decoded data into a single decoded data (similar to the data to be encoded mentioned above).
[0245] The above text combines Figure 1 to Figure 5 This application provides a detailed description of the data transmission methods. It is understood that, in order to implement the functions described in the above methods, the device needs to include hardware and / or software modules corresponding to each function. Based on the execution process of the methods described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is implemented by hardware or by computer software driving hardware 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 in conjunction with the embodiments, but such implementation should not be considered beyond the scope of this application.
[0246] The embodiments can divide the corresponding device into functional modules according to the method embodiments described above. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The integrated module can be implemented in the form of hardware. It should be noted that the division of the modules in the embodiments is illustrative, and the division can be another division as a possible division of a logical function. The actual implementation can have another division.
[0247] When the functional module division is adopted, the communication device provided by the present application will be described below in combination with Figure 6 and Figure 7 .
[0248] Figure 6 A block diagram of a communication device provided by the embodiments of the present application is shown in the figure. The communication device can belong to the first node in the foregoing embodiments. The communication device has X encoding units that encode in a first FEC mode, X≥1. As shown in Figure 6 , the communication device includes a processing module 601, an encoding module 602, and a first sending module 603.
[0249] The processing module 601 is configured to divide the data to be encoded into X groups of initial data. The processing module 601 can perform the operations as described above in S101 in combination with the first node.
[0250] The encoding module 602 is configured to encode the X groups of initial data using the X encoding units one by one to obtain X groups of encoded data. The encoding module 602 can perform the operations as described above in S102 in combination with the first node.
[0251] The first sending module 603 is configured to distribute the X groups of encoded data to L links between the first node and the second node to send the X groups of encoded data to the second node, L≥2. The first sending module 603 can perform the operations as described above in S103 in combination with the first node.
[0252] wherein X*N and X*K are both integer multiples of L, N represents the length of a first codeword of the first FEC mode, K represents the length of valid information bits in the first codeword, and the amount of encoded data distributed to different links of the L links is the same.
[0253] Optionally, the first node and the second node both support multiple FEC modes, and the first FEC mode is any FEC mode in the multiple FEC modes.
[0254] Optionally, in the case that both the first node and the second node support multiple FEC modes, the first node and the second node can switch the employed FEC mode among the multiple FEC modes.
[0255] For example, the communication device further comprises a first switching module and a second sending module (neither of which is shown). The first switching module is configured to, before the processing module divides the to-be-encoded data into X groups of initial data, switch a second FEC mode currently employed in the multiple FEC modes to the first FEC mode if the mode switching condition is met; and the second sending module is configured to send an indication of the first FEC mode to the second node. The first switching module can perform operations as described above in S207 in relation to the first node. The second sending module can perform operations as described above in S206 in relation to the first node. Figure 6 For another example, the communication device further comprises a second switching module (neither of which is shown). The second switching module is configured to, before the processing module divides the to-be-encoded data into X groups of initial data, switch a second FEC mode currently employed in the multiple FEC modes to the first FEC mode if the mode switching condition is met, and the X groups of encoded data carry an indication of the first FEC mode.
[0256] Figure 6
[0257] Optionally, when the indication of the first FEC mode is carried in encoded data (such as encoded data obtained by encoding in the first FEC mode, or encoded data obtained by encoding in the second FEC mode), the indication of the first FEC mode comprises an AM. The AM in the encoded data indicates the first FEC mode, so that the AM can be multiplexed, which not only enables the first node to send the indication of the first FEC mode to the second node, but also eliminates the need to change the format of the existing encoded data.
[0258] Optionally, the length of the first codeword is a first multiple of a first reference length, and the length of the valid information bits in the first codeword is the first multiple of a second reference length; the length of the second codeword of the second FEC mode is a second multiple of the first reference length, and the length of the valid information bits in the second codeword is the second multiple of the second reference length.
[0259] Optionally, when the first codeword and the second codeword have the above multiple relationship, the first reference length and the second reference length related to the multiple relationship can have multiple implementation manners.
[0260] For example, the N is an integer multiple of 66 symbols, the K is an integer multiple of 64 symbols; or, the N is an integer multiple of 34 symbols, the K is an integer multiple of 32 symbols; or, the N is an integer multiple of 70 symbols, the K is an integer multiple of 64 symbols; or, the N is an integer multiple of 36 symbols, the K is an integer multiple of 32 symbols; or, the N is an integer multiple of 70 symbols, the K is an integer multiple of 68 symbols; or, the N is an integer multiple of 36 symbols, the K is an integer multiple of 34 symbols; or, the N is an integer multiple of 74 symbols, the K is an integer multiple of 68 symbols; or, the N is an integer multiple of 38 symbols, the K is an integer multiple of 34 symbols; or, the N is an integer multiple of 64 symbols, the K is an integer multiple of 60 symbols.
[0261] Optionally, the first node switching the FEC mode can be triggered by the second node, and the communication device further includes a receiving module and a judging module (not shown in the figures). The receiving module is configured to receive a mode switching request sent by the second node; and the judging module is configured to judge whether the mode switching condition is satisfied according to the mode switching request. The receiving module can perform the operations as described above with reference to S203 in relation to the first node. The judging module can perform the operations as described above with reference to S204 in relation to the first node. Figure 6
[0262] Optionally, the mode switching request carries at least one of the following: a state parameter of the L links, and an indication of the first FEC mode.
[0263] Optionally, the plurality of FEC modes each has a corresponding parameter range, and the parameter ranges corresponding to the plurality of FEC modes do not overlap with each other. The mode switching request carries a state parameter of the L links. The judging module is configured to determine that the mode switching condition is satisfied when the state parameter does not belong to the parameter range corresponding to the second FEC mode. The communication device further includes a determining module configured to determine the first FEC mode according to the state parameter, and the state parameter belongs to the parameter range corresponding to the first FEC mode.
[0264] Optionally, X≤16, or X≤32.
[0265] Figure 7 Another block diagram of a communication device is provided in the embodiments of the present application, which may, for example, belong to the second node in the foregoing embodiments. The communication device has X decoding units for decoding in a first FEC mode, X≥1, as shown in Figure 7 The communication device includes a first receiving module 701, a first processing module 702, a decoding module 703, and a second processing module 704.
[0266] The first receiving module 701 is used to receive encoded data from L links between the first node and the second node, where L≥2; the operations performed by the first receiving module 701 can be referred to the content related to the second node in S103 above.
[0267] The first processing module 702 is used to combine the encoded data received from the L links to obtain X sets of encoded data; the operations performed by the first processing module 702 can be referred to the content related to the second node in S104 above.
[0268] The decoding module 703 is used to decode the X groups of encoded data one by one using the X decoding units; the operations performed by the decoding module 703 can be referred to the content related to the second node in S105 above.
[0269] The second processing module 704 is used to combine the X groups of initial data to obtain the data to be encoded for the first node; the operations performed by the second processing module 704 can be referred to the content related to the second node in S106 above.
[0270] Where X*N and X*K are both integer multiples of L, N represents the length of the first codeword of the first FEC mode, and K represents the length of the effective information bits in the first codeword. The amount of encoded data received from different links is the same.
[0271] Optionally, both the first node and the second node support multiple FEC modes, and the first FEC mode is any one of the multiple FEC modes;
[0272] Optionally, if both the first node and the second node support multiple FEC modes, the first node and the second node can switch the FEC mode they use among these multiple FEC modes.
[0273] For example, the communication device further includes: a second receiving module and a first switching module. Figure 7 (Not shown in the text). The second receiving module is used to receive an indication of the first FEC mode sent by the first node before the first processing module combines the encoded data received from the L links. The first switching module is used to switch the currently used second FEC mode from the multiple FEC modes to the first FEC mode according to the indication of the first FEC mode. The operations performed by the second receiving module can be referred to the content related to the second node in S206 above. The operations performed by the first switching module can be referred to the content related to the second node in S208 above.
[0274] For example, the X group of encoded data carries the indication of the first FEC mode; the communication device further comprises a second switching module (not shown in the figure) configured to switch the second FEC mode currently used in the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode before the first processing module combines the encoded data received from the L links. Figure 7
[0275] Optionally, when the indication of the first FEC mode is carried in the encoded data (such as the encoded data encoded by the first FEC mode or the encoded data encoded by the second FEC mode), the indication of the first FEC mode comprises an AM. The AM in the encoded data indicates the first FEC mode, so that the AM can be multiplexed, and not only the first node can send the indication of the first FEC mode to the second node, but also the format of the existing encoded data does not need to be changed.
[0276] Optionally, the length of the first codeword is a first multiple of a first reference length, and the length of the valid information bits in the first codeword is the first multiple of a second reference length; the length of the second codeword of the second FEC mode is a second multiple of the first reference length, and the length of the valid information bits in the second codeword is the second multiple of the second reference length.
[0277] Optionally, when the first codeword and the second codeword have the above multiple relationship, the first reference length and the second reference length related to the multiple relationship can have multiple implementation manners.
[0278] For example, the N is an integer multiple of 66 symbols, and the K is an integer multiple of 64 symbols; or the N is an integer multiple of 34 symbols, and the K is an integer multiple of 32 symbols; or the N is an integer multiple of 70 symbols, and the K is an integer multiple of 64 symbols; or the N is an integer multiple of 36 symbols, and the K is an integer multiple of 32 symbols; or the N is an integer multiple of 70 symbols, and the K is an integer multiple of 68 symbols; or the N is an integer multiple of 36 symbols, and the K is an integer multiple of 34 symbols; or the N is an integer multiple of 74 symbols, and the K is an integer multiple of 68 symbols; or the N is an integer multiple of 38 symbols, and the K is an integer multiple of 34 symbols; or the N is an integer multiple of 64 symbols, and the K is an integer multiple of 60 symbols.
[0279] Optionally, the first node switching the FEC mode can be triggered by the second node, and the communication device further comprises a sending module (not shown in the figure) configured to send the indication of the first FEC mode to the second node. Figure 7 The sending module is configured to send, to the first node, a mode switching request when the mode switching condition is met before the first switching module or the second switching module switches a second FEC mode currently used in the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode. The sending module can perform operations as described above with reference to the second node in S203.
[0280] Optionally, the mode switching request carries the state parameter of the L links and / or an identifier of the first FEC mode.
[0281] Optionally, the plurality of FEC modes each has a corresponding parameter range, and the parameter ranges corresponding to the plurality of FEC modes do not overlap with each other. The communication device further includes an obtaining module and a determining module. Figure 7 The obtaining module is configured to obtain the state parameter of the L links before the sending module sends the mode switching request to the first node (as shown in FIG. 2B and FIG. 2C). The determining module is configured to determine that the mode switching condition is met when the state parameter does not belong to the parameter range corresponding to the second FEC mode, and the mode switching request carries the state parameter. The obtaining module can perform operations as described above with reference to the second node in S201. The determining module can perform operations as described above with reference to the second node in S202.
[0282] Optionally, X≤16, or X≤32.
[0283] In the case of an integrated unit, the communication device belonging to the first node or the second node provided in the present application can include a processing module, a storage module and a communication module. The processing module can be configured to control and manage the actions of the communication device, for example, can be configured to support the communication device to perform the actions performed by the first node or the second node in S101-S106 described above, or can be configured to support the communication device to perform the actions performed by the first node or the second node in S201-S208 described above. The storage module can be configured to support the communication device to store program codes and data, etc. The communication module can be configured to support the communication device to communicate with other devices.
[0284] The processing module can be a processor or a controller. It can realize or execute various exemplary logical blocks, modules and circuits described in combination with the disclosure of the present application. The processor can also be a combination of computing functions, such as one or more microprocessor combinations, digital signal processing (DSP) and microprocessor combinations, etc. The storage module can be a memory. The communication module can be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, etc. and other devices for interaction.
[0285] In one embodiment, when the processing module is a processor, the storage module is a memory, and the communication module is a communication interface, the communication device involved in the embodiment can be a communication device with the structure as shown in the figure. Figure 2 In one implementation, the above-mentioned modules and the like included in the communication device can be computer programs stored in the memory and invoked by the processor to implement the corresponding execution functions of the modules.
[0286] The embodiment of the application further provides a communication system, which includes the first node and the second node.
[0287] The embodiment of the application provides a computer storage medium, which stores a computer program; when the computer program runs on a computer, the computer program causes the computer to execute the method executed by the first node or the second node in any data transmission method provided by the embodiment of the application.
[0288] The embodiment of the application further provides a computer program product containing instructions, which, when the computer program product runs on a communication device, causes the communication device to execute the method executed by the first node or the second node in any data transmission method provided by the embodiment of the application.
[0289] In the above-mentioned embodiments, all or part of the embodiments can be realized by software, hardware, firmware or any combination thereof. When realized by software, all or part of the embodiments can be realized in the form of a computer program product including one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the application are generated. The computer can be a general-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer readable storage medium of the computer, or transferred from one computer readable storage medium to another, for example, the computer instructions can be transferred from one website, computer, server or data center to another by wire (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.). The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center and the like integrated with one or more available media. The available media can be magnetic media (such as floppy disk, hard disk, magnetic tape), optical media, or semiconductor media (such as solid state disk) and the like.
[0290] In the present application, the terms "first" and "second" and the like are used only for descriptive purposes, and cannot be construed as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "multiple" refers to two or more, unless otherwise explicitly limited.
[0291] The different types of embodiments provided by the method embodiments and the device embodiments of the present application can be mutually referred to, which are not limited by the present application. The order of operations of the method embodiments provided by the present application can be adjusted appropriately, and the operations can be increased or decreased accordingly according to the circumstances. Any person skilled in the art can easily think of changes within the technical range disclosed by the present application, which should be covered within the protection scope of the present application, and therefore will not be described again.
[0292] In the corresponding embodiments provided by the present application, it should be understood that the disclosed system and device can be implemented by other constitutions. For example, the device embodiments described above are only schematic, for example, the division of the modules is only a logical function division, and actual implementation can have another division manner, for example, a plurality of modules can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed units can be indirect coupling or communication connection through some interfaces, devices or modules, which can be electrical or other forms.
[0293] The units described as separate components can or can not be physically separated, and the components described as units can or can not be physical units, which can be located in one place or distributed on multiple devices. Part or all of the units can be selected according to actual needs to achieve the purpose of the present embodiment.
[0294] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited to this. Any person skilled in the art can easily think of various equivalent modifications or replacements within the technical range disclosed by the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A data transmission method, characterized by, The method is performed by a first node, the first node comprising X encoding units coded in a first forward error correction, FEC, mode, X≥1, the method comprising: dividing to-be-coded data into X groups of initial data; encoding the X groups of initial data using the X encoding units respectively to obtain X groups of coded data; distributing the X groups of coded data to L links between the first node and a second node according to a same data amount, to send the X groups of coded data to the second node, L≥2; wherein X N and X K is an integer multiple of L, N represents the length of a first codeword of the first FEC mode, and K represents the length of the effective information bits in the first codeword.
2. The method of claim 1, wherein, the first node and the second node both support a plurality of FEC modes, the first FEC mode being any one of the plurality of FEC modes; the method further comprising: before dividing to-be-coded data into X groups of initial data, if a mode switching condition is satisfied, switching a second FEC mode currently used in the plurality of FEC modes to the first FEC mode; sending an indication of the first FEC mode to the second node.
3. The method of claim 1, wherein, the first node and the second node both support a plurality of FEC modes, the first FEC mode being any one of the plurality of FEC modes; the method further comprising: before dividing to-be-coded data into X groups of initial data, if a mode switching condition is satisfied, switching a second FEC mode currently used in the plurality of FEC modes to the first FEC mode, the X groups of coded data carrying an indication of the first FEC mode.
4. The method according to claim 2 or 3, characterized in that, a length of the first codeword is a first multiple of a first reference length, and a length of valid information bits in the first codeword is the first multiple of a second reference length; a length of a second codeword of the second FEC mode is a second multiple of the first reference length, and a length of valid information bits in the second codeword is the second multiple of the second reference length.
5. The method according to any one of claims 2 to 4, characterized in that, the indication of the first FEC mode comprises an alignment marker, AM.
6. The method according to any one of claims 2 to 5, characterized in that, the method further comprising: receiving a mode switching request sent by the second node; determining whether the mode switching condition is satisfied according to the mode switching request.
7. The method of claim 6, wherein, the mode switching request carries at least one of: a state parameter of the L links, and the indication of the first FEC mode.
8. The method of claim 6, wherein, the plurality of FEC modes all have corresponding parameter ranges, and the corresponding parameter ranges of the plurality of FEC modes do not overlap with each other, and the mode switching request carries the state parameter of the L links; determining whether the mode switching condition is satisfied according to the mode switching request comprises: when the state parameter does not belong to the parameter range corresponding to the second FEC mode, determining that the mode switching condition is satisfied; the method further comprising: determining the first FEC mode according to the state parameter, the state parameter belonging to the parameter range corresponding to the first FEC mode.
9. The method according to any one of claims 1 to 8, characterized in that, the N is an integer multiple of 66 symbols, and the K is an integer multiple of 64 symbols; alternatively, the N is an integer multiple of 34 symbols, and the K is an integer multiple of 32 symbols; alternatively, the N is an integer multiple of 70 symbols, and the K is an integer multiple of 64 symbols; Or, the N is an integer multiple of 36 symbols, and the K is an integer multiple of 32 symbols; Or, the N is an integer multiple of 70 symbols, and the K is an integer multiple of 68 symbols; Or, the N is an integer multiple of 36 symbols, and the K is an integer multiple of 34 symbols; Or, the N is an integer multiple of 74 symbols, and the K is an integer multiple of 68 symbols; Or, the N is an integer multiple of 38 symbols, and the K is an integer multiple of 34 symbols; Or, the N is an integer multiple of 64 symbols, and the K is an integer multiple of 60 symbols.
10. A data transmission method, characterized by, The method is performed by a second node, the second node comprising X decoding units for decoding in a first forward error correction (FEC) mode, X≥1, the method comprising: receiving encoded data of a same amount from each of L links between a first node and the second node, L≥2; combining the encoded data received from the L links to obtain X groups of encoded data; decoding the X groups of encoded data with the X decoding units to obtain X groups of initial data; combining the X groups of initial data to obtain data to be encoded by the first node; wherein X N and X K is an integer multiple of L, N represents the length of a first codeword of the first FEC mode, and K represents the length of the effective information bits in the first codeword.
11. The method of claim 10, wherein, the first node and the second node both support a plurality of FEC modes, and the first FEC mode is any one of the plurality of FEC modes; before combining the encoded data received from the L links, the method further comprises: receiving an indication of the first FEC mode sent by the first node; and switching a second FEC mode currently used in the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode.
12. The method of claim 10, wherein, the first node and the second node both support a plurality of FEC modes, and the first FEC mode is any one of the plurality of FEC modes; and the X groups of encoded data carry an indication of the first FEC mode; before combining the encoded data received from the L links, the method further comprises: switching a second FEC mode currently used in the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode.
13. The method according to claim 11 or 12, characterized in that, a length of the first codeword is a first multiple of a first reference length, and a length of valid information bits in the first codeword is the first multiple of a second reference length; a length of a second codeword of the second FEC mode is a second multiple of the first reference length, and a length of valid information bits in the second codeword is the second multiple of the second reference length.
14. The method according to any one of claims 11 to 13, characterized in that, the indication of the first FEC mode comprises an alignment marker (AM).
15. The method according to any one of claims 11 to 14, characterized in that, before switching a second FEC mode currently used in the plurality of FEC modes to the first FEC mode according to the indication of the first FEC mode, the method further comprises: when a mode switching condition is met, sending a mode switching request to the first node.
16. The method of claim 15, wherein, the mode switching request carries a state parameter of the L links and / or an identifier of the first FEC mode.
17. The method of claim 15, wherein, The plurality of FEC modes each have a corresponding parameter range, and the parameter ranges corresponding to the plurality of FEC modes do not overlap with each other; Before sending the mode switching request to the first node, the method further comprises: obtaining a state parameter of the L links; when the state parameter does not belong to the parameter range corresponding to the second FEC mode, determining that the mode switching condition is met, and the mode switching request carries the state parameter.
18. The method of any one of claims 10 to 17, wherein, The N is an integer multiple of 66 symbols, and the K is an integer multiple of 64 symbols. Alternatively, the N is an integer multiple of 34 symbols, and the K is an integer multiple of 32 symbols. Alternatively, the N is an integer multiple of 70 symbols, and the K is an integer multiple of 64 symbols. Alternatively, the N is an integer multiple of 36 symbols, and the K is an integer multiple of 32 symbols. Alternatively, the N is an integer multiple of 70 symbols, and the K is an integer multiple of 68 symbols. Alternatively, the N is an integer multiple of 36 symbols, and the K is an integer multiple of 34 symbols. Alternatively, the N is an integer multiple of 74 symbols, and the K is an integer multiple of 68 symbols. Alternatively, the N is an integer multiple of 38 symbols, and the K is an integer multiple of 34 symbols. Alternatively, the N is an integer multiple of 64 symbols, and the K is an integer multiple of 60 symbols.
19. A communications device, characterized by The communication device belongs to a first node, and the communication device has X encoding units using a first forward error correction (FEC) mode for encoding, X≥1, and the communication device comprises: a processing module configured to divide to-be-encoded data into X groups of initial data; an encoding module configured to encode the X groups of initial data using the X encoding units one by one to obtain X groups of encoded data; a first sending module configured to distribute the X groups of encoded data to L links between the first node and a second node according to the same data amount, so as to send the X groups of encoded data to the second node, L≥2; wherein X N and X K is an integer multiple of L, N represents the length of a first codeword of the first FEC mode, and K represents the length of the effective information bits in the first codeword.
20. A communications device, characterized by The communication device belongs to a second node, and the communication device has X decoding units using a first forward error correction (FEC) mode for decoding, X≥1, and the communication device comprises: a first receiving module configured to receive encoded data of the same data amount from each of L links between a first node and the second node, L≥2; a first processing module configured to combine the encoded data received from the L links to obtain X groups of encoded data; a decoding module configured to decode the X groups of encoded data using the X decoding units one by one to obtain X groups of initial data; a second processing module configured to combine the X groups of initial data to obtain to-be-encoded data of the first node; wherein X N and X K is an integer multiple of L, N represents the length of a first codeword of the first FEC mode, and K represents the length of the effective information bits in the first codeword.
21. A communications device, characterized by The communication device comprises a processor and a memory, and the memory stores a program; The processor is configured to invoke the program stored in the memory, so that the communication device performs the data transmission method according to any one of claims 1 to 9.
22. A communications device, characterized by The communication device comprises a processor and a memory, and the memory stores a program; The processor is configured to invoke a program stored in the memory, so that the communication device performs the data transmission method according to any one of claims 10-18.
23. A communication system, characterized by The communication system comprises a first node and a second node; The first node comprises the communication device according to claim 19, and the second node comprises the communication device according to claim 20; Or, the first node comprises the communication device according to claim 21, and the second node comprises the communication device according to claim 22.
24. A computer storage medium, comprising, The storage medium stores a computer program; The computer program, when running on a computer, causes the computer to perform the data transmission method according to any one of claims 1-9; Or, the computer program, when running on a computer, causes the computer to perform the data transmission method according to any one of claims 10-18.
Citation Information
Patent Citations
Data transmission method, communication device and system
CN115134039A