Logical unit number queues and logical unit number queue scheduling for memory devices

US11966635B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11966635-B2
Application numberUS-202217931934-A
CountryUS
Kind codeB2
Filing dateSep 14, 2022
Priority dateAug 31, 2022
Publication dateApr 23, 2024
Grant dateApr 23, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A memory device may include logical units configured to store data, wherein the logical units are identified by corresponding logical unit numbers (LUNs) and are associated with corresponding LUN queue groups. Each LUN queue group may include LUN queues that are each associated with a respective intra-LUN priority level that indicates a priority of a LUN queue within a LUN queue group. The LUN queues are each associated with a respective execution priority level that indicates a priority for execution of commands in a LUN queue across LUN queue groups. A quantity of intra-LUN priority levels may be greater than a quantity of execution priority levels. A LUN scheduler may be configured to select and transfer commands from LUN queue groups to the execution queue group based on intra-LUN priority levels. A command executor may be configured to execute commands from the execution queue group based on execution priority levels.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving, by a memory device, a memory command associated with a logical unit number (LUN) of multiple LUNs associated with the memory device; and placing, by the memory device, the memory command into a LUN queue, of a LUN queue group associated with the LUN, based on one or more parameters of the memory command, wherein the LUN queue is one of multiple LUN queues included in the LUN queue group, wherein the LUN queue group is one of multiple LUN queue groups associated with the memory device, wherein each LUN queue group, included in the multiple LUN queue groups, is associated with a different LUN of the multiple LUNs associated with the memory device, wherein each LUN queue, included in the LUN queue group, is associated with a respective intra-LUN priority level, of multiple intra-LUN priority levels associated with the memory device, that indicates a relative priority of commands in that LUN queue with respect to other commands in the LUN queue group, wherein each LUN queue, included in the LUN queue group, is associated with an execution priority level, of multiple execution priority levels associated with the memory device, that indicates a relative priority of commands for execution on memory with respect to other commands, and wherein a quantity of the multiple intra-LUN priority levels is greater than a quantity of the multiple execution priority levels. 2. The method of claim 1 , wherein the one or more parameters include at least one of: whether the memory command is a read command, a write command, an erase command, or an out-of-band command, whether the memory command is a host command or a non-host command, or whether the memory command is a multi-plane command or a single plane command. 3. The method of claim 1 , wherein the multiple LUN queues include: a multi-plane host read LUN queue for multi-plane host read commands, multiple single plane host read LUN queues for single plane host read commands, wherein each of the single plane host read LUN queues corresponds to a different plane associated with the LUN, a write LUN queue for write commands, a garbage collection read LUN queue for garbage collection read commands, a non-host, non-garbage collection read LUN queue for non-host read commands other than garbage collection read commands, and an out-of-band LUN queue for out-of-band commands, wherein the out-of-band commands are not read commands and are not write commands. 4. The method of claim 3 , wherein: the multi-plane host read LUN queue and the multiple single plane host read LUN queues are associated with a first execution priority level, the write LUN queue is associated with a second execution priority level, the garbage collection read LUN queue is associated with a third execution priority level, and the non-host, non-garbage collection read LUN queue is associated with a fourth execution priority level. 5. The method of claim 4 , wherein the out-of-band LUN queue is for erase commands and non-erase commands, wherein the erase commands are associated with the second execution priority level, and wherein the non-erase commands are associated with the fourth execution priority level. 6. The method of claim 1 , further comprising: determining that a quantity of memory commands, pending across all LUN queue groups of the multiple LUN queue groups, is less than a threshold; and wherein placing the memory command into the LUN queue comprises placing the memory command into the LUN queue based on determining that the quantity of memory commands is less than the threshold. 7. The method of claim 1 , wherein the quantity of the multiple execution priority levels is four, and wherein the quantity of the multiple intra-LUN priority levels is at least six. 8. The method of claim 1 , wherein the quantity of the multiple execution priority levels is four, and wherein the quantity of the multiple intra-LUN priority levels is equal to five plus a quantity of planes associated with the LUN. 9. The method of claim 1 , further comprising: identifying a command, from a particular LUN queue group of the multiple LUN queue groups, to be transferred to an execution queue group, wherein the command is identified based on: a most recently selected LUN queue group from which an immediately preceding command was transferred to the execution queue group, and a most recently selected LUN queue, of the particular LUN queue group, from which a most recently transferred command was transferred from the particular LUN queue group to the execution queue group; and transferring the identified command to the execution queue group for execution by the memory device. 10. A memory device, comprising: means for selecting a logical unit number (LUN) queue group, from which a command is to be transferred to an execution queue group, based on a most recently selected LUN queue group from which an immediately preceding command was transferred to the execution queue group, wherein the selected LUN queue group and the most recently selected LUN queue group are included in a plurality of LUN queue groups associated with the memory device, and wherein each LUN queue group, included in the plurality of LUN queue groups, is associated with a different LUN of a plurality of LUNs associated with the memory device; means for selecting a LUN queue in the selected LUN queue group, from which the command is to be transferred to the execution queue group, based on a most recently selected LUN queue from which a most recently transferred command from the selected LUN queue group was transferred to the execution queue group, wherein the selected LUN queue and the most recently selected LUN queue are included in a plurality of LUN queues that are included in the selected LUN queue group, wherein each LUN queue, included in the plurality of LUN queues, is associated with: an intra-LUN priority level used for selecting LUN queues within the LUN queue group, and an execution priority level used for selecting commands from the execution queue group for execution, wherein a quantity of intra-LUN priority levels associated with the selected LUN queue is greater than a quantity of execution priority levels associated with the execution queue group; and means for transferring the command from the selected LUN queue to the execution queue group. 11. The memory device of claim 10 , further comprising: means for storing a LUN queue group indication of the most recently selected LUN queue group based on transferring the immediately preceding command to the execution queue group; and wherein the means for selecting the LUN queue group comprises means for selecting the LUN queue group based on the LUN queue group indication. 12. The memory device of claim 10 , further comprising: means for storing a LUN queue indication of the most recently selected LUN queue based on transferring the most recently transferred command from the selected LUN queue group to the execution queue group; and wherein the means for selecting the LUN queue comprises means for selecting the LUN queue based on the LUN queue indication. 13. The memory device of claim 10 , further comprising: means for determining that the command is associated with an intra-type count limit for the execution queue group, wherein the intra-type count limit is specific to the selected LUN queue group and is specific to a command type of the command; and wherein the means for transferring the command from the selected LUN queue to the execution queue group comprises means for transferring the command based on determining that tra

Assignees

Inventors

Classifications

  • G06F3/0659Primary

    Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Garbage collection, i.e. reclamation of unreferenced memory · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Improving I/O performance · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11966635B2 cover?
A memory device may include logical units configured to store data, wherein the logical units are identified by corresponding logical unit numbers (LUNs) and are associated with corresponding LUN queue groups. Each LUN queue group may include LUN queues that are each associated with a respective intra-LUN priority level that indicates a priority of a LUN queue within a LUN queue group. The LUN …
Who is the assignee on this patent?
Micron Technology Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0659. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 23 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).