A Method and Device for Optimizing and Managing 5G NR RLC Window Memory

By adopting dynamic memory allocation and release technology in the upstream and downstream windows of 5G NR RLC, the problem of memory waste in confirmation mode is solved, efficient utilization of system memory is achieved, and the system memory occupation is significantly saved.

CN114064273BActive Publication Date: 2025-06-13ASR MICROELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111323126.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-03
Publication Date
2025-06-13
Estimated Expiration
2041-11-03

AI Technical Summary

Technical Problem

The 5G NR RLC upstream and downstream window is memory waste due to air interface quality problems in confirmation mode, especially when a large amount of data is required to back up and record received information in the case of retransmission, resulting in excessive memory usage of the system.

Method used

The first pointer array and the second pointer array of dynamic memory allocation and release are used to realize memory optimization management of 5G NR RLC uplink windows and downlink windows, respectively. By initializing allocated memory, increase or release memory blocks as needed, maximizing system memory savings.

Benefits of technology

It significantly saves system memory usage, avoids memory waste, and improves system resource utilization and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114064273B_ABST
    Figure CN114064273B_ABST
Patent Text Reader

Abstract

The present application discloses a method for optimizing the memory management of the 5G NR RLC window. The RLC uplink window in the 5G NR in the acknowledged mode is implemented by a first pointer array. A memory of a first basic unit size is initialized and allocated for the first pointer array. If the allocated memory of the first pointer array has been used up, the UE allocates an additional memory of a first basic unit size for the first pointer array, and uses a pointer in the newly allocated memory of the first pointer array to record the storage address of the original data of the upcoming uplink RLC PDU to be sent. After the UE receives the uplink status report sent by the network side, the UE releases the memory space of the pointer of the uplink RLC PDU that has received the ACK information from the network side in the RLC uplink window. The above method implements the 5G NR RLC uplink window by using a first pointer array that dynamically allocates and releases memory, significantly saving the occupation of system memory.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to a mobile communication technology, and particularly to a method for optimizing the management of the uplink and downlink window memory of 5G (the fifth generation mobile communication technology) NR (New Radio) RLC (Radio Link Control). Background Art

[0002] The 5G NR RLC layer is used to receive RLC SDUs (service Data Units) sent by the upper layer. After being processed by the RLC layer, they are assembled into RLC PDUs (Protocol Data Units) and then delivered to the lower layer. An important function of the 5G NR RLC layer is to provide reliable transmission for user data and control data, including retransmission and confirmation functions. The transmission modes of RLC are divided into: transparent mode (TM), unacknowledged mode (UM), and acknowledged mode (AM). Among them, the acknowledged mode is used to achieve reliable transmission.

[0003] The UE (user equipment) sends uplink data packets to the network side, and the network side will send an uplink status report back to the UE according to the actual reception situation of the uplink data packets. The uplink status report contains ACK (acknowledgment) and NAK (negative acknowledgment) information. The ACK information is used to indicate which data packets have been received, and the NAK information is used to indicate which data packets have not been received. The UE will retransmit the data packets that have received NAK information according to the indication of the uplink status report. When the network side sends downlink data packets to the UE, due to radio link quality problems, packet loss may occur during this period. At this time, the UE will send a downlink status report to the network side according to the actual reception situation of the downlink data packets, indicating the reception situation of the downlink data packets to the network side, so that the network side can retransmit the lost downlink data packets. The uplink data packets and downlink data packets are both RLC PDUs.

[0004] The basic situation of the RLC uplink and downlink windows in the 5G NR in the acknowledged mode is as follows.

[0005] First, in the acknowledged mode of 5G NR, the RLC uplink window is maintained by three parameters: TX_NEXT, TX_NEXT_ACK, and AM_WINDOW_SIZE. Among them, TX_NEXT refers to the sequence number (SN) of the uplink RLC PDU that the UE is about to send. TX_NEXT_ACK refers to the sequence number of the first uplink RLC PDU that the UE has sent and is waiting for the network side to reply with ACK or NAK information. AM_WINDOW_SIZE refers to the size of the RLC uplink window. In the acknowledged mode of 5G NR, the sequence numbers of RLC PDUs are divided into two cases: 12 bits (bit) and 18 bits. For the case of 12-bit sequence numbers, AM_WINDOW_SIZE is 2048. For the case of 18-bit sequence numbers, AM_WINDOW_SIZE is 131072.

