Memory operation command latency management
First Claim
1. A memory controller for controlling operation of a data storage device, the memory controller comprising:
- a plurality of command queues, each command queue being operationally associated with one of a plurality of memory devices included in the data storage device, each of the command queues being configured to store memory operation commands pending execution by its respective memory device; and
a latency manager operationally coupled with the plurality of command queues, the latency manager being configured to, respectively, for each of the plurality of memory devices;
receive, from a host device, memory operation commands for execution by their respective memory device;
maintain a respective cumulative latency estimate for the respective memory device, the respective cumulative latency estimate indicating an estimated amount of time that currently pending memory operation commands for the respective memory device will take to complete execution; and
for each memory operation command, when received by the latency manager;
compare the respective cumulative latency estimate with a latency threshold for the received memory operation command;
in the event the respective cumulative latency estimate is at or below the latency threshold, provide the received memory operation command to the respective command queue; and
in the event the respective cumulative latency estimate is above the latency threshold, return the received memory operation command to the host device.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for managing latency of memory commands are disclosed. An example method includes receiving memory operation commands for execution by a data storage device, each memory operation command being associated, for execution, with one of a plurality of memory devices. The example method also includes maintaining, for each memory device, a respective cumulative latency estimate. The example method also includes, for each memory operation command, when received by the memory controller, comparing the respective cumulative latency estimate of the associated memory device with a latency threshold for the received memory operation command. In the event the cumulative latency estimate is at or below the latency threshold, the received memory operation command is provided to a respective command queue operatively coupled with the respective memory device. In the event the cumulative latency estimate is above the latency threshold, the received memory operation command is returned to a host device.
61 Citations
23 Claims
-
1. A memory controller for controlling operation of a data storage device, the memory controller comprising:
-
a plurality of command queues, each command queue being operationally associated with one of a plurality of memory devices included in the data storage device, each of the command queues being configured to store memory operation commands pending execution by its respective memory device; and a latency manager operationally coupled with the plurality of command queues, the latency manager being configured to, respectively, for each of the plurality of memory devices; receive, from a host device, memory operation commands for execution by their respective memory device; maintain a respective cumulative latency estimate for the respective memory device, the respective cumulative latency estimate indicating an estimated amount of time that currently pending memory operation commands for the respective memory device will take to complete execution; and for each memory operation command, when received by the latency manager; compare the respective cumulative latency estimate with a latency threshold for the received memory operation command; in the event the respective cumulative latency estimate is at or below the latency threshold, provide the received memory operation command to the respective command queue; and in the event the respective cumulative latency estimate is above the latency threshold, return the received memory operation command to the host device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for controlling operation of a data storage device, the method comprising:
-
receiving, from a host device at a memory controller of the data storage device, memory operation commands for execution by the data storage device, each memory operation command being associated, for execution, with one of a plurality of memory devices included in the data storage device; maintaining, for each memory device, a respective cumulative latency estimate, each respective cumulative latency estimate indicating an estimated amount of time that currently pending memory operation commands for the respective memory device will take to complete execution; and for each memory operation command, when received by the memory controller; comparing the respective cumulative latency estimate of the associated memory device with a latency threshold for the received memory operation command; in the event the respective cumulative latency estimate of the associated memory device is at or below the latency threshold, providing the received memory operation command to a respective command queue operatively coupled with the respective memory device; and in the event the respective cumulative latency estimate of the associated memory device is above the latency threshold, returning the received memory operation command to the host device. - View Dependent Claims (16, 17, 18)
-
-
19. A memory controller for controlling operation of a data storage device, the memory controller comprising:
-
a plurality of command queues, each command queue being operationally associated with one of a plurality of flash memory devices included in the data storage device, each of the command queues being configured to store flash memory operation commands pending execution by its respective flash memory device; and a latency manager operationally coupled with the plurality of command queues, the latency manager being configured, for each of the plurality of flash memory devices, to; receive, from a host device, flash memory operation commands for execution by the respective flash memory device; maintain a respective cumulative latency estimate for the respective flash memory device, the respective cumulative latency estimate indicating an estimated amount of time that currently pending flash memory operation commands for the respective flash memory device will take to complete execution; compare the respective cumulative latency estimate with a first latency threshold for the respective flash memory device; and in the event the respective cumulative latency estimate is above the first latency threshold, return erase flash memory commands to the host device. - View Dependent Claims (20, 21)
-
-
22. A method for controlling operation of a data storage device, the method comprising:
-
receiving, from a host device at a memory controller of the data storage device, memory operation commands for execution by the data storage device, each memory operation command being associated, for execution, with one of a plurality of memory devices included in the data storage device; and for each of the plurality of memory devices; maintaining a respective cumulative latency estimate for the respective flash memory device, the respective cumulative latency estimate indicating an estimated amount of time that currently pending flash memory operation commands for the respective flash memory device will take to complete execution; comparing the respective cumulative latency estimate with a first latency threshold for the respective flash memory device; and in the event the respective cumulative latency estimate is above the first latency threshold, returning erase flash memory commands to the host device. - View Dependent Claims (23)
-
Specification