Software RAID Engine Virtual Adapter Pre-Boot Configuration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing information handling systems face challenges in configuring logical storage devices during pre-boot or initialization operations for server devices, particularly with software RAID solutions that are limited in compatibility with various storage devices and CPUs, and are associated with high licensing costs.
Innovation Solution
The implementation of a software Redundant Array of Independent Disk (RAID) engine in an Information Handling System (IHS) that provides a virtual adapter device and a virtual miniport driver for the operating system, along with a first physical miniport driver for a controller device and a helper driver to identify communication entry points for storage devices, enabling the creation of logical storage devices and facilitating communication between the operating system and storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware-based RAID data protection solution is provided in the server device, then data protection capability is improved, but device cost increases
Solution Approach 1:
The patent replaces hardware-based RAID controller with a software-based RAID engine implemented in the operating system. The RAID functionality is moved from dedicated hardware to software, allowing the system to achieve the same data protection capabilities through software processing rather than specialized hardware components, thereby reducing device cost while maintaining reliability
Solution Approach 2:
The software RAID engine is designed to work with multiple types of storage devices (SATA, SAS, NVMe) and various CPU architectures, providing universal data protection capability across different hardware configurations. This multi-functionality allows a single software solution to replace multiple specialized hardware RAID controllers
2Reliability
If VROC data protection solution is used, then data protection is provided, but compatibility with various storage devices and CPUs is limited
Solution Approach 1:
The software RAID engine is designed with universal compatibility across multiple storage device types (SATA, SAS, NVMe) and CPU architectures. It implements a standardized interface that can work with different hardware configurations without requiring specific hardware dependencies, thereby achieving broad adaptability while providing data protection
3Reliability
If storage spaces data protection solution is configured, then data protection is provided, but configuration during pre-boot or initialization operations is not possible
Solution Approach 1:
The software RAID engine is designed to be configurable during pre-boot or initialization operations, allowing RAID configurations to be established before the operating system fully loads. This preliminary configuration capability enables the system to set up data protection structures early in the boot process, improving operational flexibility
4Ease of manufacture
If software RAID solution is provided with limited storage device support, then licensing costs are reduced, but adaptability to various storage devices decreases
Solution Approach 1:
The software RAID engine implements universal support for multiple storage device types (SATA, SAS, NVMe) through a unified software interface. This multi-functional design allows the same software solution to work with diverse hardware configurations without requiring additional licensing, achieving both cost reduction and broad device support
Data Source
AI summary
A direct-attached storage device software RAID control communication system includes a chassis housing a software RAID subsystem coupled to an operating system and a controller device. The software RAID subsystem provides a virtual adapter device and a virtual miniport driver for the operating system, provides a physical miniport driver for the controller device, and provides a helper driver between the virtual miniport driver and the physical miniport driver. The helper driver identifies, via the physical miniport driver, a communication entry point for the controller device and logical storage subsystem(s) provided by storage device(s) connected to the controller device, and identifies them to the virtual miniport driver. The virtual miniport driver then presents a logical storage device to the operating system that includes at least some of the logical storage subsystem(s), and uses the communication entry point to transmit communications between the operating system and the physical miniport driver.


