Memory Management Using Internal Handles and Pool Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management systems, particularly software-based ones, face inefficiencies in managing memory allocation and deallocation, leading to high overhead and power consumption, which is a challenge for embedded applications with resource constraints.

Innovation Solution

A machine-implemented memory management method that divides a block of contiguous data storage locations into pools of memory chunks with varying sizes, using internal handles smaller than physical addresses for efficient allocation and deallocation, and maintains pool queues for each pool to manage allocatable memory chunks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If software-based memory management systems are used, then implementation flexibility is maintained, but processing speed and power efficiency deteriorate

Engineering Contradiction:
Improvememory allocation speedVSAvoidmemory management system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The memory pool is divided into multiple pools of memory chunks with different sizes. Each pool is managed independently with its own pool queue, allowing parallel access and reducing contention. This segmentation enables faster allocation by directing requests to appropriate pools without requiring complex global memory search.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary translation layer is introduced between physical addresses and internal handles. The physical address translation to smaller internal handles reduces the amount of data that needs to be processed and stored, improving speed while the translation mechanism manages the complexity of address mapping.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If full physical addresses are used for memory chunk identification, then complete addressing capability is maintained, but memory overhead and processing burden increase

Engineering Contradiction:
Improvememory overheadVSAvoidaddress translation complexity
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The essential identifying portion of the physical address is extracted and stored as a smaller internal handle. This handle contains only the necessary information to uniquely identify a memory chunk within its pool, eliminating redundant address bits and reducing memory overhead while maintaining complete addressing capability through the pool handle mapping.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Different pools use different sized internal handles optimized for their specific address ranges and chunk counts. This local optimization allows each pool to use the minimum necessary handle size, reducing overall memory overhead while maintaining ease of operation within each localized pool context.

Inventive Principle:
Principle #3Local quality

3Productivity

If memory is allocated in fixed-size chunks, then allocation simplicity is improved, but memory utilization efficiency deteriorates

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidpool management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory system is segmented into multiple pools, each with fixed-size chunks but different pool sizes. This allows the system to maintain the simplicity of fixed-size allocation within each pool while achieving variable-size memory utilization across the entire memory space by selecting appropriate pools for different allocation requests.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The pool queue structures are dynamically managed with pointers that can be efficiently updated during allocation and deallocation. This dynamic management of pool queues allows the system to adapt to varying memory需求的 while maintaining the underlying fixed-size chunk structure, improving productivity without excessive complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7908455B2Low overhead memory management system and method
Publication Date: 2011.03.15 MICROCHIP TECHNOLOGY INC
  • US7908455B2 patent drawing
  • US7908455B2 patent drawing
  • US7908455B2 patent drawing

AI summary

A block of contiguous data storage locations of a memory is divided into pools of memory chunks. The memory chunks in same ones of the pools have equal chunk sizes. The memory chunks in different ones of the pools have different chunk sizes. In each of the pools, the memory chunks are addressable by respective chunk base physical addresses in a respective linear contiguous sequence that starts from a respective pool base physical address. The physical addresses of the memory chunks are translated into corresponding internal handles and vice versa, where each of the internal handles is smaller in size than its corresponding physical address. For each of the pools, an associated pool queue comprising respective ones of the internal handles to allocatable ones of the memory chunks in the pool is maintained.