Search Device Memory Segmentation and Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional search devices using deterministic finite automata face issues with large memory size and cache errors when dealing with numerous or complex search expressions, leading to reduced search speed and increased hardware costs.
Innovation Solution
A search device is implemented with a first memory region for default transition destinations and a second memory region using a hash function to reduce memory size, where the hash function generates addresses for transition destinations and HIT information, allowing for efficient selection of next states based on matches or non-matches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a deterministic finite automaton is used for pattern matching search, then search accuracy is improved, but memory size increases and cache errors occur more frequently
Solution Approach 1:
The automaton transition table is segmented into multiple memory regions: a first memory region stores transition destinations for default characters (non-keyword characters), while a second memory region stores transition destinations for keyword characters. This segmentation allows the system to maintain accurate pattern matching while reducing the memory footprint in any single location, thereby reducing cache errors.
Solution Approach 2:
The patent introduces a dimensional change by using a hash function to map character transitions to memory addresses. Instead of a direct one-to-one mapping between characters and memory locations, the hash function creates a compressed address space, effectively adding a computational dimension that reduces the physical memory requirements while preserving the automaton's exact matching capability.
2Measurement precision
If a deterministic finite automaton is used for pattern matching search, then search accuracy is improved, but search speed decreases due to cache errors
Solution Approach 1:
By segmenting the transition table into frequently accessed default character transitions and less frequently accessed keyword character transitions, the system ensures that the majority of transitions (for non-keyword characters) are stored in a compact first memory region that fits better in cache. This segmentation reduces cache misses and improves search speed while maintaining exact matching accuracy.
Solution Approach 2:
The patent changes the parameter of memory organization by introducing a hash function that transforms the traditional automaton transition table into a compressed format. This parameter change allows the system to trade computational overhead for reduced memory access conflicts, thereby improving search speed while preserving matching accuracy.
3Adaptability or versatility
If a deterministic finite automaton is used for pattern matching search, then comprehensive pattern matching capability is improved, but hardware cost increases
Solution Approach 1:
The transition table is divided into two parts: a compact first memory region for default transitions and a smaller second memory region for keyword-specific transitions. This segmentation allows the system to support comprehensive pattern matching for multiple keywords while using less total memory, thereby reducing hardware cost while maintaining versatility.
Solution Approach 2:
By introducing the hash function as an additional computational layer, the patent compresses the automaton transition table into a smaller physical memory footprint. This dimensional transformation enables comprehensive pattern matching capability with reduced hardware resources, lowering manufacturing costs while preserving adaptability.
Data Source
AI summary
A search device used to search for a search keyword from an object to be searched based on an automaton generated in accordance with the search keyword, includes: a first memory region; a second memory region; an information generation part that generates third information from first information and second information; a determination part; and a selection part, wherein: a first state corresponding to the first information is read from the first memory region; fourth information and a second state corresponding to the third information are read from the second memory region; the determination part determines whether or not fifth information including the first information and the second information matches with the fourth information; and the selection part selects the first state when not match in the determination and when matches in the determination, selects the second state.


