Distributed trace data acquisition system
First Claim
1. In a distributed digital system of coupled nodes each for performing at least one digital processing function and each including a node processor, a node memory and one or more node controllers for exchanging messages with other nodes or devices, a distributed trace data acquisition system comprising:
- a plurality of capture circuits each disposed in a corresponding one of said coupled nodes for capturing event data therefor;
a plurality of trace data buffers in each said node memory associated with one of said capture circuits each for storing one or more trace data entries for one or more of a plurality of trace formats, wherein each said trace data entry includes one or more linked data blocks each having a header data field and a trace data segment; and
timestamp means in each said capture circuit for producing a timestamp for storage in said header field of each said linked data block;
wherein said plurality of trace formats comprises;
a trace format for node processor instruction level tracing;
a trace format for software level tracing; and
a trace format for internode message level tracing.
1 Assignment
0 Petitions
Accused Products
Abstract
A dedicated debugging facility for tracing hardware and software faults in a distributed digital system. An event data capture circuit is integrated into each processing node in a distributed multinode system for capturing event data within each node under software control. The captured event data is stored in one of a plurality of variable-length trace data buffers in the node processor memory space for analysis or transfer. These dedicated trace data acquisition circuits provide continuously available trace data for the hardware and software functions within each node. Each variable-length trace data entry is stored in the trace data buffers according to a format of this invention that permits collection and assembly of trace data entries from throughout the distributed multinode system to debug local hardware or software and to debug internodal interconnection hardware and software.
-
Citations
21 Claims
-
1. In a distributed digital system of coupled nodes each for performing at least one digital processing function and each including a node processor, a node memory and one or more node controllers for exchanging messages with other nodes or devices, a distributed trace data acquisition system comprising:
-
a plurality of capture circuits each disposed in a corresponding one of said coupled nodes for capturing event data therefor; a plurality of trace data buffers in each said node memory associated with one of said capture circuits each for storing one or more trace data entries for one or more of a plurality of trace formats, wherein each said trace data entry includes one or more linked data blocks each having a header data field and a trace data segment; and timestamp means in each said capture circuit for producing a timestamp for storage in said header field of each said linked data block; wherein said plurality of trace formats comprises; a trace format for node processor instruction level tracing; a trace format for software level tracing; and a trace format for internode message level tracing. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a distributed digital system of coupled nodes each for performing at least one digital processing function and each including a node processor, a node memory and one or more node controllers for exchanging messages with other nodes or devices, a distributed trace data acquisition system comprising:
-
a plurality of capture circuits each disposed in a corresponding one of said coupled nodes for capturing event data therefor; a plurality of trace data buffers in each said node memory associated with one of said capture circuits each for storing one or more trace data entries for one or more of a plurality of trace formats, wherein each said trace data entry includes one or more linked data blocks each having a header data field and a trace data segment; timestamp means in each said capture circuit for producing a timestamp for storage in said header field of each said linked data block; memory interface means in said coupled node plurality for assembling said trace data entries from all said coupled nodes; and nonvolatile storage means coupled to said node plurality for storing said assembled trace data entries. - View Dependent Claims (7, 8)
-
-
9. In a distributed digital system of coupled nodes each for performing at least one digital processing function and each including a node processor, a node memory and one or more node controllers for exchanging messages with other nodes or devices, a distributed trace data acquisition system comprising:
-
a plurality of capture circuits each disposed in a corresponding one of said coupled nodes for capturing event data therefor; a plurality of trace data buffers in each said node memory associated with one of said capture circuits each for storing one or more trace data entries for one or more of a plurality of trace formats, wherein each said trace data entry includes one or more linked data blocks each having a header data field and a trace data segment; and timestamp means in each said capture circuit for producing a timestamp for storage in said header field of each said linked data block; wherein each said capture circuit is embodied as a part of one or more integrated circuits disposed in the corresponding said node and is coupled to said node processor, to said node memory, and to each of said one or more node controllers for monitoring of all associated events.
-
-
10. A method for operating a distributed digital system of coupled nodes each for performing at least one digital processing function and each including a node processor, a node memory, and one or more node controllers for exchanging messages with other nodes or devices, said method comprising the steps of:
-
(a) capturing event data in each said node; (b) storing in each of a plurality of trace data buffers in said each node memory one or more trace data entries for one or more of a plurality of trace formats, wherein each said trace data entry includes one or more linked data blocks each having a header data field and a trace data segment; and (c) producing and storing a timestamp in each said header field; wherein said storing step (b) further comprises the steps of; (b.1) storing each said trace data entry for node processor instruction level tracing in a first said trace format; (b.2) storing each said trace data entry for software level tracing in a second said trace format; and (b.3) storing each said trace data entry for internode message level tracing in a third said trace format. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for operating a distributed digital system of coupled nodes each for performing at least one digital processing function and each including a node processor, a node memory, and one or more node controllers for exchanging messages with other nodes or devices, said method comprising the steps of:
-
(a) capturing event data in each said node; (b) storing in each of a plurality of trace data buffers in said each node memory one or more trace data entries for one or more of a plurality of trace formats, wherein each said trace data entry includes one or more linked data blocks each having a header data field and a trace data segment; and (c) producing and storing a timestamp in each said header field; wherein said storing step (b) further comprises the steps of; (b.
1) storing each said trace data entry for node processor instruction level tracing in a first said trace format;(b.2) storing each said trace data entry for software level tracing in a second said trace format; and (b.3) storing each said trace data entry for internode message level tracing in a third said trace format; wherein each said trace data buffer includes trace data entries for more than one said trace format; and wherein the method further comprises the steps of; (d) producing and storing in each said header field a trace format entry for identifying the associated said one or more trace formats; (e) producing and storing in each said header field a linking entry for linking two said data blocks in a sequence; (f) producing and storing in each said header field a process tag and interrupt level for identifying the associated system process; (g) assembling said trace data entries from all said coupled nodes in one said node; and (h) storing said assembled trace data entries in a nonvolatile storage means. - View Dependent Claims (16, 17)
-
-
18. A method for operating a distributed digital system of coupled nodes each for performing at least one digital processing function and each including a node processor, a node memory, and one or more node controllers for exchanging messages with other nodes or devices, said method comprising the steps of:
-
(a) capturing event data in each said node; (b) storing in each of a plurality of trace data buffers in said each node memory one or more trace data entries for one or more of a plurality of trace formats, wherein each said trace data entry includes one or more linked data blocks each having a header data field and a trace data segment; and (c) producing and storing a timestamp in each said header field; wherein said capturing step (a) is performed in a capture circuit embodied as part of one or more integrated circuits in the corresponding said node and wherein said capture circuit is coupled to said node processor, to said node memory, and to each of said one or more node controllers to monitoring of all associated events.
-
-
19. A computer program product for use with a distributed digital system of coupled nodes each for performing at least one digital processing function and each including a node processor, a node memory, and one or more node controllers for exchanging messages with other nodes or devices, said computer program product comprising:
-
a recording medium; means, recorded on said recording medium, for directing said distributed digital system to capture event data in each said node; means, recorded on said recording medium, for directing said distributed digital system to store in each of a plurality of trace data buffers in said each node memory one or more trace data entries for one or more of a plurality of trace formats, wherein each said trace data entry includes one or more linked data blocks each having a header data field and a trace data segment; means, recorded on said recording medium, for directing said distributed digital system to produce and store a time stamp in each said header field; means, recorded on said recording medium, for directing said distributed digital system to produce and store in each said header field a trace format entry for identifying the associated said one or more trace formats; means, recorded on said recording medium, for directing said distributed digital system to produce and store in each said header field a linking entry for linking two said data blocks in a sequence; and means, recorded on said recording medium, for directing said distributed digital system to produce and store in each said header field a process tag and interrupt level for identifying the associated system process. - View Dependent Claims (20, 21)
-
Specification