[0006] Second, in the acknowledged mode of 5G NR, the RLC downlink window is mainly maintained by two parameters: RX_NEXT and AM_WINDOW_SIZE. Among them, RX_NEXT refers to the sequence number of the first downlink RLC PDU that the UE is waiting to receive or waiting to receive in segments to be complete. AM_WINDOW_SIZE refers to the size of the RLC downlink window.

[0007] Due to air interface quality problems, it is possible that the network side does not receive the uplink data packets sent by the UE. This requires the UE side to save the original uplink data packets sent for retransmission. It is also possible that the UE does not receive the downlink data packets sent by the network side. This requires the UE to record the reception status of the downlink data packets for sending a status report to the network side.

[0008] If the UE wants to achieve uplink retransmission, when transmitting the uplink RLC PDU for the first time (i.e., the first transmission), it must back up all the original uplink RLC PDUs because the UE also does not know which uplink RLC PDUs need to be retransmitted. For the case of 18-bit sequence numbers, the size of the RLC transmission window is 131072. This means that if the uplink RLC PDUs need to be backed up, up to 131072 data need to be managed. If each RLC PDU uses a pointer for backup, each pointer occupies 4 bytes, and each pointer points to the storage address of an RLC PDU, then 4 × 131072 = 524288 bytes of memory need to be allocated at one time.

[0009] If a UE wants to send a status report of a downlink RLC PDU to the network side, it must record the sequence number of each downlink RLC PDU and its downlink reception information. The downlink reception information includes: whether the downlink RLC PDU with the current sequence number has been received; whether the downlink RLC PDU with the current sequence number has been segmented; if the downlink RLC PDU with the current sequence number has been segmented, whether all segments have been received completely. At least 8 bytes are required to indicate this downlink reception information. Since the size of the transmission window of the RLC layer on the network side is 131072, the UE side needs to allocate 8 × 131072 = 1048576 bytes of memory at one time.

[0010] The above is only the case of one DRB (Data Radio Bearer). If multiple DRBs are configured in the actual network, more memory needs to be allocated at one time, which is a huge overhead for the system. In actual situations, it is very rare for all the data in the transmission window size to need to be retransmitted, which will cause a great waste of memory. Summary of the Invention

[0011] The technical problem to be solved by this application is to propose a method for optimizing the memory management of the 5G NR RLC uplink and downlink windows to save system memory to the greatest extent. For this purpose, this application also proposes a device for optimizing the memory management of the 5G NR RLC uplink and downlink windows.

[0012] To solve the above technical problems, the present application proposes a method for optimizing the management of the 5G NR RLC window memory, including the following steps. Step S11: The RLC uplink window in the 5G NR in the acknowledged mode is implemented using a first pointer array; in the first pointer array, the size of each first basic unit is M1×N1 bytes; the maximum number of the first basic units in the first pointer array is L1. Step S12: Initialize and allocate a memory with the size of a first basic unit for the first pointer array, and use M1 bytes to record a pointer, and each pointer points to the storage address of the original data of the uplink RLC PDU to be sent by a UE with a specific sequence number. Step S13: If the allocated memory of the first pointer array is not used up, the UE uses a pointer in the allocated memory of the first pointer array to record the storage address of the original data of the uplink RLC PDU to be sent. If the allocated memory of the first pointer array is used up, the UE allocates an additional memory with the size of a first basic unit for the first pointer array, and uses a pointer in the newly allocated memory of the first pointer array to record the storage address of the original data of the uplink RLC PDU to be sent; the memory space of the first pointer array is allocated up to the size of L1 first basic units at most. Step S14: After the UE receives the uplink status report sent by the network side, the UE releases the memory space of the pointer of the uplink RLC PDU for which the ACK information has been received from the network side in the RLC uplink window. The step S13 and the step S14 may be in any order before or may be carried out simultaneously. The above method implements the 5G NR RLC uplink window using a first pointer array for dynamically allocating and releasing memory, significantly saving the occupancy of the system memory.

