System and method for adaptive command fetch aggregation
AssigneeWestern Digital Technologies, Inc.
InventorsElkana RICHTER, Shay BENISTY, Klod ASSULIN
Life of this patent
Estimating the term…
Abstract
Systems and methods for adaptive fetch coalescing are disclosed. NVM Express (NVMe) implements a paired submission queue and completion queue mechanism, with host software on the host device placing commands into the submission queue. The host device notifies the memory device, via a doorbell update, of commands on the submission queue. Instead of fetching the command responsive to the doorbell update, the memory device may analyze one or more aspects in order to determine whether and how to coalesce fetching of the commands. In this way, the memory device may include the intelligence to coalesce fetching in order to more efficiently fetch the commands from the host device.
Claims21
1-21. (canceled)
A non-volatile memory device, comprising:
- a controller, wherein when the controller receives an indication that one or more commands are available for fetching from at least one submission queue, the controller is configured to:
- determine processing capacity of at least one of the non-volatile memory device and a host device;
- determine, based on the determined processing capacity, whether one or more fetching criteria have been met;
- when the one or more fetching criteria has been met, fetch the one or more commands from the at least one submission queue;
- and
- when the one or more fetching criteria has not been met, wait to fetch the one or more commands from the at least one submission queue.
A method, comprising:
- receiving an indication that one or more commands are available for fetching from at least one submission queue, wherein the one or more commands have been caused to be stored on the at least one submission queue for a memory device to process;
- and
- when the indication is received:
- determining, by the memory device, processing capacity of at least one of the memory device and a host device;
- accessing, by the memory device, a fetching threshold;
- determining, based on the determined processing capacity, whether the fetching threshold is met;
- when the fetching threshold is met, fetching the one or more commands from the at least one submission queue;
- and
- when the fetching threshold is not met, waiting to fetch the one or more commands from the at least one submission queue.
A non-volatile memory device, comprising:
- means for receiving an indication that one or more commands are available for fetching from at least one submission queue, wherein the one or more commands are to be stored on the at least one submission queue for the non-volatile memory device to process;
- and
- responsive to receiving the indication:
- means for determining processing capacity of at least one of the non-volatile memory device and a host device;
- means for accessing a fetching threshold;
- means for determining whether the fetching threshold is met;
- when the fetching threshold is met, means for fetching the one or more commands from the at least one submission queue;
- and
- when the one or more commands available for fetching is greater than or equal to the fetching threshold, means for waiting to fetch the one or more commands from the at least one submission queue.
Dependencies are inferred from the claim text.