Patent ID: 7444434

Claim:
A method of determining if any of N sequences of pattern occurs within a sequence of input data using a parallel pattern detection engine (PPDE) comprising the steps of: a) loading the N sequences of pattern into M processing units (PUs), each of the M PUs having compare circuitry for comparing each of the sequence of input data, in parallel, to a selected pattern in each of the N sequences of pattern stored in the M PUs; b) loading identification (ID) data into each of the M PUs, wherein the ID data determines an ID for each of the M PUs; c) loading match mode data into each of the M PUs setting criteria for determining when conditions have been met for indicating that one of the N sequences of pattern has been detected in the sequence of input data; d) coupling a first input data in parallel to each of the M PUs; e) comparing the first input data to the selected pattern determined by an address pointer in each of the M PUs and generating a compare output in each of the M PUs within a same clock cycle; f) modifying the value of the address pointer in each of the M PUs in response to a logic state of the corresponding compare output and an operation code stored with the selected pattern in each of the M PUs; g) selecting a match ID from the ID data in response to a pattern match signal indicating one of the N sequences of pattern has been detected; h) storing the match ID and match data corresponding to the match ID; and i) repeating steps (e-h) until a last input data of the sequence of input data has been compared.