[0013] Preferably, in the step S11, M1 is 4 bytes, N1 is 4096, and L1 is 64.

[0014] Further, in the step S12, the initialized and allocated RLC uplink window can back up N1 uplink RLC PDUs.

[0015] Further, in the step S14, when all the uplink RLC PDUs corresponding to all the pointers in a first basic unit have received the ACK information, the memory of the first basic unit is released for the first pointer array.

[0016] The present application also proposes a method for optimizing the management of the 5G NR RLC window memory, including the following steps. Step S21: The RLC downlink window in the 5G NR in the acknowledged mode is implemented by using a second pointer array; in the second pointer array, the size of each second basic unit is M2×N2 bytes; the maximum number of the second basic units in the second pointer array is L2. Step S22: Initialize and allocate a memory with the size of a second basic unit for the second pointer array, and use M2 bytes to record the sequence number of a downlink RLC PDU and the downlink reception information. Step S23: If the allocated memory of the second pointer array is not used up, the UE records the sequence number of the newly received downlink RLC PDU and the downlink reception information in the allocated memory of the second pointer array. If the allocated memory of the second pointer array is used up, the UE allocates an additional memory with the size of a second basic unit for the second pointer array, and records the sequence number of the newly received downlink RLC PDU and the downlink reception information in the newly allocated memory of the second pointer array; the memory space of the second pointer array is allocated up to the size of L2 second basic units at most. Step S24: The UE releases the memory space of the downlink RLC PDU that has been completely received in the RLC downlink window. The step S23 and the step S24 may be in any order before or may be carried out simultaneously. The above method implements the 5G NR RLC downlink window by using a second pointer array for dynamically allocating and releasing memory, significantly saving the occupation of the system memory.

[0017] Preferably, in the step S21, M2 is 8 bytes, N2 is 4096, and L2 is 64.

[0018] Further, in the step S22, the downlink reception information includes: whether the downlink RLC PDU with the current sequence number has been received; whether the downlink RLC PDU with the current sequence number has been segmented; if the downlink RLC PDU with the current sequence number has been segmented, whether all segments have been completely received; the initialized and allocated RLC downlink window can back up N2 downlink RLC PDUs.

[0019] Further, in the step S24, when all the downlink RLC PDUs corresponding to a certain second basic unit have been completely received, the memory of the second basic unit is released for the second pointer array.

[0020] The present application also proposes a device for optimizing the management of the 5G NR RLC window memory, which includes a first implementation unit, a first initial allocation unit, a first subsequent allocation unit, and a first release unit. The first implementation unit is used to implement the RLC uplink window of 5G NR in the acknowledged mode using a first pointer array; in the first pointer array, the size of each first basic unit is M1×N1 bytes; the maximum number of the first pointer arrays is L1 first basic units. The first initial allocation unit is used to initialize and allocate a memory with the size of a first basic unit for the first pointer array, and use M1 bytes to record a pointer, and each pointer points to the storage address of the original data of the uplink RLC PDU to be sent by a UE with a specific sequence number. The first subsequent allocation unit is used to record the storage address of the original data of the uplink RLC PDU to be sent using a pointer in the allocated memory of the first pointer array when the allocated memory of the first pointer array is not used up; it is also used to allocate an additional memory with the size of a first basic unit for the first pointer array when the allocated memory of the first pointer array is used up, and record the storage address of the original data of the uplink RLC PDU to be sent using a pointer in the newly allocated memory of the first pointer array; the memory space of the first pointer array is allocated up to the size of L1 first basic units at most. The first release unit is used to release the memory space of the pointer of the uplink RLC PDU that has received the ACK information from the network side in the RLC uplink window after the UE receives the uplink status report sent by the network side. The above device implements the 5G NR RLC uplink window using a first pointer array that dynamically allocates and releases memory, significantly saving the occupancy of the system memory.

