RAID Controller Bitmap for Rebuild Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata reliabilityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improvedata recovery completenessVSAvoiddata recovery time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improverebuild process complexityVSAvoidhost I/O performance
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9910748B2Rebuilding process for storage array
Publication Date: 2018.03.06 FUTUREWEI TECHNOLOGIES INC
  • US9910748B2 patent drawing
  • US9910748B2 patent drawing
  • US9910748B2 patent drawing

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.