Trace Circuitry Lockup Detection and Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing trace units fail to detect and indicate lockup states in processing circuitry, leading to incomplete trace data and wasted bandwidth, making it difficult to determine when and why lockup states occur.

Innovation Solution

Incorporating trace circuitry that detects lockup states and includes a lockup identifier in trace data, allowing for efficient detection and analysis of lockup states by treating them as exceptional conditions within the existing exception trace data packet format.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the trace unit continuously generates trace data during normal operation, then the trace data provides complete information about processing activities, but the trace bandwidth is wasted when the processor is in lockup state generating repeated identical packets

Engineering Contradiction:
Improvetrace data completenessVSAvoidtrace bandwidth usage
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The trace unit detects lockup state beforehand by monitoring processor state indicators (such as PC not advancing or exception flags) and preemptively stops generating trace packets when lockup is detected, preventing wasteful bandwidth consumption before it occurs

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A lockup detection mechanism acts as an intermediary between the processor and trace unit, monitoring processor state and controlling trace packet generation to stop when lockup is detected, thereby mediating between complete trace data generation and bandwidth conservation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of energy

If the trace unit stops generating trace data when lockup state is detected, then the trace bandwidth is conserved, but the trace data loses information about when and why the lockup state occurred

Engineering Contradiction:
Improvetrace bandwidth usageVSAvoidlockup state information
Core Design Contradiction:
Loss of energyVSLoss of information

Solution Approach 1:

The trace unit performs preliminary actions by capturing and recording lockup state information (such as program counter value, exception type, and processor state) before stopping trace packet generation, ensuring that diagnostic information is preserved even when subsequent trace data is suppressed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The trace unit extracts and separates lockup state information from the continuous trace data stream, isolating this critical diagnostic information for special handling and preservation while stopping generation of redundant trace packets during lockup state

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If the trace unit generates detailed trace packets for every instruction executed, then the trace data provides comprehensive diagnostic information, but the trace bandwidth is exhausted by repeated packets during lockup state making it difficult to identify the triggering event

Engineering Contradiction:
Improvediagnostic information qualityVSAvoidtrace data visibility
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The trace unit captures critical lockup state information (program counter, exception type, processor state) before the lockup state causes repeated instruction execution, ensuring that the triggering event information is recorded while preventing bandwidth exhaustion from subsequent repeated packets

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9361204B2Generating trace data including a lockup identifier indicating occurrence of a lockup state
Publication Date: 2016.06.07 ARM LTD
  • US9361204B2 patent drawing
  • US9361204B2 patent drawing
  • US9361204B2 patent drawing

AI summary

A data processing apparatus has processing circuitry for executing program instructions and trace circuitry for generating trace data indicating processing activities of the processing circuitry. The trace circuitry may detect a lockup state of the processing circuitry in which the processing circuitry does not make forward progress of execution of the program instructions. In response to detecting the lockup state, the trace circuitry may include in the trace data a lockup identifier indicating that the lockup state has occurred.