[0021] The present application also provides a device for optimizing the management of the 5G NR RLC window memory, which includes a second implementation unit, a second initial allocation unit, a second subsequent allocation unit, and a second release unit. The second implementation unit is used to implement the RLC downlink window of 5G NR in the acknowledged mode using a second pointer array; in the second pointer array, the size of each second basic unit is M2×N2 bytes; the maximum number of the second pointer array is L2 second basic units. The second initial allocation unit is used to initialize and allocate a memory with the size of a second basic unit for the second pointer array, and use M2 bytes to record the sequence number of a downlink RLC PDU and downlink reception information. The second subsequent allocation unit is used to record the sequence number of a newly received downlink RLC PDU and downlink reception information in the allocated memory of the second pointer array when the allocated memory of the second pointer array has not been used up; it is also used to allocate an additional memory with the size of a second basic unit for the second pointer array when the allocated memory of the second pointer array has been used up, and record the sequence number of a newly received downlink RLC PDU and downlink reception information in the newly allocated memory of the second pointer array; the memory space of the second pointer array is allocated up to the size of L2 second basic units at most. The second release unit is used to release the memory space of the downlink RLC PDU that has been completely received in the RLC downlink window. The above device implements the 5G NR RLC downlink window using a second pointer array that dynamically allocates and releases memory, significantly saving the occupation of system memory.

[0022] The technical effect achieved by the present application is that the RLC uplink and downlink windows of 5G NR are respectively implemented using a first pointer array and a second pointer array that dynamically allocate and release memory, significantly saving the occupation of system memory. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 It is a schematic flowchart of the first embodiment of the method for optimizing the management of the 5G NR RLC window memory proposed by the present application.

[0024] Figure 2 It is a schematic flowchart of the second embodiment of the method for optimizing the management of the 5G NR RLC window memory proposed by the present application.

[0025] Figure 3 It is a schematic structural diagram of the first embodiment of the device for optimizing the management of the 5G NR RLC window memory proposed by the present application.

[0026] Figure 4 It is a schematic structural diagram of the second embodiment of the device for optimizing the management of the 5G NR RLC window memory proposed by the present application.

[0027] Description of the reference numerals in the figures: 11 is the first implementation unit, 12 is the first initial allocation unit, 13 is the first subsequent allocation unit, 14 is the first release unit, 21 is the second implementation unit, 22 is the second initial allocation unit, 23 is the second subsequent allocation unit, and 24 is the second release unit. Detailed implementation manners

[0028] Please refer to Figure 1 , Embodiment 1 of the method for optimizing and managing the 5G NR RLC window memory proposed in this application includes the following steps, which is applicable to the 5G NR RLC uplink window.

[0029] Step S11: The RLC uplink window of 5G NR in the acknowledged mode is implemented by using a first pointer array. The pointer array is also called a dynamic two-dimensional array. In the first pointer array, the size of each first basic unit (one-dimensional array) is M1×N1 bytes. The maximum of the first pointer array is M1×N1×L1 bytes, that is, the maximum is L1 first basic units. The size of the first basic unit can be deformed according to actual requirements. Preferably, M1 is 4 bytes, N1 is 4096, and L1 is 64.

[0030] Step S12: Initialize and allocate a memory with the size of a first basic unit for the first pointer array. Use M1 bytes to record a pointer, and each pointer points to the storage address of the original data of the uplink RLC PDU to be sent by a UE with a specific sequence number. That is, the initialized and allocated RLC uplink window can back up N1 uplink RLC PDUs.

[0031] Step S13: If the allocated memory of the first pointer array is not used up, the UE uses a pointer in the allocated memory of the first pointer array to record the storage address of the original data of the uplink RLC PDU to be sent.

[0032] If the allocated memory of the first pointer array is used up, the UE allocates an additional memory with the size of a first basic unit for the first pointer array, and uses a pointer in the newly allocated memory of the first pointer array to record the storage address of the original data of the uplink RLC PDU to be sent. The RLC uplink window of the newly allocated memory can newly back up N1 uplink RLC PDUs. And so on, but the memory space of the first pointer array is at most allocated to the size of L1 first basic units.

[0033] Step S14: After the UE receives the uplink status report sent by the network side, the UE releases the memory space of the pointer of the uplink RLC PDU for which the ACK information has been received from the network side in the RLC uplink window. When all the uplink RLC PDUs corresponding to all the pointers in a first basic unit have received the ACK information, the memory of the first basic unit is released for the first pointer array.

