Succinct Memory Identifiers for Scalable Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional memory allocation using pointers is inefficient due to significant memory space requirements and performance costs associated with compression and decompression, especially when dealing with small data sizes relative to large pointer sizes.

Innovation Solution

Implementing memory allocation using succinct identifiers such as slab identifiers and hash function identifiers, which reduce the bit length and storage requirements, allowing for faster look-ups and updates, and enabling increased fanout in data structures like radix trees and B-trees, thereby reducing the number of memory accesses and page faults.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional 64-bit pointers are used to store memory addresses, then the memory address space is sufficient to cover the entire addressable memory, but the memory space consumed by pointers is large and the access efficiency is low

Engineering Contradiction:
Improvememory space consumed by pointersVSAvoidmemory access efficiency
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments a 64-bit memory address into multiple components: a 44-bit base address, a 10-bit offset, and additional metadata fields. This segmentation allows the pointer to be stored more efficiently while still providing full 64-bit address space coverage, reducing the effective storage requirement from 64 bits to a compressed format that includes the base address, offset, and metadata

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements nested compression by placing compressed pointer data within data structure nodes. The compressed pointer format embeds multiple levels of information including the base address, offset, and metadata about the pointed-to data, creating a nested structure that maximizes information density while minimizing storage space

Inventive Principle:
Principle #7Nested doll (Nesting)

2Quantity of substance

If pointer compression is applied to reduce memory space, then the memory space requirement is reduced, but the complexity of managing compressed pointers of varying sizes increases

Engineering Contradiction:
Improvememory space requirementVSAvoidcomplexity of managing compressed pointers
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent changes the parameters of the pointer representation from a fixed 64-bit format to a structured format with fixed field widths (44-bit base address, 10-bit offset, metadata fields). This parameter standardization eliminates the variability problem while still achieving compression, as the total size is reduced from 64 bits to a standardized compressed format that is easier to manage

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If compression and decompression are applied to pointers, then the memory space is reduced, but the performance and latency cost increases

Engineering Contradiction:
Improvememory spaceVSAvoidcompression and decompression time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary organization of memory into base address regions with associated metadata before compression is needed. By pre-organizing memory into manageable base address blocks with metadata about their contents, the system eliminates the need for complex real-time compression and decompression operations, as the data is already in an optimized format for efficient access

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If higher compression ratios are achieved by compressing more data, then the memory space is reduced, but the cost to compress and decompress increases

Engineering Contradiction:
Improvecompression ratioVSAvoidcompression and decompression cost
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent extracts and separates the metadata information about pointed-to data from the pointer itself, storing it in dedicated metadata fields within the compressed pointer structure. This extraction allows the system to achieve high compression ratios by efficiently representing only the essential addressing information (base address and offset) while storing additional data characteristics separately, reducing the computational overhead of compression and decompression

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11073995B2Implementing scalable memory allocation using identifiers that return a succinct pointer representation
Publication Date: 2021.07.27 ADVANCED MICRO DEVICES INC
  • US11073995B2 patent drawing
  • US11073995B2 patent drawing
  • US11073995B2 patent drawing

AI summary

A method and device generates a slab identifier and a hash function identifier in response to a memory allocation request with a request identifier and allocation size from a memory allocation requestor. The slab identifier indicates a memory region associated with a base data size and the hash function identifier indicates a hash function. The method and device provides a bit string including the slab identifier and the hash function identifier to the memory allocation requestor.