Executed Code Error Checking Using Cross-Memory ECC Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices face challenges in accurately identifying and correcting errors in executed code without introducing new errors, particularly due to intentional or unintentional threats such as hacker attacks, which can lead to financial loss and security issues.

Innovation Solution

Implementing a system where a host computing system compares data read from a memory device with error correcting code (ECC) from a different memory device to identify errors, using cryptographic primitives and integrity checks to prevent automatic correction and instead alert the host to take appropriate actions, thereby avoiding the introduction of new errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If automatic error correction is implemented in memory devices, then error identification capability is improved, but new errors may be introduced during correction operations

Engineering Contradiction:
Improveerror identification capabilityVSAvoidnew errors introduced during correction
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent uses an intermediary verification process where read data is compared against ECC data before correction is applied. This intermediary step prevents direct automatic correction that could introduce new errors, allowing the system to verify error presence without executing potentially harmful correction operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary comparison of read data with ECC data before any correction action is taken. This preliminary verification step identifies errors in advance and allows the host system to decide whether correction is safe, preventing premature correction that could introduce new errors.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple memory devices are used for error checking, then data integrity is improved, but system complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines data storage and ECC storage into a unified memory system where both types of data are managed together. This merging approach allows error checking functionality to be integrated without requiring completely separate systems, reducing overall complexity while maintaining data integrity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory devices serve multiple functions: storing both regular data and ECC data, performing error detection, and enabling host-controlled correction decisions. This multi-functionality reduces the need for separate specialized components, simplifying the overall system architecture while improving data integrity.

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

Data Source

PatentUS11755406B2Error identification in executed code
Publication Date: 2023.09.12 MICRON TECHNOLOGY INC
  • US11755406B2 patent drawing
  • US11755406B2 patent drawing
  • US11755406B2 patent drawing

AI summary

The present disclosure includes apparatuses, methods, and systems for error identification on executed code. An embodiment includes memory and circuitry configured to read data stored in a secure array of the memory, identify a different memory having an error correcting code (ECC) corresponding to the read data of the memory, execute an integrity check to compare the ECC to the read data of the memory; and take an action in response to the comparison of the read data of the memory and the ECC, wherein the comparison indicates that the ECC identified an error in the read data of the memory.