Claims
- 1. A database coprocessor, comprising:
- memory interface means for providing access to a system memory,
- extractor means, coupled to said memory interface means, for receiving database commands from a computer system, for extracting data to be processed from the system memory and for assembling final result data to be stored in said system memory, each of said database commands corresponding to a plurality of database processing functions, a single invocation of said coprocessor being for executing said plurality of database functions in response to subfunction commands,
- local memory means coupled to the extractor means for temporarily storing the data to be processed,
- a plurality of processing element means, each said processing element means being coupled to the extractor means and the local memory means, for autonomously performing said database processing subfunctions, including accessing of said local memory means for read and write operation, in response to subfunction commands,
- control processor means, coupled to the extractor means and said plurality of processing element means, for identifying database commands in the data to be processed, for parsing the database commands into one or more subfunction commands, and for distributing the subfunction commands among the data processing element means to control autonomous processing of said data to be processed, in a pipeline manner, in accordance with said subfunction commands,
- control bus means for communicating commands from the control processor means to the extractor means and the plurality of processing element means, and
- data bus means for exchanging data between the extractor means, the local memory means, and the plurality of processing element means whereby the extractor means and said plurality of processing element means each utilize said local memory in common.
- 2. A database coprocessor, as recited in claim 1, wherein said extractor means reformats said data to be processed to a predetermined format for use by said plurality of processing element means and a first of said plurality of processing element means receives said reformatted data.
- 3. A database coprocessor, as recited in claim 2, wherein said extractor means further processes said reformatted data to produce processed data and then passes said processed data to said local memory means.
- 4. A database coprocessor, as recited in claim 3, wherein said processed data is retrievable by a second of said plurality of processing elements until a predetermined data result is obtained.
- 5. A database coprocessor, as recited in claim 4, wherein said predetermined data result is read from said local memory means by said extractor means which reformats said predetermined data result into output data in accordance with said database commands and writes said output data to said system memory.
- 6. A database coprocessor, as recited in claim 1, wherein said plurality of processing element means perform predetermined database operations based on said database commands.
- 7. A database coprocessor, as recited in claim 6, wherein said plurality of processing element means include means for filtering said data, means for grouping said data, means for sorting said data, means for joining said data, and means for merging said data.
Parent Case Info
This is a Continuation of Application No. 07/993,254 filed Feb. 10, 1993, now abandoned, which is a divisional of application(s) Ser. No. 07/499,844 filed on Mar. 27, 1990, now U.S. Pat. No. 5,210,870.
US Referenced Citations (8)
Foreign Referenced Citations (4)
Number |
Date |
Country |
0066061 |
Dec 1982 |
EPX |
0070119 |
Jan 1983 |
EPX |
2235798 |
Mar 1991 |
GBX |
8912277 |
Dec 1989 |
WOX |
Non-Patent Literature Citations (2)
Entry |
Patent Abstracts of Japan, vol. 13, No. 448, p. 942, Oct. 9, 1989. |
Patent Abstracts of Japan, vol. 14, No. 179, p. 1034, Apr. 10, 1990. |
Divisions (1)
|
Number |
Date |
Country |
Parent |
499844 |
Mar 1990 |
|
Continuations (1)
|
Number |
Date |
Country |
Parent |
993254 |
Feb 1993 |
|