Finite State Machine Using Content Addressable Memory Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Finite-state machines (FSMs) face inefficiencies in state transitions due to the potential for non-unique matches in content addressable memory (CAM) searches, leading to increased power consumption and complexity, especially when searching the entire CAM for each input term.

Innovation Solution

Implementing a system where the FSM searches only the subset of CAM blocks associated with the current state, using either fixed or dynamically changeable associations, to prevent multiple matches and reduce power usage by enabling only relevant blocks for searching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire CAM is searched for each input term, then all possible state transitions can be detected, but power consumption increases and multiple matches may occur

Engineering Contradiction:
Improvestate transition accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The CAM is divided into multiple blocks, where each block is associated with a specific current state of the FSM. During operation, only the block corresponding to the current state is enabled for searching, rather than searching the entire CAM. This segmentation reduces the search space and power consumption while maintaining accurate state transition detection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The association between CAM blocks and FSM states can be dynamically changed through reconfiguration. This allows the system to adapt to different FSM configurations and state transitions by updating which CAM block is active for the current state, providing flexibility while maintaining the benefit of reduced search scope.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the entire CAM is searched for each input term, then all possible state transitions can be detected, but device complexity increases

Engineering Contradiction:
Improvestate transition accuracyVSAvoidcontrol logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The CAM is divided into multiple blocks, where each block is associated with a specific current state of the FSM. During operation, only the block corresponding to the current state is enabled for searching, rather than searching the entire CAM. This segmentation reduces the search space and power consumption while maintaining accurate state transition detection.

Inventive Principle:
Principle #1Segmentation

3Reliability

If all CAM blocks are enabled for searching, then no matches are lost, but power consumption increases due to unnecessary searches

Engineering Contradiction:
Improvematch detection completenessVSAvoidenergy wasted on unnecessary searches
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The unnecessary search operations are extracted and eliminated from the system. By enabling only the CAM block associated with the current state, the system performs only the necessary searches required for accurate state transition detection, removing the wasteful energy consumption from searching irrelevant blocks.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The association between CAM blocks and FSM states can be dynamically changed through reconfiguration. This allows the system to adapt to different FSM configurations and state transitions by updating which CAM block is active for the current state, providing flexibility while maintaining the benefit of reduced search scope.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10620605B2Finite state machines
Publication Date: 2020.04.14 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10620605B2 patent drawing
  • US10620605B2 patent drawing
  • US10620605B2 patent drawing

AI summary

An example finite state machine may include a content-addressable memory. The content-addressable memory may include blocks that respectively store input-terms of the finite state machine. The finite state machine may be configured to, for each received input: select a subset of the blocks of the content addressable memory to enable for searching, the subset being selected based on a current state of the finite state machine, and determine a next state of the finite state machine by searching the currently enabled subset of blocks of the content addressable memory based on the input.