RAID Write Handling with Dirty Bits to Protect Parity Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAID storage arrays face data integrity issues during write operations due to the risk of incomplete read-modify-write sequences, leading to potential corruption of data and parity strips if a server node fails, especially in Level 5 RAID configurations.

Innovation Solution

Incorporating parity check bits within each data stripe and parity strip to ensure data integrity by recalculating and updating parity data upon successful writes, allowing for identification of corrupted conditions and automatic rebuilding of parity strips if mismatches are detected during server node failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If read-modify-write sequence is used to update data and parity strips, then data consistency is maintained, but the risk of corruption increases if a server node fails during the operation

Engineering Contradiction:
Improvedata consistencyVSAvoidcorruption risk during write operation
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by setting a 'dirty bit' flag before initiating the read-modify-write operation. This flag serves as a preliminary marker indicating that the stripe is in an inconsistent state. If a failure occurs during the operation, the dirty bit ensures that subsequent operations detect the incomplete state and initiate recovery procedures, preventing corruption from propagating.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through the dirty bit mechanism that continuously monitors the state of data strips during write operations. When a write operation is initiated, the dirty bit is set to indicate potential inconsistency. After successful completion, the dirty bit is cleared. This feedback loop allows the system to detect and respond to incomplete operations, ensuring data integrity by triggering rebuild procedures when needed.

Inventive Principle:
Principle #23Feedback

2Manufacturing precision

If multiple writes are performed during read-modify-write operation, then parity strip is updated correctly, but the operation time increases

Engineering Contradiction:
Improveparity strip accuracyVSAvoidwrite operation duration
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary calculation of the new parity value using XOR operations on the old data, new data, and existing parity before initiating the write operations. This pre-computation ensures that the parity strip will be updated correctly without requiring additional read operations during the write phase, thus maintaining accuracy while reducing overall operation time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If parity strip is rebuilt after node failure, then data integrity is restored, but storage access time increases

Engineering Contradiction:
Improvedata integrityVSAvoidparity rebuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent sets the dirty bit as a preliminary indicator before any write operation begins. This allows the system to proactively identify incomplete operations and initiate parity rebuild procedures immediately upon detecting node failure, rather than waiting for subsequent operations to fail. This early detection and response mechanism minimizes the overall time impact by preventing further access to corrupted data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system automatically detects incomplete write operations through the dirty bit mechanism and self-initiates the parity rebuild process without requiring external intervention. When a node failure is detected and the dirty bit is set, the system automatically reconstructs the parity strip from the remaining data strips, restoring data integrity autonomously and reducing the need for manual recovery operations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7689890B2System and method for handling write commands to prevent corrupted parity information in a storage array
Publication Date: 2010.03.30 DELL PROD LP
  • US7689890B2 patent drawing
  • US7689890B2 patent drawing
  • US7689890B2 patent drawing

AI summary

An architecture and method for executing write commands in a storage array is disclosed. The data strips of the data stripes of the storage array each include a parity check bit. The parity strip of each stripe includes a plurality of parity check bits, each of which is uniquely associated with one of the data strips of the stripes. The inclusion within each data stripe of parity bits associated with each data strip and the party strip provides a method for identifying a corrupted or degraded data condition that occurs as a result of a server failing fails during a write command.