Memory resource management method and memory resource pool

By switching to energy-saving mode in the CXL memory resource pool based on the number of external requests and data volume, and migrating data through the address mapping table, the problem of high memory power consumption in CXL memory expansion is solved, achieving the effect of reducing memory power consumption and total cost of ownership.

WO2025214158A1PCT designated stage Publication Date: 2025-10-16XFUSION DIGITAL TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/085083
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-07
Filing Date
2025-03-26
Publication Date
2025-10-16

AI Technical Summary

Technical Problem

In CXL memory expansion, memory power consumption is high, which increases the total cost of ownership of computing devices. Existing technologies make it difficult to effectively reduce memory power consumption.

Method used

By obtaining the current usage information of the target power-saving unit in the memory resource pool, it determines whether to switch to energy-saving mode, including self-refresh mode (SR) or maximum power saving mode (MPSM), based on the number of external requests and the amount of valid data, and migrates data through the address mapping table to ensure data integrity.

Benefits of technology

This effectively reduces the memory power consumption of the memory resource pool, reduces the total cost of ownership of computing devices, and ensures the normal operation and data integrity of computing devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025085083_16102025_PF_FP_ABST
    Figure CN2025085083_16102025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a memory resource management method and a memory resource pool, which are applied to the technical field of computers. The method comprises: obtaining current usage information of a target power-saving unit, wherein the target power-saving unit is a logical unit corresponding to a target physical memory unit of a memory expansion card in a memory resource pool; and if the current usage information of the target power-saving unit meets a first condition, controlling the target physical memory unit corresponding to the target power-saving unit to switch from a normal mode to a energy-saving mode, wherein memory power consumption in the normal mode is greater than memory power consumption in the energy-saving mode. According to the embodiments of the present application, the physical memory unit in the normal mode is switched to the energy-saving mode on the basis of the current usage information of the physical memory unit in the memory resource pool, thereby reducing the memory power consumption of the memory resource pool and accordingly lowering the total ownership cost of computing devices.
Need to check novelty before this filing date? Find Prior Art

Description

Memory resource management method and memory resource pool

[0001] The present disclosure claims priority to the Chinese patent publication with the application number 202410411093.0 and the title "Memory resource management method and memory resource pool" filed on April 7, 2024 with the China National Intellectual Property Office, the entire content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] The present application relates to the technical field of computers, and in particular to a memory resource management method and a memory resource pool. BACKGROUND

[0003] In recent years, with the rapid development of new applications such as cloud computing, big data, and artificial intelligence, the data that computing devices need to process has increased explosively, which puts higher requirements on the memory capacity and memory bandwidth of the memory.

[0004] The Compute Express Link (CXL) memory extension is increasingly widely used because it can provide larger memory capacity and larger memory bandwidth and can improve memory utilization. At the same time of the CXL memory extension, reducing memory power consumption has become a problem to be solved. SUMMARY

[0005] The embodiments of the present application provide a memory resource management method and a CXL system for reducing the memory power consumption of a memory resource pool and reducing the total cost of ownership of a computing device.

[0006] To achieve the above-mentioned purpose, the embodiments of the present application adopt the following technical solutions:

[0007] In a first aspect, the embodiments of the present application provide a memory resource management method, which comprises:

[0008] obtaining current usage information of a target power saving unit; the target power saving unit is a logical unit corresponding to a target physical memory unit of a memory expansion card in a memory resource pool; if the current usage information of the target power saving unit meets a first condition, controlling the target physical memory unit corresponding to the target power saving unit to switch from a normal mode to an energy-saving mode; the memory power consumption in the normal mode is greater than the memory power consumption in the energy-saving mode. According to the current usage information of the physical memory unit in the memory resource pool, the embodiments of the present application switch the physical memory unit in the normal mode to the energy-saving mode, thereby reducing the memory power consumption of the memory resource pool and reducing the total cost of ownership of the computing device.

[0009] In a possible manner, if the current usage information includes the current external request quantity and the current valid data quantity, the first condition is that the current external request quantity of the target power saving unit is less than or equal to a first threshold value, and the current valid data quantity of the target power saving unit is less than or equal to a second threshold value, if the current external request quantity of the target power saving unit is less than or equal to the first threshold value, and the current valid data quantity of the target power saving unit is less than or equal to the second threshold value, the target physical memory unit corresponding to the target power saving unit is switched from the normal mode to the energy saving mode.

[0010] The current external request quantity of the power saving unit reflects the frequency of interaction between the physical memory unit corresponding to the power saving unit and the external device in the first time period. It can be understood that, if the current external request quantity is large, in order to ensure the normal interaction between the physical memory unit corresponding to the power saving unit and the external device, the physical memory unit corresponding to the power saving unit needs to work in the normal mode. If the current external request quantity is small, the physical memory unit corresponding to the power saving unit can work in the energy saving mode to save the memory power consumption of the physical memory unit. The current valid data quantity of the power saving unit can reflect the memory utilization of the physical memory unit corresponding to the power saving unit. It can be understood that, if the current valid quantity is large, it indicates that the physical memory unit corresponding to the power saving unit is utilized more, and at this time, in order to ensure the smoothness of the running of the computing device, the physical memory unit corresponding to the power saving unit needs to work in the normal mode. If the current valid quantity is small, the physical memory unit corresponding to the power saving unit can work in the energy saving mode to save the memory power consumption of the physical memory unit. Therefore, the embodiments of the present application can determine whether the current external request quantity and the current valid data quantity of the target power saving unit satisfy the first condition, and if the first condition is satisfied, the target physical memory unit is controlled to enter the energy saving mode. In this way, the memory power consumption of the power saving unit is reduced, and the normal operation of the power saving unit and the computing device is not affected.

[0011] In another possible manner, the first threshold value is related to the historical external request quantity of at least one power saving unit in the memory resource pool, or the second threshold value is related to the historical valid data quantity of at least one power saving unit in the memory resource pool. The first threshold value and the second threshold value determined by the historical data can reduce the memory power consumption of the memory resource pool as much as possible on the premise of ensuring the normal operation of the memory resource pool.

[0012] In yet another possible way, the first condition comprises a first sub-condition and a second sub-condition, the first sub-condition is used to control the target power saving unit to enter the maximum power consumption saving mode MPSM, and the second sub-condition is used to trigger the target power saving unit to enter the self-refresh SR mode. If the current usage information of the target power saving unit satisfies the first sub-condition, the target physical memory unit is controlled to switch from the normal mode to the MPSM. If the current usage information of the target power saving unit does not satisfy the first sub-condition, and the current usage information of the target power saving unit satisfies the second sub-condition, the target physical memory unit is controlled to switch from the normal mode to the SR mode. The entering of different saving modes under different conditions can reduce the data migration amount and improve the entering efficiency of as many physical memory units in the memory resource pool as possible into the saving mode.

[0013] In yet another possible way, the address mapping table is updated, so that the updated address mapping table comprises a migration identifier of the valid data of the target physical memory unit migrated to the destination physical memory unit. The address mapping table indicates the mapping relationship among the physical address of the computing device, the logical module address, and the device physical address. If the target physical memory unit performs the energy saving recovery operation, the destination physical memory unit is determined according to the migration identifier in the updated address mapping table. The newly added valid data amount and / or the valid data of the target physical memory unit are migrated from the destination physical memory unit to the target physical memory unit. In this way, by synchronously updating the address mapping table, the valid data amount of the target physical memory unit is updated in real time, and when the target physical memory unit enters the normal mode, the valid data amount is migrated back to the target physical memory unit according to the updated address mapping table.

[0014] In a possible way, the current memory information of the memory resource pool is acquired. If the current memory information satisfies the second condition, the physical memory units in the energy saving mode in the memory resource pool are controlled to perform the energy saving recovery operation based on the first preset strategy.

[0015] In yet another possible way, if the current memory information is the current available capacity and the current bandwidth, the second condition is that the current available capacity of the memory resource pool is less than or equal to a preset capacity threshold, or the bandwidth of the memory resource pool is less than or equal to a preset bandwidth threshold. If the current available capacity of the memory resource pool is less than or equal to the preset capacity threshold, or the current bandwidth of the memory resource pool is less than or equal to the preset bandwidth threshold, the physical memory units in the energy saving mode in the memory resource pool are controlled to perform the energy saving recovery operation based on the first preset strategy. In this way, the bandwidth and the available capacity of the memory resource pool are dynamically adjusted by setting the second condition, so that the premise of reducing the memory power consumption satisfies the memory capacity and bandwidth required by the host to process data.

[0016] In yet another possible mode, if the first preset strategy is to preferentially make the physical memory unit in the SR mode perform the energy-saving recovery operation, and then make the physical memory unit in the MPSM perform the energy-saving recovery operation, if the memory resource pool contains the physical memory unit in the SR mode, the physical memory unit in the SR mode is controlled to perform the energy-saving recovery operation; if the memory resource pool does not contain the physical memory unit in the SR mode, and the memory resource pool contains the physical memory unit in the MPSM, the physical memory unit in the MPSM is controlled to perform the energy-saving recovery operation. For the physical memory unit entering the MPSM or the SR mode, only when the current memory information of the memory resource pool does not satisfy the second condition, the physical memory unit is selected to exit the energy-saving mode, so that the memory power consumption of the memory resource pool can be maximally saved. Further, the physical memory unit in the SR mode is preferentially exited when the physical memory unit in the SR mode is insufficient to make the memory information of the memory resource pool satisfy the second condition, and the physical memory unit in the MPSM is exited, so that the data migration rate can be maximally reduced, and the data migration efficiency is improved.

[0017] In a second aspect, an embodiment of the present application provides a memory resource management device, which comprises:

[0018] The obtaining unit is configured to obtain current use information of a target power-saving unit; the target power-saving unit is a logical unit corresponding to a target physical memory unit in a memory resource pool.

