Memory power consumption control method and device, equipment and storage medium

By monitoring the access frequency of memory sticks and generating activity forms, the power consumption control of memory sticks is refined, and the problem of not being able to manage memory sticks separately in the existing technology is solved, and the performance and stability of the system are improved.

CN120407157APending Publication Date: 2025-08-01INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510418809.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-03
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

The existing memory pool management method cannot achieve separate management of each memory stick, resulting in poor system power consumption control, affecting system efficiency and stability.

Method used

By monitoring the access frequency of memory sticks, an activity form is generated, and the power consumption of each memory stick is refined according to the access information and the status of the memory controller.

Benefits of technology

Memory level control of the power consumption of the entire system is realized, system performance, resource utilization efficiency and stability are improved, and energy efficiency is maximized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407157A_ABST
    Figure CN120407157A_ABST
Patent Text Reader

Abstract

The invention discloses a memory power consumption control method, which relates to the technical field of computers, and comprises the following steps: determining whether a target state address field exists or not according to the access frequency of any address field, if so, determining access information corresponding to the target state address field according to the access state of the target state address field, and determining the memory power consumption according to the access frequency. And generating an activeness form, determining a memory controller corresponding to the address field according to the access information, determining a target memory bank and a corresponding power consumption control instruction according to the memory controller, the access state of the target address field and the activeness form, and adjusting the power consumption of the target memory bank according to the target memory bank and the corresponding power consumption control instruction. The problem that independent management of each memory bank in the memory pool cannot be achieved is solved, and the technical effects that the memory bank level of the power consumption of the whole system is controlled, the performance, the resource utilization efficiency and the stability of the system are remarkably improved, and the energy efficiency is maximized while the performance is guaranteed are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technologies, and in particular, to a method, device, equipment, and storage medium for controlling memory power consumption. Background Art

[0002] With the continuous increase in storage costs, traditional PCIE (Peripheral Component Interconnect Express) technology has gradually become ineffective. Against this background, CXL (Compute Express Link) technology based on the PCIE protocol has emerged. CXL allows different computing nodes to share memory resources through high-speed interconnection, forming a distributed memory pool, which can achieve memory resource sharing and dynamic allocation across multiple computing nodes. However, the introduction of the memory pool increases the number of internal components in the system, and at the same time, the power consumption of the CXL system also rises. To maintain the efficiency of the system, it is necessary to control the power consumption of the system. Existing management methods are usually out-of-band management, which realizes the overall management of the memory pool and cannot realize the individual management of each memory module in the memory pool.

[0003] Therefore, in view of the shortcomings of the existing technical solutions, the present invention provides a method for controlling memory power consumption. Summary of the Invention

[0004] This application provides a method, device, equipment, and storage medium for controlling memory power consumption to at least solve the problem in the related art that the individual management of each memory module in the memory pool cannot be realized.

[0005] This application provides a method for controlling memory power consumption. The method includes: determining whether there is a target status address segment according to the access frequency of any address segment; in response to the existence of the target status address segment, determining the access information corresponding to the target status address segment according to the access status of the target status address segment; generating an activity form according to the access frequency; determining the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; determining the target memory module and the corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form; and adjusting the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0006] The present application also provides a memory power consumption control device, which includes: a monitoring module for determining whether there is a target state address segment according to the access frequency of any address segment; a first processing module for determining the access information corresponding to the target state address segment according to the access state of the target state address segment in response to the existence of the target state address segment; a second processing module for generating an activity form according to the access frequency; a third processing module for determining the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; a fourth processing module for determining the target memory module and the corresponding power consumption control instruction according to the memory controller, the access state of the target address segment, and the activity form; and a control module for adjusting the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0007] The present application also provides an electronic device, which includes: a memory for storing a computer program; a processor for implementing the following steps when executing the computer program: determining whether there is a target state address segment according to the access frequency of any address segment; determining the access information corresponding to the target state address segment according to the access state of the target state address segment in response to the existence of the target state address segment; generating an activity form according to the access frequency; determining the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; determining the target memory module and the corresponding power consumption control instruction according to the memory controller, the access state of the target address segment, and the activity form; and adjusting the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0008] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented: determining whether there is a target state address segment according to the access frequency of any address segment; determining the access information corresponding to the target state address segment according to the access state of the target state address segment in response to the existence of the target state address segment; generating an activity form according to the access frequency; determining the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; determining the target memory module and the corresponding power consumption control instruction according to the memory controller, the access state of the target address segment, and the activity form; and adjusting the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0009] The present application also provides a computer program product, including a computer program, which when executed by a processor implements the following steps: determining whether there is a target status address segment according to the access frequency of any address segment; in response to the existence of the target status address segment, determining the access information corresponding to the target status address segment according to the access status of the target status address segment; generating an activity form according to the access frequency; determining the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; determining the target memory module and the corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form; and adjusting the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0010] Through the present application, since it is determined whether there is a target status address segment according to the access frequency of any address segment, and if there is a target status address segment, the access information corresponding to the target status address segment is determined according to the access status of the target status address segment, an activity form is generated according to the access frequency, the memory controller corresponding to the address segment is determined according to the access information, the target memory module and the corresponding power consumption control instruction are determined according to the memory controller, the access status of the target address segment, and the activity form, and the power consumption of the target memory module is adjusted according to the target memory module and the corresponding power consumption control instruction, it is possible to achieve memory-level control of the power consumption of the entire system, significantly improve the performance, resource utilization efficiency, and stability of the system, and maximize the energy efficiency while ensuring the performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] To more clearly illustrate the embodiments of the present application, the following will briefly introduce the drawings required for the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0012] Figure 1 It is a flowchart of a method for controlling memory power consumption provided by an embodiment of the present application;

