7512717

Fibre Channel Controller Shareable by a Plurality of Operating System Domains Within a Load-Store Architecture

PublishedMarch 31, 2009
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
91 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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 an I/O operation requests, wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port obtains a respective FC Arbitrated Loop Physical Address (AL_PA) for each of the plurality of OSDs, wherein said distinct port identifier for each of the plurality of OSDs comprises said respective FC AL_PA.

2

2. The shareable FC controller as recited in claim 1 , further comprising: a second FC port, coupled to said load-store bus interface, configured to obtain a second distinct FC port identifier for each of the plurality of OSDs, and to transceive FC frames with said remote FC devices using said second distinct FC port identifier for each of the plurality of OSDs in response to said I/O operation requests.

3

3. The shareable FC controller as recited in claim 1 , further comprising: 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 distinct port identifier.

4

4. The shareable FC controller as recited in claim 1 , wherein said FC port is configured to drop incoming FC frames having a Destination_Identifier (D_ID) field value not matching any of said distinct port identifiers obtained for the plurality of OSDs.

5

5. The shareable FC controller as recited in claim 1 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

6

6. The shareable FC controller as recited in claim 1 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

7

7. The shareable FC controller as recited in claim 1 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

8

8. The shareable FC controller as recited in claim 1 , wherein said FC port comprises a FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

9

9. The shareable FC controller as recited in claim 1 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

10

10. The shareable FC controller as recited in claim 1 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

11

11. 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 an I/O operation requests, wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

12

12. 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 an I/O operation requests, wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into the FC fabric using a unique FC Port_Name associated with the respective OSD, wherein the shareable FC controller supplies said unique FC Port_Name associated with said respective OSD.

13

13. The shareable FC controller as recited in claim 12 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

14

14. The shareable FC controller as recited in claim 12 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

15

15. The shareable FC controller as recited in claim 12 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

16

16. he shareable FC controller as recited in claim 12 , wherein said FC port comprises the FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

17

17. The shareable FC controller as recited in claim 12 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

18

18. The shareable FC controller as recited in claim 12 , further comprising: a second FC port, coupled to said load-store bus interface, configured to obtain a second distinct FC port identifier for each of the plurality of OSDs, and to transceive FC frames with said remote FC devices using said second distinct FC port identifier for each of the plurality of OSDs in response to said I/O operation requests.

19

19. The shareable FC controller as recited in claim 12 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

20

20. 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 an I/O operation requests, wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into the FC fabric using a unique FC Port_Name associated with the respective OSD, wherein the shareable FC controller receives said unique FC Port_Name associated with said respective OSD from said respective OSD.

21

21. The shareable FC controller as recited in claim 20 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

22

22. The shareable FC controller as recited in claim 20 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

23

23. The shareable FC controller as recited in claim 20 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

24

24. The shareable FC controller as recited in claim 20 , wherein said FC port comprises the FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

25

25. The shareable FC controller as recited in claim 20 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

26

26. The shareable FC controller as recited in claim 20 , further comprising: a second FC port, coupled to said load-store bus interface, configured to obtain a second distinct FC port identifier for each of the plurality of OSDs, and to transceive FC frames with said remote FC devices using said second distinct FC port identifier for each of the plurality of OSDs in response to said I/O operation requests.

27

27. The shareable FC controller as recited in claim 20 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

28

28. 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 an I/O operation requests, wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into the FC fabric using a unique FC Node_Name associated with the respective OSD, wherein the shareable FC controller supplies said unique FC Node_Name associated with said respective OSD.

29

29. The shareable FC controller as recited in claim 28 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

30

30. The shareable FC controller as recited in claim 28 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

31

31. The shareable FC controller as recited in claim 28 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

32

32. The shareable FC controller as recited in claim 28 , wherein said FC port comprises a FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

33

33. The shareable FC controller as recited in claim 28 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N 13 Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

34

34. The shareable FC controller as recited in claim 28 , further comprising: a second FC port, coupled to said load-store bus interface, configured to obtain a second distinct FC port identifier for each of the plurality of OSDs, and to transceive FC frames with said remote FC devices using said second distinct FC port identifier for each of the plurality of OSDs in response to said I/O operation requests.

35

35. The shareable FC controller as recited in claim 28 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

36

