Storage System I/O Management During Disk Rebuild
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face challenges when a disk fails in a disk array group, as the rebuilding process can be slowed down or disrupted by random I/O requests, potentially leading to data loss, especially when another disk fails during this time.
Innovation Solution
A method is introduced to manage storage systems by determining the disk array group affected by a failed disk, calculating a threshold number of I/O operations based on the number of outstanding operations, and controlling the number of I/O operations initiated to the disk array group to reduce the load during rebuilding, while also optimizing cache usage to improve cache hit rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the storage system allows random I/O requests during the rebuilding process, then the system maintains responsiveness to upper layer applications, but the rebuilding process slows down or breaks off
Solution Approach 1:
The patent extracts and isolates I/O requests destined for the failed disk array group during the rebuilding process. By separating these requests from the normal I/O flow and handling them differently (either queuing them or redirecting to cache), the system maintains responsiveness to applications while preventing these requests from interfering with the rebuilding operations on the spare disk.
2Productivity
If a large number of I/O requests are directed to the disk array group with a failed disk, then the system handles application demands, but data loss risk increases due to potential second disk failures
Solution Approach 1:
The patent implements a protective mechanism by monitoring the number of outstanding I/O requests to the failed disk array group and comparing it against a dynamically calculated threshold. When the threshold is exceeded, the system takes preventive action to limit further I/O requests, thereby cushioning the system against the risk of a second disk failure during the vulnerable rebuilding period. This prior cushioning approach balances productivity maintenance with reliability protection.
3Productivity
If the cache is used to cache data for the failed disk array group, then the cache hit rate improves, but the cache memory is occupied reducing availability for other data
Solution Approach 1:
The patent applies local quality by treating data for the failed disk array group differently from other cached data. Specifically, it implements a dedicated or prioritized caching strategy for this group, allowing the system to maintain high cache hit rates for requests related to the failed group while managing overall cache resources efficiently. This localized approach to caching resolves the contradiction by optimizing for the specific needs of the failed group without completely sacrificing general cache availability.
Data Source
AI summary
The techniques involve, in response to receiving a message indicating that a failure occurs in a first disk group of an array, selecting, from lists in a cache, a first entry to be written into the array, the lists including first and second lists, wherein the first list is used to cache a data entry for the first disk group. The techniques further involve, in response to determining that the first entry comes from the first list, writing the first entry into the array; in response to determining that the first entry comes from the second list and the first entry is to be written into the first disk group, moving the first entry from the second list to the first list; and in response to determining that the first entry is to be written into the second disk group, writing the first entry into the second disk group.


