Debug Reset Retains Trace Buffer Data in SoC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging complex system-on-chips (SoCs) is challenging due to the erasure of critical failure information during reset operations, making it difficult to diagnose issues such as PCIe card failures, as conventional reset methods erase the events leading to the failure.

Innovation Solution

A distributed debugging system with multiple debug units associated with each functional unit, allowing for a debug reset that retains information in trace buffers while clearing it during power-up resets, using SRAM for storage and synchronization with global timestamp counters to maintain data integrity across resets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conventional reset operation is performed to reset the system, then the system is restored to initial state, but the debug information in trace buffers is erased making debugging difficult

Engineering Contradiction:
Improvesystem reset reliabilityVSAvoiddebug information loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system segments the reset operation into two distinct types: power-up reset and debug reset. Power-up reset clears all resources including trace buffers, while debug reset clears only functional units but preserves trace buffer contents. This segmentation allows selective resetting that maintains debug information when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The debug reset operation applies different reset behavior to different parts of the system: functional units are cleared while trace buffers retain their data. This local quality approach ensures that only the necessary components are reset while preserving critical debug information in specific memory regions.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If trace buffer information is retained across resets for debugging, then debugging capability is improved, but system complexity increases due to multiple reset types

Engineering Contradiction:
Improvedebugging easeVSAvoidreset type complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The reset controller is designed with multi-functionality to handle both power-up reset and debug reset operations through a unified interface. The same reset controller that manages power-up resets also manages debug resets, reducing the need for separate control logic and minimizing the increase in system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The reset controller acts as an intermediary between the processor and various system resources. It receives reset commands from the processor, determines the appropriate reset type based on the command, and selectively resets functional units while preserving trace buffer contents. This intermediary approach simplifies the overall system architecture by centralizing reset management.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If non-volatile memory is used to store debug information, then information retention is improved, but manufacturing cost increases

Engineering Contradiction:
Improvedebug information retentionVSAvoidmanufacturing cost
Core Design Contradiction:
Loss of informationVSEase of manufacture

Solution Approach 1:

The system uses volatile SRAM for trace buffers instead of expensive non-volatile memory. The trace buffers are designed to be temporary storage that can be selectively preserved or cleared based on reset type. This approach uses inexpensive memory technology while achieving the desired information retention through clever control logic rather than expensive hardware.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS10691576B1Multiple reset types in a system
Publication Date: 2020.06.23 AMAZON TECH INC
  • US10691576B1 patent drawing
  • US10691576B1 patent drawing
  • US10691576B1 patent drawing

AI summary

An integrated circuit can include a functional unit and a local debug unit. The local debug unit can include a trace buffer, and the local debug unit is configured to track and store operation information of the functional unit in the trace buffer. The integrated circuit can also include a global debug unit coupled to the local debug unit. The integrated circuit is configured to send a debug reset command to reset the functional unit, without sending the debug reset command to the local debug unit, thereby retaining information stored in the trace buffer. The integrated circuit is also configured to send a power-up reset command to reset the local debug unit and the functional unit, thereby causing the local debug unit to clear the trace buffer.