Persistent Memory Controller Latency Reduction via Address Relationship Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Persistent memory systems face high latency issues due to the difficulty in predicting and prefetching data references, especially in operations involving linked lists or graphs, as conventional prefetchers struggle with spatial access locality and repeatability of addresses.

Innovation Solution

Implementing a memory controller that stores and retrieves relationships between addresses in persistent memory, using techniques like trace identifiers and hash tables to prefetch data, thereby improving latency by anticipating data access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional prefetchers are used to access persistent memory, then data access can be performed, but latency remains high due to inability to predict and prefetch data references in operations like linked lists or graphs

Engineering Contradiction:
ImprovelatencyVSAvoidpredictability of data references
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by storing relationship information (such as trace identifiers and hash table entries) in persistent memory in advance. This allows the memory controller to retrieve pre-stored relationships and prefetch data before it is actually needed, thereby reducing latency without requiring complex real-time prediction algorithms.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If relationship information is stored in persistent memory to enable prefetching, then latency is reduced, but memory space is consumed for storing relationship data

Engineering Contradiction:
ImprovelatencyVSAvoidmemory space
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent applies local quality by making the persistent memory bit-addressable rather than using traditional block-based addressing. This allows relationship information to be stored at the precise granularity needed, minimizing the amount of memory space consumed while enabling efficient prefetching operations. The bit-addressable nature allows storing only the necessary relationship data without wasting space on block overhead.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If bit-addressable persistent memory is used to store relationship information, then prefetching accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveprefetching accuracyVSAvoidmemory addressing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces a memory controller as an intermediary between the processor and persistent memory. This controller handles the complexity of bit-addressable operations, trace identifier management, and hash table lookups, thereby enabling high prefetching accuracy without requiring the processor itself to become more complex. The memory controller absorbs the addressing complexity while providing simple interfaces to the processor.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10169245B2Latency by persisting data relationships in relation to corresponding data in persistent memory
Publication Date: 2019.01.01 INTEL CORP
  • US10169245B2 patent drawing
  • US10169245B2 patent drawing
  • US10169245B2 patent drawing

AI summary

A processor or system may include a memory controller to store, in a pre-allocated portion of bit-addressable, random access persistent memory (PM), a relationship between a group of addresses being stored in the PM according to a set of instructions when executed. The memory controller is further to retrieve the relationship when accessing an address from the groups of addresses.