Memory processing method and device, electronic equipment, storage medium and computer program

By receiving the memory request information of the buffer and sharing memory blocks between multiple physical page pools, the problem of excessive memory occupancy of network components is solved, and the memory requirements are met and the overall memory occupancy is reduced.

CN120371718APending Publication Date: 2025-07-25BEIJING X RING TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410502106.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-24
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The memory occupancy rate of network components in mobile devices is too high, affecting network performance. In the prior art, fixed allocated memory blocks lead to excessive system memory occupancy.

Method used

Receive memory request information from the buffer, determine whether there are available memory blocks in the first physical page pool, and if there is no available memory, request memory blocks from the allocable physical page pool, and update memory block management information to realize the sharing and management of memory blocks.

Benefits of technology

Improve the memory sharing rate of network components, meet the memory needs of network components, and reduce the overall memory usage of network components on mobile devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120371718A_ABST
    Figure CN120371718A_ABST
Patent Text Reader

Abstract

The invention provides a memory processing method and device, electronic equipment, a storage medium and a computer program, and relates to the technical field of information, and the specific implementation scheme is as follows: receiving memory request information sent by a buffer; determining whether an available memory block exists in a first physical page pool corresponding to the buffer; if no available memory exists in the first physical page pool, a memory block is requested from the allocable physical page pool according to the memory block information, the requested first memory block is allocated to a buffer, and memory block management information cached in a memory processing unit corresponding to the buffer is updated, so that the memory sharing rate of the network component is improved, and the memory sharing efficiency of the network component is improved. The memory requirement of the network component is met, and the occupancy rate of the network component to the overall memory of the mobile device is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of information technology, and in particular, to a memory processing method, apparatus, electronic device, storage medium, and computer program. Background Art

[0002] With the popularization of the fifth-generation mobile communication technology, mobile devices have higher and higher requirements for network performance. The memory occupancy rate of network components is one of the important factors affecting the network performance of mobile devices. Therefore, it is necessary to improve the memory management ability of network components in mobile devices to meet the memory requirements of network components.

[0003] In the related art, during the system initialization process of a mobile device, a fixed number of memory blocks are allocated to network components to ensure that the memory of network components is sufficient for use, which may cause the network components to occupy too much system memory. Summary of the Invention

[0004] To overcome the problems existing in the related art, the present disclosure provides a memory processing method, apparatus, electronic device, storage medium, and computer program.

[0005] According to the first aspect of the embodiments of the present disclosure, a memory processing method is provided, including:

[0006] Receiving memory request information sent by a buffer;

[0007] Determining whether there is an available memory block in a first physical page pool corresponding to the buffer;

[0008] If there is no available memory in the first physical page pool, requesting a memory block from an allocable physical page pool according to the memory block information carried in the memory request information, allocating the requested first memory block to the buffer, and updating the memory block management information cached in the memory processing unit corresponding to the buffer.

[0009] According to the second aspect of the embodiments of the present disclosure, a memory processing apparatus is provided, including:

[0010] A transceiver module, configured to receive memory request information sent by a buffer;

[0011] A determination module, configured to determine whether there is an available memory block in a first physical page pool corresponding to the buffer;

[0012] An allocation module, configured to, when there is no available memory in the first physical page pool, request a memory block from an allocable physical page pool according to the memory block information carried in the memory request information, allocate the requested first memory block to the buffer, and update the memory block management information cached in the memory processing unit corresponding to the buffer.

[0013] According to a third aspect of the embodiments of the present disclosure, a memory processing device is provided, including:

[0014] A physical page pool, the physical page pool including memory blocks;

[0015] A memory processing unit, wherein the memory processing unit is respectively connected to the physical page pool and the buffer, and the memory processing unit is configured to execute the memory processing method described in the first aspect above;

[0016] A physical memory page cache management unit, used to maintain memory block management information.

[0017] According to a fourth aspect of the embodiments of the present disclosure, an electronic device is provided, including:

[0018] The memory processing device described in the third aspect above;

[0019] A buffer connected to the memory processing device, used to provide memory application services for network components.

[0020] According to a fifth aspect of the embodiments of the present disclosure, a storage medium is provided, the storage medium stores instructions, and when the instructions run on an electronic device, the electronic device is enabled to execute the memory processing method described in the first aspect above.

[0021] According to a sixth aspect of the embodiments of the present disclosure, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of the method described in the first aspect above are implemented.

[0022] The technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects: receiving memory request information sent by the buffer; determining whether there are available memory blocks in the first physical page pool corresponding to the buffer; if there is no available memory in the first physical page pool, requesting a memory block from the allocable physical page pool according to the memory block information, allocating the requested first memory block to the buffer, and updating the memory block management information cached in the memory processing unit corresponding to the buffer, so that memory block sharing can be performed among multiple physical page pools, improving the memory sharing rate of network components, facilitating the satisfaction of the memory requirements of network components, ensuring the normal operation of network components, and reducing the occupancy rate of the overall memory of the mobile device by network components.

[0023] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The accompanying drawings herein are incorporated into the specification and form a part of the specification, showing embodiments consistent with the present invention, and are used together with the specification to explain the principles of the present invention.

[0025] Figure 1It is a schematic diagram of an application scenario of a memory processing method provided according to an embodiment of the present disclosure.

[0026] Figure 2 It is a flowchart of a memory processing method provided according to an embodiment of the present disclosure.

[0027] Figure 3 It is a flowchart of a memory processing method provided according to an embodiment of the present disclosure.

[0028] Figure 4 It is a flowchart of a memory processing method provided according to an embodiment of the present disclosure.

[0029] Figure 5 It is a flowchart of a memory processing method provided according to an embodiment of the present disclosure.

[0030] Figure 6 It is a schematic diagram of requesting a memory block between physical page pools provided according to an embodiment of the present disclosure.

[0031] Figure 7 It is a flowchart of a memory processing method provided according to an embodiment of the present disclosure.

[0032] Figure 8 It is an execution schematic diagram of a memory processing method provided according to an embodiment of the present disclosure.

[0033] Figure 9 It is an execution schematic diagram of a memory processing method provided according to an embodiment of the present disclosure.

[0034] Figure 10 It is a block diagram of a memory processing device provided according to an embodiment of the present disclosure.

[0035] Figure 11 It is a block diagram of a memory processing device provided according to an embodiment of the present disclosure.

[0036] Figure 12 It is a block diagram of an electronic device provided according to an embodiment of the present disclosure. Detailed implementation

[0037] Here, the exemplary embodiments will be described in detail, and the examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present invention. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.

[0038] Although terms such as "first", "second", and "third" may be used herein to describe various components, parts, regions, layers, or sections, these components, parts, regions, layers, or sections are not limited to these terms. Instead, these terms are only used to distinguish one component, part, region, layer, or section from another. Thus, the first component, part, region, layer, or section referred to in the examples described herein may also be referred to as the second component, part, region, layer, or section without departing from the teachings of the various examples. Additionally, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include at least one of the features. In the description herein, "a plurality of" means at least two, such as two, three, etc., unless otherwise specifically and explicitly defined.

