Oducn mapping method and component and electronic device

By determining yi and m×yi multiples in the ODUCN mapping method, allocating service data to the mapping channel while keeping the bit width unchanged, the problems of increased time slot cross-connection logic resources and poor scalability in ODUCN mapping are solved, achieving uniform transmission and reducing complexity.

WO2026001507A1PCT designated stage Publication Date: 2026-01-02SANECHIPS TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/097393
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2025-05-27
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

When the bandwidth of service access increases, the existing technology of ODUCn mapping adopts an arbitrary time slot allocation method, which leads to problems such as increased time slot cross-logic resources, difficulty in circuit timing convergence, poor scalability, and downstream data bursts.

Method used

By obtaining the bandwidth and parallelism of the target service, determining the multiples yi and m×yi, allocating the service data to be processed to a mapping channel, and dividing it into m data block groups, with each data block group's yi data block being allocated to the corresponding mapping channel and mapped into the ODUCn container, keeping the service bit width unchanged, and achieving uniform transmission.

Benefits of technology

It effectively reduces the degree of data bursts, reduces the waste of logical resources, reduces implementation complexity, and improves the scalability and reusability of mapping.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025097393_02012026_PF_FP_ABST
    Figure CN2025097393_02012026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are an ODUCn mapping method, an electronic device, a storage medium and a program product. The method comprises: acquiring the bandwidth and the degree of parallelism of a target service, determining the multiple yi of the bandwidth with respect to a unit bandwidth, and determining the multiple m×yi of the degree of parallelism of the target service with respect to a predetermined data size; acquiring service data to be processed of the target service within the current clock cycle; determining yi mapping channels for mapping the target service; dividing said service data into m×yi data blocks of equal size, and allocating the m×yi data blocks to the yi mapping channels; and mapping the data blocks allocated to the mapping channels to containers corresponding to the mapping channels. The solution of the embodiment allows a service data transmission process to have good uniformity, effectively reducing the degree of data burstiness, a waste of logical resources caused by time slot interleaving, and the complexity of implementation.
Need to check novelty before this filing date? Find Prior Art

Description

ODUCn mapping method, component and electronic device

[0001] Cross-reference to Related Applications

[0002] This application claims priority to Chinese Patent Application CN 202410869047.5, filed on June 28, 2024, entitled “ODUCn mapping method, component and electronic device”, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD

[0003] Embodiments of the present disclosure relate to the field of communication, in particular to an ODUCn mapping method, component and electronic device. BACKGROUND

[0004] With the increase of service access bandwidth, when mapping the service to ODUCn (Optical Data Unit-Cn, n 100G optical data units), an arbitrary time slot allocation method is adopted, which may cause problems such as an increase in time slot cross-logic resources, difficulty in circuit timing convergence, poor scalability, and downstream data burst. SUMMARY

[0005] Embodiments of the present disclosure provide an ODUCn mapping method, an ODUCn mapping component and an electronic device.

[0006] An ODUCn mapping method is provided by embodiments of the present disclosure, for mapping a target service into n containers of an ODUCn, the method comprising: obtaining a bandwidth and parallelism of the target service, determining a multiple y of the bandwidth relative to a preset unit bandwidth i , and determining a multiple m×y of the parallelism of the target service relative to a predetermined data size i , wherein y i and m are positive integers; obtaining service data to be processed in a current clock cycle of the target service; determining y i mapping channels for mapping the target service, wherein each mapping channel corresponds to one of the n containers, and different target services use different mapping channels; dividing the service data to be processed into m×y i data blocks of equal size, and sequentially assigning the m×y i data blocks to the determined y i mapping channels, wherein the m×y i data blocks are divided into m data block groups, each data block group including y i data blocks, and the y i data blocks of each data block group are respectively assigned one by one to the y ia mapping channel; and mapping the data block allocated to each mapping channel into the container corresponding to the mapping channel.

[0007] The embodiment of the present disclosure further provides an ODUCn mapping component for mapping target service into n containers of ODUCn, the ODUCn mapping component comprising a scheduler and a plurality of mapping channels, each mapping channel corresponding to one of the n containers, each mapping channel comprising a memory and a framer, wherein the scheduler is configured to: acquire bandwidth and parallelism of the target service, determine a multiple y of a preset unit bandwidth of the bandwidth i , and determine a multiple m×y of a predetermined data size of the parallelism of the target service i , wherein y i and m are positive integers; acquire service data to be processed in a current clock cycle of the target service; determine y i mapping channels for mapping the target service, wherein different mapping channels are used for different target services; divide the service data to be processed into m×y i data blocks of equal size, and allocate the m×y i data blocks to the determined y i mapping channels in sequence, wherein the m×y i data blocks are divided into m data block groups, each data block group comprising y i data blocks, and the y i data blocks of each data block group are respectively allocated to the y i mapping channels in one-to-one correspondence; and the framer is configured to: map the data block allocated to each mapping channel into the container corresponding to the mapping channel.

[0008] The embodiment of the present disclosure provides an electronic device comprising the ODUCn mapping component. BRIEF DESCRIPTION OF DRAWINGS

[0009] In the drawings of the embodiment of the present disclosure:

[0010] FIG. 1 is a flowchart of an ODUCn mapping method provided by the embodiment of the present disclosure;

[0011] FIG. 2 is a schematic diagram of an ODUj(y i 00G) mapping structure provided by the related art;

[0012] FIG. 3 is a schematic diagram of an ODUCn mapping and scheduling scheme provided by the embodiment of the present disclosure;

[0013] FIG. 4 is a schematic diagram of a method for processing service data in y i memory through y i framers;

