RAID ECC Parity Updates for Online Drive Expansion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAID systems face challenges in efficiently adding or removing drives without taking the system offline for prolonged periods, as existing methods require read operations on all data drives and write operations on parity drives, leading to reduced uptime.

Innovation Solution

The implementation of a RAID controller with a RAID ECC encoder module that generates code words based on a cyclic code generator polynomial, allowing for seamless drive addition and removal by maintaining the logical-to-physical mapping unchanged, using difference code words to update parity drives without reading other data drives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing methods are used to add or remove drives in a RAID system, then data reliability is maintained through parity drive updates, but system downtime increases due to required read operations on all data drives and write operations on parity drives

Engineering Contradiction:
Improvedata reliabilityVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the RAID system into data drives and parity drives, allowing independent operations on each segment. When a drive is added or removed, only the affected parity drives need to be updated, rather than requiring operations on all drives in the array. This segmentation enables parallel processing and reduces the critical path of operations, thereby minimizing system downtime while maintaining data reliability through targeted parity updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by pre-calculating and preparing parity information before actual drive removal or addition occurs. The system pre-computes the differences in parity requirements and prepares update sequences in advance, so that when a drive operation is initiated, the actual data transfer and parity update time is minimized. This preliminary preparation reduces the active downtime experienced by the system.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If read operations are performed on all data drives and write operations on parity drives during drive addition or removal, then parity information is updated correctly, but productivity decreases due to reduced system availability

Engineering Contradiction:
Improveparity information accuracyVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by updating only the specific parity drives that are affected by the addition or removal of a data drive, rather than updating all parity drives uniformly. Each parity drive is updated locally based on its specific relationship to the changed data drive, using targeted read operations only on the necessary data drives. This localized approach maintains parity information accuracy while minimizing the scope of operations and preserving system availability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs partial action by executing only the minimum necessary read and write operations required to maintain parity integrity during drive changes. Instead of performing comprehensive read operations on all data drives and write operations on all parity drives, the system identifies and executes only the specific partial set of operations needed for the particular drive being added or removed, thereby reducing overall system disruption and maintaining higher productivity.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If the logical-to-physical mapping is modified during drive removal or addition, then drive configurations are updated correctly, but device complexity increases and processing overhead increases

Engineering Contradiction:
Improvedrive configuration flexibilityVSAvoidmapping management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent maintains the logical-to-physical mapping unchanged during drive operations as a preliminary design decision. By pre-establishing a stable mapping relationship between logical drive identifiers and physical drive locations, the system avoids the complexity of dynamically remapping drives during addition or removal operations. The unchanged mapping simplifies the control logic and reduces processing overhead, while drive configuration flexibility is maintained through the ability to add or remove drives within the existing mapping framework without requiring complex reconfiguration sequences.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8166370B1Efficient RAID ECC controller for RAID systems
Publication Date: 2012.04.24 MARVELL ASIA PTE LTD
  • US8166370B1 patent drawing
  • US8166370B1 patent drawing
  • US8166370B1 patent drawing

AI summary

A Redundant Array of Inexpensive Disks (RAID) controller comprises a RAID error correction code (ECC) encoder module that receives data for storage and that generates code words for data drives and one or more parity drives, which have physical locations. The code words are generated based on the data and a cyclic code generator polynomial. Logical locations correspond to index positions in the cyclic code generator polynomial. A mapping module maps the physical locations of the data and parity drives to the logical locations. The mapping module adds a new data drive to an unused one of the logical locations. A difference generating module generates a difference code word based on the new data drive. The RAID ECC encoder module encodes the difference code word and adds the encoded difference code word to an original code word generated before the new data drive is added.