Data cache management method, device, and medium

By acquiring data in a 5G wireless communication system and determining the target logical channel and data subheader according to its type, and buffering it into the target subdata cache area, the problems of large memory consumption and low data processing efficiency caused by the multi-layer protocol stack are solved, and data processing effects with high transmission rate and low latency are achieved.

WO2025118615A1PCT designated stage expired Publication Date: 2025-06-12ZTE CORP

Patent Information

Application Number
PCT/CN2024/106021
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-05
Filing Date
2024-07-17
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

In the scenarios of high transmission rate and low latency requirements, the multi-layer protocol stack leads to large memory consumption and low data processing efficiency.

Method used

By obtaining data and determining the target logical channel and data subheader according to its type, the data subheader and data are cached into the target subdata cache area, reducing data copy and protocol header increase.

Benefits of technology

It effectively reduces memory consumption and data processing delay, improves data processing efficiency, and can meet the requirements of high transmission rates and low latency of future wireless communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024106021_12062025_PF_FP_ABST
    Figure CN2024106021_12062025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to, but is not limited to, the technical field of communications, and provides a data cache management method, a device, and a medium. The data cache management method comprises: acquiring data; on the basis of a data type corresponding to the data, determining a target logic channel and a data sub-header corresponding to the data; on the basis of the target logic channel, determining a target sub-data cache region corresponding to the data in a data cache region; and caching the data sub-header and the data into the target sub-data cache region, the data sub-header being cached in a header field in the target sub-data cache region, and the data being cached in a data field in the target sub-data cache region.
Need to check novelty before this filing date? Find Prior Art

Description

Data cache management method, device and medium

[0001] Cross-references

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on December 5, 2023, with application number 202311665391.4 and titled “Data Cache Management Method, Device and Medium”. The entire contents of the application are incorporated by reference into this application. Technical Field

[0003] The embodiments of the present application relate to the field of communication technology, and in particular to a data cache management method, device, and medium. Background Art

[0004] Currently, 5G-based wireless communication systems typically transmit session-based user data, such as voice call data, video call data, and internet data. Since the 5G user-plane protocol stack typically includes four protocol layers: Service Data Adaptation Protocol (SDAP), Packet Data Convergence Protocol (PDCP), Radio Link Control (RLC), and Medium Access Control (MAC), transmitted data must be processed sequentially by the SDAP, PDCP, RLC, and MAC layers of the user-plane protocol stack. However, as data is processed at each layer of the protocol stack, protocol headers are added, increasing memory consumption and data processing latency. Furthermore, data must be copied when transmitted between protocol layers, which also increases memory consumption and data processing latency. Therefore, related technologies employ data cache management methods across multiple layers of the protocol stack. However, in scenarios with high transmission rates and low transmission latency requirements, this results in high memory consumption and low data processing efficiency.

[0005] Summary of the Invention

[0006] Embodiments of the present application provide a data cache management method, device, and medium.

[0007] In a first aspect, an embodiment of the present application provides a data cache management method, the method comprising: acquiring data; determining a target logical channel and a data sub-header corresponding to the data based on a data type corresponding to the data; determining a target sub-data cache area corresponding to the data in a data cache area based on the target logical channel; caching the data sub-header and the data into the target sub-data cache area, wherein the data sub-header is cached in a header field in the target data cache area, and the data is cached in a data field in the target sub-data cache area.

[0008] In a second aspect, an embodiment of the present application provides an electronic device comprising: one or more processors; a memory on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the data cache management method described in the first aspect above.

[0009] In a third aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the data cache management method as described in the first aspect above. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The accompanying drawings are used to provide a further understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.

[0011] FIG1 is a schematic diagram of data processing based on a multi-layer protocol stack in the related art;

[0012] FIG2 is a schematic diagram of a first flow chart of a data cache management method provided by an embodiment of the present application;

[0013] FIG3 is a schematic diagram of the process of determining the data sub-header corresponding to the data packet in step S220 in FIG2 ;

[0014] FIG4 is a schematic diagram of the process of determining the data sub-header corresponding to the data block in step S220 in FIG2 ;

[0015] FIG5 is a schematic diagram of a flow chart of step S220 in FIG2 regarding determining a data sub-header corresponding to a variable-length MAC-CE;

[0016] FIG6 is a schematic diagram of a flow chart of step S220 in FIG2 regarding determining a data sub-header corresponding to a fixed-length MAC-CE;

[0017] FIG7 is a schematic diagram of a structure for managing cached data by occupying an LCH according to an embodiment of the present application;

[0018] FIG8 is a schematic structural diagram of a valid area in a sub-data buffer corresponding to a data block according to an embodiment of the present application;

[0019] 9 is a schematic structural diagram of a valid area in a sub-data buffer corresponding to a data packet according to an embodiment of the present application;

[0020] FIG10 is a schematic diagram of the structure of a transport block provided in an embodiment of the present application;

[0021] FIG11 is a schematic diagram of a specific system architecture of a data transmitting terminal provided in an embodiment of the present application;

[0022] FIG12 is a second flow diagram of a data cache management method according to an embodiment of the present application;

[0023] FIG13 is a schematic diagram of the structure of a HARQ buffer area provided in an embodiment of the present application;

[0024] FIG14 is a schematic structural diagram of an embodiment of the present application when HARQ data includes two sub-transport blocks corresponding to logical channels LCH0 and LCH1;

[0025] FIG15 is a schematic diagram of the structure of a data subheader when the space of the HARQ grant is sufficient to transmit the HARQ data according to an embodiment of the present application;

[0026] FIG16 is a schematic diagram of the structure of a data subheader when data in the HARQ buffer area needs to be segmented, provided by an embodiment of the present application;

[0027] FIG17 is a schematic diagram of a first state transition when rewriting the state label of the HARQ ID according to an embodiment of the present application;

[0028] FIG18A is a schematic diagram of the structure of a data sub-header when data is not segmented, provided by an embodiment of the present application;

[0029] FIG18B is a schematic diagram of the structure of a data sub-header when data is segmented according to an embodiment of the present application;

[0030] FIG19 is a schematic diagram of a second state transition when rewriting the state label of the HARQ ID according to an embodiment of the present application;

[0031] FIG20 is a schematic diagram of a third state transition when rewriting the state label of the HARQ ID according to an embodiment of the present application;

[0032] FIG21 is a schematic diagram of a fourth state transition when rewriting the state label of the HARQ ID according to an embodiment of the present application;

[0033] FIG22 is a schematic diagram of the device structure of the electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0034] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0035] It should be understood that in the description of the embodiments of the present application, if there is a description of "first", "second", etc., it is only for the purpose of distinguishing technical features, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features. "At least one" means one or more, and "more" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent the existence of A alone, the existence of A and B at the same time, and the existence of B alone. Among them, A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" and similar expressions refer to any group of these items, including any group of single or plural items. For example, at least one of a, b and c can represent: a, b, c, a and b, a and c, b and c, or a, b and c, where a, b, c can be single or multiple.

[0036] In addition, the technical features involved in each embodiment of the present application described below can be combined with each other as long as they do not conflict with each other.

[0037] To facilitate understanding of the solutions of the embodiments of the present application and to provide a clear and concise description of the following embodiments, a brief introduction to the relevant technologies is first given:

[0038] MAC: This refers to the entity responsible for processing and managing the Media Access Control (MAC) protocol in wireless access technologies in wireless communication systems such as Long Term Evolution (LTE) and 5G. MAC controls and manages physical layer resources to achieve efficient transmission and scheduling of user data while ensuring network performance and efficiency. A MAC Control Element (MAC-CE) typically refers to control information sent by a base station or user equipment (UE) in a wireless communication system.

[0039] Air interface transmission refers to the wireless interface, or radio channel, in wireless communication systems. Air interface transmission is the physical transmission medium used to transmit wireless signals in mobile communications. In mobile communication systems, air interface transmission is used for bidirectional wireless signal transmission between mobile devices (such as mobile phones) and base stations. Air interface transmission is the most critical and fundamental component of mobile communication systems, carrying voice, data, and various other services.

[0040] A Protocol Data Unit (PDU) is a unit of data passed from one protocol layer to another in a communications network. In the 5G user plane model, each protocol layer adds specific header information during data processing to form a PDU for transmission. At the receiving end, this header information is removed, resulting in the original service data.

