JP3583799B2 - Method of using associative memory and associative memory - Google Patents
Method of using associative memory and associative memory Download PDFInfo
- Publication number
- JP3583799B2 JP3583799B2 JP01642694A JP1642694A JP3583799B2 JP 3583799 B2 JP3583799 B2 JP 3583799B2 JP 01642694 A JP01642694 A JP 01642694A JP 1642694 A JP1642694 A JP 1642694A JP 3583799 B2 JP3583799 B2 JP 3583799B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- stored
- attribute
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 6
- 239000000470 constituent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】
本発明は、従来の一般的な連想メモリの使用方法、およびその使用方法に適合したハードウェア構成を備えた連想メモリに関する。
【0002】
【従来の技術】
従来より、配列された複数の各メモリワードそれぞれに各ディジタルデータを記憶しておき、検索データを入力し、入力された検索データの全部もしくは所定の一部のビットパターンと一致するビットパターンを有するディジタルデータが記憶されたメモリワードを検索する連想メモリ(Associative Memory,内容アドレス式メモリ;Content Addressable Memory)が提案されている。
【0003】
図2は、連想メモリの一例を表わした回路ブロック図である。
この連想メモリ10には、mビットを1ワードとする、互いに図の横方向に並ぶmビットのメモリセルからなるメモリワード11_1,11_2,…,11_nが多数備えられている。またこの連想メモリ10は、1ワードの検索データが入力されラッチされる検索レジスタ12を備え、検索レジスタ12にラッチされた検索データの全部もしくは所定の一部のビットパターンと、各メモリワード11_1,11_2,…,11_nに記憶されたデータのうち上記ビットパターンと対応する部分のビットパターンとの一致不一致が比較され、各メモリワード11_1,11_2,…,11_nのそれぞれに対応して備えられた一致線14_1,14_2,…,14_nのうちビットパターンが一致したメモリワード11_1,11_2,…,11_nに対する一致線14_1,14_2,…,14_nに論理‘1’(ここでは5Vとする)の一致信号が出力される。それ以外の一致線14_1,14_2,…,14_nは論理‘0’(ここでは0Vとする)にとどまる。
【0004】
これらの一致線14_1,14_2,…,14_nに出力された信号は、各一致フラグレジスタ15_1,15_2,…,15_nに格納される。ここでは、一例として、図示のように、各一致フラグレジスタ15_1,15_2,…,15_nにそれぞれ‘0’,‘1’,‘1’,‘0’,…,‘0’,‘0’が格納されたものとする。これらの一致フラグレジスタ15_1,15_2,…,15_nに格納された信号はアドレスエンコーダ16に入力され、このアドレスエンコーダ16からは論理‘1’の信号が格納された一致フラグレジスタ(ここでは一致フラグレジスタ15_2と一致フラグレジスタ15_3の2つ)のうちの優先度の高い一致フラグレジスタに対応するアドレス信号が出力される。ここでは、添字が若いほど優先順位が高いものとし、従ってここでは一致フラグレジスタ15_2に対応するメモリアドレスが出力される。このアドレスエンコーダ16から出力されたアドレス信号ADは、必要に応じてデコーダ17に入力される。デコーダ17ではこの入力されたアドレス信号ADをデコードして各メモリワード11_1,11_2,…,11_nのそれぞれに対応して備えられたワード線18_1,18_2,…,18_nのうちの入力されたアドレス信号ADに対応するいずれか1本のワード線(ここではワード線18_2)にアクセス信号(ここでは論理‘1’の信号)を出力する。これによりアクセス信号の出力されたワード線18_2に対応するメモリワード11_2に記憶されているデータが出力レジスタ19に読出される。
【0005】
次に、一致フラグレジスタ15_2に格納された信号を‘0’に変更することにより、今度は一致フラグレジスタ15_3に対応するメモリワード11_3のアドレスを得ることができる。
上記のように、連想メモリ10は、検索データの全部もしくは所定の一部のデータを用いて多数のメモリワード11_1,11_2,…,11_nに記憶された内容(データ)を検索し、一致するデータを有するメモリワードのアドレスを得、必要に応じてそのメモリワードに記憶されたデータ全体を読出すことができるように構成されたメモリである。
【0006】
上記のような連想メモリに記憶されるデータが、複数の属性の付されたデータである場合に、検索の不都合を生じることがある。
図3は、連想メモリに記憶された、属性の付されたデータの配列を示した図である。
連想メモリを構成する多数のメモリワードが4つずつ組にされ、各組内の先頭のメモリワードには、例えば‘氏名’という「属性0」の付されたデータが格納され、各組内の2番目のメモリワードには例えば‘生年月日’という「属性1」の付されたデータが格納され、以下同様にして各組内の3番目、4番目のメモリワードにはそれぞれ「属性2」,「属性3」が付されたデータが格納されるものとする。ここでは、各メモリワードに格納された各データを図示のアルファベットA,B,…で表示している。尚、以下上記のように各属性が付された1組のデータ群を「データセット」と称する。
【0007】
ここで、図3の最上段に記された属性0のデータが‘A’であり、次段に記された属性1のデータも‘A’であるというように、属性が異なっても同一のビットパターンのデータが格納されることが生じる場合がある。
この場合において、属性0に属するデータ‘A’(例えば氏名‘A’である人)のみを検索したい場合に、データ‘A’を検索データとして入力すると、属性0に属するデータ‘A’のみでなく、他の属性1,2,3に属するデータ‘A’も同時に検索されてしまい、検索後において検索されたデータの中から属性0に属するデータを再度検索し直す等の操作を行う必要があり、その操作が極めて煩雑であり検索にも時間がかかるという問題がある。
【0008】
このような問題の解決手法が本願出願人より提案されている(特願平5−181447号参照)。以下、この提案について説明する。
図4は、上記提案に係るメモリ構造図である。
連想メモリを構成する、それぞれがmビット(例えば16ビット)からなるメモリワードの上位kビット(例えば2ビット)を属性を表わす属性データを格納する領域と定め、また残りのm−kビット(例えば16−2=14ビット)を、それらの属性の付された本来のデータを格納しておくべき領域と定め、各メモリワードに属性とデータとの双方を格納する。そして検索にあたっては、属性とデータとの双方で検索を行う。例えば「属性0」とデータ‘A’との双方で検索を行えば、図4の最上段に示されたデータが検索されることになる。
【0009】
図5は、上記の考え方をさらに説明するための、連想メモリのブロック図である。尚、この連想メモリは、説明の都合上描き方がやや異なるのみであって本質的には図2に示す連想メモリと同一のものであるが、説明に不必要なブロックの図示は一部省略されている。また図2に示す連想メモリの各ブロックと同一のブロックには図2に付した番号と同一の番号が付されている。
【0010】
mビットからなる各メモリワード11_1,11_2,…,11_nの上位2ビットには属性データを格納し、残りのm−2ビットに、各属性の付されたデータを格納する。そして検索にあたっては、検索レジスタ12の上位2ビットを検索用の属性データが格納される属性検索レジスタ12_1とし、検索レジスタ12の残りの部分(検索データレジスタ12_2を、図2を参照して説明した際の、本来の意味における検索レジスタとし、この検索レジスタ12に属性データと本来の意味における検索データとを格納して検索を行う。これによりその検索に用いられた属性データが表わす属性が付された所望の格納データの検索が行われる。即ち、属性の異なる同一の格納データの検索は排除される。
【0011】
次に属性データを固定的に記憶しておくように構成された連想メモリの一例について説明する。
図5は、属性データを固定的に記憶しておくように構成された連想メモリの説明にもそのまま用いることができるが、各メモリワード11_1,11_2,…,11_nの構成が従来の汎用の連想メモリのメモリワードと異なっている。
【0012】
図6は、連想メモリを構成する多数のメモリワードのうち、1つのメモリワードの構成を示す回路図である。この回路は、SRAMを基本とし、かつ検索データとの一致をNAND型一致検出回路で検出する回路構成の一例である。
図示のメモリワードには、第1の属性ビットセル20_1と第2の属性ビットセル20_2からなるビットセル群20と、mビット(例えば16ビット)のSRAM構造のメモリセル21_1,…,21_mからなるメモリセル群21が形成されている。
【0013】
第1の属性ビットセル20_1には、ビット線Zb1とビットバー線Zb1_ の間に互いにシリアルに接続された2つのトランジスタT1,T2が形成されており、これら2つのトランジスタT1,T2の接続点にトランジスタTC1_1のゲート電極が接続されている。トランジスタT1のゲートは論理‘1’に設定されており、トランジスタT2のゲートは論理‘0’に設定されている。このとき、図5に示す属性検索レジスタ12_1に接続された、ビット線Zb1に‘1’、ビットバー線Zb1_ にその反転信号である‘0’が印加されると、トランジスタT1がオンし、ビット線Zb1の‘1’がトランジスタTC1_1のゲートに印加されこのトランジスタTC1_1もオンとなる。この状態が、第1の属性ビットセル20_1に関し、この第1の属性ビットセル20_1に固定的に記憶された内容と入力された検索用の属性データとが一致した状態である。これとは逆に、ビット線Zb1に‘0’,ビットバー線Zb1_ に‘1’が印加されると、トランジスタTC1_1のゲートは‘0’となりこのトランジスタTC1_1はオフとなる。これが、この第1の属性ビットセル20_1に関し、不一致の状態である。
【0014】
同様にして、図6に示す例では、第2の属性ビットセル20_2は、そこに格納されたデータが第1の属性ビットセル20_1に格納されたデータと逆であり、属性検索レジスタ20_1からの信号が‘0’(ビット線Zb2が‘0’、ビットバー線Zb2_ が‘1’)のとき一致の状態となる。
即ち、図6に示す例では属性ビットの2ビットが(1,0)のとき、‘一致’の状態となる。
【0015】
またメモリセル21_1,……21_mは、トランジスタT1,T2のゲートに印加される値がデコーダ17によってアクセスされるSRAMのQノード,Q_ ノードによって設定されるものであり、一致検出動作は、属性メモリセル20_1,20_2の場合と同じである。
互いにシリアルに接続されたトランジスタTC1_1,TC1_2,TC2_1,…,TC2_m等からなるNAND型一致検出回路30には、図の左端に制御トランジスタTC0が構成され、図の右端には一致検出アンプ31が構成されたものであり、制御クロックφで制御される。先ず制御クロックφが‘0’となり、一致検出アンプ31の入力ノードがプリチャージトランジスタ31aでプリチャージされ、これによりインバータ31bの出力は‘0’となる。このとき、制御トランジスタTC0はオフ状態に保たれる。
【0016】
各ビット線,各ビットバー線Zb1,Zb1_ ;Zb2,Zb2_ :Db1,Db1_ …;Dbm,Dbm_ を介して属性検索レジスタ12_1と検索データレジスタ12_2から検索データがあらかじめ入力されており、前述の各属性ビットセル20_1,20_2および各メモリセル21_1,…,21_mのそれぞれについて一致不一致が決定され、一致するセルについては、NAND型一致検出回路を構成する、対応する各トランジスタTC1_1,TC1_2,TC2_1,…,TC2_mのゲート電圧が‘1’となり、そのトランジスタがオンする。
【0017】
この状態で制御クロックφが‘1’になると、全てのセルが一致したメモリワードのみに対応するNAND型一致検出回路31のインバータ31bの入力ノードがディスチャージされ、このインバータ31bから‘1’の一致信号が出力され、対応する一致フラグレジスタ15に‘1’が格納されることになる。
このとき、メモリセル21_1,…,21_mに格納された格納データだけでなく属性データの一致がなければ一致信号は得られないことになる。したがってこの属性データを各データセットを構成する各データの属性に合わせて定義しておくことにより、各データセットの各属性毎の検索が可能となる。このように属性データをあらかじめハードウェア的に作り込んだ連想メモリにおいては、図5に示す属性検索レジスタ12_1には制御データの1つとして属性データをセットすればよく、したがってこの連想メモリを用いることにより連想メモリの1ワード分のビット長を減らすことなく外部とのアクセスを行うことのできるシステムを構成することができる。
【0018】
【発明が解決しようとする課題】
上記のように、各メモリワードに属性とデータの双方を格納しておいてそれら属性とデータとの双方で検索を行なう場合において、使用されないメモリワードの処理が問題となる。例えばメモリワードが128個作り込まれた連想メモリに用いて、属性I〜属性Vの5つのデータをデータセットとしてその連想メモリに格納すると、128のメモリワードのうち5で割り切れない余りの3つのメモリワードは使用されない状態となる。
【0019】
この余りの3つのメモリワードをそのままにしておくと、そのメモリワードにたまたま格納されていたデータと検索データとが一致してしまうという事態が懸念される。またこの余りの3つのメモリワードが検索の対象となる有効なデータが格納されていない空き状態にあると定義する(実際は各メモリワード毎にフラグレジスタを持ち、対応するメモリワードに有効なデータが格納されているかそのメモリワードが空き状態にあるかを識別するフラグが格納される)と、新たなデータをメモリワードに書き込む際に、その余りのメモリワードが指定され、しかも1つのデータセットを構成するデータ全部が書き込まれないという事態が生じ得ることになる。
【0020】
本発明は、上記事情に鑑み、余りのメモリワードを有効に処理する連想メモリの使用方法、および、余りのメモリワードが有効に処理された連想メモリを提供することを目的とする。
【0021】
【課題を解決するための手段】
上記目的を達成する本発明の連想メモリの使用方法は、配列された複数のメモリワードそれぞれに各ディジタルデータを書込み自在に記憶しておき、検索データを入力し、入力された検索データの全部もしくは所定の一部のビットパターンと一致するビットパターンを有するディジタルデータが記憶されたメモリワードを検索する連想メモリの使用方法において、
上記複数のメモリワードのうち、検索に使用される第1のメモリワードに、その第1のメモリワードがそれぞれ二分された一方の第1の領域にディジタルデータを格納すると共に、その第1のメモリワードの、上記第1の領域を除く第2の領域に、その第1の領域に格納されたディジタルデータの属性を表わす属性データを記憶させ、かつ
上記複数の各メモリワードのうち、検索に使用されない第2のメモリワードの上記第2の領域に、上記第1のメモリワードに記憶される属性データのいずれとも値の異なる属性データを記憶させ、
この連想メモリに所定の属性データと所定のディジタルデータとの組を検索データとして入力することにより、その連想メモリに、入力された所定のディジタルデータに対応すると共に入力された所定の属性データが表わす属性を有するディジタルデータが記憶されたメモリワードの検索を行わせることを特徴とする。
【0022】
また、上記目的を達成する本発明の連想メモリは、配列された複数のメモリワードそれぞれに各ディジタルデータを記憶しておき、検索データを入力し、入力された検索データの全部もしくは所定の一部のビットパターンと一致するビットパターンを有するディジタルデータが記憶されたメモリワードを検索する連想メモリにおいて、
上記複数のメモリワードのうち検索に使用される第1のメモリワードが、各ディジタルデータが書込み自在に記憶された第1の領域と、その第1の領域に記憶されたディジタルデータの属性を表わす属性データが書込み自在にもしくは固定的に記憶された第2の領域とを有するとともに、
上記複数の各メモリワードのうち検索に使用されない第2のメモリワードが上記第1のメモリワードに記憶された属性データのいずれとも値の異なる属性データが書込み自在にもしくは固定的に記憶された上記第2の領域を有するものであることを特徴とする。
【0023】
【作用】
本発明の連想メモリの使用方法は、余りのメモリワードに、検索に使用される属性データのいずれとも異なる値の異なる属性データを書き込んでおいて検索を行なうものであり、また本発明の連想メモリは、余りのメモリワードに、検索に使用される属性データのいずれとも値の異なる属性データが書き込まれたものであるため、その余りのメモリワードで一致が検出されることが防止される。
【0024】
【実施例】
以下、本発明の実施例について説明する。
図1は本発明における、メモリワードのメモリマップの一例を示した図である。
この実施例の連想メモリには、128個のメモリワード11_1,11_2,…,11_128が備えられており、各メモリワード11_1,11_2,…,11_128には、本来のデータを格納する第1の領域11_1_1,11_2_1,…,11_128_1と属性データを格納する第2の領域11_1_2,11_2_2,…,11_128_2が備えられている。この連想メモリに、それぞれ属性I〜Vが付された5つのデータからなるデータセットが格納されるものとする。
【0025】
その場合、5で割り切れない3つの余りのメモリワード11_126,…,11_128が生じるが、それらのメモリワード11_126,…,11_128の第2の領域11_126_2,…,11_128_2には、検索に使用される属性I〜Vのいずれとも異なる値、例えば属性VIIが格納される。この場合、属性とデータのうち属性が一致することはなく、従って属性とデータの全体としても一致することはなく、不用意な誤った検索が防止される。
【0026】
【発明の効果】
以上説明したように、本発明によれば、メモリワードに余りが生じても不用意な誤った検索が防止される。
【図面の簡単な説明】
【図1】本発明における、メモリワードのメモリマップの一例を示した図である。
【図2】連想メモリの一例を表わした回路ブロック図である。
【図3】連想メモリに記憶された、属性の付されたデータの配列を示した図である。
【図4】メモリ構造図である。
【図5】連想メモリのブロック図である。
【図6】連想メモリを構成する多数のメモリワードのうち、1つのメモリワードの構成を示す回路図である。
【符号の説明】
10 連想メモリ
11_1,11_2,…,11_128 メモリワード
11_1_1,11_2_1,…,11_128_1 第1の領域
11_1_2,11_2_2,…,11_128_2 第2の領域[0001]
[Industrial applications]
The present invention relates to a conventional general use of an associative memory and an associative memory having a hardware configuration adapted to the use.
[0002]
[Prior art]
Conventionally, each digital data is stored in each of a plurality of arranged memory words, search data is input, and the input search data has a bit pattern that matches all or a predetermined part of the bit pattern. 2. Description of the Related Art An associative memory (Content Addressable Memory) for searching a memory word in which digital data is stored has been proposed.
[0003]
FIG. 2 is a circuit block diagram illustrating an example of the associative memory.
The
[0004]
The signals output to the match lines 14_1, 14_2, ..., 14_n are stored in the respective match flag registers 15_1, 15_2, ..., 15_n. Here, as an example, as shown, '0', '1', '1', '0', ..., '0', '0' are respectively stored in the match flag registers 15_1, 15_2, ..., 15_n. It shall be stored. The signals stored in these match flag registers 15_1, 15_2,..., 15_n are input to an
[0005]
Next, by changing the signal stored in the match flag register 15_2 to “0”, the address of the memory word 11_3 corresponding to the match flag register 15_3 can be obtained.
As described above, the
[0006]
When the data stored in the associative memory as described above is data to which a plurality of attributes are added, a search may be inconvenient.
FIG. 3 is a diagram showing an array of data with attributes stored in the associative memory.
A large number of memory words constituting the associative memory are grouped into groups of four, and the first memory word in each group stores, for example, data with "attribute 0" of "name". In the second memory word, for example, data with “
[0007]
Here, the data of the attribute 0 described at the top of FIG. 3 is “A”, and the data of the
In this case, if it is desired to search only data “A” belonging to attribute 0 (for example, a person whose name is “A”), and input data “A” as search data, only data “A” belonging to attribute 0 is searched. However, the data "A" belonging to the
[0008]
A solution to such a problem has been proposed by the present applicant (see Japanese Patent Application No. 5-184747). Hereinafter, this proposal will be described.
FIG. 4 is a memory structure diagram according to the above proposal.
The upper k bits (for example, 2 bits) of a memory word composed of m bits (for example, 16 bits) constituting an associative memory are defined as an area for storing attribute data representing attributes, and the remaining mk bits (for example, 16-2 = 14 bits) is determined as an area for storing the original data with these attributes, and both the attribute and the data are stored in each memory word. In the search, the search is performed using both the attribute and the data. For example, if a search is performed using both “attribute 0” and data “A”, the data shown at the top of FIG. 4 is searched.
[0009]
FIG. 5 is a block diagram of an associative memory for further explaining the above concept. The associative memory is essentially the same as the associative memory shown in FIG. 2 except that the drawing is slightly different for convenience of explanation. Have been. The same blocks as the blocks of the associative memory shown in FIG. 2 are denoted by the same numbers as those shown in FIG.
[0010]
The attribute data is stored in the upper 2 bits of each of the m-bit memory words 11_1, 11_2,..., 11_n, and the data with each attribute is stored in the remaining m-2 bits. In the search, the upper two bits of the
[0011]
Next, an example of an associative memory configured to store attribute data in a fixed manner will be described.
Although FIG. 5 can be used as it is for the description of the associative memory configured to store attribute data in a fixed manner, the configuration of each memory word 11_1, 11_2,. Different from memory word of memory.
[0012]
FIG. 6 is a circuit diagram showing a configuration of one memory word among a large number of memory words forming the associative memory. This circuit is an example of a circuit configuration based on SRAM and detecting a match with search data by a NAND type match detection circuit.
The illustrated memory word includes a
[0013]
In the first attribute bit cell 20_1, two transistors T1 and T2 serially connected to each other between the bit line Zb1 and the bit bar line Zb1_ are formed, and a transistor is connected to a connection point of these two transistors T1 and T2. The gate electrode of TC1_1 is connected. The gate of transistor T1 is set to logic '1' and the gate of transistor T2 is set to logic '0'. At this time, when "1" is applied to the bit line Zb1 and "0" which is an inverted signal thereof is applied to the bit bar line Zb1_ connected to the attribute search register 12_1 shown in FIG. '1' of the line Zb1 is applied to the gate of the transistor TC1_1, and the transistor TC1_1 is also turned on. This state is a state in which the content fixedly stored in the first attribute bit cell 20_1 matches the input attribute data for search with respect to the first attribute bit cell 20_1. Conversely, when '0' is applied to the bit line Zb1 and '1' is applied to the bit bar line Zb1_, the gate of the transistor TC1_1 becomes '0' and the transistor TC1_1 is turned off. This is an unmatched state for the first attribute bit cell 20_1.
[0014]
Similarly, in the example shown in FIG. 6, in the second attribute bit cell 20_2, the data stored therein is opposite to the data stored in the first attribute bit cell 20_1, and the signal from the attribute search register 20_1 is When they are '0' (bit line Zb2 is '0' and bit bar line Zb2_ is '1'), a match is made.
That is, in the example shown in FIG. 6, when two of the attribute bits are (1, 0), the state is "match".
[0015]
The memory cells 21_1,..., 21_m have values applied to the gates of the transistors T1, T2 set by the Q nodes and Q_ nodes of the SRAM accessed by the
In a NAND type match detection circuit 30 including transistors TC1_1, TC1_2, TC2_1,..., TC2_m and the like serially connected to each other, a control transistor TC0 is configured at the left end of the drawing, and a match detection amplifier 31 is configured at the right end of the drawing. And is controlled by the control clock φ. First, the control clock φ becomes '0', and the input node of the match detection amplifier 31 is precharged by the
[0016]
Each bit line, each bit bar line Zb1, Zb1_; Zb2, Zb2_: Db1, Db1_...; Dbm, Dbm_; search data is input in advance from the attribute search register 12_1 and the search data register 12_2; Match / mismatch is determined for each of the bit cells 20_1, 20_2 and each of the memory cells 21_1,..., 21_m. For the matching cells, the corresponding transistors TC1_1, TC1_2, TC2_1,. Becomes '1' and the transistor turns on.
[0017]
When the control clock φ becomes "1" in this state, the input node of the inverter 31b of the NAND type match detection circuit 31 corresponding to only the memory word in which all the cells match is discharged, and the match of "1" from the inverter 31b is obtained. A signal is output, and '1' is stored in the corresponding
At this time, if there is no match between the attribute data as well as the stored data stored in the memory cells 21_1,..., 21_m, a match signal cannot be obtained. Therefore, by defining this attribute data according to the attribute of each data constituting each data set, it becomes possible to search for each attribute of each data set. In the associative memory in which the attribute data is created in advance in hardware as described above, the attribute data may be set as one of the control data in the attribute search register 12_1 shown in FIG. Accordingly, it is possible to configure a system capable of accessing the outside without reducing the bit length of one word of the associative memory.
[0018]
[Problems to be solved by the invention]
As described above, when both attributes and data are stored in each memory word and search is performed using both the attributes and data, processing of unused memory words becomes a problem. For example, when five data of attributes I to V are stored as a data set in the associative memory using the associative memory in which 128 memory words are formed, three out of 128 memory words that cannot be divided by 5 The memory word becomes unused.
[0019]
If the remaining three memory words are left as they are, there is a concern that data that happens to be stored in the memory word and the search data may match. Further, it is defined that the remaining three memory words are in an empty state where valid data to be searched is not stored (actually, each memory word has a flag register, and valid data is stored in the corresponding memory word). A flag for identifying whether the data is stored or the memory word is empty is stored), and when writing new data to the memory word, the remaining memory word is designated and one data set is written. A situation may occur in which all the constituent data is not written.
[0020]
In view of the above circumstances, an object of the present invention is to provide a method of using an associative memory that effectively processes surplus memory words and an associative memory in which surplus memory words are effectively processed.
[0021]
[Means for Solving the Problems]
A method of using the associative memory of the present invention to achieve the above object is to store each digital data in each of a plurality of arranged memory words in a freely writable manner, input search data, and input all or all of the input search data. A method of using an associative memory for retrieving a memory word in which digital data having a bit pattern matching a predetermined partial bit pattern is stored,
Among the plurality of memory words, the first memory word used for the search stores digital data in one of the first areas where the first memory word is divided into two, and the first memory word is stored in the first memory word. Attribute data representing attributes of digital data stored in the first area is stored in a second area of the word excluding the first area, and is used for retrieval among the plurality of memory words. Storing attribute data having a value different from any of the attribute data stored in the first memory word in the second area of the second memory word that is not performed;
By inputting a set of predetermined attribute data and predetermined digital data into the associative memory as search data, the specified attribute data corresponding to the input predetermined digital data and being displayed is represented in the associative memory. A memory word storing digital data having an attribute is searched.
[0022]
The associative memory of the present invention that achieves the above object stores digital data in each of a plurality of arranged memory words, inputs search data, and inputs all or a predetermined part of the input search data. An associative memory for searching a memory word in which digital data having a bit pattern matching the bit pattern of
A first memory word used for retrieval among the plurality of memory words represents a first area in which each digital data is writably stored and an attribute of the digital data stored in the first area. A second area in which the attribute data is writable or fixedly stored, and
The second memory word that is not used for searching among the plurality of memory words is the attribute data whose value is different from any of the attribute data stored in the first memory word. It has a second region.
[0023]
[Action]
A method of using the associative memory according to the present invention is to perform a search by writing attribute data having a value different from any of the attribute data used in the search into the remaining memory words, and perform the search. Since attribute data having a value different from that of any of the attribute data used for the search is written in the remaining memory words, it is prevented that a match is detected in the remaining memory words.
[0024]
【Example】
Hereinafter, examples of the present invention will be described.
FIG. 1 is a diagram showing an example of a memory map of a memory word in the present invention.
The associative memory of this embodiment includes 128 memory words 11_1, 11_2,..., 11_128. Each memory word 11_1, 11_2,. , 11_128_1, and second areas 11_1_2, 11_2_2,..., 11_128_2 for storing attribute data. It is assumed that a data set including five data to which attributes IV are assigned is stored in the associative memory.
[0025]
In that case, three extra memory words 11_126,..., 11_128 that are not divisible by 5 are generated, and the second area 11_126_2,..., 11_128_2 of the memory words 11_126,. A value different from any of I to V, for example, attribute VII is stored. In this case, the attribute and the data do not match, and therefore the attribute and the data do not match as a whole, so that careless erroneous search is prevented.
[0026]
【The invention's effect】
As described above, according to the present invention, accidental erroneous search is prevented even if a memory word has a surplus.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of a memory map of a memory word in the present invention.
FIG. 2 is a circuit block diagram illustrating an example of an associative memory.
FIG. 3 is a diagram showing an array of data with attributes stored in an associative memory.
FIG. 4 is a memory structure diagram.
FIG. 5 is a block diagram of an associative memory.
FIG. 6 is a circuit diagram showing a configuration of one memory word among a large number of memory words configuring an associative memory.
[Explanation of symbols]
10 associative memory 11_1, 11_2, ..., 11_128 memory word 11_1_1, 11_2_1, ..., 11_128_1 first area 11_1_2, 11_2_2, ..., 11_128_2 second area
Claims (2)
前記複数のメモリワードのうち、検索に使用される第1のメモリワードに、該第1のメモリワードがそれぞれ二分された一方の第1の領域にディジタルデータを格納すると共に、該第1のメモリワードの、該第1の領域を除く第2の領域に、該第1の領域に格納されたディジタルデータの属性を表わす属性データを記憶させ、かつ
前記複数のメモリワードのうち、検索に使用されない第2のメモリワードの前記第2の領域に、前記第1のメモリワードに記憶される属性データのいずれとも値の異なる属性データを記憶させ、
前記連想メモリに所定の属性データと所定のディジタルデータとの組を前記検索データとして入力することにより、該連想メモリに、入力された所定のディジタルデータに対応すると共に入力された所定の属性データが表わす属性を有するディジタルデータが記憶されたメモリワードの検索を行わせることを特徴とする連想メモリの使用方法。Digital data is stored in each of a plurality of arranged memory words in a freely writable manner, search data is input, and digital data having a bit pattern that matches all or a predetermined part of the input search data is stored. In a method of using an associative memory to search for a memory word in which data is stored,
Digital data is stored in one of the first areas of the plurality of memory words, the first memory word being used for searching, and the first memory word is divided into two. Attribute data representing an attribute of digital data stored in the first area is stored in a second area of the word excluding the first area, and is not used for retrieval among the plurality of memory words. Storing attribute data having a value different from any of the attribute data stored in the first memory word in the second area of the second memory word;
By inputting a set of predetermined attribute data and predetermined digital data to the associative memory as the search data, predetermined attribute data corresponding to the input predetermined digital data and input is stored in the associative memory. A method of using an associative memory, characterized in that a search is made for a memory word in which digital data having a representative attribute is stored.
前記複数のメモリワードのうち検索に使用される第1のメモリワードが、各ディジタルデータが書込み自在に記憶された第1の領域と、該第1の領域に記憶されたディジタルデータの属性を表わす属性データが書込み自在にもしくは固定的に記憶された第2の領域とを有するとともに、
前記複数の各メモリワードのうち検索に使用されない第2のメモリワードが前記第1のメモリワードに記憶された属性データのいずれとも値の異なる属性データが書込み自在にもしくは固定的に記憶された前記第2の領域を有するものであることを特徴とする連想メモリ。Digital data is stored in each of a plurality of arranged memory words, search data is input, and digital data having a bit pattern that matches all or a predetermined part of the input search data is stored. In an associative memory that searches for a given memory word,
A first memory word used for retrieval among the plurality of memory words represents a first area in which each digital data is writably stored and an attribute of the digital data stored in the first area. A second area in which the attribute data is writable or fixedly stored, and
The second memory word that is not used for retrieval among the plurality of memory words is the attribute data whose value is different from any of the attribute data stored in the first memory word. An associative memory having a second area.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01642694A JP3583799B2 (en) | 1994-02-10 | 1994-02-10 | Method of using associative memory and associative memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01642694A JP3583799B2 (en) | 1994-02-10 | 1994-02-10 | Method of using associative memory and associative memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07226089A JPH07226089A (en) | 1995-08-22 |
| JP3583799B2 true JP3583799B2 (en) | 2004-11-04 |
Family
ID=11915921
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP01642694A Expired - Fee Related JP3583799B2 (en) | 1994-02-10 | 1994-02-10 | Method of using associative memory and associative memory |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3583799B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017228027A (en) * | 2016-06-21 | 2017-12-28 | 株式会社三菱東京Ufj銀行 | Provision device, information processor, and program |
-
1994
- 1994-02-10 JP JP01642694A patent/JP3583799B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH07226089A (en) | 1995-08-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4975873A (en) | Content addressable memory with flag storage to indicate memory state | |
| EP0187822B1 (en) | Content addressable semiconductor memory arrays | |
| KR100230767B1 (en) | Data storage and retrieval method of dynamic memory and device therefor | |
| US3588830A (en) | System for using a memory having irremediable bad bits | |
| JP3015493B2 (en) | Semiconductor associative memory | |
| US3644906A (en) | Hybrid associative memory | |
| EP0364110B1 (en) | Semiconductor memory device having a serial access memory | |
| JP3599273B2 (en) | Improvement of memory that can refer to contents | |
| US6188629B1 (en) | Low power, static content addressable memory | |
| JP3703518B2 (en) | Associative memory system | |
| US20030005210A1 (en) | Intelligent CAM cell for CIDR processor | |
| US20020080665A1 (en) | Content addressable memory having data width extension capability | |
| JP3583799B2 (en) | Method of using associative memory and associative memory | |
| JPH0421997A (en) | Content-addresable circuit | |
| US6898100B2 (en) | Semiconductor memory device used for cache memory | |
| JP4850403B2 (en) | Magnitude contents referenceable memory | |
| GB1278664A (en) | An associative memory | |
| US4982379A (en) | Semiconductor memory device having associative function | |
| JP6170718B2 (en) | Search system | |
| JP3597882B2 (en) | Associative memory | |
| JP3130736B2 (en) | Usage of associative memory and associative memory | |
| JPS599992B2 (en) | associative memory device | |
| JP3597899B2 (en) | Associative memory | |
| JP2741806B2 (en) | Content addressable memory | |
| JP3645293B2 (en) | Associative memory |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040625 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040727 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040730 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |