Drive Firmware Update Scheduling via Idle State Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional drive arrays perform firmware updates without monitoring I/O activity, leading to risks of data corruption or I/O timeouts due to heavy I/O traffic during updates.
Innovation Solution
A management utility on a host computer initiates firmware updates on drives only when they are in an idle state, using a processing utility on a drive controller to determine idle drives and send updates, ensuring minimal interruption to I/O operations by waiting for drives to enter a power save mode or reducing I/O activity below a threshold.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If firmware updates are applied without monitoring I/O activity, then update speed is improved, but data corruption risk increases
Solution Approach 1:
The system checks I/O activity status before initiating firmware updates. The processing utility determines whether drives are in an idle state or power save mode before applying updates, preventing updates during active I/O operations that could cause data corruption.
Solution Approach 2:
The system continuously monitors I/O activity on drives and uses this feedback to determine when to proceed with firmware updates. The management utility receives status information about drive activity and adjusts update timing accordingly, only initiating updates when I/O activity is below thresholds or drives are idle.
2Loss of time
If firmware updates are applied during heavy I/O traffic, then update time is reduced, but I/O timeout risk increases
Solution Approach 1:
The system performs preliminary checks of I/O activity levels before initiating firmware updates. The processing utility determines whether drives are in an idle state or power save mode before applying updates, ensuring updates only occur when I/O operations are minimal or suspended.
Solution Approach 2:
The system dynamically adjusts update timing based on real-time I/O activity conditions. Rather than using a fixed update schedule, the system adapts to varying I/O loads by monitoring drive activity states and selecting optimal moments when I/O traffic is low enough to permit safe updates.
3Device complexity
If firmware updates are applied without checking drive state, then system complexity is reduced, but update safety decreases
Solution Approach 1:
The update process is divided into distinct segments: a preparation phase where the management utility initiates update requests and the processing utility checks drive states, and an execution phase where updates are applied only to drives in appropriate states. This segmentation adds safety checks without significantly complicating the overall update mechanism.
Solution Approach 2:
The processing utility on the drive controller autonomously determines whether drives are in suitable states for updates by monitoring I/O activity itself. This self-service approach eliminates the need for complex external coordination, as the drive controller independently makes decisions about when to accept firmware updates based on its own activity state.
Data Source
AI summary
The present invention concerns an apparatus comprising a management utility and a processing utility. The management utility may be implemented on a host computer and be configured to initiate a request to apply a firmware update to a plurality of drives in an array. The processing utility may be implemented on a drive controller and may be configured to (i) determine which of the plurality of drives are in an idle state, (ii) send the firmware update to the drives determined to be in the idle state and (iii) repeat (i) and (ii) until all of the drives have been updated.


