Prefetcher Aggressiveness Adjustment by Memory Access Type Scores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor prefetching technologies lack an effective mechanism to dynamically adjust prefetching aggressiveness based on the specific memory access types, leading to inefficiencies in data retrieval and increased latency in multithreaded environments.

Innovation Solution

A processor with a prefetcher that tracks the effectiveness of each memory access type and adjusts its aggressiveness levels using a score table, allowing it to defer to another prefetcher if it is less effective, thereby optimizing data prefetching based on the specific characteristics of each memory access type.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the prefetcher uses a fixed prefetching strategy for all memory access types, then the device complexity is reduced, but the data retrieval efficiency deteriorates due to inability to adapt to different memory access patterns

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidprefetching mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by differentiating prefetching strategies based on memory access types. Each memory access type (MAT) has its own prefetching parameters and behavior characteristics. The system maintains separate tracking mechanisms for different MATs and adjusts prefetching aggressiveness individually for each access type, rather than using a uniform approach for all memory accesses.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamics by making the prefetching strategy adaptive and configurable based on observed effectiveness. The system maintains scores for each memory access type that reflect historical prefetching performance, and uses these scores to dynamically adjust prefetching parameters. This allows the prefetcher to evolve its behavior based on actual performance data rather than using fixed predetermined strategies.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the prefetcher increases its aggressiveness to prefetch more data, then the data retrieval efficiency improves, but the latency increases due to unnecessary prefetch operations

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements feedback by maintaining scores for each memory access type that track the effectiveness of prefetching operations. These scores are updated based on whether prefetches result in hits or misses, and this feedback is used to adjust future prefetching decisions. The system uses this feedback loop to identify which access types benefit from aggressive prefetching and which require more conservative approaches.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies parameter changes by adjusting prefetching aggressiveness as a configurable parameter based on observed effectiveness scores. The system can modify prefetch depth, prefetch timing, and other parameters dynamically based on the performance characteristics of different memory access types. This allows optimization of the balance between prefetching benefits and overhead for each specific access pattern.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the prefetcher tracks effectiveness for each memory access type, then the adaptability improves, but the device complexity increases due to additional tracking structures

Engineering Contradiction:
Improveadaptability to memory access typesVSAvoidtracking structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the prefetching tracking mechanism into separate components for each memory access type. Instead of a monolithic tracking system, the patent maintains individual score trackers and parameter sets for each MAT. This modular segmentation allows the system to manage complexity through organization rather than through monolithic processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements universality by creating a unified prefetching framework that handles multiple memory access types through a common architecture. The score-based effectiveness tracking mechanism serves multiple purposes: it tracks performance, guides parameter adjustment, and enables adaptive behavior across different MATs. This multi-functional approach reduces overall system complexity compared to separate specialized mechanisms for each access type.

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

Data Source

PatentEP3049915B1Prefetching with level of aggressiveness based on effectiveness by memory access type
Publication Date: 2020.02.12 VIA ALLIANCE SEMICON CO LTD
  • EP3049915B1 patent drawingFigure 1
  • EP3049915B1 patent drawingFigure 2
  • EP3049915B1 patent drawingFigure 3~4

AI summary

A processor includes a prefetched 102) that prefetches data in response to memory accesses(134), wherein each memory access has an associated memory access type (MAT) of a plurality of predetermined MATs. The processor also includes a table(106) that holds scores that indicate effectiveness of the prefetcher to prefetch data with respect to the plurality of predetermined MATs. The prefetcher( 102) prefetches data in response to memory accesses at a level of aggressiveness based on the scores held in the table(106) and the associated MATs of the memory accesses.