[0041] Currently, 5G-based wireless communication systems typically transmit session-based user data, such as voice call data, video call data, and internet data. Since the 5G user plane protocol stack typically includes four protocol layers: Service Data Adaptation Protocol (SDAP), Packet Data Convergence Protocol (PDCP), Radio Link Control (RLC), and Medium Access Control (MAC), transmitted data must be processed sequentially by the SDAP, PDCP, RLC, and MAC layers of the user plane protocol stack. However, as data is processed at each layer of the protocol stack, a protocol header is added. As shown in Figure 1, for Internet Protocol (IP)-based data (such as IP packet n, IP packet n+1, etc.), when a multi-layer protocol stack is used for data processing, protocol headers (i.e., the protocol header H added at each layer) are added to the SDAP, PDCP, RLC, and MAC layers, and PDU data packets are output. On the sending end, data flows from top to bottom, ultimately being processed by the MAC layer, which then outputs the MAC PDU to the physical layer (PHY) before transmitting it over the air interface. Therefore, related technologies tend to increase memory consumption and data processing latency by adding protocol headers to each layer of the protocol stack.

[0042] Existing wireless communication systems (such as 5G) have an air interface transmission latency of 1 millisecond and a peak transmission rate of 10 Gbit / s (10 Gbit / s, meaning 10 Gbits of data are transmitted per second). Future wireless communication systems (such as 6G) will support new services such as AI, perception, and computing, and will also support highly reliable and low-latency services. This requires air interface transmission latency to be reduced to 0.1 milliseconds and a peak transmission rate to be increased to 100 Gbit / s. This means that 6G will require a performance improvement of more than 10 times compared to 5G. However, related technologies tend to increase memory consumption and data processing latency by adding protocol headers to each layer of the protocol stack. Furthermore, data needs to be copied when it is transmitted between protocol layers, which also increases memory consumption and data processing latency. Therefore, as future wireless communication systems support new services such as AI, perception, and computing, and their application scenarios expand to various vertical industries, they will require higher data transmission rates and lower data processing latency. However, the existing technology of multi-layer protocol stack processing data header separately can no longer meet the future data processing performance requirements in scenarios with higher transmission rates and lower transmission delay requirements.

[0043] In order to solve the above problems, an embodiment of the present application provides a data cache management method, which can reduce the number of data copies in scenarios with higher transmission rate and lower transmission delay requirements, thereby reducing memory consumption and effectively improving data processing capabilities.

[0044] The embodiments described herein may be implemented in a communication system, such as at least one of the following systems: Global System for Mobile Communications (GSM) or any other second generation cellular communication system, Universal Mobile Telecommunications System (UMTA, 3G) based on basic Wideband Code Division Multiple Access (W-CDMA), High-Speed ​​Packet Access (HSPA), Long Term Evolution (LTE), Advanced LTE, systems based on IEEE 802.11 specifications, systems based on IEEE 802.15 specifications, and / or fifth generation (5G) mobile or cellular communication systems; and future mobile communication systems. However, the embodiments are not limited to the systems given by the above examples, but those skilled in the art may apply the solutions to other communication systems having the necessary properties.

[0045] In the data cache management method of the embodiment of the present application, as shown in FIG2 , the implementation process of the data cache management method provided in the embodiment of the present application may include but is not limited to the following steps S210 to S240. Each step is described in sequence below:

[0046] Step S210: Acquire data.

[0047] In one embodiment, the data type corresponding to the data includes one of the following: a data packet; a data block; a MAC-CE of variable length; or a MAC-CE of fixed length.

[0048] The data packets described in the embodiments of this application are data sent by a transmitter as packets. These packets have corresponding sequence numbers (SNs). The receiver can receive the packets in sequence based on the SNs and use the SNs to notify the transmitter that the data has been correctly received. Specifically, the data packets may include IP packets, higher-layer signaling, and packets generated within Layer 2 (i.e., the data link layer).

[0049] The data blocks described in the embodiments of the present application may specifically be artificial intelligence (AI) related data, perception data, or computing service data in a wireless communication system, or other data generated within Layer 2. The size of the data block may vary according to the requirements of the specific storage system or transmission protocol and may not be limited by the size of the Ethernet frame. Therefore, the main difference between a data packet and a data block lies in the different application areas and the amount of data.

[0050] The variable-length MAC-CE described in the embodiments of this application means that the length of the MAC-CE is not fixed and data can be dynamically increased or decreased as needed. The use of a variable-length MAC-CE can flexibly transmit control information of different lengths while ensuring transmission efficiency.

[0051] The fixed-length MAC-CE described in the embodiments of this application means that the length of the MAC-CE is fixed and the data cannot be dynamically increased or decreased. The fixed-length MAC-CE can make the transmission process simpler and more reliable, but may waste certain transmission resources.

[0052] It should be noted that the embodiments of the present application do not specifically limit the specific protocol used for the data to be transmitted. The data cache management method of the present application can support segmented transmission of data.

[0053] Step S220: Determine the target logical channel and data subheader corresponding to the data according to the data type corresponding to the data.

[0054] It is understandable that the data in this case is the data described in the above embodiment, which will not be described in detail here. The data type refers to the type determined based on the storage unit of the data.

[0055] It should be noted that a logical channel (LCH) is a channel used to represent different types of communication information flows in a communication system. In mobile communication systems, different logical channels are used to transmit different types of data, such as voice, control signaling, and user data. These logical channels are mapped to transport channels for efficient data transmission and management in the communication system. The target logical channel represents the logical channel corresponding to the acquired data to be transmitted.

[0056] It's important to note that a data subheader is additional information added to the data header to describe the data, depending on the data type. It typically includes control information such as the data type, size, and transmission priority. The content and format of the data subheader are typically defined by the communication protocol or system specification.

[0057] In one embodiment, as shown in FIG3 , step S220 may include but is not limited to the following steps S310 to S320 , each of which is described in turn below:

[0058] Step S310: When the data type corresponding to the data is a data packet, determine the target logical channel corresponding to the data from the first type of logical channel, and determine the cache location of the data in the target logical channel according to the SN corresponding to the data, wherein the first type of logical channel includes at least one logical channel corresponding to the data packet classification.

[0059] It is understood that the first type of logical channel refers to a set of logical channels that can be selected when the data type is a data packet. The first type of logical channel may include at least one logical channel corresponding to the data packet classification. This application does not specifically limit the number of logical channels included in the first type of logical channel.

[0060] It should be noted that the sequence number (SN) is used to indicate the number corresponding to the cache location of the data packet in the target logical channel. The length of the SN field can be configured through Radio Resource Control (RRC) signaling and is a radio bearer-level parameter. The length of the SN field can be 6 bits, 12 bits, or 18 bits, etc., and is not specifically limited here.

[0061] Step S320: Determine the data sub-header corresponding to the data. The data sub-header includes at least the following information: an ID corresponding to the target logical channel, an SN corresponding to the data, and segmentation information of the data.

[0062] It can be understood that the ID corresponding to the target logical channel refers to a tag used to determine the type of logical channel corresponding to the sub-transmission block. The type of the sub-transmission block is related to the value of the logical channel ID field, that is, the type of the sub-transmission block can be determined by the value of the logical channel ID field. The value of the logical channel ID field refers to the numerical value used to mark the logical channel (Logical CHannel, LCH) into which the data is divided. For example, the types of sub-transmission blocks include three categories, and each type of sub-transmission block can correspond to multiple logical channels. Each type of sub-transmission block corresponds to a data sub-header format, and the logical channel ID fields corresponding to the three data sub-headers can be set to 3 different values, such as 0, 1, 2, etc., which are not specifically limited here.

[0063] It should be noted that the value of the target logical channel ID field refers to the value used to mark the logical channel (Logical CHannel, LCH) into which the data is divided.

[0064] It should be noted that the SN corresponding to a data packet refers to the storage location of the data packet in the data buffer. The segmentation information (SI) of the data is used to indicate whether the data is original data or a segment within the original data. Therefore, based on the value of the segmentation information in the corresponding SI field, it can be determined whether the data is original data, the first segment, an intermediate segment, or the last segment.

[0065] It should be noted that the data sub-header also includes at least one of the following information: segment location information of the data; and length of the data.

