Exception Handler Segmentation for Reliable Memory Error Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing exception handling mechanisms in computer systems are unreliable due to the risk of stored exception handlers being located in faulty memory, leading to system shutdowns during hardware errors, and current solutions are limited in applicability and require expensive, scarce safe memory.

Innovation Solution

The solution involves splitting the exception handler into a unique dispatcher in safe memory and multiple instances of the main exception handler in unsafe memory, allowing for reliable exception handling by ensuring execution can continue even if some memory modules fail, with the dispatcher directing execution to intact handler instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the exception handler is stored in unsafe memory region, then the storage space is sufficient for complete exception handling routines, but the reliability of exception handling deteriorates because the handler itself may be corrupted by memory errors

Engineering Contradiction:
Improveexception handling reliabilityVSAvoidstorage space for exception handler
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The exception handling system is segmented into two distinct parts: a small dispatcher stored in safe memory that performs initial error checking and coordination, and a larger main exception handler stored in unsafe memory that performs the actual exception processing. This segmentation allows the critical coordination logic to reside in reliable memory while the bulk of the handling routines can utilize the larger unsafe memory space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dispatcher acts as an intermediary between the memory error detection mechanism and the main exception handler. It verifies the integrity of the main exception handler before execution and coordinates the exception handling process, thereby protecting the system from corrupted handler code while enabling comprehensive exception processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If the exception handler is stored in safe memory region, then the reliability of exception handling is improved, but the storage space available is severely limited and cannot accommodate complete exception handling routines

Engineering Contradiction:
Improvestorage space for exception handlerVSAvoidexception handling reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The exception handling system is segmented into two distinct parts: a small dispatcher stored in safe memory that performs initial error checking and coordination, and a larger main exception handler stored in unsafe memory that performs the actual exception processing. This segmentation allows the critical coordination logic to reside in reliable memory while the bulk of the handling routines can utilize the larger unsafe memory space.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a single exception handler is used, then the device complexity is reduced, but the reliability deteriorates because there is no backup if the handler is corrupted

Engineering Contradiction:
Improveexception handling reliabilityVSAvoidexception handling structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The exception handling system is segmented into two distinct parts: a small dispatcher stored in safe memory that performs initial error checking and coordination, and a larger main exception handler stored in unsafe memory that performs the actual exception processing. This segmentation allows the critical coordination logic to reside in reliable memory while the bulk of the handling routines can utilize the larger unsafe memory space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dispatcher performs preliminary verification of the main exception handler's integrity before execution is transferred to it. This preliminary check ensures that the main handler has not been corrupted by memory errors, thereby preventing propagation of errors while maintaining a relatively simple overall structure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8166338B2Reliable exception handling in a computer system
Publication Date: 2012.04.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8166338B2 patent drawing
  • US8166338B2 patent drawing
  • US8166338B2 patent drawing

AI summary

A method provides exception handling for a computer system. As an error in the computer system's hardware is detected, an exception vector pertaining to the hardware error is determined, and execution flow is transferred to a dispatcher that corresponds/pertains to the exception vector. A specific instance of a plurality of instances of a main exception handler is selected, and the specific instance of the main exception handler is executed. The actual exception handler thus contains two distinct parts, a dispatcher, which is unique and preferably resides in a safe memory region, and a main exception handler, multiple copies of which reside in an unsafe memory region.