[0014] Figure 5 is a block diagram of an ODUCn mapping component according to an embodiment of the present disclosure.

[0015] Figure 6 is a block diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0016] To make the skilled in the art better understand the technical solutions of the present disclosure, the ODUCn mapping method, the ODUCn mapping component and the electronic device provided by the embodiments of the present disclosure are described in detail below with reference to the drawings.

[0017] The present disclosure will be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the present disclosure are shown. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.

[0018] The accompanying drawings, which are included to provide a further understanding of the embodiments of the present disclosure and constitute a part of the specification, illustrate the embodiments of the present disclosure and together with the detailed description serve to explain the present disclosure. The above and other features and advantages of the present disclosure will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.

[0019] The present disclosure can be described with reference to plan views and / or cross-sectional views by idealized schematic illustrations of the ideal schematic diagrams of the present disclosure. Thus, the illustrated examples can vary from the ideal schematic illustrations as manufacturing techniques and / or tolerances can cause variations.

[0020] The embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.

[0021] The terms used in the present disclosure are only used to describe specific embodiments and are not intended to limit the present disclosure. As used in the present disclosure, the term "and / or" includes any and all combinations of one or more of the associated listed items. As used in the present disclosure, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used in the present disclosure, the terms "comprises," "comprising," "includes," "including," and the like are intended to specify the presence of stated features, integers, steps, operations, elements, components, and / or groups thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0022] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure and will not be interpreted in an overly literal or overly formal sense unless expressly so defined herein.

[0023] With the increase of service access bandwidth, the arbitrary time slot allocation mode is used in service mapping ODUCn, which can cause the increase of time slot cross logic resource, the difficulty of circuit timing convergence, the poor expansibility, the downstream data burst and other problems.

[0024] According to the embodiment of the present disclosure, the bandwidth and parallelism of the target service are obtained, the multiple y of the bandwidth relative to the preset unit bandwidth is determined i , and the multiple m x y of the parallelism of the target service relative to the predetermined data size is determined i ; the service data to be processed in the current clock cycle of the target service is obtained; y i mapping channels used for mapping the target service are determined, wherein each mapping channel corresponds to one of the n containers, and different target services use different mapping channels; the service data to be processed is divided into m x y i data blocks of equal size, and the m x y i data blocks are sequentially allocated to the determined y i mapping channels, wherein the m x y i data blocks are divided into m data block groups, each data block group includes y i data blocks, and the y i data blocks of each data block group are respectively allocated to the y i mapping channels in one-to-one correspondence; and the data blocks allocated to each mapping channel are mapped into the container corresponding to the mapping channel. The scheme makes the mapped service always maintain the original bit width in the container, without the need to adjust the original bit width of the service during mapping, and has good uniformity during service data transmission, which can effectively reduce the data burst degree, reduce the logic resource waste caused by time slot crossing, and reduce the implementation complexity.

[0025] The ODUCn mapping method of the embodiment of the present disclosure can be applied in an optical transport network (OTN) device, for example, applied in a module with OTN framing function of the OTN device, for example, can be applied in an OTN bearing network processing chip with 100G granularity service access, and a digital signal processing (DSP) chip with OTN framing function in the OTN device with high resource power consumption requirement.

[0026] The embodiments of the present disclosure are described in detail below.

[0027] The present disclosure provides an ODUCn mapping method, as shown in FIG. 1, which comprises steps S11-S15.

[0028] In step S11, the bandwidth and parallelism of the target service are obtained, and the multiple y of the bandwidth relative to the preset unit bandwidth is determined i , and the multiple m×y of the parallelism of the target service relative to the predetermined data size is determined i , wherein y i and m are positive integers.

[0029] In the embodiments of the present disclosure, the target service refers to the received service that needs to be mapped by ODUCn.

[0030] In the embodiments of the present disclosure, the bandwidth of the target service can be obtained in advance by the preset software (such as the built-in software of DSP), and then the bandwidth of the target service is directly called by the scheduler.

[0031] In the embodiments of the present disclosure, the target service can be a service whose bandwidth is an integer (for example, y i ) times of the preset unit bandwidth.

[0032] The unit bandwidth represents the service granularity, which is specified by the communication protocol followed or pre-set according to the needs. The unit bandwidth can be 100G (102400Mbit), or any other value. In the following embodiments, the unit bandwidth is taken as 100G for example. y i can be any positive integer, for example, 1, 2, 3, 4, 6, 8, …, etc., that is, the service whose bandwidth is 1 times of the unit bandwidth (for example, 100G), the service whose bandwidth is 2 times of the unit bandwidth (for example, 200G), the service whose bandwidth is 3 times of the unit bandwidth (for example, 300G), the service whose bandwidth is 4 times of the unit bandwidth (for example, 400G), the service whose bandwidth is 6 times of the unit bandwidth (for example, 600G), the service whose bandwidth is 8 times of the unit bandwidth (for example, 800G), …, etc.

[0033] As shown in FIG. 2, the related technology (for example, but not limited to, ITU-T G.709 protocol) can support N (N is a positive integer) ODUj (y i 00G) services to be mapped into ODUcn (n 100G optical data units, n is a positive integer) by the Generic Mapping Procedure (GMP) method. The service granularity (unit bandwidth) is 100G, wherein i=1..N, and the number of containers (i.e., OPUC) n≥y1+y2..yN.

[0034] In the embodiments of the present disclosure, N can include but is not limited to 3. For example, in one embodiment, N is 3, that is, 3 ODUj services can be supported to be mapped into an ODUCn through a GMP manner. In this embodiment, the 3 ODUj services can be, for example, 1xODUflex (400G BASE-R) + 1xODUflex (200G BASE-R) + 1xODUflex (100G BASE-R), that is, one service with a bandwidth of 400G, one service with a bandwidth of 200G, and one service with a bandwidth of 100G, and BASE-R is a protocol.