[0019] The control unit is configured to, if the current use information of the target power-saving unit satisfies a first condition, control the target physical memory unit corresponding to the target power-saving unit to switch from a normal mode to an energy-saving mode; the memory power consumption in the normal mode is greater than the memory power consumption in the energy-saving mode.

[0020] In a third aspect, an embodiment of the present application provides a memory resource pool, which comprises a memory expansion card and a target controller; the memory expansion card comprises a target physical memory unit; and the target controller is configured to: obtain current use information of a target power-saving unit; the target power-saving unit is a logical unit corresponding to the target physical memory unit; and if the current use information of the target power-saving unit satisfies a first condition, control the target physical memory unit to switch from a normal mode to an energy-saving mode; the memory power consumption in the normal mode is greater than the memory power consumption in the energy-saving mode.

[0021] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program; when the computer program runs on a computer, the computer program causes the computer to execute the operation steps of any possible memory resource management method in the first aspect.

[0022] In a fifth aspect, the embodiments of the present application further provide a computer program product, which, when running on a computer, causes the operation steps of any possible memory resource management method of the first aspect.

[0023] Any of the memory resource pool management apparatus, memory resource pool, computer readable storage medium or computer program product provided above are used to execute the corresponding method provided above, thus the beneficial effects achieved thereby can refer to the beneficial effects in the corresponding method, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS

[0024] FIG. 1 is a structural schematic diagram of a memory resource pool provided by the embodiments of the present application;

[0025] FIG. 2 is a flowchart of a memory resource management method provided by the embodiments of the present application;

[0026] FIG. 3 is a flowchart of a method for energy-saving recovery mode provided by the embodiments of the present application;

[0027] FIG. 4 is a structural schematic diagram of a CXL system provided by the embodiments of the present application;

[0028] FIG. 5 is a flowchart of a read-write request processing method provided by the embodiments of the present application;

[0029] FIG. 6 is a flowchart of another memory resource pool management method provided by the embodiments of the present application;

[0030] FIG. 7 is a flowchart of another method for exiting energy-saving mode provided by the embodiments of the present application;

[0031] FIG. 8 is a structural schematic diagram of a memory resource management apparatus provided by the embodiments of the present application;

[0032] FIG. 9 is a structural schematic diagram of a server. DETAILED DESCRIPTION

[0033] In order to better illustrate the embodiments of the present application, first, the technical terms are introduced:

[0034] CXL: is a dynamic multi-protocol technology that supports memory expansion. At present, CXL memory expansion includes two modes, one is the local direct expansion mode of CXL memory resources, and the other is the CXL memory resource pooling mode. In the CXL memory resource pooling mode, multiple CXL memories form a memory resource pool. The computing device can be directly connected to the memory resource pool, or the computing device is connected to the memory resource pool through a CXL switch. In addition, the memory resource pool can support multiple computing devices at the same time, that is, multiple computing devices share the memory resources of a memory resource pool to improve memory utilization. The CXL memory expansion technology based on the memory resource pooling mode has become the focus of research because it can provide greater memory capacity and memory bandwidth and improve memory utilization.

[0035] Memory refresh mode: Memory refresh mode is a refresh mode realized by the joint action of a memory controller and internal circuits of a memory particle. The memory particle, also known as a memory chip, is the core component of a memory stick. The memory refresh mode includes two modes, a non-self-refresh mode and a self-refresh (SR) mode. The non-self-refresh mode refers to a mode in which the memory controller sends a refresh command to the memory particle, and the memory particle receives the refresh command and performs a refresh operation by internal circuits. The SR mode refers to a mode in which the memory controller is closed, and the memory particle refreshes based on an internal timer. It can be understood that, in the SR mode, the memory stick can reduce communication between the memory controller and the memory particle, thereby reducing memory power consumption. It should be noted that in the SR mode, the memory stick does not delete or destroy the original data in the memory.

[0036] Maximum Power Saving Mode (MPSM): is a low-power state of a memory. When the memory stick starts the MPSM, the memory stick will reduce the power consumption of the memory to the maximum extent by shutting down the devices of the memory stick. In the MPSM mode, the memory stick has no data to save. That is, when the memory stick enters the MPSM, the original data in the memory stick will be deleted or destroyed. Therefore, when the memory stick enters the MPSM, the effective data in the memory stick can be migrated to other memory sticks, and when the memory stick exits the MPSM, the effective data in the memory stick can be migrated back to the memory stick.

[0037] In the embodiments of the present application, the working mode of the memory stick includes two modes, one is the energy saving mode, and the other is the normal mode, wherein the energy saving mode includes the SR mode and the MPSM.

[0038] Memory power consumption refers to the power loss of the memory when the computing device processes data. At present, the memory power consumption accounts for a large proportion in the overall power consumption of the computing device, about 38%. With the CXL memory expansion, the increase of the memory expansion cards in the memory resource pool will inevitably cause the proportion of the memory power consumption in the overall power consumption of the computing device to increase. How to reduce the memory power consumption under the CXL memory expansion has become a technical problem to be solved.

[0039] In view of the above problems, the embodiment of the present application provides a memory resource management method. According to the current use information of the physical memory units in the memory resource pool, the physical memory units in the normal mode are switched to the energy-saving mode, thereby reducing the memory power consumption of the memory resource pool, and thus reducing the total cost of ownership of the computing device.

[0040] The memory resource management method provided by the embodiment of the present application will be described in detail and completely below in conjunction with the drawings.

[0041] Firstly, the memory resource pool is introduced.

[0042] Referring to FIG. 1, which is a structural schematic diagram of a memory resource pool provided by an embodiment of the present application. In the embodiment of the present application, the memory resource pool can also be referred to as a memory box, which includes a power supply unit 101 and at least one memory expansion card. The memory expansion card is a CXL memory expansion card. FIG. 1 is schematically represented by taking four memory expansion cards, i.e., a memory expansion card A, a memory expansion card B, a memory expansion card C and a memory expansion card D as examples. The power supply unit supplies power for the plurality of memory expansion cards to make the plurality of memory expansion cards work.

[0043] It is further explained that the at least one memory expansion card includes one and more than one memory expansion card. It is to be noted that the memory expansion card A, the memory expansion card B, the memory expansion card C and the memory expansion card D are used to represent different memory expansion cards.

[0044] Each memory expansion card includes a memory bank 102-1, a memory controller 102-2, a CXL controller 102-3 and a CXL interface 102-4. One memory expansion card in FIG. 1 is represented by taking four memory banks as an example. Among them, the number of memory banks in the memory expansion card can be adjusted as needed, for example, the number of memory banks in the memory expansion card is 2, 3 or more than 4, etc., which is not specifically limited in the embodiment of the present application.

[0045] The CXL interface 102-4 of the memory expansion card is connected with the computing device, or the computing device can be connected with the CXL interface 102-4 of the memory expansion card through a CXL switch. The external request sent by the computing device to the memory expansion card is sent to the CXL controller 102-3 through the CXL interface 102-4.

[0046] The CXL controller 102-3 is configured to convert the external request sent by the computing device to the memory expansion card into a data packet conforming to the CXL protocol, and communicate with other components on the memory expansion card, such as the memory controller 102-2. The CXL controller 102-3 is also configured to access the memory bank on the memory expansion card based on the external request of the computing device, and feed back the result to the computing device, so as to realize memory resource sharing. In addition, the CXL controller 102-3 also records the number of external requests sent by the computing device to the memory bank and the amount of valid data accessed in the memory bank, so that the memory resource pool controls the working mode of the memory bank according to the recorded information.

[0047] For example, the CXL controller converts the external request into a data packet after analysis, and sends the data packet to the memory controller 102-2. The memory controller 102-2 is configured to receive the data packet sent by the CXL controller, and perform corresponding operations, such as reading data operation or writing data operation, on the memory bank corresponding to the request address according to the request address and request information included in the data packet. In this way, it is ensured that each request is executed in the correct order and specification, avoiding request conflicts. In addition, if the external request is a read request, the memory controller 102-2 sends the read data result to the computing device. If the external request is a write request, the memory controller 102-1 sends the write result to the computing device. Further, the memory controller 102 is also configured to make the memory bank in a non-self-refresh mode by sending a refresh command to the memory bank.

[0048] In addition, the memory resource pool also includes a target controller 201, which is configured to obtain current usage information of a target power saving unit in the memory resource pool, and adjust the working mode of a target physical memory unit corresponding to the target power saving unit according to the current usage information of the target power saving unit, such as making the physical memory unit work in SR mode or MPSM mode. In this way, the memory power consumption of the memory resource pool is reduced, thereby reducing the total cost of ownership of the computing device. The target power saving unit is a minimum power saving unit, which indicates a logical unit corresponding to the smallest physical memory unit controlled by the target controller 201 in the memory resource pool. The power saving unit can be a logical unit corresponding to one memory bank, or a logical unit corresponding to two or more memory banks, which is not specifically limited in the embodiment of the application.

[0049] In the embodiment of the application, the target controller 201 can be a newly added management controller in the memory resource pool, which can be a baseboard management controller (BMC) or other controller with management control function. The target controller 201 can also be an existing switch controller in the memory resource pool, which is not specifically limited in the embodiment of the application.

[0050] It is to be noted that the memory expansion card can be the memory expansion card shown in FIG. 1, or a PCIe standard AIC card form memory expansion card, or an E3.S form memory expansion card. The memory resource pool shown in FIG. 1 can be a memory resource pool composed of a certain CXL switch-based memory topology, and the embodiments of the present application are not limited specifically.

[0051] Embodiment one

[0052] For the memory resource pool shown in FIG. 1, a memory resource management method provided by the embodiments of the present application is introduced below in combination with FIG. 2. Referring to FIG. 2, it is a flow chart of a memory resource management method provided by the embodiments of the present application. The management method includes the following contents:

[0053] S21: Obtain the current use information of the target power saving unit in the memory resource pool.