[0066] It can be understood that the segmented position information of the data refers to the information used to indicate the position of the data segment in the data buffer, that is, the position of the first byte of the data in the data buffer. The segmented position information of the data is recorded in the segment offset (SO) field of the data subheader, and the length of this field in a data subheader can be 16 bits. In the first byte of the data buffer, the SO value is 0, that is, the numbering starts from 0. Therefore, according to the value of the SI field, it can be determined whether the data subheader carries the SO field. For example, when the value of the SI field indicates that the data is not segmented data, the data subheader does not carry the SO field; when the value of the SI field indicates that the data is the first data segment of the original data, the data subheader does not carry the SO field; when the value of the SI field indicates that the data is the middle segment or the last segment of the original data, the SO field is carried. The length of the data refers to the length information of the corresponding data or data segment.

[0067] In another embodiment, as shown in FIG. 4 , step S220 may include but is not limited to the following steps S410 to S420 . Each step is described in sequence below:

[0068] Step S410: When the data type corresponding to the data is a data block, determine a target logical channel corresponding to the data from the second type of logical channels, wherein the second type of logical channels includes at least one logical channel corresponding to a data block classification.

[0069] It is understood that the second type of logical channel refers to a set of logical channels that can be selected when the data type is data block. The second type of logical channel may include at least one logical channel corresponding to the data block classification. This application does not specifically limit the number of logical channels included in the second type of logical channel.

[0070] It should be noted that, when sending according to the entire data memory block, there is no need to distinguish each packet of data, that is, the data at this time does not have SN.

[0071] Step S420: Determine the data sub-header corresponding to the data. The data sub-header includes at least the following information: an ID corresponding to the target logical channel and segmentation information of the data.

[0072] It is understandable that the specific meanings of the ID and segmentation information corresponding to the target logical channel have been described in detail in the above embodiments, except that the data at this time is of data block type, and will not be repeated here to save space.

[0073] It should be noted that the data sub-header also includes at least one of the following information: segment location information of the data; and length of the data.

[0074] It can be understood that the specific meaning of the segmented position information of the data at this time has been explained in detail in the above embodiment, and the specific meaning of the length of the data has also been explained in detail in the above embodiment. It is just that the data packet type data is replaced by data block type data. In order to save space, it will not be repeated here.

[0075] In another embodiment, as shown in FIG. 5 , step S220 may include but is not limited to the following steps S510 to S520 , and each step is described in sequence below:

[0076] Step S510: When the data type corresponding to the data is a variable-length MAC-CE, determine the target logical channel corresponding to the data from the third type of logical channels, where the third type of logical channels includes at least one logical channel classified corresponding to the variable-length MAC-CE.

[0077] It is understood that the third type of logical channel refers to a set of selectable logical channels when the data type is a variable-length MAC-CE. The third type of logical channel may include at least one logical channel corresponding to a variable-length MAC-CE classification. This application does not specifically limit the number of logical channels included in the second type of logical channel.

[0078] Step S520: Determine the data sub-header corresponding to the data. The data sub-header includes at least the following information: an ID corresponding to the target logical channel and segmentation information of the data.

[0079] It is understandable that the specific meanings of the ID and segmentation information corresponding to the target logical channel have been described in detail in the above embodiment, except that the data at this time is MAC-CE type data of variable length. In order to save space, they will not be repeated here.

[0080] It should be noted that the data sub-header also includes at least one of the following information: segment location information of the data; and length of the data.

[0081] It can be understood that the specific meaning of the segmentation position information of the data at this time has been explained in detail in the above embodiment, and the specific meaning of the length of the data has also been explained in detail in the above embodiment. It is just that the data packet type data is replaced with variable-length MAC-CE type data. In order to save space, it will not be repeated here.

[0082] In another embodiment, as shown in FIG6 , step S220 may include but is not limited to the following steps S610 to S620 , and each step is described in sequence below:

[0083] Step S610: When the data type corresponding to the data is a fixed-length MAC-CE, determine the target logical channel corresponding to the data from the fourth type of logical channels, where the fourth type of logical channels includes at least one logical channel classified corresponding to a fixed-length MAC-CE.

[0084] It is understood that the third type of logical channel refers to a set of selectable logical channels when the data type is a variable-length MAC-CE. The third type of logical channel may include at least one logical channel corresponding to a variable-length MAC-CE classification. This application does not specifically limit the number of logical channels included in the second type of logical channel.

[0085] Step S620: Determine the data sub-header corresponding to the data, where the data sub-header includes at least the following information: an ID corresponding to the target logical channel.

[0086] It can be understood that the ID corresponding to the target logical channel has been described in detail in the above embodiment, but the data at this time is MAC-CE type data of variable length. In order to save space, it will not be repeated here.

[0087] Step S230: Determine the target sub-data buffer area corresponding to the data in the data buffer area according to the target logical channel.

[0088] It should be noted that the data buffer refers to a structure used to cache data. The data cached in the data buffer can be IP data packets, high-level signaling, layer 2 internal data, etc. After these data reach the forwarding plane protocol stack, they need to be stored in this data buffer. Each functional component accesses the data buffer through the data bus or other data access interface. Data includes two types of data: the first type includes SN, which can be sent per packet, such as IP data packets, high-level signaling, and small data packets generated within layer 2, which are called data packets; the second type does not include SN, that is, it is sent as an entire data memory block without distinguishing between each packet of data, such as large data blocks generated within layer 2, which are called data blocks.

[0089] It should be noted that, for a wireless communication system, layer 2 internal data generally refers to data processed and generated within a user plane or a forwarding plane.

[0090] It should be noted that the present application can use radio bearers (Radio Bearer) or logical channels to manage cached data. After the data arrives at the forwarding plane protocol stack, the target logical channel corresponding to the data is determined (i.e., matched to a certain LCH) according to the classification mapping rules and the data type corresponding to the data, and the data is stored in the position corresponding to the target logical channel. If it is a data block, the second type of logical channel is stored under the corresponding LCH. If it is a data packet, it is stored under the SN of the LCH corresponding to the first type of logical channel according to the order of the incoming packets, and saved starting from SN 0. The bit length of the SN can be configured through signaling. For example, please refer to Figure 7, which shows a structural diagram of using LCH to manage cached data. In the case where the data type corresponding to the data is a data block, the target logical channel corresponding to the data is determined from the second type of logical channel (i.e., logical channels LCH0 to LCH9), and the data is stored in the position corresponding to the target logical channel. If the data type corresponding to the data is a data packet, the target logical channel corresponding to the data is determined from the first type of logical channels (i.e., logical channels LCH10 to LCH20), the buffer location of the data in the target logical channel is determined based on the SN corresponding to the data, and the data is stored in the buffer location corresponding to the target logical channel. Where x represents the maximum SN number in the corresponding logical channel LCH10, and y represents the maximum SN number in the corresponding logical channel LCH20.

[0091] It should be noted that the data buffer includes multiple sub-data buffers. Each sub-data buffer corresponds to a logical channel, and the data sub-headers and data cached in the sub-data buffer constitute the cached data. The target sub-data buffer refers to the sub-data buffer corresponding to the target logical channel.

[0092] It should be noted that for a data block type sub-data buffer, a sub-data buffer includes a header field and a data field. The memory of the sub-data buffer can be statically configured according to the maximum header field length and the data field length, or it can be dynamically applied according to the actual data volume. When a data block arrives, the data is mapped to the corresponding target logical channel, and the generated header field and data field are stored in the corresponding locations. As shown in Figure 8, since some fields in the header field have variable lengths, the actual effective header field may not occupy the entire corresponding memory. At this time, the effective length of the header field of the sub-data buffer is less than the length of the initially set header field.

[0093] It should be noted that for the sub-data buffer of the data packet type, a sub-data buffer includes a header field and a data field. A target logical channel can correspond to multiple sub-data buffers based on SN. The memory of the sub-data buffer can be statically configured according to the length of the maximum header field and the length of the data field, or it can be dynamically applied according to the actual data volume. When a data packet arrives, the data is mapped to the SN corresponding to the corresponding target logical channel, and the generated header field and data field are stored in the corresponding positions respectively. As shown in Figure 9, since the length of some fields in the header field is variable, the actual effective header field may not occupy the entire corresponding memory. At this time, the effective length of the header field in the sub-data buffer is less than the length of the header field initially set.

