System and method for a shared I/O subsystem
First Claim
Patent Images
1. A network system comprising:
- a plurality of servers, where each server includes a host channel adapter (HCA); and
a shared input/output (I/O) subsystem directly connected to each of said plurality of servers via each of said HCA, wherein each HCA communicates with the shared I/O subsystem by sending I/O requests through a switching fabric and the shared I/O subsystem processes the I/O requests, obviating a need for a dedicated I/O subsystem for each of the plurality of servers; and
wherein the shared I/O subsystem includes;
(a) a plurality of I/O interface unit for providing a connection to the plurality of servers to a different type of network;
wherein each I/O interface unit executing code for a link layer, a transport layer and an application protocol, individually provides all the functions of the shared I/O subsystem; and
connecting two or more I/O interface units provides a larger scalable shared I/O subsystem;
wherein each I/O interface unit includes;
(i) a hardware controller that provides a physical interface between the I/O interface unit and an I/O management link;
wherein the hardware controller sends and receives frames over the I/O management link; and
(ii) a software driver executed by a processor for the I/O interface unit, the software driver interfacing with the hardware controller which allows multiple protocols to interface with the software driver via a multiplexing interface; and
(b) a switch card for operationally coupling the plurality of I/O interface units, wherein the switch card receives a data packet from one I/O interface unit and directs the data packet to another I/O interface unit, with the two I/O interface units being coupled to different computing systems following different network protocols; and
the switch card includes a controller for implementing functions of an I/O management unit, a module management unit that facilitates communication between the I/O management unit and a switching unit.
5 Assignments
0 Petitions
Accused Products
Abstract
A computer system that includes a plurality of servers, and a shared I/O subsystem coupled to each of the servers and to one or more I/O interfaces. The shared I/O subsystem services I/O requests made by two or more of the servers. Each I/O interface may couple to a network, appliance, or other device. The I/O requests serviced by the shared I/O subsystem may alternatively include software initiated or hardware initiated I/O requests. Different servers coupled to the shared I/O subsystem may use different operating systems, and each I/O interface may be used by two or more servers.
125 Citations
48 Claims
-
1. A network system comprising:
-
a plurality of servers, where each server includes a host channel adapter (HCA); and a shared input/output (I/O) subsystem directly connected to each of said plurality of servers via each of said HCA, wherein each HCA communicates with the shared I/O subsystem by sending I/O requests through a switching fabric and the shared I/O subsystem processes the I/O requests, obviating a need for a dedicated I/O subsystem for each of the plurality of servers; and wherein the shared I/O subsystem includes; (a) a plurality of I/O interface unit for providing a connection to the plurality of servers to a different type of network;
wherein each I/O interface unit executing code for a link layer, a transport layer and an application protocol, individually provides all the functions of the shared I/O subsystem; and
connecting two or more I/O interface units provides a larger scalable shared I/O subsystem;wherein each I/O interface unit includes; (i) a hardware controller that provides a physical interface between the I/O interface unit and an I/O management link;
wherein the hardware controller sends and receives frames over the I/O management link; and(ii) a software driver executed by a processor for the I/O interface unit, the software driver interfacing with the hardware controller which allows multiple protocols to interface with the software driver via a multiplexing interface; and (b) a switch card for operationally coupling the plurality of I/O interface units, wherein the switch card receives a data packet from one I/O interface unit and directs the data packet to another I/O interface unit, with the two I/O interface units being coupled to different computing systems following different network protocols; and
the switch card includes a controller for implementing functions of an I/O management unit, a module management unit that facilitates communication between the I/O management unit and a switching unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A shared input/output (I/O) subsystem for processing I/O requests received from a plurality of servers, each server communicating with the shared I/O subsystem via a host channel adapter (HCA), the shared I/O subsystem, comprising:
-
(a) a plurality of I/O interface units for providing a connection to the plurality of servers to a different type of network;
wherein each I/O interface unit provides all the functions of the shared I/O subsystem; and
connecting two or more I/O interface units provides a larger scalable shared I/O subsystem;wherein each I/O interface unit includes; (i) a hardware controller that provides a physical interface between the I/O interface unit and an I/O management link; and (ii) a software driver executed by a processor for the I/O interface unit, the software driver interfacing with the hardware controller, which allows multiple protocols, including a link layer, to interface with the software driver via a multiplexing interface; (b) a switch card for operationally coupling the plurality of I/O interface units, wherein the switch card receives a data packet from one I/O interface unit and directs the data packet to another I/O interface unit, with the two I/O interface units being coupled to different computing systems following different network protocols;
wherein the switch card includes;(i) an I/O management unit that provides a configuration function, a management function and a monitoring function for communication between the plurality of I/O interface units; (ii) a switching unit for receiving and filtering I/O requests and identifying an I/O interface unit on which to send the I/O requests, wherein the switching unit includes a plurality of ports connecting to the plurality of servers; and (iii) a module management unit for facilitating communication between the I/O management unit and the switching unit; wherein a hardware controller for the switch card implementing a plurality of physical interfaces also implements the functionality of the I/O management unit, the module management unit and the switching unit; and wherein each HCA communicates I/O requests to the shared I/O subsystem via a switching fabric for reading and writing data to a storage device, the shared I/O subsystem processing the I/O requests and obviating a need for a dedicated I/O subsystem for each of the plurality of servers. - View Dependent Claims (40, 41, 42, 43)
-
-
44. A shared input/output (I/O) subsystem for processing I/O requests received from a plurality of servers, each server communicating with the shared I/O subsystem via a host channel adapter (HCA), the shared I/O subsystem, comprising:
-
(a) a plurality of I/O interface units for providing a connection to the plurality of servers to a different type of network;
wherein each I/O interface unit provides all the functions of the shared I/O subsystem; and
connecting two or more I/O interface units provides a larger scalable shared I/O subsystem;wherein each I/O interface unit includes; (i) a hardware controller that provides a physical interface between the I/O interface unit and an I/O management link; and (ii) a software driver executed by a processor for the I/O interface unit, the software driver interfacing with the hardware controller, which allows multiple protocols including a link layer, to interface with the software driver via a multiplexing interface; (b) a switch card for operationally coupling the plurality of I/O interface units, wherein the switch card receives a data packet from one I/O interface unit and directs the data packet to another I/O interface unit, with the two I/O interface units being coupled to different computing systems following different network protocols;
wherein the switch card includes;(i) an I/O management unit that provides a configuration function, a management function and a monitoring function for communication between the plurality of I/O interface units; (ii) a switching unit for receiving and filtering I/O requests and identifying an I/O interface unit on which to send the I/O requests, wherein the switching unit includes a plurality of ports connecting to the plurality of servers; and (iii) a module management unit for facilitating communication between the I/O management unit and the switching unit; wherein a hardware controller for the switch card implementing a plurality of physical interfaces also implements the functionality of the I/O management unit, the module management unit and the switching unit; and (c) a target channel adapter (TCA) coupled to each I/O interface unit and communicating with each HCA via a switching fabric;
wherein the TCA acts as a layer between the plurality of servers and the I/O interface unit for handling all I/O requests; andwherein each HCA communicates I/O requests to the TCA via the switching fabric for reading and writing data to a storage device, the TCA processing the I/O requests obviating a need for a dedicated I/O subsystem for each of the plurality of servers. - View Dependent Claims (45, 46, 47, 48)
-
Specification