[0054] The target power saving unit, also referred to as a to-be-processed power saving unit, is a minimum power saving unit in the memory resource pool. The minimum power saving unit refers to a logical unit corresponding to a minimum physical memory unit controlled by the target controller 201 in the memory resource pool and specified by a user. In the embodiments of the present application, the physical memory unit can be one memory bank or two memory banks, and the embodiments of the present application are not limited specifically. For convenience of description, the minimum power saving unit is referred to as a power saving unit hereinafter, and the minimum physical memory unit is referred to as a physical memory unit.

[0055] The current use information of the power saving unit indicates the use of the physical memory unit corresponding to the power saving unit in the first time period. The first time period refers to a time period including the current time and having a preset time length. In the embodiments of the present application, the current use information of the power saving unit includes the current external request quantity and / or the current valid data quantity of the power saving unit.

[0056] The current external request quantity of the power saving unit indicates the quantity of requests received by the physical memory unit corresponding to the power saving unit from an external device, such as a computing device, in the first time period. The request can be a read operation (to obtain data from the physical memory unit corresponding to the power saving unit) or a write operation (to write data to the physical memory unit corresponding to the power saving unit), and the embodiments of the present application are not limited specifically.

[0057] The current external request quantity of the power saving unit reflects the frequency of interaction between the physical memory unit corresponding to the power saving unit and the external device in the first time period. It can be understood that, when the current external request quantity is large, the physical memory unit corresponding to the power saving unit needs to work in a normal mode to ensure normal interaction between the physical memory unit corresponding to the power saving unit and the external device. When the current external request quantity is small, the physical memory unit corresponding to the power saving unit can work in an energy-saving mode to save the memory power consumption of the physical memory unit.

[0058] The current valid data amount of the power saving unit refers to an amount of data that is accessed or used by the physical memory unit corresponding to the power saving unit in the first time period. The current valid data amount can reflect the memory utilization of the physical memory unit corresponding to the power saving unit. It can be understood that if the current valid amount is large, it indicates that the physical memory unit corresponding to the power saving unit is utilized more, and at this time, in order to ensure the smoothness of the operation of the computing device, the physical memory unit corresponding to the power saving unit needs to work in the normal mode. If the current valid amount is small, the physical memory unit corresponding to the power saving unit can work in the energy saving mode to save the memory power consumption of the physical memory unit.

[0059] In the embodiment of the present application, the current usage information of the target power saving unit indicates the usage of the target power saving unit in the first time period, including the current external request amount and the current valid data amount of the target power saving unit. The target controller 201 can obtain the current usage information of the target power saving unit in the memory resource pool, and determine the working mode of the target physical memory unit corresponding to the target power saving unit according to the current usage information.

[0060] The embodiment of the present application does not specifically limit the obtaining method of the target controller 201 for obtaining the current usage information of the target power saving unit. For example, the target controller 201 is connected to the CXL controller of the memory expansion card corresponding to the target power saving unit, and obtains the current external request amount and the current valid data amount of the target power saving unit from the CXL controller. For example, the target controller 201 is connected to the CXL switch, and obtains the current external request amount and the current valid data amount of the target power saving unit from the CXL switch. For another example, the target controller directly obtains the current external request amount and the current valid data amount of the target power saving unit from the baseboard management controller of the external device, and the like.

[0061] S22: Determine whether the current usage information of the target power saving unit satisfies the first condition. If yes, perform S23.

[0062] The first condition refers to a control condition for determining whether the target physical memory unit corresponding to the target power saving unit enters the energy saving mode in the first time period. In the embodiment of the present application, the first condition is that the current external request amount of the power saving unit is less than or equal to a first threshold value, and / or the current valid data amount of the power saving unit is less than or equal to a second threshold value. Specifically, the first condition includes three cases.

[0063] Case one: the current external request quantity of the power saving unit is less than or equal to the first threshold value. After the target controller 201 acquires the current usage information of the target power saving unit, the target controller 201 determines whether the current external request quantity of the target power saving unit is less than or equal to the first threshold value. If the current external request quantity of the target power saving unit is less than or equal to the first threshold value, it is determined that the current usage information of the target power saving unit satisfies the first condition. At this time, the target controller 201 controls the target physical memory unit corresponding to the target power saving unit to enter the energy saving mode. Otherwise, if the current external request quantity of the target power saving unit is greater than the first threshold value, it is determined that the current usage information of the target power saving unit does not satisfy the first condition. At this time, the target controller 201 controls the target physical memory unit not to enter the energy saving mode.

[0064] Case two: the current valid data quantity of the power saving unit is less than or equal to the second threshold value.

[0065] After the target controller 201 acquires the current usage information of the target power saving unit, the target controller 201 determines whether the current valid data quantity of the target power saving unit is less than or equal to the second threshold value. If the current valid data quantity of the target power saving unit is less than or equal to the second threshold value, it is determined that the current usage information of the target power saving unit satisfies the first condition. At this time, the target controller 201 controls the target physical memory unit corresponding to the target power saving unit to enter the energy saving mode. Otherwise, if the current valid data quantity of the target power saving unit is greater than the second threshold value, it is determined that the current usage information of the target power saving unit does not satisfy the first condition. At this time, the target controller 201 controls the target physical memory unit not to enter the energy saving mode.

[0066] Case three: the current external request quantity of the power saving unit is less than or equal to the first threshold value, and the current valid data quantity of the power saving unit is less than or equal to the second threshold value.

[0067] After the target controller 201 acquires the current usage information of the target power saving unit, the target controller 201 determines whether the current external request quantity of the target power saving unit is less than or equal to the first threshold value, and the target controller 201 determines whether the current valid data quantity of the target power saving unit is less than or equal to the second threshold value. If the current external request quantity of the target power saving unit is less than or equal to the first threshold value, and the valid data quantity of the target power saving unit is less than or equal to the second threshold value, it is determined that the current usage information of the target power saving unit satisfies the first condition. At this time, the target controller 201 controls the target physical memory unit corresponding to the target power saving unit to enter the energy saving mode. Otherwise, if the current external request quantity of the target power saving unit is greater than the first threshold value, or the current valid data quantity of the target power saving unit is greater than the second threshold value, it is determined that the current usage information of the target power saving unit does not satisfy the first condition. At this time, the target controller 201 controls the target physical memory unit not to enter the energy saving mode.

[0068] Therefore, the embodiment of the present application can determine whether the current external request quantity and / or the current valid data quantity of the target power saving unit satisfy the first condition, and if the first condition is satisfied, the target controller 201 controls the target physical memory unit to enter the power saving mode. In this way, the memory power consumption of the power saving unit is reduced, and the normal operation of the power saving unit and the computing device is not affected.

[0069] In an example, the first threshold value and the second threshold value can be fixed values. For example, a user determines the first threshold value and the second threshold value based on experience, and inputs the first threshold value and the second threshold value into the target controller 201 to perform the operation in step S22.

[0070] In another example, the first threshold value and the second threshold value can be variable values. Specifically, the first threshold value is a target historical external request quantity, and the second threshold value is a target historical valid data quantity. The target historical external request quantity is related to a historical external request quantity of the power saving unit in the memory resource pool, and the target historical valid data quantity is related to a historical valid data quantity of the power saving unit in the memory resource pool. The historical external request quantity is the external request quantity of the power saving unit at a time point before a first time period. The historical valid data quantity is the valid data quantity of the power saving unit within a time period before the first time period. The first threshold value and the second threshold value determined by the historical data can reduce the memory power consumption of the memory resource pool as much as possible on the premise of ensuring the normal operation of the memory resource pool.

[0071] In the embodiment of the present application, the target controller 201 can obtain the target historical external request quantity in multiple ways.

[0072] Method 1: The target historical external request quantity can be the minimum value of multiple historical external request quantities in the target power saving unit. For example, the first time period is T time period T, the target controller 201 obtains N historical external request quantities before T time period, which are respectively a historical external request quantity Q1 corresponding to T1 time period, a historical external request quantity Q2 corresponding to T2 time period, …, and a historical external request quantity QN corresponding to TN time period, wherein Q1>Q2>…>QN, and the target historical external request quantity can be QN. N is an integer greater than 1. T1 time period, T2 time period, …, TN time period refer to time periods located before T time period and equal in length to T time period, and T1 time period, T2 time period, …, TN time period are different time periods.

[0073] Method 2: The target historical external request quantity can be the average value of multiple historical external request quantities in the target power saving unit. For the example described in method 1, the target historical external request quantity can be (Q1+Q2+…+QN) / N.

[0074] Way 3: The target historical external request quantity can be the minimum value of the historical external request quantities of multiple (or all) power saving units in the memory resource pool. For example, the memory resource pool includes four memory expansion cards, namely, memory expansion card A, memory expansion card B, memory expansion card C, and memory expansion card D. Each memory expansion card includes four minimum power saving units. The target controller 201 obtains the historical external request quantities of the 16 minimum power saving units of the four memory expansion cards in the historical external request quantity of a time period before the first time period, and obtains the minimum historical external request quantity as the target historical external request quantity.

[0075] The above three ways are only illustrative, and the embodiment of the present application can also obtain the target historical external request quantity in other ways, which is not specifically limited in the embodiment of the present application.

[0076] In the embodiment of the present application, the target controller 201 can obtain the target historical effective data quantity in multiple ways.

[0077] Way 1: The target historical effective data quantity can be the minimum value of multiple historical effective data quantities in the target power saving unit. For example, the first time period is T time period, and the target controller 201 obtains N historical effective data quantities of time periods before the T time period, which are the historical effective data quantity D1 corresponding to the T1 time period, the historical effective data quantity D2 corresponding to the T2 time period,..., and the historical effective data quantity DN corresponding to the TN time period, wherein D1

[0078] Way 2: The target historical effective data quantity can be the average value of multiple historical effective data quantities in the target power saving unit. For example, the first time period is T time period, and the target controller 201 obtains N historical effective data quantities of time periods before the T time period, which are the historical effective data quantity D1 corresponding to the T1 time period, the historical effective data quantity D2 corresponding to the T2 time period,..., and the historical effective data quantity DN corresponding to the TN time period, wherein D1

