A platform-based SoC design and implementation of scalable automaton matching for deep packet inspection

Ying-Dar Lin, Kuo Kun Tseng*, Tsern-Huei Lee, Yi Neng Lin, Chen Chou Hung, Yuan Cheng Lai

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

10 Scopus citations


String matching plays a central role in packet inspection applications such as intrusion detection, anti-virus, anti-spam and Web filtering. Since they are computation and memory intensive, software matching algorithms are insufficient to meet the high-speed performance. Thus, offloading packet inspection to a dedicated hardware seems inevitable. This paper presents a scalable automaton matching (SAM) coprocessor that uses Aho-Corasick (AC) algorithm with two parallel acceleration techniques, root-indexing and pre-hashing. The root-indexing can match multiple bytes in one single matching, and the pre-hashing can be used to avoid bitmap AC matching which is a cycle-consuming operation. In the platform-based SoC implementation of the Xilinx ML310 FPGA, the proposed hardware architecture can achieve almost 10.7 Gbps and support over 10,000 patterns for virus, which is the largest pattern set from among the existing works. On the average, the performance of SAM is 7.65 times faster than the original bitmap AC. Furthermore, SAM is feasible for either internal or external memory architecture. The internal memory architecture provides high performance, while the external memory architecture provides high scalability in term of the number of patterns.

Original languageEnglish
Pages (from-to)937-950
Number of pages14
JournalJournal of Systems Architecture
Issue number12
StatePublished - 1 Dec 2007


  • Automaton
  • Content filtering
  • Deep packet inspection
  • String matching

Fingerprint Dive into the research topics of 'A platform-based SoC design and implementation of scalable automaton matching for deep packet inspection'. Together they form a unique fingerprint.

Cite this