Dynamic Erasure Code Adjustment for Redundant Storage Fault Tolerance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional redundant storage systems require over-provisioning to maintain fault tolerance, which can be costly and limit the ability to replace failed storage units without increasing data loss risks.
Innovation Solution
The system identifies failed storage devices, reconstructs encoded data using surviving data, and redundantly stores the reconstructed data across multiple devices, dynamically maintaining fault tolerance without replacing units, allowing for fewer storage devices to be used.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the redundant storage system applies an erasure code with a larger n to allow for more storage unit failures, then the fault tolerance is improved, but the number of storage units required increases, which is costly
Solution Approach 1:
The system dynamically adjusts the erasure code parameters (n, k) based on the actual number of failed storage units rather than using a fixed over-provisioned configuration. This allows the fault tolerance to adapt to the current system state, maintaining reliability while reducing the total number of storage units needed.
Solution Approach 2:
The system changes the parameters of the erasure code (specifically n and k) dynamically based on the number of failed storage units. By adjusting these parameters in response to actual failure conditions, the system optimizes the balance between fault tolerance and resource utilization.
2Reliability
If the redundant storage system is over-provisioned to ensure fault tolerance over its lifetime, then the reliability is improved, but the device complexity and cost increase
Solution Approach 1:
The system transitions from a static over-provisioned configuration to a dynamic configuration that automatically adjusts based on actual failure patterns. This reduces the complexity of manual provisioning while maintaining reliability over the system's lifetime.
Solution Approach 2:
The system automatically monitors storage unit failures and adjusts its own erasure code parameters without requiring external intervention or complex manual re-provisioning. This self-adjusting capability simplifies system management while maintaining fault tolerance.
3Reliability
If traditional redundant storage systems are provisioned with a fixed number of storage units, then the fault tolerance is maintained, but the ability to replace failed units is limited
Solution Approach 1:
The system dynamically adjusts its configuration when storage units are replaced, allowing flexible replacement of failed units without being constrained by a fixed initial provisioning. This enables continuous operation and maintenance while preserving fault tolerance.
Solution Approach 2:
The system pre-calculates and prepares adjusted erasure code parameters that will maintain fault tolerance after unit replacements, enabling smooth transitions without compromising reliability during the replacement process.
Data Source
AI summary
A computer-implemented method for improving redundant storage fault tolerance may include 1) identifying a plurality of storage devices storing an encoded set of data, with the encoded set of data including a redundant form of an underlying set of data, 2) determining that a subset of the plurality of storage devices have failed, 3) reconstructing encoded data lost due to the failure of the subset of the plurality of storage devices, and then 4) redundantly storing the reconstructed encoded data on the plurality of storage devices. Various other methods, systems, and computer-readable media are also disclosed.