[0079] Way 3: The target historical effective data quantity can be the minimum value of the historical effective data quantities of multiple (or all) power saving units in the memory resource pool. For example, the memory resource pool includes four memory expansion cards, namely, memory expansion card A, memory expansion card B, memory expansion card C, and memory expansion card D. Each memory expansion card includes four minimum power saving units. The target controller 201 obtains the historical effective data quantities of the 16 minimum power saving units of the four memory expansion cards, and obtains the minimum historical effective data quantity as the target historical effective data quantity.

[0080] The above three manners are only illustrative, and the embodiment of the present application can also acquire the target historical valid data amount through other manners, and the embodiment of the present application is not specifically limited.

[0081] S23: The target power saving unit enters the energy saving mode.

[0082] In the embodiment of the present application, if the target controller 201 determines that the current external request quantity and the current valid data amount of the target power saving unit satisfy the first condition, the target controller 201 controls the target physical memory unit corresponding to the target power saving unit to work in the energy saving mode. Specifically, the target controller 201 controls the target physical memory unit to enter the MPSM or makes the target physical memory unit enter the SR mode.

[0083] It should be noted that if the target physical unit works in the normal mode in the first time period, at this time, the target controller 201 determines the memory expansion card in which the target physical memory unit is located (referred to as a target memory expansion card), and then the target controller 201 sends a first instruction to the memory controller of the target memory expansion card. After the memory controller receives the first instruction, the target physical memory unit enters the energy saving mode. The first instruction includes the identifier of the target physical memory unit and the control information for controlling the target physical memory unit to enter the energy saving mode.

[0084] Further, the target controller 201 can further verify whether the target physical memory unit enters the energy saving mode. Specifically, the target controller 201 can acquire the current memory power consumption state of the target power saving unit from the computing device connected with the memory resource pool. The target controller 201 determines whether the target physical memory unit works in the energy saving mode according to the current memory power consumption state.

[0085] The memory power consumption state includes one of the normal power consumption state corresponding to the normal mode and the power saving power consumption state corresponding to the energy saving mode. When the memory power consumption state is the normal power consumption state, it is determined that the target physical memory unit is in the energy saving mode, otherwise it is determined that the target physical memory unit is in the normal mode. Specifically, if the memory power consumption of the target physical memory unit is greater than or equal to a preset power consumption threshold, it is determined that the target physical memory unit is in the normal power consumption state. If the memory power consumption is less than the preset power consumption threshold, it is determined that the target physical memory unit is in the power saving power consumption state.

[0086] Further, considering that the original data in the target physical memory unit will be deleted or damaged when the target physical memory unit enters the MPSM, in order to ensure the integrity of the memory data, before controlling the target physical memory unit to enter the MPSM, the valid data in the target physical memory unit can be migrated to the physical memory unit corresponding to other power saving units, and when the target physical memory unit exits the MPSM, the valid data is migrated back to the target physical memory unit. The specific processing manner is as follows:

[0087] Step 1: The target controller 201 migrates the valid data of the source power saving unit corresponding physical memory unit to the destination physical memory unit corresponding to the destination power saving unit.

[0088] The source power saving unit refers to the target power saving unit to be entered into the MPSM, and the physical memory unit corresponding to the source power saving unit is the target physical memory unit. The destination power saving unit is a power saving unit in the normal mode, and the physical memory unit corresponding to the destination power saving unit is referred to as the destination physical memory unit. The destination physical memory unit can be in the same memory expansion card as the target physical memory unit, or can be in a different memory expansion card from the target physical memory unit, and the embodiments of the present application are not specifically limited.

[0089] In the embodiments of the present application, the target controller 201 first determines the destination power saving unit from other power saving units in the normal mode in the memory resource pool, and then migrates the valid data of the target physical memory unit corresponding to the source power saving unit to the destination physical memory unit.

[0090] For example, for the memory resource pool shown in FIG. 1, before the target controller 201 controls the memory bank 102-1 corresponding to the target power saving unit to enter the MPSM, the target controller 201 first migrates the valid data stored in the memory bank 102-1 to other memory banks in the normal mode.

[0091] It should be noted that the destination power saving unit can be a power saving unit in the normal mode randomly specified by the target controller 201, or can be a power saving unit with the largest available capacity based on a certain algorithm, for example, or a power saving unit with the smallest historical valid data amount, etc. The embodiments of the present application are not specifically limited.

[0092] Step 2: Update the address mapping table.

[0093] The address mapping table is used to indicate the mapping relationship among the physical address of the computing device (Computing Device Physical Address, HPA), the logical module address (Logical Block Address, LBA), and the device physical address (Device Physical Address, DPA).

[0094] In the embodiments of the present application, the LBA indicates the logical module address corresponding to the power saving unit, and the target controller 201 can uniquely obtain the power saving unit corresponding to the LBA according to the LBA. Therefore, the LBA can also be referred to as an identifier for uniquely identifying the power saving unit. The device physical address indicates the physical address where the physical memory unit corresponding to the power saving unit is located, that is, the device physical address has a one-to-one correspondence with the LBA. If the device physical address is fixed, the LBA is also uniquely determined.

[0095] In the embodiment of the present application, the target controller 201 caches the address mapping table and synchronizes the address mapping table to the control module of the CXL switch (if the computing device is directly connected to the memory resource pool, the address mapping table can be synchronized to the CXL switch controller in the memory resource pool which is pre-configured to implement the mapping relationship of HPA, LBA and DPA). When the computing device corresponding to the HPA sends an external request, the control module of the CXL switch or the CXL switch controller obtains the external request and parses the LBA carried in the external request, and the control module sends the external request to the CXL controller of the corresponding physical memory unit according to the corresponding relationship between the LBA and the DPA in the address mapping table. The CXL controller processes the external request and interacts with the corresponding physical memory unit according to the request content of the external request.

[0096] For example, referring to Table 1, which is an address mapping table corresponding to the memory resource pool shown in FIG. 1, wherein one power saving unit corresponds to one memory bank.

[0097] Table 1

[0098] Among them, DPA 1-1, DPA 1-2, DPA 1-3 and DPA 1-4 belong to the DPA corresponding to the physical memory unit in the memory expansion card A, DPA 2-1, DPA 2-2, DPA 2-3 and DPA 2-4 belong to the DPA corresponding to the physical memory unit in the memory expansion card B, DPA 3-1, DPA 3-2, DPA 3-3 and DPA 3-4 belong to the DPA corresponding to the physical memory unit in the memory expansion card C, DPA 4-10, DPA 4-2, DPA 4-3 and DPA 4-4 belong to the DPA corresponding to the physical memory unit in the memory expansion card D. Each physical memory unit corresponds to one power saving unit, that is, one DPA corresponds to one LBA.

[0099] It is further explained that HPA 1, HPA 2, HPA 3 and HPA 4 can be the same HPA corresponding to the same computing device, or different HPAs corresponding to different computing devices, which can be set according to the needs of those skilled in the art.

[0100] If the target controller 201 migrates the valid data of the target physical memory unit to the destination physical memory unit, the address mapping table needs to be updated so that after exiting the energy saving mode, the target controller 201 obtains the destination physical memory unit after data migration from the updated address mapping table, and migrates the valid data from the migration destination physical memory unit to the target physical memory unit. For example, if the DPA of the target physical memory unit is DPA 1-1 and the DPA of the destination physical memory unit is DPA 4-11. After migration, the address mapping table is updated as shown in Table 2. Table 2 is an updated address mapping table. Among them, DPA 1-1→DPA 4-11 indicates that the data of the physical memory unit corresponding to DPA 1-1 is migrated to the physical memory unit corresponding to DPA 4-1.

[0101] Table 2

[0102] After updating the address mapping table, the target controller 201 synchronizes the updated address mapping table to the control module of the CXL switch or the CXL switch controller. Moreover, the target controller 201 can also synchronize the address mapping table to all CXL controllers in the memory resource pool. After the control module of the CXL switch or the CXL switch controller receives the external request sent by the computing device, the address LBA carried in the external request is parsed, and according to the updated address mapping table, the request is sent to the CXL controller corresponding to the physical memory unit. The CXL controller interacts with the corresponding physical memory unit according to the updated address mapping table. For example, the CXL switch controller parses the received external request as LBA 1-1, and according to the address mapping table shown in Table 2, the external request is sent to the CXL controller corresponding to DPA 4-11. The CXL controller corresponding to DPA 4-11 sends the request to DPA 4-11 based on the address mapping table shown in Table 2.

[0103] It is to be noted that the present application embodiment adopts the form of DPA N→DPA M to represent the migration of the data of the physical memory unit corresponding to DPA N to the physical memory unit corresponding to DPA M. The present application embodiment can also use other identifiers to represent the migration of the data of the physical memory unit corresponding to DPA N to the physical memory unit corresponding to DPA M, and the present application embodiment does not specifically limit it.

[0104] If the target controller 201 controls the target power saving unit to exit the energy saving mode of the target physical memory unit corresponding to the target power saving unit, the target controller 201 can obtain the migrated valid data from the target physical memory unit through the updated address mapping table, and migrate the valid data to the target physical memory unit. For example, as shown in Table 2, when the target physical memory unit corresponding to DPA 1-1 exits the MPSM mode, the target controller 201 first determines the DPA of the target physical memory unit as DPA 4-11 from the DPA 1-1→DPA 4-11 in the address mapping table 2, and then obtains the migrated valid data from the target physical memory unit corresponding to DPA 4-11, and migrates the valid data to the target physical memory unit corresponding to DPA 1-1. After migration, the target controller 201 updates the address mapping table, for example, as shown in Table 1, and synchronizes the address mapping table updated again to the control module of the CXL switch or the CXL switch controller.

[0105] Further, if the current use information of the target power saving unit does not satisfy the first condition, and the working state of the target power saving unit in the first time period is the normal mode, the target controller controls the target power saving unit to work in the normal mode.

