Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
First Claim
1. A Fibre Channel (FC) controller shareable by a plurality of operating system domains (OSDs) within a load-store architecture, comprising:
- a programming interface, located within a system load-store memory map of each of the plurality of OSDs for requesting the controller to perform I/O operations with remote FC devices, said programming interface comprising a distinct control/status register (CSR) bank for each of the plurality of OSDs, wherein the plurality of OSDs execute load-store instructions addressed to said programming interface to request said I/O operations, wherein the controller receives corresponding load-store transactions in response to execution of said load-store instructions;
selection logic, coupled to said CSR banks, configured to select as a target of each of said load-store transactions said distinct CSR bank for the one of the plurality of OSDs that executed said corresponding load-store instruction; and
a FC port, coupled to said programming interface, configured to obtain a distinct FC port identifier for each of the plurality of OSDs, and to transceive FC frames with said remote FC devices using said distinct FC port identifier for each of the plurality of OSDs in response to said I/O operation requests.
7 Assignments
0 Petitions
Accused Products
Abstract
A Fibre Channel controller shareable by a plurality of operating system domains (OSDs) is disclosed. The controller includes a programming interface, located within a system load-store memory map of each OSD by which the OSDs request the controller to perform I/O operations with remote FC devices. The programming interface includes a distinct control/status register (CSR) bank for each of OSD. The OSDs execute load-store instructions addressed to the programming interface to request the I/O operations. Selection logic selects as a target of each of the load-store transactions the distinct CSR bank for the OSD that executed the corresponding load-store instruction. An FC port obtains a distinct FC port identifier for each OSD and transceives FC frames with the remote FC devices using the distinct FC port identifier for each OSD in response to the I/O operation requests. In one embodiment, multiple blade servers share the controller via a shared I/O switch.
-
Citations
81 Claims
-
1. A Fibre Channel (FC) controller shareable by a plurality of operating system domains (OSDs) within a load-store architecture, comprising:
-
a programming interface, located within a system load-store memory map of each of the plurality of OSDs for requesting the controller to perform I/O operations with remote FC devices, said programming interface comprising a distinct control/status register (CSR) bank for each of the plurality of OSDs, wherein the plurality of OSDs execute load-store instructions addressed to said programming interface to request said I/O operations, wherein the controller receives corresponding load-store transactions in response to execution of said load-store instructions;
selection logic, coupled to said CSR banks, configured to select as a target of each of said load-store transactions said distinct CSR bank for the one of the plurality of OSDs that executed said corresponding load-store instruction; and
a FC port, coupled to said programming interface, configured to obtain a distinct FC port identifier for each of the plurality of OSDs, and to transceive FC frames with said remote FC devices using said distinct FC port identifier for each of the plurality of OSDs in response to said I/O operation requests. - 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, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
-
-
73. A blade server environment comprising:
-
a plurality of blade servers;
a shared switch for coupling to the plurality of blade servers, and for providing communication between the plurality of blade servers and a downstream endpoint, the downstream endpoint comprising a shared Fibre Channel (FC) controller, said controller comprising;
a programming interface, located within a system load-store memory map of each of the plurality of blade servers for requesting the controller to perform I/O operations with remote FC devices, said programming interface comprising a distinct control/status register (CSR) bank for each of the plurality of blade servers, wherein the plurality of blade servers execute load-store instructions addressed to said programming interface to request said I/O operations, wherein the controller receives corresponding load-store transactions from the shared switch in response to execution of said load-store instructions;
selection logic, coupled to said CSR banks, configured to select as a target of each of said load-store transactions said distinct CSR bank for the one of the plurality of blade servers that executed said corresponding load-store instruction; and
a FC port, coupled to said programming interface, configured to obtain a distinct FC port identifier for each of the plurality of blade servers, and to transceive FC frames with said remote FC devices using said distinct FC port identifier for each of the plurality of blade servers in response to said I/O operation requests. - View Dependent Claims (74, 75)
-
-
76. A method for sharing a Fibre Channel (FC) controller by a plurality of operating system domains (OSD), the method comprising:
-
obtaining a unique port identifier from a FC fabric for each of a respective one of the plurality of OSDs;
receiving from each of the plurality of OSDs a store transaction, the store transaction commanding the controller to perform an I/O operation with a remote FC device via a FC port of the controller;
directing the store transaction to one of a respective plurality of control/status register banks based on which one of the plurality of OSDs the store transaction was received from, in response to said receiving;
populating a FC frame with the unique port identifier obtained for the one of the plurality of OSDs the store transaction was received from, after said directing; and
transmitting said FC frame via the FC port on the FC fabric to the remote FC device, after said populating. - View Dependent Claims (77, 78, 79, 80, 81)
-
Specification