Intelligent data storage and processing using FPGA devices
First Claim
1. A data processing apparatus comprising:
- a processing device for communicating with a computer system to offload a plurality of processing tasks from a processor within the computer system, wherein the processing device comprises a re-configurable logic device;
wherein the re-configurable logic device is configured to receive and process streaming data through a multi-functional pipeline deployed on the re-configurable logic device;
wherein the multi-functional pipeline comprises a plurality of pipelined data processing engines, each pipelined data processing engine being configured to (1) receive streaming data and perform a processing operation on the received streaming data, and (2) be responsive to a control instruction that defines whether that pipelined data processing engine is an activated data processing engine or a deactivated data processing engine, wherein an activated data processing engine is configured to perform the processing operation of that activated data processing engine on any received streaming data, and wherein a deactivated data processing engine remains in the pipeline but does not perform the processing operation of that deactivated data processing engine on any received streaming data, the multi-functional pipeline thereby being configured to provide a plurality of different pipeline functions in response to control instructions that are configured to selectively activate and deactivate the pipelined data processing engines, each pipeline function being the combined functionality of each activated pipelined data processing engine in the pipeline at a given time; and
wherein the pipelined data processing engines comprise a data reduction engine.
3 Assignments
0 Petitions
Accused Products
Abstract
A re-configurable logic device such as a field programmable gate array (FPGA) can be used to deploy a data processing pipeline, the pipeline comprising a plurality of pipelined data processing engines, the plurality of pipelined data processing engines including a data reduction engine, the plurality of pipelined data processing engines being configured to perform processing operations, wherein the pipeline comprises a multi-functional pipeline, and wherein the re-configurable logic device is further configured to controllably activate or deactivate each of the pipelined data processing engines in the pipeline in response to control instructions and thereby define a function for the pipeline, each pipeline function being the combined functionality of each activated pipelined data processing engine in the pipeline.
-
Citations
40 Claims
-
1. A data processing apparatus comprising:
-
a processing device for communicating with a computer system to offload a plurality of processing tasks from a processor within the computer system, wherein the processing device comprises a re-configurable logic device;
wherein the re-configurable logic device is configured to receive and process streaming data through a multi-functional pipeline deployed on the re-configurable logic device;
wherein the multi-functional pipeline comprises a plurality of pipelined data processing engines, each pipelined data processing engine being configured to (1) receive streaming data and perform a processing operation on the received streaming data, and (2) be responsive to a control instruction that defines whether that pipelined data processing engine is an activated data processing engine or a deactivated data processing engine, wherein an activated data processing engine is configured to perform the processing operation of that activated data processing engine on any received streaming data, and wherein a deactivated data processing engine remains in the pipeline but does not perform the processing operation of that deactivated data processing engine on any received streaming data, the multi-functional pipeline thereby being configured to provide a plurality of different pipeline functions in response to control instructions that are configured to selectively activate and deactivate the pipelined data processing engines, each pipeline function being the combined functionality of each activated pipelined data processing engine in the pipeline at a given time; and wherein the pipelined data processing engines comprise a data reduction engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A data processing method comprising:
-
receiving a plurality of control instructions at a processing device, the processing device in communication with a computer system over a bus, wherein the processing device comprises a re-configurable logic device configured to receive and process streaming data through a multi-functional pipeline deployed on the re-configurable logic device, the multi- functional pipeline comprising a plurality of pipelined data processing engines, each pipelined data processing engine being configured to (1) receive streaming data and perform a processing operation on the received streaming data, and (2) be responsive to a control instruction that defines whether that pipelined data processing engine is an activated data processing engine or a deactivated data processing engine, wherein an activated data processing engine is configured to perform the processing operation of that activated data processing engine on any received streaming data, and wherein a deactivated data processing engine remains in the pipeline but does not perform the processing operation of that deactivated data processing engine on any received streaming data, the multi-functional pipeline thereby being configured to provide a plurality of different pipeline functions in response to control instructions that are configured to selectively activate and deactivate the pipelined data processing engines, each pipeline function being the combined functionality of each activated pipelined data processing engine in the pipeline at a given time, wherein the pipelined data processing engines comprise a data reduction engine; and responsive to the received control instructions; activating the data reduction engine, and the activated data reduction engine processing streaming data to generate summarized data. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A data processing method comprising:
-
within a computer system comprising a processor and a re-configurable logic device operating under control of the processor, streaming data through the re-configurable logic device for processing thereby, the re-configurable logic device comprising a multi-functional pipeline, the multi-functional pipeline comprising a control processor and a plurality of pipelined data processing engines, each of the pipelined data processing engines in the pipeline being configured to (1) receive streaming data and (2) perform a data processing operation on the received streaming data, wherein the pipelined data processing engines comprise a data reduction engine; the control processor selectively activating and deactivating the pipelined data processing engines in the pipeline to achieve a desired pipeline function, each pipeline function being the combined functionality of the activated pipelined data processing engines in the pipeline, wherein the selectively activating and deactivating step comprises the control processor activating the data reduction engine; and the activated data reduction engine processing streaming data to generate summarized data at hardware speeds. - View Dependent Claims (40)
-
Specification