IP Library Granted Patent US 8,392,736
Granted Patent B2
US 8,392,736 · App. 12/533,849 · Granted Mar 5, 2013

Managing memory power usage

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,392,736
App. No.
12/533,849
Granted
Mar 5, 2013
Kind
B2
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 (62)

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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 058897/0262 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →