NVMe Host-Storage Command Queuing via Virtual Time Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NVMe host-storage systems do not ensure fairness in processing frequency allocation among command queues, leading to inefficient utilization of host-side computing resources.

Innovation Solution

A command queuing method that compares virtual times of commands and adjusts their priority class queues based on differences from a global virtual time, using a weighted round robin arbitration unit to dynamically adjust processing speeds across multiple queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If NVMe provides scheduling function between command queues assigning only processing frequency, then the scheduling can be implemented, but fairness cannot be satisfied

Engineering Contradiction:
Improvescheduling functionVSAvoidfairness
Core Design Contradiction:
Extent of automationVSReliability

Solution Approach 1:

The patent introduces virtual time as a new parameter to transform the scheduling approach. Instead of only assigning processing frequency, the system assigns virtual time values to commands and uses these values to determine queue selection, thereby achieving fairness while maintaining automation

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a storage device as an intermediary between the host controller and the storage medium. The storage device's I/O scheduler performs the scheduling function using virtual time parameters, relieving the host controller of this task and enabling fair scheduling through the intermediary's processing

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If host-side computing resources are used for scheduling to satisfy fairness, then fairness between users, programs or flows can be satisfied, but the utilization rate of host core increases

Engineering Contradiction:
ImprovefairnessVSAvoidhost core utilization rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the scheduling function from the host controller and relocates it to the storage device. The host controller only needs to send commands with virtual time parameters, while the storage device's I/O scheduler handles the actual scheduling decisions, thereby reducing host core utilization while maintaining fairness

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The storage device acts as an intermediary that takes over the scheduling task. The I/O scheduler in the storage device uses virtual time parameters to make scheduling decisions, eliminating the need for the host controller to perform complex scheduling operations and thus reducing host resource consumption

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12197781B2Host-storage system that includes a command queuing method and a method of adjusting the processing speed of multiple queues
Publication Date: 2025.01.14 SAMSUNG ELECTRONICS CO LTD
  • US12197781B2 patent drawing
  • US12197781B2 patent drawing
  • US12197781B2 patent drawing

AI summary

A method of queuing command comprises: comparing a first virtual time of a first command with a second virtual time of a second command and obtaining a comparison result; determining a standard global virtual time from the first virtual time and the second virtual time on the basis of the comparison result; and sending each of the first and second commands to one of a first priority class queue, a second priority class queue, and a third priority class queue, based on a difference between the first virtual time and the global virtual time, and a difference between the second virtual time and the global virtual time, wherein each of the first to third priority class queues has processing speeds that differ from each other.