Multi-Range Look-Up Circuit Using TCAM and Comparator Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-range look-up systems in packet processors are inefficient due to the need for multiple memory accesses and complex comparisons to determine the appropriate range for packet operations, which increases silicon area and processing time.

Innovation Solution

A circuit and method utilizing a ternary content addressable memory (TCAM) to store TCAM-friendly ranges, combined with a comparator and logic to efficiently determine if an input value falls within a range by using a reduced number of entries and prioritizing ranges based on mask bits, allowing for simultaneous look-up across multiple ranges.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If multiple memory accesses and complex comparisons are used to determine packet ranges, then look-up accuracy is improved, but processing time and silicon area increase

Engineering Contradiction:
Improvelook-up accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the look-up process into two distinct phases: first, a coarse range identification phase using TCAM to quickly identify candidate ranges, and second, a precise boundary verification phase using comparator circuits to confirm exact range membership. This segmentation allows the system to achieve high accuracy without requiring all comparison operations to occur simultaneously, thereby reducing processing time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The TCAM performs preliminary action by pre-storing range boundary values and usefully filtering packets that do not match any defined range before they reach the comparator stage. This preliminary filtering reduces the number of packets requiring full comparison operations, decreasing overall processing time while maintaining accuracy for packets that do require verification.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If multiple memory accesses and complex comparisons are used to determine packet ranges, then look-up accuracy is improved, but silicon area increases

Engineering Contradiction:
Improvelook-up accuracyVSAvoidsilicon area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent segments the hardware architecture into specialized components: TCAM structures for range identification and comparator circuits for boundary verification. This segmentation allows each component to be optimized independently, using TCAM's parallel search capability to reduce the number of comparators needed, thereby reducing overall silicon area while maintaining look-up accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The TCAM structure serves multiple functions: it stores range boundary values, performs initial pattern matching, and identifies candidate ranges for further verification. This multi-functionality eliminates the need for separate storage and filtering hardware, reducing silicon area compared to systems that would require dedicated structures for each function.

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

3Speed

If TCAM stores each range in a single entry, then look-up speed is improved, but TCAM size increases

Engineering Contradiction:
Improvelook-up speedVSAvoidTCAM size
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies partial action by using TCAM to perform only the initial range identification rather than complete range verification. The TCAM stores compressed range representations that enable quick candidate identification, while the more resource-intensive exact matching is performed selectively by comparators only for packets that pass the initial TCAM filter. This approach achieves high look-up speed without requiring the TCAM to store full range detail for every possible packet.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9299433B1Method and apparatus for multi-range look-up
Publication Date: 2016.03.29 MARVELL ISRAEL (M L S L) LTD
  • US9299433B1 patent drawing
  • US9299433B1 patent drawing
  • US9299433B1 patent drawing

AI summary

Aspects of the disclosure provide a circuit that includes a first memory, a second memory and a comparator. The first memory is configured to store a plurality of values corresponding to a first plurality of ranges and generate an output value in response to a lookup key. The output value is indicative of the lookup key matching a stored value corresponding to a first range in the first plurality of ranges. The second memory is configured to store limiting values of a second plurality of ranges, and output a set of limiting values for a second range in association with the first range based on the output value of the first memory. The comparator is configured to compare the input value with the set of limiting values to determine whether the second range is inclusive of the lookup key.