Multi-service Hybrid Carrying Method, Carrying Device and Hybrid Service Sending Device for High-Speed Interconnection
By calculating the number of code blocks in the payload area of each service data and uniformly distribute it, the problems of low bandwidth utilization and uneven code block allocation in the prior art are solved, and efficient multi-service data transmission is achieved.
Patent Information
- Application Number
- CN202510133621.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-06
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2045-02-06
AI Technical Summary
In the prior art, with the increase of SerDes rate, the transmission protocol level is complex, the bandwidth utilization rate is low, and the code block allocation of service signals of different rates is uneven during the OTN frame, resulting in data packet loss or delay.
By determining the maximum possible rate of each service data to the payload rate ratio, calculating its number of code blocks in the payload area, and evenly distributing the code block position of each service data, combining overhead information and error correction encoding, a data frame is generated.
The uniform distribution of multi-service data in the optical communication channel is realized, which avoids uneven service scheduling load, reduces mapping complexity, improves bandwidth utilization and data transmission efficiency, and prevents traffic congestion.
Smart Images

Figure CN119561656B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of optical communication technologies, 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, the SerDes technology has been improved from the highest rate of about 10 Gbps around 2010 to the current highest rate of 112 Gbps. However, data transmission protocols matching the SerDes rate, such as 100GE (100 Gigabit Ethernet), are carried by OTN (Optical Transport Network) and designed based on the early SerDes with a single-channel rate of 10 Gbps. This technology results in multiple transmission protocol layers and a complex structure, and is no longer applicable to the current ultra-high-speed SerDes transmission field. In addition, when service signals with different rates are mapped into OTN frames, the allocation of code blocks often shows an uneven state. The uneven allocation reduces the bandwidth utilization rate and may cause data packet loss or delay. Summary of the Invention
[0003] In view of the problems existing in the prior art, embodiments of the present disclosure provide a multi-service hybrid bearing method, a bearing device, and a sending device for high-speed interconnection, which can bear multiple services with different rates, reduce the mapping complexity, and match the Ethernet service in terms of granularity.
[0004] According to a first aspect of the present disclosure, an embodiment of the present disclosure provides a hybrid service sending device for high-speed interconnection, which includes a multi-service data frame payload unit allocator that 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 corresponding to one service, and the number of code blocks in the payload area of the data frame 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, code block positions are allocated for each service data so that its code blocks are evenly distributed in the payload area; a mapping unit that fills each service data into the payload area of the data frame according to the allocated code block positions, where each data frame includes an overhead area, a payload area, and an error correction coding area; a framing unit that 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 into the data frame; a SerDes sending unit that converts parallel data into serial data and sends it to an optical module sending unit; and an optical module sending unit that converts the electrical signal to be sent into an optical signal.
[0005] In the embodiments provided by the present disclosure, by determining the number of code blocks occupied by each service in the payload area according to the ratio of the maximum possible rate of each service to the payload rate, multiple services can be transmitted through one optical communication channel. In addition, uniformly distributing each service data in the payload area can avoid uneven service scheduling loads, resulting in service flow concentration and traffic congestion. The maximum possible rate is the sum of the nominal rate and the maximum frequency offset, and the maximum frequency offset is calculated according to the standard of the maximum frequency offset.
[0006] Optionally, according to the first aspect of the present disclosure, allocating code block positions for each service data according to the number of code blocks of each service data in the calculated multiple service data so that its code blocks are uniformly distributed in the payload area includes: sorting all the 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 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 according to the determined number of code blocks, so that the code blocks of the service data with the highest rate are uniformly distributed among all the code blocks; and
[0007] renumbering the remaining free code blocks among all the code blocks to have a second number, for the service data with the highest rate among the service data whose code block positions have not been determined, determining the second number occupied by each code block of the service data in the remaining free code blocks according to the number of code blocks of the service data so that the code blocks of the service data are uniformly distributed in the remaining free code blocks, determining the first number as the code block position according to the second number of each code block of the service data, and repeating this step until the code block positions occupied by all service data in the payload area are determined.
[0008] The above method can enable each service data to be uniformly filled when allocating the payload area, and the computational complexity of implementing this process is small.
[0009] Optionally, according to the first aspect of the present disclosure, the payload area includes separately provided first and second payload areas, and the error correction coding area includes separately provided first and second error correction coding areas. 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 code block positions actually occupied by each service data in the payload area of the next data frame.
[0010] According to a second aspect, an embodiment of the present disclosure provides a multi-service hybrid bearer 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 a plurality of service data is assigned, each service data corresponding to one service, wherein the number of code blocks assigned to one service data among the plurality of 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 total number of code blocks in the payload area; according to the calculated number of code blocks of each service data among the plurality of service data, allocating code block positions for each service data so that its code blocks are evenly distributed within the payload area; and filling each service data into the payload area of the data frame according to the determined code block positions of each service data within the payload area. This method can be executed by a sending-end device connected to an optical communication channel or a part of the sending-end device (for example, a chip or a transceiver circuit), which is not limited herein.
[0011] By determining 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, this method enables multiple services to be transmitted through one optical communication channel. At the same time, evenly distributing each service data within the payload area can avoid uneven service scheduling load, resulting in service flow concentration and traffic congestion. This method can be applied to the application scenario of a high-speed data center.
[0012] Optionally, according to the second aspect of the present disclosure, allocating code block positions for each service data so that its code blocks are evenly distributed within the payload area according to the calculated number of code blocks of each service data among the plurality of service data includes: sorting all the 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 plurality of service data, determining the first numbers occupied by each code block of the service data with the highest rate in the payload area as the code block positions according to the determined number of code blocks, so that the code blocks of the service data with the highest rate are evenly distributed among all the code blocks; and renumbering the remaining free code blocks among all the code blocks to have a second number. For the service data with the highest rate among the service data whose code block positions have not been determined, determining the second numbers occupied by each code block of the service data in the remaining free code blocks according to the number of code blocks of the service data so that the code blocks of the service data are evenly distributed among the remaining free code blocks, and determining the first number of each code block of the service data as the code block position according to the second number of each code block of the service data. Repeat this step until the code block positions occupied by all service data in the payload area are determined.
[0013] The above method can achieve uniform filling when each service data fills the payload area, and the computational complexity of the implementation process is relatively small.
[0014] Optionally, according to the second aspect of the present disclosure, it further includes sending the data frame to a SerDes sending device, and after being processed by the SerDes sending device, the data frame is sent to an optical module sending device. This method can be applied to high-speed SerDes, such as 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 separately arranged first and second payload areas, and the error correction coding area includes separately arranged first and second error correction coding areas. 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. 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. 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. The status flag at least includes the network status of the service data and the link status of the optical communication network. The control information includes indicating the number and position of code blocks actually occupied by each service data filled in the next data frame. This way can reduce the delay in the processing of the next data frame. 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 of each service data in the payload area includes calculating the actual number of occupied code blocks according to the current rate of each service data, and filling the service data with the actual number of occupied code blocks into the allocated code block positions. The control information can indicate the code block positions 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 cache. A predetermined number of data in each service data are assembled into a data unit to be sent to the elastic cache at the same time. The elastic cache fills the service data into the payload area of the data frame according to the code block positions of each service data in the payload area. Assembling the code blocks and sending them into the elastic cache 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 Ethernet granularity, improve the effective payload efficiency, and reduce the mapping complexity.
[0020] Optionally, each data frame includes M rows × 5280 columns or M rows × 5440 columns of code blocks. The frame header and the first payload area occupy 2569 columns, and 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 have the same size, where M is an integer greater than 1. In the embodiments of the present disclosure, the overhead area of the data frame occupies very few resources, significantly improving 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. Among them, the memory stores program codes; the communication interface is used to receive service data; the processor is used to read and execute the program codes stored in the memory to implement the method as described above.
[0022] Implementing any device of the present disclosure does not necessarily require achieving all the above advantages at the same time. Other features and advantages of the present disclosure will be described in the subsequent embodiments of the specification, and some of them will become obvious from the embodiments of the specification, or be understood by implementing the present disclosure. The objectives and advantages of the embodiments of the present disclosure can be achieved and obtained through the structures pointed out in the specification, the claims, and the 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 described below only relate to some embodiments of the present disclosure and do not limit the present disclosure.
[0024] Figure 1 It 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 Schematic diagram of a mapping path for multi-service data according to an embodiment of the present disclosure;
[0026] Figure 3 It is a schematic diagram of a mapping path for multi-service data according to another embodiment of the present disclosure;
[0027] Figure 4 It is a schematic diagram of a payload allocation algorithm according to an embodiment of the present disclosure;
[0028] Figure 5 It is a schematic diagram of the payload occupancy status of service data obtained according to Figure 4 the payload allocation algorithm described above;
[0029] Figure 6 It is a schematic diagram of the path for payload filling based on Figure 4 the payload distribution of the embodiment;
[0030] Figure 7 It is a schematic diagram of a data frame structure that can be used according to an embodiment of the present disclosure;
[0031] Figure 8 It is a schematic diagram of an overhead information according to an embodiment of the present disclosure;
[0032] Figure 9 It is a schematic diagram of the structure of an optical communication transmitting device for multi-services according to an embodiment of the present disclosure;
[0033] Figure 10 It is a schematic diagram of the structure of an optical communication receiving device for multi-services according to an embodiment of the present disclosure;
[0034] Figure 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. Specific embodiments
[0035] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all of the embodiments. 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 those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present disclosure.
[0036] Unless otherwise defined, technical terms or scientific terms used herein shall have the ordinary meanings as understood by those of ordinary skill in the art to which this disclosure pertains. The terms "first", "second" and similar terms used in the specification and claims of this disclosure do not denote any order, quantity or importance, but are only used to distinguish different components. Similarly, terms such as "a" or "an" do not necessarily denote a quantity limitation. Terms such as "comprising" or "including" mean that the elements or items appearing before this word cover the elements or items listed after this word and their equivalents, without excluding other elements or items. Terms such as "connected" or "coupled" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. Terms such as "upper", "lower", "left", "right" are only used to indicate relative position relationships. When the absolute position of the object being described changes, the relative position relationship may also change accordingly.
[0037] The service data mentioned in this disclosure refers to the data of services that can be carried by optical communication technologies. In this disclosure, the services that can be carried by optical communication technologies may include suitable services such as Ethernet services.
[0038] The start of frame (SOF) and end of frame (EOF) in this disclosure both fall within the category of overhead. They do not directly carry service 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 this disclosure is shown. The multi-service bearing device 201 receives service data sent by multiple clients, which may include, for example, service data sent by the first to fourth devices 101-104. For example, the service data may be any service flow among 10G Ethernet service, 25G Ethernet service, 50G Ethernet service, FlexE Ethernet service, etc. They are transmitted to the optical module through high-speed SerDes (Serializer / Deserializer) (more specifically, for example, 112G SerDes) for optical communication transmission. The sum of the bandwidths of the multiple service data is less than the bandwidth of the high-speed SerDes. The service data of the above Ethernet may be based on 66-bit cells.
[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 via SerDes from the optical communication channel. The data to be transmitted is sent to the optical module after being processed by SerDes for transmission through the optical communication channel. For example, Ethernet service data of 1G, 10G, 25G, and 50G can be processed and sent to the optical module via a 112G SerDes. The specific examples here do not limit the network architecture.
[0041] The multi-service bearer device 201 includes a mapper / demapper 2011 and a framer / deframer 2012. The mapper / demapper 2011 refers to a mapper or a demapper, and the two can be included in the same device or in different devices. For example, the mapper is included in the device that sends data, and the demapper is included in the device that receives data. The mapper can implement one or more of the following steps: map the service data into the frame format of the data frame used by the local optical communication network, including generating one or more of the information such as frame header markers, frame tail markers, data frame envelopes, line numbers, and column numbers, and fill the multiple service data into the payload area via their respective elastic caches according to a predetermined filling method; adjust the filled data for the transmission frequency deviation between the data frame and the service data; send the filled frame to the subsequent framer. The mapper can be used to ensure the synchronization and integrity of the service data and handle the problems of processing rate adaptation and clock deviation. The payload allocation method for multiple service data will be described in detail with reference to Figures 4 to 6 Specific descriptions.
[0042] The demapper can implement one or more of the following steps: detect the data frame format received from the deframer, find the payload position according to one or more of the information such as the recovered frame header markers, frame tail markers, data frame envelopes, line numbers, column numbers, and control information; split the data in the payload part according to a predetermined filling method and parse out the service data according to the rate information; transmit the extracted multiple service data to their respective multiple client devices.
[0043] The framer / deframer 2012 can refer to a framer or a deframer, which can be included in the same device or in different devices. For example, the framer is included in the transmitting 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 the data unit transmitted from the mapper, it encapsulates the data and performs one or more of the following steps: generating and inserting overheads (such as frame headers, frame tails), inserting check bits generated by error correction coding, etc., adding synchronization bytes to the frame to ensure that the receiving end can correctly identify the frame boundary. When receiving the 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 an encoding unit or a decoding unit. The encoding unit and the decoding unit can be included in the same device or can be separately arranged in the transmitting device and the receiving device. The encoding unit can generate check bits based on an error correction coding scheme, and generate check bits for the data obtained in the above steps (here it can include the payload area and the overhead area generated by service data mapping) using a specific coding scheme. These check bits contain redundant information 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 specifically be the KR4 FEC algorithm, the KP4 FEC algorithm, etc.
[0045] The decoding unit separates the check bits of the received data frame, calculates the separated check bits using the same error correction coding scheme, and detects whether there are errors in the data to be checked in the data frame. If an error is detected, the decoding unit will try to correct these errors 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 and sends it out in the transmission direction, and restores the received serial data into parallel data in the reception direction, which can well avoid crosstalk between data under high-frequency conditions. Here, SerDes with a single-channel rate of up to 112G or SerDes with a higher rate can be used to obtain a larger bandwidth.
[0047] The optical module 203 includes optoelectronic devices, functional circuits, optical interfaces, etc., and includes two parts: transmitting and receiving. It converts the electrical signal to be transmitted into an optical signal or converts the received optical signal into an electrical signal.
[0048] The multi-service bearing device 201, the SerDes device 202, and the optical module 203 can be disposed in devices such as network switches, routers, and data center servers.
[0049] Figure 2 It is a schematic diagram of a mapping path for mapping service data from multiple client devices to an optical communication data unit according to an embodiment of the present disclosure. First, the service data from multiple clients is first filled with service data, and the service data is filled according to a predetermined allocation method in the filling layer. When filling the service data, the distribution of each service data in the payload area is pre-calculated, that is, the number of code blocks and the code block positions in the payload area allocated to each service data, and each service data is stored in the payload area according to the calculated number of code blocks and code block positions. For the specific allocation and filling process, refer to Figures 4 - 6 the description 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 can be related to the service data. For example, it can be type information and status indication information for the service data. The type information of the service data can represent its data type, and the status indication information can represent whether the network or device of the service data is working properly. More specifically, if the received service data is Ethernet service data, the first-layer overhead information can include the Ethernet service type and the status indication information indicating whether the Ethernet is working properly. The first-layer overhead information can also include information indicating the start of the frame and frame synchronization information.
[0051] After the data unit in the payload layer is added with the second-layer overhead information, it is mapped to a basic data unit. The second-layer overhead information can include one or more of information such as PM (Path Monitoring), APS (Automatic Protection Switching), status information, and control information. The status information includes, for example, a field indicating the link status. For a more specific description of the control information, reference can be made to the description of the overhead information below.
[0052] After the basic data unit is added with error correction coding, it is mapped to an optical communication data frame, which is sent to the optical module via the SerDes. In Figure 2 a data frame with an error correction coding part is shown by taking FEC coding as an example.
[0053] Figure 2 The service data shown is mapped to the data frame in units of code blocks. The code block size of the data frame is equal to the code block size of each service data or an integer multiple of the code block size of the service data, so that the granularities of the two are 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 Figures 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, number the N code blocks in sequence as the first numbering, for example, numbered from 1 to N.
[0061] Figure 4 Taking N equal to 30,827 code blocks as an example, the number of code blocks will be described below with reference to Figure 7 the frame structure of. The following takes the hybrid transmission service data carrying four clients as an example to illustrate the distribution scheme of service data. The services of the four clients can be 50GE, 25GE, 10GE, and 1GE respectively from high to low in rate, which are hereinafter referred to as the first service data, the second service data, the third service data, and the fourth service data respectively. This example is only for illustration and should not be regarded as a limitation on the service type, rate, and quantity. Multiple service data need to satisfy that the total occupied bandwidth is less than the bandwidth of the carrying channel.
[0062] The size of 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 m-th service data, m = 1…M, M is the number of service data, for example, for Figure 4 the embodiment of, M is equal to 4. N is the number of all allocable code blocks in the payload area of a data frame, S m is the nominal rate of the m-th service data, F m represents the maximum frequency offset calculated according to the maximum frequency offset standard, and R represents the payload rate.
[0067] Generally speaking, the maximum frequency offset standard specified by Ethernet is ±100 ppm, and the sum of the nominal rate and the maximum frequency offset 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 offset of this service is (53.125 + 53.125 * 0.0001) Gps. Thus, the value of P1 is calculated based on the payload rate. The calculated value of P1 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 to be filled corresponding to filling P1 uniformly into the N code blocks according to the number of code blocks P1. Figure 4The code block marked with a slant line schematically shows the filling position of the first service data.
[0069] Next, the remaining unoccupied code blocks are renumbered to obtain free 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. According to P2, the corresponding free code block numbers for evenly filling them into the remaining free payload area are determined, and the corresponding first numbers are thereby determined. The example of the second service data in the figure is 25GE. Figure 4 The code block marked with a dot schematically shows the way the second service data is evenly filled in the remaining code blocks.
[0070] Repeat the above step. The remaining unoccupied code blocks are renumbered to obtain free code block numbers, and the number of filled code blocks P3 is calculated according to Equation (1) and the rate of the third service data. According to P3, the corresponding free code block numbers for evenly filling them into the remaining free payload area are determined, and the corresponding first numbers are thereby determined. The example of the third service data in the figure is 10GE. Figure 4 The part marked with a vertical line schematically shows the way the third service is evenly filled in the remaining code blocks.
[0071] Similarly, for the fourth service data, repeat the above steps 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 block marked with a cross line schematically shows the way the fourth service is evenly filled in the remaining code blocks.
[0072] The above steps implement a method for evenly distributing multiple service data in the payload area. The number and types of service data are not limited to the above examples. For each service data, repeat the above steps until all service data are completely distributed.
[0073] Figure 5 Shows according to Figure 4Schematic diagram of the distribution of each service data obtained by the payload allocation algorithm in the payload area of the entire data frame. The slashes represent 50GE services, the vertical lines represent 25GE services, the horizontal lines represent 10GE services, and the cross lines represent 1GE services. In this way, each service data can be evenly distributed in each frame, making the space occupied by each service data in the frame more balanced, maximizing the use of available bandwidth while avoiding wasting a large amount of space. The uniform layout can ensure that each service data can obtain fair bandwidth in each time slot, thereby improving the resource utilization efficiency and fairness. The uniform layout also helps to avoid excessive bandwidth occupancy by the burst traffic of a certain service data, resulting in a reduction in the throughput of other services. The bandwidth occupied by each service is relatively balanced, which can also prevent buffer overflow or packet loss caused by excessive traffic of some service data.
[0074] In addition, this layout method can be automatically adjusted according to the changes in service data, making the system operation more flexible.
[0075] According to Figure 4 After determining the distribution of each service data in the payload area in the manner shown, the service data is filled in the filling layer. Figure 6 It is a schematic diagram of a payload filling path.
[0076] Each service data corresponds to an elastic buffer (Elastic Buffer) during the receiving process, and the elastic buffer is a FIFO (First Input First Output) device. Figure 6 The filling positions in Figure 4 represent the filling order, which means that during the process of filling the service data from the elastic buffer into the data frame, each service data is filled into the payload area of the data frame in sequence according to the
[0077] (3)
[0078] Q m represents the actual number of filled code blocks of the m-th service data, m = 1…M, where M is the number of service data. N is the total number of fillable code blocks in the payload area of a data frame, and r m is the current rate of the m-th service data, and R represents the payload rate. Since r mIt 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 certain service is allocated 100 payload code blocks according to Equation (1) and Equation (2), the actual number of filled code blocks can be less than 100, and the code blocks without filled service data can be filled with idle code blocks. The actual filling position of each service data will be recorded in the control information, and it can be recorded in the control information at the end of the frame as shown in 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] To reduce the complexity and cost of the 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 into the elastic buffer at the same time, occupying one storage unit of the elastic buffer. The data in each unit of the elastic buffer can be read out simultaneously. The code blocks that are not due for filling among the simultaneously read code blocks can be temporarily stored in the register and then written into the payload area in sequence. After filling the payload area, overhead and FEC are added through mapping to obtain the data frame. Figure 6 The data frame structure filled in Figure 7 is schematic, and it can also be other structures. For example, it can be the structure shown in
[0080] Figure 7 shows the corresponding Figure 3 An example of a data frame structure of an embodiment. As shown in the figure, the data frame includes 6 × 5280 code blocks, that is, it includes 6 rows × 5280 columns, and each code block includes 66 bits. The number of rows of the data frame is exemplary, and more or fewer rows can be selected according to needs. Specifically, the data frame is divided into two parts of the same size, both of which are 2640 columns. The 1st to 2570th columns (except the frame header) are the first payload area, and the 2571st to 2640th columns are the first FEC area. The 2641st to 5210th columns (except the frame tail) are the second payload area. The frame tail is in the last column of the second payload area, occupying one or more code blocks, and the 5211 - 5280th columns are the second FEC area. The frame header is the frame start identifier, which is a special symbol or field used to identify the start of the data frame in data communication, maintaining the accuracy of data transmission and the complete parsing of frame boundaries. The frame tail can include one or more of information such as PM (Path Monitoring), APS (Automatic Protection Switching), status information, and control information. The control information can include information for indicating the payload positions occupied by each service data of 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. The overhead information can be 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] Figure 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, service data is filled into the payload area of the data frame used in the optical communication network. 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 separately set, and the error correction coding area may include a first and a second error correction coding area separately set.
[0085] In the framing unit 903, overhead information corresponding to the service data is generated, error correction coding information is generated based on the service data and the overhead information, and the overhead information and the error correction coding information are filled into the data frame. This unit corresponds to Figure 1 the functions of the framer and the error correction codec shown.
[0086] The SerDes transmission unit 904 converts the data frame into serial data and transmits it to the optical module transmission unit 905.
[0087] The optical module transmission unit converts the serial data generated by the SerDes transmission unit into an optical signal for transmission through the optical channel. The mapping unit 902 may correspond to Figure 1 the mapper shown, and the framing unit 903 may correspond to Figure 1 the framer and the error correction encoder shown.
[0088] Figure 10 The structural schematic diagram of an optical communication receiving device 1000 for multi-services is shown. This 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 the 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 the payload data after error correction to the demapper. The demapper 1001 may obtain the data frame format based on the overhead information, obtain the payload data, and parse out each service data according to the overhead information, where the actual occupied positions of each service data are determined according to the control information in the previous frame. The deframing unit 1002 corresponds to Figure 1 the functions of the deframer and the error correction codec shown.
[0089] The embodiments of the present disclosure also provide a multi-service hybrid bearer device 1100. As Figure 11 shown, this device includes a processor 1101, a memory 1102, and a communication interface 1103. This bearer device can be used to receive and / or transmit optical communication data. When applied to a sending node, the processor 1101 receives service data through the communication interface 1103 and implements as Figure 1The method performed by the multi-service bearing device for the service data mapping and framing process. When applied to a receiving node, the processor 1101 receives the data sent by the optical communication channel through the communication interface 1103, and implements as Figure 1 The method performed by the multi-service bearing device for the deframing and demapping process of the optical communication data frame.
[0090] The processor 1101 can be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array or other programmable logic devices, etc., and can implement or execute the various methods and steps of the present disclosure. The methods of the embodiments of the present disclosure can be completed by a hardware processor or a combination of hardware and software units in the processor. The memory 1102 can be a non-volatile memory or a volatile memory, and can store instructions, program codes, data, etc. The communication interface 1103 can include an interface between the client device and the service data bearing device, an interface between the service data bearing device and the upstream device (such as a SerDes device), etc. In this embodiment, the processor 1101, the memory 1102 and the communication interface 1103 can be connected through a bus.
[0091] Embodiments of the present disclosure can be provided as a method, a device or a computer program product. The method steps in the present disclosure can be implemented in a manner combining hardware, software or software and hardware. The service data bearing method and device in the embodiments of the present disclosure have at least one of the following advantages: distributing each service data evenly in the payload area in a relatively simple manner, which can simplify the complexity of software and hardware implementation, and in addition, being adapted to the service data granularity, simplifies the processing of circuit logic; effectively reducing the data mapping level and reducing the latency; significantly improving the effective payload efficiency; by simplifying the difficulty of implementing the mapping circuit, simplifying the rate matching process, thereby reducing the chip design difficulty and reducing the cost of the chip.
[0092] The above is only an exemplary embodiment of the present disclosure, rather than being used 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 sending device for high-speed interconnection, characterized in that Comprising: A multi-service data frame payload unit allocator that determines the number of code blocks in the payload area of the data frame to which each of multiple service data is allocated. Each service data corresponds to one type of service. The service data is mapped to the data frame in units of code blocks. The code block size of the data frame is equal to or an integer multiple of the code block sizes of each service data. The data frame includes M rows × 5280 columns of code blocks or M rows × 5440 columns of code blocks. The data frame is consistent with the granularity of each service data to avoid splitting code blocks; Wherein the number of code blocks allocated to one of the 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 code blocks in the payload area. According to the calculated number of code blocks of each service data among the multiple service data, code block positions are allocated to each service data so that its code blocks are evenly distributed within the payload area, which includes Sorting all the 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, the first number of the code blocks occupied by each code block of the service data with the highest rate in the payload area is determined as its code block position according to the determined number of code blocks, so that the code blocks of the service data with the highest rate are evenly distributed among all the code blocks; And Renumbering the remaining free code blocks among all the code blocks to have a second number. For the service data with the highest rate among the service data whose code block positions have not been determined, the second number occupied by each code block of the service data in the remaining free 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 among the remaining free code blocks. The first number is determined as its code block position according to the second number of each code block of the service data. This step is repeatedly executed until the code block positions occupied in the payload area are determined for all service data, A mapping unit that fills each service data into the payload area of the data frame according to the allocated code block positions, where each data frame includes an overhead area, a payload area, and an error correction coding area; A framing unit that 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 into the data frame; A SerDes transmission unit that converts parallel data into serial data and transmits it to the optical module transmission unit; An optical module transmission unit that converts the electrical signal to be transmitted into an optical signal.
2. The hybrid service sending device for high-speed interconnection according to claim 1, wherein The payload area includes a separately provided first and second payload areas, and the error correction coding area includes a separately provided first and second error correction coding areas. 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.
3. The hybrid service sending device for high-speed interconnection according to claim 1, characterized in that The code block size of the data frame is 66 bits. The overhead area of the data frame includes a frame header and a frame tail. The frame header occupies one code block, and the frame tail occupies two code blocks. The frame tail includes control information, which includes a first part and a second part. The first part is for link management and alarm information, and the second part includes 1 code block, which is used to inform the actual number of code blocks occupied by each service in the next frame. The demapper of the optical communication receiving device will determine the actual occupied positions of each service data according to the control information of the previous frame.
4. A multi-service hybrid bearer method for high-speed interconnection, characterized in that Including: Determining the number of code blocks in the payload area of the data frame assigned to each service data among multiple service data. Each service data corresponds to a service. The service data is mapped to the data frame in units of code blocks. The code block size of the data frame is equal to the code block size of each service data or an integer multiple of the code block size of each service data. Each data frame includes M rows × 5280 columns of code blocks or M rows × 5440 columns of code blocks. The data frame is consistent with the granularity of each service data to avoid splitting code blocks. Among them, the number of code blocks assigned to one of the multiple service data is determined according to the following relationship: The ratio of the maximum possible rate of this one service data to the payload rate is equal to the ratio of the number of code blocks of this 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, allocating code block positions for each service data so that its code blocks are evenly distributed within the payload area. This includes sorting all the 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 the first number of the code blocks occupied by each code block of this service data with the highest rate in the payload area as its code block position so that the code blocks of this service data with the highest rate are evenly distributed among all the code blocks; and renumbering the remaining free code blocks among all the code blocks to have a second number. For the service data with the highest rate among the service data whose code block positions have not been determined, determining the second number occupied by each code block of this service data in the remaining free code blocks so that the code blocks of this service data are evenly distributed among the remaining free code blocks, and determining its first number as its code block position according to the second number of each code block of this service data. Repeating this step until the code block positions occupied by all service data in the payload area are determined; Filling each service data into the payload area of the data frame according to the determined code block positions of each service data in the payload area.
5. The multi-service hybrid bearer method for high-speed interconnection according to claim 4, characterized in that It also includes sending the data frame to a SerDes sending device, and after being processed by the SerDes sending device, the data frame is sent to an optical module sending device.
6. The multi-service hybrid bearer method for high-speed interconnection according to claim 4, wherein 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 set separately. The error correction coding area includes a first and a second error correction coding area set separately. 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.
7. The multi-service hybrid bearer method for high-speed interconnection according to claim 4, characterized in that Filling each service data into the payload area of the data frame according to the determined code block positions of each service data allocated within the payload area includes calculating the number of actually occupied code blocks according to the current rate of each service data, and filling the service data with the number of actually occupied code blocks into the allocated code block positions. The overhead area of the data frame includes a frame header and a frame tail. The frame header occupies one code block, and the frame tail occupies two code blocks. The frame tail includes control information, and the control information is used to inform the number of actually occupied code blocks of each service in the next frame. The demapper of the optical communication receiving device will determine the actual occupied positions of each service data according to the control information of the previous frame.
8. The multi-service hybrid bearer method for high-speed interconnection according to claim 6, wherein The code block size of the data frame is 66 bits. The overhead area only includes a frame header and a frame tail. The frame header includes information indicating the start of the frame and frame synchronization information. The frame tail includes the type of service data, a status flag, and control information. The status flag at least includes the network status of the service data and the link status of the optical communication network. The control information includes a first part and a second part. The first part is used for link management and alarm information. The second part includes 1 code block and is used to inform the number of actually occupied code blocks of each service in the next frame. The demapper of the optical communication receiving device will determine the actual occupied positions of each service data according to the control information of the previous frame.
9. The multi-service hybrid bearer method for high-speed interconnection according to claim 4, characterized in that Each service data corresponds to a separate elastic buffer. A plurality of predetermined data in each service data are assembled into a data unit to be sent to the elastic buffer simultaneously. The elastic buffer fills the service data into the payload area of the data frame according to the code block positions of each service data in the payload area.
10. The multi-service hybrid bearer method for high-speed interconnection according to any one of claims 4-9, characterized in that The plurality of service data are Ethernet service data.
11. The multi-service hybrid bearing method for high-speed interconnection according to claim 6, characterized in that The overhead area only includes a frame header and a frame tail. For each data frame, except for the frame header, columns 1 to 2570 are the first payload area, and except for the frame tail, columns 2641 to 5210 are the second payload area, where M is an integer greater than 1.
12. A multi-service hybrid bearer device for high-speed interconnection, characterized in that It includes a processor, a memory, and a communication interface. Among them, the memory stores program code; the communication interface is used to receive service 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 4 - 11.
Citation Information
Patent Citations
Business data processing method and device
CN110557217A