Methods and apparatus for seamless firmware update and propagation in a dual raid controller system
First Claim
1. A method for updating firmware in a storage system having a plurality of volumes and having a plurality of controllers comprising the steps of:
- receiving a request from a management system to update program instructions in a first controller of said plurality of controllers; and
in response to receiving and independent of further interaction with said management system, performing the steps of;
transferring ownership of volumes owned by said first controller of said plurality of controllers to a second controller of said plurality of controllers prior to updating program instructions in said first controller; and
updating said program instructions within said first controller.
10 Assignments
0 Petitions
Accused Products
Abstract
Methods and associated structure for updating and propagating firmware updates in a multiple redundant controller storage subsystem. The methods of the present invention assure that the storage subsystem remains operable processing host system I/O requests while the redundant controllers manage the firmware update process. At least one controller of a plurality of redundant controllers in the system remains available for processing of host I/O requests as the controllers manage the firmware update process. A management client process operable on an administrative system coupled to the first of the redundant storage controllers transfers a structured firmware file to the first redundant controller. The management client need perform no further management of the update process. Rather, the controller themselves manage the process in accordance with metadata stored within the firmware file along with the programmed instructions to be updated. The first controller and second controller then coordinate and sequence the update process to update both controllers with a compatible, consistent version of firmware. During the update process, one of the two redundant controllers remains operable and assumes ownership of all storage volumes in the subsystem to enable continued operation of host system I/O requests during the firmware update process. In this manner the storage system in accordance with the present invention provides a seamless firmware update process that is robust, seamless and imposes minimal management responsibility on a management client process.
-
Citations
17 Claims
-
1. A method for updating firmware in a storage system having a plurality of volumes and having a plurality of controllers comprising the steps of:
-
receiving a request from a management system to update program instructions in a first controller of said plurality of controllers; and
in response to receiving and independent of further interaction with said management system, performing the steps of;
transferring ownership of volumes owned by said first controller of said plurality of controllers to a second controller of said plurality of controllers prior to updating program instructions in said first controller; and
updating said program instructions within said first controller. - View Dependent Claims (2, 3, 4)
processing I/O requests within said second controller for volumes normally owned by said first controller.
-
-
3. The method of claim 2 further comprising the steps of:
restoring ownership by said first controller of volumes transferred to said second controller, independent of said management system, prior to updating program instructions in said first controller.
-
4. The method of claim 3 wherein the step of restoring includes the step of:
discontinuing processing of I/O requests within said second controller for volumes normally owned by said first controller.
-
5. A method for updating firmware in a dual controller I/O system comprising the steps of:
-
transferring a firmware file from a management system to a first controller in said dual controller I/O system wherein said firmware file includes metadata describing the content of the firmware file;
updating program instructions within said first controller independent of said management system;
determining the compatibility of firmware presently operating in a second controller of said dual controller I/O system independent of said management system;
transferring said firmware file from said first controller to said second controller, independent of said management system, in response to a determination that said second controller has incompatible firmware; and
updating program instructions within said second controller, independent of said management system, in response to receipt of said firmware file by said second controller. - View Dependent Claims (6, 7, 8, 9, 10, 11)
resetting said second controller by action of said first controller independent of said management system prior to transferring said firmware file from said first controller to said second controller in response to a determination that said second controller has incompatible firmware.
-
-
7. The method of claim 5 further comprising the steps of:
-
resetting said first controller by action of said first controller independent of said management system following the step of updating program instructions within said first controller; and
resetting said second controller by action of said second controller independent of said management system following the step of updating program instructions within said first controller.
-
-
8. The method of claim 5 wherein said I/O system is a storage system having a plurality of volumes, said method further comprising the steps of:
transferring ownership of volumes owned by said first controller to said second controller, independent of said management system, prior to updating program instructions in said first controller.
-
9. The method of claim 8 wherein the step of transferring includes the step of:
processing I/O requests within said second controller for volumes normally owned by said first controller.
-
10. The method of claim 9 further comprising the steps of:
restoring ownership by said first controller of volumes transferred to said second controller, independent of said management system, prior to updating program instructions in said first controller.
-
11. The method of claim 10 wherein the step of restoring includes the step of:
discontinuing processing of I/O requests within said second controller for volumes normally owned by said first controller.
-
12. In a RAID storage subsystem having multiple controllers, a method for ensuring compatibility of firmware operable in said multiple storage controllers comprising the steps of:
-
receiving a request from a management system to update firmware; and
independent of further interaction with the management system, performing the steps of;
a) determining, within a first controller of said multiple controllers, whether firmware in another controller of said multiple controllers is compatible with firmware in said first controller;
b) taking control, within said first controller, of storage volumes within said subsystem owned by the other controller in response to a determination that firmware in the other controller is not compatible with firmware in said first controller;
c) updating firmware in the other controller using firmware in said first controller;
d) returning control of said storage volumes to the other controller; and
e) repeating steps a) through d) for each controller of said multiple controllers other than said first controller. - View Dependent Claims (13)
resetting the other controller from said first controller.
-
-
14. A storage subsystem comprising:
-
a first storage controller including a host interface for connecting to a host system and an inter-controller interface for connecting to another storage controller;
a second storage controller including a host interface for connecting to a host system and an inter-controller interface for connecting to another storage controller; and
a communication medium coupled to the inter-controller interface of said first controller and to the inter-controller interface of said second controller to communicate information regarding firmware compatibility in said first controller and said second controller, wherein the first storage controller is adapted to receive firmware from a management system and wherein the first storage controller is further adapted to update the firmware of the first controller and the firmware of the second controller independent of further interaction with the management system. - View Dependent Claims (15, 16, 17)
first storage volumes owned by said first controller; and
second storage volumes owned by said second controller.
-
-
16. The storage subsystem of claim 15 further comprising:
-
a first update control element within said first controller coupled to said communication medium; and
a second update control element within said second controller coupled to said communication medium, wherein said first update control element is operable to pass ownership of said first storage volumes from said first controller to said second controller via said second update control element, wherein said first update control element is operable to update the firmware within said first controller in response to passage of ownership of said first storage volumes, and wherein said first update control element restores ownership of said first storage volumes to said first controller from said second controller via said second update control element upon successful completion of said update of firmware.
-
-
17. The storage subsystem of claim 16
wherein said first update element is operable in conjunction with said second update control element to determine whether firmware in said second controller is compatible with the firmware in said first controller, wherein said first update control element is operable to take ownership of said second storage volumes from said second controller via said second update control element in response to a determination that the firmware in said second controller is not compatible with the firmware in said second controller, wherein said first update control element is operable to transfer compatible firmware to said second control element via said second update control element in response to a determination that the firmware in said second controller is not compatible with the firmware in said second controller, wherein said second update control element is operable to update the firmware in said second controller, and wherein said first update control element is operable to restore ownership of said second storage volumes to said second controller via said second update control element in response to completion of the update of the firmware in said second controller.
Specification