Memory Pool Tree Node Management for Multi-Threaded Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing electronic devices face challenges in efficiently managing memory due to the overhead of operating system involvement in memory allocation and deallocation, particularly in multi-threaded environments where concurrent memory operations are necessary.

Innovation Solution

A processor-implemented method that uses a tree data structure to manage the process address space, allowing for efficient mapping and unmapping of data by marking unused nodes as use nodes to reuse, thereby reducing the need for rebalancing and minimizing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the operating system manages memory allocation and deallocation, then memory management is standardized and reliable, but overhead increases and efficiency decreases

Engineering Contradiction:
Improvememory management reliabilityVSAvoidmemory allocation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a memory pool as an intermediary layer between the operating system and applications. The OS allocates memory to the memory pool once, and the pool then handles all subsequent allocation and deallocation operations internally using a tree data structure. This intermediary approach maintains OS reliability while eliminating repeated OS involvement, thus improving efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory pool implements self-service by managing its own internal memory allocation and deallocation without OS intervention. The tree data structure automatically tracks used and unused nodes, allowing the pool to service memory requests autonomously. This self-managed approach eliminates OS overhead while maintaining reliable memory management.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If memory allocation and deallocation operations are performed frequently, then applications can dynamically manage memory, but system overhead increases

Engineering Contradiction:
Improvedynamic memory managementVSAvoidsystem overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent pre-allocates a large memory pool at startup and prepares a tree data structure with available nodes before actual memory requests occur. When allocation requests come in, the system can quickly assign pre-prepared nodes without complex OS interactions. This preliminary preparation enables dynamic memory management while reducing the overhead of repeated allocation operations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the operating system is involved in every memory operation, then memory management is centralized and controlled, but processing speed decreases

Engineering Contradiction:
Improvecentralized memory controlVSAvoidmemory operation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments memory management into two distinct layers: OS-level memory pool allocation (for reliability and centralized control) and application-level tree-based node management (for speed and efficiency). The OS maintains centralized control over the overall memory pool, while the tree data structure handles individual allocation operations locally without OS intervention, thus achieving both centralized control and high-speed operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250123971A1Electronic device and method with efficient memory management
Publication Date: 2025.04.17 SAMSUNG ELECTRONICS CO LTD
  • US20250123971A1 patent drawing
  • US20250123971A1 patent drawing
  • US20250123971A1 patent drawing

AI summary

A processor-implemented method includes receiving a mapping instruction to map target data onto a process address space, in response to reception of the mapping instruction, marking an unused node in a tree that manages the process address space as a use node to reuse, and mapping the target data onto a virtual area in the process address space, wherein the tree manages the virtual area onto which the target data is mapped as the use node.