Hard Disk Firmware Update via Spare Drive Data Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hard disk firmware update processes require system downtime due to the need to power down and reboot the entire array, which can be lengthy and disruptive, especially for large systems.
Innovation Solution
A method for zero downtime hard disk firmware updates involves copying data from the disk to be updated to a spare disk, updating the firmware on the spare disk, and then copying the data back, allowing continuous data access and minimizing downtime through the use of zone maps for efficient data rebuilding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire array is powered down to flash firmware, then the firmware update can be performed, but system downtime increases and data access is interrupted
Solution Approach 1:
The storage array is divided into individual hard disk drives that can be updated independently. Each drive can be flashed with new firmware while other drives continue to operate, allowing the system to maintain data access during firmware updates. The array controller manages this segmentation by redirecting I/O operations away from the drive being updated.
Solution Approach 2:
Data is pre-copied from the drive to be updated to another drive in the array before the firmware update begins. This preliminary data migration ensures that data access can continue uninterrupted during the firmware flashing process, as the array controller can redirect I/O operations to the drive containing the pre-copied data.
2Reliability
If firmware is updated on a large number of hard disks, then comprehensive system updates are achieved, but the total downtime and update duration increases significantly
Solution Approach 1:
The firmware update process is segmented into individual drive-level operations rather than a system-wide operation. Each drive can be updated independently and in parallel, reducing the total update duration. The array controller coordinates these segmented updates to maintain system consistency while minimizing overall downtime.
Solution Approach 2:
The system maintains continuous data access during firmware updates by redirecting I/O operations to other drives in the array. This continuity allows multiple drives to be updated sequentially or in parallel without interrupting system operations, significantly reducing the total duration of the update process compared to powering down the entire array.
3Loss of time
If data is copied to a spare disk during firmware update, then data access continuity is maintained, but device complexity and update process complexity increases
Solution Approach 1:
Any drive in the RAID array can serve as a temporary data storage location for another drive being updated. The array controller dynamically assigns roles based on availability, eliminating the need for dedicated spare drives. This multi-functionality approach maintains data access continuity while avoiding the complexity of dedicated spare hardware.
Solution Approach 2:
The RAID array itself provides the data redundancy and migration capability needed for zero-downtime updates, using its inherent fault tolerance mechanisms. The array controller automatically manages data redistribution across drives during the update process, eliminating the need for external backup systems or manual intervention, thus maintaining simplicity despite the enhanced functionality.
Data Source
AI summary
An embodiment includes determining which disks need an update, then copying user data from a disk to be updated to a spare disk. New data is written to both the disk to be updated and the spare disk, and a zone map is maintained for all volumes of the disk to be updated. The firmware on the disk is updated, and changed data is copied from the spare disk to the newly updated disk based on the zone map. New data is written to both the newly updated disk and the spare disk. Once the changed data has been copied to the newly updated disk, data is written to the newly updated disk.


