Content Addressable Memory Soft Error Protection via Marker Bits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content addressable memories (CAMs) are susceptible to soft errors, which can lead to false misses and data corruption, especially in cache memory systems, due to their design and the increased storage capacity, making it difficult to detect and correct bit upsets caused by alpha particles or electrical noise.

Innovation Solution

A method and system that includes generating and storing a marker bit with each data block in main storage memory, using error correction codes to detect and correct the marker bit, and employing a cache memory system with a content addressable memory to identify and flag false misses, thereby preventing data corruption and improving reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored in CAM memory cells for longer periods to maintain cache capacity, then storage capacity is improved, but the probability of soft errors increases

Engineering Contradiction:
Improvestorage capacityVSAvoidsoft error probability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing error detection and correction mechanisms before soft errors occur. Specifically, it uses marker bits stored with data blocks to track whether a cache line has been evicted, and error correction codes to detect and correct bit upsets in CAM memory cells, thereby preventing false misses before they affect system operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by using marker bits that provide information about the eviction status of cache lines. This feedback mechanism allows the system to distinguish between true misses (where data is actually not in cache) and false misses (caused by soft errors), enabling corrective action to be taken when soft errors are detected.

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If CAM memory cells are made smaller to increase capacity, then integration density is improved, but susceptibility to soft errors increases

Engineering Contradiction:
Improveintegration densityVSAvoidsoft error susceptibility
Core Design Contradiction:
Quantity of substanceVSObject-affected harmful factors

Solution Approach 1:

The patent applies parameter changes by introducing error correction codes and marker bits as additional parameters to the memory system. These extra parameters provide error detection and correction capabilities that compensate for the increased susceptibility to soft errors in smaller, denser CAM memory cells, allowing the system to maintain reliability despite reduced cell size.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If error detection and correction mechanisms are added to CAM, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the error protection function into separate, manageable components: marker bits for tracking eviction status and error correction codes for detecting and correcting soft errors. This segmentation allows the complexity to be distributed across multiple simple elements rather than requiring a single complex error protection system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9146808B1Soft error protection for content addressable memory
Publication Date: 2015.09.29 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9146808B1 patent drawing
  • US9146808B1 patent drawing
  • US9146808B1 patent drawing

AI summary

In one embodiment of the invention, a method for protecting a content addressable memory is disclosed. The method includes storing a marker bit associated with each data block stored in a random access memory (RAM), states of the marker bit representing whether the data block was recently read from the RAM or recently written into the RAM; receiving a client address pointing to a starting address of a data block stored in the RAM; comparing the client address against one or more addresses stored in a content addressable memory (CAM) to determine a hit indicating the client address was stored in the CAM or a miss indicating the client address was not stored in the CAM; and in response to a miss, the method further includes checking a state of the marker bit associated with the data block pointed to by the client address.