Storage Redundancy with Dynamic Spare Rotation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data redundancy schemes for storage arrays face challenges in efficiently distributing data blocks and error-correction blocks, leading to potential data loss when a storage unit fails, and they either incur high load on dedicated parity units or prolong degraded operation due to lack of spares.
Innovation Solution
A data redundancy scheme employing triple-parity with rotated and dedicated parity, where one disk serves as a spare for error-correction during normal operation and transforms into a spare disk upon failure, maintaining dual-parity redundancy during reconstruction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dedicated parity storage unit is used to store error-correction blocks, then data redundancy is maintained, but the dedicated parity storage unit experiences heavy load during every data write operation
Solution Approach 1:
The patent segments the storage array into multiple storage units, distributing error-correction blocks across multiple units rather than concentrating them on a single dedicated parity unit. This segmentation balances the write load across multiple storage units, preventing any single unit from becoming a performance bottleneck while maintaining data redundancy through distributed parity storage.
2Productivity
If parity blocks are distributed among all storage units (rotated parity), then write load is balanced, but a storage unit cannot serve as an immediate spare upon failure
Solution Approach 1:
The patent implements a dynamic storage configuration where storage units can transition between different roles. During normal operation, all storage units participate in storing both data and error-correction blocks with rotated parity for balanced load distribution. Upon detection of a failed storage unit, the system dynamically reconfigures by designating a different storage unit to store error-correction blocks for the failed unit, enabling immediate reconstruction without requiring a pre-designated spare.
3Quantity of substance
If no spare storage unit is designated, then storage space utilization is maximized, but the system must operate in degraded mode until a replacement unit is available
Solution Approach 1:
The patent prepares for potential failures by maintaining the capability to immediately designate a new storage unit for error-correction block storage upon failure detection. This preliminary preparation of the reconfiguration mechanism allows the system to transition from degraded operation to full operation quickly, minimizing data loss time while maximizing storage utilization by using existing storage units rather than requiring dedicated spares.
4Reliability
If a storage unit is designated as spare, then immediate reconstruction is possible upon failure, but the spare unit cannot be used for regular data storage during normal operation
Solution Approach 1:
The patent makes storage units universal by enabling them to perform multiple functions depending on operational context. During normal operation, all storage units store both data and error-correction blocks, maximizing storage utilization. Upon failure, any storage unit can be dynamically designated to store error-correction blocks for the failed unit, providing immediate reconstruction capability without requiring permanently dedicated spare units. This multi-functionality allows the same storage resources to serve both capacity and redundancy needs.
Data Source
AI summary
Described herein are techniques for storing data in a redundant manner on a plurality of storage units of a storage system. While all of the storage units are operating without failure, only error-correction blocks are stored on a first one of the storage units, while a combination of data blocks and error-correction blocks are stored on a second one of the storage units. Upon failure of the second storage unit, one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit are reconstructed, and the one or more reconstructed data blocks and the one or more reconstructed error-correction blocks are stored on the first storage unit.