36. 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 an I/O operation requests, wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into the FC fabric using a unique FC Node_Name associated with the respective OSD, wherein the shareable FC controller receives said unique FC Node_Name associated with said respective OSD from said respective OSD.

37

37. The shareable FC controller as recited in claim 36 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

38

38. The shareable FC controller as recited in claim 36 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

39

39. The shareable FC controller as recited in claim 36 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

40

40. The shareable FC controller as recited in claim 36 , wherein said FC port comprises a FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

41

41. The shareable FC controller as recited in claim 36 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N 13 Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

42

42. The shareable FC controller as recited in claim 36 , further comprising: a second FC port, coupled to said load-store bus interface, configured to obtain a second distinct FC port identifier for each of the plurality of OSDs, and to transceive FC frames with said remote FC devices using said second distinct FC port identifier for each of the plurality of OSDs in response to said I/O operation requests.

43

43. The shareable FC controller as recited in claim 36 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

44

44. 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 Destination_Identifier (D_ID) field values matching said port identifiers obtained for the plurality of OSDs, wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port obtains a respective FC Arbitrated Loop Physical Address (AL_PA) for each of the plurality of OSDs, wherein said respective port identifier for each of the plurality of OSDs comprises said respective FC AL_PA; 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.

45

45. The shareable FC controller as recited in claim 44 , wherein said FC port is configured to drop FC frames on said FC link having a Destination_Identifier (D_ID) field value not matching any of said port identifiers obtained for the plurality of OSDs.

46

46. The shareable FC controller as recited in claim 44 , wherein said FC NL_Port obtains said respective port identifier for each of the plurality of OSDs by logging into the FC fabric using said respective FC AL_PA and a FC Node_Name associated with the respective OSD.

47

47. The shareable FC controller as recited in claim 46 , wherein the shareable FC controller supplies said unique FC Node_Name associated with said respective OSD.

48

48. The shareable FC controller as recited in claim 46 , wherein the shareable FC controller receives said unique FC Node_Name associated with said respective OSD from said respective OSD.

49

49. The shareable FC controller as recited in claim 44 , wherein said FC NL_Port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using said respective FC AL_PA and a unique FC Port_Name associated with the respective OSD.

50

50. The shareable FC controller as recited in claim 49 , wherein the shareable FC controller supplies said unique FC Port_Name associated with said respective OSD.

51

51. The shareable FC controller as recited in claim 49 , wherein the shareable FC controller receives said unique FC Port_Name associated with said respective OSD from said respective OSD.

52

52. The shareable FC controller as recited in claim 44 , wherein said FC port comprises the FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to a FC fabric by performing multiple logins to said FC fabric.

53

53. The shareable FC controller as recited in claim 44 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC fabric by performing multiple logins to said FC fabric.

54

54. The shareable FC controller as recited in claim 44 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on the FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

55

55. The shareable FC controller as recited in claim 44 , wherein said FC port obtains said respective port identifier for each of the plurality of OSDs from a FC fabric.

56

56. The shareable FC controller as recited in claim 44 , wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using a unique FC Port_Name associated with the respective OSD, wherein the shareable FC controller supplies said unique FC Port_Name associated with said respective OSD.

57

57. The shareable FC controller as recited in claim 44 , wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using a unique FC Port_Name associated with the respective OSD, wherein the shareable FC controller receives said unique FC Port_Name associated with said respective OSD from said respective OSD.

58

58. The shareable FC controller as recited in claim 44 , wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using a unique FC Node_Name associated with the respective OSD, wherein the shareable FC controller supplies said unique FC Node_Name associated with said respective OSD.

59

59. The shareable FC controller as recited in claim 44 , wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using a unique FC Node_Name associated with the respective OSD, wherein the shareable FC controller receives said unique FC Node_Name associated with said respective OSD from said respective OSD.

60

60. The shareable FC controller as recited in claim 44 , wherein said FC port comprises a FC Node Port (N_Port) linked to the FC Fabric Port (F_Port) supporting a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

61

61. The shareable FC controller as recited in claim 44 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

62

62. The shareable FC controller as recited in claim 44 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

63

63. 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 Destination_Identifier (D_ID) field values matching said port identifiers obtained for the plurality of OSDs, wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability; 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.

64

64. 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 Destination_Identifier (D_ID) field values matching said port identifiers obtained for the plurality of OSDs, wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using a unique FC Port_Name associated with the respective OSD, wherein the shareable FC controller supplies said unique FC Port_Name associated with said respective OSD; 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.

