Block-Level Snapshot Relocation Using Free Storage Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Preserving snapshots of data on storage devices leads to rapid consumption of available storage space, reducing system performance and user satisfaction.
Innovation Solution
A computing device intercepts trim commands to manage block-level snapshots using free blocks on the storage device, maintaining snapshots without requiring additional storage space by relocating them to unused blocks when needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If snapshots are stored on the same storage devices where original data is located, then snapshot maintenance is simplified, but available storage space fills up quickly
Solution Approach 1:
The patent segments the storage device into two distinct types of blocks: free blocks (identified via trim commands) and non-free blocks. Snapshots are specifically stored in free blocks, separating snapshot data from regular file system data. This segmentation allows the system to maintain snapshots without consuming space that the file system needs, resolving the contradiction between simplified snapshot management and available storage space.
2Quantity of substance
If additional storage devices are used to maintain snapshots, then original storage capacity is preserved, but system complexity and cost increase
Solution Approach 1:
The patent makes the storage device universal by enabling free blocks to serve dual purposes: they appear as unused space to the file system (maintaining apparent storage capacity) while simultaneously serving as storage locations for snapshots. This multi-functionality eliminates the need for separate snapshot storage devices, reducing system complexity while preserving storage space.
3Quantity of substance
If free blocks are used to store snapshot data, then available storage space is maintained, but the file system may attempt to write to these blocks
Solution Approach 1:
The patent implements a feedback mechanism where the system continuously monitors write commands directed at free blocks. When a write command targets a free block containing snapshot data, the system detects this and relocates the snapshot data to a different free block before allowing the write operation. This feedback loop ensures snapshot integrity is maintained while preserving the benefits of using free blocks for storage.
4Adaptability or versatility
If more snapshots are stored, then system recovery options increase, but storage space consumption increases
Solution Approach 1:
The patent employs a discard and recover strategy where snapshot data is temporarily stored in free blocks that are subsequently reused for new snapshots. When space is needed, older snapshot data is discarded (or retained only if needed for recovery), and the same physical blocks are recovered and reused for new snapshot data. This allows the system to maintain multiple recovery options over time without permanently consuming additional storage space.
Data Source
AI summary
A processor of a computing device is described that intercepts a write command output from a file system, the write command specifying new data to be written to a particular group of blocks of a storage device. The processor determines, based on a record of free blocks of the storage device, that the particular group of blocks of the storage device include one or more free blocks that are currently storing snapshot data as old data. Responsive to determining that the particular group of blocks of the storage device include one or more free blocks that are currently storing snapshot data as old data, the processor moves the old data to other free blocks of the storage device, and after moving the old data to the other free blocks, the processor forwards the write command to the storage device to write the new data to the particular group of blocks.


