Base station front-transmission message table lookup dedicated processor and message protocol information determination method

By designing a dedicated processor for pre-passing messages for base stations, using the table lookup module to perform simultaneous matching of multiple key-value records in the network processor, the problem of high cost and slow speed when determining message data protocol information is solved, and fast, low cost, high-speed, and large-throughput protocol information determination is achieved.

CN119383247BActive Publication Date: 2025-04-04JIXIN COMM TECH (NANJING) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411945141.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-04-04
Estimated Expiration
2044-12-27

AI Technical Summary

Technical Problem

Existing network processors are costly, slow to process and can only support relatively small data throughput when determining protocol information for message data.

Method used

A special processor for base station pre-pass message table lookup is designed, including a register group module, a table lookup module, a program control module, an instruction storage module and a decoder module. Driven by the table lookup command sequence, the message data is matched simultaneously with multiple key-value records in the key-value record group according to the table lookup control word to determine the protocol information of the message data.

Benefits of technology

It realizes the protocol information of packet data quickly, low cost, high speed and large throughput, improves the packet data analysis performance, and supports eCPRI protocol, O-RAN protocol and similar protocols.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119383247B_ABST
    Figure CN119383247B_ABST
Patent Text Reader

Abstract

The present invention provides a base station front transmission message table lookup dedicated processor and message protocol information determination method, belonging to the field of communication technology, the processor includes: a register group module composed of multiple registers, a table lookup module storing a plurality of key value record groups, a program control module, an instruction storage module and a decoder module; each key value record group includes a specific number of key value records, each key value record includes a one-to-one corresponding comparison value and result value; the table lookup module is driven by the current table lookup instruction, and repeatedly matches the comparison value of the current specific data segment with the specific number of key value records in the current key value record group, determines a plurality of candidate result values, and determines the target result value of the identification protocol information based on the plurality of candidate result values. The present invention constructs a new architecture for determining protocol information by collaboratively looking up the table of ASIP and accelerator, which can realize one-to-many simultaneous rapid matching of multiple key value records, and has the advantages of low cost, high speed and high throughput.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a base station front-transmission message table lookup dedicated processor and a message protocol information determination method. Background Art

[0002] The fronthaul interface is the data transmission bridge between the air interface and the base station processing unit. The performance of the fronthaul interface processor in parsing message data will affect the execution effect of the upper-layer application software. An important step in the fronthaul interface processor parsing message data is to confirm the protocol information of the message data.

[0003] Currently, network processors that support the eCPRI protocol, O-RAN protocol, and similar protocols generally have the disadvantages of high cost, slow processing speed, and can only support relatively small data throughput when determining the protocol information of message data.

[0004] Therefore, it is necessary to provide a low-cost, high-speed, high-throughput base station fronthaul interface processor to quickly determine the protocol information of the message data. Summary of the invention

[0005] The present invention provides a base station fronthaul message table lookup dedicated processor and a message protocol information determination method, which are used to solve the defects of the network processor in the prior art in determining the protocol information of message data, such as high cost, slow processing speed and only being able to support relatively small data throughput, and realize a base station fronthaul interface processor that can quickly determine the protocol information of message data.

[0006] The present invention provides a base station front transmission message table lookup dedicated processor, comprising: a register group module composed of multiple registers, a table lookup module, a program control module, an instruction storage module and a decoder module;

[0007] The table lookup module stores a plurality of key value record groups, each key value record group includes a specific number of key value records, and each key value record includes a one-to-one corresponding comparison value and result value;

[0008] The register group module is used to load message data;

[0009] The table lookup module is used to repeatedly execute the steps of determining the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction under the drive of the table lookup instruction sequence, and simultaneously matching the current specific data segment with the comparison values ​​of a specific number of key value records in the current key value record group respectively, until at least one candidate result value is matched, and determining a target result value based on the at least one candidate result value; the target result value is used to identify the protocol information of the message data;

[0010] The program control module is used to manage the program count and arbitrate the program count change request sent by the table lookup module after determining the target result value to determine the next execution instruction;

[0011] The instruction storage module is used to store the table lookup instruction sequence and the next execution instruction;

[0012] The decoder module is used to decode the next execution instruction and distribute the decoding result to the corresponding module of the base station front transmission message table lookup dedicated processor to drive the corresponding module to work.

[0013] According to a base station fronthaul message table lookup dedicated processor provided by the present invention, the table lookup control word includes a register number control word, a bit address control word, a bit quantity control word and a key value record group control word;

[0014] The step of determining the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction includes:

[0015] Determining a target register from the register group module according to the register number control word;

[0016] Determining a target bit address range according to the bit address control word and the bit quantity control word;

[0017] Extracting the message data in the target bit address range from the target register as the current specific data segment;

[0018] Based on the key-value record group control word, the current key-value record group is determined.

[0019] According to a base station front-haul message table lookup dedicated processor provided by the present invention, the table lookup module includes a key-value table module, a result table module, a matcher and an arbitrator;

[0020] The key-value table module is used to store the plurality of key-value record groups;

[0021] The matcher is used to determine the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction;

[0022] The matcher is further used to simultaneously match the current specific data segment with comparison values ​​of a specific number of key value records in the current key value record group to obtain at least one candidate result value;

[0023] The arbitrator is used to arbitrate the at least one candidate result value matched by the matcher to determine the target result value.

[0024] The result table module is used to store the at least one candidate result value.

[0025] According to a base station fronthaul message table lookup dedicated processor provided by the present invention, the key value record group stored in the key value table module is written at the initial power-on and / or loaded during the table lookup process; the candidate result value stored in the result table module is written at the initial power-on and / or loaded during the table lookup process.

