SWRAID UEFI Driver Caching for RAID Array Boot Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The boot time of a processor is adversely affected by accessing network devices, particularly due to the need for multiple rescans of storage controllers, which can lead to challenges in creating and managing RAID arrays, especially when controller-specific protocols are not available at the time of driver execution.

Innovation Solution

Caching software controller handles during the initial query to the SWRAID UEFI driver allows for the creation of RAID arrays in a single shot, reducing the execution time of the SWRAID UEFI driver by approximately 50% and preventing multiple rescans, ensuring all participating devices are part of the array.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple rescans of storage controllers are performed to ensure all devices are part of the RAID array, then the reliability of array creation is improved, but the boot time increases

Engineering Contradiction:
ImproveRAID array creation reliabilityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent caches software controller handles during the initial query phase before RAID array creation. This preliminary caching action stores necessary controller information in advance, eliminating the need for multiple rescans later during array creation, thus reducing boot time while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a caching mechanism as an intermediary between the initial controller query and the RAID array creation process. This cache stores software controller handles that serve as a bridge, allowing the system to reference pre-fetched controller information without performing additional rescans, thereby reducing boot time while ensuring all devices are properly included

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If controller-specific protocols are waited for before driver execution, then the accuracy of device identification is improved, but the execution time of the driver increases

Engineering Contradiction:
Improvedevice identification accuracyVSAvoiddriver execution time
Core Design Contradiction:
Measurement precisionVSDuration of action of moving object

Solution Approach 1:

The patent performs the initial query to obtain software controller handles before the RAID driver execution. This preliminary action ensures that device identification is completed in advance with accurate controller information, eliminating the need to wait for controller-specific protocols during driver execution, thus reducing driver execution time while maintaining identification accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent separates the device identification process from the RAID driver execution process. The initial query phase identifies controllers and caches their handles, while the RAID driver phase uses these pre-cached handles. This segmentation allows device identification to be completed independently and accurately before driver execution begins, reducing overall execution time

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11842057B2Seamless creation of raid arrays with optimized boot time
Publication Date: 2023.12.12 DELL PROD LP
  • US11842057B2 patent drawing
  • US11842057B2 patent drawing

AI summary

A system for controlling processor operations is disclosed that includes a first function configured to be performed by one or more algorithms operating on a processor to identify one or more participating storage controllers, each having a software controller handle, and to cache the software controller handles during a query to a driver. A second function configured to be performed by one or more algorithms operating on the processor to invoke the driver with the cached software controller handles.