Dual-Stage Packet Cache for Non-Uniform Key and Payload Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet classification in high-speed networks is costly due to the need for cache lookups involving multiple dimensions and ranges, and there is a lack of efficient cache designs that can handle non-uniform lengths of keys and payloads, necessitating robust run-time insertion, deletion, and cache replacement schemes.

Innovation Solution

A dual-stage cache system with an index table of uniform length entries and a content table of non-uniform length entries, utilizing a unified hash value to identify rows and pointers for efficient cache lookups, along with insertion, deletion, and replacement strategies tailored for non-uniform key-payload pairs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a cache system is designed to handle non-uniform lengths of keys and payloads, then the cache can store a variety of search results with different dimensions and ranges, but the cache structure becomes more complex requiring dual-stage design with index tables and content tables

Engineering Contradiction:
Improvecache adaptabilityVSAvoidcache structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache is divided into two distinct stages: an index table stage and a content table stage. The index table stores uniform-length entries with tags and pointers, while the content table stores non-uniform length payloads. This segmentation allows the system to handle variable-length data efficiently while maintaining a structured approach to cache management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The index table acts as an intermediary between the uniform hash value and the non-uniform content table. It translates the fixed-length hash into a structured format with tags and pointers that can efficiently access the variable-length payloads in the content table, bridging the gap between uniform addressing and non-uniform data storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple search dimensions and ranges are handled in packet classification, then comprehensive classification is achieved, but the classification cost increases requiring efficient cache lookup mechanisms

Engineering Contradiction:
Improveclassification capabilityVSAvoidclassification efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system pre-calculates a unified hash value from packet header fields before the actual cache lookup. This preliminary hashing action transforms multiple dimension data into a single fixed-length index, enabling efficient direct access to the cache and reducing the classification cost despite handling multiple search dimensions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The dual-stage cache structure serves multiple functions: it handles uniform and non-uniform data lengths, supports various search dimensions and ranges, and provides both exact match and range match capabilities. This multi-functionality allows comprehensive packet classification while maintaining efficiency through a single unified cache structure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If search results are cached for reuse to reduce classification cost, then processing speed improves, but run-time insertion, deletion, and cache replacement schemes are required adding operational complexity

Engineering Contradiction:
Improvepacket processing speedVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The cache replacement scheme discards old or less frequently used entries and recovers cache space for new entries. The index table and content table work together to manage this process, where the uniform index structure simplifies the identification of candidates for replacement while the non-uniform content table efficiently stores the recovered data.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS12585594B2Cache look up during packet processing by uniformly caching non-uniform lengths of payload data in a dual-stage cache of packet processors
Publication Date: 2026.03.24 FORTINET INC
  • US12585594B2 patent drawing
  • US12585594B2 patent drawing
  • US12585594B2 patent drawing

AI summary

At a first stage, cells of a row of the index table are searched, using a portion of the unified hash value bits as index to identify the row of the index table. Also, a pointer to the content table is identified by comparing an index table tag of an entry of a cell with a calculated tag of the hash to identify a cell in the row. At a second stage, a cell is looked up in the content table, responsive to a match of calculated tag of the hash and index table tag of entry, comparing the current full key value and the full key value in the content table entry. The content table full key value is retrieved using a pointer from the cell of the index table to the content table from the cell entry.