[0106] In the embodiments of the present application, the target controller 201 can periodically perform the memory resource management method shown in FIG. 2. For example, the period can be 10s, 20s, 1min, 10min, 1h, etc. In addition, the first condition needs to be reacquired every time the memory resource management method is executed, so as to ensure that the first condition meets the actual demand.

[0107] Further, the target controller 201 can execute the method corresponding to S21-S23 on each node unit of the plurality of power saving units in the memory resource pool as a target node unit.

[0108] In an example, the target controller 201 can serially process the plurality of power saving units, and serially execute S21-S23 on the plurality of node units. For example, the target controller 201 sequentially polls each node unit of the plurality of node units based on a preset polling rule, and controls the physical memory unit corresponding to the power saving unit to work in the energy saving mode when the current use information of the node unit satisfies the first condition. By using the serial processing mode, the amount of data processed at a time is small, which is beneficial to the stability of the target controller 201.

[0109] In another example, the target controller 201 can process multiple power saving units in the memory resource pool in parallel, and control the physical memory units corresponding to the power saving units satisfying the first condition in the power saving mode. For example, as shown in FIG. 1, and the power saving unit is one memory bank, the target controller 201 can process N power saving units in parallel, and control the physical memory units corresponding to the power saving units satisfying the first condition in the power saving mode.

[0110] wherein 16≥N>1, and N is an integer. An example is as follows: if the target controller 201 needs to control one memory bank in the memory expansion card A to work in the power saving mode, and control all memory banks in the memory expansion card B to work in the power saving mode, the target controller 201 can send a third instruction to the memory controller of the memory expansion card A in parallel, and send a fourth instruction to the memory controller of the memory expansion card B. After receiving the third instruction, the memory controller of the memory expansion card A controls the memory bank corresponding to the memory bank HPA to work in the power saving mode according to the control information of the memory bank HPA and the power saving mode in the third instruction. After receiving the fourth instruction, the memory controller of the memory expansion card B controls the memory bank corresponding to the HPA to work in the power saving mode according to the HPA of all memory banks and the corresponding power saving mode controller in the fourth instruction. The parallel processing mode can improve the processing efficiency.

[0111] In summary, the embodiments of the present application use the current use information of the target power saving unit to adjust the working mode of the target physical memory unit. If the current use information satisfies the first condition, the target physical memory unit corresponding to the target power saving unit is controlled to work in the power saving mode. Thus, the total cost of ownership of the computing device can be reduced by reducing the memory power consumption under the condition that the computing device connected to the memory resource pool works normally.

[0112] Embodiment Two

[0113] Embodiment One introduces the condition for the physical memory unit corresponding to the power saving unit in the memory expansion card to enter the power saving mode. However, when too many physical memory units enter the power saving mode, the available capacity and bandwidth performance of the current memory resource pool cannot meet the user demand.

[0114] In this case, the embodiments of the present application propose a power saving recovery mode. Referring to FIG. 3, which is a flow chart of a method for providing a power saving recovery mode according to an embodiment of the present application. The method comprises the following steps:

[0115] S31: Obtain the current memory information of the memory resource pool.

[0116] The memory information of the memory resource pool refers to the information for measuring the memory performance of the memory resource pool. In the embodiments of the present application, the memory information includes the available capacity or the bandwidth.

[0117] The available capacity refers to the available memory capacity in the memory resource pool, and the available capacity determines the amount of data that can be stored in the memory resource pool. In the embodiments of the present application, the available capacity is the difference between all the memory capacities in the memory resource pool and the memory capacities that cannot be used. The memory capacities that cannot be used include the used memory capacities or the memory capacities corresponding to the physical memory units that enter the power saving mode. If the available capacity of the memory resource pool cannot meet the demand of the computing device, the available capacity of the memory resource pool needs to be expanded.

[0118] The bandwidth is used to determine the transmission rate between the memory resource pool and the processor of the computing device. The wider the bandwidth, the higher the transmission rate of data. When the bandwidth of the memory resource pool cannot meet the bandwidth demand of the computing device, the available capacity of the memory resource pool can be expanded to improve the overall data throughput of the memory resource pool.

[0119] In the embodiments of the present application, the current memory information of the memory resource pool refers to the memory information in the memory resource pool in the first time period. The current memory information of the memory resource pool includes the current available capacity of the memory resource pool, and can also include the current bandwidth.

[0120] In the embodiments of the present application, the target controller 201 can obtain the available capacity and the bandwidth of the memory resource pool in various ways. For example, the target controller 201 uses a preset command to check the memory usage and the available memory capacity of the memory resource pool, and obtains the current available capacity of the memory resource pool and the monitoring bandwidth.

[0121] S32: Determine whether the current memory information of the memory resource pool meets the second condition. If yes, perform S33.

[0122] The second condition refers to a control condition for determining that at least one physical memory unit in the memory resource pool in the first time period exits the power saving mode. In the embodiments of the present application, the second condition is that the available capacity of the memory resource pool is less than or equal to a preset capacity threshold, or the bandwidth of the memory resource pool is less than or equal to a preset bandwidth threshold.

[0123] In the embodiments of the present application, the second condition includes three cases.

[0124] Case one: The second condition is that the available capacity of the memory resource pool is less than or equal to a preset capacity threshold.

[0125] If the current available capacity of the memory resource pool is less than or equal to the preset capacity threshold, it is determined that the current memory information of the memory resource pool satisfies the second condition, and the target controller 201 can control the memory resource pool to perform the energy-saving recovery operation. Specifically, the target controller 201 controls at least one physical memory unit in the energy-saving mode in the memory resource pool to exit the energy-saving mode. If the current available capacity of the memory resource pool is greater than the preset capacity threshold, it is determined that the current memory information of the memory resource pool does not satisfy the second condition, and the memory resource pool does not perform the energy-saving recovery processing.

[0126] Case two: The second condition is that the current bandwidth of the memory resource pool is less than or equal to a preset bandwidth threshold.

[0127] If the current bandwidth of the memory resource pool is less than or equal to the preset bandwidth threshold, it is determined that the current memory information of the memory resource pool satisfies the second condition, and the target controller 201 can control the memory resource pool to perform the energy-saving recovery operation. Specifically, the target controller 201 controls at least one physical memory unit in the energy-saving mode in the memory resource pool to exit the energy-saving mode. If the current bandwidth of the memory resource pool is greater than the preset bandwidth threshold, it is determined that the current memory information of the memory resource pool does not satisfy the second condition, and the memory resource pool does not perform the energy-saving recovery processing.

[0128] Case three: The second condition is that the available capacity of the memory resource pool is less than or equal to a preset capacity threshold, or the current bandwidth of the memory resource pool is less than or equal to a preset bandwidth threshold.

[0129] If the current available capacity of the memory resource pool is less than or equal to the preset capacity threshold, or the current bandwidth of the memory resource pool is less than or equal to the preset bandwidth threshold, it is determined that the current memory information of the memory resource pool satisfies the second condition, and the target controller 201 can control the memory resource pool to perform the energy-saving recovery operation. Specifically, the target controller 201 controls at least one physical memory unit in the energy-saving mode in the memory resource pool to exit the energy-saving mode. If the current available capacity of the memory resource pool is greater than the preset capacity threshold, and the current bandwidth of the memory resource pool is greater than the preset bandwidth threshold, it is determined that the current memory information of the memory resource pool does not satisfy the second condition, and the memory resource pool does not perform the energy-saving recovery processing.

[0130] The preset capacity threshold can be a fixed value set by a person skilled in the art, or a value determined based on the historical running time of the computing device connected to the memory resource pool and the additional available memory capacity required by the computing device. For example, the maximum value of the additional available memory capacity required by the computing device is determined by statistically analyzing the historical running time of the computing device multiple times, and the maximum value is taken as the preset capacity threshold. The preset capacity threshold can also be determined in other ways, and the embodiments of the present application are not limited specifically.

[0131] The preset bandwidth threshold can be a fixed value set by a person skilled in the art, or can be dynamically adjusted by a person skilled in the art according to a system program running on the computing device, and the embodiments of the present application do not specifically limit.

[0132] Example 1: If the current available capacity of the memory resource pool is 8G, the preset capacity threshold is 10G, 8G < 10G, that is, the current memory information of the memory resource pool satisfies the second condition. If the current available capacity of the memory resource pool is 11G, 11G > 10G, the current bandwidth of the memory resource pool needs to be further judged. If the current bandwidth of the memory resource pool is 50MB / s, the preset bandwidth threshold is 80MB / s, 50MB / s < 80MB / s, then the current memory information of the memory resource pool satisfies the second condition. If the current bandwidth of the memory resource pool is 110MB / s, 110MB / s > 80MB / s, then the current memory information of the memory resource pool does not satisfy the second condition.

[0133] Example 2: If the current bandwidth of the memory resource pool is 50MB / s, the preset bandwidth threshold is 80MB / s, 50MB / s < 80MB / s, then the current memory information of the memory resource pool satisfies the second condition. If the current bandwidth of the memory resource pool is 110MB / s, 110MB / s > 80MB / s, the current available capacity of the memory resource pool needs to be further judged. If the current available capacity of the memory resource pool is 8G, the preset capacity threshold is 10G, 8G < 10G, that is, the current memory information of the memory resource pool satisfies the second condition.

[0134] S33: Perform the energy-saving recovery operation of the memory resource pool.

[0135] The energy-saving recovery operation of the memory resource pool refers to an operation of exiting the energy-saving mode of at least one physical memory unit in the energy-saving mode in the memory resource pool.

[0136] In the embodiments of the present application, the target controller 201 controls the memory resource pool to perform the energy-saving recovery operation based on the first preset strategy, so that at least one physical memory unit in the energy-saving mode in the memory resource pool exits the energy-saving mode.

