NVMe Controller Data Writing via Association Identifier
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage technologies, such as SATA and AHCI standards for mechanical hard disks, fail to meet the performance requirements of modern solid-state drives (SSDs), leading to bottlenecks in processing capability, which are addressed by the Non-Volatile Memory Express (NVMe) interface optimizing enterprise and consumer-level SSDs with low access latency and high performance.
Innovation Solution
The NVMe-based data writing method involves a host directly pushing data packets to an NVMe controller with an association identifier, allowing the controller to determine the write instruction and write payload data into a storage medium without the need for pre-storing data in PRP or SGL fields, reducing delay and bandwidth occupation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the host pre-stores to-be-written data in storage space indicated by PRP or SGL before triggering the write instruction, then the NVMe controller can execute the write operation, but this causes delay and occupies storage space and bandwidth
Solution Approach 1:
The host pre-allocates storage space in the NVMe controller's internal memory and pre-registers the association identifier before triggering the write instruction. This preliminary action allows the NVMe controller to immediately write the pushed data packet without waiting for data preparation, thereby reducing delay while ensuring data can be properly associated with the write instruction
Solution Approach 2:
The patent introduces an association identifier as an intermediary that links the pushed data packet with the write instruction. This intermediary mechanism allows the host to push data independently without pre-storing it in PRP/SGL, as the association identifier enables the NVMe controller to match the data with the corresponding write instruction later
2Productivity
If the host pre-stores to-be-written data in storage space indicated by PRP or SGL, then the write operation can proceed, but this occupies storage space and increases bandwidth occupation
Solution Approach 1:
The patent extracts the data from the host's storage space (PRP/SGL) and pushes it directly to the NVMe controller's internal memory. This extraction eliminates the need for the host to maintain large buffers for pre-storing data, reducing the storage space requirement on the host side while enabling the write operation to proceed
Solution Approach 2:
The NVMe controller performs self-service by allocating its own internal memory space to store the pushed data packets. This eliminates the need for the host to pre-allocate and manage storage space in PRP/SGL, reducing bandwidth occupation and storage space requirements on the host side
Data Source
AI summary
In an NVMe-based storage system, a host is connected to an NVMe controller through a PCIe bus, and the NVMe controller is connected to a storage medium. The NVMe controller receives from the host a data packet that carries payload data and an association identifier. The association identifier associates the payload data with a write instruction. The NVMe controller obtains the write instruction according to the association identifier, and then writes the payload data into the storage medium according to the write instruction.


