Unified Memory Architecture for Processor In-Package and Platform Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, existing memory architectures face challenges with high latency and inefficiency due to the separation of memory types, particularly as form factors shrink, making it difficult to effectively utilize high-bandwidth in-package memory alongside traditional off-package memory.

Innovation Solution

The solution involves configuring both high-bandwidth memory (MCDRAM) and DDR memory as part of a unified memory space using Non-Uniform Memory Architecture (NUMA) mechanisms, allowing software to manage and allocate memory across these types seamlessly, with caching and hybrid modes to optimize performance and bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory is located outside the processor package (platform memory), then memory capacity is increased, but access latency increases

Engineering Contradiction:
Improvememory capacityVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The memory system is segmented into two distinct types: in-package memory (MCDRAM) and off-package memory (DDR). Each segment serves different purposes - MCDRAM provides low-latency access for critical data while DDR provides high capacity for bulk storage. The memory controller automatically segments memory allocations between these two types based on access patterns and requirements.

Inventive Principle:
Principle #1Segmentation

2Productivity

If in-package memory is used, then access bandwidth is increased, but memory management complexity increases

Engineering Contradiction:
Improvememory bandwidthVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service memory management where the memory controller automatically determines whether to allocate memory in MCDRAM or DDR based on workload characteristics, access patterns, and system state. Software can issue simple allocation requests without needing to manually manage the complexity of heterogeneous memory types, as the system self-adapts to optimize performance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The memory subsystem is designed with multi-functionality to handle both high-bandwidth MCDRAM and high-capacity DDR through a unified interface. The memory controller provides universal memory management capabilities that work seamlessly across both memory types, allowing software to treat them as a unified resource pool while maintaining optimized access paths.

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

3Productivity

If separate memory types are used (MCDRAM and DDR), then performance is improved for specific workloads, but software portability and ease of use deteriorate

Engineering Contradiction:
Improveworkload performanceVSAvoidsoftware portability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent merges MCDRAM and DDR into a unified memory space with a common address namespace. Software interacts with a single virtual memory pool without needing to know whether data resides in MCDRAM or DDR. The memory controller transparently manages the physical location of data, combining the benefits of both memory types while maintaining software portability and simplicity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11526440B2Providing multiple memory modes for a processor including internal memory
Publication Date: 2022.12.13 INTEL CORP
  • US11526440B2 patent drawing
  • US11526440B2 patent drawing
  • US11526440B2 patent drawing

AI summary

In one embodiment, a processor comprises: at least one core formed on a die to execute instructions; a first memory controller to interface with an in-package memory; a second memory controller to interface with a platform memory to couple to the processor; and the in-package memory located within a package of the processor, where the in-package memory is to be identified as a more distant memory with respect to the at least one core than the platform memory. Other embodiments are described and claimed.