Command Buffer Interface for High-Bandwidth Memory-Based 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, limiting the performance of co-processors and I/O devices that operate at faster speeds, necessitating a method to interface them via the main memory system for enhanced I/O capabilities and performance.

Innovation Solution

A system and method that interfaces co-processors or I/O devices through the main memory system by using a command buffer with a buffer check logic to determine command completeness and provides the command to a memory controller, which then sends it via a memory bus interface, allowing for higher bandwidth and lower latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If co-processors and I/O devices interface via the I/O bus, then the system maintains traditional architecture and compatibility, but the lower bandwidth of the I/O bus creates communication bottlenecks that limit performance

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

Solution Approach 1:

The memory controller is designed to handle multiple types of operations through a unified interface. It can process both traditional memory access commands and co-processor/I/O device commands through the same memory bus, eliminating the need for separate I/O bus infrastructure and enabling high-speed access to diverse devices

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

Solution Approach 2:

The patent introduces a command buffer as an intermediary component between the host memory controller and co-processors/I/O devices. This command buffer receives commands from the host, stores them temporarily, and manages their execution, facilitating communication between the high-speed memory system and various I/O devices without requiring a separate I/O bus

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If the I/O bus is used for communication, then the system maintains simplicity in interface design, but the bandwidth limitation creates bottlenecks for fast-operating co-processors and I/O devices

Engineering Contradiction:
Improvedata transfer rateVSAvoidmemory system integration
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges the I/O device interface functionality into the existing memory controller. By combining memory management and I/O device communication functions into a single controller that operates over the memory bus, the system achieves high-speed data transfer without adding separate I/O bus infrastructure

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory controller is designed to perform multiple functions: traditional memory access, co-processor communication, and I/O device interfacing. This multi-functional approach enables high-speed operation across all device types while utilizing the existing high-bandwidth memory bus infrastructure

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

3Loss of time

If a command buffer is implemented in the memory system, then higher bandwidth and lower latency are achieved for co-processors and I/O devices, but the device complexity and buffer management overhead increase

Engineering Contradiction:
ImprovelatencyVSAvoidbuffer management
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The command buffer pre-stores commands received from the host memory controller before they need to be executed by co-processors or I/O devices. This preliminary storage action allows devices to retrieve commands at their own pace without waiting for host controller availability, reducing latency and enabling asynchronous operation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The command buffer is designed to autonomously manage command storage and retrieval operations. It automatically determines when commands are complete using buffer check logic and provides them to the appropriate devices without requiring complex host controller intervention, reducing management overhead

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9552175B2System and method for providing a command buffer in a memory system
Publication Date: 2017.01.24 RAMBUS INC
  • US9552175B2 patent drawing
  • US9552175B2 patent drawing
  • US9552175B2 patent drawing

AI summary

A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system is configured to receive a command from a host memory controller of a host system and store the command in a command buffer entry. The system determines that the command is complete using a buffer check logic and provides the command to a command buffer. The command buffer comprises a first field that specifies an entry point of the command within the command buffer entry.