[0035] In the embodiments of the present disclosure, the parallelism of the ODUflex, ODU4 and ODUC1 with a bandwidth of 100G is 16xm bytes, y i The parallelism of the ODUj with a bandwidth of 100G is y i times of the parallelism of the ODUC1, that is, the parallelism is 16xmxy i bytes. y i 00G refers to a bandwidth of y i times of the unit bandwidth 100G, therefore, for a service with a bandwidth of 400G, y i = 4, for a target service with a bandwidth of 200G, y i = 2, and for a service with a bandwidth of 100G, y i = 1.

[0036] In the embodiments of the present disclosure, the "parallelism" of a service refers to the size (bit number) of data processed by a device performing ODUCn mapping in one clock cycle, which is determined by the bandwidth of the service, the clock frequency of the device, the signal duty cycle and the like. The parallelism of a service is also referred to as the bit width of the service.

[0037] ODUj is an optical channel data unit defined in the ITU-T G.709 standard, which represents a fixed-rate optical channel in the optical transport layer, wherein j represents different rate levels such as ODU0, ODU1, ODU2 and the like. Each ODUj has a fixed capacity and rate for transmitting information such as data, sound and video. ODUj represents a fixed-rate optical channel data unit.

[0038] ODUflex (Optical Channel Data Unit flex) is a flexible optical transmission technology introduced in the ITU-T G.709 standard, which allows dynamic adjustment of channel capacity in the optical transmission layer. ODUflex can dynamically allocate optical transmission capacity according to actual needs to adapt to different service requirements and network load. It provides higher flexibility and utilization, and can allocate appropriate broadband resources as needed to more effectively utilize fiber transmission resources. ODUflex represents an optical transmission technology with flexible capacity, which can dynamically adjust channel capacity according to demand.

[0039] In the embodiments of the present disclosure, the predetermined data size is the granularity size of service data to be processed per clock cycle, and the size of service data to be processed per clock cycle needs to be an integer multiple of the granularity size. The predetermined data size can be set according to needs, regulations of communication protocols or other factors. In an embodiment, according to the ITU-T G.709 protocol, the predetermined data size is 16 bytes, that is, 128 bits (16x8=128 bits). That is, the size of service data processed per clock cycle by the device performing ODU Cn mapping needs to be an integer multiple of 16 bytes. In other protocols or other cases, the predetermined data size can also be other values. The following takes the predetermined data size of 16 bytes (i.e., 128 bits) as an example to illustrate the embodiments of the present disclosure.

[0040] In the embodiments of the present disclosure, the three services of 1xODUflex (400G BASE-R) + 1xODUflex (200G BASE-R) + 1xODUflex (100G BASE-R) are still taken as an example to illustrate the embodiments of the present disclosure. It is assumed that the three ODUj services are mapped into ODU C8 (i.e., n=8).

[0041] In the embodiments of the present disclosure, the parallelism (i.e., bit width) of the three services of ODUflex (400G BASE-R), ODUflex (200G BASE-R), and ODUflex (100G BASE-R) is 2048 bits, 1024 bits, and 512 bits, respectively, and the parallelism of ODU C1 is 512 bits. It can be known that the total number of services N=3, and since it is mapped into ODU C8, the total number of mapping channels n=8 of ODU Cn, the number of mapping channels y i of the 400G bandwidth service is 4, m=4, and the parallelism of the 400G bandwidth service relative to 16 bytes is m x y i =4x4; the number of mapping channels y i of the 200G is 2, m=4, and the parallelism of the 200G bandwidth service relative to 16 bytes is m x y i =4x2; the number of mapping channels yi = 1, m = 4, parallelism of 100G bandwidth service relative to 16 bytes of multiple m x y i = 4 x 1.

[0042] ODUC8 contains 20 x n = 20 x 8 = 160 5G bandwidth slots (hereinafter referred to as "5G slots" or "slots") in total, where ODUC1 is 100G bandwidth, one slot is 5G bandwidth, ODUC1 contains 100G / 5G = 20 slots, and ODUC8 contains 160 slots in total.

[0043] 1 frame is 20 ODUC1 frames (about 20 microseconds), and 1 frame contains 952 "160 16 bytes", i.e., (8 x 3808 x 4 x 8 x 20) / (160 x 16 x 8) = 952, 1 16 byte corresponds to 1 5G slot in 952 cycles, and ODUC1 contains 512 / 128 = 4 5G slots per clock cycle (16 bytes are 128 bits, and one 16 byte is one 5G slot), and 8 ODUC1s per clock cycle, i.e., a total of 8 x 4 = 32 slots.

[0044] For the three services described above, 1 400G service needs to be mapped to 400G / 5G = 80 5G slots, 1 200G service needs to be mapped to 200G / 5G = 40 5G slots, and 1 100G service needs to be mapped to 100G / 5G = 20 5G slots.

[0045] The mapping scheme of the related art is described by taking an ODUflex (400GB ASE-R, 2048 bits) service as an example. The 400G service needs to fill 80 5G slots, and needs to occupy TS1.1, TS2.1,..., TS8.1, TS1.2,..., TS7.10, TS8.10, etc. 80 slots in the order of traditional slots from top to bottom and from left to right, where the first 32 slots (i.e., 32 x 128 = 4096 bits) are transmitted in ODUC8 in one clock cycle, the next 8 slots (i.e., 8 x 128 = 1024 bits) are transmitted in ODUC8 in the next clock cycle, and the transmission mode of the other slots is not described here. As can be seen from the transmission mode of the first 40 slots, the bit width of each transmission is different. The bit width (or parallelism) of the 400G service itself is 2048 bits, which means that the 400G service needs to fill 32 x 128 = 4096 bits in the first clock cycle and 8 x 128 = 1024 bits in the second clock cycle. The bit width of the service itself needs to be constantly transformed and mapped, which is not friendly to the uniformity of service transmission, and the logic resource is complex to realize the cross of the service in the slots of the 8 ODUC1s.

