Switching Apparatus for Shared I/O Link Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer architectures require a one-to-one correspondence between processing complexes, I/O interfaces, and I/O devices, making upgrades difficult and costly, especially in environments where increased I/O demands emerge, such as the need for faster network architectures.

Innovation Solution

A switching apparatus and method that separates processing complexes from I/O controllers/devices, allowing multiple processing complexes to share I/O resources through a common load-store fabric, with link training logic to initialize links transparently to operating systems, enabling shared I/O endpoints and controllers to be utilized without modifying existing hardware or software.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a one-to-one correspondence between processing complexes and I/O devices is maintained, then system simplicity and reliability are preserved, but adaptability and upgradeability deteriorate

Engineering Contradiction:
ImproveI/O upgradeabilityVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the traditional one-to-one mapping into a many-to-one relationship where multiple processing complexes are decoupled from individual I/O devices. The load-store fabric acts as an intermediary layer that separates processing complexes from I/O controllers, allowing independent scaling and upgrading of each component without affecting the others.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load-store fabric provides a universal interface that can accommodate multiple types of processing complexes and I/O devices simultaneously. This universal bus structure allows different I/O devices to be shared across multiple processing complexes, enabling the system to adapt to various I/O demands without requiring dedicated controllers for each processing complex.

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

2Reliability

If dedicated I/O controllers are provided for each processing complex, then reliability and performance are improved, but cost and device complexity increase

Engineering Contradiction:
ImproveI/O operation reliabilityVSAvoidnumber of I/O controllers
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple processing complexes are merged into a shared I/O environment through the load-store fabric, allowing them to access common I/O controllers and devices. This consolidation reduces the total number of I/O controllers required while maintaining reliable access for each processing complex through the standardized load-store interface.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The load-store fabric serves as an intermediary layer between processing complexes and I/O controllers, managing access and data transfer without requiring dedicated controllers for each processing complex. This mediator ensures reliable I/O operations while reducing the overall quantity of I/O controllers needed in the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If link initialization is performed for each operating system domain separately, then protocol compliance is ensured, but initialization time and complexity increase

Engineering Contradiction:
Improveprotocol complianceVSAvoidlink initialization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The link training logic performs preliminary initialization of the link between the shared I/O controller and the load-store fabric before operating system domains are established. By pre-configuring the physical link and basic protocol parameters, the system reduces the initialization overhead when multiple operating system domains need to access the shared I/O resources.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7698483B2Switching apparatus and method for link initialization in a shared I/O environment
Publication Date: 2010.04.13 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US7698483B2 patent drawing
  • US7698483B2 patent drawing
  • US7698483B2 patent drawing

AI summary

An apparatus has a first plurality of I/O ports, a second I/O port, and link training logic. The first plurality is coupled to a plurality of operating system domains through a load-store fabric. Each of the first plurality is configured to route transactions between the plurality of operating system domains and the switching apparatus. The second I/O port is coupled to a first shared input/output endpoint. The first shared input/output endpoint is configured to request/complete the transactions for each of the plurality of operating system domains. The link training logic is coupled to the second I/O port. The link training logic initializes a link between the second I/O port and the first shared input/output endpoint to support the transactions corresponding to the each of the plurality of operating system domains. The link is initialized in a manner that is transparent to the plurality of operating system domains.