Method of achieving low write latency in a data storage system
A data storage system includes a host having a write buffer, a memory region, a submission queue and a driver therein. The driver is configured to: (i) transfer data from the write buffer to the memory region in response to a write command, (ii) generate a write command completion notice; and (iii) send at least an address of the data in the memory region to the submission queue. The host may also be configured to transfer the address to a storage device external to the host, and the storage device may use the address during an operation to transfer the data in the memory region to the storage device.
1. A data storage system, comprising:
a host having a write buffer, a memory region, a submission queue and a driver therein, said driver configured to transfer data from the write buffer to the memory region in response to a write command, generate a write command completion notice and send at least an address of the data in the memory region to the submission queue.
2. The system of claim 1 , wherein the write command completion notice is generated in response to completion of the data transfer.
3. The system of claim 1 , wherein said host is configured to transfer the address to a storage device external to said host.
4. The system of claim 3 , wherein the storage device uses the address during an operation to transfer the data in the memory region to the storage device.
5. The system of claim 4 , wherein the storage device notifies said driver of the transfer of the data in the memory region to the storage device.
6. The system of claim 4 , wherein the operation to transfer the data in the memory region to the storage device occurs in response to a read command issued by the storage device to said host.
7. A method of operating a data storage system having a host therein, which comprises a write buffer, a memory region, a submission queue and a driver, said method comprising:
transferring, by the driver, data from the write buffer to the memory region in response to a write command;
generating a write command completion notice; and
sending at least an address of the data in the memory region to the submission queue.
8. The method of claim 7 , wherein the write command completion notice is generated in response to completion of the data transfer.
9. The system of claim 7 , wherein the data storage system comprises a storage device external to the host; wherein said sending is followed by transferring the address from the submission queue to the storage device; and wherein the storage device uses the address during an operation to transfer the data in the memory region to the storage device.
10. The system of claim 9 , wherein the storage device notifies the driver of the transfer of the data in the memory region to the storage device.
11. A data storage system comprising:
a storage device; and
a host including:
a driver configured to:
read data from a write buffer in the host, in response to a write command received from an application in the host;
send the data to a memory region in the host;
send completion of the write command to the application; and
send the write command to a submission queue in the host, wherein the write command includes address of the data in the memory region.
12. The data storage system of claim 11 , wherein the system is configured to:
indicate, by the driver, presence of the write command in the submission queue to the storage device through a peripheral component interconnect express (PCIe) bus;
obtain, by the storage device, the data from the memory region; and
indicate, by the storage device, completion of the write command to the driver.
13. The data storage system of claim 11 , wherein the driver is further configured to release memory region in the host, in response to determining that data is obtained by the storage device.