Memory Subsystem Data Graph for Read Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory sub-systems face challenges in predicting data block access patterns, leading to increased latency in read operations due to difficulty in detecting and utilizing patterns of data block requests from the operating system and various applications.

Innovation Solution

A data graph is created with nodes representing data blocks and edges indicating the order of access, where edge values are assigned based on spatial and temporal characteristics to predict future requests, enabling pre-fetching and migration of data between slower and faster memory components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional memory sub-systems store data without predicting access patterns, then data storage is simple, but read operation latency increases

Engineering Contradiction:
Improveread operation latencyVSAvoiddata graph structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by predicting future data block requests using a data graph structure and pre-fetching data blocks before they are actually requested. The controller creates a data graph with nodes representing data blocks and edges representing access patterns, then uses this graph to predict and pre-fetch data blocks proactively, reducing read operation latency by having data ready before it is needed.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If data blocks are pre-fetched based on access patterns, then read latency is reduced, but the complexity of detecting and utilizing patterns increases

Engineering Contradiction:
Improveread operation latencyVSAvoiddata block request pattern detection
Core Design Contradiction:
Loss of timeVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements feedback by continuously monitoring actual data block requests and updating the data graph structure based on observed access patterns. The controller compares predicted access patterns against actual requests, refines the edge values in the data graph to better reflect real access behavior, and uses this feedback to improve future predictions, making pattern detection more accurate over time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The data graph structure serves itself by automatically learning and adapting to access patterns through continuous updates. The system uses its own operational data to refine its prediction model, with the data graph evolving based on actual access behavior observed during system operation, eliminating the need for external pattern analysis tools.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If edge values in data graph are updated based on each access, then prediction accuracy improves, but processing overhead increases

Engineering Contradiction:
Improveaccess pattern prediction accuracyVSAvoidedge value update processing
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system applies partial action by selectively updating only the specific edge values in the data graph that are directly affected by each data block access, rather than recalculating the entire data graph structure. This targeted approach refines prediction accuracy for accessed data blocks while minimizing unnecessary processing overhead on unrelated parts of the data graph.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11630594B2Storing data based on a probability of a data graph
Publication Date: 2023.04.18 MICRON TECHNOLOGY INC
  • US11630594B2 patent drawing
  • US11630594B2 patent drawing
  • US11630594B2 patent drawing

AI summary

A graph can be generated based on an access pattern associated with blocks of a memory device that have been accessed by a host system, wherein the graph comprises nodes representing at least a subset of the blocks that have been accessed by the host system and edges that are based on the access pattern, wherein each edge is associated with a respective probability value between a respective pair of nodes. A number of edges having respective probability values that satisfy a probability value threshold criterion can be determined. It can be determined whether the number of edges satisfies a decayed edge value condition. In response to determining that the number of edges does not satisfy the decayed edge value condition, the graph can be removed.