发明名称 |
Algorithm engine for use in a pattern matching accelerator |
摘要 |
A pattern matching accelerator (PMA) for assisting software threads to find the presence and location of strings in an input data stream that match a given pattern. The patterns are defined using regular expressions that are compiled into a data structure comprised of rules subsequently processed by the PMA. The patterns to be searched in the input stream are defined by the user as a set of regular expressions. The patterns to be searched are grouped in pattern context sets. The sets of regular expressions which define the pattern context sets are compiled to generate a rules structure used by the PMA hardware. The rules are compiled before search run time and stored in main memory, in rule cache memory within the PMA or a combination thereof. For each input character, the PMA executes the search and returns the search results. |
申请公布号 |
US8799188(B2) |
申请公布日期 |
2014.08.05 |
申请号 |
US201113023003 |
申请日期 |
2011.02.08 |
申请人 |
International Business Machines Corporation |
发明人 |
Biran Giora;Hagleitner Christoph;Heil Timothy H.;Hoover Russell D.;Van Lunteren Jan |
分类号 |
G06F15/18 |
主分类号 |
G06F15/18 |
代理机构 |
|
代理人 |
Zaretsky Howard |
主权项 |
1. An algorithm engine for searching and scanning for regular expression based pattern contexts in an input character stream, comprising:
control logic operative to receive pattern context search commands from a data engine; one or more physical pattern search lanes, each physical pattern search lane comprising:
a memory store operative to store a plurality of local rules and a plurality of temporary rules;one or more pattern search engines, each pattern search engine coupled to its corresponding memory store and operative to execute said pattern context search commands;wherein each physical pattern search lane is time multiplexed to create a plurality of logical pattern search lanes, each logical pattern search lane operative to execute independently of other logical pattern search lanes a search command received from a command unit, whereby said command unit operating on two searches may be connected to two logical lanes at the same time; and a local results processor (LRP) associated with each pattern search lane for assisting said pattern search engines in searching complex pattern contexts; and wherein a local results processor is associated with each logical pattern search lane and is operative to receive a set of commands from a corresponding logical pattern search engine on partial matches during a search operation and analyze match results to assist in processing complex regular expression pattern contexts. |
地址 |
Armonk NY US |