Query Compiler for Record Filtering on Storage Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current compute/storage architectures require unnecessary data movement and processing between host memory and storage devices, leading to inefficiencies in database operations such as select, insert, update, and delete, as data is copied and processed in host device resources before being updated or returned.
Innovation Solution
Implementing a system where database queries are performed directly on data storage devices, with data compression and decompression handled by the storage device's processing cores, allowing filtering and results to be returned to the host without relying on host memory and processing resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is copied to host device memory for processing database operations, then database operations can be performed using host processor resources, but unnecessary data movement and processing time are required
Solution Approach 1:
The patent merges the database processing function with the storage device by implementing a query compiler and processing cores directly in the storage device. This allows the storage device to execute database operations (select, insert, update, delete) locally on stored data without requiring data to be copied to host memory, thereby eliminating unnecessary data movement and reducing processing time.
Solution Approach 2:
The storage device is equipped with self-service capabilities through integrated processing cores and a query compiler that can independently execute database operations on data stored locally. The storage device serves itself by performing query compilation, data processing, and result generation without relying on external host processor resources for these specific operations.
2Productivity
If data is copied to host device memory for processing, then host processor resources can be utilized, but power consumption increases due to unnecessary data movement
Solution Approach 1:
The patent combines processing capabilities with storage by integrating processing cores and a query compiler into the storage device. This merger enables local execution of database operations, eliminating the need to transfer data to host memory and thereby reducing the energy consumption associated with data movement while maintaining full processing capability.
Solution Approach 2:
The storage device performs self-service processing by executing database operations locally using its own processing cores and query compiler. This self-service approach eliminates the need to consume host processor resources and host memory for these operations, reducing overall system power consumption while maintaining processing capability.
3Productivity
If compression code is distributed to processing cores and compiled into machine code for decompression and filtering, then queries can be executed directly on storage device, but device complexity increases
Solution Approach 1:
The patent segments the query execution process into distinct functional components: a query compiler that translates high-level queries into machine code, processing cores that execute the compiled code, and decompression/filtering units that process the data. This segmentation allows each component to be optimized independently while working together to achieve efficient query execution on the storage device.
Data Source
AI summary
A method and apparatus for carrying out a database select, or query, on a data storage device, upon data stored on that device. Data is received from a host and compressed on the data storage device using a compression code developed on the data storage device for the data. When the host issues a database select request on the compressed data, the compression code is distributed to processing cores of the data storage device and compiled, including the select request, into machine code. The machine code is used to decompress the compressed data while filtering the data with the select request. The filtering result is returned to the host.


