Double Hash Lookup Mechanism for Network Forwarding Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As data networks expand, the size of forwarding tables in network devices increases, leading to longer lookup times and increased likelihood of hash collisions, which complicates efficient data packet forwarding.

Innovation Solution

A double hash lookup mechanism is employed, where a hash function generates two subsets: a primary hash for initial lookup and a secondary hash to identify an offset within the forwarding database, allowing for efficient retrieval of forwarding information and minimizing collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the forwarding table size is increased to accommodate more destination addresses, then the network device can handle more addresses, but the lookup time increases

Engineering Contradiction:
Improvenumber of destination addressesVSAvoidlookup time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides the forwarding table into multiple segments or partitions, each with its own smaller hash table. Instead of performing a single lookup in one large table, the system performs lookups in multiple smaller segments. This segmentation reduces the search space and lookup time while maintaining the ability to handle a large total number of destination addresses across all segments.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the hash function output length is increased to minimize hash collisions, then collision likelihood decreases, but lookup time increases

Engineering Contradiction:
Improvehash collision rateVSAvoidlookup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a secondary dimension to the hash lookup process by using a two-stage approach: first hashing to an initial index, then applying a second hash function to the entry at that index to get the final index. This dimensional transformation allows the system to use shorter initial hash outputs while still achieving low collision rates through the combined effect of both hashing stages.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7852850B2Double-hash lookup mechanism for searching addresses in a network device
Publication Date: 2010.12.14 MARVELL ISRAEL (M L S L) LTD
  • US7852850B2 patent drawing
  • US7852850B2 patent drawing
  • US7852850B2 patent drawing

AI summary

A hash function is applied to a set of data to generate a hash. A first subset of the hash is used to lookup an entry in a lookup table for a forwarding database. A second subset of the hash is used to identify, within the entry, data comprising an offset. The offset is applied to a location identified in the forwarding database by the first subset of the hash to determine an entry in the forwarding database. Optionally, the lookup mechanism is used in conjunction with one or more other forwarding databases. A method of updating the forwarding database within the double hash lookup framework is also described.