Data processing method, device and equipment applied to media access control layer
By parsing and processing code blocks in the MAC layer with a parsing progress indication, the method addresses memory and power consumption issues in LTE user plane protocols, enhancing data packet delivery efficiency and reducing modem power usage.
Patent Information
- Application Number
- CN202111033697.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-03
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2041-09-03
AI Technical Summary
The existing LTE user plane protocol experiences peak memory access pressure and increased data packet delivery delay due to the caching of incomplete transport blocks in the physical layer, leading to inefficient DDR memory usage and higher power consumption in modem devices.
A data processing method and device that parses and processes code blocks (CBs) of a transport block (TB) in the media access control (MAC) layer using a parsing progress indication, allowing for real-time processing and transmission of incomplete fields across adjacent CBs, reducing memory pressure and power consumption.
The method reduces DDR memory requirements and data packet delivery delay by enabling on-the-fly processing of CBs, averaging processing pressure, and decreasing modem power consumption by about two times the peak bandwidth.
Smart Images

Figure CN115766909B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of wireless communications, and in particular to a data processing method, device and equipment applied to a media access control layer. Background Art
[0002] LTE (Long Term Evolution) is the long-term evolution of the Universal Mobile Telecommunications System (UMTS) technical standard developed by the 3rd Generation Partnership Project (3GGP).
[0003] According to the LTE user plane protocol, the HARQ (Hybrid Automatic Repeat reQuest) retransmission of the network device MAC (Media Access Control) layer and the physical layer (PHY) is based on the CBG (Code Block Group). In the processing flow of downlink data packets, the physical layer of the terminal receives the TB (Transport Block) sent by the network device. When a transmission error occurs in some CBs (Code Blocks) in the TB, the physical layer caches the TB and waits for the retransmission of the CBs that failed to receive the part. When the TB is received completely, the PHY will submit the TB to the MAC layer, and the MAC layer will process the TB. As a result, peak pressure on DDR (Double Data Rate) memory access will be generated. Summary of the invention
[0004] The embodiment of the present application provides a data processing method, device and equipment applied to the media access control layer, which can process the MAC PDU (Protocol Data Unit) according to the CB to reduce the access pressure of the memory. The technical solution is as follows:
[0005] According to one aspect of the present application, a data processing method applied to a media access control layer is provided, the method comprising:
[0006] Receiving, from the physical layer, an i-th code block of a transport block for carrying the PDU of the media access control layer, wherein the transport block includes n code blocks, i is a positive integer not greater than n, and n is a positive integer;
[0007] Parsing the i-th code block according to the parsing progress indication of the transmission block to obtain a first PDU data segment;
[0008] The parsing progress indication of the transport block is updated according to the first PDU data segment.
[0009] According to one aspect of the present application, a data processing device applied to a media access control layer is provided, the device comprising:
[0010] A header extraction module, used to receive, from a physical layer, an i-th code block of a transmission block for carrying a PDU of the media access control layer, wherein the transmission block includes n code blocks, i is a positive integer not greater than n, and n is a positive integer;
[0011] The header extraction module is used to parse the i-th code block according to the parsing progress indication of the transmission block to obtain a first PDU data segment;
[0012] The header extraction module is used to update the parsing progress indication of the transmission block according to the first PDU data segment.
[0013] According to one aspect of the present application, a terminal device is provided, the terminal device comprising: a processor; wherein:
[0014] The processor is configured to receive, from a physical layer, an i-th code block of a transmission block for carrying a PDU of the media access control layer, wherein the transmission block includes n code blocks, i is a positive integer not greater than n, and n is a positive integer;
[0015] The processor is configured to parse the i-th code block according to the parsing progress indication of the transmission block to obtain a first PDU data segment;
[0016] The processor is used to update the parsing progress indication of the transmission block according to the first PDU data segment.
[0017] According to one aspect of the present application, a computer-readable storage medium is provided, in which executable instructions are stored. The executable instructions are loaded and executed by a processor to implement the data processing method applied to the media access control layer as described in the above aspects.
[0018] According to one aspect of an embodiment of the present application, a chip is provided, which includes a programmable logic circuit and / or program instructions. When the chip runs on a computer device, it is used to implement the data processing method applied to the media access control layer described in the above aspect.
[0019] According to one aspect of the present application, a computer program product is provided. When the computer program product is executed on a processor of a computer device, the computer device executes the data processing method applied to the media access control layer described in the above aspect.
[0020] The technical solution provided by the embodiments of the present application includes at least the following beneficial effects:
[0021] By receiving the CB of the TB carrying the MAC PDU from the PHY, the MAC PDU is parsed with the CB as the parsing object to obtain the headers of each layer and the PDCP PDU. Among them, since the fields contained in the CB may be incomplete, for example, a field is divided into two parts by two adjacent CBs, when processing the previous CB, the parsing progress indication of the TB is updated according to the processing result of the CB, and the parsing progress indication is used to store the processing status of the CB. When processing the next CB, the unparsed fields of the previous CB are read according to the parsing progress indication, and spliced with the next CB to obtain a complete field for parsing. Therefore, the method provided in the embodiment of the present application can realize the processing of the CBs of the TB one by one based on the parsing progress indication of the TB, so that the PHY can transmit a CB to the upper layer every time a CB is received, thereby reducing the processing pressure of the terminal device memory, reducing the data packet delivery delay and the power consumption of the modem. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0023] Figure 1 is a schematic diagram of a system architecture provided by an exemplary embodiment of the present application;
[0024] Figure 2 is a schematic diagram of a user plane protocol provided by an exemplary embodiment of the present application;
[0025] Figure 3 is a schematic diagram of a MAC PDU provided by an exemplary embodiment of the present application;
[0026] Figure 4 is a schematic diagram of an RLC PDU provided by an exemplary embodiment of the present application;
[0027] Figure 5 is a schematic diagram of a PDCP PDU provided by an exemplary embodiment of the present application;
[0028] Figure 6 It is a schematic diagram of MAC PDU and CB mapping provided by an exemplary embodiment of the present application;
[0029] Figure 7is a flow chart of a data processing method applied to a media access control layer provided by an exemplary embodiment of the present application;
[0030] Figure 8 is a schematic diagram of a data processing method applied to a media access control layer provided by an exemplary embodiment of the present application;
[0031] Fig. 9 is a schematic diagram of a data processing method applied to a media access control layer provided by an exemplary embodiment of the present application;
[0032] Fig.10 is a flow chart of a data processing method applied to a media access control layer provided by an exemplary embodiment of the present application;
[0033] Fig.11 is a schematic diagram of a data processing method applied to a media access control layer provided by an exemplary embodiment of the present application;
[0034] Fig.12 It is a schematic diagram of a parsing progress indication of a data processing method applied to a media access control layer provided by an exemplary embodiment of the present application;
[0035] Fig.13 is a structural block diagram of a data processing device applied to a media access control layer provided by an exemplary embodiment of the present application;
[0036] Fig.14 It is a structural diagram of a communication device provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0037] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0038] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.
[0039] The terms used in this disclosure are for the purpose of describing specific embodiments only and are not intended to limit the disclosure. The singular forms of "a", "said" and "the" used in this disclosure and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0040] It should be understood that although the terms first, second, third, etc. may be used in the present disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present disclosure, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0041] Please refer to Figure 1 , which shows a schematic diagram of a system architecture provided by an embodiment of the present application. The system architecture may include: a terminal device 10 and a network device 20.
[0042] The number of terminal devices 10 is usually multiple, and one or more terminal devices 10 may be distributed in a cell managed by each network device 20. The terminal device 10 may include various handheld devices with wireless communication functions, vehicle-mounted devices, wearable devices, computing devices, or other processing devices connected to a wireless modem, as well as various forms of user equipment (UE), mobile stations (MS), etc. For the convenience of description, in the embodiments of the present application, the above-mentioned devices are collectively referred to as terminal devices.
[0043] The network device 20 is a device deployed in an access network to provide wireless communication functions for the terminal device 10. The network device 20 may include various forms of macro base stations, micro base stations, relay stations, access points, etc. In systems using different wireless access technologies, the names of devices with network device functions may be different. For example, in a 5G NR system, it is called gNodeB or gNB. With the evolution of communication technology, the name "network device" may change. For the convenience of description, in the embodiments of the present application, the above-mentioned devices that provide wireless communication functions for the terminal device 10 are collectively referred to as network devices.
[0044] The system in the embodiments of the present disclosure may be referred to as an LTE system, a 5G system, or a NR system, but those skilled in the art may understand the meaning thereof. The technical solution described in the embodiments of the present disclosure may be applicable to an LTE system, a 5G NR system, or to a subsequent evolution system of a 5G NR system.
[0045] LTE user plane protocol stack Figure 2As shown. In the processing flow of downlink data packets, the PHY of the terminal device 10 receives the air interface data sent by the network device 20, and the PHY submits the air interface data to the MAC layer. The MAC layer parses the MACSub Header (subheader) from the air interface data to obtain the information of MAC CE (MAC Control Element) and MAC SDU (Service Data Unit). The RLC (Radio Link Control) layer is responsible for parsing the RLC Header (header) and RLC PDU (Protocol Data Unit) and sorting them, and submitting them to the PDCP (Packet Data Convergence Protocol) layer in order. The PDCP Header is parsed at the PDCP layer, and then the data packet header is decompressed, the data packet is decrypted, and the integrity protection is checked, etc., and then submitted to the TCP / IP (Transmission Control Protocol / Internet Protocol) protocol stack.
[0046] The MAC PDU submitted by PHY to the MAC layer has the following format in 3GPP (3rd Generation Partnership Project) 36.321: Figure 3 As shown, MAC PDU includes MAC Header, MAC CE, MAC SDU and Padding.
[0047] RLC is the radio link control layer of the user plane of the LTE protocol stack. The RLC header format has multiple formats depending on the mode. Figure 4 It is a format of RLC PDU of 3GPP36.322AM (Ack Mode), and the Header part is divided into FixHeader (fixed header) 30 and extension part 40. The extension part 40 includes the length information of RLC SDUs.
[0048] According to 3GPP 36.323, after receiving the RLC SDU delivered by RLC, PDCP needs to parse the PDCP header, obtain the PDCPSN (Serial Number), and then calculate the HFN (Hyper Frame Number) to obtain the count value of the PDCP SDU. The PDCP decipher module performs decryption and integrity protection verification based on the count value. One of the formats of the PDCP header (12-bit SN) is as follows: Figure 5 shown.
[0049] In the method of related technology, the HARQ retransmission of the MAC layer and the physical layer PHY of the network device is based on CBG. Most of the data of a TB may have been received, and only part of the CB has a transmission error, but the entire TB is stored in the PHY and not submitted to the MAC layer. In this way, a large amount of buffer needs to be reserved in the PHY. When the TB is received completely, the PHY submits the TB to the MAC layer. The MAC layer and the RLC layer decode a batch of data packets and submit them to the cipher (decryption) module of the PDCP layer, which generates the peak pressure of DDR (Double Data Rate) access, as well as the delay of data packet submission and the power consumption of the modem.
[0050] Based on the analysis of the methods in the related art, the embodiment of the present application provides a MAC PDU parsing and processing solution based on PHY according to CB submission. Figure 6 As shown, taking the case where a TB is divided into four CBs as an example, the TBs include CB0, CB1, CB2, and CB3; among them, CB0 and CB1 divide the CCCH (Common Control Channel) into two parts at position 1, CB1 and CB2 divide the RLC SDU segment into two parts at position 2, and CB2 and CB3 divide the RLC FixHeader into two parts at position 3. Since the PDU can be parsed according to the protocol format only when the CBs are in order, if HARQ retransmission occurs in CB1, the processing of the PDU will be pending on the CCCH until CB1 is received or the TB reception fails. Based on the above analysis, the embodiment of the present application will solve the technical problem of the PDU being split by CB when performing MAC PDU parsing.
[0051] Please refer to Figure 7 , which shows a flow chart of a data processing method applied to a media access control layer provided by an embodiment of the present application. The method can be applied to Figure 1 The terminal device in the system architecture shown in the figure. The method comprises the following steps.
[0052] Step 210: Receive the i-th CB of the TB used to carry the MAC PDU from the PHY, the TB includes n CBs, i is a positive integer not greater than n, and n is a positive integer.
[0053] The terminal device includes a PHY layer, a MAC layer, an RLC layer and a PDCP layer. Among them, a header extraction module (or "Header extract module") is provided in the MAC layer, and a decryption module (or "decipher module" or "cipher module") is provided in the PDCP layer.
[0054] Exemplarily, the method may be executed by the MAC layer, or may be executed by other higher layers above the PHY.
[0055] Exemplarily, the method can be performed by a header extraction module in the MAC layer. Exemplarily, the header extraction module can also be replaced by other modules, protocol stacks, etc. with the same functions. The header extraction module is used to extract and parse the header of the TB or CB transmitted by the PHY to the MAC layer to obtain at least one of the MAC header, RLC header, PDCP header, PDCP PDU, PDCP Count value, and HFN.
[0056] Exemplarily, when the TB is not divided into CBs, the PHY receives the TB carrying the MAC PDU and transmits the TB to the header extraction module of the MAC layer.
[0057] Step 220: Parse the i-th CB according to the parsing progress indication of the TB to obtain the first PDU data segment, and update the parsing progress indication of the TB according to the first PDU data segment.
[0058] Exemplarily, the first PDU data segment includes the data segment of the MAC PDU obtained by parsing the i-th CB. The first PDU data segment includes part of the data or all of the data in the MAC PDU. Exemplarily, the MAC PDU includes multiple fields, for example, the MAC PDU includes at least one field in the MAC header, the RLC header, the RLC PDU, the PDCP header, and the PDCP PDU. The first PDU data segment includes part of or all of the data in at least one of the above fields. For example, the first PDU data segment may include a complete MAC header and a part of the RLC header.
[0059] The parsing progress indication of a TB is used to indicate the CB processing status of the TB, or to indicate the parsing progress of the TB. Exemplarily, the parsing progress indication is used to indicate the field of the end position of the CB currently processed by the TB, that is, the parsing progress indication is used to indicate which field of the MAC PDU the CB processing of the current TB ends at. Exemplarily, the parsing progress indication is used to indicate the current parsing progress of the MAC PDU.
[0060] Since a complete field of MAC PDU will be divided into two parts by two adjacent CBs, for example, RLC Header is divided into the first part and the second part by CB0 and CB1, CB0 contains the first part of RLC Header, and CB1 contains the second part of RLC Header. When parsing CB0, since the RLC Header data is incomplete and cannot be parsed, after processing CB0, the parsing progress indication of TB is updated to stop at RLC Header. Then, when CB1 is received, according to the parsing progress indication of TB: stop at RLC Header, the first part of the unprocessed stop at RLC Header in CB0 can be read and spliced with CB1 to obtain the complete stop at RLC Header, and then the spliced CB1 can be parsed to complete the parsing of MAC PDU at CB granularity.
[0061] Based on the parsing progress indication of the TB, when the header extraction module of the MAC layer receives the i-th CB of the TB, it can determine the intermediate state of the CB processing in the TB according to the current parsing progress indication of the TB, and then obtain the unprocessed fields in the i-1-th CB, and splice them with the i-th CB, so that the fields separated by the i-th CB and the i-1-th CB are spliced into a complete field, and then the i-1-th CB is parsed and processed.
[0062] Exemplarily, the intermediate state refers to the field of the MAC PDU where the CB that the TB has currently completed processing stops.
[0063] Exemplarily, the parsing progress indication may be a parameter, which is used to refer to the intermediate state of the CB processing in the TB, and the mapping relationship between the parameter and the intermediate state may be arbitrary.
[0064] That is, when the PHY receives a CB, it transmits a CB to the MAC layer. The MAC layer parses and processes the CB through the header extraction module to obtain MAC PDU data segments, and reports the MAC PDU data segments to the upper layer. In this way, real-time processing of the CB can be achieved. Compared with parsing the complete TB after receiving the complete TB, the method provided in the embodiment of the present application can reduce memory pressure, reduce data packet delivery delay, and reduce modem power consumption.
[0065] In the method provided in the embodiment of the present application, when HARQ retransmission occurs in some CBs in a TB, the PHY does not need to cache the TBs to wait for the retransmission of the CBs. Figure 8As shown, TB0 includes TB0_CB0, TB0_CB1, TB0_CB2 and TB0_CB3, TB1 includes TB1_CB0 and TB1_CB1, and TB2 is not divided into CB. When PHY receives TB0_CB0 and TB0_CB1, it submits TB0_CB0 and TB0_CB1 to the MAC layer. The header extraction module of the MAC layer parses TB0_CB0 and TB0_CB1 according to the parsing progress indication of TB0, and reports the MAC PDU data in segments to the upper layer. At this time, HARQ retransmission occurs in TB0_CB2 and TB0_CB3. Then PHY receives TB1_CB0, submits TB1_CB0 to the MAC layer, and the header extraction module of the MAC layer parses TB1_CB0 according to the parsing progress indication of TB1, and reports the MAC PDU data in segments to the upper layer. When PHY receives the retransmission of TB0_CB2 and TB0_CB3, it submits TB0_CB2 and TB0_CB3 to the MAC layer. The header extraction module of the MAC layer parses TB0_CB2 and TB0_CB3 according to the parsing progress indication of TB0, and reports the MAC PDU data in segments to the upper layer.
[0066] Exemplarily, the header extraction module reports the i-th MAC PDU data segment to the higher layer.
[0067] Exemplarily, based on the i-th MAC PDU data segment including the PDCP Count value and the PDCP PDU, the header extraction module sends the PDCP Count value and the PDCP PDU to the PDCP layer.
[0068] For example, Fig. 9 As shown, the header extraction module 50 receives CB from PHY, parses CB according to the parsing progress indication of TB, obtains PDCP information (PDCP PDU and PDCP Count value), and sends the PDCP information to the decryption module of the PDCP layer.
[0069] In summary, the method provided in this embodiment receives the CB of the TB carrying the MAC PDU from the PHY, and parses the MAC PDU with the CB as the parsing object to obtain the headers of each layer and the PDCP PDU. Among them, since the fields contained in the CB may be incomplete, for example, a field is divided into two parts by two adjacent CBs, when processing the previous CB, the parsing progress indication of the TB is updated according to the processing result of the CB, and the parsing progress indication is used to store the processing status of the CB. When processing the next CB, the unparsed fields of the previous CB are read according to the parsing progress indication, and spliced with the next CB to obtain a complete field for parsing. Therefore, the method provided in the embodiment of the present application can realize the processing of the CBs of the TB one by one based on the parsing progress indication of the TB, so that the PHY can transmit a CB to the upper layer every time a CB is received, thereby reducing the processing pressure of the terminal device memory, reducing the data packet delivery delay and the power consumption of the modem.
[0070] Exemplarily, an exemplary embodiment is provided in which a header extraction module parses a CB according to a parsing progress indication.
[0071] Please refer to Fig.10 , which shows a flow chart of a data processing method applied to a media access control layer provided by an embodiment of the present application. The method can be applied to Figure 1 The terminal device in the system architecture shown in the figure. The method comprises the following steps.
[0072] Step 210: Receive the i-th CB of the TB used to carry the MAC PDU from the PHY, the TB includes n CBs, i is a positive integer not greater than n, and n is a positive integer.
[0073] like Fig.11 As shown in the figure, the PHY submits the in sequence CB (sequential code block) to the Header Extract module, and the Header Extract module establishes the context of each TB. The context includes the parameter of the parsing progress indication, which is used to save the intermediate state of the CB processing. According to the parsing progress indication, the CB is parsed to obtain the header part of the MAC, RLC, and PDCP protocol units, and the PDCP Count value is obtained by calculation, and then the complete PDCP PDU is submitted to the Decipher Engine (decipher engine / decipher module) of the PDCP layer.
[0074] Exemplarily, the header extraction module saves the mapping relationship between Logic channel and DRB (Data Radio Bear), and configures the entity information of MAC, RLC and PDCP. After parsing CB to obtain MAC PDU data segments, the header extraction module also saves the information of MAC Sub header and RLC length, and parses the context of TB. The main functions of the header extraction module include header parsing, RLC window detection, and calculation of PDCP HFN (Hyper Frame Number) and Count value. Among them, the PDCP Count value is composed of HFN and PDCP SN (PDCP Sequence Number).
[0075] Exemplarily, the terminal device configures configuration data for the header extraction module of the MAC layer, and the configuration data includes at least one of a mapping relationship between a logical channel and a data resource carrying DRB, MAC entity information, RLC entity information, and PDCP entity information.
[0076] Step 221: Parse the i-th CB according to the parsing progress indication of the TB to obtain the first PDU data segment; update the parsing progress indication based on the fields included in the first PDU data segment.
[0077] Exemplarily, the parsing progress indication of the TB is updated based on the field of the MAC PDU contained in the first PDU data segment obtained by parsing the i-th CB.
[0078] For example, based on determining that the first PDU data segment includes part or all of a fixed header of a radio link layer control protocol, updating the parsing progress indication to a first state;
[0079] Based on determining that the first PDU data segment includes part or all of the extended header of the radio link layer control protocol, updating the parsing progress indication to a second state;
[0080] updating the parsing progress indication to a third state based on determining that the first PDU data segment includes part or all of a header of a packet data convergence protocol;
[0081] Based on determining that the first PDU data segment includes part or all of the valid data of the service data unit of the radio link layer control protocol, updating the parsing progress indication to a fourth state;
[0082] Based on determining that the first PDU data segment includes part or all of the valid data of the media access control unit, updating the parsing progress indication to a fifth state;
[0083] Based on determining that the parsing object of the media access control layer is a transport block, the parsing progress indication is updated to a sixth state.
[0084] Exemplarily, based on the data carried by the i-th CB ending in the target field of the PDU (MAC PDU), the parsing progress indication is updated based on the target field. Or, based on the first PDU data segment ending in the target field of the PDU (MAC PDU), the parsing progress indication is updated based on the target field.
[0085] Exemplarily, based on determining that the parsing object of the MAC layer is a TB, updating the parsing progress indication of the TB to a sixth state;
[0086] Based on determining that the target field is a fixed header of a radio link layer control protocol RLC, updating the parsing progress indication of the TB to a first state;
[0087] Based on determining that the target field is an extended header of the RLC, updating the parsing progress indication of the TB to a second state;
[0088] Based on determining that the target field is a header of the PDCP, updating the parsing progress indication of the TB to a third state;
[0089] Based on determining that the target field is valid data of the RLC SDU, updating the parsing progress indication of the TB to a fourth state;
[0090] Based on determining that the target field is valid data of MAC CE, the parsing progress indication of TB is updated to the fifth state.
[0091] In an optional implementation, the mapping relationship between the target field and the parsing progress indication is as follows:
[0092] Parsing progress indication: 0 (sixth state) corresponds to: no parsing progress indication: that is, the object of parsing is TB, and there is no parsing progress indication;
[0093] Parsing progress indication: 1 (first state) corresponds to: RLC fix header: that is, the current CB ends in the RLC Fixheader part;
[0094] Parsing progress indication: 2 (second state) corresponds to: RLC LI header: that is, the current CB ends in the length information part of the RLC extension header;
[0095] Parsing progress indication: 3 (third state) corresponds to: PDCP Header: that is, the part where the current CB ends in the PDCP header (when the PDCP header is more than 1 Byte);
[0096] Parsing progress indication: 4 (fourth state) corresponds to: RLC SDU Payload: that is, the current CB ends in the payload (valid data) part of the RLC SDU. The payload may be: Control PDU (control PDU) of PDCP, or SRB (Signalling Radio Bearers, signaling radio bearer message), or the header or data part of IP Packet (IP packet);
[0097] Parsing progress indication: 5 (fifth state) corresponds to: MAC CE Payload: that is, the current CB ends in the payload part of MAC CE.
[0098] For example, Fig.12 As shown, based on determining that the currently parsed CB stops at the valid data of the MAC CE of the MAC PDU, the TBCS (TB Context State, TB parsing progress indication status) of the TB is TBCS-5. Based on determining that the currently parsed CB stops at the RLC Fix Header field of the MAC PDU, the TBCS of the TB is TBCS-1. Based on determining that the currently parsed CB stops at the RLC Li Header field of the MAC PDU, the TBCS of the TB is TBCS-2. Based on determining that the currently parsed CB stops at the PDCP Header field of the MAC PDU, the TBCS of the TB is TBCS-3. Based on determining that the currently parsed CB stops at the valid data of the RLC SDU of the MAC PDU, the TBCS of the TB is TBCS-4.
[0099] In another optional implementation, based on determining that the data carried by the i-th CB ends in the target field of the MAC PDU, and the data of the target field in the i-th CB is incomplete, the parsing progress indication of the TB is updated according to the target field. Based on determining that the data carried by the i-th CB ends in the target field of the MAC PDU, and the data of the target field in the i-th CB is complete, the parsing progress indication of the TB is updated according to the next field of the target field in the MAC PDU.
[0100] Exemplarily, the first PDU data segment includes at least one of a MAC header, an RLC header, a PDCP header, a PDCP Count value, and a PDCP PDU.
[0101] Exemplarily, when the i-th CB contains a PDCP header, the header extraction module reads the cached data of the PDCP header according to the parsing progress indication of the TB; the header extraction module parses the cached data of the PDCP header and the i-th CB, calculates the PDCP Count value based on the parsed PDCP header, and obtains the i-th MAC PDU data segment, and the i-th MAC PDU data segment includes the PDCP Count value.
[0102] Exemplarily, the header extraction module parses the PDCP header to obtain the PDCP SN, calculates the HFN according to the PDCP SN, and obtains the PDCP Count value according to the HFN and the PDCP SN.
[0103] Exemplarily, based on the fact that the last bit carried by the i-th CB belongs to the target field of the MAC PDU, the parsing progress indication of the TB is updated based on the target field.
[0104] Step 230: Receive the (i+1)th CB of the TB from the PHY.
[0105] Step 240: Parse the (i+1)th CB to obtain a second PDU data segment, and update the parsing progress indication of the TB according to the first PDU data segment and the second PDU data segment.
[0106] Exemplarily, continue to receive the next CB of the TB, and parse the next CB, and update the parsing progress indication of the TB according to the parsing result of the CB.
[0107] Exemplarily, after parsing the i-th CB, the bit sequence of the first PDU data segment is cached; after parsing the i+1-th CB, the bit sequence of the second PDU data segment is extracted; the bit sequence of the first PDU data segment is spliced with the bit sequence of the second PDU data segment, and the parsing progress indication of the TB is updated according to the splicing result.
[0108] In an optional embodiment, after parsing the i-th CB, if the i-th CB contains an incomplete field, the incomplete field needs to be cached so that when parsing the i+1-th CB, it can be spliced with the i+1-th CB to obtain the complete field. That is, based on the fact that the i-th CB does not carry a complete target field, the bit sequence belonging to the target field in the i-th CB is cached into the data of the target field.
[0109] Exemplarily, the target field is carried in at least two CBs. For example, the target field is carried on the i-th CB and the i+1-th CB, where i is a positive integer less than n.
[0110] Since the target field is divided into the first field part and the second field part by the i-th CB and the i+1-th CB, when the header extraction module parses the i-th CB, the first field part that cannot be parsed will be cached by the header extraction module due to the incomplete target field, and will be parsed together with the i+1-th CB after receiving the i+1-th CB.
[0111] In an optional embodiment, before parsing the (i+1)th CB, the target cache data of the target field is read according to the parsing progress indication of the TB.
[0112] The header extraction module reads the parsing progress indication of the TB based on determining that the i+1th CB of the TB is received, and reads the target cache data of the target field based on the parsing progress indication of the TB.
[0113] Exemplarily, the second PDU data segment includes the MAC PDU data segment obtained by parsing the target cache data and the (i+1)th CB.
[0114] Exemplarily, the target cache data is concatenated with the (i+1)th CB, and the concatenated (i+1)th CB is parsed to obtain the second PDU data segment.
[0115] Exemplarily, based on determining that the data carried by the i+1th CB ends at field X, and the i+1th CB does not carry the complete field X, the bit sequence belonging to field X in the +1th CB is cached in the cache data of field X. Exemplarily, field X and the above-mentioned target field can be the same field or different fields. The target field is the field to which the first bit carried by the i+1th CB belongs, and field X is the field to which the last bit carried by the i+1th CB belongs.
[0116] Exemplarily, since the target field at the i+1th CB header is incomplete, it is necessary to read the cached data of the previous target field, splice it with the i+1th CB, and then parse it. Since the field X at the end of the i+1th CB is incomplete, it is necessary to cache the bit sequence of field X in the i+1th CB, so that the cached data of field X can be read in subsequent CB processing to splice and obtain the complete field X for parsing.
[0117] Exemplarily, an i+1th code block of a transport block is received from a physical layer; the i+1th code block is parsed to obtain a second PDU data segment; and a parsing progress indication of the transport block is updated according to the second PDU data segment.
[0118] Exemplarily, a j-th code block of the transport block is parsed based at least in part on the parsing progress indication, where j is another positive integer different from i and not greater than n.
[0119] Exemplarily, the method provided in the embodiment of the present application is not limited to the CB-based delivery processing of LTE MAC PDU, but can also be applied to the CB-based delivery processing of 5G MAC PDU, and can also be applied to subsequent evolution systems, such as 6G, 7G, and 8G systems.
[0120] In summary, the method provided in this embodiment reads the unparsed fields when parsing the previous CB according to the parsing progress indication of the TB, and splices them with the current CB to make the fields in the CB complete, thereby realizing the parsing of each field of the MAC PDU based on the CB submission. The CB-based MAC PDU parsing of LTE is realized, and the data packet is processed on the fly (fast), reducing the DDR cache and on-chip memory required by the physical layer, RLC and the entire system, saving costs. The processing pressure of the decryption module is averaged, and the DDR bandwidth is reduced by about two times compared to the peak bandwidth of data transmission, thereby improving the immediacy of data packet submission and reducing the power consumption of the modem.
[0121] Fig.13 A structural block diagram of a data processing device applied to a media access control layer provided by an exemplary embodiment of the present application is shown. The device can be implemented as a terminal device, or implemented as a part of a terminal device. The device includes:
[0122] The header extraction module 50 is used to receive, from the physical layer, an i-th code block of a transmission block for carrying the PDU of the media access control layer, wherein the transmission block includes n code blocks, i is a positive integer not greater than n, and n is a positive integer;
[0123] A header extraction module 50, configured to parse the i-th code block according to the parsing progress indication of the transport block to obtain a first PDU data segment;
[0124] The header extraction module 50 is used to update the parsing progress indication of the transmission block according to the first PDU data segment.
[0125] In an optional embodiment, the header extraction module 50 is configured to parse the j-th code block of the transport block based at least in part on the parsing progress indication, where j is another positive integer different from i and not greater than n.
[0126] In an optional embodiment, the header extraction module 50 is configured to update the parsing progress indication to a first state based on determining that the first PDU data segment includes part or all of a fixed header of a wireless link layer control protocol;
[0127] A header extraction module 50, configured to update the parsing progress indication to a second state based on determining that the first PDU data segment includes part or all of an extended header of a wireless link layer control protocol;
[0128] a header extraction module 50, configured to update the parsing progress indication to a third state based on determining that the first PDU data segment includes part or all of a header of a packet data convergence protocol;
[0129] A header extraction module 50, configured to update the parsing progress indication to a fourth state based on determining that the first PDU data segment includes part or all of valid data of a service data unit of a radio link layer control protocol;
[0130] The header extraction module 50 is configured to update the parsing progress indication to a fifth state based on determining that the first PDU data segment includes part or all of the valid data of the media access control unit. In an optional embodiment, the header extraction module 50 is configured to update the parsing progress indication to a sixth state based on determining that the parsing object of the media access control layer is the transport block.
[0131] In an optional embodiment, the header extraction module 50 is configured to receive the i+1th code block of the transport block from the physical layer;
[0132] A header extraction module 50, configured to parse the (i+1)th code block to obtain a second PDU data segment;
[0133] The header extraction module 50 is used to update the parsing progress indication of the transmission block according to the first PDU data segment and the second PDU data segment.
[0134] In an optional embodiment, the header extraction module 50 is used to cache the bit sequence of the first PDU data segment;
[0135] A header extraction module 50, configured to extract a bit sequence of the second PDU data segment;
[0136] The header extraction module 50 is used to concatenate the bit sequence of the first PDU data segment with the bit sequence of the second PDU data segment.
[0137] In an optional embodiment, the header extraction module 50 is configured to receive the i+1th code block of the transport block from the physical layer;
[0138] A header extraction module 50, configured to parse the (i+1)th code block to obtain a second PDU data segment;
[0139] The header extraction module 50 is used to update the parsing progress indication of the transmission block according to the second PDU data segment.
[0140] In an optional embodiment, the first PDU data segment includes: a header of a media intervention control layer, a header of a wireless link layer control protocol, a header of a packet data convergence protocol, a count value of a packet data convergence protocol, and at least one of a PDU of a packet data convergence protocol.
[0141] In an optional embodiment, the first PDU data segment includes the packet data convergence protocol count value;
[0142] A header extraction module 50, configured to read cached data of a header of the packet data convergence protocol according to the parsing progress indication of the transport block;
[0143] The header extraction module 50 is used to parse the cached data of the packet data convergence protocol header and the i-th code block, calculate the packet data convergence protocol count value based on the parsed packet data convergence protocol header, and obtain the first PDU data segment.
[0144] In an optional embodiment, the header extraction module 50 is used to send the packet data convergence protocol count value and the packet data convergence protocol PDU to the packet data convergence protocol layer based on the first PDU data segment including the packet data convergence protocol count value and the packet data convergence protocol PDU.
[0145] In an optional embodiment, the header extraction module 50 is used to configure configuration data, and the configuration data includes at least one of the mapping relationship between logical channels and data resource bearers, entity information of the media access control layer, entity information of the wireless link layer control protocol, and entity information of the packet data convergence protocol.
[0146] Fig.14 A schematic diagram of the structure of a communication device (terminal device or network device) provided by an exemplary embodiment of the present application is shown. The communication device includes: a processor 101, a receiver 102, a transmitter 103, a memory 104 and a bus 105.
[0147] The processor 101 includes one or more processing cores. The processor 101 executes various functional applications and information processing by running software programs and modules.
[0148] The receiver 102 and the transmitter 103 may be implemented as a communication component, which may be a communication chip.
[0149] The memory 104 is connected to the processor 101 via a bus 105 .
[0150] The memory 104 may be used to store at least one instruction, and the processor 101 may be used to execute the at least one instruction to implement each step in the above method embodiment.
[0151] In addition, the memory 104 can be implemented by any type of volatile or non-volatile storage device or a combination thereof. The volatile or non-volatile storage device includes but is not limited to: a magnetic disk or an optical disk, an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a static random access memory (SRAM), a read-only memory (ROM), a magnetic memory, a flash memory, and a programmable read-only memory (PROM).
[0152] Among them, when the communication device is implemented as a terminal device, the processor and transceiver in the communication device involved in the embodiments of the present application can execute the steps performed by the terminal device in any of the methods shown above, which will not be repeated here.
[0153] In a possible implementation manner, when the communication device is implemented as a terminal device,
[0154] The processor is configured to receive, from a physical layer, an i-th code block of a transmission block for carrying a PDU of the media access control layer, wherein the transmission block includes n code blocks, i is a positive integer not greater than n, and n is a positive integer;
[0155] The processor is configured to parse the i-th code block according to the parsing progress indication of the transmission block to obtain a first PDU data segment;
[0156] The processor is used to update the parsing progress indication of the transmission block according to the first PDU data segment.
[0157] In an exemplary embodiment, a computer-readable storage medium is also provided, in which at least one instruction, at least one program, a code set or an instruction set is stored. The at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement the data processing method applied to the media access control layer and executed by the communication device provided in the above-mentioned various method embodiments.
[0158] In an exemplary embodiment, a chip is also provided, which includes a programmable logic circuit and / or program instructions. When the chip runs on a computer device, it is used to implement the data processing method applied to the media access control layer described in the above aspects.
[0159] In an exemplary embodiment, a computer program product is further provided. When the computer program product is executed on a processor of a computer device, the computer device executes the data processing method applied to the media access control layer described in the above aspects.
[0160] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0161] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A data processing method applied to a media access control layer, characterized in that: The method comprises: Receiving, from the physical layer, an i-th code block of a transport block for carrying the PDU of the media access control layer, wherein the transport block includes n code blocks, i is a positive integer not greater than n, and n is a positive integer; Parsing the i-th code block according to the parsing progress indication of the transmission block to obtain a first PDU data segment; updating a parsing progress indication of the transport block according to the first PDU data segment; receiving an i+1th code block of the transport block from the physical layer; Parsing the (i+1)th code block to obtain a second PDU data segment; updating the parsing progress indication of the transport block according to the second PDU data segment; or updating the parsing progress indication of the transport block according to the first PDU data segment and the second PDU data segment; The updating of the parsing progress indication of the transport block according to the first PDU data segment and the second PDU data segment includes: Buffering a bit sequence of the first PDU data segment; Extracting a bit sequence of the second PDU data segment; splicing a bit sequence of the first PDU data segment with a bit sequence of the second PDU data segment; updating the parsing progress indication of the transport block according to a splicing result of the bit sequence of the first PDU data segment and the bit sequence of the second PDU data segment; The parsing progress indication of the transmission block is a field used to indicate the end position of the currently processed code block.
2. The method according to claim 1, characterized in that: The method further comprises: A j-th code block of the transport block is parsed based at least in part on the parsing progress indication, where j is another positive integer different from i and not greater than n.
3. The method according to claim 2, characterized in that Updating the parsing progress indication of the transport block according to the first PDU data segment comprises at least one of the following steps: Based on determining that the first PDU data segment includes a fixed header of a wireless link layer control protocol, updating the parsing progress indication to a first state; Based on determining that the first PDU data segment includes an extended header of a wireless link layer control protocol, updating the parsing progress indication to a second state; Based on determining that the first PDU data segment includes a packet data convergence protocol header, updating the parsing progress indication to a third state; Based on determining that the first PDU data segment includes valid data of a service data unit of a radio link layer control protocol, updating the parsing progress indication to a fourth state; Based on determining that the first PDU data segment includes valid data of the media access control unit, the parsing progress indication is updated to a fifth state.
4. The method according to claim 2, characterized in that: The method further comprises: Based on determining that the parsing object of the media access control layer is the transport block, updating the parsing progress indication to a sixth state.
5. The method according to any one of claims 1 to 4, characterized in that: The first PDU data segment includes: a header of a media intervention control layer, a header of a wireless link layer control protocol, a header of a packet data convergence protocol, a packet data convergence protocol count value, and part or all of at least one field in a PDU of the packet data convergence protocol.
6. The method according to claim 5, characterized in that The first PDU data segment includes the packet data convergence protocol count value; The step of parsing the i-th code block according to the parsing progress indication of the transport block to obtain a first PDU data segment includes: reading cached data of a header of the packet data convergence protocol according to the parsing progress indication of the transport block; The buffered data of the packet data convergence protocol header and the i-th code block are parsed, and the packet data convergence protocol count value is calculated based on the parsed packet data convergence protocol header to obtain the first PDU data segment.
7. The method according to claim 5, characterized in that The method further comprises: Based on the first PDU data segment including the packet data convergence protocol count value and the packet data convergence protocol PDU, the packet data convergence protocol count value and the packet data convergence protocol PDU are sent to a packet data convergence protocol layer.
8. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: Configuration data includes at least one of a mapping relationship between a logical channel and a data resource bearer, entity information of a media access control layer, entity information of a wireless link layer control protocol, and entity information of a packet data convergence protocol.
9. A data processing device applied to a media access control layer, characterized in that: The device comprises: A header extraction module, used to receive, from a physical layer, an i-th code block of a transmission block for carrying a PDU of the media access control layer, wherein the transmission block includes n code blocks, i is a positive integer not greater than n, and n is a positive integer; The header extraction module is used to parse the i-th code block according to the parsing progress indication of the transmission block to obtain a first PDU data segment; The header extraction module is used to update the parsing progress indication of the transmission block according to the first PDU data segment; The header extraction module is used to receive the i+1th code block of the transport block from the physical layer; The header extraction module is used to parse the (i+1)th code block to obtain a second PDU data segment; The header extraction module is used to update the parsing progress indication of the transmission block according to the second PDU data segment; or update the parsing progress indication of the transmission block according to the first PDU data segment and the second PDU data segment; The updating of the parsing progress indication of the transport block according to the first PDU data segment and the second PDU data segment includes: Buffering a bit sequence of the first PDU data segment; Extracting a bit sequence of the second PDU data segment; splicing a bit sequence of the first PDU data segment with a bit sequence of the second PDU data segment; updating the parsing progress indication of the transport block according to a splicing result of the bit sequence of the first PDU data segment and the bit sequence of the second PDU data segment; The parsing progress indication of the transmission block is a field used to indicate the end position of the currently processed code block.
10. A terminal device, characterized in that: The terminal device comprises: a processor; wherein, The processor is configured to receive, from the physical layer, an i-th code block of a transmission block for carrying a PDU of a media access control layer, wherein the transmission block includes n code blocks, i is a positive integer not greater than n, and n is a positive integer; The processor is configured to parse the i-th code block according to the parsing progress indication of the transmission block to obtain a first PDU data segment; The processor is configured to update a parsing progress indication of the transport block according to the first PDU data segment; The processor is configured to receive an i+1th code block of the transport block from the physical layer; The processor is used to parse the (i+1)th code block to obtain a second PDU data segment; The processor is configured to update the parsing progress indication of the transmission block according to the second PDU data segment; or update the parsing progress indication of the transmission block according to the first PDU data segment and the second PDU data segment; The updating of the parsing progress indication of the transport block according to the first PDU data segment and the second PDU data segment includes: Buffering a bit sequence of the first PDU data segment; Extracting a bit sequence of the second PDU data segment; splicing a bit sequence of the first PDU data segment with a bit sequence of the second PDU data segment; updating the parsing progress indication of the transport block according to a splicing result of the bit sequence of the first PDU data segment and the bit sequence of the second PDU data segment; The parsing progress indication of the transmission block is a field used to indicate the end position of the currently processed code block.
11. A computer-readable storage medium, characterized in that: The readable storage medium stores executable instructions, and the executable instructions are loaded and executed by a processor to implement the data processing method applied to the media access control layer as described in any one of claims 1 to 8.
12. A chip, characterized in that: The chip includes a programmable logic circuit or a program, and the chip is used to implement the data processing method applied to the media access control layer as described in any one of claims 1 to 8.