[0034] The order of the steps S13 and S14 is not strictly restricted and can be either one first or carried out simultaneously.

[0035] The uplink window of the traditional 5G NR RLC adopts a static memory allocation method. To be compatible with the sequence numbers of RLC PDUs in both 12-bit and 18-bit cases, it is necessary to allocate 4 × 131072 = 524288 bytes of memory at one time. The uplink window of 5G NR RLC in this application adopts a dynamic array memory allocation method. Each time, the memory size of a first basic unit is applied, and then it is reasonably managed and allocated as needed.

[0036] If the sequence number of the RLC PDU in 5G NR in the acknowledged mode is 12 bits, the size of the RLC uplink window is 2048. At this time, only one first basic unit is required for the RLC uplink window; meanwhile, the above step S13 is omitted.

[0037] If the sequence number of the RLC PDU in 5G NR in the acknowledged mode is 18 bits, the size of the RLC uplink window is 131072. At this time, one or more first basic units are required for the RLC uplink window.

[0038] In the scenario where the UE sends an uplink RLC PDU to the network side, the steps for memory optimization management of the 5G NR RLC uplink window are as follows. (1) The RLC of the UE receives a new uplink RLC SDU. (2) The RLC of the UE assembles the new RLC SDU into an RLC PDU, assigns a sequence number to the RLC PDU, and records it in the parameter TX_NEXT. (3) The RLC of the UE determines whether the new RLC PDU exceeds the allocated memory size of the first pointer array. If not, the RLC of the UE records the pointer of the new RLC PDU in the allocated memory of the first pointer array. If so, the RLC of the UE dynamically allocates a new memory space of the size of a first basic unit for the first pointer array, and records the pointer of the new RLC PDU in the newly allocated memory of the first pointer array. The pointer of the new RLC PDU points to the storage address of the original data of the new RLC PDU, which is used to back up all the data information of the original RLC PDU, aiming to prevent the RLC PDU from needing to be retransmitted. The size of each pointer variable is, for example, 4 bytes. (5) The RLC of the UE receives an uplink status report and updates the parameter TX_NEXT_ACK according to the information therein. (6) The RLC of the UE releases the memory space of the pointer of the uplink RLC PDU that has received the ACK information from the network side in the RLC uplink window. When all the uplink RLC PDUs corresponding to all the pointers in a first basic unit have received ACK information, the memory of this first basic unit is released.

[0039] Please refer to Figure 2 , the second embodiment of the method for optimizing and managing the 5G NR RLC window memory proposed in this application includes the following steps, which are applicable to the 5G NR RLC downlink window.

[0040] Step S21: The RLC downlink window of 5G NR in the acknowledged mode is implemented by using a second pointer array. The pointer array is also called a dynamic two-dimensional array. In the second pointer array, the size of each second basic unit (one-dimensional array) is M2×N2 bytes. The maximum of the second pointer array is M2×N2×L2 bytes, that is, the maximum is L2 second basic units. The size of the second basic unit can be deformed according to actual needs. Preferably, M2 is 8 bytes, N2 is 4096, and L2 is 64.

[0041] Step S22: Initialize and allocate a memory with the size of a second basic unit for the second pointer array, and use M2 bytes to record the sequence number of a downlink RLC PDU and the downlink reception information. The downlink reception information includes: whether the downlink RLC PDU with the current sequence number has been received; whether the downlink RLC PDU with the current sequence number has been segmented; if the downlink RLC PDU with the current sequence number has been segmented, whether all segments have been received completely. That is, the initialized and allocated RLC downlink window can back up the sequence numbers of N2 downlink RLC PDUs and the downlink reception information.

[0042] Step S23: If the allocated memory of the second pointer array is not used up, the UE records the sequence number of the newly received downlink RLC PDU and the downlink reception information in the allocated memory of the second pointer array.

[0043] If the allocated memory of the second pointer array has been used up, the UE allocates an additional memory with the size of a second basic unit for the second pointer array, and records the sequence number of the newly received downlink RLC PDU and the downlink reception information in the newly allocated memory of the second pointer array. The RLC downlink window of the newly allocated memory can newly record the sequence numbers of N2 downlink RLC PDUs and the downlink reception information. And so on, but the memory space of the second pointer array is allocated up to the size of L2 second basic units at most.

