Crash-Consistent Snapshot Tagging for Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional snapshot operations in storage systems often suspend write requests for an indeterminate period, leading to application timeouts and inefficiencies, as the time required to complete the snapshot is variable and dependent on data set size and application specifics.
Innovation Solution
Implementing a system where write requests are tagged as pre-snapshot or post-snapshot, with the configuration of logical or network interfaces switched between these states to create a crash-consistent snapshot, ensuring that only pre-snapshot writes are included in the snapshot and post-snapshot writes are suspended until the configuration switch is complete, thus providing a deterministic suspension time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional snapshot operations suspend write requests to create a consistent snapshot, then snapshot consistency is improved, but application response time deteriorates due to variable suspension periods
Solution Approach 1:
The system performs preliminary actions by tagging write requests as pre-snapshot or post-snapshot before the snapshot operation begins. This allows the system to pre-identify which writes should be included in the snapshot and which should be suspended, eliminating the need for variable suspension periods while maintaining consistency.
Solution Approach 2:
The patent introduces an intermediary tagging mechanism that mediates between write requests and the snapshot operation. By using pre-snapshot and post-snapshot tags as intermediaries, the system can deterministically route writes without requiring indefinite suspension, thus resolving the contradiction between consistency and response time.
2Reliability
If write requests are suspended during snapshot operation, then snapshot consistency is improved, but productivity deteriorates due to suspended write operations
Solution Approach 1:
The system performs preliminary tagging of write requests with pre-snapshot or post-snapshot identifiers before the snapshot operation commences. This preliminary action enables the system to process writes deterministically without suspension, maintaining both consistency and productivity.
Solution Approach 2:
The patent implements a dynamic tagging system where write requests are dynamically labeled as pre-snapshot or post-snapshot based on their arrival time relative to the snapshot initiation. This dynamic classification allows the system to maintain high productivity by processing writes without suspension while ensuring snapshot consistency through the tagging mechanism.
3Reliability
If snapshot operation processes all write requests, then completeness of snapshot is improved, but determination of consistent snapshot point deteriorates due to variable processing time
Solution Approach 1:
The system performs preliminary tagging of write requests with pre-snapshot or post-snapshot identifiers before the snapshot operation begins. This preliminary classification provides a precise determination point for the snapshot, eliminating variability while ensuring all pre-snapshot writes are included for completeness.
Solution Approach 2:
The patent changes the parameter of write request classification from time-based suspension to tag-based routing. By introducing pre-snapshot and post-snapshot as distinct parameters, the system achieves precise snapshot point determination while maintaining completeness through deterministic inclusion of pre-snapshot writes.
Data Source
AI summary
Described herein is a system and method for a scalable crash-consistent snapshot operation. Write requests may be received from an application and a snapshot creation request may further be received. Write requests received before the snapshot creation request may be associated with pre-snapshot tags and write requests received after the snapshot creation request may be associated with post-snapshot tags. Furthermore, in response to the snapshot creation request, logical interfaces may begin to be switched from a pre-snapshot configuration to a post-snapshot configuration. The snapshot may then be created based on the pre-snapshot write requests and the post-snapshot write requests may be suspended until the logical interfaces have switched configuration.


