TEE Scheduler Migration via Transition Submodule

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for migrating a Trusted Execution Environment (TEE) between cores on a multicore processor are cumbersome, requiring adaptation of the core migration synchronization API and processor core id conversion table for each new processor and hardware environment, and limit dynamic reassignment of the core due to explicit invocation requirements, which hampers dynamic adjustment to varying resource demands.

Innovation Solution

A method that executes a TEE scheduler in the REE on a first core, migrates it to a second core, and uses a transition submodule within the TEE to manage core transitions without needing a processor core id conversion table, allowing dynamic migration and retargeting of secure interrupts, thus eliminating the need to pin the TEE to an active core.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a dedicated core migration synchronization API with processor core id conversion table is used to retarget TEE entry points, then all possible entry points to the TEE can be retargeted to the new active core, but the system requires adaptation of the API and conversion table to each new multicore processor and hardware environment, increasing device complexity

Engineering Contradiction:
Improvecorrect retargeting of TEE entry pointsVSAvoidadaptation of core migration synchronization API and processor core id conversion table
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a migration manager as an intermediary component that mediates between the TEE scheduler and the TEE core. The migration manager handles the complex task of retargeting TEE entry points by intercepting migration requests, updating internal mappings of TEE entry points to new core identifiers, and coordinating the transition. This intermediary absorbs the complexity of adaptation to different processor architectures, shielding the rest of the system from hardware-specific details while ensuring reliable retargeting of all TEE entry points including interrupts and scheduled entries.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If explicit invocation of the core migration synchronization API is required, then the TEE can be migrated between cores, but the rich-OS scheduler operating in the REE is limited in its ability to dynamically reassign the core on which the TEE is executed, reducing adaptability

Engineering Contradiction:
Improvecontrolled TEE migrationVSAvoiddynamic reassignment of TEE core
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic migration capabilities by allowing the TEE scheduler to issue migration requests at any time based on runtime conditions such as resource demands, performance requirements, or power management needs. The migration manager dynamically updates the mapping between TEE entry points and active core identifiers without requiring system restart or explicit API invocation sequences. This dynamic approach enables the rich-OS scheduler to flexibly reassign TEE execution between cores in response to changing system conditions while maintaining controlled migration through the migration manager's coordination.

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If the TEE is pinned to a single active core, then data consistency across TEE applications can be maintained, but the core cannot enter low power states and resource utilization is reduced

Engineering Contradiction:
Improvedata consistency in TEEVSAvoidpower consumption of processor core
Core Design Contradiction:
Stability of the object's compositionVSUse of energy by moving object

Solution Approach 1:

The patent enables dynamic migration of the TEE between cores, allowing the system to move the TEE execution context from an active core to a different core when the original core needs to enter low power states. The migration manager maintains data consistency by properly transferring the TEE execution context, updating all entry point mappings, and ensuring atomic transitions that prevent data corruption. This dynamic approach allows cores to enter sleep states when not hosting the TEE, significantly reducing power consumption while maintaining data consistency through controlled migration mechanisms.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If multiple entry points to the TEE exist including secure interrupts from any core, then the TEE can respond to various events, but retargeting all entry points during core migration becomes challenging and increases complexity

Engineering Contradiction:
Improveresponse to various eventsVSAvoidretargeting of multiple TEE entry points
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The migration manager serves as an intermediary that centralizes the management of all TEE entry points. It maintains an internal mapping structure that tracks all entry points including scheduled entries and secure interrupts from any core. When migration is required, the migration manager uniformly updates all these mappings to point to the new active core through a single coordinated operation. This intermediary approach simplifies the complexity of retargeting multiple diverse entry points by providing a unified management interface that handles all types of TEE entry points consistently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11520879B2Trusted execution environment migration method
Publication Date: 2022.12.06 QUALCOMM TECHNOLOGIES INC
  • US11520879B2 patent drawing
  • US11520879B2 patent drawing
  • US11520879B2 patent drawing

AI summary

A trusted execution environment migration method for a device comprising a multicore processor, the processor operable to execute a rich execution environment (REE) and a trusted execution environment (TEE), the method comprising: executing a TEE scheduler in the REE on a first core of the multicore processor; subsequent to a migration of the TEE scheduler from the first core to a second core, issuing a request, by the TEE scheduler and to a transition submodule in the TEE, to execute an operations submodule in the TEE, wherein the transition submodule is operable to manage the transition of a core of the processor between execution of the REE and execution of the operations submodule in the TEE, and wherein the transition submodule is executed on the same core as the TEE scheduler; upon execution of the operations submodule, determining if the core on which the operations submodule is executing has changed since the previous execution of the operations submodule.