Hybrid Two-Level Snapshot Indirection for Bounded Index Growth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing snapshot indexing techniques face inefficiencies in data retrieval and storage management, particularly with the growth of data blocks and the complexity of maintaining indices, leading to unbounded growth and difficulty in managing storage and lookup performance.
Innovation Solution
Implementing hybrid two-level snapshot indirection, where each snapshot includes direct pointers to unique data blocks and references to previous snapshots for non-unique blocks, using a current record to maintain second pointers and references, thereby limiting the size of indices and improving lookup performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional snapshot indexing techniques are used to store and retrieve data blocks, then data retrieval functionality is provided, but the index size grows unboundedly and lookup performance degrades as data blocks increase
Solution Approach 1:
The patent divides the index into two distinct levels: a first level containing pointers to data blocks that have been modified since the latest snapshot, and a second level containing pointers to data blocks that remain unchanged. This segmentation prevents unbounded growth in a single index structure and improves lookup efficiency by directing queries to the appropriate level based on modification status.
Solution Approach 2:
The patent introduces a temporal dimension to the indexing structure by creating separate index levels for modified and unmodified data blocks. This dimensional separation allows the system to track data block states across different time points (snapshots) without requiring a single growing index, thereby bounding index size while maintaining lookup performance.
2Reliability
If complete copies of data are made for each snapshot, then consistent point-in-time copies are achieved, but storage space efficiency is reduced
Solution Approach 1:
The patent merges multiple snapshots by having them share common data blocks through the second index level. Instead of storing complete copies of data for each snapshot, the system combines storage resources by allowing multiple snapshots to reference the same unmodified data blocks, significantly reducing total storage requirements while maintaining snapshot consistency.
Solution Approach 2:
The patent uses selective copying where only modified data blocks are copied to new snapshots (tracked in the first index level), while unmodified blocks are referenced from previous snapshots. This partial copying approach achieves snapshot consistency without the storage overhead of complete copies.
3Ease of manufacture
If a single-level index structure is used for snapshot indirection, then implementation is simpler, but lookup performance degrades with unbounded index growth
Solution Approach 1:
The patent segments the index into two manageable levels with clear differentiation between modified and unmodified data blocks. This segmentation maintains relative implementation simplicity while preventing the performance degradation that would occur with a single unbounded index, as each level remains more compact and searchable.
Data Source
AI summary
System, methods, apparatuses, and computer program products are disclosed for indexing snapshots for hybrid two-level snapshot indirection. A first snapshot is stored for a dataset. The first snapshot includes a plurality of pointers that each point to a corresponding first data block associated with the dataset. Data blocks created after a latest existing snapshot and data blocks of the dataset are modified after the latest existing snapshot are stored as second data blocks. Second pointers that each point to a corresponding second data block are generated. A current record maintains the second pointers pointing to the second data blocks, and references the first snapshot for first data blocks unmodified since storing the first snapshot.