[0013] Figure 2 It is a flowchart of generating a power consumption control instruction for a method for controlling memory power consumption provided by an embodiment of the present application;

[0014] Figure 3 It is another flowchart of generating a power consumption control instruction for a method for controlling memory power consumption provided by an embodiment of the present application;

[0015] Figure 4 It is a schematic diagram of the architecture of a method for controlling memory power consumption provided by an embodiment of the present application;

[0016] Figure 5A logical schematic diagram of a memory power consumption control method provided by an embodiment of the present application;

[0017] Figure 6 A structural block diagram of a memory power consumption control device provided by an embodiment of the present application;

[0018] Figure 7 An internal structure diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0019] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the protection scope of the present application.

[0020] It should be noted that in the description of the present application, the terms "including", "comprising" or any other variation thereof are intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in the present application are used to distinguish similar objects, rather than to describe a specific order or sequence.

[0021] It should be noted that the terms "S1", "S2", etc. are only used for the purpose of describing steps, and do not particularly refer to the meaning of order or sequence. Nor are they used to limit the present application. They are only used to facilitate the description of the method of the present application and cannot be understood as indicating the order of steps. In addition, the technical solutions between various embodiments can be combined with each other, but it must be based on the fact that those of ordinary skill in the art can implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the protection scope required by the present application.

[0022] In order to enable those skilled in the art of the present technology to better understand the solutions of the present application, the present application will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners.

[0023] The embodiments of the present application provide a memory power consumption control method, and the method will be described in detail in combination with the execution process of the memory power consumption control method.

[0024] S101: Determine whether there is a target state address segment according to the access frequency of any address segment.

[0025] Here, the access to the address segment can be the access from the upstream port to the address segment in the downstream port. The upstream port can be a user device, and at least one address segment can be included in one downstream port.

[0026] Here, the access frequency is the number of accesses to the address segment within a unit time, where the unit time is set by the user according to requirements.

[0027] Among them, the target state is the access state reached when the access frequency of the address segment meets the preset conditions. The target state can include multiple types. For example, the access frequency being greater than the first preset value and less than the second preset value is the first target state, and the access frequency being greater than the second preset value is the second target state, where the second preset value is greater than the first preset value.

[0028] Among them, the size of the address segment can be set according to user requirements. For example, the monitoring of 256B of memory can be achieved.

[0029] Specifically, the monitoring unit can monitor the access requests sent by the upstream port to each downstream port, count the access frequency of the specific address segments included in each downstream port, and determine the status of the address segment according to the access frequency.

[0030] In one embodiment, the access frequency of the address segment can be monitored through the CXL switching module.

[0031] S102: In response to the existence of an address segment in the target state, determine the access information corresponding to the address segment in the target state according to the access state of the address segment in the target state.

[0032] Here, the access state is to obtain the access frequency of the address segment and determine the access state of the address segment according to the preset determination rules.

[0033] Here, the access information includes the address information of the address segment, the information of the downstream port corresponding to the address segment (such as the port number of the downstream port, etc.), and the information of the memory controller corresponding to the downstream port (such as the address of the memory controller, the memory module corresponding to the memory controller, the address of the memory module, etc.).

[0034] Among them, the access information can be stored in a storage device. The access information of address segments in different target states can be stored in the same storage device or in different storage devices.

[0035] In one embodiment, a large model can be preset, trained with a dataset to obtain a prediction large model, input the collected monitoring data into the prediction large model, output a prediction result, and predict the access state of the address segment.

[0036] S103: Generate an activity form according to the access frequency.

[0037] Here, the activity form is used to store address segments with relatively high access frequencies.

[0038] Among them, the activity form includes at least one memory module.

[0039] S104: Determine the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module.

[0040] In the embodiments of the present application, the memory module is preferably a Dual In-line Memory Module (DIMM). Since the DIMM itself does not include an independent memory controller, the data transmission of the DIMM memory module is usually managed by a dedicated memory controller located on the CPU or the motherboard. Schematically, the memory controller adopted in the present application is a CXL memory controller. By using the CXL memory controller to manage the data transmission of the DIMM memory module, one CXL memory controller can manage one or more DIMM memory modules.

[0041] The above-mentioned memory controller corresponding to at least one memory module means that the memory controller manages the data transmission of the corresponding at least one memory module.

[0042] S105: Determine the target memory module and the corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form.

