Ternary CAM Search Segmentation for High Density and Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current content addressable memory (CAM) devices face challenges in achieving high-density, high-speed, and high-bandwidth performance, particularly in non-volatile Ternary CAM (TCAM) applications, which require efficient search operations and data management.

Innovation Solution

The development of semiconductor devices with a memory cell array and circuitry that execute search operations based on search instructions, including search data, option codes specifying search length and depth, and the ability to generate search results with matching addresses and flags, utilizing non-volatile TCAM devices like NOR flash memory for high-density and high-speed performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If non-volatile TCAM devices are used to achieve high-density storage, then storage capacity is improved, but search speed and bandwidth are reduced

Engineering Contradiction:
Improvestorage capacityVSAvoidsearch speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments the search operation into multiple phases: a coarse search phase that scans through memory blocks to identify candidate blocks, and a fine search phase that performs detailed search within identified blocks. This segmentation allows the system to achieve high search speed by avoiding exhaustive search of all memory cells, thus resolving the contradiction between high storage capacity and fast search operation.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If search depth and search length are increased to improve search completeness, then search accuracy is improved, but search time and energy consumption increase

Engineering Contradiction:
Improvesearch accuracyVSAvoidsearch time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements partial search action by performing search only on identified candidate blocks rather than exhaustively searching the entire memory array. The coarse search phase identifies a subset of blocks that likely contain the target data, and the fine search phase performs complete search only within these candidate blocks. This partial action approach maintains high search accuracy while significantly reducing search time and energy consumption compared to full exhaustive search.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If multiple search data registers are used to support various search operations, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvesearch operation flexibilityVSAvoidcircuit complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal search data register structure that can store different types of search data (exact match data, prefix match data, wildcard data) and support multiple search modes through a single integrated search unit. The search data register is designed with flexible configuration capabilities, allowing it to adapt to various search requirements without requiring separate dedicated registers for each search type. This multi-functional design achieves high adaptability while minimizing the increase in device complexity.

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

Data Source

PatentUS12086414B2Managing content addressable memory devices
Publication Date: 2024.09.10 MACRONIX INTERNATIONAL CO LTD
  • US12086414B2 patent drawing
  • US12086414B2 patent drawing
  • US12086414B2 patent drawing

AI summary

Systems, devices, methods, and circuits for managing content addressable memory (CAM) devices. In one aspect, a semiconductor device includes: a memory cell array configured to store data in memory cells, and a circuitry coupled to the memory cell array and configured to execute a search operation in the memory cell array according to a search instruction. The search instruction includes at least one of search data or an option code, and the option code specifies, for the search operation, at least one of a search length or a search depth.