PCIe Firmware Updating Through Standard Configuration Space
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing firmware updating methods for PCIe interfaces are complex and require manufacturer-specific tools, making them impractical for operation and maintenance.
Innovation Solution
A method and apparatus that utilize the PCI configuration space to configure firmware updating capability, allowing firmware updates without driver software tools, applicable to various PCIe apparatuses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manufacturer-specific tools are used for firmware updating, then firmware updating can be performed, but the complexity increases and ease of operation deteriorates
Solution Approach 1:
The PCIe apparatus performs self-diagnosis and self-updating of firmware by utilizing its own configuration space and standard PCI commands. The apparatus autonomously determines update status, receives update information, and executes updates without requiring external manufacturer-specific tools, thereby improving ease of operation while maintaining reliability
Solution Approach 2:
The invention uses universal PCI configuration space and standard PCI commands (read-config, write-config) that can be executed by any host system with standard PCI support. This universal approach eliminates the need for manufacturer-specific proprietary tools, making the firmware updating process accessible to any authorized host while maintaining reliable update functionality
2Reliability
If manufacturer-specific tools are used for firmware updating, then firmware updating can be performed, but the device complexity increases
Solution Approach 1:
The invention extracts the firmware updating functionality from complex manufacturer-specific software tools and relocates it to the hardware level by using standard PCI configuration space and commands. This extraction simplifies the overall system complexity by eliminating the need for complex external updating tools while maintaining reliable firmware update capability through hardware-based mechanisms
Solution Approach 2:
The invention replaces complex software-based manufacturer-specific updating tools with a simpler hardware-based mechanism using standard PCI configuration space and commands. This substitution reduces device complexity by using fundamental PCI operations (read-config, write-config) instead of complex proprietary software systems, while maintaining reliable firmware updating functionality
3Ease of operation
If standard PCI configuration space is used for firmware updating, then ease of operation improves, but firmware updating capability may be compromised
Solution Approach 1:
The invention implements a feedback mechanism where the PCIe apparatus first reads its current configuration information to determine its update status. The host system receives this configuration information, processes it to determine whether an update is needed, and only then initiates the update process. This feedback loop ensures reliable firmware updating capability while maintaining ease of operation through standardized PCI commands
Solution Approach 2:
The invention performs preliminary actions by having the PCIe apparatus read and process its own configuration information before the actual firmware update occurs. The host system also preliminarily determines whether an update is necessary based on the configuration information received from the apparatus. This preliminary verification ensures reliable updating capability while maintaining simplicity through standard PCI read-config and write-config commands
Data Source
AI summary
An apparatus includes a Peripheral Component Interconnect (PCI) configuration space, and a processor. The processor is configured to receive one or more write commands comprising data related to a firmware; based on a firmware updating capability in the PCI configuration space, write the data related to the firmware to a first memory region corresponding to the firmware updating capability; receive an update command; and in response to the update command, update the firmware to a second memory region.


