Method and apparatus for synchronization of code in redundant controllers in a swappable environment
First Claim
1. A method for synchronizing disk controller operating code in a storage subsystem, said storage subsystem including a first controller and a spare controller said method comprising the steps of:
- determining the compatibility of first revision information of a first controller with second revision information of said spare controller wherein the determination is made within said first controller by direct access to memory in said spare controller via a shared bus connecting said first controller and said spare controller; and
modifying said operating code of said spare controller for compatibility with said operating code of said first controller, in response to said step of determining comparison wherein said operating code includes program instructions for operating said spare controller and wherein the modification includes direct access to memory in said spare controller via a shared bus connecting said first controller and said spare controller.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods and associated apparatus for automatically synchronizing the operating code between a plurality of controllers. In a first embodiment after the spare controller is swapped into the storage subsystem, if the native controller determines that the spare controller'"'"'s operating code is incompatible with the native controller'"'"'s operating code, then the native controller notifies the spare controller that synchronization is required between both controllers. The native controller creates an image of its operating code including configuration parameters, and copies this "synch info" into a reserved area of cache memory. The spare controller'"'"'s main CPU utilizes mirroring routines to copy the operating code and configuration parameters into a reserved area of its cache memory. After the transfer is complete, the spare controller'"'"'s main CPU loads the operating code and configuration parameters into its program memory and resets itself to operate with the modified program memory. In a second embodiment, a co-processor within the spare controller updates the spare controller'"'"'s operating code by executing a script. The native controller builds the script that includes the operating code, configuration parameters, and instructions to retrieve the operating code and configuration parameters from the native controller'"'"'s cache memory. The spare controller'"'"'s co-processor transfers the script to a reserved area in the spare controller'"'"'s cache memory. The native controller requests the spare controller'"'"'s co-processor to execute the script which causes the co-processor to retrieve the operating code using mirroring techniques and load the spare controller'"'"'s program memory with the operating code. The co-processor sends an interrupt to the spare controller'"'"'s main processor to reset the spare controller.
-
Citations
17 Claims
-
1. A method for synchronizing disk controller operating code in a storage subsystem, said storage subsystem including a first controller and a spare controller said method comprising the steps of:
-
determining the compatibility of first revision information of a first controller with second revision information of said spare controller wherein the determination is made within said first controller by direct access to memory in said spare controller via a shared bus connecting said first controller and said spare controller; and modifying said operating code of said spare controller for compatibility with said operating code of said first controller, in response to said step of determining comparison wherein said operating code includes program instructions for operating said spare controller and wherein the modification includes direct access to memory in said spare controller via a shared bus connecting said first controller and said spare controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a storage subsystem, an apparatus for synchronizing operating code for at least one controller, said apparatus comprising:
-
a first controller having a first revision operating code; at least one redundant controller having a second revision operating code; a shared bus connecting said first controller and said at least one redundant controller; comparison means within said first controller for comparing said first revision operating code with said second revision operating code wherein the comparison is by direct access to memory within said at least one redundant controller via said shared bus; modifying means for modifying said second revision operating code of said redundant controller for compatibility with said first revision operating code of said first controller in response to said step of comparison wherein said first revision operating code includes program instructions for operating said first controller and wherein said second revision operating code includes program instructions for operating said at least one redundant controller. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for updating operating code in a spare controller of a multi-controller storage subsystem comprising the steps of:
-
detecting, within a first controller, the presence of new controller in said storage subsystem; determining, within said first controller, that operating code in said new controller is inconsistent with operating code in said first controller; updating program memory in said new controller by copying said operating code in said first controller to said new controller over a shared bus coupling said first controller to said new controller; and restarting operation of said new controller to use updated operating code in said program memory copied to said new controller from said first controller. - View Dependent Claims (17)
-
Specification