# US 2025/0093941 A1 · Performance-aware smart framework to improve cpu power efficiency in static display read mode

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

- Number: US 2025/0093941 A1
- Document ID: US20250093941A1
- Status: Published application
- Kind: A1
- Application number: 18/841,343
- Filed: 2022-04-24
- Published: 2025-03-20
- Earliest claimed: 2022-04-24
- Assignees: QUALCOMM Incorporated
- Applicants: Qualcomm Incorporated
- Inventors: Karthik RANGARAJU; Wangling ZHANG
- Web page: https://patentgrep.com/patent/US20250093941A1

## CPC

- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/3293: by switching to a less power-consuming processor, e.g. sub-CPU
- G06F 1/3243: {Power saving in microcontroller unit}
- G06F 1/3287: by switching off individual functional units in the computer system
- G06F 1/329: by task scheduling
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- 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

Systems, methods and computer-readable mediums may reduce CPU power costs in a portable computing device (PCD). When logic of the PCD determines that the PCD enters a static display read mode while running an App or an Internet web browser, it determines (1) if display key performance indicator (KPI) headroom of the PCD indicates that cost-saving actions can be performed without degrading visual performance and (2) if there is an active display buffer submission. If the answer to (1) is yes and (2) is no, the logic analyzes hysteresis statistics associated with the CPU entering and exiting low power mode (LPM) to calculate a total number of CPU LPM entries and exits during a preselected time window. The total number is compared to a preselected threshold (TH) value and one or more power cost-saving actions are performed if the total number exceeds the preselected TH value.

## Claims

### Claim 1

A system for reducing central processing unit (CPU) power costs in a portable computing device (PCD), the system comprising:
logic disposed on an integrated circuit (IC) chip of the PCD, the logic being configured to:
determine if the PCD enters a static display read mode while running a mobile device software application program (App) or Internet web browser operating in reader mode, and if so:
determine (1) if a display key performance indicator (KPI) headroom of the PCD indicates that one or more cost-saving actions can be performed without degrading visual performance of a display of the PCD and (2) if there is an active display buffer submission;
if it is determined that display KPI headroom indicates that one or more cost-saving actions can be performed without degrading visual performance and that there is no active display buffer submission:
analyze hysteresis statistics associated with the CPU entering a low power mode (LPM) and exiting the LPM to calculate a total number of LPM entries and exits equal to a number of times the CPU enters the LPM during a preselected time window plus a number of times that CPU exits the LPM during the time window; and
compare the total number to a first preselected threshold (TH) value and perform one or more power cost-saving actions if the total number exceeds the first preselected TH value.

### Claim 2 (depends on 1)

The system of claim 1, wherein performing said one or more power cost-saving actions comprises at least one of:
limiting a total number of cores of the CPU that are allowed to be utilized by the App or Internet web browser operating in reader mode to a limited number of CPU cores;
of the limited number of CPU cores, enabling one or more of the CPU cores such that the enabled one or more CPU cores are available to utilized by the App or Internet web browser operating in reader mode; and
limiting a total number of times at least one enabled CPU core is allowed to enter and exit LPM.

### Claim 3 (depends on 2)

The system of claim 2, wherein the step of limiting the total number of times at least one enabled CPU core is allowed to enter and exit LPM is performed by disabling LPM in said at least one enabled CPU core.

### Claim 4 (depends on 3)

The system of claim 3, wherein the step of limiting the total number of cores of the CPU that are allowed to be utilized by the App or Internet web browser operating in reader mode is performed by:
setting a minimum number of CPU cores that are needed by the App or Internet web browser to operate in static display read mode without degrading performance to a level that is visually perceivable by a user of the PCD; and
setting a maximum number of CPU cores that may be needed by the App or Internet web browser to operate in static display read mode to ensure that performance will not degrade to a level that is visually perceivable by the user of the PCD.

### Claim 5 (depends on 4)

The system of claim 4, wherein the step of enabling one or more of the CPU cores is performed by:
of the limited number of CPU cores, selecting the minimum number of CPU cores to be enabled based on one or more criteria; and
enabling the selected minimum number of CPU cores.

