NVMe Controller Completion Packet Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage devices face performance reduction due to the interruption of burst mode data access operations caused by the recurring need to immediately transmit completion responses to the host after each data access operation, which disrupts the sequential transmission of multiple data sets.
Innovation Solution
Implementing a method where data storage devices store completion responses in a buffer and transmit them sequentially as a single completion packet during a single transaction, rather than immediately after each operation, using a Non-Volatile Memory Express (NVMe) controller to manage and transmit the responses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If completion responses are immediately transmitted after each data access operation, then the host can promptly receive operation status, but the burst mode data access performance is reduced due to frequent interruptions
Solution Approach 1:
The patent combines multiple completion responses into a single completion packet that is transmitted to the host in one transaction. Instead of sending individual completion responses after each data access operation, the storage device accumulates multiple completion responses and transmits them collectively, thereby reducing transmission interruptions and maintaining burst mode data access performance while still ensuring the host receives all operation status information.
2Loss of information
If multiple completion responses are transmitted separately, then each operation status is clearly communicated, but the transmission overhead and transaction interruptions increase
Solution Approach 1:
The patent merges multiple completion responses containing operation status information into a single completion packet. This consolidation ensures that all operation status information is communicated to the host without the time loss associated with multiple separate transmission transactions, as the combined packet is transmitted in a single operation.
3Productivity
If completion responses are buffered and transmitted in batches, then transmission efficiency is improved, but the device complexity increases due to buffer management requirements
Solution Approach 1:
The patent introduces a completion packet as an intermediary structure that mediates between multiple completion responses and the host. This completion packet serves as a container that simplifies buffer management by providing a standardized format for accumulating and transmitting completion responses, thereby improving transmission efficiency while minimizing the complexity increase associated with buffer management.
Data Source
AI summary
A data processing system includes a host capable of pipelining execution of a command set including a plurality of commands by storing the commands in a buffer, and a data storage device including a NVMe controller that receives the commands and controls execution of data access operations corresponding to the respective commands, generates a completion response upon successfully executing each one of the commands, and stores the resulting completion responses in a buffer, wherein the NVMe controller extracts at least two of the completion responses stored in the buffer to generate a completion packet and transmits the completion packet to the host during a single transaction.


