Architecture for efficient pattern match operations
First Claim
1. A system architecture for pattern match applications, the system including:
- a host computer that transmits a database and a query associated with the database; and
a pattern match accelerator that receives the database and the query, performs search and score operations for a pattern match application on the database using the query, and provides results of the pattern match application to the host computer, the pattern match accelerator serving as a peripheral to the host computer, the pattern match accelerator including;
a plurality of pattern match units, each pattern match unit receiving the query, and each pattern match unit including;
a main memory that stores a portion of the database; and
a programmable logic device that performs the search and score operations on the portion of the database; and
pattern match unit (PMU) control logic that interfaces between the host computer and each pattern match unit,wherein the programmable logic device is configured at a first point in time to generate an index of the database, which is stored in the main memory, and is configured at a second point in time to perform the search and score operation using the index,wherein the main memory is mapped to provide that a database portion starts from one end of the main memory whereas the index starts from another end of the main memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A system architecture optimized for pattern match applications is provided. This system architecture includes a host computer and a pattern match accelerator (PMA), which in turn includes one or more pattern match units (PMUs) and PMU control logic. The PMU control logic can divide a database, transmitted by the host computer, such that each of the PMUs receives a database portion. Each PMU includes a main memory for storing the database portion and a programmable logic device (PLD). The PLD can perform a search and score operation on its database portion. Advantageously, the PLD can be configured to generate an index of the database portion, and then configured to perform the search and score operation using that index. The PMU control logic can assemble the results of the pattern match application from each of the PMUs.
12 Citations
13 Claims
-
1. A system architecture for pattern match applications, the system including:
-
a host computer that transmits a database and a query associated with the database; and a pattern match accelerator that receives the database and the query, performs search and score operations for a pattern match application on the database using the query, and provides results of the pattern match application to the host computer, the pattern match accelerator serving as a peripheral to the host computer, the pattern match accelerator including; a plurality of pattern match units, each pattern match unit receiving the query, and each pattern match unit including; a main memory that stores a portion of the database; and a programmable logic device that performs the search and score operations on the portion of the database; and pattern match unit (PMU) control logic that interfaces between the host computer and each pattern match unit, wherein the programmable logic device is configured at a first point in time to generate an index of the database, which is stored in the main memory, and is configured at a second point in time to perform the search and score operation using the index, wherein the main memory is mapped to provide that a database portion starts from one end of the main memory whereas the index starts from another end of the main memory. - View Dependent Claims (3, 4, 5, 6, 7)
-
-
2. A system architecture for pattern match applications, the system including:
-
a host computer that transmits a database and a query associated with the database; and a pattern match accelerator that receives the database and the query, performs search and score operations for a pattern match application on the database using the query, and provides results of the pattern match application to the host computer, the pattern match accelerator serving as a peripheral to the host computer, the pattern match accelerator including; a plurality of pattern match units, each pattern match unit receiving the query, and each pattern match unit including; a main memory that stores a portion of the database; and a programmable logic device that performs the search and score operations on the portion of the database; and pattern match unit (PMU) control logic that interfaces between the host computer and each pattern match unit, wherein the programmable logic device is configured at a first point in time to generate an index of the database, which is stored in the main memory, and is configured at a second point in time to perform the search and score operation using the index, wherein the main memory includes a first memory that stores an unsorted index table and a second memory that stores a sorted index table.
-
-
8. A method of performing a search and score operation for a pattern match application, the method comprising:
-
dividing a database to provide that each of a plurality of pattern match units receives a database portion; storing each database portion in a main memory of the pattern match unit;
receiving a query for the database at each pattern match unit;performing the search and score operation on each database portion with the query using a reconfigurable logic device provided in the pattern match unit; configuring the reconfigurable logic device at a first point in time to generate an index of the database portion, the index being stored in the main memory, and configuring the reconfigurable logic device at a second point in time to perform the search and score operation using the index; and assembling and outputting results from the plurality of pattern match units; and mapping the main memory to provide that the database portion starts from one end of the main memory and the index starts from another end of the main memory. - View Dependent Claims (10, 11, 12, 13)
-
-
9. A method of performing a search and score operation for a pattern match application, the method comprising:
-
dividing a database to provide that each of a plurality of pattern match units receives a database portion; storing each database portion in a main memory of the pattern match unit;
receiving a query for the database at each pattern match unit;performing the search and score operation on each database portion with the query using a reconfigurable logic device provided in the pattern match unit; configuring the reconfigurable logic device at a first point in time to generate an index of the database portion, the index being stored in the main memory, and configuring the reconfigurable logic device at a second point in time to perform the search and score operation using the index; and assembling and outputting results from the plurality of pattern match units; and using a first memory of the main memory that stores an unsorted index table and using a second memory of the main memory that stores a sorted index table.
-
Specification