[0026] According to a base station front-haul message table lookup processor provided by the present invention, the key-value table module is implemented based on a multi-port static random access memory or a register stack;

[0027] And / or, the result table module is implemented based on a multi-port static random access memory or a register file.

[0028] A dedicated processor for table lookup of a base station front-haul message provided by the present invention further includes: a fast channel processing module and a slow channel processing module;

[0029] The fast channel processing module is used to perform accelerated parsing processing on the message data to obtain payload data in the message data when determining that the message data is a data packet or a control packet based on the protocol information;

[0030] The slow channel processing module is used to not perform accelerated parsing processing on the message data when it is determined that the message data is a management packet based on the protocol information.

[0031] A dedicated processor for looking up a table of a base station front-haul message provided by the present invention further includes: a calculation module, a block moving module, a data recovery module and a cache;

[0032] The operation module is used for processing the message data driven by the parsing instruction sequence when it is determined that the message data is a U-plane message based on the protocol information, and generating a block move control word and a data recovery control word based on the message processing result;

[0033] The block moving module is used to move the message data from the register group module based on the block moving control word, and write the message data into the cache;

[0034] The data recovery module is used to load the message data from the cache based on the data recovery control word, restore the data bit width and size of the message data, and send the recovered message data until the sending of one message data is completed.

[0035] A dedicated processor for looking up a table of a base station front-haul message provided by the present invention further includes: a verification module;

[0036] The verification module includes a checksum module and a cyclic redundancy check module;

[0037] The checksum module is used to complete the checksum calculation of the message data;

[0038] The cyclic redundancy check module is used to complete the verification calculation of the cyclic redundancy check sequence of the message data.

[0039] According to a base station front-transmission message table lookup dedicated processor provided by the present invention, the register group module is mapped with a data input interface and a data output interface, the data input interface and the data output interface are externally connected to an Ethernet switch, and the register group module and the Ethernet switch complete data writing based on a hardware handshake method.

[0040] The present invention also provides a method for determining message protocol information based on any of the above-mentioned base station front-transmission message table lookup dedicated processors, comprising:

[0041] Controlling the register group module to load message data; the register group module includes a plurality of registers;

[0042] The control table lookup module is driven by the table lookup instruction sequence, and repeatedly executes the steps of determining the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction, and determining the candidate result value according to the simultaneous matching results of the comparison values ​​of the current specific data segment and the specific number of key value records in the current key value record group, until the current table lookup instruction is the last instruction in the table lookup instruction sequence, and determining the target result value based on the candidate result value; the table lookup module stores a plurality of key value record groups, each key value record group includes a specific number of key value records, and each key value record includes a one-to-one corresponding comparison value and result value; the target result value is used to identify the protocol information of the message data;

[0043] The control program control module manages the program count and arbitrates the program count change request sent by each module of the base station front transmission message table lookup dedicated processor;

[0044] The control instruction storage module stores the table lookup instruction sequence;

[0045] The control decoder module decodes the table lookup instructions in the table lookup instruction sequence, and distributes the decoding results to the various modules of the base station front transmission message table lookup dedicated processor to drive the various modules to work.

[0046] The present invention provides a dedicated processor for table lookup of base station front-transmission messages and a method for determining message protocol information. By setting a table lookup module on hardware, the table lookup module is driven by a table lookup instruction sequence obtained by flexible programming based on a dedicated processing instruction set. According to a table lookup control word in the table lookup instruction, the extracted current specific data segment is matched with multiple key value records in the current key value record group to determine the protocol information of the message data. In fact, the protocol information is determined by collaborative table lookup based on the ASIP and ASIC new architecture constructed in the processor, which can increase the number of key values ​​to be compared under the drive of each table lookup instruction, and realizes the comparison between the message data and multiple comparison values ​​in the multiple key value records. The one-to-many simultaneous fast matching between the two improves the rate of determining the protocol information of the message data in a way of low cost and shortening the matching time, and improves the message data parsing performance from the link of determining the protocol information in a way of fast and simultaneous table lookup, thereby realizing a base station fronthaul interface table lookup dedicated processor that supports the eCPRI protocol, O-RAN protocol and similar protocols, and can quickly determine the protocol information of the message data, with the advantages of low cost, high rate and large throughput; by loading the message data through the register group module, the table lookup module can directly extract the current specific data segment from the register group module, which optimizes the timing of message data processing and simplifies the programming difficulty of the table lookup instruction sequence. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0048] Figure 1 This is one of the structural schematic diagrams of the dedicated processor for looking up the table of the base station front transmission message provided by the present invention.

[0049] Figure 2 It is a schematic diagram of the table lookup process provided by the present invention.

[0050] Figure 3 It is a structural schematic diagram of the table lookup module provided by the present invention.

[0051] Figure 4 This is the second structural schematic diagram of the dedicated processor for looking up the table of base station front-transmission messages provided by the present invention.

[0052] Figure 5 It is a flow chart of a method for determining message protocol information based on a dedicated processor for looking up a table of base station front-transmission messages provided by the present invention. DETAILED DESCRIPTION

[0053] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0054] It should be noted that, in the description of the present invention, the term "includes" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0055] The terms "first", "second", etc. in the present invention are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present invention can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of the same type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" means at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0056] Combine the following Figure 1-Figure 5 The present invention describes a dedicated processor for looking up a table of base station front-transmission messages and a method for determining message protocol information.

