Storage Controller Pre-fetching via Read Command Pattern Indexing

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 predict non-sequential data access patterns, leading to inefficient data retrieval and increased power consumption.

Innovation Solution

A method and system that utilize a controller to generate a search sequence from current and prior read commands, calculate an index value, and retrieve historical data to pre-fetch data from a non-volatile memory, using techniques like hash functions and modulo operations to predict and pre-fetch data before actual read commands are received, optimizing data access in random read modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional pre-fetch techniques are used for random read requests, then the storage device attempts to pre-fetch data, but the prediction accuracy deteriorates leading to incorrect data pre-fetching

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidprediction accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary analysis of historical read command patterns before executing pre-fetch operations. By examining sequences of prior read commands and identifying access patterns, the system predicts future read locations with higher accuracy before actually pre-fetching data, ensuring that pre-fetching occurs only when prediction confidence is sufficient.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where actual read command outcomes are fed back into the pattern recognition algorithm. This allows the system to continuously refine its prediction models by comparing predicted vs. actual read patterns, improving prediction accuracy over time and reducing incorrect pre-fetch operations.

Inventive Principle:
Principle #23Feedback

2Speed

If pre-fetch operations are performed for random read commands, then data retrieval may be accelerated, but power consumption increases due to unnecessary pre-fetching

Engineering Contradiction:
Improvedata access speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

Instead of performing full pre-fetch operations for all random read commands, the system applies pre-fetching selectively based on pattern recognition confidence levels. When access patterns indicate high probability of future reads at predicted locations, pre-fetch operations are executed partially or fully. When patterns are uncertain, the system reduces or eliminates pre-fetching, thereby reducing power consumption while maintaining speed benefits where applicable.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically adjusts pre-fetch parameters such as pre-fetch size, timing, and activation threshold based on observed access patterns and prediction confidence. By changing these parameters adaptively, the system optimizes the balance between data access speed and power consumption, executing larger pre-fetch operations only when pattern confidence is high and reducing pre-fetch activity when patterns are unpredictable.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If the storage device waits for the next read command to arrive before retrieving data, then power consumption is reduced, but latency increases

Engineering Contradiction:
Improvepower consumptionVSAvoidread latency
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system performs preliminary pattern recognition and prediction analysis during idle periods before actual read commands arrive. By pre-analyzing historical access patterns and predicting future read locations in advance, the system can initiate data retrieval operations earlier than traditional methods, reducing latency without requiring continuous power consumption for monitoring every incoming command.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses its own historical read command data to generate predictions and trigger pre-fetch operations autonomously. Rather than requiring external control signals or continuous host communication, the pattern recognition mechanism serves itself by automatically analyzing its own access history and initiating appropriate data retrieval actions, thereby reducing latency without proportionally increasing power consumption.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10642502B2System and method for prediction of read commands to non-sequential data
Publication Date: 2020.05.05 SANDISK TECHNOLOGIES LLC
  • US10642502B2 patent drawing
  • US10642502B2 patent drawing
  • US10642502B2 patent drawing

AI summary

Systems and methods for predicting read commands and pre-fetching data when a memory device is receiving random read commands to non-sequentially addressed data locations are disclosed. A limited length sequence of prior read commands is generated and that search sequence is then converted into an index value in a predetermined set of index values. A history pattern match table having entries indexed to that predetermined set of index values contains prior read commands that have previously followed the search sequence represented by the index value. The index value is obtained via application of a many-to-one algorithm to the search sequence. The index value obtained from the search sequence may be used to find, and pre-fetch data for, a next read command in the table that previously followed a search sequence having that index.