Unified debug system with multiple user-configurable trace volumes and trace buffers
First Claim
1. A system comprising:
- a first set of trace entries and corresponding timestamps stored in in a first memory component, based on a first trace volume;
a second set of trace entries and corresponding timestamps stored in a second memory component, based on a second trace volume; and
parallel timestamps corresponding to the second set of trace entries stored in the first memory component to provide trace entry time correlation for the first set of trace entries and the second set of trace entries,wherein a bit-length of each of the timestamps corresponding to the first set of trace entries is different from a bit-length of each of the parallel timestamps,wherein the first trace volume is a user-configurable fast trace volume which provides fastest available trace storage and comprises spooling at least some of the first set of trace entries stored in the first memory component to the second memory component to provide longer-term storage and retention of the first set of trace entries, and the second trace volume is a user-configurable non-fast trace volume.
5 Assignments
0 Petitions
Accused Products
Abstract
A unified debug system with multiple user-configurable trace volumes is disclosed, including embodiments as a system, a method, and a computer-readable medium. Embodiments of the present invention provide more robust and flexible solutions for introducing configurable trace volumes to firmware, allowing a user to specify firmware system configurations for trace buffers, trace frames, and trace volumes, and offer other advantages over the prior art. One embodiment of the present invention pertains to a system that includes a firmware component comprising firmware, and a firmware interface communicatively connected to the firmware component. The firmware includes a plurality of trace volumes for storing a plurality of trace entries. The trace volumes are user-configurable through the firmware interface. The plurality of trace volumes includes first, second and third trace volumes. The first trace volume includes storing at least some of the trace entries to a trace buffer in a first volatile memory component. The second trace volume includes storing at least some of the trace entries to one or more trace buffers in one or more trace frames in a second volatile memory component. The third trace volume includes storing at least some of the trace entries to one or more trace buffers in one or more trace frames in a non-volatile memory component.
59 Citations
20 Claims
-
1. A system comprising:
-
a first set of trace entries and corresponding timestamps stored in in a first memory component, based on a first trace volume; a second set of trace entries and corresponding timestamps stored in a second memory component, based on a second trace volume; and parallel timestamps corresponding to the second set of trace entries stored in the first memory component to provide trace entry time correlation for the first set of trace entries and the second set of trace entries, wherein a bit-length of each of the timestamps corresponding to the first set of trace entries is different from a bit-length of each of the parallel timestamps, wherein the first trace volume is a user-configurable fast trace volume which provides fastest available trace storage and comprises spooling at least some of the first set of trace entries stored in the first memory component to the second memory component to provide longer-term storage and retention of the first set of trace entries, and the second trace volume is a user-configurable non-fast trace volume. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
providing a system comprising; a first memory component; and a second memory component; storing a first set of trace entries and corresponding timestamps in the first memory component, based on a first trace volume; storing a second set of trace entries and corresponding timestamps in the second memory component, based on a second trace volume; and storing parallel timestamps corresponding to the second set of trace entries in the first memory component to provide trace entry time correlation for the first set of trace entries and the second set of trace entries, wherein a bit-length of each of the timestamps corresponding to the first set of trace entries is different from a bit-length of each of the parallel timestamps, wherein the first trace volume is a user-configurable fast trace volume which provides fastest available trace storage and comprises spooling at least some of the first set of trace entries stored in the first memory component to the second memory component to provide longer-term storage and retention of the first set of trace entries, and the second trace volume is a user-configurable non-fast trace volume. - View Dependent Claims (18, 19)
-
-
20. A system comprising:
-
a first set of trace entries stored in in a trace buffer in a first memory component; a second set of trace entries and corresponding timestamps stored in one or more trace buffers in one or more trace frames in a second memory component; a third set of trace entries and corresponding timestamps stored in one or more trace buffers in one or more trace frames in a third memory component; and parallel timestamps corresponding to the second set of trace entries and parallel timestamps corresponding to the third set of trace entries stored in the first memory component, wherein at least one of the trace frames in the third memory component is selected from the group consisting of a lifetime trace frame that comprises trace buffers with trace entries configured to persist for the lifetime of the system, wherein the trace buffers configured to persist for the lifetime of the system include a drive format trace buffer and a firmware download trace buffer; and
a configuration and defect management history trace frame, comprising a plurality of trace buffers that may be overwritten, the plurality of trace buffers that may be overwritten including a Mode Select command trace buffer, a Log Select command buffer, and an automatic reassignments trace buffer.
-
Specification