Claims
- 1. A method for operating a storage virtualization controller arrangement, comprising:
providing at least two central processing elements disposed in the storage virtualization controller arrangement; configuring the controller arrangement to connect to at least one host and at least one storage device; assigning one of the central processing elements as a primary central processing element to arbitrate access from the at least one host to the at least one storage device; and upon detection of an unavailability of the primary central processing element, automatically reassigning at least one different one of the central processing elements as a backup central processing element to arbitrate the access from the at least one host to the at least one storage device.
- 2. The method of claim 1, wherein the controller arrangement is a single controller.
- 3. The method of claim 1, wherein the configuring includes:
connecting individual ones of the at least one host and the at least one storage device to the storage virtualization system via a connection method taken from a group consisting of a direct point-to-point connection and a switching network connection.
- 4. The method of claim 1, wherein the unavailability results from a failure of the primary central processing element.
- 5. The method of claim 1, wherein the storage virtualization controller arrangement includes an upstream processing element adapted to connect to the host, the assigning further including:
establishing a communication link between the primary central processing element and the upstream processing element.
- 6. The method of claim 5, wherein the controller arrangement includes at least two controllers, wherein the upstream processing element is disposed in a first controller, and wherein at least one of the primary central processing element and the backup central processing element is disposed in a second controller.
- 7. The method of claim 6, wherein the unavailability results from an event selected from the group consisting of a failure condition of the controller in which the primary central processing element is disposed, and an elective shutdown of the controller in which the primary central processing element is disposed.
- 8. The method of claim 6, further comprising:
communicatively coupling the first controller and the second controller to at least one same one of the at least one host; and communicatively coupling the first controller and the second controller to at least one same one of the at least one storage device, so as to provide two separate paths from the at least one same one of the at least one host to the at least one same one of the at least one storage device.
- 9. The method of claim 5, wherein the reassigning further comprises:
the primary central processing element rejecting a request from the upstream processing element for permission to perform an I/O command.
- 10. The method of claim 1, wherein the primary central processing element includes a pending queue of I/O commands, the reassigning further comprising:
the primary central processing element executing the pending queue of I/O commands.
- 11. The method of claim 5, wherein the reassigning further comprises:
terminating the communication link between the primary central processing element and the upstream processing element; and establishing a communication link between the backup central processing element and the upstream processing element.
- 12. The method of claim 1, wherein the reassigning further comprises:
predetermining the at least one different one of the central processing elements before the unavailability occurs.
- 13. The method of claim 1, wherein the reassigning further comprises:
determining the at least one different one of the central processing elements after the unavailability occurs.
- 14. The method of claim 13, wherein the determining includes:
balancing a workload among the available ones of the at least two central processing elements in the controller arrangement.
- 15. A method of transferring control of at least one VLUN from a primary central processing element to at least one backup central processing element of a storage virtualization controller arrangement, comprising:
detecting an unavailability of the primary central processing element; identifying at least one backup central processing element for the at least one VLUN, each backup central processing element associated with a group of the VLUNs; configuring each backup central processing element to control the corresponding group; enabling each backup central processing element to permit new I/O operations; and reassociating at least one upstream processing element associated with the at least one VLUN from the primary central processing element to the corresponding one of the at least one backup central processing element.
- 16. The method of claim 15, further comprising:
quiescing I/O operations of the primary central processing element for the at least one VLUN.
- 17. The method of claim 15, wherein the controller arrangement is a single controller.
- 18. The method of claim 15, wherein the storage virtualization controller arrangement includes at least two controllers, wherein the primary central processing element is disposed in a first controller, and wherein at least one remote one of the backup central processing elements is disposed in a second controller.
- 19. The method of claim 18, wherein each of the first and second controllers are connected to a host and a storage device, so as to provide two separate paths from the host to the storage device.
- 20. The method of claim 16, wherein the quiescing I/O operations includes:
rejecting at least one request from the at least one upstream processing element for new I/O operations, the at least one request made to the primary central processing element; and completing in-process I/O operations of the primary central processing element.
- 21. The method of claim 20, wherein the quiescing I/O operations further comprises:
setting the primary central processing element to a “rundown” state before the rejecting requests; and setting the primary central processing element to an “offline” state after the completing in-process I/O operations.
- 22. The method of claim 15, further comprising:
setting each backup central processing element to an “online” state after the enabling.
- 23. A storage virtualization system for accessing at least one storage device from at least one host, comprising:
at least one UPE adapted for coupling to a corresponding one of the at least one host, the system further adapted for coupling to the at least one storage device; a primary CPE configurably coupleable to the at least one UPE, the primary CPE to permit data transfer between the at least one host and the at least storage device via the at least one UPE; and a backup CPE configurably coupleable to the at least one UPE, the backup CPE configurable to permit the data transfer when the primary CPE becomes unavailable.
- 24. The system of claim 23, wherein the primary CPE is disposed in a first controller and the backup CPE is disposed in a second controller, and the at least one UPE is disposed in one of the first controller and the second controller, the system further comprising:
a communication link between the first controller and the second controller to support the configurable coupling between the at least one UPE and the one of the primary CPE and the backup CPE that is disposed in a different controller from the at least one UPE.
- 25. The system of claim 24, wherein the at least one UPE includes a first UPE disposed in the first controller and a second UPE disposed in the second controller, the first and second UPEs adapted for coupling to a same one of the at least one host, and wherein the first controller and the second controller are adapted for coupling to a same one of the at least one storage device, so as to provide a first data path between the same host and the same storage device through the first controller and a second data path between the same host and the same storage device through the second controller.
- 26. The system of claim 25, wherein at least one of the first controller and the second controller are coupled to at least one of the at least one storage device and the at least one host via a switching network.
- 27. The system of claim 26, wherein the switching network is a fibre-channel fabric.
- 28. The system of claim 23, further comprising:
a storage configuration module coupled to the primary CPE and the backup CPE, the storage configuration module to decouple the at least one UPE from the primary CPE and couple the at least one UPE to the backup CPE when the primary CPE becomes unavailable.
- 29. The system of claim 28, wherein the storage configuration module further comprises:
a UPE configurer coupled to the at least one UPE to couple each at least one UPE to one of the primary CPE and the backup CPE.
- 30. The system of claim 29, wherein the system includes at least one VLUN associated with the at least one storage device, and wherein the storage configuration module further comprises:
a CPE configurer coupled to the primary CPE and the backup CPE to configure the primary CPE with configuration information about a first subset of the at least one VLUN associated with the primary CPE, and to configure the backup CPE with configuration information about a second subset of the at least one VLUN associated with the backup CPE.
- 31. The system of claim 30, further comprising:
a backup CPE table coupled to the CPE configurer to identify which of a plurality of CPEs in the system is the backup CPE, the backup CPE preselected before the primary CPE becomes unavailable.
- 32. The system of claim 30, further comprising:
a backup CPE selector coupled to the CPE configurer to identify which of a plurality of CPEs in the system is the backup CPE, the backup CPE dynamically selected when the primary CPE becomes unavailable.
- 33. The system of claim 28, wherein the storage configuration module further comprises:
a CPE sequencer coupled to the primary CPE and the backup CPE to independently sequence at least one of the primary CPE and the backup CPE to at least one of an off-line state and an on-line state.
- 34. The system of claim 33, wherein both the primary CPE and the backup CPE are sequenced to the off-line state before decoupling the at least one UPE from the primary CPE and coupling the at least one UPE to the backup CPE.
- 35. The system of claim 28, further comprising:
an unavailability detector coupled to the primary CPE and the storage configuration module, the detector detecting the unavailability of the primary CPE and signaling the storage configuration module.
- 36. The system of claim 23, wherein the primary CPE further comprises:
a permission processor coupled to the at least one UPE to permit the data transfer between the at least one host and the at least storage device by granting exclusive permission to an enabled one of the UPEs to access the at least one storage device.
- 37. A storage virtualization controller arrangement, comprising:
means for providing at least two central processing elements in the storage virtualization controller arrangement; means for configuring the controller arrangement to connect to at least one host and at least one storage device; means for assigning one of the central processing elements as a primary central processing element to arbitrate access from the at least one host to the at least one storage device; and means for automatically reassigning a different one of the central processing elements as a backup central processing element to arbitrate the access from the at least one host to the at least one storage device upon detection of an unavailability of the primary central processing element.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 60/317,817, filed Sep. 7, 2001 and titled “Method & Apparatus for Processing fiber Channel Frames at Wire Speed”, which is incorporated herein by reference. This application also relates to the subject matter disclosed in the co-pending U.S. application Ser. No. ______ (attorney docket 00121-0004000000), by Ghate et al., filed concurrently herewith, titled “Wire-Speed Data Transfer in a Storage Virtualization Controller”, which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60317817 |
Sep 2001 |
US |