[0044] Step S24: The UE releases the memory space of the downlink RLC PDU that has been received completely in the RLC downlink window. When all the corresponding downlink RLC PDUs in a second basic unit have been received completely, the memory of this second basic unit is released for the second pointer array.

[0045] The order of step S23 and step S24 is not strictly limited, and either can be before or they can be carried out simultaneously.

[0046] The downlink window of the traditional 5G NR RLC adopts a static memory allocation method. To be compatible with the sequence numbers of RLC PDUs in both 12-bit and 18-bit cases, 8×131072 = 1048576 bytes of memory need to be allocated at one time. The downlink window of the 5G NR RLC in this application adopts a dynamic array memory allocation method. Each time, the memory size of a second basic unit is applied for, and then it is reasonably managed and allocated as needed.

[0047] If the sequence number of the RLC PDU in 5G NR in the acknowledged mode is 12 bits, the size of the RLC downlink window is 2048. At this time, only one second basic unit is required for the RLC downlink window; meanwhile, step S23 above is omitted.

[0048] If the sequence number of the RLC PDU in 5G NR in the acknowledged mode is 18 bits, the size of the RLC downlink window is 131072. At this time, one or more second basic units are required for the RLC downlink window.

[0049] In the scenario where the network side sends downlink RLC PDUs to the UE, the steps for memory optimization management of the 5G NR RLC downlink window are as follows. (1) When the RLC of the UE receives a new downlink RLC PDU, it updates the status variable RX_NEXT according to its sequence number. (2) The RLC of the UE determines whether the number of received downlink RLC PDUs exceeds the allocated memory size of the second pointer array. If not, the RLC of the UE records the sequence number of the new RLC PDU and the downlink reception information in the allocated memory of the second pointer array. If so, the RLC of the UE allocates an additional memory of the size of a second basic unit for the second pointer array, and records the sequence number of the new downlink RLC PDU and the downlink reception information in the newly allocated memory of the RLC downlink window. (3) The RLC of the UE releases the memory space of the received complete downlink RLC PDU in the RLC downlink window. When all the corresponding downlink RLC PDUs in a second basic unit are received completely, the memory of that second basic unit is released.

[0050] Please refer to Figure 3 , Embodiment 1 of the device for memory optimization management of the 5G NR RLC window proposed in this application includes a first implementation unit 11, a first initial allocation unit 12, a first subsequent allocation unit 13, and a first release unit 14, which is applicable to the 5G NR RLC uplink window.

[0051] The first implementation unit 11 is used to implement the RLC uplink window of 5G NR in the acknowledged mode using a first pointer array. In the first pointer array, the size of each first basic unit is M1×N1 bytes. The maximum number of the first pointer array is L1 first basic units.

[0052] The first initial allocation unit 12 is used to initialize and allocate a memory with the size of a first basic unit for the first pointer array, and uses M1 bytes to record a pointer, where each pointer points to the storage address of the original data of the uplink RLC PDU to be sent by a UE with a specific serial number.

[0053] The first subsequent allocation unit 13 is used to record the storage address of the original data of the uplink RLC PDU to be sent with a pointer in the allocated memory of the first pointer array when the allocated memory of the first pointer array is not used up; it is also used to allocate an additional memory with the size of a first basic unit for the first pointer array when the allocated memory of the first pointer array is used up, and record the storage address of the original data of the uplink RLC PDU to be sent with a pointer in the newly allocated memory of the first pointer array. The memory space of the first pointer array is allocated up to the size of L1 first basic units at most.

[0054] The first release unit 14 is used to release the memory space of the pointer of the uplink RLC PDU that has received the ACK information from the network side in the RLC uplink window after the UE receives the uplink status report sent by the network side.

[0055] Please refer to Figure 4 , Embodiment 2 of the apparatus for optimizing the management of the 5G NR RLC window memory proposed in this application includes a second implementation unit 21, a second initial allocation unit 22, a second subsequent allocation unit 23, and a second release unit 24, which is applicable to the 5G NR RLC downlink window.