[0094] It should be noted that after determining the target logical channel and data sub-header corresponding to the data, the present application can construct a sub-transmission block based on the corresponding data sub-header and data in the target sub-data buffer corresponding to the target logical channel. The sub-transmission block includes a data field and a data sub-header located before the data field. The data field carries the data, and the data sub-header carries a logical channel ID field. The logical channel ID field is used to record the ID corresponding to the target logical channel. A sub-transmission block is encapsulated by the data and the corresponding data sub-header. One or more sub-transmission blocks constitute a transmission block.

[0095] It should be noted that a transport block (TB) can include multiple sub-transport blocks, allowing for simultaneous transmission of multiple data items. Combining multiple sub-transport blocks into a single TB effectively improves data processing efficiency. Furthermore, the length of a TB can be dynamically scheduled and pre-configured, allowing the receiving end to know the length of the received TB through authorization.

[0096] It should be noted that a transmission block contains at least one sub-transmission block of one type; a transmission block may contain 0, 1 or more sub-transmission blocks of the three types, and when it contains multiple sub-transmission blocks, the order in which the multiple sub-transmission blocks appear in a transmission block is not specifically limited.

[0097] It should be noted that a sub-transmission block includes a data field and a data sub-header located before the data field. As shown in Figure 10, a transmission block includes multiple sub-transmission blocks (subTBs). After obtaining multiple data to be transmitted (such as variable-length data Data1, variable-length data Data2, and fixed-length data Data3), the data to be transmitted is placed in the data field. The logical channel ID field corresponding to each data is determined based on the logical channel corresponding to the data to be transmitted. The data sub-header is also determined based on the logical channel ID field. The sub-transmission block corresponding to the data is constructed based on the data field and the data sub-header located before the data field. For example, based on the variable-length data Data1 and the corresponding data sub-header Header1, sub-transmission block subTB1 is constructed; based on the variable-length data Data2 and the corresponding data sub-header Header2, sub-transmission block subTB2 is constructed; based on the fixed-length data Data3 and the corresponding data sub-header Header3, sub-transmission block subTB3 is constructed.

[0098] It should be noted that variable-length data refers to a data field carrying data of variable length, while fixed-length data refers to a data field carrying data of fixed length.

[0099] It should be noted that, in one possible embodiment of the present application, the last sub-transmission block in a transport block may contain variable-length data without a length field. Because the corresponding field lengths have already been determined for the previous sub-transmission blocks, given a fixed transport block length, the length of the data field carried in the last sub-transmission block is the result of subtracting the lengths of all previous sub-transmission blocks from the transport block length.

[0100] It should be noted that within a transport block, the last sub-transport block is not limited to carrying a fixed-length data field. Sub-transport blocks carrying fixed-length data fields may also exist in the middle of the transport block to meet different service requirements. For example, a fixed-length MAC-CE carries a sub-transport block carrying a fixed-length data field.

[0101] It should be noted that, after constructing the sub-transmission block based on the target logical channel and the data sub-header, the data cache management method of the present application further includes: constructing a transmission block based on multiple sub-transmission blocks.

[0102] It is understood that since the size of each data transmission grant is fixed, in order to ensure that the transmission block meets the grant size requirements, this application may add a padding (opt) field after the last sub-transmission block. The padding (opt) field refers to additional data added to meet specific length or format requirements. This padding is usually meaningless data that is only used to fill the length or format of the data packet to meet the protocol requirements.

[0103] It should be noted that, in a transmission block, the present application does not impose any specific restrictions on the order of sub-transmission blocks composed of multiple types of data sub-headers, and can be flexibly adjusted according to actual product applications.

[0104] The advantage of the above embodiment is that, to avoid the problem of increased memory consumption caused by the existing multi-layer protocol stack requiring the addition of protocol headers at each layer of the protocol stack, this application simplifies the existing SDAP, PDCP, RLC, and MAC protocol processing process into a single data sub-header, and unifies the data buffers of the existing SDAP, PDCP, RLC, and MAC protocols into a single data buffer. Based on this, each functional component can directly read this unified data buffer without having to copy data multiple times, greatly improving data processing efficiency and effectively ensuring the extremely high transmission rate and extremely low transmission latency requirements of future wireless communication systems.

[0105] It should be noted that this application simplifies the existing method of processing and storing data separately for the four-layer SDAP, PDCP, RLC, and MAC protocols into functional components, eliminating the need to distinguish between protocol layers. Based on this, the various components of this application can be flexibly configured according to the service type, and the protocol header is only added once to the data. Secondly, this application adopts a unified data storage management method. Instead of defining multiple data cache buffers, it defines a unified data buffer, allowing each functional component to directly read this unified data storage area without having to copy data multiple times. This approach can effectively reduce the number of times data sub-headers are added and the data copy process, greatly improving data processing efficiency, thereby better ensuring the extremely high transmission rate and extremely low transmission latency requirements of future wireless communication systems. Figure 11 shows a schematic diagram of the specific system architecture of the data transmitter. The functional components include Quality of Service flow mapping (QoS flow mapping), header compression, security processing (Security), group transport blocks (i.e., group TBs), and automatic repeat request (ARQ) / hybrid automatic repeat request (HARQ). The data cache components include the data buffer, HARQ buffer, and coder buffer. Data sources can include traditional IP packets, high-layer signaling, and L2 internal data (for example, new AI, perception, and computing power data may come from L2). The data cached in the HARQ buffer is determined based on the data cached in the data buffer. The data in the data buffer and HARQ buffer will be sent to the coder buffer, which will be encoded and sent to the PHY before being sent out through the air interface.

[0106] It should be noted that, for the TB grouping component, this application can effectively reduce online processing and improve data processing efficiency by directly grouping the TB when sending data and only adding the TB subheader once.

[0107] It should be noted that, as shown in Figure 11, after the IP packet enters the forwarding system, QoS flow mapping is first performed. After the data is matched to a certain bearer or logical channel, it is saved in the target sub-data buffer area of ​​the SN corresponding to the target logical channel; then, header compression (if header compression is configured) and security processing are performed offline; after receiving authorization, online TB grouping begins based on the ARQ / HARQ results; and the TB is encoded and sent to the PHY. After the high-level signaling enters the forwarding system, it is saved in the target sub-data buffer area of ​​the SN corresponding to the target logical channel; then, security processing is performed offline; after receiving authorization, online TB grouping begins based on the ARQ / HARQ results, and the TB is encoded and sent to the PHY. Therefore, based on this system, the functional components of this application directly read the contents of the data buffer area. In addition, the internal data of L2 (i.e., layer 2) distinguishes whether SN needs to be added (small data packets usually need to add SN, large data blocks usually do not need to add SN) and whether header compression needs to be performed. If a SN is added, the data is stored in the target sub-data buffer corresponding to the target logical channel's SN. If no SN is added, the data is stored directly in the target sub-data buffer of the target logical channel. Header compression (if configured) and security processing are then performed offline (security processing may also be performed online). After receiving authorization, online TB assembly begins based on the ARQ / HARQ results. The TB is encoded and sent to the PHY. Therefore, each functional component directly reads the data buffer.

[0108] Step S240: Cache the data sub-header and data into the target sub-data cache area, wherein the data sub-header is cached in the header field of the target sub-data cache area, and the data is cached in the data field of the target sub-data cache area.

[0109] It can be understood that the specific structure of the target sub-data buffer area has been described in detail in the above embodiment and will not be repeated here.

[0110] The advantage of the above embodiment is that this application unifies the data buffers of the existing four-layer protocols SDAP, PDCP, RLC, and MAC into a single data buffer. At the same time, the data status of each data is recorded. Based on this, each functional component can directly read this unified data area without having to copy data multiple times, greatly improving data processing efficiency and effectively ensuring the extremely high transmission rate and extremely low transmission latency requirements of future wireless communication systems.

[0111] In an embodiment of the present application, data is obtained and the target logical channel and data sub-header corresponding to the data are determined according to the data type corresponding to the data. According to the target logical channel, the target sub-data buffer corresponding to the data in the data buffer is determined. The data sub-header and the data are cached in the target sub-data buffer, wherein the data sub-header is cached in the header field in the target sub-data buffer, and the data is cached in the data field in the target sub-data buffer. The present application stores the target logical signal and the data sub-header corresponding to the data together in the target sub-data buffer, which can effectively reduce memory consumption and data processing delay compared to the existing method of adding a protocol header when processing each layer of the protocol stack. Moreover, at this time, each functional component can read the data in the data field from the target sub-data buffer without copying the data multiple times, which greatly improves the data processing efficiency. Therefore, the present application can reduce the number of data copies to reduce memory consumption, and effectively improve the data processing capability, thereby ensuring the extremely high transmission rate and extremely low transmission delay requirements of future wireless communication systems.

