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 plurality of control/status register (CSR) banks, wherein a respective one of said plurality of CSR banks is used by each of the plurality of OSDs to request the shared FC controller to perform I/O operations with remote FC devices;
a load-store bus interface, coupled to said plurality of CSR banks, for coupling to a load-store bus, configured to receive, via said load-store bus, load and store transactions from each of the plurality of OSDs, each of said load and store transactions including an OSD identifier for identifying one of the plurality of OSDs that initiated said transaction, wherein said load-store bus interface directs each of said load and store transactions to said respective one of said plurality of CSR banks based on said OSD identifier; and
a FC port, coupled to said load-store bus 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.
6 Assignments
0 Petitions
Accused Products
Abstract
A Fibre Channel (FC) controller shareable by a plurality of operating system domains (OSDs) within a load-store architecture is disclosed. The controller includes a plurality of control/status register (CSR) banks. A respective one of the CSR banks is used by each OSD to request the controller to perform I/O operations with remote FC devices. A load-store bus interface receives from a load-store bus load and store transactions from each OSD. Each transaction includes an OSD identifier identifying the OSD that initiated the transaction. The bus interface directs the transactions to the respective CSR bank based on the OSD identifier. A 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, the controller includes a shared I/O switch coupling the OSDs thereto.
-
Citations
87 Claims
-
1. A Fibre Channel (FC) controller shareable by a plurality of operating system domains (OSDs) within a load-store architecture, comprising:
-
a plurality of control/status register (CSR) banks, wherein a respective one of said plurality of CSR banks is used by each of the plurality of OSDs to request the shared FC controller to perform I/O operations with remote FC devices;
a load-store bus interface, coupled to said plurality of CSR banks, for coupling to a load-store bus, configured to receive, via said load-store bus, load and store transactions from each of the plurality of OSDs, each of said load and store transactions including an OSD identifier for identifying one of the plurality of OSDs that initiated said transaction, wherein said load-store bus interface directs each of said load and store transactions to said respective one of said plurality of CSR banks based on said OSD identifier; and
a FC port, coupled to said load-store bus 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. A Fibre Channel (FC) controller shareable by a plurality of operating system domains (OSDs) within a load-store architecture, comprising:
-
a plurality of I/O ports, coupled to receive load-store transactions from a corresponding plurality of OSDs;
a plurality of control/status register (CSR) banks, for programming by respective ones of the plurality of OSDs;
switching logic, coupled to said plurality of I/O ports and said plurality of CSR banks, configured to route each of said transactions to respective ones of said plurality of CSR banks based on which of said plurality of I/O ports received said transaction; and
a FC port, coupled to said plurality of CSR banks, for coupling to a FC fabric, configured to obtain for each of the plurality of OSDs a distinct respective FC port identifier from said FC fabric, and to transceive FC frames with remote FC devices using said distinct respective FC port identifier for each of the plurality of OSDs in response to said load-store transactions. - View Dependent Claims (57)
-
-
58. A Fibre Channel (FC) controller shareable by a plurality of operating system domains (OSDs) within a load-store architecture, comprising:
-
a FC port, for coupling to a FC link, configured to obtain a respective port identifier for each of the plurality of OSDs, and configured to accept from said FC link FC frames having D_ID field values matching said port identifiers obtained for the plurality of OSDs;
association logic, coupled to said FC port, for associating each of said FC frames with its respective one of the plurality of OSDs based on said matching port identifier; and
a load-store bus interface, coupled to said association logic, for coupling to a load-store bus, for initiating at least one transaction on said load-store bus to transfer at least a portion of each of said FC frames to one of the plurality of OSDs associated with said matching port identifier of said accepted FC frame, said transaction including an OSD identifier uniquely identifying said respective OSD among the plurality of OSDs. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87)
-
Specification