Systems and methods for memory power saving via kernel steering to memory balloons
AssigneeQUALCOMM Incorporated
InventorsYanru Li, Larry Bassel, Thomas Zeng, Dexter Chun
Life of this patent
Estimating the term…
Abstract
Systems, methods, and computer programs are disclosed for reducing memory power consumption. An exemplary method comprises configuring a power saving memory balloon associated with a volatile memory. Memory allocations are steered to the power saving memory balloon. In response to initiating a memory power saving mode, data is migrated from the power saving memory balloon. A power saving feature is executed on the power saving memory balloon while in the memory power saving mode.
Claims30
A method for reducing memory power consumption in a volatile memory, the method comprising:
- configuring a plurality of power saving memory balloons associated with the volatile memory;
- steering memory allocations to the plurality of power saving memory balloons, the memory allocations including movable pages migratable to other power saving memory balloons and non-movable pages not migratable to other power saving memory balloons;
- in response to initiating a memory power saving mode, determining which of the plurality of power saving memory balloons is preferred over others of the plurality of power saving memory balloons to execute a memory power saving feature on, wherein the determination is based at least in part on whether a power saving memory balloon is allocated one or more non-movable pages;
- cleaning up data from the preferred power saving memory balloon;
- and
- executing the memory power saving feature on the preferred power saving memory balloon while in the memory power saving mode.
A system for reducing memory power consumption in a volatile memory, the system comprising:
- means for configuring a plurality of power saving memory balloons associated with the volatile memory;
- means for steering memory allocations to the plurality of power saving memory balloons the memory allocations including movable pages migratable to other power saving memory balloons and non-movable pages not migratable to other power saving memory balloons;
- means for, in response to initiating a memory power saving mode, determining which of the plurality of power saving memory balloons is preferred over others of the plurality of power saving memory balloons to execute a memory power saving feature on, wherein the determination is based at least in part on whether a power saving memory balloon is allocated one or more non-movable pages;
- means for migrating data from the preferred power saving memory balloon;
- and
- means for executing the memory power saving feature on the preferred power saving memory balloon while in the memory power saving mode.
A system for reducing memory power consumption, the system comprising:
- a volatile random access memory;
- and
- a system on chip (SoC) comprising a memory controller and a kernel memory manager, the memory controller electrically coupled to the volatile random access memory, and the kernel memory manager comprising logic configured to:
- configure a plurality of power saving memory balloons associated with the volatile memory;
- steer memory allocations to the plurality of power saving memory balloons, the memory allocations including movable pages migratable to other power saving memory balloons and non-movable pages not migratable to other power saving memory balloons;
- in response to initiating a memory power saving mode, determine which of the plurality of power saving memory balloons is preferred over others of the plurality of power saving memory balloons to execute a memory power saving feature on, wherein the determination is based at least in part on whether a power saving memory balloon is allocated one or more non-movable pages;
- migrate data from the preferred power saving memory balloon;
- and
- execute the memory power saving feature on the preferred power saving memory balloon while in the memory power saving mode.
A computer program embodied in a non-transitory computer readable medium and executed by a processor for reducing memory power consumption in a volatile memory, the computer program comprising logic configured to:
- configure a plurality of power saving memory balloons associated with the volatile memory;
- steer memory allocations to the plurality of power saving memory balloons, the memory allocations including movable pages migratable to other power saving memory balloons and non-movable pages not migratable to other power saving memory balloons;
- in response to initiating a memory power saving mode, determine which of the plurality of power saving memory balloons is preferred over others of the plurality of power saving memory balloons to execute a memory power saving feature on, wherein the determination is based at least in part on whether a power saving memory balloon is allocated one or more non-movable pages;
- migrate data from the preferred power saving memory balloon;
- and
- execute the memory power saving feature on the preferred power saving memory balloon while in the memory power saving mode.
Dependencies are inferred from the claim text.