US 12,253,949 B2
Processing commands in a sequential write required zone model
Rotem Sela, Sunnyvale, CA (US); and Amir Segev, Meitar (IL)
Assigned to Sandisk Technologies, Inc., Milpitas, CA (US)
Filed by Sandisk Technologies, Inc., Milpitas, CA (US)
Filed on Jul. 26, 2023, as Appl. No. 18/359,028.
Claims priority of provisional application 63/501,260, filed on May 10, 2023.
Prior Publication US 2024/0378151 A1, Nov. 14, 2024
Int. Cl. G06F 12/0855 (2016.01); G06F 3/06 (2006.01); G06F 12/0868 (2016.01); G06F 12/10 (2016.01)
CPC G06F 12/0855 (2013.01) [G06F 3/0659 (2013.01); G06F 12/0868 (2013.01); G06F 12/10 (2013.01); G06F 2212/1016 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving, from a host device, a sequential zone storage write command;
determining, based at least in part, on a logical block address (LBA) associated with the sequential storage write command, whether the sequential zone storage write command was received in sequence with respect to a previously received sequential zone storage write command; and
based, at least in part, on determining the sequential zone storage write command was received out of sequence with respect to the previously received sequential zone storage write command:
determining an amount of memory needed to store data associated with the sequential zone storage write command and an amount of memory needed to store data associated with one or more intervening sequential zone storage write commands, the one or more intervening sequential zone storage write commands falling in sequence between the sequential storage write command and the previously received sequential zone storage write command;
determining whether a write cache has sufficient memory to store the amount of data associated with the sequential zone storage write command and the amount of data associated with the one or more intervening sequential zone storage write commands;
based, at least in part, on determining the write cache has sufficient memory, determining whether a command completion counter is less than a command queue threshold;
based, at least in part, on determining the command completion counter is less than the command queue threshold, causing the data associated with the sequential zone storage write command to be stored in the write cache.