P
US8392736B2ActiveUtilityPatentIndex 78

Managing memory power usage

Assignee: VADEN THOMAS LPriority: Jul 31, 2009Filed: Jul 31, 2009Granted: Mar 5, 2013
Est. expiryJul 31, 2029(~3.1 yrs left)· nominal 20-yr term from priority
Inventors:VADEN THOMAS L
G06F 1/3275G06F 11/3055G06F 1/3287Y02D30/50Y02D10/00G06F 1/3225G06F 11/3037
78
PatentIndex Score
7
Cited by
19
References
21
Claims

Abstract

Methods of method of managing memory power usage in a computing device having two or more memory modules. By monitoring a system working set size of the computing device, a determination can be made if all active memory modules are needed for the system working set size. If not all active memory modules are needed for the system working set size, one or more of the active memory modules can be selected for power down. By evacuating data from the selected one or more memory modules, placing the evacuated one or more memory modules in a power-down state, and removing the powered-down memory modules from the active memory of the computing device, memory power usage can be reduced.

Claims

exact text as granted — not AI-modified
1. A method of managing memory power usage in a computing device having two or more memory modules, comprising:
 monitoring a system working set size of the computing device; 
 determining if all active memory modules are needed for the system working set size in response to at least the system working set size, a size of total active physical memory of the active memory modules, and sizes of one or more of the active memory modules; 
 if not all active memory modules are needed for the system working set size:
 selecting one or more of the active memory modules for power-down; 
 evacuating data from the selected one or more memory modules; 
 placing the evacuated one or more memory modules in a power-down state; and 
 removing the powered-down memory modules from the active memory of the computing device. 
 
 
     
     
       2. The method of  claim 1 , wherein monitoring the system working set size comprises monitoring one or more system counters of an operating system of the computing device. 
     
     
       3. The method of  claim 1 , wherein determining if all active memory modules are needed for the system working set size comprises comparing the difference between the size of the total active physical memory of the active memory modules and the system working set size to the size of a smallest active memory module of the computing device. 
     
     
       4. The method of  claim 1 , wherein determining if all active memory modules are needed for the system working set size comprises adding a threshold value to the system working set size. 
     
     
       5. The method of  claim 4 , wherein adding a threshold value to the system working set size comprises adding a non-zero threshold value to the system working set size. 
     
     
       6. The method of  claim 1 , wherein selecting one or more of the active memory modules for power-down comprises selecting a smallest active memory module of the computing device. 
     
     
       7. The method of  claim 1 , wherein selecting one or more of the active memory modules for power-down comprises selecting a largest number of active memory modules whose combined size is less than a difference between the size of the total active physical memory of the active memory modules and a sum of the system working set size and a threshold value. 
     
     
       8. The method of  claim 1 , wherein evacuating data from the selected one or more memory modules comprises copying data from the selected one or more memory modules to one or more memory modules of the computing device not selected for power-down. 
     
     
       9. The method of  claim 1 , wherein placing the evacuated one or more memory modules in a power-down state comprises removing power from the evacuated one or more memory modules. 
     
     
       10. The method of  claim 1 , further comprising:
 monitoring memory usage of the computing device; 
 determining if additional active memory modules are desired; 
 selecting one or more powered-down memory modules of the computing device to restore; 
 waking the selected one or more powered-down memory modules; and 
 restoring the awakened one or more memory modules to the active memory of the computing device. 
 
     
     
       11. The method of  claim 10 , wherein monitoring memory usage of the computing device comprises monitoring the system working set size of the computing device. 
     
     
       12. The method of  claim 10 , wherein monitoring memory usage of the computing device comprises monitoring a page fault rate of the computing device. 
     
     
       13. The method of  claim 10 , wherein monitoring memory usage of the computing device is performed in response to placing the evacuated one or more memory modules in a power-down state. 
     
     
       14. The method of  claim 10 , wherein monitoring memory usage of the computing device is performed concurrently with monitoring a system working set size of the computing device regardless of whether any memory modules of the computing device are in a power-down state. 
     
     
       15. The method of  claim 1 , wherein monitoring a system working set size of the computing device comprises estimating the system working set size based on memory activity and resource allocation policies of the computing device. 
     
     
       16. A non-transitory computer-usable storage media containing machine-readable instructions adapted to cause a processor to perform a method, the method comprising:
 monitoring a system working set size of a computing device containing the processor; 
 determining if all active memory modules of the computing device are needed for the 
 
       system working set size in response to at least the system working set size, a size of total active physical memory of the active memory modules, and sizes of one or more of the active memory modules;
 if not all active memory modules of the computing device are needed for the system 
 
       working set size:
 selecting one or more of the active memory modules for power-down; 
 evacuating data from the selected one or more memory modules; 
 placing the evacuated one or more memory modules in a power-down state; and 
 removing the powered-down memory modules from the active memory of the computing device. 
 
     
     
       17. The non-transitory computer-usable storage media of  claim 16 , wherein the method further comprises:
 monitoring memory usage of the computing device; 
 determining if additional active memory modules are desired; 
 selecting one or more powered-down memory modules of the computing device to restore; 
 waking the selected one or more powered-down memory modules; and 
 restoring the awakened one or more memory modules to the active memory of the computing device. 
 
     
     
       18. The non-transitory computer-usable storage media of  claim 17 , wherein the machine-readable instructions are adapted to cause a processor to perform monitoring the memory usage of the computing device in response to placing the evacuated one or more memory modules in a power-down state. 
     
     
       19. A computing device, comprising:
 a processor; 
 two or more memory modules in communication with the processor; and 
 computer-usable storage media containing machine-readable instructions adapted to cause the processor to perform a method, the method comprising:
 monitoring a system working set size of the computing device; 
 determining if all active memory modules of the computing device are needed for the system working set size in response to at least the system working set size, a size of total active physical memory of the active memory modules, and sizes of one or more of the active memory modules; 
 if not all active memory modules of the computing device are needed for the system working set size:
 selecting one or more of the active memory modules for power-down; 
 evacuating data from the selected one or more memory modules; 
 placing the evacuated one or more memory modules in a power-down state; and 
 removing the powered-down memory modules from the active memory of the computing device. 
 
 
 
     
     
       20. The computing device of  claim 19 , wherein the method further comprises:
 monitoring memory usage of the computing device; 
 determining if additional active memory modules are desired; 
 selecting one or more powered-down memory modules of the computing device to restore; 
 waking the selected one or more powered-down memory modules; and 
 restoring the awakened one or more memory modules to the active memory of the computing device. 
 
     
     
       21. The computing device of  claim 20 , wherein the monitoring the memory usage of the computing device is performed in response to placing the evacuated one or more memory modules in a power-down state.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.