Main Memory Bus Interfacing for Co-Processor I/O Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face communication bottlenecks due to the lower bandwidths supported by traditional 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 and 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, enabling parallelism and scalability similar to CPU virtual memory systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

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

Engineering Contradiction:
ImproveI/O performanceVSAvoidbus interface complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by enabling the main memory bus to serve dual functions: its traditional role in connecting CPU to memory, and a new role in interfacing co-processors and I/O devices. The memory controller is enhanced to handle both memory operations and CPIO device communications through the same bus infrastructure, eliminating the need for separate I/O bus connections and thereby improving I/O performance while reducing overall system complexity.

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

2Speed

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

Engineering Contradiction:
Improvedevice operating speedVSAvoidcommunication efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent introduces the main memory bus as an intermediary between high-speed CPIO devices and the CPU. Instead of direct I/O bus connections that create bottlenecks, data from fast co-processors and I/O devices is routed through the high-bandwidth memory bus, which acts as a mediator capable of handling higher data rates. This resolves the bottleneck problem by providing a communication path that matches the speed capabilities of modern CPIO devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If separate I/O bus is used for CPIO devices, then device independence is maintained, but system bandwidth and parallelism are reduced

Engineering Contradiction:
Improvedevice independenceVSAvoiddata bandwidth
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges the I/O communication path with the memory bus infrastructure. Co-processors and I/O devices are integrated into the memory subsystem architecture, allowing them to share the high-bandwidth memory bus with memory operations. This combining of previously separate pathways (memory bus and I/O bus) into a unified high-speed interface increases available data bandwidth while maintaining device functionality through the memory controller's ability to manage multiple device types.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

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