[0046] The embodiment of the present disclosure proposes a mapping scheme different from the above mapping scheme.

[0047] In step S12, service data to be processed in a current clock cycle of the target service is acquired.

[0048] In the embodiment of the present disclosure, the size of service data to be processed in each clock cycle is equal to the parallelism of the target service.

[0049] In step S13, y i mapping channels used for mapping the target service are determined, wherein each mapping channel corresponds to one of the n containers, and different target services use different mapping channels.

[0050] In the embodiment of the present disclosure, the mapping channel used by each service can be predetermined in advance, that is, it is predetermined in advance which containers are used by each service. According to other embodiments of the present disclosure, the mapping channel used by the target service can also be determined in real time in a random manner or other manners.

[0051] In the embodiment of the present disclosure, the container can be an Optical Channel Payload Unit (OPUCn), and each mapping channel corresponds to one OPUCn, that is, y i mapping channels correspond to y i OPUCn, n=y i .

[0052] In step S14, the service data to be processed is divided into m×y i data blocks of equal size, and m×y i data blocks are sequentially allocated to the determined y i mapping channels, wherein m×y i data blocks are divided into m data block groups, each data block group includes y i data blocks, and the y i data blocks of each data block group are one-to-one respectively allocated to the y i mapping channels.

[0053] In the embodiment of the present disclosure, the size of each data block is a predetermined data size.

[0054] The embodiment of the present disclosure proposes a simplified mapping method when accessing a large bandwidth service: in each clock cycle, the ODUj (wherein j=4, flex) service data to be processed in the clock cycle, for example, y i 00G, is divided into m×y i data blocks, and m×y i data blocks are allocated to y im data blocks are allocated to each of the y mapping channels. i The m data blocks allocated to each of the y mapping channels can be mapped to y OPUCns. i This embodiment scheme can avoid adjusting the original bit width of the service when mapping, and has better uniformity in the service data transmission process, can effectively reduce the data burst degree, reduce the logical resource waste caused by time slot crossing, and reduce the implementation complexity. When the service bandwidth and quantity increase, the incremental service mapping can be realized by increasing the module components (such as memory, mapper, ODUCn), and the scalability and multiplexing of mapping are increased.

[0055] The specific mapping scheme is introduced below.

[0056] In the embodiment of the present disclosure, m×y i data blocks are sequentially allocated to the determined y i mapping channels (that is, step S14) includes: respectively storing each data block into the memory of the corresponding mapping channel.

[0057] In the embodiment of the present disclosure, m×y i data blocks are sequentially allocated to the determined y i mapping channels (that is, step S14) includes: sequentially allocating m data block groups to y i mapping channels in units of data block groups, wherein y i data blocks of each data block group are synchronously stored into the corresponding memory.

[0058] In the embodiment of the present disclosure, through m times of scheduling, m×y i data blocks are divided into m data block groups, one data block group is scheduled each time, and each data block group includes y i data blocks, so that y i data blocks in one data block group are respectively allocated to y i mapping channels one by one in each scheduling.

[0059] For example, for a 400G bandwidth service, m and y i determined in step S11 are m×y i = 4×4, which can be divided into 4×4 = 16 data blocks, can be divided into m = 4 data block groups, and can be mapped to y i = 4 channels. One data block group can be scheduled each time, each data block group includes 4 data blocks, and the 4 data blocks are allocated to y i = 4 channels. For example, for a 200G bandwidth service, m and y i determined in step S11 are m×yi = 4 x 2, can be divided into 4 x 2 = 8 data blocks, can be divided into m = 4 data block groups, can be mapped to y i = 2 channels. 1 data block group can be scheduled at each time of scheduling, each data block group includes 2 data blocks, and the 2 data blocks are allocated to y i = 2 channels. For another example, for a 100G bandwidth service, m and y determined in step S11 i = m x y i = 4 x 1, can be divided into 4 x 1 = 4 data blocks, can be divided into m = 4 data block groups, can be mapped to y i = 1 channel. 1 data block group can be scheduled at each time of scheduling, each data block group includes 1 data block, and the 1 data block is allocated to y i = 1 channel.

[0060] In the embodiment of the present disclosure, the number of time slots corresponding to the 400G bandwidth is 400G / 5G = 80, based on the 4 mapping channels divided and 4 times of scheduling, the time slots of the ODUflex (400G BASE-R) service mapping can be distributed in OPUC#1 ~ #4 from top to bottom, from left to right, occupying TS1.1, TS2.1, TS3.1, TS4.1, TS1.2,..., TS3.20, TS4.20 and the like 80 time slots, so that 4 x 4 time slots are filled in each clock cycle, corresponding to 16 x 128 = 2048 bits, and the number of bits is exactly the parallelism (or bit width) of the ODUflex (400G BASE-R) service, without the need to adjust the original bit width of the service, and the transmission on the ODUcn is uniform.

[0061] The y of each data block group in the above embodiment i occupies the same time slot of the corresponding y i In other embodiments, different mapping methods can also be used, and the y of each data block group i occupies different time slots of the corresponding y i .

