G11C15/00

HYBRID WILDCARD MATCH TABLE

Embodiments of the present invention are directed to a wildcard matching solution that uses a combination of static random access memories (SRAMs) and ternary content addressable memories (TCAMs) in a hybrid solution. In particular, the wildcard matching solution uses a plurality of SRAM pools for lookup and a spillover TCAM pool for unresolved hash conflicts.

HYBRID WILDCARD MATCH TABLE

Embodiments of the present invention are directed to a wildcard matching solution that uses a combination of static random access memories (SRAMs) and ternary content addressable memories (TCAMs) in a hybrid solution. In particular, the wildcard matching solution uses a plurality of SRAM pools for lookup and a spillover TCAM pool for unresolved hash conflicts.

Enhanced TL-TCAM lookup-table hardware search engine
11837266 · 2023-12-05 · ·

An enhanced TL-TCAM lookup-table hardware search engine includes a plurality of enhanced TL-TCAM cell circuits. There are m enhanced TL-TCAM cells circuits connected in parallel to form a sub-segment circuit. The word line WL, match line ML and ML_x of each enhanced TL-TCAM cell circuit in the sub-segment circuit are respectively short-connected together, the match line ML is connected to the drain electrode of an N-type transistor N15, ML_x is connected to the gate electrode of the N-type transistor N15, and the source electrode of the N-type transistor N15 is connected to ground, ML_x is connected to the drain electrode of an N-type transistor N14, the source electrode of the N-type transistor N14 is connected to ground, and the gate electrode of the N-type transistor N14 is connected to the signal line OneX_in-Sement_b, a plurality of sub-segment circuits are connected in parallel to form a word circuit.

Enhanced TL-TCAM lookup-table hardware search engine
11837266 · 2023-12-05 · ·

An enhanced TL-TCAM lookup-table hardware search engine includes a plurality of enhanced TL-TCAM cell circuits. There are m enhanced TL-TCAM cells circuits connected in parallel to form a sub-segment circuit. The word line WL, match line ML and ML_x of each enhanced TL-TCAM cell circuit in the sub-segment circuit are respectively short-connected together, the match line ML is connected to the drain electrode of an N-type transistor N15, ML_x is connected to the gate electrode of the N-type transistor N15, and the source electrode of the N-type transistor N15 is connected to ground, ML_x is connected to the drain electrode of an N-type transistor N14, the source electrode of the N-type transistor N14 is connected to ground, and the gate electrode of the N-type transistor N14 is connected to the signal line OneX_in-Sement_b, a plurality of sub-segment circuits are connected in parallel to form a word circuit.

METHODS AND SYSTEMS FOR AN ANALOG CAM WITH FUZZY SEARCH
20210327508 · 2021-10-21 ·

Systems are methods are provided for implementing an analog content addressable memory (analog CAM), which is particularly structured to allow for an amount of variance (fuzziness) in its search operations. The analog CAM may search for approximate matches with the data stored therein, or matches within a defined variance. Circuitry of the analog CAM may include transistor-source lines that receive search-variance parameters, and/or data lines that receive search-variance parameters explicitly within the search input data. The search-variance parameters may include an upper bound and a lower bound that define a range of values within the allotted amount of fuzziness (e.g., deviation from the stored value). The search-variance parameters may program (using analog approaches) the analog CAM to perform searches having a modifiable restrictiveness that is tuned dynamically, as defined by the input search-variance. Thus, highly efficient hardware for complex applications involving fuzziness are enabled.

METHODS AND SYSTEMS FOR AN ANALOG CAM WITH FUZZY SEARCH
20210327508 · 2021-10-21 ·

Systems are methods are provided for implementing an analog content addressable memory (analog CAM), which is particularly structured to allow for an amount of variance (fuzziness) in its search operations. The analog CAM may search for approximate matches with the data stored therein, or matches within a defined variance. Circuitry of the analog CAM may include transistor-source lines that receive search-variance parameters, and/or data lines that receive search-variance parameters explicitly within the search input data. The search-variance parameters may include an upper bound and a lower bound that define a range of values within the allotted amount of fuzziness (e.g., deviation from the stored value). The search-variance parameters may program (using analog approaches) the analog CAM to perform searches having a modifiable restrictiveness that is tuned dynamically, as defined by the input search-variance. Thus, highly efficient hardware for complex applications involving fuzziness are enabled.

System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment

System and method for monitoring logical network traffic flows using a ternary content addressable memory (TCAM). An exemplary embodiment can provide a network port that is associated with a TCAM. The TCAM can be configured with a plurality of entries, wherein each TCAM entry contains a value. Further, each TCAM entry can be associated with at least one network counter. A predefined set of values can be retrieved from at least one header field of a data packet processed by the network port. Each value in the predefined set of values can be aggregated into a search value, and the search value can be compared to the value contained in each TCAM entry. When a match is found between the search value and the value contained in a TCAM entry, each network counter associated with the matching TCAM entry can be incremented.

System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment

System and method for monitoring logical network traffic flows using a ternary content addressable memory (TCAM). An exemplary embodiment can provide a network port that is associated with a TCAM. The TCAM can be configured with a plurality of entries, wherein each TCAM entry contains a value. Further, each TCAM entry can be associated with at least one network counter. A predefined set of values can be retrieved from at least one header field of a data packet processed by the network port. Each value in the predefined set of values can be aggregated into a search value, and the search value can be compared to the value contained in each TCAM entry. When a match is found between the search value and the value contained in a TCAM entry, each network counter associated with the matching TCAM entry can be incremented.

Hardware compression with search string matching

A plurality of stored data sequences that match one or more search data sequences are determined. Each of the stored data sequences of the plurality of stored data sequences comprise a plurality of data elements and the stored data sequences are stored in a content addressable memory array. A longest stored data sequence of the plurality of stored data sequences is determined using a plurality of tracing circuits. An address associated with the longest stored data sequence of the plurality of stored data sequences is determined. A count of data elements of the longest stored data sequence of the plurality of stored data sequences is determined.

Hardware compression with search string matching

A plurality of stored data sequences that match one or more search data sequences are determined. Each of the stored data sequences of the plurality of stored data sequences comprise a plurality of data elements and the stored data sequences are stored in a content addressable memory array. A longest stored data sequence of the plurality of stored data sequences is determined using a plurality of tracing circuits. An address associated with the longest stored data sequence of the plurality of stored data sequences is determined. A count of data elements of the longest stored data sequence of the plurality of stored data sequences is determined.