[0039] It should be understood that, unless otherwise clearly specified and defined, the terms "engage", "attach", "mount", "connect", "couple", "fix", etc. used in the embodiments of the present disclosure should be understood in a broad sense. For example, it may be a fixed connection, a detachable connection, or integrated; it may be a mechanical connection, an electrical connection, or communicable with each other; it may be directly connected, or indirectly connected through an intermediate medium, and it may be the internal communication of two elements or the interaction relationship between two elements, unless otherwise clearly defined. For those of ordinary skill in the art, the specific meanings of the above terms in the present disclosure can be understood according to specific circumstances.

[0040] It should be noted that the main application scenario of the memory processing method provided by the embodiments of the present disclosure is the memory management scenario of network components in mobile devices. Figure 1 is a schematic diagram of an application scenario of a memory processing method provided by an embodiment of the present disclosure. As Figure 1 shown, this application scenario includes a buffer FIFO (First Input First Output) 11, a buffer FIFO21, a buffer FIFO31, a buffer FIFO41, a memory processing unit PageIF12, a memory processing unit PageIF22, a memory processing unit PageIF32, a physical page pool PagePool13, a physical page pool PagePool23, a physical page pool PageIF33, and a physical memory page cache management unit PageCacheMgr14.

[0041] Figure 1 The number and form of the devices shown are only for illustration and do not constitute a limitation on the embodiments of the present disclosure. In actual application scenarios, it may include, but is not limited to, a plurality of buffers, a plurality of memory processing units, and a plurality of physical page pools.

[0042] Among them, the connection relationship between the buffer and the memory processing unit can be a one-to-one relationship or a many-to-one relationship. The connection relationship between the memory processing unit and the physical page pool is a one-to-one relationship. As Figure 1 shown, the buffer FIFO11 is connected to the memory processing unit PageIF12, the buffer FIFO21 is connected to the memory processing unit PageIF22, and both the buffer FIFO31 and the buffer FIFO41 are connected to the memory processing unit PageIF32. The physical page pool PagePool13 is connected to the memory processing unit PageIF12, the physical page pool PagePool23 is connected to the memory processing unit PageIF22, and the physical page pool PagePool33 is connected to the memory processing unit PageIF32. The physical memory page cache management unit PageCacheMgr14 is connected to the memory processing unit PageIF12, the memory processing unit PageIF22, and the memory processing unit PageIF32.

[0043] It should be noted that the physical page pool includes memory blocks. In some embodiments, multiple physical page pools can request memory blocks from each other. Among them, the buffer is used to provide memory application services for network components. The memory processing unit is used to slice and manage memory blocks. The physical memory page cache management unit is used to maintain memory block management information.

[0044] In an actual application scenario, the memory management of network components not only needs to meet the memory requirements of network components, but also needs to reduce the occupancy rate of network components in the whole machine memory. For this reason, the present disclosure provides a memory processing method, device, electronic device, storage medium, and computer program. The memory processing method, device, electronic device, storage medium, and computer program of the embodiments of the present disclosure will be described below with reference to the accompanying drawings.

[0045] Figure 2 is a flowchart of a memory processing method provided according to an embodiment of the present disclosure. As Figure 2 shown, the memory processing method includes but is not limited to the following steps:

[0046] In step S201, memory request information sent by the buffer is received.

[0047] It should be noted that the buffer provides memory application services for network components, and the memory request information is sent when the memory blocks in the buffer do not meet the first condition.

[0048] Optionally, in some embodiments, the buffer is a FIFO (First Input First Output) buffer. Exemplarily, the FIFO at the front end usually has a standard waterline, and the first condition is that the actual waterline of the FIFO buffer is higher than the standard waterline. When the FIFO buffer does not meet the first condition, the FIFO buffer sends memory request information; the memory processing unit receives the memory request information sent by the FIFO buffer.

[0049] In step S202, it is determined whether there is an available memory block in the first physical page pool corresponding to the buffer.

[0050] Optionally, in some embodiments, according to the status information of the first physical page pool, it is determined whether there is an available memory block in the first physical page pool corresponding to the buffer. Exemplarily, when the status information of the first physical page pool is not empty, it is determined that there is an available memory block in the first physical page pool corresponding to the buffer; when the status information of the first physical page pool is empty, it is determined that there is no available memory block in the first physical page pool corresponding to the buffer.

[0051] In step S203, if there is no available memory in the first physical page pool, a memory block is requested from the allocable physical page pool according to the memory block information in the memory request information, the requested first memory block is allocated to the buffer, and the memory block management information cached in the memory processing unit corresponding to the buffer is updated.

[0052] It should be noted that, in some embodiments, the allocable physical page pool refers to a physical page pool that supports the external allocation ability of memory blocks, has available memory blocks, and has no memory request information. Exemplarily, if there is no available memory in the first physical page pool, an allocable physical page pool can be determined from one or more physical page pools; a memory block is requested from the allocable physical page pool according to the memory block information, the requested first memory block is allocated to the buffer, and the memory block management information cached in the memory processing unit corresponding to the buffer is updated.

[0053] Optionally, in some embodiments, as Figure 2 shown, the memory processing method may further include step S204.

[0054] In step S204, when it is determined that there is an available memory block in the first physical page pool, at least one memory block in the first physical page pool is allocated to the buffer.

[0055] Exemplarily, a memory block may be requested from an allocable physical page pool according to the memory block information in the memory request information, and the memory management hardware logic allocates a memory block for the buffer from the first physical page pool. The memory management hardware logic means that at least one memory block is allocated to the buffer each time until the memory blocks in the buffer meet the first condition. Exemplarily, during the process of allocating available memory blocks in the first physical page pool to the buffer, if there is no available memory in the first physical page pool and the memory blocks in the buffer do not meet the first condition, a memory block may be requested from the allocable physical page pool, the requested first memory block is continuously allocated to the buffer, and the memory block management information cached in the memory processing unit corresponding to the buffer is updated until the memory blocks in the buffer meet the first condition. Wherein, the allocable physical page pool may be one or more. That is to say, if the memory blocks in one allocable physical page pool cannot meet the requirements of the buffer, memory blocks may be continuously requested from other allocable physical page pools to be allocated to the buffer until the memory blocks in the buffer meet the first condition.

[0056] In an embodiment of the present disclosure, memory request information sent by a buffer is received; it is determined whether there are available memory blocks in the first physical page pool corresponding to the buffer; if there is no available memory in the first physical page pool, a memory block is requested from the allocable physical page pool according to the memory block information, the requested first memory block is allocated to the buffer, and the memory block management information cached in the memory processing unit corresponding to the buffer is updated. In this way, memory block sharing can be performed among multiple physical page pools, improving the memory sharing rate of network components, facilitating the satisfaction of the memory requirements of network components, ensuring the normal operation of network components, and reducing the occupancy rate of the overall memory of the mobile device by network components.

