NAND Flash CAM Architecture for Parallel Pattern Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional NAND-type flash memory devices are limited by their slow speed and capacity for serial data searching, making them unsuitable for high-speed and high-capacity content addressable memory (CAM) applications, particularly in fields requiring pattern matching such as artificial intelligence and large genetic databases.
Innovation Solution
A CAM architecture is implemented in NAND-type flash memory devices, where each bit of a data entry is mapped to a pair of complementary memory cells, enabling a single read operation to compare an input search word vertically across the array, with precharged match lines indicating matching data entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If conventional NAND-type flash memory is used for CAM applications, then storage capacity is achieved, but search speed is slow
Solution Approach 1:
The memory array is segmented into multiple independently searchable blocks, each capable of parallel search operations. This segmentation allows the system to divide large data sets into smaller units that can be searched simultaneously, dramatically improving overall search throughput and speed while maintaining high storage capacity.
Solution Approach 2:
The patent transitions from traditional serial search methods to a two-dimensional parallel search architecture where multiple search operations can occur simultaneously across different memory blocks. This dimensional change in the search approach enables exponential improvement in search speed while preserving the high storage capacity of NAND flash memory.
2Quantity of substance
If high-capacity storage is implemented, then data density increases, but search operation time increases
Solution Approach 1:
The memory structure is pre-configured with organized data blocks and pre-charged match lines that enable immediate parallel comparison operations. This preliminary organization of data and search circuits allows high-capacity storage to be searched rapidly without the time penalty normally associated with larger data sets, as the parallel architecture is already in place to handle the increased capacity.
Solution Approach 2:
The patent creates multiple copies of the same memory block structure, each capable of independent search operations. By duplicating the search infrastructure across multiple blocks, the system can search through high-capacity storage simultaneously rather than sequentially, eliminating the direct correlation between increased data capacity and increased search time.
3Speed
If parallel search architecture is implemented, then search speed improves, but device complexity increases
Solution Approach 1:
The memory blocks are designed with universal, identical structures that can perform multiple search operations simultaneously. Each block contains all necessary circuitry for complete pattern matching capability, allowing any block to handle any search task. This universality simplifies the overall design by repeating a standardized unit rather than creating complex specialized circuits for each search function.
Solution Approach 2:
The parallel search architecture is organized hierarchically with smaller memory blocks nested within larger memory structures. Each block is a self-contained unit with its own search capability, and multiple blocks are combined to form larger storage capacities. This nested organization allows the system to achieve high-speed parallel searching while managing complexity through modular, hierarchical design rather than monolithic complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A search pattern is generated based on an input search word comprising a first sequence of bits. The search pattern comprises a first set of signals representing the input search word and a second set of signals representing a second sequence of bits comprising an inverse of the first sequence of bits. The search pattern is provided as input to search lines of a content addressable memory (CAM) block. The search pattern causes at least one string in the CAM block to be conductive and provide a signal to a page buffer connected to the string in response to the input search word matching a data entry stored on the string. A location of the data entry is determined based on data read from the page buffer and the location is output.