Trace Data Processing Using DMA Controller and On-Off Chip Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing demand for bandwidth in processing trace data information due to rising processor cores and clock frequencies leads to high costs for outputting high bandwidth over pins, with on-chip tracing limited by short buffer duration and off-chip tracing facing bandwidth bottlenecks.
Innovation Solution
An integrated circuit with a direct memory access controller managing the transportation of trace data information between memory circuits and a trace data information port, allowing flexible combination of on-chip and off-chip tracing resources to optimize bandwidth and reduce costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If off-chip tracing is used to achieve high bandwidth, then bandwidth is improved, but cost increases prohibitively
Solution Approach 1:
The patent segments the tracing system into on-chip components (trace buffer, trace controller) and off-chip components (trace port). The on-chip trace buffer stores trace data locally with high bandwidth, while the off-chip trace port provides extended bandwidth capacity. This segmentation allows the system to achieve high bandwidth without the prohibitive costs of fully off-chip tracing, as only the buffer and controller need be on-chip while leveraging cost-effective off-chip I/O for high-speed data output.
Solution Approach 2:
The patent introduces an intermediary trace buffer and trace controller that mediate between the on-chip processing elements and off-chip I/O. This intermediary layer enables efficient data transfer by buffering trace data on-chip and managing the transfer to off-chip ports, thereby achieving high bandwidth utilization without requiring all components to be off-chip, thus reducing overall system cost while maintaining high productivity.
2Productivity
If on-chip tracing is used to achieve high bandwidth, then bandwidth is improved, but trace buffer duration is limited
Solution Approach 1:
The patent extends the trace buffer capacity by adding an off-chip dimension to the traditionally on-chip buffer. The trace buffer is implemented as a distributed memory system spanning both on-chip and off-chip domains, allowing trace data to be stored with extended duration while maintaining high bandwidth access. This dimensional extension resolves the contradiction by providing both the speed of on-chip access and the capacity for longer-duration tracing.
Solution Approach 2:
The trace buffer is segmented into on-chip and off-chip portions, with the on-chip portion providing fast access for high bandwidth and the off-chip portion providing extended storage duration. The trace controller manages data placement and retrieval across these segments, enabling the system to achieve both high bandwidth (via on-chip access) and extended trace buffer duration (via off-chip storage capacity).
3Productivity
If the number of processor cores and clock frequencies increase, then processing capability is improved, but bandwidth requirement increases leading to higher costs
Solution Approach 1:
The patent creates a universal trace data output architecture that can serve multiple processor cores and clock domains through a shared trace buffer and controller system. This multi-functional design allows the same on-chip trace infrastructure to handle bandwidth requirements from any number of cores by dynamically allocating buffer space and managing data flow, thereby supporting increased processing capability without proportionally increasing bandwidth costs through dedicated per-core trace outputs.
Data Source
AI summary
An arrangement for processing trace data information is provided, the arrangement including, a chip including one or more memory circuits configured to store trace data information relating to a series of instructions, and a trace data information port configured to provide off-chip access to the trace data information; and a direct memory access controller circuit configured to control the transportation of trace data information from the one or more memory circuits to the trace data information port.


