IP Library Granted Patent US 12,079,128
Granted Patent B2
US 12,079,128 · App. 17/723,096 · Granted Sep 3, 2024

Techniques for pre-fetching information using pattern detection

Inventors: Vanaja Urrinkala (Hyderabad, IN); Niraimathi N S (Hyderabad, IN)
Assignee: Micron Technology, Inc.
G06F12/0862G06F2212/6022
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 12,079,128
App. No.
17/723,096
Granted
Sep 3, 2024
Kind
B2
Abstract

Methods, systems, and devices supporting techniques for pre-fetching information using pattern detection are described. Some memory systems may support pre-fetching information, such as logical-to-physical (L2P) mapping tables, data, or both, if a sequential pattern of read commands is detected. In some examples, the memory system may store a list of logical addresses indicated by received read commands and may determine whether the list corresponds to a sequential pattern independent of intervening write-alike commands. The list may store previous logical addresses for read commands, allowing the memory system to determine whether subsequent read commands form a sequential pattern. Additionally or alternatively, the memory system may track a ratio of hibernate commands to other commands (e.g., sequential read commands) and may refrain from pre-fetching L2P mapping tables for a detected sequence if the tracked ratio satisfies (e.g., exceeds) a threshold ratio.

Claims (60)

1. A memory system, comprising:

one or more memory devices; and

processing circuitry coupled with the one or more memory devices and configured to cause the memory system to:

receive, from a host system, a plurality of read commands and one or more write-alike commands, each of the one or more write-alike commands associated with at least one corresponding write operation by the one or more memory devices;

store a list of logical addresses indicated by a first subset of read commands of the plurality of read commands and a second subset of read commands of the plurality of read commands according to an order of execution for the plurality of read commands, wherein the storing is based at least in part on the first subset of read commands and the second subset of read commands being separated by at least one write-alike command of the one or more write-alike commands;

determine whether the list of logical addresses corresponds to a sequential pattern based at least in part on the logical addresses indicated by the first subset of read commands and the second subset of read commands, respective transfer lengths for the plurality of read commands, or both; and

pre-fetch data from the one or more memory devices for a subsequent read command based at least in part on determining that the list of logical addresses corresponds to the sequential pattern.

2. The memory system of claim 1 , wherein the processing circuitry is further configured to cause the memory system to:

determine that a quantity of sequential read commands of the plurality of read commands satisfies a threshold value for pattern detection based at least in part on the list of logical addresses, wherein the processing circuitry is configured to cause the memory system to determine that the list of logical addresses corresponds to the sequential pattern based at least in part on the quantity of sequential read commands satisfying the threshold value for pattern detection.

3. The memory system of claim 2 , wherein, to receive the plurality of read commands and the one or more write-alike commands, the processing circuitry is configured to cause the memory system to:

receive the first subset of read commands, wherein the first subset of read commands comprises sequential read commands;

receive the at least one write-alike command for execution after the first subset of read commands;

receive the second subset of read commands for execution after the at least one write-alike command, wherein the second subset of read commands comprises sequential read commands, and wherein a first read command of the second subset of read commands is sequential to a last read command of the first subset of read commands; and

determine, based at least in part on the first read command of the second subset of read commands being sequential to the last read command of the first subset of read commands, that the quantity of sequential read commands comprises the first subset of read commands and the second subset of read commands.

4. The memory system of claim 2 , wherein the processing circuitry is further configured to cause the memory system to:

receive a first read command indicating a first logical address and a first command length;

receive one or more second read commands after the first read command, the one or more second read commands indicating respective second logical addresses non-sequential to the first logical address according to the first command length, wherein a quantity of the one or more second read commands satisfies a threshold value for resetting pattern detection; and

reset the quantity of sequential read commands based at least in part on the one or more second read commands being non-sequential to the first read command and the quantity of the one or more second read commands satisfying the threshold value for resetting pattern detection.

5. The memory system of claim 2 , wherein the processing circuitry is further configured to cause the memory system to:

track a count value for sequential read commands, wherein the processing circuitry is configured to cause the memory system to determine that the quantity of sequential read commands satisfies the threshold value for pattern detection based at least in part on the count value satisfying the threshold value for pattern detection.

6. The memory system of claim 2 , wherein the list of logical addresses comprises a quantity of slots equal to the threshold value for pattern detection, and wherein the processing circuitry is configured to cause the memory system to determine that the quantity of sequential read commands satisfies the threshold value for pattern detection based at least in part on each slot of the list of logical addresses storing a sequential logical address.

7. The memory system of claim 1 , wherein the processing circuitry is further configured to cause the memory system to:

track a second count value for sequential read commands based at least in part on determining that the list of logical addresses corresponds to the sequential pattern; and

trigger the pre-fetching based at least in part on the second count value satisfying a second threshold value for pre-fetch triggering.

8. The memory system of claim 1 , wherein the processing circuitry is further configured to cause the memory system to:

store the pre-fetched data in a cache prior to executing the subsequent read command based at least in part on determining that the list of logical addresses corresponds to the sequential pattern;