[0057] Application Specific Instruction Set Processor (ASIP), also known as a dedicated processor, is a programmable platform that is customized for a specific operation or a certain type of algorithm. It has both software programming capabilities and is oriented to accelerated processing in a specific field. It can use the same chip on multiple related applications, different versions of applications, and even future applications. It has the advantages of sharing the chip design cost on a large number of chips, having enough functions and flexibility to deal with chip modifications during product development, and extending the product life cycle. ASIP is often programmed for specific fields and has strong specialization. It has a significant performance improvement over general-purpose processors.

[0058] Corresponding to ASIP, Application Specific Integrated Circuit (ASIC) is specially used to implement a certain type of customized circuit algorithm. In comparison, ASIC has higher performance but poorer flexibility, while ASIP has slightly lower performance than ASIC but has greater flexibility.

[0059] In the design and implementation of LTE (Long Time Evolution) and 5G NR (New Radio), the baseband processing unit (Building Baseband Unit, BBU) and the remote radio unit (Remote Radio Unit, RRU) are usually split and connected using optical fiber. The interface between the RRU and BBU is called the fronthaul interface.

[0060] Common fronthaul interfaces include Common Public Radio Interface (CPRI) and enhanced CPRI (eCPRI). The CPRI protocol is block-based data transmission, and its application scenarios are relatively simple. In addition, there are a large number of custom fields, which makes the CPRI protocol poorly adaptable. Compared with the CPRI protocol, the eCPRI protocol is used in the implementation of 5G. The eCPRI protocol is carried on the Ethernet, MAC layer or TCP / IP layer to integrate the eCPRI protocol into the TCP / IP protocol family. Compared with the proprietary CPRI protocol, the universality of the eCPRI protocol allows the RRU to no longer be attached to the BBU, thus acting as an independent network element. The network management center can directly manage the RRU, and no longer needs to rely on the BBU to manage the RRU. The protocol between the BBU and the RRU can be standardized, which provides an architectural guarantee for the interconnection and interoperability of BBU and RRU from different manufacturers, and greatly improves the universality.

[0061] The Open Radio Access Network (O-RAN) protocol is a specific implementation of the eCPRI protocol. The eCPRI protocol is only a transport layer protocol and does not define application layer protocol specifications such as IQ data format and real-time control plane data format above the service access point. The O-RAN protocol defines in detail the specific usage details when used as the fronthaul interface of NR, making the fronthaul interface implemented using the O-RAN protocol have good adaptability.

[0062] The eCPRI protocol and O-RAN protocol have the following characteristics when applied to message data parsing: First, both the eCPRI protocol and the O-RAN protocol are relatively new, and there are not many hardware devices that can support the eCPRI protocol and the O-RAN protocol (such as those based on FAGA implementation), but both have the defects of high cost, slow processing speed and can only support relatively small data throughput; secondly, the eCPRI protocol and the O-RAN protocol are in the process of continuous evolution. If ASIC is used, the form risk is relatively high and it is difficult to cope with subsequent protocol upgrades; thirdly, the eCPRI protocol and the O-RAN protocol work on the fronthaul interface, which is the transmission bridge between the air interface and the base station processing unit data, requiring high real-time and high accuracy that traditional network processors cannot achieve.

[0063] In view of this, the base station fronthaul interface table lookup dedicated processor provided by the present invention is a network processor (NP) based on ASIP, which can support the eCPRI protocol, O-RAN protocol and similar protocols to determine the protocol information when parsing the base station fronthaul interface message, and supports real-time processing of data packets and data frames in the network at line speed. It can be widely used in scenarios in mobile communications, broadband communications, industrial control and other fields that require parsing message data and determining message protocol information.

[0064] Figure 1 FIG. 1 is one of the structural diagrams of the dedicated processor for looking up the table of the base station front transmission message provided by the present invention, such as Figure 1 As shown, the base station front-haul message table lookup dedicated processor includes but is not limited to a register group module 101 composed of a plurality of registers, a table lookup module 102 , a program control module 103 , an instruction storage module 104 and a decoder module 105 .

[0065] The register group module 101 is used to load message data.

[0066] The table lookup module 102 is used to repeatedly execute the steps of determining the current key value record group and the current specific data segment extracted from the register group module 101 according to the table lookup control word of the current table lookup instruction, and simultaneously matching the current specific data segment with the comparison values ​​of a specific number of key value records in the current key value record group, respectively, under the drive of the table lookup instruction sequence, until at least one candidate result value is matched, and determining the target result value based on the at least one candidate result value. The target result value is used to identify the protocol information of the message data.

[0067] The program control module 103 is used to manage the program count and arbitrate the program count change request sent by the table lookup module after determining the target result value to determine the next execution instruction.

[0068] The instruction storage module 104 is used to store the table lookup instruction sequence and the next execution instruction.

[0069] The decoder module 105 is used to decode the next execution instruction and distribute the decoding result to the corresponding module of the base station front transmission message table lookup dedicated processor to drive the corresponding module to work.

[0070] The table lookup module 102 stores a number of key-value record groups, each of which includes a specific number of key-value records, and each of which includes a one-to-one corresponding comparison value (equivalent to a "key") and a result value (equivalent to a "value").

[0071] For example, the specific number may be set to 8, 16, etc., that is, each key-value record group includes 8 key-value records, or each key-value record group includes 16 key-value records.

[0072] The table lookup instruction sequence is composed of a number of special processing instructions in a special processing instruction set. When processing the message data parsing task, the programmer uses the special processing instruction set to program the table lookup instruction sequence in advance and determines the control word in each table lookup instruction.

[0073] In addition to storing the table lookup instruction sequence, the instruction storage module also stores other execution instructions, and the number of execution instructions is not limited. The execution instructions are pre-programmed by the programmer using the special processing instructions in the special processing instruction set. The result obtained by executing the table lookup instruction sequence is used for the instruction storage module to determine the next execution instruction from the execution instructions stored in the instruction storage module 104, so as to use the next execution instruction to drive the corresponding module to work.

