Snapshot Deletion Optimization via Delegated Reference Counting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for deleting snapshot copies in data storage systems are inefficient, consuming significant CPU and I/O resources, and impacting performance due to the need to traverse entire file system hierarchies and update metadata for each file system block, especially when dealing with large numbers of snapshots.
Innovation Solution
The technique optimizes file truncate and delete operations by aggregating multiple snapshots into chunks, selecting a destination snapshot, and deallocating file system blocks concurrently, using delegated reference counting to manage shared data blocks and reduce metadata transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional methods are used to delete snapshot copies by traversing entire file system hierarchies and updating metadata for each file system block, then data integrity is maintained, but CPU and I/O resources are significantly consumed and performance is impacted
Solution Approach 1:
The patent merges multiple snapshot deletions into a single transactional operation. Instead of processing each snapshot independently with separate metadata updates, the system combines multiple deletion operations into one atomic transaction that processes all snapshots simultaneously, reducing the total number of I/O operations and metadata transactions while maintaining data integrity through the transactional guarantee.
Solution Approach 2:
The patent performs preliminary actions by first identifying and aggregating all file system blocks across multiple snapshots before executing the deletion. The system pre-processes the deletion list, groups blocks by their storage locations, and prepares the transactional operation in advance, which reduces the actual deletion execution time and minimizes the impact on system performance.
2Reliability
If conventional snapshot deletion processes are used, then all file system blocks are properly deallocated, but the process consumes significant I/O operations and metadata transactions
Solution Approach 1:
The patent combines multiple individual file system block deallocation operations into a single batched transaction. By merging the deletion of blocks across multiple snapshots into one coordinated operation, the system reduces the total number of I/O transactions and metadata updates required, thereby decreasing energy consumption while ensuring complete deallocation of all blocks.
Solution Approach 2:
The patent implements a universal deletion mechanism that handles multiple snapshots and their associated file system blocks through a single transactional interface. This multi-functional approach allows the system to process diverse deletion scenarios (individual snapshots, multiple snapshots, partial deletions) using the same optimized pathway, reducing overall I/O overhead.
3Reliability
If multiple snapshots are deleted individually, then each snapshot is properly removed, but the overall deletion process is inefficient and impacts system performance
Solution Approach 1:
The patent merges multiple individual snapshot deletion operations into a single transactional operation that processes all snapshots simultaneously. This combination eliminates the sequential overhead of processing each snapshot separately, reducing the total processing time while maintaining the correctness of each snapshot removal through the atomic nature of the transaction.
Solution Approach 2:
The patent enables continuous processing of multiple snapshot deletions within a single transactional context, eliminating idle time between individual deletion operations. The system maintains a continuous deletion workflow where all snapshots are processed in one uninterrupted operation, maximizing resource utilization and minimizing total deletion time.
Data Source
AI summary
A method is used in managing deletion of replicas of files. A request to delete a set of replicas of a file of a file system is received. A replica of the file represents a state of the file at a particular prior point in time. A destination replica is identified. A set of file system blocks shared between a replica of the set of replicas and the destination replica is de-allocated by updating metadata of the destination replica. File system blocks associated with the set of replicas are de-allocated. A subset of the file system blocks are de-allocated concurrently.


