Debug Module Stack Access Filtering for Trace Buffer Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Nexus debug standard faces challenges in managing trace messaging information, as it often overruns buffer space, requiring efficient mechanisms to prevent data trace message generation for processor stack accesses without intrusion on normal system operation.

Innovation Solution

A debug module within the data processing system determines whether a data access request is to a memory stack area, and if so, prevents data trace message generation based on predefined address ranges and thread membership criteria, using address and stack messaging enable modules to control trace message generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If data trace messages are generated for all data access requests, then complete debugging information is obtained, but buffer space is overrun and system performance deteriorates

Engineering Contradiction:
Improvedebugging information completenessVSAvoidsystem performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent segments the address space into stack areas and non-stack areas. The trace message generation is selectively applied: messages are generated for data access requests to non-stack areas, but suppressed for stack areas. This segmentation allows complete debugging information for critical operations while avoiding buffer overruns from excessive stack access tracing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality characteristics to different parts of the address space. Stack areas are identified and marked with a specific property (stack access flag), causing trace message generation to be suppressed locally in these regions. Non-stack areas maintain normal trace message generation. This local differentiation resolves the contradiction by preserving debugging completeness where needed while improving system performance by eliminating excessive tracing elsewhere.

Inventive Principle:
Principle #3Local quality

2Productivity

If trace message generation is suppressed for stack accesses, then buffer overruns are prevented, but debugging information for stack operations is lost

Engineering Contradiction:
Improvebuffer management efficiencyVSAvoidstack operation debugging information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements dynamic control of trace message generation based on the nature of the data access request. The system dynamically determines whether each access is to a stack area or non-stack area and adjusts trace message generation accordingly. This dynamic approach allows the system to optimize buffer usage while preserving debugging information for non-stack operations, resolving the contradiction between buffer management efficiency and debugging information completeness.

Inventive Principle:
Principle #15Dynamics

3Productivity

If address range filtering is applied to control trace message generation, then buffer overruns are prevented, but the complexity of trace message control increases

Engineering Contradiction:
Improvetrace message buffer managementVSAvoidtrace message control mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the stack area identification functionality from the general address range filtering mechanism. Instead of using complex address range comparisons, the system uses a dedicated stack access flag or indicator that is set when a data access request targets a stack area. This extraction simplifies the control mechanism while maintaining effective buffer management, resolving the contradiction between productivity and device complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8984344B2Stack-based trace message generation for debug and device thereof
Publication Date: 2015.03.17 NXP USA INC
  • US8984344B2 patent drawing
  • US8984344B2 patent drawing
  • US8984344B2 patent drawing

AI summary

During a debug mode of operation of a data processor it is determined whether a data access request is to a stack of the data processor. If not, a data trace message based on the data access request is generated for transmission to a debugger so long as an address being accessed by data access request meets a predefined address range criteria. Otherwise, if the data access request is to the stack of the data processor, a data trace message based on the data access request is prevented from being generated for transmission to the debugger regardless the predefined address range criteria.