[0043] Here, the target memory module is the target object of the power consumption control instruction.

[0044] Here, the power consumption control instruction is used to control the power consumption and may include an instruction to increase the power consumption and an instruction to decrease the power consumption.

[0045] Among them, the power consumption control instruction may include operations such as dynamic voltage and frequency regulation, temperature regulation, core enabling or disabling, device power management, and memory controller optimization.

[0046] In one embodiment, the power consumption control instruction can be determined by the FM (Fabric Management structure management) unit.

[0047] S106: Adjust the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0048] It should be noted that the present application can achieve memory module-level control of the overall system power consumption, significantly improve the system performance, resource utilization efficiency, and stability, and maximize the energy efficiency while ensuring the performance. In some specific embodiments, determining whether there is a target status address segment according to the access frequency of any address segment includes:

[0049] In response to detecting that the access frequency of an address segment is greater than a first threshold, mark the access status of the address segment as a first status, and determine that the address segment is a target status address segment;

[0050] In response to detecting that the access frequency of an address segment is less than a second threshold, mark the access status of the address segment as a second status, and determine that the address segment is a target status address segment, where the first threshold is greater than the second threshold.

[0051] Here, the first threshold is an access frequency value used to distinguish hot data, and the second threshold is an access frequency value used to distinguish cold data. Among them, hot data is data with a high access frequency, and cold data is data with a low access frequency.

[0052] Here, the first status is the status of high access frequency, and the second status is the status of low access frequency.

[0053] Among them, the first threshold and the second threshold can be determined by collecting historical data and analyzing the historical data to determine the normal access frequency.

[0054] In one embodiment, a first sub-monitoring unit and a second sub-monitoring unit can be preset. The first sub-monitoring unit is used to detect whether the access frequency of an address segment is greater than the first threshold, and the second sub-monitoring unit is used to detect whether the access frequency of an address segment is less than the second threshold.

[0055] In one embodiment, the first sub-monitoring unit can be a CHMU (CXL Hotness Monitoring Unit), and the second sub-monitoring unit can be a CCMU (CXL Coldness Monitoring Unit).

[0056] In this way, it is possible to more efficiently monitor and manage address segments with different target statuses.

[0057] In some specific embodiments, an activity form is generated according to the access frequency, including:

[0058] In response to the access frequency of an address segment being greater than a third threshold, add the address segment to the activity form;

[0059] In response to the access frequency of an address segment being less than a third threshold, delete the address segment from the activity form.

[0060] Here, the third threshold is an access frequency value used to distinguish active address segments.

[0061] Among them, the third threshold can be greater than the second threshold or less than the second threshold, and the third threshold is greater than the first threshold.

[0062] In one embodiment, parameters in other dimensions can be combined to determine whether to add an address segment to the activity form, and the parameters can include user behavior, geographical location, time distribution, etc.

[0063] In this way, by updating the activity form in real time, the latest active address segments can be obtained.

[0064] In some specific embodiments, according to the access status of the target status address segment, the access information corresponding to the target status address segment is determined, including:

[0065] In response to the access status of the target status address segment being the first status, the access information corresponding to the target status address segment is obtained, and the access information is determined as the first access information;

[0066] In response to the access status of the target status address segment being the second status, the access information corresponding to the target status address segment is obtained, and the access information is determined as the second access information;

[0067] The access information is determined according to the first access information and the second access information.

[0068] Here, the access information can be stored in a register.

[0069] Among them, the storage device can be divided into a first sub-storage device and a second sub-storage device. The access information corresponding to the address segments whose access frequency monitored by the first sub-monitoring unit is greater than the first threshold is stored in the first sub-storage device, and the access information corresponding to the address segments whose access frequency monitored by the second sub-monitoring unit is less than the second threshold is stored in the second sub-storage device.

[0070] In this way, it is possible to avoid all information being mixed together, reduce the complexity of data search, and improve the query speed.

[0071] In some specific embodiments, according to the memory controller, the access status of the target address segment, and the activity form, the target memory module and the corresponding power consumption control instruction are determined, including:

[0072] In response to the access status of the target status address segment being the first status, the address segment of the memory controller corresponding to the target status address segment is obtained, where the address segment of the memory controller includes the memory module address segments of the memory modules carried by the memory controller;

[0073] The activity form is obtained, and the address segments in the activity form are determined;

[0074] According to the address segments in the activity form, it is determined whether the address segments in the activity form include any of the memory module address segments of the memory modules carried by the memory controller;

[0075] In response to the address segment in the activity form including the memory module address segment, determine the memory module corresponding to the memory module address segment;

[0076] Determine whether the power consumption of the memory module and the power consumption of the memory controller reach the upper limit;

[0077] In response to the power consumption of the memory module and the power consumption of the memory controller not reaching the upper limit, add the memory module to the first control list;

[0078] Determine whether there is an undetermined memory module in the memory controller;

[0079] In response to there being an undetermined memory module, return to determine whether the address segment in the activity form includes the address segment of any one of at least one memory module in the memory controller;