[0057] Figure 3 It is a flowchart of a memory processing method provided according to an embodiment of the present disclosure. As Figure 3 shown, the memory processing method includes but is not limited to the following steps:

[0058] In step S301, memory request information sent by a buffer is received.

[0059] In an embodiment of the present disclosure, step S301 may be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not make any limitations on this and will not be elaborated further.

[0060] In step S302, it is determined whether there are available memory blocks in the first physical page pool corresponding to the buffer.

[0061] In an embodiment of the present disclosure, step S302 may be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not make any limitations on this and will not be elaborated further.

[0062] In step S303, if there is an available memory block in the first physical page pool corresponding to the buffer, based on the memory block information carried in the memory request information, a memory block is allocated for the buffer from the first physical page pool according to the hardware logic of memory management.

[0063] It should be noted that, in some embodiments, the hardware logic of memory management means that each time at least one memory block is allocated to the buffer until the memory blocks in the buffer meet the first condition. Exemplarily, the first condition is that the actual waterline of the buffer is higher than the standard waterline. If there is an available memory block in the first physical page pool corresponding to the buffer, according to the memory block information carried in the memory request information, at least one memory block is allocated for the buffer from the first physical page pool each time until the actual waterline of the buffer is higher than the standard waterline.

[0064] It should be noted that the term "at least one" can be understood as one or more, and "a plurality" can be, for example, two or more.

[0065] In step S304, if there is no available memory in the first physical page pool, a physical page pool that can be allocated is determined from one or more physical page pools.

[0066] It should be noted that the physical page pool that can be allocated is a physical page pool that supports the external allocation ability of memory blocks, has available memory blocks, and has no memory request information. Optionally, in some embodiments, if there is no available memory in the first physical page pool, a physical page pool that supports the external allocation ability of memory blocks, has available memory blocks, and has no memory request information is determined from one or more physical page pools; the physical page pool that supports the external allocation ability of memory blocks, has available memory blocks, and has no memory request information is determined as the physical page pool that can be allocated.

[0067] In step S305, according to the memory block information carried in the memory request information, it is determined whether the memory blocks in the physical page pool that can be allocated need to be split.

[0068] It should be noted that, in some embodiments, the memory block information includes the memory block size. Optionally, in some embodiments, it is determined whether the memory block size carried in the memory request information is consistent with the memory block size in the physical page pool that can be allocated; if the memory block size carried in the memory request information is consistent with the memory block size in the physical page pool that can be allocated, it is determined that there is no need to split the memory blocks in the physical page pool that can be allocated.

[0069] Optionally, in some embodiments, it is determined whether the memory block size carried in the memory request information is consistent with the memory block size in the physical page pool that can be allocated; if the memory block size carried in the memory request information is inconsistent with the memory block size in the physical page pool that can be allocated, it is determined that the memory blocks in the physical page pool that can be allocated need to be split.

[0070] In step S306, if it is necessary to split the memory blocks in the allocable physical page pool, split the memory blocks in the allocable physical page pool according to the memory block information, and allocate the split memory blocks to the buffer.

[0071] It should be noted that the memory block information includes the memory block size. Optionally, in some embodiments, if it is necessary to split the memory blocks in the allocable physical page pool, split the memory blocks in the allocable physical page pool according to the memory block size, and allocate the split memory blocks to the buffer.

[0072] In step S307, if it is not necessary to split the memory blocks in the allocable physical page pool, allocate memory blocks from the allocable physical page pool to the buffer according to the memory block information.

[0073] In step S308, update the memory block management information cached in the memory processing unit corresponding to the buffer.

[0074] It should be noted that, in some embodiments, update the memory block management information cached in the memory processing unit corresponding to the buffer according to the management item index in the memory processing unit.

[0075] In the embodiments of the present disclosure, if there is no available memory in the first physical page pool, determine the allocable physical page pool from one or more physical page pools; according to the memory block information, determine whether it is necessary to split the memory blocks in the allocable physical page pool; if it is necessary to split the memory blocks in the allocable physical page pool, split the memory blocks in the allocable physical page pool according to the memory block information, and allocate the split memory blocks to the buffer; if it is not necessary to split the memory blocks in the allocable physical page pool, allocate memory blocks from the allocable physical page pool to the buffer according to the memory block information. In this way, when the memory block size carried in the memory request information is smaller than the memory block size in the allocable physical page pool, the memory blocks in the allocable physical page pool can be split, so as to improve the memory utilization rate of the network component and further reduce the occupancy rate of the overall memory of the mobile device by the network component.

[0076] Figure 4 is a flowchart of a memory processing method provided according to an embodiment of the present disclosure, as Figure 4 shown, the memory processing method includes but is not limited to the following steps:

[0077] In step S401, receive the memory request information sent by the buffer.

[0078] In the embodiments of the present disclosure, step S401 can be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not make any limitations in this regard and will not be elaborated further.

[0079] In step S402, it is determined whether there is an available memory block in the first physical page pool corresponding to the buffer.

[0080] In the embodiments of the present disclosure, step S402 can be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not make any limitations in this regard and will not be elaborated further.

[0081] In step S403, if there is an available memory block in the first physical page pool corresponding to the buffer, based on the memory block information carried in the memory request information, a memory block is allocated for the buffer from the first physical page pool according to the hardware logic of memory management.

[0082] In the embodiments of the present disclosure, step S403 can be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not make any limitations in this regard and will not be elaborated further.

[0083] In step S404, if there is no available memory in the first physical page pool, a memory block is requested from the allocable physical page pool according to the memory block information, and the requested first memory block is allocated to the buffer.

[0084] Optionally, in some embodiments, an allocable physical page pool is determined from one or more physical page pools. The allocable physical page pool is a physical page pool that supports the external allocation ability of memory blocks, has available memory blocks, and has no memory request information; according to the memory block information, it is determined whether it is necessary to split the memory blocks in the allocable physical page pool; if it is necessary to split the memory blocks in the allocable physical page pool, the memory blocks in the allocable physical page pool are split according to the memory block information, and the split memory blocks are allocated to the buffer.

[0085] In step S405, it is determined whether there is an available management item index in the memory processing unit.

[0086] It should be noted that the management item index is the number of the cache space of the physical memory page cache management unit for the current memory block splitting management information. The management item index in the memory processing unit can be used to find the corresponding management item in the physical memory page cache management unit.

[0087] In step S406, if it is determined that there is no available management item index in the memory processing unit, an empty management item is requested from the physical memory page cache management unit, and the memory block management information cached in the memory processing unit is updated based on the applied management item and the information of the first memory block.

[0088] Optionally, in some embodiments, the memory block management information cached in the memory processing unit includes but is not limited to at least one of the following: a first identifier for indicating the physical page pool from which the current memory block originates; the current memory block address; a counter for indicating the number of blocks that the current memory block has been split and not returned; a management item index, which is the number of the cache space of the physical memory page cache management unit for the split management information of the current memory block; the address offset to which the current memory block has been split; and the remaining bytes available for splitting of the current memory block.

