SoC Power Management via Secure Environment Shared Variable
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge lies in efficiently managing the transition between active and low-power modes in System-on-Chip (SoC) platforms, particularly in determining when to switch modes to optimize power strategy, as existing methods lack precise estimation of the time required to save and restore sensitive data, affecting the overall power policy efficiency.
Innovation Solution
A method involving a shared variable is used to track the execution of instructions between secure and public environments, allowing the power driver to decide mode transitions based on the variable's value, which is updated upon execution requests, enabling informed decisions about switching between active and low-power modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If sensitive data is stored outside the secure environment in non-secure storage to enable low-power mode transitions, then power consumption is reduced, but security risks increase and access time may be extended
Solution Approach 1:
The system performs preliminary actions by saving sensitive data to non-secure storage before transitioning to low-power mode, and restores it before exiting low-power mode. This preliminary preparation enables the secure environment to be powered off completely, achieving significant power savings while maintaining security through controlled access procedures.
Solution Approach 2:
The patent introduces an intermediary mechanism (the power driver and shared variable system) that mediates between the secure environment and the public environment. This intermediary manages the data transfer, mode transition timing, and coordination, allowing secure data to be temporarily stored outside the secure environment while maintaining overall system security through controlled access.
2Device complexity
If the power driver operates independently without knowledge of secure data save/restore time, then system modularity is maintained, but power policy efficiency deteriorates
Solution Approach 1:
The patent implements a feedback mechanism where the secure environment communicates the actual time taken to save and restore sensitive data back to the power driver through a shared variable. This feedback loop allows the power driver to learn and optimize future mode transition decisions, improving power policy efficiency while maintaining system modularity through standardized communication interfaces.
Solution Approach 2:
The system segments the power management functionality into separate modules: the power driver in the public environment handles mode transitions, while the secure environment handles data save/restore operations. The shared variable acts as an interface between these segments, allowing each module to operate independently while still achieving coordinated optimization of power policy efficiency.
3Reliability
If mode transitions include saving and restoring sensitive data, then security is maintained, but transition time increases
Solution Approach 1:
The system performs data save operations as preliminary actions before mode transitions and restore operations before exiting low-power mode. By preparing data in advance and using efficient save/restore procedures, the actual transition time is minimized while security is maintained through complete data preservation during the powered-off state.
Data Source
AI summary
The present invention relates to a method of controlling the operation of a processing device in a first mode or in a second mode. The processing device has a first execution environment and a second execution environment. The method comprises, upon detection of a switch between said first and second modes, setting in the first execution environment a value of a shared variable to an initial value, upon detection of a request of execution of instructions in the second execution environment, updating the value of said shared variable to a value different from the initial value, and reading a current value of the shared variable and causing the processing device to operate in the first mode or in the second mode depending at least on the current value of the shared variable.


