Hypervisor-Based Firmware Reprogramming in Storage Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefirmware reprogramming capabilityVSAvoidstorage system availability
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvecontinuous data accessVSAvoidsystem reliability during reprogramming
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecontinuous I/O request processingVSAvoidmulti-path driver processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8776060B2Methods and structure for near-live reprogramming of firmware in storage systems using a hypervisor
Publication Date: 2014.07.08 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8776060B2 patent drawing
  • US8776060B2 patent drawing
  • US8776060B2 patent drawing

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.