Dynamic Arbitration for NVMe Submission Queues in Virtualized Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NVMe standards do not adequately address command arbitration in virtualized computing environments, leading to inefficiencies in storage device resource utilization and I/O performance bottlenecks due to static arbitration logic that does not consider dynamic resource state or command statistics.

Innovation Solution

Implementing a method in a nonvolatile storage device to collect submission queue command statistics and monitor resource state, allowing for intelligent selection of submission queues using dynamic arbitration schemes such as round robin, weighted round robin, and credit-based methods to optimize command fetching and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static arbitration logic (round robin or weighted round robin) is used to select commands from submission queues, then the device controller can implement a simple selection mechanism, but storage device resource utilization deteriorates when host I/O demands exceed device processing capacity

Engineering Contradiction:
Improvearbitration logic complexityVSAvoidstorage device resource utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent transforms the static arbitration logic into dynamic arbitration logic that adapts to real-time storage device resource state. The controller monitors resource availability and command statistics, then dynamically adjusts queue selection to match current processing capacity, resolving the contradiction between simplicity and utilization efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where the controller continuously monitors storage device resource state and command processing outcomes, using this information to intelligently select the next submission queue. This feedback loop enables the system to optimize resource utilization without requiring complex pre-configured arbitration schemes

Inventive Principle:
Principle #23Feedback

2Productivity

If the storage device processes commands from multiple submission queues simultaneously, then I/O performance can be improved, but the virtualization manager becomes a bottleneck in virtualized computing environments

Engineering Contradiction:
ImproveI/O performanceVSAvoidvirtualization management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the arbitration intelligence from the virtualization manager and places it directly in the storage device controller. By implementing command statistics collection and intelligent queue selection within the storage device itself, the system eliminates the virtualization manager as an I/O bottleneck while maintaining multi-queue processing capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces command statistics as an intermediary mechanism that enables direct communication between the storage device and virtual machines. This statistics-based arbitration system acts as a mediator that allows the storage device to make informed queue selection decisions without requiring complex virtualization management intervention

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10866910B2Systems, methods, and computer-readable media for managing instruction fetch in virtual computing environments
Publication Date: 2020.12.15 SANDISK TECHNOLOGIES LLC
  • US10866910B2 patent drawing
  • US10866910B2 patent drawing
  • US10866910B2 patent drawing

AI summary

Methods, systems, and computer readable media for intelligent fetching of storage device commands from submission queues are disclosed. The controller may implement a hierarchical scheme comprising first-level arbitration(s) between submission queues of each of a plurality of input/output virtualization (IOV) functions, and a second-level arbitration between the respective IOV functions. Alternatively, or in addition, the controller may implement a flat arbitration scheme, which may comprise selecting submission queue(s) from one or more groups, each group comprising submission queues of each of the plurality of IOV functions. In some embodiments, the controller implements a credit-based arbitration scheme. The arbitration scheme(s) may be modified in accordance with command statistics and/or current resource availability.