Associative Memory

What is Associative Memory?

An associative memory refers to a specific type of memory for performing data searches with a data key instead of providing a simple and direct access to it by using its address. It uses added comparison circuitry for operation in a clock cycle.

Technically, this is a special type of memory and is just like a hardware search engine which helps in a few specific types of high search applications.

Understanding Associative Memory

What is Associative Memory

Typically, when a piece of data stored in the memory is accessed by the means of the value of it and not by its address, then this specific type of memory model is referred to as the associative memory.

An associative memory is also known by different names such as:

Hardware Structure

The associative memory organization or the hardware structure comprises the following:

Register Functions

The different registers in the associative memory perform different functions, such as:


The primary job of the associative memory is to search only the data stored by using the data value itself instead of the address.

During a read-write operation by the associative memory, a part of the word is presented instead of the address. It is remembered and marked for reading. The memory can detect the space that stores the data and that which does not.

The working principle of associative memory, which is in a way a depository of associated patterns, involves triggering it in a specific pattern.

While the input is a partial or stored representation of a stored pattern, the output of it is an associated pattern pair.

Also, when the memory is generated with a particular input pattern, the resultant pattern is recovered automatically.

Here are the series of steps that explain the working process of associative memory in a computer architecture:

Terms to Know

There are a few specific terms in relation to the associative memory network that you ought to know. These are:

Memorization or encoding – This signifies creating an associative memory and weight matrix in such a way that when an input pattern is provided, the associated stored pattern of that specific input pattern is produced.

Read Also:  What is VMEbus? (Explained)

Errors and noise – These actually refer to the incomplete version of some patterns encoded earlier and are produced when any corrupted input pattern is given causing an absolute decrease in the productivity of the network instead of a total degradation.

Performance measures – These are the measures that help in correcting memory capacity and content addressability where the former refers to the highest number of associated pattern pairs stored and recovered correctly, and the latter refers to the capability of the network to rectify and recover the stored pattern.

What are the Types of Associative Memory in Computers?

There are ideally two types of associate memory in computers, namely, an auto-associative memory and a hetero associative memory.

Auto-associative memory:

Also referred to as an auto-associative correlator, this specific type of memory in a computer recuperates a pattern that was stored earlier and relates closely to the existing pattern.

For example, an incomplete and noisy pattern vector x[m] will result in the auto-associative memory for a series of pattern vectors stored such as x[1], x[2], x[3],…,x[M], when x[m] is the element of these vectors that show the features obtained from the patterns.

Hetero-associative memory:

Also referred to as a hetero-associative correlator, this type of associative memory usually offers a different pattern recovered from the input in terms of its format, type and content.

For example, an x(m) vector pattern will result in the hetero-associative memory when an incomplete and noisy version of a(m) is offered along with a set of key response pairs such as {a(1), x(1)}, {a(2),x(2)},…,{a(M), x(M)}.

Read Also:  What is SMBus (System Management Bus)? (Explained)

Ideally, neural networks, called neural associative memory (NAM), are used to incorporate these specific types of associative memory models.

Typically, the linear associate is probably the easiest and simplest of all types of artificial neural associative memory.

It is also the most commonly used associative memory model that consists of a set of simple processing units. However, it has a pretty complex behavior and cooperative computational capability.

Some other widespread and popular artificial neural network models that are used as associative memories are:




An associative memory refers to a specific memory unit containing a database that can be accessed by using the content or data but not the memory location or address.

Known by different names, this memory mostly optimizes data searches by working on data and thus helps in managing database systems.