Analysis methods, apparatus, equipment, chips and media
By determining the offset positions of each sublayer of the data link layer in the communication system, parallel processing and prefetching of the protocol header are achieved, solving the problem of high MIPS resource requirements in the prior art and improving the protocol header parsing efficiency and throughput.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING X RING TECHNOLOGY CO LTD
- Filing Date
- 2025-08-22
- Publication Date
- 2026-05-26
Smart Images

Figure CN120812155B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, and in particular to a parsing method, apparatus, device, chip, and medium. Background Technology
[0002] In communication, hardening the downlink data of the protocol stack can reduce the software's demand for Million Instructions Per Second (MIPS) for protocol header parsing and protocol processing, freeing up considerable MIPS resources and improving the throughput of the downlink data link. Summary of the Invention
[0003] This disclosure aims to at least partially address one of the technical problems in the related art.
[0004] Therefore, this disclosure proposes a parsing method, apparatus, communication device, chip, computer-readable storage medium, and computer program product that can save the MIPS resources required for parsing processing and improve parsing efficiency and effectiveness.
[0005] The first aspect of this disclosure provides a parsing method, comprising: determining a first offset position corresponding to a sublayer of the data link layer, wherein the first offset position is used to represent the offset position of a first protocol header in a first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to a second protocol header, and the second protocol header is the protocol header of the data link layer; and determining information of the first protocol header based on the first offset position and the first bitstream.
[0006] A second aspect of this disclosure provides a parsing apparatus, comprising: a first determining module, configured to determine a first offset position corresponding to a sublayer of the data link layer, wherein the first offset position represents the offset position of a first protocol header in a first bitstream, the first protocol header being the protocol header of a sublayer, the first bitstream being the bitstream corresponding to a second protocol header, and the second protocol header being the protocol header of the data link layer; and a second determining module, configured to determine information of the first protocol header based on the first offset position and the first bitstream.
[0007] A third aspect of this disclosure provides a communication device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the parsing method proposed in the above-described aspects of this disclosure.
[0008] A fourth aspect of this disclosure provides a chip including a processing circuit and an interface circuit; wherein the interface circuit is used to read instructions and send the instructions to the processing circuit so that the processing circuit executes the parsing method as proposed in the first aspect of this disclosure.
[0009] The fifth aspect of this disclosure provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the parsing method described above.
[0010] The parsing method, apparatus, communication equipment, chip, computer-readable storage medium, and computer program product provided in this disclosure determine a first offset position corresponding to a sublayer of the data link layer. This first offset position represents the offset position of a first protocol header within a first bitstream. The first protocol header is the protocol header of a sublayer, the first bitstream is the bitstream corresponding to a second protocol header, and the second protocol header is the protocol header of the data link layer. Based on the first offset position and the first bitstream, information about the first protocol header is determined. Since the first offset positions of each sublayer of the data link layer are obtained in advance, and the offset position of the first protocol header of the sublayer within the L2 protocol header bitstream is determined, it effectively supports subsequent pre-fetching of the sublayer protocol header bitstream. This enables parallel processing of parsing and copying the protocol header bitstream, thereby significantly saving MIPS resources required for parsing and improving parsing efficiency and effectiveness.
[0011] Additional aspects and advantages of this disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this disclosure. Attached Figure Description
[0012] The above and / or additional aspects and advantages of this disclosure will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, in which:
[0013] Figure 1A This is a schematic diagram of the architecture of a communication system according to an embodiment of the present disclosure;
[0014] Figure 1B This is a schematic diagram of TB distribution in the NR system according to an embodiment of this disclosure;
[0015] Figure 1C This is a schematic diagram of TB distribution in an LTE system according to an embodiment of this disclosure;
[0016] Figure 2 This is a flowchart illustrating an analysis method provided in an embodiment of the present disclosure;
[0017] Figure 3 This is a flowchart illustrating another parsing method provided in an embodiment of the present disclosure;
[0018] Figure 4 This is a schematic diagram of the parsing process in an embodiment of this disclosure;
[0019] Figure 5 This is a schematic diagram of the structure of an analytical apparatus provided in an embodiment of the present disclosure;
[0020] Figure 6 A block diagram of an exemplary communication device suitable for implementing embodiments of the present disclosure is shown;
[0021] Figure 7 This is a schematic diagram of the structure of a chip according to an embodiment of this disclosure;
[0022] Figure 8 This is a schematic diagram of another chip structure proposed in an embodiment of this disclosure. Detailed Implementation
[0023] Embodiments of this disclosure are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.
[0024] In the embodiments of this disclosure, the communication device may be, for example, a terminal, a network device, or a chip, and there is no limitation thereto.
[0025] Figure 1A This is a schematic diagram of the architecture of a communication system according to embodiments of this disclosure. Figure 1A As shown, the communication system 100 may include a terminal 101 and a network device 102. The network device 102 may include at least one of an access network device and a core network device.
[0026] In some embodiments, terminal 101 includes, for example, at least one of the following: mobile phone, wearable device, Internet of Things device, car with communication function, smart car, tablet computer, computer with wireless transceiver function, virtual reality (VR) terminal, augmented reality (AR) terminal, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, and wireless terminal in smart home, but is not limited thereto.
[0027] In some embodiments, the access network device is, for example, a node or device that connects a terminal to a wireless network. The access network device may include, but is not limited to, at least one of the following in a 5G communication system: evolved Node B (eNB), next-generation eNB (ng-eNB), next-generation Node B (gNB), node B (NB), home node B (HNB), home evolved node B (HeNB), wireless backhaul device, radio network controller (RNC), base station controller (BSC), base transceiver station (BTS), base band unit (BBU), mobile switching center, base station in a 6G communication system, open RAN, cloud RAN, base station in other communication systems, and access node in a WiFi system.
[0028] In some embodiments, the technical solutions of this disclosure can be applied to the Open RAN architecture. In this case, the interfaces between or within access network devices involved in the embodiments of this disclosure can be transformed into internal interfaces of Open RAN. The processes and information interactions between these internal interfaces can be implemented by software or programs.
[0029] In some embodiments, the access network device may be composed of a central unit (CU) and a distributed unit (DU). The CU may also be called a control unit. The CU-DU structure can separate the protocol layer of the access network device. Some of the protocol layer functions are centrally controlled by the CU, while the remaining part or all of the protocol layer functions are distributed in the DU and centrally controlled by the CU. However, this is not the only possibility.
[0030] In some embodiments, a core network device may be a single device comprising one or more network elements, or it may be multiple devices or a group of devices, each comprising all or part of one or more network elements. Network elements may be virtual or physical. The core network may include, for example, at least one of an Evolved Packet Core (EPC), a 5G Core Network (5GCN), or a Next Generation Core (NGC).
[0031] It is understood that the communication system described in this disclosure is for the purpose of more clearly illustrating the technical solutions of this disclosure, and does not constitute a limitation on the technical solutions proposed in this disclosure. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions proposed in this disclosure are also applicable to similar technical problems.
[0032] The following embodiments of this disclosure can be applied to Figure 1A The communication system 100 shown, or a part thereof, but not limited to it. Figure 1A The entities shown are illustrative; a communication system may include... Figure 1A All or part of the main body, or may include Figure 1A Other entities besides the main body, the number and form of each entity are arbitrary, the connection relationship between the entities is illustrative, the entities may not be connected or may be connected, and the connection can be in any way, it can be a direct connection or an indirect connection, it can be a wired connection or a wireless connection.
[0033] The embodiments disclosed herein can be applied to Long Term Evolution (LTE), LTE-Advanced (LTE-A), LTE-Beyond (LTE-B), SUPER 3G, IMT-Advanced, 4th generation mobile communication system (4G), 5th generation mobile communication system (5G), 5G new radio (NR), 6th generation mobile communication system (6G), Future Radio Access (FRA), New-Radio Access Technology (RAT), New Radio (NR), New Radio Access (NX), Future generation radio access (FX), Global System for Mobile communications (GSM), CDMA2000, Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), and IEEE 802.20, Ultra-Wideband (UWB), Bluetooth (a registered trademark), Public Land Mobile Network (PLMN) networks, Device-to-Device (D2D) systems, Machine-to-Machine (M2M) systems, Internet of Things (IoT) systems, Vehicle-to-Everything (V2X) systems, systems utilizing other resolution methods, and next-generation systems built upon them, etc. Furthermore, multiple systems can be combined (e.g., a combination of LTE or LTE-A with 5G).
[0034] In communication, hardening the downlink data of the protocol stack can reduce the software's demand for Million Instructions Per Second (MIPS) for protocol header parsing and protocol processing, freeing up considerable MIPS resources and improving the throughput of the downlink data link.
[0035] like Figure 1B As shown, Figure 1B This is a schematic diagram of the TB distribution in the NR system according to an embodiment of this disclosure. In the NR system, a Transport Block (TB) can contain several Medium Access Control Sub Protocol Data Units (MAC subPDUs). Each MAC subPDU includes: an L2 header, a MAC header, a Radio Link Control (RLC) header, a Packet Data Convergence Protocol (PDCP) header, a Service Data Adaptation Protocol (SDAP) header, a Service Data Unit (SDAPSDU) of the Service Data Adaptation Protocol, and a PDCP SDU. Each MAC subPDU occupies an independent contiguous memory space on the TB, and all headers are distributed in the initial contiguous memory of the MAC subPDU. The bitstream of all headers for each MAC subPDU can be obtained at once, allowing for independent parsing of the headers of a single MAC subPDU.
[0036] like Figure 1C As shown, Figure 1CThis is a schematic diagram of the TB distribution in an LTE system according to an embodiment of this disclosure. In an LTE system, a MAC subPDU includes: a MAC protocol header, an RLC protocol header group, and a PDCP Packet Data Unit (PDCP PDU) group. The RLC protocol header group includes: an RLC protocol header (e.g., RLC header com, RLC header L; for detailed explanation, please refer to subsequent embodiments). The PDCP PDU group includes: a PDCP protocol header and a PDCP SDU. MAC subPDUs are concatenated and discretely distributed on the TB, requiring concatenation based on discrete memory addresses to obtain the overall protocol header bitstream. Therefore, it is necessary to design a protocol header parsing method compatible with various communication systems, saving the MIPS resources required for parsing processing, and improving parsing efficiency and effectiveness.
[0037] Optionally, the protocol header can also be called header, header information, header, etc., without restriction.
[0038] The following description, with reference to the accompanying drawings, describes the analytical methods, apparatus, communication devices, communication systems, chips, and storage media according to embodiments of the present disclosure.
[0039] Figure 2 This is a flowchart illustrating an analysis method provided in an embodiment of the present disclosure.
[0040] The parsing method provided in this embodiment can be applied to a terminal, network device, or chip. Optionally, the executing entity of the parsing method in this embodiment can be, for example, a terminal, network device, or chip. The chip can be deployed in a terminal or network device, or it can be deployed in any other possible device, without limitation.
[0041] like Figure 2 As shown, this parsing method includes:
[0042] Step S201: Determine the first offset position corresponding to the sublayer of the data link layer, wherein the first offset position is used to represent the offset position of the first protocol header in the first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to the second protocol header, and the second protocol header is the protocol header of the data link layer.
[0043] The data link layer (Layer 2, L2) is responsible for ensuring reliable data transmission between adjacent nodes above the physical layer. It constructs logical communication links through functions such as frame encapsulation, MAC addressing, and error control. The data link layer contains sublayers, such as the MAC layer, Radio Link Control (RLC) layer, and Packet Data Convergence Protocol (PDCP) layer.
[0044] The first protocol header mentioned above is the sublayer protocol header. The first protocol header can also be referred to as the sublayer protocol header. The first protocol header includes, for example, the MAC header, RLC header, and PDCP header. The RLC header can further contain two finer-grained protocol headers: RLC header com and RLC header L. RLC header com can represent the offset field in the RLC layer header used for processing segmentation and concatenation. RLC header L is a key field in the RLC header, used to indicate the data length of the payload (RLC Service Data Unit (RLCSDU)) in the current Radio Link Control Protocol Data Unit (RLC PDU).
[0045] The second protocol header mentioned above is the data link layer protocol header. For example, the L2 protocol header.
[0046] The first bitstream is the bitstream corresponding to the second protocol header. The first bitstream refers to the structured data stream formed by combining the second protocol header, which is used to control data transmission, with the payload. The first bitstream can also be called the "L2 protocol header bitstream".
[0047] Among them, the "first offset position corresponding to the sublayer of the data link layer" mentioned above, the first offset position is used to describe the offset of the first protocol header of the corresponding sublayer in the first bit stream.
[0048] For example, in this embodiment of the disclosure, the offset of each sublayer protocol header in the L2 protocol header stream can be found (e.g., described by a first offset position corresponding to the sublayer): this is achieved through a mechanism of fixed offsets of each sublayer in the L2 protocol header stream (i.e., the maximum value of each sublayer protocol header). Specifically, the offset of the MAC header in the L2 protocol header stream is 0; the maximum length of the MAC header is 3 bytes; the offset of the RLC header com in the L2 protocol header stream is 3 bytes; the maximum length of the RLC header com is 5 bytes; the offset of the RLC header L in the L2 protocol header stream is 8 bytes; the maximum length of the RLC header L is 2 bytes; and the offset of the PDCP header in the L2 protocol header stream is 10 bytes.
[0049] In other words, in the embodiments of this disclosure, the first offset position corresponding to each sublayer of the data link layer can be predetermined, wherein the first offset position is used to represent the offset position of the first protocol header of the corresponding sublayer in the first bitstream, and then the information of the first protocol header of the sublayer is parsed based on the first offset position of the sublayer.
[0050] Step S202: Determine the information of the first protocol header based on the first offset position and the first bitstream.
[0051] The first protocol header corresponds to a sublayer. Each sublayer corresponds to at least one first protocol header. The information in the first protocol header is the specific content contained in the protocol header, such as key parameters such as protocol version, control fields, and address identifiers. There are no restrictions on this.
[0052] In this embodiment of the disclosure, the information of the first protocol header can be parsed based on the first offset position corresponding to each sublayer of the data link layer and the first bitstream. For example, a second bitstream can be prefetched. The second bitstream is the bitstream corresponding to the first protocol header. The second bitstream refers to the structured data stream formed by combining the first protocol header used to control data transmission with the payload. The second bitstream can also be called a "sublayer protocol header bitstream." The second bitstream is, for example, a MAC header bitstream, an RLC header bitstream, a PDCP header bitstream, etc. After prefetching the second bitstream, the information of the first protocol header can be parsed based on the first bitstream, the second bitstream, and the first offset position. For example, parsing can be performed based on a hardening processing method, or through a model, or through any chip that supports hardening acceleration processing (e.g., a hardening accelerator), etc., without limitation.
[0053] In this embodiment, by determining the first offset position corresponding to the sublayer of the data link layer, where the first offset position represents the offset position of the first protocol header in the first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to the second protocol header, and the second protocol header is the protocol header of the data link layer, the information of the first protocol header is determined based on the first offset position and the first bitstream. Since the first offset positions of each sublayer of the data link layer are obtained in advance, and the offset position of the first protocol header of the sublayer in the L2 protocol header bitstream is determined, it can effectively support subsequent pre-fetching of the sublayer protocol header bitstream, thereby enabling parallel processing of parsing the protocol header and copying the protocol header bitstream. This significantly saves the MIPS resources required for parsing processing and improves parsing efficiency and effectiveness.
[0054] Figure 3 This is a flowchart illustrating another parsing method provided in an embodiment of this disclosure.
[0055] The parsing method provided in this embodiment can be applied to a terminal, network device, or chip. Optionally, the executing entity of the parsing method in this embodiment can be, for example, a terminal, network device, or chip. The chip can be deployed in a terminal or network device, or it can be deployed in any other possible device, without limitation.
[0056] like Figure 3 As shown, this parsing method includes:
[0057] Step S301: Determine the first offset position corresponding to the sublayer of the data link layer, wherein the first offset position is used to represent the offset position of the first protocol header in the first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to the second protocol header, and the second protocol header is the protocol header of the data link layer.
[0058] The data link layer (Layer 2, L2) is responsible for ensuring reliable data transmission between adjacent nodes above the physical layer. It constructs logical communication links through functions such as frame encapsulation, MAC addressing, and error control. The data link layer contains sublayers, such as the MAC layer, Radio Link Control (RLC) layer, and Packet Data Convergence Protocol (PDCP) layer.
[0059] Optionally, the protocol header can also be called header, header information, header, etc., without restriction.
[0060] The first protocol header mentioned above is the sublayer protocol header. The first protocol header can also be referred to as the sublayer protocol header. The first protocol header includes, for example, the MAC header, RLC header, and PDCP header. The RLC header can further contain two finer-grained protocol headers: RLC header com and RLC header L. RLC header com can represent the offset field in the RLC layer header used for processing segmentation and concatenation. RLC header L is a key field in the RLC header, used to indicate the data length of the payload (RLC Service Data Unit (RLCSDU)) in the current Radio Link Control Protocol Data Unit (RLC PDU).
[0061] The second protocol header mentioned above is the data link layer protocol header. For example, the L2 protocol header.
[0062] The first bitstream is the bitstream corresponding to the second protocol header. The first bitstream refers to the structured data stream formed by combining the second protocol header, which is used to control data transmission, with the payload. The first bitstream can also be called the "L2 protocol header bitstream".
[0063] Among them, the "first offset position corresponding to the sublayer of the data link layer" mentioned above, the first offset position is used to describe the offset of the first protocol header of the corresponding sublayer in the first bit stream.
[0064] For example, in this embodiment of the disclosure, the offset of each sublayer protocol header in the L2 protocol header stream can be found (e.g., described by a first offset position corresponding to the sublayer): this is achieved through a mechanism of fixed offsets of each sublayer in the L2 protocol header stream (i.e., the maximum value of each sublayer protocol header). Specifically, the offset of the MAC header in the L2 protocol header stream is 0; the maximum length of the MAC header is 3 bytes; the offset of the RLC header com in the L2 protocol header stream is 3 bytes; the maximum length of the RLC header com is 5 bytes; the offset of the RLC header L in the L2 protocol header stream is 8 bytes; the maximum length of the RLC header L is 2 bytes; and the offset of the PDCP header in the L2 protocol header stream is 10 bytes.
[0065] In other words, in the embodiments of this disclosure, the first offset position corresponding to each sublayer of the data link layer can be predetermined, wherein the first offset position is used to represent the offset position of the first protocol header of the corresponding sublayer in the first bitstream, and then the information of the first protocol header of the sublayer is parsed based on the first offset position of the sublayer.
[0066] Step S302: Determine the second bitstream based on the transport block TB of the data link layer, wherein the second bitstream is the bitstream corresponding to the first protocol header.
[0067] Optionally, the second bitstream is the bitstream corresponding to the first protocol header. The second bitstream refers to the structured data stream formed by combining the first protocol header (used to control data transmission) with the payload. The second bitstream can also be called a "sublayer protocol header bitstream." Examples of second bitstreams include MAC header bitstreams, RLC header bitstreams, PDCP header bitstreams, etc. The RLC header bitstream can further include RLC header COM bitstreams and RLC header L bitstreams; there are no restrictions on this.
[0068] Optionally, the number of Data Link Layer (TB) mentioned above can be one or more. Each TB can be parsed to parse the protocol header information of each sublayer within that TB. A TB can contain several MAC PDUs, and a MAC PDU can contain several MAC subPDUs. The second stream can specifically be, for example, a structured data stream containing the first protocol header of the corresponding sublayer within the entire TB.
[0069] Optionally, in determining the second bitstream based on the transport block (TB) of the data link layer, a second offset position corresponding to the sublayer can be determined. This second offset position represents the offset position of the second bitstream within the TB of the data link layer, and the second bitstream is retrieved from the TB of the data link layer based on this second offset position. This enables rapid determination of the second bitstream corresponding to the first protocol header of the sublayer and supports improved accuracy and efficiency of subsequent prefetching of the second bitstream.
[0070] Optionally, a sublayer has a first protocol header, and the first protocol header has a corresponding second bitstream. Therefore, a sublayer has a corresponding second bitstream, and this sublayer also has a corresponding upper sublayer (e.g., the upper sublayer of the RLC layer is the MAC layer, and the upper sublayer of the PDCP layer is the RLC layer). Optionally, after obtaining the second bitstream corresponding to the upper sublayer, a second offset position corresponding to the sublayer can be determined based on the condition of the upper sublayer's second bitstream (e.g., the length of the second bitstream). The "second offset position corresponding to the sublayer" represents the offset position of the sublayer's second bitstream in the data link layer's TB. The second offset position can be used to obtain the second bitstream of the corresponding sublayer from the data link layer's TB.
[0071] Optionally, in determining the second offset position corresponding to the sublayer, if the sublayer is a Media Access Control (MAC) layer, the starting position in the Data Link Layer's TB (Transmission Block) can be determined as the second offset position corresponding to the MAC layer; if the sublayer is a Radio Link Control (RLC) layer, the second offset position corresponding to the RLC layer can be determined based on the length of the second bitstream of the MAC layer and the total length of at least one second bitstream of the RLC layer; if the sublayer is a Packet Data Convergence Protocol (PDCP) layer, the second offset position corresponding to the PDCP layer can be determined based on the length of the Service Data Unit (SDU) of the RLC layer. This significantly improves the accuracy of bitstream parsing and ensures that the obtained second bitstream has better integrity.
[0072] Step S303: Determine the information of the first protocol header based on the first offset position, the first bitstream, and the second bitstream.
[0073] Optionally, in determining the information of the first protocol header based on the first offset position, the first bitstream, and the second bitstream, the second bitstream can be inserted at the first offset position of the first bitstream to obtain a third bitstream, and the information of the first protocol header can be determined based on the third bitstream. That is, the second bitstream can be prefetched and copied to the first bitstream at the first offset position. The processed first bitstream can be referred to as the third bitstream, and then the information of the first protocol header can be obtained by parsing the third bitstream.
[0074] Optionally, in the process of determining the information of the first protocol header based on the third bitstream, the entity configuration parameters of the sublayer can be determined, and the third bitstream can be parsed according to the entity configuration parameters to obtain the information of the first protocol header. This can greatly improve the accuracy of parsing the information of the first protocol header.
[0075] For example, "sub-layer entity configuration parameters" can be: entity configuration parameters for the MAC layer, represented as mac_entity_cfg; entity configuration parameters for the RLC layer, represented as rlc_entity_cfg; entity configuration parameters for the PDCP layer, represented as pdcp_entity_cfg, etc. There are no restrictions on this.
[0076] In this embodiment, by determining the first offset position corresponding to the sublayer of the data link layer, where the first offset position represents the offset position of the first protocol header in the first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to the second protocol header, and the second protocol header is the protocol header of the data link layer, the information of the first protocol header is determined based on the first offset position and the first bitstream. Since the first offset positions of each sublayer of the data link layer are obtained in advance, and the offset position of the first protocol header of the sublayer in the L2 protocol header bitstream is determined, it can effectively support the subsequent prefetching of the sublayer protocol header bitstream, enabling parallel processing of parsing the protocol header and copying the protocol header bitstream, thereby significantly saving MIPS resources for parsing and improving parsing efficiency and effectiveness. By determining the second bitstream based on the transport block (TB) of the data link layer, where the second bitstream is the bitstream corresponding to the first protocol header, and based on the first offset position, the first bitstream, and the second bitstream, the information of the first protocol header is determined. Therefore, it is possible to quickly determine the second bitstream corresponding to the first protocol header of the sublayer and support improved accuracy and efficiency of subsequent prefetching of the second bitstream.
[0077] like Figure 4 As shown, Figure 4 This is a schematic diagram of the parsing process in an embodiment of this disclosure. The sub-layers include the MAC layer, RLC layer, and PDCP layer, and the first protocol header includes: MAC header, RLC header (specifically including RLCheader L and RLC header com), and PDCP header.
[0078] The first bitstream is, for example, the L2 protocol header bitstream. The second bitstream includes, for example, the MAC header bitstream, the RLC header bitstream (e.g., the RLC header L bitstream, the RLC header COM bitstream), and the PDCP header bitstream.
[0079] Includes the following steps:
[0080] Step 1: MAC header length parsing: Starting from the position where offset=0 of TB (an optional example of the second offset position corresponding to the MAC layer mentioned above), start parse the MAC header in a loop until all MAC headers are parsed, obtain total_mac_header_len (an optional example of the length of the second bitstream of the MAC layer mentioned above), update mac_header_tb_offset, and copy the current MAC header bitstream (an optional example of the second bitstream corresponding to the MAC layer mentioned above) to the position where offset 0 of the L2 protocol header bitstream is (the first optional example of the first offset position corresponding to the MAC layer mentioned above).
[0081] Step 2: MAC Header Parsing: After parsing the MAC header, you will obtain the following parameters: lcid, mac_header_len, mac_sdu_len, rlc_entity_cfg, and pdcp_entity_cfg. Here, lcid represents the Logical Channel Identifier; mac_header_len represents the length of the MAC header; mac_sdu_len represents the length of the Service Data Unit (SDU) in the MAC layer; rlc_entity_cfg represents the entity configuration parameters in the RLC layer; and pdcp_entity_cfg represents the entity configuration parameters in the PDCP layer.
[0082] Based on total_mac_header_len, update rlc_header_com_tb_offset (an optional example of the second offset position corresponding to the RLC layer, where the second bitstream is, for example, the RLC header com bitstream), and copy the current RLC header bitstream to the L2 protocol header bitstream offset position 3, occupying a length of 5+2=7. Therefore, even without knowing rlc_header_com_len (an optional example of the length of the RLC header com bitstream), the effect of prefetching the RLC header L bitstream is achieved.
[0083] Step 3: RLC header length parsing: Starting from the rlc_header_com_tb_offset of the TB, the RLC header is parsed in a loop until all RLC headers are parsed, resulting in total_rlc_header_group_len (an optional example of the total length of at least one second bitstream of the RLC layer). Then, rlc_header_l_tb_offset (another optional example of the second offset position corresponding to the RLC layer, where the second bitstream is, for example, the RLC header L bitstream) and pdcp_header_tb_offset (another optional example of the second offset position corresponding to the PDCP layer, where the second bitstream is, for example, the PDCP header bitstream) are updated. Next, the current RLC header L bitstream is prefetched and copied to the L2 protocol header bitstream at offset=8 (an optional example of the first offset position corresponding to the RLC layer), and the PDCP header bitstream is copied to the L2 protocol header bitstream at offset=10 (the first optional example of the first offset position corresponding to the PDCP layer), thus completing the rlc_header_com header parsing.
[0084] Step 4: RLC header parsing: Combined with rlc_entity_cfg, the current RLC header is parsed to obtain the length of the current RLC SDU. Then, the next RLC header L stream is prefetched and copied to the L2 header stream at offset 8, and the next PDCP header stream is copied to the L2 header stream at offset 10.
[0085] Step 5: PDCP header parsing: Combine pdcp_entity_cfg to complete the parsing of the current PDCP header. Repeat steps 4 and 5 until all RLC PDUs in the current RLC PDU group have been parsed.
[0086] Step 6: Repeat steps 3, 4, and 5 until all RLC PDUs of the current MAC SDU have been parsed.
[0087] Step 7: Repeat steps 2, 3, 4, 5, and 6 until the protocol header parsing of all MACPDUs in the entire TB is completed.
[0088] Step 8: Repeat steps 2, 3, 4, 5, 6, and 7 to parse the protocol header of the next TB.
[0089] The parsing method provided in this embodiment can effectively support NR protocol header parsing hardening accelerator, enabling the same protocol header hardening accelerator to simultaneously support L2 protocol header parsing for both NR and LTE systems.
[0090] The parsing method provided in this embodiment can find the offset of each sublayer protocol header in the L2 protocol header bitstream (an optional example of the first offset position mentioned above). The offset of the MAC header in the L2 protocol header bitstream is 0, and the maximum length of the MAC header is 3 bytes; the offset of the RLC header com in the L2 protocol header bitstream is 3, and the maximum length of the RLC header com is 5 bytes; the offset of the RLC header L in the L2 protocol header bitstream is 8, and the maximum length of the RLC header L is 2 bytes; the offset of the PDCP header in the L2 protocol header bitstream is 10.
[0091] The parsing method provided in this embodiment of the disclosure <1> It can provide MAC header bitstream: maintain mac_header_tb_offset, initially 0, update mac_header_tb_offset according to the current mac_header_len after parsing each MAC SDU, prefetch MAC header bitstream, and copy MAC header bitstream to the position where the L2 protocol header bitstream offset is 0. <2> The RLC header stream can be provided by updating rlc_header_com_tb_offset and rlc_header_l_tb_offset based on total_mac_header_len, total_rlc_header_group_len, and rlc_entity_cfg, prefetching the RLC header com stream and RLC header L stream respectively, copying the RLC header com stream to the L2 protocol header stream at offset 3, and copying the RLC header L stream to the L2 protocol header stream at offset 8. <3> Provide PDCP header stream: Update pdcp_header_tb_offset according to rlc_sdu_len (length of SDU in RCL layer), prefetch PDCP header stream, and copy PDCP header stream to the position of L2 protocol header stream offset by 10.
[0092] The parsing method provided in this embodiment can reuse the MAC header stream for RLC PDU parsing within the same MAC SDU group, and can also reuse the MAC header stream copy and parsing result, eliminating the need for multiple copying and parsing operations. Similarly, for RLC PDU parsing within the same RLC PDU group, it can reuse the RLC header COM stream, and can also reuse the RLC header COM stream copy and parsing result, eliminating the need for multiple copying and parsing operations.
[0093] The parsing method provided in this embodiment integrates the parsing of LTE and NR protocol headers. Since the parsing rules are software programmable, LTE and NR can share a set of protocol header parsing hardware accelerators.
[0094] The parsing method provided in this embodiment can perform parallel processing of parsing the protocol header and copying the protocol header by prefetching the protocol header code stream, which can greatly save waiting time and improve parsing efficiency.
[0095] Figure 5 This is a schematic diagram of the structure of a parsing device provided in an embodiment of the present disclosure.
[0096] like Figure 5 As shown, the analytical apparatus 50 includes:
[0097] The first determining module 501 is used to determine a first offset position corresponding to a sublayer of the data link layer, wherein the first offset position is used to represent the offset position of the first protocol header in the first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to the second protocol header, and the second protocol header is the protocol header of the data link layer.
[0098] The second determining module 502 is used to determine the information of the first protocol header based on the first offset position and the first bitstream.
[0099] Optionally, in some embodiments of this disclosure, the second determining module 502 is further configured to:
[0100] The second bitstream is determined based on the transport block (TB) of the data link layer, wherein the second bitstream is the bitstream corresponding to the first protocol header;
[0101] The information of the first protocol header is determined based on the first offset position, the first bitstream, and the second bitstream.
[0102] Optionally, in some embodiments of this disclosure, the second determining module 502 is further configured to:
[0103] The second bitstream is inserted into the first offset position of the first bitstream to obtain the third bitstream;
[0104] Based on the third bitstream, determine the information of the first protocol header.
[0105] Optionally, in some embodiments of this disclosure, the second determining module 502 is further configured to:
[0106] Determine the entity configuration parameters for the sub-layer;
[0107] The third bitstream is parsed based on the entity configuration parameters to obtain the information of the first protocol header.
[0108] Optionally, in some embodiments of this disclosure, the second determining module 502 is further configured to:
[0109] Determine the second offset position corresponding to the sublayer, wherein the second offset position is used to represent the offset position of the second bitstream in the TB of the data link layer;
[0110] The second bitstream is obtained from the TB of the data link layer based on the second offset position.
[0111] Optionally, in some embodiments of this disclosure, the second determining module 502 is further configured to:
[0112] When the sublayer is the Media Access Control (MAC) layer, the starting position in the Data Link Layer (TB) is determined as the second offset position corresponding to the MAC layer.
[0113] When the sublayer is the Radio Link Control (RLC) layer, the second offset position corresponding to the RLC layer is determined based on the length of the second code stream of the MAC layer and the total length of at least one second code stream of the RLC layer.
[0114] When the sublayer is the Packet Data Convergence Protocol (PDCP) layer, the second offset position corresponding to the PDCP layer is determined based on the length of the Service Data Unit (SDU) of the RLC layer.
[0115] It should be noted that the foregoing explanation of the parsing method embodiment also applies to the parsing device of this embodiment, and will not be repeated here.
[0116] In this embodiment, by determining the first offset position corresponding to the sublayer of the data link layer, where the first offset position represents the offset position of the first protocol header in the first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to the second protocol header, and the second protocol header is the protocol header of the data link layer, the information of the first protocol header is determined based on the first offset position and the first bitstream. Since the first offset positions of each sublayer of the data link layer are obtained in advance, and the offset position of the first protocol header of the sublayer in the L2 protocol header bitstream is determined, it can effectively support subsequent pre-fetching of the sublayer protocol header bitstream, thereby enabling parallel processing of parsing the protocol header and copying the protocol header bitstream. This significantly saves the MIPS resources required for parsing processing and improves parsing efficiency and effectiveness.
[0117] To implement the above embodiments, this disclosure also proposes a communication device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method provided in the foregoing embodiments.
[0118] Optionally, in some embodiments, the communication device may be, for example, a terminal, a network device, or a chip, without limitation.
[0119] Figure 6 A block diagram of an exemplary communication device suitable for implementing embodiments of the present disclosure is shown. Figure 6 The communication device 12 shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein. The communication device may be, for example, a terminal, and there is no limitation thereto.
[0120] like Figure 6 As shown, the communication device 12 is presented in the form of a general-purpose computing device. The components of the communication device 12 may include, but are not limited to: one or more processors or processing units 16, memory 28, and bus 18 connecting different system components (including memory 28 and processing unit 16).
[0121] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. Examples of these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0122] The communication device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the communication device 12, including volatile and non-volatile media, and removable and non-removable media.
[0123] Memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 30 and / or cache 32. Communication device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (… Figure 6 Not shown; usually referred to as a "hard drive".
[0124] although Figure 6 As not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disc drive for reading and writing to a removable non-volatile optical disc (e.g., a compact disc read-only memory (CD-ROM), a digital video disc read-only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this disclosure.
[0125] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of this disclosure.
[0126] The communication device 12 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable human interaction with the communication device 12, and / or with any device that enables the communication device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed via input / output (I / O) interface 22. Furthermore, the communication device 12 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 20. As shown, network adapter 20 communicates with other modules of the communication device 12 via bus 18. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with the communication device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0127] The processing unit 16 executes various functional applications and data processing by running programs stored in the memory 28, such as implementing the methods mentioned in the foregoing embodiments.
[0128] To implement the above embodiments, this disclosure also proposes a chip, including: the chip includes processing circuitry configured to perform the methods provided in the foregoing embodiments.
[0129] Figure 7 This is a schematic diagram of the structure of a chip according to an embodiment of this disclosure. See also... Figure 7 The diagram shown is a schematic representation of the structure of chip 700, but is not limited thereto.
[0130] Chip 700 includes processing circuit 701 and interface circuit 702. Interface circuit 702 is used to read instructions and send instructions to processing circuit 701 so that processing circuit 701 executes the method in the above embodiment.
[0131] Optional, such as Figure 8 As shown, Figure 8This is a schematic diagram of another chip structure proposed in an embodiment of this disclosure. Chip 700 may further include: a memory 703 for storing instructions, and an interface circuit 702 for reading the instructions stored in the memory 703.
[0132] Optionally, the interface circuit 702 is connected to the memory 703. The interface circuit 702 can be used to receive signals from the memory 703 or other devices, and can also be used to send signals to the memory 703 or other devices. For example, the interface circuit 702 can read instructions stored in the memory 703 and send those instructions to the processing circuit 701.
[0133] Optionally, the number of memories 703 can be one or more. The number of interface circuits 702 can also be one or more.
[0134] In some embodiments, the interface circuit 702 performs at least one of the communication steps such as sending and / or receiving in the above method, while the processing circuit 701 performs other steps. In some embodiments, the terms interface circuit, interface, transceiver pin, transceiver, etc., can be used interchangeably.
[0135] Optionally, all or part of the memory 703 may be located outside of chip 700.
[0136] To implement the above embodiments, this disclosure also proposes a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the methods proposed in the foregoing embodiments of this disclosure.
[0137] To implement the above embodiments, this disclosure also proposes a computer program product that, when instructions in the computer program product are executed by a processor, performs the method proposed in the foregoing embodiments of this disclosure.
[0138] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in this disclosure all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0139] It should be noted that personal information collected from users should be used for legitimate and reasonable purposes and should not be shared or sold outside of these legitimate uses. Furthermore, such collection / sharing should only be conducted after receiving the user's informed consent, including but not limited to notifying the user to read the user agreement / user notice and sign an agreement / authorization that includes authorization of relevant user information before the user uses the function. In addition, any necessary steps must be taken to protect and safeguard access to such personal information data and ensure that others with access to personal information data comply with their privacy policies and procedures.
[0140] This disclosure is intended to provide implementation schemes for users to selectively prevent the use or access to their personal information data. Specifically, this disclosure is intended to provide hardware and / or software to prevent or block access to such personal information data. Once personal information data is no longer needed, risks can be minimized by restricting data collection and deleting data. Furthermore, where applicable, such personal information is de-identified to protect user privacy.
[0141] In the foregoing descriptions of the embodiments, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this disclosure. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0142] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0143] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of preferred embodiments of this disclosure includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of this disclosure pertain.
[0144] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0145] It should be understood that various parts of this disclosure can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0146] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
[0147] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0148] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting the present disclosure. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present disclosure.
Claims
1. An analytical method, characterized in that, include: Determine a first offset position corresponding to a sublayer of the data link layer, wherein the first offset position is used to represent the offset position of the first protocol header in the first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to the second protocol header, and the second protocol header is the protocol header of the data link layer; The second bitstream is determined based on the transport block (TB) of the data link layer, wherein the second bitstream is the bitstream corresponding to the first protocol header; The second bitstream is inserted into the first offset position of the first bitstream to obtain the third bitstream; Based on the third bitstream, the information of the first protocol header is determined.
2. The method according to claim 1, characterized in that, The step of determining the information of the first protocol header based on the third bitstream includes: Determine the entity configuration parameters of the sub-layer; The third bitstream is parsed according to the entity configuration parameters to obtain the information of the first protocol header.
3. The method according to claim 1, characterized in that, The step of determining the second bitstream based on the transport block (TB) of the data link layer includes: Determine a second offset position corresponding to the sub-layer, wherein the second offset position is used to represent the offset position of the second bitstream in the TB of the data link layer; The second bitstream is obtained from the TB of the data link layer according to the second offset position.
4. The method according to claim 3, characterized in that, Determining the second offset position corresponding to the sub-layer includes: When the sublayer is the Media Access Control (MAC) layer, the starting position in the TB of the data link layer is determined as the second offset position corresponding to the MAC layer; When the sublayer is the Radio Link Control (RLC) layer, the second offset position corresponding to the RLC layer is determined based on the length of the second code stream of the MAC layer and the total length of at least one second code stream of the RLC layer. In the case where the sublayer is the Packet Data Convergence Protocol (PDCP) layer, the second offset position corresponding to the PDCP layer is determined based on the length of the Service Data Unit (SDU) of the RLC layer.
5. An analytical apparatus, characterized in that, include: The first determining module is used to determine a first offset position corresponding to a sublayer of the data link layer, wherein the first offset position is used to represent the offset position of the first protocol header in the first bitstream, the first protocol header is the protocol header of the sublayer, the first bitstream is the bitstream corresponding to the second protocol header, and the second protocol header is the protocol header of the data link layer; The second determining module is used to determine the second bitstream based on the transport block (TB) of the data link layer, wherein the second bitstream is the bitstream corresponding to the first protocol header; The second bitstream is inserted into the first offset position of the first bitstream to obtain the third bitstream; the information of the first protocol header is determined based on the third bitstream.
6. A communication device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-4.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-4.
8. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1-4.
9. A chip, said chip comprising processing circuitry and interface circuitry; wherein, The interface circuit is used to read instructions and sends the instructions to the processing circuit so that the processing circuit can execute the method as described in any one of claims 1-4.