Variable-Size Key Storage in Multi-Bank Database

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices face inefficiencies in exact match lookups due to the use of content addressable memory (CAM) which is less efficient than random access memory (RAM) in terms of area and power consumption, especially when handling keys of varying sizes, leading to suboptimal utilization of memory resources.

Innovation Solution

A method is implemented where a lookup value is distributed across multiple memory banks using a multi-hash technique, allowing keys of different sizes to be efficiently stored without padding, by selecting appropriate hash functions for each bank, enabling flexible storage and retrieval of keys across multiple memory banks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CAM is used for exact match lookups, then lookup functionality is provided, but area and power consumption increase

Engineering Contradiction:
Improvelookup functionalityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent replaces CAM (content addressable memory) with SRAM (static random access memory) to perform exact match lookups. This substitution of memory technology reduces power consumption and area while maintaining lookup functionality, directly addressing the technical contradiction between providing lookup functionality and reducing power consumption.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Stability of the object's composition

If all keys are padded to the largest key size, then uniform memory structure is achieved, but memory utilization efficiency decreases

Engineering Contradiction:
Improvememory structure uniformityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the lookup table into multiple tables, each dedicated to a specific key size. This segmentation allows each table to be optimized for its specific key size without padding, improving memory utilization efficiency while maintaining a stable and uniform memory structure through organized categorization of different key types.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If separate lookup tables are provided for different key sizes, then key storage precision is improved, but device complexity increases

Engineering Contradiction:
Improvekey storage precisionVSAvoidnumber of tables
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a universal hashing mechanism that can handle multiple key sizes through a single hash function family. This multi-functionality approach allows the system to store and retrieve keys of different sizes (32-bit, 64-bit, 128-bit, etc.) using the same fundamental structure, reducing device complexity while maintaining key storage precision.

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

4Productivity

If keys are stored without padding in variable-size tables, then memory utilization improves, but lookup operation complexity increases

Engineering Contradiction:
Improvememory utilizationVSAvoidlookup operation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic table selection based on key size. The system automatically determines which table to access based on the key being searched, allowing efficient variable-size key storage without padding. This dynamic approach maintains high memory utilization while managing lookup operation complexity through automated table selection.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11102120B2Storing keys with variable sizes in a multi-bank database
Publication Date: 2021.08.24 MARVELL ISRAEL (M L S L) LTD
  • US11102120B2 patent drawing
  • US11102120B2 patent drawing
  • US11102120B2 patent drawing

AI summary

A network device determines, based on a size of a lookup value, that the lookup value is to be stored across a set of two or more memory banks including a first memory bank and a second memory bank of a database. A first hash function is for determining locations for storing lookup values entirely in the first memory bank, whereas a second hash function is for determining locations for storing lookup values entirely in the second memory bank. A hash operation is performed on the lookup value using the first hash function to determine a memory location for storing the lookup value. A first segment of the lookup value is stored in the first memory bank at the memory location determined using the first hash function, and a second segment of the lookup value is stored in the second memory bank at the memory location determined using the first hash function.