BMC Module Riser Card FRU Reading via SMBus Lookup Table
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional baseboard management control (BMC) modules in computers are unable to dynamically read information from multiple PCIe riser cards that conform to different specifications, requiring separate BMC module designs for each type, which increases complexity and cost.
Innovation Solution
A method implemented by a BMC module using a System Management Bus (SMBus) controller to communicate with riser cards via a connection protocol, accessing a lookup table for reading specifications and bus addresses to scan and read Field Replaceable Unit (FRU) information from riser cards, regardless of their specifications, by determining appropriate reading specifications and bus addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the BMC module is designed to read FRU information from a specific PCIe riser card specification, then it can reliably read information from that specific type, but it cannot read information from PCIe riser cards with different specifications
Solution Approach 1:
The BMC module is designed with universal reading capabilities that can handle multiple PCIe riser card specifications through a unified interface. The module uses a lookup table mechanism that stores reading specifications for different card types, allowing a single BMC design to adapt to various riser card specifications without requiring separate dedicated hardware for each type.
Solution Approach 2:
The patent implements dynamic parameter adjustment by storing reading specifications (such as FRU information format, memory layout, and communication protocols) in a lookup table. When a riser card is detected, the BMC module retrieves the appropriate reading parameters from the lookup table based on the card type, thereby adapting its reading behavior to match the specific specification without hardware changes.
2Reliability
If a new BMC module is designed for each PCIe riser card specification, then reading reliability is maintained, but development cost and time increase
Solution Approach 1:
A single BMC module design serves multiple riser card specifications through the lookup table mechanism, eliminating the need to manufacture separate BMC modules for each card type. This universal design maintains reading reliability by using specification-specific parameters while significantly reducing development costs and manufacturing complexity.
Solution Approach 2:
Instead of creating entirely new BMC module designs for each specification, the patent copies and adapts reading parameters from a master lookup table. This allows reliable reading of FRU information from different card types by replicating the appropriate reading specifications in software/firmware rather than through hardware duplication.
3Productivity
If the BMC module uses a fixed reading specification, then the reading process is simple and fast, but it cannot adapt to dynamically installed riser cards of unknown types
Solution Approach 1:
The patent performs preliminary action by pre-populating a lookup table with reading specifications for multiple riser card types before the actual reading operation. When a riser card is installed, the BMC module quickly identifies the card type and retrieves the corresponding reading parameters from the pre-prepared lookup table, maintaining fast reading speeds while enabling dynamic adaptation to different card types.
Data Source
AI summary
A method for reading information from multiple riser cards is implemented by a BMC module that includes an SMBus controller, where the riser cards are electrically connected to the SMBus controller. The method includes steps of: accessing a lookup table and a plurality of bus addresses; scanning a target address for communicating with a target card; determining whether a slave address has been received from the target card; when the BMC module determines that the slave address has been received from the target card, reading a memory of the target card according to a target reading spec to obtain identification information; determining whether the identification information conforms to an FRU header format; and when the BMC module determines that the identification information conforms to the FRU header format, reading the memory of the target card to obtain FRU information.


