Microprocessor Pattern Detector for Cache Hang Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing logic for accessing a last-level cache can result in unpredictable hangs, such as deadlocks and starvations, due to complex arbitration mechanisms and shared resource competition in multi-threaded programs, making it difficult to detect and resolve these conditions efficiently.

Innovation Solution

A microprocessor with a pattern detector that captures snapshots of tagpipe transactions and uses configurable register modules to identify traffic patterns indicative of hangs, enabling detection and response to deadlock, livelock, or starvation conditions through configurable logic and recovery routines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If complex arbitration logic is used to manage cache access, then cache access efficiency is improved, but system stability deteriorates due to unpredictable hangs and deadlocks

Engineering Contradiction:
Improvecache access efficiencyVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a pattern detector that continuously monitors tagpipeline traffic and provides feedback about detected hang patterns. The detector counts replays and completes, compares ratios against thresholds, and triggers hang detection when abnormal patterns are identified, creating a closed-loop feedback system that improves reliability without reducing arbitration complexity

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The pattern detector acts as an intermediary component between the arbitration logic and the system state. It observes tagpipeline traffic without interfering with the arbitration process, analyzing patterns of replays and completes to detect hangs, thereby improving stability while preserving the efficiency of the underlying arbitration mechanism

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If arbitration logic is simplified to improve predictability, then system stability is improved, but cache access efficiency deteriorates

Engineering Contradiction:
ImprovepredictabilityVSAvoidcache access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the need for simplified arbitration logic with a monitoring and detection system. Instead of changing the mechanical arbitration process to be more predictable, it substitutes a pattern analysis mechanism that detects hangs through statistical observation of traffic patterns, maintaining efficiency while improving predictability through detection rather than prevention

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If extensive monitoring of tagpipeline traffic is implemented, then hang detection accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvehang detection accuracyVSAvoiddetector complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The pattern detector implements selective monitoring by focusing only on critical metrics (replay count, complete count, replay ratio) rather than comprehensive tracking of all tagpipeline activities. This partial monitoring approach achieves sufficient detection accuracy while minimizing the complexity overhead of the detection mechanism

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The detector uses configurable thresholds for replay ratios and count limits that can be adjusted to optimize detection accuracy for different workloads. By changing these parameters rather than increasing monitoring granularity, the system achieves high detection accuracy with minimal added complexity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9753799B2Conditional pattern detector for detecting hangs
Publication Date: 2017.09.05 VIA ALLIANCE SEMICON CO LTD
  • US9753799B2 patent drawing
  • US9753799B2 patent drawing
  • US9753799B2 patent drawing

AI summary

A microprocessor comprises a cache including a tag array; a tag pipeline that arbitrates access to the tag array; and a pattern detector. The pattern detector comprises snapshot capture logic that captures snapshots of tagpipe arbs—including information about whether the tagpipe arb is a load, snoop, store or other arb type and whether the tagpipe arb completed or replayed—and a plurality of configurable register modules operable to store user-configured snapshot patterns. Configuration logic enables a user to specify, for each configurable register module, properties of tagpipe arbs for the pattern detector to detect as well as dependencies between the configurable register modules. A register module becomes triggered if a tagpipe arb or pattern of tagpipe arbs meets the user-specified properties for the register module and if any other register module on which the register module depends is also in a triggered state.