Multistream Prefetch Buffer Circular Slot Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache data replacement policies often lead to increased latency due to insufficient cache ways, causing 'pushing out' of streams when multiple parallel streams are accessed, as they overwrite cached data, which is inefficient in CPU operations where data is accessed once but from multiple streams.

Innovation Solution

A modified prefetch FIFO counter system that allocates slots to streams using a circular buffering system, where the counter points to the next slot if the most significant portion of the address is not present, generating a new predicted address and placing it in the next slot, allowing for efficient reuse and reducing latency by maintaining predicted addresses across slots.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional cache data replacement policies are used, then cache space is limited, but latency increases due to pushing out streams when multiple parallel streams are accessed

Engineering Contradiction:
Improvecache spaceVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the cache into multiple ways (e.g., way 0, way 1, way 2, way 3) where each way can independently store data for different streams. This segmentation allows the cache to hold multiple stream data simultaneously without overwriting, resolving the contradiction between limited cache space and the need to maintain multiple streams. Each way acts as an independent storage unit that can be allocated to different streams based on their access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action through prefetching mechanisms that load data into cache ways before they are actually needed by the streams. The system predicts which data will be needed and proactively loads it into appropriate cache ways, reducing latency by having data ready in advance. This is particularly important for stream data that will be accessed soon but is not yet required, allowing the system to maintain multiple streams without increasing actual cache usage.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If cache ways are insufficient to retain all streams, then data can be stored locally, but streams are pushed out and cached data is overwritten

Engineering Contradiction:
Improvedata retentionVSAvoidstream access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent employs dynamic cache management where the allocation of cache ways to streams is not fixed but adapts based on actual access patterns. The system dynamically determines which stream data should be retained in which cache way based on usage frequency and access patterns. This dynamic approach allows the cache to maintain reliability for data retention while optimizing productivity by ensuring the most actively accessed streams have cache space available, preventing unnecessary data overwrites.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms that monitor cache usage patterns and stream access behavior. This feedback information is used to adjust cache replacement policies and data allocation strategies. By continuously monitoring which streams access cache data most frequently and for how long, the system can optimize its retention strategies to maintain reliability for important streams while improving overall productivity by avoiding overwrites of frequently accessed data.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple parallel streams are accessed simultaneously, then CPU operations can proceed in parallel, but cache latency increases when data is not retained

Engineering Contradiction:
Improveparallel stream accessVSAvoidcache access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces another dimension to cache management by utilizing multiple cache ways as additional storage dimensions. Instead of a single linear cache structure, the system employs a multi-way cache architecture where data can be distributed across multiple ways. This dimensional expansion allows the cache to hold more stream data simultaneously, enabling parallel stream access to proceed without experiencing increased latency due to data overwrites or cache misses.

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

Data Source

PatentUS8880847B2Multistream prefetch buffer
Publication Date: 2014.11.04 TEXAS INSTRUMENTS INC
  • US8880847B2 patent drawing
  • US8880847B2 patent drawing
  • US8880847B2 patent drawing

AI summary

A prefetching system receives a memory read request having an associated address. In response to a determination that a most significant portion of the associated address is not present within slots of an array for storing the most significant portion of predicted addresses, a prefetch FIFO (First In-First Out) counter is modified to point to a next slot of the array and a new predicted address is generated in response to the received most significant portion of the associated address and is placed in the next slot of the array. The prefetch FIFO counter cycles through the slots of the array before wrapping around to a first slot of the array for storing the most significant portion of predicted addresses.