Auxiliary Key Lookup Table Collision Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network packet processing systems face challenges in managing large and variable-sized keys in exact match keyed lookup tables, leading to difficulties in accessing records due to hash collisions and the lack of fixed keys for management purposes.

Innovation Solution

The introduction of auxiliary keys, which combine a table index and a unique collision index, provides an additional access mechanism that remains valid for as long as records exist in the lookup table, enhancing traditional exact matching methods by offering a fixed-size access mechanism that can efficiently handle collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional hash functions are used to generate table indexes from large variable-sized keys, then records can be stored in lookup tables, but hash collisions occur and access complexity increases

Engineering Contradiction:
Improveability to handle large variable-sized keysVSAvoidaccess complexity due to collisions
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the key into multiple parts: a prefix portion and a suffix portion. The prefix is used to generate the table index, while the suffix is stored with the record. This segmentation allows the system to handle large variable-sized keys by dividing them into manageable components, reducing collision impact while maintaining adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary structure (the suffix portion of the key) that mediates between the hash function and the full key. When a collision occurs, the suffix acts as an additional discriminator to resolve the collision without requiring full key comparison, thus reducing access complexity while maintaining versatility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If variable-sized keys are stored in lookup tables, then flexible key management is achieved, but fixed management keys cannot be provided

Engineering Contradiction:
Improveflexibility in key sizeVSAvoidease of management
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

By segmenting the variable-sized key into a fixed-size prefix (for indexing) and a variable-size suffix (for storage), the system achieves both flexibility in key size and ease of management. The fixed prefix provides a stable management interface while the variable suffix accommodates different key sizes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different properties to different parts of the key: the prefix portion has fixed properties (fixed size for indexing) while the suffix portion has variable properties (variable size for flexibility). This local differentiation allows the system to simultaneously provide fixed management interfaces and flexible key storage.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If full key comparison is performed to resolve collisions, then accurate record retrieval is achieved, but access time increases

Engineering Contradiction:
Improveaccuracy of record retrievalVSAvoidaccess time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts the suffix portion of the key and stores it separately with the record. During collision resolution, only the suffix needs to be compared rather than the full key, significantly reducing the time required for accurate record retrieval while maintaining precision.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing full key comparison for every collision, the patent performs only partial comparison (suffix portion) to resolve most collisions quickly. This partial action is sufficient for accurate retrieval in most cases, reducing access time while maintaining measurement precision.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10146820B2Systems and methods to access memory locations in exact match keyed lookup tables using auxiliary keys
Publication Date: 2018.12.04 NXP USA INC
  • US10146820B2 patent drawing
  • US10146820B2 patent drawing
  • US10146820B2 patent drawing

AI summary

Methods and systems are disclosed to access memory locations using auxiliary keys in addition to primary keys. Commands are received by a memory management unit to insert or access records in an exact match keyed lookup table where records include keys (i.e., primary keys), auxiliary keys, and data. When a command to insert a new record is received along with key and data, the memory management unit generates a new unique auxiliary key. The auxiliary key includes a table index generated from the key and a collision index that is unique for any records having the same table index. The key, the auxiliary key, and the data for the new record are then stored within the lookup table along with a collision pointer that links records having the same table index. Subsequently, commands to access the new record can selectively use either the original key or the auxiliary key.