Trace Module Timestamp Generation via Event-Driven Flagging
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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
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.
Data Source
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.


