In-Memory Snapshot Token Management for Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face inefficiencies in managing tokens for token-based data transfers, particularly with ODX commands, as they often require persisting snapshots and metadata in back-end storage, leading to performance impacts and increased system overhead.
Innovation Solution
The implementation of an in-memory snapshot mechanism that associates tokens with differential metadata, allowing for efficient token management by avoiding the need to persist snapshots in back-end storage and minimizing metadata footprint, while ensuring quick response to create-token and write-via-token commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If snapshots and metadata are persisted in back-end storage devices, then data protection is ensured, but system overhead increases and performance deteriorates
Solution Approach 1:
The patent extracts the snapshot data from back-end storage devices and keeps it only in the cache memory of the storage controller. This allows the system to maintain data protection through snapshot copies while avoiding the performance penalty of persisting snapshots to slow back-end storage devices. The snapshot metadata is also kept in memory rather than being written to disk, eliminating I/O overhead for metadata operations.
Solution Approach 2:
The patent creates a copy of the snapshot data in the storage controller's cache memory without persisting it to back-end storage. This copying approach allows the system to have the benefits of snapshot data protection while avoiding the performance degradation associated with writing and reading snapshot data from slow back-end storage devices.
2Reliability
If snapshots are persisted in back-end storage, then token data protection is ensured, but the metadata footprint increases
Solution Approach 1:
The patent extracts metadata from persistent storage and keeps it only in the storage controller's memory. This allows the system to maintain token data protection through complete metadata tracking while avoiding the overhead of writing metadata to back-end storage devices, thereby reducing the effective metadata footprint.
3Productivity
If in-memory snapshots are used without persistence, then system overhead is reduced, but data protection may be compromised
Solution Approach 1:
The patent performs preliminary actions by creating snapshots in the storage controller's cache memory before any potential data loss scenario occurs. The snapshot data is held in fast memory ready for immediate use, and the system tracks all modifications through metadata before writing to back-end storage. This preliminary snapshot creation in memory provides data protection without the overhead of persistent storage operations.
Solution Approach 2:
The patent implements a feedback mechanism through metadata tracking that monitors all changes to snapshot data in real-time. This metadata feedback system allows the storage controller to maintain data protection by tracking the state of data without requiring persistent storage of the actual snapshot data, thereby reducing system overhead while maintaining reliability.
Data Source
AI summary
At least one processing device receives a create-token command from a host device. Responsive to receipt of the create-token command, the processing device creates the token, generates an in-memory snapshot of data in one or more logical address ranges of one or more source storage volumes, associates the in-memory snapshot with the token, and provides the token to the host device. The processing device receives a write-via token command from the host device, the write-via-token command specifying the token and one or more logical address ranges of one or more target storage volumes. Responsive to receipt of the write-via-token command, the processing device determines whether or not differential metadata of the storage system includes one or more entries for the one or more logical address ranges of the one or more source storage volumes, and controls execution of the write-via-token command based at least in part on the determination.


