Peripheral Storage Virtualization for Non-Volatile Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization techniques do not optimally leverage the faster access capabilities of non-volatile storage devices, such as solid state drives, and require modifications to host systems to accommodate improved interface specifications like NVMe, which can be costly and disruptive.

Innovation Solution

Implementing storage virtualization at a peripheral device that provides a common interface for virtual machines to access non-volatile storage devices, using techniques like SR-IOV and NVMe, allowing for transparent encryption and throttling, and enabling independent updates without modifying the host system's virtualization techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If host systems are modified to accommodate improved interface specifications like NVMe, then storage access speed is improved, but system complexity and cost increase

Engineering Contradiction:
Improvestorage access speedVSAvoidhost system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

A peripheral device is introduced as an intermediary between the host system and non-volatile storage devices. The peripheral device implements the NVMe interface specification and handles high-speed storage operations, while the host system continues to use traditional virtualization techniques through a virtual interface. This mediator approach allows the host to access fast storage without directly implementing complex NVMe protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system is segmented into three distinct layers: the host system with traditional virtualization, the peripheral device with NVMe interface implementation, and the non-volatile storage devices. This segmentation allows each component to operate at its optimal level without requiring modifications to the host system's virtualization architecture.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If peripheral devices are added to expand computing resources, then functionality is improved, but device complexity increases

Engineering Contradiction:
Improvecomputing resource expansionVSAvoidsystem configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The peripheral device is designed with multi-functionality, implementing both the NVMe interface for high-speed storage access and a virtual interface for traditional virtualization compatibility. This universal design allows a single peripheral device to provide both legacy support and advanced storage capabilities, reducing the need for multiple specialized devices.

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

3Productivity

If virtualization techniques are updated to leverage non-volatile storage capabilities, then storage performance is improved, but compatibility with existing systems deteriorates

Engineering Contradiction:
Improvestorage performanceVSAvoidsystem compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

Instead of updating virtualization techniques in the host system to access non-volatile storage directly, the approach is inverted: the peripheral device implements the NVMe interface and handles high-performance storage operations, while presenting a traditional virtual interface to the host. This inversion allows existing virtualization techniques to remain compatible while still achieving improved storage performance.

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

Data Source

PatentUS11868617B2Virtualizing non-volatile storage at a peripheral device
Publication Date: 2024.01.09 AMAZON TECH INC
  • US11868617B2 patent drawing
  • US11868617B2 patent drawing
  • US11868617B2 patent drawing

AI summary

A peripheral device may implement storage virtualization for non-volatile storage devices connected to the peripheral device. A host system connected to the peripheral device may host one or multiple virtual machines. The peripheral device may implement different virtual interfaces for the virtual machines or the host system that present a storage partition at a non-volatile storage device to the virtual machine or host system for storage. Access requests from the virtual machines or host system are directed to the respective virtual interface at the peripheral device. The peripheral device may perform data encryption or decryption, or may perform throttling of access requests. The peripheral device may generate and send physical access requests to perform the access requests received via the virtual interfaces to the non-volatile storage devices. Completion of the access requests may be indicated to the virtual machines via the virtual interfaces.