Memory-Side Prefetcher Adaptive Caching via Thread Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory access latencies in nonvolatile memory (NVM) systems are high due to a lack of awareness by memory-side (MS) prefetchers about the origin and nature of memory access requests, leading to inefficient caching and prefetching, where all memory accesses are treated with equal priority regardless of spatial locality or thread behavior.

Innovation Solution

Providing adaptive information to MS prefetchers and controllers about the specific details of each memory access request, including thread identification (TID) and prefetch hints, to enable them to make informed caching decisions, such as prefetching and cache prioritization based on the likelihood of subsequent data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If memory-side prefetchers treat all memory accesses with equal priority, then the system maintains simple control logic, but memory access latency increases due to inefficient caching and prefetching

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidmemory access latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent applies local quality by differentiating cache prioritization based on the specific characteristics of each memory access request. Instead of uniform treatment, the system assigns different priority levels to cache lines based on spatial locality patterns and thread behavior, making the cache policy adaptive to local access characteristics rather than applying a single global policy

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts cache prioritization based on runtime observations of memory access patterns. The memory controller monitors spatial locality and thread behavior to dynamically modify priority assignments for different cache lines, allowing the system to adapt to changing access patterns rather than using static prioritization

Inventive Principle:
Principle #15Dynamics

2Device complexity

If the memory controller prefetches all data with equal priority, then the implementation remains simple, but cache efficiency decreases and irrelevant data is cached

Engineering Contradiction:
Improveprefetching implementation complexityVSAvoidcache efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements local quality by applying different prefetching strategies to different memory access patterns. The system identifies regions with high spatial locality and prioritizes prefetching in those regions, while reducing or eliminating prefetching for random access patterns, thereby making prefetching behavior locally optimized rather than uniformly applied

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies partial action by selectively prefetching only the most promising cache lines based on spatial locality analysis. Rather than prefetching all potentially useful data (excessive action) or no data (insufficient action), the system prefetches a targeted subset of cache lines that are most likely to be needed, optimizing the balance between prefetching effort and cache effectiveness

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If adaptive information about memory access patterns is provided to MS prefetchers, then memory access latency is reduced through informed caching decisions, but the system complexity increases

Engineering Contradiction:
Improvememory access latencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism between the processor and memory controller that provides adaptive information about memory access patterns. This intermediary layer analyzes access patterns and translates them into priority signals that the memory controller can use, thereby enabling sophisticated latency reduction without requiring the entire system to become complex

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback by monitoring memory access patterns and using this information to adjust prefetching and caching decisions in real-time. The memory controller receives feedback about access patterns and dynamically modifies its behavior accordingly, creating a closed-loop system that reduces latency through adaptive response to actual workload characteristics

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10621097B2Application and processor guided memory prefetching
Publication Date: 2020.04.14 INTEL CORP
  • US10621097B2 patent drawing
  • US10621097B2 patent drawing
  • US10621097B2 patent drawing

AI summary

Devices and systems having memory-side adaptive prefetch decision-making, including associated methods, are disclosed and described. Adaptive information can be provided to memory-side controller and prefetch components that allow such memory-side components to prefetch data in a manner that is adaptive with respect to a particular read memory request or to a thread performing read memory requests.