EC-Based Crash Handler for Cross-OS Freeze Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information handling systems often experience hang and freeze issues due to a lack of effective logging mechanisms for cross-operating environment interactions, making it difficult to debug and perform root cause analysis.

Innovation Solution

Implementing a native firmware-level solution that tracks and handles interactions across OS/firmware boundaries, including the use of crash handlers and EC-based monitoring to detect and remediate crashes, and employing MBOX messages and enhanced Serial Peripheral Interface (eSPI) for communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Difficulty of detecting and measuring

If traditional logging mechanisms are used for OS-device interactions, then system simplicity is maintained, but the ability to debug and perform root cause analysis on hang and freeze issues deteriorates

Engineering Contradiction:
Improvedebug capabilityVSAvoidlogging mechanism complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

An intermediary logging infrastructure is introduced between the OS and device firmware layers. This intermediary captures and logs cross-boundary interactions, calls, and returns without disrupting the existing system architecture. The logging mechanism acts as a mediator that records diagnostic information while maintaining system simplicity, enabling effective root cause analysis of hang and freeze issues.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If comprehensive logging of cross-operating environment interactions is implemented, then root cause analysis capability is improved, but system complexity increases

Engineering Contradiction:
Improveinformation retentionVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The logging infrastructure is established in advance and remains dormant until needed. Pre-boot logging is enabled before the OS loads, and the system is prepared to capture interactions across OS/firmware boundaries. This preliminary setup ensures that diagnostic information is retained without adding operational complexity during normal system execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The logging infrastructure is designed to be universal, handling multiple types of interactions (OS-to-EC, OS-to-BIOS, OS-to-NVMe firmware, OS-to-monitor firmware) through a single unified mechanism. This multi-functional approach retains comprehensive information while avoiding the complexity of implementing separate logging systems for each interaction type.

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

3Reliability

If firmware-level crash handling is implemented, then reliability of crash detection is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvecrash detection reliabilityVSAvoidsystem operation simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The firmware-level crash handling system operates autonomously without requiring user intervention. The EC and logging infrastructure automatically detect crashes, log relevant information, and initiate remediation processes. This self-service approach maintains high reliability while preserving ease of operation, as users experience no additional complexity in system usage.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250077334A1Common handler for multitude of crash failures
Publication Date: 2025.03.06 DELL PROD LP
  • US20250077334A1 patent drawing
  • US20250077334A1 patent drawing
  • US20250077334A1 patent drawing

AI summary

Disclosed systems and methods for handling failures in an information handling system enable one or more crash handlers to communicate crash handler notifications to an EC of the information handling system. The EC is configured to perform crash operations including detecting a crash occurrence associated with either a crash handler notification from any of the one or more crash handlers or an SMM crash event. The EC may extract and store crash context information associated with the crash occurrence. The crash handler notifications may be communicated to the EC as MBOX commands via a peripheral interconnect, e.g., an enhanced serial peripheral interconnect (eSPI). Detecting a crash occurrence associated with the SMM event may include initiating an EC timer responsive to receiving an SMM entry message from an SMM handler and detecting the EC timer reaching a threshold value before the EC receives an SMM exit message.