### Claim 6 (depends on 5)

The system of claim 5, wherein said one or more criteria include a ranking of each of the limited number of CPU cores in terms of power cost selecting the minimum number of CPU cores to be enabled based on the respective rankings.

### Claim 7 (depends on 5)

The system of claim 5, wherein said one or more criteria include a ranking of each of the limited number of CPU cores in terms of at least one of current workload, current demand and current utilization reported by a scheduler of the App or Internet web browser.

### Claim 8 (depends on 4)

The system of claim 4, wherein the step of disabling LPM in said at least one enabled CPU core comprises:
comparing the total number of LPM entries and exits to a second TH value;
selecting one or more enabled CPU cores for which LPM will be disabled based on the comparison of the total number of LPM entries and exits to the second TH value; and
disabling LPM in the selected one or more enabled CPU cores.

### Claim 9 (depends on 8)

The system of claim 8, wherein the second TH value is set based on an estimation for each CPU core of a respective power penalty associated with LPM entries and exits of the respective CPU core.

### Claim 10

A method for reducing central processing unit (CPU) power costs in a portable computing device (PCD), the method comprising, in logic disposed on an integrated circuit (IC) chip of the PCD:
determining if the PCD enters a static display read mode while running a mobile device software application program (App) or Internet web browser operating in reader mode, and if so:
determining (1) if a display key performance indicator (KPI) headroom of the PCD indicates that one or more cost-saving actions can be performed without degrading visual performance of a display of the PCD and (2) if there is an active display buffer submission;
if it is determined that display KPI headroom indicates that one or more cost-saving actions can be performed without degrading visual performance and that there is no active display buffer submission:
analyzing hysteresis statistics associated with the CPU entering a low power mode (LPM) and exiting the LPM to calculate a total number of LPM entries and exits equal to a number of times the CPU enters the LPM during a preselected time window plus a number of times that CPU exits the LPM during the time window; and
comparing the total number to a first preselected threshold (TH) value and performing one or more power cost-saving actions if the total number exceeds the first preselected TH value.

### Claim 11 (depends on 10)

The method of claim 10, wherein performing said one or more power cost-saving actions comprises at least one of:
limiting a total number of cores of the CPU that are allowed to be utilized by the App or Internet web browser operating in reader mode to a limited number of CPU cores;
of the limited number of CPU cores, enabling one or more of the CPU cores such that the enabled one or more CPU cores are available to utilized by the App or Internet web browser operating in reader mode; and
limiting a total number of times at least one enabled CPU core is allowed to enter and exit LPM.

### Claim 12 (depends on 11)

The method of claim 11, wherein the step of limiting the total number of times at least one enabled CPU core is allowed to enter and exit LPM comprises:
disabling LPM in said at least one enabled CPU core.

### Claim 13 (depends on 12)

The method of claim 12, wherein the step of limiting the total number of cores of the CPU that are allowed to be utilized by the App or Internet web browser operating in reader mode comprises:
setting a minimum number of CPU cores that are needed by the App or Internet web browser to operate in static display read mode without degrading performance to a level that is visually perceivable by a user of the PCD; and
setting a maximum number of CPU cores that may be needed by the App or Internet web browser to operate in static display read mode to ensure that performance will not degrade to a level that is visually perceivable by the user of the PCD.

### Claim 14 (depends on 13)

The method of claim 13, wherein the step of enabling one or more of the CPU cores comprises:
of the limited number of CPU cores, selecting the minimum number of CPU cores to be enabled based on one or more criteria; and
enabling the selected minimum number of CPU cores.

### Claim 15 (depends on 14)

The method of claim 14, wherein said one or more criteria include a ranking of each of the limited number of CPU cores in terms of power cost selecting the minimum number of CPU cores to be enabled based on the respective rankings.

### Claim 16 (depends on 14)

The method of claim 14, wherein said one or more criteria include a ranking of each of the limited number of CPU cores in terms of at least one of current workload, current demand and current utilization reported by a scheduler of the App or Internet web browser.

### Claim 17 (depends on 13)

