Application Booting from Multiple Memories

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveexecution speedVSAvoidmemory cost
Core Design Contradiction:
SpeedVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If an application is loaded from non-volatile memory with higher latency, then memory cost is reduced, but execution time increases

Engineering Contradiction:
Improvememory costVSAvoidexecution time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

3Quantity of substance

If application footprint is reduced through compression, then memory usage is reduced, but computational complexity and execution time increase

Engineering Contradiction:
Improvememory footprintVSAvoidcomputational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11481315B2Booting an application from multiple memories
Publication Date: 2022.10.25 INFINEON TECHNOLOGIES LLC
  • US11481315B2 patent drawing
  • US11481315B2 patent drawing
  • US11481315B2 patent drawing

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.