Patent attributes
A system including a memory configured to store instructions, a host processor, an interface coupling the non-volatile memory and the host processor, and a device driver is provided. The device driver is configured to execute commands stored in the memory to retrieve a maximum queue size value from a hardware queue, wherein the hardware queue is associated with an interface between the host processor and a non-volatile memory, to determine multiple software queues associated with the hardware queue, to read an input/output count for a software queue selected from the software queues, to decrease the assigned queue depth, when the input/output count for the software queue is lower than an assigned queue depth, and to increase the assigned queue depth when the input/output count for the software queue is greater than the assigned queue depth.