UART-Based Boot Communication for Early BMC Video and Error Logging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in providing access to functions like video output and error logging at earlier stages of the boot process due to the late initialization of the PCIe bus, which limits communication until a later stage, and modifying PCIe bus initialization is complex and platform-specific.

Innovation Solution

Implementing a platform-agnostic solution using a Universal Asynchronous Receiver/Transmitter (UART) interface and a new communication protocol for early communication between the BMC and SOC components, allowing functionalities like video display and error logging to be offloaded to the BMC before PCIe bus training.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If PCIe bus training is performed at a later stage in the boot process, then the CPU can communicate with hardware outside of the SOC, but functions like video output and error logging are not available until that later stage

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary communication mechanism that allows the BMC to access SOC components before the PCIe bus is trained. This intermediary approach enables early functionality by using alternative communication paths or methods that don't require the full PCIe initialization sequence, thus reducing boot time while maintaining communication reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If PCIe bus training is moved to an earlier stage of the boot process, then functions dependent on PCIe communication can be provided earlier, but this introduces complexity and must be specific for each platform

Engineering Contradiction:
Improveboot timeVSAvoidinitialization complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent enables the BMC to independently access and initialize SOC components without requiring the CPU or PCIe bus to be fully initialized first. This self-service capability allows the BMC to perform necessary communications and functionality setup autonomously at an earlier boot stage, avoiding the complexity of modifying PCIe initialization sequences while achieving earlier function availability.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If certain SoC vendors do not allow access to pre-boot source code, then early training of the PCIe bus becomes unfeasible, but functions like video output and error logging are still desired at earlier stages

Engineering Contradiction:
Improveplatform adaptabilityVSAvoidboot time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a universal communication mechanism that works across different SoC vendors and platforms without requiring access to proprietary pre-boot source code. The BMC uses standardized interfaces and protocols to access SOC components, making the solution platform-agnostic while still enabling early functionality. This multi-functional approach allows the same mechanism to work across diverse hardware platforms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20260050446A1Platform agnostic boot system
Publication Date: 2026.02.19 HEWLETT PACKARD ENTERPRISE DEV LP
  • US20260050446A1 patent drawing
  • US20260050446A1 patent drawing
  • US20260050446A1 patent drawing

AI summary

A system and method, the method comprising initializing a universal asynchronous receiver-transmitter (UART) interface connected to a baseboard management controller (BMC) of the computing system, in response to the UART interface being initialized, receiving at the BMC at least one communication code from a processor of the computing system via the UART interface, and executing, by the BMC, a functionality task associated with the communication code. The system and method may include initializing the UART prior to training a PCIe bus. Functionality tasks may include event and error logging and displaying video images.