Memory Leasing for Multi-Level Memory Hierarchy Optimization

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

VSEngineering 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

Engineering Contradiction:
Improvememory access timeVSAvoidmemory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

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

Inventive Principle:
Principle #15Dynamics

2Speed

If high-speed memory is used for all objects, then access time is reduced, but power consumption increases and cost increases

Engineering Contradiction:
Improvememory access timeVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

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

Inventive Principle:
Principle #3Local quality

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

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If low-speed memory is used for all objects, then power consumption is reduced, but access time increases

Engineering Contradiction:
Improvepower consumptionVSAvoidmemory access time
Core Design Contradiction:
Use of energy by moving objectVSSpeed

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

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If high-capacity memory is used for all objects, then storage capacity is sufficient, but cost increases and access time increases

Engineering Contradiction:
Improvestorage capacityVSAvoidmemory access time
Core Design Contradiction:
Quantity of substanceVSSpeed

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

Inventive Principle:
Principle #1Segmentation

5Productivity

If memory blocks are dynamically reallocated based on access patterns, then memory efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvememory efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10324760B2Leases for blocks of memory in a multi-level memory
Publication Date: 2019.06.18 ADVANCED MICRO DEVICES INC
  • US10324760B2 patent drawing
  • US10324760B2 patent drawing
  • US10324760B2 patent drawing

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.