Memory Margin Aware Software Execution for Reliable Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transient signal errors in computing devices due to process, temperature, and voltage variations negatively impact system reliability, as existing technologies lack effective methods to prevent memory errors during software execution.

Innovation Solution

A computing device that performs memory training and generates margin data to identify memory ranks with higher tolerance to signal misalignment, mapping critical software components to these ranks to reduce memory errors, thereby improving system stability and reliability without additional hardware, software, or power costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory training is performed to generate margin data for each memory rank, then memory reliability is improved by identifying ranks with higher tolerance to signal misalignment, but device complexity increases due to additional training and margin analysis processes

Engineering Contradiction:
Improvememory reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs memory training and generates margin data during the boot process before the operating system loads critical software components. This preliminary action allows the system to identify memory ranks with higher margins in advance, enabling informed placement decisions for critical software without adding complexity to the operational system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the placement parameters of critical software components based on memory margin characteristics. By analyzing margin data and adjusting where software is loaded in memory, the system optimizes reliability without requiring hardware changes or complex runtime management mechanisms.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If critical software components are placed in memory ranks with higher margins, then system stability is improved by reducing memory errors, but manufacturing precision requirements increase to ensure accurate margin measurement and placement

Engineering Contradiction:
Improvesystem stabilityVSAvoidmanufacturing precision
Core Design Contradiction:
Stability of the object's compositionVSManufacturing precision

Solution Approach 1:

The patent replaces physical hardware redundancy mechanisms with a software-based memory placement strategy. Instead of using additional hardware components or complex manufacturing processes to ensure reliability, the system uses software to dynamically place critical components in optimized memory locations based on electrical characteristics.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If memory margin analysis is performed during boot process, then software placement accuracy is improved by mapping critical components to higher-margin ranks, but boot time increases due to additional training and analysis steps

Engineering Contradiction:
Improvesoftware placement accuracyVSAvoidboot time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs memory training and margin analysis continuously during the boot process without interrupting the overall system initialization flow. The margin data generation and software placement occur as integrated parts of the boot sequence, maintaining continuous progress toward system readiness while achieving precise placement.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10467028B2Technologies for memory margin aware reliable software execution
Publication Date: 2019.11.05 ALTERA CORP
  • US10467028B2 patent drawing
  • US10467028B2 patent drawing
  • US10467028B2 patent drawing

AI summary

Technologies for reliable software execution include a computing device having a memory that includes multiple ranks. The computing device trains the ranks of the memory and determines a consolidated memory score for each rank. Each consolidated memory score is indicative of a margin of the corresponding rank. The computing device identifies a higher-margin address range using the consolidated memory scores. The higher-margin memory address range is mapped to a higher-margin memory rank. The computing device loads high-priority software into the higher-margin memory address range. The high-priority software may include an operating system or a critical application. A pre-boot firmware environment may publish the consolidated memory scores to a higher-level software component, such as the operating system. The pre-boot firmware environment may map a predetermined address range to the higher-margin memory rank. A critical application may request to be loaded into a higher-margin address range. Other embodiments are described and claimed.