Snapshot Metadata Tree Structure for Fragmented Data Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data storage systems, frequent snapshot creation and random writes lead to fragmented snapshot data, resulting in significant overhead for metadata reads due to scattered access and swapping of metadata into RAM.
Innovation Solution
A method is introduced that generates a snapshot data structure with nodes for volume and snapshot data, and adds entries to a metadata structure with references to physical locations of snapshot data, optimizing access by reducing the need for traversing multiple snapshot nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If snapshots are taken frequently and random writes are performed, then data protection and versioning capability are improved, but snapshot data becomes fragmented and metadata access overhead increases
Solution Approach 1:
The metadata structure is segmented into multiple metadata blocks organized in a tree structure with root metadata blocks and child metadata blocks. Each metadata block contains metadata entries for specific ranges of logical offsets, allowing sequential reads to access multiple contiguous blocks from the same parent without traversing the entire metadata tree.
Solution Approach 2:
The system pre-organizes metadata entries into a tree structure with parent-child relationships established in advance. When a sequential read operation is detected, the system can quickly identify and load the relevant parent metadata block and its child blocks into RAM, avoiding the need to traverse scattered metadata across multiple snapshots during the read operation.
2Quantity of substance
If the snapshot metadata structure is stored on disk rather than entirely in RAM, then storage efficiency is improved, but access speed deteriorates due to swapping
Solution Approach 1:
The large metadata structure is divided into multiple metadata blocks that can be selectively loaded into RAM. Only the metadata blocks relevant to the current read operation are swapped into memory, reducing the amount of data that needs to be in RAM at any given time while still enabling fast access to the required metadata.
Solution Approach 2:
The system anticipates sequential read operations and pre-loads the relevant parent metadata block and its child metadata blocks into RAM before the actual read operation begins. This preliminary action ensures that all necessary metadata is already in memory when the read operation starts, eliminating swapping delays during the actual data access.
3Loss of information
If scattered access to metadata is required to find relevant entries, then comprehensive data coverage is improved, but access overhead increases due to multiple swaps
Solution Approach 1:
The metadata is organized into segmented blocks where each block covers a specific range of logical offsets. This segmentation allows the system to identify and access only the specific blocks needed for a given read operation, rather than having to search through all metadata blocks scattered across different snapshots.
Solution Approach 2:
The system introduces a hierarchical dimension to the metadata structure with parent-child relationships between metadata blocks. This allows the system to navigate the metadata space efficiently by traversing the tree structure from root to leaf blocks, reducing the search path from O(n) in a flat scattered structure to O(log n) or better in the hierarchical structure.
Data Source
AI summary
Techniques are provided to facilitate access to fragmented snapshot data. For example, a storage control system generates a snapshot data structure of a storage volume. The snapshot data structure comprises plurality of nodes comprising a volume node and one or more snapshot nodes, the volume node is configured to store new and updated data that is written to logical offsets of the storage volume, and the one or more snapshot nodes comprise point-in-time copies of data of the storage volume taken at different times. The storage control system adds an entry for the volume node in a metadata structure associated with the snapshot data structure, wherein the entry comprises a reference to a physical location of data held by a given one of the snapshot nodes at a given logical offset of the storage volume.


