Virtual NVMe Subsystem GUI Configuration via Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a need to create an abstracted or virtual NVMe subsystem carved out from a pool of physical devices exposed via NVMeoF connectivity, allowing intuitive configuration and management using a graphical user interface (GUI), as existing systems lack intuitive methods for configuring complex NVMe entities and their connectivity.

Innovation Solution

A virtual subsystem configuration system utilizing a GUI that enables users to create and manage NVMe entities such as controllers, namespaces, and hosts, providing intuitive drag-and-drop functionality and automated parameter selection hints to configure connectivity between these entities, allowing for the creation of a virtual subsystem over a pool of physical storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a graphical user interface (GUI) is used to configure NVMe entities and connectivity, then ease of operation is improved, but device complexity increases due to the need to manage multiple virtual subsystems, controllers, namespaces, and hosts

Engineering Contradiction:
Improveease of configurationVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system segments the complex NVMe configuration task into distinct entity types (controllers, namespaces, hosts, connectivity) that can be independently created and managed through separate GUI panels. Each entity type has its own creation panel with specific parameters, allowing users to configure complex systems through a series of simple, organized steps rather than facing the entire complexity at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The GUI acts as an intermediary layer between the user and the complex NVMe subsystem configuration. It provides automated generation of configuration data, validation of parameters, and intelligent defaults, shielding users from the underlying complexity while enabling precise control over virtual subsystem creation and management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If automated parameter selection hints are provided, then ease of operation is improved, but loss of information increases due to automated selection of parameters

Engineering Contradiction:
Improveease of configurationVSAvoidparameter control
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system provides self-service through automated generation of configuration parameters based on user selections. When users create entities through the GUI, the system automatically generates appropriate parameter values, validates them, and populates fields with intelligent defaults. This self-service approach reduces manual effort while maintaining user control, as users can review and modify automated suggestions before finalizing configuration.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11112969B2System and method for managing GUI of virtual NVMe entities in NVMe over fabric appliance
Publication Date: 2021.09.07 KIOXIA CORP
  • US11112969B2 patent drawing
  • US11112969B2 patent drawing
  • US11112969B2 patent drawing

AI summary

A method includes enabling, by a processor, a user to create indication of configuration of a virtual subsystem. The processor enables the user to create, in the indication of configuration of the virtual subsystem, indication of a namespace associated with one of storage devices, indication of a controller, indication of a host, and indication of connectivity between a controller and a namespace or between a host and a namespace. The processor enables the user to select the indicated controller and the indicated namespace, select the indicated host and the indicated controller, and create, in the indication of configuration of virtual subsystem, indication of connectivity between the controller and the namespace and indication of connectivity between the host and the controller. The processor implements the configuration of the virtual subsystem in an appliance to cause the appliance to provide the host with storage access to the namespace via the controller.