Shared Peripheral Controller for Multi-OS Multi-Processor Data Paths

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-processor devices with different operating systems cannot simultaneously control the same peripheral device due to limitations in peripheral controller allocation, leading to inefficiencies in data transmission and reception.

Innovation Solution

A system and method allowing multiple processors to share a peripheral controller by allocating memory for transmit and receive descriptions and buffers, enabling data transmission and reception through a specific transmission interface, with one processor controlling the peripheral while others informally utilize shared resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a peripheral controller is allocated to only one processor at a time, then control simplicity is maintained, but resource utilization and system productivity are reduced

Engineering Contradiction:
Improvecontrol simplicityVSAvoidresource utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The peripheral controller's allocation is made dynamic rather than static. The system allows the peripheral controller to be allocated to different processors based on real-time needs, with the primary processor managing the controller during its operation and enabling secondary processors to access it when needed, thus achieving both operational simplicity and resource utilization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The peripheral controller is designed to serve multiple processors universally. Instead of dedicating the controller to a single processor, the system enables multiple processors to share and access the same peripheral controller through defined protocols, making the controller multi-functional for different processing tasks

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

2Adaptability or versatility

If multiple processors simultaneously control the same peripheral device, then resource sharing capability is improved, but system complexity and control difficulty increase

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The primary processor acts as an intermediary between the peripheral controller and secondary processors. When secondary processors need to use the peripheral controller, they do so through the primary processor which manages the controller's operation, thus enabling resource sharing without directly increasing controller complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The control functionality is segmented into primary and secondary roles. The primary processor handles direct controller management while secondary processors access the controller through defined interfaces and protocols, dividing the control complexity into manageable segments

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If processors operate independently on different operating systems, then system adaptability is improved, but coordination difficulty and control complexity increase

Engineering Contradiction:
Improveoperating system compatibilityVSAvoidcoordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system establishes a universal coordination mechanism that works across different operating systems. The primary processor serves as a universal interface that can coordinate with secondary processors running different OS, enabling multi-OS compatibility without increasing individual processor complexity

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

Solution Approach 2:

The system implements feedback mechanisms where the primary processor monitors and coordinates the activities of secondary processors. Through interrupt handling and status monitoring, the system maintains coordination across different operating systems with manageable complexity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12613705B2Multi-processor device, data processing system and peripheral controller sharing method
Publication Date: 2026.04.28 NUVOTON
  • US12613705B2 patent drawing
  • US12613705B2 patent drawing
  • US12613705B2 patent drawing

AI summary

A multi-processor device comprises more than two processors. The multi-processor device can make the two processors running different operating systems (for example, Linux, real-time operating system (RT OS) or non-operating system (non-OS)) share one peripheral controller by allocating transmit descriptions, receive descriptions, transmit buffers corresponding to the transmit descriptions and receive buffers corresponding to the receive descriptions of the two processors in a shared memory. The peripheral device can process the data associated with the two processors. In one embodiment, the peripheral controller can be an Ethernet controller, and the peripheral device is an Ethernet network card.