CN113453276B - Method and device for improving uplink and downlink memory utilization rate of LTE terminal - Google Patents

Method and device for improving uplink and downlink memory utilization rate of LTE terminal Download PDF

Info

Publication number
CN113453276B
CN113453276B CN202110537754.0A CN202110537754A CN113453276B CN 113453276 B CN113453276 B CN 113453276B CN 202110537754 A CN202110537754 A CN 202110537754A CN 113453276 B CN113453276 B CN 113453276B
Authority
CN
China
Prior art keywords
uplink
downlink
block
blocks
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110537754.0A
Other languages
Chinese (zh)
Other versions
CN113453276A (en
Inventor
郑锐
王青松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ASR Microelectronics Co Ltd
Original Assignee
ASR Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ASR Microelectronics Co Ltd filed Critical ASR Microelectronics Co Ltd
Priority to CN202110537754.0A priority Critical patent/CN113453276B/en
Publication of CN113453276A publication Critical patent/CN113453276A/en
Application granted granted Critical
Publication of CN113453276B publication Critical patent/CN113453276B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0278Traffic management, e.g. flow control or congestion control using buffer status reports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application discloses a method for improving the utilization rate of uplink and downlink memories of an LTE terminal. And dividing the uplink and downlink shared memory of the terminal into a plurality of blocks. And firstly distributing a first number of blocks in the shared memory as downlink blocks, and using the rest blocks as uplink blocks. And respectively managing the uplink block and the downlink block by adopting an uplink chain table and a downlink chain table. And when the protocol stack of the terminal receives the uplink data, sequentially distributing uplink blocks from the uplink chain table for uplink data transmission. And when the protocol stack of the terminal receives the information that the uplink data is successfully transmitted, the occupied space in the uplink block is released. And when the physical layer of the terminal receives the downlink data from the network side, sequentially distributing downlink blocks from the downlink linked list for downlink data transmission. The physical layer of the terminal sends the downlink data to the protocol stack of the terminal, and the protocol stack of the terminal processes the downlink data; and after the processing is finished, the protocol stack of the terminal releases the occupied space in the downlink block. The memory sharing method and the memory sharing device realize memory sharing of uplink and downlink data transmission.

Description

Method and device for improving uplink and downlink memory utilization rate of LTE terminal
Technical Field
The application relates to a memory management method of user equipment in the field of mobile communication.
Background
The LTE (Long-Term Evolution) is used as a new generation communication technology, and a new modulation and demodulation technology is used, so that the data transmission and communication capacity of the mobile communication network are greatly improved; while improving the data transmission speed, a high requirement is also put forward on a UE (user equipment) baseband chip. Such as LTE category4 (level 4) would need to support peak rates of 50Mbps upstream and 150Mbps downstream. The speed is higher if dual carriers are supported. In the process of data communication, data operation, caching, reading and the like all relate to memory operation. The UE needs to support such high rates and there is a specific need for memory size. The memory size of the UE baseband chip influences the cost price of the chip, so that the reasonable utilization of the memory is of great significance for the reasonable control of the cost of the UE baseband chip.
According to the 3GPP protocol description, to meet the peak rate of LTE category4, the memory required by the UE is about 1.8MB under the conditions of normal communication quality and no buffered data.
If data buffering occurs, for example, after uplink AM (acknowledgement Mode) RLC (Radio Link Control ) data is sent out, the uplink data needs to be buffered and cannot be released to prepare for retransmission without receiving an ACK (acknowledgement). According to the protocol, the transmission window size of 10 bit (bit) SN (Sequence Number) RLC, that is, the range of RLC PDU (protocol data unit ) Sequence numbers is 512, and according to the LTE category4 protocol, the maximum data amount that can be transmitted at one time in uplink, that is, one RLC Sequence Number can contain about 6500 bytes of data at the maximum, the maximum memory required for uplink transmission buffer is about 512×6500 bytes (byte), and about 3.3MB. If the downlink AM RLC has long reordering, according to the protocol, the reordering window size of the 10-bit SN RLC is 512, and each downlink TB (transport block) is 7500 bytes, the downlink transmission buffer needs about 3.8MB at maximum.
In general, the UE does not need to consider the extreme case that the uplink window and the downlink window are simultaneously filled, but needs to meet the extreme case that the window in one direction is filled, for example, some test cases require that the uplink transmission window is full. If the UE wants to meet the uplink and downlink data buffering (buffer) requirements at the same time, the UE needs 3.3MB of buffering space for uplink and 3.8MB of buffering space for downlink. If the uplink and downlink memories are independent, the memory overhead is large.
Disclosure of Invention
The technical problem to be solved by the application is as follows: on the basis of following 3GPP protocol, a method for sharing uplink and downlink memory is proposed to raise utilization rate of uplink and downlink memory. The method saves the memory required by the system to the greatest extent and reduces the cost of the baseband chip of the UE on the premise of meeting the peak rate of LTE.
In order to solve the technical problems, the application provides a method for improving the uplink and downlink memory utilization rate of an LTE terminal, which comprises the following steps. Step S1: and dividing the uplink and downlink shared memory of the terminal into a plurality of blocks according to the fixed block size, wherein each block corresponds to a block header to record the space use condition of the block. Step S2: when the terminal is started, a first number of blocks are firstly distributed in the shared memory to serve as downlink blocks, and the rest blocks except the downlink blocks serve as uplink blocks. Step S3: respectively managing an uplink block and a downlink block by adopting an uplink chain table and a downlink chain table; initially, all downstream blocks are initialized to a downstream linked list and all upstream blocks are initialized to an upstream linked list. Step S4: and when the protocol stack of the terminal receives the uplink data, sequentially distributing uplink blocks from the uplink chain table for uplink data transmission. Step S5: and when the protocol stack of the terminal receives the information that the uplink data is successfully transmitted, releasing the space in the uplink block occupied by the transmitted uplink data. Step S6: and when the physical layer of the terminal receives the downlink data from the network side, sequentially distributing downlink blocks from the downlink linked list for downlink data transmission. Step S7: the physical layer of the terminal sends the downlink data to the protocol stack of the terminal, and the protocol stack of the terminal processes the downlink data; after the processing is finished, the protocol stack of the terminal releases the space in the downlink block occupied by the downlink data. The step S4 and the step S5 are used as a flow of allocating and releasing the shared memory by uplink data, and the step S6 and the step S7 are used as a flow of allocating and releasing the shared memory by downlink data, and the sequence of the step S4 and the step S7 is performed before or simultaneously.
Further, in the step S3, the uplink chain table records in real time the uplink blocks having the free space that can be used; the first uplink block in the freeHead records the uplink list and the last uplink block in the freeTail records the uplink list; in the using process, once a certain uplink block A is completely used, the uplink block A is moved out of an uplink chain table from the beginning of the uplink chain table, and meanwhile, the record of the freeHead is updated; once an uplink block B moving out of the uplink list is completely released, the uplink block B is moved into the end of the uplink list while the record of the freeTail is updated.
Further, in the step S4, after the uplink data uses the allocated uplink block, if the allocated uplink block is not used, the record information of the block header of the allocated uplink block is updated; if the use of the allocated uplink block is finished, on one hand, updating the record information of the block head of the allocated uplink block; and on the other hand, the allocated uplink block is moved out of the uplink chain table, and meanwhile, the freeHead information is updated.
Further, in the step S5, after the sent uplink data releases the occupied space in the uplink block, if the uplink block of the released space is not completely released, the record information of the block header of the uplink block of the released space is updated; if the uplink block of the released space is completely released, on one hand, updating the record information of the block head of the uplink block of the released space; and on the other hand, the uplink block of the released space is moved into the uplink chain table, and meanwhile, the freeTail information is updated.
Further, in the step S3, the downlink chain table records in real time the downlink blocks having the free space that can be used; the dlFreeHead records the first downstream block in the downstream link list and the dlFreeTail records the last downstream block in the downstream link list; in the using process, once a certain downlink block C is completely used, the downlink block C is moved out of a downlink chain table from the beginning of the downlink chain table, and meanwhile, the record of the dlfreeHead is updated; once a downlink block D that moves out of the downlink linked list is completely released, the downlink block D is moved to the end of the uplink linked list while the record of the freeTail is updated.
Further, in the step S6, after the downlink data uses the allocated downlink block, if the allocated downlink block is not used, the record information of the block head of the allocated downlink block is updated; if the allocated downlink block is used, on one hand, updating the record information of the block head of the allocated downlink block; and on the other hand, the allocated downlink block is moved out of the downlink chain table, and the dlFreeHead information is updated.
Further, in the step S7, after the processed downlink data releases the occupied space in the downlink block, if the downlink block of the released space is not completely released, the record information of the block header of the downlink block of the released space is updated; if the downlink block of the released space is completely released, on one hand, updating the record information of the block head of the downlink block of the released space; and on the other hand, the downlink block of the released space is moved into the uplink chain table, and meanwhile, the freeTail information is updated.
Further, in the step S7, when the physical layer reports the downlink data, the protocol stack is notified of the usage situation of the downlink block; the protocol stack adjusts the number of the downlink blocks according to the condition of the downlink blocks consumed by the physical layer; since the total number of blocks is fixed, the number of uplink blocks will also be adjusted accordingly.
Further, in the steps S6 and S7, the physical layer of the terminal and the protocol stack of the terminal are avoided from operating the freeHead, or the freeTail, or the dlfreeHead, or the dlfreeTail simultaneously.
The application also provides a device for improving the uplink and downlink utilization rate of the memory of the LTE terminal, which comprises a block dividing unit, an uplink and downlink dividing unit, a linked list management unit, an uplink distributing unit, an uplink releasing unit, a downlink distributing unit and a downlink releasing unit. The block dividing unit is used for dividing the uplink and downlink shared memory of the terminal into a plurality of blocks according to the fixed block size, and each block corresponds to a block header to record the space use condition of the block. The uplink and downlink dividing unit is used for firstly distributing a first number of blocks in the shared memory to serve as downlink blocks when the terminal is started, and the rest blocks except the downlink blocks serve as uplink blocks. The linked list management unit is used for setting an uplink linked list and a downlink linked list to respectively manage uplink blocks and downlink blocks; initially, all downstream blocks are initialized to a downstream linked list and all upstream blocks are initialized to an upstream linked list. The uplink allocation unit is used for allocating uplink blocks in sequence from the uplink chain table for uplink data transmission when the protocol stack of the terminal receives uplink data. The uplink release unit is used for releasing the space in the uplink block occupied by the sent uplink data when the protocol stack of the terminal receives the information that the uplink data is successfully sent. The downlink allocation unit is used for allocating downlink blocks in sequence from the downlink linked list for downlink data transmission when the physical layer of the terminal receives the downlink data from the network side. The downlink release unit is used for sending downlink data to a protocol stack of the terminal at a physical layer of the terminal, and the protocol stack of the terminal releases the space in a downlink block occupied by the downlink data after the protocol stack of the terminal processes the downlink data.
The technical effect of the method and the device is that the uplink and downlink data transmission of the user equipment share the use of the memory, so that the memory overhead is reduced, and especially in the extreme case that the uplink window and the downlink window are simultaneously filled.
Drawings
Fig. 1 is a flow chart of a method for managing uplink and downlink transmission shared memory according to the present application.
Fig. 2 is a schematic structural diagram of a management apparatus for uplink and downlink transmission shared memory according to the present application.
The reference numerals in the drawings illustrate: block dividing unit 1, up-down dividing unit 2, linked list managing unit 3, up distributing unit 4, up releasing unit 5, down distributing unit 6, down releasing unit 7.
Description of the embodiments
Referring to fig. 1, the method for managing uplink and downlink transmission shared memory, which can improve the memory utilization of an LTE terminal, includes the following steps, taking LTE category4 as an example.
Step S1: the memory space (called shared memory) shared by the uplink and downlink of the LTE terminal is divided into a plurality of blocks (blocks) according to a fixed block size. Let the shared memory be the first size, the number of blocks = first size +.block size. These blocks are commonly used for uplink and downlink data transmission provided to the UE. For example, the first capacity is 4MB, the block size is 9500 bytes, and the number of blocks is about 441.5. The exemplary 9500 byte block size considers the maximum length of the support packets required under LTE PDCP (Packet Data Convergence Protocol ). Each block manages information of the block corresponding to a block header (block head). The block header records the space usage of the block, such as the size of the used space in the block, the size of the free space, etc.
Step S2: when the LTE terminal is started, a first number of blocks are firstly distributed in the shared memory to serve as downlink blocks to the physical layer and used for downlink data transmission of the physical layer of the UE. The other blocks except the downlink block are all uplink blocks. The first number is for example 60. This is because the physical layer has a plurality of (e.g. 16) HARQ (Hybrid Automatic Repeat reQuest ) units, and the downlink block is used to meet, on the one hand, that the HARQ units of the physical layer have sufficient memory usage for downlink data transmission, and on the other hand, that other memory usage requirements for downlink data transmission.
Step S3: and respectively managing the uplink block and the downlink block by adopting an uplink chain table and a downlink chain table, and jointly managing the whole shared memory by the two chain tables. A buffer manager (buffer manager) is employed to manage the two linked lists. The cache manager records information such as core variables freeHead, freeTail, dlFreeHead, dlFreeTail, and the information of two linked lists of the whole shared memory is commonly maintained by the core variables. And the cache manager controls the four core variables to record and manage the use condition of the whole shared memory in real time, wherein the use condition comprises the use condition of uplink data, the use condition of downlink data, the total use condition of the system and the like.
The uplink list records in real time uplink blocks with free space available. The freeHead records the first upstream block in the upstream link table and the freeTail records the last upstream block in the upstream link table. Initializing all uplink blocks into an uplink chain table, wherein the uplink chain table comprises all uplink blocks after initialization. In use, once a certain uplink block a has been fully used without any free space, the uplink block a is moved out of the uplink list from the beginning of the uplink list. The uplink block A is the first uplink block in the original uplink chain table and is recorded by a freeHead; once the uplink block a moves out of the uplink chain table, the uplink block arranged behind the uplink block a in the original uplink chain table is used as the first uplink block in the new uplink chain table, and the freeHead is changed to record the first uplink block in the new uplink chain table. And a certain uplink block B moving out of the uplink chain table is moved into the end of the uplink chain table once the uplink block B is completely released and has no use. The uplink block B is not in the original uplink chain table, and the last uplink block in the original uplink chain table is recorded by the freeTail; once the uplink block B moves into the uplink list, the uplink block B serves as the last uplink block in the new uplink list, and the freeTail records the uplink block B instead.
The downlink list records in real time downlink blocks with free space available. The dlFreeHead records the first downstream block in the downstream link list and the dlFreeTail records the last downstream block in the downstream link list. Initializing all downlink blocks into a downlink chain table, wherein the downlink chain table comprises all downlink blocks after initialization. In use, a certain downlink block C is moved out of the downlink list from the beginning of the downlink list once it has been fully used without any free space. The downlink block C is the first downlink block in the original downlink chain table and is recorded by dlfreeHead; once the downlink block C moves out of the downlink linked list, the downlink block arranged behind the downlink block C in the original downlink linked list is used as the first downlink block in the new downlink linked list, and dlfreeHead is changed to record the first downlink block in the new downlink linked list. And a certain downlink block D moving out of the downlink list is moved into the end of the downlink list once it is completely released and has no use. The downlink block D is not in the original downlink chain table, and the last downlink block in the original downlink chain table is recorded by dlfreeTail; once the downstream block D moves into the downstream link list, the downstream block D serves as the last downstream block in the new downstream link list, and dlfreeTail records the downstream block D instead.
Step S4: when the protocol stack of the UE receives the uplink data, the uplink blocks used for uplink data transmission of the UE are distributed from the first uplink block in the uplink chain table according to the sequence of the uplink chain table.
After the uplink data uses the allocated uplink block, if the allocated uplink block is not used, that is, there is still free space in the allocated uplink block, the record information of the block head of the allocated uplink block is updated, that is, the new used space and the size of the free space in the allocated uplink block are recorded.
After the uplink data uses the allocated uplink block, if the allocated uplink block is used up, that is, no free space exists in the allocated uplink block, on the one hand, the record information of the block head of the allocated uplink block is updated, namely the new used space and the size of the free space in the allocated uplink block are recorded; and on the other hand, the allocated uplink block is moved out of the uplink chain table, and meanwhile, the freeHead information is updated.
Step S5: and when the protocol stack of the UE receives the information that the uplink data is successfully transmitted, releasing the space in the uplink block occupied by the transmitted uplink data.
After the sent uplink data releases the occupied space in the uplink block, if the uplink block of the released space is not completely released, that is, other uplink data is still stored in the uplink block, the record information of the block head of the uplink block of the released space is updated—the new used space and the size of the free space in the uplink block of the released space are recorded.
After the sent uplink data release the occupied space in the uplink block, if the uplink block with released space is completely released, that is, other uplink data is not stored in the uplink block, on one hand, the record information of the block head of the uplink block with released space is updated—the size of unused space and new free space in the uplink block with released space is recorded; and on the other hand, the uplink block of the released space is moved into the uplink chain table, and meanwhile, the freeTail information is updated.
Step S6: when the physical layer of the UE receives downlink data from the network side, downlink blocks used for downlink data transmission of the UE are distributed from the first downlink block in the downlink chain table according to the sequence of the downlink chain table.
After the downlink data uses the allocated downlink block, if the allocated downlink block is not used, that is, there is still free space in the allocated downlink block, the record information of the block head of the allocated downlink block is updated, that is, the new used space and the size of the free space in the allocated downlink block are recorded.
After the downlink data uses the allocated downlink block, if the allocated downlink block is used, that is, there is no free space in the allocated downlink block, on the one hand, the record information of the block head of the allocated downlink block is updated—the new used space and the size of the free space in the allocated downlink block are recorded; and on the other hand, the allocated downlink block is moved out of the downlink chain table, and the dlFreeHead information is updated.
Step S7: the physical layer of the UE transmits downlink data to a protocol stack of the UE, and the protocol stack of the UE processes the downlink data; after the processing is finished, the protocol stack of the UE releases the space in the downlink block occupied by the downlink data.
After the processed downlink data releases the occupied space in the downlink block, if the downlink block of the released space is not completely released, that is, other downlink data is still stored therein, the record information of the block head of the downlink block of the released space is updated—the new used space and the size of the free space in the downlink block of the released space are recorded.
After the processed downlink data release the occupied space in the downlink block, if the downlink block with released space is completely released, that is, no other downlink data is stored therein, on the one hand, the record information of the block head of the downlink block with released space is updated—the size of the unused space and the new free space in the downlink block with released space is recorded; and on the other hand, the downlink block of the released space is moved into the downlink chain table, and the dlfreeTail information is updated.
Preferably, in the step S7, when the physical layer reports the downlink data to the protocol stack (e.g. the data link layer), the physical layer notifies the data link layer of the usage of the downlink block; the data link layer adjusts the number of downlink blocks according to the condition of the downlink blocks consumed by the physical layer. Since the total number of blocks is fixed, the number of uplink blocks will also be adjusted accordingly. For example, increasing the number of downlink blocks means decreasing the number of uplink blocks, that is, transferring one or more uplink blocks in the uplink list to the end of the downlink list, and synchronously updating dlFreeTail information. This means that the number of downlink blocks and uplink blocks in the present application will be dynamically adjusted according to the actual use situation.
The step S4 and the step S5 are used as a flow of allocating and releasing the shared memory by uplink data, and the step S6 and the step S7 are used as a flow of allocating and releasing the shared memory by downlink data, and the sequence of the step S4 and the step S7 is not strictly limited, and can be performed before or simultaneously.
Since the allocation and release of the uplink data to the shared memory are both at the protocol stack side of the UE, the situation of the variable critical section will not occur. A variable critical section refers to the same variable being accessed by multiple process entity operations. For example, program one is accessing and operating on variable a, program two is accessing and operating on variable a, and at this time, an operational conflict to variable a occurs. However, the allocation of the downlink data to the shared memory is at the physical layer of the UE, and the protocol stack of the UE is released, which is two execution bodies, and the situation of the variable critical section may occur. In order to avoid the collision of the variable critical sections, when the shared memory is managed, the physical layer of the UE and the protocol stack of the UE need to be avoided to operate the same variable in the cache manager at the same time.
Referring to fig. 2, the management apparatus for uplink and downlink transmission shared memory capable of improving the memory utilization rate of an LTE terminal provided in the present application includes a block dividing unit 1, an uplink and downlink dividing unit 2, a linked list managing unit 3, an uplink allocating unit 4, an uplink releasing unit 5, a downlink allocating unit 6, and a downlink releasing unit 7, taking LTE category4 as an example. The apparatus shown in fig. 2 corresponds to the method shown in fig. 1.
The block dividing unit 1 is configured to divide a memory space (referred to as a shared memory) shared by uplink and downlink of the LTE terminal into a plurality of blocks according to a fixed block size. Each block corresponds to a block header managing the information of the block.
The uplink and downlink dividing unit 2 is configured to allocate a first number of blocks as downlink blocks to a physical layer in the shared memory when the LTE terminal is powered on, and all blocks except the downlink blocks are uplink blocks.
The linked list management unit 3 is used for setting an uplink linked list and a downlink linked list to respectively manage the uplink block and the downlink block, and a cache manager is used for managing the two linked lists. The information such as the core variable freeHead, freeTail, dlFreeHead, dlFreeTail is recorded in the cache manager.
The uplink list records in real time uplink blocks with free space available. The freeHead records the first upstream block in the upstream link table and the freeTail records the last upstream block in the upstream link table. Initially, all uplink blocks are initialized to an uplink list. In use, once a certain uplink block a has been fully used without any free space, the uplink block a is moved out of the uplink list from the beginning of the uplink list while updating the record of the freeHead. And once a certain uplink block B moving out of the uplink chain table is completely released and is not used, the uplink block B is moved into the tail of the uplink chain table, and meanwhile, the freeTail record is updated.
The downlink list records in real time downlink blocks with free space available. The dlFreeHead records the first downstream block in the downstream link list and the dlFreeTail records the last downstream block in the downstream link list. Initially, all downstream blocks are initialized to a downstream linked list. In use, once a certain downlink block C has been fully used without any free space, the downlink block C is moved out of the downlink list from the beginning of the downlink list while the dlfrehead record is updated. And a certain downlink block D moving out of the downlink chain table is moved to the end of the uplink chain table once it is completely released and has no use, and the freeTail record is updated.
The uplink allocation unit 4 is configured to, when the protocol stack of the UE receives uplink data, allocate uplink blocks serving as uplink data transmission of the UE from a first uplink block in the uplink linked list according to the order of the uplink linked list. If the allocated uplink block is not used, updating the record information of the block head of the allocated uplink block. If the use of the allocated uplink block is finished, on one hand, updating the record information of the block head of the allocated uplink block; and on the other hand, the allocated uplink block is moved out of the uplink chain table, and meanwhile, the freeHead information is updated.
The uplink release unit 5 is configured to release the space in the uplink block occupied by the uplink data sent when the protocol stack of the UE receives the information that the uplink data is sent successfully. If the released space uplink block is not completely released, the record information of the block head of the released space uplink block is updated. If the uplink block of the released space is completely released, on one hand, updating the record information of the block head of the uplink block of the released space; and on the other hand, the uplink block of the released space is moved into the uplink chain table, and meanwhile, the freeTail information is updated.
The downlink allocation unit 6 is configured to allocate, when the physical layer of the UE receives downlink data from the network side, downlink blocks serving as downlink data transmission of the UE from a first downlink block in the downlink linked list according to the order of the downlink linked list. If the allocated downlink block is not used, updating the record information of the block head of the allocated downlink block. If the allocated downlink block is used, on one hand, updating the record information of the block head of the allocated downlink block; and on the other hand, the allocated downlink block is moved out of the downlink chain table, and the dlFreeHead information is updated.
The downlink release unit 7 is configured to send downlink data to a protocol stack of the UE at a physical layer of the UE, where after the protocol stack of the UE processes the downlink data, the protocol stack of the UE releases a space in a downlink block occupied by the downlink data. If the downlink block of the released space is not completely released, the record information of the block head of the downlink block of the released space is updated. If the downlink block of the released space is completely released, on one hand, updating the record information of the block head of the downlink block of the released space; and on the other hand, the downlink block of the released space is moved into the uplink chain table, and meanwhile, the freeTail information is updated.
If the memories of the uplink data and the downlink data of the LTE terminal are completely separated, more memories are consumed, and the chip cost is increased. On the premise of meeting the 3GPP requirements, the method for managing uplink and downlink memory sharing is provided, so that the system memory requirement is saved, and the chip cost is reduced. In practical application and LTE terminal test meeting the 3GPP requirements, the method has good effects.
The foregoing is merely a preferred embodiment of the present application and is not intended to limit the present application. Various modifications and changes may be made to the present application by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application should be included in the protection scope of the present application.

Claims (10)

1. A method for improving the utilization rate of uplink and downlink memories of an LTE terminal is characterized by comprising the following steps of;
step S1: dividing an uplink shared memory and a downlink shared memory of a terminal into a plurality of blocks according to a fixed block size, wherein each block corresponds to a block header to record the space use condition of the block;
step S2: when the terminal is started, a first number of blocks are firstly distributed in the shared memory to serve as downlink blocks, and the rest blocks except the downlink blocks serve as uplink blocks;
step S3: respectively managing an uplink block and a downlink block by adopting an uplink chain table and a downlink chain table; initially, initializing all downlink blocks into a downlink chain table, and initializing all uplink blocks into an uplink chain table;
step S4: when the protocol stack of the terminal receives uplink data, uplink blocks are allocated in sequence from the uplink chain table for uplink data transmission;
step S5: when the protocol stack of the terminal receives the information that the uplink data is successfully transmitted, the space in the uplink block occupied by the transmitted uplink data is released;
step S6: when the physical layer of the terminal receives downlink data from a network side, downlink blocks are allocated in sequence from the downlink linked list for downlink data transmission;
step S7: the physical layer of the terminal sends the downlink data to the protocol stack of the terminal, and the protocol stack of the terminal processes the downlink data; after the processing is finished, the protocol stack of the terminal releases the space in the downlink block occupied by the downlink data;
the step S4 and the step S5 are used as a flow of allocating and releasing the shared memory by uplink data, and the step S6 and the step S7 are used as a flow of allocating and releasing the shared memory by downlink data, and the sequence of the step S4 and the step S7 is performed before or simultaneously.
2. The method for improving uplink and downlink memory utilization of an LTE terminal according to claim 1, wherein in step S3, an uplink linked list records in real time uplink blocks having free space that can be used; the first uplink block in the freeHead records the uplink list and the last uplink block in the freeTail records the uplink list; in the using process, once a certain uplink block A is completely used, the uplink block A is moved out of an uplink chain table from the beginning of the uplink chain table, and meanwhile, the record of the freeHead is updated; once an uplink block B moving out of the uplink list is completely released, the uplink block B is moved into the end of the uplink list while the record of the freeTail is updated.
3. The method for improving uplink and downlink memory utilization of an LTE terminal according to claim 2, wherein in step S4, after the uplink data uses the allocated uplink block, if the allocated uplink block is not used, the record information of the block header of the allocated uplink block is updated; if the use of the allocated uplink block is finished, on one hand, updating the record information of the block head of the allocated uplink block; and on the other hand, the allocated uplink block is moved out of the uplink chain table, and meanwhile, the freeHead information is updated.
4. The method for improving uplink and downlink memory utilization of an LTE terminal according to claim 2, wherein in step S5, after the transmitted uplink data releases the occupied space in the uplink block, if the released uplink block is not completely released, the record information of the block header of the released uplink block is updated; if the uplink block of the released space is completely released, on one hand, updating the record information of the block head of the uplink block of the released space; and on the other hand, the uplink block of the released space is moved into the uplink chain table, and meanwhile, the freeTail information is updated.
5. The method for improving uplink and downlink memory utilization of an LTE terminal according to claim 1, wherein in step S3, a downlink linked list records in real time downlink blocks having free space that can be used; the dlFreeHead records the first downstream block in the downstream link list and the dlFreeTail records the last downstream block in the downstream link list; in the using process, once a certain downlink block C is completely used, the downlink block C is moved out of a downlink chain table from the beginning of the downlink chain table, and meanwhile, the record of the dlfreeHead is updated; once a certain downlink block D moving out of the downlink list is completely released, the downlink block D is moved to the end of the downlink list, and the record of dlfreeTail is updated.
6. The method for improving uplink and downlink memory utilization of an LTE terminal according to claim 5, wherein in step S6, after the downlink data uses the allocated downlink block, if the allocated downlink block is not used, the record information of the block header of the allocated downlink block is updated; if the allocated downlink block is used, on one hand, updating the record information of the block head of the allocated downlink block; and on the other hand, the allocated downlink block is moved out of the downlink chain table, and the dlFreeHead information is updated.
7. The method for improving uplink and downlink memory utilization of an LTE terminal according to claim 5, wherein in step S7, after the processed downlink data releases the occupied space in the downlink block, if the downlink block of the released space is not completely released, the record information of the block header of the downlink block of the released space is updated; if the downlink block of the released space is completely released, on one hand, updating the record information of the block head of the downlink block of the released space; and on the other hand, the downlink block of the released space is moved into the downlink chain table, and the dlfreeTail information is updated.
8. The method for improving uplink and downlink memory utilization of an LTE terminal according to claim 1, wherein in step S7, when the physical layer reports downlink data to the physical layer, the protocol stack is notified of the usage of the downlink block; the protocol stack adjusts the number of the downlink blocks according to the condition of the downlink blocks consumed by the physical layer; since the total number of blocks is fixed, the number of uplink blocks will also be adjusted accordingly.
9. A method for improving uplink and downlink memory utilization of an LTE terminal according to claim 2 or 3, wherein in steps S6 and S7, the physical layer of the terminal and the protocol stack of the terminal are prevented from operating the freeHead, or the freeTail, or the dlfreeHead, or the dlfreeTail simultaneously.
10. The device for improving the uplink and downlink utilization rate of the LTE terminal memory is characterized by comprising a block dividing unit, an uplink and downlink dividing unit, a linked list management unit, an uplink distributing unit, an uplink releasing unit, a downlink distributing unit and a downlink releasing unit;
the block dividing unit is used for dividing the uplink and downlink shared memory of the terminal into a plurality of blocks according to the fixed block size, and each block corresponds to a block header to record the space service condition of the block;
the uplink and downlink dividing unit is used for firstly distributing a first number of blocks in the shared memory to serve as downlink blocks when the terminal is started, and the rest blocks except the downlink blocks serve as uplink blocks;
the linked list management unit is used for setting an uplink linked list and a downlink linked list to respectively manage uplink blocks and downlink blocks; initially, initializing all downlink blocks into a downlink chain table, and initializing all uplink blocks into an uplink chain table;
the uplink allocation unit is used for allocating uplink blocks in sequence from the uplink chain table for uplink data transmission when the protocol stack of the terminal receives uplink data;
the uplink release unit is used for releasing the space in the uplink block occupied by the sent uplink data when the protocol stack of the terminal receives the information that the uplink data is successfully sent;
the downlink allocation unit is used for allocating downlink blocks in sequence from the downlink linked list for downlink data transmission when the physical layer of the terminal receives downlink data from the network side;
the downlink release unit is used for sending downlink data to a protocol stack of the terminal at a physical layer of the terminal, and the protocol stack of the terminal releases the space in a downlink block occupied by the downlink data after the protocol stack of the terminal processes the downlink data.
CN202110537754.0A 2021-05-18 2021-05-18 Method and device for improving uplink and downlink memory utilization rate of LTE terminal Active CN113453276B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110537754.0A CN113453276B (en) 2021-05-18 2021-05-18 Method and device for improving uplink and downlink memory utilization rate of LTE terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110537754.0A CN113453276B (en) 2021-05-18 2021-05-18 Method and device for improving uplink and downlink memory utilization rate of LTE terminal

Publications (2)

Publication Number Publication Date
CN113453276A CN113453276A (en) 2021-09-28
CN113453276B true CN113453276B (en) 2024-01-16

Family

ID=77810039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110537754.0A Active CN113453276B (en) 2021-05-18 2021-05-18 Method and device for improving uplink and downlink memory utilization rate of LTE terminal

Country Status (1)

Country Link
CN (1) CN113453276B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242898B (en) * 2022-06-06 2024-04-19 浪潮通信技术有限公司 Communication method and device between protocol stack and physical layer process

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691637A (en) * 2004-04-27 2005-11-02 华为技术有限公司 Method of data packet storage in communication equipment
CN1801769A (en) * 2004-12-31 2006-07-12 华为技术有限公司 Data transmitting method
CN101630992A (en) * 2008-07-14 2010-01-20 中兴通讯股份有限公司 Method for managing shared memory
CN102316516A (en) * 2010-06-30 2012-01-11 重庆重邮信科通信技术有限公司 LTE uplink data transmission structure and control method
WO2012119466A1 (en) * 2011-03-07 2012-09-13 中兴通讯股份有限公司 Method and device for scheduling terminal uplink/downlink harq feedback information
WO2016011811A1 (en) * 2014-07-21 2016-01-28 深圳市中兴微电子技术有限公司 Memory management method and apparatus, and storage medium
CN107682267A (en) * 2017-09-21 2018-02-09 烽火通信科技股份有限公司 The network data retransmission method and system of Linux equipment
CN108600119A (en) * 2018-04-02 2018-09-28 北京理工大学 A kind of data buffer zone management method towards C-RAN Base-Band Processings
CN110618883A (en) * 2019-09-26 2019-12-27 迈普通信技术股份有限公司 Method, device, equipment and storage medium for sharing memory linked list

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106168916B (en) * 2016-06-24 2018-06-26 北京百度网讯科技有限公司 Data transmission method and system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691637A (en) * 2004-04-27 2005-11-02 华为技术有限公司 Method of data packet storage in communication equipment
CN1801769A (en) * 2004-12-31 2006-07-12 华为技术有限公司 Data transmitting method
CN101630992A (en) * 2008-07-14 2010-01-20 中兴通讯股份有限公司 Method for managing shared memory
CN102316516A (en) * 2010-06-30 2012-01-11 重庆重邮信科通信技术有限公司 LTE uplink data transmission structure and control method
WO2012119466A1 (en) * 2011-03-07 2012-09-13 中兴通讯股份有限公司 Method and device for scheduling terminal uplink/downlink harq feedback information
WO2016011811A1 (en) * 2014-07-21 2016-01-28 深圳市中兴微电子技术有限公司 Memory management method and apparatus, and storage medium
CN107682267A (en) * 2017-09-21 2018-02-09 烽火通信科技股份有限公司 The network data retransmission method and system of Linux equipment
CN108600119A (en) * 2018-04-02 2018-09-28 北京理工大学 A kind of data buffer zone management method towards C-RAN Base-Band Processings
CN110618883A (en) * 2019-09-26 2019-12-27 迈普通信技术股份有限公司 Method, device, equipment and storage medium for sharing memory linked list

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Link-sharing method of buffer in direct-connection network";Naohisa Fukase等;《Proceedings of 2011 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing》;全文 *
" TD-LTE宽带多媒体集群系统PDCP层协议研究与实现";朱小清;《中国优秀硕士学位论文全文数据库信息科技辑》;全文 *
"高速网络流产生系统";卫俊平等;《计算机应用》(第06期);全文 *

Also Published As

Publication number Publication date
CN113453276A (en) 2021-09-28

Similar Documents

Publication Publication Date Title
JP4497299B2 (en) Mobile radio communication terminal device
US20050085251A1 (en) Method of providing packetized data from a radio network controller to a base station
EP1892922B1 (en) A radio receiving apparatus
KR20210097700A (en) Communication device and communication method for multiband traffic stream
CN102316516B (en) A kind of LTE uplink data transmission structure construction method
CN111327391B (en) Time division multiplexing method, device, system and storage medium
KR102196939B1 (en) Appartus and method for data synchronization in cloud cell communication system
US11411892B2 (en) Packet fragment processing method and apparatus and system
EP3105873B1 (en) Technique for storing softbits
WO2009117945A1 (en) Method, system and device for transmitting data
CN107005560A (en) A kind of data transmission method for uplink, data receiver method and relevant device
CN102710389A (en) Method and user equipment for transmitting uplink data
CN102355324A (en) Frame aggregation control method, device and system
CN113453276B (en) Method and device for improving uplink and downlink memory utilization rate of LTE terminal
US20050047363A1 (en) Method and apparatus of controlling data delivery in a wireless communication system for digesting data units outside a reconfigured transmitting window and a reconfigured receiving window
KR100921022B1 (en) MAC Protocol and Data Transmission using the MAC Protocol in Wireless Local Area Network
CN107592975A (en) Multi-user's multiple-input and multiple-output is dispatched
CN115066844A (en) Dynamic uplink end-to-end data transmission scheme with optimized memory path
CN101350941B (en) Network service control method, apparatus and system capable of providing high speed up packet service
WO2023078014A1 (en) Method and apparatus for memory optimization management of 5g nr rlc window
JP2008278494A (en) Method and apparatus for handling packet discard in wireless communication system
JP2023544868A (en) Data transmission methods, devices and storage media
CN117155874A (en) Data packet transmitting method, forwarding node, transmitting terminal and storage medium
CN1262129C (en) Resource allocation control device, resource allocation control method, and mobile communication system
JP3947739B2 (en) Allocating memory resources for mobile stations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant