Adaptive Cache Probing to Reduce I/O Dirty Data Transfers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In I/O workloads, high latency and performance impacts arise from the transfer of dirty data among cores due to shared DMA buffers and conventional cache coherence protocols, leading to inefficiencies in modern I/O devices.

Innovation Solution

Implementing a cache coherence controller with an adaptive algorithm that selectively sends probes to core caches based on historical records, either invalidating or converting cache lines to minimize unnecessary dirty data transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional cache coherence protocols are used with shared DMA buffers, then data consistency is maintained, but high latency and performance impacts occur due to unnecessary dirty data transfers among cores

Engineering Contradiction:
ImproveI/O performanceVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically changes probe actions based on historical records of dirty data transfers. The cache coherence controller adapts its behavior by switching between different probe modes (standard vs. minimized) depending on whether a cache line has previously caused dirty data transfers, making the coherence protocol flexible rather than static

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses historical records to track which cache lines have caused dirty data transfers. This feedback mechanism allows the cache coherence controller to learn from past behavior and adjust future probe actions accordingly, sending minimized probes for cache lines with poor historical performance

Inventive Principle:
Principle #23Feedback

2Productivity

If dirty data transfers are minimized by selective probing, then I/O performance is enhanced, but data integrity may be compromised without proper validation

Engineering Contradiction:
ImproveI/O performanceVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by invalidating or converting cache lines to clean state before DMA reads occur. This proactive approach prevents dirty data transfers before they can happen, ensuring data integrity is maintained in advance rather than correcting issues after they occur

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache coherence controller acts as an intermediary between the DMA engine and core caches. It selectively modifies probe actions to prevent dirty data transfers while maintaining the necessary coherence guarantees, mediating between performance optimization and data integrity requirements

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If standard probe actions are sent to all caches, then data consistency is ensured, but unnecessary transfers increase system complexity and reduce efficiency

Engineering Contradiction:
Improvedata consistencyVSAvoidcoherence protocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies different probe actions to different cache lines based on their individual historical performance. Instead of using a uniform approach for all cache lines, the cache coherence controller tailors the probe action (standard or minimized) to each specific cache line's characteristics and transfer history

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12417179B2Adaptive system probe action to minimize input/output dirty data transfers
Publication Date: 2025.09.16 ADVANCED MICRO DEVICES INC
  • US12417179B2 patent drawing
  • US12417179B2 patent drawing
  • US12417179B2 patent drawing

AI summary

Adaptive system probe action to minimize input/output dirty data transfers is described. In one or more implementations, a system includes a processor, a memory configured to store data, and a cache configured to store a portion of the data stored in the memory for execution by the processor. The system also includes a cache coherence controller including a cache line history. The cache coherence controller is configured detect a direct memory access request from an input/output device. The direct memory access request is associated with an input/output operation involving the data. The cache coherence controller is further configured to identify a cache line associated with the direct memory access request, and, in response to the cache line history including a dirty data transfer record corresponding to the cache line, selectively send a probe to the cache based on a state of the cache line.