Concurrent SRIOV Adapter Firmware Update via EEH
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized systems with SRIOV adapters, updating firmware is challenging due to the need for coordinated maintenance across multiple partitions, which can cause lengthy disruptions and uncertainty about the adapter firmware level, leading to undesirable behavior during I/O operations.
Innovation Solution
A method and system that utilize an adapter driver to update SRIOV adapter firmware concurrently with normal I/O operations, employing an enhanced error handling process to freeze and restart virtual functions, ensuring minimal disruption and maintaining a known good firmware level by packaging the firmware and driver images together, and using a scratchpad buffer to determine configuration states.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If adapter firmware is updated in a shared SRIOV adapter, then the adapter firmware is updated to a known good level, but multiple partitions are impacted and coordination becomes difficult
Solution Approach 1:
The adapter driver performs self-diagnosis and self-update by detecting its own configuration state in the scratchpad buffer and autonomously initiating the EEH process to freeze VFs, load updated firmware, and restart the adapter without requiring external coordination or manual intervention across multiple partitions
Solution Approach 2:
The adapter is segmented into physical functions (PFs) and virtual functions (VFs), allowing the driver to selectively freeze only the necessary VFs during firmware update while leaving other VFs operational, thereby isolating the maintenance impact to specific partitions rather than affecting the entire adapter
2Reliability
If adapter firmware update is performed, then the adapter firmware is updated to a known good level, but a lengthy maintenance window is required
Solution Approach 1:
The adapter driver performs preliminary detection of its configuration state in the scratchpad buffer before initiating the firmware update process, allowing it to determine in advance whether VFs are configured and plan the update sequence accordingly, thereby avoiding unnecessary delays
Solution Approach 2:
The EEH process enables the adapter to freeze VFs, load updated firmware, and restart without completely stopping I/O operations, allowing other partitions to continue using the adapter while the update progresses in the background, thus maintaining continuous useful action
3Productivity
If concurrent firmware update is implemented, then maintenance can occur during normal operations, but I/O operations may be disrupted
Solution Approach 1:
The adapter's virtual functions are segmented and independently manageable, allowing the driver to freeze only the specific VFs requiring update while leaving other VFs operational, thereby isolating the disruption to minimal portions of I/O operations rather than affecting all operations simultaneously
Solution Approach 2:
The EEH process acts as an intermediary mechanism that coordinates between the adapter driver and the VFs, providing a controlled transition path that freezes VFs during update and unfreezes them afterward, thereby mediating the disruption to minimize I/O impact while enabling concurrent maintenance
Data Source
AI summary
A method, system and computer program product are provided for implementing concurrent adapter firmware update of a Single Root Input/Output Virtualization (SRIOV) adapter in a virtualized system. An adapter driver is used to update adapter firmware concurrent with normal I/O operations. When configuration is stored in a scratchpad buffer, the adapter driver detects virtual functions (VFs) configured and operating. An enhanced error handling (EEH) process is initiated, freezing the VFs, and an updated adapter firmware image is loaded to the adapter. The adapter driver completes the EEH recovery, the adapter is restarted using the new updated adapter firmware. The VFs device drivers unfreeze the VFs, and complete the EEH recovery.


