Database engine
First Claim
1. An attached coprocessor for processing database records stored in a system memory of a host system, responsive to database processing commands stored in the system memory and generated by a database processing program, said coprocessor comprising:
- first bus means for carrying control information;
second bus means for carrying data;
extractor means for extracting fields from the records and for reordering said fields based on said commands, the extractor means being in communication with the system memory, the first bus means and the second bus means;
controls means communicating with said host system, for providing control information on the first bus means responsive to the commands, the control means being in communication with the first bus means and the second bus means;
search means for processing search queries responsive to the control means, the search means being in communication with the first bus means and the second bus means;
sort means for performing sort and merge operations on the database records responsive to the control means, the sort means being in communication with the first bus means and the second bus means;
hash generator means for generating a hash code from keys provided in the database processing commands the hash generator means being responsive to the control means and in communication with the first bus means and the second bus means; and
memory means for temporarily storing internal data, the memory means being in communication with the second bus means whereby said search means, said sort means, and said hash generator means utilize said memory means in common.
0 Assignments
0 Petitions
Accused Products
Abstract
A processor functioning as a coprocessor attached to a central processing complex provides efficient execution of the functions required for database processing: sorting, merging, joining, searching and manipulating fields in a host memory system. The specialized functional units: a memory interface and field extractor/assembler, a Predicate Evaluator, a combined sort/merge/join unit, a hasher, and a microcoded control processor, are all centered around a partitioned Working Store. Each functional unit is pipelined and optimized according to the function it performs, and executes its portion of the query efficiently. All functional units execute simultaneously under the control processor to achieve the desired results. Many different database functions can be performed by chaining simple operations together. The processor can effectively replace the CPU bound portions of complex database operations with functions that run at the maximum memory access rate improving performance on complex queries.
-
Citations
10 Claims
-
1. An attached coprocessor for processing database records stored in a system memory of a host system, responsive to database processing commands stored in the system memory and generated by a database processing program, said coprocessor comprising:
-
first bus means for carrying control information; second bus means for carrying data; extractor means for extracting fields from the records and for reordering said fields based on said commands, the extractor means being in communication with the system memory, the first bus means and the second bus means; controls means communicating with said host system, for providing control information on the first bus means responsive to the commands, the control means being in communication with the first bus means and the second bus means; search means for processing search queries responsive to the control means, the search means being in communication with the first bus means and the second bus means; sort means for performing sort and merge operations on the database records responsive to the control means, the sort means being in communication with the first bus means and the second bus means; hash generator means for generating a hash code from keys provided in the database processing commands the hash generator means being responsive to the control means and in communication with the first bus means and the second bus means; and memory means for temporarily storing internal data, the memory means being in communication with the second bus means whereby said search means, said sort means, and said hash generator means utilize said memory means in common. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An attached coprocessor for performing a plurality of database functions on database records stored in a system memory of a host computer, said coprocessor comprising:
-
control bus means; data bus means; control processor means communicating with said host computer, for parsing a database command received from said system memory, said parsed database command including a selected set of said plurality of database functions, said control processor means controlling said control bus means in accordance with said selected set of said plurality of database functions, said control processor means being in communication with said control bus means and said data bus means; processing means for selecting database fields from the database records and for manipulating said database fields in accordance with said selected set of said plurality of database functions, said control bus means and said data bus means connecting said processing means with said system memory;
said processing means includinga plurality of processing elements for performing said plurality of database functions, said processing elements being invoked in accordance with said selected set of said plurality of database functions, said plurality of processing elements including, search means for selecting desired ones of said database fields, said search means being responsive to said control processor means and said search means being in communication with said control bus means and said data bus means; sort means for performing sort and merge operations on said database records, said sort means being responsive to said control processor means and said sort means being in communication with said control bus means and said data bus means; hash code generator means for generating a hash code based on a key field in said database record, said hash code being used by said plurality of processing elements, said hash code generator means being responsive to said control processor means and said hash code generator means being in communication with said control bus means and said data bus means; and memory means for temporarily storing internal data, the memory means being in communication with said data bus means whereby each of said plurality of processing elements utilize said memory means in common. - View Dependent Claims (7, 8, 9, 10)
-
Specification