NVMe Submission Queue Pointer Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the NVMe system, the current method of updating submission queue head entry pointers after each command retrieval leads to errors if commands are not properly transmitted, preventing re-fetching of commands and causing host device latency due to waiting for the head entry pointer to advance.
Innovation Solution
Implementing a mechanism where the storage device updates a secondary head entry pointer (head_2) only after successful parsing of commands, allowing re-fetching of commands and reducing host latency by notifying the host to advance the submission queue head entry pointer based on successfully parsed commands before all are executed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the storage device updates the submission queue head entry pointer after each command retrieval, then the host can quickly process completed commands, but commands with transmission errors cannot be re-fetched and host latency increases
Solution Approach 1:
The patent segments the head entry pointer update process into two independent components: an internal head pointer (head_1) that the storage device uses to track fetched commands, and an external head pointer (head_2) that the host uses to track successfully parsed commands. This segmentation allows the storage device to re-fetch commands using head_1 while the host advances head_2 only for successfully parsed commands, resolving the contradiction between quick processing and re-fetch capability.
2Reliability
If the storage device waits until all commands are successfully executed before updating the head entry pointer, then command execution completeness is ensured, but host latency increases due to waiting for pointer advancement
Solution Approach 1:
The patent applies preliminary action by having the storage device update the external head pointer (head_2) as soon as commands are successfully parsed, rather than waiting for complete execution. This allows the host to immediately reuse submission queue entries for new commands, reducing host waiting time while the storage device continues to execute commands in the background.
3Speed
If the host is notified to advance the head entry pointer upon command retrieval, then processing speed improves, but commands with transmission errors are overwritten and cannot be re-fetched
Solution Approach 1:
The patent introduces an intermediary mechanism with two separate pointer systems: head_1 serves as an intermediary for the storage device's internal tracking of fetched commands, while head_2 serves as an intermediary for the host's tracking of successfully parsed commands. This dual-pointer intermediary system prevents direct overwriting of commands that need re-fetching while still enabling fast processing for successfully parsed commands.
Data Source
AI summary
Methods, systems, and computer readable media for submission queue pointer management are disclosed. One method is implemented in a data storage device including a controller and a memory. The method includes fetching a plurality of commands from a submission queue. The method further includes parsing at least one of the commands. The method further includes, in response to successful parsing of at least one of the commands and prior to executing all of the commands, notifying a host to advance a head entry pointer for the submission queue by a number of entries corresponding to a number of the commands successfully parsed.


