RAID ECC Parity Updates for Online Drive Expansion
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


