Memory Pre-fetch Chain Prediction for Random Read Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices face performance issues and increased power usage when handling random read requests, as traditional pre-fetch techniques are ineffective and may slow down the system by pre-fetching incorrect data during sequential read operations.

Innovation Solution

A method and system that utilize a read command history datastore to predict and pre-fetch data by generating a search sequence from current and prior read commands, calculating an index value to retrieve a predicted next read command, and pre-fetching data before receiving the next read command, thereby optimizing performance in random read modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional pre-fetch techniques are used for sequential read operations, then performance is improved for sequential reads, but performance deteriorates and power usage increases for random read requests

Engineering Contradiction:
Improveread throughputVSAvoidhandling of random read requests
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adapts its pre-fetch behavior based on the type of read request received. For sequential reads, traditional pre-fetch techniques are applied to improve throughput. For random reads, the system detects the random access pattern and disables or modifies pre-fetch operations to avoid performance degradation and unnecessary power consumption, thus achieving both high productivity and adaptability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters based on the read request pattern. When sequential access is detected, pre-fetch parameters are enabled with appropriate look-ahead distances. When random access is detected, pre-fetch parameters are adjusted or disabled, allowing the system to optimize performance and power usage for the specific access pattern being served

Inventive Principle:
Principle #35Parameter changes

2Speed

If pre-fetching is performed for random read commands, then data may be available sooner, but incorrect data is pre-fetched causing performance slowdown and increased power usage

Engineering Contradiction:
Improvedata retrieval speedVSAvoidpower usage
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system uses feedback from the read command pattern analysis to control pre-fetch operations. By monitoring whether reads are sequential or random, the system provides feedback to the pre-fetch engine to enable or disable pre-fetching appropriately, ensuring that pre-fetching only occurs when it will actually improve performance and not waste energy on incorrect data

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of the read command pattern before initiating pre-fetch operations. By detecting the access pattern in advance, the system can determine whether pre-fetching is appropriate, avoiding the waste of energy on incorrect pre-fetching while still enabling early data retrieval when conditions are favorable

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If pre-fetching is performed without accurate prediction, then data may be available earlier, but system resources are wasted on incorrect data retrieval

Engineering Contradiction:
Improvewait time for dataVSAvoideffective IOPS
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary pattern recognition on read commands to predict future access patterns before initiating pre-fetch operations. By analyzing the sequence of read commands and identifying patterns (such as sequential access or repeated access to specific regions), the system can accurately predict which data will be needed next, reducing wait time while avoiding waste of resources on incorrect pre-fetching

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from pattern recognition results to control pre-fetch operations. When patterns indicating future data needs are detected, pre-fetching is enabled to reduce wait time. When no predictable pattern is detected (as in truly random access), pre-fetching is disabled to avoid wasting system resources, thus maintaining effective productivity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10725781B1System and method for chain prediction of multiple read commands
Publication Date: 2020.07.28 SANDISK TECHNOLOGIES LLC
  • US10725781B1 patent drawing
  • US10725781B1 patent drawing
  • US10725781B1 patent drawing

AI summary

Systems and methods for pre-fetching data in a memory device are disclosed. The method includes generating a prior read command data structure and receiving a current read command. The method may include retrieving from the prior read command data structure a predicted next read command based on the received current read command, and pre-fetching data associated with the predicted next read command. The method may further include that after pre-fetching the data associate with the predicted next read command and prior to receiving a next read command, retrieving from the prior read command data structure a second predicted next read command based on the predicted next read command, and pre-fetching data associated with the second predicted next read command.