Integrated Circuit Context Switching via Non-Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current integrated circuit modules face challenges in managing multiple execution context definition software programs concurrently, as conventional session opening and closing mechanisms prevent simultaneous use of different software contexts.
Innovation Solution
A method implemented in an integrated circuit module that allows sequential access to multiple execution context definition software programs by suspending and resuming their execution using non-volatile and volatile memory, with control labels for authentication and correct context restoration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If classic session opening and closing mechanisms are used to manage multiple execution context definition software, then security is maintained, but concurrent use of different software is prevented
Solution Approach 1:
The patent implements dynamic context switching by suspending and resuming execution contexts rather than using static session opening/closing mechanisms. The system dynamically saves execution contexts to non-volatile memory and restores them as needed, enabling flexible concurrent access to multiple software contexts while maintaining security boundaries.
Solution Approach 2:
The patent introduces an intermediary mechanism (the context management system with save locations in non-volatile memory) that mediates between multiple execution contexts. This intermediary allows safe switching between contexts by preserving their state, enabling concurrent usage without direct conflicts that would compromise security.
2Area of stationary object
If multiple execution context definition software are stored in non-volatile memory, then space efficiency is improved, but management complexity increases
Solution Approach 1:
The patent segments the management of multiple software contexts by creating distinct save locations in non-volatile memory for each execution context. Each context is independently managed with its own storage area, simplifying the overall management complexity despite having multiple contexts coexisting in the same hardware space.
Solution Approach 2:
The patent performs preliminary actions by pre-allocating save locations in non-volatile memory for execution contexts before they are fully activated. This preliminary structuring of storage spaces simplifies subsequent context switching operations and reduces management complexity during runtime.
3Reliability
If execution data is saved in non-volatile memory for context resumption, then reliability of context restoration is improved, but memory access time increases
Solution Approach 1:
The patent extracts only the essential execution context data that is needed for resumption and stores it in non-volatile memory, rather than saving entire memory states. This selective extraction maintains restoration reliability while minimizing the amount of data that needs to be transferred, thus reducing access time penalties.
Solution Approach 2:
The patent changes the state parameters of execution contexts by saving them in a compact format suitable for non-volatile storage. By optimizing how context data is structured and stored, the system achieves reliable restoration while minimizing the time required to transfer and restore context parameters.
Data Source
Figure 1
Figure 2
AI summary
A method is proposed implemented in an integrated circuit module (2) comprising a processor configured to access a non-volatile memory (4) in which are stored a plurality of execution context definition software (22, 23, 24) adapted to be executed by the processor for communication with an electronic device (3), and to access a volatile memory (6) configured to store execution data of a running software, the plurality of software comprising a first running software (22) and a second previously suspended software (23), the method comprising, upon receipt of a command from the electronic device, a. a suspension of the execution of the first running software (22) comprising saving the contents of the volatile memory (6) in a first save location (40) of the non-volatile memory (4), a stopping of the execution of the first software (22) and b.a resumption of the previously suspended execution of the second software (23) comprising a transfer into volatile memory (6), from a second save location (41) of non-volatile memory (6), of execution data relating to the previously suspended execution of the second software (23), and an execution of the second software (23).