[0074] Specifically, there is a large amount of information that needs to be arbitrated in the packet header of the network message data, such as Ethernet type, message type field in eCPRI, C-plane message type, IQ address start offset, etc. Correspondingly, the one-to-one corresponding comparison value and result value included in each key value record are also determined according to the information that needs to be arbitrated in the packet header of these message data.

[0075] Figure 2 It is a schematic diagram of the table lookup process provided by the present invention, such as Figure 2 As shown, when the message data is transmitted to the dedicated processor for front-haul message table lookup of the base station, the register group module 101 starts to load the message data.

[0076] The first table lookup instruction in the table lookup instruction sequence stored in the instruction storage module 104 is used as the current table lookup instruction. The decoder module 105 decodes the current table lookup instruction and distributes the decoding result to the table lookup module 102 to drive the table lookup module 102 to work.

[0077] For the table lookup module 102, driven by the table lookup instruction sequence, the table lookup module 102 extracts the current specific data segment from the register group module 101 according to the table lookup control word of the current table lookup instruction, and determines the current key value record group for comparison with the current specific data segment. Among them, the current specific data segment is the field corresponding to the protocol information such as the Ethernet type, the message type field in the eCPRI, the C-plane message type, and the IQ address start offset in the packet header of the network message data.

[0078] The table lookup module 102 further performs matching comparisons on the current specific data segment and the comparison values ​​of all the multiple key value records in the current key value record group. If the match is successful, that is, the comparison value of the current specific data segment is the same as that of at least one key value record, then at least one candidate result value is determined based on at least one result value corresponding to the comparison value of the at least one key value record, and the target result value is determined from the at least one candidate result value.

[0079] Among them, the matching method between the current specific data segment and the comparison value of any key value record includes but is not limited to equal to, not equal to, greater than, greater than or equal to, less than, less than or equal to, etc., and the present invention does not impose any limitation on this.

[0080] In the process of simultaneously matching the current specific data segment with the comparison values ​​of a specific number of key-value records in the current key-value record group, on the one hand, the current specific data segment may not match any key-value records in the current key-value record group, that is, the match is unsuccessful, and the simultaneous matching result obtained at this time will not determine the candidate result value. On the other hand, the current specific data segment may match the comparison values ​​of more than one key-value record in the current key-value record group, and the candidate result value obtained at this time is correspondingly more than one.

[0081] If the match is unsuccessful, the current table lookup instruction will be updated, and the next table lookup instruction of the current table lookup instruction in the table lookup instruction sequence will be used as the new current table lookup instruction, and the process will return to the table lookup control word of the current table lookup instruction, determine the current key value record group and the current specific data segment extracted from the register group module, and simultaneously match the current specific data segment with the comparison values ​​of a specific number of key value records in the current key value record group, until at least one candidate result value is determined, and the target result value is determined from the at least one candidate result value.

[0082] It is understandable that after the current table lookup instruction is updated, at least one of the current specific data segment and the current key value record group will change.

[0083] After the table lookup module 102 determines the target result value, the protocol information of the message data can be determined according to the target result value.

[0084] At the same time, the table lookup module 102 sends a program count change request to the program control module 103 for managing program counts, so that the program control module 103 arbitrates the program count change request and determines the next execution instruction.

[0085] After the program control module 103 determines the next execution instruction, it will extract the next execution instruction from the instruction storage module 104 and hand it over to the decoder module 105 for decoding, and distribute the decoding result to the corresponding module (such as the operation module, block movement module, data recovery module, etc.) of the base station front transmission message table lookup dedicated processor, thereby driving these modules to work.

[0086] When traditional general-purpose processors use comparison instructions to determine the protocol information of message data, they need an instruction to compare a single field of message data with each key value, resulting in huge clock overhead and instruction overhead. When faced with high-throughput message data, general-purpose processors are slow in determining the protocol information of these message data, increasing the processing cost of high-throughput message data.

[0087] In contrast, with the table lookup module, only one instruction is needed to complete arbitration within one clock. If a key-value record group includes 8 key-value records, the hardware-based table lookup module can perform 8-way lookups at the same time; if a key-value record group includes 16 key-value records, it can perform 16-way lookups at the same time.

[0088] The dedicated table lookup processor for base station front-transmission messages provided by the present invention, by setting a table lookup module on hardware, is driven by a table lookup instruction sequence obtained by flexible programming based on a dedicated processing instruction set, and according to a table lookup control word in the table lookup instruction, the extracted current specific data segment is matched with multiple key value records in the current key value record group at the same time to determine the protocol information of the message data. In fact, the protocol information is determined by collaborative table lookup based on the ASIP and accelerator new architecture constructed in the processor, which can increase the number of key values ​​to be compared under the drive of each table lookup instruction, and realizes one-to-many synchronization between the message data and multiple comparison values ​​in the multiple key value records. The invention realizes fast matching at the same time, improves the rate of determining the protocol information of the message data in a way of low cost and shortening the matching time, improves the parsing performance of the message data from the link of determining the protocol information in a way of fast and simultaneous table lookup, and realizes a base station fronthaul interface table lookup dedicated processor which supports the eCPRI protocol, O-RAN protocol and similar protocols, can quickly determine the protocol information of the message data, and has the advantages of low cost, high rate and large throughput; by loading the message data by the register group module, the table lookup module can directly extract the current specific data segment from the register group module, optimizes the timing of the message data processing, and simplifies the programming difficulty of the table lookup instruction sequence.