[0089] In step S407, it is determined that there is an available management item index in the memory processing unit, and the memory block management information cached in the memory processing unit is updated based on the information of the first memory block.

[0090] In the embodiments of the present disclosure, it is determined whether there is an available management item index in the memory processing unit; it is determined that there is no available management item index in the memory processing unit, a free management item is applied to the physical memory page cache management unit, and the memory block management information cached in the memory processing unit is updated based on the applied management item and the information of the first memory block; it is determined that there is an available management item index in the memory processing unit, and the memory block management information cached in the memory processing unit is updated based on the information of the first memory block. In this way, the released memory block can be recycled based on this memory block management information, so as to further improve the memory utilization rate of the network component and further reduce the occupancy rate of the overall memory of the mobile device by the network component.

[0091] Figure 5 is a flowchart of a memory processing method provided according to an embodiment of the present disclosure, as Figure 5 shown, the memory processing method includes but is not limited to the following steps:

[0092] In step S501, memory request information sent by the buffer is received.

[0093] In the embodiments of the present disclosure, step S501 can be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not make any limitations on this and will not be elaborated further.

[0094] In step S502, it is determined whether there is an available memory block in the first physical page pool corresponding to the buffer.

[0095] In the embodiments of the present disclosure, step S502 can be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not make any limitations on this and will not be elaborated further.

[0096] In step S503, if there is an available memory block in the first physical page pool corresponding to the buffer, based on the memory block information carried in the memory request information, a memory block is allocated for the buffer from the first physical page pool according to the hardware logic of memory management.

[0097] In the embodiments of the present disclosure, step S503 can be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not elaborate further.

[0098] In step S504, if there is no available memory in the first physical page pool, a memory block is requested from the allocable physical page pool according to the memory block information, the requested first memory block is allocated to the buffer, and the memory block management information cached in the memory processing unit corresponding to the buffer is updated.

[0099] In the embodiments of the present disclosure, step S504 can be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not elaborate further.

[0100] In step S505, it is determined that there is no available memory block in the allocable physical page pool.

[0101] It should be noted that the memory block information in the memory request information includes the size of the memory block required by the buffer. Optionally, in some embodiments, according to the memory block information in the memory request information, it is determined that the remaining memory block size in the allocable physical page pool is less than the size of the memory block required by the buffer.

[0102] In step S506, a memory block is requested from other allocable physical page pools.

[0103] It should be noted that, in some embodiments, the physical page pool includes identity identification coding information. As the identity identification coding information of the physical page pool increases, the size of the memory block managed by the physical page pool increases. Figure 6 It is a schematic diagram of requesting a memory block between physical page pools provided according to the embodiments of the present disclosure. As Figure 6 shown, the identity identification coding information of the physical page pool PagePool13 is 1; the identity identification coding information of the physical page pool PagePool23 is 2; the identity identification coding information of the physical page pool PagePool33 is 3; the identity identification coding information of the physical page pool PagePool43 is 4. Among them, the memory block size of the physical page pool PagePool43 is larger than that of the physical page pool PagePool33, the memory block size of the physical page pool PagePool33 is larger than that of the physical page pool PagePool23, and the memory block size of the physical page pool PagePool23 is larger than that of the physical page pool PagePool13.

[0104] Optionally, in some embodiments, other allocable physical page pools are determined based on the identity coding information of the physical page pool; memory blocks are requested from the other allocable physical page pools in the increasing order of the identity coding information.

[0105] Exemplarily, if there is no available memory block in the physical page pool PagePool13 corresponding to the buffer FIFO11, a memory block is requested from the physical page pool PagePool23 according to the memory block information (step S601); it is determined that there is no available memory in the physical page pool PagePool23; the physical page pools PagePool33 and PagePool43 are determined as other allocable physical page pools based on the identity coding information of the physical page pool; if there is available memory in the physical page pool PagePool33, a memory block is requested from the physical page pool PagePool33 in the other allocable physical page pools (step S602); or, if there is no available memory in the physical page pool PagePool33, a memory block is requested from the physical page pool PagePool43 (step S603).

[0106] In step S507, the memory block management information cached in the memory processing unit is dumped to the physical memory page cache management unit for maintenance.

[0107] It should be noted that the BitMap bitmap is a data structure that uses bit data to mark the states of elements. In some embodiments, the physical memory page cache management unit maintains the memory block management information through the BitMap bitmap. Optionally, in some embodiments, the bitmap depth of the physical memory page cache management unit is determined according to the memory block life cycle of the network component service; the occupancy status of each management item in the physical memory page cache management unit is determined according to the bitmap depth of the physical memory page cache management unit; the memory block management information cached in the memory processing unit is dumped to the physical memory page cache management unit for maintenance according to the occupancy status of each management item in the physical memory page cache management unit.

[0108] Exemplarily, according to the memory block life cycle of the network component service, determine that the bitmap depth of the physical memory page cache management unit is 2048; according to the bitmap depth of the physical memory page cache management unit, determine that the physical memory page cache management unit includes 2048 management items; divide the 2048 management items into 64 management groups; use a 64-bit wide data to manage 64 management groups; wherein, each bit in the 64-bit wide data represents the occupancy status of a management group; use a 32-bit wide data to manage 32 management items in each management group; wherein, each bit in the 32-bit wide data represents the occupancy status of a management item; according to the occupancy status of each management item in the physical memory page cache management unit, dump the memory block management information cached in the memory processing unit to the physical memory page cache management unit for maintenance.

[0109] Optionally, in some embodiments, the memory block management information maintained by the physical memory page cache management unit includes at least one of the following: the current memory block address; a counter for indicating the number of blocks that the current memory block has been split but not returned; a first identifier for indicating the physical page pool from which the current memory block originates; a second identifier for indicating the memory processing unit that processes the current memory block.

[0110] In an embodiment of the present disclosure, determine that the size of the remaining memory blocks in the allocable physical page pool is less than the size of the memory blocks required by the buffer; request memory blocks from other allocable physical page pools; dump the memory block management information cached in the memory processing unit to the physical memory page cache management unit for maintenance. In this way, when the size of the remaining memory blocks in the allocable physical page pool is less than the size of the memory blocks required by the buffer, memory blocks can be requested from other allocable physical page pools, so as to share memory resources among allocable physical page pools, further improve the memory sharing rate of the network component, and further reduce the occupancy rate of the overall memory of the network component on the mobile device.

[0111] Figure 7 is a flowchart of a memory processing method provided according to an embodiment of the present disclosure. As Figure 7 shown, the memory processing method includes but is not limited to the following steps:

[0112] In step S701, receive memory request information sent by the buffer.

[0113] In an embodiment of the present disclosure, step S701 can be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not make any limitations in this regard and will not be elaborated further.

[0114] In step S702, determine whether there are available memory blocks in the first physical page pool corresponding to the buffer.

[0115] In an embodiment of the present disclosure, step S702 may be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not elaborate further.

