Offset-Based Memory Management for Programmable Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current integrated circuits, such as FPGAs, face limitations in memory management due to size and complexity constraints, leading to inefficient memory allocation and deallocation, particularly in high-traffic network environments like modern wireless networks, where frequent changes in data sessions and packet detection rules require robust and efficient memory reuse.

Innovation Solution

Implementing offset-based memory management using linked lists to track allocated, de-allocated, and free memory portions, allowing for efficient allocation and deallocation by utilizing offset values to identify specific memory locations and minimize fragmentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional pointer-based memory management is used in integrated circuits, then memory allocation can be implemented, but memory tracking becomes buggy and unreliable at different optimization levels

Engineering Contradiction:
Improvememory tracking reliabilityVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces the software-based pointer system with a hardware-based offset register system. Instead of using pointers that require software management and are prone to bugs at different optimization levels, the invention uses dedicated offset registers (e.g., OFFSET_PTR_0 through OFFSET_PTR_7) that are hardware components capable of directly storing and managing memory offsets. This substitution of mechanical/software system with hardware system eliminates the reliability issues associated with pointer-based management in HLS compilation while maintaining simplicity through dedicated hardware structures.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If memory blocks are frequently allocated and de-allocated in dynamic network environments, then adaptability to changing data sessions is improved, but memory fragmentation and waste increase

Engineering Contradiction:
Improvememory allocation adaptabilityVSAvoidmemory waste
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent pre-allocates a pool of offset registers (e.g., eight 32-bit offset registers) that can be rapidly assigned to different memory blocks without requiring frequent allocation/deallocation operations. This preliminary preparation of storage structures allows the system to adapt to changing network conditions by simply reassigning pre-existing offset registers rather than performing complex allocation and deallocation sequences, thereby reducing memory fragmentation and waste while maintaining high adaptability to dynamic data session requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a mechanism where offset registers are efficiently recovered and reused after their associated memory blocks are deallocated. Instead of leaving memory fragmented when blocks are freed, the system recovers the offset registers and makes them available for reassignment to new memory blocks. This recovery and reuse mechanism ensures that memory resources are continuously utilized without waste, even in dynamic environments with frequent allocation and deallocation operations.

Inventive Principle:
Principle #34Discarding and recovering

3Ease of operation

If high-level synthesis is used to write code for integrated circuits, then programming ease is improved, but optimization level compromises are required due to size and complexity limitations

Engineering Contradiction:
Improveprogramming easeVSAvoidoptimization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent enables the integrated circuit to self-manage its memory offsets through dedicated hardware registers and automatic update mechanisms. The offset registers are automatically updated when memory blocks are allocated or deallocated, eliminating the need for complex software management code in HLS. This self-service approach allows programmers to use high-level synthesis for ease of programming while the hardware automatically handles optimization concerns, resolving the conflict between programming ease and optimization efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12175104B2Offset-based memory management for integrated circuits and programmable network devices
Publication Date: 2024.12.24 T MOBILE INNOVATIONS LLC
  • US12175104B2 patent drawing
  • US12175104B2 patent drawing
  • US12175104B2 patent drawing

AI summary

Integrated circuits that perform offset-based memory management using offset values for allocated, de-allocated, and free memory portions. An example method includes receiving a first request for allocating a first portion of a memory module coupled to an integrated circuit, and determining a first address space for allocating the first portion of the memory module based on one or more offset values.