PRISM Context Switching for High-Speed Content Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face performance limitations in processing regular expressions at high network line rates, particularly in content search applications, due to the large number of states required for deterministic finite state automata (DFA) and the non-deterministic nature of non-deterministic finite state automata (NFA), leading to inefficient memory usage and processing burdens on host processors.

Innovation Solution

A Programmable Intelligent Search Memory (PRISM) with a context switching architecture and compiler that converts regular expressions into efficient finite state automata (FSA) for simultaneous search across multiple packets, enabling high-speed content inspection at line rates up to 10 Gbps by using NFAs and tagged NFAs, and supporting ternary content addressable memory functionality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If deterministic finite state automata (DFA) is used for content search, then search accuracy is improved, but memory usage and device complexity increase significantly

Engineering Contradiction:
Improvesearch accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the DFA state transition table into multiple banks of memory, where each bank stores a portion of the state transition information. This segmentation allows the system to maintain complete DFA functionality while distributing memory usage across multiple smaller, more manageable units, thereby reducing the complexity burden of any single memory component.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a bank selection dimension to the traditional DFA state transition structure. Instead of a single flat state transition table, the system uses multiple banks selected based on the current state, effectively adding a dimensional layer to the state space organization. This allows efficient memory access patterns while maintaining complete DFA search accuracy.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If non-deterministic finite state automata (NFA) is used for content search, then device complexity is reduced, but processing speed and productivity deteriorate

Engineering Contradiction:
Improveprocessing burdenVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces bank selection logic as an intermediary mechanism that mediates between the simplified NFA structure and the performance requirements of DFA. The bank selection unit determines which memory bank to access based on the current state, enabling the system to use NFA's lower complexity while achieving DFA-like processing speed through efficient memory organization and access patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic bank selection based on the current FSA state. The memory bank accessed is dynamically determined by the state transition requirements, allowing the system to adapt its memory access pattern to the specific search being performed. This dynamic organization enables faster processing by avoiding fixed, suboptimal memory access patterns.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If context switching architecture is implemented for multiple packets, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvemulti-packet processing capabilityVSAvoidcontext management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent designs the FSA state memory and bank selection logic to serve multiple purposes: they handle both single-packet and multi-packet processing, support different FSA types (DFA and NFA), and accommodate various context switching scenarios. This universal design allows the same hardware structure to adapt to different processing requirements without requiring separate dedicated components for each function.

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

Data Source

PatentUS7890692B2FSA context switch architecture for programmable intelligent search memory
Publication Date: 2011.02.15 IP PROGRAM INC
  • US7890692B2 patent drawing
  • US7890692B2 patent drawing
  • US7890692B2 patent drawing

AI summary

Memory architecture provides capabilities for high performance content search. The architecture creates an innovative memory that can be programmed with content search rules which are used by the memory to evaluate presented content for matching with the programmed rules. When the content being searched matches any of the rules programmed in the Programmable Intelligent Search Memory (PRISM) action(s) associated with the matched rule(s) are taken. Content search rules comprise of regular expressions which are converted to finite state automata (FSA) and then programmed in PRISM for evaluating content with the search rules. PRISM architecture comprises of a plurality of programmable PRISM Search Engines (PSE) organized in PRISM memory clusters that are used simultaneously to search content presented to PRISM. A context switching architecture enables transitioning of PSE states between different input contexts.