US11836077B2ActiveUtilityA1

Dynamically tuning host performance booster thresholds

Assignee: MICRON TECHNOLOGY INCPriority: Sep 1, 2020Filed: Sep 1, 2020Granted: Dec 5, 2023
Est. expirySep 1, 2040(~14.1 yrs left)· nominal 20-yr term from priority
Inventors:Yanhua Bi
G06F 12/0292G06F 3/061G06F 3/0634G06F 3/0659G06F 3/0679G06F 12/0238G06F 12/0284G06F 2212/1024G06F 2212/7201G06F 2212/7208
47
PatentIndex Score
0
Cited by
11
References
25
Claims

Abstract

Methods, systems, and devices for dynamically tuning host performance booster thresholds are described. A memory system may include a set of memory devices and an interface configured to communicate commands with a host system coupled with the memory system. The interface may communicate commands to the memory system according to a first command mode associated with a logical address space including a plurality of regions and communicate commands according to a second command mode associated with physical memory address. The memory system may further include a controller that may determine a region activated for the second command mode, receive a first plurality of commands, determine, upon deactivating the region, a first threshold based on a first quantity of read commands serviced according to the second command mode. The controller may activate the region for the second command based on a second quantity of read commands received exceeding the first threshold.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A memory system comprising:
 a set of memory devices comprising memory addressable according to physical memory addresses; 
 an interface configured to be coupled with a host system and the set of memory devices, the interface configured to communicate commands with the host system according to a first command mode associated with a logical address space of the memory system, the logical address space comprising a plurality of regions, the interface further configured to communicate commands with the host system according to a second command mode for one or more of the plurality of regions, the second command mode associated with the physical memory addresses; and 
 a controller coupled with the interface and the memory system and configured to cause the memory system to:
 determine a region of the plurality of regions activated for the second command mode; 
 receive a first plurality of commands from the host system associated with the region; 
 determine, upon deactivating the region from the second command mode, a first threshold for the region based at least in part on determining, for the first plurality of commands, a first quantity of read commands serviced according to the second command mode; 
 receive a second plurality of commands from the host system associated with the region; and 
 activate the region for the second command mode based at least in part on a second quantity of read commands of the second plurality of commands exceeding the first threshold. 
 
 
     
     
       2. The memory system of  claim 1 , wherein the controller is further configured to cause the memory system to:
 output, to the host system, a memory address table associated with the region based at least in part on activating the region for the second command mode. 
 
     
     
       3. The memory system of  claim 1 , wherein the controller is further configured to cause the memory system to:
 determine, for the first plurality of commands, a third quantity of read commands serviced according to the first command mode; and 
 determine a ratio of the first quantity of read commands and a total quantity of the first quantity of read commands and the third quantity of read commands, wherein the controller is configured to determine the first threshold based at least in part on determining the ratio. 
 
     
     
       4. The memory system of  claim 1 , wherein the controller is further configured to cause the memory system to:
 determine a total quantity of regions in the plurality of regions that are configured to be concurrently activated for the second command mode; and 
 determine a quantity of regions in the plurality of regions activated for the second command mode, wherein the controller is configured to determine the first threshold based at least in part on determining the total quantity of regions and the quantity of regions activated for the second command mode. 
 
     
     
       5. The memory system of  claim 4 , wherein the controller is further configured to cause the memory system to:
 update the quantity of regions activated for the second command mode based at least in part on activating the region for the second command mode. 
 
     
     
       6. The memory system of  claim 1 , wherein the controller is further configured to cause the memory system to:
 determine a quantity of read commands from the first plurality of commands that are executed at a physical memory address location different than a physical memory address received associated with the read commands, wherein the controller is configured to determine the first threshold based at least in part on determining the quantity of read commands. 
 
     
     
       7. The memory system of  claim 1 , wherein the controller is further configured to cause the memory system to:
 determine a quantity of times the region is activated for the second command mode; and 
 determine an average of quantities of times each region in the plurality of regions is activated for the second command mode, wherein the controller is configured to determine the first threshold based at least in part on determining the quantity of times the region is activated for the second command mode and the average of the quantities of times each region is activated for the second command mode. 
 
     
     
       8. The memory system of  claim 1 , wherein the controller is further configured to cause the memory system to:
 determine a quantity of read commands received in the first plurality of commands, wherein the quantity is reset upon deactivating the region from the second command mode; and 
 determine an average of quantities of read commands received at each region in the plurality of regions activated for the second command mode, wherein the controller is configured to determine the first threshold based at least in part on determining the quantity of read commands and the average of the quantities of read commands. 
 
     
     
       9. A memory system comprising:
 a set of memory devices, the set of memory devices comprising memory addressable according to physical memory addresses; 
 an interface configured to be coupled with a host system and the set of memory devices, the interface configured to communicate commands with the host system according to a first command mode associated with a logical address space of the memory system, the logical address space comprising a plurality of regions, the interface further configured to communicate commands with the host system according to a second command mode for one or more of the plurality of regions, the second command mode associated with the physical memory addresses; and 
 a controller coupled with the interface and the memory system, wherein the controller is configured to cause the memory system to:
 determine a region of the plurality of regions activated for the second command mode according to a first address table; 
 receive a first plurality of commands from the host system associated with the region; 
 determine a first threshold for the region based at least in part on determining, for the first plurality of commands, a first quantity of read commands serviced according to the first command mode and a second quantity of read commands serviced according to the second command mode; 
 determine a quantity of blocks of the logical address space for the region that have physical memory addresses updated from the first address table; and 
 
 deactivate the region for the second command mode based at least in part on determining the quantity of blocks satisfies the first threshold. 
 
     
     
       10. The memory system of  claim 9 , wherein the controller is further configured to cause the memory system to:
 determine a total quantity of blocks in the logical address space; and 
 determine a ratio of the quantity of blocks of the logical address space for the region that have physical memory addresses updated from the first address table and the total quantity of blocks in the logical address space, wherein the controller is configured to determine the first threshold based at least in part on the ratio. 
 
     
     
       11. The memory system of  claim 9 , wherein the controller is further configured to cause the memory system to:
 determine a total quantity of regions in the plurality of regions that are configured to be concurrently activated for the second command mode; and 
 determine a quantity of regions in the plurality of regions activated for the second command mode, wherein the controller is configured to determine the first threshold based at least in part on determining the total quantity of regions and the quantity of regions. 
 
     
     
       12. The memory system of  claim 11 , wherein the controller is further configured to cause the memory system to:
 update the quantity of regions activated for the second command mode to a second quantity based at least in part on deactivating the region for the second command mode. 
 
     
     
       13. The memory system of  claim 9 , wherein the controller is further configured to cause the memory system to:
 determine a total of the first quantity of read commands and the second quantity of read commands; and 
 determine a ratio for the first quantity of read commands and the total of the first quantity of read commands and the second quantity of read commands, wherein the controller is configured to determine the first threshold based at least in part on determining the ratio. 
 
     
     
       14. The memory system of  claim 9 , wherein the controller is further configured to cause the memory system to:
 determine a total quantity of the first quantity of read commands and the second quantity of read commands subsequent to the second quantity of read commands satisfying a second threshold; 
 determine a third quantity of read commands serviced according to the second command mode after the second quantity of read commands satisfies the second threshold; and 
 determine a ratio for the third quantity of read commands and the total quantity, wherein the controller is configured to determine the first threshold based at least in part on the ratio. 
 
     
     
       15. A method performed by a memory system, the method comprising:
 determining a region of a plurality of regions in a memory system activated for a first command mode, the memory system comprising memory addressable according to physical memory addresses, wherein the memory system receives commands according to a second command mode associated with a logical address space of the memory system comprising the plurality of regions and a first command mode associated with the physical memory addresses; 
 receiving a first plurality of commands associated with the region based at least in part on determining the region; 
 determining, upon deactivating the region from the first command mode, a first threshold for the region based at least in part on determining, for the first plurality of commands, a first quantity of read commands serviced according to the first command mode based at least in part on receiving the first plurality of commands; 
 receiving a second plurality of commands associated with the region; and 
 activating the region for the first command mode based at least in part on a second quantity of read commands of the second plurality of commands exceeding the first threshold. 
 
     
     
       16. The method of  claim 15 , further comprising:
 outputting a memory address table associated with the region based at least in part on activating the region for the first command mode. 
 
     
     
       17. The method of  claim 15 , further comprising:
 receiving a third plurality of commands activated for the first command mode according to a first address table; 
 determining, for the third plurality of commands, a third quantity of read commands serviced according to the first command mode and a fourth quantity of read commands serviced according to the second command mode; 
 determining a second threshold for the region based at least in part on determining the third quantity of read commands and the fourth quantity of read commands; 
 determining a quantity of blocks of the logical address space for the region that have physical memory addresses updated from the first address table; and 
 deactivating the region for the first command mode based at least in part on determining the quantity of blocks satisfies the first threshold. 
 
     
     
       18. The method of  claim 15 , wherein determining the first threshold further comprises:
 determining, for the first plurality of commands, a third quantity of read commands serviced according to the second command mode; and 
 determining a ratio of the first quantity of read commands and a total quantity of the first quantity of read commands and the third quantity of read commands, wherein the first threshold is based at least in part on the ratio. 
 
     
     
       19. The method of  claim 15 , wherein determining the first threshold further comprises:
 determining a total quantity of regions in the plurality of regions that are configured to be concurrently activated for the second command mode; and 
 determining a quantity of regions in the plurality of regions activated for the second command mode, wherein the first threshold is based at least in part on the total quantity of regions and the quantity of regions activated for the second command mode. 
 
     
     
       20. The method of  claim 19 , further comprising:
 updating the quantity of regions activated for the second command mode based at least in part on activating the region for the second command mode. 
 
     
     
       21. The method of  claim 15 , further comprising:
 determining a quantity of times the region is activated for the second command mode; and 
 determining an average of quantities of times each region in the plurality of regions is activated for the second command mode, wherein the first threshold is based at least in part on determining the quantity and the average. 
 
     
     
       22. The method of  claim 15 , further comprising:
 determining a quantity of read commands received in the first plurality of commands, wherein the quantity is reset upon deactivating the region from the second command mode; and 
 determining an average of quantities of read commands received at each region in the plurality of regions activated for the second command mode, wherein the first threshold is based at least in part on the quantity and the average. 
 
     
     
       23. A host system, comprising:
 an interface configured to be coupled with a memory system, the interface configured to communicate commands with the memory system according to a first command mode associated with a logical address space, the interface further configured to communicate commands with the memory system according to a second command mode for one or more of a plurality of regions of the logical address space, the second command mode associated with physical memory addresses of the memory system; 
 a table store comprising a plurality of memory address tables associated with at least a subset of the plurality of regions; and 
 a host controller, wherein the host controller is further configured to cause the host system to:
 determine a region of the plurality of regions activated for the second command mode; 
 transmit a first plurality of commands associated with the region of the plurality of regions for the memory system; 
 receive, for the first plurality of commands, a quantity of read commands serviced according to the second command mode based at least in part on receiving the first plurality of commands; 
 determine, upon deactivating the region from the second command mode, a first threshold for the region based at least in part on receiving the quantity of read commands serviced according to the second command mode; 
 transmit a second plurality of commands associated with the region of the plurality of regions for the memory system; and 
 activate the region for the second command mode based at least in part on a second quantity of read commands of the second plurality of commands satisfying the first threshold. 
 
 
     
     
       24. The host system of  claim 23 , wherein to activate the region for the second command mode, the host controller is further configured to cause the host system to:
 output, to the memory system, a command associated with a memory address table of the region based at least in part on determining that a second quantity of read commands serviced according to the second command mode of the second plurality of commands satisfies the first threshold; and 
 receive, from the memory system, the memory address table associated with the region based at least in part on outputting the command. 
 
     
     
       25. The host system of  claim 23 , wherein the host controller is further configured to cause the host system to:
 generate a third plurality of commands for the region activated for the second command mode according to a first address table; 
 determine, for the third plurality of commands, a third quantity of read commands serviced according to the first command mode and a fourth quantity of read commands serviced according to the second command mode; 
 determine a second threshold for the region based at least in part on determining the third quantity of read commands and the fourth quantity of read commands; 
 receive an indication from the memory system of a quantity of blocks of the logical address space for the region that have physical memory addresses updated from the first address table; and 
 deactivate the region for the second command mode based at least in part on determining the quantity of blocks satisfies the second threshold.

Join the waitlist — get patent alerts

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

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