Exception State Saving by Trust Level to Cut Interrupt Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern systems face challenges in handling both trusted and untrusted exception handling routines while minimizing interrupt latency, as untrusted routines may expose sensitive data and current methods increase latency due to software-based state saving.
Innovation Solution
An apparatus with exception control circuitry that categorizes exception handling routines as trusted or untrusted, performing hardware-based state saving for untrusted routines, thereby reducing interrupt latency by offloading software tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware-based state saving is implemented for all exception handling routines, then security against untrusted routines is improved, but interrupt latency increases due to additional state saving operations
Solution Approach 1:
The patent applies local quality by differentiating the state saving behavior based on the trust level of the exception handling routine. For untrusted routines, hardware-based state saving of all registers is implemented to ensure security. For trusted routines, only essential state saving is performed, reducing the overhead and maintaining fast interrupt response. This selective approach resolves the contradiction by tailoring the security measure to the specific context.
Solution Approach 2:
The patent implements dynamics by making the state saving mechanism adaptable based on the exception handling routine's trust status. The system dynamically adjusts which registers are saved and how extensively, depending on whether the routine is trusted or untrusted. This dynamic behavior allows the system to optimize between security and performance in real-time.
2Loss of time
If software-based state saving is used for exception handling, then interrupt latency is reduced, but security against untrusted routines deteriorates due to potential data access
Solution Approach 1:
The patent introduces an intermediary mechanism in the form of a trust determination system that mediates between the exception handling routine and the state saving operation. This intermediary assesses the trust level of the routine and accordingly controls the extent of state saving, ensuring that untrusted routines cannot access sensitive data while maintaining efficient interrupt handling for trusted routines.
3Reliability
If all registers are saved for every exception, then data protection is improved, but processing time increases due to extensive state saving
Solution Approach 1:
The patent applies local quality by selectively saving only the necessary register states based on the exception handling routine's trust status. For untrusted routines, all registers are saved to ensure comprehensive data protection. For trusted routines, only essential registers are saved, significantly reducing the processing time while maintaining adequate protection.
Solution Approach 2:
The patent implements partial action by saving only the necessary subset of register states for trusted routines rather than all registers. This partial approach maintains sufficient data protection for the given context while minimizing the overhead and improving processing efficiency.
Data Source
Figure 1
Figure 2~3A
Figure 3B~3C
AI summary
An apparatus and method are provided for handling exceptions. The apparatus has processing circuitry operable in at least one security domain to execute program code that includes a plurality of exception handling routines executed in response to corresponding exceptions, and a plurality of registers for storing data for access by the processing circuitry when executing the program code. Exception control circuitry is arranged in response to occurrence of a given exception from background processing to trigger a state saving operation to save data from the plurality of registers before triggering the processing circuitry to execute a given exception handling routine. Configuration storage provides configuration information used to categorise exception handling routines. The exception control circuitry is arranged to determine with reference to the configuration information whether the given exception handling routine is of a first category or a second category within the security domain that the given exception handling routine will be executed in. Then, when triggering the state saving operation, the exception control circuitry triggers saving the data from a first subset of registers when the given exception handling routine is of the first category, but triggers saving the data from both the first subset and the second subset of registers when the given exception handling routine is of the second category. Such an approach can significantly reduce interrupt latency in a system that supports execution of both trusted and untrusted exception handling routines.