In-Memory vSAN Object Replication for File Handle Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing enterprise-grade storage systems face performance overhead due to the need for persistent file handles to be stored in highly available stable storage, which can disrupt service during server failures and upgrades, necessitating more efficient methods for continuous availability.

Innovation Solution

Implementing an in-memory 'virtual storage area network' (vSAN) object that replicates or uses erasure coding across host devices, storing persistent file handles in volatile memory instead of stable storage, thereby reducing overhead and ensuring continuous availability with low latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If persistent file handles are stored in highly available stable storage, then reliability is improved, but productivity deteriorates due to performance overhead

Engineering Contradiction:
Improvecontinuous availabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the storage system into two distinct layers: volatile memory storage for active file handles and stable storage for persistence. This segmentation allows the system to enjoy the speed of volatile memory for frequent operations while maintaining the reliability of stable storage through selective use, thereby resolving the contradiction between performance and reliability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a file handle cache as an intermediary component between the file system and stable storage. This cache acts as a buffer that holds recently accessed file handles in volatile memory, reducing the frequency of stable storage accesses and thereby improving performance while maintaining reliability through the cache's backup mechanisms

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If persistent file handles are stored in volatile memory, then productivity is improved, but reliability deteriorates during host failures

Engineering Contradiction:
ImproveperformanceVSAvoidcontinuous availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary actions by proactively replicating file handle data to stable storage before volatile memory failures occur, and by pre-establishing backup mechanisms that ensure data can be recovered or transferred to alternative hosts, thus maintaining reliability while using volatile memory for performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent provides beforehand cushioning through multiple mechanisms: replicating file handle data across multiple hosts before failure occurs, maintaining backup copies in stable storage, and implementing failover clusters that are prepared in advance to take over if a host fails, thereby cushioning against reliability risks while enabling volatile memory usage

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

3Reliability

If file operations are performed with stable storage persistence, then reliability is improved, but loss of time increases

Engineering Contradiction:
Improvedata persistenceVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by making the file handle cache host-specific and location-aware. Each host maintains its own cache of file handles in local volatile memory, allowing rapid local access for file operations. Stable storage persistence is applied selectively only when needed for recovery or cross-host scenarios, thereby minimizing latency for common operations while maintaining data persistence reliability

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10642783B2System and method of using in-memory replicated object to support file services wherein file server converts request to block I/O command of file handle, replicating said block I/O command across plural distributed storage module and performing said block I/O command by local storage module
Publication Date: 2020.05.05 VMWARE INC
  • US10642783B2 patent drawing
  • US10642783B2 patent drawing
  • US10642783B2 patent drawing

AI summary

Techniques are disclosed for using in-memory replicated object to support file services. Certain embodiments provide a method of storing persistent file handles in a storage system comprising a plurality of computing devices. The method may include requesting to write a persistent file handle corresponding to a file to a file system stored on the plurality of computing devices. The request may be translated to a block input/output (I/O) command to an in-memory object, the in-memory object representing at least a portion of the file system, a copy of the in-memory object being stored at each of the plurality of computing devices in volatile memory. The persistent file handle may then be written to the copy of the in-memory object stored in the volatile memory of each of the plurality of computing devices.