Intelligent data storage and processing using FPGA devices
First Claim
1. A data processing system comprising:
- a processing device; and
a computer system having a system bus, wherein the computer system is configured to communicate with the processing device over the system bus to control an operation of the processing device;
wherein the processing device comprises a re-configurable logic device configured to receive and process streaming data through a pipeline deployed on the re-configurable logic device, the pipeline comprising a plurality of pipelined data processing engines, the plurality of pipelined data processing engines being configured to perform different processing operations, wherein the pipeline comprises a multi-functional pipeline, and wherein the re-configurable logic device further comprises a control processor, wherein the control processor is configured to controllably activate or deactivate each of the pipelined data processing engines in the pipeline and thereby define a function for the pipeline, the pipeline function being the combined functionality of each activated pipelined data processing engine in the pipeline.
3 Assignments
0 Petitions
Accused Products
Abstract
A data storage and retrieval device and method is disclosed. The device includes at least one magnetic storage medium configured to store target data and at least one re-configurable logic device comprising an FPGA coupled to the at least one magnetic storage medium and configured to read a continuous stream of target data therefrom, having been configured with a template or as otherwise desired to fit the type of search and data being searched. The re-configurable logic device is configured to receive at least one search inquiry in the form of a data key and to determine a match between the data key and the target data as it is being read from the at least one magnetic storage medium. This device and method can perform a variety of searches on the target data including without limitation exact and approximate match searches, sequence match searches, image match searches and data reduction searches. This device and method may be provided as part of a stand-alone computer system, embodied in a network attached storage device, or can otherwise be provided as part of a computer LAN or WAN. In addition to performing search and data reduction operations, this device may also be used to perform a variety of other processing operations including encryption, decryption, compression, decompression, and combinations thereof.
392 Citations
102 Claims
-
1. A data processing system comprising:
-
a processing device; and a computer system having a system bus, wherein the computer system is configured to communicate with the processing device over the system bus to control an operation of the processing device; wherein the processing device comprises a re-configurable logic device configured to receive and process streaming data through a pipeline deployed on the re-configurable logic device, the pipeline comprising a plurality of pipelined data processing engines, the plurality of pipelined data processing engines being configured to perform different processing operations, wherein the pipeline comprises a multi-functional pipeline, and wherein the re-configurable logic device further comprises a control processor, wherein the control processor is configured to controllably activate or deactivate each of the pipelined data processing engines in the pipeline and thereby define a function for the pipeline, the pipeline function being the combined functionality of each activated pipelined data processing engine in the pipeline. - 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, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A data processing system of comprising:
-
a data storage medium, wherein the data storage medium comprises a disk drive system for magnetically storing data, the disk drive system comprising; a rotatable disk upon which data is magnetically stored in a plurality of discontiguous arcs, wherein each arc possesses a substantially constant curvature, the plurality of discontiguous arcs together defining a generally helical pattern about a central origin; a device for rotating the disk when data is to be read therefrom; a read head positioned for reading the data stored on the disk as the disk rotates; and a positioning system configured to position the read head over the disk such that, as the disk rotates, the read head follows the generally helical pattern of the discontiguous arcs; a processing device in communication with the data storage medium; and a computer system having a system bus, wherein the computer system is configured to communicate with the processing device over the system bus; wherein the processing device comprises a programmable logic device configured to process data, as the data passes between the data storage medium and the computer system, through a plurality of stages implemented on the programmable logic device as a processing pipeline, each processing stage being dedicated to a different processing operation; and wherein the processing operations comprise at least two selected from the group consisting of a search operation, a data reduction operation, a data classification operation, an encryption operation, a decryption operation, a compression operation, and a decompression operation.
-
-
44. A data processing system comprising:
-
a data storage medium, wherein a plurality of data files are stored in the data storage medium, each data file being stored as a sequence of segments, each segment having a size that is a power of 2; a processing device in communication with the data storage medium; and a computer system having a system bus, wherein the computer system is configured to communicate with the processing device over the system bus; wherein the processing device comprises a programmable logic device configured to process data, as the data passes between the data storage medium and the computer system, through a plurality of stages implemented on the programmable logic device as a processing pipeline, each processing stage being dedicated to a different processing operation; and wherein the processing operations comprise at least two selected from the group consisting of a search operation, a data reduction operation, a data classification operation, an encryption operation, a decryption operation, a compression operation, and a decompression operation.
-
- 45. A hard disk drive accelerator for connection between a hard disk drive and a processor, said accelerator comprising a reconfigurable logic device arranged such that data read from the hard disk drive streams through the reconfigurable logic device prior to being passed on to the processor, wherein the reconfigurable logic device is configured to process the data stream through a pipeline deployed thereon, the pipeline comprising a plurality of pipelined data processing engines, each pipelined data processing engine being configured to perform a data processing operation on received data, and wherein the pipeline comprises a multi-functional pipeline, and wherein the reconfigurable logic device further comprises a control processor, wherein the control processor is configured to controllably activate or deactivate each of the pipelined data processing engines in the pipeline and thereby define a function for the pipeline, the pipeline function being the combined functionality of each activated pipelined data processing engine in the pipeline.
-
64. A data processing system comprising:
-
a processing card for communication with a processor and a data source via a bus; and wherein the processing card comprises a re-configurable logic device, the re-configurable logic device comprising a multi-functional pipeline for processing streaming data received by the data processing card from the data source, the pipeline comprising a plurality of different pipelined data processing engines; wherein each of the pipelined data processing engines in the pipeline is configured to (1) be selectively activated and deactivated in response to control instructions to define a function for the pipeline, and (2) perform a processing operation on the streaming data in response to being activated, the pipeline function being the combined functionality of the activated pipelined data processing engines in the pipeline such that the pipeline is changeable to another function of a plurality of functions in response to control instructions that change which of the pipelined data processing engines in the pipeline are activated and deactivated. - View Dependent Claims (65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89)
-
-
90. A data processing method comprising:
-
within a computer system comprising a processor and a reconfigurable logic device operating under control of the processor, streaming data through the reconfigurable logic device for processing thereby, the reconfigurable 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; the control processor selectively activating and deactivating the pipelined data processing engines in the pipeline to achieve a desired pipeline function, the pipeline function being the combined functionality of the activated pipelined data processing engines in the pipeline; and the activated pipelined data processing engines in the pipeline performing their data processing operations on the streaming data at hardware speeds. - View Dependent Claims (91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102)
-
Specification