What is Associative Memory? Types, Pros, Cons & More

What is 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.


  • An associative memory in a computer performs recollection and is used in neural networks frequently.
  • This specific memory is a specific type of computer hardware that recovers data depending on the indicative and small sample.
  • Technically, the associative memory does not use the address of the data while recalling it but uses the key or part of the data.
  • Associative memory of conventional semiconductor memory (usually RAM) with added comparison circuity that enables a search operation to complete in a single clock cycle.
  • It can store a set of patterns when a key pattern is given by responding to the input by generating a particular stored pattern relating to or closely resembling the given key pattern.

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:

  • Content Addressable Memory or CAM
  • Associative storage
  • Associative array

Hardware Structure

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

  • A memory array
  • A logic for a specific number of words of specific bits
  • A set of registers

Register Functions

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

  • Input Register (I) – This is used to store data of one word length that is to be searched for or written in the associative memory.
  • Output Register (Y) – This holds the data word that matched and is retrieved from the associative memory.
  • Mask Register (M) – This register provides a mask to choose a specific field or key in the word of the input register.
  • Select Register (S) – This contains the bits for every memory word, and when a match is found between the input data in I and the key in M, the bit is set.
Read Also:  What is AT (Advanced Technology) Keyboard? (Explained)


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:

  • The data is stored at the first empty location available on the memory.
  • There is no address stored at this particular location.
  • While searching for this stored data, it is only the key to the data or part of the data that is used.
  • Search is performed sequentially in the memory with the key provided to find a corresponding key to it on the memory.
  • After finding the data content, the memory starts reading the next set.

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 CMOS Battery? Function, Uses, Types & More

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:  Wired vs Wireless Technology: 21 Differences

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:


  • Searching stored data by data value reduces the search time by a considerable margin.
  • The working process followed by the associative memory makes it appropriate for parallel searches.
  • It supports using it for expediting search times or in databases.
  • It is used in page tables in the neural network and virtual memory.
  • It helps in database management systems.


  • The operation process of the associative memory is more expensive when compared with Random Access Memory (RAM).
  • The content must match with the external argument.
  • Every cell needs logical circuits and storage capability.
  • It can be used only in memory allocation format.


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.

About Taylor

AvatarTaylor S. Irwin is a freelance technology writer with in-depth knowledge about computers. She has an understanding of hardware and technology gained through over 10 years of experience.

Inline Feedbacks
View all comments