NVMe Firmware-Dedicated Queues for Parallel Virtual Disk IO
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing NVMe storage devices do not effectively leverage the capability of multiple queues during high volumes of firmware-generated IO operations, leading to performance issues and increased latency in RAID systems.
Innovation Solution
Implementing firmware-dedicated queues for managing NVMe storage devices, allowing parallel processing of firmware-generated IO operations, separate from host IO operations, by configuring submission and completion queues with specific parameters in a device state table.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If firmware-generated IO operations share the same queues as host IO operations, then device complexity is reduced, but system performance deteriorates due to increased latency and reduced parallel processing capability
Solution Approach 1:
The patent segments the IO queue into two distinct parts: host IO queues and firmware-dedicated queues. This segmentation allows firmware-generated IO operations to be processed separately from host IO operations, enabling parallel processing and reducing latency without significantly increasing overall system complexity.
Solution Approach 2:
The patent introduces a new dimension to the queue structure by adding firmware-dedicated queues alongside existing host IO queues. This dimensional expansion allows the system to handle firmware IO operations in parallel with host operations, effectively utilizing the NVMe multi-queue capability to improve throughput and reduce latency.
2Productivity
If NVMe storage devices use multiple queues for parallel processing, then IO throughput increases, but queue management complexity increases
Solution Approach 1:
The patent segments the queue management responsibility by creating dedicated firmware queues that are independently managed from host queues. This segmentation simplifies the overall management complexity by providing clear separation of concerns, where firmware operations have their own dedicated queue resources.
Solution Approach 2:
The firmware-dedicated queues are designed to be self-managing for firmware-generated operations. The queues automatically handle firmware IO submissions without requiring complex coordination with host IO management, allowing the system to leverage parallel processing capabilities while keeping management relatively simple through autonomous queue operation.
3Use of energy by moving object
If firmware operations share queues with host operations, then resource utilization is optimized, but latency increases during high volume IO activities
Solution Approach 1:
The patent segments IO processing into separate firmware-dedicated queues and host queues. This segmentation ensures that firmware operations do not compete with host operations for queue resources, eliminating latency issues during high-volume IO activities while still maintaining efficient resource utilization through dedicated queue allocation.
Solution Approach 2:
The patent adds a new dimension to queue resource allocation by introducing firmware-dedicated queues. This dimensional change provides additional queue resources specifically for firmware operations, allowing the system to maintain high resource utilization while preventing latency increases by providing separate processing paths for firmware and host IO operations.
Data Source
AI summary
A method for creating firmware-dedicated queues for storage system multi-queue operation is provided. The method includes providing a controller to manage a plurality of input/output (IO) operations between hosts and virtual disks by issuing the plurality of IO operations to a plurality of queues comprising submission queues and completion queues, wherein one or more submission queues are mapped to each completion queue. The method also includes configuring at least one submission queue as a FW-dedicated queue for submitting internal IO operations initiated by firmware (FW) associated with the controller. The method further includes adding one or more parameters in FW-queue-related fields in a controller device state table for each device of the virtual disks. The one or more parameters include at least a first parameter to enable the FW-dedicated queue for only submitting the internal IO operations in parallel with other queues to the device.


