Predictive Data Pre-fetching for Storage Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Infrastructure commands in data storage systems often cause unexpected increases in latency for other commands, as they consume resources, leading to random delays in their execution.

Innovation Solution

A predictive model is trained using machine learning techniques to identify high-impact infrastructure commands, allowing data to be pre-fetched from non-volatile storage to buffer memory, reducing the impact of these commands on other operations by utilizing spare resources and distributing their impact across concurrent commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If infrastructure commands are executed in a data storage system, then system maintenance and management functions are performed, but latency for other commands increases due to resource consumption

Engineering Contradiction:
Improvesystem maintenance functionVSAvoidcommand execution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-fetching data to buffer memory before infrastructure commands are executed. The controller predicts which data will be needed and proactively loads it into the buffer, so when infrastructure commands consume resources, the data is already available and doesn't cause latency delays for other commands.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If data is pre-fetched from non-volatile storage to buffer memory, then command execution latency is reduced, but additional memory resources are consumed

Engineering Contradiction:
Improvecommand execution latencyVSAvoidbuffer memory usage
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system applies partial action by selectively pre-fetching only the necessary data portions rather than loading everything. The predictive model identifies specific data that will be needed by infrastructure commands, and only that data is fetched to the buffer, optimizing the balance between reducing latency and conserving buffer memory resources.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If a predictive model is used to identify high-impact infrastructure commands, then data pre-fetching accuracy improves, but device complexity increases

Engineering Contradiction:
Improvecommand impact prediction accuracyVSAvoidpredictive model complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The predictive model serves itself by continuously learning from the storage system's own operational patterns. It analyzes command execution histories and resource consumption patterns to automatically improve its predictions, eliminating the need for external complex analysis systems while maintaining high prediction accuracy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230393743A1Predictive data pre-fetching in a data storage device
Publication Date: 2023.12.07 MICRON TECHNOLOGY INC
  • US20230393743A1 patent drawing
  • US20230393743A1 patent drawing
  • US20230393743A1 patent drawing

AI summary

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.