Dynamic Memory Page Protection for Content Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory protection methods require large contiguous memory allocations, which are inefficient and lead to memory pressure and reduced system performance, as they are not compatible with modern operating systems that partition memory into small segments.

Innovation Solution

The method dynamically allocates and virtualizes protected memory regions, allowing data to be stored in noncontiguous portions, enabling the operating system to manage memory effectively without large contiguous allocations, and provides protection at a small granularity by controlling read and write requests to protected memory areas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If large contiguous memory is allocated for content storage, then content protection is achieved, but system performance deteriorates due to memory pressure and reduced available memory for other processes

Engineering Contradiction:
Improvecontent protectionVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the large contiguous memory allocation into smaller memory pages that can be dynamically managed by the operating system. Each page can be independently allocated, protected, and managed, allowing the system to maintain content protection while enabling the OS to efficiently manage memory resources and reduce memory pressure on other processes.

Inventive Principle:
Principle #1Segmentation

2Reliability

If memory is protected using conventional methods, then content security is improved, but memory availability for operating system management is reduced

Engineering Contradiction:
Improvecontent securityVSAvoidmemory management flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic memory protection where memory pages can be allocated, protected, and managed dynamically during runtime rather than requiring static pre-allocation. The protection status and allocation of memory pages can change based on system needs, allowing the operating system to flexibly manage memory resources while maintaining content security when required.

Inventive Principle:
Principle #15Dynamics

3Reliability

If fixed size protected region is specified at boot time, then content protection is established, but memory efficiency deteriorates due to conservative estimation and unused memory

Engineering Contradiction:
Improvecontent protectionVSAvoidmemory utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent replaces fixed-size protected regions with dynamic memory page allocation that adjusts based on actual content needs. Memory pages are allocated only when and where needed, and can be freed when no longer required, eliminating the waste of conservative over-allocation while maintaining robust content protection for the actual content being stored.

Inventive Principle:
Principle #15Dynamics

4Productivity

If dynamic memory allocation is used, then memory efficiency is improved, but content protection becomes more difficult due to memory fragmentation

Engineering Contradiction:
Improvememory efficiencyVSAvoidcontent protection
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments content into fixed-size memory pages that can be dynamically allocated and scattered throughout memory. Each page maintains its protection status independently, allowing the system to achieve both memory efficiency through dynamic allocation and reliable content protection through page-level security controls, even in fragmented memory environments.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9823869B2System and method of protecting data in dynamically-allocated regions of memory
Publication Date: 2017.11.21 NVIDIA CORP
  • US9823869B2 patent drawing
  • US9823869B2 patent drawing
  • US9823869B2 patent drawing

AI summary

Embodiments of the claimed subject matter provide systems and methods for protecting data in dynamically allocated regions of memory. The method can include receiving the read request where the read request comprises a virtual address associated with a memory and determining a physical address associated with the virtual address. The further includes determining whether the physical address associated with the virtual address is read protected and determining whether the read request is from a component allowed to access read protected memory. The read protected memory was dynamically allocated on a per page basis. The method further includes in response to determining that the read request is to a read protected physical address and determining that the component is allowed to access read protected memory, sending the data from the physical address in the memory.