[0112] In one embodiment, as shown in FIG. 12 , the implementation process of a data cache management method provided in an embodiment of the present application may further include but is not limited to the following steps S1210 to S1220 . Each step is described in sequence below:

[0113] Step 1210: When it is determined based on the HARQ ID and data transmission authorization that the data to be sent exists in one or more logical channels, corresponding buffered data is obtained from one or more sub-data buffers to generate HARQ data; the HARQ data is buffered in the HARQ buffer.

[0114] It should be noted that HARQ data refers to a collection of corresponding cached data obtained from one or more sub-data buffers based on the HARQ ID and data transmission authorization. As shown in Figure 11, HARQ data refers to data stored in the HARQ buffer. The sub-data buffer refers to a structure used to store cached data. The HARQ buffer is used to store the assembled pre-encoded transport block data, which may need to be read when performing HARQ retransmission. The data in the HARQ buffer is managed and stored based on the HARQ ID. As shown in Figure 13, the HARQ ID is used to indicate the label of the HARQ area into which the HARQ data is divided. For example, the HARQ ID of a HARQ buffer includes HARQ 0, HARQ 1, etc. Therefore, for a separate HARQ buffer, the HARQ data is stored according to the HARQ ID, and the effective data length of the HARQ is the length of the effective data in the HARQ buffer.

[0115] It is understood that after determining that the data to be sent includes data of one or more logical channels, the corresponding buffered data is obtained from one or more sub-data buffers in the data buffer to obtain HARQ data. In this case, the corresponding buffered data in the multiple sub-data buffers is copied to obtain the HARQ data.

[0116] Step 1220: Determine a target sub-HARQ buffer in the HARQ buffer according to the HARQ ID, and cache the HARQ data in the target sub-HARQ buffer.

[0117] It is understood that after obtaining the HARQ data and the HARQ ID corresponding to the data in the HARQ buffer, the target sub-HARQ buffer corresponding to the HARQ data in the HARQ buffer is determined based on the HARQ ID, and the HARQ data is cached in the target sub-HARQ buffer. The target sub-HARQ buffer refers to a storage area for storing HARQ data corresponding to the HARQ ID.

[0118] In one embodiment, the implementation process of a data cache management method provided in an embodiment of the present application may also include the following steps: when it is determined based on the HARQ ID and data transmission authorization that there is data of only one logical channel for the data to be sent, the corresponding cache data is obtained from a sub-data cache area to generate HARQ data; the HARQ data is cached in the HARQ cache area.

[0119] It should be noted that, depending on different usage scenarios, HARQ can define a separate HARQ buffer area or directly occupy the data buffer area to store HARQ data. In other words, the corresponding HARQ data is obtained from the HARQ buffer area or the data buffer area according to the HARQ ID.

[0120] It should be noted that when HARQ requires merging multiple logical channels, HARQ generally does not directly occupy the data buffer area. HARQ data needs to be stored in a separate HARQ buffer area. As shown in Figure 14, the HARQ data includes two sub-transport blocks corresponding to logical channels LCH0 and LCH1. Multiple sub-transport blocks of logical channels LCH0 and LCH1 are obtained from the data buffer area, and data is copied and merged to obtain merged HARQ data (i.e., data containing LCH0 and LCH1). The merged HARQ data is then cached in the location corresponding to HARQ 0 in HARQ buffer area 0.

[0121] It should be noted that for new 6G data blocks (such as AI, perception, computing power and other big data), this type of data is often generated within the system and the data volume itself is relatively large. One authorization is not enough to transmit the entire data block, so multi-LCH multiplexing is generally not required. Therefore, HARQ can directly occupy the data buffer area to reduce one data copy, thereby improving data throughput. Based on this, when the HARQ data includes a sub-transmission block corresponding to a logical channel, the corresponding HARQ data is obtained from the data buffer area.

[0122] It should be noted that for scenarios where the corresponding HARQ data is directly obtained from the data buffer, since the HARQ valid data length is not the length of the valid data in the data buffer, it is necessary to record the HARQ valid data length. If the HARQ grant size is large enough to transmit the valid data in the data buffer, then the entire data can be transmitted at once. If the HARQ grant size is not large enough, the valid data in the data buffer needs to be segmented. Therefore, there are two specific cases:

[0123] Case 1: The HARQ valid data length is longer than the valid data in the data buffer. For example, if the HARQ grant is large, a padding field is added to the end to record the length of the HARQ valid data. The padding field refers to additional data added to meet specific length or format requirements. This padding is usually meaningless data that simply fills the packet length or format to meet protocol requirements. As shown in Figure 15, if the HARQ grant size is sufficient to transmit the valid data in the data buffer, the entire data can be transmitted at once. When the header does not occupy the entire header field memory, the HARQ buffer is discontinuous; when the header fills the header field memory, the HARQ buffer is continuous. Therefore, for latency-sensitive data packets (such as those in the Internet of Vehicles, smart factories, and smart healthcare), which are often small in size but highly sensitive to latency and reliability, HARQ can directly obtain the corresponding HARQ data from the data buffer, eliminating data copies and reducing data processing latency.

[0124] Case 2: The length of HARQ valid data is shorter than the valid data in the data buffer. For example, the HARQ grant is not large enough and the data needs to be sent in segments. Therefore, in this case, the length of each HARQ valid data needs to be recorded. As shown in Figure 16, the data in the data buffer needs to be segmented. The HARQ data at this time includes the segmented data corresponding to HARQ buffer 0 and the segmented data corresponding to HARQ buffer 1. Since no separate HARQ buffer is occupied and data is obtained directly from the data buffer, the number of data copies is reduced. When the header does not fill the entire header field memory, the HARQ buffer is discontinuous; when the header fills the header field memory, the HARQ buffer is a continuous memory. In addition, for the second and subsequent data segments, the corresponding data sub-header needs to be saved separately (such as the header of HARQ buffer 1 in Figure 16), which can be saved by HARQ ID for easy search.

[0125] It can be understood that after obtaining the corresponding HARQ data, in conjunction with Figure 11, the HARQ data is sent to the coding buffer area, and after the data therein is encoded, it is sent to the PHY and then sent out through the air interface.

[0126] It should be noted that for variable-length MAC-CE, in the existing New Radio (NR) protocol, MAC-CE cannot be sent in segments, but the new transport block structure proposed in this application constructs the corresponding sub-transport block based on the type of variable-length MAC-CE, so that the variable-length MAC-CE can also be sent in segments.

[0127] In one embodiment, the cached data or data segments in each sub-data cache area have corresponding status tags. The data segments represent data segments when the cached data is transmitted in segments. The status tags have one of the following values:

[0128] The first value indicates that there is no cached data in the sub-data cache;

[0129] The second value indicates that the sub-data buffer has cached data, and the cached data or data segments are in a waiting state;

[0130] The third value indicates that the buffered data or data segment in the sub-data buffer is in a state of being sent and waiting for HARQ ACK feedback information;

[0131] The fourth value indicates that the buffered data or data segments in the sub-data buffer area are in a state of having been sent and waiting for ARQ ACK feedback information.

[0132] It should be noted that for the data cache management method proposed in this application, a cache status marking mechanism is required to record whether the data in the cache is valid, whether it has been sent, whether it has been confirmed to be received by the other party, etc. Based on this, the cache status marking mechanism of this application needs to distinguish between non-confirmed transmission data (non-confirmed transmission refers to the process of not needing to receive a confirmation reply from the other party after data is sent) and confirmed transmission data (confirmed transmission refers to the process of receiving a confirmation reply from the other party after data is sent), as well as whether HARQ directly occupies the data cache area (if HARQ directly occupies the data cache area, then the status of the HARQ ID also needs to be recorded).

