Hierarchical Storage Management Snapshot Reference Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In file systems that utilize snapshots, the need to track multiple references to a single data block complicates operations, especially when combined with Hierarchical Storage Management (HSM), leading to issues like redundant storage and unnecessary data copying during migration and restoration.
Innovation Solution
Implement a method that manages data migration by using logical 'ditto' addresses for snapshot files, allowing additional processing to obtain physical disk addresses, and maintaining a managed region for controlling access to data blocks, thereby enabling efficient storage and retrieval without redundant copying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple references to the same data block are maintained in snapshot file systems, then snapshot functionality and data versioning are enabled, but device complexity increases due to the need to track reference counts and manage multiple bits per data block
Solution Approach 1:
The patent segments the reference tracking mechanism by separating the reference count management from the data block storage. Each data block has an associated reference count that is independently tracked, allowing the system to manage multiple snapshots without increasing overall system complexity. This segmentation enables efficient handling of snapshot operations by localizing the complexity to individual data blocks rather than requiring global tracking structures.
2Quantity of substance
If Hierarchical Storage Management is implemented to move data between storage levels, then storage efficiency and cost-effectiveness improve, but unnecessary data copying occurs when data blocks are shared between multiple snapshots
Solution Approach 1:
The patent implements a feedback mechanism where the HSM queries the reference count of each data block before initiating migration. If the reference count indicates that the data block is shared by multiple snapshots, the migration is deferred or canceled. This feedback loop prevents redundant copying of shared data blocks, as the system receives real-time information about data block usage and adjusts migration decisions accordingly, avoiding unnecessary storage operations.
Solution Approach 2:
The patent performs preliminary checks of reference counts before data migration decisions are made. By evaluating the reference count status in advance, the system can identify shared data blocks and prevent their migration, thereby avoiding the need for subsequent copying operations. This preliminary action eliminates redundant data transfer by proactively identifying and protecting shared data blocks from migration.
3Area of stationary object
If data blocks are migrated to lower storage levels in HSM, then online storage capacity increases, but restoration operations become more complex when data blocks are shared across multiple snapshots
Solution Approach 1:
The patent uses feedback from reference count queries to determine restoration behavior. When a data block is migrated and later needs restoration, the system checks the current reference count to understand how many snapshots are dependent on this data. This feedback enables the restoration process to be optimized - restoring only when necessary and knowing exactly which snapshots will be affected, thereby reducing complexity compared to blind restoration approaches.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
A method for managing the storage of a file that has been selected for migration from a first storage level within a file system to a second storage level comprises copying each of one or more data blocks of the selected file that are stored in the first storage level at a physical disk address maintained in a corresponding reference of an inode for the selected file from the first storage level to the second storage level; maintaining a logical ditto address in each reference of an inode for each snapshot file in the file system that refers to one of the one or more data blocks of the selected file that were copied to the second storage level; and updating the file system to include a managed region for controlling access to the one or more data blocks through the inode for the selected file.