US2023393743A1PendingUtilityA1

Predictive data pre-fetching in a data storage device

Assignee: MICRON TECHNOLOGY INCPriority: Apr 15, 2019Filed: Aug 23, 2023Published: Dec 7, 2023
Est. expiryApr 15, 2039(~12.7 yrs left)· nominal 20-yr term from priority
G06F 3/061G06F 3/0659G06N 20/00G06F 12/0862G06F 3/0673G06F 3/0656G06F 2212/7203G06F 2212/6022G06F 2212/6028G06F 2212/214G06F 12/0868G06F 2212/312G06F 2212/1016
71
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A data storage system having non-volatile media, a buffer memory, a processing device, and a data pre-fetcher. The data pre-fetcher receives commands to be executed in the data storage system, provides the commands as input to a predictive model, obtains at least one command identified for pre-fetching, as output from the predictive model having the commands as input. Prior to the command being executed in the data storage device, the data pre-fetcher retrieves, from the non-volatile memory, at least a portion of data to be used in execution of the command; and stores the portion of data in the buffer memory. The retrieving and storing the portion of the data can be performed concurrently with the execution of many commands before the execution of the command, to reduce the latency impact of the command on other commands that are executed concurrently with the execution of the command.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A data storage device, comprising:
 a non-volatile memory; and   a processing device communicatively linked to the non-volatile memory, and configured to:
 execute at least one first command in the data storage device; 
 measure an execution latency of the at least one first command; 
 identify at least one second command that causes greater than a threshold amount of increase in the execution latency in the at least one first command; 
 determine, by utilizing a predictive model, at least one third command based on the at least one first command; and 
 apply supervised machine learning to the predictive model to reduce a difference between the at least one second command and the at least one third command. 
   
     
     
         2 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 identify the at least one second command by computing an average latency for different command types.   
     
     
         3 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 identify the at least one second command based on the at least one second command having a predetermined characteristic associated with a predefined command category.   
     
     
         4 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 train the predictive model to identify the at least one second command that causes the greater than the threshold amount of increase in the execution latency in the at least on first command.   
     
     
         5 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 measure the execution latency of the at least one first command based on a time duration between the at least one first command being retrieved from a queue for execution and completion of execution of the at least one first command in a data storage system associated with the data storage device.   
     
     
         6 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 retrieve data from an address specified in the at least one first command based on execution of the at least one first command.   
     
     
         7 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 train the predictive model by adjusting at least one parameter in the predictive model to reduce a difference between a first prediction associated with identifying the at least one second command and a second prediction associated with the at least one third command identified from latency data in a training data set.   
     
     
         8 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 classify the at least one second command as a high impact command or a low impact command after identifying the at least one second command that causes greater than the threshold amount of increase in the execution latency.   
     
     
         9 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 capture at least one pattern of latency impacts of different types of commands on other commands by utilizing a training set of commands that represent a workload of a data storage system associated with the data storage device.   
     
     
         10 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 load data in preparation for execution of the at least one first command in a manner to spread latency impact of the at least one first command among one or more other commands.   
     
     
         11 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 identify the at least one second command based on a determination that that the at least one second command has been executed concurrently with the at least one the first command.   
     
     
         12 . The data storage device of  claim 1 , wherein the processing device is further configured to:
 provide the at least one first command as an input to the predictive model to facilitate generation of a prediction associated with the at least one third command.   
     
     
         13 . A method, comprising:
 receiving, by a processing device of a data storage device, an identification of a plurality of commands in a queue for execution in a data storage system;   providing, by the processing device of the data storage device, the plurality of commands as inputs to a predictive model;   identifying, by the processing device and the predictive model, at least one command of the plurality of commands for pre-fetching based on using the inputs;   retrieving, by the processing device, data to be used in execution of the at least one command; and   executing, by the processing device, the at least one command by utilizing the data.   
     
     
         14 . The method of  claim 13 , further comprising generating, by utilizing the predictive model, a prediction associate with the at least one command for pre-fetching. 
     
     
         15 . The method of  claim 13 , further comprising computing an average execution latency of different types of commands of the plurality of commands. 
     
     
         16 . The method of  claim 13 , further comprising storing the data to be used in execution of the at least one command in a buffer memory of the data storage device. 
     
     
         17 . The method of  claim 13 , further comprising measuring an execution latency of the at least one command based on a time duration between the at least first command being retrieved from the queue for execution and completion of execution of the at least one command. 
     
     
         18 . The method of  claim 13 , further comprising training the predictive model using the inputs. 
     
     
         19 . The method of  claim 13 , further comprising retrieving the at least one command from the queue for execution after retrieving the data. 
     
     
         20 . A system, comprising:
 a data storage device comprising;
 a memory; and 
 a processing device communicatively linked to the memory, and configured to:
 identify at least one first command queued for execution in a data storage device of the system; 
 determine an execution latency of the at least one first command associated with execution of the at least one first command; 
 determine at least one second command that having an impact on the execution latency associated with the at least one first command; 
 determine, by utilizing a predictive model, at least one third command based on the at least one first command; 
 reducing a difference between the at least one second command and the at least one third command; and 
 train the predictive model based on determining the at least one third command.

Join the waitlist — get patent alerts

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

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