[0080] In response to there being no undetermined memory module, use the memory modules in the first control list as the target memory modules;

[0081] Determine a power consumption increase instruction according to the target memory module;

[0082] Use the power consumption increase instruction as the power consumption control instruction.

[0083] Here, the memory modules with high storage access frequencies in the first control list can be stored through the identifiers of the memory modules. The first control list is used to store the candidate control list.

[0084] Among them, the access state of the target state address segment is the first state, the device state of the corresponding memory controller is a hot device, and the power consumption control instruction is a power consumption increase instruction.

[0085] In one embodiment, the target memory module can be stored through the control list.

[0086] In one embodiment, Figure 2 is a schematic flowchart of the generation of a power consumption control instruction in an embodiment of the present application, as Figure 2As shown in the figure, the process of generating the power consumption control instruction in this application includes: S201: A hot device triggers an interrupt (i.e., the access status of the target state address segment is the first state); S202: Obtain the address segments of all memory modules under the memory controller; S203: Determine whether the address segment of the memory module appears on the activity list. When it appears on the activity list, execute S204. When it does not appear on the activity list, execute S207; S204: Determine whether the memory controller and the memory module reach the power consumption limit. When the memory module and / or the memory controller reach the power consumption limit, execute S206. When the memory module and the memory controller do not reach the power consumption limit, execute S205; S205: Add the memory module to the control list; S206: Determine whether there is an undetermined memory module. When there is, return to execute S203. When there is not, execute S207; S207: Increase the power consumption of the memory modules in the control list.

[0087] In this way, the performance of the system can be improved and the system resources can be allocated more effectively.

[0088] In some specific embodiments, according to the memory controller, the access status of the target address segment, and the activity list, determine the target memory module and the corresponding power consumption control instruction, including:

[0089] In response to the access status of the target state address segment being the second state, obtain the address segment of the memory controller corresponding to the target state address segment, where the address segment of the memory controller includes the memory module address segments of the memory modules carried by the memory controller;

[0090] Add at least one memory module of the memory controller to the second control list;

[0091] Obtain the activity list and determine the address segments in the activity list;

[0092] According to the address segments in the activity list, determine whether the address segments in the activity list include the memory module address segment of any memory module carried by the memory controller;

[0093] In response to the address segments in the activity list including the memory module address segment, determine the memory module corresponding to the memory module address segment according to the memory module address segment, and delete the memory module from the second control list;

[0094] Determine whether there is an undetermined memory module in the memory controller;

[0095] In response to there being an undetermined memory module, return to determine whether the address segments in the activity list include the address segment of the memory controller;

[0096] In response to there being no undetermined memory module, use the memory modules in the second control list as the target memory modules;

[0097] Determine a power consumption reduction instruction according to the target memory module;

[0098] Use the power consumption reduction instruction as the power consumption control instruction.

[0099] Among them, the access state of the target state address segment is the second state, the device state of the corresponding memory controller is a cold device, and the power consumption control instruction is a power consumption reduction instruction.

[0100] In one embodiment, Figure 3 is a schematic flowchart of another process for generating a power consumption control instruction in an embodiment of the present application. As Figure 3 shown, the process for generating a power consumption control instruction in the present application includes: S301: A cold device triggers an interrupt (that is, the access state of the target state address segment is the second state); S302: Add all memory modules under the memory controller to the control list; S303: Obtain the address segments of all memory modules connected under the memory controller; S304: Determine whether the activity form contains the address segments of all memory modules connected under the memory controller. If so, execute S305. If not, execute S308; S305: Identify which memory module among the memory modules connected under the memory controller the address segment of the memory module in the popular form belongs to; S306: Delete the memory module from the control list; S307: Whether there are undetermined memory modules. If so, return to execute S304. If not, execute S308; S308: Send a command to the controller to downclock the memory modules in the control list.

[0101] In this way, unnecessary resource waste can be avoided.

[0102] In some specific embodiments, according to the target memory module and the corresponding power consumption control instruction, adjusting the power consumption of the target memory module includes:

[0103] Send the target memory module and the power consumption control instruction to the memory controller. The power consumption control instruction includes a power consumption adjustment method;

[0104] The memory controller receives the target memory module and the power consumption control instruction;

[0105] The memory controller parses the power consumption control instruction to determine the power consumption adjustment method;

[0106] The memory controller performs power consumption control on the target memory module according to the power consumption adjustment method.

[0107] In this way, fine-grained management of specific memory modules rather than the entire memory controller can be achieved, the status of each memory module can be controlled more precisely, the system management can be made more refined, and the management efficiency can be improved.

[0108] In some specific embodiments, the method further includes:

[0109] In response to the access status of the target status address segment being the second status, obtain the activity form, match the address segments in the activity form with the address spaces of the memory segments in the memory controller, and obtain at least one active memory module in the memory controller;

[0110] Determine the storage space requirement according to at least one active memory module;

[0111] Obtain at least one memory controller in the first state, and determine whether the memory controller meets the storage space requirement;

