Multi-service hybrid bearing method for high-speed interconnection, bearing equipment and hybrid service sending equipment
By adopting a multi-service data frame payload unit distributor in the field of high-speed SerDes transmission, the code blocks of each service data in the payload area of the data frame are evenly distributed, and the problems of complex protocol levels and uneven code block allocation in the prior art are solved, and efficient multi-service bearer and bandwidth utilization are achieved.
Patent Information
- Application Number
- CN202510133621.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-06
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2045-02-06
AI Technical Summary
In the field of high-speed SerDes transmission, the data transmission protocol level is complex and difficult to adapt to the needs of ultra-high-speed transmission. At the same time, the code block allocation of service signals at different rates in the OTN frame is uneven, resulting in low bandwidth utilization and may cause data packet loss or delay.
A multi-service hybrid bearing method and device for high-speed interconnection is provided. The multi-service data frame payload unit distributor determines the number of code blocks of each service data in the payload area of the data frame, and distributes it evenly, so that each service data is evenly distributed within the payload area, reducing the mapping complexity.
It realizes efficient carrying of services of various speeds, reduces the complexity and delay of data transmission, improves bandwidth utilization, and avoids uneven service scheduling load and traffic congestion.
Smart Images

Figure CN119561656A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of optical communication technology, and in particular to a multi-service hybrid bearing method, a bearing device and a hybrid service sending device for high-speed interconnection. Background Art
[0002] With the development of network transmission, SerDes technology has been upgraded from the highest rate of 10Gbps around 2010 to the current highest rate of 112Gbps. However, data transmission protocols that match the SerDes rate, such as 100GE (100 GigabitEthernet), are carried by OTN (Optical Transport Network) and are designed based on the early SerDes with a single channel of 10Gbps. This technology results in multiple layers and complex structures of transmission protocols, which is no longer applicable to the current ultra-high-speed SerDes transmission field. In addition, when service signals of different rates are mapped to OTN frames, the distribution of code blocks is often uneven. Uneven distribution reduces bandwidth utilization and may cause data packet loss or delay. Summary of the invention
[0003] In response to the problems existing in the prior art, the embodiments of the present disclosure provide a multi-service hybrid carrying method, carrying device and sending device for high-speed interconnection, which can carry multiple services with different rates while reducing the complexity of mapping and matching the Ethernet service in granularity.
[0004] According to the first aspect of the present disclosure, an embodiment of the present disclosure provides a hybrid service transmission device for high-speed interconnection, which includes a multi-service data frame payload unit distributor, which determines the number of code blocks in the payload area of the data frame to which each service data in multiple service data is allocated, each service data corresponds to a service, wherein the number of code blocks in the payload area to which one service data in the multiple service data is allocated is determined according to the following relationship: the ratio of the maximum possible rate of the one service data to the payload rate is equal to the ratio of the number of code blocks of the one service data to the number of code blocks in the payload area, and the calculated value of each service data in the multiple service data is The number of code blocks is used to allocate a code block position for each service data so that its code block is evenly distributed in the payload area; a mapping unit is used to fill each service data into the payload area of the data frame according to the allocated code block position, wherein each data frame includes an overhead area, a payload area and an error correction coding area; a framing unit is used to generate overhead information corresponding to the service data, generate error correction coding information according to the service data and the overhead information, and fill the overhead information and error correction coding information into the data frame; a SerDes sending unit is used to convert parallel data into serial data and send it to the optical module sending unit; an optical module sending unit is used to convert the electrical signal to be sent into an optical signal.
[0005] In the embodiments provided by the present disclosure, the number of code blocks occupied by each service in the payload area is determined according to the ratio of the maximum possible rate of each service to the payload rate, so that multiple services can be transmitted through an optical communication channel. In addition, evenly distributing each service data in the payload area can avoid uneven service scheduling load, resulting in service flow concentration and traffic congestion. The maximum possible rate is the sum of the nominal rate and the maximum frequency deviation, and the maximum frequency deviation is calculated according to the standard of the maximum frequency deviation.
[0006] Optionally, according to the first aspect of the present disclosure, allocating a code block position for each service data according to the calculated number of code blocks of each service data in the multiple service data so that its code blocks are evenly distributed in the payload area includes: sorting all code blocks in the payload area so that each code block has a first number; for the service data with the highest rate among the multiple service data, determining, according to the determined number of code blocks, the first number of the code blocks occupied by each code block of the service data with the highest rate in the payload area as the code block position, so that the code blocks of the service data with the highest rate are evenly distributed in all code blocks; and
[0007] The remaining idle code blocks in all the code blocks are renumbered so that they have second numbers. For the service data with the highest rate among the service data whose code block positions are not determined, the second number occupied by each code block of the service data in the remaining idle code blocks is determined according to the number of code blocks of the service data so that the code blocks of the service data are evenly distributed in the remaining idle code blocks. The first number of each code block of the service data is determined as the code block position according to the second number. This step is repeated until the code block positions occupied by all the service data in the payload area are determined.
[0008] The above method can achieve uniform filling of each service data when allocating the payload area, and the amount of calculation required to implement the process is relatively small.
[0009] Optionally, according to the first aspect of the present disclosure, the payload area includes first and second payload areas that are separately set, the error correction coding area includes first and second error correction coding areas that are separately set, the first error correction coding area corresponds to data in the first payload area, and the second error correction coding area corresponds to data in the second payload area. Optionally, the overhead area of the data frame includes control information indicating the code block position actually occupied by each service data in the payload area of the next data frame.
[0010] According to the second aspect, the embodiment of the present disclosure provides a multi-service hybrid bearing method for high-speed interconnection, which includes determining the number of code blocks in the payload area of the data frame to which each service data among multiple service data is allocated, each service data corresponds to a service, wherein the number of code blocks allocated to one service data among multiple service data is determined according to the following relationship: the ratio of the maximum possible rate of the one service data to the payload rate is equal to the ratio of the number of code blocks of the one service data to the number of all code blocks in the payload area; according to the calculated number of code blocks of each service data among the multiple service data, a code block position is allocated to each service data so that its code block is evenly distributed in the payload area; according to the determined code block position allocated to each service data in the payload area, each service data is filled into the payload area of the data frame. The method can be executed by a transmitting end device connected to an optical communication channel or a part of the transmitting end device (for example, a chip or a transceiver circuit), which is not limited here.
[0011] This method determines the number of code blocks occupied by each service in the payload area according to the ratio of each service rate to the payload rate, so that multiple services can be transmitted through one optical communication channel, and at the same time, each service data is evenly distributed in the payload area, which can avoid uneven service scheduling load, resulting in service flow concentration and traffic congestion. This method can be applied to high-speed data center application scenarios.
[0012] Optionally, according to the second aspect of the present disclosure, according to the calculated number of code blocks of each business data among multiple business data, a code block position is assigned to each business data so that its code block is evenly distributed in the payload area, including: sorting all code blocks in the payload area so that each code block has a first number; for the business data with the highest rate among the multiple business data, determining the first number occupied by each code block of the business data with the highest rate in the payload area as the code block position according to the determined number of code blocks, so that the code blocks of the business data with the highest rate are evenly distributed in all code blocks; and renumbering the remaining idle code blocks in all the code blocks so that they have a second number, for the business data with the highest rate among the business data whose code block positions are not determined, determining the second number occupied by each code block of the business data in the remaining idle code blocks according to the number of code blocks of the business data so that the code blocks of the business data are evenly distributed in the remaining idle code blocks, determining the first number of each code block of the business data as the code block position according to the second number, and repeating this step until the code block positions occupied in the payload area are determined for all business data.
[0013] The above method can achieve uniform filling of each service data when filling the payload area, and the calculation amount of the implementation process is small.
[0014] Optionally, according to the second aspect of the present disclosure, the method further includes sending the data frame to a SerDes sending device, and sending the data frame to an optical module sending device after being processed by the SerDes sending device. The method can be applicable to high-speed SerDes, for example, with a rate of 112G or higher.
[0015] Optionally, according to the second aspect of the present disclosure, each data frame includes an overhead area, a payload area and an error correction coding area, the payload area includes a first and a second payload area that are separately set, the error correction coding area includes a first and a second error correction coding area that are separately set, the first error correction coding area corresponds to the data in the first payload area, and the second error correction coding area corresponds to the data in the second payload area. Optionally, the overhead area of the data frame includes control information indicating the position occupied by each service data in the payload area of the next data frame.
[0016] Optionally, the overhead area only includes a frame header and a frame tail, wherein the frame header includes information indicating the start of the frame and frame synchronization information, and the frame tail includes the type of service data, a status flag, and control information, wherein the status flag includes at least the network status of the service data and the link status of the optical communication network, and the control information includes an indication of the number and position of code blocks actually occupied by each service data filled in the next data frame. This method can reduce the delay of the next data frame processing process. The actual number of filled code blocks for each service is determined according to the following relationship: the ratio of the current rate of each service data to the payload rate is equal to the ratio of the actual number of filled code blocks of the service data to the number of code blocks in the payload area.
[0017] Optionally, filling each service data into the payload area of the data frame according to the determined code block position allocated to each service data in the payload area includes calculating the number of code blocks actually occupied according to the current rate of each service data, and filling the service data of the number of code blocks actually occupied into the allocated code block position, and the control information can indicate the code block position actually occupied by each service data in the payload area of the next data frame. This method makes the space occupied by the overhead area smaller and can obtain a higher payload rate.
[0018] Optionally, each service data corresponds to a separate elastic buffer, and predetermined multiple data in each service data are assembled into a data unit to be sent to the elastic buffer at the same time, and the elastic buffer fills the service data into the payload area of the data frame according to the code block position of each service data in the payload area. Assembling the code blocks and sending them to the elastic buffer at the same time can reduce the complexity and cost of clock hardware implementation.
[0019] Optionally, the code block size of the data frame is 66 bits, and each service data is Ethernet service data. For example, the service data includes one or more of 50G, 25G, 10G, and 1G. Setting the code block size of the data frame to 66 bits can match the granularity of Ethernet, improve the effective payload efficiency, and reduce the mapping complexity.
[0020] Optionally, each of the data frames includes M rows×5280 columns or M rows×5440 columns of code blocks, the frame header and the first payload area occupy 2569, the frame tail and the second payload area occupy 2569 columns, the frame header and the frame tail each occupy at least one code block, the first and second error correction coding areas are the same size, and M is an integer greater than 1. The overhead area of the data frame of the embodiment of the present disclosure occupies very few resources, which significantly improves the effective payload efficiency.
[0021] According to an embodiment of the third aspect of the present disclosure, a multi-service hybrid bearer device for high-speed interconnection is provided, which includes a processor, a memory and a communication interface, wherein the memory stores program code; the communication interface is used to receive business data; and the processor is used to read and execute the program code stored in the memory to implement the method as described above.
[0022] It is not necessary to achieve all the advantages described above at the same time for any device implementing the present disclosure. Other features and advantages of the present disclosure will be described in the subsequent description embodiments, and partly become apparent from the description embodiments, or be understood by implementing the present disclosure. The purposes and advantages of the embodiments of the present disclosure can be realized and obtained by the structures indicated in the description, claims and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings of the embodiments will be briefly introduced below. Obviously, the drawings in the following description only relate to some embodiments of the present disclosure, but are not intended to limit the present disclosure.
[0024] Figure 1 is a schematic diagram of a new network architecture for carrying multi-service data according to an embodiment of the present disclosure;
[0025] Figure 2 A schematic diagram of a mapping path for multi-service data according to an embodiment of the present disclosure;
[0026] Figure 3 is a schematic diagram of a mapping path for multi-service data according to another embodiment of the present disclosure;
[0027] Figure 4 is a schematic diagram of a payload distribution algorithm according to an embodiment of the present disclosure;
[0028] Figure 5 is based on Figure 4 A schematic diagram of the payload occupation status of service data obtained by the payload distribution algorithm;
[0029] Figure 6 is based on Figure 4 A schematic diagram of a path for performing payload filling by the payload distribution of an embodiment;
[0030] Figure 7 is a schematic diagram of a data frame structure that can be used according to an embodiment of the present disclosure;
[0031] Figure 8 is a schematic diagram of overhead information according to an embodiment of the present disclosure;
[0032] Fig. 9 is a structural schematic diagram of an optical communication sending device for multiple services according to an embodiment of the present disclosure;
[0033] Fig.10 is a structural schematic diagram of an optical communication receiving device for multiple services according to an embodiment of the present disclosure;
[0034] Fig.11 It is a schematic diagram of a multi-service hybrid bearer device for high-speed interconnection according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0035] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings of the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. The various different embodiments can be combined with each other to form other embodiments not shown in the following description. Based on the described embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0036] Unless otherwise defined, the technical terms or scientific terms used herein shall have the usual meanings understood by persons of ordinary skill in the field to which the present disclosure belongs. The words "first", "second" and similar words used in the present disclosure specification and claims do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, words such as "one" or "one" do not necessarily indicate a quantity restriction. Words such as "include" or "comprise" mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Words such as "connect" or "connected" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0037] The service data mentioned in the present disclosure refers to the data of the service that can be carried by the optical communication technology. In the present disclosure, the service that can be carried by the optical communication technology may include suitable services such as Ethernet services.
[0038] The start of frame (SOF) and end of frame (EOF) in this disclosure belong to the category of overhead. They do not directly carry business data during data transmission, but provide auxiliary functions such as transmission management, synchronization, and error detection.
[0039] Figure 1 A schematic diagram of a new network architecture according to an embodiment of the present disclosure is shown. The multi-service bearer device 201 receives service data sent by multiple clients, for example, the service data sent by the first to fourth devices 101-104. For example, the service data can be any service flow of 10G Ethernet service, 25G Ethernet service, 50G Ethernet service, FlexE Ethernet service, etc. They are transmitted to the optical module through a high-speed SerDes (serializer / deserializer) (more specifically, for example, 112G SerDes) for optical communication transmission. The sum of the bandwidths of multiple service data is less than the bandwidth of the high-speed SerDes. The service data of the above Ethernet can be based on a 66-bit cell.
[0040] The multi-service bearer device 201 is used to map and frame the service data received from multiple client devices, or to deframe and demap the data received from the optical communication channel via SerDes. The sent data is processed by SerDes and then sent to the optical module for transmission through the optical communication channel. For example, 1G, 10G, 25G, and 50G Ethernet service data can be processed and sent to the optical module via 112G SerDes. The specific examples here are not intended to limit the network architecture.
[0041] The multi-service bearing device 201 includes a mapper / demapper 2011 and a framer / deframer 2012. The mapper / demapper 2011 refers to a mapper or a demapper, which can be included in the same device or in different devices. For example, the mapper is included in a device that sends data, and the demapper is included in a device that receives data. The mapper can implement one or more of the following steps: mapping the service data into the frame format of the data frame used in the local optical communication network, including generating one or more of the frame header mark, frame tail mark, data frame envelope, row number, column number and other information, filling multiple service data into the payload area through their respective elastic buffers according to a predetermined filling method; adjusting the filled data according to the transmission frequency deviation between the data frame and the service data; and sending the filled frame to the subsequent framer. The mapper can be used to ensure the synchronization and integrity of the service data, and to handle the problems of rate adaptation and clock deviation. The payload distribution method for multiple service data will refer to Figures 4 to 6 Specific instructions.
[0042] The demapper can implement one or more of the following steps: detecting the data frame format received from the deframer, and finding the payload position based on one or more of the recovered frame header mark, frame tail mark, data frame envelope, row number, column number, control information, etc.; splitting the data of the payload part according to a predetermined filling method, and parsing the service data according to the rate information; transmitting the extracted multiple service data to their respective multiple client devices.
[0043] The framer / deframer 2012 may refer to a framer or a deframer, and the two may be included in the same device or in different devices, for example, the framer is included in the sending device and the deframer is included in the receiving device. The framer is used to generate and process data, and the deframer is used to parse data frames. When the framer receives a data unit transmitted from the mapper, it encapsulates the data and performs one or more of the following steps: generating and inserting overhead (e.g., frame header, frame tail), inserting one or more of the check bits generated by the error correction coding, etc., adding synchronization bytes to the frame to ensure that the receiving end can correctly identify the frame boundary. When receiving a data frame sent by the optical communication channel, the deframer includes locating the frame header from multiple frames, extracting link information from the overhead and parsing the overhead information, performing error detection and correction, and outputting the data to the demapper.
[0044] The error correction codec 2013 includes a coding unit or a decoding unit. The coding unit and the decoding unit can be included in the same device, or can be respectively set in the sending device and the receiving device. The coding unit can generate check bits based on the error correction coding scheme, and the data obtained in the above steps (here, the payload area and the overhead area generated by the business data mapping) are used to generate check bits using a specific coding scheme. These check bits contain redundant information and are used for error detection and correction at the receiving end. The mapped data and the generated check bits are combined into a data frame in the framer. The error correction coding scheme can be an FEC algorithm, for example, it can be specifically a KR4 FEC algorithm, a KP4 FEC algorithm, etc.
[0045] The decoding unit separates the check bits of the received data frame and uses the same error correction coding scheme to calculate the separated check bits to detect whether there are errors in the checked data in the data frame. If errors are detected, the decoding unit will try to correct them using the redundant information in the check bits. For example, different FEC algorithms have different error correction capabilities and can correct a certain number of error bits. The corrected data will be further demapped.
[0046] SerDes 202 converts parallel data into serial data in the sending direction and restores the received serial data into parallel data in the receiving direction, which can effectively avoid crosstalk between data under high-frequency conditions. Here, a single-channel SerDes with a maximum rate of 112G or a higher rate SerDes can be used to obtain a larger bandwidth.
[0047] The optical module 203 includes optoelectronic devices, functional circuits, and optical interfaces, and includes two parts, a transmitting part and a receiving part, which convert the electrical signal to be transmitted into an optical signal or convert the received optical signal into an electrical signal.
[0048] The multi-service bearer device 201, the SerDes device 202 and the optical module 203 may be arranged in devices such as a network switch, a router, a data center server and the like.
[0049] Figure 2 This is a schematic diagram of the mapping path from the service data of multiple client devices to the optical communication data unit according to the embodiment of the present disclosure. First, the service data from multiple clients are filled with service data first, and the service data is filled in the filling layer according to a predetermined allocation method. When filling the service data, the distribution of each service data in the payload area is calculated in advance, that is, the number of code blocks and the position of code blocks in the payload area to which each service data is allocated, and each service data is stored in the payload area according to the determined number and position according to the calculated number of code blocks and the position of code blocks. For the specific allocation and filling process, refer to Figure 4-6 Described below.
[0050] After the service data is filled into the payload area of the data frame, the first layer overhead information is added. The first layer overhead information may be related to the service data, for example, it may be type information and status indication information for the service data. The type information of the service data may indicate its data type, and the status indication information may indicate whether the network or device of the service data is working properly. More specifically, if the service data received is Ethernet service data, the first layer overhead information may include Ethernet service type and status indication information indicating whether Ethernet is working properly. The first layer overhead information may also include information indicating the start of a frame and frame synchronization information.
[0051] The data unit of the payload layer is mapped to the basic data unit after adding the second layer overhead information. The second layer overhead information may include one or more of PM (Path Monitoring), APS (Automatic Protection Switching), status information, control information, etc. The status information, for example, includes a field indicating the link status. For a more specific description of the control information, please refer to the description of the overhead information below.
[0052] After adding error correction coding, the basic data unit is mapped into an optical communication data frame, which is sent to the optical module via SerDes. Figure 2 FIG. 4 shows a data frame having an error correction coding part by taking FEC coding as an example.
[0053] Figure 2 The business data shown is mapped to the data frame in code blocks, and the code block size of the data frame is equal to the code block size of each business data or an integer multiple of the code block size of the business data, so that the granularity of the two is adapted, simplifying the logical processing complexity of the mapping process and the design difficulty of the mapping circuit.
[0054] Figure 2 The business data mapping process shown corresponds to Figure 1 The process of processing service data or data frames by the mapper / demapper 2011, the framer / deframer 2012 and the error correction codec 2013 of the multi-service bearer device 201 in FIG. 20. Compared with the existing mapping scheme, the mapping path level of this embodiment is reduced, which effectively reduces the delay. Since the mapping complexity is reduced, the overhead structure is also simpler, which helps to improve the effective payload efficiency.
[0055] Figure 3 Another schematic diagram of a mapping path for mapping service data of multiple clients to optical communication data units according to an embodiment of the present disclosure is shown. Figure 3 and Figure 2 The difference is Figure 3 The data frame shown is divided into two parts, each part will include an overhead, a payload area and an error correction coding area.
[0056] Optional, Figure 3 The data frame may include two parts of equal size. The first part includes an overhead, a first payload area, and a first error correction coding area. Optionally, the first part of the overhead may include a frame header, and optionally, the frame header includes the start position and synchronization information of the frame. In an example, the frame header may occupy at least the first code block of the first row. The first payload area is used to fill business data. The first error correction coding area encodes the data in the frame header and the first payload area for error detection and correction at the receiving end.
[0057] The second part of the data frame includes a second payload area, an overhead, and a second error correction coding area. The second payload area is used to fill the service data. The overhead can be a frame tail, and optionally, the frame tail can be immediately after the second payload area, including information indicating the filling quantity and position of each service data in the next data frame. In one example, the frame tail can occupy at least two code blocks, such as the tail code block of the last column of code blocks in the second payload area. The second error correction coding area is encoded for the second payload area and the frame tail for error detection and correction at the receiving end. Figure 3 An example of a data frame will refer to Figure 7 This is described in detail below.
[0058] The following references Figure 4-6 illustrate Figure 2 The process of determining the filling quantity and position of each service data shown in FIG. The payload area in a complete data frame contains N allocatable idle code blocks for filling service data, where
[0059] N = the total number of code blocks in a data frame - the number of code blocks in the error correction coding area - the number of overhead code blocks.
[0060] First, the N code blocks are numbered in sequence as a first number, for example, numbered from 1 to N.
[0061] Figure 4 Take N equal to 30827 code blocks as an example, the number of code blocks will be referred to below Figure 7 The following is an example of a mixed transmission service data carrying four clients to illustrate the distribution scheme of service data. The services of the four clients can be 50GE, 25GE, 10GE, and 1GE in order from high to low, and are referred to as the first service data, the second service data, the third service data, and the fourth service data, respectively. This example is for illustration only and should not be regarded as a restriction on the type, rate, and quantity of services. Multiple service data need to satisfy that the total bandwidth occupied is less than the bandwidth of the bearer channel.
[0062] The payload space occupied by each service is calculated based on the following equation:
[0063] (1)
[0064] First, determine the position where the first service data of the client with the highest rate among multiple clients is allocated. In a data frame, the number of code blocks allocated to each service data is calculated based on equation (1), and the following equation is derived:
[0065] (2)
[0066] Where P m represents the number of code blocks allocated to the mth service data, m=1…M, M is the number of service data, for example Figure 4 In the embodiment, M is equal to 4. N is the number of allocable code blocks in the payload area of a data frame, S m is the nominal rate of the mth service data, F m It represents the maximum frequency deviation calculated according to the maximum frequency deviation standard, and R represents the payload rate.
[0067] Generally speaking, the maximum frequency deviation standard specified by Ethernet is ±100ppm, and the sum of the nominal rate and the maximum frequency deviation is 1.0001 times the nominal rate. For example, the nominal rate of 50GE is 53.125 Gbps, and the sum of the nominal rate and the maximum frequency deviation of this service is (53.125+53.125*0.0001)Gps. The value of P1 is calculated based on the payload rate. The calculated P1 value is an integer rounded up. If a SerDes device is used, the payload rate refers to the maximum rate supported by the current SerDes.
[0068] Determine the numbers of the code blocks corresponding to the code blocks to be filled evenly into the N code blocks according to the number of code blocks P1. Figure 4The code blocks marked with slashes schematically show the filling position of the first service data.
[0069] Next, the remaining unoccupied code blocks are renumbered to obtain the idle code block numbers, and the number of filled code blocks P2 is calculated according to equation (1) and the rate of the second service data. The idle code block numbers corresponding to the idle code blocks that are uniformly filled into the remaining idle payload area are determined according to P2, and the corresponding first numbers are determined accordingly. The example of the second service data in the figure is 25GE, Figure 4 The code blocks with dots in the middle schematically illustrate how the second service data is evenly filled in the remaining code blocks.
[0070] Repeat the previous step, renumber the remaining unoccupied code blocks to obtain the idle code block numbers, and calculate the number of filled code blocks P3 according to equation (1) and the rate of the third service data, and determine the idle code block numbers corresponding to the idle code blocks that are evenly filled into the remaining idle payload area according to P3, and thereby determine the corresponding first number. The example of the third service data in the figure is 10GE, Figure 4 The part marked with vertical lines schematically shows the manner in which the third service is uniformly filled in the remaining code blocks.
[0071] Similarly, for the fourth service data, the above steps are repeated to obtain the number of code blocks P4 of the fourth service data and the first number determined according to P4. The example of the fourth service data in the figure is 1GE, Figure 4 The code blocks marked with cross lines schematically illustrate the manner in which the fourth service is uniformly filled in the remaining code blocks.
[0072] The above steps implement a method for uniformly distributing multiple service data in the payload area. The number of service data and the types of service data are not limited to the above examples. For each service data, the above steps are repeated until all service data are distributed.
[0073] Figure 5 Shown according to Figure 4Schematic diagram of the distribution of each service data in the payload area of the entire data frame obtained by the payload distribution algorithm. The oblique line represents the 50GE service, the vertical line represents the 25GE service, the horizontal line represents the 10GE service, and the cross line represents the 1GE service. In this way, each service data can be evenly arranged in each frame, which can make the space occupied by each service data in the frame more balanced, maximize the use of available bandwidth, and avoid wasting a lot of space. Uniform layout can ensure that each service data can obtain fair bandwidth in each time slot, thereby improving the efficiency and fairness of resource utilization. Uniform layout also helps to avoid the burst traffic of a certain service data occupying too much bandwidth, resulting in reduced throughput of other services. The bandwidth occupied by each service is relatively balanced, and it can also prevent some service data traffic from being too large, resulting in cache overflow or data packet loss.
[0074] In addition, this layout can be automatically adjusted according to changes in business data, making the system operation more flexible.
[0075] according to Figure 4 In the manner shown, after determining the distribution of each service data in the payload area, the service data is filled in the filling layer. Figure 6 is a schematic diagram of a payload filling path.
[0076] Each piece of business data corresponds to an elastic buffer during the receiving process. The elastic buffer is a FIFO (First Input First Output) device. Figure 6 The filling position in indicates the filling order, which means that in the process of filling the business data from the elastic cache into the data frame, according to Figure 4 The predetermined payload positions occupied by each service data are filled into the payload area of the data frame in turn. During the filling process, the code blocks actually filled in the allocated positions of each service data can be calculated according to the current rate of the service data. For example, the following method can be used for calculation:
[0077] (3)
[0078] Q m Indicates the actual number of padded code blocks for the mth service data, m=1…M, M is the number of service data. N is the number of all padded code blocks in the payload area of a data frame, r m is the current rate of the mth service data, and R represents the payload rate. mThe actual filling quantity will not be greater than the sum of the nominal rate and the maximum frequency deviation, so the actual filling quantity will not be greater than the number of allocated code blocks. For example, when a service is allocated 100 payload code blocks according to equations (1) and (2), the actual number of filled code blocks can be less than 100, and the code blocks that are not filled with service data can be filled with idle code blocks. The actual filling position of each service data is recorded in the control information, which can be Figure 7 The frame structure shown records the actual filling position of the next frame in the control information at the end of the frame.
[0079] In order to reduce the complexity and cost of clock hardware implementation, when transmitting service data, the code blocks can be assembled, S code blocks are assembled together (S is an integer greater than 1), and sent to the elastic cache at the same time, occupying a storage unit of the elastic cache. The data of each unit in the elastic cache can be read out at the same time, and the code blocks that are not filled in the code blocks read out at the same time can be temporarily stored in the register, and then written into the payload area in sequence. After filling the payload area, the data frame is obtained by adding overhead and FEC through mapping. Figure 6 The data frame structure filled in is schematic, and it can also be other structures, for example, Figure 7 The structure shown.
[0080] Figure 7 Shows the corresponding Figure 3 An example of a data frame structure of an embodiment of the present invention. As shown in the figure, the data frame includes 6×5280 code blocks, that is, 6 rows×5280 columns, each of which includes 66 bits. The number of rows in the data frame is exemplary, and more or fewer rows can be selected as needed. Specifically, the data frame is divided into two parts of equal size, both of which are 2640 columns. The 1st to 2570th columns (excluding the frame header) are the first payload area, and the 2571st to 2640th columns are the first FEC area. Columns 2641 to 5210 (excluding the frame tail) are the second payload area, and the frame tail is the last column of the second payload area, occupying one or more code blocks, and columns 5211-5280 are the second FEC area. The frame header is a frame start identifier, which is a special symbol or field used to identify the start of a data frame in data communication, maintaining the accuracy of data transmission and the complete parsing of frame boundaries. The frame tail may include one or more of PM (path monitoring), APS (automatic protection switching), status information, control information, etc. The control information may include information for indicating the payload position occupied by each service data in the next frame.
[0081] The length of the error correction coding area in the data frame can be adjusted according to the error correction coding scheme used. For example, if the KP4 (528, 514) coding scheme is used, the above number of code blocks can be used. If the KP4 (544, 514) coding scheme is used, the number of code blocks in the FEC area can be increased to 150 columns per segment. The number of rows and columns in the data frame format can be adjusted as needed to keep consistent with the granularity of the business data, avoiding the need to split the code blocks and increase the complexity of the mapping.
[0082] Figure 8 An example of the structure of overhead information is shown in FIG. Figure 7 As shown, it is included in the frame tail, and may also occupy, for example, the size of two code blocks. Overhead information may include PM (path monitoring), APS (automatic protection switching), payload type, status information, and control information. Taking a 66-bit code block as an example, PM (path monitoring), APS (automatic protection switching), payload type, and status information may each occupy 24 bits, 8 bits, 12 bits, and 8 bits. The control information may be divided into two parts, one part (ctrl_0 shown in the figure) occupies 14 bits, and the other part (ctrl_1) occupies the size of a code block. The payload type may indicate the number of services, the type of service, and the like. The status information may indicate the status of the network where the service is located and the link status, and the like. For example, the control information ctrl_0 may be used for link management, alarm information, and the like. The control information ctrl_1 may be used to inform the actual number of code blocks occupied by each service in the next frame. The above examples are merely illustrative of the technical solutions of the present disclosure and should not be construed as limitations on the present disclosure.
[0083] Fig. 9 A structural schematic diagram of an optical communication sending device 900 for multiple services is shown. The optical communication sending device includes a multi-service data frame payload unit distributor 901, a mapping unit 902, a framing unit 903, a SerDes sending unit 904, and an optical module sending unit 905. The multi-service data frame payload unit distributor 901 determines the number of code blocks in the payload area of the data frame to which each service data among multiple service data is allocated, each service data corresponds to a service, wherein the number of code blocks of one service data among multiple service data is determined according to the following relationship: the ratio of the highest possible rate (the sum of the nominal rate and the maximum frequency deviation) of the one service data to the payload rate is equal to the ratio of the number of code blocks of the one service data to the number of code blocks in the payload area; according to the calculated number of code blocks of each service data among the multiple service data, the code block position of each service data uniformly distributed in the payload area is determined.
[0084] In the mapping unit 902, the service data is filled into the payload area of the data frame used in the optical communication network, wherein each data frame includes an overhead area, a payload area and an error correction coding area, the payload area may include a first and a second payload area set separately, and the error correction coding area may include a first and a second error correction coding area set separately.
[0085] In the framing unit 903, overhead information corresponding to the service data is generated, error correction coding information is generated according to the service data and the overhead information, and the overhead information and error correction coding information are filled in the data frame. Figure 1 The functionality of the framer and error correction codec is shown.
[0086] The SerDes sending unit 904 converts the data frame into serial data and sends the serial data to the optical module sending unit 905 .
[0087] The optical module sending unit converts the serial data generated by the SerDes sending unit into an optical signal for sending through an optical channel. The mapping unit 902 may correspond to Figure 1 The mapper shown, the framing unit 903 may correspond to Figure 1 The framer and error correction encoder are shown.
[0088] Fig.10 A structural schematic diagram of an optical communication receiving device 1000 for multiple services is shown. The optical communication receiving device includes a demapping unit 1001, a deframing unit 1002, a SerDes receiving unit 1003 and an optical module receiving unit 1004. The optical module receiving unit 1004 converts the received optical signal into an electrical signal. The SerDes receiving unit 1003 receives a high-speed serial data stream and restores it to parallel data. The deframing unit 1002 locates the frame header, detects and corrects errors in the data according to the error correction coding information, and parses the overhead information, and outputs the overhead information and payload data after error correction to the demapper. The demapper 1001 can obtain the data frame format according to the overhead information, obtain the payload data, and parse out each service data according to the overhead information, wherein the actual occupied position of each service data is determined according to the control information in the previous frame. The deframing unit 1002 corresponds to Figure 1 The functionality of the deframer and error correction codec is shown.
[0089] The embodiment of the present disclosure also provides a multi-service hybrid bearer device 1100. Fig.11 As shown, the device includes a processor 1101, a memory 1102 and a communication interface 1103. The bearer device can be used to receive and / or send optical communication data. When applied to a sending node, the processor 1101 receives service data through the communication interface 1103 to implement the following Figure 1When applied to a receiving node, the processor 1101 receives data sent by the optical communication channel through the communication interface 1103, and implements the following Figure 1 The invention discloses a method for performing deframing and demapping processes of optical communication data frames by a multi-service bearing device.
[0090] The processor 1101 may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array, or other programmable logic device, etc., and may implement or execute the various methods and steps of the present disclosure. The method of the embodiment of the present disclosure may be executed by a hardware processor or by a combination of hardware and software units in the processor. The memory 1102 may be a non-volatile memory or a volatile memory, which may store instructions, program codes, and data, etc. The communication interface 1103 may include an interface between a client device and a bearer device for service data, an interface between a bearer device for service data and an upstream device (e.g., a SerDes device), etc. In this embodiment, the processor 1101, the memory 1102, and the communication interface 1103 may be connected via a bus.
[0091] The embodiments of the present disclosure may be provided as methods, devices or computer program products. The method steps in the present disclosure may be implemented in hardware, software or a combination of software and hardware. The method and device for carrying business data in the embodiments of the present disclosure have at least one of the following advantages: each business data is evenly distributed in the payload area in a relatively simple manner. This method can simplify the complexity of software and hardware implementation, and in addition, it is adapted to the granularity of business data, which simplifies the processing of circuit logic; effectively reduces the data mapping level and reduces the latency; significantly improves the effective payload efficiency; simplifies the rate matching process by simplifying the difficulty of implementing the mapping circuit, thereby reducing the difficulty of chip design and reducing the cost of the chip.
[0092] The above description is merely an exemplary embodiment of the present disclosure and is not intended to limit the protection scope of the present disclosure. The protection scope of the present disclosure is determined by the appended claims.
Claims
1. A hybrid service transmission device for high-speed interconnection, characterized in that include: A multi-service data frame payload unit distributor, which determines the number of code blocks in the payload area of the data frame to which each service data among multiple service data is allocated, each service data corresponds to one service, wherein the number of code blocks to which one service data among the multiple service data is allocated is determined according to the following relationship: the ratio of the maximum possible rate of the one service data to the payload rate is equal to the ratio of the number of code blocks of the one service data to the number of code blocks in the payload area, and according to the calculated number of code blocks of each service data among the multiple service data, a code block position is allocated to each service data so that its code blocks are evenly distributed in the payload area; A mapping unit, which fills each service data into the payload area of the data frame according to the allocated code block position, wherein each data frame includes an overhead area, a payload area and an error correction coding area; A framing unit, which generates overhead information corresponding to the service data, generates error correction coding information according to the service data and the overhead information, and fills the overhead information and the error correction coding information in the data frame; A SerDes transmitting unit converts parallel data into serial data and sends the serial data to the optical module transmitting unit; The optical module sending unit converts the electrical signal to be sent into an optical signal.
2. The hybrid service transmission device for high-speed interconnection as claimed in claim 1, characterized in that The allocating a code block position for each service data according to the calculated number of code blocks for each service data so that its code blocks are evenly distributed in the payload area comprises: Sorting all code blocks in the payload area so that each code block has a first number; For the service data with the highest rate among the multiple service data, determine, according to the determined number of code blocks, the first number of the code blocks occupied by each code block of the service data with the highest rate in the payload area as its code block position, so that the code blocks of the service data with the highest rate are evenly distributed in all the code blocks; and The remaining idle code blocks in all the code blocks are renumbered so that they have second numbers. For the service data with the highest rate among the service data whose code block positions are not determined, the second number occupied by each code block of the service data in the remaining idle code blocks is determined according to the number of code blocks of the service data so that the code blocks of the service data are evenly distributed in the remaining idle code blocks. The first number of each code block of the service data is determined as its code block position according to the second number. This step is repeated until the code block positions occupied by all the service data in the payload area are determined.
3. The hybrid service transmission device for high-speed interconnection as claimed in claim 1, characterized in that The payload area includes first and second payload areas that are separately set, and the error correction coding area includes first and second error correction coding areas that are separately set, the first error correction coding area corresponds to data in the first payload area, and the second error correction coding area corresponds to data in the second payload area.
4. The hybrid service transmission device for high-speed interconnection as claimed in claim 1, characterized in that The overhead area of the data frame includes control information indicating the code block position actually occupied by each service data in the payload area of the next data frame.
5. A multi-service hybrid bearer method for high-speed interconnection, characterized in that include: Determine the number of code blocks in the payload area of the data frame to which each service data among the multiple service data is allocated, each service data corresponds to a service, wherein the number of code blocks to which one service data among the multiple service data is allocated is determined according to the following relationship: The ratio of the maximum possible rate of the one service data to the payload rate is equal to the ratio of the number of code blocks of the one service data to the number of code blocks in the payload area; According to the calculated number of code blocks of each service data among the multiple service data, a code block position is allocated to each service data so that its code blocks are evenly distributed in the payload area; Each service data is filled into the payload area of the data frame according to the determined code block position allocated to each service data in the payload area.
6. The multi-service hybrid bearing method for high-speed interconnection according to claim 5 is characterized in that: The allocating a code block position for each service data according to the calculated number of code blocks for each service data so that its code blocks are evenly distributed in the payload area comprises: Sorting all code blocks in the payload area so that each code block has a first number; For the service data with the highest rate among the multiple service data, determine, according to the determined number of code blocks, the first number of the code blocks occupied by each code block of the service data with the highest rate in the payload area as its code block position, so that the code blocks of the service data with the highest rate are evenly distributed in all the code blocks; and The remaining idle code blocks in all the code blocks are renumbered so that they have second numbers. For the service data with the highest rate among the service data whose code block positions are not determined, the second number occupied by each code block of the service data in the remaining idle code blocks is determined according to the number of code blocks of the service data so that the code blocks of the service data are evenly distributed in the remaining idle code blocks. The first number of each code block of the service data is determined as its code block position according to the second number. This step is repeated until the code block positions occupied by all the service data in the payload area are determined.
7. The high-speed interconnection-oriented multi-service hybrid bearing method according to claim 5, characterized in that The method further includes sending the data frame to a SerDes sending device, wherein the data frame is sent to an optical module sending device after being processed by the SerDes sending device.
8. The high-speed interconnection-oriented multi-service hybrid bearing method according to claim 5, characterized in that Each data frame includes an overhead area, a payload area and an error correction coding area, the payload area includes a first and a second payload area that are separately set, the error correction coding area includes a first and a second error correction coding area that are separately set, the first error correction coding area corresponds to the data of the first payload area, and the second error correction coding area corresponds to the data of the second payload area.
9. The multi-service hybrid bearing method for high-speed interconnection as claimed in claim 5, characterized in that Filling each service data into the payload area of the data frame according to the determined code block position allocated to each service data in the payload area includes calculating the number of code blocks actually occupied according to the current rate of each service data, and filling the allocated code block position with the service data of the actual number of code blocks occupied, and the overhead area of the data frame includes control information indicating the code block position actually occupied by each service data in the payload area of the next data frame.
10. The high-speed interconnection-oriented multi-service hybrid bearing method according to claim 8, characterized in that The overhead area only includes a frame header and a frame trailer, the frame header includes information indicating the start of the frame and frame synchronization information, the frame trailer includes the type of service data, a status flag and control information, wherein the status flag includes at least the network status of the service data and the link status of the optical communication network, and the control information includes information indicating the code block position actually occupied by each service data in the payload area of the next data frame.
11. The high-speed interconnection-oriented multi-service hybrid bearing method according to claim 5, characterized in that Each business data corresponds to a separate elastic cache. The predetermined multiple data in each business data are assembled into a data unit to be sent to the elastic cache at the same time. The elastic cache fills the business data into the payload area of the data frame according to the code block position of each business data in the payload area.
12. The high-speed interconnection-oriented multi-service hybrid bearing method according to any one of claims 5 to 11, characterized in that The code block size of the data frame is 66 bits, and the multiple service data are Ethernet service data.
13. The high-speed interconnection-oriented multi-service hybrid bearing method according to claim 8, characterized in that Each of the data frames includes M rows × 5280 columns or M rows × 5440 columns of code blocks, the frame header and the first payload area occupy 2569 columns, the frame tail and the second payload area occupy 2569 columns, the frame header and the frame tail each occupy at least one code block, and the first and second error correction coding areas are the same size, where M is an integer greater than 1.
14. A multi-service hybrid bearer device for high-speed interconnection, characterized in that The method comprises a processor, a memory and a communication interface, wherein the memory stores program codes; The communication interface is used to receive business data; The processor is used to read and execute the program code stored in the memory to implement the method according to any one of claims 5 to 13.
Citation Information
Patent Citations
Business data processing method and device
CN110557217A
Data transmission method, communication equipment and storage medium
CN111884753A
Method and device for processing service data in optical transport network
CN114844593A
Transcoding scheme techniques
US20130208771A1
Service data processing method and apparatus
US20210084383A1