NVMe Queue Resource Management for Storage Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In NVMe storage systems, limited queue resources lead to inefficient resource utilization, causing delays and failures in accessing storage resources, especially when newly added hosts or NVM subsystems require access, due to reserved resources not being effectively managed.
Innovation Solution
A resource management method and apparatus that monitor and release idle queue resources based on utilization thresholds, allowing for dynamic adjustment of queue depths and allocation of resources to ensure timely access and improve utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If queue resources are reserved for each host and NVM subsystem, then access reliability is improved, but resource utilization deteriorates due to idle resources
Solution Approach 1:
The patent implements dynamic queue resource management by continuously monitoring queue utilization metrics and automatically adjusting queue depths and resource allocation. The system transitions from static reserved resources to dynamic adjustable resources, allowing queue depths to be modified based on real-time system conditions and workload demands, thereby resolving the contradiction between reliability and utilization
Solution Approach 2:
The patent changes key parameters including queue depth, utilization thresholds, and resource allocation settings. By monitoring parameters such as queue utilization percentage and dynamically adjusting queue depths based on these parameters, the system optimizes resource utilization while maintaining access reliability through threshold-based control mechanisms
2Productivity
If queue depth is increased to handle more requests, then processing capacity is improved, but access delay worsens due to longer queue wait times
Solution Approach 1:
The patent dynamically adjusts queue depth based on real-time monitoring of utilization metrics and workload conditions. Instead of using a fixed queue depth, the system adapts the queue depth parameter dynamically, increasing it when system capacity is available and decreasing it when delays occur, thereby balancing processing capacity and access delay
Solution Approach 2:
The patent implements feedback mechanisms that monitor queue utilization, processing delays, and system performance metrics. This feedback is used to automatically adjust queue depths and resource allocation, creating a closed-loop control system that responds to actual system conditions and optimizes the balance between capacity and delay
3Adaptability or versatility
If more queue pairs are allocated to support additional hosts, then system adaptability is improved, but resource availability deteriorates due to limited total resources
Solution Approach 1:
The patent enables queue resources to serve multiple hosts and NVM subsystems dynamically. Instead of dedicating fixed resources to each host, the system creates a shared pool of queue resources that can be allocated to any host that needs them, allowing the same resources to be reused across multiple hosts and thereby supporting system expansion without proportionally increasing total resource requirements
Solution Approach 2:
The patent merges individual queue resources from multiple hosts into a shared pool that can be dynamically allocated. By combining resources that would otherwise be siloed for individual hosts, the system achieves better overall utilization and can support more hosts with the same total resource quantity through intelligent sharing and allocation mechanisms
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
A resource management method and apparatus are disclosed, to improve resource utilization. The method is applied to a resource management system including at least one NVM subsystem and at least one host. The NVM subsystem includes at least one controller and a plurality of storage mediums. A first host in the at least one host communicates with a first controller in a first NVM subsystem by using at least one I/O queue pair. The method includes: monitoring, by a resource management apparatus, resource utilization of a first queue in the at least one I/O queue pair, where the resource utilization of the first queue is used to identify utilization of storage space allocated to the first queue, and the first queue includes any submission queue and/or any completion queue in the at least one I/O queue pair; and releasing, when detecting that the resource utilization of the first queue satisfies a preset condition, the storage space occupied by the first queue.