Method and apparatus for shared I/O in a load/store fabric
First Claim
1. An apparatus to allow a first computer and a second computer to share a network interface controller, the apparatus comprising:
- a shared I/O switch;
a shared Ethernet network interface controller, wherein in lieu of including an Ethernet controller within each of the first computer and the second computer, each of the first computer and the second computer are coupled to share the Ethernet network interface controller in order to communicate on a network using an Ethernet protocol;
a first link coupling the first computer to said shared I/O switch;
a second link coupling the second computer to said shared I/O switch;
a third link coupling said shared I/O switch to the Ethernet network interface controller, said third link utilizing a serial load/store fabric to pass packets originating from both the first computer and the second computer to the Ethernet network interface controller, wherein packets conveyed via said third link include header information which associates each of said packets with either the first computer or the second computer; and
an interface for the Ethernet network interface controller which examines said packets, including said header information, and selects resources for said packets based on said association.
7 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method is provided for allowing I/O devices to be shared and/or partitioned among a plurality of processing complexes within the load/store fabric of each of the processing complexes without requiring modification to the operating system or driver software of the processing complexes. The apparatus and method includes a switch for selectively coupling each of the processing complexes to one or more shared I/O devices. The apparatus and method further includes placing information within packets transmitted between the switch and the I/O devices to identify which of the processing complexes the packets are associated with. The invention further includes an apparatus and method within the shared I/O devices to allow the shared I/O devices to service each of the processing complexes independently.
-
Citations
22 Claims
-
1. An apparatus to allow a first computer and a second computer to share a network interface controller, the apparatus comprising:
-
a shared I/O switch; a shared Ethernet network interface controller, wherein in lieu of including an Ethernet controller within each of the first computer and the second computer, each of the first computer and the second computer are coupled to share the Ethernet network interface controller in order to communicate on a network using an Ethernet protocol; a first link coupling the first computer to said shared I/O switch; a second link coupling the second computer to said shared I/O switch; a third link coupling said shared I/O switch to the Ethernet network interface controller, said third link utilizing a serial load/store fabric to pass packets originating from both the first computer and the second computer to the Ethernet network interface controller, wherein packets conveyed via said third link include header information which associates each of said packets with either the first computer or the second computer; and an interface for the Ethernet network interface controller which examines said packets, including said header information, and selects resources for said packets based on said association. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method to allow at least two root complexes to share an endpoint device within a serial load/store fabric, comprising:
-
receiving original packets, at a switch, from the at least two root complexes; modifying the received original packets to form modified packets by adding header information which identifies a root complex which is a source of each of the packets; receiving the modified packets at the endpoint device, wherein the endpoint device is configured to communicate using a first protocol, and wherein in lieu of including dedicated endpoint devices within each of the root complexes that is configured to communicate using the first protocol, each of the root complexes are coupled to share the endpoint device in order to communicate using the first protocol; at the endpoint device, examining the modified packets to determine which of the at least two root complexes are associated with the original packets; allocating resources for the original packets based on the association; and processing the original packets according to said step of allocating. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification