IP Library Granted Patent US 11,868,655
Granted Patent B2
US 11,868,655 · App. 17/411,572 · Granted Jan 9, 2024

Memory performance using memory access command queues in memory devices

Inventor: Sundararajan N. Sankaranarayanan (Fremont, CA)
Assignee: Micron Technology, Inc.
G06F3/0659G06F3/0622G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,868,655
App. No.
17/411,572
Granted
Jan 9, 2024
Kind
B2
Abstract

Systems and methods are disclosed including a processing device operatively coupled to memory device. The processing device perform operations comprising receiving a memory access command; determining a physical address associated with the memory access command; determining a plane of a die on the memory device that is referenced by the physical address; inserting the memory access command into a queue associated with the plane; and processing the memory access command from the queue.

Claims (65)

1. A system comprising:

host interface circuitry to communicate with a host system;

a memory device comprising a plurality of planes each associated with a respective queue maintained by a respective local media controller of the memory device; and

a processing device, operatively coupled with the host interface circuitry and the memory device, to perform operations comprising:

receiving a memory access command;

determining a physical address associated with the memory access command;

determining a plane of the plurality of planes that is referenced by the physical address;

inserting the memory access command into a respective queue associated with the plane; and

processing the memory access command from the queue.

2. The system of claim 1 , wherein the processing device is to perform further operations comprising:

determining a priority of the memory access command; and

processing the memory access command based on the priority.

3. The system of claim 1 , wherein the processing device is to perform further operations comprising:

responsive to receiving a memory access command referenced by a physical address, evicting another memory access command positioned in the queue referenced by the same physical address.

4. The system of claim 1 , wherein the processing device is to perform further operations comprising:

processing a further memory access command from the queue, wherein the further memory access command was inserted into the queue after the memory access command was inserted into the queue; and

sending data associated with the further memory access command prior to sending data associated with the memory access command.

5. The system of claim 1 , wherein the processing device is to perform further operations comprising:

suspending processing the memory access command from the queue;

processing a further memory access command from the queue; and

resuming processing the memory access command from the queue.

6. The system of claim 1 , wherein the processing device is to perform further operations comprising:

receiving the memory access command from at least one of a high priority data structure or a low priority data structure, wherein each data structure comprises at least one of per-die command queue for each die of the memory device, a per-plane command queue for each plane of the plurality of planes, or a per-die-set queue for one or more sets of dies of the memory device.

7. The system of claim 6 , wherein the memory access command is received based on a scheme that regulates between sending a first amount of high priority commands against a second amount of low priority memory access command.

8. A method comprising:

receiving a memory access command;

determining an address range associated with the memory access command;

determining at least two planes of a die on a memory device that are referenced by the address range; and

inserting different portions of the memory access command into each of a plurality of queues, wherein each of the plurality of queues are associated with a respective plane of a plurality of planes, wherein each of the plurality of queues are located on the memory device and maintained by a respective local media controller located on the memory device; and

processing the memory access command from each of the plurality of queues.

9. The method of claim 8 , further comprising:

determining a priority of the memory access command; and

processing the memory access command based on the priority.

10. The method of claim 8 , further comprising:

responsive to receiving a memory access command referenced by a physical address, evicting another memory access command positioned in the queue referenced by the same physical address.

11. The method of claim 8 , further comprising:

processing a further memory access command from a queue of the plurality of queues, wherein the further memory access command was inserted into the queue after the memory access command was inserted into the queue; and

sending data associated with the further memory access command prior to sending data associated with the memory access command.

12. The method of claim 8 , further comprising:

suspending processing the memory access command from the queue;

processing a further memory access command from the queue; and

resuming processing the memory access command from the queue.

13. The method of claim 8 , further comprising:

receiving the memory access command from at least one of a high priority data structure or a low priority data structure, wherein each data structure comprises at least one of per-die command queue for each die of the memory device, a per-plane command queue for each plane of each die of the memory device, or a per-die-set queue for one or more sets of dies of the memory device.

14. The method of claim 13 , wherein the memory access command is received based on a scheme that regulates between sending a first amount of high priority commands against a second amount of low priority memory access command.

15. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device operatively coupled to a memory device comprising a plurality of planes each associated with a respective queue maintained by a respective local media controller of the memory device, performs operations comprising:

receiving a memory access command;

determining a physical address associated with the memory access command;

determining a plane of the plurality of planes that is referenced by the physical address;

inserting the memory access command into a respective queue associated with the plane; and

processing the memory access command from the queue.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device is to perform further operations comprising:

determining a priority of the memory access command; and

processing the memory access command based on the priority.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device is to perform further operations comprising:

responsive to receiving a memory access command referenced by a physical address, evicting another memory access command positioned in the queue referenced by the same physical address.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device is to perform further operations comprising:

processing a further memory access command from the queue, wherein the further memory access command was inserted into the queue after the memory access command was inserted into the queue; and

sending data associated with the further memory access command prior to sending data associated with the memory access command.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device to perform further operations comprising:

suspending processing the memory access command from the queue;

processing a further memory access command from the queue; and

resuming processing the memory access command from the queue.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device to perform further operations comprising:

receiving the memory access command from at least one of a high priority data structure or a low priority data structure, wherein each data structure comprises at least one of per-die command queue for each die of the memory device, a per-plane command queue for each plane of the plurality of planes, or a per-die-set queue for one or more sets of dies of the memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2022
From: SANKARANARAYANAN, SUNDARARAJAN N.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 059016/0346 →
Continuity (1)
Related Publication 20230068605A1 · Mar 2, 2023
Cited By (1)
US 12,299,283