| CPC G06F 3/0604 (2013.01) [G06F 3/0659 (2013.01); G06F 3/0679 (2013.01)] | 18 Claims |

|
1. A data storage device, comprising:
a memory device; and
a controller coupled to the memory device, wherein the controller comprises a command size tracker, and wherein the controller is configured to:
receive a command from a host device, wherein the received command has a first command size;
determine that the first command size is less than or equal to a threshold size;
store the received command in a first queue responsive to determining that the first command size is less than or equal to the threshold size;
store the received command in a second queue responsive to determining that the first command size is greater than the threshold size;
execute a command stored in the first queue when a value of the command size tracker is less than a threshold value;
execute a command stored in the second queue when the command size tracker value is greater than or equal to the threshold value; and
adjust the command size tracker value responsive to executing a command stored in the first queue or the second queue, wherein the adjusting comprises:
increasing the command size tracker value by a value representative of a total command size of commands executed from the first queue; and
decreasing the command size tracker value by a value representative of a total command size of commands executed from the second queue, wherein the command size tracker value is equal to a value representative of command sizes of commands executed from the first queue minus a value representative of command sizes of commands executed from the second queue.
|