RAID Controller Bitmap for Rebuild Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current RAID systems rebuild all data on a failed drive using XOR operations, regardless of whether the stripes contain data or not, which affects write performance and bandwidth usage, leading to inefficient data recovery and increased system load.
Innovation Solution
Implementing a bitmap to track written and deleted data in stripe units, allowing the RAID controller to only rebuild stripe units with data, thereby reducing unnecessary computations and bandwidth usage by using SCSI UNMAP and WRITE SAME commands for empty units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the RAID controller rebuilds all stripe units on a failed drive using XOR operations, then data reliability is maintained, but write performance deteriorates and bandwidth usage increases
Solution Approach 1:
The patent applies preliminary action by maintaining a bitmap that tracks which stripe units contain valid data before the drive fails. During rebuild, this pre-computed bitmap allows the controller to immediately identify which stripe units need reconstruction, avoiding unnecessary XOR operations on empty units and thus preserving write performance while maintaining data reliability.
Solution Approach 2:
The patent implements partial action by rebuilding only the necessary stripe units (those marked in the bitmap as containing data) rather than rebuilding all stripe units on the failed drive. This selective approach reduces the rebuild workload and bandwidth consumption while still ensuring data reliability for all necessary data blocks.
2Reliability
If the RAID controller performs XOR operations on all stripe units during rebuild, then complete data recovery is ensured, but the time required for data recovery increases
Solution Approach 1:
The patent reduces data recovery time by performing partial action - only rebuilding stripe units that actually contain data as indicated by the bitmap. This eliminates wasted time performing XOR operations on stripe units that are empty or have already been reconstructed, while still ensuring complete recovery of all necessary data.
Solution Approach 2:
The bitmap serves as a preliminary action that pre-identifies which stripe units contain data before the rebuild process begins. This allows the controller to skip unnecessary reconstruction operations and focus only on the required stripe units, significantly reducing overall recovery time while maintaining complete data recovery.
3Device complexity
If the RAID controller rebuilds all stripe units regardless of content, then simplicity of the rebuild process is maintained, but system load increases and host I/O performance deteriorates
Solution Approach 1:
The bitmap provides a simple preliminary mechanism that tracks data presence in each stripe unit. During rebuild, the controller simply checks the bitmap and skips empty units, adding minimal complexity to the rebuild process while dramatically reducing system load and improving host I/O performance by avoiding unnecessary operations.
Solution Approach 2:
The patent implements a simple partial action approach where the controller only performs rebuild operations on stripe units marked as containing data in the bitmap. This selective rebuilding reduces system load and improves host I/O performance while the bitmap mechanism keeps the overall process complexity low through its straightforward lookup and skip logic.
Data Source
AI summary
When a drive in a redundant array of independent disks (RAID) fails, for a first stripe unit stored in the failed drive, a RAID controller obtains from a bitmap a first indicator indicating whether the first stripe unit contains written data, wherein the bitmap contains a plurality of indicators corresponding to stripe units stored in the failed drive, and the first stripe unit belongs to a first stripe stored in the RAID system; if the first indicator indicates that the first stripe unit does not contain written data, write zeros into a first replacement stripe unit in a replacement drive, wherein the first replacement stripe unit replaces the first stripe unit in the first stripe. Without performing XOR operations for the stripe units indicated no data by the table, a time consumed for rebuilding can be significantly reduced, recovering the RAID array healthy sooner and reducing the impact on system bandwidth usage and host I/O performance impact during the rebuild process.


