BCAM Segmentation for Fast ECC Data Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for searching ECC protected data in memory are inefficient, as they require error correction before searching, which is costly in terms of processing power, especially when dealing with large datasets, and can result in false negatives if errors are present.

Innovation Solution

A binary content addressable memory (BCAM) is divided into sub-BCAMs, allowing for direct searching of ECC protected data by tolerating a threshold of errors, eliminating the need for initial error correction through careful ECC coding and data partition schemes that ensure matches are identified without false positives or negatives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction is performed on all CWs stored in memory prior to searching, then search accuracy is improved (no false negatives), but processing time and computational resources increase significantly

Engineering Contradiction:
Improvesearch accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the codeword search process into two stages: a fast pre-filtering stage that compares search words against stored codewords without error correction to quickly eliminate non-matches, and a second stage that applies error correction only to the small subset of candidates that passed the pre-filter. This segmentation resolves the contradiction by avoiding full error correction on all data while maintaining search accuracy for true matches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies error correction partially - only to the subset of codewords that survive the pre-filtering stage rather than to all stored codewords. This partial action maintains search accuracy for potential matches while dramatically reducing the computational overhead compared to full error correction of the entire dataset.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If error correction is not performed before searching, then processing efficiency is improved, but false negatives occur when errors are present in stored data

Engineering Contradiction:
Improvesearch efficiencyVSAvoidmatch accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs a preliminary search without error correction to identify candidate matches quickly. This preliminary action filters out the vast majority of non-matching codewords before applying the computationally expensive error correction process, thereby maintaining both efficiency and reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary pre-filtering mechanism that sits between the raw stored codewords and the error correction process. This intermediary stage performs fast approximate matching to identify which stored codewords warrant further error correction analysis, resolving the contradiction by enabling efficient filtering while preserving accuracy for true matches.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If the BCAM is divided into multiple sub-BCAMs for parallel processing, then search speed is improved, but device complexity increases

Engineering Contradiction:
Improvesearch speedVSAvoidmemory structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the BCAM into multiple sub-BCAMs that can process different portions of the search simultaneously. This segmentation enables parallel processing and improves search speed, while the modular structure allows for scalable implementation that manages complexity through systematic organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a dimensional organization to the BCAM structure by dividing it into sub-BCAMs that can be processed in parallel. This dimensional change from a single monolithic structure to a multi-dimensional segmented structure enables concurrent processing operations, improving speed while the regular pattern of division keeps implementation complexity manageable.

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

Data Source

PatentUS10884853B2Fast search of error correction code (ECC) protected data in a memory
Publication Date: 2021.01.05 INTEL CORP
  • US10884853B2 patent drawing
  • US10884853B2 patent drawing
  • US10884853B2 patent drawing

AI summary

An apparatus includes a binary content addressable memory (BCAM) to store a plurality of error protection code (ECC) generated codewords (CWs), the BCAM divided into segments (sub-BCAMs), wherein the sub-BCAMs are to respectively store pre-defined first portions of the CWs, and to store corresponding second portions of a search word. In embodiments, the apparatus further includes logic circuitry, to obtain partial match results between the first portions of the CWs and corresponding second portions of the search word, and identify one or more CWs of the plurality of CWs that match the search word, based at least in part on the partial match results, wherein the match indicates that data included in the one or more CW is the same as the data included in the search word.