[0062] The detailed scheduling method of the service data in the target service will be introduced below, which can include the following steps.

[0063] The service data is sequentially divided into m x y i data blocks, and each data block is sequentially numbered to obtain the sequence number of each data block.

[0064] The y of each data block in each scheduling i is allocated to y iThe sequence number of the data block in the adjacent mapping channel is different by 1, and the sequence number of the adjacent data block in the same mapping channel is different by y i .

[0065] The y i The first data block in the data block group obtained by the a-th scheduling is the data block with the sequence number of (a-1) x y i +1, a is a positive integer, and a is less than or equal to m.

[0066] In the embodiment of the present disclosure, the sequence number of the data block in the adjacent mapping channel is different by 1 in the data block group obtained by each scheduling, and the sequence number of the first data block in the latter data block group is the next sequence number of the last data block in the former data block group in the two adjacent scheduling data block groups, that is, the sequence numbers of the data blocks in the two adjacent scheduling data block groups are continuous.

[0067] The embodiment of the present disclosure will be further described below with reference to the accompanying drawings.

[0068] As shown in FIG. 3, the ODUCn mapping and scheduling scheme is as follows: for the target service, the target service y i =y1, the service data to be processed in the target service is divided into m x y i The data block is numbered. The bandwidth of the target service is y1 times of the unit bandwidth, which needs to be divided into y1 mapping channels and scheduled for m times. One data block group obtained by each scheduling contains y1 data blocks, and the sequence numbers of the two data blocks corresponding to the positions of the adjacent mapping channels are different by 1; the sequence numbers of the adjacent two data blocks in one mapping channel are different by y1, and the detailed scheduling method is described as follows.

[0069] The first data block group is obtained by the first scheduling, which contains: the first data block in the first mapping channel is the data block with the sequence number of 1, the first data block in the second mapping channel is the data block with the sequence number of 2, and so on, and the first data block in the y1-th mapping channel is the data block with the sequence number of y1.

[0070] The second data block group is obtained by the second scheduling, which contains: the second data block in the first mapping channel is the data block with the sequence number of y1+1, the second data block in the second mapping channel is the data block with the sequence number of y1+2, and so on, and the second data block in the y1-th mapping channel is the data block with the sequence number of y1+y1.

[0071]

[0072] The a-th scheduling obtains an a-th data block group, which comprises: an a-th data block of a first mapping channel is a data block with a sequence number of (a-1) y1+1, an a-th data block of a second mapping channel is a data block with a sequence number of (a-1) y1+2, and so on, and an a-th data block of a y1-th mapping channel is a data block with a sequence number of (a-1) y1+y1=a y1.

[0073]

[0074] The m-th scheduling obtains an m-th data block group, which comprises: an m-th data block of a first mapping channel is a data block with a sequence number of (m-1) y1+1, an m-th data block of a second mapping channel is a data block with a sequence number of (m-1) y1+2, and so on, and an m-th data block of a y1-th mapping channel is a data block with a sequence number of (m-1) y1+y1=m y1.

[0075] In the embodiments of the present disclosure, each mapping channel corresponds to a memory and a framer, and the memories can be sequentially numbered as memory 1, …, memory y1, and the framers can be sequentially numbered as ODUCn 1#framer, …, ODUCn y1#framer.

[0076] In the embodiments of the present disclosure, in the case that the target service further comprises other target services, the processing flow of each other target service is the same as that of the current target service, except that the numbers of the memories and the framers corresponding to the respective mapping channels are sequentially increased, for example, memory y i , memory yN, ODUCn y i #framer, ODUCn yN#framer, and the like.

[0077] Still taking the above-mentioned 400G bandwidth service as an example, the parallelism of the ODUflex (400G BASE-R) service is 2048 bits, which corresponds to 16 (i.e., the total number of divided data blocks) 16-byte units, and needs to be scheduled to 4 (i.e., y i =4) mapping channels. According to the above scheduling scheme, the mapping channel 1 comprises the first, fifth, ninth and thirteenth 128-bit blocks (i.e., data blocks), the mapping channel 2 comprises the second, sixth, tenth and fourteenth 128-bit blocks, the mapping channel 3 comprises the third, seventh, eleventh and fifteenth 128-bit blocks, and the mapping channel 4 comprises the fourth, eighth, twelfth and sixteenth 128-bit blocks, and the bit width of each mapping channel is 4 x 128 = 512 bits.

[0078] For a 200G bandwidth service, the parallelism of the ODUflex (200G BASE-R) service is 1024 bits, which corresponds to 8 (i.e., the total number of divided data blocks) 16-byte units, and needs to be scheduled to 2 (i.e., yi =2) Mapping channels. Mapping channel 1 contains the 1st, 3rd, 5th, and 7th 128-bit blocks (i.e., data blocks), and mapping channel 2 contains the 2nd, 4th, 6th, and 8th 128-bit blocks. The bit width of each mapping channel is 4 × 128 = 512 bits.

[0079] In this embodiment of the disclosure, in y i When y is any natural number, analogy can be drawn based on the above embodiments to realize the transformation of y. i 00G bandwidth services are allocated to y through multiple scheduling processes. i One mapping channel.

[0080] In step S15, the data blocks allocated to each mapping channel are mapped to the container corresponding to that mapping channel.

[0081] In this embodiment of the disclosure, via y i A framer for y i The service data in each memory is processed to generate optical data units OPUC1 to OPUCy with a unit bandwidth. i The signal maps the data blocks allocated to each mapping channel (i.e., the data blocks stored in memory) to the container (such as OPUCN) corresponding to that mapping channel.

