NVMe Controller Single Command I/O Queue Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing NVMe specification requires multiple commands for creating and deleting I/O queues, which increases the time required for initializing and shutting down NVMe controllers, consumes more resources, and impacts power usage, particularly in low power conditions.
Innovation Solution
A method and system where a Non-Volatile Memory Express (NVMe) controller receives a single command from a host to create or delete multiple I/O queues, processing the queue identifier and size within the command to perform the operations in host memory, thereby reducing the number of commands needed for queue creation and deletion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple commands are sent to create and delete I/O queues one by one, then each queue operation is processed individually according to specification, but the initialization and shutdown time becomes excessively long
Solution Approach 1:
The patent merges multiple individual queue creation/deletion commands into a single batch operation command. The NVMe controller receives one command that contains identifiers for multiple I/O queues and processes them collectively, transforming 1-65535 separate commands into a single batch command, thereby dramatically reducing initialization and shutdown time while maintaining proper queue management
Solution Approach 2:
The patent implements preliminary action by allowing the host to pre-allocate and configure multiple I/O queues in advance through a single command during initialization, rather than creating them sequentially. This batch pre-alignment approach prepares all necessary queue structures beforehand, eliminating the time-consuming sequential creation process
2Reliability
If multiple commands are processed sequentially for queue creation and deletion, then command processing is thorough and accurate, but resource consumption increases and power usage is impacted
Solution Approach 1:
The patent combines multiple command processing cycles into a single batch processing operation. By merging the processing of 1-65535 individual queue commands into one consolidated batch command, the system reduces the cumulative power consumption associated with repeated command processing cycles, controller state transitions, and memory access operations
Solution Approach 2:
The patent enables continuous batch processing of queue operations without the interruptions and state transitions associated with sequential command handling. The controller processes all queue creation or deletion operations in a continuous batch operation, eliminating the repeated start-stop cycles that increase power consumption
Data Source
AI summary
Various example embodiments herein disclose a method of managing input/output (I/O) queues by a Non-Volatile Memory Express (NVMe) controller. The method includes receiving a single command from a host to perform a creation of the I/O queues or deletion of the I/O queues. Further, the method includes processing a queue identifier, a queue size, and combination of the queue identifier and queue size indicated in the single command. Furthermore, the method includes performing the creation of the I/O queues or deletion of the I/O queues, in a host memory.


