A hybrid multiple-character transition finite-automaton for string matching engine - Chen, Chien-Chi; Wang, Sheng-De (Microprocessors and microsystems, 2015)
[Display omitted] •A hybrid finite automaton is proposed with deterministic and nondeterministic parts.•The hybrid FA is capable of inspecting multiple characters in parallel.•The space required by the finite automata is efficient when scales up.•The transitions number increases almost linearly to the number of multi-character.•A configurable multi-stage architecture can implement the hybrid finite automaton. The throughput of a string-matching engine can be multiplied up by inspecting multiple characters in parallel. However, the space that is required to implement a matching engine that can process multiple characters in every cycle grows dramatically with the number of characters to be processed in parallel. This paper presents a hybrid finite automaton (FA) that has deterministic and nondeterministic finite automaton (NFA and DFA) parts and is based on the Aho-Corasick algorithm, for inspecting multiple characters in parallel while maintaining favorable space utilization. In the presented approach, the number of multi-character transitions increases almost linearly with respect to the number of characters to be inspected in parallel. This paper also proposes a multi-stage architecture for implementing the hybrid FA. Since this multi-stage architecture has deterministic stages, configurable features can be introduced into it for processing various keyword sets by simply updating the configuration. The experimental results of the implementation of the multi-stage architecture on FPGAs for 8-character transitions reveal a 4.3 Gbps throughput with a 67MHz clock, and the results obtained when the configurable architecture with two-stage pipelines was implemented in ASICs reveal a 7.9 Gbps throughput with a 123MHz clock.