摘要 |
A highly versatile data search engine in which multiple search cells are connected together in a pipeline through which data can be streamed. Each cell has multiple registers, and corresponding registers in each cell are connected together to form the pipeline. Characters in two data streams are compared in the pipeline, a first data stream that includes a sequence of database characters and parallel sequences of associated data, and a second data stream that includes a sequence of pattern characters and parallel sequences of associated data. The parallel data sequences associated with the pattern data include coded signals that control cell operation. One of the parallel data sequences associated with the database is a sequence of character marks, which are used to indicate search starting points in the database character sequence, and which are propagated along the database character sequence as a result of successive character matches between the pattern and database characters. Use of the character marks facilitates searches in both forward and reverse directions, and permits selected database characters to be ignored. The search engine can be operated in either a retrospective mode, in which the database is streamed through cells containing a stationary pattern, or in dissemination mode, in which patterns are streamed through cells containing a stationary database.
|