Volume Synchronization Using Hash Tree Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems, particularly primary storage solutions, face challenges in supporting content-based storage with its advantages due to intensive computational load, block fragmentation, loss of sequential data location, and algorithmic difficulties in distributing tasks across processing and storage elements, leading to performance degradation.
Innovation Solution
A method and apparatus utilizing a Content Addressable Storage (CAS) system with separate control and data planes, employing hash trees for content addressing, and distributing computational and data operations across multiple nodes to minimize data transfers and computations, ensuring efficient data synchronization and deduplication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If content-based storage is implemented, then storage capacity efficiency is improved, but intensive computational load increases
Solution Approach 1:
The patent divides the storage system into multiple independent nodes, each capable of autonomous content-based storage operations. By segmenting the computational workload across distributed nodes rather than centralizing it, the system achieves content-based storage efficiency while distributing the intensive computational load to prevent any single node from becoming a bottleneck.
Solution Approach 2:
The patent introduces a hierarchical content-addressing structure with multiple levels of organization. Instead of flat content addressing, data is organized in a tree-like hierarchy where content hashes are structured across different dimensions, allowing efficient computation and retrieval while reducing the overall computational burden on individual nodes.
2Measurement precision
If large blocks are broken into smaller block sizes for content addressing, then content addressing granularity is improved, but block fragmentation degrades performance
Solution Approach 1:
The patent segments large data blocks into smaller fixed-size blocks suitable for content addressing, but organizes these segments in a hierarchical structure where parent-child relationships maintain logical continuity. This allows fine-grained content addressing at the small block level while preserving performance through hierarchical organization that reduces fragmentation effects.
Solution Approach 2:
The patent implements a nested hierarchical structure where smaller content-addressable blocks are nested within larger logical data units. Each level of the hierarchy contains references to the level below, allowing the system to achieve fine content addressing granularity while maintaining the performance characteristics of larger organized data structures through the nested organization.
3Quantity of substance
If address-based mapping is replaced with content-based mapping, then duplicate data elimination is improved, but sequential location of data blocks is lost
Solution Approach 1:
The patent performs preliminary organization of content-addressed data blocks into hierarchical structures and maintains metadata that records the logical sequence and relationships between blocks. This preliminary structuring allows the system to eliminate duplicates through content-based addressing while preserving sequential access capabilities through the pre-established hierarchical organization and metadata.
Solution Approach 2:
The patent creates and maintains copies of metadata that preserve the sequential and hierarchical relationships between content-addressed data blocks. While the actual data blocks are stored content-addressably without sequential positioning, the metadata copies maintain the logical sequence information, allowing the system to achieve duplicate elimination while preserving sequential access patterns through metadata references.
Data Source
AI summary
In one aspect, a method to synchronize volumes includes comparing a first root hash of a root hash node in a first hash tree of a first volume with a second root hash of a second root hash node in a second hash tree of a second volume, for each child node of the first root hash node, comparing a hash of the child node with a hash of a corresponding node in the second hash tree if the first root hash and the second hash are not the same, for each hash in the first hash tree that does not match the corresponding hash in the second hash tree, determining if its node is a leaf node and copying the corresponding data block of the first volume to the corresponding data block of the second volume if a node is determined to be a leaf node.


