NVMe-over-RDMA Queue Segmentation to Reduce Data Write Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In current NVMe over RDMA hybrid read/write scenarios, data write delays are significantly affected by data read operations, leading to inefficient data processing.
Innovation Solution
Implementing two send queues with different processing priorities, where non-write commands with smaller data amounts are prioritized in a higher-priority queue to ensure they are sent before write commands, thereby reducing data write delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single send queue is used for both write and read commands, then the queue structure is simple, but data write delay is significantly increased due to interference from data read operations
Solution Approach 1:
The patent divides the single send queue into two separate send queues: a first send queue for write commands and a second send queue for read commands. This segmentation isolates the command types, preventing read operations from blocking write operations and thereby reducing data write delay while maintaining acceptable structural complexity.
2Productivity
If write commands are prioritized in the send queue, then data write efficiency is improved, but data read operations experience increased delay
Solution Approach 1:
By separating write and read commands into different send queues, the system can independently manage priorities for each command type. Write commands in the first send queue can be prioritized for write efficiency, while read commands in the second send queue maintain their own processing timeline, preventing one type from blocking the other.
3Productivity
If read commands are prioritized in the send queue, then data read efficiency is improved, but data write operations experience increased delay
Solution Approach 1:
The patent creates separate send queues for read and write commands, allowing the system to prioritize read commands in the second send queue without affecting write operations in the first send queue. This isolation ensures that read efficiency improvements do not come at the cost of write delay.
4Device complexity
If a single send queue processes all commands sequentially, then the processing logic is simple, but both read and write operations suffer from mutual blocking
Solution Approach 1:
The patent segments the command processing into two independent queues with separate processing logic. While this increases some complexity, it eliminates the mutual blocking problem where read and write commands interfere with each other, thereby significantly improving overall data processing efficiency.
Solution Approach 2:
The patent introduces dynamic priority management where the system can flexibly control the processing order of commands in each queue. The hardware module can dynamically adjust which queue is processed first based on current workload conditions, optimizing overall system performance while managing complexity through dynamic rather than static rules.
Data Source
AI summary
A data read/write method is applied to an electronic device, for example, a host or a storage device. In the method, two send queues with different processing priorities are simultaneously created, a write command with a large data amount is placed in a first send queue with a lower processing priority, and a non-write command with a small data amount is placed in a second send queue with a higher processing priority, so that hardware in the electronic device can preferentially send the non-write command in the second send queue, to ensure that a sending delay of the non-write command (for example, a read command used for implementing data write) is not affected by the write command, thereby effectively reducing a data write delay.