[0112] When there is at least one memory controller that meets the storage space requirement, obtain the memory controller with the optimal performance, add the active memory module to the memory controller with the optimal performance, and turn off the memory controller in the second state.

[0113] Specifically, obtain the memory controller in the second state, transfer the active memory modules in the memory controller to the memory controller in the first state, and turn off the memory controller in the second state.

[0114] In this way, energy consumption can be saved, resource utilization can be improved, system performance can be enhanced, and at the same time, management and maintenance can be simplified.

[0115] In one embodiment, Figure 4 is a schematic diagram of the architecture in the embodiment of the present application. As Figure 4 shown, the architecture in the present application includes: a monitoring unit, an arbitration unit, and a memory pool unit. Among them, the monitoring unit and the memory pool unit communicate through CXL, the monitoring unit and the arbitration unit communicate through MMIO (Memory-Mapped I / O), and the arbitration unit and the memory pool unit communicate through I2C (Inter-Integrated Circuit) or UART (Universal Asynchronous Receiver / Transmitter).

[0116] Specifically, the monitoring unit includes a USP (Up Stream Port), a DSP (Down Stream Port), and a traffic monitoring interface. Among them, the traffic monitoring interface is used to monitor and manage the traffic of each DSP.

[0117] Specifically, the arbitration unit includes traffic monitoring software for obtaining traffic information in the traffic monitoring interface.

[0118] Specifically, the memory pool unit includes a memory controller and a memory module. The memory module communicates with the memory controller through DDR (Double Data Rate). The memory controller is used to control the memory module.

[0119] In one embodiment, Figure 5 is a schematic flow chart of an embodiment of the present application. As Figure 5 shown, the logic in the present application includes: the traffic monitoring interface discovers "cold / hot" devices and triggers an interrupt to the FM through MSI; the FM internally invokes traffic management software; the traffic management software sends a read request to the CHMU / CCMU interface register of the traffic monitoring interface through MMIO; the traffic management interface obtains the port numbers corresponding to the "cold / hot" devices and sends them to the traffic management software; the traffic management software performs power consumption arbitration to determine whether to trigger a power consumption control command for the "cold" device to reduce the power consumption of the device, or whether to increase the power consumption of the "hot" device to achieve a better access rate; and sends a power consumption control command to the memory controller.

[0120] It should be understood that although Figures 1 - 5 the steps in the flow chart of Figures 1 - 5 are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise clearly stated in this article, there is no strict order limit for the execution of these steps, and these steps can be executed in other orders. Moreover,

[0121] At least a part of the steps in

[0122] Embodiments of the present application also provide a memory power consumption control device, which includes: a monitoring module 601 for determining whether there is a target status address segment according to the access frequency of any address segment; a first processing module 602 for, in response to the existence of a target status address segment, determining access information corresponding to the target status address segment according to the access status of the target status address segment; a second processing module 603 for generating an activity form according to the access frequency; a third processing module 604 for determining a memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; a fourth processing module 605 for determining a target memory module and a corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form; and a control module 606 for adjusting the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0123] As a preferred embodiment, in the embodiments of the present application, the monitoring module 601 is specifically configured to: in response to monitoring that the access frequency of an address segment is greater than a first threshold, mark the access status of the address segment as a first status and determine the address segment as a target status address segment; in response to monitoring that the access frequency of an address segment is less than a second threshold, mark the access status of the address segment as a second status and determine the address segment as a target status address segment, where the first threshold is greater than the second threshold.

[0124] As a preferred embodiment, in the embodiments of the present application, the second processing module 603 is configured to: in response to the access frequency of an address segment being greater than a third threshold, add the address segment to the activity form; in response to the access frequency of an address segment being less than a third threshold, delete the address segment from the activity form.

[0125] As a preferred embodiment, in the embodiments of the present application, the first processing module 602 is specifically configured to: in response to the access status of the target status address segment being the first status, obtain the access information corresponding to the target status address segment and determine the access information as first access information; in response to the access status of the target status address segment being the second status, obtain the access information corresponding to the target status address segment and determine the access information as second access information; and determine the access information according to the first access information and the second access information.

[0126] As a preferred embodiment, in the embodiment of the present application, the fourth processing module 605 is specifically configured to: in response to the access status of the target status address segment being the first status, obtain the address segment of the memory controller corresponding to the target status address segment, where the address segment of the memory controller includes the memory module address segment of the memory modules carried by the memory controller; obtain the activity form and determine the address segments in the activity form; according to the address segments in the activity form, determine whether the address segments in the activity form include the memory module address segment of any one of the memory modules carried by the memory controller; in response to the address segments in the activity form including the memory module address segment, determine the memory module corresponding to the memory module address segment; determine whether the power consumption of the memory module and the power consumption of the memory controller reach the upper limit; in response to the power consumption of the memory module and the power consumption of the memory controller not reaching the upper limit, add the memory module to the first control list; determine whether there are undetermined memory modules in the memory controller; in response to the existence of undetermined memory modules, return to determine whether the address segments in the activity form include the address segment of any one of at least one memory module in the memory controller; in response to the non-existence of undetermined memory modules, use the memory modules in the first control list as the target memory modules; determine a power consumption increase instruction according to the target memory modules; use the power consumption increase instruction as the power consumption control instruction.

