Runtime Dirty-Cache Flushing for Shutdown Data Durability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face data loss during unexpected shutdowns due to inadequate time for flushing modified data from caches to persistent memory, especially in complex systems-on-chip (SOCs) with multiple processors and distributed memory, leading to disruptions and data visibility issues.

Innovation Solution

A fabric controller initiates a non-terminal flush event trigger to preemptively flush dirty data from caches to persistent memory based on system conditions, ensuring data availability and reducing the risk of loss during power loss or reset, without stalling the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is kept in cache for extended periods to improve access speed, then processing efficiency is improved, but data loss risk increases during unexpected shutdowns

Engineering Contradiction:
Improvedata access speedVSAvoiddata durability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary flushing of cache data to persistent memory based on predictive models that anticipate potential shutdown events. The fabric controller monitors system conditions and proactively initiates flush operations before actual data loss can occur, ensuring data is persisted while maintaining cache utilization for performance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cache flush is triggered frequently to ensure data persistence, then data durability is improved, but system performance degrades due to increased flush operations

Engineering Contradiction:
Improvedata durabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts cache flush parameters including trigger thresholds, flush timing, and data selection criteria based on real-time system conditions such as workload type, cache hit rates, and predicted shutdown probability. This allows optimization of the balance between data durability and performance for different operational contexts.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The fabric controller implements feedback mechanisms that monitor flush operation outcomes and system state changes, using this information to adjust future flush decisions. The system learns from past shutdown patterns and cache usage behaviors to refine its predictive modeling and optimize flush timing, reducing unnecessary flush operations while maintaining data safety.

Inventive Principle:
Principle #23Feedback

3Reliability

If manual cache flushing is implemented to preserve data, then data loss is reduced, but system disruption increases due to operational interruptions

Engineering Contradiction:
Improvedata preservationVSAvoidsystem continuity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements self-service automated cache management where the fabric controller autonomously monitors system state, predicts potential data loss scenarios, and executes flush operations without requiring manual intervention. The system serves itself by automatically adjusting cache policies and initiating persistence operations based on its own operational patterns and external conditions.

Inventive Principle:
Principle #25Self-service

4Loss of information

If comprehensive cache flushing across all processors is performed, then data visibility is improved, but system complexity increases in heterogenous multi-processor systems

Engineering Contradiction:
Improvedata visibilityVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The fabric controller segments the cache flushing operation into targeted groups based on data affinity and processor relationships. Instead of flushing all caches system-wide, it identifies and flushes only the specific cache domains that contain modified data, reducing the scope of operation in heterogenous multi-processor systems while ensuring data visibility where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The fabric controller acts as an intermediary that coordinates cache flushing across multiple processors and cache hierarchies. It manages the complexity of heterogenous systems by providing a unified control interface that handles processor-specific cache architectures, memory domains, and coherence protocols, translating high-level flush requests into processor-specific operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12405894B2Runtime flushing to persistency in heterogenous systems
Publication Date: 2025.09.02 ADVANCED MICRO DEVICES INC
  • US12405894B2 patent drawing
  • US12405894B2 patent drawing
  • US12405894B2 patent drawing

AI summary

Runtime flushing to persistency in heterogenous systems is described. In accordance with the described techniques, a system may include a persistent memory in electronic communication with at least one cache and a controller configured to command the at least one cache to flush dirty data to the persistent memory in response to a dirtiness of the at least one cache reaching a cache dirtiness threshold.