65

65. The shareable FC controller as recited in claim 64 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

66

66. The shareable FC controller as recited in claim 64 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

67

67. The shareable FC controller as recited in claim 64 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

68

68. The shareable FC controller as recited in claim 64 , wherein said FC port comprises a FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

69

69. The shareable FC controller as recited in claim 64 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

70

70. The shareable FC controller as recited in claim 64 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

71

71. 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 Destination_Identifier (D_ID) field values matching said port identifiers obtained for the plurality of OSDs, wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using a unique FC Port_Name associated with the respective OSD, wherein the shareable FC controller receives said unique FC Port_Name associated with said respective OSD from said respective OSD; 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.

72

72. The shareable FC controller as recited in claim 71 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

73

73. The shareable FC controller as recited in claim 71 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

74

74. The shareable FC controller as recited in claim 71 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

75

75. The shareable FC controller as recited in claim 71 , wherein said FC port comprises a FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

76

76. The shareable FC controller as recited in claim 71 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

77

77. The shareable FC controller as recited in claim 71 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

78

78. 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 Destination_Identifier (D_ID) field values matching said port identifiers obtained for the plurality of OSDs, wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using a unique FC Node_Name associated with the respective OSD, wherein the shareable FC controller supplies said unique FC Node_Name associated with said respective OSD; 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.

79

79. The shareable FC controller as recited in claim 78 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

80

80. The shareable FC controller as recited in claim 78 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

81

81. The shareable FC controller as recited in claim 78 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

82

82. The shareable FC controller as recited in claim 78 , wherein said FC port comprises a FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

83

83. The shareable FC controller as recited in claim 78 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

84

84. The shareable FC controller as recited in claim 78 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

85

85. 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 Destination_Identifier (D_ID) field values matching said port identifiers obtained for the plurality of OSDs, wherein said FC port obtains said respective port identifier for each of the plurality of OSDs by logging into a FC fabric using a unique FC Node_Name associated with the respective OSD, wherein the shareable FC controller receives said unique FC Node_Name associated with said respective OSD from said respective OSD; 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.

86

86. The shareable FC controller as recited in claim 85 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC NL_Ports to the FC fabric by performing multiple logins to said FC fabric.

87

87. The shareable FC controller as recited in claim 85 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to the FC fabric by performing multiple logins to said FC fabric.

88

88. The shareable FC controller as recited in claim 85 , wherein said FC port comprises a FC Node Loop Port (NL_Port) for communication on a FC arbitrated loop, wherein said FC NL_Port appears as multiple FC end nodes to a FC arbitrated loop by acquiring multiple Arbitrated Loop Physical Addresses (AL_PAs).

89

89. The shareable FC controller as recited in claim 85 , wherein said FC port comprises a FC Node Port (N_Port) linked to a FC Fabric Port (F_Port) supporting a FC Multiple N Port identifier (N_Port_ID) Assignment capability, wherein said FC N_Port obtains from said F_Port a respective FC N_Port identifier for each of the plurality of OSDs.

90

90. The shareable FC controller as recited in claim 85 , wherein the controller is configured to determine whether a FC Fabric Port (F_Port) to which said FC port is linked supports a FC Multiple N_Port identifier (N_Port_ID) Assignment capability, to obtain a distinct FC N_Port_ID for each of the plurality of OSDs if the FC F_Port supports the FC Multiple N_Port_ID Assignment capability, and to obtain a distinct FC NL_Port identifier (NL_Port_ID) for each of the plurality of OSDs if the FC F_Port does not support the FC Multiple N_Port_ID Assignment capability.

91

91. The shareable FC controller as recited in claim 85 , wherein the controller is configured to determine that one of the plurality of OSDs has been reset, and to disclaim the distinct FC port identifier for the one of the plurality of OSDs that has been reset, in response thereto.

Patent Metadata

Filing Date

Unknown

Publication Date

March 31, 2009

Inventors

Christopher J. Pettey

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “FIBRE CHANNEL CONTROLLER SHAREABLE BY A PLURALITY OF OPERATING SYSTEM DOMAINS WITHIN A LOAD-STORE ARCHITECTURE” (7512717). https://patentable.app/patents/7512717

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.