NVMe Storage Queue Batching for Faster Command Acquisition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The efficiency of command acquisition in NVME-based storage systems is hindered by the serial processing of queue request messages, leading to blockage and timeout, and the low number of storage commands acquired per unit time due to the serial response to each queue request message.

Innovation Solution

The storage controller accumulates queue request messages before responding with a unified command acquisition request, using flag register tables to manage and alternate responses, thereby increasing the number of storage commands acquired in a single transfer and reducing transfer times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the storage controller responds to each queue request message serially, then the response process is simple, but the command acquisition efficiency is low and transfer times are increased

Engineering Contradiction:
Improvecommand acquisition efficiencyVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple queue request message responses into a single unified response operation. The storage controller accumulates multiple queue request messages and responds to them collectively with one command acquisition request, rather than processing each message individually. This combining approach increases command acquisition efficiency by reducing the number of separate response operations while managing the complexity through structured accumulation and unified handling.

Inventive Principle:
Principle #5Merging (Combining)

2Loss of time

If the storage controller sends command acquisition requests frequently, then the response delay is reduced, but the transfer overhead increases

Engineering Contradiction:
Improveresponse delayVSAvoidtransfer overhead
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The storage controller performs preliminary accumulation of queue request messages before sending a unified command acquisition request. By accumulating messages in advance and then responding with a single request, the system reduces response delay compared to waiting for individual messages, while simultaneously reducing transfer overhead by consolidating multiple potential transfers into one. This preliminary accumulation action optimizes both time and energy efficiency.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the storage controller processes queue request messages individually, then the processing logic is simple, but the number of storage commands acquired per unit time is low

Engineering Contradiction:
Improvecommands acquired per unit timeVSAvoidmessage accumulation mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary accumulation mechanism that collects multiple queue request messages before triggering a unified command acquisition request. This intermediary structure enables the storage controller to acquire multiple storage commands in a single transfer operation, significantly increasing commands acquired per unit time. The added complexity of the accumulation mechanism is offset by the substantial productivity gain from batched command acquisition.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4425334B1Storage control method, storage controller, storage chip, network card, and readable medium
Publication Date: 2026.04.01 ZTE CORP
  • EP4425334B1 patent drawingFigure 1~3
  • EP4425334B1 patent drawingFigure 4~5
  • EP4425334B1 patent drawingFigure 6~7

AI summary

Provided in the present disclosure is a storage control method. The method comprises: sending a command acquisition request for at least one first queue, wherein the at least one first queue is a queue, among a plurality of queues, for which at least one queue request message has accumulated, and a command acquisition request for each of the at least one first queue corresponds to all of the accumulated queue request messages for the first queue; and receiving a storage command for each of the at least one first queue.