Indirection-Based Storage Backups Using Segment Markers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data backup methods in indirection-based storage systems often trade off efficiency and resource usage, leading to inefficient delta backups that consume excessive computing resources and disrupt system operations.
Innovation Solution
A storage system utilizing a translation table to generate markers encapsulating the state of the storage device at different times, calculating differences between these markers to determine changed segments, and performing incremental backups while managing garbage collection barriers to minimize resource usage and system disruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional delta backup methods are used to determine the change set, then the backup size is limited, but the backup process efficiency is sacrificed
Solution Approach 1:
The patent introduces markers as intermediary objects that represent the state of storage segments at specific points in time. Instead of directly comparing large data sets or translation tables, the system uses compact markers (containing segment identifiers and sequence numbers) as mediators to determine change sets. This intermediary approach enables efficient delta backup by allowing rapid comparison of small marker data structures rather than examining entire translation tables or data sets, thus maintaining both small backup sizes and high backup process efficiency.
2Use of energy by moving object
If more data than necessary is backed up, then the resource usage of the backup process is limited, but the backup size increases
Solution Approach 1:
The patent extracts only the essential information needed for backup decision-making from the complete translation table. Instead of processing entire translation tables or comparing all data blocks, the system extracts segment identifiers and sequence numbers into compact markers. This extraction principle allows the system to identify changed segments with minimal resource usage while generating precise change sets that contain only the necessary data for backup, avoiding unnecessary processing and reducing backup size.
3Measurement precision
If per block checksum comparison is used to determine changes, then the change detection accuracy is improved, but the computing resources required increase
Solution Approach 1:
The patent segments the storage system into discrete units (segments) and assigns sequence numbers to track changes at the segment level rather than requiring block-level checksum comparison. Each segment is independently tracked with a sequence number that increments with each modification. This segmentation approach maintains change detection accuracy by providing precise tracking of modified segments while significantly reducing computing resources, as comparing sequence numbers is far less computationally intensive than calculating and comparing checksums for every block.
4Ease of manufacture
If file timestamps are compared to determine changed files, then the implementation simplicity is improved, but the precision of change detection decreases
Solution Approach 1:
The patent changes the parameter used for tracking changes from file timestamps to segment sequence numbers. Instead of relying on timestamp comparison which can suffer from precision issues and cannot detect changes within the same timestamp, the system uses monotonically increasing sequence numbers assigned to each segment modification. This parameter change maintains implementation simplicity (still a straightforward comparison operation) while dramatically improving change detection precision, as sequence numbers provide exact ordering and detection of every segment modification regardless of timing.
Data Source
AI summary
A data storage system comprises, a storage device having segments that are configured to store data, and storage logic coupled to the storage device that manages storage of data on the storage device using a translation table. The storage logic is executable to receive a first marker as part of a backup request, generate a second marker encapsulating a state of the storage device at a second time, calculate a difference between the first marker and the second marker, and generate a backup of data stored in the storage device based on the calculated difference between the first marker and the second marker. A garbage collection (GC) barrier may be set based on serial numbers associated with backup segments, and the garbage collection barrier may be incrementally released by releasing the garbage collection barrier for each segment after the segment has been backed up. The storage logic may also record the deletion of a storage unit from the storage device in a deletion table, and retire deleted storage mappings in the deletion table responsive to generating the backup.


