Redundant BMC Arbitration for NVMe Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing NVMe Management Interface (NVMe-MI) protocol is designed to support only a single Baseboard Management Controller (BMC), which becomes a limitation for systems requiring High Availability (HA) and multiple BMCs, as it does not allow for effective arbitration of command usage and management of NVMe storage units.
Innovation Solution
The implementation of an NVMe-based multiple BMC system and method that enables multiple BMCs to manage a single NVMe storage unit by arbitrating command usage, using bus arbitration and metadata storage regions to facilitate communication and synchronization between BMCs, allowing for active-active or active-passive configurations and redundant sync connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the NVMe-MI protocol is designed to support only a single BMC, then the protocol complexity is low and ease of operation is maintained, but High Availability capability and system reliability are limited
Solution Approach 1:
The patent segments the BMC functionality by introducing distinct active and passive BMC roles. The active BMC handles command issuance to NVMe storage units while the passive BMC monitors and can take over. This segmentation allows multiple BMCs to coexist without full protocol complexity, as each BMC has a defined role and communication path.
Solution Approach 2:
The patent introduces an intermediary arbitration mechanism that mediates between multiple BMCs and the NVMe storage units. This intermediary layer manages command routing, BMC state transitions, and failover coordination, allowing multiple BMCs to interact with a single NVMe-MI interface without requiring the protocol itself to be fundamentally redesigned for multi-BMC support.
2Adaptability or versatility
If multiple BMCs are allowed to issue commands to a single NVMe storage unit simultaneously, then management flexibility and redundancy are improved, but command arbitration complexity and system instability increase
Solution Approach 1:
The patent implements dynamic role assignment where BMCs can transition between active and passive states based on system conditions. The active BMC is dynamically determined through arbitration, and the system can adaptively switch between BMCs during failover events. This dynamic approach provides management flexibility while maintaining stability through controlled state transitions rather than allowing simultaneous unrestricted command issuance.
Solution Approach 2:
The patent incorporates feedback mechanisms where the passive BMC monitors the active BMC's operations and system state. This feedback loop enables the passive BMC to detect failures and initiate takeovers when necessary, providing both flexibility through monitoring capabilities and stability through controlled failover based on actual system conditions rather than simultaneous command execution.
3Productivity
If bus arbitration and metadata storage regions are used to facilitate communication between BMCs, then coordination efficiency is improved, but device complexity and resource requirements increase
Solution Approach 1:
The patent utilizes existing NVMe metadata storage regions for multiple purposes: storing arbitration state information, maintaining BMC identification data, and facilitating failover coordination. By making these existing storage regions multi-functional, the system achieves improved coordination efficiency without adding dedicated hardware resources or significantly increasing device complexity.
Solution Approach 2:
The arbitration mechanism and failover coordination are implemented to operate with minimal external intervention. The BMCs autonomously negotiate their roles, manage their own state transitions, and coordinate takeovers using the metadata storage regions. This self-service approach improves coordination efficiency while avoiding the need for additional complex external arbitration hardware or resources.
Data Source
AI summary
According to one embodiment, an Information Handling System (IHS) includes at least one storage unit that conforms to an NVMe specification and first and second BMCs. The BMCs are in communication with the storage unit and each configured with computer-executable instructions to negotiate with the second BMC, whether first or second BMC is to be an active BMC such that the other of the first or second BMCs becomes a passive BMC. When the first BMC is the active BMC, allow shared commands to be issued to a storage unit conforming to a Non-Volatile Memory Express (NVMe) specification; otherwise, inhibit the shared commands from being issued to the storage unit.


