Packet Reassembly Using CAM Lookup for Switched Fabric Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing packet segmentation and reassembly processes in switching fabric networks are time-consuming and introduce significant latency due to high algorithmic complexity, affecting network forwarding efficiency.
Innovation Solution
A process utilizing a content addressable memory (CAM) to generate a reassembly key from packet headers, maintaining a reassembly table for efficient lookup and storage of member cells, and using sequence numbers for offset determination in a reassembly buffer to reassemble packets with reduced latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional packet segmentation and reassembly processes are used in switching fabric networks, then packets can be correctly reassembled from member cells, but the algorithmic complexity is high (O(mn)) causing significant latency in packet forwarding
Solution Approach 1:
The invention segments the reassembly process into distinct phases: generating a reassembly key from cell header information, performing O(1) CAM lookup with the key to retrieve packet context, and then reassembling cells using sequence numbers. This segmentation transforms the complex O(mn) search problem into simple O(1) lookup operations.
Solution Approach 2:
The invention introduces a reassembly key as an intermediary element that bridges the cell header information and the packet context in CAM. The reassembly key (derived from source/destination addresses, port numbers, and protocol information) serves as a mediator that enables efficient O(1) lookup without requiring complex multi-parameter searches.
2Reliability
If complex multi-parameter searching is performed to find packet buffer context, then accurate packet reassembly can be achieved, but the processing time increases significantly
Solution Approach 1:
The invention performs preliminary actions by pre-generating reassembly keys from cell header information and pre-storing packet contexts in CAM with their corresponding reassembly keys. This preliminary organization of data enables O(1) lookup time while maintaining reassembly accuracy through the use of sequence numbers for proper cell ordering.
3Productivity
If variable length packets are segmented into fixed length cells, then network transport efficiency is improved, but the reassembly process becomes more complex due to varying packet sizes
Solution Approach 1:
The invention introduces dynamic elements to handle variable packet sizes: sequence numbers that dynamically identify cell position within packets of any length, and a reassembly buffer that dynamically allocates space based on packet size. The reassembly key remains static and simple, while the reassembly phase adapts to varying packet lengths through sequence number-based placement.
Data Source
AI summary
Reassembly of member cells into a packet comprises receiving an incoming member cell of a packet from a switching fabric wherein each member cell comprises a segment of the packet and a header, generating a reassembly key using selected information from the incoming member cell header wherein the selected information is the same for all member cells of the packet, checking a reassembly table in a content addressable memory to find an entry that includes a logic key matching the reassembly key, and using a content index in the found entry and a sequence number of the incoming member cell within the packet, to determine a location offset in a reassembly buffer area for storing the incoming member cell at said location offset in the reassembly buffer area for the packet for reassembly.


