Memory Protection Data Co-Location with Bitmap Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory protection techniques in computing devices increase memory capacity and transaction bandwidth overhead, inefficiently using memory resources and complicating operating system management procedures.

Innovation Solution

Implementing a bitmap to indicate memory blocks storing application or protection data, allowing flexible and fragmented memory allocations, reducing memory consumption and simplifying transactions by co-locating protection data within memory blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory protection data (hash digest, ECC syndrome) is stored separately from application data, then data integrity and security are improved, but memory capacity overhead increases by up to 20%

Engineering Contradiction:
Improvedata integrityVSAvoidmemory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent combines application data and protection data into the same memory page, with protection data stored in unused portions of the page structure. This merging eliminates the need for separate protection data storage regions, thereby reducing memory capacity overhead while maintaining data integrity through combined storage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent nests protection data within the memory page structure itself, utilizing unused portions of the page to store hash digests and ECC syndrome data. This nesting approach allows protection data to be embedded within the existing memory allocation without requiring additional memory capacity.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If protection data is stored in separate memory regions, then data security is improved, but transaction bandwidth overhead increases due to additional memory accesses

Engineering Contradiction:
Improvedata securityVSAvoidtransaction bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By merging application data and protection data into the same memory page, the patent enables single memory access transactions to retrieve both data types simultaneously. This eliminates the need for separate memory accesses for protection data, thereby maintaining transaction bandwidth efficiency while preserving data security.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses the memory page structure as an intermediary that co-locates application data and protection data. This intermediary structure allows the memory controller to retrieve both data types in a single transaction, reducing the number of memory accesses required while maintaining security through structured data organization.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If traditional memory allocation methods are used for protection data, then memory management simplicity is maintained, but memory efficiency decreases due to fragmented allocations

Engineering Contradiction:
Improvememory management simplicityVSAvoidmemory efficiency
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent merges protection data into the same memory page allocations as application data, eliminating the need for separate protection data allocation procedures. This approach maintains memory management simplicity by using existing page-based allocation while improving memory efficiency through consolidated storage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes memory pages universal containers that can hold both application data and protection data simultaneously. This multi-functionality allows a single memory allocation mechanism to serve dual purposes, improving memory efficiency without complicating the allocation process.

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

Data Source

PatentEP4150455B1Method and device for memory protection data
Publication Date: 2025.09.03 GOOGLE LLC
  • EP4150455B1 patent drawingFigure 1
  • EP4150455B1 patent drawingFigure 2
  • EP4150455B1 patent drawingFigure 3

AI summary

The present disclosure describes techniques and apparatuses that are directed to using memory protection data (124, 126) within a computing device (102). Techniques include allocating regions (208, 210, 302, 304) of a memory (122) for storing application data (124) and protection data (126). Techniques also include creating a bitmap (130) having bit values corresponding to memory blocks within the allocated regions (208, 210, 302, 304). The one or more bit values can be indicative of whether application data (124) and/or protection data (126) are present in a memory block. The techniques and apparatuses can enable memory protection, such as memory security (e.g., encryption) and memory safety (e.g., error correction code (ECC) usage), to be efficiently used while permitting discontiguous memory allocations and without substantial operating system modification.