Command queuing for data storage devices
AssigneeWestern Digital Technologies, Inc.
InventorsTomer Spector, Doron Ganon, Eran Arad
Life of this patent
Estimating the term…
Abstract
A plurality of commands is received from at least one application. A command of the plurality of commands is to be performed by a Data Storage Device (DSD) after one or more conditions have been satisfied by the DSD. The plurality of commands is enqueued and the command is enqueued with the one or more conditions for performing the command. It is determined whether the one or more conditions have been satisfied by the DSD, and in response to determining that the one or more conditions have been satisfied by the DSD, the command is sent to the DSD for performance of the command.
Claims20
A method, comprising:
- receiving a batch of commands from at least one application, wherein the commands in the batch of commands are to be sequentially sent from a host to a Data Storage Device (DSD) for performance of the commands including a command to be performed by the DSD after one or more conditions have been satisfied by the DSD;
- enqueuing the batch of commands in a queue at the host to sequentially send the commands from the host to the DSD, wherein the command is enqueued in the queue with the one or more conditions for performing the command;
- determining whether the one or more conditions have been satisfied by the DSD before sending the command to the DSD;
- and
- in response to determining that the one or more conditions have been satisfied by the DSD, sending the command in sequence from the queue to the DSD for performance of the command.
A host, comprising:
- a processor configured to execute at least one application;
- an interface configured to send commands to a Data Storage Device (DSD);
- and
- means for:
- receiving a batch of commands from at least one application, wherein the commands in the batch of commands are to be sequentially sent from the host to the DSD for performance of the commands including a command to be performed by the DSD after one or more conditions have been satisfied by the DSD;
- enqueuing the batch of commands in a queue at the host to sequentially send the commands from the host to the DSD, wherein the command is enqueued in the queue with the one or more conditions for performing the command;
- determining whether the one or more conditions have been satisfied by the DSD before sending the command to the DSD;
- and
- in response to determining that the one or more conditions have been satisfied by the DSD, sending the command in sequence from the queue to the DSD via the interface for performance of the command.
A non-transitory computer-readable storage medium storing computer-executable instructions, wherein when the computer-executable instructions are executed by a processor of a host, the computer-executable instructions cause the host to:
- receive a batch of commands from at least one application executed by the host, wherein the commands in the batch of commands are to be sequentially sent from the host to a Data Storage Device (DSD) for performance of the commands including a command to be performed by the DSD after one or more conditions have been satisfied by the DSD;
- enqueue the batch of commands in a queue at the host to sequentially send the commands from the host to the DSD, wherein the command is enqueued in the queue with the one or more conditions for performing the command;
- determine whether the one or more conditions have been satisfied by the DSD before sending the command to the DSD;
- and
- in response to determining that the one or more conditions have been satisfied by the DSD, send the command in sequence from the queue to the DSD for performance of the command.
Dependencies are inferred from the claim text.