Hypervisor-Based Firmware Reprogramming in Storage Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high reliability storage systems with redundant controllers and multi-path driver software, firmware reprogramming often results in reduced performance and reliability due to the need for the storage system to be taken offline, which can lead to timing issues and potential 'deadly embrace' scenarios where the system is incorrectly identified as failed, requiring manual administrative intervention.
Innovation Solution
The use of a virtual machine management (VMM) environment allows for firmware reprogramming by operating current firmware in a current virtual machine, loading new firmware into a new virtual machine, quiescing the current firmware, mapping data, and transferring control to the new virtual machine, thereby minimizing downtime and avoiding the limitations of multi-path driver processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware reprogramming is performed by taking the storage system offline, then the firmware can be successfully reprogrammed, but the storage system becomes unavailable and host systems cannot access data
Solution Approach 1:
The storage system is divided into multiple redundant controllers, allowing the firmware reprogramming to be performed on one controller while another controller continues to handle I/O requests, thus maintaining system availability during firmware updates
Solution Approach 2:
The host systems are pre-configured with multi-path driver software and redundant communication paths before the firmware reprogramming begins, so that when one controller is taken offline, the host can immediately switch to an alternate path without interruption
2Productivity
If redundant controllers are used to maintain continuous access during firmware reprogramming, then system availability is maintained, but performance and reliability are reduced during the reprogramming process
Solution Approach 1:
A hypervisor layer is introduced as an intermediary between the host systems and the storage controllers, managing the firmware reprogramming process in a way that maintains system reliability while ensuring continuous data access through virtualized resource management
3Productivity
If multi-path driver software is used to switch between redundant controllers, then continuous access is maintained, but timing issues and 'deadly embrace' scenarios can occur requiring manual intervention
Solution Approach 1:
The hypervisor implements feedback mechanisms to monitor the state of controllers and I/O paths, dynamically adjusting resource allocation and path selection to prevent timing issues and deadly embrace scenarios, eliminating the need for manual administrative intervention
Data Source
AI summary
Methods and structure for reprogramming firmware in a storage controller using a virtual machine management (VMM) environment. A storage process (current firmware) in the storage controller operates in a current virtual machine (VM) under control of a hypervisor. Reprogrammed (new) firmware is loaded into a new virtual machine under control of the hypervisor. The new firmware initializes and directs the current firmware to quiesce its processing. The new firmware also requests the hypervisor to map data in the memory space of the current virtual machine into the memory space of the new virtual machine and to transfer ownership/control of devices and network addresses from the current virtual machine to the new virtual machine. The new firmware operating on the new virtual machine then takes control of the storage controller and resumes processing of requests.