[0137] Case one: the first preset strategy can be to perform the energy-saving recovery operation in the order of the physical memory units in the energy-saving mode from large to small (or from small to large) in terms of memory capacity. For example, the physical memory units in the energy-saving mode are in the order of 4G corresponding physical memory unit, 2G corresponding physical memory unit and 1G corresponding physical memory unit from large to small. If the available capacity of the memory resource pool is less than the preset capacity threshold, the 4G corresponding physical memory unit, the 2G corresponding physical memory unit and the 1G corresponding physical memory unit are sequentially executed to exit the operation, until the memory information of the memory resource pool meets the second condition, and the energy-saving recovery operation is stopped. Thus, the target controller 201 sequentially executes in the order of the memory capacity of the physical memory unit from large to small or from small to large, which can greatly reduce the memory power consumption of the memory resource pool on the basis of ensuring that the memory information of the memory resource pool does not meet the second condition.

[0138] Case two: the first preset strategy can be to perform the energy-saving recovery operation in priority to the physical memory units in the SR mode, and then perform the energy-saving recovery operation in the physical memory units in the MPSM. Of course, the physical memory units in the same mode can also be sequentially performed in the energy-saving recovery according to the memory capacity of the physical memory unit from large to small or from small to large in combination with case one and case two. For example, the physical memory units in the energy-saving mode include physical memory unit 1, physical memory unit 2, physical memory unit 3 and physical memory unit 4 in the SR mode, and physical memory unit 5, physical memory unit 6 and physical memory unit 7 in the MPSM. Among them, the memory capacity is in the order of physical memory unit 2, physical memory unit 3, physical memory unit 1 and physical memory unit 4 from large to small. And the memory capacity of physical memory unit 5 is less than that of physical memory unit 6 and greater than that of physical memory unit 7. The target controller 201 can sequentially execute physical memory unit 2, physical memory unit 3, physical memory unit 1, physical memory unit 4, physical memory unit 6, physical memory unit 5 and physical memory unit 7 to perform the energy-saving recovery, and stop executing the exit energy-saving mode operation when the current memory information of the memory resource pool meets the second condition. The physical memory units in the SR mode are first executed to perform the energy-saving recovery, and then the physical memory units in the MPSM are executed to perform the energy-saving recovery, which can minimize the amount of data migration.

[0139] Case three: the first preset strategy can also be used to determine the physical memory unit or combination of physical memory units that need to perform the energy-saving recovery operation according to the difference between the preset capacity threshold and the available capacity of the memory resource pool. The corresponding physical memory unit is selected from the memory resource pool to perform the energy-saving recovery operation. For example, it is determined that the difference between the preset capacity threshold and the available capacity of the memory resource pool is 2G, and the physical memory units in the energy-saving mode in the memory resource pool currently include three 2G physical memory units, so one physical memory unit can be selected to perform the energy-saving recovery operation. In this way, the memory resources of the physical memory units in the memory resource pool can be fully utilized, and memory resource waste can be avoided.

[0140] Case four: the first preset strategy can also be a parallel energy-saving recovery strategy. For example, the target controller 201 determines a plurality of physical memory units that need to perform the energy-saving recovery operation according to the difference between the preset capacity threshold and the available capacity of the memory resource pool. If the plurality of physical memory units belong to different memory controllers, the target controller 201 simultaneously sends an energy-saving exit instruction to the memory controller corresponding to each physical memory unit in the plurality of physical memory units. The memory controller controls the corresponding physical memory unit to perform the energy-saving recovery operation according to the energy-saving exit instruction. If the plurality of physical memory units include physical memory units belonging to the same memory controller, the target controller 201 sends an energy-saving recovery instruction to the memory controller, wherein the energy-saving recovery instruction includes the identifiers of the plurality of physical memory units. The memory controller controls the corresponding physical memory units to perform the energy-saving recovery operation according to the identifiers of the plurality of physical memory units. Through the parallel energy-saving recovery strategy, the efficiency of the energy-saving recovery operation of the memory resource pool can be effectively improved.

[0141] Case five: the first preset strategy can perform the energy-saving recovery operation according to the bandwidth of the memory resource pool.

[0142] It is to be noted that the preset strategy can also be other strategies, for example, the data amount required to be migrated by the physical memory unit to exit the energy-saving mode is executed in the order from small to large to perform the exit energy-saving mode operation, or the energy-saving recovery operation is performed according to the physical memory unit in the energy-saving mode in the order from large to small (or from small to large) in terms of bandwidth, etc. The embodiments of the present application are not specifically limited.

[0143] Therefore, the embodiments of the present application dynamically adjust the bandwidth and available capacity of the memory resource pool by setting the second condition, so as to realize the premise of reducing the memory power consumption to meet the memory capacity and bandwidth required by the host to process data.

[0144] Embodiment three

[0145] The following takes the case that the computing device sends a read-write request to the memory resource pool through the switch as an example to illustrate the memory resource management method provided by the embodiments of the present application.

[0146] Referring to FIG. 4, which is a structural schematic diagram of a CXL system provided in an embodiment of the present application, the CXL system includes the memory resource pool shown in FIG. 2, further includes a CXL switch 501 and N computing devices, respectively computing device 1, computing device 2, …, and computing device N, where N > 1 and N is an integer.

[0147] The CXL switch 501 includes a plurality of upstream ports 501-1 and a plurality of downstream ports 501-2. The computing devices communicate with the memory resource pool through the upstream ports 501-1 and the downstream ports 501-2. It should be noted that the memory resource pool can be connected to multiple computing devices, or can be connected to one computing device, which is adjusted according to business needs. FIG. 4 takes one memory resource pool and three computing devices, respectively computing device 1, computing device 2, and computing device 3 as an example for illustration.

[0148] The computing device 1, the computing device 2, and the computing device 3 perform data interaction with the CXL switch 501 through the three upstream ports 501-1 shown in FIG. 4. The CXL switch 501 further includes a control module, and the control module pre-stores an address mapping table. The CXL switch determines the memory expansion card corresponding to the target physical memory unit through the address mapping table, and performs data interaction with the CXL controller of the memory expansion card through the corresponding downstream port 501-2. Then the CXL controller of the memory expansion card performs data interaction with the specific physical memory unit based on the address mapping table.

[0149] In the embodiment of the present application, the memory resource pool includes an interaction port 503, the memory expansion card in the memory resource pool includes a sub-interaction port 503-1, and the CXL controller in the memory expansion card includes an address mapping table. The computing device performs data interaction with the corresponding physical memory unit in the memory expansion card based on the address mapping table in the CXL controller through the interaction port 503 and the sub-interaction port 503-1 of the corresponding memory expansion card.

[0150] It should be noted that the address mapping table in the CXL controller, the address mapping table in the control module in the CXL switch 501, and the address mapping table cached by the target controller 201 are the same. If the address mapping table cached by the target controller 201 changes, the address mapping table in the CXL controller changes synchronously.

[0151] The data interaction includes that the computing device reads data from the physical memory unit of the memory resource pool, or the computing device writes data into the physical memory unit of the memory resource pool.

[0152] Next, in combination with the CXL system shown in FIG. 4, a read-write request processing method provided in an embodiment of the present application is introduced. The method includes the following steps:

[0153] Referring to FIG. 5, a flowchart of a read-write request processing method provided by an embodiment of the present application is shown, and the method comprises the following steps:

[0154] S51: The computing device sends an external request.

[0155] In an embodiment of the present application, the external request comprises a read request and a write request. The read request refers to a request for reading data from a physical memory unit in the memory resource pool, and the write request refers to a request for writing data into a physical memory unit in the memory resource pool.

[0156] In an example, when the computing device needs to read data from a physical memory unit in the memory resource pool, the computing device generates a read request, which comprises the LBA corresponding to the physical memory unit and the read data information.

[0157] In another example, when the computing device needs to write data into a physical memory unit in the memory resource pool, the computing device generates a write request, which comprises the LBA corresponding to the physical memory unit and the write data information.

[0158] S52: Update the usage information of the target power saving unit.

[0159] In an embodiment of the present application, after the CXL switch 501 receives the external request sent by the computing device, the target controller 201 is notified, and the target controller 201 updates the current usage information of the target power saving unit, i.e., updates the number of external requests and the valid data amount of the target power saving unit.

[0160] S53: Query the address mapping table to determine the target physical memory unit.

[0161] In an example, the CXL controller of the physical memory unit parses the read request to obtain the LBA and the read data information, determines the DPA and the physical memory unit corresponding to the DPA based on the address mapping table pre-stored by the CXL controller, and reads data from the physical memory unit.

[0162] In another example, the CXL controller of the physical memory unit parses the write request to obtain the LBA and the write data information, determines the DPA and the physical memory unit corresponding to the DPA based on the address mapping table pre-stored by the CXL controller, and writes data into the physical memory unit.

[0163] S54: The CXL controller controls the memory controller to interact with the target physical memory unit.

[0164] After the CXL controller parses the external request, the CXL controller sends the target physical memory unit and the data information in the external request to the memory controller. The memory controller interacts with the target physical memory unit for the data information, that is, if the data information is read data information, the memory controller reads data from the target physical memory unit and sends the read data to the computing device. If the data information is write data information, the memory controller writes data to the target physical memory unit.

[0165] For the above read-write request processing flow, another memory resource management diagram provided by an embodiment of the present application is introduced below.

[0166] Referring to FIG. 6, which is a flowchart of a memory resource pool management method provided by an embodiment of the present application. The memory resource pool management method traverses all power saving units in the memory resource pool, so that the physical memory unit corresponding to the node unit satisfying the first sub-condition enters the MPSM, and the physical memory unit corresponding to the node unit satisfying the second sub-condition enters the SR mode. The first condition includes the first sub-condition and the second sub-condition.