[0056] The second implementation unit 21 is used to implement the RLC downlink window in 5G NR in the acknowledged mode with a second pointer array. In the second pointer array, the size of each second basic unit is M2×N2 bytes. The maximum of the second pointer array is L2 second basic units.

[0057] The second initial allocation unit 22 is used to initialize and allocate a memory with the size of a second basic unit for the second pointer array, and uses M2 bytes to record the serial number of a downlink RLC PDU and the downlink reception information.

[0058] The second subsequent allocation unit 23 is used to record the serial number of the newly received downlink RLC PDU and the downlink reception information in the allocated memory of the second pointer array when the allocated memory of the second pointer array is not used up; it is also used to allocate an additional memory with the size of a second basic unit for the second pointer array when the allocated memory of the second pointer array is used up, and record the serial number of the newly received downlink RLC PDU and the downlink reception information in the newly allocated memory of the second pointer array. The memory space of the second pointer array is allocated up to the size of L2 second basic units at most.

[0059] The second release unit 24 is used to release the memory space of the downlink RLC PDU that has been completely received in the RLC downlink window.

[0060] On the premise of complying with the 3GPP protocol, this application combines the sizes of the RLC uplink and downlink windows corresponding to the sequence numbers of the RLC PDUs in two cases of 12 bits and 18 bits and the actual implementation of the code, and proposes a new optimized management method for dynamic memory allocation and release of the RLC uplink and downlink windows, which can save system memory to the greatest extent. The technical solution of this application has been well verified in both laboratory test scenarios and actual applications, and the effect is good.

[0061] The above are only the preferred embodiments of this application and are not used to limit this application. For those skilled in the art, this application can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application shall be included within the protection scope of this application.

Claims

1. A method for optimizing and managing the 5G NR RLC window memory, characterized in that, it includes the following steps; Step S11: The RLC uplink window in the 5G NR in the acknowledged mode is implemented by using a first pointer array; in the first pointer array, the size of each first basic unit is M1×N1 bytes; the maximum number of the first basic units in the first pointer array is L1; Step S12: Initialize and allocate a memory with the size of a first basic unit for the first pointer array, use M1 bytes to record a pointer, and each pointer points to the storage address of the original data of the uplink RLC PDU to be sent by a UE with a specific sequence number; Step S13: If the allocated memory of the first pointer array is not used up, the UE uses a pointer in the allocated memory of the first pointer array to record the storage address of the original data of the uplink RLC PDU to be sent; If the allocated memory of the first pointer array is used up, the UE allocates an additional memory with the size of a first basic unit for the first pointer array, and uses a pointer in the newly allocated memory of the first pointer array to record the storage address of the original data of the uplink RLC PDU to be sent; the memory space of the first pointer array is allocated up to the size of L1 first basic units at most; Step S14: After the UE receives the uplink status report sent by the network side, the UE releases the memory space in the RLC uplink window of the pointer of the uplink RLC PDU for which the ACK information from the network side has been received; The step S13 and the step S14 are either in front of each other, or at the same time.

2. The method for optimizing and managing the 5G NR RLC window memory according to claim 1, characterized in that, in the step S11, M1 is 4 bytes, N1 is 4096, and L1 is 64.

3. The method for optimizing and managing the 5G NR RLC window memory according to claim 1, characterized in that, in the step S12, the initialized and allocated RLC uplink window can back up N1 uplink RLC PDUs.

4. The method for optimizing and managing the 5G NR RLC window memory according to claim 1, characterized in that, in the step S14, when all the uplink RLC PDUs corresponding to all the pointers in a first basic unit have received the ACK information, the memory of the first basic unit is released for the first pointer array.

