Prefetch Circuit Global Quality Factor Power Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processors face challenges in balancing prefetching to minimize memory latency while managing power consumption, as inaccurate prefetching can reduce performance and increase energy usage, particularly in portable devices where energy is limited.

Innovation Solution

A prefetch circuit with a memory that stores addresses and prefetch data, using quality factors to control prefetch request generation, including a global quality factor to limit the number of prefetch requests and additional mechanisms like stride-based and spatial memory streaming to optimize prefetching patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If prefetching is performed to reduce memory latency, then processor performance is improved, but power consumption increases

Engineering Contradiction:
Improveprocessor performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent changes the operational parameters of the prefetch circuit by introducing quality factor thresholds that dynamically control prefetching behavior. When quality factors indicate low confidence in access patterns, the circuit reduces or stops prefetching operations, thereby saving power while maintaining performance when prefetching is effective.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The prefetch circuit transitions from a static always-on prefetching mechanism to a dynamic system that adapts its behavior based on real-time quality factor measurements. The circuit actively monitors access pattern confidence and adjusts prefetching intensity accordingly, enabling power savings during low-confidence periods while maintaining high performance during high-confidence periods.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If aggressive prefetching is performed, then memory latency is reduced, but inaccurate prefetches cause useful data to be removed from cache

Engineering Contradiction:
Improvememory latencyVSAvoidprefetch accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the prefetch circuit continuously monitors the accuracy of its predictions through quality factors. When prefetches prove inaccurate (indicated by declining quality factors), the system reduces prefetching activity, preventing cache pollution. Successful accurate prefetches reinforce the behavior by maintaining high quality factors.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of consistently performing full prefetching operations, the circuit applies partial prefetching only when quality factors indicate high confidence in access patterns. This selective approach avoids the harmful effects of excessive prefetching while maintaining the benefits during periods when prediction accuracy is high.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If multiple prefetch mechanisms are used, then prefetch coverage is improved, but device complexity increases

Engineering Contradiction:
Improveprefetch coverageVSAvoidcircuit complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple prefetch mechanisms (stride-based prefetching and spatial memory streaming) into a unified prefetch circuit architecture. Rather than implementing separate independent circuits, the design integrates these mechanisms sharing common resources such as the quality factor calculation logic and control structures, thereby reducing overall complexity while maintaining comprehensive prefetch coverage.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10331567B1Prefetch circuit with global quality factor to reduce aggressiveness in low power modes
Publication Date: 2019.06.25 APPLE INC
  • US10331567B1 patent drawing
  • US10331567B1 patent drawing
  • US10331567B1 patent drawing

AI summary

A prefetch circuit may include a memory, each entry of which may store an address and other prefetch data used to generate prefetch requests. For each entry, there may be at least one “quality factor” (QF) that may control prefetch request generation for that entry. A global quality factor (GQF) may control generation of prefetch requests across the plurality of entries. The prefetch circuit may include one or more additional prefetch mechanisms. For example, a stride-based prefetch circuit may be included that may generate prefetch requests for strided access patterns having strides larger than a certain stride size. Another example is a spatial memory streaming (SMS)-based mechanism in which prefetch data from multiple evictions from the memory in the prefetch circuit is captured and used for SMS prefetching based on how well the prefetch data appears to match a spatial memory streaming pattern.