Memory Protection Bitmap for Fragmented Protected Allocations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory protection techniques in computing devices increase memory overhead, impact transaction bandwidth, and require significant modifications to memory management procedures, leading to inefficiencies and performance degradation.

Innovation Solution

Implementing a bitmap to indicate memory blocks storing application and protection data, allowing for flexible, fragmented memory allocations that reduce memory consumption and simplify transactions, without necessitating changes to the operating system's memory management procedures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory protection data (hash digest, ECC syndrome) is allocated for every 64 bytes of application data, then security and functional safety are improved, but memory capacity overhead increases by up to 20%

Engineering Contradiction:
Improvesecurity and functional safetyVSAvoidmemory capacity overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The memory is divided into multiple memory blocks, each containing a subset of application data and its corresponding protection data. This segmentation allows protection data to be distributed across different blocks rather than requiring a single large contiguous allocation, reducing the overhead impact on total memory capacity while maintaining protection for all application data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of memory organization by creating a mapping relationship between application data blocks and protection data blocks. Instead of linear allocation, protection data can be stored in different memory blocks than the application data they protect, allowing more flexible memory utilization and reducing capacity overhead.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If protection data is stored in separate memory blocks from application data, then memory management flexibility is improved, but transaction bandwidth and access efficiency deteriorate

Engineering Contradiction:
Improvememory management flexibilityVSAvoidtransaction bandwidth
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges application data and its corresponding protection data into the same memory block when possible. This co-location strategy ensures that when the processor needs to access protected application data, the protection data is already available in the same block, eliminating additional memory transactions and maintaining high transaction bandwidth while still providing memory management flexibility.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a memory management intermediary layer that intelligently determines whether to co-locate protection data with application data in the same block or store them separately. This intermediary optimizes the trade-off between flexibility and transaction efficiency by making context-aware decisions about data placement based on access patterns and memory availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12572699B2Using memory protection data
Publication Date: 2026.03.10 GOOGLE LLC
  • US12572699B2 patent drawing
  • US12572699B2 patent drawing
  • US12572699B2 patent drawing

AI summary

The present disclosure describes techniques and apparatuses that are directed to using memory protection data within a computing device. Techniques include allocating regions of a memory for storing application data and protection data. Techniques also include creating a bitmap having bit values corresponding to memory blocks within the allocated regions. The one or more bit values can be indicative of whether application data and/or protection data 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.