[0127] As a preferred embodiment, in the embodiment of the present application, the fourth processing module 605 is specifically configured to: in response to the access status of the target status address segment being the second status, obtain the address segment of the memory controller corresponding to the target status address segment, where the address segment of the memory controller includes the memory module address segment of the memory modules carried by the memory controller; add at least one memory module of the memory controller to the second control list; obtain the activity form and determine the address segments in the activity form; according to the address segments in the activity form, determine whether the address segments in the activity form include the memory module address segment of any one of the memory modules carried by the memory controller; in response to the address segments in the activity form including the memory module address segment, determine the memory module corresponding to the memory module address segment according to the memory module address segment and delete the memory module from the second control list; determine whether there are undetermined memory modules in the memory controller; in response to the existence of undetermined memory modules, return to determine whether the address segments in the activity form include the address segment of the memory controller; in response to the non-existence of undetermined memory modules, use the memory modules in the second control list as the target memory modules; determine a power consumption decrease instruction according to the target memory modules; use the power consumption decrease instruction as the power consumption control instruction.

[0128] As a preferred implementation, in the embodiments of the present application, the control module 606 is specifically configured to: send a target memory module and a power consumption control instruction to the memory controller, where the power consumption control instruction includes a power consumption adjustment method; the memory controller receives the target memory module and the power consumption control instruction; the memory controller parses the power consumption control instruction to determine the power consumption adjustment method; and the memory controller performs power consumption control on the target memory module according to the power consumption adjustment method.

[0129] For the descriptions of the features in the corresponding embodiments of the memory power consumption control device, reference can be made to the relevant descriptions of the corresponding embodiments of the memory power consumption control method, which will not be elaborated here one by one.

[0130] The embodiments of the present application further provide an electronic device, which may be a terminal, and its internal structural diagram may be as Figure 7 shown. The electronic device includes a processor, a memory, a network interface, a display screen, and an input device connected through a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the electronic device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, it implements a memory power consumption control method. The display screen of the electronic device may be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device may be a touch layer covering the display screen, or a button, a trackball, or a touchpad provided on the housing of the electronic device, or an external keyboard, a touchpad, or a mouse, etc.

[0131] Those skilled in the art can understand that Figure 7 the structure shown in

[0132] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented: S1: Determine whether there is a target status address segment according to the access frequency of any address segment; S2: In response to the existence of a target status address segment, determine the access information corresponding to the target status address segment according to the access status of the target status address segment; S3: Generate an activity form according to the access frequency; S4: Determine the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; S5: Determine the target memory module and the corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form; S6: Adjust the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0133] In one embodiment, when the processor executes the computer program, the following steps are further implemented: In response to monitoring that the access frequency of an address segment is greater than a first threshold, mark the access status of the address segment as a first status, and determine the address segment as a target status address segment; In response to monitoring that the access frequency of an address segment is less than a second threshold, mark the access status of the address segment as a second status, and determine the address segment as a target status address segment, where the first threshold is greater than the second threshold.

[0134] In one embodiment, when the processor executes the computer program, the following steps are further implemented: In response to the access frequency of an address segment being greater than a third threshold, add the address segment to the activity form; In response to the access frequency of an address segment being less than a third threshold, delete the address segment from the activity form.

[0135] In one embodiment, when the processor executes the computer program, the following steps are further implemented: In response to the access status of the target status address segment being the first status, obtain the access information corresponding to the target status address segment, and determine the access information as first access information; In response to the access status of the target status address segment being the second status, obtain the access information corresponding to the target status address segment, and determine the access information as second access information; Determine the access information according to the first access information and the second access information.

[0136] In one embodiment, when the processor executes a computer program, the following steps are further implemented: in response to the access status of the target status address segment being the first status, obtain the address segment of the memory controller corresponding to the target status address segment, where the address segment of the memory controller includes the memory module address segment of the memory modules carried by the memory controller; obtain an activity form, and determine the address segments in the activity form; according to the address segments in the activity form, determine whether the address segments in the activity form include the memory module address segment of any of the memory modules carried by the memory controller; in response to the address segments in the activity form including the memory module address segment, determine the memory module corresponding to the memory module address segment; determine whether the power consumption of the memory module and the power consumption of the memory controller reach the upper limit; in response to the power consumption of the memory module and the power consumption of the memory controller not reaching the upper limit, add the memory module to the first control list; determine whether there are unjudged memory modules in the memory controller; in response to there being unjudged memory modules, return to determine whether the address segments in the activity form include the address segment of any of at least one memory module in the memory controller; in response to there being no unjudged memory modules, use the memory modules in the first control list as target memory modules; determine a power consumption increase instruction according to the target memory modules; use the power consumption increase instruction as a power consumption control instruction.

