Segmented Error Handling Devices for SOC Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current error handling systems in systems-on-a-chip (SOC) face challenges in efficiently logging and reporting errors, especially after catastrophic events or cyber-attacks, which hinder rapid debugging and increase downtime due to incomplete or inaccessible error data.

Innovation Solution

The implementation of multiple error handling devices with global and local error registers, where error messages are logged based on device-specific port identifiers, allowing for efficient propagation of errors to a global error handling device, and masking/unmasking of error severity levels for controlled reporting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single global error handler is used to log all errors, then the error logging structure is simple, but error data becomes inaccessible after catastrophic errors or resets

Engineering Contradiction:
Improveerror handling structureVSAvoiderror data accessibility
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The error handling system is divided into multiple independent error handlers (global error handler and satellite error handlers), each capable of independently logging errors to its own registers. This segmentation ensures that if one error handler is affected by a catastrophic error or reset, other handlers remain functional and preserve error data.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If error data is logged centrally in one location, then the logging mechanism is simple, but the system cannot rapidly isolate and localize failure causes

Engineering Contradiction:
Improveerror logging mechanismVSAvoiddebugging speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Multiple satellite error handlers are distributed across different Platform Controller Hubs (PCHs), each logging errors from specific devices or device groups to local registers. This distribution enables system administrators to rapidly identify which PCH or device group generated an error, significantly accelerating failure localization and debugging processes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The satellite error handlers act as intermediaries between specific devices/PCHs and the global error handler. They first log errors locally in their own registers, preserving error data at the source, and can subsequently propagate selected errors to the global error handler for comprehensive system-wide error tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If all error severity levels are reported, then complete error information is captured, but the reporting system becomes overwhelmed with unnecessary data

Engineering Contradiction:
Improveerror information completenessVSAvoiderror reporting system
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

Different error handlers can apply different filtering criteria based on their local requirements. Satellite error handlers may filter or prioritize errors specific to their associated devices or PCHs, while the global error handler maintains a comprehensive view. This allows the system to capture complete error information where needed while reducing unnecessary data propagation elsewhere.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10802903B2Logging errors in error handling devices in a system
Publication Date: 2020.10.13 INTEL CORP
  • US10802903B2 patent drawing
  • US10802903B2 patent drawing
  • US10802903B2 patent drawing

AI summary

An error handling device logs errors in a computing system including a plurality of devices connected to the error handling device. The error handling device provides groups of error registers. Each group of error registers is associated with a value of a plurality of values. Each of the devices that communicate errors to the error handling device are associated with one of the values. The error handling device receives error messages from the devices connected to the error handling device and for each received error message of the received error messages, determines a value of the plurality of values associated with the device transmitting the received error message, determines the group of error registers associated with the determined value, and log the received error message in the determined group of error registers.