Windowed Confirmation Queue for Cache Prefetcher

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer processor confirmation queues require large content addressable memory structures with high power consumption and complexity, making them inefficient for managing prefetch distances and reducing cache performance due to increased latency and cache pollution.

Innovation Solution

A cache prefetcher system incorporating a pattern predictor circuit and a windowed confirmation queue to predict and confirm memory addresses, reducing the need for a large CAM structure by maintaining a subset of predicted addresses within a windowed queue, thereby minimizing hardware requirements and improving prefetch accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a large CAM structure is used for confirmation queue, then prefetch accuracy is improved, but power consumption and device complexity increase

Engineering Contradiction:
Improveprefetch accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The confirmation queue is segmented into multiple smaller queues organized in a tree structure, where each node contains a small CAM structure. This divides the large CAM into manageable segments that can be independently managed and accessed, reducing the power consumption and complexity associated with a single large CAM while maintaining the ability to accurately confirm prefetches.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If a large CAM structure is used for confirmation queue, then prefetch accuracy is improved, but device area and complexity increase

Engineering Contradiction:
Improveprefetch accuracyVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The confirmation queue is segmented into multiple smaller queues organized in a tree structure, where each node contains a small CAM structure. This divides the large CAM into manageable segments that can be independently managed and accessed, reducing the power consumption and complexity associated with a single large CAM while maintaining the ability to accurately confirm prefetches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The confirmation queue is reorganized from a single large two-dimensional CAM structure into a three-dimensional tree structure with multiple levels. This dimensional transformation allows the system to achieve the functionality of a large CAM while distributing the hardware resources across multiple levels and nodes, thereby reducing the complexity and area requirements of any single level.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If many incorrect prefetches are issued to cover DRAM access latency, then cache performance is improved, but memory system overload and throughput reduction occur

Engineering Contradiction:
Improvecache performanceVSAvoidmemory system overload
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The confirmation queue provides immediate feedback on whether each prefetch was accurate or incorrect by comparing the prefetched address against the actual demanded address. This feedback mechanism allows the system to learn from past prefetch outcomes and adjust future prefetching behavior, thereby reducing the number of incorrect prefetches and preventing memory system overload while maintaining high cache performance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10387320B2Integrated confirmation queues
Publication Date: 2019.08.20 SAMSUNG ELECTRONICS CO LTD
  • US10387320B2 patent drawing
  • US10387320B2 patent drawing
  • US10387320B2 patent drawing

AI summary

According to one general aspect, an apparatus may include a cache pre-fetcher configured to predict data to be retrieved from a memory system. The cache pre-fetcher may include a pattern predictor circuit and a confirmation queue circuit. The pattern predictor circuit may be configured to predict a series of memory addresses to be pre-fetched from the memory system. The confirmation queue circuit may be configured to: maintain a windowed confirmation queue of predicted memory addresses, compare a requested memory address against the predicted memory addresses, and, if the requested memory address is included in the predicted memory addresses, indicate that a successful pre-fetch has occurred.