NVMe Storage Queue Batching for Faster Command Acquisition
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Loss of time
If the storage controller sends command acquisition requests frequently, then the response delay is reduced, but the transfer overhead increases
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.
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
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.
Data Source
Figure 1~3
Figure 4~5
Figure 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.