Cache Conflict Learning Circuit with Offset Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache conflicts in processor systems lead to stalls and performance degradation due to simultaneous access requests to the same memory block, which existing technologies fail to effectively address.

Innovation Solution

A memory conflicts learning capability is implemented, where a circuit detects conflicts, generates offset signals to store cache lines in different blocks, and uses a nonvolatile memory to store learned conflicts, thereby avoiding future stalls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a usual cache strategy is used to bring data lines on cache miss, then local cache memory is improved, but simultaneous accesses to the same bank cause conflicts and stalls

Engineering Contradiction:
Improvecache access speedVSAvoidprocessor stalls
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The memory block address space is segmented into multiple banks (bank 0, bank 1, etc.), allowing simultaneous access to different banks without conflict. When a conflict is detected, the system segments the access by redirecting to an alternative bank, thereby maintaining parallel access capability while avoiding stalls.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a new dimension of bank selection by adding a bank index bit to the address. This allows the same memory block to be accessed through different banks (e.g., block 0x1234 can be accessed via bank 0 or bank 1), effectively adding a spatial dimension to resolve temporal conflicts.

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

2Loss of time

If cache conflicts are avoided by storing lines in different blocks, then future stalls are reduced, but memory block management complexity increases

Engineering Contradiction:
Improveprocessor stallsVSAvoidmemory block management
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements self-service through automatic conflict detection and resolution. The conflict detection circuit automatically identifies when a conflict would occur, and the bank selection logic automatically redirects the access to an alternative bank without requiring complex external management or manual intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from conflict detection to dynamically adjust bank selection. When a conflict is detected on a particular bank, the system learns this conflict pattern and uses the feedback to select alternative banks for subsequent accesses, creating a closed-loop conflict avoidance mechanism.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8843690B2Memory conflicts learning capability
Publication Date: 2014.09.23 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8843690B2 patent drawing
  • US8843690B2 patent drawing
  • US8843690B2 patent drawing

AI summary

An apparatus having a memory and circuit is disclosed. The memory may (i) assert a first signal in response to detecting a conflict between at least two addresses requesting access to a block at a first time, (ii) generate a second signal in response to a cache miss caused by an address requesting access to the block at a second time and (iii) store a line fetched in response to the cache miss in another block by adjusting the first address by an offset. The second time is generally after the first time. The circuit may (i) generate the offset in response to the assertion of the first signal and (ii) present the offset in a third signal to the memory in response to the assertion of the second signal corresponding to reception of the first address at the second time. The offset is generally associated with the first address.