Redundant Controller Firmware Update via Inter-Controller Channel
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing RAID storage subsystems experience service disruptions during reboots, leading to non-transparent and resource-intensive fail-over processes when updating firmware, which disrupts host system access and requires complex and lengthy restart procedures.
Innovation Solution
Implementing a redundant controller system with an inter-controller channel to route host requests and data between two controllers, allowing seamless firmware updates and reboots without interrupting host system access, by redirecting requests and presenting data through the inter-controller channel during the update process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional firmware update approach is used, then firmware can be updated, but host system access is disrupted and service interruption occurs
Solution Approach 1:
The controller is divided into two independent controllers (first controller and second controller), each capable of independently managing storage subsystem operations. This segmentation allows one controller to perform firmware updates while the other continues to handle host requests, eliminating service disruption.
Solution Approach 2:
An inter-controller channel is introduced as an intermediary communication path between the first controller and second controller. This channel enables coordination during firmware updates, allowing the active controller to redirect requests to the updating controller and ensure continuous data access to host systems.
2Reliability
If redundant controller is implemented, then firmware update disruption is prevented, but device complexity increases
Solution Approach 1:
The controller function is segmented into two independent controllers with identical capabilities. Each controller can independently manage the storage subsystem, providing redundancy that enables disruption-free firmware updates without requiring complex coordination mechanisms.
Solution Approach 2:
The inter-controller channel serves as a simple intermediary mechanism that enables communication and coordination between the two controllers. This straightforward communication path allows request routing and data transfer during updates without introducing significant complexity to the overall system.
3Reliability
If fail-over path is activated during reboot, then host system access is maintained, but resource consumption increases
Solution Approach 1:
The controller is segmented into two independent units that can operate in parallel. During firmware updates, the active controller redirects requests to the standby controller, which processes them independently without requiring complex fail-over path activation, thereby reducing resource consumption compared to traditional fail-over mechanisms.
Solution Approach 2:
The inter-controller channel acts as an efficient intermediary that enables direct request routing between controllers. This streamlined communication path eliminates the need for complex fail-over path activation and reduces the computational and resource overhead associated with traditional fail-over processes.
Data Source
AI summary
A non-disruptive method for updating firmware in a first controller 210 of a redundant controller 200 in a storage subsystem 120 is disclosed. This updating occurs while the storage subsystem 120 presents data to a host system 130 in response to a host request 132. During the non-disruptive updating, the updating first controller 210 redirects the host request 132 for data, e.g., drive-A volume 252 normally owned by the first controller 210, to second controller 220 of the redundant controller 200. After the second controller 220 obtains data 134 identified in the host request 132, the operating second controller 220 transfers the data 134 to the updating first controller 210 via an inter-controller channel 202. Once the updating first controller 210 receives the data 134, the first controller 210 presents the data 134 to the host system 130. The host system 130 does not detect that the first controller 210 is updating because the updating process is invisible to the host system 130. The above process is also applied when the updating is simply a reboot command for the first controller 210.


