RAID Controller Self-Detection via Shared PCIe Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Single Server High Availability (SSHA) systems, existing RAID controller configurations require significant host processing resources to detect and coordinate cooperative management features, leading to delays in booting and data access when RAID controllers need to assume control of logical volumes in case of failures.
Innovation Solution
Implementing shared Peripheral Component Interconnect Express (PCIe) memory access between RAID controllers, enabling them to detect each other's identifiers and activate cooperative management features independently, thereby reducing the need for host intervention and speeding up the boot process by allowing parallel RAID coordination.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If host-driven detection and coordination is used for RAID controller cooperation, then system reliability is improved through proper failover, but boot time and data access time increase due to host processing delays
Solution Approach 1:
The patent implements preliminary action by enabling RAID controllers to perform self-detection and self-coordination through shared PCIe memory access during system initialization, before the host OS is fully loaded. The controllers exchange identifiers and discover each other's presence proactively, establishing cooperative management relationships in advance so that failover can occur immediately without waiting for host-driven detection.
Solution Approach 2:
The patent applies self-service by empowering RAID controllers to autonomously detect each other's presence, exchange identifiers through shared PCIe memory, and coordinate their management of storage devices without requiring continuous host intervention. The controllers independently determine which devices to manage based on identifier matching, enabling self-sufficient failover operations that reduce dependency on host processing resources.
2Adaptability or versatility
If host processing resources are used for RAID controller coordination, then cooperative management can be established, but system productivity decreases due to host resource consumption
Solution Approach 1:
The patent enables RAID controllers to autonomously perform identification, discovery, and coordination tasks through direct PCIe memory access. Each controller independently reads identifiers from shared PCIe memory regions, compares them against its own identifier, and determines cooperative management relationships without consuming host CPU cycles or processing resources, thereby maintaining high system productivity.
Solution Approach 2:
The patent introduces shared PCIe memory as an intermediary mechanism that enables direct communication between RAID controllers. This intermediary allows controllers to exchange identifiers and coordination information efficiently without involving the host system, creating a dedicated communication channel that preserves host resources for productive work while still enabling cooperative management.
3Stability of the object's composition
If sequential RAID controller initialization is used, then system stability is maintained, but boot time increases due to lack of parallel processing
Solution Approach 1:
The patent implements preliminary action by pre-configuring shared PCIe memory regions with controller identifiers before initialization begins. This allows multiple RAID controllers to simultaneously access the same identifier space and perform discovery operations in parallel without risk of conflicts or instability, enabling fast boot times while maintaining system stability through pre-established communication pathways.
Data Source
AI summary
Methods and structure for coordinating between Redundant Array of Independent Disks (RAID) storage controllers are provided. An exemplary system includes a RAID controller. The RAID controller includes a Peripheral Component Interconnect Express (PCIe) interface, a Serial Attached Small Computer System Interface (SAS) port operable to communicate with another RAID controller, and a command unit. The command unit is able to direct the interface to contact another PCIe interface at the other controller, to acquire an identifier of the other controller stored in a PCIe Inbound Map (PIM) for the other interface, and to activate a feature for the controller that enables cooperative management of storage devices between the controller and the other controller, if the identifier of the other controller matches discovery information maintained at the controller.


