Reconfigurable Parallel Lookups Using Shared Memory Tiles
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing lookup systems in network processors are inflexible regarding memory capacity and lookup technique, prohibiting changes after manufacturing and limiting memory utilization.
Innovation Solution
A system on-chip that supports multiple parallel lookups using a pool of shared memories, allowing reconfiguration of memory allocation and switchable lookup techniques (hash-based or direct-access) through homogeneous tiles and reconfigurable connection networks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the number of memories used for each lookup is fixed after manufacturing, then the system structure is simple, but the adaptability and memory utilization are limited
Solution Approach 1:
The patent implements dynamic reconfigurability by allowing the number of memories allocated to each lookup to be changed after manufacturing. The system uses a pool of shared memories that can be dynamically allocated to different lookups based on runtime requirements, enabling the memory capacity of each lookup to be adjusted without remanufacturing the system.
Solution Approach 2:
The patent creates a universal memory pool that can serve multiple different lookups with varying memory requirements. The shared memory pool can be allocated to support different lookup techniques (hash-based, direct-access, TCAM-based) and can be reconfigured to meet different application needs, making the system universally adaptable to various lookup scenarios.
2Adaptability or versatility
If the system cannot be changed from one lookup technique to another, then the system is stable and simple, but memory utilization cannot reach 100%
Solution Approach 1:
The patent enables switching between different lookup techniques (hash-based, direct-access, TCAM-based) by changing the operational parameters of the system. The same physical memory infrastructure can be reconfigured to support different lookup algorithms, allowing the system to optimize for exact-match lookup or other techniques as needed to achieve 100% memory utilization.
Solution Approach 2:
The system dynamically adapts between different lookup techniques based on application requirements. The memory allocation and lookup method can be changed at runtime, allowing the system to switch from hash-based lookup to direct-access or TCAM-based lookup depending on the specific needs of each application scenario.
3Quantity of substance
If multiple lookups share a pool of memories with reconfigurable allocation, then memory utilization is optimized, but the system complexity increases
Solution Approach 1:
The patent segments the memory system into a pool of shared memories that can be independently allocated to different lookups. This segmentation allows flexible allocation where memories can be assigned to specific lookups based on demand, enabling optimized memory utilization while maintaining manageable system complexity through modular organization.
Solution Approach 2:
The patent merges multiple individual memory allocations into a single shared memory pool that serves multiple lookups. This consolidation improves memory utilization by allowing memories to be shared across different lookup operations, and the reconfigurable allocation mechanism manages the sharing efficiently without proportionally increasing system complexity.
Data Source
AI summary
Embodiments of the present invention relate to multiple parallel lookups using a pool of shared memories by proper configuration of interconnection networks. The number of shared memories reserved for each lookup is reconfigurable based on the memory capacity needed by that lookup. The shared memories are grouped into homogeneous tiles. Each lookup is allocated a set of tiles based on the memory capacity needed by that lookup. The tiles allocated for each lookup do not overlap with other lookups such that all lookups can be performed in parallel without collision. Each lookup is reconfigurable to be either hash-based or direct-access. The interconnection networks are programed based on how the tiles are allocated for each lookup.


