Multidimensional Contiguous Memory Allocation Reducing Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual memory allocation methods are inefficient in utilizing multidimensional physical memory, leading to fragmentation and increased complexity in allocating larger contiguous portions, especially in dense memory devices, due to the lack of direct correlation between virtual and physical address spaces.

Innovation Solution

The implementation of multidimensional contiguous memory allocation, which allows for explicit allocation of virtual memory in well-defined bit patterns without traversing all possible bits of the target physical memory, reducing the search space for available memory and minimizing fragmentation across multiple dimensions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional virtual memory allocation methods are used, then memory can be allocated, but memory fragmentation increases and search space for available memory expands

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoidmemory fragmentation
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent transitions from traditional one-dimensional virtual memory allocation to multidimensional contiguous memory allocation. The physical memory is organized into multiple dimensions (e.g., banks, channels, dies, subarrays, rows, columns), and the allocation system searches for contiguous regions across these dimensions. This dimensional expansion allows for more efficient utilization of memory space by considering spatial relationships in multiple directions simultaneously, thereby reducing fragmentation and improving allocation efficiency.

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

2Reliability

If traditional memory allocation traverses all possible bits, then complete coverage is achieved, but search time and complexity increase

Engineering Contradiction:
Improveallocation completenessVSAvoidsearch time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the physical memory into distinct dimensional hierarchies (banks, channels, dies, subarrays, rows, columns) and introduces metadata structures that track allocation status at each dimensional level. Instead of traversing all possible bit positions linearly, the system divides the search space into manageable dimensional segments and uses metadata to quickly identify candidate regions that satisfy contiguity requirements across all dimensions, significantly reducing search time while maintaining allocation completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary organization of memory allocation information through metadata structures that pre-process and store allocation status, contiguity information, and dimensional relationships. This preliminary action allows the allocation system to quickly identify candidate regions without performing exhaustive searches at allocation time, thereby reducing search complexity and time while ensuring complete and accurate allocation decisions.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multidimensional contiguous allocation is implemented, then memory utilization improves, but allocation complexity increases

Engineering Contradiction:
Improvememory utilizationVSAvoidallocation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces metadata structures as intermediaries between the allocation request and the physical memory organization. These metadata structures store information about allocation status, contiguity relationships, and dimensional hierarchies, allowing the complex multidimensional allocation logic to be managed through structured data rather than direct complex calculations. The metadata acts as a mediator that simplifies the allocation process while enabling sophisticated multidimensional contiguous region identification.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If virtual and physical address spaces are not directly correlated, then flexibility is maintained, but allocation efficiency decreases

Engineering Contradiction:
Improveaddress space flexibilityVSAvoidallocation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies local quality by maintaining different characteristics in virtual and physical address spaces. The virtual address space retains its traditional flexible, non-contiguous mapping characteristics for adaptability, while the physical address space is organized with explicit multidimensional contiguity properties for efficient allocation. The translation mechanism preserves local properties of each address space type rather than forcing a uniform structure, allowing both flexibility and efficiency to coexist in their respective domains.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10540093B2Multidimensional contiguous memory allocation
Publication Date: 2020.01.21 MICRON TECHNOLOGY INC
  • US10540093B2 patent drawing
  • US10540093B2 patent drawing
  • US10540093B2 patent drawing

AI summary

The present disclosure is related to multidimensional contiguous memory allocation. Multidimensional contiguous memory allocation can include receiving an allocation request for an amount of memory that is contiguous in a multiple dimensions of the memory and determining whether the memory includes a region corresponding to the requested amount that is a candidate as being unallocated based on information indicating a maximum number of contiguous unallocated allocable portions of the memory. In response to determining that the memory includes the candidate region, the method can include determining whether the candidate region is unallocated based on a subset of information indicating whether each allocable portion of the memory is allocated. The subset of information corresponds to the candidate region only.