Automatic Recovery from Premature Reboot During Concurrent Code-Load Upgrade

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Premature reboots during concurrent code-load upgrades in storage systems lead to system degradation, single-point failures, and increased support costs due to the need for manual intervention and expertise to restore operational states.

Innovation Solution

A method and apparatus that enable automatic recovery from premature reboots by detecting the stage of failure and initiating a recovery process, allowing the code upgrade to continue without manual intervention, minimizing exposure to single-point failures and performance degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If concurrent code-load upgrade is performed on storage controllers, then system functionality and code reliability are improved, but system stability deteriorates due to premature reboot risks

Engineering Contradiction:
Improvecode reliabilityVSAvoidsystem stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The code-load upgrade process is segmented into multiple distinct stages (unpacking, activation, completion) with checkpoint mechanisms. Each stage can be independently tracked and recovered, allowing the system to resume from a specific stage after a premature reboot rather than requiring complete restart, thus maintaining stability during the upgrade process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by creating checkpoint data at each stage of the code-load process and storing recovery information in non-volatile memory before potential failures can occur. This preliminary preparation enables automatic recovery without manual intervention, resolving the contradiction between improving code reliability through upgrades and maintaining system stability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If manual recovery procedures are implemented for code-load failures, then system reliability is improved, but operational complexity and support costs increase

Engineering Contradiction:
Improvesystem reliabilityVSAvoidoperational complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements self-service through automatic recovery mechanisms that detect code-load failures, identify the failure stage using checkpoint data, and initiate appropriate recovery actions without human intervention. The controller autonomously determines whether to resume or restart the code-load process based on stored recovery information, eliminating the need for trained administrators and reducing operational complexity while maintaining reliability.

Inventive Principle:
Principle #25Self-service

3Productivity

If code upgrade process is interrupted by premature reboot, then system availability is maintained, but system state degradation occurs requiring recovery

Engineering Contradiction:
Improvesystem availabilityVSAvoidsystem state
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system employs feedback mechanisms where the controller continuously monitors the code-load process, detects premature reboots, and uses stored checkpoint information to determine the appropriate recovery action. This feedback loop ensures the system transitions from a degraded state back to a fully operational state with consistent code across all controllers, maintaining both availability and reliability.

Inventive Principle:
Principle #23Feedback

4Productivity

If multiple clusters are updated concurrently, then upgrade efficiency is improved, but recovery difficulty increases after premature reboot

Engineering Contradiction:
Improveupgrade efficiencyVSAvoidrecovery difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The concurrent upgrade process across multiple clusters is segmented with individual checkpoint data stored for each cluster. When a premature reboot occurs, the system can identify which specific cluster failed at which stage and recover only that cluster independently, rather than requiring recovery of the entire multi-cluster system. This segmentation maintains upgrade efficiency while simplifying recovery complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7661018B2Method, apparatus and program storage device for providing automatic recovery from premature reboot of a system during a concurrent upgrade
Publication Date: 2010.02.09 X CORP
  • US7661018B2 patent drawing
  • US7661018B2 patent drawing
  • US7661018B2 patent drawing

AI summary

A method, apparatus and program storage device for providing automatic recovery from premature reboot of a system during a concurrent upgrade is disclosed. A concurrent code-load to a plurality of storage controllers of a storage system is initiated. A code-load failure is detected. The stage of the code-load failure is identified. A code-load recovery process based upon the identification of the stage that the code-load failure occurred is initiated.