Tiled Virtual Memory Management Using Boolean Space Algebra

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current digital systems managing large data arrays for applications like image and video processing face inefficiencies in physical memory allocation and complexity in managing tiled virtual memory, leading to suboptimal performance.

Innovation Solution

The implementation of a tiled virtual memory subsystem using Boolean space algebra for efficient allocation and deallocation of two-dimensional arrays, where physical memory pages are allocated on an as-needed basis and managed through a quadtree representation and Boolean operations, allowing for optimized memory mapping and access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If specialized memory mapping logic is used to translate array virtual addresses into tiled virtual memory addresses, then performance of applications manipulating large data arrays is improved, but complexity of managing the tiled virtual memory space increases

Engineering Contradiction:
Improveperformance of applicationsVSAvoidcomplexity of managing tiled virtual memory
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The virtual memory space is segmented into tiles that map to physical memory pages. Each tile represents a contiguous block of virtual memory pages that can be mapped to a contiguous block of physical memory pages, creating a hierarchical structure that simplifies management while maintaining performance benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A tile manager component is introduced as an intermediary between the virtual memory system and physical memory allocation. The tile manager handles tile allocation, deallocation, and mapping operations, abstracting the complexity of tiled virtual memory management from applications while preserving performance improvements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If physical memory is reserved for tile memory use, then tiled virtual memory management can be implemented, but memory allocation efficiency decreases

Engineering Contradiction:
Improvetiled virtual memory managementVSAvoidmemory allocation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system transitions from static memory reservation to dynamic memory allocation. Tiles are allocated from the available physical memory pool on-demand based on application needs, and freed tiles are returned to the pool for reuse. This dynamic approach eliminates the need for permanent memory reservation while ensuring reliable tiled virtual memory management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory allocation parameters are changed from fixed reservation to flexible allocation. The tile manager dynamically adjusts the amount of physical memory allocated to tiles based on current system conditions, application requirements, and availability, optimizing memory utilization while maintaining management reliability.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If tiles are mapped to physical memory pages, then paging activity is reduced, but memory fragmentation increases

Engineering Contradiction:
Improvepaging activityVSAvoidmemory fragmentation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary actions by pre-allocating and pre-mapping tiles to physical memory pages before they are needed by applications. The tile manager maintains a pool of pre-mapped tiles that can be quickly assigned to applications, reducing the need for paging operations while managing fragmentation through proactive memory organization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a tile recycling mechanism where freed tiles are immediately recovered and returned to the available pool. This allows the tile manager to reuse previously allocated memory regions, reducing fragmentation by reusing free space rather than allocating entirely new regions, while maintaining reduced paging activity through efficient tile reuse.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8245011B2Method and system for geometry-based virtual memory management in a tiled virtual memory
Publication Date: 2012.08.14 TEXAS INSTRUMENTS INC
  • US8245011B2 patent drawing
  • US8245011B2 patent drawing
  • US8245011B2 patent drawing

AI summary

Methods and systems are provided for geometry-based virtual memory management. The methods and systems use Boolean space algebra operations to manage allocation and deallocation of tiled virtual memory pages in a tiled virtual memory provided by a tiled virtual memory subsystem. A region quadtree may be maintained representing a current allocation state of tiled virtual memory pages within a container. The region quadtree may be used to locate a rectangle or two dimensional (2D) array of unallocated tiled virtual memory pages, and physical memory pages may be mapped to tiled virtual memory pages in the rectangle by updating a lookup table used to translate tiled virtual memory page addresses to physical memory page addresses. A union or intersection of region quadtrees may be performed to generate a new region quadtree representing a new current allocation state of the tiled virtual memory pages.