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 FC port, configured to obtain a plurality of FC port identifiers for association with respective ones of the plurality of OSDs;
a load-store bus interface, for coupling to a load-store bus, for being a target of at least one load-store transaction on said load-store bus from each of the plurality of OSDs, wherein each of the plurality of OSDs comprises a system load-store memory map that is associated with a respective processing complex, wherein the shared FC controller is mapped by each respective processing complex into a location within its associated system load-store memory map, wherein each respective processing complex executes at least one load-store instruction that generates said at least one load-store transaction targeted at the location of the shared FC controller within the associated system load-store memory map, wherein said at least one load-store transaction includes a command to perform an I/O operation with a remote FC device via said FC port;
association logic, coupled to said load-store bus interface and said FC port, configured to populate a Source_Identifier (S_ID) field of at least one FC frame with one of said plurality of FC port identifiers associated with said respective one of the plurality of OSDs that initiated said command, wherein said FC port is configured to transmit said at least one FC frame on said FC port to said remote FC device; and
a plurality of control/status register (CSR) banks, coupled to said load-store bus interface, wherein said load-store bus interface associates a different one of said plurality of CSR banks with each of the plurality of OSDs for being said target of said at least one load-store transaction including said command to perform said I/O operation.
7 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 has a FC port that obtains a plurality of FC port identifiers for association with respective ones of the OSDs. A load-store bus interface is the target of a load-store transaction on a load-store bus from each OSD. The load-store transaction includes a command to perform an I/O operation with a remote FC device. Association logic populates an S_ID field of a FC frame with the FC port identifier associated with the respective OSD that initiated the command. The FC port transmits the FC frame on the FC port to the remote FC device. In one embodiment, the controller interfaces to an Advanced Switching fabric to receive packets encapsulating load-store transactions from the OSDs. Each packet includes an identifier identifying the OSD initiating the transaction.
151 Citations
66 Claims
-
1. A Fibre Channel (FC) controller shareable by a plurality of operating system domains (OSDs) within a load-store architecture, comprising:
-
a FC port, configured to obtain a plurality of FC port identifiers for association with respective ones of the plurality of OSDs; a load-store bus interface, for coupling to a load-store bus, for being a target of at least one load-store transaction on said load-store bus from each of the plurality of OSDs, wherein each of the plurality of OSDs comprises a system load-store memory map that is associated with a respective processing complex, wherein the shared FC controller is mapped by each respective processing complex into a location within its associated system load-store memory map, wherein each respective processing complex executes at least one load-store instruction that generates said at least one load-store transaction targeted at the location of the shared FC controller within the associated system load-store memory map, wherein said at least one load-store transaction includes a command to perform an I/O operation with a remote FC device via said FC port; association logic, coupled to said load-store bus interface and said FC port, configured to populate a Source_Identifier (S_ID) field of at least one FC frame with one of said plurality of FC port identifiers associated with said respective one of the plurality of OSDs that initiated said command, wherein said FC port is configured to transmit said at least one FC frame on said FC port to said remote FC device; and a plurality of control/status register (CSR) banks, coupled to said load-store bus interface, wherein said load-store bus interface associates a different one of said plurality of CSR banks with each of the plurality of OSDs for being said target of said at least one load-store transaction including said command to perform said I/O operation. - 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. 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 fabric interface, coupled to said plurality of CSR banks, for coupling to a switched fabric, configured to receive packets encapsulating load and store transactions from each of the plurality of OSDs, wherein each of the plurality of OSDs comprises a system load-store memory map that is associated with a respective processing complex, wherein the shared FC controller is mapped by each respective processing complex into a location within its associated system load-store memory map, each of said packets including an OSD identifier for identifying one of the plurality of OSDs that initiated said transaction, wherein said fabric 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 fabric 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 (34)
-
-
35. A method for sharing a Fibre Channel (FC) controller by a plurality of operating system domains (OSDs) within a load-store architecture, comprising:
-
obtaining a distinct FC port identifier for each of the plurality of OSDs, wherein each of the plurality of OSDs comprises a system load-store memory map that is associated with a respective processing complex, wherein the shared FC controller is mapped by each respective processing complex into a location within its associated system load-store memory map; requesting the controller to perform I/O operations with remote FC devices, wherein said requesting comprises the plurality of OSDs executing load-store instructions addressed to a programming interface of the controller, wherein the programming interface comprises a distinct control/status register (CSR) bank for each of the plurality of OSDs; receiving corresponding load-store transactions in response to said executing, and selecting as a target of each of the load-store transactions the distinct CSR bank for the one of the plurality of OSDs that executed the corresponding load-store instruction; and transceiving FC frames with the remote FC devices using the distinct FC port identifier for each of the plurality of OSDs to perform the I/O operation requests. - View Dependent Claims (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)
-
Specification