Memory Controller Interconnect for Data Exchange

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer systems face limitations in processor-to-memory bandwidth due to the exclusive connection of memory to the processor chip, which restricts efficient data exchange between memory controllers, especially in systems with multiple memory modules and I/O operations.

Innovation Solution

A device and method that connect multiple memory controllers directly via an interconnect, such as a memory ring, with each controller equipped with accelerators to facilitate data exchange and perform deterministic operations like garbage collection, data copying, and cache coherency protocols, allowing concurrent operations and bypassing processor involvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If memory is exclusively connected to the processor chip, then memory control is simplified, but processor-to-memory bandwidth is limited

Engineering Contradiction:
Improvememory control structureVSAvoidprocessor-to-memory bandwidth
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the memory control function by introducing separate memory controllers on individual memory modules, decoupling them from the processor chip. This allows multiple memory controllers to operate independently and concurrently, increasing overall memory bandwidth while simplifying the processor's control burden.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new communication dimension by establishing direct peer-to-peer connections between memory controllers through an interconnect fabric, bypassing the traditional processor-mediated path. This creates additional data exchange pathways that increase bandwidth without adding processor complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Extent of automation

If memory controllers are moved to separate chips on DIMMs, then memory autonomy is improved, but data exchange between memory controllers requires processor involvement

Engineering Contradiction:
Improvememory autonomyVSAvoiddata exchange efficiency
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The patent introduces an interconnect fabric as an intermediary communication channel between memory controllers, enabling direct data exchange without processor involvement. This mediator allows autonomous memory operations while maintaining system coherence.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the data exchange function from the processor's responsibility by providing dedicated interconnect pathways between memory controllers. This separation allows memory subsystems to operate autonomously for local operations while the processor focuses on computational tasks.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If memory modules are used in an interleaved way, then memory channel balancing is improved, but local memory operations are ruled out

Engineering Contradiction:
Improvememory channel balancingVSAvoidlocal memory operations
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent enables dynamic address mapping where memory addresses can be flexibly assigned to different memory modules. This dynamic allocation allows the system to switch between interleaved access patterns for balanced channel utilization and localized access patterns when data resides on a single module, optimizing for the specific operation type.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8972667B2Exchanging data between memory controllers
Publication Date: 2015.03.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8972667B2 patent drawing
  • US8972667B2 patent drawing
  • US8972667B2 patent drawing

AI summary

A device with an interconnect having a plurality of memory controllers for connecting the plurality of memory controllers. Each memory controller of the plurality of memory controllers is coupled to an allocated memory for storing data. Further, each memory controller of the plurality of memory controllers has one accelerator of a plurality of accelerators for mutually exchanging data over the interconnect.