Autonomous Memory Search Engine for CPU Workload Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory search technologies require the host CPU to process large amounts of raw data during searches, leading to inefficiencies and increased power consumption, as they typically read all records from memory for processing, rather than efficiently communicating search criteria and receiving only search results.
Innovation Solution
The implementation of an autonomous memory search method where the storage engine communicates search criteria to the memory system and receives only the search results, allowing the CPU to focus on processing without parsing raw data, and utilizing a controller with firmware/software to direct the search operations within the memory system, enabling parallel processing of multiple searches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If the host CPU processes large amounts of raw data during memory searches, then comprehensive data analysis is achieved, but processing efficiency decreases and power consumption increases
Solution Approach 1:
The patent extracts the search processing function from the host CPU and relocates it to a dedicated search processor within the memory system. This allows the host CPU to send only search criteria and receive only search results, while the search processor handles the actual data scanning and matching operations internally within the memory system, thereby reducing the host's processing burden and power consumption.
Solution Approach 2:
The search processor acts as an intermediary between the host CPU and the memory data. It receives search criteria from the host, performs the actual search operations within the memory system, and returns only the relevant results to the host. This intermediary handles the data processing workload, preventing the host from directly processing large amounts of raw data.
2Measurement precision
If all records are read from memory for processing, then complete data access is achieved, but search time increases
Solution Approach 1:
The search processor implements local quality by performing searches directly within the memory system's internal structure without reading all records to the host. It can selectively access and compare only relevant data portions against the search criteria, maintaining search accuracy while significantly reducing the time required by keeping the search operation localized within the memory subsystem.
Solution Approach 2:
The search processor prepares and processes search criteria before actual search execution, and pre-organizes memory data structures to facilitate efficient searching. This preliminary preparation enables the search to be performed quickly on-demand without requiring all records to be read first, thus reducing search time while maintaining completeness.
3Ease of operation
If the host CPU parses raw data during searches, then data processing is performed, but the CPU workload increases
Solution Approach 1:
The patent extracts the data parsing and search execution functions from the host CPU and assigns them to a dedicated search processor within the memory system. The host CPU only needs to formulate and send search criteria, and receive search results, while the search processor handles all the complex data parsing and comparison operations internally, thereby reducing CPU workload and improving overall system performance.
Solution Approach 2:
The search processor enables the memory system to serve itself by performing search operations internally without requiring the host CPU to parse and process the raw data. The memory system with its integrated search processor can independently handle search requests, data access, and result generation, freeing the host CPU from these operational tasks.
Data Source
Figure 1~2
Figure 3A
Figure 3B
AI summary
Methods and systems operate to receive a plurality of search requests for searching a database in a memory system. The search requests can be stored in a FIFO queue and searches can be subsequently generated for each search request. The resulting plurality of searches can be executed substantially in parallel on the database. A respective indication is transmitted to a requesting host when either each respective search is complete or each respective search has generated search results.