CAM Access Controller Integrity Logic for Multi-Client Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-client systems using content addressable memory (CAM) devices, the delay between index grants and cache updates can lead to corruption and erroneous data retrieval due to the Least Recently Used (LRU) entry eviction algorithm, especially when multiple clients access a single CAM device asynchronously.

Innovation Solution

A method and system that includes an access controller with integrity controllers to detect common lookup indices and inhibit new cache operations until pending cache write operations are completed, preventing the generation of grant signals and ensuring accurate data retrieval by synchronizing access among clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple clients access a single CAM device asynchronously, then system throughput and resource utilization are improved, but data corruption and erroneous retrieval occur due to timing conflicts between index grants and cache updates

Engineering Contradiction:
Improvesystem throughputVSAvoiddata accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

An access controller is introduced as an intermediary component between multiple clients and the CAM device. This controller receives index grants from the CAM device, detects pending cache write operations, and selectively inhibits new cache operations when conflicts are detected. The intermediary coordinates access timing, allowing multiple clients to asynchronously access the CAM device while preventing data corruption through controlled operation inhibition based on detected timing conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If the CAM device provides lookup indices quickly without access control, then response time is reduced, but cache corruption occurs when multiple clients simultaneously update the same cache location

Engineering Contradiction:
Improveresponse timeVSAvoidcache integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The access controller performs preliminary detection of pending cache write operations before allowing new cache operations to proceed. When a client receives a lookup index from the CAM device, the controller checks whether another client has a pending write operation to the same cache location. If a conflict is detected, the new operation is inhibited in advance, preventing corruption before it can occur. This preliminary action maintains fast response times while ensuring cache integrity.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If an arbiter regulates CAM access for multiple clients, then fair access is achieved, but additional access control logic increases system complexity

Engineering Contradiction:
Improvefair access controlVSAvoidaccess control logic
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The access controller operates autonomously to manage multiple client accesses to the CAM device. It automatically detects pending cache write operations, identifies timing conflicts between clients, and selectively inhibits operations without requiring complex arbitration algorithms or centralized control logic. The self-service approach simplifies the access control mechanism while ensuring fair and conflict-free operation among multiple clients.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8533389B1Multi-client content addressable memory access control method
Publication Date: 2013.09.10 MICROSEMI STORAGE SOLUTIONS INC
  • US8533389B1 patent drawing
  • US8533389B1 patent drawing
  • US8533389B1 patent drawing

AI summary

A method and system for controlling multiple client access to cache memory and a single CAM device. Each client has a corresponding integrity controller in communication with the CAM device and all the other integrity controllers associated with the other clients in the system. Each integrity controller monitors states of the other clients, and inhibits its respective client from executing any operation when a common lookup index is detected during a co-pending operation with a first client. Once the operations of the first client are completed, its integrity controller signals the integrity controller of other clients to exit their inhibit or hold states, thereby allowing the other clients to resume their operations. Another advantage of the integrity controller is that its algorithms also prevents multiple host memory fetches of the same key, thereby saving time and improving system performance.