IP Library › Granted Patent US 11,829,627
Granted Patent B2
US 11,829,627 · App. 17/403,366 · Granted Nov 28, 2023

Data migration schedule prediction using machine learning

Inventors: David Andrew Roberts (Wellesley, MA); Aliasger Tayeb Zaidy (Seattle, WA)
Assignee: Micron Technology, Inc.
G06F3/0647G06F3/0625G06F3/0685G06N3/04G06N3/08
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,829,627
App. No.
17/403,366
Granted
Nov 28, 2023
Kind
B2
Abstract

Various embodiments provide for one or more processor instructions and memory instructions that enable a memory sub-system to predict a schedule for migrating data between memory devices, which can be part of a memory sub-system.

Claims (52)

1. A system comprising:

a first memory device of a first memory type;

a second memory device of a second memory type; and

a data migration controller operatively coupled to the first and the second memory devices, the data migration controller being configured to perform operations comprising:

selecting a memory unit of data, stored on one of the first memory device or the second memory device, for a time prediction that indicates a future time when a change in a current access count for the memory unit is expected to occur;

at a current time interval, using a schedule machine learning model to generate the time prediction for when the change in the current access count for the memory unit is expected to occur, the time prediction comprising a delta time relative to the current time interval;

based on the time prediction and the current time interval, determining a first future time interval for when the data migration controller will evaluate whether to migrate the memory unit between the first memory device and the second memory device; and

at or after the first future time interval, evaluating whether to migrate the memory unit between the first memory device and the second memory device, the evaluating comprising:

using an access count machine learning model to generate a predicted access count for the memory unit for a second future time interval, the access count machine learning model being trained based on a history of access counts for the memory unit over a plurality of past time intervals, the second future time interval being different from the first future time interval; and

in response to the predicted access count indicating that the memory unit will be accessed frequently at the second future time interval, causing the memory unit to be migrated between the first memory device and the second memory device.

2. The system of claim 1 , wherein the memory unit is either a block or a page.

3. The system of claim 1 , wherein the predicted access count indicates whether the memory unit will be accessed frequently at the second future time interval.

4. The system of claim 3 , wherein the first memory type is faster than the second memory type, wherein the memory unit is stored on the second memory device, and wherein the causing of the memory unit to be migrated between the first memory device and the second memory device based on the predicted access count comprises the memory unit being migrated from the second memory device to the first memory device in response to the predicted access count indicating that the memory unit will be accessed frequently at the second future time interval.

5. The system of claim 3 , wherein the first memory type is faster than the second memory type, wherein the memory unit is stored on the first memory device, and wherein the causing of the memory unit to be migrated between the first memory device and the second memory device based on the predicted access count comprises the memory unit being migrated from the first memory device to the second memory device in response to the predicted access count indicating that the memory unit will be accessed frequently at the second future time interval.

6. The system of claim 1 , wherein the schedule machine learning model comprises a deep-neural network (DNN).

7. The system of claim 1 , wherein the change at least one of exceeds a predetermined threshold value.

8. The system of claim 1 , wherein the system is a memory sub-system, and wherein training data for the schedule machine learning model is provided to the memory sub-system by a host system coupled to the memory sub-system.

9. The system of claim 1 , wherein change represents a certain percentage of change compared to the current access count.

10. The system of claim 1 , wherein the generating of the predicted access count at the first future time interval comprises:

adding a new request to generate the predicted access count to a queue for using the access count machine learning model.

11. The system of claim 10 , wherein an entry is added to the queue for the new request, and wherein the entry indicates that the predicted access count is requesting to be fulfilled by the second future time interval.

12. The system of claim 10 , wherein an individual request is selected from the queue, for processing using the access count machine learning model, based on a priority of the individual request.

13. The system of claim 12 , wherein an entry in the queue for the individual request indicates when the individual request is requested to be fulfilled, and wherein the priority is determined based on when the individual request is requested to be fulfilled.

14. The system of claim 10 , wherein an entry is added to the queue for the new request, wherein the entry comprises a memory unit signature to identify the memory unit, and wherein the memory unit signature comprises a plurality of attributes of the memory unit.

