CXL Memory Prefetching Using Host-Guided Expansion Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing host devices face challenges in accurately prefetching data from memory devices connected via CXL due to area limitations and varying latency caused by switches, leading to potential cache misses and inefficiencies.

Innovation Solution

A system comprising a host device and a memory expanding device, where the host device generates prefetch information and the memory expanding device determines prefetch addresses and times using advanced models, including machine learning, to accurately prefetch data, and the system includes a prefetching system, and the memory expanding device, and a memory expanding device, which includes a prefetch decision circuit to read and prefetch data based on prefetch information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If high accuracy prefetch logic is implemented inside the host device, then data prefetching accuracy is improved, but device area is excessively occupied

Engineering Contradiction:
Improveprefetching accuracyVSAvoidhost device area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent extracts the high accuracy prefetch logic from the host device and relocates it to the memory expanding device. The host device generates prefetch information and transmits it to the memory expanding device, which contains the prefetch logic circuit. This separation allows the host device to maintain low area occupation while the memory expanding device performs accurate prefetching operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a prefetch information transmission mechanism as an intermediary between the host device and memory expanding device. The host device generates prefetch information (including PC and memory address) and transmits it through the root complex to the memory expanding device, which then uses this information to perform accurate prefetching without requiring complex logic in the host device.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If data is prefetched too early, then prefetching is performed in advance, but data is removed by cache replacement policy

Engineering Contradiction:
Improveprefetch timingVSAvoiddata retention
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the memory expanding device transmits transmission latency information back to the host device. The host device uses this feedback to adjust prefetch timing, ensuring data is prefetched at the optimal moment - not too early to be evicted by cache replacement, and not too late to cause cache misses.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent makes the prefetch timing dynamic by adjusting it based on transmission latency. The system adapts prefetch timing to varying conditions (number of switches, device latency) rather than using fixed timing, allowing optimal prefetch moments to be determined dynamically for each access pattern.

Inventive Principle:
Principle #15Dynamics

3Productivity

If data is prefetched too late, then cache memory is utilized efficiently, but cache misses occur

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoidcache hit rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary prefetching actions based on predicted future data needs. The host device generates prefetch information based on program counter and memory address patterns, enabling the memory expanding device to prepare data in advance of actual access requests, ensuring data is ready in cache before needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses transmission latency feedback to fine-tune prefetch timing, ensuring data arrives in the cache at the precise moment needed for access. This feedback loop prevents both premature prefetching (which would cause eviction) and delayed prefetching (which would cause cache misses).

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If multiple switches exist between host device and memory device, then system flexibility is improved, but prefetching latency varies

Engineering Contradiction:
Improvesystem configuration flexibilityVSAvoidprefetching latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent makes the prefetch timing dynamic by adjusting it based on the actual number of switches and transmission latency measured in the system. The host device acquires device latency and switch level information during enumeration, then uses this to calculate and adjust prefetch timing dynamically, accommodating varying system configurations without performance degradation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the prefetch timing parameter based on transmission latency, which varies with the number of switches. By adjusting this key parameter dynamically, the system maintains optimal prefetch performance across different network configurations while preserving the flexibility to use multiple switches.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250378031A1Host device, memory expanding device and system for prefetching
Publication Date: 2025.12.11 PANMNESIA INC
  • US20250378031A1 patent drawing
  • US20250378031A1 patent drawing
  • US20250378031A1 patent drawing

AI summary

A system includes a host device, a memory expanding device, and a switch connecting the host device and the memory expansion device, wherein the host device includes a cache controller including a prefetch support circuit configured to generate prefetch information, a root complex configured to transmit the prefetch information to the memory expanding device and receive prefetch data from the memory expanding device, and one or more prefetch buffers storing the prefetch data, and the memory expanding device includes a memory device and a memory controller including a prefetch decision circuit configured to read the prefetch data from the memory device based on the prefetch information received from the host device and prefetch the prefetch data to the host device.