[0137] In one embodiment, when the processor executes a computer program, the following steps are further implemented: in response to the access status of the target status address segment being the second status, obtain the address segment of the memory controller corresponding to the target status address segment, where the address segment of the memory controller includes the memory module address segment of the memory modules carried by the memory controller; add at least one memory module of the memory controller to the second control list; obtain an activity form, and determine the address segments in the activity form; according to the address segments in the activity form, determine whether the address segments in the activity form include the memory module address segment of any of the memory modules carried by the memory controller; in response to the address segments in the activity form including the memory module address segment, determine the memory module corresponding to the memory module address segment according to the memory module address segment, and delete the memory module from the second control list; determine whether there are unjudged memory modules in the memory controller; in response to there being unjudged memory modules, return to determine whether the address segments in the activity form include the address segment of the memory controller; in response to there being no unjudged memory modules, use the memory modules in the second control list as target memory modules; determine a power consumption decrease instruction according to the target memory modules; use the power consumption decrease instruction as a power consumption control instruction.

[0138] In one embodiment, when the processor executes a computer program, the following steps are further implemented: send the target memory module and the power consumption control instruction to the memory controller, where the power consumption control instruction includes a power consumption adjustment method; the memory controller receives the target memory module and the power consumption control instruction; the memory controller parses the power consumption control instruction to determine the power consumption adjustment method; the memory controller performs power consumption control on the target memory module according to the power consumption adjustment method.

[0139] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented: S1: Determine whether there is a target status address segment according to the access frequency of any address segment; S2: In response to the existence of the target status address segment, determine the access information corresponding to the target status address segment according to the access status of the target status address segment; S3: Generate an activity form according to the access frequency; S4: Determine the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; S5: Determine the target memory module and the corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form; S6: Adjust the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

[0140] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: In response to monitoring that the access frequency of the address segment is greater than the first threshold, mark the access status of the address segment as the first status, and determine that the address segment is the target status address segment; In response to monitoring that the access frequency of the address segment is less than the second threshold, mark the access status of the address segment as the second status, and determine that the address segment is the target status address segment, where the first threshold is greater than the second threshold.

[0141] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: In response to the access frequency of the address segment being greater than the third threshold, add the address segment to the activity form; In response to the access frequency of the address segment being less than the third threshold, delete the address segment from the activity form.

[0142] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: In response to the access status of the target status address segment being the first status, obtain the access information corresponding to the target status address segment, and determine the access information as the first access information; In response to the access status of the target status address segment being the second status, obtain the access information corresponding to the target status address segment, and determine the access information as the second access information; Determine the access information according to the first access information and the second access information.

[0143] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: in response to the access status of the target status address segment being the first status, obtain the address segment of the memory controller corresponding to the target status address segment, where the address segment of the memory controller includes the memory module address segments of the memory modules carried by the memory controller; obtain an activity form, and determine the address segments in the activity form; according to the address segments in the activity form, determine whether the address segments in the activity form include the memory module address segment of any one of the memory modules carried by the memory controller; in response to the address segments in the activity form including the memory module address segment, determine the memory module corresponding to the memory module address segment; determine whether the power consumption of the memory module and the power consumption of the memory controller reach the upper limit; in response to the power consumption of the memory module and the power consumption of the memory controller not reaching the upper limit, add the memory module to the first control list; determine whether there are unjudged memory modules in the memory controller; in response to there being unjudged memory modules, return to determine whether the address segments in the activity form include the address segment of any one of at least one memory module in the memory controller; in response to there being no unjudged memory modules, use the memory modules in the first control list as target memory modules; determine a power consumption increase instruction according to the target memory modules; use the power consumption increase instruction as a power consumption control instruction.

[0144] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: in response to the access status of the target status address segment being the second status, obtain the address segment of the memory controller corresponding to the target status address segment, where the address segment of the memory controller includes the memory module address segments of the memory modules carried by the memory controller; add at least one memory module of the memory controller to the second control list; obtain an activity form, and determine the address segments in the activity form; according to the address segments in the activity form, determine whether the address segments in the activity form include the memory module address segment of any one of the memory modules carried by the memory controller; in response to the address segments in the activity form including the memory module address segment, determine the memory module corresponding to the memory module address segment according to the memory module address segment, and delete the memory module from the second control list; determine whether there are unjudged memory modules in the memory controller; in response to there being unjudged memory modules, return to determine whether the address segments in the activity form include the address segment of the memory controller; in response to there being no unjudged memory modules, use the memory modules in the second control list as target memory modules; determine a power consumption decrease instruction according to the target memory modules; use the power consumption decrease instruction as a power consumption control instruction.

[0145] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: send a target memory module and a power consumption control instruction to the memory controller, where the power consumption control instruction includes a power consumption adjustment method; the memory controller receives the target memory module and the power consumption control instruction; the memory controller parses the power consumption control instruction to determine the power consumption adjustment method; the memory controller performs power consumption control on the target memory module according to the power consumption adjustment method.

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

[0147] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered to be within the scope described in this specification.

[0148] The above embodiments only represent several implementation manners of the present application, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application should be subject to the appended claims.

Claims

