Adaptive Reboot Timeout Management for Storage Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems with multiple storage processors, existing reboot management techniques face challenges in ensuring timely and non-disruptive upgrades, leading to increased vulnerability and potential data unavailability due to static and lengthy reboot timeouts, which fail to promptly detect failures during the upgrade process.

Innovation Solution

Implementing adaptive reboot timeouts by monitoring boot states and dynamically adjusting the timeout value based on new states encountered during the reboot process, allowing for earlier failure detection and reducing system vulnerability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static and lengthy reboot timeouts are used, then the system allows for complete reboot sequences, but failure detection is delayed and system vulnerability increases

Engineering Contradiction:
Improvefailure detection timelinessVSAvoidreboot timeout duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic timeout adjustment by monitoring boot states and adapting the timeout value during the reboot process. Instead of using a fixed timeout, the system dynamically modifies the timeout based on the observed boot progress, allowing earlier failure detection while accommodating legitimate long boot sequences. This resolves the contradiction by making the timeout parameter adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors boot states and uses this feedback to adjust the timeout value. By observing the progression through boot states, the system can determine whether the reboot is proceeding normally or has stalled, and adjust the timeout accordingly. This feedback mechanism enables timely failure detection without prematurely terminating valid reboot sequences.

Inventive Principle:
Principle #23Feedback

2Reliability

If the system monitors boot states continuously, then failure detection is improved, but system complexity increases

Engineering Contradiction:
Improvefailure detection accuracyVSAvoidreboot management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the boot process into discrete boot states that can be monitored independently. By dividing the complex boot sequence into identifiable states, the system can track progress through specific checkpoints without needing to monitor every detail of the boot process. This segmentation approach improves failure detection while managing complexity through structured state identification.

Inventive Principle:
Principle #1Segmentation

3Duration of action of moving object

If timeout values are extended to accommodate long reboot sequences, then complete reboots can finish, but vulnerability window increases

Engineering Contradiction:
Improvereboot sequence durationVSAvoidsystem vulnerability
Core Design Contradiction:
Duration of action of moving objectVSObject-affected harmful factors

Solution Approach 1:

The patent applies dynamic timeout adjustment to resolve this contradiction. The timeout value is extended only when boot state monitoring indicates legitimate progress is being made, while maintaining shorter effective timeouts for detecting stalled reboots. This dynamic approach allows the system to accommodate necessary long reboot sequences while minimizing the vulnerability window by detecting failures earlier than a fixed long timeout would permit.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9367515B1Managing adaptive reboots on multiple storage processors
Publication Date: 2016.06.14 EMC IP HLDG CO LLC
  • US9367515B1 patent drawing
  • US9367515B1 patent drawing
  • US9367515B1 patent drawing

AI summary

A technique for managing a boot process on a data storage system having multiple storage processors is disclosed. A first storage processor communicatively coupled to and directs a second storage processor to perform one or more boot sequences. Elapsed time and timeout variables and an empty set of boot states are provided. After sleeping for a predetermined time the elapsed time variable is incremented. If the boot state of the second processor is not successful, the technique determines if the current boot state is a new boot state, and if so, the new boot state is added to the set of boot states and the elapsed time value is reset. The timeout value is set equal to the user defined value. If the elapsed time is less than the timeout value, the technique loops back to the sleep state and continues thereon, else if greater that the timeout value, a failure is indicated.