Multi-node Storage Virtual Queue Control for I/O Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-node storage systems, the number of processors often exceeds the number of queues, leading to degraded I/O processing performance due to queue exclusion control and the need for address translation across network-connected storage devices, which increases processing overhead and degrades performance.
Innovation Solution
Implementing a multi-node storage system with virtual queues (VSQ and VCQ) equal in number to the processors, separate from the real queues (SQ and CQ) on NVMe drives, and using an intelligent system switch to connect controllers and NVMe drives, allowing for efficient I/O request processing and reducing the need for address translation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of processors is increased to improve I/O processing capability, then processing capacity is improved, but queue depletion occurs and I/O performance degrades due to queue exclusion control
Solution Approach 1:
The patent segments the queue management system into virtual queues (VSQ, VCQ) that are separate from real queues (SQ, CQ). Each processor can independently manage its own virtual queues, eliminating the need for queue exclusion control while maintaining proper queue mapping to physical NVMe drives through the queue translation function.
2Adaptability or versatility
If multiple storage devices are connected via network to form multi-node system, then system scalability is improved, but address translation overhead increases and I/O performance degrades
Solution Approach 1:
The patent implements preliminary action by pre-establishing virtual queues and queue translation mappings before I/O operations begin. The queue translation function is integrated into the controller architecture, allowing address translation to occur as part of the normal I/O processing flow rather than as a separate overhead operation, thus reducing time loss in multi-node environments.
3Reliability
If queue exclusion control is implemented among multiple processors, then queue access safety is ensured, but I/O processing performance is degraded
Solution Approach 1:
The patent introduces virtual queues (VSQ, VCQ) as intermediary structures between processors and real queues. These virtual queues act as buffers that allow multiple processors to independently submit and manage commands without direct contention for the same physical queue resources. The queue translation function then maps these virtual queue operations to the appropriate real queues, ensuring safety without requiring processors to coordinate through exclusion control.
Data Source
AI summary
Provided is a multi-node storage system including a plurality of nodes providing a volume to a computer as a logical storage area, each node including a controller that processes an I/O request from the computer, and including a plurality of NVMe drives PCI-connected to any one of the controllers of the node and a switch that connects the controllers of the plurality of nodes to each other, in which the controller includes a plurality of processors that process the I/O request from the computer and a memory, and the memory includes, for the plurality of NVMe drives, virtual queues which are equal in number to processors of a plurality of controllers constituting the multi-node storage system and real queues that store a command in any one of the plurality of NVMe drives and that are smaller in number than the virtual queues.


