5

I have a disk I/O intensive application where I am reading and writing a lot concurrently. For a spinning disk, it makes sense that there is contention because the pointer has to move around a lot but SSDs are supposed to be more resilient to this because of their access. However, if there is enough I/O, we could maybe saturate the controller or lane.

Is there a blog/resource/white paper that describes how reads and writes content with each in an SSD and if there is a way to see if we are close to this limit for a Linux application?

Thanks Niteya

1 Answers1

2

It depends a lot on the SSD, on the motherboard (and especially the bus) and on the operating system.

In principle, an NVMe SSD uses four PCIe data-lanes, so should be able to handle more than one stream of data in parallel.

NVMe also has an extensive and efficient system for queuing messages. While SATA and SAS each supports only one I/O queue at a time, NVMe can support up to 65,535 queues.

For more information, see Wikipedia : NVM Express and especially the section of Comparison with AHCI which contains the following summary:

enter image description here

harrymc
  • 498,455