[0089] Based on the above embodiment, as an optional embodiment, the table lookup control word includes a register number control word, a bit address control word, a bit quantity control word and a key value record group control word;

[0090] The step of determining the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction includes:

[0091] Determining a target register from the register group module according to the register number control word;

[0092] Determining a target bit address range according to the bit address control word and the bit quantity control word;

[0093] Extracting the message data in the target bit address range from the target register as the current specific data segment;

[0094] Based on the key-value record group control word, the current key-value record group is determined.

[0095] Specifically, the table lookup control word of each current table lookup instruction includes a register number control word rs1, a bit address control word d, a bit quantity control word e and a key value record group control word cond.

[0096] When the table lookup module determines the current specific data segment and the current key value record group, on the one hand, it first determines the target register storing the specific data segment from the register group module according to the register number control word rs1, and then determines the target bit address range according to the bit address control word d and the bit quantity control word e, and then extracts the message data in the target bit address range from the target register as the current specific data segment.

[0097] On the other hand, the table lookup module determines the current key value record group based on the key value record group control word cond. It can be understood that when the table lookup module stores more than two key value record groups, each key value record group corresponds to a different key value record group control word.

[0098] The above process can be expressed as a fast table lookup instruction "Case rs1[d,e],cond" in code form, where "Case" means fast table lookup, and "rs1", "d", "e", and "cond" are all table lookup control words. That is, starting from the d bit of the rs1 register in the register group module, the e bit is intercepted, and then matched with the comparison values ​​of all key value records in the cond-th key value record group. If the comparison is successful, the result value corresponding to the successful comparison value is determined as the candidate result value.

[0099] The dedicated table lookup processor for base station fronthaul messages provided by the present invention determines the specific data segment and key value record group for simultaneous comparison according to the control word, so as to use the specific data segment to perform simultaneous comparison with the comparison values ​​of multiple key value records in the key value record group respectively, and fixes the one-to-many fast table lookup method based on the table lookup module. When determining the protocol information of the message data, it is only necessary to drive the table lookup module using the control word of each table lookup instruction, so that the table lookup module can be started as a new task, and the fast determination of the protocol information of the message data is realized with the help of hardware. When the dedicated table lookup processor for base station fronthaul messages is integrated with other processing units, the execution logic of other processing units is not affected.

[0100] Figure 3 It is a structural diagram of the table lookup module provided by the present invention. Figure 3 As shown, the table lookup module includes but is not limited to a key-value table module 301 , a result table module 302 , a matcher 303 and an arbitrator 304 .

[0101] The key-value table module 301 is used to store a plurality of key-value record groups.

[0102] The matcher 303 is used to determine the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction.

[0103] The matcher 303 is further configured to simultaneously match the current specific data segment with the comparison values ​​of a specific number of key-value records in the current key-value record group to obtain at least one candidate result value.

[0104] The arbitrator 304 is used to arbitrate the at least one candidate result value matched by the matcher 303 under several current table lookup instructions to determine a target result value.

[0105] The result table module 302 is used to store the at least one candidate result value.

[0106] Specifically, the key value table module 301 of the table lookup module pre-stores a number of key value record groups, each key value record group includes a specific number of key value records, and each key value record includes a one-to-one corresponding comparison value and result value.

[0107] When determining the protocol information of the message data, the matcher 303 determines the current key value record group based on the table lookup control word of the current table lookup instruction, that is, based on the key value record group control word, and the current specific data segment extracted from the register group module based on the register number control word, the bit address control word, and the bit quantity control word.

[0108] The matcher 303 matches the current specific data segment with the comparison values ​​of a specific number of key value records in the current key value record group at the same time, and stores at least one result value corresponding to the successfully matched comparison value as a candidate result value in the result table module 302, and the arbitrator 304 determines a target result value from at least one candidate result value stored in the result table module 302.

[0109] Optionally, the table lookup module 102 can be used as a hardware case instruction, and can also be used in multiple lookup situations such as Ethernet type matching, and replace the hardware hash table to be used as a routing lookup table.

[0110] The dedicated table lookup processor for base station front-end transmission messages provided by the present invention uses a hardware-fixed one-to-many fast table lookup method based on a table lookup module composed of a key-value table module, a matcher, a result table module and an arbiter. When determining the protocol information of message data, it is only necessary to use the control word of each table lookup instruction to drive the table lookup module, so that the table lookup module can be started as a new task, and the fast determination of the protocol information of the message data is achieved with the help of hardware. When the dedicated table lookup processor for base station front-end transmission messages is integrated with other processing units, the execution logic of other processing units is not affected. At the same time, by using a matcher to extract the current specific data segment from the register group module according to the table lookup control word and determine the current key-value record group, and compare the two, one table lookup instruction can simultaneously complete the work of intercepting data and one-to-many table lookup, and when facing high-throughput message data processing, the data processing rate can be significantly improved.

[0111] Based on the above embodiments, as an optional embodiment, the key value record group stored in the key value table module is written when the power is first turned on and / or loaded during the table lookup process; the candidate result values ​​stored in the result table module are written when the power is first turned on and / or loaded during the table lookup process.

[0112] Based on the above embodiment, as an optional embodiment, the key-value table module is implemented based on a multi-port static random access memory (SRAM) or a register stack; and / or the result table module is implemented based on the SRAM or the register stack.

[0113] Based on the above embodiment, as an optional embodiment, it further includes: a fast channel processing module and a slow channel processing module;

[0114] The fast channel processing module is used to perform accelerated parsing processing on the message data to obtain payload data in the message data when determining that the message data is a data packet or a control packet based on the protocol information;

