NVMe Host-Storage Command Queuing via Virtual Time Arbitration
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
Data Source
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.


