Method and apparatus for a shared I/O network interface controller
First Claim
1. A shareable network interface controller (NIC) for a computing device having a plurality of operating system domains (OSDs), each OSD having a logically distinct load-store domain, the shareable network interface controller comprising:
- a bus interface for coupling the shareable NIC to each of the plurality of OSDs within said computing device, the bus interface enabling each OSD to directly access the NIC from within its own logically distinct load-store domain using load-store instructions;
a plurality of local resources including distinct local resources for use by each of the OSDs, wherein particular local resources of the plurality of local resources which are associated with a given OSD of the plurality of OSDs are configurable by only the given OSD;
one or more global resources for use in processing transactions of all of said plurality of OSDs, wherein a configuration of said one or more global resources affects processing of transactions for all of said OSDs;
registration logic, coupled to said bus interface, for registering one of the plurality of OSDs as a master of the shareable network interface controller, wherein the master is an only one of the plurality of OSDs allowed to configure the one or more global resources; and
logic configured to couple said controller to a network;
wherein data conveyed from each of said plurality of OSDs is conveyed from each of said plurality of OSDs via said bus interface to a network.
6 Assignments
0 Petitions
Accused Products
Abstract
A network interface controller is provided which is shareable by a plurality of operating system domains (OSDs) within their load-store architecture. The controller includes local resources for corresponding to the OSDs, and global resources corresponding to both the OSDs and a network fabric. A method and apparatus is provided for distinguishing between the local and global resources, for purposes of reset and configuration. The controller allows a reset of only those local resources which are associated with the OSD transmitting the reset. Registration logic allows one of the OSDs to register as master, for configuration and reset of global resources.
179 Citations
51 Claims
-
1. A shareable network interface controller (NIC) for a computing device having a plurality of operating system domains (OSDs), each OSD having a logically distinct load-store domain, the shareable network interface controller comprising:
-
a bus interface for coupling the shareable NIC to each of the plurality of OSDs within said computing device, the bus interface enabling each OSD to directly access the NIC from within its own logically distinct load-store domain using load-store instructions; a plurality of local resources including distinct local resources for use by each of the OSDs, wherein particular local resources of the plurality of local resources which are associated with a given OSD of the plurality of OSDs are configurable by only the given OSD; one or more global resources for use in processing transactions of all of said plurality of OSDs, wherein a configuration of said one or more global resources affects processing of transactions for all of said OSDs; registration logic, coupled to said bus interface, for registering one of the plurality of OSDs as a master of the shareable network interface controller, wherein the master is an only one of the plurality of OSDs allowed to configure the one or more global resources; and logic configured to couple said controller to a network; wherein data conveyed from each of said plurality of OSDs is conveyed from each of said plurality of OSDs via said bus interface to a network. - 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)
-
-
40. A network interface controller (NIC) which is shareable by a plurality of operating system domains (OSDs) within a computing device, each OSD having a logically distinct load-store domain, by utilizing load-store instructions, the controller comprising:
-
a bus interface, for coupling the NIC to each of the plurality of OSDs within said computing device, the bus interface enabling each OSD to directly access the NIC from within its own logically distinct load-store domain using load-store instructions; a plurality of local resources, each of said plurality of local resources associated with a different one of the plurality of OSDs; one or more global resources, wherein each of the one or more global resources is utilized for processing said load-store instructions for each of the plurality of OSDs; registration logic, coupled to said bus interface, for registering one of the plurality of OSDs as a master of the shareable network interface controller, wherein the master is an only one of the plurality of OSDs allowed to configure the one or more global resources; a reset from one of the plurality of OSDs which causes a reset of its associated local resource; and logic configured to couple said controller to a network; wherein data conveyed from each of said plurality of OSDs is conveyed from each of said plurality of OSDs via said bus interface to a network; and wherein said reset does not cause other ones of the plurality of local resources to be reset. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
Specification