# US 2018/0321865 A1 · Configurable low memory modes for reduced power consumption

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0321865 A1
- Document ID: US20180321865A1
- Status: Published application
- Kind: A1
- Application number: 15/589,581
- Filed: 2017-05-08
- Published: 2018-11-08
- Earliest claimed: 2017-05-08
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Gabriel Allen WATKINS; Albert Chee-Ming CHEUNG; Leonard WIDRA; Venkateshwar JUNNUTHULLA; Selvaraj JAIKUMAR; Mahesh Dandapani IYER; Eugen PIRVU; Chad KARAGINIDES
- Web page: https://patentgrep.com/patent/US20180321865A1

## CPC

- G06F 3/0632: {by initialisation or re-initialisation of storage systems}
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/3228: Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
- G06F 1/3275: {Power saving in memory, e.g. RAM, cache}
- G06F 3/0625: {Power saving in storage systems}
- G06F 3/0634: {by changing the state or mode of one or more devices}
- G06F 3/0673: {Single storage device}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Certain aspects of the present disclosure provide apparatus and techniques for configuring memory in an effort to reduce power consumption. For example, certain aspects of the present disclosure may provide an apparatus having a processing system configured to determine an operating mode of an application executing on the processing system. The operating mode may be one of a plurality of operating modes of the application, and each operating mode of the plurality of operating modes may correspond to a different configuration of memory. In certain aspects, the configurations of memory may correspond to different portions of memory that are active or inactive. In certain aspects, the apparatus may also include a memory control module configured to configure the memory based on the determined operating mode of the application.

## Claims

### Claim 1

An apparatus, comprising:
a processing system configured to determine an operating mode of an application executing on the processing system, the operating mode being one of a plurality of operating modes of the application, wherein each operating mode of the plurality of operating modes corresponds to a different configuration of memory, the configurations of memory corresponding to different portions of memory that are active or inactive; and
a memory control module configured to configure the memory based on the determined operating mode of the application.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the application comprises a plurality of operations, wherein in each of the operating modes, different operations of the plurality of operations are placed in different states corresponding to one of the memory configurations.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the processing system is further configured to determine a service to be provided by the apparatus, wherein the operating mode is determined based on the service.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the operating mode comprises a full operating mode (FOM), wherein the FOM corresponds to a configuration of memory where portions of the memory corresponding to multiple operations are active.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein:
the processing system is configured to determine another operating mode; and
the apparatus comprises a transition module configured to transition between a first memory configuration corresponding to the operating mode and a second memory configuration corresponding to the other operating mode.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein transitioning between the first memory configuration and the second memory configuration comprises deactivating a portion of the memory corresponding to the first memory configuration.

### Claim 7 (depends on 5)

The apparatus of claim 5, wherein transitioning between the first memory configuration and the second memory configuration comprises configuring a portion of the memory corresponding to the first memory configuration in a state where code for the operating mode is stored in the portion of the memory, but is inactive.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the different configurations comprise at least one configuration where only an always on (AON) portion of memory is active.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein the operating mode is determined based on a latency requirement of the application.

### Claim 10 (depends on 1)

The apparatus of claim 1, wherein a portion of the memory is shared between the different operating modes.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the shared portion comprises a heap portion of the memory.

### Claim 12 (depends on 1)

The apparatus of claim 1, wherein the memory control module is configured to activate or inactivate one or more drivers based on the determined operating mode.

### Claim 13 (depends on 1)

The apparatus of claim 1, wherein the processing system is further configured to convert software to operate within confines of at least one of the memory configurations.

### Claim 14

A method for configuring memory, comprising:
determining an operating mode of an application executing on a processing system, the operating mode being one of a plurality of operating modes of the application, wherein each operating mode of the plurality of operating modes corresponds to a different configuration of memory, the configurations of memory corresponding to different portions of memory that are active or inactive; and
configuring the memory based on the determined operating mode of the application.

### Claim 15 (depends on 14)

The method of claim 14, wherein the application comprises a plurality of operations, wherein in each of the operating modes, different operations of the plurality of operations are placed in different states corresponding to one of the memory configurations.

### Claim 16 (depends on 14)

The method of claim 14, further comprising determining a service to be provided, wherein the operating mode is determined based on the service.

### Claim 17 (depends on 14)

The method of claim 14, wherein the operating mode comprises a full operating mode (FOM), wherein the FOM corresponds to a configuration of memory where portions of the memory corresponding to multiple operations are active.

### Claim 18 (depends on 14)

The method of claim 14, further comprising:
determining another operating mode; and
transitioning between a first memory configuration corresponding to the operating mode and a second memory configuration corresponding to the other operating mode.

### Claim 19 (depends on 18)

The method of claim 18, wherein transitioning between the first memory configuration and the second memory configuration comprises deactivating a portion of the memory corresponding to the first memory configuration.

### Claim 20 (depends on 18)

The method of claim 18, wherein transitioning between the first memory configuration and the second memory configuration comprises configuring a portion of the memory corresponding to the first memory configuration in a state where code for the operating mode is stored in the portion of the memory, but is inactive.

### Claim 21 (depends on 14)

The method of claim 14, wherein the different configurations comprise at least one configuration where only an always on (AON) portion of memory is active.

### Claim 22 (depends on 14)

The method of claim 14, wherein the operating mode is determined based on a latency requirement of the application.

### Claim 23 (depends on 14)

The method of claim 14, wherein a portion of the memory is shared between the different operating modes.

### Claim 24 (depends on 23)

The method of claim 23, wherein the shared portion comprises a heap portion of the memory.

### Claim 25 (depends on 14)

The method of claim 14, further comprising activating or deactivating one or more drivers based on the determined operating mode.

### Claim 26 (depends on 14)

The method of claim 14, wherein the processing system is further configured to convert software to operate within confines of at least one of the memory configurations.

### Claim 27

An apparatus for configuring memory, comprising:
means for determining an operating mode of an application executing on the means for determining, the operating mode being one of a plurality of operating modes of the application, wherein each operating mode of the plurality of operating modes corresponds to a different configuration of memory, the configurations of memory corresponding to different portions of memory that are active or inactive; and
means for configuring the memory based on the determined operating mode of the application.

### Claim 28

A non-transitory computer-readable medium having instructions stored thereon for:
determining an operating mode of an application executing on a processing system, the operating mode being one of a plurality of operating modes of the application, wherein each operating mode of the plurality of operating modes corresponds to a different configuration of memory, the configurations of memory corresponding to different portions of memory that are active or inactive; and
configuring the memory based on the determined operating mode of the application.
