Software RAID Driver Virtual Disk Discovery Timeout Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information handling systems face challenges in discovering a virtual disk spanned across independent storage controllers, leading to potential timeouts and boot failures due to the sequential initialization of storage controllers, which can result in the failure to enumerate the virtual disk correctly.

Innovation Solution

The software RAID driver periodically sends notifications to the OS interface when a storage controller is not initialized, causing the OS to reinitialize and reset the discovery process, ensuring all storage controllers are initialized before a timeout occurs, thereby ensuring the correct discovery and initialization of the virtual disk.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If storage controllers are initialized sequentially, then the initialization process is simple, but the virtual disk may not be enumerated correctly leading to timeouts and boot failures

Engineering Contradiction:
Improveinitialization processVSAvoidvirtual disk enumeration
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The software RAID driver implements a feedback mechanism by periodically sending notifications to the OS interface to check initialization status of storage controllers. When a controller is not initialized, the driver receives feedback about this state and triggers reinitialization, creating a closed-loop system that ensures reliable virtual disk enumeration across multiple storage controllers

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by proactively monitoring the initialization status of storage controllers before the virtual disk enumeration is complete. The software RAID driver initiates reinitialization procedures in advance when uninitialization is detected, ensuring that all controllers are fully initialized before the discovery process times out

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the OS waits for storage controller initialization, then the discovery process is accurate, but the system may timeout and fail to boot

Engineering Contradiction:
Improvediscovery processVSAvoidboot time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The software RAID driver maintains continuous monitoring of storage controller initialization status throughout the boot process. By periodically sending notifications and continuously tracking the initialization state, the system ensures the discovery process remains accurate while minimizing idle waiting time, thus preventing timeouts without sacrificing measurement precision

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system implements periodic action by having the software RAID driver send notifications at regular intervals to check storage controller initialization status. This periodic checking mechanism allows the OS to wait for accurate discovery while managing timeout risks through consistent monitoring cycles that trigger reinitialization when needed

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10089042B2System and method for discovering a virtual disk spanned across independent storage controllers
Publication Date: 2018.10.02 DELL PROD LP
  • US10089042B2 patent drawing
  • US10089042B2 patent drawing
  • US10089042B2 patent drawing

AI summary

An information handling system includes a first storage controller coupled to a first storage device, a second storage controller coupled to a second storage device where the first storage device and the second storage device comprise a virtual disk and a processor to initiate a first discovery of the first storage device, initiate a first discovery of the virtual disk on the first storage controller, complete the discovery of the first storage device, initiate a first discovery of the second storage device, initiate a second discovery of the virtual disk on the second storage controller, determine that a first timeout for the first discovery of the virtual disk on the first storage controller will expire prior to completing the first discovery of the second storage device, and initiate a second discovery of the first storage device in response to determining that the timeout will expire.