[0133] It should be noted that the first value indicates that there is no valid cached data in the sub-data buffer, and can be marked as "00 IDLE". The second value indicates that there is cached data in the sub-data buffer, and the cached data or data segment is in a waiting state to be sent, and can be marked as "01 READY TO SEND". The third value indicates that the cached data or data segment in the sub-data buffer is in a state of having been sent and waiting for HARQ ACK feedback information, and can be marked as "10 WAIT FOR HARQ FEEDBACK". The fourth value indicates that the cached data or data segment in the sub-data buffer is in a state of having been sent and waiting for ARQ ACK feedback information, and can be marked as "11 WAIT FOR ARQ FEEDBACK". In actual applications, the specific values ​​of the first value, the second value, the third value, and the fourth value are not specifically limited, as long as different states can be distinguished.

[0134] In one embodiment, the implementation process of the data cache management method provided by the embodiment of the present application may further include: rewriting the cached data or the status tags corresponding to the data segments in the sub-data cache area.

[0135] In the first embodiment, the cached data in the sub-data buffer is non-acknowledged transmission data and the HARQ data is cached in the HARQ buffer, and the initial value of the status tag corresponding to the sub-data buffer is a first value. Specifically, rewriting the status tag corresponding to the cached data or data segment in the sub-data buffer may include but is not limited to the following steps:

[0136] When the sub-data buffer area is buffered with buffer data, the state tag corresponding to the buffer data or data segment in the sub-data buffer area is rewritten to a second value;

[0137] When the buffered data or data segments are completely sent, the status tags corresponding to the buffered data or data segments in the sub-data buffer area are rewritten to the first value.

[0138] For example, as shown in Figure 17, "00 IDLE" represents the first value, and "01 READY TO SEND" represents the second value. The initial state of the memory is "00 IDLE". After data is written, the state is rewritten to "01 READY TO SEND". When the data is sent, the state is rewritten to "00 IDLE".

[0139] It should be noted that, in conjunction with FIG17 , when rewriting the status tag of the sub-data buffer area, the present application is applicable to both cases where the data is not segmented and where the data is segmented. Specifically, as shown in FIG18A , if the data is not segmented, the status tag of the non-segmented data is rewritten according to FIG17 . As shown in FIG18B , if the data is segmented, each segmented data stores these two states, and only when all the segmented data are converted to “00 IDLE” does the memory occupied by the sub-data buffer area change to the “00 IDLE” state.

[0140] In a second embodiment, when the cached data in the sub-data buffer area is non-confirmed transmission data and HARQ data is cached in the sub-data buffer area, the initial value of the state tag corresponding to the sub-data buffer area is a first value. Specifically, rewriting the state tag corresponding to the cached data or data segment in the sub-data buffer area includes:

[0141] When the sub-data buffer caches the cached data, rewrite the state tag corresponding to the cached data or data segment in the sub-data buffer to a second value, and set the HARQ transmission statistics count to 0;

[0142] When the buffered data or data segment is completely sent, the status tag corresponding to the buffered data or data segment in the sub-data buffer is rewritten to a third value, and the HARQ transmission statistics count is increased by 1;

[0143] When corresponding HARQ negative acknowledgement (NACK) feedback information is received, rewriting the state tag corresponding to the buffered data or data segment in the sub-data buffer area to a second value;

[0144] When corresponding HARQ ACK feedback information is received, the status tag corresponding to the buffered data or data segment in the sub-data buffer area is rewritten to the first value.

[0145] For example, as shown in FIG19 , “00 IDLE” represents the first value, “01 READY TO SEND” represents the second value, and “10 WAIT FOR HARQ FEEDBACK” represents the third value. The initial state of the memory is “00 IDLE”. After the data is written, the state is rewritten to “01 READY TO SEND”, and the number of HARQ transmissions is set to 0. After the data is sent, the state is rewritten to “10 WAIT FOR HARQ FEEDBACK”, and the number of HARQ transmissions is increased by 1. When a HARQ NACK is received (i.e., in response to the HARQ NACK negative information corresponding to the HARQ data), the state is rewritten to “01 READY TO SEND”. When a HARQ ACK is received (i.e., in response to the HARQ ACK feedback information corresponding to the HARQ data, HARQ ACK represents confirmation information), the state is rewritten to “00 IDLE”.

[0146] It should be noted that, in conjunction with Figure 19, when rewriting the status tag of the sub-data buffer, this application is applicable to both non-segmented and segmented data. If the data is segmented, each segmented data saves these three states, and when all segmented data are converted to "00 IDLE", the memory occupied by the sub-data buffer becomes the "00 IDLE" state.

[0147] In a third embodiment, when the cached data in the sub-data buffer is confirmed transmission data and the HARQ data is cached in the HARQ buffer, the initial value of the state tag corresponding to the sub-data buffer is a first value. Specifically, rewriting the state tag corresponding to the cached data or data segment in the sub-data buffer includes:

[0148] When the sub-data buffer caches the cached data, rewrite the state tag corresponding to the cached data or data segment in the sub-data buffer cache to a second value, and set the ARQ transmission statistics count to 0;

[0149] When the buffered data or data segment is completely sent, the status tag corresponding to the buffered data or data segment in the sub-data buffer is rewritten to a fourth value, and the ARQ transmission statistics count is increased by 1;

[0150] When receiving corresponding ARQ NACK feedback information, rewriting the status tag corresponding to the buffered data or data segment in the sub-data buffer area to a second value;

[0151] When corresponding ARQ ACK feedback information is received, the status tag corresponding to the buffered data or data segment in the sub-data buffer area is rewritten to the first value.

[0152] For example, as shown in FIG20 , “00 IDLE” represents the first value, “01 READY TO SEND” represents the second value, and “11 WAIT FOR ARQ FEEDBACK” represents the fourth value. The initial state of the memory is “00 IDLE”. After data is written, the state is rewritten to “01 READY TO SEND” and the number of ARQ transmissions is set to 0. After the data is sent, the state is rewritten to “11 WAIT FOR ARQ FEEDBACK” and the number of ARQ transmissions is increased by 1. When an ARQ NACK is received (i.e., in response to the ARQ NACK negative information corresponding to the received data), the state is rewritten to “01 READY TO SEND”. When an ARQ ACK is received (i.e., in response to the ARQ ACK feedback information corresponding to the received data, ARQ ACK represents confirmation information), the state is rewritten to “00 IDLE”.

[0153] It should be noted that, in conjunction with Figure 20, when rewriting the status tag of the sub-data buffer, this application is applicable to both non-segmented and segmented data. If the data is segmented, each segmented data saves these three states, and when all segmented data are converted to "00 IDLE", the memory occupied by the sub-data buffer becomes the "00 IDLE" state.

[0154] In a fourth embodiment, when the cached data in the sub-data buffer area is confirmed transmission data and HARQ data is cached in the sub-data buffer area, the initial value of the state tag corresponding to the sub-data buffer area is a first value. Specifically, rewriting the state tag corresponding to the cached data or data segment in the sub-data buffer area includes:

[0155] When the sub-data buffer caches the cached data, rewrite the state tag corresponding to the cached data or data segment in the sub-data buffer cache to a second value, and set the HARQ and ARQ transmission statistics to 0;

[0156] The status tag corresponding to the cached data or data segment in the sub-data cache is the second value:

[0157] When the buffered data or data segment is completely sent, the status tag corresponding to the buffered data or data segment in the sub-data buffer is rewritten to a third value; when the buffered data or data segment is newly transmitted data, the HARQ and ARQ transmission statistics are both increased by 1; when the buffered data or data segment is retransmitted data, the HARQ transmission statistics are increased by 1;

[0158] The status tag corresponding to the sub-data buffer is the third value:

[0159] When corresponding HARQ NACK feedback information is received, rewriting the status tag corresponding to the buffered data or data segment in the sub-data buffer area to a second value;

[0160] When receiving corresponding ARQ NACK feedback information, rewriting the state tag corresponding to the buffered data or data segment in the sub-data buffer area to the second value, and setting the HARQ transmission statistics to 0;

[0161] When corresponding HARQ ACK feedback information is received, rewriting the status tag corresponding to the buffered data or data segment in the sub-data buffer area to a fourth value;

[0162] When receiving corresponding ARQ ACK feedback information, rewriting the status tag corresponding to the buffered data or data segment in the sub-data buffer area to the first value;

[0163] The status tag corresponding to the cached data or data segment in the sub-data cache area is the fourth value:

