Multi-Mode Tiered Memory Cache Controller for Cost-Speed Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The adoption of a tiered memory model in servers complicates memory allocation due to the need to balance cost and performance, leading to sub-optimal placement of frequently accessed data in less performant memory tiers, which degrades application performance.

Innovation Solution

A hardware-based tiered memory cache controller (TMCC) with multi-mode behavior, including caching, migration, and statistics gathering, to optimize memory allocation and management across different memory tiers, utilizing a fully associative lookup and address map (FA-LUAM) and transfer transaction dictionary (TTD) components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If data is placed in cheaper memory tiers (non-volatile memory, flash memory), then cost is reduced, but performance deteriorates due to slower access speeds

Engineering Contradiction:
ImprovecostVSAvoidaccess speed
Core Design Contradiction:
Loss of energyVSSpeed

Solution Approach 1:

The memory system is segmented into multiple tiers with different performance and cost characteristics. The cache controller divides memory management into distinct regions (first cache region, second cache region, third cache region) that can be independently managed, allowing frequently accessed data to be placed in faster memory tiers while less frequently accessed data resides in cheaper tiers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A cache controller acts as an intermediary between the CPU and the tiered memory system. It includes a cache that stores copies of data from lower tiers, and a cache controller that manages data movement between tiers based on access patterns, thereby providing fast access to frequently used data while maintaining cost efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a hardware-based tiered memory cache controller is implemented to optimize memory allocation, then memory allocation efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache controller is designed to perform multiple functions within a single integrated unit: it manages caching operations, handles data migration between tiers, gathers statistics on access patterns, and makes allocation decisions. This multi-functionality reduces the need for separate control mechanisms and simplifies the overall system architecture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The cache controller dynamically adjusts memory allocation and data placement based on real-time access patterns and system conditions. It can change the state of cache regions, migrate data between tiers, and adapt its management policies without requiring manual intervention or complex static configuration.

Inventive Principle:
Principle #15Dynamics

3Loss of energy

If frequently accessed data is kept in less performant memory tiers to minimize costs, then cost is reduced, but application performance deteriorates

Engineering Contradiction:
ImprovecostVSAvoidapplication performance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The cache controller implements feedback mechanisms by monitoring access patterns to data in the tiered memory system. Based on this feedback, it automatically migrates frequently accessed data to faster cache regions and maintains less frequently accessed data in cheaper lower tiers, thereby optimizing both cost and performance dynamically.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-loading frequently accessed data into the cache before it is actually needed by the application. The cache controller predicts access patterns and proactively moves data to faster tiers, ensuring that when applications need the data, it is already in high-performance memory.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4407471B1Multi-mode tiered memory cache controller
Publication Date: 2025.09.17 VMWARE INC
  • EP4407471B1 patent drawingFigure 1
  • EP4407471B1 patent drawingFigure 2
  • EP4407471B1 patent drawingFigure 3

AI summary

Techniques for implementing a hardware-based cache controller in, e.g., a tiered memory computer system are provided. In one set of embodiments, the cache controller can flexibly operate in a number of different modes that aid the OS/hypervisor of the computer system in managing and optimizing its use of the system's memory tiers. In another set of embodiments, the cache controller can implement a hardware architecture that enables it to significantly reduce the probability of tag collisions, decouple cache capacity management from cache lookup and allocation, and handle multiple concurrent cache transactions.