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.
Claims20
A method for a memory device, the method comprising:
- determining that one or more commands are available for fetching from one or more queues of a host device;
- based on the determining, the memory device causing:
- assessing processing capacity of the host device based on an interrupt response time of the host device;
- identifying, by the memory device, a fetching threshold;
- determining whether the fetching threshold is satisfied;
- based on the determining that the fetching threshold is satisfied, fetching the one or more commands from the one or more queues;
- and
- based on the determining that the fetching threshold is unsatisfied, waiting to fetch the one or more commands from the one or more queues.
A memory device, comprising:
- memory;
- and
- one or more controllers configured to cause:
- determining that one or more commands are available for fetching from one or more queues;
- assessing processing capacity of a host device based on an interrupt response time of the host device;
- determining whether a fetching threshold is satisfied;
- based on the determining that the fetching threshold is satisfied, fetching the one or more commands from the one or more queues;
- and
- based on the determining that the fetching threshold is unsatisfied, waiting to fetch the one or more commands from the one or more queues.
An apparatus, comprising:
- means for determining that one or more commands are available for fetching from one or more queues;
- means for assessing processing capacity of a host device based on an interrupt response time of the host device;
- means for determining whether a fetching threshold is satisfied;
- based on the determining that the fetching threshold is satisfied, means for fetching the one or more commands from the one or more queues;
- and
- based on the determining that the fetching threshold is unsatisfied, means for waiting to fetch the one or more commands from the one or more queues.
Dependencies are inferred from the claim text.