Main 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 supported by 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, eliminating bottlenecks by using a TeraDIMM architecture that integrates non-volatile memory into the memory channel, similar to SSDs, and employs a discovery boot loader and BIOS changes to initialize and configure these devices for optimal operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If co-processors and I/O devices interface via the I/O bus, then device compatibility and ease of connection are maintained, but communication bandwidth is limited causing performance bottlenecks

Engineering Contradiction:
ImproveI/O performanceVSAvoidinterface configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the main memory bus serve dual functions: its traditional role in connecting the CPU to system memory, and a new role as an I/O interface bus for co-processors and peripheral devices. This multi-functionality allows high-speed I/O operations without requiring separate dedicated I/O buses, thereby improving I/O performance while maintaining system simplicity.

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

Solution Approach 2:

The patent merges the I/O interface function with the main memory system by integrating I/O controllers and co-processor interfaces directly onto the memory bus. This consolidation eliminates the need for separate I/O bus infrastructure, allowing devices to operate at memory bus speeds and resolving the bandwidth limitation problem.

Inventive Principle:
Principle #5Merging (Combining)

2Speed

If co-processors operate at faster speeds, then processing capability is improved, but communication bottlenecks occur due to lower bandwidth I/O buses

Engineering Contradiction:
Improveco-processor operating speedVSAvoidcommunication throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent introduces the main memory bus as an intermediary communication channel between co-processors and the system. By routing co-processor communications through this high-bandwidth bus rather than traditional I/O buses, the system enables fast co-processor operations to maintain their speed advantage without encountering communication bottlenecks.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the main memory bus is used for I/O interfacing, then bandwidth is increased eliminating bottlenecks, but bus contention and configuration complexity may increase

Engineering Contradiction:
Improvedata transfer bandwidthVSAvoidmemory system configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the main memory bus into multiple transaction types or channels, allowing simultaneous CPU-memory operations and I/O operations to proceed without excessive contention. This segmentation strategy enables the bus to handle diverse traffic patterns efficiently, maintaining high bandwidth while managing complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10725704B2System and method of interfacing co-processors and input/output devices via a main memory system
Publication Date: 2020.07.28 RAMBUS INC
  • US10725704B2 patent drawing
  • US10725704B2 patent drawing
  • US10725704B2 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.