5. A method for optimizing and managing the 5G NR RLC window memory, characterized in that, it includes the following steps; Step S21: The RLC downlink window in the 5G NR in the acknowledged mode is implemented by using a second pointer array; in the second pointer array, the size of each second basic unit is M2×N2 bytes; the maximum number of the second basic units in the second pointer array is L2; Step S22: Initialize and allocate a memory with the size of a second basic unit for the second pointer array, and use M2 bytes to record the sequence number of a downlink RLC PDU and the downlink reception information; Step S23: If the allocated memory of the second pointer array is not exhausted, the UE records the sequence number of the newly received downlink RLC PDU and the downlink reception information in the allocated memory of the second pointer array; If the allocated memory of the second pointer array is exhausted, the UE allocates an additional memory of the size of a second basic unit for the second pointer array, and records the sequence number of the newly received downlink RLC PDU and the downlink reception information in the newly allocated memory of the second pointer array; the memory space of the second pointer array is allocated up to the size of L2 second basic units at most; Step S24: The UE releases the memory space of the downlink RLC PDU that has been completely received in the RLC downlink window; The above Step S23 and Step S24 may be in any order before or may be carried out simultaneously.

6. The method for optimizing the management of the 5G NR RLC window memory according to claim 5, characterized in that, in the above Step S21, M2 is 8 bytes, N2 is 4096, and L2 is 64.

7. The method for optimizing the management of the 5G NR RLC window memory according to claim 5, characterized in that, in the above Step S22, the downlink reception information includes: whether the downlink RLC PDU with the current sequence number has been received; whether the downlink RLCPDU with the current sequence number has been segmented; if the downlink RLC PDU with the current sequence number has been segmented, whether all segments have been completely received; the initialized allocated RLC downlink window can back up N2 downlink RLC PDUs.

8. The method for optimizing the management of the 5G NR RLC window memory according to claim 5, characterized in that, in the above Step S24, when all the downlink RLC PDUs corresponding to a certain second basic unit have been completely received, the memory of this second basic unit is released for the second pointer array.

9. A device for optimizing the management of the 5G NR RLC window memory, characterized in that, it includes a first implementation unit, a first initial allocation unit, a first subsequent allocation unit and a first release unit; The first implementation unit is used to implement the RLC uplink window of 5G NR in the acknowledged mode by using a first pointer array; in the first pointer array, the size of each first basic unit is M1×N1 bytes; the first pointer array has a maximum of L1 first basic units; The first initial allocation unit is used to initialize and allocate a memory of the size of a first basic unit for the first pointer array, and uses M1 bytes to record a pointer, and each pointer points to the storage address of the original data of the uplink RLC PDU to be sent by the UE with a specific sequence number; The first subsequent allocation unit is used to, when the allocated memory of the first pointer array is not exhausted, use a pointer to record the storage address of the original data of the uplink RLC PDU to be sent in the allocated memory of the first pointer array; It is also used to allocate an additional memory of the size of a first basic unit for the first pointer array when the allocated memory of the first pointer array is used up, and record the storage address of the original data of the upcoming uplink RLC PDU with a pointer in the newly allocated memory of the first pointer array; the memory space of the first pointer array is allocated up to the size of L1 first basic units; The first release unit is used to release the memory space in the RLC uplink window of the pointer of the uplink RLC PDU that has received the ACK information from the network side after the UE receives the uplink status report sent by the network side.

10. A device for optimizing the management of 5G NR RLC window memory Characterized in that It includes a second implementation unit, a second initial allocation unit, a second subsequent allocation unit and a second release unit; The second implementation unit is used to implement the RLC downlink window in the confirmed mode of 5G NR with a second pointer array; in the second pointer array, the size of each second basic unit is M2×N2 bytes; the second pointer array is at most L2 second basic units; The second initial allocation unit is used to initialize and allocate a memory of the size of a second basic unit for the second pointer array, and record the sequence number of a downlink RLC PDU and the downlink reception information with M2 bytes; The second subsequent allocation unit is used to record the sequence number of the newly received downlink RLC PDU and the downlink reception information in the allocated memory of the second pointer array when the allocated memory of the second pointer array is not used up; it is also used to allocate an additional memory of the size of a second basic unit for the second pointer array when the allocated memory of the second pointer array is used up, and record the sequence number of the newly received downlink RLC PDU and the downlink reception information in the newly allocated memory of the second pointer array; the memory space of the second pointer array is allocated up to the size of L2 second basic units; The second release unit is used to release the memory space in the RLC downlink window of the downlink RLC PDU that has been received completely.

Citation Information

Patent Citations

  • Management method of memory pool for terminal

    CN101286878A

  • Method and device for managing memory pool

    CN102253897A