1. A method for controlling memory power consumption, characterized in that, The method includes: Determining whether there is a target status address segment according to the access frequency of any address segment; In response to the existence of a target status address segment, determining the access information corresponding to the target status address segment according to the access status of the target status address segment; Generating an activity form according to the access frequency; Determining the memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; Determining a target memory module and a corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form; Adjusting the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

2. The memory power consumption control method according to claim 1, wherein The determining whether there is a target status address segment according to the access frequency of any address segment includes: In response to detecting that the access frequency of the address segment is greater than a first threshold, marking the access status of the address segment as a first status and determining the address segment as a target status address segment; In response to detecting that the access frequency of the address segment is less than a second threshold, marking the access status of the address segment as a second status and determining the address segment as a target status address segment, where the first threshold is greater than the second threshold.

3. The memory power consumption control method according to claim 2, wherein The generating an activity form according to the access frequency includes: In response to the access frequency of the address segment being greater than a third threshold, adding the address segment to the activity form; In response to the access frequency of the address segment being less than the third threshold, deleting the address segment from the activity form.

4. The memory power consumption control method according to claim 1, characterized in that, The determining the access information corresponding to the target status address segment according to the access status of the target status address segment includes: In response to the access status of the target status address segment being the first status, obtaining the access information corresponding to the target status address segment and determining the access information as first access information; In response to the access status of the target status address segment being the second status, obtaining the access information corresponding to the target status address segment and determining the access information as second access information; Determining the access information according to the first access information and the second access information.

5. The memory power consumption control method according to claim 3, wherein The determining a target memory module and a corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form includes: In response to the access status of the target status address segment being the first status, obtaining the address segment of the memory controller corresponding to the target status address segment, where the address segment of the memory controller includes the memory module address segments of the memory modules carried by the memory controller; Obtaining the activity form and determining the address segments in the activity form; Judging whether the address segments in the activity form include the memory module address segments of any of the memory modules carried by the memory controller according to the address segments in the activity form; In response to the address segments in the activity form including memory module address segments, determining the memory module corresponding to the memory module address segments; Judging whether the power consumption of the memory module and the power consumption of the memory controller reach the upper limit; In response to the power consumption of the memory module and the power consumption of the memory controller not reaching the upper limit, add the memory module to the first control list; Determine whether there is an undetermined memory module in the memory controller; In response to the existence of an undetermined memory module, return to determine whether the address segment in the activity form includes the address segment of any memory module among at least one memory module of the memory controller; In response to the non-existence of an undetermined memory module, use the memory modules in the first control list as the target memory modules; Determine a power consumption increase instruction according to the target memory modules; Use the power consumption increase instruction as the power consumption control instruction.

6. The memory power consumption control method according to claim 3, wherein The determining the target memory module and the corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form includes: In response to the access status of the target status address segment being the second status, obtain the address segment of the memory controller corresponding to the target status address segment, where the address segment of the memory controller includes the memory module address segments of the memory modules carried by the memory controller; Add at least one memory module of the memory controller to the second control list; Obtain the activity form and determine the address segments in the activity form; According to the address segments in the activity form, determine whether the address segments in the activity form include the memory module address segment of any memory module carried by the memory controller; In response to the address segments in the activity form including memory module address segments, determine the memory modules corresponding to the memory module address segments according to the memory module address segments, and delete the memory modules from the second control list; Determine whether there is an undetermined memory module in the memory controller; In response to the existence of an undetermined memory module, return to determine whether the address segments in the activity form include the address segment of the memory controller; In response to the non-existence of an undetermined memory module, use the memory modules in the second control list as the target memory modules; Determine a power consumption decrease instruction according to the target memory modules; Use the power consumption decrease instruction as the power consumption control instruction.

7. The memory power consumption control method according to claim 1, characterized in that The adjusting the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction includes: Send the target memory module and the power consumption control instruction to the memory controller, and the power consumption control instruction includes a power consumption adjustment method; The memory controller receives the target memory module and the power consumption control instruction; The memory controller analyzes the power consumption control instruction to determine the power consumption adjustment method; The memory controller performs power consumption control on the target memory module according to the power consumption adjustment method.

8. A memory power consumption control device, the device includes: A monitoring module, configured to determine whether there is a target status address segment according to the access frequency of any address segment; A first processing module, configured to, in response to the existence of a target status address segment, determine the access information corresponding to the target status address segment according to the access status of the target status address segment; A second processing module, configured to generate an activity form according to the access frequency; A third processing module, configured to determine a memory controller corresponding to the address segment according to the access information, where the memory controller corresponds to at least one memory module; A fourth processing module, configured to determine a target memory module and a corresponding power consumption control instruction according to the memory controller, the access status of the target address segment, and the activity form; A control module, configured to adjust the power consumption of the target memory module according to the target memory module and the corresponding power consumption control instruction.

9. An electronic device, characterized in that, Comprising: A memory, configured to store a computer program; A processor, configured to implement the steps of the memory power consumption control method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, where the computer program implements the steps of the memory power consumption control method according to any one of claims 1 to 7 when executed by a processor.