3 ms·
I do some rather coarse measurements of random read throughput vs latency as part of my SSD reviews. See eg. the bottom of https://www.anandtech.com/show/16636/
by wtallis 5y ago
I do some rather coarse measurements of random read throughput vs latency as part of my SSD reviews. See eg. the bottom of https://www.anandtech.com/show/16636/the-inland-performance-plus-2tb-ssd-review-phisons-e18-nvme-controller-tested/3 https://www.anandtech.com/show/16636/the-inland-performance-...
Those graphs cut off the essentially vertical latency spike that results from enqueuing requests faster than the sustained rate at which the drive can serve them. For a different view in terms of queue depth rather than throughput, there are some relevant graphs from an older review that predates io_uring: https://www.anandtech.com/show/11930/intel-optane-ssd-dc-p4800x-750gb-handson-review/5 https://www.anandtech.com/show/11930/intel-optane-ssd-dc-p48...
Generally speaking, latency starts increasing long before you've reached a drive's throughput limit. Some of this is inevitable, because you have a relatively small number of channels (eg. 8) and dies to access in parallel. Once you're up to the throughput range where you have dozens of requests in flight at a time, you'll have constant collisions where multiple requests want to read from the same plane/die/channel at once, and some of those requests have to be delayed. But that's mostly about contention and link utilization between the SSD controller and the NAND flash itself. The PCIe link is pretty good about handling transactions with consistently low latency even when on average it's mostly busy.