TCAM Sub-Block Search Data Reordering for Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ternary Content Addressable Memory (TCAM) devices face high power consumption during search operations due to the generation of search current, especially when non-matching results are obtained in initial-stage time division searches, making it difficult to achieve low power consumption across all fields in a table.

Innovation Solution

A semiconductor device is designed with N number of sub-blocks, each including a memory cell array, a setting register to specify entry data for pre-searching, and a search data changing unit that rearranges the data arrangement order for search data based on the setting register, allowing pre-searching sub-blocks to identify matching entry data and post-searching sub-blocks to focus on non-matching data, thereby reducing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If time division search is executed for fields in a table, then power consumption is reduced when pre-search results in non-matching, but power saving effects are changed in accordance with the way of writing to the TCAM device

Engineering Contradiction:
Improvepower consumptionVSAvoidpower saving effectiveness
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by performing pre-searching in the initial-stage segment before executing the main search in the post-stage segment. The search data is divided into first search data for pre-searching and second search data for post-searching. When a non-matching result (MISS) is generated in the pre-searching stage, the post-searching is skipped, thereby reducing power consumption. This preliminary filtering action allows the system to avoid unnecessary full searches.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the search process into two distinct stages: pre-searching in the initial-stage segment and post-searching in the post-stage segment. The TCAM device is divided into functional segments that handle different parts of the search operation. This segmentation enables selective execution of search stages based on pre-search results, optimizing power consumption by avoiding full searches when possible.

Inventive Principle:
Principle #1Segmentation

2Speed

If TCAM device performs entire searches at higher speed, then search speed is improved, but power consumption is increased due to generation of search current

Engineering Contradiction:
Improvesearch speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent applies partial action by executing only the necessary portion of the search process. Instead of always performing complete searches across all segments, the system performs partial searches based on pre-searching results. When the pre-searching stage generates a non-matching result, the system skips the post-searching stage entirely, performing only partial search operations. This reduces power consumption while maintaining high search speed for cases where matches are found in the pre-searching stage.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10373684B2Semiconductor device
Publication Date: 2019.08.06 RENESAS ELECTRONICS CORP
  • US10373684B2 patent drawing
  • US10373684B2 patent drawing
  • US10373684B2 patent drawing

AI summary

A semiconductor device includes an N number of sub-blocks each of including a memory cell array, a setting register specifying number of entry data for pre-searching, of first to N-th entry data divided and correspond respectively to the sub-blocks, and a search data changing unit changing a data arrangement order for search data input based on a value of the register. A sub-block for pre-searching searches for entry data matching with data for pre-searching in accordance with the arrangement order changed by the changing unit, in response to an instruction, and outputs a search result representing matching or non-matching. A sub-block for post-searching searches for entry data matching with data for post-searching other than the data for pre-searching, of entry data stored in association with each row of the array, based on a search result of the sub-block for pre-searching, and outputs a search result representing matching or non-matching.