Shared Free List Memory Allocation for Network Transaction Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for caching data on network interfaces allocate a fixed amount of memory based on expected workloads, leading to inefficiencies such as cache misses and wasted resources due to unsuitable memory allocation for changing network application workloads.

Innovation Solution

Dynamic memory allocation using a shared free list, where memory is allocated and released for each network transaction, utilizing a hash data structure, linked list, and free list to manage network transactions efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed amount of memory is allocated based on expected workloads, then memory allocation is simple and predictable, but memory utilization is inefficient and cache performance deteriorates due to cache misses and wasted resources

Engineering Contradiction:
Improvememory allocation adaptabilityVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic memory allocation where the memory pool size is not fixed but adjusts based on actual network transaction workload. The system allocates memory pages dynamically from the memory pool as transactions arrive and releases them when transactions complete, allowing the memory allocation to adapt to changing workload conditions rather than relying on static pre-allocation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory management system serves itself through automated allocation and deallocation processes. When a network transaction arrives, the system automatically allocates required memory from the pool without external intervention. When transactions complete, memory is automatically released back to the pool, creating a self-sustaining memory management mechanism that responds to workload demands

Inventive Principle:
Principle #25Self-service

2Productivity

If memory is dynamically reallocated according to current network demands, then memory utilization improves and fragmentation is minimized, but the complexity of memory management increases

Engineering Contradiction:
Improvesystem throughputVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory pool into discrete allocable units that can be independently managed. Rather than treating memory as a single large block, the system divides it into smaller allocatable segments that can be efficiently allocated and deallocated based on transaction requirements, improving both utilization and manageability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes memory allocation parameters dynamically based on workload conditions. When network demand increases, the system allocates additional memory from the pool; when demand decreases, memory is released. This parameter adjustment allows the system to optimize throughput by matching memory resources to actual transaction volumes

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If a shared free list is used for memory allocation, then memory allocation efficiency improves and traffic on the peripheral component interconnect is reduced, but the data structure complexity increases

Engineering Contradiction:
Improveinterconnect trafficVSAvoiddata structure complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent merges multiple memory allocation operations into a single shared free list structure. Instead of maintaining separate allocation structures for different memory regions or transactions, the system consolidates free memory management into one unified list that serves all allocation requests, reducing redundant operations and interconnect traffic

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared free list acts as an intermediary structure between the physical memory pool and the allocation requests. Rather than directly managing individual memory blocks, the system uses the free list as a mediator to track and manage available memory, simplifying the allocation process and reducing the need for complex direct memory management operations

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12493547B2Dynamic memory allocation using a shared free list
Publication Date: 2025.12.09 MELLANOX TECHNOLOGIES LTD(IL)
  • US12493547B2 patent drawing
  • US12493547B2 patent drawing
  • US12493547B2 patent drawing

AI summary

Apparatuses, systems, and techniques for dynamic memory allocation using a shared free list. A user tag is received, and a hashed user tag is generated. A first reference to an entry in a second data structure is identified in a first data structure using the hashed user tag. The entry includes multiple user tags. Responsive to determining that the multiple user tags do not include the user tag, a memory address is identified in a third data structure. The memory address is removed from the third data structure. Memory is allocated for a user context associated with the user tag at the memory address. The user tag is added to the second data structure.