Application Booting from Multiple Memories
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for booting applications face challenges due to the high cost of non-volatile, low latency memory and the performance impact of loading applications from non-volatile memory with higher latency, which increases execution time.
Innovation Solution
A method and system that boot an application by executing a first portion in place from a low latency memory and loading a second portion from a higher latency memory, allowing parallel execution and loading, thereby optimizing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If an application is executed in place from non-volatile, low latency memory, then execution speed is improved, but memory cost increases significantly
Solution Approach 1:
The application is divided into multiple portions, with the first portion executed in place from low latency memory and the second portion loaded from high latency memory. This segmentation allows the system to optimize for both speed and cost by placing only critical code in expensive memory while storing less time-sensitive portions in cheaper memory.
2Quantity of substance
If an application is loaded from non-volatile memory with higher latency, then memory cost is reduced, but execution time increases
Solution Approach 1:
The first portion of the application is loaded and executed in advance from low latency memory before the second portion is needed. This preliminary action allows the system to minimize overall execution time by having critical code ready while simultaneously loading less time-sensitive portions from high latency memory in parallel.
Solution Approach 2:
The system maintains continuous useful action by executing the first portion of the application while simultaneously loading the second portion from high latency memory. This parallel operation ensures that the processor remains productive throughout the loading process, minimizing idle time and reducing overall execution time.
3Quantity of substance
If application footprint is reduced through compression, then memory usage is reduced, but computational complexity and execution time increase
Solution Approach 1:
Instead of compressing the entire application, the system segments it into portions that can be executed or loaded directly in uncompressed form. This avoids the computational overhead of decompression while still achieving memory optimization through selective loading of only the necessary second portion from high latency memory.
Data Source
AI summary
A method includes using a memory address map, locating a first portion of an application in a first memory and loading a second portion of the application from a second memory. The method includes executing in place from the first memory the first portion of the application, during a first period, and by completion of the loading of the second portion of the application from the second memory. The method further includes executing the second portion of the application during a second period, wherein the first period precedes the second period.


