Network Memory Allocation via Summary Bits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face disruptions and reduced quality of service due to the time and resource-intensive process of searching for memory locations to temporarily store packets, leading to congestion and inefficiencies in processing packet-based network traffic.
Innovation Solution
Implementing an allocation-deallocation processing system that uses summary bits to perform a single search for available memory locations, storing pointers in a line vector memory for efficient allocation and deallocation of memory resources, thereby reducing the time and bandwidth utilization associated with memory searches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the network device performs frequent searches to identify memory locations for packet storage, then memory allocation is achieved, but processing time increases and network service is disrupted
Solution Approach 1:
The patent implements preliminary action by maintaining a pre-computed mapping between summary bits and allocation bits, and by pre-organizing memory segments into hierarchical groups. When memory allocation is needed, the system uses this pre-structured information to quickly identify available segments without performing exhaustive searches, thereby reducing search time while maintaining allocation effectiveness
Solution Approach 2:
The patent introduces summary bits as intermediary structures that mediate between the memory allocation system and the packet processing system. These summary bits provide a condensed view of memory availability at different hierarchical levels, enabling the system to make allocation decisions without accessing the full detailed allocation state, thus reducing the time required for memory searches
2Reliability
If the network device performs multiple searches to find unallocated memory segments, then accurate memory allocation is achieved, but bandwidth utilization increases
Solution Approach 1:
The patent applies segmentation by dividing the memory structure into hierarchical levels with summary bits at different levels representing different granularities of memory segments. This segmentation allows the system to perform searches at coarser granularities first, reducing the total amount of data that needs to be transmitted and processed, thereby reducing bandwidth utilization while maintaining allocation accuracy
Solution Approach 2:
The patent uses partial action by searching and processing only the necessary portions of the memory allocation state. Instead of scanning all memory segments, the system uses summary bits to identify promising regions and then performs detailed checks only in those regions, reducing the overall bandwidth required for allocation operations while maintaining sufficient accuracy
3Productivity
If the network device uses traditional memory search methods, then memory resources are allocated, but quality of service is reduced
Solution Approach 1:
The patent implements dynamics by creating a flexible memory allocation system that can adapt to different packet sizes and availability conditions. The hierarchical summary bit structure allows the system to dynamically adjust its search strategy based on current memory availability, packet requirements, and service level agreements, thereby maintaining high quality of service while improving allocation efficiency
Data Source
AI summary
A network device that includes a first memory to store packets in segments; a second memory to store pointers associated with the first memory; a third memory to store summary bits and allocation bits, where the allocation bits correspond to the segments. The network device also includes a processor to receive a request for memory resources; determine whether a pointer is stored in the second memory, where the pointer corresponds to a segment that is available to store a packet; and send the pointer when the pointer is stored in the second memory. The processor is further to perform a search to identify other pointers when the pointer is not stored in the second memory, where performing the search includes identifying a set of allocation bits, based on an unallocated summary bit, that corresponds to the other pointers; identify another pointer, of the other pointers, based on an unallocated allocation bit of the set of allocation bits; and send the other pointer in response to the request.


