Memory Allocation Metadata Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory allocation systems in data processing systems face inefficiencies due to extensive metadata overhead, particularly in object-oriented programming models where frequent small memory allocations and deallocations lead to performance degradation and memory inefficiency.

Innovation Solution

A memory manager that divides memory into lanes and uses virtual memory addresses to store allocation metadata, allowing for efficient memory allocation and deallocation by servicing requests within specific size ranges and deferring larger allocations to alternate allocators, reducing metadata storage and processing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of memory allocations increases to serve more objects, then the memory management capability improves, but the metadata overhead increases extensively

Engineering Contradiction:
Improvememory management capabilityVSAvoidmetadata overhead
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent combines multiple metadata elements (allocation size, location, and free space information) into a single compact metadata structure per memory block, rather than maintaining separate metadata for each allocation. This merging reduces the total metadata overhead while still enabling management of multiple allocations within the same memory block.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The metadata structure is designed to serve multiple functions simultaneously: it tracks allocated blocks, identifies free space, and manages re-allocation. This multi-functional metadata approach eliminates the need for separate metadata structures for different management tasks, reducing overall metadata requirements.

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

2Quantity of substance

If the number of small memory allocations increases, then the memory utilization improves, but the processing overhead increases due to extensive metadata management

Engineering Contradiction:
Improvememory utilizationVSAvoidprocessing overhead
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system pre-establishes a compact metadata structure that is ready to handle multiple allocations before they occur. By preparing the metadata framework in advance with predefined fields for tracking multiple allocations, the system avoids the overhead of dynamically creating and managing separate metadata for each allocation event.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter organization within metadata from individual per-allocation records to a consolidated structure where a single metadata block tracks multiple allocations. This parameter reorganization reduces the total number of metadata operations required during allocation and deallocation events.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If separate metadata is maintained for each allocation to track free space, then the allocation precision improves, but the device complexity increases

Engineering Contradiction:
Improveallocation tracking precisionVSAvoidmetadata structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the metadata structure into distinct fields within a single metadata block, where each field serves a specific tracking function. This segmentation allows precise tracking of multiple allocations while keeping the overall structure compact and manageable, avoiding the complexity of distributed metadata across multiple structures.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9361215B2Memory allocation improvements
Publication Date: 2016.06.07 APPLE INC
  • US9361215B2 patent drawing
  • US9361215B2 patent drawing
  • US9361215B2 patent drawing

AI summary

In one embodiment, a memory allocator of a memory manager can service memory allocation requests within a specific size-range from a section of pre-reserved virtual memory. The pre-reserved virtual memory allows allocation requests within a specific size range to be allocated in the pre-reserved region, such that the virtual memory address of a memory allocation serviced from the pre-reserved region can indicate elements of metadata associated with the allocations that would otherwise contribute to overhead for the allocation.