[0116] In step S703, if there is an available memory block in the first physical page pool corresponding to the buffer, based on the memory block information carried in the memory request information, a memory block is allocated for the buffer from the first physical page pool according to the hardware logic of memory management.

[0117] In an embodiment of the present disclosure, step S703 may be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not elaborate further.

[0118] In step S704, if there is no available memory in the first physical page pool, a memory block is requested from the allocable physical page pool according to the memory block information, the requested first memory block is allocated to the buffer, and the memory block management information cached in the memory processing unit corresponding to the buffer is updated.

[0119] In an embodiment of the present disclosure, step S704 may be implemented in any one of the embodiments of the present disclosure. The embodiments of the present disclosure do not limit this and will not elaborate further.

[0120] In step S705, it is determined that the allocated memory block is released, and it is determined whether the released memory block is a memory block allocated based on splitting processing.

[0121] It should be noted that in some embodiments, the memory block includes an additional field. This additional field is used to identify whether the memory block is a memory block allocated based on splitting processing. Optionally, in some embodiments, according to the additional field in the released memory block, it is determined whether the released memory block is a memory block allocated based on splitting processing.

[0122] In step S706, if the released memory block is a memory block allocated based on splitting processing, the recycling path is determined according to the memory description information of the released memory block, and the released memory block is returned to the corresponding physical page pool based on the recycling path.

[0123] Optionally, in some embodiments, according to the second identifier carried in the memory description information, the memory management information locally maintained by the corresponding memory processing unit is found; it is determined that the management item index carried in the memory description information is inconsistent with the management item index in the memory management information locally maintained by the corresponding memory processing unit; according to the management item index carried in the memory description information, the corresponding management item is found in the physical memory page cache management unit; it is determined that the second identifier carried in the memory description information is consistent with the second identifier in the corresponding management item found in the physical memory page cache management unit, the counter in the corresponding management item is decremented by one, and when the counter in the corresponding management item is decremented to the first value, the memory block to be released is returned to the corresponding physical page pool based on the first identifier in the corresponding management item.

[0124] Optionally, in some embodiments, after the counter in the corresponding management item is decremented by one, if the counter in the corresponding management item is not the first value, continue to monitor the counter in the corresponding management item until the counter in the corresponding management item is the first value, and return the memory block to be released to the corresponding physical page pool based on the first identifier in the corresponding management item.

[0125] Exemplarily, the first value is 0; when the counter in the corresponding management item is decremented to 0, the memory block to be released is returned to the corresponding physical page pool based on the first identifier in the corresponding management item.

[0126] Optionally, in some embodiments, it is determined that the management item index carried in the memory description information is consistent with the management item index in the memory management information locally maintained by the corresponding memory processing unit; the counter in the memory management information locally maintained by the corresponding memory processing unit is decremented by one.

[0127] In step S707, if the memory block to be released is not a memory block allocated based on the splitting process, the memory block to be released is directly returned to the corresponding physical page pool.

[0128] It should be noted that, in some embodiments, the memory block includes a first identifier. The first identifier is used to indicate the physical page pool from which the memory block originates. Optionally, in some embodiments, if the memory block to be released is not a memory block allocated based on the splitting process, the memory block to be released is directly returned to the corresponding physical page pool based on the first identifier in the memory block.

[0129] In an embodiment of the present disclosure, it is determined that an allocated memory block is released, and it is determined whether the released memory block is a memory block allocated based on a splitting process; if the released memory block is a memory block allocated based on a splitting process, a recycling path is determined according to the memory description information of the released memory block, and the released memory block is returned to the corresponding physical page pool based on the recycling path; if the released memory block is not a memory block allocated based on a splitting process, the released memory block is directly returned to the corresponding physical page pool, so that the released memory block can be recycled to further reduce the occupancy rate of the overall memory of the mobile device by the network component.

[0130] Figure 8 It is a schematic diagram of the execution of a memory processing method provided according to an embodiment of the present disclosure. As Figure 8 shown, in Figure 1Take the buffer FIFO11 as an example. The memory processing unit PageIF12 receives the memory request information sent by the buffer FIFO11 (step S801). The memory processing unit PageIF12 determines whether there is an available memory block in the physical page pool PagePool13 corresponding to the buffer FIFO11 (step S802). If it is determined that there is an available memory block in the physical page pool PagePool13 corresponding to the buffer FIFO11, according to the memory block information carried in the memory request information, a memory block is allocated for the buffer FIFO11 from the physical page pool PagePool13 based on the hardware logic of memory management (step S803). If it is determined that there is no available memory block in the physical page pool PagePool13 corresponding to the buffer FIFO11, a memory block is requested from PagePool23 according to the memory block information, the requested first memory block is allocated to the buffer FIFO11, and the memory block management information cached in the memory processing unit PageIF12 corresponding to the buffer FIFO11 is updated (step S804). The memory processing unit PageIF12 determines that the allocated memory block is released, and determines whether the released memory block is a memory block allocated based on the splitting process (step S805). If it is determined that the released memory block is not a memory block allocated based on the splitting process, the released memory block is directly returned to the corresponding physical page pool (step S807). If it is determined that the released memory block is a memory block allocated based on the splitting process, according to the second identifier carried in the memory description information, the memory management information locally maintained by the memory processing unit PageIF12 is found (step S806). The memory processing unit PageIF12 determines whether the management item index carried in the memory description information is consistent with the management item index in the memory management information locally maintained by the memory processing unit PageIF12. If the management item index carried in the memory description information is consistent with the management item index in the memory management information locally maintained by the memory processing unit PageIF12, the counter in the memory management information locally maintained by the memory processing unit PageIF12 is decremented by one (step S809). If the management item index carried in the memory description information is not consistent with the management item index in the memory management information locally maintained by the memory processing unit PageIF12, according to the management item index carried in the memory description information, the corresponding management item is found in the physical memory page cache management unit PageCacheMgr14. The memory processing unit PageIF12 determines whether the second identifier carried in the memory description information is consistent with the second identifier in the corresponding management item found in the physical memory page cache management unit PageCacheMgr14 (step S811).When the second identifier carried in the memory description information is consistent with the second identifier in the corresponding management entry found in the physical memory page cache management unit PageCacheMgr14, decrement the counter in the corresponding management entry by one (step S812); when the counter in the corresponding management entry is decremented to the first value, return the memory block to be released to the corresponding physical page pool based on the first identifier in the corresponding management entry. When the second identifier carried in the memory description information is inconsistent with the second identifier in the corresponding management entry found in the physical memory page cache management unit PageCacheMgr14, the memory processing unit PageIF12 performs exception handling (step S814).

