In-Memory Structured Data Filtering for SSD Query Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database management systems (DBMS) face significant bottlenecks in query performance due to the need to read and filter large volumes of data from non-volatile memory, leading to high processor time, memory usage, and data traffic, especially when handling multiple queries simultaneously.
Innovation Solution
Implementing structured data filtering within the memory device, such as SSDs, by using a bitmap to identify and drop un-related data early in the query process, offloading data filtering operations to SSD firmware, and utilizing a bitmap scan engine to filter data based on query conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the DBMS reads all pages of a column from the SSD to perform filtering operations, then the filtering accuracy is improved, but the processor time and memory space consumption increase significantly
Solution Approach 1:
The patent applies preliminary action by generating and sending a bitmap from the host device to the memory device before the actual data reading operation. This bitmap pre-identifies which data records satisfy the query conditions, allowing the memory device to filter data during the read operation itself rather than requiring the host to read all data and filter it afterward. This resolves the contradiction by maintaining filtering accuracy while reducing processor time through early filtering action.
Solution Approach 2:
The patent extracts the filtering function from the host device's processor and memory system and transfers it to the memory device (SSD). By implementing a bitmap filter engine within the memory device that operates on the bitmap to filter data during the read operation, the system removes the burden of filtering large volumes of data from the host processor, thereby reducing processor time while maintaining accurate filtering results.
2Loss of information
If the DBMS reads all pages of a column from the SSD, then the data completeness for filtering is improved, but the memory space required for caching and processing increases
Solution Approach 1:
The bitmap is generated and transmitted to the memory device before the data reading operation begins. This preliminary action enables the memory device to filter data during the read operation, ensuring that only relevant data is transferred to the host. This maintains data completeness for filtering while significantly reducing the memory space required, as the host does not need to cache all pages of the column.
Solution Approach 2:
The filtering operation is extracted from the host device and implemented within the memory device using a bitmap filter engine. This extraction allows the memory device to perform filtering independently during the read operation, reducing the volume of data that needs to be cached in the host's memory while ensuring that all necessary data for accurate filtering is processed.
3Adaptability or versatility
If the host device processes and filters data in its own memory, then the filtering flexibility is improved, but the data traffic on the storage interface increases
Solution Approach 1:
The patent extracts the filtering operation from the host device and implements it within the memory device using a bitmap filter engine. This engine uses the bitmap to filter data during the read operation, reducing the amount of data transferred over the storage interface. The filtering flexibility is maintained because the bitmap can be generated based on various query conditions, while the data traffic is reduced by filtering at the source.
Solution Approach 2:
The bitmap acts as an intermediary between the query conditions and the data filtering process. The host device generates the bitmap based on query requirements and sends it to the memory device, which then uses this intermediary structure to filter data during the read operation. This mediator approach maintains filtering flexibility while reducing data traffic, as only filtered results are transferred to the host.
4Productivity
If the DBMS caches all pages of a column in the host's memory for scanning and filtering, then the query processing capability is improved, but the cache space requirement increases
Solution Approach 1:
The bitmap is generated and sent to the memory device before the data reading operation, enabling filtering to occur during the read process itself. This preliminary action maintains query processing capability by ensuring that filtering is performed accurately, while significantly reducing cache space requirements since only filtered results need to be cached in the host's memory rather than all pages of the column.
Solution Approach 2:
The filtering function is extracted from the host device's memory system and implemented within the memory device using a bitmap filter engine. This extraction allows the memory device to perform filtering independently during data retrieval, maintaining query processing capability while reducing the cache space required in the host's memory, as less data needs to be retained for filtering operations.
Data Source
AI summary
This application is directed to reading data from a memory device by structured data filtering within the memory device. The memory device is coupled into a host device and includes a plurality of memory blocks. The memory device receives, from the host device, a read request for data in a data structure including a plurality of data records. The read request comprises a bitmap identifying a subset of data records in the plurality of data records. Based on the read request, the memory device reads data from the plurality of memory blocks. The read data is filtered based on the bitmap to generate filtered data. The memory device returns the filtered data to the host device in response to the read request.


