Memory Hypervisor Bypasses Storage Stack for Direct I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face performance bottlenecks in data read and write operations due to inefficiencies in interacting with storage infrastructure, particularly in large-scale distributed systems where direct access to memory devices is hindered by storage stacks.

Innovation Solution

The implementation of a system that allows applications to issue data requests directly to storage pools via a memory hypervisor module, bypassing the storage stack, using POSIX interface for transparency and leveraging NVMe and persistent memory devices for efficient I/O operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If applications interact with storage infrastructure through storage stacks, then system compatibility and abstraction are maintained, but performance bottlenecks occur in data read and write operations

Engineering Contradiction:
Improvedata read and write performanceVSAvoidstorage stack complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the performance-critical I/O path from the complex storage stack by enabling applications to directly access storage devices through the memory hypervisor module. This removes the intermediary storage stack layers that were causing performance bottlenecks while maintaining system functionality through the POSIX interface abstraction.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memory hypervisor module acts as an intermediary between applications and storage devices, providing direct access while maintaining compatibility. It mediates between the application's POSIX interface expectations and the underlying NVMe/persistent memory hardware, enabling high-performance I/O without requiring applications to change.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If direct access to memory devices is implemented, then I/O efficiency is improved, but system transparency and ease of operation may be compromised

Engineering Contradiction:
ImproveI/O operation efficiencyVSAvoiddata access transparency
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The memory hypervisor module provides multiple functions: it maintains POSIX interface compatibility for transparency while simultaneously enabling direct high-performance access to NVMe and persistent memory devices. This multi-functionality allows the same layer to serve both compatibility and performance needs.

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

Solution Approach 2:

The system creates a virtual copy of the storage interface through the memory hypervisor that presents a POSIX-compatible view to applications while the actual I/O operations bypass the storage stack and access devices directly. This copying approach maintains transparency without sacrificing performance.

Inventive Principle:
Principle #26Copying

3Reliability

If storage stack intermediaries are used, then system compatibility is maintained, but response time and throughput are reduced

Engineering Contradiction:
Improvesystem compatibilityVSAvoidsystem responsiveness
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system segments the storage access path into two parts: a compatibility layer (memory hypervisor with POSIX interface) that maintains reliability, and a performance layer (direct device access) that improves speed. This segmentation allows each part to optimize for its specific function without compromising the other.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11677633B2Methods and systems for distributing topology information to client nodes
Publication Date: 2023.06.13 EMC IP HLDG CO LLC
  • US11677633B2 patent drawing
  • US11677633B2 patent drawing
  • US11677633B2 patent drawing

AI summary

In general, embodiments relate to a method for distributing topology information to client application nodes in a distributed system, the method comprising: creating a file system on a management node, enabling a plurality of client application nodes to access the file system on the management node, obtaining a topology file, wherein the topology file comprises information about a plurality of storage devices to enable the plurality of client application nodes to issue input/output (IO) requests directly to the plurality of storage devices, and storing, by the management node, the topology file in the file system, wherein the topology file is accessible to the plurality of client application nodes once the topology file is stored in the file system.