Predictive Read Pre-fetch for Random Access Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices face performance issues and increased power usage when handling random read requests, as traditional pre-fetch techniques often fail to provide advantages and may even hinder performance due to incorrect data pre-fetching in non-sequential read operations.

Innovation Solution

A system and method that predicts and pre-fetches data for random read requests by analyzing read command patterns, updating a read command history datastore, and pre-fetching data only when prediction accuracy meets a predetermined threshold, thereby optimizing resource usage and minimizing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional pre-fetch techniques are used for random read requests, then data may be pre-fetched in advance, but performance deteriorates and power usage increases due to incorrect data pre-fetching

Engineering Contradiction:
Improveread latencyVSAvoidIOPS
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary analysis of read command patterns and predicts future read requests before they arrive. By using a read command history datastore and pattern recognition, the system pre-fetches data in advance of actual read requests, but only when prediction confidence exceeds a threshold, thus avoiding wasted pre-fetch operations on random accesses

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring read command patterns and updating the read command history datastore. It compares predicted read requests against actual received requests to validate predictions and adjust pre-fetch behavior dynamically, ensuring that pre-fetch operations are performed only when they are likely to be beneficial

Inventive Principle:
Principle #23Feedback

2Loss of time

If traditional pre-fetch techniques are used for random read requests, then data may be pre-fetched in advance, but power consumption increases due to unnecessary pre-fetch operations

Engineering Contradiction:
Improveread latencyVSAvoidpower consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The system applies partial pre-fetch action by performing pre-fetch operations selectively rather than continuously. It uses a confidence threshold to determine whether to execute pre-fetch based on prediction accuracy, performing the action only when necessary and sufficient, thus avoiding excessive power consumption from unnecessary pre-fetch operations

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically adjusts pre-fetch behavior based on real-time analysis of read command patterns. The pre-fetch threshold and intensity are modified adaptively according to the observed access patterns, allowing the system to optimize power consumption by reducing pre-fetch activity during random access periods and increasing it during sequential access periods

Inventive Principle:
Principle #15Dynamics

3Productivity

If pre-fetch is performed for sequential read mode, then performance is improved by predicting next data location, but the technique provides no advantage and may slow down the device for random address groups

Engineering Contradiction:
ImprovethroughputVSAvoidcontrol logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system creates a universal pre-fetch mechanism that handles both sequential and random read patterns through a single integrated approach. The read command history datastore and pattern recognition engine serve multiple functions: they analyze access patterns, predict future requests, and dynamically adjust pre-fetch behavior to suit different access types, eliminating the need for separate control logic for sequential and random reads

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11010299B2System and method for performing discriminative predictive read
Publication Date: 2021.05.18 SANDISK TECHNOLOGIES LLC
  • US11010299B2 patent drawing
  • US11010299B2 patent drawing
  • US11010299B2 patent drawing

AI summary

Systems and methods for pre-fetching data in a memory device are disclosed. The method may include receiving a current read command and determining whether the current read command is a random read command, for example based on a data chunk length identified by the current read command. The method may further include updating a prior read command data structure with the current read command, for random read commands; determining a predicted next read command from the prior read command data structure based on the current read command; and pre-fetching data associated with the predicted next read command. Functionality for prediction of next read commands, or pre-fetch of predicted next read commands, may be turned on or off based on resource availability or prediction success rate measurements.