Label Masked Addressable Memory for Low Latency Packet Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional networking devices using Ternary Content Addressable Memory (TCAM) face challenges with high decision latency, scalability issues, and large circuit area requirements, which hinder efficient packet processing and routing in high-performance computing environments.
Innovation Solution
The implementation of Label Masked Addressable Memory (LMAM) as a hash-based search engine in network devices, which includes multiple mask modules and hash modules to perform parallel searches, reducing latency and circuit area while supporting virtualization and multi-tenancy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCAM is used for match-based memory searches, then search capability is provided, but decision latency increases and circuit area increases
Solution Approach 1:
The patent divides the search space into multiple segments by using a trie data structure where keys are partitioned across different nodes. The search process is segmented into traversing different levels of the trie, allowing parallel search operations to proceed simultaneously through different key segments, thereby reducing overall decision latency while maintaining search capability.
Solution Approach 2:
The patent transitions from traditional linear or hierarchical search approaches to a multi-dimensional trie structure where keys can be accessed through multiple paths and levels. This dimensional organization allows the system to exploit spatial locality and enable parallel traversal, reducing decision latency without sacrificing search reliability.
2Reliability
If TCAM is used for match-based memory searches, then search capability is provided, but circuit area increases
Solution Approach 1:
The patent uses a trie data structure that can be implemented using standard memory cells rather than specialized TCAM hardware. The trie nodes and edges are essentially copied representations of key prefixes, organized in a space-efficient manner that leverages conventional memory architecture, significantly reducing the circuit area required compared to TCAM while preserving search capability.
Solution Approach 2:
The patent changes the fundamental parameter of how search data is organized and accessed by adopting a trie structure with variable-length key prefixes stored in conventional memory. This parameter change from TCAM's fixed-format matching to trie's hierarchical prefix matching enables the same search functionality with dramatically reduced hardware resources.
3Productivity
If conventional derivation logic is used, then packet processing is performed, but scalability is limited
Solution Approach 1:
The patent implements a dynamic trie structure that can be efficiently scaled and adapted. The trie can dynamically allocate memory for new key prefixes and accommodate varying packet processing requirements. This dynamic organization allows the system to scale from small to large networks while maintaining efficient packet processing performance, unlike static conventional derivation logic.
Solution Approach 2:
The trie-based derivation logic serves multiple functions: it performs prefix matching, supports variable-length keys, enables parallel search operations, and can be scaled to different sizes. This universal structure replaces multiple specialized conventional logic units, providing both improved packet processing and enhanced scalability across different network configurations.
Data Source
AI summary
A network device receives data packets and derives a key from headers in the packets. A search engine in the device searches, or performs a table lookup, for information based on the key and multiple programmable masks. The search engine includes a hash based search engine that comprises multiple mask modules each to mask an input key with a respective programmable mask, to produce multiple masked keys. The search engine also includes an array of hash modules each corresponding to a respective one of the masked keys and including a hash table. Each of the hash modules searches its hash table for a data value based on a hash of the corresponding masked key, and outputs a found data value, if any, resulting from the search. A selector selects among the found data values and output the selected data value.