[0164] When receiving corresponding ARQ NACK feedback information, rewriting the state tag corresponding to the buffered data or data segment in the sub-data buffer area to the second value, and setting the HARQ transmission statistics to 0;

[0165] When corresponding ARQ ACK feedback information is received, the status tag corresponding to the buffered data or data segment in the sub-data buffer area is rewritten to the first value.

[0166] For example, as shown in Figure 21, "00 IDLE" represents the first value, "01 READY TO SEND" represents the second value, "10 WAIT FOR HARQ FEEDBACK" represents the third value, and "11 WAIT FOR ARQ FEEDBACK" represents the fourth value. The initial state of the memory is "00 IDLE". After data is written, the state is rewritten to "01 READY TO SEND" and both the HARQ and ARQ send counts are set to 0. When data is sent in the "01 READY TO SEND" state, the state is rewritten to "10 WAIT FOR HARQ FEEDBACK". If the data is newly transmitted, both the HARQ and ARQ send counts are incremented by 1. If the data is retransmitted, only the HARQ send count is incremented by 1. When in the "10 WAIT FOR HARQ FEEDBACK" state, if a HARQ NACK or ARQ NACK is received, the state is rewritten to "01 READY TO SEND". If an ARQ NACK is received at this time, the HARQ send count is set to 0 (i.e., a new transmission will be started later, and segmentation / resegmentation may be performed); if a HARQ ACK is received, the state is rewritten to "11 WAIT FOR ARQ FEEDBACK". If an ARQ ACK is received, the state is rewritten to "00 IDLE". When in the "11 WAIT FOR ARQ FEEDBACK" state, if an ARQ NACK is received, the state is rewritten to "01 READY TO SEND" and the HARQ send count is set to 0 (i.e., a new transmission will be started later, and segmentation / resegmentation may be performed); if an ARQ ACK is received, the state is rewritten to "00 IDLE".

[0167] It should be noted that, in conjunction with Figure 21, when rewriting the status tag of the sub-data buffer, this application is applicable to both non-segmented and segmented data. If the data is segmented, each segmented data stores these four states, and only when all the segmented data are converted to "00 IDLE" does the memory occupied by the sub-data buffer change to the "00 IDLE" state.

[0168] It should be noted that rewriting the status tag corresponding to the cached data or data segments in the sub-data buffer area further includes: in response to receiving a transfer termination instruction, rewriting the status tag corresponding to the sub-data buffer area to a first value. For example, as shown in FIG17 , in any state, upon receiving a transfer termination instruction, the status tag is rewritten to "00 IDLE."

[0169] The embodiment of the present application defines a data cache management method, including a data cache area and a HARQ cache area. First, based on the design of the data cache area, the present application can effectively distinguish between data packets (with SN) and data blocks (without SN). For the design of the HARQ cache area, the present application proposes that the HARQ cache area can be occupied separately, or the data cache area can be directly occupied. In addition, the present application distinguishes four scenarios (such as embodiments one to four) for the design of the status mark of the data cache area, and designs corresponding data state transition diagrams (such as Figures 17 to 21). The format of the newly defined transmission block in the application can support the segmented transmission of MAC-CE. In addition, the format of the newly defined transmission block in the present application can support the format of the data subheader without the L field, thereby reducing the number of bits occupied by the subheader. Therefore, compared with the related art, the embodiment of the present application can increase the data processing rate, reduce the data processing delay, reduce the number of data copies, thereby reducing memory consumption, effectively improve the data processing performance, and better guarantee the extremely high transmission rate and extremely low transmission delay requirements of future wireless communication systems.

[0170] It should be noted that although operations are described in a specific order in the drawings in the embodiments of the present application, this should not be construed as requiring that these operations be performed in the specific order shown or in a serial order, or that all of the operations shown be performed to obtain the desired result. In certain circumstances, multitasking and parallel processing may be advantageous.

[0171] In addition, in the embodiments of the present application, the description of each embodiment has its own focus. For parts that are not detailed or recorded in a certain embodiment, please refer to the relevant description of other embodiments.

[0172] The embodiment of the present application further provides an electronic device, as shown in FIG22 , wherein the electronic device 2200 includes:

[0173] one or more processors 2210;

[0174] The memory 2220 stores one or more programs. When the one or more programs are executed by the one or more processors 2210, the one or more processors 2210 implement the following:

[0175] For example, the data cache management method is applied to the above embodiment.

[0176] The memory 2220 is a non-transient network system that can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory 2220 may include a high-speed random access memory and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory 2220 may optionally include a memory 2220 remotely located relative to the processor 2210, and these remote memories 2220 may be connected to the processor 2210 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0177] The memory 2220 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 2220 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 2220 and is called by the processor 2210 to execute the methods of the embodiments of this application.

[0178] The processor 2210 can be implemented using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application.

[0179] In some embodiments, as shown in FIG13 , the electronic device further includes:

[0180] Input / output interface, used to realize information input and output;

[0181] Communication interface, used to realize communication interaction between this device and other devices, which can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, Wi-Fi, Bluetooth, etc.);

[0182] A bus that transmits information between various components of the device (e.g., processor 2210, memory 2220, input / output interfaces, and communication interfaces);

[0183] The processor 2210 , the memory 2220 , the input / output interface, and the communication interface can be communicatively connected to each other within the device via a bus.

[0184] An embodiment of the present application further provides a computer-readable storage medium storing computer-executable instructions for executing:

[0185] For example, the data cache management method is applied to the above embodiment.

[0186] An embodiment of the present application further provides a computer program product, including a computer program or computer instructions, wherein the computer program or computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium, and the processor executes the computer program or computer instructions, so that the computer device performs the following operations:

[0187] For example, the data cache management method is applied to the above embodiment.

[0188] The system architecture and application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Those skilled in the art will appreciate that with the evolution of the system architecture and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are equally applicable to similar technical problems.

[0189] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media occupied in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct RAM bus dynamic RAM (DRDRAM), and RAM bus dynamic RAM (RDRAM), etc.

[0190] Those skilled in the art will appreciate that all or some of the steps and systems in the method disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, and the computer-readable medium can include computer storage media (or non-transitory media) and communication media (or temporary media). As known to those skilled in the art, the term computer storage media is included in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data) and is volatile and non-volatile, removable, and non-removable. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory, or other memory technology, CD-ROM, digital versatile disks (DVD), or other optical disk storage, magnetic cassettes, magnetic tapes, disk storage, or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, as is well known to those skilled in the art, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

[0191] The above description of some embodiments of the present application with reference to the accompanying drawings does not limit the scope of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present application shall be within the scope of the present application.

Claims

1. A data cache management method, the method comprising: Get data; Determining, according to a data type corresponding to the data, a target logical channel and a data subheader corresponding to the data; Determine, according to the target logical channel, a target sub-data buffer area corresponding to the data in the data buffer area; The data subheader and the data are cached in the target sub-data cache area, wherein the data subheader is cached in a header field in the target data cache area, and the data is cached in a data field in the target sub-data cache area.

2. The method according to claim 1, wherein: The data type corresponding to the data includes one of the following: Data packets; Data blocks; Variable length MAC-CE; Fixed-length MAC-CE.

3. The method according to claim 2, wherein: The data packet has a corresponding sequence number SN, and determining a target logical channel and a data subheader corresponding to the data according to a data type corresponding to the data includes: In a case where the data type corresponding to the data is a data packet, determining a target logical channel corresponding to the data from a first type of logical channel, and determining a cache location of the data in the target logical channel according to the SN corresponding to the data, wherein the first type of logical channel includes at least one logical channel corresponding to a data packet classification; A data subheader corresponding to the data is determined, where the data subheader includes at least the following information: an identification ID corresponding to the target logical channel, a SN corresponding to the data, and segmentation information of the data.

4. The method according to claim 3, wherein: The data sub-header also includes at least one of the following information: Segment location information of the data; The length of the data.

5. The method according to claim 2, wherein: The determining, according to the data type corresponding to the data, a target logical channel and a data subheader corresponding to the data, comprises: In a case where the data type corresponding to the data is a data block, determining a target logical channel corresponding to the data from a second type of logical channels, wherein the second type of logical channels includes at least one logical channel corresponding to a data block classification; A data subheader corresponding to the data is determined, where the data subheader includes at least the following information: an ID corresponding to the target logical channel and segmentation information of the data.

