Compressed Key Encoding in Algorithmic TCAM Memory
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
Data Source
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.


