NAND Flash CAM for Parallel Key Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content addressable memories (CAMs) based on NAND flash memory face challenges in efficiently searching large datasets due to limitations in parallel processing and power consumption, especially when compared to traditional CPU or semiconductor-based CAMs.

Innovation Solution

A NAND flash memory array is configured as a content addressable memory (CAM) where keys are programmed along bit lines, and search keys are applied to word lines to determine conducting bit lines, allowing for simultaneous comparison of multiple keys, with additional features like inverted key storage and bloom filters for error protection and efficient data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If NAND flash memory is used to implement content addressable memory operations, then storage capacity and non-volatility are improved, but processing speed and parallel comparison capability deteriorate

Engineering Contradiction:
Improvedata retentionVSAvoidsearch speed
Core Design Contradiction:
Duration of action of stationary objectVSSpeed

Solution Approach 1:

The memory array is divided into multiple independently controllable blocks, where each block can perform search operations in parallel. This segmentation enables simultaneous comparisons across multiple blocks, improving overall search speed while maintaining the non-volatile storage advantage of NAND flash memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a block-level parallelism dimension by enabling simultaneous search operations across multiple blocks. This adds a temporal parallelism layer to the traditional sequential search model, allowing the system to achieve higher throughput without compromising the non-volatile storage特性.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If conventional memory with CPU searching is used, then processing flexibility is maintained, but power consumption increases

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The memory array performs search operations autonomously without requiring external CPU intervention. By encoding search keys on word lines and using the memory cells themselves to perform comparisons, the system eliminates the need for CPU-based searching, significantly reducing power consumption while maintaining processing flexibility through programmable search patterns.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical/CPU-based searching approach with an electrical field-based comparison mechanism inherent to memory operations. Search keys are applied as voltage patterns on word lines, and matches are detected through electrical conductivity changes in the memory cells, eliminating the need for external processing hardware.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If full chip search capability is implemented, then search completeness is improved, but circuit complexity increases

Engineering Contradiction:
Improvesearch completenessVSAvoidcircuit complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The sense amplifiers are designed to perform multiple functions: they detect match results from individual blocks and simultaneously aggregate results across all blocks through OR logic. This universal design enables full chip search capability without requiring separate dedicated circuits for each function, thereby limiting the increase in circuit complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the block search functionality with the result aggregation logic into a unified sense amplifier system. The sense amplifiers both detect local matches and combine results across blocks, eliminating the need for separate aggregation circuits and reducing overall system complexity while achieving complete chip-wide search coverage.

Inventive Principle:
Principle #5Merging (Combining)

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This configuration enables high-speed, low-power content addressable operations, allowing for the parallel comparison of thousands of keys, reducing power consumption and increasing processing speed, making it suitable for applications like data analytics and pattern matching.

Implementation Method 1

determine those of the bit lines where at least one of the NAND strings connected therealong are conducting in response to the word line driving circuitry applying said respective data patterns

Methodology Applied
Scientific EffectElectrical Conduction: Conduction (electrical)

Data Source

PatentUS8780634B2CAM NAND with OR function and full chip search capability
Publication Date: 2014.07.15 SANDISK TECHNOLOGIES LLC
  • US8780634B2 patent drawing
  • US8780634B2 patent drawing
  • US8780634B2 patent drawing

AI summary

Various techniques for extending the capabilities of CAM NAND type memories are discussed. Multi-block or even full chip search operations can be performed. In addition to the inherent AND property of NAND strings, the memory array has an inherent OR property between NAND string from different blocks along the same bit line that can be exploited through multi-block CAM-type operations. To reduce data-dependent word line to word line effects, in multiple data dependent sensing operations, the sensing can be broken up into sub-operations that avoid data dependent values on adjacent word lines. To improve data protection, subsequent to writing a memory block with indices, the word lines are read back and compared bit-by-bit with their intended values and the results are accumulated to determine whether any of indices include error. A bloom filter can also be used as an initial check during data search operations in order to provide increased data protection.