6. The method according to claim 5, wherein: The data sub-header also includes at least one of the following information: Segment location information of the data; The length of the data.

7. The method according to claim 2, wherein: The determining, according to the data type corresponding to the data, a target logical channel and a data subheader corresponding to the data, comprises: In a case where the data type corresponding to the data is a variable-length MAC-CE, determining a target logical channel corresponding to the data from a third type of logical channels, wherein the third type of logical channels includes at least one logical channel classified corresponding to a variable-length MAC-CE; A data subheader corresponding to the data is determined, where the data subheader includes at least the following information: an ID corresponding to the target logical channel and segmentation information of the data.

8. The method according to claim 7, wherein: The data sub-header also includes at least one of the following information: Segment location information of the data; The length of the data.

9. The method according to claim 2, wherein: The determining, according to the data type corresponding to the data, a target logical channel and a data subheader corresponding to the data, comprises: In a case where the data type corresponding to the data is a MAC-CE of fixed length, determining a target logical channel corresponding to the data from a fourth type of logical channels, wherein the fourth type of logical channels includes at least one logical channel classified corresponding to a MAC-CE of fixed length; A data subheader corresponding to the data is determined, where the data subheader includes at least the following information: an ID corresponding to the target logical channel.

10. The method according to claim 1, wherein: The data buffer area includes a plurality of sub-data buffer areas, each of which corresponds to a logical channel, and the data sub-headers and data buffered in the sub-data buffer area constitute buffer data.

11. The method according to claim 10, wherein: The method further comprises: When it is determined that the data to be sent contains data of one or more logical channels according to the hybrid automatic repeat request HARQ identifier ID and the data transmission authorization, corresponding buffer data is obtained from one or more sub-data buffer areas to generate HARQ data; the HARQ data is buffered in the HARQ buffer area; According to the HARQ ID, a target sub-HARQ buffer area is determined in the HARQ buffer area, and the HARQ data is cached in the target sub-HARQ buffer area.

12. The method according to claim 10, wherein: The method further comprises: When it is determined according to the HARQ ID and the data transmission authorization that there is data of only one logical channel in the data to be sent, corresponding buffer data is obtained from one of the sub-data buffer areas to generate HARQ data; the HARQ data is buffered in the sub-data buffer area.

13. The method according to claim 10, wherein: The cached data or data segments in each of the sub-data cache areas have a corresponding status tag, wherein the data segment represents the data segment when the cached data is transmitted in segments, and the value of the status tag is one of the following: The first value is used to indicate that there is no cached data in the sub-data cache area; The second value is used to indicate that the sub-data buffer area has cached data, and the cached data or data segment is in a waiting state for transmission; A third value is used to indicate that the buffered data or data segment in the sub-data buffer area is in a state of having been sent and waiting for HARQ ACK feedback information; The fourth value is used to indicate that the buffered data or data segment in the sub-data buffer area is in a state of having been sent and waiting for ARQ ACK feedback information.

14. The method according to claim 13, wherein: The method further comprises: The cached data or the state tags corresponding to the data segments in the sub-data cache area are rewritten.

15. The method according to claim 14, wherein: The cached data in the sub-data buffer area is non-confirmed transmission data and the HARQ data is cached in the HARQ buffer area, and the initial value of the state label corresponding to the sub-data buffer area is the first value; and rewriting the state label corresponding to the cached data or data segment in the sub-data buffer area includes: When the sub-data buffer caches the cache data, rewriting the state tag corresponding to the cache data or the data segment in the sub-data buffer into the second value; When the buffered data or data segment is completely sent, the state tag corresponding to the buffered data or data segment in the sub-data buffer area is rewritten to the first value.

16. The method according to claim 14, wherein: The cached data in the sub-data cache area is non-confirmed transmission data and HARQ data is cached in the sub-data cache area, and the initial value of the state label corresponding to the sub-data cache area is the first value; and rewriting the state label corresponding to the cached data or data segment in the sub-data cache area includes: When the sub-data buffer area caches the cache data, rewrite the state label corresponding to the cache data or data segment in the sub-data buffer area to the second value, and set the HARQ transmission statistics number to 0; When the buffered data or data segment is completely sent, rewriting the state tag corresponding to the buffered data or data segment in the sub-data buffer area to the third value, and increasing the HARQ sending statistics by 1; When corresponding HARQ NACK feedback information is received, rewriting the state label corresponding to the buffered data or data segment in the sub-data buffer area to the second value; When the corresponding HARQ ACK feedback information is received, the state tag corresponding to the cached data or data segment in the sub-data cache area is rewritten to the first value.

17. The method according to claim 14, wherein: The cached data in the sub-data buffer area is confirmed transmission data and the HARQ data is cached in the HARQ buffer area, and the initial value of the state label corresponding to the sub-data buffer area is the first value; and rewriting the state label corresponding to the cached data or data segment in the sub-data buffer area includes: When the sub-data buffer caches the cached data, rewrite the state tag corresponding to the cached data or data segment in the sub-data buffer to the second value, and set the ARQ sending statistics number to 0; When the buffered data or data segment is sent completely, rewrite the state tag corresponding to the buffered data or data segment in the sub-data buffer area to the fourth value, and increase the ARQ sending statistics by 1; When corresponding ARQ NACK feedback information is received, rewriting the state tag corresponding to the buffered data or data segment in the sub-data buffer area to the second value; When corresponding ARQ ACK feedback information is received, the state tag corresponding to the buffered data or data segment in the sub-data buffer area is rewritten to the first value.

18. The method according to claim 14, wherein: The cached data in the sub-data cache area is confirmed transmission data and HARQ data is cached in the sub-data cache area, and the initial value of the state label corresponding to the sub-data cache area is the first value; and rewriting the state label corresponding to the sub-data cache area includes: When the sub-data buffer area caches the cache data, rewrite the state tag corresponding to the cache data or data segment in the sub-data buffer area to the second value, and set the HARQ and ARQ sending statistics times to 0; Based on the state tag corresponding to the cached data or data segment in the sub-data cache area being the second value: When the buffered data or data segments are sent, the buffered data or data in the sub-data buffer area is The status label corresponding to the segment is rewritten as the third value; when the cached data or data segment is new transmission data, the HARQ and ARQ transmission statistics are both increased by 1; when the cached data or data segment is retransmission data, the HARQ transmission statistics are increased by 1; Based on the state tag corresponding to the sub-data buffer area being the third value: When corresponding HARQ negative acknowledgement (NACK) feedback information is received, rewriting the state tag corresponding to the cached data or data segment in the sub-data cache area to the second value; When corresponding ARQ NACK feedback information is received, rewriting the state tag corresponding to the buffered data or data segment in the sub-data buffer area to the second value, and setting the HARQ transmission statistics number to 0; When corresponding HARQ ACK feedback information is received, rewriting the state tag corresponding to the cached data or data segment in the sub-data cache area to the fourth value; When corresponding ARQ ACK feedback information is received, rewriting the state tag corresponding to the cached data or data segment in the sub-data cache area to the first value; Based on the state tag corresponding to the cached data or data segment in the sub-data cache area being the fourth value: When corresponding ARQ NACK feedback information is received, rewriting the state tag corresponding to the buffered data or data segment in the sub-data buffer area to the second value, and setting the HARQ transmission statistics number to 0; When corresponding ARQ ACK feedback information is received, the state tag corresponding to the buffered data or data segment in the sub-data buffer area is rewritten to the first value.

19. The method according to any one of claims 15 to 18, wherein: The rewriting of the state tags corresponding to the cached data or data segments in the sub-data cache area also includes: In response to receiving the transmission termination instruction, the state tag corresponding to the sub-data buffer area is rewritten to the first value.

20. An electronic device, comprising: one or more processors; A memory having one or more programs stored thereon, when the one or more programs are executed by the one or more processors, the one or more processors implement: A data cache management method as described in any one of claims 1 to 19.

21. A computer-readable storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the program implements: A data cache management method as described in any one of claims 1 to 19.

Citation Information

Patent Citations

  • Data storage method and device, electronic device and storage medium

    CN110765076A

  • Communication method and device

    CN115473605A

  • Data transmission method and device, equipment and medium

    CN116991598A

  • Communication apparatus and control method thereof, and storage medium

    US20230062831A1

Cited By

  • Method and device for generating function coverage rate based on variable-length data packet and medium

    CN120562354A