Visualization system for debug or performance analysis of soc systems
Abstract
A selection associated with a desired set of visual information, associated with a system on chip (SOC) that includes a hardware functional module and a firmware functional module, is received. A template is selected from a plurality of available templates based at least in part on the selection associated with the desired set of visual information. The selected template is used by the SOC to generate reported information, including by configuring the hardware functional module, as prescribed by the selected template, to generate select hardware-reported information and configuring the firmware functional module, as prescribed by the selected template, to generate select firmware-reported information. The reported information is received and the desired set of visual information is displayed.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system, comprising:
an interface configured to:
receive a selection associated with a desired set of visual information, wherein the desired set of visual information is associated with a system on chip (SOC) that includes a hardware functional module and a firmware functional module; and
receive reported information, including select hardware-reported information and select firmware-reported information;
a processor configured to select, based at least in part on the selection associated with the desired set of visual information, a template from a plurality of available templates, wherein the selected template is used by the SOC to generate the reported information, including by:
configuring the hardware functional module, as prescribed by the selected template, to generate the select hardware-reported information; and
configuring the firmware functional module, as prescribed by the selected template, to generate the select firmware-reported information;
a display configured to display the desired set of visual information, including by using the select firmware-reported information and the select firmware-reported information.
2 . The system recited in claim 1 , wherein the hardware functional module includes one or more of the following: a PCI Express (PCIe) functional module, a nonvolatile memory (NVMe) functional module associated with communicating with a host driver to receive host commands, or an error correction decoder.
3 . The system recited in claim 1 , wherein:
the reported information includes a timestamped and aggregated message stream; and the timestamped and aggregated message stream is generated by an aggregation module included in the SOC that is configured to:
receive hardware event information in a standardized message format from the hardware functional module;
receive firmware event information in the standardized message format from the firmware functional module; and
aggregate and timestamp the hardware event information in the standardized message format and the firmware event information in the standardized message format to obtain the timestamped and aggregated message stream.
4 . The system recited in claim 3 , wherein timestamping includes writing a timestamp into a reserved field in the standardized message format that is reserved for the timestamp.
5 . The system recited in claim 3 , wherein:
the hardware functional module includes one or more of the following: a PCI Express (PCIe) functional module, a nonvolatile memory (NVMe) functional module associated with communicating with a host driver to receive host commands, or an error correction decoder; and the hardware event information in the standardized message format includes one or more of the following: a low power event associated with the PCIe functional module, an error associated with the PCIe functional module, an end of read associated with the NVMe functional module, an end of write associated with the NVMe functional module, an end of command fetch associated with the NVMe functional module, a write to a memory space used by the host driver to communicate the host commands, or an end of error correction decoding associated with the error correction decoder.
6 . The system recited in claim 1 , wherein displaying the desired set of visual information includes:
identifying a starting event-based message and an ending event-based message based at least in part on a same value for a unique operation identifier in the starting event-based message and the ending event-based message; calculating a latency by subtracting a starting timestamp, included in the starting event-based message, from an ending timestamp, included in the ending event-based message; and generating latency-related visual information based at least in part on the latency, wherein the desired set of visual information includes the latency-related visual information.
7 . The system recited in claim 1 , wherein:
the SoC includes a Flash storage controller; and the interface is configured to receive the selection associated with the desired set of visual information, including by receiving one or more of the following: a first selection associated with displaying latency information, a second selection associated with displaying bus utilization information, or a third selection associated with displaying a die access sequence associated with a plurality of die in Flash storage media that is managed by the Flash storage controller.
8 . A method, comprising:
using an interface to receive a selection associated with a desired set of visual information, wherein the desired set of visual information is associated with a system on chip (SOC) that includes a hardware functional module and a firmware functional module; using a processor to select, based at least in part on the selection associated with the desired set of visual information, a template from a plurality of available templates, wherein the selected template is used by the SOC to generate reported information, including by:
configuring the hardware functional module, as prescribed by the selected template, to generate select hardware-reported information; and
configuring the firmware functional module, as prescribed by the selected template, to generate select firmware-reported information;
using the interface to receive the reported information, including the select hardware-reported information and the select firmware-reported information; and using a display to display the desired set of visual information, including by using the select firmware-reported information and the select firmware-reported information.
9 . The method recited in claim 8 , wherein the hardware functional module includes one or more of the following: a PCI Express (PCIe) functional module, a nonvolatile memory (NVMe) functional module associated with communicating with a host driver to receive host commands, or an error correction decoder.
10 . The method recited in claim 8 , wherein:
the reported information includes a timestamped and aggregated message stream; and the timestamped and aggregated message stream is generated by an aggregation module included in the SOC that is configured to:
receive hardware event information in a standardized message format from the hardware functional module;
receive firmware event information in the standardized message format from the firmware functional module; and
aggregate and timestamp the hardware event information in the standardized message format and the firmware event information in the standardized message format to obtain the timestamped and aggregated message stream.
11 . The method recited in claim 10 , wherein timestamping includes writing a timestamp into a reserved field in the standardized message format that is reserved for the timestamp.
12 . The method recited in claim 10 , wherein:
the hardware functional module includes one or more of the following: a PCI Express (PCIe) functional module, a nonvolatile memory (NVMe) functional module associated with communicating with a host driver to receive host commands, or an error correction decoder; and the hardware event information in the standardized message format includes one or more of the following: a low power event associated with the PCIe functional module, an error associated with the PCIe functional module, an end of read associated with the NVMe functional module, an end of write associated with the NVMe functional module, an end of command fetch associated with the NVMe functional module, a write to a memory space used by the host driver to communicate the host commands, or an end of error correction decoding associated with the error correction decoder.
13 . The method recited in claim 8 , wherein displaying the desired set of visual information includes:
identifying a starting event-based message and an ending event-based message based at least in part on a same value for a unique operation identifier in the starting event-based message and the ending event-based message; calculating a latency by subtracting a starting timestamp, included in the starting event-based message, from an ending timestamp, included in the ending event-based message; and generating latency-related visual information based at least in part on the latency, wherein the desired set of visual information includes the latency-related visual information.
14 . The method recited in claim 8 , wherein:
the SoC includes a Flash storage controller; and receiving the selection associated with the desired set of visual information includes receiving one or more of the following: a first selection associated with displaying latency information, a second selection associated with displaying bus utilization information, or a third selection associated with displaying a die access sequence associated with a plurality of die in Flash storage media that is managed by the Flash storage controller.Join the waitlist — get patent alerts
Track US2023153189A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.