Parallel pattern detection engine
First Claim
1. A parallel pattern detection engine (PPDE) integrated circuit (IC) for detecting one or more patterns in a sequence of input data comprising:
- an input/output (I/O) interface for coupling data into and out of the PPDE;
M processing units (PUs), each of the M PUs having compare circuitry for comparing each of the sequence of input data to a pattern stored in each of the M PUs and generating a compare output, wherein an address pointer points to the pattern in each of the M PUs, wherein the address pointer is modified in response to a logic state of the compare output and an operation code stored with the pattern;
an input bus for coupling the sequence of input data to each of the M PUs in parallel;
an output bus coupled to the I/O interface for sending output data to the I/O interface;
control circuitry coupled to the I/O interface and coupling control data on a control data bus and identification (ID) on an ID bus to each of the M PUs;
ID selection circuitry for selecting a match ID from ID data identifying the M PUs in response to a pattern match signal and match mode data, wherein the match ID and match data corresponding to the match ID are saved in a temporary register as the output data; and
cascade circuitry coupled from each of the M PUs to one or more adjacent PUs within the M PUs for selectively coupling chain data between one or more groups of two or more adjacent PUs selected from the M PUs in response to the control data.
2 Assignments
0 Petitions
Accused Products
Abstract
A parallel pattern detection engine (PPDE) comprise multiple processing units (PUs) customized to do various modes of pattern recognition. The PUs are loaded with different patterns and the input data to be matched is provided to the PUs in parallel. Each pattern has an Opcode that defines what action to take when a particular data in the input data stream either matches or does not match the corresponding data being compared during a clock cycle. Each of the PUs communicate selected information so that PUs may be cascaded to enable longer patterns to be matched or to allow more patterns to be processed in parallel for a particular input data stream.
-
Citations
22 Claims
-
1. A parallel pattern detection engine (PPDE) integrated circuit (IC) for detecting one or more patterns in a sequence of input data comprising:
-
an input/output (I/O) interface for coupling data into and out of the PPDE; M processing units (PUs), each of the M PUs having compare circuitry for comparing each of the sequence of input data to a pattern stored in each of the M PUs and generating a compare output, wherein an address pointer points to the pattern in each of the M PUs, wherein the address pointer is modified in response to a logic state of the compare output and an operation code stored with the pattern; an input bus for coupling the sequence of input data to each of the M PUs in parallel; an output bus coupled to the I/O interface for sending output data to the I/O interface; control circuitry coupled to the I/O interface and coupling control data on a control data bus and identification (ID) on an ID bus to each of the M PUs; ID selection circuitry for selecting a match ID from ID data identifying the M PUs in response to a pattern match signal and match mode data, wherein the match ID and match data corresponding to the match ID are saved in a temporary register as the output data; and cascade circuitry coupled from each of the M PUs to one or more adjacent PUs within the M PUs for selectively coupling chain data between one or more groups of two or more adjacent PUs selected from the M PUs in response to the control data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A data processing system comprising:
-
a central processing unit (CPU); a random access memory (RAM); one or more parallel pattern detection engines (PPDEs); and a bus coupling the CPU, RAM, and the one or more PPDEs, wherein each of the PPDEs has an input/output (I/O) interface for coupling data into and out of the PPDE; M processing units (PUs), each of the M PUs having compare circuitry for comparing each of a, sequence of input data to a pattern stored in each of the M PUs and generating a compare output, wherein an address pointer points to the pattern in each of the M PUs, wherein the address pointer is modified in response to a logic state of the compare output and an operation code stored with the pattern; an input bus for coupling the sequence of input data to each of the M PUs in parallel; an output bus coupled to the I/O interface for sending output data to the I/O interface; control circuitry coupled to the I/O interface and coupling control data on a control data bus and identification (ID) on an ID bus to each of the M PUs; ID selection circuitry for selecting a match ID from ID data identifying the M PUs in response to a pattern match signal and match mode data, wherein the match ID and match data corresponding to the match ID are saved in a temporary register as the output data; and cascade circuitry coupled from each of the M PUs to one or more adjacent PUs within the M PUs for selectively coupling chain data between one or more groups of two or more adjacent PUs selected from the M PUs in response to the control data. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
Specification