Hi Paul,


I was reading about the driver from SPDK site, and interested in understanding the queue depth for a device.

“The specification allows for thousands, but most devices support between 32 and 128. The specification makes no guarantees about the performance available from each queue pair, but in practice the full performance of a device is almost always achievable using just one queue pair. For example, if a device claims to be capable of 450,000 I/O per second at queue depth 128, in practice it does not matter if the driver is using 4 queue pairs each with queue depth 32, or a single queue pair with queue depth 128”

When queue depth is mentioned for device, is it the number of commands that can be issued from application to controller, and outstanding at any time?

Is there NVMe driver API to set the queue depth? Is my understanding correct if I think that the size of queue is at firmware level?

Please give some detail about the parameter.