BMC Runtime Debug Code Download via Remote File System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In the embedded world, reproducing firmware errors in BMCs is challenging due to time-critical code interacting with various system components and environmental conditions, making it difficult to debug issues without altering the existing firmware image or environment.

Innovation Solution

A system and method that allows a BMC to request and execute remote debug and diagnostic code via a network, enabling on-site debugging without interrupting the BMC's operation, using a remote file system like NFS or CIFS to load and execute debug modules, and generate fixed code to update the firmware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of repair

If debug code is downloaded and executed in the BMC volatile memory, then on-site debugging capability is enabled without altering the firmware image, but the BMC device complexity increases due to remote file system mounting and code execution mechanisms

Engineering Contradiction:
Improveon-site debugging capabilityVSAvoidBMC device complexity
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The patent introduces a remote file system (NFS or CIFS) as an intermediary between the BMC and the debug code storage. The BMC mounts the remote file system and executes debug code downloaded from it, allowing on-site debugging without modifying the firmware image. This intermediary mechanism enables debugging capability while keeping the core firmware intact.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the debugging functionality into separate downloadable code modules rather than embedding them in the firmware. The BMC can selectively download and execute only the necessary debug code from the remote file system, enabling debugging without altering the permanent firmware image stored in non-volatile memory.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the BMC mounts a remote file system to access debug code, then non-intrusive debugging is achieved, but the loss of time increases due to network download and mounting operations

Engineering Contradiction:
Improvefirmware integrityVSAvoiddebugging setup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring the BMC with the capability to mount remote file systems (NFS or CIFS) and download debug code. The debugging environment is prepared in advance on remote systems, so when debugging is needed, the BMC can quickly mount the file system and download the required code without extensive setup time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The BMC performs self-service by automatically mounting the remote file system, downloading the debug code, and executing it without requiring external intervention. The system autonomously handles the debugging setup process, reducing the time loss associated with manual configuration and deployment.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If debug code is executed in the BMC volatile memory, then error tracking in the actual environment is enabled, but the device complexity increases due to code loading and execution mechanisms

Engineering Contradiction:
Improveerror reproduction accuracyVSAvoidcode execution mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent uses copying by downloading a copy of the debug code from the remote file system to the BMC's volatile memory for execution. The original firmware image remains unchanged in non-volatile memory, while the copied debug code runs in volatile memory, enabling error tracking in the actual deployment environment without modifying the permanent firmware.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9665469B2System and method of runtime downloading of debug code and diagnostics tools in an already deployed baseboard management controller (BMC) devices
Publication Date: 2017.05.30 AMERICAN MEGATRENDS
  • US9665469B2 patent drawing
  • US9665469B2 patent drawing
  • US9665469B2 patent drawing

AI summary

A system includes a baseboard management controller (BMC) and a remote computing device communicatively connected to the BMC via a network. The BMC includes a processor, a volatile memory, and a non-volatile memory storing a firmware. The remote computing device includes first and second computer executable code. The firmware, when executed at the processor, is configured to: in response to a debug command, request, receive, and execute the first computer executable code. The first computer executable code, when executed at the processor, is configured to mount a remote file system to the BMC corresponding to the second computer executable code, such that the second computer executable code is accessible to the BMC, retrieve the second computer executable code, and execute the second computer executable code at the BMC to perform an on-site debug process without interrupting operation of the firmware.