Cache Look-up Filter for Reducing Tag Lookup Stalling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache memory systems experience performance degradation due to the need for multiple look-up operations when the number of requested addresses exceeds the number of tag look-ups per operation, leading to stalling and increased time to determine cache hits or misses.

Innovation Solution

A look-up filter is introduced to filter out superfluous look-ups, reducing the number of look-ups required by identifying data unit groupings and suppressing redundant look-ups, thereby allowing filtered look-ups that align with the processing capabilities of the cache, such as three look-ups per clock cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple look-up operations are performed to handle more addresses than the cache can service in one operation, then the number of addresses that can be checked increases, but the time required to determine cache hits or misses increases and performance degrades

Engineering Contradiction:
Improvenumber of addresses that can be checkedVSAvoidtime required to determine cache hits or misses
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing a preliminary filtering operation on the list of addresses before the actual tag look-up operation. The filter identifies and removes duplicate addresses in advance, so that when the look-up operation occurs, only unique addresses remain. This preliminary preparation reduces the number of look-ups needed during the critical timing-sensitive operation, thereby resolving the contradiction between checking more addresses and maintaining fast response time.

Inventive Principle:
Principle #10Preliminary action

2Speed

If the cache services a limited number of tag look-ups per operation, then the look-up operation remains simple and fast, but requests with more addresses than the look-up capacity require multiple operations causing stalling

Engineering Contradiction:
Improvelook-up operation speedVSAvoidrequest processing throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent introduces an intermediary component - the filter - that sits between the address generation stage and the tag look-up stage. This filter acts as a mediator that processes the address list, removes duplicates, and outputs a optimized list of unique addresses. By inserting this intermediary filtering step, the system can handle larger request volumes without increasing the complexity or reducing the speed of the core look-up operation, thus resolving the contradiction between maintaining fast look-up speed and improving overall request processing throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7571281B1Look-up filter structures, systems and methods for filtering accesses to a pool of tags for cache memories
Publication Date: 2009.08.04 NVIDIA CORP
  • US7571281B1 patent drawing
  • US7571281B1 patent drawing
  • US7571281B1 patent drawing

AI summary

In one embodiment, an apparatus includes an input port to receive a request to determine whether data units are stored in the cache, as well as an output port to generate look-ups for the pool of tags. The apparatus also includes a look-up filter coupled to the input and output ports, and operates to filter out superfluous look-ups for the data units, thereby forming filtered look-ups. Advantageously, the look-up filter can filter out superfluous look-ups to at least reduce the quantity of look-up operations associated with the request, thereby reducing stalling associated with multiple look-up operations. In a specific embodiment, the look-up filter can include a data unit grouping detector and a look-up suppressor.