15. The system of claim 14 , wherein the memory unit signature comprises at least one of a program counter for the memory unit, a load instruction that first accessed the memory unit, a sequence of cache line addresses for the memory unit, or a spatial line bitmask for the memory unit.

16. The system of claim 1 , wherein the operations comprise:

recording the predicted access count for the memory unit for the second future time interval;

determining an actual access count of the memory unit during the second future time interval; and

after the second future time interval:

determining whether a difference between the predicted access count and the actual access count exceeds a threshold value; and

in response to determining that the difference exceeds the threshold value, causing the access count machine learning model to be updated by a training process that updates one or more weights or parameters of the access count machine learning model.

17. The system of claim 1 , wherein the system is a memory sub-system, and the data migration controller is part of a memory sub-system controller of the memory sub-system.

18. The system of claim 1 , wherein at least some portion of the data migration controller is implemented by a processing device of the system.

19. A method comprising:

loading a schedule machine learning model into a local memory of a memory sub-system, the schedule machine learning model being trained by a host system using a monitoring process, the monitoring process profiling data access of a plurality of memory units of data stored on the memory sub-system by a software application operating on the host system, the memory sub-system comprising the local memory, a data migration controller operably coupled to the local memory, a first memory device of a first memory type, and a second memory device of a second memory type;

selecting, by the data migration controller, a memory unit of data stored on one of the first memory device or the second memory device, the memory unit being selected for a time prediction that indicates a future time when a change in a current access count for the memory unit is expected to occur;

at a current time interval, using the schedule machine learning model, by the data migration controller, to generate the time prediction for when the change in the current access count for the memory unit is expected to occur, the time prediction comprising a delta time relative to the current time interval;

based on the time prediction and the current time interval, the data migration controller determining by a first future time interval for when the data migration controller will evaluate whether to migrate the memory unit between the first memory device and the second memory device; and

at or after the first future time interval, the data migration controller evaluating whether to migrate the memory unit between the first memory device and the second memory device, the evaluating comprising:

using an access count machine learning model to generate a predicted access count for the memory unit for a second future time interval, the access count machine learning model being trained based on a history of access counts for the memory unit over a plurality of past time intervals, the second future time interval being different from the first future time interval; and

in response to the predicted access count indicating that the memory unit will be accessed frequently at the second future time interval, causing, by the data migration controller, the memory unit to be migrated between the first memory device and the second memory device.

20. At least one non-transitory machine-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

while a software application is operating on a host system, monitoring data access, by the software application, of a set of memory units of data stored on a memory sub-system, the memory sub-system being operably coupled to the host system;

based on the monitoring of the data access, generating a history of access counts for each memory unit in the set of memory units over a predetermined number of time intervals;

training a schedule machine learning model based on the history of access counts for at least one memory unit of the set of memory units, wherein the training configures the schedule machine learning model to generate a time prediction for the at least one memory unit, the time prediction indicating a future time when a change in a current access count for the memory unit is expected to occur; and

after the training, causing the schedule machine learning model to be loaded by the memory sub-system, a data migration controller of the memory sub-system being configured to perform operations comprising:

at a current time interval, using the loaded schedule machine learning model to generate the time prediction for when the change in the current access count for the memory unit is expected to occur, the time prediction comprising a delta time relative to the current time interval;

based on the time prediction and the current time interval, determining a first future time interval for when the data migration controller will evaluate whether to migrate the memory unit between the first memory device and a second memory device; and

at or after the first future time interval, evaluating whether to migrate the memory unit between the first memory device and the second memory device, the evaluating comprising:

using an access count machine learning model to generate a predicted access count for the memory unit for a second future time interval, the access count machine learning model being trained based on a history of access counts for the memory unit over a plurality of past time intervals, the second future time interval being different from the first future time interval;

determining whether the predicted access count indicates that the memory unit will be accessed frequently at the second future time interval; and

in response to the predicted access count indicating that the memory unit will be accessed frequently at the second future time interval, causing the memory unit to be migrated between the first memory device and the second memory device based on the predicted access count.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: ROBERTS, DAVID ANDREW; ZAIDY, ALIASGER TAYEB
To: MICRON TECHNOLOGY, INC.
Reel/Frame 058154/0304 →
Continuity (1)
Related Publication 20230051103A1 · Feb 16, 2023
Cited By (1)
US 12,681,862