Switching apparatus and method for providing shared I/O within a load-store fabric
First Claim
1. A switching apparatus for sharing input/output endpoints, the switching apparatus comprising:
- a first plurality of I/O ports, coupled to a plurality of operating system domains (OSDs) through a load-store fabric, each configured to route transactions between said plurality of OSDs and the switching apparatus;
a second I/O port, coupled to a first shared input/output endpoint, wherein said first shared input/output endpoint is configured to request/complete said transactions for each of said plurality of OSDs; and
core logic, coupled to said first plurality of I/O ports and said second I/O port, configured to route said transactions between said first plurality of I/O ports and said second I/O port, wherein said core logic designates a corresponding one of said plurality of OSDs according to a variant of a protocol, and wherein said protocol provides for routing of said transactions only for a single OSD.
8 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method are provided that enable I/O devices to be shared among multiple operating system domains. The apparatus has a first plurality of I/O ports, a second I/O port, and core logic. The first plurality of I/O ports is coupled to a plurality of operating system domains (OSDs) through a load-store fabric, each routing transactions between the plurality of OSDs and the switching apparatus. The second I/O port is coupled to a first shared input/output endpoint. The first shared input/output endpoint requests/completes the transactions for each of the plurality of OSDs. The core logic is coupled to the first plurality of I/O ports and the second I/O port. The core logic routes the transactions between the first plurality of I/O ports and the second I/O port. The core logic designates a corresponding one of the plurality of OSDs according to a variant of a protocol, where the protocol provides for routing of the transactions only for a single OSD.
139 Citations
32 Claims
-
1. A switching apparatus for sharing input/output endpoints, the switching apparatus comprising:
-
a first plurality of I/O ports, coupled to a plurality of operating system domains (OSDs) through a load-store fabric, each configured to route transactions between said plurality of OSDs and the switching apparatus;
a second I/O port, coupled to a first shared input/output endpoint, wherein said first shared input/output endpoint is configured to request/complete said transactions for each of said plurality of OSDs; and
core logic, coupled to said first plurality of I/O ports and said second I/O port, configured to route said transactions between said first plurality of I/O ports and said second I/O port, wherein said core logic designates a corresponding one of said plurality of OSDs according to a variant of a protocol, and wherein said protocol provides for routing of said transactions only for a single OSD. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A shared input/output (I/O) switching mechanism, comprising:
core logic, configured to enable operating system domains to share one or more I/O endpoints over a load-store fabric, said core logic comprising;
global routing logic, configured to route first transactions to/from said operating system domains, and for routing second transactions to/from said one or more I/O endpoints, wherein each of said second transactions designates an associated one of said operating system domains for which an operation specified by each of said first transactions be performed, and wherein said associated one of said operating system domains is designated according to a variant of a protocol, said protocol providing exclusively a single operating system domain within said load-store fabric. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
22. A method for interconnecting independent operating system domains to a shared I/O endpoint within a load-store fabric, comprising:
-
via first ports, first communicating with each of the independent operating system domains according to a protocol that provides exclusively for a single operating system domain within the load-store fabric;
via a second port, second communicating with the shared I/O endpoint according to a variant of the protocol to enable the shared I/O endpoint to associate a prescribed operation with a corresponding one of the independent operating system domains, said second communicating comprising;
encapsulating an OS domain header within a transaction layer packet that otherwise comports with the protocol, wherein the value of the OS domain header designates the corresponding one of the operating system domains; and
via core logic within a switching apparatus, mapping the independent operating system domains to the shared I/O endpoint. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification