US 11,836,511 B2
Function arbitration and quality of service for memory commands
Prateek Sharma, San Jose, CA (US); Bridget L. Mallak, Forest Lake, MN (US); and Kevin R. Duncan, Ramsey, MN (US)
Assigned to Micron Technology, Inc., Boise, ID (US)
Filed by Micron Technology, Inc., Boise, ID (US)
Filed on May 7, 2020, as Appl. No. 16/868,643.
Claims priority of provisional application 62/954,852, filed on Dec. 30, 2019.
Prior Publication US 2021/0200568 A1, Jul. 1, 2021
Int. Cl. G06F 9/455 (2018.01); G06F 9/48 (2006.01); G06F 9/445 (2018.01); G06F 13/16 (2006.01); G06F 11/30 (2006.01); G06F 9/38 (2018.01)
CPC G06F 9/45558 (2013.01) [G06F 9/3836 (2013.01); G06F 9/44505 (2013.01); G06F 9/4818 (2013.01); G06F 11/3037 (2013.01); G06F 13/1605 (2013.01); G06F 2009/45583 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A system comprising:
a memory device;
a host interface;
a processing device coupled to the memory device and the host interface, the processing device configured to:
receive a plurality of commands from a plurality of virtual machines via the host interface;
associate each of the plurality of commands with a respective function from a plurality of functions that represents a respective virtual machine from which each of the plurality of commands was received; and
setup a respective definition of a respective quality of service for each of the plurality of functions regarding consumption of resources of the memory device;
assign a quantity of credit counters to each of the plurality of functions based on the respective definition of the respective quality of service;
update a configuration database that stores the quantity of credit counters with an updated quantity of credit counters after receipt of the plurality of commands,
wherein the configuration database is runtime configurable by a host, and
wherein the quantity of credit counters and the configuration database are updated by the host responsive to receipt of the plurality of commands;
update, via the arbitration circuitry, a memory that stores the quantity of credit counters with the update quantity of credit counters from the configuration database;
provide the plurality of commands and the updated quantity of credit counters to an arbitration circuitry to handle each of the plurality of commands on a per function basis according to the updated quantity of credit counters, wherein the updated quantity of credit counters are provided from the memory and wherein the memory and the configuration database are different.