A system and method for synchronizing firmware revisions in redundant controllers
in a storage system is disclosed. Redundant controllers transmit firmware revision
numbers during the establishment of a communication links between the controllers.
The revision numbers are compared and, if they are not equal, then controller that
possesses the more recent firmware revision transmits its firmware across the communication
link to the other controller. The more recent firmware is stored in the memory
of the other controller, which is then re-booted to ensure that both controllers
are operating with the same firmware. If a failed controller is replaced or rebooted
while the other controller remains operational, then the firmware revision from
the operational controller is transmitted to the replaced or re-booted controller
and stored in its memory. The controller is then re-booted to ensure that both
controllers are operating with the same firmware.