DMA Prefetching Through Cache-Policy Data Placement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional DMA engines expend bandwidth and require software intervention to store data in intermediate caches, leading to latency and inefficiencies in prefetching operations.

Innovation Solution

A DMA engine is configured to load data without storing it, allowing cache replacement policies to determine data placement in intermediate caches based on priority, thereby reducing bandwidth usage and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a DMA engine stores data in intermediate caches, then data is available for processing, but bandwidth is consumed and software intervention is required

Engineering Contradiction:
Improvedata availabilityVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the data storage function from the DMA engine itself, allowing the DMA engine to load data without storing it. Instead, intermediate caches along the data path autonomously capture and store the data based on their own replacement policies, eliminating the bandwidth overhead and software intervention required by conventional approaches.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables intermediate caches to serve themselves by autonomously deciding whether to store prefetched data based on their own replacement policies. This self-service mechanism eliminates the need for software intervention to manage cache storage, allowing caches to independently optimize their own content based on current system needs.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If a DMA engine manually stores data in caches, then data placement is controlled, but software intervention increases latency

Engineering Contradiction:
Improvedata placement controlVSAvoidprefetching latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements self-service by allowing intermediate caches to autonomously determine data placement based on their own replacement policies. This eliminates software intervention in the data placement process, reducing prefetching latency while maintaining effective cache utilization through the caches' inherent ability to make placement decisions.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If conventional DMA engines copy data to caches, then caches are populated, but cache pollution occurs

Engineering Contradiction:
Improvecache data volumeVSAvoidcache pollution
Core Design Contradiction:
Quantity of substanceVSObject-generated harmful factors

Solution Approach 1:

The patent extracts the data copying function from the DMA engine, preventing it from directly populating caches. Instead, intermediate caches selectively capture data based on their own replacement policies, ensuring that only relevant data is stored in caches and eliminating cache pollution caused by indiscriminate data copying.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12561249B2Prefetching using a direct memory access engine
Publication Date: 2026.02.24 ADVANCED MICRO DEVICES INC
  • US12561249B2 patent drawing
  • US12561249B2 patent drawing
  • US12561249B2 patent drawing

AI summary

A processing system includes one or more DMA engines that load data from memory or another cache location without storing the data after loading it. As the data propagates past caches located between the memory or other cache location that stores the requested data (“intermediate caches”), the data is selectively copied to the intermediate caches based on a cache replacement policy. Rather than the DMA engine manually storing the data into the intermediate caches, the cache replacement policies of the intermediate caches determine whether the data is copied into each respective cache and a replacement priority of the data. By bypassing storing the data, the DMA engine effectuates prefetching to the intermediate caches without expending unnecessary bandwidth or searching for a memory location to store the data, thus reducing latency and saving energy.