Directory Inode Virtualization for Filesystem Snapshots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face challenges in creating directory-level snapshots within a filesystem, as they often rely on external tools and do not efficiently manage modifications to directories, leading to potential data inconsistencies between snapshot views.

Innovation Solution

The implementation of a directory inode mapping file that associates directory virtual inode numbers with real inode numbers, allowing for the creation of snapshots by copying and splitting directory real inode data structures, enabling separate views for modified and unmodified directories while maintaining data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If external volume management tools are used for snapshots, then snapshot functionality is achieved, but device complexity and reliance on external tools increases

Engineering Contradiction:
Improvedata consistencyVSAvoidreliance on external tools
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The filesystem itself provides snapshot functionality through native inode splitting capability, eliminating the need for external volume management tools. The system serves its own snapshot needs by managing directory views internally through inode duplication and splitting mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The inode structure serves multiple functions: it acts as both the standard filesystem index node and the snapshot mechanism carrier. By embedding snapshot capability within the existing inode system, the same infrastructure handles both normal filesystem operations and snapshot creation without requiring separate external tools.

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

2Ease of operation

If directory snapshots are created at any level, then snapshot accessibility is improved, but data consistency between views becomes difficult to maintain

Engineering Contradiction:
Improvesnapshot accessibilityVSAvoiddata consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The directory inode is segmented into separate views through duplication. When a snapshot is created, a new inode is allocated and copied from the original, allowing independent modification of one view without affecting others. This segmentation enables directory-level snapshots at any depth while maintaining consistency through controlled duplication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The inode duplication and splitting process is performed in advance during snapshot creation, establishing separate data paths before any modifications occur. This preliminary action ensures that subsequent write operations to one directory view cannot propagate to other views, preserving data consistency.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If shared file data is indexed by the same inode, then storage efficiency is improved, but modification isolation between views is lost

Engineering Contradiction:
Improvestorage efficiencyVSAvoidmodification isolation
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The shared file data is segmented at the inode level when a snapshot is created. By duplicating the inode structure, the system creates separate inode instances for different views while maintaining efficiency through copy-on-write semantics. This allows multiple views to share initial data but isolate modifications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the inode reference parameter dynamically based on the operation type. For read operations, inodes point to shared data blocks for efficiency. For write operations, the inode is split to create isolated copies. This parameter change strategy balances storage efficiency with modification isolation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12001393B2Directory snapshots based on directory level inode virtualization
Publication Date: 2024.06.04 DELL PROD LP
  • US12001393B2 patent drawing
  • US12001393B2 patent drawing
  • US12001393B2 patent drawing

AI summary

Described is a technology that facilitates directory level snapshots at any level of a filesystem's namespace. A directory inode mapping file associates a first directory's virtual inode number(s) with real inode number(s). A snapshot of the first directory creates a second directory with a second directory inode mapping file copied from the first directory inode mapping file, thereby sharing the real inode data structure(s) of the first directory. In the event that one of the directories is to be modified, the directory real inode is split to provide a new directory real inode file for the to-be-modified directory, with the modification after the split.