[0115] The slow channel processing module is used to not perform accelerated parsing processing on the message data when it is determined that the message data is a management packet based on the protocol information.

[0116] The dedicated processor for table lookup of base station fronthaul messages provided by the present invention distinguishes data packets, control packets and management packets through programming, and accelerates the unpacking and parsing of data packets and control packets to extract payload data; management packets are handled by the upper-layer software protocol stack, which can give full play to the performance of the dedicated processor for table lookup of base station fronthaul messages, reduce the processing pressure of the main processor, and reduce the programming difficulty when the processing of the protocol stack is very large.

[0117] Figure 4 This is a second structural diagram of a dedicated processor for looking up a table of a base station front transmission message provided by the present invention, such as Figure 4 As shown, the base station forward transmission message table lookup dedicated processor also includes: a calculation module 401, a block moving module 402, a data recovery module 403 and a cache 404;

[0118] The operation module 401 is used to process the message data driven by the parsing instruction sequence when it is determined that the message data is a U-plane message based on the protocol information, and generate a block move control word and a data recovery control word based on the message processing result.

[0119] The block transfer module 402 is used to transfer the message data from the register group module 101 based on the block transfer control word, and write the message data into the cache 404 .

[0120] The data recovery module 403 is used to load the message data from the cache 404 based on the data recovery control word, recover the data bit width and size of the message data, and send the recovered message data until the sending of one message data is completed.

[0121] The parsing instruction sequence is composed of a number of special processing instructions in a special processing instruction set, and the parsing instruction is a type of execution instruction.

[0122] When processing the message data parsing task, it is necessary to pre-program the various protocols used by the message data, and then obtain a parsing instruction sequence consisting of several parsing instructions to drive each module of the base station front-transmission message table lookup dedicated processor to process the message data. When processing message data based on the base station front-transmission message table lookup dedicated processor, the parsing instruction sequence will be composed of several special processing instructions in the pre-set special processing instruction set.

[0123] The number of special processing instructions involved in the parsing instruction sequence and the number of times they are reused are determined according to the specific message data parsing task, and the present invention does not impose any limitation on this.

[0124] The block transfer control word is a control word for controlling the block transfer module 402 to transfer message data.

[0125] The data recovery control word is a control word for controlling the data recovery module 403 to transport message data.

[0126] Specifically, after the base station front-transmission message table lookup dedicated processor starts working, driven by instructions, the operation module 401 polls the start signal (Start Of Packet, SOP) of the data packet written into the register group module 101. After responding to the SOP signal, the operation module 401 starts loading the message data through the register group module 101.

[0127] In the process of loading message data, the table lookup module 102, driven by the table lookup instruction sequence, repeatedly executes the table lookup control word of the current table lookup instruction, determines the current key value record group, extracts the current specific data segment from the register group module 101, and performs simultaneous matching steps according to the current specific data segment and the comparison values ​​of a specific number of key value records in the current key value record group, until at least one candidate result value is matched, and determines the target result value based on at least one candidate result value.

[0128] The operation module 401 further determines which message type the message data belongs to, such as a forward transmission message, a U-plane message, a C-plane message, etc., based on the protocol information determined according to the target result value.

[0129] When it is determined that the currently parsed message data belongs to the U-plane message, the operation module 401, driven by the parsing instruction sequence, processes the message data for the U-plane message, continuously reads and parses the U-plane header in the message data from the register group module 101, calculates the payload address, payload length and other information in the message data, obtains the message processing result based on the calculated information, and further generates the block move control word and the data recovery control word based on the information in the message processing result.

[0130] Furthermore, the block moving module 402 is configured according to the generated block moving control word, so that the block moving module 402 continuously moves the payload in the message data from the register group module 101 according to the block moving control word, and writes the payload in the message data into the cache 404 .

[0131] Wait for the scheduled sending signal. After receiving the scheduled sending signal and responding, configure the data recovery module 403 according to the previously generated data recovery control word. The data recovery module 403 loads the payload of the written message data from the cache 404 according to the data recovery control word, restores the payload in the message data to the original data bit width and size, and sends the recovered message data until the sending of a message data is finally completed, thereby completing the parsing of the currently processed message data.

[0132] Further, after completing the parsing of the currently processed message data, continue to poll the SOP signal of the received data packet, receive the next SOP signal and respond, and start from the step of loading the next message data through the register group module 101 from the operation module 401 to parse the next message data.

[0133] The dedicated table lookup processor for forward transmission messages of base stations provided by the present invention can improve the speed of message data parsing by integrating other modules required for message data parsing in the dedicated table lookup processor and using the table lookup module to accelerate the determination of protocol information of message data and then determine the message type; in addition, the operation module processes the message data under the drive of the parsing instruction sequence obtained by flexible programming based on the dedicated processing instruction set, and generates control words for realizing block movement function and data recovery function, that is, the control words for realizing block movement function and data recovery function in the processor are configured by ASIP, and a new architecture for collaborative parsing of message data by ASIP and accelerator is constructed in the processor, which has low cost and can improve the rate of special functions such as block movement function and data recovery function in the process of message data parsing, thereby improving the processing speed of message data parsing and meeting the real-time requirements of message processing at the same time, realizing A high-speed, high-throughput processor for parsing message data at a base station fronthaul interface; by loading message data through a register group module, data input to the processor can directly participate in the operation of an operation module without first storing the message data in a cache and then extracting it from the cache by the operation module, thereby saving time for reading input message data, optimizing the timing of message data parsing and simplifying the programming difficulty of a parsing instruction sequence; by using a dedicated processing instruction set when pre-programming a parsing instruction sequence, the number of parsing instructions required to be programmed by an operator when parsing message data can be reduced, instruction overhead can be reduced and the message data parsing speed can be increased; by temporarily storing the processed message data in a cache when processing a U-plane message and sending it only after receiving a timing sending signal, the timing requirements of a 5G fronthaul interface and a wireless system are realized through a cache and an external control signal, while network jitter is eliminated.

