Dynamic Clock Voltage Scaling for Shared Resource Idle Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current power management schemes for systems on a chip (SoC) do not consider the overall energy efficiency of processors and shared resources, leading to inefficiencies when only one processor is active, as they keep shared resources active to serve a single processor, reducing idle time and increasing energy consumption.

Innovation Solution

A method and system that determine whether only a subset of multiple processors is active, and if so, increase the frequency of that processor below a threshold to reduce the time shared resources need to be active, thereby increasing energy efficiency by prolonging idle periods of shared resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the frequency of the processor is increased to improve processing speed, then the productivity is improved, but the energy consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies dynamic frequency scaling by adjusting the processor frequency based on real-time detection of active processors. When only one processor is active, the frequency is increased to maximize processing speed; when multiple processors are active, the frequency is reduced to lower energy consumption. This dynamic adaptation resolves the contradiction between productivity and energy consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the frequency parameter of the processor based on the number of active processors. By detecting whether one or multiple processors are active and adjusting the frequency accordingly, the system optimizes the trade-off between processing speed and energy consumption, directly addressing the technical contradiction.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If shared resources are kept active to serve a single processor, then the reliability of resource availability is improved, but the energy consumption increases

Engineering Contradiction:
Improveresource availabilityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent dynamically adjusts the operational state of shared resources based on the number of active processors. When only one processor is active, shared resources are kept active to ensure immediate resource availability. When multiple processors are active, shared resources are allowed to enter idle state to reduce energy consumption, while still maintaining availability when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system proactively manages the state of shared resources based on predicted usage patterns. By detecting the number of active processors, the system preemptively adjusts resource availability, keeping resources active when likely to be needed and allowing idle when multiple processors are active, thus preventing energy waste while maintaining reliability.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentEP3440531B1Enhanced dynamic clock and voltage scaling (DCVS) scheme
Publication Date: 2020.03.18 QUALCOMM INC
  • EP3440531B1 patent drawingFigure 1
  • EP3440531B1 patent drawingFigure 2
  • EP3440531B1 patent drawingFigure 3

AI summary

In certain aspects, a method for frequency scaling comprises determining whether only a subset of multiple processors is active, wherein the multiple processors share one or more resources. The method also comprises increasing a frequency of at least one processor in the subset of the multiple processors if a determination is made that only the subset of the multiple processors is active and the frequency of the at least one processor is below a frequency threshold. This may be done, for example, to increase the time duration of an idle mode for the one or more shared resources and achieve an overall power reduction for a system including the multiple processors, the one or more shared resources, and/or other function blocks.