Host Path Masking for Scalable Software-Defined Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software-defined storage systems face challenges in path selection using advanced protocols like NVMe/oF or NVMe/TCP, leading to non-optimal paths and performance issues such as excessive latency and reduced throughput, particularly in virtual machine environments with strict path limits, limiting scalability.

Innovation Solution

Implementing path masking between software stack layers of host devices to facilitate path selection using address range distribution information, allowing for higher numbers of paths to logical storage volumes, thereby optimizing path selection and reducing network hops.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If path masking is implemented between software stack layers, then scalability to larger numbers of storage nodes is achieved, but device complexity increases

Engineering Contradiction:
ImprovescalabilityVSAvoidsoftware stack complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The software stack is segmented into distinct layers: the upper layer (application/VM) that requires limited paths for simplicity, and the lower layer (storage access layer) that manages the full complement of paths to storage nodes. This segmentation allows each layer to operate with appropriate complexity - the upper layer maintains simplicity while the lower layer handles path masking and selection, enabling scalability without overwhelming the application layer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The lower software stack layer acts as an intermediary between the application and the storage network. It masks the true number of available paths from the upper layer, presenting a simplified view while actually managing communication through multiple paths. This intermediary layer enables the system to scale to more storage nodes without requiring the upper layer to become more complex.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the number of paths to logical storage volumes is increased, then throughput is improved, but path selection complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidpath selection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The lower software stack layer autonomously performs path selection based on address range distribution information, without requiring complex path selection logic in the upper layer. The system self-manages the mapping between logical storage addresses and physical paths, enabling high throughput through multiple paths while keeping the upper layer simple. The lower layer automatically determines optimal paths based on where data is physically located.

Inventive Principle:
Principle #25Self-service

3Productivity

If advanced storage access protocols like NVMe/oF or NVMe/TCP are used, then performance is improved, but compatibility with existing software-defined storage systems is reduced

Engineering Contradiction:
ImproveperformanceVSAvoidprotocol compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The lower software stack layer is designed to support multiple storage access protocols including NVMe/oF, NVMe/TCP, and traditional protocols. It provides a universal interface that can handle different protocol types while maintaining the same path masking functionality. This allows the system to leverage high-performance protocols when available while remaining compatible with existing software-defined storage systems that use traditional protocols.

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

Data Source

PatentUS12504985B2Host device with path masking between software stack layers to facilitate scaling of software-defined storage system
Publication Date: 2025.12.23 DELL PROD LP
  • US12504985B2 patent drawing
  • US12504985B2 patent drawing
  • US12504985B2 patent drawing

AI summary

An apparatus in an illustrative embodiment comprises at least one processing device configured to establish a first number of paths to a logical storage volume, stored across multiple storage nodes of a distributed storage system, in a first layer of a software stack of the at least one processing device, and to present a second number of paths to the logical storage volume from the first layer of the software stack to at least one overlying layer of the software stack, the second number of paths being less than the first number of paths. The at least one processing device is further configured to receive input-output operations from the at least one overlying layer of the software stack for delivery to the storage nodes, and to select in the first layer a plurality of paths within the first number of paths to deliver the input-output operations to the storage nodes.