Shared Dense Tree Repair via Lock-Free Consistency Checker
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face challenges in maintaining self-consistency of data structures, particularly when failures occur, leading to inconsistencies between parent volumes and their snapshots or clones, which are not addressed effectively by existing technologies.
Innovation Solution
A consistency checker is implemented to perform distributed repairs on multi-level dense tree metadata structures shared between volumes, using a lock-free workflow that ensures non-cyclic repairs and maintains consistency across volumes, by utilizing a unique identifier and reference counting to prevent redundant repairs and ensure data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a storage system implements shared dense tree metadata structures between parent volumes and snapshots/clones, then storage efficiency and consistency are improved, but the system becomes vulnerable to inconsistencies when failures occur during write operations
Solution Approach 1:
The patent applies preliminary action by implementing a lock-free workflow that pre-establishes repair protocols and uses reference counting to proactively track metadata sharing relationships. The consistency checker is configured to automatically detect and repair inconsistencies before they propagate, using pre-defined repair logic that operates without acquiring locks on metadata structures.
Solution Approach 2:
The patent introduces an intermediary mechanism in the form of a consistency checker that mediates between potential failures and data integrity. This checker monitors metadata consistency across shared dense tree structures and performs repairs when inconsistencies are detected, acting as a buffer that prevents failure propagation while maintaining the lock-free architecture.
2Reliability
If traditional locking mechanisms are used to ensure consistency during repairs, then data integrity is maintained, but system performance and repair speed deteriorate due to lock contention
Solution Approach 1:
The patent replaces the mechanical locking system with a software-based reference counting and lock-free workflow. Instead of using traditional file system locks that block concurrent operations, the system uses atomic reference count operations and a coordinated repair protocol that allows multiple consistency checkers to operate simultaneously on different metadata structures without contention.
Solution Approach 2:
The consistency checker implements self-service by autonomously detecting inconsistencies and performing repairs without external intervention or lock management. The lock-free workflow enables the checker to operate independently on shared metadata structures, automatically coordinating repairs across parent volumes and snapshots/clones without requiring system-wide locks.
3Measurement precision
If the consistency checker traverses and repairs shared dense trees multiple times for different volumes, then thorough consistency verification is achieved, but cyclic repairs occur leading to wasted time and resources
Solution Approach 1:
The patent implements feedback through reference counting that tracks how many volumes share each metadata structure. When the consistency checker repairs a metadata structure, the reference count provides feedback about how many other volumes may be affected. This feedback mechanism prevents redundant repairs by allowing the checker to skip already-repaired structures when traversing other volumes in the family, eliminating cyclic repair operations.
Solution Approach 2:
The consistency checker performs preliminary traversal and repair of shared dense tree structures when first encountering them, marking them as repaired through the lock-free workflow. Subsequent traversals of the same structures by other volume checkers can skip already-repaired sections, preventing cyclic repairs while maintaining thorough verification across all volumes.
Data Source
AI summary
A consistency checker is configured to perform repairs to one or more multi-level dense tree metadata structures shared between volumes managed by a volume layer of a storage input/output (I/O) stack executing on one or more nodes of a cluster. The volumes include a parent volume and a snapshot and/or clone, wherein the snapshot/clone may be represented as an independent volume, and embodied as a respective read-only copy (snapshot) or read-write copy (clone) of the parent volume. Illustratively, the consistency checker verifies and/or fixes (i.e., repairs) on-disk structures of the volume layer, e.g., the shared dense tree, according to a distributed repair procedure that maintains consistency properties across all volumes in a volume family and avoid cyclic repairs made in the context of different volumes sharing the dense tree.


