DISTRIBUTED HARDWARE-BASED DATA QUERYING
First Claim
1. A data storage apparatus, comprising:
- multiple storage units, each storage unit comprising;
one or more memory devices, which are operative to store a data partition that is drawn from a data structure and assigned to the storage unit; and
logic circuitry, which is configured to accept one or more sub-queries addressed to the storage unit and to process the respective data partition stored in the storage unit responsively to the sub-queries, so as to produce filtered data; and
a data processing unit, which is configured to transform an input query defined over the data structure into the sub-queries, to provide the sub-queries to the storage units, and to process the filtered data produced by the storage units, so as to generate and output a result in response to the input query.
1 Assignment
0 Petitions
Accused Products
Abstract
A data storage apparatus (20, 92, 116) includes a data processing unit (24) and multiple storage units (36, 60). Each storage unit includes one or more memory devices (40, 64), which are operative to store a data partition that is drawn from a data structure and assigned to the storage unit, and logic circuitry (44, 68, 72), which is configured to accept one or more sub-queries addressed to the storage unit and to process the respective data partition stored in the storage unit responsively to the sub-queries, so as to produce filtered data. The data processing unit is configured to transform an input query defined over the data structure into the sub-queries, to provide the sub-queries to the storage units, and to process the filtered data produced by the storage units, so as to generate and output a result in response to the input query.
-
Citations
66 Claims
-
1. A data storage apparatus, comprising:
-
multiple storage units, each storage unit comprising; one or more memory devices, which are operative to store a data partition that is drawn from a data structure and assigned to the storage unit; and logic circuitry, which is configured to accept one or more sub-queries addressed to the storage unit and to process the respective data partition stored in the storage unit responsively to the sub-queries, so as to produce filtered data; and a data processing unit, which is configured to transform an input query defined over the data structure into the sub-queries, to provide the sub-queries to the storage units, and to process the filtered data produced by the storage units, so as to generate and output a result in response to the input query. - 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. A data storage apparatus, comprising:
-
a storage unit, which comprises; one or more memory devices, which are operative to store data; and circuitry, which is configured to apply a first filtering operation to the stored data in response to a query defined over the data, so as to produce pre-filtered data; and a data processing unit, which is configured to receive the pre-filtered data from the storage unit and to apply a second filtering operation to the pre-filtered data, so as to produce a result of the query.
-
-
30. A data storage apparatus, comprising:
-
a storage unit, which comprises; one or more memory devices, which are operative to store data; and circuitry, which is configured to apply a data aggregation operation to the stored data in response to a query defined over the data, so as to produce pre-processed data; and a data processing unit, which is configured to receive the pre-processed data from the storage unit and to process the pre-processed data, so as to produce a result of the query. - View Dependent Claims (31, 32, 33)
-
-
34. A method for data storage, comprising:
-
storing a plurality of data partitions drawn from a data structure in a respective plurality of storage units; transforming an input query defined over the data structure into multiple sub-queries and providing the sub-queries to the storage units; using logic circuitry in each storage unit, accepting one or more of the sub-queries addressed to the storage unit, and processing a respective data partition stored in the storage unit responsively to the accepted sub-queries, so as to produce filtered data; and processing the filtered data produced by the multiple storage units, so as to generate and output a result in response to the input query. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61)
-
-
62. A method for data storage, comprising:
-
storing data in a storage unit that includes processing circuitry; using the processing circuitry in the storage unit, applying a first filtering operation to the stored data in response to a query defined over the data, so as to produce pre-filtered data; and applying a second filtering operation to the pre-filtered data by a processor separate from the storage unit, so as to produce a result of the query.
-
-
63. A method for data storage, comprising:
-
storing data in a storage unit that includes processing circuitry; using the processing circuitry in the storage unit, applying a data aggregation operation to the stored data in response to a query defined over the data, so as to produce pre-processed data; and processing the pre-processed data by a processor separate from the storage unit, so as to produce a result of the query. - View Dependent Claims (64, 65, 66)
-
Specification