US12147709B2ActiveUtilityA1

Storage device determining a policy for fetching commands from a plurality of command queues, and method thereof

Assignee: SK HYNIX INCPriority: Sep 7, 2022Filed: Jan 26, 2023Granted: Nov 19, 2024
Est. expirySep 7, 2042(~16.1 yrs left)· nominal 20-yr term from priority
G06F 3/0604G06F 3/0673G06F 3/0659G06F 3/0658G06F 3/0679G06F 13/18G06F 13/1668G06F 12/0862G06F 3/0611G06F 13/161
60
PatentIndex Score
0
Cited by
4
References
12
Claims

Abstract

A storage device may fetch commands from a plurality of command queues. The storage device may determine a policy for fetching commands from the plurality of command queues as a first policy or a second policy on the basis of the state of a target command queue among the plurality of command queues. The policy may control an order in which commands are fetched from the plurality of command queues.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A storage device comprising:
 a command fetch circuit configured to fetch commands from a plurality of command queues; and 
 a controller configured to determine, according to a state of a target command queue among the plurality of command queues, a policy for the command fetch circuit to use to fetch commands from the plurality of command queues by selecting one from among a first policy and a second policy, 
 wherein the controller determines the policy as the first policy when the target command queue is not full, and determines the policy as the second policy when the target command queue is full. 
 
     
     
       2. The storage device according to  claim 1 , wherein when the policy is determined as the first policy, the command fetch circuit fetches commands from the plurality of command queues according to an order in which doorbell information on commands queued in the plurality of command queues is inputted to a doorbell register. 
     
     
       3. The storage device according to  claim 1 , wherein when the policy is determined as the second policy, the command fetch circuit determines an order of fetching commands from the plurality of command queues based on whether the number of commands queued in the target command queue is equal to or greater than a set threshold number of commands. 
     
     
       4. The storage device according to  claim 3 , wherein when the policy is determined as the second policy and the number of commands queued in the target command queue is equal to or greater than the threshold number of commands, the command fetch circuit fetches commands from the plurality of command queues in a round-robin manner. 
     
     
       5. The storage device according to  claim 3 , wherein when the policy is determined as the second policy and the number of commands queued in the target command queue is less than the threshold number of commands, the controller changes the policy to the first policy. 
     
     
       6. A method for operating a storage device, comprising:
 determining a state of a target command queue among a plurality of command queues; 
 determining a policy for fetching commands from the plurality of command queues, by selecting one from among a first policy and a second policy on the basis of the state of the target command queue; and 
 fetching commands from the plurality of command queues on the basis of the determined policy, 
 wherein determining the policy includes:
 determining the policy as the first policy when the target command queue is not full, and 
 determining the policy as the second policy when the target command queue is full. 
 
 
     
     
       7. The method according to  claim 6 , wherein when the policy is the first policy, fetching commands from the plurality of command queues includes fetching commands from the plurality of command queues according to an order in which doorbell information on commands queued in the plurality of command queues is inputted to a doorbell register. 
     
     
       8. The method according to  claim 6 , wherein fetching commands from the plurality of command queues comprises:
 when the policy is the second policy: 
 determining whether the number of commands queued in the target command queue is equal to or greater than a set threshold number of commands; and 
 determining an order of fetching commands from the plurality of command queues based on whether the number of commands queued in the target command queue is equal to or greater than the threshold number of commands. 
 
     
     
       9. The method according to  claim 8 , wherein when the policy is the second policy and the number of commands queued in the target command queue is equal to or greater than the threshold number of commands, fetching commands from the plurality of command queues fetches commands from the plurality of command queues in a round-robin manner. 
     
     
       10. The method according to  claim 9 , wherein when the policy is the second policy and the number of commands being queued in the target command queue is less than the threshold number of commands, fetching commands from the plurality of command queues includes changing the policy to the first policy. 
     
     
       11. A controller comprising:
 a memory interface capable of communicating with a memory capable of storing data; and 
 a control circuit configured to:
 determine, based on a number of commands queued in a target command queue among a plurality of command queues, an order for fetching commands queued in a plurality of command queues, and 
 process operations indicated by commands fetched from the plurality of command queues, 
 wherein the control circuit determines the order as a first order when the target command queue is not full, and determines the order as a second order different from the first order when the target command queue is full. 
 
 
     
     
       12. The controller of  claim 11 , wherein the plurality of command queues are external to the controller.

Join the waitlist — get patent alerts

Track US12147709B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.