Distributed Parity Storage for Dual-Node Differential Rebuild
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data restoration methods in storage systems fail to restore data when two nodes experience drive failures, limiting the effectiveness of differential rebuilding.
Innovation Solution
A storage system with four or more nodes, each equipped with processors and storage drives, utilizes redundancy groups and parity areas to manage difference information, enabling data restoration through differential rebuilding even in cases of two-node failures by distributing data blocks and parities across nodes and managing update differences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If differential rebuilding is implemented to restore data faster by only rebuilding updated data, then restoration time is reduced, but the system cannot handle cases where two nodes fail simultaneously
Solution Approach 1:
The patent segments the parity information into two types: first parity (C1 parity) stored in the failed node and second parity (PQ parity) stored in surviving nodes. This segmentation allows the system to reconstruct data using different combinations of parities depending on the failure scenario, enabling differential rebuilding to work even when two nodes fail by using the first parity from one failed node and second parity from surviving nodes.
Solution Approach 2:
The patent introduces a two-dimensional parity structure where data blocks are protected by both first parity (horizontal dimension) and second parity (vertical dimension). This dimensional approach allows the system to recover data by traversing different parity dimensions based on which nodes are failed, thereby enabling fast differential rebuilding even under dual node failure conditions.
2Reliability
If full rebuilding is performed to restore all data from surviving nodes, then data restoration is possible even with multiple failures, but restoration time increases significantly
Solution Approach 1:
The patent applies partial action by performing differential rebuilding that only reconstructs the specific data blocks that were updated during the node's downtime, rather than rebuilding all data blocks. This is achieved by comparing the timestamp or version information of data blocks, allowing the system to skip unchanged blocks and only rebuild necessary ones, thus reducing restoration time while maintaining reliability.
Solution Approach 2:
The patent performs preliminary actions by pre-calculating and storing both first parity and second parity information in different locations before failures occur. This preliminary setup of redundant parity structures enables the system to quickly determine which parity to use for reconstruction based on the failure pattern, avoiding the need for complex real-time calculations during the rebuilding process.
3Productivity
If only second parity is stored in surviving nodes for differential rebuilding, then fast restoration is achieved for single node failure, but restoration becomes impossible when two nodes fail
Solution Approach 1:
The patent applies local quality by storing different types of parity information in different locations: first parity is stored in the node where data blocks are located, while second parity is stored in surviving nodes. This localized parity distribution allows each node to contribute appropriately to the reconstruction process based on its role, enabling both fast single-node recovery and robust dual-node recovery.
Solution Approach 2:
The patent creates a composite redundancy structure combining two different parity types (first parity and second parity) with different storage locations and reconstruction purposes. This composite approach allows the system to flexibly combine different parity sources depending on the failure scenario, achieving both speed and reliability requirements that neither parity type could provide alone.
Data Source
AI summary
The storage system manages difference information, by associating data blocks stored in a user area and a first parity and a second parity stored in a parity area of each of nodes, the difference information indicating presence or absence of a difference related to update of one or both of a data block and the second parity both belonging to the identical redundancy group of the data blocks, the first parity, and the second parity. The storage system manages, in a case where a data block stored in a user area of a closed node is updated, the difference information related to the update in one node that is not closed and is normally operating out of two nodes other than the closed node.


