Block-Level Snapshot Relocation Using Free Storage Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesnapshot management complexityVSAvoidavailable storage space
Core Design Contradiction:
Device complexityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If additional storage devices are used to maintain snapshots, then original storage capacity is preserved, but system complexity and cost increase

Engineering Contradiction:
Improveavailable storage spaceVSAvoidstorage system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveavailable storage spaceVSAvoidsnapshot data integrity
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If more snapshots are stored, then system recovery options increase, but storage space consumption increases

Engineering Contradiction:
Improverecovery optionsVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS12499084B2Maintaining block level snapshots using free storage space
Publication Date: 2025.12.16 GOOGLE LLC
  • US12499084B2 patent drawing
  • US12499084B2 patent drawing
  • US12499084B2 patent drawing

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.