Fig 1.
Example of pattern grouping.
Fig 2.
Example of DFA for all of target patterns in Fig 1.
Fig 3.
Example of DFAs after considering the pattern uniqueness.
(a) DFA for the set of unique patterns; (b) DFA for the set with non-unique patterns.
Fig 4.
Bit-split string matching engine.
Table 1.
ASCII binary codes.
Table 2.
Bit-split patterns with two-bit vectors for patterns “abcd,” “abfg,” and “cfg”.
Table 3.
Bit-split patterns with two-bit vectors for patterns “abfh” and “cfg”.
Fig 5.
Proposed string matching architecture.
Fig 6.
FSM tile in a string matcher for the set with non-unique patterns.
Fig 7.
FSM tile in a string matcher for the set of unique patterns.
Table 4.
Proposed pattern grouping algorithm.
Table 5.
Proposed pattern partitioning algorithm.
Table 6.
Characteristics of target pattern rule sets.
Table 7.
Required numbers of memory cells according to hardware limitations and unit sizes of memory cells.
Table 8.
Numbers of patterns in the set with non-unique patterns and set of unique patterns.
Table 9.
Total memory requirements according to different unit sizes of memory cells.
Fig 8.
Summary of comparisons for 1-Kbit memory cells.
Fig 9.
Summary of comparisons for 4-Kbit memory cells.
Fig 10.
Ratio of unique patterns by sweeping the average pattern length.
Fig 11.
Ratio of unique patterns by sweeping the number of generated patterns.
Fig 12.
Ratio of unique patterns by sweeping the standard deviation.
Table 10.
Implementation results of a string matcher according to the maximum numbers of states and patterns to be mapped.