execute the subsequent read command; and

retrieve the pre-fetched data from the cache for the executed subsequent read command based at least in part on the subsequent read command satisfying the sequential pattern.

9. The memory system of claim 1 , wherein the processing circuitry is further configured to cause the memory system to:

store a list of the respective transfer lengths for the plurality of read commands with the list of logical addresses.

10. The memory system of claim 1 , wherein the processing circuitry is further configured to cause the memory system to:

determine a common transfer length for the plurality of read commands; and

store an indication of the common transfer length with the list of logical addresses.

11. The memory system of claim 1 , wherein the processing circuitry is further configured to cause the memory system to:

store the list of logical addresses in random access memory.

12. The memory system of claim 1 , wherein the one or more write-alike commands comprise a write command, an unmap command, a format unit command, a security protocol out command, a start stop unit command, or any combination thereof.

13. The memory system of claim 1 , wherein, to pre-fetch the data from the one or more memory devices for the subsequent read command, the processing circuitry is configured to cause the memory system to:

execute a pre-fetch command indicating a next logical block address according to the sequential pattern.

14. A non-transitory computer-readable medium storing code comprising instructions which, when executed by processing circuitry of an electronic device, cause the electronic device to:

receive, from a host system, a plurality of read commands and one or more write-alike commands, each of the one or more write-alike commands associated with at least one corresponding write operation by a memory device;

store a list of logical addresses indicated by a first subset of read commands of the plurality of read commands and a second subset of read commands of the plurality of read commands according to an order of execution for the plurality of read commands, wherein the storing is based at least in part on the first subset of read commands and the second subset of read commands being separated by at least one write-alike command of the one or more write-alike commands;

determine whether the list of logical addresses corresponds to a sequential pattern based at least in part on the logical addresses indicated by the first subset of read commands and the second subset of read commands, respective transfer lengths for the plurality of read commands, or both; and

pre-fetch data from the memory device for a subsequent read command based at least in part on determining that the list of logical addresses corresponds to the sequential pattern.

15. The non-transitory computer-readable medium of claim 14 , wherein the instructions, when executed by the processing circuitry of the electronic device, further cause the electronic device to:

determine that a quantity of sequential read commands of the plurality of read commands satisfies a threshold value for pattern detection based at least in part on the list of logical addresses, wherein the instructions cause the electronic device to determine that the list of logical addresses corresponds to the sequential pattern based at least in part on the quantity of sequential read commands satisfying the threshold value for pattern detection.

16. The non-transitory computer-readable medium of claim 15 , wherein, to receive the plurality of read commands and the one or more write-alike commands, the instructions, when executed by the processing circuitry of the electronic device, further cause the electronic device to:

receive the first subset of read commands, wherein the first subset of read commands comprises sequential read commands;

receive the at least one write-alike command for execution after the first subset of read commands;

receive the second subset of read commands for execution after the at least one write-alike command, wherein the second subset of read commands comprises sequential read commands, and wherein a first read command of the second subset of read commands is sequential to a last read command of the first subset of read commands; and

determine, based at least in part on the first read command of the second subset of read commands being sequential to the last read command of the first subset of read commands, that the quantity of sequential read commands comprises the first subset of read commands and the second subset of read commands.

17. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processing circuitry of the electronic device, further cause the electronic device to:

receive a first read command indicating a first logical address and a first command length;

receive one or more second read commands after the first read command, the one or more second read commands indicating respective second logical addresses non-sequential to the first logical address according to the first command length, wherein a quantity of the one or more second read commands satisfies a threshold value for resetting pattern detection; and

reset the quantity of sequential read commands based at least in part on the one or more second read commands being non-sequential to the first read command and the quantity of the one or more second read commands satisfying the threshold value for resetting pattern detection.

18. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processing circuitry of the electronic device, further cause the electronic device to:

track a count value for sequential read commands, wherein the instructions cause the electronic device to determine that the quantity of sequential read commands satisfies the threshold value for pattern detection based at least in part on the count value satisfying the threshold value for pattern detection.

19. The non-transitory computer-readable medium of claim 15 , wherein the list of logical addresses comprises a quantity of slots equal to the threshold value for pattern detection, and wherein the instructions cause the electronic device to determine that the quantity of sequential read commands satisfies the threshold value for pattern detection based at least in part on each slot of the list of logical addresses storing a sequential logical address.

20. The non-transitory computer-readable medium of claim 14 , wherein the instructions, when executed by the processing circuitry of the electronic device, further cause the electronic device to:

track a second count value for sequential read commands based at least in part on determining that the list of logical addresses corresponds to the sequential pattern; and

trigger the pre-fetching based at least in part on the second count value satisfying a second threshold value for pre-fetch triggering.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2022
From: URRINKALA, VANAJA; N. S., NIRAIMATHI
To: MICRON TECHNOLOGY, INC.
Reel/Frame 059893/0369 →
Continuity (2)
Provisional Application 63181760 · Apr 29, 2021
Related Publication 20220350744A1 · Nov 3, 2022