Method and system for efficiently recording processor events in host bus adapters
First Claim
1. A system for storing trace information for an adapter coupled to a host computing system, comprising:
- a plurality of processing modules in the adapter, each processing module provides a trace information indicative of an operation performed by the processing module;
a programmable trace logic that includes a plurality of trace registers and a temporary memory, and the programmable trace logic configured to selectively enable and disable collection of trace information from the plurality of processing modules by a firmware executed by the adapter;
wherein each of the processing modules is assigned a dedicated trace register from among the plurality of trace registers in the programmable trace logic; and
when the collection of trace information from the plurality of processing modules is selectively enabled for collection by the adapter, the trace information provided by each of the plurality of processing module selectively enabled for collection is temporarily stored in the temporary memory of the programmable trace logic; and
wherein the temporarily stored trace information provided by each of the processing module selectively enabled for collection, a code indicative of the processing module and a time stamp indicative of when the trace information was collected is transferred from the temporary memory to a memory external to the adapter.
7 Assignments
0 Petitions
Accused Products
Abstract
A host bus adapter (“HBA”) is provided with a programmable trace logic that can be enabled or disabled by firmware running on the HBA and if enabled can receive trace information from at least one processor, which is stored in a local memory buffer controlled by a local memory interface. A receive and transmit path processor data is traced and stored in the local memory buffer. The trace logic includes an arbitration module that receives trace data from plural sources and the trace data is stored in a first in first out based buffer before being sent to a direct memory access arbiter module and then to an external memory. Trace data as stored in the external memory includes a trace data source identity value, and a time stamp value indicating when data was collected.
212 Citations
22 Claims
-
1. A system for storing trace information for an adapter coupled to a host computing system, comprising:
-
a plurality of processing modules in the adapter, each processing module provides a trace information indicative of an operation performed by the processing module; a programmable trace logic that includes a plurality of trace registers and a temporary memory, and the programmable trace logic configured to selectively enable and disable collection of trace information from the plurality of processing modules by a firmware executed by the adapter; wherein each of the processing modules is assigned a dedicated trace register from among the plurality of trace registers in the programmable trace logic; and
when the collection of trace information from the plurality of processing modules is selectively enabled for collection by the adapter, the trace information provided by each of the plurality of processing module selectively enabled for collection is temporarily stored in the temporary memory of the programmable trace logic; andwherein the temporarily stored trace information provided by each of the processing module selectively enabled for collection, a code indicative of the processing module and a time stamp indicative of when the trace information was collected is transferred from the temporary memory to a memory external to the adapter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A host bus adapter (“
- HBA”
) coupled to a host computing system, the HBA having a plurality of processing modules for transferring information to and from the host computing system, comprising;each processing module configured to provide a trace information indicative of the operation performed by the processing module; a local memory interface that includes a programmable trace logic that is configured to selectively enable and disable collection of trace information from the plurality of processing modules by a firmware executed by the HBA; wherein the programmable trace logic includes a plurality of trace registers and a temporary memory; and
each of the processing module is assigned a dedicated trace register from among the plurality of trace registers; and
when, the collection of trace information from the plurality of processing modules is selectively enabled by the adapter, the trace information provided by each of the plurality of processing module selectively enabled for collection is temporarily stored in the temporary memory of the programmable trace logic; andwherein the temporarily stored trace information provided by each of the processing module selectively enabled for collection, a code indicative of the processing module and a time stamp indicative of when the trace information was collected is transferred to a memory external to the adapter. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
- HBA”
-
19. A local memory interface for storing processor trace information for an adapter coupled to a host computing system, the adapter using a plurality of processing modules transferring information to and from the host computing system, comprising:
-
a programmable trace logic that includes a plurality of trace registers and a temporary memory; wherein the programmable trace logic is configured to receive from each processing module a trace information indicative of the operation performed by the processing module; wherein the programmable trace logic is configured to selectively enable and disable collection of trace information from the plurality of processing modules by a firmware executed by the adapter; wherein each of the processing modules is assigned a dedicated trace register from among the plurality of trace registers; and
when the collection of trace information from the plurality of processing modules is selectively enabled by the adapter, the trace information received from each of the plurality of processing module selectively enabled for collection is temporarily stored in the temporary memory; andwherein the temporarily stored trace information received from each of the processing module, a code indicative of the processing module and a time stamp indicative of when the trace information was collected is transferred from the temporary memory to a memory external to the adapter. - View Dependent Claims (20, 21, 22)
-
Specification