Context-Aware Prefetch in Disaggregated Memory Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current semiconductor memory systems face challenges in increasing memory capacity while maintaining low latency and high interconnect bandwidth, particularly in disaggregated memory systems where latency issues hinder efficient data access across distributed memory systems.

Innovation Solution

Implementing a context-aware prefetch method in disaggregated memory systems, where context values are used to classify memory access for multiple workloads, allowing the memory system to independently manage context tables and access logs, generate access patterns, and select prefetch targets, thereby reducing latency and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory capacity is increased in disaggregated memory systems, then more data can be stored, but latency increases and interconnect bandwidth is reduced

Engineering Contradiction:
Improvememory capacityVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs prefetch operations by predicting future memory access patterns and pre-loading data into the buffer memory before actual access requests arrive. The memory management device analyzes access logs and context information to identify prefetch targets, transmitting prefetch data in advance to reduce latency when data is actually needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The disaggregated memory system is divided into multiple independent components: accelerator memory with buffer memory, memory management device, and host device. Each component operates semi-independently, allowing parallel processing of multiple workloads and reducing contention for shared resources, thereby maintaining lower latency even as total memory capacity increases.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple workloads are supported in disaggregated memory systems, then system versatility increases, but managing context and access patterns becomes more complex

Engineering Contradiction:
Improvemulti-workload supportVSAvoidcontext management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system maintains separate context information and access logs for different workloads, allowing each workload to have its own optimized prefetch patterns and memory access characteristics. The memory management device can selectively apply different context values and prefetch strategies based on the specific workload being served, managing complexity through localized rather than global management.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The memory management device automatically manages context tables and access logs by analyzing actual memory access patterns and updating prefetch predictions without requiring manual intervention. The system self-adapts to changing workload characteristics by continuously monitoring access logs and adjusting context information, reducing the operational complexity of managing multiple workloads.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12153523B2Method of operating disaggregated memory system for context-aware prefetch and disaggregated memory system preforming the same
Publication Date: 2024.11.26 SAMSUNG ELECTRONICS CO LTD
  • US12153523B2 patent drawing
  • US12153523B2 patent drawing
  • US12153523B2 patent drawing

AI summary

A method of operating a disaggregated memory system includes receiving memory management requests from a host device, the memory management requests including context values having different values for plural workloads. The context values are transmitted to an accelerator memory including memory regions to set the context values for the memory regions based on the memory management requests. Prefetch target data is determined based on a context table and a memory access log, and prefetch information associated with the prefetch target data is transmitted to the accelerator memory. The context table includes the context values, and the memory access log is associated with the accelerator memory. The prefetch information is stored in a prefetch target buffer included in the accelerator memory.