Multi-node Storage Virtual Queue Control for I/O Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveI/O processing capabilityVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvesystem scalabilityVSAvoidaddress translation overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If queue exclusion control is implemented among multiple processors, then queue access safety is ensured, but I/O processing performance is degraded

Engineering Contradiction:
Improvequeue access safetyVSAvoidI/O processing performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10895989B2Multi-node storage system and queue control method of multi-node storage system
Publication Date: 2021.01.19 HITACHI VANTARA LTD
  • US10895989B2 patent drawing
  • US10895989B2 patent drawing
  • US10895989B2 patent drawing

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.