[0131] Figure 9 is an execution schematic diagram of a memory processing method provided according to an embodiment of the present disclosure. As Figure 9 shown, taking Figure 1Take the buffer FIFO11 as an example. The memory processing unit PageIF12 receives the memory request information sent by the buffer FIFO11 (step S901). After receiving the memory request information sent by the buffer FIFO11, the memory processing unit PageIF12 determines whether there is an available memory block in the physical page pool PagePool13 corresponding to the buffer FIFO11 (step S902). When it is determined that there is an available memory block in the physical page pool PagePool13 corresponding to the buffer FIFO11, according to the memory block information carried in the memory request information, a memory block is allocated for the buffer FIFO11 from the physical page pool PagePool13 based on the hardware logic of memory management (step S903). When it is determined that there is no available memory block in the physical page pool PagePool13 corresponding to the buffer FIFO11, the physical page pool PagePool23 is a physical page pool that supports the external allocation ability of memory blocks, has available memory blocks, and has no memory request information; the physical page pool PagePool23 is determined as the allocable physical page pool (step S904). Determine whether the memory block size carried in the memory request information is consistent with the memory block size in the physical page pool PagePool23; if the memory block size carried in the memory request information is consistent with the memory block size in the physical page pool PagePool23, it is determined that there is no need to split the memory block in the physical page pool PagePool23; if the memory block size carried in the memory request information is inconsistent with the memory block size in the physical page pool PagePool23, it is determined that the memory block in the physical page pool PagePool23 needs to be split (step S905). If the memory block in the physical page pool PagePool23 needs to be split, the memory block in the physical page pool PagePool23 is split according to the memory block information, and the split memory block is allocated to the buffer FIFO11 (step S906). If there is no need to split the memory block in the physical page pool PagePool23, a memory block is allocated for the buffer FIFO11 from the physical page pool PagePool23 according to the memory block information (step S907). Determine whether there is an available management item index in the memory processing unit PageIF12 (step S908). Determine that there is no available management item index in the memory processing unit PageIF12, apply for a free management item from the physical memory page cache management unit PageCacheMgr14, and update the memory block management information cached in the memory processing unit PageIF12 based on the applied management item and the information of the first memory block (step S909). Determine that there is an available management item index in the memory processing unit PageIF12, and update the memory block management information cached in the memory processing unit PageIF12 based on the information of the first memory block (step S910).Determine that there is no available memory block in the physical page pool PagePool23 (step S911). Determine the physical page pool PagePool33 as another allocable physical page pool based on the identity coding information of the physical page pool; sequentially request memory blocks from the physical page pool PagePool33 according to the ascending order of the identity coding information (step S912). Dump the memory block management information cached in the memory processing unit PageIF12 to the physical memory page cache management unit PageCacheMgr14 for maintenance (step S913). Determine that the allocated memory block is released, and determine whether the released memory block is a memory block allocated based on the splitting process (step S914). If the released memory block is a memory block allocated based on the splitting process, determine the recycling path according to the memory description information of the released memory block, and return the released memory block to the corresponding physical page pool based on the recycling path (step S915). If the released memory block is not a memory block allocated based on the splitting process, directly return the released memory block to the corresponding physical page pool (step S916).

[0132] Figure 10 is a block diagram of a memory processing device provided according to an embodiment of the present disclosure. As Figure 10 shown, the memory processing device includes, but is not limited to, a transceiver module 1001, a determination module 1002, and an allocation module 1003.

[0133] Among them, the transceiver module 1001 is configured to receive memory request information sent by the buffer;

[0134] The determination module 1002 is configured to determine whether there is an available memory block in the first physical page pool corresponding to the buffer;

[0135] The allocation module 1003 is configured to, when there is no available memory in the first physical page pool, request a memory block from the allocable physical page pool according to the memory block information, allocate the requested first memory block to the buffer, and update the memory block management information cached in the memory processing unit corresponding to the buffer.

[0136] As an example, the hardware logic of memory management in the allocation module 1003 means that each time at least one memory block is allocated to the buffer until the memory blocks in the buffer meet the first condition. The allocation module 1003 is further configured to, when there is an available memory block in the first physical page pool corresponding to the buffer, allocate a memory block for the buffer from the first physical page pool based on the hardware logic of memory management according to the memory block information carried in the memory request information.

[0137] As an example, the allocation module 1003 is further configured to determine an allocable physical page pool from one or more physical page pools. The allocable physical page pool is a physical page pool that supports the external allocation ability of memory blocks, has available memory blocks, and has no memory request information. According to the memory block information, it is determined whether it is necessary to split the memory blocks in the allocable physical page pool. If it is necessary to split the memory blocks in the allocable physical page pool, the memory blocks in the allocable physical page pool are split according to the memory block information, and the split memory blocks are allocated to the buffer.

[0138] As an example, if it is not necessary to split the memory blocks in the allocable physical page pool, the allocation module 1003 is further configured to allocate memory blocks from the allocable physical page pool to the buffer according to the memory block information.

[0139] As an example, the memory block information in the allocation module 1003 includes the memory block size. The allocation module 1003 is further configured to determine whether the memory block size carried in the memory request information is consistent with the memory block size in the allocable physical page pool. If the memory block size carried in the memory request information is consistent with the memory block size in the allocable physical page pool, it is determined that there is no need to split the memory blocks in the allocable physical page pool.

[0140] As an example, the allocation module 1003 is further configured to determine whether the memory block size carried in the memory request information is consistent with the memory block size in the allocable physical page pool. If the memory block size carried in the memory request information is inconsistent with the memory block size in the allocable physical page pool, it is determined that it is necessary to split the memory blocks in the allocable physical page pool.

[0141] As an example, the memory block management information cached in the memory processing unit in the allocation module 1003 includes at least one of the following: a first identifier, which is used to indicate the physical page pool from which the current memory block comes; the current memory block address; a counter, which is used to indicate the number of blocks that the current memory block has been split but not returned; a management item index, which is the number of the cache space of the physical memory page cache management unit for the current memory block split management information; the address offset to which the current memory block is split; the remaining splittable bytes of the current memory block.

[0142] As an example, the allocation module 1003 is further configured to determine whether there is an available management item index in the memory processing unit. If it is determined that there is no available management item index in the memory processing unit, an empty management item is applied to the physical memory page cache management unit, and the memory block management information cached in the memory processing unit is updated based on the applied management item and the information of the first memory block. Or, if it is determined that there is an available management item index in the memory processing unit, the memory block management information cached in the memory processing unit is updated based on the information of the first memory block.

[0143] As an example, the allocation module 1003 is further configured to determine that there is no available memory block in the allocable physical page pool; request a memory block from other allocable physical page pools; dump the memory block management information cached in the memory processing unit to the physical memory page cache management unit for maintenance; wherein, the memory block management information maintained by the physical memory page cache management unit includes at least one of the following: the current memory block address; a counter for indicating the number of blocks that have been split and not returned for the current memory block; a first identifier for indicating the physical page pool from which the current memory block is sourced; and a second identifier for indicating the memory processing unit that processes the current memory block.

[0144] As an example, the memory processing device further includes a recycling module. The recycling module is further configured to determine that an allocated memory block is released, and determine whether the released memory block is a memory block allocated based on split processing; if the released memory block is not a memory block allocated based on split processing, directly return the released memory block to the corresponding physical page pool; or, if the released memory block is a memory block allocated based on split processing, determine a recycling path according to the memory description information of the released memory block, and return the released memory block to the corresponding physical page pool based on the recycling path.

