Software-Controlled Multi-Tier Memory Displacement Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tier memory systems, transparent caching can lead to unpredictable performance due to data evictions from higher performance memory tiers, causing longer latencies and bandwidth pressures, which are not easily controlled by software developers, limiting the use of multi-tiered memory configurations.

Innovation Solution

A software-tunable multi-tier memory mode that dynamically adjusts higher performance memory evictions and misses using thresholds set by software, allowing conditional displacement policies in memory controller hardware based on recent eviction rates, enabling finer-grained control over caching behavior without requiring intrusive software changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If transparent caching is used in multi-tier memory systems, then software simplicity and portability are improved, but performance becomes unpredictable due to uncontrollable data evictions from higher performance memory tiers

Engineering Contradiction:
Improvesoftware simplicityVSAvoidperformance predictability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent changes the parameters of the memory controller by adding software-configurable thresholds that control eviction behavior. The memory controller monitors eviction rates and compares them against configurable thresholds to dynamically adjust caching behavior, transforming a static transparent caching system into a dynamically controllable one that balances simplicity with performance predictability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback mechanisms where the memory controller continuously monitors eviction rates from higher performance memory tiers and uses this information to make informed decisions about data placement and retention. This feedback loop allows the system to adapt to changing workload patterns and maintain predictable performance while preserving software simplicity.

Inventive Principle:
Principle #23Feedback

2Loss of energy

If data is evicted from higher performance memory tier, then bandwidth pressure is reduced, but latency increases due to access to lower performance memory tier

Engineering Contradiction:
Improvebandwidth pressureVSAvoidaccess latency
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent makes the memory caching system dynamic by enabling the memory controller to adaptively adjust eviction policies based on real-time monitoring of eviction rates and configurable thresholds. This dynamic behavior allows the system to optimize the balance between bandwidth pressure and access latency by retaining hot data longer and evicting cold data more aggressively, rather than using fixed eviction policies.

Inventive Principle:
Principle #15Dynamics

3Reliability

If application direct mode is used to control data placement, then performance control is improved, but software complexity increases requiring modifications and heuristic selection

Engineering Contradiction:
Improveperformance controlVSAvoidsoftware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer in the memory controller that mediates between the simple transparent caching interface and the complex data placement decisions. This intermediary handles the sophisticated logic of monitoring eviction rates, comparing thresholds, and making placement decisions, allowing applications to benefit from controlled performance without directly implementing complex placement algorithms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory controller performs self-service by automatically monitoring its own eviction rates and making intelligent decisions about data placement based on configurable thresholds. This self-managing capability eliminates the need for external software to implement complex placement heuristics, providing both performance control and software simplicity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11354127B2Method of managing multi-tier memory displacement using software controlled thresholds
Publication Date: 2022.06.07 INTEL CORP
  • US11354127B2 patent drawing
  • US11354127B2 patent drawing
  • US11354127B2 patent drawing

AI summary

A computing system includes a memory controller having a plurality of bypass parameters set by a software program, a thresholds matrix to store threshold values selectable by the plurality of bypass parameters, and a bypass function to determine whether a first cache line is to be displaced with a second cache line in a first memory or the first cache line remains in the first memory and the second cache line is to be accessed by at least one of a processor core and the cache from a second memory.