PCIe Slot Reservation Tables for RAID Driver Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is no standard method for reserving PCIe slots for management by a RAID driver, leading to issues such as limited support for PCIe slot binding when a disk fails and during operating system loading, and no automatic assignment of slots to RAID drivers.

Innovation Solution

A system and method for reserving PCIe slots using a slot reservation table stored in non-volatile RAM, allowing a RAID driver to control access to specific slots and ensuring exclusive control over storage devices, with support for hot swapping and operating system installation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If udev rule-based approach is used for RAID slot binding, then ease of operation is improved, but reliability deteriorates when disk fails and needs replacement

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary action by pre-configuring RAID driver to automatically detect and claim PCIe slots when they become available, before any disk failure or replacement occurs. The driver maintains a reservation table that proactively reserves slots, ensuring that when disks fail or are replaced, the RAID driver already has claim to the slots and can automatically rebind without manual intervention or udev rules.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If udev rule-based approach is used for RAID slot binding, then ease of operation is improved, but reliability deteriorates during operating system loading

Engineering Contradiction:
Improveease of operationVSAvoidreliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The RAID driver performs preliminary action during system initialization by claiming and reserving PCIe slots before the operating system fully loads. The driver creates reservation entries in the reservation table during its initialization phase, ensuring that slots are pre-assigned to RAID before other drivers or OS components attempt to access them, thereby preventing conflicts during OS loading.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The reservation table acts as an intermediary mechanism between the RAID driver and the PCIe slot allocation system. It mediates the conflict by providing a centralized data structure that tracks which slots are reserved for RAID, allowing the driver to assert ownership without requiring complex udev rules or manual configuration during OS loading.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If no slot reservation method is implemented, then device complexity is reduced, but adaptability deteriorates for hot swapping and OS installation

Engineering Contradiction:
Improvedevice complexityVSAvoidadaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary action by pre-configuring RAID driver to automatically detect and claim PCIe slots when they become available, before any disk failure or replacement occurs. The driver maintains a reservation table that proactively reserves slots, ensuring that when disks fail or are replaced, the RAID driver already has claim to the slots and can automatically rebind without manual intervention or udev rules.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If RAID driver controls all PCIe slots, then reliability of RAID management is improved, but adaptability deteriorates for other driver access

Engineering Contradiction:
ImprovereliabilityVSAvoidadaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system applies local quality by making the RAID driver's control over PCIe slots selective rather than universal. The reservation table maintains granular information about which specific slots are reserved for RAID, allowing the driver to claim only those slots needed for RAID arrays while leaving other slots available for different drivers and purposes, thus balancing reliability with adaptability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12443557B2Reservation of PCIe slots for management by a raid driver
Publication Date: 2025.10.14 MICROCHIP TECHNOLOGY INC
  • US12443557B2 patent drawing
  • US12443557B2 patent drawing
  • US12443557B2 patent drawing

AI summary

A system and method including a PCIe slot, a storage device coupled to the PCIe slot, and a host server including a processor and a non-transitory memory including machine-readable instructions that, when executed by a processor, cause the processor to: load a RAID driver; receive, by the RAID driver, a probe call identifying the PCIe slot; determine, based on a slot reservation table stored in a non-volatile RAM accessible by the RAID driver, whether the storage device coupled to the PCIe slot is managed by the RAID driver; send, when the PCIe slot is identified in the slot reservation table, a response indicating that the RAID driver will control access to the storage device coupled to the PCIe slot; and send, when the PCIe slot is not identified in the slot reservation table, a response indicating that the RAID driver will not control access to the storage device.