[0145] As an example, the recycling module is further configured to, according to the second identifier carried in the memory description information, find the memory management information locally maintained by the corresponding memory processing unit; determine that the management item index carried in the memory description information is inconsistent with the management item index in the memory management information locally maintained by the corresponding memory processing unit; according to the management item index carried in the memory description information, find the corresponding management item in the physical memory page cache management unit; determine that the second identifier carried in the memory description information is consistent with the second identifier in the corresponding management item found in the physical memory page cache management unit, decrement the counter in the corresponding management item by one, and when the counter in the corresponding management item is decremented to a first value, return the released memory block to the corresponding physical page pool based on the first identifier in the corresponding management item.

[0146] Regarding the device in the above embodiments, the specific manners in which each module performs operations have been described in detail in the embodiments related to the method, and will not be elaborated herein.

[0147] According to an embodiment of the present disclosure, the present disclosure further provides a memory processing device, an electronic device, and a readable storage medium.

[0148] Figure 11 is a block diagram of a memory processing device provided according to an embodiment of the present disclosure. As Figure 11As shown, the memory processing device 1100 includes a physical page pool 1110, a memory processing unit 1120, and a physical memory page cache management unit 1130. The physical page pool 1110 includes memory blocks 1111. The memory processing unit 1120 is respectively connected to the physical page pool 1110 and the buffer 1100. The physical memory page cache management unit 1130 is used to maintain memory block management information. The memory processing unit 1120 is configured to execute the above-mentioned memory processing method.

[0149] Figure 12 is a block diagram of an electronic device provided according to an embodiment of the present disclosure. For example, the electronic device 1200 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0150] Referring to Figure 12 , the electronic device 1200 may include, but is not limited to: a memory processing device 1100, a buffer 1210.

[0151] Optionally, in some embodiments, the electronic device 1200 may further include one or more of the following components: a processing component 1220, a memory 1230, a network component 1240, a power component 1250, a multimedia component 1260, an audio component 1270, a sensor component 1280, and an input / output (I / O) interface 1290.

[0152] The memory processing device 1100 may control the hardware memory management of the network component 1240 in the electronic device 1200, and the memory processing unit 1120 in the memory processing device 1100 executes instructions to complete all or part of the steps of the above method.

[0153] The buffer 1210 connected to the memory processing device 1100 is used to provide a memory application service for the network component 1240.

[0154] The processing component 1220 generally controls the overall operation of the electronic device 1200, such as operations associated with display, memory management, telephone calls, data communication, camera operations, and recording operations. The processing component 1220 may include one or more processors 1221 to execute instructions to complete all or part of the steps of the above method. In addition, the processing component 1220 may include one or more modules to facilitate the interaction between the processing component 1220 and other components. For example, the processing component 1220 may include a network module to facilitate the interaction between the network component 1240 and the processing component 1220.

[0155] Optionally, in some embodiments, any one of the one or more processors 1221 may implement the functions of the memory management device, or the memory management device is a memory management unit in the one or more processors 1221.

[0156] The memory 1230 is configured to store various types of data to support the operation of the electronic device 1200. Examples of such data include instructions for any application or method operating on the electronic device 1200, contact data, phone book data, messages, pictures, videos, and the like. The memory 1230 may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, a magnetic disk, or an optical disk.

[0157] Optionally, in some embodiments, the memory 1230 may provide a memory application service for the network component 1240.

[0158] The network component 1240 is configured to facilitate communication between the electronic device 1200 and other devices in a wired or wireless manner. For example, the network component 1240 may be a wireless network to which the electronic device 1200 can connect based on a communication standard, such as WiFi, 2G, or 3G, or a combination thereof. In an exemplary embodiment, the network component 1240 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the network component 1240 further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0159] The power component 1250 provides power to various components of the electronic device 1200. The power component 1250 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 1200.

[0160] The multimedia component 1260 includes a screen that provides an output interface between the electronic device 1200 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of touch or swipe actions but also detect the duration and pressure associated with the touch or swipe operation. In some embodiments, the multimedia component 1260 includes a front camera and / or a rear camera. When the electronic device 1200 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera can receive external multimedia data. Each of the front camera and the rear camera can be a fixed optical lens system or have a focal length and optical zoom capabilities.

[0161] The audio component 1270 is configured to output and / or input audio signals. For example, the audio component 1270 includes a microphone (MIC) that is configured to receive external audio signals when the electronic device 1200 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals can be further stored in the buffer 1230 or transmitted via the network component 1240. In some embodiments, the audio component 1270 further includes a speaker for outputting audio signals.

[0162] The sensor component 1280 includes one or more sensors for providing status assessments of various aspects of the electronic device 1200. For example, the sensor component 1280 can detect the on / off state of the electronic device 1200, the relative positioning of components, such as the display and keypad of the electronic device 1200. The sensor component 1280 can also detect a change in the position of the electronic device 1200 or a component within the electronic device 1200, the presence or absence of user contact with the electronic device 1200, the orientation or acceleration / deceleration of the electronic device 1200, and the temperature change of the electronic device 1200. The sensor component 1280 can include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor component 1280 can also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component 1280 can further include an acceleration sensor, a gyro sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0163] The I / O interface 1290 provides an interface between the memory processing device 1100 and a peripheral interface module, which can be a click wheel, buttons, etc. These buttons can include but are not limited to: navigation buttons, volume buttons, and a power button.

[0164] In an exemplary embodiment, the electronic device 1200 may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components for performing the above method.

[0165] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as the memory 1230 including instructions, and the above instructions can be executed by the memory processing device 1100 of the electronic device 1200 to complete the above method. For example, the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0166] Optionally, in some embodiments, a computer program product is also provided, including a computer program, which can implement the memory processing method provided by the embodiments of the present disclosure when executed by the memory processing unit 1120, or the computer program can implement the memory processing method provided by the embodiments of the present disclosure when executed by one or more processors 1221.

[0167] As used herein, the word "exemplary" is used to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as advantageous over other aspects or designs. Instead, the word exemplary is intended to present concepts in a concrete manner. As used herein, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X applies A or B" is intended to mean any arrangement in a natural inclusive arrangement. That is, if X applies A; X applies B; or X applies both A and B, then "X applies A or B" is satisfied in any of the foregoing instances. Additionally, unless otherwise specified or clear from the context referring to the singular form, the articles "a" and "an" as used in this application and the appended claims are generally understood to mean "one or more".

