Unified Memory Pool for Parallel Table Search in Network Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network switching technologies face inefficiencies in performing table searches, particularly in Software Defined Networks (SDNs), where existing methods lack flexibility and resource optimization for high-speed network processing units.
Innovation Solution
A network switch architecture with a unified table search interface and a common memory pool supporting multiple parallel table search requests, utilizing various memory types like SRAM and TCAM, and featuring a centralized search engine that can generate flexible search keys and prioritize requests to optimize memory usage and reduce hardware requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple separate memory structures are used for different table search operations, then each search operation can be optimized independently, but the overall hardware complexity and resource usage increase
Solution Approach 1:
The patent combines multiple separate memory structures (TCAM, SRAM, DRAM) into a single unified memory pool that serves all table search operations. This single memory pool is managed by a centralized search engine that can allocate different memory regions to different search tables dynamically, reducing hardware complexity while maintaining versatility through software-controlled memory management.
Solution Approach 2:
The unified memory pool is designed to serve multiple functions simultaneously - it can store entries for MAC address lookup, IP routing, ACL rules, and other table search operations. The centralized search engine provides a universal interface that handles different search algorithms (exact match, prefix match, wildcard match) against the same memory structure, eliminating the need for dedicated memory for each search type.
2Device complexity
If a centralized memory pool is used for all table searches, then hardware resources are optimized and complexity is reduced, but access latency may increase due to memory contention
Solution Approach 1:
The unified memory pool is segmented into multiple regions or banks that can be accessed in parallel. The centralized search engine can issue multiple simultaneous access requests to different memory regions, effectively hiding memory access latency through parallelism. This segmentation allows the system to maintain simplicity while reducing the impact of memory contention on search latency.
Solution Approach 2:
The system performs preliminary actions by pre-configuring memory regions and establishing access patterns before actual search operations begin. The centralized search engine can predict access patterns and pre-load or pre-position data in optimal memory locations, reducing latency during actual search operations. Configuration tables and control data are prepared in advance to optimize memory access sequences.
3Quantity of substance
If various memory types (SRAM, TCAM, DRAM) are integrated in a unified pool, then resource utilization is maximized, but the difficulty of managing diverse memory characteristics increases
Solution Approach 1:
The centralized search engine acts as an intermediary between the control logic and the diverse memory types in the unified pool. It provides a standardized interface that abstracts away the differences between SRAM, TCAM, and DRAM characteristics. The search engine handles memory-specific optimizations internally while presenting a uniform access model to the rest of the system, thus maximizing resource utilization without exposing management complexity.
Data Source
AI summary
A network switch includes packet processing units in a first processor core. An interface module is connected to the packet processing units. The interface module supports a unified table search request interface and a unified table search response interface. A common memory pool is connected to the interface module. The common memory pool includes a variety of memory types configurable to support multiple parallel table search requests.