[0082] In this embodiment of the disclosure, mapping the data block allocated to each mapping channel to the container corresponding to that mapping channel (i.e., step S15) includes: y i Each mapping channel performs mapping processing synchronously, ensuring that data blocks in each data block group are mapped synchronously.

[0083] In this embodiment of the disclosure, the scheduler will y i 00G's ODU service is scheduled in 16-byte units to y i One mapping channel, synchronously written to y i In each memory, y i Each memory performs synchronous processing. The bit width of each memory is 16×m bytes. With each memory corresponding to one ODUC1 (i.e., corresponding to one 100G ODU), the bit width of a 100G ODU itself is 16 bytes (i.e., one 5G time slot), and the bit width of each memory is (16×m) bytes = (16×4 = 64) bytes = (64×8 = 512) bits.

[0084] In this embodiment of the disclosure, the n framers corresponding to ODUCn process synchronously, generate the OUCn service rate through the local clock, and generate the OPUC payload area.

[0085] In the embodiment of the present disclosure, mapping the data block allocated to each mapping channel into the container corresponding to the mapping channel (i.e., step S15) comprises: in the case of judging in advance that the data block needs to be read, generating a read enable signal for a preset number of clock cycles, and reading the data block from the memory of the mapping channel according to the read enable signal for the preset number of clock cycles; or in the case of judging in advance that the data block does not need to be read, generating an invalid block for a preset number of clock cycles; encapsulating the data block and the invalid block in the container, wherein the preset number of clock cycles is calculated according to the number of time slots contained in the bandwidth of the target service and the number of data blocks corresponding to the parallelism of the target service.

[0086] In the embodiment of the present disclosure, the OPUCn payload area is used to fill the data block or the invalid block, and is used as a container to store the signals of the corresponding ODUCn, i.e., OPUC1 to OPUCy. i The signals of ODUC1 to ODUCy are stored respectively. i The signals of ODUC1 to ODUCy are stored respectively.

[0087] In the embodiment of the present disclosure, as shown in FIG. 4, y i frames read the data block filled into y i frames from y i memories, or fill invalid blocks into y i frames; y i frames splice the data block, the invalid block, and the overhead filled into y i frames to generate the signals of ODUC1 to ODUCy. i The signals of ODUC1 to ODUCy are stored respectively.

[0088] In the embodiment of the present disclosure, before y i frames read the data block filled into y i frames from y i memories, or fill invalid blocks into y i frames, the scheduler can judge whether the data block needs to be read and filled into y i frames, or whether the invalid block needs to be generated and filled into y i frames.

[0089] In the embodiment of the present disclosure, the sigma-delta operation rule of GMP can be used to judge whether the data block needs to be read or not, so as to determine whether the data block or the invalid block needs to be filled into y i frames according to the judgment result.

[0090] In the embodiments of the present disclosure, the scheme for determining whether the data block needs to be read can include but is not limited to: determining whether the calculation result of the second calculation formula is less than a preset data threshold, wherein the data threshold includes: the number of (128*the number of time slots) occupied by the target service in one complex frame; in the case that the calculation result is less than the data threshold, it is determined that the data block needs to be read, that is, y i frames are filled with the data block; in the case that the calculation result is greater than or equal to the data threshold, it is determined that the data block does not need to be read, that is, y i frames are filled with the invalid block.

[0091] In the embodiments of the present disclosure, the second calculation formula can include: (j1*Cm)mod Pserver, wherein Pserver is a preset mapping parameter corresponding to the ODUCn, j1 is a decision number, j1 is a number from 1 to Pserver, j1 is a positive integer, mod refers to a modulo operation, and Cm is the data threshold.

[0092] In the embodiments of the present disclosure, Pserver of the ODUCn service is 952, and the number of j1 is 1... 952.

[0093] In the embodiments of the present disclosure, in the case that the scheduler determines that the data block needs to be read, y i frames read the data block of the preset number of clock cycles according to the generated read enable signal and fill the corresponding OPUC payload area; in the case that the scheduler determines that the data block does not need to be read, y i frames generate a preset number of clock cycles of all-0 sequence and fill the corresponding OPUC payload area.

[0094] In the embodiments of the present disclosure, in the process of determining whether the data block needs to be read by the scheduler according to the calculation result of (j1*Cm)mod Pserver, the calculation result less than Cm indicates that the framer reads and fills the data block, and the calculation result greater than or equal to Cm indicates that the framer fills the invalid block, after the above determination is completed for one j1 value each time, it is detected whether the current j1 is equal to Pserver, in the case that j1 is equal to Pserver, j1 is returned to 1; in the case that j1 is not equal to Pserver, j1 is updated to j1+1, and the above calculation and determination are re-performed based on the updated j1. Wherein Cm is the number of (128*the number of time slots) occupied by the service in one complex frame.

[0095] In the embodiments of the present disclosure, the preset number of clock cycles can be obtained according to the following first calculation formula:

[0096] P=x / m;

[0097] Wherein, P is the preset number of clock cycles, and x is the number of time slots contained in the bandwidth of the target service.

[0098] In the embodiment of the present disclosure, the bandwidth of the ODUC1 is 100G, containing 20 5G time slots, i.e., x=20, m=4, and the preset clock period P=20 / 4=5 clock periods.

[0099] In the embodiment of the present disclosure, in the case of indicating reading the data block, a read enable signal of 20 / m=20 / 4=5 clock periods is generated, and the memory #1 to #y i is read synchronously, and the read 20 / 4=5 clock period service data is input into the corresponding OPU payload area of the framer; in the case of indicating that the data block does not need to be read, the read operation of the memory is stopped, and a 0 sequence of 5 clock periods is generated, and the process is synchronously processed by the mapping channel 1 to the mapping channel 4.

