Inode Reuse in Synchronous Storage Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing synchronous replication techniques face challenges in maintaining data consistency and efficiency, particularly during transition operations and hole reservation management, leading to potential data loss and increased latency.

Innovation Solution

Implementing a system that intercepts operations to split and replicate them in parallel, with mechanisms for timestamp consistency, on-demand inode growth, access control list parity, and hole reservation flag replication, ensuring data integrity and efficient resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous replication is implemented with parallel operation execution, then data consistency and reliability are improved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a splitter component as an intermediary that intercepts operations before they reach the file system, divides them into primary and replication operations, and coordinates their execution. This mediator manages the complexity of synchronous replication by centralizing the coordination logic and isolating the file system from replication concerns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments operations into distinct components: the original operation targeting the first storage object and a replicated operation targeting the second storage object. This segmentation allows independent execution and tracking of each operation while maintaining synchronization through the splitter's coordination mechanism.

Inventive Principle:
Principle #1Segmentation

2Reliability

If inode allocation is pre-managed for replication, then data integrity is maintained, but storage resource utilization decreases due to unused inodes

Engineering Contradiction:
Improvedata integrityVSAvoidstorage resource utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent performs preliminary actions by creating placeholder inodes in advance for potential replication operations. These pre-allocated inodes ensure that when replication operations need to be executed, the necessary inode resources are already available, maintaining data integrity without requiring complex real-time allocation decisions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a mechanism to discard and recover unused inodes. When pre-allocated inodes are not needed for replication (because the original operation didn't require replication or the replication succeeded), those inodes are freed back to the inode pool, allowing them to be reused for future operations and improving overall storage resource utilization.

Inventive Principle:
Principle #34Discarding and recovering

3Ease of manufacture

If transition operations are handled with traditional methods, then simplicity is maintained, but data loss may occur during replication synchronization

Engineering Contradiction:
Improveoperational simplicityVSAvoiddata loss prevention
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the splitter monitors the execution status of both primary and replication operations. When a transition operation occurs or an operation completes, the splitter receives feedback about the state of replication and adjusts its behavior accordingly, ensuring data consistency without requiring complex manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent prepares cushioning measures in advance by maintaining a buffer or queue mechanism that can hold operations during transition states. This allows the system to handle synchronization issues gracefully by temporarily storing operations rather than risking data loss, while keeping the overall process relatively simple through automated buffer management.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11797213B2Freeing and utilizing unused inodes
Publication Date: 2023.10.24 NETAPP INC
  • US11797213B2 patent drawing
  • US11797213B2 patent drawing
  • US11797213B2 patent drawing

AI summary

Techniques are provided for freeing and utilizing unused inodes. For example, an operation, targeting a first storage object of a first node having a replication relationship with a second storage object of a second node, is intercepted. A replication operation is created as a replication of the operation. The operation is implemented upon the first storage object and the replication operation is implemented upon the second storage object. A determination is made that the replication operation uses an inode no longer used by storage objects of the second node. The inode targeted by the replication operation is freed and utilized based upon the inode being a leaf inode. If the inode is a stream directory inode, then data streams of the stream directory inode are moved under a new private inode and the stream directory inode is released.