Virtual interrupt mechanism
First Claim
Patent Images
1. A host comprising:
- a processor;
at least one host-fabric adapter coupled to said processor and provided to interface with a switched fabric, which generates an event; and
an operating system comprising multiple channel drivers and a host-fabric adapter software stack having a plurality of functional layers to access the switched fabric and to access information about fabric configuration, fabric topology, and connection information, the host-fabric adapter software stack providing a virtual interrupt mechanism to each channel driver to handle the flow of event information between the host-fabric adapter and a designated channel driver to process the event information.
1 Assignment
0 Petitions
Accused Products
Abstract
A host coupled to a switched fabric including one or more fabric-attached I/O controllers. Such a host may comprise a processor; at least one host-fabric adapter coupled to said processor and provided to interface with a switched fabric, which generates an event; and an operating system comprising multiple channel drivers and a host-fabric adapter software stack providing a virtual interrupt mechanism to each channel driver to handle the flow of event information from the host-fabric adapter to a designated channel driver for event processing.
131 Citations
26 Claims
-
1. A host comprising:
-
a processor;
at least one host-fabric adapter coupled to said processor and provided to interface with a switched fabric, which generates an event; and
an operating system comprising multiple channel drivers and a host-fabric adapter software stack having a plurality of functional layers to access the switched fabric and to access information about fabric configuration, fabric topology, and connection information, the host-fabric adapter software stack providing a virtual interrupt mechanism to each channel driver to handle the flow of event information between the host-fabric adapter and a designated channel driver to process the event information. - View Dependent Claims (2, 3, 4)
-
-
5. A host comprising:
-
a processor;
at least one host-fabric adapter coupled to said processor and provided to interface with a switched fabric, which generates an event; and
an operating system comprising multiple channel drivers and a host-fabric adapter software stack providing a virtual interrupt mechanism to each channel driver to handle the flow of event information between the host-fabric adapter and a designated channel driver to process the event information, wherein said host-fabric adapter software stack comprises;
a device-specific driver which provides an abstract interface to all of the initialization, configuration and control interfaces of the host-fabric adapter;
a fabric bus driver which manages the device-specific driver, controls resources common to all host-fabric adapters in said host and resources specific to each host-fabric adapter in said host, distributes event information and controlling access to specific device functions; and
a services layer inherent to every channel driver for handling events. - View Dependent Claims (6, 7, 8, 9)
a device-specific driver which manages the event and removes the event from the Event Queue by creating a private copy of the event and setting the entry in the Event Queue to an initial preset value;
a fabric bus driver which determines the ownership of the resource identified by the event using a supplied host-fabric adapter identification and the information encoded in the event from a resource owner table, and forwards to an identified channel driver along with the host-fabric adapter identification; and
a services layer inherent to every channel driver which adds the forwarded event to an Event Queue of the designated channel driver so that the designated channel driver may remove the forwarded event and determine the nature of the event.
-
-
8. The host as claimed in claim 7, wherein said host-fabric adapter software stack complies with the “
-
Next Generation Input/Output (NGIO) Specification” and
the “
Next Generation I/O Architecture;
Host Channel Adapter Software Specification”
to describe error events.
-
Next Generation Input/Output (NGIO) Specification” and
-
9. The host as claimed in claim 6, wherein said virtual interrupt mechanism handles the flow of event information by:
-
removing an event entry from the Event Queue of the host-fabric adapter in response to receipt of the Event Queue interrupt;
determining the ownership of the resource identified by the Event using a supplied host-fabric adapter identification and the information encoded in the Event from a resource owner table; and
adding the forwarded event information to an Event Queue of the designated channel driver for enabling the designated channel driver to remove the event entry from the Event Queue, decode the event and process the same so as to exchange data with another host via said switched fabric.
-
-
10. A network, comprising:
-
a switched fabric;
I/O controllers attached to said switched fabric; and
a host comprising a host-fabric adapter provided to interface with said switched fabric and generate an event, and an operating system comprising multiple channel drivers and a host-fabric adapter software stack having a plurality of functional layers to access the switched fabric and to access information about fabric configuration, fabric topology, and connection information, the host-fabric adapter software stack providing a virtual interrupt mechanism to each channel driver to handle the flow of event information between the host-fabric adapter and a designated channel driver to process the event information. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A network, comprising:
-
a switched fabric;
I/O controllers attached to said switched fabric; and
a host comprising a host-fabric adapter provided to interface with said switched fabric and generate an event, and an operating system comprising multiple channel drivers and a host-fabric adapter software stack providing a virtual interrupt mechanism to each channel driver to handle the flow of event information between the host-fabric adapter and a designated channel driver to process the event information, wherein said host-fabric adapter software stack comprises;
a device-specific driver which provides an abstract interface to all of the initialization configuration and control interfaces of the host-fabric adapter;
a fabric bus driver which manages the device-specific driver, controls resources common to all host-fabric adapters in said host and resources specific to each host-fabric adapter in said host, distributes event information and controlling access to specific device functions; and
a services layer inherent to every channel driver for handling events. - View Dependent Claims (21, 22)
-
- 17. The network as claimed in 16, wherein said host-fabric adapter adds an event entry to an Event Queue in response to an error detection or when an event request is outstanding and the conditions for that request have been fulfilled, and asserts an interrupt signal line to indicate that a new entry has been added to the Event Queue.
-
23. A computer usable medium having computer readable program codes embodied therein for use in a host to handle the flow of event information generated from one of host-fabric adapters connected to a switched fabric, said computer readable program codes comprising:
-
a device-specific driver which provides an abstract interface to all of the initialization, configuration and control interfaces of the host-fabric adapters;
a fabric bus driver which manages the device-specific driver, controls resources common to all host-fabric adapters in said host and resources specific to each host-fabric adapter in said host, distributes event information and controlling access to specific device functions; and
a channel driver which handles the event information received through the device-specific driver and the fabric bus driver. - View Dependent Claims (24)
removing an event entry from an Event Queue of one of said host-fabric adapters in response to receipt of an Event Queue interrupt;
determining the ownership of the resource identified by an Event using a supplied host-fabric adapter identification and the information encoded in the Event from a resource owner table; and
adding the forwarded event information to an Event Queue of said channel driver for enabling said channel driver to remove the event entry from the Event Queue, decode the event and process the same so as to exchange data with another host via said switched fabric.
-
-
25. A method for handling multiple device events from a hardware-based host-fabric adapter and directing a particular event and associated information to a designated one of channel drivers in a host, comprising:
-
removing an event entry indicating said particular event from an event queue of the host-fabric adapter in response to an event queue interrupt;
determining the ownership of the resource identified by said particular event using a supplied host-fabric adapter identification and the information encoded in the event from a resource owner table; and
adding the forwarded event information to an event queue of the designated one of channel drivers for enabling the designated channel driver to remove the event entry from the event queue, decode the event and process the same so as to exchange data with another host via said switched fabric. - View Dependent Claims (26)
-
Specification