Peripheral I/O Device Hybrid Gateway Coherent Domain
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional I/O models for peripheral devices lack integration with the cache-coherent shared-memory multiprocessor paradigm, leading to security and reliability issues due to vendor-specific device drivers and limited scalability, while also excluding I/O devices from the performance benefits of CPU communication.
Innovation Solution
A hybrid gateway in peripheral devices enables both I/O and coherent domains, allowing compute resources to be dynamically assigned between domains, facilitating direct CPU-to-CPU communication and efficient memory usage while maintaining traditional I/O model efficiencies for large memory transfers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional I/O device drivers are used for peripheral devices, then vendor-specific functionality is achieved, but security and reliability issues arise due to integration complexity with host software and hardware
Solution Approach 1:
The patent segments the peripheral device into two distinct domains: an I/O domain for traditional vendor-specific operations and a coherent domain for cache-coherent processing. This segmentation allows each domain to operate with its own optimized interface while isolating security and reliability concerns to specific domains rather than requiring full integration across the entire device.
Solution Approach 2:
The patent introduces a gateway as an intermediary between the I/O domain and coherent domain. This gateway handles protocol conversion and data transfer between the two domains, enabling the peripheral device to leverage benefits of both traditional I/O modeling and modern cache-coherent paradigms while maintaining security boundaries.
2Adaptability or versatility
If multiple I/O device drivers are integrated in the host computing system, then support for multiple devices is achieved, but device complexity and integration difficulty increase
Solution Approach 1:
The patent implements a universal coherent domain interface that can work with any peripheral device regardless of vendor-specific requirements. By providing a standard cache-coherent interface in addition to traditional I/O interfaces, the system achieves multi-device support without requiring separate integration pathways for each device type.
3Adaptability or versatility
If peripheral I/O devices use traditional I/O modeling, then vendor-specific operations are supported, but the devices are excluded from CPU communication performance benefits
Solution Approach 1:
The patent implements dynamic domain assignment where compute resources in the peripheral device can be dynamically assigned to either the I/O domain or coherent domain based on workload requirements. This dynamic flexibility allows the device to leverage high-performance cache-coherent communication for CPU-intensive tasks while maintaining traditional I/O operations for vendor-specific functions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Examples herein describe a peripheral I/O device (135) with a hybrid gateway (140) that permits the device to have both I/O (145) and coherent (160) domains. That is, the I/O device (135) can benefit from a traditional I/O model where the I/O device driver (125) manages some of the compute resources (150 A, 150B) in the I/O device (135) as well as the benefits of adding other compute resources (150C, 150D) in the I/O device (135) to the same coherent (160) domain used by the hardware in the host (105) computing system. As result, the compute resources (150C, 150D) in the coherent (160) domain of the peripheral I/O device (135) can communicate with the host (105) in a similar manner as, e.g., CPU-to-CPU communication in the host (105). At the same time, the compute resources (150a, 150B) in the 1/ O domain (145) can benefit from the advantages of the traditional 1/ O device model which provides efficiencies when doing large memory transfers between the host (105) and the I/O device (135) (e.g., DMA).