US 12,461,648 B2
Write completion pacing for unbalanced command length
Elkana Richter, Tene (IL); Shay Benisty, Beer Sheva (IL); and Amir Segev, Meiter (IL)
Assigned to Sandisk Technologies, Inc., Milpitas, CA (US)
Filed by Sandisk Technologies, Inc., Milpitas, CA (US)
Filed on Jul. 6, 2023, as Appl. No. 18/218,843.
Claims priority of provisional application 63/433,675, filed on Dec. 19, 2022.
Prior Publication US 2024/0201847 A1, Jun. 20, 2024
Int. Cl. G06F 12/00 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/0604 (2013.01) [G06F 3/0659 (2013.01); G06F 3/0679 (2013.01)] 18 Claims
OG exemplary drawing
 
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.