Memory Prefetching for Jumping 2D Access Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional prefetchers struggle to detect jumps in complex 2D access patterns, leading to useless prefetches and cache misses, which diminish processing system performance.

Innovation Solution

The technique involves detecting jumps in access patterns and adjusting prefetch addresses based on the detected jumps, allowing prefetchers to efficiently capture complex patterns by minimizing cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional prefetchers use a fixed stride pattern to prefetch data, then the prefetching process is simple and fast, but it fails to detect jumps in complex 2D access patterns resulting in useless prefetches and cache misses

Engineering Contradiction:
Improveprefetch accuracyVSAvoidprefetcher complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The prefetcher dynamically adjusts the stride pattern based on detected jumps in the access pattern. Instead of using a fixed stride, the system monitors actual memory access patterns and modifies prefetch behavior when jumps are detected, allowing the prefetcher to adapt to complex 2D access patterns while maintaining simplicity in normal cases

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback by monitoring actual memory access patterns and using this information to adjust prefetching behavior. When jumps are detected in the access pattern, the feedback mechanism triggers a change in prefetch strategy, improving accuracy without requiring complex preprocessing

Inventive Principle:
Principle #23Feedback

2Productivity

If the prefetcher continues prefetching according to the original stride pattern after a jump occurs, then the prefetching operation remains simple, but it generates useless prefetches that cause cache misses and reduce performance

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidCPU wait time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

When a jump is detected in the access pattern, the prefetcher skips the incorrect prefetch operations that would follow the original stride pattern. Instead of continuing with useless prefetches, the system rushes through to the correct data location by adjusting the prefetch address based on the detected jump, thereby avoiding cache misses and improving processing efficiency

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS20260003618A1Prefetching an access pattern having a jump
Publication Date: 2026.01.01 QUALCOMM INC
  • US20260003618A1 patent drawing
  • US20260003618A1 patent drawing
  • US20260003618A1 patent drawing

AI summary

Certain aspects of the present disclosure provide techniques and apparatus for prefetching an access pattern having a jump. Aspects include obtaining a stride between consecutive memory accesses of the access pattern to determine a stride pattern for the access pattern. Aspects include determining whether a jump in the access pattern has occurred based on the stride pattern and a current stride of the access pattern. Aspects include, in response to determining the jump in the access pattern has occurred, adjusting a prefetch address for a next memory access of the access pattern based on the jump in the access pattern. Aspects include issuing a prefetch request for the adjusted prefetch address.