Heterogeneous Memory Interleaving for Unified Bandwidth Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in efficiently utilizing the full memory bandwidth of heterogeneous memory targets due to tiered memory approaches that separate memory types into distinct address spaces, limiting applications from exploiting the combined bandwidth and placing a burden on OS/VMM scheduling.

Innovation Solution

Interleaving heterogeneous memory targets, such as DDR5 and CXL, into a single continuous software-visible address range, allowing applications to access the full memory bandwidth and simplifying OS/VMM scheduling by uniformly scheduling applications across the interleaved memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tiered memory approaches separate memory types into distinct address spaces, then memory management is simplified, but applications cannot exploit the combined bandwidth of heterogeneous memory targets

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidaddress space configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges heterogeneous memory targets (DDR5, CXL, HBM) into a single unified address space, allowing applications to access all memory types through continuous address ranges. This combining approach enables full bandwidth exploitation by eliminating the fragmentation caused by separate address spaces while maintaining manageable configuration through systematic address allocation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified address space serves multiple functions simultaneously: it provides a common access interface for all applications, enables bandwidth aggregation across heterogeneous memory types, and maintains compatibility with existing memory management mechanisms. This universal address space acts as a multi-functional layer that reconciles the need for both simplicity and performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of operation

If tiered memory approaches are used, then memory targets of the same type can be managed uniformly, but OS/VMM scheduling becomes burdened with complex scheduling decisions

Engineering Contradiction:
Improveapplication schedulingVSAvoidscheduling overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The unified address space acts as an intermediary layer between applications and heterogeneous memory targets. Instead of requiring the OS/VMM to make complex scheduling decisions about which memory type to use, the unified address space automatically routes memory accesses to appropriate memory targets based on address patterns, thereby simplifying OS/VMM scheduling while maintaining uniform management capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If separate address ranges are configured for different memory types, then memory targets can be individually accessed, but memory accesses are not evenly distributed across targets

Engineering Contradiction:
Improvememory throughputVSAvoidmemory access distribution
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The unified address space is segmented into sub-ranges that map to different heterogeneous memory targets. This segmentation strategy ensures that memory accesses are evenly distributed across all available memory targets by allocating specific address ranges to specific memory types, thereby maximizing throughput while maintaining simple access patterns for applications.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12511244B2Interleaving of heterogeneous memory targets
Publication Date: 2025.12.30 INTEL CORP
  • US12511244B2 patent drawing
  • US12511244B2 patent drawing
  • US12511244B2 patent drawing

AI summary

An apparatus comprising a first memory interface of a first type to couple to at least one first memory device; a second memory interface of a second type to couple to at least one second memory device; and circuitry to interleave memory requests targeting contiguous memory addresses among the at least one first memory device and the at least one second memory device.