DRAM Cache Tag Updates for Non-Blocking Miss Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing DRAM cache systems face issues with increased latency and bandwidth consumption due to metadata access in hardware-based designs, and application interruptions in OS-managed systems, necessitating a method to quickly update tags without additional bandwidth and minimize application interruptions.

Innovation Solution

A DRAM cache system employing a front-end module for non-blocking miss processing through decoupled tag-data management, utilizing a translation lookaside buffer and page table entry to offload cache-fill commands to a back-end module, with additional bits in the PTE for tag management and a background eviction daemon for proactive eviction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware-based DRAM cache stores metadata in on-package DRAM, then non-blocking miss handling is achieved, but additional bandwidth consumption increases and effective cycle time increases

Engineering Contradiction:
Improvemiss handling throughputVSAvoidbandwidth consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the cache system into front-end module (handling tags and metadata) and back-end module (handling data), allowing independent optimization of each component and reducing the bandwidth burden on on-package DRAM

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts metadata management from the traditional hardware-based cache controller and relocates it to the front-end module, which can manage tags without requiring additional on-package DRAM bandwidth for metadata access

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If OS-managed DRAM cache implements coupled tag-data management, then bandwidth efficiency is improved, but application interruption occurs during cache fill

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoidapplication latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements dynamic tag management where tags can be updated independently of data availability, allowing the system to transition from static coupled management to dynamic decoupled management, thereby reducing application latency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The front-end module performs preliminary tag updates before data is fully available from the back-end module, allowing applications to resume execution without waiting for complete cache fill operations

Inventive Principle:
Principle #10Preliminary action

3Reliability

If hardware-based DRAM cache accesses metadata in on-package DRAM, then cache functionality is achieved, but effective cycle time increases and performance degrades

Engineering Contradiction:
Improvecache functionalityVSAvoidcycle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a front-end module as an intermediary between the cache system and on-package DRAM, managing metadata access efficiently and reducing the cycle time impact of metadata operations

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12493561B2DRAM cache system and operating method of the same
Publication Date: 2025.12.09 UI (UNIVERSITY IND FOUNDATION) YONSEI UNIVERSITY
  • US12493561B2 patent drawing
  • US12493561B2 patent drawing
  • US12493561B2 patent drawing

AI summary

Disclosed are a DRAM cache system and an operating method thereof. The DRAM cache system includes a front-end module including a translation lookaside buffer (TLB) and a page table entry (PTE) and a back-end module, and the operating method includes checking, by the front-end module, the PTE when a TLB miss occurs in association with a memory request, calling, by the front-end module, a miss handler when a result of the checking the PTE is a tag miss, performing, by the front-end module, a tag update corresponding to the memory request through the miss handler, and offloading, by the front-end module, a cache-fill command to the back-end module.