Content Addressable Memory Architecture for High-Speed NAND Flash Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional content addressable memory (CAM) implementations in memory sub-systems face limitations due to limited memory capacity and speed, particularly in high-density data storage and retrieval applications, such as in NAND-type flash memory devices, which are too slow for serial data searching and access.
Innovation Solution
A key-value data storage system utilizing a CAM architecture in NAND-type flash memory devices, where each bit of a data entry is mapped to a pair of complementary memory cells, enabling fast and high-capacity search capabilities by comparing input search words vertically across strings in the memory array, and using a lookup table to locate corresponding values in a separate value store.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional CAM implementations are used in memory sub-systems, then search capability is provided, but memory capacity is limited and access speed is too slow for high-density data storage applications
Solution Approach 1:
The patent segments the memory array into multiple independent CAM blocks, each capable of parallel search operations. This segmentation allows the system to achieve both high search speed through parallel processing and large memory capacity by distributing data across multiple blocks, directly resolving the contradiction between search productivity and memory capacity.
Solution Approach 2:
The patent transitions from traditional two-dimensional CAM organization to a three-dimensional stacked architecture with multiple CAM blocks layered vertically. This dimensional change enables simultaneous access to multiple memory blocks, dramatically increasing both search speed and effective memory capacity without proportionally increasing the footprint area.
2Quantity of substance
If high-density non-volatile memory devices are used, then memory capacity is increased, but access speed becomes too slow for serial data searching
Solution Approach 1:
By dividing the high-density memory into multiple smaller CAM blocks that can operate in parallel, the system maintains large total memory capacity while achieving fast access speeds through simultaneous search operations across multiple segments, eliminating the speed bottleneck of serial access in traditional high-density memory.
Solution Approach 2:
The patent implements continuous parallel search operations across multiple CAM blocks, eliminating idle time between sequential access operations. This continuous utilization of multiple memory blocks maintains high data throughput and fast access speeds even as total memory capacity increases.
3Device complexity
If conventional memory architectures are used, then system simplicity is maintained, but volatile memory requirements increase power consumption and costs
Solution Approach 1:
The patent makes the non-volatile memory device perform multiple functions: it serves as both the primary storage medium and the search engine through integrated CAM functionality. This eliminates the need for separate volatile memory components, reducing overall system complexity while simultaneously lowering power consumption by removing the power-hungry volatile memory subsystem.
Solution Approach 2:
The memory device performs search operations autonomously using its own CAM blocks without requiring external volatile memory assistance. This self-service capability allows the system to maintain simplicity while dramatically reducing power consumption by eliminating dependent volatile memory components that would otherwise be required for cache or buffer operations.
Data Source
AI summary
A memory system includes a memory device comprising a content addressable memory (CAM) block storing a plurality of stored search keys and a value data block. The memory system further includes a processing device that receives an input search key and identifies one of the plurality of stored search keys that matches the input search key, the one of the plurality of stored search keys having an associated match location in the CAM block. The processing device further determines, using the associated match location, a corresponding value location in the value data block and retrieves, from the value location in the value data block, data representing a value associated with the input search key.


