Volatile Buffer CAM for Non-Volatile Memory Query Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile content addressable memories (CAMs) are inaccessible for querying during the long write times, causing delays as previously written data is unavailable for query until the write operation is complete.

Innovation Solution

Implementing a volatile buffer CAM in conjunction with a non-volatile main CAM, allowing data to be written and queried simultaneously by copying previously written data into the buffer CAM, thus eliminating the delay and enabling continuous querying during write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If non-volatile CAM is used for storage, then data persistence is improved, but query accessibility during write operations deteriorates

Engineering Contradiction:
Improvedata persistenceVSAvoidquery accessibility
Core Design Contradiction:
Stability of the object's compositionVSEase of operation

Solution Approach 1:

The CAM system is segmented into two distinct parts: a non-volatile main CAM for persistent storage and a volatile buffer CAM for rapid querying. This segmentation allows each component to specialize in its strength while working together to resolve the contradiction between persistence and accessibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer CAM acts as an intermediary between the host and the main non-volatile CAM. It temporarily holds copies of data during write operations, allowing queries to be served from the buffer while the main CAM updates, thus mediating between the need for persistence and query accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If non-volatile CAM is used for storage, then data retention is improved, but query time increases

Engineering Contradiction:
Improvedata retentionVSAvoidquery time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The buffer CAM performs preliminary action by pre-loading and maintaining copies of data in a volatile state during write operations. This preliminary preparation ensures that query operations can be served immediately from the buffer without waiting for the slower non-volatile CAM to complete its write cycle.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Data is copied from the non-volatile main CAM to the volatile buffer CAM during write operations. This copying mechanism allows the system to maintain persistent storage in the main CAM while providing rapid query access through the buffer CAM, effectively reducing query time.

Inventive Principle:
Principle #26Copying

3Speed

If volatile buffer CAM is implemented, then query speed is improved, but device complexity increases

Engineering Contradiction:
Improvequery speedVSAvoiddevice complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The buffer CAM is designed with multi-functionality, serving both as a temporary storage during write operations and as a rapid query response buffer. This universal design allows a single component to address multiple needs, reducing the need for additional specialized hardware and thereby limiting the increase in device complexity.

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

Data Source

PatentUS11422748B2Writing and querying operations in content addressable memory systems with content addressable memory buffers
Publication Date: 2022.08.23 MICRON TECHNOLOGY INC
  • US11422748B2 patent drawing
  • US11422748B2 patent drawing
  • US11422748B2 patent drawing

AI summary

An apparatus (e.g., a content addressable memory system) can have a controller, a first content addressable memory coupled to the controller, and a second content addressable memory coupled to the controller. The controller can be configured to cause the first content addressable memory to write data in the first content addressable memory, cause the second content addressable memory to write the data in the second content addressable memory, and cause the second content addressable memory to query the data written in the second content addressable memory while the first content addressable memory continues to write the data in the first content addressable memory.