[0134] Based on the above embodiment, as an optional embodiment, combined with Figure 4 As shown, the base station front-transmission message table lookup dedicated processor further includes: a verification module 405.

[0135] The check module 405 includes a checksum module and a cyclic redundancy check module.

[0136] The checksum module is used to complete the checksum calculation of the message data.

[0137] The cyclic redundancy check module is used to complete the check calculation of the cyclic redundancy check sequence (Cyclic Redundancy Check, CRC) of the message data.

[0138] When parsing the message data, the check module is responsible for the CRC check and checksum check calculation, so it includes the checksum module and the cyclic redundancy check module. The check module 405 is configured and started under the drive of the instruction, and does not affect the work of the dedicated processor for the base station forward transmission message table lookup.

[0139] The parsing instruction for starting the checksum includes a register number rs1, which is used to obtain the checksum from the register corresponding to the register number rs1.

[0140] The parsing instruction for ending the checksum verification includes the register number rs1 and the cache address rd, and is used to drive the checksum module to stop obtaining the checksum from the register corresponding to the register number rs1, and write the result of the checksum calculation to the cache address rd.

[0141] The parsing instruction for starting the CRC check includes the register number rs1 and the bit width width, which is used to configure the bit width of CRC to be width, and the CRC data is obtained from the register corresponding to the register number rs1.

[0142] The parsing instruction for ending the CRC check includes the register number rs1 and the cache address rd, and is used to drive the cyclic redundancy check module to stop obtaining CRC data from the register corresponding to the register number rs1, and write the result of the check calculation to the cache address rd.

[0143] The base station front-transmission message table lookup dedicated processor provided by the present invention sets a verification module based on ASIC to accelerate the IP layer and the link layer. The verification module is configured, started and works according to instructions without affecting the normal operation of other modules of the processor.

[0144] Based on the above embodiment, as an optional embodiment, the register group module is mapped with a data input interface and a data output interface, the data input interface and the data output interface are externally connected to an Ethernet switch, and the register group module and the Ethernet switch complete data writing based on a hardware handshake.

[0145] Optionally, the register group module and the Ethernet switch complete data writing based on a handshake method of hardware Semaphone.

[0146] Specifically, after responding to the SOP signal, the register group module directly loads the message data from the external Ethernet switch through the mapped data input interface and data output interface, and the operation module extracts the message data from the register group for processing.

[0147] The dedicated processor for table lookup of base station front-transmission messages provided by the present invention maps the data interface and the control interface to a general register group and uses a hardware handshake to complete data writing, thereby omitting the step of temporarily storing the message data in a cache in the traditional way, so that the data input to the processor can directly participate in the calculation, saving the time for reading the message data, optimizing the timing of parsing the message data and simplifying the programming difficulty of parsing the instruction sequence.

[0148] Figure 5 is a flow chart of a method for determining message protocol information based on a dedicated processor for looking up a table of a base station front-transmission message provided by the present invention, such as Figure 5 As shown, the method for determining message protocol information based on the base station front-transmission message table lookup dedicated processor includes but is not limited to steps 501 to 504.

[0149] Step 501: Control the register group module to load message data.

[0150] The register group module includes a plurality of registers.

[0151] Step 502: Control the table lookup module to repeatedly execute the steps of determining the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction under the drive of the table lookup instruction sequence, and simultaneously matching the current specific data segment with the comparison values ​​of a specific number of key value records in the current key value record group, until at least one candidate result value is matched, and determining the target result value based on the at least one candidate result value.

[0152] The table lookup module stores a number of key value record groups, each key value record group includes a specific number of key value records, each key value record includes a one-to-one corresponding comparison value and result value; the target result value is used to identify the protocol information of the message data.

[0153] Step 503: The control program control module manages the program count and arbitrates the program count change request sent by the table lookup module after determining the target result value, so as to determine the next execution instruction.

[0154] Step 504: Control the decoder module to decode the next execution instruction, and distribute the decoding result to the corresponding module of the base station front transmission message table lookup dedicated processor to drive the corresponding module to work.

[0155] It should be noted that the message protocol information determination method provided by the present invention can be based on the base station fronthaul message table lookup dedicated processor described in any of the above embodiments during specific execution, which will not be described in detail in this embodiment.

[0156] The method for determining message protocol information based on a dedicated processor for table lookup of a base station front transmission message provided by the present invention, by setting a table lookup module on hardware, the table lookup module is driven by a table lookup instruction sequence obtained by flexible programming based on a dedicated processing instruction set, and according to a table lookup control word in the table lookup instruction, the extracted current specific data segment is matched with multiple key value records in the current key value record group at the same time to determine the protocol information of the message data. In fact, the method is based on the ASIP and ASIC new architecture constructed in the processor to perform collaborative table lookup to determine the protocol information, which can increase the number of key values ​​to be compared under the drive of each table lookup instruction, and realizes the comparison of message data with multiple comparison values ​​in multiple key value records. The one-to-many simultaneous fast matching between them improves the rate of determining the protocol information of the message data in a way that is low-cost and shortens the matching time, and improves the message data parsing performance from the link of determining the protocol information in a way of fast and simultaneous table lookup, thereby realizing a base station fronthaul interface table lookup dedicated processor that supports the eCPRI protocol, O-RAN protocol and similar protocols, and can quickly determine the protocol information of the message data, with the advantages of low cost, high rate and large throughput. By loading the message data through the register group module, the table lookup module can directly extract the current specific data segment from the register group module, which optimizes the timing of message data processing and simplifies the programming difficulty of the table lookup instruction sequence.

