Trace Module Timestamp Generation via Event-Driven Flagging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing timestamp generation methods in data processing systems are inefficient, leading to increased trace bandwidth usage and buffer capacity requirements, while also failing to accurately correlate trace streams across multiple processors due to disjointed timestamping.

Innovation Solution

A method where a timestamp request flag is set upon a predetermined event, and a timestamp is generated only when a subsequent trace packet is produced, ensuring timestamps are correlated with trace data and reducing unnecessary timestamp packets in the trace stream.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If timestamps are generated periodically and inserted into the trace stream, then the time of generation of trace packets can be recorded, but the trace bandwidth is increased and buffer capacity requirements are increased

Engineering Contradiction:
Improvetimestamp accuracyVSAvoidtrace data volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies partial action by generating timestamps only when necessary (on predetermined events) rather than continuously or periodically. This selective timestamp generation reduces the overall quantity of trace data while still providing sufficient temporal information for correlation purposes, directly addressing the contradiction between measurement precision and data volume.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of timestamp generation frequency from continuous/periodic to event-driven. By modifying when timestamps are generated (only on predetermined events such as context switches or processor events), the system reduces trace bandwidth consumption while maintaining the ability to correlate trace streams accurately.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If cycle-accurate trace is enabled to reduce timestamps, then fewer trace packets are generated, but more trace data is needed which increases buffer capacity and bandwidth requirements

Engineering Contradiction:
Improvetrace packet generation rateVSAvoidtrace data volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent uses partial action by selectively enabling timestamp generation only on predetermined events rather than continuously. This approach reduces the number of trace packets containing timestamps while still providing sufficient information for stream correlation, thereby reducing overall trace data volume without sacrificing diagnostic capability.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If too few timestamps are generated, then trace bandwidth is reduced, but the order of generation of trace packets cannot be deduced from the trace streams

Engineering Contradiction:
Improvetrace data volumeVSAvoidtemporal correlation information
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent uses predetermined events as intermediary markers in the trace stream. These events (such as context switches or processor-specific events) serve as reference points that enable temporal correlation between trace streams without requiring continuous timestamp generation. The intermediary events provide sufficient information to deduce the order of generation while minimizing trace data volume.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If timestamps are generated immediately on occurrence of a predetermined event, then accurate timing is recorded, but standalone timestamp packets increase trace bandwidth usage

Engineering Contradiction:
Improvetimestamp accuracyVSAvoidtrace packet count
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent merges the timestamp generation function with the existing trace packet generation process. Instead of creating separate standalone timestamp packets, the timestamp is combined with the next trace packet that would be generated anyway. This merging approach ensures accurate timing information is recorded while avoiding the overhead of additional standalone timestamp packets, thus reducing trace bandwidth usage.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8589927B2Method, apparatus and trace module for generating timestamps
Publication Date: 2013.11.19 ARM LTD
  • US8589927B2 patent drawing
  • US8589927B2 patent drawing
  • US8589927B2 patent drawing

AI summary

A trace module generates timestamps while tracing characteristics of a data processing apparatus or processing is performed by the data processing apparatus. When a predetermined event occurs, a timestamp request flag is set to indicate that a timestamp request is pending. Upon generation of a following trace packet, it is determined whether the timestamp request flag indicates that a timestamp request is pending, and if a request is pending then a timestamp is generated corresponding to the following trace packet, and the timestamp request flag is set to indicate that there is no pending timestamp request.