Intelligent Data Storage and Processing Using FPGA Devices
First Claim
Patent Images
1. A data processing apparatus comprising:
- a data storage device for storing data in a compressed format;
a processor for communicating with the data storage device to store data therein and process data retrieved therefrom; and
a reconfigurable logic device for offloading a plurality of processing operations from the processor, the reconfigurable logic device comprising a hardware logic template configured as a data processing pipeline, the data processing pipeline comprising a decompression engine and a downstream search engine;
wherein the decompression engine is configured to (1) receive a stream of compressed data retrieved from the data storage device, and (2) perform a decompression operation on the compressed data stream to thereby create a stream of decompressed data;
wherein the search engine configured to (1) store a data key, the data key being representative of data of interest, (2) receive the stream of decompressed data created by the decompression engine, and (3) perform the search operation by matching the received decompressed data against the data key;
wherein the decompression engine and the search engine are configured to operate in a pipelined manner by performing their respective decompression and search operations simultaneously at hardware processing speeds such that the decompression engine performs the decompression operation on compressed data while at the same time the search engine performs the search operation on decompressed data that was previously decompressed by the decompression engine; and
wherein the processor is configured to send a search request to the reconfigurable logic device, the search request pertaining to the search operation with respect to compressed data that is stored in the data storage device and to be offloaded from the processor to the reconfigurable logic device, the search request comprising a plurality of parameters for controlling the search operation, at least one of the parameters comprising the data key.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatuses for processing data are disclosed, including methods and apparatuses that leverage a reconfigurable logic device to offload decompression and search operations from a processor to thereby enable high speed data searches within data that has been stored in a compressed format.
78 Citations
48 Claims
-
1. A data processing apparatus comprising:
-
a data storage device for storing data in a compressed format; a processor for communicating with the data storage device to store data therein and process data retrieved therefrom; and a reconfigurable logic device for offloading a plurality of processing operations from the processor, the reconfigurable logic device comprising a hardware logic template configured as a data processing pipeline, the data processing pipeline comprising a decompression engine and a downstream search engine; wherein the decompression engine is configured to (1) receive a stream of compressed data retrieved from the data storage device, and (2) perform a decompression operation on the compressed data stream to thereby create a stream of decompressed data; wherein the search engine configured to (1) store a data key, the data key being representative of data of interest, (2) receive the stream of decompressed data created by the decompression engine, and (3) perform the search operation by matching the received decompressed data against the data key; wherein the decompression engine and the search engine are configured to operate in a pipelined manner by performing their respective decompression and search operations simultaneously at hardware processing speeds such that the decompression engine performs the decompression operation on compressed data while at the same time the search engine performs the search operation on decompressed data that was previously decompressed by the decompression engine; and wherein the processor is configured to send a search request to the reconfigurable logic device, the search request pertaining to the search operation with respect to compressed data that is stored in the data storage device and to be offloaded from the processor to the reconfigurable logic device, the search request comprising a plurality of parameters for controlling the search operation, at least one of the parameters comprising the data key. - View Dependent Claims (2)
-
-
3. A data processing apparatus comprising:
-
a processor for communicating with a data storage device to store data in and retrieve data from the data storage medium; and a reconfigurable logic device for offloading a plurality of processing operations from the processor, the reconfigurable logic device comprising a hardware logic template configured as a data processing pipeline, the data processing pipeline comprising a decompression engine and a downstream search engine; wherein the decompression engine is configured to (1) receive a stream of compressed data retrieved from the data storage device, and (2) perform a decompression operation on the compressed data stream to thereby create a stream of decompressed data; wherein the search engine configured to (1) store a data key, the data key being representative of data of interest, (2) receive the stream of decompressed data created by the decompression engine, and (3) perform the search operation by matching the received decompressed data against the data key; wherein the decompression engine and the search engine are configured to operate in a pipelined manner by performing their respective decompression and search operations simultaneously at hardware processing speeds such that the decompression engine performs the decompression operation on compressed data while at the same time the search engine performs the search operation on decompressed data that was previously decompressed by the decompression engine; and wherein the processor is configured to send a search request to the reconfigurable logic device, the search request pertaining to the search operation with respect to compressed data that is stored in the data storage device and to be offloaded from the processor to the reconfigurable logic device, the search request comprising a plurality of parameters for controlling the search operation, at least one of the parameters comprising the data key. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for processing data received from a mass storage medium, the apparatus comprising:
a reconfigurable logic device configured to (1) receive a stream of compressed data from a mass storage medium, (2) perform a decompression operation on the received compressed data stream to create a stream of decompressed data, and (3) perform a search operation within the stream of decompressed data to find data of interest within the stream of decompressed data. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
26. A method for processing data received from a mass storage medium, the method comprising:
-
receiving a stream of compressed data from a mass storage medium; performing a decompression operation on the received compressed data stream to create a stream of decompressed data; and performing a search operation within the stream of decompressed data to find data of interest within the stream of decompressed data; and wherein the receiving, decompression operation perform, and search operation perform steps are performed by a reconfigurable logic device. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification