Patent ID: 7200714

Claim:
A packet co-processing system for improving the performance of an Application Specific Integrated Circuit (ASIC), the system comprising: a set of N search engines, logically disposed so as to form a chain of search engines, said set of search engines including: (a) a first search engine for connecting to the ASIC; (b) a terminal search engine, operatively connected with said first search engine, and (c) a set of N−2 intermediate search engines, logically disposed between said first search engine and said terminal search engine, wherein N is an integer=2, and wherein each particular search engine in said chain of search engines includes: (i) an input selector including a parsing unit configured to: (A) select a particular set of fields containing at least a portion of at least one field, from a larger, first set of fields submitted to said particular search engine, and (B) produce a Synthesized Key using data from said particular set of fields; (ii) search logic configured to: (A) search a memory, in response to said Synthesized Key, for a key entry matching said Synthesized Key, and (B) retrieve, from said memory, associated data corresponding to said Synthesized Key, and (iii) an output unit configured to output said associated data from said particular search engine, wherein said chain is further configured such that each output unit of each said intermediate search engine, and at least one output unit of said first search engine and said terminal search engine, output said associated data to an adjacent search engine in said chain, and wherein said chain is further configured such that said input selector of each said intermediate search engine, and at least one input selector of said first search engine and said terminal search engine, output a second set of fields, including at least a portion of said first set of fields, to an adjacent search engine in said chain.