Memory Bus Interface for High-Bandwidth Co-Processor I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face communication bottlenecks due to the lower bandwidths of I/O buses, which restrict the performance of co-processors and I/O devices that operate at faster speeds, necessitating a method to interface these devices through the main memory system for enhanced I/O capabilities.

Innovation Solution

The system connects co-processors or I/O devices directly to the main memory bus, allowing them to communicate at higher bandwidths, similar to the main memory bus, thereby bypassing traditional I/O bus limitations, using a TeraDIMM architecture that integrates non-volatile memory into the DDR memory channel and appears as a standard DIMM to the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If co-processors and I/O devices interface via the I/O bus, then device compatibility and system simplicity are maintained, but data bandwidth and communication speed are limited

Engineering Contradiction:
Improvedata bandwidthVSAvoidbus interface complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The I/O device is designed to support multiple interface modes, including both the traditional I/O bus interface and the memory bus interface. This allows the same device to operate in different bandwidth modes depending on system configuration, achieving high speed when needed while maintaining compatibility with existing systems.

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

Solution Approach 2:

A memory interface controller acts as an intermediary between the I/O device and the memory bus. This controller handles the complex protocol conversions and signal mappings, allowing the I/O device to access the high-bandwidth memory bus without requiring direct integration into the memory subsystem.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If co-processors and I/O devices interface via the I/O bus, then system architecture simplicity is maintained, but communication bottlenecks occur for high-speed applications

Engineering Contradiction:
ImproveI/O performanceVSAvoidmemory system integration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically selects between I/O bus and memory bus interfaces based on the specific I/O device being accessed and the required data transfer rate. This dynamic adaptation allows high-performance devices to utilize the memory bus while standard devices continue using the I/O bus, optimizing overall system productivity without forcing complex integration on all devices.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The I/O subsystem is segmented into multiple interface pathways: traditional I/O bus connections for standard devices and memory bus connections for high-performance devices. This segmentation allows the system to provide enhanced I/O performance for specific applications without requiring complete redesign of the entire I/O subsystem.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If the memory bus is used for I/O devices, then data bandwidth is increased, but bus contention and control complexity increase

Engineering Contradiction:
Improvedata transfer capacityVSAvoidbus control mechanism
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The memory interface controller implements feedback mechanisms to monitor bus utilization and coordinate access requests. This feedback system manages bus contention by prioritizing transactions and coordinating between memory operations and I/O operations, allowing high data transfer capacity while maintaining controlled bus access.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary configuration and resource allocation for memory bus access before actual data transfer begins. This includes pre-negotiating bandwidth allocation, setting up buffer memory, and configuring interrupt handlers, which reduces control complexity during actual high-speed data transfer operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11789662B2System and method of interfacing co-processors and input/output devices via a main memory system
Publication Date: 2023.10.17 RAMBUS INC
  • US11789662B2 patent drawing
  • US11789662B2 patent drawing
  • US11789662B2 patent drawing

AI summary

A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.