The method of claim 13, wherein the step of disabling LPM in said at least one enabled CPU core comprises:
comparing the total number of LPM entries and exits to a second TH value;
selecting one or more enabled CPU cores for which LPM will be disabled based on the comparison of the total number of LPM entries and exits to the second TH value; and
disabling LPM in the selected one or more enabled CPU cores.

### Claim 18 (depends on 17)

The method of claim 17, wherein the second TH value is set based on an estimation for each CPU core of a respective power penalty associated with LPM entries and exits of the respective CPU core.

### Claim 19

A non-transitory computer-readable medium comprising computer instructions for execution by logic disposed on an integrated circuit (IC) chip of a portable computing device (PCD) for reducing central processing unit (CPU) power costs in the PCD, the computer instructions comprising:
a first set of instructions that determines if the PCD enters a static display read mode while running a mobile device software application program (App) or Internet web browser operating in reader mode, and if so:
determining, with a second set of instructions, (1) if a display key performance indicator (KPI) headroom of the PCD indicates that one or more cost-saving actions can be performed without degrading visual performance of a display of the PCD and (2) if there is an active display buffer submission;
if it is determined with the second set of instructions that display KPI headroom indicates that one or more cost-saving actions can be performed without degrading visual performance and that there is no active display buffer submission:
analyzing, with a third set of instructions, hysteresis statistics associated with the CPU entering a low power mode (LPM) and exiting the LPM to calculate a total number of LPM entries and exits equal to a number of times the CPU enters the LPM during a preselected time window plus a number of times that CPU exits the LPM during the time window; and
comparing, with a fourth set of instructions, the total number to a first preselected threshold (TH) value and performing one or more power cost-saving actions if the total number exceeds the first preselected TH value.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein to perform said one or more power cost-saving actions, the fourth set of instructions comprises at least one of:
a fifth set of instructions that limits a total number of cores of the CPU that are allowed to be utilized by the App or Internet web browser operating in reader mode to a limited number of CPU cores;
a sixth set of instructions that enables one or more of the limited number of CPU cores; and
a seventh set of instructions that disables LPM in at least one the enabled CPU cores.

### Claim 21 (depends on 20)

The non-transitory computer-readable medium of claim 20, wherein the fifth set of instructions limits the total number of cores of the CPU that are allowed to be utilized by the App or Internet web browser operating in reader mode by:
setting a minimum number of CPU cores that are needed by the App or Internet web browser to operate in static display read mode without degrading performance to a level that is visually perceivable by a user of the PCD; and
setting a maximum number of CPU cores that may be needed by the App or Internet web browser to operate in static display read mode to ensure that performance will not degrade to a level that is visually perceivable by the user of the PCD.

### Claim 22 (depends on 21)

The non-transitory computer-readable medium of claim 21, wherein the sixth set of instructions enables one or more of the CPU cores by:
of the limited number of CPU cores, selecting the minimum number of CPU cores to be enabled based on one or more criteria; and
enabling the selected minimum number of CPU cores.

### Claim 23 (depends on 22)

The non-transitory computer-readable medium of claim 22, wherein said one or more criteria include a ranking of each of the limited number of CPU cores in terms of power cost selecting the minimum number of CPU cores to be enabled based on the respective rankings.

### Claim 24 (depends on 22)

The non-transitory computer-readable medium of claim 22, wherein said one or more criteria include a ranking of each of the limited number of CPU cores in terms of at least one of current workload, current demand and current utilization reported by a scheduler of the App or Internet web browser.

### Claim 25 (depends on 22)

The non-transitory computer-readable medium of claim 22, wherein the seventh set of instructions disables LPM in said at least one enabled CPU core by:
comparing the total number of LPM entries and exits to a second TH value;
selecting one or more enabled CPU cores for which LPM will be disabled based on the comparison of the total number of LPM entries and exits to the second TH value; and
disabling LPM in the selected one or more enabled CPU cores.

### Claim 26 (depends on 25)

The non-transitory computer-readable medium of claim 25, wherein the second TH value is set based on an estimation for each CPU core of a respective power penalty associated with LPM entries and exits of the respective CPU core.
