SMI Handler Relocation for Memory Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information handling systems face challenges in error recovery due to reliance on memory for error handling, where correctable errors in memory DIMMs can become uncorrectable before appropriate action can be taken, leading to system failures.

Innovation Solution

An SMI handler location module monitors memory units and moves the SMI handler to another DIMM upon error detection, with multiple copies stored across DIMMs, allowing the SMI handler to be run from a different location, and adjusting the SMI Base address and SMM TSEG area for relocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the SMI handler is stored in a single fixed memory location, then the system structure is simple and easy to manage, but the system becomes vulnerable to failures when memory errors occur in that location

Engineering Contradiction:
Improveerror recovery capabilityVSAvoidmemory management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates multiple copies of the SMI handler code across different memory locations. When an error is detected in the memory unit containing the active SMI handler, the system can switch to a copy stored in a different memory unit, ensuring continuous error handling capability even when the original memory becomes corrupt.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary error detection and handler relocation before actual system failure occurs. The SMI handler monitors memory errors and proactively moves to an alternate memory location when errors are detected, preventing catastrophic failure rather than reacting after failure has occurred.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple copies of the SMI handler are stored across different DIMMs, then error recovery reliability is improved, but the memory management complexity and overhead increase

Engineering Contradiction:
Improveerror recovery capabilityVSAvoidSMI handler location management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary data structure (relocation table or base address storage) that manages the locations of multiple SMI handler copies. This intermediary layer simplifies the complexity by providing a centralized mechanism to track and switch between handler locations, rather than requiring complex scattered management throughout the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the SMI handler is moved to another memory unit upon error detection, then system reliability is improved, but the response time and operational complexity increase

Engineering Contradiction:
Improveerror recovery capabilityVSAvoidhandler relocation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Multiple copies of the SMI handler are pre-positioned in different memory units before errors occur. When an error is detected, the system does not need to copy or relocate the handler from scratch - it simply switches to an already-prepared copy, dramatically reducing the time required for failover.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of moving or copying the handler after error detection (which would take time), the system maintains static copies in advance and performs a simple pointer or base address switch, making the relocation operation extremely fast and minimizing operational disruption.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7596648B2System and method for information handling system error recovery
Publication Date: 2009.09.29 DELL PROD LP
  • US7596648B2 patent drawing
  • US7596648B2 patent drawing
  • US7596648B2 patent drawing

AI summary

An information handling system recovers from memory errors associated with a memory unit that supports operation of an SMI handler by using another memory unit to support operation of the SMI handler. For example, if an SMI handler detects an error associated with a DIMM that supports operation of the SMI handler, then an SMI handler location module moves the SMI handler to another DIMM. For instance, a jump command is activated to jump to a pre-existing copy of the SMI handler stored at another DIMM. As another example, a relocation of the SMI handler to another DIMM is performed by changing address information used by the chipset and CPUs to run the SMI handler.