[0100] In the embodiment of the present disclosure, the ODU, OPU overheads of #1 to #y i are generated and input into the framer, and the service data, invalid block and overheads are combined by the framer to generate the signals of the ODUC#1 to #4.

[0101] In the embodiment of the present disclosure, the 200G service is scheduled to 2 mapping channels, and the 2 mapping channels are synchronously processed and mapped to the ODUC#5 to #6, and the 100G service is stored to 1 mapping channel and mapped to the ODUC#7, and for the ODUC8, the remaining one mapping channel can support the 100G expansion.

[0102] In the embodiment of the present disclosure, for the ODUCn, as long as the service does not completely occupy the ODUCn, i.e., n has a remainder, the remaining mapping channel can be used as an expansion mapping channel.

[0103] In the embodiment of the present disclosure, the method can further include: in the case of deleting the target service, releasing the corresponding mapping channel; or in the case of re-adding the target service, restarting the corresponding mapping channel.

[0104] In the embodiment of the present disclosure, the method can further include: in the case of increasing the bandwidth of the target service, according to the multiple of the increased bandwidth relative to the unit bandwidth, increasing the corresponding number of mapping channels; or in the case of reducing the bandwidth of the target service, according to the multiple of the reduced bandwidth relative to the unit bandwidth, reducing the corresponding number of mapping channels.

[0105] In the embodiment of the present disclosure, the corresponding mapping channel is released when the service is deleted, and the corresponding mapping channel is restarted when the service is added; when the bandwidth needs to be increased or reduced, only part of the mapping channels need to be increased or reduced. The mapping is flexibly performed according to the increase or decrease of the service amount, and the scalability and multiplexing of the mapping scheme are improved.

[0106] In this embodiment, the demapping process is the reverse of the mapping process. ODUCn undergoes n-way alignment, and each ODUC performs a sigma-delta operation based on Cm extracted from the overhead to determine whether the OPU is a payload (i.e., a data block) or a fill block (i.e., an invalid block) within 20 / 4 = 5 consecutive clock cycles. For the same service y... i Each mapping channel is synchronized. After invalid blocks are removed, y i The service data is obtained by concatenating the mapping channels, and the concatenation method is the reverse process of the mapping channel splitting. For example, 400G concatenation {mapping channel 1[511:384], mapping channel 2[511:384], mapping channel 3[511:384], mapping channel 4[511:384], mapping channel 1[383:256], mapping channel 2[383:256], mapping channel 3[383:256], mapping channel 4[383:256], mapping channel 1[255:128], mapping channel 2[255:128], mapping channel 3[255:128], mapping channel 4[255:128], mapping channel 1[127:0], mapping channel 2[127:0], mapping channel 3[127:0], mapping channel 4[127:0]} restores 2048-bit parallel service data.

[0107] In this embodiment of the present disclosure, the solution simplifies time slot allocation through multiple scheduling, which can effectively reduce the degree of data bursts, reduce the waste of logical resources caused by time slot overlap, greatly reduce the complexity of implementation, and increase the scalability of the mapping module.

[0108] This disclosure also provides an ODUCn mapping component 100, as shown in FIG5, for mapping target services to n containers of ODUCn. The ODUCn mapping component 100 includes a scheduler 101 and multiple mapping channels 102, each mapping channel 102 corresponding to one of the n containers, and each mapping channel 102 includes a memory 1021 and a framer 1022.

[0109] Scheduler 101 is used to: obtain the bandwidth and parallelism of the target service, and determine the bandwidth as a multiple y of the preset unit bandwidth. i And determine the parallelism of the target business relative to the predetermined data size, m×y. i , where y i Both m and y are positive integers; obtain the service data to be processed within the current clock cycle of the target service; determine y for mapping the target service. i There are several mapping channels, with different target services using different mapping channels; the service data to be processed is divided into m×y equal-sized data. i Data blocks, m×yi The data blocks are sequentially assigned to the determined y i There are 1 mapping channel, where m×y i The data blocks are divided into m data block groups, each data block group including y i There are 1 data block group, and y is the data block group. i Each data block is assigned to y in a one-to-one correspondence. i One mapping channel.

[0110] The framer 1022 is used to map the data blocks allocated to each mapping channel to the container corresponding to that mapping channel.

[0111] In this embodiment of the disclosure, the scheduler 101 will allocate m×y i The data blocks are sequentially assigned to the determined y i Each mapping channel includes storing each data block into the memory 1021 of the corresponding mapping channel.

[0112] In this embodiment of the disclosure, the functions and roles of any device in the ODUCn mapping component 100 are the same as those of the corresponding devices in the foregoing method embodiments, and will not be repeated here.

[0113] This disclosure also provides an electronic device 200, as shown in FIG6, which may include an ODUCN mapping component 100 according to an embodiment of this disclosure.

[0114] In this embodiment of the disclosure, the electronic device may include, but is not limited to, a DSP chip.

[0115] Those skilled in the art will understand that all or some of the functional modules / units disclosed above can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0116] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components. For example, a physical component may have multiple functions, or a function or step may be executed by several physical components working together.

[0117] Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit (CPU), a digital signal processor, or a microprocessor, or hardware, or a combination of software and / or hardware. Such software can be distributed on computer readable media, which can comprise computer storage media (or non-transitory media), and communication media (or transitory media). Computer storage media, as used herein, includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, random access memory (RAM), such as SDRAM, DDR, or other RAM, read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory, or other memory technology, compact disc read only memory (CD-ROM), digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by a computer. Further, it should be appreciated by those skilled in the art that computer storage media generally includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Accordingly, the disclosure is not limited to entirely software implementations.

