Compressed Key Encoding in Algorithmic TCAM Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ternary content addressable memory (TCAM) systems require significant resources due to the need to represent ternary states using two-bit values in RAM, leading to inefficiencies in storage and processing.

Innovation Solution

An algorithmic TCAM that encodes ternary keys into binary representations using mapping bits to indicate the positions and number of 'don't care' (X) values, reducing the number of binary bits required to represent ternary states, thereby minimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If two-bit values are used to represent ternary states in RAM-based TCAM, then ternary states (logic 0, logic 1, and X) can be stored, but the resource usage increases significantly

Engineering Contradiction:
Improveternary state representationVSAvoidresource usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts and removes the 'don't care' (X) bits from the binary representation, storing only the necessary non-X bits in the memory device. The mapping bits indicate which positions correspond to X values, allowing the system to represent ternary states without allocating memory for every bit position, thus reducing resource usage while maintaining adaptability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the representation parameter from fixed two-bit encoding to a variable-length encoding based on the actual content of the ternary key. By dynamically adjusting the number of stored bits according to the number of non-X values, the system optimizes resource usage while preserving the ability to represent all ternary states

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If compressed binary encoding is used to reduce resource usage, then fewer binary bits are stored, but the encoding and decoding complexity increases

Engineering Contradiction:
Improvebinary bits storedVSAvoidencoding and decoding logic
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary encoding at the time of data insertion, where mapping bits are generated to indicate the positions of non-X bits. This preliminary action organizes the data in a compressed format with embedded position information, making subsequent retrieval and decoding operations simpler and more efficient despite the initial encoding complexity

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If mapping bits are used to indicate positions of ternary non-X value bits, then the number of binary bits required is reduced, but the processing overhead increases

Engineering Contradiction:
Improvebinary bits requiredVSAvoidprocessing overhead
Core Design Contradiction:
Quantity of substanceVSPower

Solution Approach 1:

The mapping bits serve a dual purpose: they both compress the data representation and provide the decoder with the information needed to reconstruct the original ternary key. This self-service approach eliminates the need for separate position tracking structures, reducing overall processing overhead while maintaining compact storage

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11720492B1Algorithmic TCAM with compressed key encoding
Publication Date: 2023.08.08 DREAMBIG SEMICON INC
  • US11720492B1 patent drawing
  • US11720492B1 patent drawing
  • US11720492B1 patent drawing

AI summary

A ternary content addressable memory is provided comprising; a memory device that includes a plurality of memory address locations; hash logic operative to determine a hash value, based upon a ternary key, wherein the determined hash value corresponds to a memory address location of the memory device; an encoder operable to convert the ternary key to a binary bit representation; wherein converting includes determining binary mapping bits based upon number and positions of ternary non-X (don't care) value bits of the ternary key; wherein converting further includes determining a different binary data bit to correspond to each different ternary non-X value bit of the ternary key; and memory controller logic to cause the memory device to store the binary bit representation at the memory address location that corresponds to the determined hash value.