RAID Multi-State Standby Blocks for Simultaneous Fault Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing data centers, temporary faults such as IO request response timeouts, errors, or short-time offline of disks due to busy business operations often occur, leading to frequent RAID faults, degradation, offline conditions, and business interruptions. Directly handling these faults using complex mechanisms like slow disks, bad blocks, and reconstruction exacerbates the issues, causing rapid IO performance degradation and service life reduction of RAID systems.
Innovation Solution
A system fault handling method and apparatus that divides disks in a RAID based on the number of stripes, configures multi-state standby blocks for stripes, and distributes these blocks across disks to handle faults simultaneously. The method acquires and stores fault information in a stripe block state mapping linked list, allowing for the selection of appropriate handling strategies to perform accurate fault handling operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complex mechanisms such as slow disks, bad blocks, and reconstruction are used to handle faults, then fault handling capability is improved, but IO performance deteriorates and service life is reduced
Solution Approach 1:
The patent applies preliminary action by pre-configuring multi-state standby blocks for each stripe before faults occur. When a fault is detected, the system can immediately use the pre-prepared standby blocks without triggering complex reconstruction mechanisms. This advance preparation enables rapid fault handling while avoiding the performance degradation associated with post-fault reconstruction operations.
Solution Approach 2:
The patent extracts the fault handling function from the complex reconstruction mechanism by introducing dedicated standby blocks. Instead of using the entire reconstruction process for every fault, the system isolates and handles simple faults using only the standby blocks, leaving the complex mechanisms available for more severe failures. This separation reduces unnecessary IO retries and performance impact.
2Reliability
If bad block mechanism is used to map recovery blocks, then fault blocks are handled, but good blocks are misjudged as bad blocks, reducing disk capacity and service life
Solution Approach 1:
The patent applies local quality by implementing multi-state standby blocks with different states (available, occupied, recovering) rather than a uniform bad block marking approach. Each standby block's state is locally managed based on its specific usage status, allowing the system to distinguish between temporarily unavailable blocks and permanently bad blocks. This prevents misjudgment of good blocks as bad blocks and preserves disk capacity.
3Reliability
If multiple faults occur simultaneously, then comprehensive fault coverage is improved, but handling time increases due to sequential processing
Solution Approach 1:
The patent segments the fault handling process by assigning different standby blocks to different stripes, allowing parallel processing of multiple faults. Each stripe has its own dedicated standby blocks, so when multiple faults occur simultaneously across different stripes, the system can handle them concurrently rather than sequentially. This segmentation dramatically reduces total fault handling time while maintaining comprehensive coverage.
Data Source
AI summary
The present application discloses a system fault handling method and apparatus, a device, and a storage medium. The method includes: dividing disks in RAID based on the number of stripes, then configuring multi-state standby blocks for the stripes, and distributing the multi-state standby blocks on the disks in the RAID, so as to enable the disks to use the multi-state standby blocks to run at the same time to handle faults when the faults occur at the same time; acquiring fault information factors corresponding to fault blocks after faults occur on the blocks, and then storing the fault information factors in stripe block state mapping items in a stripe block state mapping linked list; and selecting corresponding handling strategies based on different stripe block state mapping items, so as to perform corresponding operations on the fault blocks corresponding to the stripe block state mapping items.


