The present invention is a method and system for upgrading drive firmware on
a drive within a distributed data storage system in a manner that is transparent
and non-disruptive to the host system operations. The method and system allow for
normal read and write operations to occur during the firmware upgrade process,
even while the primary disk drive is off-line, through alteration of the controller
read and write policies. A mapping file is created on a temporary storage device
to reduce the necessary time period of the upgrade process. This time period is
further reduced in a mirrored storage system or in a system having a spare drive,
where a logging file is created to store the data diverted from the primary disk
drive during the upgrade process. An advantage is the ability to maintain storage
system redundancy during the upgrade process. The upgrade process in general is
also simplified because the drive upgrade module is compatible with legacy equipment
and may reside in the storage system controller firmware.