Reconfigurable Shared Memory Tiles for Collision-Free Parallel Lookups
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network processor lookup systems are inflexible, with fixed memory capacity and inability to switch between hash-based and direct-access lookup techniques, limiting memory utilization and adaptability to different applications.
Innovation Solution
A system-on-chip that supports reconfigurable parallel lookups using a pool of shared memories, where the number of memories allocated for each lookup can be adjusted, and each lookup can be configured as either hash-based or direct-access, with tiles and interconnect networks programmed to enable parallel operations without collisions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the number of memories for each lookup is fixed, then the system structure is simple, but memory utilization is low and adaptability is poor
Solution Approach 1:
The patent implements reconfigurable memory allocation where the number of memories assigned to each lookup can be dynamically changed after manufacturing. This is achieved through a control unit that receives configuration data specifying the desired memory allocation for different lookup types, enabling the system to adapt to varying memory capacity requirements without physical reconfiguration.
Solution Approach 2:
The patent creates a universal memory pool that can be allocated to support multiple different lookup techniques (hash-based, direct-access, TCAM-based) with varying memory requirements. The same physical memory resources can be reconfigured to serve different lookup functions, maximizing resource utilization and system versatility.
2Quantity of substance
If lookup systems use fixed memory allocation, then manufacturing is easier, but memory utilization cannot reach 100%
Solution Approach 1:
The patent pre-organizes memories into a pooled structure with associated control logic that enables flexible allocation. During manufacturing, the system is prepared with the capability to reconfigure memory assignments, and configuration data is loaded to establish initial allocations optimized for specific lookup techniques, achieving high memory utilization from the start.
Solution Approach 2:
The patent changes the allocation parameters of memory resources dynamically. By modifying the configuration data that specifies how many memories are assigned to each lookup, the system can optimize memory utilization for different applications and lookup techniques without physical changes to the hardware structure.
3Adaptability or versatility
If the system cannot switch between lookup techniques, then the design is simpler, but adaptability to different applications is limited
Solution Approach 1:
The patent implements dynamic reconfigurability that allows the system to switch between different lookup techniques (hash-based, direct-access, TCAM-based) after manufacturing. The control unit receives configuration data that specifies both the lookup technique to be used and the corresponding memory allocation, enabling the system to adapt to different application requirements.
Solution Approach 2:
The patent designs a universal lookup system that can perform multiple different lookup techniques using the same physical memory resources. By reconfiguring the memory allocation and control parameters, the system can switch between hash-based lookup, direct-access lookup, and TCAM-based lookup to serve different application needs.
4Quantity of substance
If more memories are allocated to each lookup, then lookup capacity increases, but parallel lookup efficiency decreases due to collisions
Solution Approach 1:
The patent segments the total memory pool into distinct allocated portions for different lookups based on their specific requirements. The control unit manages these segmented allocations and coordinates access to prevent collisions, allowing each lookup to have sufficient memory capacity while maintaining parallel execution efficiency through proper resource partitioning.
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.


