Content-Addressable Memory Error Correction via Single-Bit Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content-addressable memories used in packet switching networks face challenges in error detection and correction, particularly in ensuring the integrity of lookup operations and reducing memory requirements for error-correcting codes.

Innovation Solution

Implementing single-bit position lookup operations in content-addressable memories to generate match vectors, compare them with precomputed correct vectors, and use error-correcting codes to identify and correct errors without requiring additional memory for parity or error detection bits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional error detection and correction methods are used in content-addressable memories, then error detection capability is improved, but memory requirements increase due to additional parity or error detection bits

Engineering Contradiction:
Improveerror detection capabilityVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the error detection function from the traditional approach of adding parity bits to each memory entry. Instead, it uses a separate lookup operation that compares the actual match vector against a precomputed correct match vector, thereby separating error detection from the main data storage structure and avoiding increased memory requirements for error correction bits.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary correct match vector that serves as a reference for error detection. This intermediary structure allows comparison against the actual match vector without requiring additional bits in the original memory entries, thus maintaining memory efficiency while providing robust error detection capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive error checking is performed on all memory entries, then error detection accuracy is improved, but processing time increases

Engineering Contradiction:
Improveerror detection accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary action by precomputing and storing the correct match vector before the actual lookup operation. During runtime, the system only needs to perform a single comparison operation between the actual match vector and the precomputed correct match vector, significantly reducing processing time while maintaining comprehensive error detection accuracy across all memory entries.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10387251B2Error detection and correction in a content-addressable memory using single-bit position lookup operations
Publication Date: 2019.08.20 CISCO TECHNOLOGY INC
  • US10387251B2 patent drawing
  • US10387251B2 patent drawing
  • US10387251B2 patent drawing

AI summary

In one embodiment, error detection and correction is performed in a content-addressable memory using single-bit position lookup operations. A lookup operation is performed generating a resultant match vector reflective of matching a single-bit position within each of multiple content-addressable memory entries against a corresponding bit value at the single-bit position within a lookup word. The resultant match vector is processed to determine if there are any errors and typically which entries contain a wrong bit value. The correct match vector (e.g., having no errors) is determined from the correct stored matching values (e.g., those used to program the content-addressable memory entries) and the value at the single-bit position within the lookup word. One embodiment compares the correct and resultant match vectors, while one embodiment performs this comparison using an error-correcting code of the correct match vector.