Hardware for table scan acceleration
First Claim
1. A machine-implemented method for processing a query, comprising:
- determining, by a microprocessor, that execution of the query involves a scan operation;
in response to determining that execution of the query involves a scan operation,generating, by the microprocessor, a scan operation command that includes, as parameters of the scan operation command, address data that is used to identify input data to be read by a coprocessor and one or more values that are used to compare against the input data;
wherein the microprocessor is separate from the coprocessor;
causing, by the microprocessor, the scan operation command to be stored in memory;
processing, by the coprocessor, the scan operation command by;
reading the scan operation command from the memory;
causing the input data to be read from a location that is indicated by the address data;
performing a comparison between the input data with the one or more values;
generating a result data based on the comparison;
causing the result data to be stored.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for processing a query are provided. One or more operations that are required to process a query are performed by a coprocessor that is separate from a general purpose microprocessor that executes query processing software. The query processing software receives a query, determines one or more operations that are required to be executed to fully process the query, and issues one or more commands to one or more coprocessors that are programmed to perform one of the operations, such as a table scan operation and/or a lookup operation. The query processing software obtains results from the coprocessor(s) and performs one or more additional operations thereon to generate a final result of the query.
19 Citations
25 Claims
-
1. A machine-implemented method for processing a query, comprising:
-
determining, by a microprocessor, that execution of the query involves a scan operation; in response to determining that execution of the query involves a scan operation, generating, by the microprocessor, a scan operation command that includes, as parameters of the scan operation command, address data that is used to identify input data to be read by a coprocessor and one or more values that are used to compare against the input data; wherein the microprocessor is separate from the coprocessor; causing, by the microprocessor, the scan operation command to be stored in memory; processing, by the coprocessor, the scan operation command by; reading the scan operation command from the memory; causing the input data to be read from a location that is indicated by the address data; performing a comparison between the input data with the one or more values; generating a result data based on the comparison; causing the result data to be stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A coprocessor that is configured to perform the steps of:
-
reading a scan operation command (1) that was generated by a microprocessor, that is separate from the coprocessor and that executes instructions related to query processing, in response to the microprocessor determining that a query includes a scan operation; and
(2) that includes, as parameters of the scan operation command, address data that is used to identify input data to be read by the coprocessor and one or more values that are used to compare against the input data;causing the input data to be read from a location that is indicated by the address data; performing a comparison between the input data and the one or more values; generating a result data based on the comparison; causing the microprocessor to be notified of the result data. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification