Execution condition embedded in a command or a request to storage device
AssigneeWestern Digital Technologies, Inc.
InventorsTomer Spector, Doron Ganon, Eran Arad
Life of this patent
Estimating the term…
Abstract
A storage device includes a non-volatile memory (NVM) and a storage device controller. The storage device controller includes a NVM interface coupled to the NVM and one or more task queues. The storage device controller is operable to pick a task from one or more queues of the storage device. The task is parsed based upon presence of an extra header segment with an execution condition. The task without the extra header segment is sent to execution. Whether the execution condition of the extra header segment of the task is met is determined. The task with the execution condition met is sent to execution. The task with the execution condition unmet is postponed.
Claims20
A storage device, comprising:
- a non-volatile memory (NVM);
- and
- a storage device controller, comprising:
- a NVM interface coupled to the NVM, and
- a universal flash storage interconnect;
- the storage device controller configured to:
- receive a first write-verify thread as a first simple write command Universal Flash Storage protocol information unit (UPIU) and as a first simple read command UPIU with a first extra header segment with a first execution condition whether a first write command of the first simple write command UPIU has completed;
- receive a second write-verify thread as a second simple write command UPIU and as a second simple read command UPIU with a second extra header segment with a second execution condition whether a second write command of the second simple write command UPIU is completed;
- and
- execute the first write-verify thread and the second write-verify thread in parallel.
A storage device, comprising:
- a non-volatile memory (NVM);
- and
- a storage device controller, comprising:
- a NVM interface coupled to the NVM,
- a plurality of task queues, and
- a universal flash storage interconnect;
- the storage device controller configured to:
- receive a query request UPIU containing a set flag of purge enable and containing a first extra header segment with an execution condition of whether the task queues of the storage device are empty;
- receive a command/request UPIU following receiving the query request UPIU, the command/request UPIU containing a second extra header segment with an execution condition whether a purge task enabled by the query request UPIU has completed;
- execute the purge task pursuant to the set flag of purge enable after the task queues of the storage device are empty;
- and
- execute a task of the command/request UPIU after completion of the purge task.
Dependencies are inferred from the claim text.