Virtualized I/O Device Control and Data Plane Separation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor computing systems, integrating virtualized devices with shared hardware resources into System-on-a-Chip (SoC) increases complexity, power consumption, and test complexity due to the need for dedicated hardware to manage control and data functions.

Innovation Solution

A method and apparatus where a processor executes instructions for both control and data functions, with a communication unit handling interrupts and managing access to shared hardware resources, allowing separation of control and data functions within a virtualized device integrated into an SoC, thereby simplifying circuitry and reducing complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dedicated hardware is integrated into SoC to manage control and data functions of virtualized devices, then system performance is improved, but device complexity and power consumption increase

Engineering Contradiction:
Improvesystem performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the virtualized device functions into control plane functions and data plane functions. The control plane functions (management, configuration, interrupt handling) are separated from data plane functions (data processing, communication). This segmentation allows the control plane to be virtualized and shared across multiple guests, while the data plane maintains dedicated hardware acceleration, thus improving performance without proportionally increasing complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control plane functions are designed to be universal and shared across multiple virtual guests. A single control plane instance can manage multiple data plane instances, allowing one set of control hardware to serve multiple purposes and multiple guests, thereby reducing overall device complexity while maintaining performance through efficient resource sharing.

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

2Productivity

If dedicated hardware is integrated into SoC to manage control and data functions of virtualized devices, then system performance is improved, but power consumption increases

Engineering Contradiction:
Improvesystem performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

By segmenting control plane and data plane functions, the patent enables the control plane to be shared across multiple guests through virtualization. This allows the system to use dedicated hardware acceleration for data processing when needed (improving performance) while sharing control resources to reduce overall power consumption compared to having fully dedicated hardware for each guest.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control plane is designed to continuously manage multiple data plane instances and guests, maintaining system performance through efficient resource allocation and scheduling. This continuous management allows the system to optimize power usage by keeping control hardware active and efficiently managing data plane resources, rather than repeatedly initializing and deactivating dedicated hardware for each operation.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If dedicated hardware is integrated into SoC to manage control and data functions of virtualized devices, then system performance is improved, but test complexity increases

Engineering Contradiction:
Improvesystem performanceVSAvoidtest complexity
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The segmentation of control plane and data plane functions creates distinct, modular components that can be tested independently. The control plane can be tested for its virtualization and resource management capabilities, while data plane functions can be tested for their data processing performance. This modular testing approach reduces overall test complexity compared to testing fully integrated dedicated hardware systems.

Inventive Principle:
Principle #1Segmentation

4Device complexity

If control and data functions are separated in virtualized devices, then device complexity is reduced, but ease of operation may be affected

Engineering Contradiction:
Improvedevice complexityVSAvoidease of operation
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The control plane acts as an intermediary between the virtualized guests and the data plane hardware. It provides a simplified interface for guests to access data processing functions while managing the complexity of hardware resource allocation, configuration, and coordination behind the scenes. This intermediary approach reduces device complexity from the guest perspective while maintaining ease of operation through abstracted interfaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10853303B2Separation of control and data plane functions in SoC virtualized I/O device
Publication Date: 2020.12.01 ORACLE INT CORP
  • US10853303B2 patent drawing
  • US10853303B2 patent drawing
  • US10853303B2 patent drawing

AI summary

An apparatus and method for controlling a virtualized endpoint device are disclosed. A processor may be configured to execute instructions included in multiple execution threads. A first device may be configured to perform multiple command and data functions, and a communication unit may include a first port coupled to the first device via a first link and be configured to send instructions from the processor to the first device via the first link using a first communication protocol. The processor may be further configured to execute first and second sets of commands included in respective execution threads. The first set of commands may be associated with the plurality of command functions and the second set of commands may be associated with the plurality of data functions.