Extended NVMe Driver Virtual Function Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches to testing NVMe SSDs with virtual functions are inefficient due to resource limitations, requiring significant memory and CPU overhead to simulate virtual environments, which slows down the testing process.

Innovation Solution

An extended NVMe driver is used to test virtual functions of NVMe SSDs without requiring a virtual machine (VM) or hypervisor, allowing for parallel testing across multiple devices with reduced resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtual machines are used to test virtual functions of NVMe SSDs, then the testing can be performed with a simulated virtual environment, but significant memory and CPU overhead is required and testing speed decreases

Engineering Contradiction:
Improvetesting accuracyVSAvoidtesting speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the essential virtualization functionality from the full VM environment. Instead of using complete virtual machines with hypervisors, the invention uses a simplified virtualization layer that provides only the necessary namespace isolation and resource management capabilities for testing NVMe virtual functions, eliminating unnecessary overhead while preserving testing accuracy

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the resource allocation parameters by allowing multiple test programs to share the same physical resources (CPU, memory, storage) through a lightweight virtualization mechanism. This enables parallel testing of multiple NVMe devices without the heavy resource consumption of traditional VMs, significantly improving testing throughput while maintaining isolation between test environments

Inventive Principle:
Principle #35Parameter changes

2Reliability

If traditional testing methods are used for multiple NVMe SSDs, then each device can be tested independently, but resource competition and race conditions occur reducing overall efficiency

Engineering Contradiction:
Improvetesting independenceVSAvoidparallel testing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the testing environment into isolated namespaces for each NVMe device under test. Each namespace provides independent resource allocation and execution context, ensuring that parallel test programs do not interfere with each other while allowing simultaneous execution across multiple devices, thus achieving both independence and parallelism

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal testing framework that can simultaneously handle multiple NVMe devices with different configurations and requirements. The virtualization layer provides a common interface and resource management mechanism that works across diverse test scenarios, enabling parallel testing of heterogeneous devices without sacrificing individual device testing independence

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

3Reliability

If virtual machines are deployed for testing, then virtual functions can be exercised in a controlled environment, but the complexity of the testing system increases

Engineering Contradiction:
Improvetesting controlVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential virtualization components needed for NVMe testing, removing the complex hypervisor, guest OS, and associated overhead. The simplified architecture provides controlled virtual function testing through lightweight namespaces and resource virtualization, maintaining reliability while significantly reducing system complexity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of using the traditional approach of full VMs to provide testing control, the patent inverts the architecture by implementing a minimal virtualization layer directly on the host system. This reversed approach achieves the necessary control for testing virtual functions while avoiding the complexity of complete virtual machine deployments

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS12222844B2Systems and methods for testing virtual functions of a device under test
Publication Date: 2025.02.11 ADVANTEST CORP
  • US12222844B2 patent drawing
  • US12222844B2 patent drawing
  • US12222844B2 patent drawing

AI summary

Embodiments of the present invention can provide an extended NVMe driver that supports exercising virtual functions (and related physical functions) of a DUT without using a VM or hypervisor. In this way, the amount of memory and processing resources used for testing NVMe SSDs can be significantly reduced, and a large number of DUTs (e.g., up to 16 DUTs) can be tested in parallel independently. In other words, each DUT is tested in isolation, as if is the only device being tested, and there are no race conditions or competition for resources between workloads during testing.