Hardware Memory Corruption Detection via Metadata Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory corruption, caused by programming errors or malicious attacks, leads to system malfunctions and performance degradation, and existing software solutions for detection are cumbersome and resource-intensive.

Innovation Solution

A memory corruption detection system that manages heap memory by validating pointers through a metadata table with unique identifiers for contiguous memory blocks, generating and comparing MCD unique IDs to detect and prevent memory corruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software solutions are used for memory corruption detection, then memory corruption can be detected, but the computer program runs significantly slower and the solutions are difficult to use

Engineering Contradiction:
Improvememory corruption detection capabilityVSAvoidprogram execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based memory corruption detection with a hardware-based solution. A memory management unit (MMU) is introduced that operates at the hardware level to validate memory addresses and detect corruption. This hardware implementation performs detection functions parallel to the main execution flow, eliminating the performance penalty of software-based approaches while maintaining detection reliability.

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

Solution Approach 2:

The patent introduces an intermediary memory management unit (MMU) between the processor and memory. This MMU acts as a mediator that intercepts memory access instructions, validates addresses against a metadata table, and prevents unauthorized or corrupted memory access. The MMU handles detection functions separately from the main program flow, allowing the program to execute at full speed while detection occurs in parallel through the intermediary hardware component.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If software debugging tools are used for memory corruption detection, then memory corruption can be detected, but the solutions are difficult to use in debugging the computer program

Engineering Contradiction:
Improvememory corruption detection capabilityVSAvoiddebugging usability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements a self-service memory protection system where the hardware automatically performs detection and prevention functions without requiring manual debugging intervention. The MMU continuously validates memory accesses, maintains a metadata table of allocated memory regions, and automatically blocks unauthorized access. This eliminates the need for developers to manually configure or monitor debugging tools, making the system both reliable and easy to use.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If traditional memory management is used, then memory allocation is simple, but memory corruption can occur leading to system malfunctions

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidsystem stability against memory corruption
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent implements preliminary action by pre-establishing a metadata table that defines the boundaries and properties of allocated memory regions before actual memory access occurs. When memory is allocated, the MMU immediately registers the memory region in the metadata table with unique identifiers. This preliminary setup enables automatic validation of all subsequent memory accesses without complicating the allocation process itself, maintaining simplicity while preventing corruption through pre-configured protection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional software-based memory management with a hardware-enforced system. The MMU uses hardware logic to automatically validate memory addresses against the metadata table, replacing manual or software-based checks. This hardware enforcement maintains the simplicity of memory allocation from the programmer's perspective while providing robust, automatic protection against memory corruption that cannot be bypassed by software errors.

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

Data Source

PatentUS10585741B2Heap management for memory corruption detection
Publication Date: 2020.03.10 INTEL CORP
  • US10585741B2 patent drawing
  • US10585741B2 patent drawing
  • US10585741B2 patent drawing

AI summary

Memory corruption detection technologies are described. A processor core of a processor can receive a first pointer produced by a first memory access instruction of an application being executed by the processor. The first pointer includes a first memory address of a first memory object and a third metadata value and the memory address identifies a memory block in the first set of one or more contiguous memory blocks. The processor core compares the third metadata value to the first metadata value and communicates a memory corruption detection message to the application when the third metadata value does not match the first metadata value. The processor core provides the first memory object to the application when the third metadata value matches the first metadata value.