Memory Bus Interface for High-Bandwidth Co-Processor I/O
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


