Pattern Detector for Microprocessor Cache Hangs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing logic for accessing a last-level cache can result in unpredictable hangs and deadlocks, particularly in multi-threaded programs where threads compete for shared resources, leading to starvation conditions that are difficult to predict and resolve.

Innovation Solution

A heuristic-based tagpipe traffic monitoring logic is implemented, including a logic analyzer, pattern detector, and conditional pattern detector, coupled with distributed hang detection logic to identify and respond to deadlock, livelock, and starvation conditions by capturing snapshots of tagpipe arbitration requests and using configurable settings to detect patterns indicative of hangs, followed by recovery routines to resolve them.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If heuristic-based tagpipe traffic monitoring logic is implemented to detect hangs, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvehang detection capabilityVSAvoidmonitoring logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The monitoring logic is segmented into distinct functional blocks: a pattern detector that analyzes arbitration request patterns, a capture buffer that stores request snapshots, and a hang detection unit that identifies deadlock conditions. This segmentation allows each component to perform a specific function, improving reliability while managing complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A capture buffer is introduced as an intermediary component that stores snapshots of tagpipe arbitration requests. This buffer serves as a mediator between the arbitration logic and the hang detection logic, allowing the system to analyze past arbitration patterns without adding complex real-time monitoring to the critical arbitration path.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If distributed hang detection logic is implemented to identify deadlock patterns, then reliability is improved, but processing speed decreases

Engineering Contradiction:
Improvedeadlock detection accuracyVSAvoiddetection response time
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary actions by continuously capturing and storing snapshots of arbitration requests in a buffer before hang conditions manifest. This preliminary data collection allows the hang detection logic to analyze patterns and identify deadlocks without adding processing delays to the critical arbitration path, maintaining speed while improving detection accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of analyzing the actual arbitration requests directly, the system creates and analyzes copies in the form of snapshots stored in the capture buffer. This copying approach allows comprehensive pattern analysis for reliable deadlock detection without impacting the speed of the original arbitration process.

Inventive Principle:
Principle #26Copying

3Reliability

If recovery routines are implemented to resolve hangs, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvesystem recovery capabilityVSAvoidrecovery logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hang detection and recovery system operates autonomously without requiring external intervention. The pattern detector automatically identifies arbitration patterns indicative of hangs, the capture buffer stores evidence, and recovery routines are triggered and executed automatically. This self-service capability improves reliability by ensuring hangs are resolved without user involvement while keeping the interface simple.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback loops where the hang detection logic continuously monitors arbitration patterns, and upon detecting a hang condition, automatically triggers recovery routines. The system then continues monitoring to verify the hang is resolved. This feedback mechanism provides reliable automatic recovery while managing complexity through a closed-loop control structure.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3047380B1Pattern detector for detecting hangs
Publication Date: 2019.04.24 VIA ALLIANCE SEMICON CO LTD
  • EP3047380B1 patent drawingFigure 1
  • EP3047380B1 patent drawingFigure 2
  • EP3047380B1 patent drawingFigure 3

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 a register; a decoder that decodes transaction type identifiers of tagpipe arbs advancing through the tag pipeline; and an accumulator that accumulates into the register the transaction type identifiers of a plurality of tagpipe arbs that advance through the tag pipeline.