Trie Search Engine for SSD Data Retrieval Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems, particularly solid state drives (SSDs), face challenges in efficiently searching and retrieving data due to increased complexity and size, necessitating a faster and more reliable data search method.
Innovation Solution
The implementation of a trie search algorithm, which uses a M-ary tree data structure with positional vectors of pointers, is employed to optimize database searches by narrowing the search location and performing directed searches within the flash translation layer of SSDs, allowing for rapid lookup and reduced power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional linear search methods are used in large databases, then data integrity is maintained, but data access speed decreases significantly
Solution Approach 1:
The patent divides the large database into multiple partitions or segments, each with its own trie data structure. This segmentation allows the search operation to be distributed across multiple smaller data structures rather than searching through the entire database linearly, significantly improving search speed while maintaining data integrity.
Solution Approach 2:
The patent transitions from traditional linear search (one-dimensional) to a hierarchical trie structure (multi-dimensional). By organizing data in a tree structure with multiple levels and branches, the search operation can navigate through dimensions rather than sequentially, reducing search time from O(n) to O(log n) or better.
2Quantity of substance
If the database size increases to meet application complexity requirements, then storage capacity improves, but search efficiency deteriorates
Solution Approach 1:
The patent segments the growing database into manageable partitions, each maintained with its own optimized trie structure. This allows the system to scale database size while keeping search operations efficient by confining searches to relevant partitions rather than the entire database.
Solution Approach 2:
The patent performs preliminary organization of data into trie structures during data insertion and update operations. This preliminary structuring ensures that when searches are performed on large databases, the data is already organized in an optimal format for rapid retrieval, maintaining search efficiency regardless of database size.
3Reliability
If comprehensive data searching is performed across the entire database, then data reliability is ensured, but power consumption increases
Solution Approach 1:
The patent extracts and utilizes metadata or indexing information from the trie structure to identify relevant data partitions before performing full searches. This extraction allows the system to focus power-consuming search operations only on relevant portions of the database, reducing overall power consumption while maintaining data reliability through targeted comprehensive searching.
4Ease of manufacture
If linear block addressing is used for data access, then implementation simplicity is maintained, but access speed decreases for large datasets
Solution Approach 1:
The patent introduces a trie data structure as an intermediary layer between the linear block addressing system and the actual data storage. This intermediary provides intelligent routing and navigation capabilities, allowing the system to maintain the simplicity of linear addressing while achieving fast retrieval speeds through the trie's hierarchical structure that guides access to specific data blocks.
Data Source
AI summary
A method of searching a database that includes executing a trie search algorithm on a first portion of data in the database, returning a tag narrowing a location of the first portion of data to optimize the database, and performing a directed search of the optimized database by executing the trie search algorithm again on the optimized database, where the trie search algorithm is an information retrieval data structure using a M-ary tree where each node consists of a M-positional vector of pointers.


