Pruned Resilvering Hierarchical Block Tree Dirty Time Log
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data backup schemes, such as mirroring, face inefficiencies in resynchronization processes due to the need to copy entire file storage devices, which can be time-consuming and reduce performance, while dirty region logging (DRL) incurs system overhead with smaller region sizes and may require significant overhead in resynchronizing large regions.
Innovation Solution
A method and system for resilvering a hierarchical block tree in a storage pool by traversing only branches with birth times greater than or equal to the lowest birth time on the dirty time log (DTL), and resilvering child blocks only if their birth times are listed on the DTL, thereby minimizing unnecessary resynchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If mirroring is used for data backup, then data reliability is improved, but resynchronization time increases significantly
Solution Approach 1:
The patent extracts only the necessary information (dirty region identifiers and their modification times) from the complete mirror structure and stores it in a separate dirty time log. During resynchronization, only this extracted metadata is read and processed, rather than reading the entire mirror structure, thereby reducing resynchronization time while maintaining data reliability.
Solution Approach 2:
The patent performs preliminary actions by continuously updating the dirty time log with region identifiers and modification times before failures occur. This pre-computed metadata enables rapid resynchronization without needing to scan the entire mirror structure during the recovery process.
2Productivity
If dirty region logging is used with small regions, then resynchronization speed is improved, but system overhead increases
Solution Approach 1:
The patent changes the parameter of region size dynamically based on workload characteristics. The system can adjust region sizes to optimize between resynchronization speed and system overhead, rather than using a fixed small region size that always incurs maximum overhead. This allows the system to achieve fast resynchronization when needed while minimizing overhead during normal operation.
3Reliability
If entire regions are resynchronized, then data consistency is ensured, but unnecessary operations increase
Solution Approach 1:
The patent segments the mirror structure into smaller manageable regions (e.g., 64KB or 1MB segments) rather than treating the entire mirror as a single unit. This segmentation allows the system to identify and resynchronize only the specific segments that contain dirty regions, ensuring data consistency for affected areas while avoiding unnecessary operations on clean segments.
Solution Approach 2:
The patent applies partial action by resynchronizing only the necessary portions of the mirror structure (dirty regions) rather than the entire structure. The dirty time log enables the system to identify exactly which regions need resynchronization, performing only the minimum necessary action to restore consistency and avoiding excessive operations on unaffected regions.
Data Source
AI summary
A computer readable medium includes executable instructions for resilvering a hierarchical block tree in a storage pool. Resilvering the hierarchical block tree involves traversing a branch of the hierarchical block tree only if a birth time of a parent block of the branch is greater than or equal to a lowest birth time on a dirty time log (DTL). Resilvering the hierarchical block tree further involves resilvering a child block in the branch only if the DTL comprises a birth time of the child block.


