PCIe Virtual Register Configuration via Hardware-Software Mediation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing PCI Express configuration space management systems face challenges in efficiently supporting a large number of devices and resources due to the extensive use of physical registers, which occupy significant space on integrated circuits and limit the number of devices that can be supported, especially when dealing with dynamic changes in system configuration.

Innovation Solution

Implementing a hardware mechanism that detects register access requests and forwards them to a software-controlled entity for access to virtual registers, allowing for dynamic configuration and management of configuration space operations, thereby reducing the need for physical registers and enhancing scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If physical registers are used to manage configuration space for each device, then device capabilities and control functions are directly presented to software, but the number of registers required becomes excessively large, consuming significant IC area and limiting the number of supported devices

Engineering Contradiction:
Improvenumber of supported devicesVSAvoidnumber of registers
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements virtual registers that are copies or representations of physical registers in software memory. Instead of providing dedicated physical registers for each device function, the system creates virtual register mappings that software can access through memory operations. This allows multiple devices to share the same physical register infrastructure while maintaining device-specific configuration capabilities through software-controlled virtual address spaces.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a configuration space manager as an intermediary between hardware devices and software. This manager allocates virtual register spaces to devices dynamically, translating software register access requests into appropriate physical register operations. The intermediary layer abstracts the physical register infrastructure from software, enabling flexible device configuration without requiring dedicated physical registers for each device function.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If physical registers are allocated for each device function, then direct hardware control is achieved, but hardware area on integrated circuits increases significantly

Engineering Contradiction:
Improvehardware control capabilityVSAvoidIC area
Core Design Contradiction:
Ease of operationVSArea of stationary object

Solution Approach 1:

The patent creates virtual register copies in software memory that replicate the functionality of physical registers without occupying dedicated hardware space. These virtual registers provide software with direct control capabilities over device functions while the actual hardware control is mediated through a configuration space manager that translates software operations into appropriate hardware commands, eliminating the need for extensive physical register infrastructure.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical hardware register system with a software-based virtual register system. Instead of using physical registers distributed across the IC for each device function, the system uses memory-based virtual registers controlled by software. This substitution maintains the ease of direct hardware control that physical registers provide while dramatically reducing the hardware area required, as software memory is far more space-efficient than dedicated physical register circuits.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If traditional physical registers are used for configuration management, then system configuration is directly controllable, but dynamic changes in system configuration cannot be easily accommodated

Engineering Contradiction:
Improvedynamic configuration capabilityVSAvoidconfiguration management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic allocation and mapping of virtual register spaces to devices. The configuration space manager can dynamically assign virtual register ranges to different devices based on system configuration changes, allowing flexible reconfiguration without hardware modifications. Virtual register mappings can be created, modified, or removed dynamically as devices are added, removed, or reconfigured in the system, providing adaptability that static physical registers cannot achieve.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The configuration space manager acts as a dynamic intermediary that mediates between software configuration requests and hardware device states. It maintains a flexible mapping between virtual register spaces and physical device configurations, allowing software to dynamically change system configuration by modifying virtual register mappings rather than requiring direct hardware reconfiguration. This intermediary layer simplifies dynamic configuration management by abstracting the complexity of hardware reconfiguration behind a unified software-controlled interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7945721B1Flexible control and/or status register configuration
Publication Date: 2011.05.17 ORACLE AMERICAN INC
  • US7945721B1 patent drawing
  • US7945721B1 patent drawing
  • US7945721B1 patent drawing

AI summary

A register access request for control and/or status operations from a link is detected using a hardware mechanism and is forwarded to a software-controlled entity for access to a virtual register for control and/or status operations. The software-controlled entity can provide virtual registers in memory associated with the software-controlled entity. The hardware mechanism can form part of an interconnect device and the software-controlled entity is external to the interconnect device.