[0167] The first sub-condition is a control condition for determining whether the current power saving unit enters the MPSM. The second sub-condition is a control condition for determining whether the current power saving unit enters the SR mode. In the embodiment of the present application, the MPSM is a deeper low-power state relative to the SR mode, but it brings higher latency and stricter timing requirements, so the first sub-condition for triggering the physical memory unit to enter the MPSM is more stringent than the second sub-condition for triggering the physical memory unit to enter the SR mode. For example, the first sub-condition is that the number of external requests of the current power saving unit is less than or equal to the minimum historical number of external requests, and the amount of valid data of the current power saving unit is less than or equal to the minimum amount of valid data. The second sub-condition is that the number of external requests of the current power saving unit decreases relative to the historical number of external requests at the previous time, and the decrease value is a target decrease threshold. The minimum historical number of external requests can be the minimum historical number of external requests of all power saving units at the previous time of the first time period, and the minimum amount of valid data can be the minimum historical amount of valid data of all power saving units at the previous time of the first time period.

[0168] In the traversal process, the memory resource management method of a certain power saving unit (current node unit) is as follows:

[0169] S61: Obtain the current usage information of the current power saving unit.

[0170] The current usage information of the current power saving unit includes the current number of external requests of the current power saving unit and the current amount of valid data. The specific obtaining method is the same as step S21.

[0171] S62: Determine whether the current use information of the current power saving unit satisfies the first sub-condition. If the first sub-condition is satisfied, perform S631. If the first sub-condition is not satisfied, perform S632.

[0172] The target controller 201 determines whether the current use information of the current power saving unit satisfies the first sub-condition. For example, if the first sub-condition is that the number of external requests of the current power saving unit is less than or equal to the minimum historical number of external requests, and the amount of valid data of the current power saving unit is less than or equal to the minimum amount of valid data. If the current number of external requests of the current power saving unit is less than or equal to the minimum historical number of external requests, and the current amount of valid data of the current power saving unit is less than or equal to the minimum amount of valid data, it is determined that the current use information of the current power saving unit satisfies the first sub-condition. If the current number of external requests of the current power saving unit is greater than the minimum historical number of external requests, or the current amount of valid data of the current power saving unit is greater than the minimum amount of valid data, it is determined that the current use information of the current power saving unit does not satisfy the second sub-condition.

[0173] S631: Determine the migration destination physical memory unit.

[0174] The target controller 201 randomly selects a destination power saving unit from the plurality of physical memory units in the normal mode in the memory resource pool, and takes the physical memory unit corresponding to the destination power saving unit as the destination physical memory unit.

[0175] S641: Migrate the valid data of the current physical memory unit corresponding to the current power saving unit to the destination physical memory unit.

[0176] The target controller 201 migrates the valid data of the current physical memory unit to the destination physical memory unit, thereby avoiding the current physical memory unit from entering the MPSM mode and causing damage to the data.

[0177] S651: Update the address mapping table and synchronize the updated address mapping table to the CXL controller.

[0178] The target controller 201 updates the address mapping table, specifically updates the DPA of the current physical memory unit in the address mapping table to the migration identifier migrated to the destination physical memory unit. And synchronize the updated address mapping table to all CXL controllers in the memory resource pool and the control module in the CXL switch 501. Therefore, when the computing device sends an external request, the control module of the CXL switch 501 determines the DPA corresponding to the destination physical memory unit based on the updated address mapping table, and the CXL controller determines the DPA corresponding to the destination physical memory unit based on the updated address mapping table. The destination physical memory unit sends the external request to the destination physical memory unit.

[0179] S661: Trigger the current physical memory unit to enter the MPSM.

[0180] The target controller 201 sends a first sub-instruction to the memory controller corresponding to the current physical memory unit, the first sub-instruction carrying address information of the current physical memory unit and information that the current physical memory unit enters the MPSM mode. After receiving the first sub-instruction, the memory controller sends a shutdown instruction to the current physical memory unit. After receiving the shutdown instruction, the current physical memory unit shuts down itself, thereby triggering the current physical memory unit to enter the MPSM.

[0181] S632: Determine whether the current use information of the current power saving unit satisfies a second sub-condition. If yes, perform S642.

[0182] The target controller 201 determines whether the current use information of the current power saving unit satisfies the second sub-condition. For example, if the current number of external requests of the current power saving unit decreases compared with the number of external requests at the last time, and the decrease value is greater than a target decrease threshold, it is determined that the current use information of the current power saving unit satisfies the second sub-condition. If the current number of external requests of the current power saving unit increases compared with the number of external requests at the last time, and the decrease value is less than or equal to the target decrease threshold, it is determined that the current use information of the current power saving unit does not satisfy the second sub-condition.

[0183] S642: Determine a migration destination physical memory unit.

[0184] S652: Migrate valid data of the physical memory unit corresponding to the current power saving unit to the destination physical memory unit.

[0185] Although in the SR mode, the physical memory unit does not destroy the original data, when the computing device sends a read / write request, a small amount of valid data may be newly stored in the cache area. The valid data in these cache areas will be deleted due to the physical memory unit entering the SR mode. Therefore, in order to ensure that the newly added valid data will not be lost due to the physical memory unit entering the SR mode, it is necessary to migrate these valid data.

[0186] Steps S642-S652 are the same as steps S631-S641, which will not be discussed here.

[0187] S662: Update the address mapping table and synchronize the updated address mapping table to the CXL controller.

[0188] S672: Trigger the current physical memory unit to enter the SR mode.

[0189] The target controller 201 sends a second sub-instruction to the memory controller corresponding to the current physical memory unit, the second sub-instruction carries address information of the current physical memory unit and information that the current physical memory unit enters the SR mode. After the memory controller receives the second sub-instruction, the memory controller is closed, so that the memory controller no longer sends a refresh instruction to the current physical memory unit, and the current physical memory unit enters the SR mode by self-refreshing.

[0190] The embodiment of the present application performs energy-saving processing on the physical memory unit corresponding to the power saving unit meeting the condition by traversing all power saving units, ensures that as many physical memory units as possible enter the energy-saving mode, and thus maximizes the memory power consumption of the memory resource pool. Further, meeting different conditions to enter different energy-saving modes can reduce the data migration amount and improve the entering efficiency of as many physical memory units as possible in the memory resource pool into the energy-saving mode.

[0191] In addition, the embodiment of the present application also provides an implementation process of the memory resource pool exiting the energy-saving mode. When the target controller 201 monitors that the current memory information in the memory resource pool meets the second condition, the target controller 201 performs the mode of first exiting the physical memory unit in the SR mode and then exiting the physical memory unit in the MPSM. The following will be described in detail with reference to FIG. 7.

[0192] Referring to FIG. 7, which is a flowchart of another method for exiting the energy-saving mode provided by the embodiment of the present application, the method includes the following steps:

[0193] S71: Determine whether there is a physical memory unit in the SR mode in the memory resource pool, if yes, perform S721, and if not, perform S722.

[0194] When the target controller 201 determines that the current memory information in the memory resource pool does not meet the second condition, the target controller 201 first determines whether there is a physical memory unit in the SR mode in the memory resource pool.

[0195] The target controller 201 can access all physical memory units in the memory resource pool in a traversal manner to determine whether there is a physical memory unit in the SR mode in the memory resource pool. The target controller 201 pre-caches a working mode table of all physical memory units in the memory resource pool, and the target controller 201 can also determine whether there is a physical memory unit in the SR mode in the memory resource pool according to the working mode table. The target controller 201 can also determine whether there is a physical memory unit in the SR mode in the memory resource pool by other manners, for example, the target controller 201 determines whether there is a physical memory unit in the SR mode in the memory resource pool by calculating memory state information provided by a memory management unit of the computing device.

[0196] S721: Trigger the first physical memory unit to exit the SR mode.

[0197] The first physical memory unit refers to a physical memory unit currently requiring energy-saving recovery and in the SR mode. The target controller 201 triggers the first physical memory unit to exit the SR mode.

[0198] Specifically, the target controller 201 sends an open instruction to the memory controller where the first physical memory unit is located, the open instruction including the LBA corresponding to the first physical memory unit and information of sending a refresh instruction to the first physical memory unit. After receiving the open instruction, the memory controller parses the open instruction and sends a refresh instruction to the first physical memory unit according to the LBA corresponding to the first physical memory unit and the information of sending a refresh instruction to the first physical memory unit. After receiving the refresh instruction, the first physical memory unit starts the non-self-refresh mode, i.e., exits the SR mode.

[0199] S731: Query the address mapping table to determine the first target physical memory unit.

[0200] The target controller 201 queries the cached address mapping table and determines the first target physical memory unit corresponding to the first physical memory unit according to the information in the address mapping table.

[0201] S741: Migrate the newly added valid data of the first target physical memory unit to the first physical memory unit.

[0202] The target controller 201 migrates the newly added valid data of the target physical memory unit to the first physical memory unit.

[0203] S751: Update the address mapping table.

[0204] After the migration is completed, the target controller 201 updates the address mapping table and synchronizes the updated address mapping table to the CXL controller.

[0205] S761: Determine whether the current memory information of the memory resource pool satisfies the second condition. If not, end. If yes, execute S71.

[0206] After the first physical memory unit exits the SR mode and releases the memory, it continues to monitor whether the current memory information of the memory resource pool satisfies the second condition. If not, end. Otherwise, continue to execute S71. Thus, when energy-saving recovery is required, the memory of all physical memory units in the SR mode is released in priority.

[0207] Compared with the MPSM, the physical memory unit in the SR mode exits the SR mode and needs to migrate less data. Therefore, giving priority to the physical memory unit in the SR mode to exit the SR mode helps the safety and stability of the migrated data and improves the data migration efficiency.

[0208] S722: Determine whether there is a physical memory unit of MPSM in the memory resource pool. If there is, execute S732. If not, end.

[0209] When the target controller 201 determines that the current memory information in the memory resource pool does not satisfy the second condition, and there is no physical memory unit of SR mode in the memory resource pool, the target controller 201 determines whether there is a physical memory unit of MPSM in the current memory information of the memory resource pool.

