Virtualized I/O Device Integration in SoC via Communication Unit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor computing systems, integrating a virtualized device into a System-on-a-Chip (SoC) increases area, power consumption, and test complexity due to the need for dedicated hardware to manage shared hardware resources among multiple threads and Guest Operating Systems.

Innovation Solution

A communication unit is used to detect access requests from processors and send instructions to devices via different communication protocols, allowing for the integration of virtualized devices into SoCs while minimizing area and power impact by using a communication unit with multiple ports and protocols to manage shared hardware resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dedicated hardware is added to manage shared hardware resources among multiple threads and Guest Operating Systems, then device control capability is improved, but area, power consumption, and test complexity increase

Engineering Contradiction:
Improvedevice control capabilityVSAvoidarea and power consumption
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The communication unit is designed with multi-functionality to handle multiple communication protocols (PCI, PCI-X, PCI Express, CXL) and manage shared hardware resources for multiple threads and Guest Operating Systems simultaneously. This universal design allows a single communication unit to perform what would traditionally require multiple dedicated hardware components, thereby improving device control capability while minimizing increases in area and power consumption.

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

2Adaptability or versatility

If dedicated hardware is added to manage shared hardware resources among multiple threads and Guest Operating Systems, then device control capability is improved, but test complexity increases

Engineering Contradiction:
Improvedevice control capabilityVSAvoidtest complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The communication unit's universal design that supports multiple communication protocols and management functions simultaneously reduces the number of separate hardware components needed, thereby reducing overall test complexity despite the enhanced device control capability.

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

3Productivity

If multiple communication protocols are supported in a single communication unit, then hardware resource sharing efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvehardware resource sharing efficiencyVSAvoidcommunication unit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple communication protocol handlers (PCI, PCI-X, PCI Express, CXL) are merged into a single communication unit. This consolidation allows the system to support multiple protocols and efficiently share hardware resources among multiple threads and Guest Operating Systems while avoiding the need for separate dedicated hardware for each protocol, thereby improving hardware resource sharing efficiency while minimizing increases in device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10860520B2Integration of a virtualized input/output device in a computer system
Publication Date: 2020.12.08 ORACLE INT CORP
  • US10860520B2 patent drawing
  • US10860520B2 patent drawing
  • US10860520B2 patent drawing

AI summary

A system that allows access to a virtualized device is disclosed. The system may include a device, a processor, and a communication unit coupled to the device via a communication link. The device may include hardware resources configured to be shared by multiple threads executing on the processor. The communication unit may be configured to detect a request to access the device by the processor. In response to the detection of the request, the communication unit may send one or more instructions to the device via the communication link using a communication protocol.