[0118] The present disclosure has disclosed example embodiments, and while specific terminology has been employed, it is merely in the nature of a general description and is not intended to be limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics or / and elements described in connection with a particular embodiment can be used in conjunction with other embodiments unless otherwise explicitly stated. Accordingly, it will be understood that various modifications can be made in form and details without departing from the scope of the disclosure as set forth in the following claims.

Claims

1. An ODUCn mapping method for mapping a target service to n containers of ODUCn, where n is a positive integer, the method comprising: Obtain the bandwidth and parallelism of the target service, and determine the multiple y of the bandwidth relative to a preset unit bandwidth. i And determine the parallelism of the target service relative to the predetermined data size, m×y. i , where y i Both m and m are positive integers; Obtain the service data to be processed within the current clock cycle of the target service; Determine y for mapping the target service i There are n mapping channels, where each mapping channel corresponds to one of the n containers, and different target services use different mapping channels; The business data to be processed is divided into m×y equal parts. i Data blocks, the m×y i The data blocks are sequentially assigned to the determined y i There are several mapping channels, wherein the m×y i The data blocks are divided into m data block groups, each data block group including y i There are 1 data block group, and y is the data block group. i Each data block is assigned to the y in a one-to-one correspondence. i One mapping channel; The data blocks allocated to each mapping channel are mapped to the container corresponding to that mapping channel.

2. The ODUCN mapping method according to claim 1, wherein, The m×y i The data blocks are sequentially assigned to the determined y i The mapping channels include: Each data block is stored separately in the memory of the corresponding mapped channel.

3. The ODUCN mapping method according to claim 1, wherein, The m×y i The data blocks are sequentially assigned to the determined y i The mapping channels include: The m data block groups are sequentially allocated to the y group. i There are 1 mapping channel, where y is the data block group of each data block. i Each data block is synchronously stored in its corresponding memory.

4. The ODUCN mapping method according to claim 1, wherein, Mapping the data blocks allocated to each mapping channel to the container corresponding to that mapping channel includes: The y i Each mapping channel performs mapping processing synchronously, so that the data blocks in each data block group are mapped synchronously.

5. The ODUCN mapping method according to claim 1, wherein, y for each data block group i Each data block occupies the corresponding y i The same time slot for each container.

6. The ODUCN mapping method according to claim 1, wherein, The predetermined data size is 16 bytes, and the preset unit bandwidth is 100G.

7. The ODUCN mapping method according to any one of claims 1-6 further includes: If the target service is deleted, the corresponding mapping channel is released; or If the target service is added again, restart the corresponding mapping channel.

8. The ODUCN mapping method according to any one of claims 1-6 further includes: When the bandwidth of the target service increases, the number of mapping channels is increased accordingly based on the multiple of the increased bandwidth relative to the unit bandwidth. or When the bandwidth of the target service is reduced, the number of mapping channels is reduced accordingly based on the multiple of the reduced bandwidth relative to the unit bandwidth.

9. The ODUCN mapping method according to claim 1, wherein, Mapping the data blocks allocated to each mapping channel to the container corresponding to that mapping channel includes: If it is determined in advance that a data block needs to be read, a read enable signal of a preset number of clock cycles is generated, and the data block is read from the memory of the mapped channel according to the read enable signal of the preset number of clock cycles; or, if it is determined in advance that the data block does not need to be read, an invalid block of the preset number of clock cycles is generated. The data block and the invalid block are encapsulated in the container. The preset number of clock cycles is calculated based on the number of time slots included in the bandwidth of the target service and the number of data blocks corresponding to the parallelism of the target service.

10. The ODUCN mapping method according to claim 9, wherein, The preset number of clock cycles is calculated according to the following first formula: P = x / m; Where P is the preset number of clock cycles, and x is the number of time slots included in the bandwidth of the target service.

11. An ODUCn mapping component for mapping target services to n containers in an ODUCn, the ODUCn mapping component comprising a scheduler and multiple mapping channels, each mapping channel corresponding to one of the n containers, each mapping channel comprising a memory and a framer, wherein, The scheduler is used for: Obtain the bandwidth and parallelism of the target service, and determine the multiple y of the bandwidth relative to a preset unit bandwidth. i And determine the parallelism of the target service relative to the predetermined data size, m×y. i , where y i Both m and m are positive integers; Obtain the service data to be processed within the current clock cycle of the target service; Determine y for mapping the target service i There are 1 mapping channel, where different target services use different mapping channels; The business data to be processed is divided into m×y equal parts. i Data blocks, the m×y i The data blocks are sequentially assigned to the determined y i There are several mapping channels, wherein the m×y i The data blocks are divided into m data block groups, each data block group including y i There are 1 data block group, and y is the data block group. i Each data block is assigned to the y in a one-to-one correspondence. i One mapping channel; The framer is used for: The data blocks allocated to each mapping channel are mapped to the container corresponding to that mapping channel.

12. An electronic device comprising the ODUCN mapping component of claim 11.

13. The electronic device according to claim 12, wherein, The electronic device includes a digital signal processing (DSP) chip.

14. An electronic device comprising a storage device and a processor, wherein the storage device stores a computer program that, when executed by the processor, causes the processor to implement the ODUCn mapping method according to any one of claims 1 to 10.

15. A computer-readable storage medium having a computer program stored thereon, wherein when executed by a processor, the computer program causes the processor to implement the ODUCn mapping method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Method and device for carrying out ODU service scheduling

    CN107979434A

  • Method and device for realizing service mapping

    CN114915375A

  • Method and apparatus for service processing in optical transport network, and electronic device

    US20230125984A1