Storage Snapshot Management via Namespace Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage snapshot management systems face challenges in optimizing cost, performance, and ease of use, particularly in all-flash memory arrays, as they often lead to inefficient data management and performance degradation due to inefficient cloning and metadata replication, failing to meet modern data center needs.
Innovation Solution
A storage snapshot management system that writes only updated data to new namespaces, with a snapshot indicating which LBAs contain data, and evicts unused namespaces by moving updated or non-updated data to other namespaces, leveraging the storage partition feature for efficient data and metadata distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If traditional snapshot cloning is used to create storage snapshots, then snapshot creation is simple, but storage cost increases and performance degrades due to inefficient cloning of entire data sets
Solution Approach 1:
The patent segments the snapshot creation process by dividing the data set into individual blocks and tracking only the changed blocks. Instead of cloning the entire data set, the system creates a snapshot by recording metadata pointers to specific data blocks that have changed, thereby reducing storage space consumption while maintaining snapshot creation simplicity.
Solution Approach 2:
The patent extracts only the essential snapshot information (changed data blocks and their metadata) from the complete data set. By taking out only the necessary components rather than copying the entire data set, the system achieves efficient snapshot creation with minimal storage overhead.
2Device complexity
If large block sizes are used for snapshot management, then metadata tracking is simplified, but storage efficiency decreases due to excessive space requirements
Solution Approach 1:
The patent changes the block size parameter from large fixed blocks to variable-sized blocks that match the actual data granularity. This allows the system to track only the specific blocks that have changed, improving storage efficiency while maintaining manageable metadata through efficient indexing and tracking structures.
3Adaptability or versatility
If snapshots are created in production environments with high performance requirements, then backup and analytics capabilities are improved, but performance degradation occurs due to snapshot operations
Solution Approach 1:
The patent uses a metadata copying approach rather than physical data copying. When snapshots are created, only the metadata pointers to changed blocks are copied and tracked, not the actual data blocks. This minimizes the performance impact on production environments while maintaining full backup and analytics capabilities.
Solution Approach 2:
The patent introduces a metadata layer as an intermediary between the production data and snapshot operations. This metadata layer tracks and manages snapshot information without requiring direct access or manipulation of the production data, thereby isolating snapshot operations from production performance while maintaining backup and analytics functionality.
4Adaptability or versatility
If multiple copies of the same data set from different time points are maintained simultaneously, then analytics and testing capabilities are enhanced, but storage cost increases
Solution Approach 1:
The patent merges multiple snapshots by combining their metadata into a unified snapshot table structure. Instead of maintaining separate storage for each snapshot copy, the system consolidates the metadata pointers from multiple time points into a single structured table, enabling analytics and testing capabilities while significantly reducing storage space consumption through shared data block references.
Data Source
AI summary
The present disclosure generally relates to a storage snapshot management system. When updated data is written to the memory device, rather than rewriting all of the data, only the updated data is written to a new namespace. A snapshot of the new namespace indicates which LBAs in the new namespace contain data. New namespaces are added each time data is updated. When the updated data is to be read, the data storage device reads the updated LBA from the new namespace, and also gathers the non-updated data from the previous namespace. Eventually, the number of namespaces for the data reaches a threshold, and thus some namespaces need to be evicted. To evict a namespace, the updated data in the namespace is moved to a different namespace, or the non-updated data is moved to a namespace that contains updated data. In either case, the now unused namespaces are evicted.