[0157] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0158] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0159] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A dedicated processor for looking up a table of front-end messages of a base station, characterized in that: include: A register group module composed of multiple registers, a table lookup module, a program control module, an instruction storage module and a decoder module; The table lookup module stores a plurality of key value record groups, each key value record group includes a specific number of key value records, and each key value record includes a one-to-one corresponding comparison value and result value; The register group module is used to load message data; The table lookup module is used to repeatedly execute the steps of determining the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction under the drive of the table lookup instruction sequence, and simultaneously matching the current specific data segment with the comparison values ​​of a specific number of key value records in the current key value record group respectively, until at least one candidate result value is matched, and determining a target result value based on the at least one candidate result value; the target result value is used to identify the protocol information of the message data; The program control module is used to manage the program count and arbitrate the program count change request sent by the table lookup module after determining the target result value to determine the next execution instruction; The instruction storage module is used to store the table lookup instruction sequence and the next execution instruction; The decoder module is used to decode the next execution instruction and distribute the decoding result to the corresponding module of the base station front transmission message table lookup dedicated processor to drive the corresponding module to work; The table lookup control word includes a register number control word, a bit address control word, a bit quantity control word and a key value record group control word; the method of determining the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction includes: According to the register number control word, determine the target register from the register group module; according to the bit address control word and the bit quantity control word, determine the target bit address range; extract the message data of the target bit address range from the target register as the current specific data segment; based on the key value record group control word, determine the current key value record group.

2. The base station front-haul message table lookup dedicated processor according to claim 1, characterized in that: The table lookup module includes a key-value table module, a result table module, a matcher and an arbitrator; The key-value table module is used to store the plurality of key-value record groups; The matcher is used to determine the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction; The matcher is further used to simultaneously match the current specific data segment with comparison values ​​of a specific number of key value records in the current key value record group to obtain at least one candidate result value; The arbitrator is used to arbitrate the at least one candidate result value matched by the matcher to determine the target result value; The result table module is used to store the at least one candidate result value.

3. The base station front-haul message table lookup dedicated processor according to claim 2, characterized in that: The key value record group stored in the key value table module is written when the power is first turned on and / or loaded during the table lookup process; the candidate result values ​​stored in the result table module are written when the power is first turned on and / or loaded during the table lookup process.

4. The base station front-haul message table lookup dedicated processor according to claim 2, characterized in that: The key-value table module is implemented based on a multi-port static random access memory or a register file; And / or, the result table module is implemented based on a multi-port static random access memory or a register file.

5. The base station front-haul message table lookup dedicated processor according to claim 1, characterized in that: Also includes: A fast channel processing module and a slow channel processing module; The fast channel processing module is used to perform accelerated parsing processing on the message data to obtain payload data in the message data when determining that the message data is a data packet or a control packet based on the protocol information; The slow channel processing module is used to not perform accelerated parsing processing on the message data when it is determined that the message data is a management packet based on the protocol information.

6. The base station front-haul message table lookup dedicated processor according to claim 1, characterized in that: Also includes: Operation module, block movement module, data recovery module and cache; The operation module is used for processing the message data driven by the parsing instruction sequence when it is determined that the message data is a U-plane message based on the protocol information, and generating a block move control word and a data recovery control word based on the message processing result; The block moving module is used to move the message data from the register group module based on the block moving control word, and write the message data into the cache; The data recovery module is used to load the message data from the cache based on the data recovery control word, restore the data bit width and size of the message data, and send the recovered message data until the sending of one message data is completed.

7. The base station front-haul message table lookup dedicated processor according to claim 1, characterized in that: Also includes: Verification module; The verification module includes a checksum module and a cyclic redundancy check module; The checksum module is used to complete the checksum calculation of the message data; The cyclic redundancy check module is used to complete the verification calculation of the cyclic redundancy check sequence of the message data.

8. The base station front-haul message table lookup dedicated processor according to claim 1, characterized in that: The register group module is mapped with a data input interface and a data output interface, the data input interface and the data output interface are externally connected to an Ethernet switch, and the register group module and the Ethernet switch complete data writing based on a hardware handshake method.

9. A method for determining message protocol information based on the dedicated processor for looking up a table of forwarding messages of a base station according to any one of claims 1 to 8, characterized in that: include: Control register group module to load message data; The register group module includes a plurality of registers; The control table lookup module is driven by the table lookup instruction sequence, and repeatedly executes the steps of determining the current key value record group and the current specific data segment extracted from the register group module according to the table lookup control word of the current table lookup instruction, and simultaneously matching the current specific data segment with the comparison values ​​of a specific number of key value records in the current key value record group, until at least one candidate result value is matched, and determining the target result value based on the at least one candidate result value; the table lookup module stores a plurality of key value record groups, each key value record group includes a specific number of key value records, and each key value record includes a one-to-one corresponding comparison value and result value; the target result value is used to identify the protocol information of the message data; The control program control module manages the program count and arbitrates the program count change request sent by the table lookup module after determining the target result value to determine the next execution instruction; The control decoder module decodes the next execution instruction and distributes the decoding result to the corresponding module of the base station front transmission message table lookup dedicated processor to drive the corresponding module to work.

Citation Information

Patent Citations

  • 5G protocol message processor architecture and 5G protocol message processing method

    CN110417812A

  • Message analysis method and device, electronic equipment and storage medium

    CN115883681A