[0210] The target controller 201 can access all physical memory units in the memory resource pool in a traversal manner to determine whether there is a physical memory unit of MPSM in the memory resource pool. The target controller 201 pre-caches the working mode table of all physical memory units in the memory resource pool, and the target controller 201 can also determine whether there is a physical memory unit of MPSM in the memory resource pool according to the working mode table. The target controller 201 can also determine whether there is a physical memory unit of MPSM in the memory resource pool in other ways, for example, the target controller 201 determines whether there is a physical memory unit of MPSM in the memory resource pool by calculating the memory state information provided by the memory management unit of the computing device.

[0211] S732: Trigger the second physical memory unit to exit the MPSM.

[0212] The second physical memory unit refers to a physical memory unit that currently needs to perform energy-saving recovery and is in MPSM. The target controller 201 triggers the second physical memory unit to exit the MPSM.

[0213] Specifically, the target controller 201 sends a second opening instruction to the memory controller where the second physical memory unit is located, and the opening instruction includes the LBA corresponding to the first physical memory unit and the information of opening the first physical memory unit. After receiving the second opening instruction, the memory controller parses the second opening instruction, and according to the LBA corresponding to the second physical memory unit and the information of opening the second physical memory unit, sends a third opening command to the second physical memory unit. After receiving the third opening command, the second physical memory unit starts its own device, that is, exits the MPSM.

[0214] S742: Query the address mapping table to determine the second destination physical memory unit.

[0215] The target controller 201 queries the cached address mapping table, and determines the second destination physical memory unit corresponding to the second physical memory unit according to the information in the address mapping table.

[0216] S752: Migrate the second destination physical memory unit to the second physical memory unit.

[0217] S762: Update the address mapping table.

[0218] S772: determining whether the current memory information of the memory resource pool satisfies the second condition, if not, ending; if yes, performing S722.

[0219] In the embodiments of the present application, for the physical memory units in the MPSM or SR mode, only when the current memory information of the memory resource pool does not satisfy the second condition, the physical memory units are selected to exit the energy saving mode, so that the memory power consumption of the memory resource pool can be saved to the maximum extent. Furthermore, the physical memory units in the SR mode are preferentially exited, and when the physical memory units in the SR mode are insufficient to make the memory information of the memory resource pool satisfy the second condition, the physical memory units in the MPSM are exited, so that the data migration rate can be reduced to the maximum extent and the data migration efficiency can be improved.

[0220] In addition, the embodiments of the present application also provide a memory resource management device. Referring to FIG. 8, which is a structural schematic diagram of a memory resource management device provided by the embodiments of the present application. The device comprises:

[0221] The obtaining unit 801 is configured to obtain current usage information of a target power saving unit; the target power saving unit is a logical unit corresponding to a target physical memory unit in a memory resource pool; the control unit 802 is configured to control the target physical memory unit corresponding to the target power saving unit to switch from a normal mode to an energy saving mode if the current usage information of the target power saving unit satisfies a first condition; the memory power consumption in the normal mode is greater than that in the energy saving mode.

[0222] As shown in FIG. 9, the embodiments of the present application also provide a server 900, which is not limited to a specific application scenario. For example, the server 900 is taken as an example of a server, and the type of the server is not limited, for example, the server can be a rack server or an edge server. The server can be located in a data center or other areas, which is not limited in the embodiments of the present application.

[0223] The server 900 comprises a processor 903 and a memory 903, and the memory 903 is electrically connected with the processor 903; the memory 903 is configured to store program instructions for the processing method of key transmission involved in the above embodiments; the processor 903 is configured to call corresponding parts in the above program instructions, so that the server can execute the memory resource management method involved in the above embodiments.

[0224] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions in the embodiments of the present application are generated.

[0225] The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center through wired (for example, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (for example, infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available medium can be a magnetic medium (for example, floppy disk, magnetic disk, magnetic tape), an optical medium (for example, digital video disc (DVD)), or a semiconductor medium (for example, solid state drive (SSD)) and the like.

[0226] The above is only a preferred embodiment of the present application, and does not limit the present application in any form. Although the present application has been disclosed as above with the preferred embodiment, it is not intended to limit the present application. Any person skilled in the art can make many possible changes and modifications to the technical solutions of the present application, or modify equivalent embodiments with the above disclosed methods and technical contents without departing from the scope of the technical solutions of the present application. Therefore, any simple modification, equivalent change and modification of the above embodiments made according to the technical essence of the present application without departing from the technical solutions of the present application, all still belong to the scope of protection of the technical solutions of the present application.

Claims

1. A memory resource management method, characterized in that: The method comprises: Acquire current usage information of a target power-saving unit; the target power-saving unit is a logical unit corresponding to a target physical memory unit of a memory expansion card in a memory resource pool; If the current usage information of the target power-saving unit meets the first condition, the target physical memory unit corresponding to the target power-saving unit is controlled to switch from normal mode to energy-saving mode; the memory power consumption of the normal mode is greater than the memory power consumption of the energy-saving mode.

2. The method according to claim 1, characterized in that If the current usage information includes the current number of external requests and the current amount of valid data, the first condition is that the current number of external requests of the target power-saving unit is less than or equal to a first threshold, and the current amount of valid data of the target power-saving unit is less than or equal to a second threshold, If the current usage information of the target power-saving unit satisfies the first condition, controlling the target physical memory unit corresponding to the target power-saving unit to switch from the normal mode to the energy-saving mode includes: If the current external request quantity of the target power-saving unit is less than or equal to the first threshold, and the current valid data volume of the target power-saving unit is less than or equal to the second threshold, the target physical memory unit corresponding to the target power-saving unit is controlled to switch from normal mode to energy-saving mode.

3. The method according to claim 2, characterized in that The first threshold is related to the number of historical external requests of at least one power-saving unit in the memory resource pool, or the second threshold is related to the amount of historical valid data of at least one power-saving unit in the memory resource pool.

4. The method according to claim 1, characterized in that The first condition includes a first sub-condition and a second sub-condition, wherein the first sub-condition is used to control the target power-saving unit to enter a maximum power saving mode MPSM, and the second sub-condition is used to trigger the target power-saving unit to enter a self-refresh SR mode. If the current usage information of the target power-saving unit satisfies the first condition, controlling the target physical memory unit corresponding to the target power-saving unit to switch from the normal mode to the energy-saving mode includes: If the current usage information of the target power-saving unit satisfies the first sub-condition, controlling the target physical memory unit to switch from the normal mode to the MPSM; If the current usage information of the target power-saving unit does not satisfy the first sub-condition, and the current usage information of the target power-saving unit satisfies the second sub-condition, the target physical memory unit is controlled to switch from the normal mode to the SR mode.

5. The method according to claim 1, characterized in that: Before controlling the target physical memory unit corresponding to the target power-saving unit to switch from a normal mode to a power-saving mode, the method further includes: Determine a destination physical memory unit, where the destination physical memory unit indicates a physical memory unit in the memory resource pool that is in the normal mode; Migrate the valid data of the target physical memory unit to the destination physical memory unit.

6. The method according to claim 5, characterized in that After migrating the valid data of the target physical memory unit to the destination physical memory unit, the method further includes: Updating the address mapping table so that the updated address mapping table includes a migration identifier indicating that valid data of the target physical memory unit is migrated to the destination physical memory unit; the address mapping table indicates a mapping relationship between a computing device physical address, a logical module address, and a device physical address; If the target physical memory unit performs an energy-saving recovery operation, determining the destination physical memory unit according to the migration identifier in the updated address mapping table; The newly added valid data amount and / or the valid data of the target physical memory unit are migrated from the destination physical memory unit back to the target physical memory unit.

7. The method according to claim 1, characterized in that: The method further comprises: Obtaining current memory information of the memory resource pool; If the current memory information satisfies the second condition, based on the first preset strategy, the physical memory units in the memory resource pool that are in the energy-saving mode are controlled to perform an energy-saving recovery operation.

8. The method according to claim 7, characterized in that: If the current memory information is the current available capacity and the current bandwidth, the second condition is that the current available capacity of the memory resource pool is less than or equal to the preset capacity threshold, or the bandwidth of the memory resource pool is less than or equal to the preset bandwidth threshold, If the current memory information satisfies the second condition, based on the first preset policy, controlling the physical memory unit in the memory resource pool that is in the energy-saving mode to perform an energy-saving recovery operation includes: If the current available capacity of the memory resource pool is less than or equal to a preset capacity threshold, or the current bandwidth of the memory resource pool is less than or equal to a preset bandwidth threshold, based on the first preset policy, the physical memory units in the memory resource pool that are in the energy-saving mode are controlled to perform energy-saving recovery operations.

9. The method according to claim 7, characterized in that: If the first preset strategy is to prioritize the execution of energy-saving recovery operations on the physical memory units in SR mode and then the execution of energy-saving recovery operations on the physical memory units in MPSM, The controlling, based on the first preset policy, the physical memory units in the memory resource pool that are in the energy-saving mode to perform the energy-saving recovery operation includes: If the memory resource pool includes the physical memory unit in the SR mode, controlling the physical memory unit in the SR mode to perform an energy-saving recovery operation; If the memory resource pool does not include the physical memory unit in the SR mode, and the memory resource pool includes the physical memory unit in the MPSM mode, the physical memory unit in the MPSM mode is controlled to perform an energy-saving recovery operation.

10. A memory resource pool, characterized in that: The memory resource pool includes a memory expansion card and a target controller, and the memory expansion card includes a target physical memory unit; The target controller is used to: obtain current usage information of the target power-saving unit; the target power-saving unit is a logical unit corresponding to the target physical memory unit; if the current usage information of the target power-saving unit meets the first condition, control the target physical memory unit to switch from normal mode to energy-saving mode; the memory power consumption of the normal mode is greater than the memory power consumption of the energy-saving mode.

Citation Information

Patent Citations

  • Method, device and system for reducing power consumption of internal memory

    CN101714023A

  • JVM energy consumption control method and device

    CN103870315A

  • Reducing memory power usage in far memory

    CN117581189A

  • Memory refreshing method and device

    CN117806809A

  • Memory resource management method and memory resource pool

    CN118377612A