Hash-Based Snapshot File Size Reduction in Virtual Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional snapshot systems in virtual machines face performance issues due to large snapshot files, which require significant disk space and CPU resources during collapsing operations, leading to slow and costly processes.
Innovation Solution
Implementing a hash-based snapshot system that uses a hash-storage with hash base-files and hash-databases to store and manage data blocks, allowing for efficient snapshot creation and access through hash codes, reducing the size of snapshot files and improving performance by avoiding data duplication during snapshot operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional snapshot files are used to store data updates, then snapshot functionality is provided, but snapshot file size increases over time requiring significant disk space and CPU resources
Solution Approach 1:
The patent extracts only the essential identifying information (hash codes) from the actual data blocks, storing merely the hash codes in snapshot files rather than the complete data blocks. This extraction principle reduces snapshot file size dramatically while preserving the ability to identify and retrieve original data blocks when needed.
Solution Approach 2:
The patent creates simplified copies of the data block metadata (hash codes) rather than copying the actual data blocks themselves. These hash code copies serve as references that enable snapshot functionality without duplicating the full data, thereby reducing storage requirements while maintaining snapshot integrity.
2Ease of operation
If conventional collapsing operations are performed to merge snapshot files into virtual storage files, then snapshot data is consolidated, but the process requires large disk space allocation and consumes significant CPU and storage resources
Solution Approach 1:
The collapsing operation extracts and compares only hash codes rather than processing entire data blocks. By working with the small hash code representations instead of full data blocks, the system achieves consolidation with minimal CPU and storage resource consumption, while still verifying data integrity through hash comparison.
Solution Approach 2:
The patent changes the representation parameter of data from full data blocks to compact hash codes. This parameter transformation enables collapsing operations to proceed with reduced resource requirements, as hash code manipulation is computationally cheaper and requires less disk space than handling actual data blocks.
3Productivity
If snapshot files grow large over time, then more data updates are recorded, but system performance deteriorates due to frequent access of large snapshot files
Solution Approach 1:
The system extracts only hash codes to store in snapshot files, creating a lightweight metadata structure that can be accessed quickly. This extraction approach enables efficient recording of data updates while maintaining fast access speeds, as reading and comparing hash codes is much faster than handling full data blocks.
Data Source
AI summary
Methods and systems configured to provide hash-based snapshot services for a virtual storage are provided. The system includes a processor and memory coupled with the processor. The memory is configured to provide the processor with instructions for maintaining, by a hash-based snapshot module executing on the system, a file system of the virtual storage. The file system is associated with a plurality of data blocks. The virtual storage is supported by a hash-storage having a hash base-file and a hash-database. The hash-database is configured for storing the plurality of data blocks. And the hash base-file includes hash codes generated by applying a hash function to the plurality of data blocks. The memory is further configured to provide the processor with instructions for accessing, by the hash-based snapshot module, the file system using hash codes contained in the hash base-file to identify data blocks stored in the hash-database; creating, by the hash-based snapshot module, a first snapshot for the file system, wherein the first snapshot is associated with a first hash snapshot file copied based on the hash base-file; and accessing, by the hash-based snapshot module, the first snapshot using hash codes contained in the first hash snapshot file to identify data blocks stored in the hash-database.


