Emulating LPC Bus Interactions via Software KCS Multiplexing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current information handling systems face challenges in efficiently managing and multiplexing Intelligent Platform Management Interface (IPMI) Keyboard Controller Style (KCS) interface interactions, particularly in microserver architectures where multiple processing nodes communicate with a single service processor, requiring effective emulation of LPC bus interactions to handle system management services.
Innovation Solution
The implementation of a multi-master bus that emulates KCS services and LPC bus interactions between SoC nodes and the service processor, using software within the BIOS or EFI to handle IPMI services, allowing for arbitration and management of system management functions, including hardware monitoring and power supply services, even in the absence of hardware-based LPC buses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware-based LPC buses are used for IPMI KCS interface communication, then communication reliability is improved, but device complexity and cost increase
Solution Approach 1:
The patent implements a software-based KCS interface that copies the functionality of hardware-based LPC bus interactions. The BIOS/EFI software emulates the KCS protocol state machine, creating a virtual KCS interface that replicates the behavior of physical hardware without requiring dedicated hardware components. This allows multiple SoC nodes to communicate with the service processor through software emulation rather than physical hardware connections.
Solution Approach 2:
The patent replaces the mechanical/hardware-based LPC bus system with a software-based implementation. Instead of using physical bus connections and hardware state machines, the system uses software routines in the BIOS/EFI to handle KCS protocol operations, effectively substituting a mechanical system with a software-based alternative that achieves the same communication goals with reduced hardware complexity.
2Adaptability or versatility
If multiple SoC nodes communicate with a single service processor, then system scalability is improved, but arbitration complexity increases
Solution Approach 1:
The patent creates a universal communication interface where the software-based KCS emulator can serve multiple SoC nodes through a shared multi-master bus. The same software routine handles communication requests from any number of SoC nodes, providing a universal solution that scales with the system without requiring additional hardware arbitration logic for each node. The service processor can communicate with any SoC node through the same emulated interface.
Solution Approach 2:
The patent introduces software as an intermediary layer between the SoC nodes and the service processor. The BIOS/EFI software acts as a mediator that manages communication requests, handles arbitration logic, and coordinates interactions between multiple masters and the service processor. This software intermediary simplifies the arbitration process by providing a centralized management layer that handles multiple connections without requiring complex hardware arbitration circuits.
3Device complexity
If software-based KCS emulation is implemented, then device complexity is reduced, but processing overhead increases
Solution Approach 1:
The patent implements the KCS emulation functionality in the BIOS/EFI, which executes during the system initialization phase before the operating system takes control. By handling KCS communications during this preliminary phase, the system establishes management interfaces early in the boot process without requiring ongoing processing overhead during normal operation. The emulation is set up once during initialization and then manages communications efficiently throughout system operation.
Data Source
AI summary
An information handling system includes a processing node, an input/output (I/O) module coupled to the processing node via a high bandwidth interface, and a service processor coupled to the I/O module via a multi-master interface. A transaction between the processing node and the service processor that is targeted to a low pin count (LPC) bus is executed between the processing node and the service processor via the high bandwidth interface and the multi-master interface.


