Overlay Manager Eviction Strategies for Limited Memory Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In devices with limited main memory, efficiently managing the loading and unloading of overlay segments from secondary storage to main memory is challenging due to size constraints, requiring effective eviction strategies to free up space for requested segments.

Innovation Solution

The implementation of an overlay manager that employs various eviction strategies, including load frequency, correlation-based, and scenario-based approaches, to select existing overlay segments for eviction from main memory, ensuring that segments less likely to be requested are evicted first, thereby optimizing memory usage and processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the main memory size is increased to store the full program code and data, then the execution speed is improved, but the device cost and complexity increase

Engineering Contradiction:
Improveexecution speedVSAvoidmain memory size
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The program code and data are divided into multiple overlay segments that can be loaded into main memory as needed. This segmentation allows the system to manage limited main memory resources efficiently by only storing the portions of code and data that are currently required for execution, rather than loading the entire program at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The overlay manager pre-loads overlay segments into main memory based on predicted future usage patterns and eviction strategies. By anticipating which segments will be needed next and loading them in advance, the system minimizes page faults and maintains high execution speed despite limited memory capacity.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If overlay segments are frequently loaded and unloaded from main memory, then memory usage is optimized, but the processing time increases

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

Solution Approach 1:

The overlay manager performs preliminary actions by pre-loading overlay segments into main memory before they are actually needed for execution. Using eviction strategy information that predicts future segment usage, the system loads segments in advance during idle periods or low-utilization times, thereby reducing the processing time penalty associated with frequent loading operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by monitoring the actual usage patterns of overlay segments and comparing them with predictions from eviction strategies. This feedback allows the overlay manager to dynamically adjust its loading and eviction decisions, optimizing the balance between memory usage and processing time based on real-world performance data.

Inventive Principle:
Principle #23Feedback

3Device complexity

If simple eviction strategies are used to manage overlay segments, then the device complexity is reduced, but the execution efficiency decreases

Engineering Contradiction:
Improveeviction management complexityVSAvoidexecution efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The overlay manager employs eviction strategies that utilize readily available information about overlay segment usage patterns without requiring complex external control mechanisms. The system serves itself by automatically making intelligent eviction decisions based on simple-to-implement criteria such as load frequency and correlation data, achieving high execution efficiency without adding significant device complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10210097B2Memory system and method for operating the same
Publication Date: 2019.02.19 MACRONIX INTERNATIONAL CO LTD
  • US10210097B2 patent drawing
  • US10210097B2 patent drawing
  • US10210097B2 patent drawing

AI summary

A request is received to load a particular overlay segment from a secondary storage memory to a main memory for execution by a processor, wherein the particular overlay segment is absent from the main memory. A determination is made whether the main memory can receive the particular overlay segment. In response to determining that the main memory cannot receive the particular overlay segment, eviction strategy information about one or more existing overlay segments that are present in the main memory is obtained. Based on the eviction strategy information, at least one of the one or more existing overlay segments is selected for eviction from the main memory. The particular overlay segment is retrieved from the secondary storage memory. The at least one of the one or more existing overlay segments in the main memory that is selected for eviction is replaced with the particular overlay segment.