Claims
- 1. A Progammable Streaming Data Processor (PSDP) which is arranged to perform primitive functions directly on data received from a streaming data interface, PSDP performing initial processing on a set of data comprising:
a streaming data interface, for receiving data from a streaming data source; a streaming interface First In First Out (FIFO), arranged for temporarily storing streaming data from the streaming data interface; a data engine, arranged to receive output data from the streaming interface FIFO, the data engine for determining field boundaries therein, and for processing fields to select one or more fields to be output tuples, the data engine also containing logic to determine whether an output tuple is to be selected for further processing by additional processing Job Processing Units, and for asserting a use/lose decision value according to that determination; a tuple generator for assembling fields into the output tuple, and if the use/lose decision value indicates that such output tuple is to be discarded, for preventing such tuple set from being transferred from the output FIFO to the memory of the JPU; and an output First In First Out (FIFO) device, for forming tuples and temporarily storing them prior to conditionally forwarding them to the Job Processing Unit.
- 2. An apparatus as in claim 1 wherein the use/lose value indicates a result from logic processing of fields read from the streaming data interface.
- 3. An apparatus as in claim 1 wherein the use/lose decision value indicates a result from Transaction Identifier (TID) processing.
- 4. An apparatus as in claim 3 wherein the TID processing and data engine logic execute in parallel.
- 5. An apparatus as in claim 1 wherein the output tuple is greater in length than an expected predetermined size, and the use/lose decision value is then used to set an overflow field in the output tuple.
- 6. An apparatus as in claim 5 wherein the use/lose decision value is not asserted when a buffer local to the programmable data streaming processor is full; and
means for appending an overflow filter bit to a tuple that indicates a transfer of a tuple that should be ignored.
- 7. An apparatus as in claim 1 additionally comprising:
a Direct Memory Access (DMA) interface, coupled to the output FIFO, to provide direct access to a memory in the Job Processing Unit.
- 8. An apparatus as in claim 1 wherein the use/lose value is used to reset the output FIFO write pointer so any prior fields in the present tuple are discarded.
- 9. An apparatus as in claim 1 wherein the overflow filter bit is inserted in a length field appended to record fragments.
- 10. An apparatus as in claim 1 wherein an invalid field is appended to a tuple to indicate the results of transaction ID processing.
- 11. An apparatus as in claim 10 wherein the invalid field indicates that the TID mode marks return tuple
- 12. An apparatus as in claim 10 wherein the invalid field indicates that the tuple should not have been returned but the output FIFO overflowed.
- 13. An apparatus as in claim 1 further comprising:
a register reflecting the final PSDP status which is read by the CPU to identify whether any overflow or TID status bits are set in any of the tuples.
- 14. An apparatus as in claim 1 wherein the use/lose decision value represents DeMorgan's Law reduction of multiple instructions.
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/412,057 entitled “Asymmetric Streaming Record Processing Computer System,” filed on Sep. 19, 2002, and U.S. Provisional Application No. 60/411,686 entitled “Intelligent Storage Device Controller,” filed on Sep. 18, 2002. The entire teachings of these provisional applications are hereby incorporated by reference.
[0002] This application is also related to U.S. Patent Application entitled “Field Oriented Pipeline Architecture for a Programmable Data Streaming Processor,” (Attorney Docket No. 3336.1008-002); U.S. patent application entitled “Asymmetric Streaming Record Data Processor Method and Apparatus,” (Attorney Docket No. 3336.1016-001); U.S. patent application entitled “Programmable Streaming Data Processor For Data Base Appliance Having Multiple Processing Unit Groups,” (Attorney Docket No. 3336.1016-002); and U.S. patent application entitled “Programmable Data Streaming Architecture Having Autonomous and Asynchronous Job Processing Unit,” (Attorney Docket No. 3336.1016-003), all of which are being filed together on the same date as this application. The entire teachings of each of these co-pending patent applications is also hereby incorporated by reference. This application and the above applications are also all assigned to Netezza Corporation.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60412057 |
Sep 2002 |
US |
|
60411686 |
Sep 2002 |
US |