[0168] Likewise, although the present disclosure has been shown and described with respect to one or more implementations, equivalent variations and modifications will occur to those skilled in the art upon reading and understanding the specification and drawings. The present disclosure includes all such modifications and variations and is limited only by the scope of the claims. Specifically with respect to the various functions performed by the components described above (e.g., elements, resources, etc.), unless otherwise indicated, the terms used to describe such components are intended to correspond to any component (functionally equivalent) that performs the specific function of the described component, even if not structurally equivalent to the disclosed structure. Additionally, although a particular feature of the present disclosure may have been disclosed with respect to only one of several implementations, such a feature may, as may be desired and advantageous for any given or particular application, be combined with one or more other features of other implementations. Further, with respect to the use of "comprising," "having," "including," "contains," or variations thereof in the detailed description or claims, such terms are intended to be inclusive in a manner similar to the term "including."

[0169] Other embodiments of the present invention will be readily apparent to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice in the art to which the invention pertains. The specification and examples are to be considered exemplary only, with the true scope and spirit of the invention being indicated by the following claims.

[0170] It should be understood that the present invention is not limited to the exact structures described above and shown in the drawings, and various modifications and changes may be made without departing from its scope. The scope of the present invention is limited only by the appended claims.

Claims

1. A memory processing method, characterized in that, Including: Receiving memory request information sent by a buffer; Determining whether there is an available memory block in a first physical page pool corresponding to the buffer; If there is no available memory in the first physical page pool, requesting a memory block from an allocable physical page pool according to the memory block information carried in the memory request information, allocating the requested first memory block to the buffer, and updating the memory block management information cached in the memory processing unit corresponding to the buffer.

2. The method according to claim 1, wherein The method further includes: If there is an available memory block in the first physical page pool corresponding to the buffer, allocating a memory block for the buffer from the first physical page pool based on the hardware logic of memory management according to the memory block information carried in the memory request information, where the hardware logic of memory management means allocating at least one memory block to the buffer each time until the memory blocks in the buffer meet a first condition.

3. The method according to claim 1, wherein The step of requesting a memory block from an allocable physical page pool according to the memory block information carried in the memory request information and allocating the requested first memory block to the buffer includes: Determining an allocable physical page pool from one or more physical page pools, where the allocable physical page pool is a physical page pool that supports the external allocation ability of memory blocks, has available memory blocks, and has no memory request information; Determining whether it is necessary to split the memory blocks in the allocable physical page pool according to the memory block information carried in the memory request information; If it is necessary to split the memory blocks in the allocable physical page pool, splitting the memory blocks in the allocable physical page pool according to the memory block information and allocating the split memory blocks to the buffer.

4. The method according to claim 3, characterized in that, The method further includes: If it is not necessary to split the memory blocks in the allocable physical page pool, allocating a memory block for the buffer from the allocable physical page pool according to the memory block information.

5. The method according to claim 3 or 4, characterized in that The memory block information includes the memory block size; the step of determining whether it is necessary to split the memory blocks in the allocable physical page pool according to the memory block information carried in the memory request information includes at least one of the following: Determining whether the memory block size carried in the memory request information is consistent with the memory block size in the allocable physical page pool; If the memory block size carried in the memory request information is consistent with the memory block size in the allocable physical page pool, determining that it is not necessary to split the memory blocks in the allocable physical page pool; or, If the memory block size carried in the memory request information is inconsistent with the memory block size in the allocable physical page pool, determining that it is necessary to split the memory blocks in the allocable physical page pool.

6. The method according to claim 1, wherein The memory block management information cached in the memory processing unit includes at least one of the following: A first identifier for indicating the physical page pool from which the current memory block comes; The current memory block address; A counter for indicating the number of blocks that the current memory block has been split and not returned; A management item index, which is the number of the cache space of the physical memory page cache management unit for the current memory block split management information; The address offset to which the current memory block is split; The remaining number of bytes that can be split in the current memory block.

7. The method according to claim 1, characterized in that, Updating the memory block management information cached in the memory processing unit corresponding to the buffer, including: Determining whether there is an available management item index in the memory processing unit; Determining that there is no such available management item index in the memory processing unit, applying to the physical memory page cache management unit for a spare management item, and updating the memory block management information cached in the memory processing unit based on the applied management item combined with the information of the first memory block; or, Determining that there is such available management item index in the memory processing unit, and updating the memory block management information cached in the memory processing unit based on the information of the first memory block.

8. The method according to claim 1, characterized in that, The method further includes: Determining that there is no available memory block in the allocable physical page pool; Requesting a memory block from other allocable physical page pools; Dumping the memory block management information cached in the memory processing unit to the physical memory page cache management unit for maintenance; wherein, the memory block management information maintained by the physical memory page cache management unit includes at least one of the following: The current memory block address; A counter for indicating the number of blocks that have been split but not returned for the current memory block; A first identifier for indicating the physical page pool from which the current memory block originates; A second identifier for indicating the memory processing unit that processes the current memory block.

9. The method according to claim 1, characterized in that, The method further includes: Determining that the allocated memory block is released, and determining whether the released memory block is a memory block allocated based on split processing; If the released memory block is not a memory block allocated based on split processing, directly returning the released memory block to the corresponding physical page pool; or, If the released memory block is a memory block allocated based on split processing, determining a recovery path according to the memory description information of the released memory block, and returning the released memory block to the corresponding physical page pool based on the recovery path.

10. The method according to claim 9, characterized in that, The determining a recovery path according to the memory description information of the released memory block, and returning the released memory block to the corresponding physical page pool based on the recovery path includes: According to the second identifier carried in the memory description information, finding the memory management information locally maintained by the corresponding memory processing unit; Determining that the management item index carried in the memory description information is inconsistent with the management item index in the memory management information locally maintained by the corresponding memory processing unit; According to the management item index carried in the memory description information, finding the corresponding management item in the physical memory page cache management unit; Determining that the second identifier carried in the memory description information is consistent with the second identifier in the corresponding management item found in the physical memory page cache management unit, and decrementing the counter in the corresponding management item by one; When the counter in the corresponding management item is a first value, returning the released memory block to the corresponding physical page pool based on the first identifier in the corresponding management item.

11. A memory processing device, characterized in that, Including: A transceiver module for receiving memory request information sent by the buffer. A determination module, configured to determine whether there is an available memory block in a first physical page pool corresponding to the buffer; An allocation module, configured to, when there is no available memory in the first physical page pool, request a memory block from an allocable physical page pool according to the memory block information carried in the memory request information, allocate the requested first memory block to the buffer, and update the memory block management information cached in a memory processing unit corresponding to the buffer.

12. A memory processing device, characterized in that, Comprising: A physical page pool, where the physical page pool includes memory blocks; A memory processing unit, wherein the memory processing unit is respectively connected to the physical page pool and the buffer, and the memory processing unit is configured to execute the memory processing method according to any one of claims 1-10; A physical memory page cache management unit, configured to maintain memory block management information.

13. An electronic device, characterized in that, Comprising: The memory processing device according to claim 12; A buffer connected to the memory processing device, configured to provide a memory application service for a network component.

14. A storage medium, wherein the storage medium stores instructions, characterized in that, When the instruction runs on an electronic device, the electronic device is caused to execute the memory processing method according to any one of claims 1-10.

15. A computer program product, comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the steps of the method according to any one of claims 1-10.