Memory Leasing for Multi-Level Memory Hierarchy Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing devices with multi-level memory hierarchies face inefficiencies due to objects being stored in memory types that are not optimal for their characteristics, leading to suboptimal access times, power consumption, and capacity usage.
Innovation Solution
Implementing a memory leasing system that allows hardware and software entities to lease blocks of memory in different levels of the hierarchy based on object characteristics, enabling storage in more appropriate memory types, such as frequently accessed data in faster memory and larger data in higher-capacity, cheaper memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If objects are stored in memory levels based on default allocation rather than optimal matching, then memory management is simpler, but access time increases and power consumption increases
Solution Approach 1:
The memory leasing system enables self-service by allowing software entities to autonomously request and allocate memory blocks in optimal memory levels based on their own access patterns and requirements, eliminating the need for complex centralized memory management while achieving optimal storage placement
Solution Approach 2:
The system implements dynamic memory allocation where memory blocks can be leased and unleased based on changing access patterns. The memory management unit dynamically tracks access frequencies and reassigns memory blocks to appropriate levels, allowing the system to adapt to varying workload requirements rather than using static allocation
2Speed
If high-speed memory is used for all objects, then access time is reduced, but power consumption increases and cost increases
Solution Approach 1:
The system applies local quality by placing frequently accessed objects in high-speed memory blocks while storing less frequently accessed objects in lower-speed, lower-power memory blocks. Each memory block is optimized for its specific usage pattern, with high-speed memory reserved only for objects that require fast access, thereby reducing overall power consumption while maintaining necessary access speeds
Solution Approach 2:
The system changes the memory allocation parameter dynamically based on access frequency. Objects are monitored and their memory level assignment is adjusted by changing the lease status of memory blocks. This parameter change allows the system to transition objects between high-speed and low-speed memory based on their actual usage patterns, optimizing the balance between access time and power consumption
3Use of energy by moving object
If low-speed memory is used for all objects, then power consumption is reduced, but access time increases
Solution Approach 1:
The system performs preliminary action by pre-loading frequently accessed objects into high-speed memory blocks before they are needed. The memory management unit monitors access patterns and proactively allocates memory blocks in high-speed memory for objects that are likely to be accessed soon, thereby reducing access time without requiring all objects to reside in high-speed memory continuously
4Quantity of substance
If high-capacity memory is used for all objects, then storage capacity is sufficient, but cost increases and access time increases
Solution Approach 1:
The system segments the memory hierarchy into multiple levels with different characteristics (high-speed/low-capacity and low-speed/high-capacity). By dividing the storage function across segmented memory blocks of different types, the system achieves sufficient total storage capacity while maintaining fast access times for actively used objects in the high-speed segment
5Productivity
If memory blocks are dynamically reallocated based on access patterns, then memory efficiency is improved, but system complexity increases
Solution Approach 1:
The memory management system implements self-service by allowing software entities to autonomously manage their own memory allocations. The memory management unit provides a simple interface for leasing and unleasing memory blocks, while the actual complexity of tracking access patterns and optimizing allocations is handled automatically by the system without requiring complex manual management protocols
Data Source
AI summary
The described embodiments include a computing device that has two or more levels of memory, each level of memory having different performance characteristics. During operation, the computing device receives a request to lease an available block of memory in a specified level of memory for storing an object. When a block of memory is available for leasing in the specified level of memory, the computing device stores the object in the block of memory in the specified level of memory. The computing device also commences the lease for the block of memory by setting an indicator for the block of memory to indicate that the block of memory is leased. During the lease (i.e., until the lease is terminated), the object is kept in the block of memory.


