Browse Prior Art Database

Implementation of Functional Memories with Conventional Associative Memory

IP.com Disclosure Number: IPCOM000110755D
Original Publication Date: 1994-Jan-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 132K

Publishing Venue

IBM

Related People

Heddes, M: AUTHOR

Abstract

Disclosed is a method that allows two regular Conventional Associative Memory (CAM) bit-cells to operate as one Functional Memory (FM) bit-cell, or as two CAM bit-cells. The method requires only very limited additional hardware overhead, and allows a selectable part of the CAM array to function as a FM. Thus, FM memory arrays become identical to CAM memory arrays. In addition, a method to implement a CAM bit-cell more efficiently is disclosed.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 51% of the total text.

Implementation of Functional Memories with Conventional Associative
Memory

      Disclosed is a method that allows two regular Conventional
Associative Memory (CAM) bit-cells to operate as one Functional
Memory (FM) bit-cell, or as two CAM bit-cells.  The method requires
only very limited additional hardware overhead, and allows a
selectable part of the CAM array to function as a FM.  Thus, FM
memory arrays become identical to CAM memory arrays.  In addition, a
method to implement a CAM bit-cell more efficiently is disclosed.

      A Selectable FM-CAM Array - A word in a CAM consists of several
bit-cells, of which the match lines are all connected together.  If
one or more of the bit-cells in a word detect a mismatch, the match
line will be pulled down (thus, the match line will only stay high if
none of the bit-cells have detected a mismatch).  A conventional CAM
cell and the truth table are shown in Fig. 1.  Operation can be
shortly summarized:  The match line is precharged high.  For ease of
presentation, we consider only 'precharge high'.  In principle, it
can also be 'precharge low'.  For an associative read, the bit to be
compared (the key) is applied to the first data line D(0) and the
logic-inverse of the key is applied to the second data line D(1)
(thus we have   D(1) % = % <D(0)> bar .  A mismatch occurs when the
key does not equal the cell state; in this case, the cell pulls the
match line down.  This is shown in rows 3-6 in the table in Fig. 1.
A '-' in the Match column denotes that the match line remains as is,
i.e., there is no pull down; a '0' in the Match column denotes that
it is pulled down because the cell detects a mismatch.

      By using two of the CAM cells and by applying the data in a
special way, as shown in Fig. 2, one FM cell is obtained.  The bit to
be compared is applied to the first data line of the first CAM cell,
and the inverse of the bit is applied to the second data line of the
second CAM cell; the other two data lines are zero, as shown in Fig.
2.  Using the truth-table shown in Fig. 1, the truth-table of the FM
cell can be obtained; it is shown in Fig. 2.  From the truth-table,
the following can be concluded :

o   When cell 0 is in state 0 and cell 1 is in state 1 (FMstate =
    01), the match line will always be pulled down.  In normal
    situations it does not make sense to program state 01 in the two
    cells.

o   When the FMstate = 10, the match line is never pulled down.  This
    represents a "don't-care" in the FM cell.

o   When the FMstate = 00, the match line is pulled down when the
    applied bit does not equal 0.  This represents a 0 in the FM
    cell.

o   The FMstate = 11 represents a 1 in the FM cell.

      Using a simple, additional circuitry, which controls two
columns of a CAM array, these two columns can be made programmable to
operate as a CAM or as a FM.  This is shown in Fig. 4.  By connecting
the data inputs Da an...