JPH08124388A - 連想メモリ - Google Patents

連想メモリ

Info

Publication number
JPH08124388A
JPH08124388A JP25836894A JP25836894A JPH08124388A JP H08124388 A JPH08124388 A JP H08124388A JP 25836894 A JP25836894 A JP 25836894A JP 25836894 A JP25836894 A JP 25836894A JP H08124388 A JPH08124388 A JP H08124388A
Authority
JP
Japan
Prior art keywords
data
memory word
memory
group
circuit
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.)
Granted
Application number
JP25836894A
Other languages
English (en)
Other versions
JP3645293B2 (ja
Inventor
Hiroshi Sasama
洋 笹間
Masato Yoneda
正人 米田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JFE Steel Corp
Original Assignee
Kawasaki Steel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP25836894A priority Critical patent/JP3645293B2/ja
Publication of JPH08124388A publication Critical patent/JPH08124388A/ja
Application granted granted Critical
Publication of JP3645293B2 publication Critical patent/JP3645293B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【目的】未登録データの登録を高速に行なうことのでき
る連想メモリを提供する。 【構成】検索を行なうと同時に検索データを格納し、後
から付随データのみを格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、各データをそれぞれ記
憶する複数のメモリワードを備えるとともに、各メモリ
ワードの記憶されたデータと入力された検索データとの
一致不一致を検索する機能を備えた連想メモリ(Ass
ociative Memory,内容アドレス式メモ
リ;Content Addressable Mem
ory)に関する。
【0002】
【従来の技術】近年、上記のような検索機能を備えた連
想メモリが提案されている。ここでは、先ず最初に、連
想メモリの構造、機能について説明し、次いで連想メモ
リの適用分野の例について説明する。図11は従来の連
想メモリの一例を表わした回路ブロック図である。
【0003】この連想メモリ10には、互いに図の横方
向に並ぶ複数のメモリセルからなるメモリワード11
a,11b,…,11nが多数備えられている。またこ
の連想メモリ10は、検索データが入力されラッチされ
る検索レジスタ12を備え、検索レジスタ12にラッチ
された検索データの全部もしくは所定の一部のビットパ
ターンと、各メモリワード11a,11b,…,11n
に記憶されたデータのうち、上記ビットパターンと対応
する部分のビットパターンとの一致不一致が比較され、
各メモリワード11a,11b,…,11nのそれぞれ
に対応して備えられた一致線14a,14b,…,14
nのうちビットパターンが一致したメモリワード11
a,11b,…,11nに対応する一致線14a,14
b,…,14nに論理‘1’の一致信号が出力され、そ
れ以外の一致線14a,14b,…,14nに論理
‘0’の不一致信号が出力される。
【0004】ここでは各フラグ線14a,14b,…,
14nにそれぞれ‘0’,‘1’,‘0’,‘0’,
‘1’,…,‘0’の信号が出力されたものとする。こ
の信号はプライオリティエンコーダ15に入力され、こ
のプライオリティエンコーダ15からは論理‘1’の一
致信号が出力された一致線(ここでは一致線14bと一
致線14eの2本)のうちの優先度の最も高い最優先一
致線に対応するアドレス信号ADが出力される。ここで
は、添字のアルファベットが若いほど優先順位が高いも
のとし、従ってここでは一致線14bが最優先一致線と
なる。このプライオリティエンコーダ15から出力され
た、最優先一致線14bに対応するアドレス信号AD
は、必要に応じて、アドレスデコーダ16に入力され
る。アドレスデコーダ16ではこの入力されたアドレス
信号ADをデコードして各メモリワード11a,11
b,…,11nのそれぞれに対応して備えられたワード
線17a,17b,…,17nのうちの入力されたアド
レス信号ADに対応するいずれか1本のワード線(ここ
ではワード線17b)にアクセス信号(ここでは論理
‘1’の信号)を出力する。これによりアクセス信号の
出力されたワード線17bに対応するメモリワード11
bに記憶されているデータが出力レジスタ18に読み出
される。
【0005】上記のように連想メモリ10は、検索デー
タを用いて多数のメモリワード11a,11b,…,1
1nに記憶された内容(データ)を検索し、一致するデ
ータが記憶されたメモリワードのアドレスを得てそのメ
モリワードに記憶されたデータ全体を読出すことができ
るメモリである。図12は、連想メモリ中の1つのメモ
リワードを表わした詳細回路図である。
【0006】このメモリワード11は、同一構成のn個
のメモリセル11−1,11−2,…,11−nから構
成されている。各メモリセル11−1,11−2,…,
11−nには、互いの出力が互いの入力に接続された、
第1インバータ20−1,20−2,…,20−nと第
2のインバータ21−1,21−2,…,21−nが備
えられており、これらのインバータ20−1,21−
1;20−2,21−2;…;20−n,21−nによ
り各メモリセル11−1,11−2,…,11−nに論
理‘1’もしくは論理‘0’の1ビットの情報が記憶さ
れる。
【0007】また各メモリセル11−1,11−2,
…,11−nにおいて、第1インバータ20−1,20
−2,…,20−nの出力はNチャンネルトランジスタ
22−1,22−2,…,22−nを介してビット線2
3−1,23−2,…,23−nと接続されており、こ
のトランジスタ22−1,22−2,…,22−nのゲ
ートはワード線24に接続されている。また第2のイン
バータ21−1,21−2,…,21−nの出力はNチ
ャンネルトランジスタ25−1,25−2,…,25−
nを介してビットバー線26−1,26−2,…,26
−nと接続されており、このトランジスタ25−1,2
5−2,…,25−nのゲートもワード線24に接続さ
れている。さらに各メモリセル11−1,11−2,
…,11−nは、ビット線23−1,23−2,…,2
3−nとビットバー線26−1,26−2,…,26−
nとの間をつなぐように互いにシリーズに接続された2
つのNチャンネルトランジスタ27−1,28−1;2
7−2,28−2;…;27−n,28−nが配置され
ており、これら各2つのトランジスタ27−1,28−
1;27−2,28−2;…;27−n,28−nのう
ちの一方のトランジスタ27−1,27−2,…,27
−nのゲートは第1のインバータ20−1,20−2,
…,20−nの出力、他方のトランジスタ28−1,2
8−2,…,28−nのゲートは第2のインバータ21
−1,21−2,…,21−nの出力と接続されてい
る。
【0008】また一致線14には、各メモリセル11−
1,11−2,…,11−nに対応して1つずつトラン
ジスタ36−1,36−2,…,36−nが備えられて
おり、それらのトランジスタ36−1,36−2,…,
36−nは互いにシリーズに接続され、それらのトラン
ジスタ36−1,36−2,…,36−nの各ゲート
は、各2つのトランジスタ27−1,28−1;27−
2,28−2;…;27−n,28−nの中点と接続さ
れている。
【0009】またこの一致線14にはもう1つのトラン
ジスタ36−0がシリーズに接続されており、一致線1
4の図12の左端はこのトランジスタ36−0を介して
接地されている。またこのトランジスタ36−0のゲー
トは制御線30に接続されている。一致線14の、図1
2の右端にはセンス用インバータ31が配置され、この
インバータ31の出力からは一致線14がさらに延び、
図11に示すプライオリティエンコーダ15に接続され
ている。
【0010】またこのインバータ31の入力と電源VDD
との間には2つのPチャンネルトランジスタ32,33
が配置されており、これら2つのトランジスタ32,3
3のうちの一方のトランジスタ32のゲートは制御線3
0と接続され、他方のトランジスタ33のゲートはイン
バータ31の出力と接続されている。このような構造の
メモリワード及びその周辺回路を備えた連想メモリにお
いて、一致検索は以下のようにして行なわれる。
【0011】メモリセル11−1には、論理‘1’の情
報が記憶されているものとする。即ちこの場合第1のイ
ンバータ20−1の出力側が論理‘1’、第2のインバ
ータ21−1の出力側が論理‘0’の状態にある。この
メモリセル11−1に対して論理‘1’の検索が行なわ
れるものとする。即ち、ビット線23−1が論理
‘1’、ビットバー線26−1が論理‘0’とされる。
ワード線24は論理‘0’のままの状態に保持されてい
る。この場合トランジスタ27−1のゲートには論理
‘1’の電圧が印加され、ビット線23−1の論理
‘1’の信号がトランジスタ36−1のゲートに印加さ
れ、これによりトランジスタ36−1が‘オン’状態と
なる。即ちメモリセル11−1に記憶されたビット情報
とビット線23−1、ビットバー線26−1を経由して
入力された検索データ中のビット情報が一致する場合
に、対応するトランジスタ36−1が‘オン’状態とな
る。
【0012】また、メモリセル11−2には論理‘0’
の情報が記憶されているものとする。この場合第1のイ
ンバータ20−2の出力側が論理‘0’、第2のインバ
ータ21−2の出力側が論理‘1’の状態にある。この
メモリセル11−2に対してやはり論理‘1’の検索が
行なわれるものとする。即ち、ビット線23−2が論理
‘1’、ビットバー線26−2が論理‘0’とされる。
この場合、トランジスタ28−2を経由して論理‘0’
の状態にあるビットバー線26−2の信号がトランジス
タ36−2のゲートに印加され、したがってこのトラン
ジスタ36−2は‘オフ’状態にととどまることにな
る。即ち不一致の場合、一致線14にプリチャージされ
ていた電荷はディスチャージされない。
【0013】また、マスクをかけたビットについては、
メモリセル11−nに示すように、ビット線23−n、
ビットバー線26−nの双方とも論理‘1’とされる。
この場合このメモリセル11−nに論理‘1’の情報が
記憶されているか論理‘0’の情報が記憶されているか
に応じてトランジスタ27−nもしくはトランジスタ2
8−5のいずれかが‘オン’状態となり、これによりい
ずれの場合もトランジスタ36−5が‘オン’状態にな
る。すなわちそのメモリセルについては、記憶された情
報と検索の情報とが一致しているものとみなされる。
【0014】検索にあたっては制御線30が先ず論理
‘0’となり、トランジスタ32が‘オン’状態となっ
てインバータ31の入力側の一致線14がプリチャージ
され、その後制御線30が論理‘1’となり、トランジ
スタ32が‘オフ’状態となってプリチャージが停止す
るとともにトランジスタ36−0が‘オン’状態とな
る。
【0015】このとき、メモリセルに記憶された情報と
入力された検索の情報がこのメモリワード11を構成す
る全てのメモリセルにわたって一致している(上述した
ようにマスクされたビットは一致とみなす)場合、トラ
ンジスタ36−1,36−2,…,36−nの全てが
‘オン’状態となり一致線14にプリチャージされた電
荷がディスチャージされ、インバータ31から論理
‘1’の信号が出力される。
【0016】尚、図12に示す連想メモリのメモリ構造
は一例に過ぎず、種々の構造のものが提案されている
(例えば特願平5−216424号参照)。
【0017】
【発明が解決しようとする課題】連想メモリを、検索が
必要とされる種々の用途に応用する場合、1つのメモリ
ワードに記憶されたデータのうちの一部の内容で検索
し、一致したメモリワードの別の部分のデータを出力さ
せたいということがよくある。このとき検索データと一
致するデータを記憶するメモリワードが存在しなかった
場合には、この検索データと、出力させたい部分に相当
する付随データを合わせて新たに登録したい場合があ
る。ところが、従来の連想メモリでは検索動作と登録す
なわち書き込み動作は全く別々に行われる。このため検
索の結果、不一致が検出された後、検索データと付随デ
ータを合わせてから連想メモリに書き込みを行わねばな
らず、一度検索のために与えた検索データを登録データ
の一部として再び与えねばならないといった非効率が生
じてしまう。
【0018】本発明は、上記事情に鑑み、検索の結果不
一致が検出され未登録であることが判明したデータの新
規登録を、効率的かつ高速に実現することができる連想
メモリを提供することを目的とする。
【0019】
【課題を解決するための手段】上記目的を達成する本発
明の第1の連想メモリは、各データをそれぞれ記憶する
メモリワードと、該メモリワードに対応して備えられ
た、入力された検索データの全部もしくは一部のビット
パターンと前記メモリワードに記憶されたデータのうち
前記ビットパターンと対応する全部もしくは一部のビッ
トパターンとの一致不一致を検出する一致検出回路とを
備えた連想メモリにおいて、前記一致検出回路のいずれ
からも、一致が検出されたことを示す一致信号が出力さ
れなかった場合に、前記メモリワードのうち検索の対象
とされる有効データが記憶されておらずしたがって上書
きが許容される空き状態にあるメモリワードの1つを選
択し、該選択されたメモリワードに、前記検索データを
記憶させる検索データ書き込み回路と、前記選択された
メモリワードの一部のビットをマスクすることにより、
マスクされていないビット位置を、前記検索データに関
連した付随データを書き込むための付随データ書き込み
領域として指定する付随データ書き込み領域指定回路
と、前記付随データ書き込み領域に、前記付随データを
記憶させる付随データ書き込み回路とを備えたことを特
徴とするものである。
【0020】ここで、上記本発明の第1の連想メモリ
は、前記メモリワードに対応して備えられた、該メモリ
ワードが、前記有効データが記憶された記憶状態にある
メモリワードであるか、あるいは前記空き状態にあるメ
モリワードであるかを示すフラグが記憶されるフラグレ
ジスタと、前記一致検出回路のいずれからも前記一致信
号が出力されなかった場合に、前記選択されたメモリワ
ードに対応する前記フラグレジスタに、前記記憶状態を
示すフラグを記憶させるフラグ変更回路とを備えたもの
であってもよい。
【0021】また、上記目的を達成する本発明の第2の
連想メモリは、複数の格納データの集合からなる1つの
データ群を構成する複数のデータを、各データ毎に記憶
する複数のメモリワードからなるメモリワード群を複数
備え、検索データが入力される毎に、入力された検索デ
ータの全部もしくは所定の一部のビットパターンと前記
メモリワードに記憶されたデータのうち前記ビットパタ
ーンと対応する全部もしくは一部のビットパターンとの
一致比較を行い、1回もしくは複数回からなる一致検索
全てにおいて入力された検索データの全部もしくは各所
定の一部のビットパターンと同一の前記メモリワード群
内に記憶されたデータのうち前記ビットパターンと対応
する全部もしくは一部との一致が検出されたことをもっ
て、前記所定回数入力された検索データに対応するデー
タ群の存在を検出する連想メモリにおいて、前記メモリ
ワード群それぞれに対応して備えられた、対応するメモ
リワード群が、検索の対象とされる有効データ群が記憶
された記憶状態にあるメモリワード群であるか、あるい
は前記有効データ群が記憶されておらず、したがって上
書きが許容される空き状態にあるメモリワード群である
かを示すフラグが記憶されるフラグレジスタと、前記所
定回数の一致検索の間、1回の検索毎に、入力された検
索データを、前記空き状態にあるメモリワード群の中か
ら選択されたメモリワード群内のいずれかのメモリワー
ドに書き込む検索データ書き込み回路と、前記検索デー
タが書き込まれた前記空き状態のメモリワード群内のい
ずれかのメモリワードを指定するメモリワード指定回路
と、前記所定回数の一致検索の結果、該所定回数入力さ
れた検索データに対応するデータ群が検出されなかった
場合に、前記メモリワード指定回路によって指定された
メモリワードに、前記検索データに関連した付随データ
を書き込む付随データ書き込み回路と、前記所定回数の
一致検索の結果、該所定回数入力された検索データに対
応するデータ群が検出されなかった場合に、前記選択さ
れたメモリワード群に対応する前記フラグレジスタに、
前記記憶状態を示すフラグを記憶させるフラグ変更回路
とを備えたことを特徴とするものである。
【0022】ここで、上記本発明の第2の連想メモリ
は、前記メモリワード指定回路によって指定されたメモ
リワードの一部のビットをマスクすることにより、マス
クされていないビット位置を、前記検索データに関連し
た付随データを書き込むための付随データ書き込み領域
として指定する付随データ書き込み領域指定回路を備
え、前記付随データ書き込み回路が、前記付随データ書
き込み領域に、前記付随データを記憶させるものであっ
てもよい。
【0023】あるいは、上記本発明の第2の連想メモリ
において、上記メモリワード指定回路は、前記検索デー
タが書き込まれた前記空き状態のメモリワード群を指定
するメモリワード群指定回路と、前記メモリワード群指
定回路によって指定されたメモリワード群内でのメモリ
ワードの位置を相対的に指定するメモリワード群内メモ
リワード位置指定回路とを備えることが好ましい。
【0024】また、本発明の第3の連想メモりは、複数
の格納データの集合からなる1つのデータ群を構成する
複数のデータを、各データ毎に記憶する複数のメモリワ
ードからなるメモリワード群を複数備え、入力された検
索データ群の全部もしくは一部のビットパターンと前記
メモリワード群に記憶された群のうち前記ビットパター
ンと対応する全部もしくは一部のビットパターンとの一
致不一致を検出する連想メモリにおいて、前記メモリワ
ード群の1つを指定するメモリワード群指定回路と、前
記メモリワード群指定回路によって指定されたメモリワ
ード群内でのメモリワードの位置を相対的に指定するメ
モリワード群内メモリワード位置指定回路と、前記指定
されたメモリワード位置に対応するメモリワードに対し
て、データの書き込み、読み出しを行うメモリワード書
き込み読み出し回路とを備えたことを特徴とする。
【0025】
【作用】上記本発明の第1の連想メモリは、検索によっ
て一致検出が行われなかったことを受けて検索データを
そのまま格納してしまうものであるため、従来のよう
に、一致が検出されなかったので新たにデータを登録す
る場合、残りの付随データの部分だけを書き込めばよ
く、処理の効率が向上する。
【0026】ここで、特公昭61−31558号公報
に、本発明と関連した技術が提案されているため、そこ
に提案された技術と本発明との相違を説明する。連想メ
モリを構成する多数のメモリワードは、常に全てのメモ
リワードに検索の対象となるデータが記憶されている訳
ではなく、それらのメモリワードの一部は有効なデータ
が記憶されていない空きの状態にあったり、その空きの
状態にあるメモリワードに新たに有効データを書き込ん
だりすることがある。この場合、このメモリワードが空
きの状態にあるか否かを外部で管理しておくのは煩雑で
あることから、上記の文献には、各メモリワードに対応
してそのメモリワードに有効なデータが記憶されている
かそれともそのメモリワードが空きの状態にあるかを示
すフラグを各メモリワードに対応させて記憶しておき、
新たな有効データを書き込む場合に連想メモリ自体で空
きの状態にあるメモリワードを見つけてそのメモリワー
ドに有効データを書き込むという技術が提案されてい
る。
【0027】そこに提案された技術は、空き状態にある
メモリワードを外部で管理する必要をなくすためのもの
であって、未登録のデータの登録においては、やはり、
検索動作の後、再び検索データをメモリワードへ与える
必要がある。この点において、上記の提案された技術と
比べ、本発明は大きく異なる。本発明の第2の連想メモ
リは、データ群を記憶しておくメモリワード群を有し、
検索データを入力して検索を行うという動作を所定回数
行って対応するデータ群の存在を検出する連想メモリに
関するものである。
【0028】このような連想メモリにおいて、例えば9
0個の検索対象データと10個の出力対象データ(付随
データ)との合わせて100個のデータからなるデータ
群を格納しておいて、検索データを入力して検索を行う
という動作を90回繰り返して所望のデータ群の存在を
検出し、所望のデータ群の付随データを10回出力する
場合を考える。このとき、所望のデータ群が存在しなか
ったので新たにデータ群を登録する場合、従来の連想メ
モリを用いると、検索の後、100回データを書き込ん
ではじめて新たな有効データ群が登録されることにな
る。
【0029】これに比較し、本発明の第2の連想メモリ
では、1回の検索毎に、検索データが、空き状態にある
メモリワード群に書き込まれるため、90回の検索を行
った結果、所望のデータ群が存在しなかった場合、検索
データは既に書き込まれているため、付随データのみを
10回書き込むだけでデータ群の登録が行える。このた
めデータ書き込みの手間が大幅に低減され処理の高速化
が図られることになる。
【0030】また、本発明の第3の連想メモリは、特定
のメモリワードを、メモリワード群のアドレスとそのメ
モリワード群内の相対アドレスとに分けて指定するもの
であるため、群構造をなすデータを取扱う場合に、各メ
モリワードの絶対アドレスを管理しておいてその絶対ア
ドレスを指定するという煩雑な処理が回避される。
【0031】
【実施例】以下、本発明の実施例について説明する。図
1は、本発明の第1の連想メモリの一実施例の特徴部分
を示す回路図である。前述した従来例で参照した図面に
おける構成要素に対応する構成要素には、それらの図面
に付した番号と同一の番号を付して示す。
【0032】この図1では、メモリワード11や一致線
14の構成は略示されている。各メモリワード11に対
応して各フラグレジスタ51が備えられており、このフ
ラグレジスタ51には、対応するメモリワード11に、
検索の対象となる有効ワードが記憶されている場合に’
0’、検索の対象から除外され、したがって上書きを許
容する無効のデータが記憶されている場合(ここではこ
れを、対応するメモリワード11が「空き状態」に有
る、と称する)に’1’の空きフラグが記憶される。こ
こでは、各フラグレジスタ51には、図示のように、’
0’,’0’,…,’1’が格納されているものとす
る。各フラグレジスタ51のQ出力は、対応して備えら
れた各複数選択分離回路52に入力される。この選択分
離回路52は互いに直列的に接続されており、その接続
により、この図の上方ほど優先度が高くなっており、’
1’が格納されたフラグレジスタ51のうち、優先度の
最も高いフラグレジスタ51に対応する複数選択分離回
路52のみから信号’1’が出力される。ここでは、図
1の一番下に図示されたフラグレジスタ51が最も優先
度が高く、したがってそれに対応する一番下に図示され
た複数選択分離回路52から’1’が出力されているも
のとする。
【0033】図2は、複数選択分離回路52の回路例を
示した図である。図2(A)に示す複数選択分離回路5
2は、図示のように接続された、一方の入力が反転され
るアンドゲート521と、オアゲート522から構成さ
れている。また、図示の一番上の複数選択分離回路52
を構成するオアゲート522の一方の入力はグラウンド
GNDに接地されている。
【0034】この構成の複数選択分離回路52では図示
の上方ほど高い優先度を有しており、複数のフラグレジ
スタ51に空きフラグ‘1’が格納されている場合に、
それら複数のフラグレジスタ51のうち最も高い優先度
を有するフラグレジスタ51に対応する複数選択分離回
路52のアンドゲート521から‘1’が出力される。
【0035】また、図2(B)に示す複数選択分離回路
52’は、図示のようにインバータ523、Nチャンネ
ルトランジスタ524,Pチャンネルトランジスタ52
6、排他論理和(エクスクルーシブオア)ゲート525
から構成されている。また各複数選択分離回路52’を
構成するPチャンネルトランジスタ526の一端は電源
DDに接続され、図示の一番上の複数選択分離回路5
2’を構成する排他論理和ゲート525の一方の入力は
グラウンドGNDに接地されている。
【0036】この図2(B)に示す複数選択分離回路5
2’も、図2(A)に示す複数選択分離回路52と同様
に、図示の上方ほど高い優先度を有しており、複数のフ
ラグレジスタ51に空きフラグ‘1’が格納されている
場合に、それら複数のフラグレジスタ51のうち最も高
い優先度を有するフラグレジスタ51に対応する複数選
択分離回路52’の排他論理和ゲート525から‘1’
が出力される。
【0037】尚、この図2(A)もしくは図2(B)に
示す複数選択分離回路の後段にエンコーダを接続すれ
ば、図11に示すプライオリティエンコーダ15が構成
される。上記のようにして、図1の1番下に図示された
フラグレジスタ51が、空きフラグ‘1’が格納された
第2のフラグレジスタ51の中の最優先のものであった
場合、それに対応する複数選択分離回路52から‘1’
が出力され、対応するアンドゲート67に入力される。
またこのアンドゲート67の入力にはワード線活性化タ
イミング信号線68も接続されている。
【0038】ここで、ビット線ドライブ回路70により
ビット線23−1,…,23−n、およびビットバー線
26−1,…,26−nに検索データをのせて検索を行
なう。その結果、その検索データと図示の最上段のメモ
リワード11に記憶されたデータとが一致したものとす
ると、最上段の一致線14が’1’となり、フラグレジ
スタ51の出力は’0’であるためアンドゲート53の
出力が’1’となる。ここではアンドゲート53の出力
から延びる線も一致線140と称する。全てのメモリワ
ード11に対応する一致線140は全体一致検出回路7
1に延び、さらに、さらにその一致線140は、従来の
場合の一致線14に代わり、図11に示すプライオリテ
ィエンコーダ15に延びている。フラグレジスタ51に
空きフラグ’1’が格納されている場合は、そのフラグ
レジスタ51に対応するメモリワード11で一致が生じ
ても、一致線14の’1’信号はアンドゲート53でス
トップされ、そのアンドゲート53の出力側の一致線1
40は’0’のままにとどまる。すなわち、そのメモリ
ワード11は検索には寄与しないことになる。
【0039】全体一致検出回路71では、各一致線14
0から入力された信号のオア演算を行い、これにより、
1つでも一致があったか、もしくは全てのメモリワード
11にわたって不一致であったかが検出され、追記制御
回路72に入力される。追記制御回路72では、先ず、
いずれかのメモリワード11で一致が生じたか否かには
かかわりなく、ビット線23−1,…,23−n、ビッ
トバー線26−1,…,26−nに 検索データをのせ
て検索しているときに、ワード線活性化タイミング信号
線68に信号’1’をのせる。すると、’1’の信号を
出力している、図示の1番下の複数選択分離回路52に
対応するアンドゲート67の出力が’1’となり、対応
するワード線24が’1’となって、図示の1番下のメ
モリワード11に検索データが書き込まれる。この検索
データが書き込まれるタイミングは、検索と同時であ
り、したがってその検索において一致が生じたか否かと
は無関係である。
【0040】図3は、ビット線ドライブ回路70の1ビ
ット分の回路例を示した図である。ここに示す部分回路
70_1には、ビット、ビットバーのペアに対応して配
置された2つのORゲート93_1,94_1が備えら
れており、これら2つのORゲート93_1,94_1
には、検索マスクデータ線98_1および書き込みマス
クデータ線99_1が共通に接続されている。また、O
Rゲート93_1にはビットデータ線97_1が直接接
続され、ビットデータ線97_1に印加されたデータが
そのままORゲート93_1に入力される。一方、OR
ゲート94_1には、インバータ95_1を介して、ビ
ットデータ線97_1に印加されたデータが反転されて
入力される。2つのORゲート93_1、94_1の出
力はそれぞれビット線ドライバ91_1、92_1に入
力され、ビット線ドライバ信号線96に論理“1”パル
スが与えられたときに、ORゲート93_1、94_1
の出力が、ビット線ドライバ91_1、92_1を介し
てビット線23_1およびビットバー線26_1に与え
られる。
【0041】検索を行う場合に、検索の対象としないビ
ットすなわちマスクするビットに対して、検索マスクデ
ータ線98_1に論理“1”の信号を与えたうえで、ビ
ット線ドライブ信号線96に論理“1”のパルスを与え
ると、ビット線23、ビットバー線26がともに論理
“1”となり、対応するビットに対するマスク検索が実
現される。このとき、図1の1番下のメモリワード11
のマスク検索されたビットには書き込みは行われない。
【0042】以上のようなビット線ドライブ回路70の
動作によって、検索と同時に、検索データが図1の一番
下のメモリワード11に書き込まれる。その後、上述の
ように、全体一致検出回路71においていずれかのメモ
リワード11で一致が生じたか、あるいは全てのメモリ
ワード11にわたって不一致であったかが検出されて追
記制御回路72に入力される。追記制御回路72ではい
ずれかのメモリワード11で一致が生じていたときはそ
の後は何も行なわない。すなわち、図示の一番下のメモ
リワード11には検索データが上書きされたものの、そ
れに対応するフラグレジスタ51には依然として空きフ
ラグ’1’が格納されており、一番下のメモリワード1
1は依然として検索に寄与しない空き状態にとどまるこ
とになる。
【0043】一方、検索の対象となるビットすなわちマ
スクしないビットに対しては、検索マスクデータ線98
_1に論理“0”の信号を与え、ビットデータ線97_
1に検索データをのせたうえで、ビット線ドライブ信号
線96に論理“1”のパルスを与える。こうすることに
よって、ビット線に検索データ、ビットバー線に検索デ
ータを反転したデータが与えられ、マスクしない検索が
行われるとともに、図1の1番下のメモリワード11の
当該ビットに書き込みが行われる。
【0044】一方、全体一致検出回路71において全て
のメモリワード11にわたって不一致であったこと、す
なわちデータの未登録が検出され、データを登録する場
合は以下のような動作になる。検索のときと同様に、図
1の1番下のメモリワード11に対応するワード線24
を活性化し、データの書き込みを行う。このときビット
線ドライブ回路70において、検索時にマスクされず検
索データが書き込まれたビットに対しては、図3に示す
書き込みマスクデータ線99_1に論理“1”の信号を
与え、付随データを書き込みたいビットに対しては、そ
の書き込みマスクデータ線99_1に論理“0”の信号
を与える。さらにビットデータ線97_1に付随データ
をのせたうえで、ビット線ドライブ信号線96に論理
“1”のパルスを与えることによって、検索時に書き込
まれた検索データを保持したまま、付随データのみを書
き込むことができる。
【0045】また、このとき追記制御回路72は、フラ
グレジスタ51に接続された空きフラグデータ線66に
論理’0’の信号を与え、その状態で空きフラグクロッ
ク信号線65に’1’のクロックパルスを与える。する
と図1の1番下のメモリワード11のワード線24は’
1’となっており、その’1’の信号が信号線60を経
由して一番下のアンドゲート61に入力されているた
め、空きフラグクロック信号線65に与えられたクロッ
クパルスはそのアンドゲート61を通過し、一番下のフ
ラグレジスタ51に入力される。これにより、一番下の
フラグレジスタ51に対応するメモリワード11に検索
の対象となる有効なデータが格納されていることを表
す’0’が格納される。
【0046】複数選択分離回路52では、図示の1番下
のフラグレジスタ51に’0’が格納されたことに伴
い、そのフラグレジスタ51以外の、空きフラグ’1’
が格納されているフラグレジスタ51中から最も優先度
の高いものが検出されることになる。なお、上記の説明
においては、検索データが書き込まれたビット以外のビ
ットに対してのみ付随データが書き込まれることになる
が、検索マスクデータ線98_1と書き込みマスクデー
タ線99_1の信号を適切に制御することによって、多
様なデータ登録の方法が実現できることは言うまでもな
い。
【0047】次に、本発明の第2の連想メモリの実施例
について説明するが、本発明の第2の連想メモリの思想
が好適に適用される、データ群を格納しておいてデータ
群の検索を行なう連想メモリ自体が未だ公知ではないた
め(特願平5−248121号参照)、ここでは先ずそ
のベースとなる連想メモリ自体について説明し、次い
で、本発明の第2の連想メモリの実施例について説明す
る。
【0048】図4は、群構造を成すデータの一例を示し
た図である。この図4には、それぞれ属性I,II,I
II,IVが付された4つのデータがセットとなって1
つのデータ群を構成しているデータ構造が示されてい
る。データ群および属性の概念を明確にするために一例
を挙げると、例えば各群番号1,2,3,4,…毎の各
データ群は各個人に属するデータであり、属性Iはその
人の氏名,属性IIはその人の生年月日、属性IIIは
住所、……等を示している。
【0049】このように各属性I,II,III,IV
が付された複数のデータからなるデータ群を連想メモリ
に格納しておいて検索を行う場合に、例えば群番号1の
データを検索する場合を例に説明すると、データ‘A’
の検索とデータ‘B’の検索をこの順に行って一致する
データ群の残りのデータ‘C’,‘D’を読み出すこと
だけではなく、例えばデータ‘A’の検索とデータ
‘D’の検索を行って残りのデータ‘B’,‘C’を読
み出したい場合や、データ‘B’の検索を先に行い、次
にデータ‘A’の検索を行いたい場合があり、それら多
様な検索を行なうことのできる連想メモリが考えられて
いる。
【0050】尚、ここでは、後の説明の都合上、群番号
nとn+1は、有効なデータ群が記録されていない空き
状態にあるものとする。図5は、図4に示すような群構
造のデータを取り扱うのに好適な連想メモリの一例を示
すブロック図である。各メモリワード11_1,11_
2,…から延びる各一致線14_1,14_2,…,
は、各アンドゲート20_1,20_2,…の一方の入
力端子に接続されている。また各アンドゲート20_
1,20_2,…の他方の入力端子には各オアゲート2
1_2,21_3,…の出力端子が接続されており、各
オアゲート21_2,21_3,…の一方の入力端子
は、初回検索制御線22に接続されている。
【0051】各アンドゲート20_1,20_2,…の
出力端子は各第1のフラグレジスタ23_1,23_
2,…のデータ入力端子に接続され、各第1のフラグレ
ジスタ23_1,23_2,…の出力端子は各第2のフ
ラグレジスタ24_1,24_2,…の入力端子に接続
されている。各第2のフラグレジスタ24_1,24_
2,…の出力端子は、図11に示すプライオリティエン
コーダ15(図5では図示省略)に接続されるととも
に、各第1のスイッチ33_1,33_2,…を介し
て、図4に示す各データ群を格納する各メモリワード群
毎に備えられたデータ線32_1,32_2,…に接続
されている。
【0052】第1のフラグレジスタ23_1,23_
2,…と第2のフラグレジスタ24_1,24_2,…
には、ともに、一致結果ラッチ制御線25に出力される
一致結果ラッチ信号S1が入力され、その一致結果ラッ
チ信号S1により、各データ入力端子から入力された入
力データがラッチされるが、第1のフラグレジスタ23
_1,23_2,…には、一致結果ラッチ信号S1の立
ち上がりaの時点における入力データがラッチされ、第
2のフラグレジスタ24_1,24_2,…には、一致
結果ラッチ信号S1の立ち下がりbの時点−の入力デー
タがラッチされる。
【0053】各メモリワード11_1,11_2,…
は、属性を格納する属性格納部11_1_1,11_2
_1,…とデータを格納するデータ格納部11_1_
2,11_2_2,…とで構成されており、各メモリワ
ード11_1,11_2,…には、互いに対応する属性
とデータとのペアからなる格納データがそれぞれ格納さ
れている。ここでは、図示のように、各メモリワード1
1_1,11_2,11_3,11_4には、それぞ
れ、図4に示す群番号1に属する、属性I,データ
‘A’、属性II,データ‘B’、属性III,データ
‘C’、属性IV,データ‘D’が格納されている。ま
た各メモリワード11_5,11_6,…には、それぞ
れ、図4に示す群番号2に属する、属性I,データ
‘C’、属性II,データ‘F’、……が格納されてい
る。また検索にあたっては、属性とデータとのペアから
なる参照データREF_DATAが入力される。
【0054】各メモリワード11_1,11_2には、
そこに記憶された格納データ(属性及びデータの双方)
が、入力された参照データ(属性及びデータの双方)と
一致しているときに一致信号が出力される従来の一致線
14_1,14_2,…のほか、属性のみの一致不一致
の信号が出力される属性一致線30_1,30_2,…
が備えられている。尚、属性のみの一致も、属性及びデ
ータの双方の一致も、従来の一致検出回路と同様に構成
され、従来の一致検出回路は連想メモリの分野において
極めて一般的な技術であるため、ここでの図示および説
明は省略する。
【0055】各メモリワード11_1,11_2に対応
して第3のフラグレジスタ31_1,31_2,…が備
えられており、各属性一致線30_1,30_2,…は
対応する第3のフラグレジスタ31_1,31_2,…
のデータ入力端子に延びている。また、この実施例の連
想メモリには、前述したように図4に示す各データ群に
属する各データが格納されたメモリワードからなるメモ
リワード群それぞれについて1本ずつデータ線32_
1,32_2,…が備えられており、またデータ線32
_1,32_2,…と各第2のフラグレジスタ31_
1,31_2,…の出力端子との間には各第1のスイッ
チ33_1,33_2,…が備えられている。これらの
第1のスイッチ33_1,33_2,…は具体的にはト
ランジスタ等を用いて構成される。後述する他のスイッ
チについても同様である。各第1のスイッチ33_1,
33_2,…は、対応する各第3のフラグレジスタ31
_1,31_2,…に論理‘1’の信号がラッチされて
いるときに導通され、論理‘0’の信号がラッチされて
いるときには遮断される。各第3のフラグレジスタ31
_1,31_2,…は、一致結果ラッチ制御線25に出
力される一致結果ラッチ信号S1の立ち下がりbのタイ
ミングで、対応する属性一致線30_1,30_2,…
の信号をラッチする。
【0056】またデータ線32_1,32_2,…と各
オアゲート21_1,21_2,…の入力端子との間に
各第2のスイッチ34_1,34_2,…が備えられて
おり、これら各第2のスイッチ34_1,34_2,…
は、対応する属性一致線30_1,30_2,…の信号
により、その信号が一致を表わす論理‘1’のときに導
通状態、不一致を表わす論理‘0’の時に遮断状態とな
るように制御される。
【0057】以上のように構成された連想メモリにおい
て、一致検索は以下のようにして行われる。各検索デー
タを単独で検索する際は、参照データREF_DATA
を入力して検索を行う際に、初回検索制御線22に初回
検索タイミング信号S2を出力する。ここでは、参照デ
ータREF_DATAとして属性IIおよびデータ
‘B’を入力したものとすると、属性IIおよびデータ
‘B’が格納されたワードメモリ11_2に対応する一
致線14_2に論理‘1’の一致信号が出力されてアン
ドゲート20_2に入力され、また、これとともに初回
検索タイミング信号S2がオアゲート21_2を経由し
てアンドゲート20_2に入力されるため、アンドゲー
ト20_2から論理‘1’の信号が出力される。またこ
のとき、他の一致線14_1;14_3,14_4,…
には論理‘0’の信号が出力されるため、それに対応す
る他のアンドゲート20_1;20_3,20_4,…
からは論理‘0’の信号が出力される。
【0058】アンドゲート20_2から出力された論理
‘1’の信号は、一致結果ラッチ制御線25に出力され
た一致結果ラッチ信号S1の立ち上がりaのタイミング
で第1のフラグレジスタ23_2にラッチされ、それに
引き続くの一致結果ラッチ信号S1の立ち下がりbのタ
イミングで第2のフラグレジスタ24_2にラッチされ
る。
【0059】また第1のフラグレジスタ23_2および
第2のフラグレジスタ24_2に論理‘1’の信号がラ
ッチされる各タイミングで、他の第1フラグレジスタ2
3_1;23_3,23_4,…、および他の第2のフ
ラグレジスタ24_1;24_3,;24_4,…には
論理‘0’の信号がラッチされる。このようにして各第
2のフラグレジスタ24_1,24_2,24_3,…
にラッチされた論理‘0’,‘1’,‘0’,…の信号
が図9に示すプライオリティエンコーダ15に入力さ
れ、ワードメモリ11_2のアドレス信号ADが得られ
る。
【0060】次に複数回の連続したデータ検索を行なう
場合について説明する。複数回の連続した検索を行う場
合における第1回目の検索については、上述の単独のデ
ータ検索の動作と同じであるが、この第1回目のデータ
検索では、上記の動作に加えて、第2回目のデータ検索
の準備として、以下の動作が行なわれる。上記の第1回
目のデータ検索の際、属性の一致を受けてメモリワード
11_2に対応する属性一致線30_2に論理‘1’の
信号が出力され、これにより、対応する第3のフラグレ
ジスタ31_2にも論理‘1’の信号がラッチされ、対
応する第1のスイッチ33_2がオンし、対応する第2
のフラグレジスタ24_2に格納された、属性及びデー
タ双方の一致を表わす論理‘1’の信号がデータ線32
_1に出力される。またこれとともに、対応する第2の
スイッチ34_2もオンするが、第1回目の検索におい
てはこれは無用の動作である。
【0061】次に、属性IVとデータ‘D’からなる参
照データREF_DATAを入力して検索を行うものと
する。このときは、初回検索制御線22は論理‘0’に
保持されている。このとき、属性の一致を受けてメモリ
ワード11_4に対応する属性一致線30_4に論理
‘1’の信号が出力され、これにより対応する第2のス
イッチ34_4がオンし、データ線32_1に出力され
ていた、メモリワード11_2に対応する第2のフラグ
レジスタ24_2の論理‘1’の信号がオアゲート21
_4を経由してアンドゲート20_4に入力される。こ
のため、メモリワード11_4で属性IVとデータ
‘D’の双方の一致が検出されて一致線14_4に論理
‘1’の一致信号が出力されると、一致結果ラッチ制御
線25に出力される一致結果ラッチ信号S1により、対
応する第1および第2のフラグレジスタ23_4,24
_4に論理‘1’の信号がラッチされる。またこのと
き、属性一致線30_4に出力された論理‘1’の信号
が、対応する第3のフラグレジスタ31_4にラッチさ
れ、対応する第1のスイッチ33_4がオンし、第2の
フラグレジスタ24_4の論理‘1’の信号がデータ線
32_1に出力される。またこの2回目の検索では、メ
モリワード11_2に対応する属性一致線30_2には
属性の不一致を表わす論理‘0が出力されるため、対応
する第3のフラグレジスタ31_2には‘0’が格納さ
れ、メモリワード11_2に対応する第1のスイッチ3
3_2はオフする。
【0062】これにより、メモリワード11_4に対応
する第2のフラグレジスタ24_4の論理‘1’の信号
がプライオリティエンコーダ15(図11参照)に入力
され、メモリワード11_4のアドレスが得られること
になるが、メモリワード11_4には属性IVが格納さ
れていることは予め分かっており、同一群内の、例えば
属性IIIのデータを読み出したいときは、得られたア
ドレスから1を引いてメモリワード11_3のアドレス
を求め、そのアドレスをアドレスデコーダ16に入力し
てメモリワード11_3の内容を読み出せばよい。
尚、2回目の検索時に、属性IVとデータ‘D’とから
なる参照データに代わり、例えば属性IVとデータ
‘B’とからなる参照データで検索が行われた場合、メ
モリワード11_4については、属性は一致するため第
2のスイッチ34_4がオンし、データ線32_1に出
力されている論理‘1’の信号が取り込まれるが、デー
タが異なるため一致線14_4には不一致を表わす論理
‘0’が出力され、第1及び第2のフラグレジスタ23
_4,24_4には一致が検出されなかったことを示す
論理‘0’がラッチされる。また、データ‘B’が一致
するメモリワード11_2については属性が一致せず、
したがって属性及びデータの双方も一致しない。
【0063】以上のようにして、図5に示す実施例で
は、同一の群内においては、互いに離れたメモリワード
に記憶されたデータであっても、もしくはデータの順序
を逆にして検索した場合であっても、検索を行うことが
できる。ここで、上記実施例におけるデータ線32_
1,32_2,…,は、1つの群に属するデータの数が
予め定まっているものとしてその長さが固定されたもの
であるが、このように固定長のデータ線を備えると、1
つの群に属するデータの数の最大を見積もり、最大のデ
ータ数に対応した長さのデータ線を備える必要がある。
これではその最大よりも少ない数のデータによりデータ
群が構成される場合に無駄なメモリワードが発生するこ
とになる。そこで、1つの群に属するデータの数に合せ
てデータ線を可変長とすることが好ましい。
【0064】図6は、可変長のデータ線を実現する一つ
の方式を示した模式図である。データ線32が複数のメ
モリワード11_1,11_2,11_3,…に亘って
延び、そのデータ線32には、最上端のメモリワード1
1_1を除く他のメモリワード11_2,11_3,…
それぞれに対応する各スイッチ40_2,40_3,4
0_4,…が互いにシリーズに配置されている。これら
の各スイッチ40_2,40_3,40_4,…は、対
応するメモリワード11_2,11_3,11_4,…
と、その直ぐ上段に隣接するメモリワード11_1;1
1_2,11_3,…との間に配置されている。それら
のスイッチ40_2,40_3,40_4,…のうちの
1つおきのスイッチ40_2,40_4,40_6,…
は第1制御線41に出力される第1のスイッチ制御信号
によりオンし、3つおきのスイッチ40_3,40_
7,…は第2制御線42に出力される第2のスイッチ制
御信号によりオンし、残りのスイッチのうち7つおきの
スイッチ40_5,…は第3制御線43に出力される第
3のスイッチ制御信号によりオンされる。
【0065】1つのデータ群を構成するデータの数が2
の場合は、第1制御線41に第1のスイッチ制御信号を
出力することにより1つおきのスイッチ40_2,40
_4,40_6,…をオンさせる。これにより各2つの
メモリワード11_1;11_2;11_3,11_
4;11_5,11_6;…毎に切断されたデータ線が
形成される。また、1つのデータ群を構成するデータの
数が4の場合は、第1制御線41に第1のスイッチ制御
信号を出力するとともに第2制御線42に第2のスイッ
チ制御信号を出力する。すると、各4つのメモリワード
11_1,11_2;11_3,11_4;11_5,
11_6,…毎に切断されたデータ線が形成される。同
様にして、1つのデータ群を構成するデータの数が8の
場合は、第1制御線41、第2制御線42にそれぞれ第
1および第2のスイッチ制御信号を出力するとともに、
第3制御線43に第3のスイッチ制御信号を出力する。
これにより各8つのメモリワード11_1,…,11_
8;11_9…毎に切断されたデータ線が形成される。
【0066】この方式によれば、1つのデータ群を構成
するデータの数が2の倍数の場合はメモリワードに空き
は生じないが、2の倍数以外の、例えば3,5,9等の
場合空きのメモリワードが生じてしまうことになる。こ
の空きのメモリワードが生じないように多数のスイッチ
40_2,40_3,…を任意にオン,オフできるよう
に構成すると、制御線の本数が多数本となり、またそれ
らの制御線にスイッチ制御信号を出力する制御回路が複
雑となる。したがって、図6に示す方式は、データ線の
長さを任意に制御するには不向きである。
【0067】図7は、可変のデータ線を実現するもう一
つの方式を示した模式図である。多数のメモリワードに
亘ってデータ線32が延び、そのデータ線32に互いに
シリーズに接続された、最上端のメモリワードを除く他
のメモリワードそれぞれに対応する各スイッチ40_
2,40_3,40_4,…が備えられている点は図6
の場合と同じである。各メモリワードには、各属性格納
部11_1_1,11_2_1,11_3_1,…が備
えられており、それら属性格納部11_1_1,11_
2_1,11_3_1,…には、図示の各属性I,I
I,III,IVがそれぞれ格納されている。この例
は、属性格納部11_1_1,11_2_1,11_3
_1,…に格納された属性が属性Iかそれ以外の属性I
I,III,IVかに応じて、属性Iの場合は対応する
スイッチをオフのままとし、それ以外の属性II,II
I,IVの場合は対応するスイッチをオンするように構
成したものである。このように構成すると、1つのデー
タ群を構成するデータの数がいくつであっても、また、
データ数の異なるデータ群が混在していても、各データ
群の先頭に属性Iのデータを配置することにより、自動
的に過不足ない数のメモリワード毎に切断されたデータ
線が形成されることになる。
【0068】図8は、属性がIかそれ以外かを判定する
属性判定回路の一例を示す回路図である。ここでは属性
Iに‘000’が割り当てられており、属性格納部11
_i_1に格納された属性が属性I(‘000’)の場
合オアゲートから‘0’が出力され、したがってトラン
ジスタ40で構成されたスイッチ40’はオフ状態とな
り、そのトランジスタ40’の両側のデータ線が電気的
に切断される。属性格納部11_i_1に格納された属
性が属性I以外の属性の場合はオアゲートから‘1’が
出力され、トランジスタ40はオン状態となり、そのト
ランジスタの両側のデータ線が接続される。
【0069】このように、図5に示す連想メモリにおい
て、1つのデータ群を構成するデータの数に応じてデー
タ線32_1,32_2,…の長さを調整することもで
きる。もちろん、属性データを利用するのではなく、専
用の制御線によってスイッチを制御することによりデー
タ線の長さを調整してもよい。次に、図5に示す連想メ
モリに本発明の技術思想を適用した、本発明の第2の連
想メモリの一実施例について説明する。
【0070】図9は、本発明の第2の連想メモリの一実
施例の特徴部分を示す回路図である。図1に示す本発明
の第1の連想メモリの各構成要素に対応する構成要素に
は、図1に付した番号と対応する番号を付して示し、相
違点を中心に説明する。この図9には、図4に示すデー
タ群のうち、群番号nのデータ群を格納するメモリワー
ド群、すなわち、空き状態にあるメモリワード群のう
ち、最優先のメモリワード群が示されている。
【0071】この図9に示す連想メモリには、図1に示
す連想メモリと同様に、各メモリワード…,11
n,11 n,…,11 n+1,…に対応し
てフラグレジスタ…,51 n,51 n,
…,51 n+1,…が備えられている。これらの
フラグレジスタ…,51 n,51 n,…,
51 n+1,…は、後述するようにして、各メモ
リワード群毎に一括して制御されるが、有効なフラグレ
ジスタは、各メモリワード群毎の先頭のフラグレジスタ
である。
【0072】また、各メモリワード…,11 n,
11 n,…,11 n+1,…は、属性を格
納する属性格納部…,11 n,11
n,…,11 n+1,…と、データを格納
するデータ格納部…,11 n,11
n,…,11 n+1,…とで構成されてい
る。ただし、図9では、図示の都合上、属性格納部11
n,11 n,…,11
+1,…とデータ格納部11 n,11
n,…,11 n+1,…は互いに離れた
位置に図示されている。
【0073】ここでは、群番号n、群番号n+1に対応
する各メモリワード群は空き状態にあり、したがってそ
れらのメモリワード群に対応するフラグレジスタ51
n,51 n,51 n,51 n,5
n+1,…には、空き状態を示す論理‘1’の
フラグが格納されている。第1のトランジスタ…,81
n,81 n,…,81 n+1,…は
対応する属性格納部…,11 n,11
n,…,11 n+1,…から延びる制御線
によりそのオン/オフが制御されるトランジスタであ
り、属性Iが格納された属性格納部…,11
n,11 n+1,…のみがオン状態となる。し
たがって群番号nに対応する第1の可変長データ線83
nには、フラグレジスタ51 nに格納された、
空き状態を表わす論理‘1’(‘H’レベル)の信号が
出力され、その信号がその群番号nに対応するメモリワ
ード群内の4つの複数選択分離回路52 n,52
n,52 n,52 nに入力される。
またその第1の可変長データ線83−nの信号は、その
論理が反転されて、その群番号nに対応するメモリワー
ド群内の4つのアンドゲート53 n,53
n,53 n,53 nに入力される。
【0074】群番号n+1に対応するメモリワード群に
ついても同様であり、フラグレジスタ51 n+1
に格納された論理‘1’の信号が第1のトランジスタ8
n+1、第1の可変長データ線83 n+1を経
由して、4つの複数分離選択回路52 n+1,…
および論理が反転されて、4つのアンドゲート53
n+1,…に入力される。
【0075】図4に示すように、群番号1,2,…,n
−1に対応するメモリワード群には有効なデータ群が格
納されている場合、群番号nに対応するメモリワード群
に備えられた4つの複数分離選択回路52 n,5
n,52 n,52 nのうち最上段
の複数分離選択回路52 nから最優先であること
を示す論理‘1’(‘H’レベル)の信号が出力され
る。複数分離選択回路…,52 n,52
n,52 n+1,…の出力側には、第2のトラン
ジスタ…,82 n,82 n,82
+1,…が備えられている。この第2のトランジスタ
…,82 n,82 n,82 n+1,…
は、第1のトランジスタ…,81 n,81
n,…,81 n+1,…と同様に、属性格納部…,
11 n,11 n,…,11
n+1,…に属性Iが格納されている場合のみオン状
態となるトランジスタであり、複数分離選択回路52
nから出力された論理‘1’の信号は、第2のトラ
ンジスタ82 nを通って第2の可変長データ線8
nに出力される。ここでは群番号nに対応するメモ
リワード群が最優先のメモリワード群であり、したがっ
て群番号n+1に対応するメモリワード群の複数分離選
択回路52 n+1の出力は論理‘0’であって、
群番号n+1に対応するメモリワード群の第2の可変長
データ線84 n+1には複数分離選択回路52
n+1の出力である論理‘0’の信号が供給される。
【0076】また各属性格納部…,11 n,
11 n,…,11 n+1,…から
は、検索時に属性の一致を受けて論理‘1’(‘H’レ
ベル)の信号が出力される属性一致線…,30
n,30 n,30 n+1,…が延び、対応す
るアンドゲート…,53 n,53 n,53
n+1,…の入力端子に接続されている。また、
各データ格納部…,11 n,11
n,…,11 n+1,…からは、検索時にデ
ータの一致を受けて論理‘1’(‘H’レベル)の信号
が出力されるデータ一致線…,14 n,14
n,14 n+1,…が延び、属性一致線…,3
n,30 n,30 n+1,…と同
様に、対応するアンドゲート…,53 n,53
n,53 n+1,…の入力端子に接続されて
いる。
【0077】ここで、属性II,データ‘B’の検索デ
ータを入力してデータ検索を行なったとし、属性格納部
11 nに属性IIが格納されているメモリワ
ード11 nのデータ格納部11 nにた
またまデータ‘B’が格納されていたとすると、属性の
一致を受けて属性一致線30 nが‘H’レベルと
なり、またデータの一致を受けてデータ一致線14
nも‘H’レベルとなるが、第1の可変長データ線8
nが、空き状態を表わす‘H’レベルにあるため、
アンドゲート53 nからは一致を表わす‘H’レ
ベルの信号は出力されない。すなわち、空き状態にある
メモリワード群は、検索には参加しない。
【0078】この検索を行なっているときに、いずれか
のメモリワード群で一致が検出されたか否かとは無関係
に、追記制御回路72(図1参照)から、ワード線活性
化タイミング信号線68に‘1’の信号が出力される。
すると、図9の上から2番目のメモリワード11
nに対応するアンドゲート67 nの入力が全て
‘1’となりアンドゲート67 nの出力側に延び
るワード線24 nが‘1’となり、メモリワード
11 nに検索データが書き込まれる。この検索デ
ータが書き込まれたタイミングは、検索と同時であり、
したがってその検索において一致が生じたか否かとは無
関係である。
【0079】以上のような検索と検索データの書き込み
が所定回数行なわれた後、最終的に所望のデータ群が検
出されたか否かの情報が追記制御回路72(図1参照)
に入力される。追記制御回路72では、いずれかのメモ
リワード群において所望のデータ群が検出された場合は
その後は何も行なわない。すなわち、図9に示す群番号
nに対応するメモリワード群には検索の都度検索データ
が書き込まれたものの、そのメモリワード群に対応する
フラグレジスタ51 n,51 n,,51
n,51 nには依然として空きフラグ‘1’
が格納されており、群番号nに対応するメモリワード群
は、依然として検索には寄与しない空き状態にとどまる
ことになる。
【0080】一方、全体一致検出回路71において、全
てのメモリワード群にわたって所望のデータ群が存在せ
ず、すなわちデータ群の未登録が検出され、データ群を
登録する場合は、以下のような動作になる。上記のよう
に検索対象となった属性に対応するメモリワードには検
索データが検索と同時に書き込まれている。したがっ
て、データ群の登録としては、付随データのみを書き込
めばよいことになる。
【0081】ここでは、属性IIIに対応するメモリワ
ードに付随データを書き込むものとする。このとき、検
索と同様にして属性IIIと付随データをペアにして入
力する。各属性格納部…,11 n,11
n,…,11 n+1,…に対しては、検
索と同様の動作によって、属性IIIとの一致を検出す
ると図9のメモリワード11 nに対応する属性一
致線30 nに論理“1”の信号が出力される。こ
のとき、追記制御回路72(図1参照)から、ワード活
性化タイミング信号線68に論理“1”の信号が出力さ
れ、図9の上から3番目のメモリワード11 nに
対応するアンドゲート67 nを介してワード線2
nが“1”となり、さらにこのとき格納すべき
付随データがデータ格納部…,11 n,11
n,…,11 n+1,…に対応する
ビット線に与えられており、ビットバー線には付随デー
タの反転信号が与えられているため、メモリワード11
nに付随データが書き込まれる。
【0082】上記の付随データの書き込みは、複数分離
回路…,52 n,52 n,…,52
+1,…によって指定された、空き状態にある群番号n
に対応するメモリワード群の中で、属性IIIとの一致
によって指定されるメモリワード11 nに対
して行われる。同様にして、他の属性データが格納され
ているメモリワードにも、付随データを書き込むことが
できる。
【0083】上記のようにして、群番号nに対応するメ
モリワード群に、検索データおよび付随データが書き込
まれることになる。その後追記制御回路72(図1参
照)はフラグレジスタ…,51 n,51
n,…,51 n+1,…に接続された空きフラグ
データ線66に論理‘0’の信号を与え、その状態で空
きフラグクロック信号線65に‘1’のクロックパルス
を与える。すると、図示の群番号nに対応するメモリワ
ード群に延びる第2の可変長データ線84 nに論理
‘1’の信号が出力されていることから、空きフラグク
ロック信号線65に与えられた‘1’のクロックパルス
は、4つのアンドゲート61 n,61 n,6
n,61 nをそれぞれ通過して4つのフ
ラグレジスタ51 n,51 n,51
n,51 nに入力され、それら4つのフラグレジ
スタ51 n,51 n,51 n,51
nに、有効なデータ群が記録されていることを示す
論理‘0’のフラグが格納される。
【0084】複数選択分離回路…,52 n,52
n,…,52 n+1,…では、群番号nに
対応するフラグレジスタ51 n,51 n,
51 n,51 nに‘0’が格納されたことに
伴い、その群番号nに対応するメモリワード群以外の、
空きフラグ‘1’が格納されているフラグレジスタに対
応するメモリワード群の中から最も優先度の高いメモリ
ワード群(ここに示す例では群番号n+1に対応するメ
モリワード群)が検出されることになる。
【0085】なお、上記の説明においては、検索データ
の格納されるメモリワードと付随データが格納されるメ
モリワードを別々のものとして説明しているが、本発明
の第2の連想メモリにおいても、本発明の第1の連想メ
モリと同様、検索時および書き込み時のマスク制御を行
うことによって、同一のメモリワードの中に、検索デー
タと付随データの両方を格納することもできる。
【0086】また、図9に示す実施例では、検索データ
を書き込むべきメモリワードを複数分離回路と属性一致
線の出力を用いて決定しているが、本発明は、図9の実
施例に限定されず、例えば、複数分離回路52の出力を
エンコーダに入力してプライオリティエンコーダを構成
し、さらにその出力に、属性に対応したメモリワード群
内での相対的アドレスを足し合わせたものをアドレスと
して、アドレスデコーダ16(図11参照)に入力する
ことによって書き込むべきメモリワードを決定してもよ
く、種々の方式を含むものである。
【0087】本発明の第2の連想メモリの実施例におい
て、メモリワード群を複数選択分離回路によって選択
し、さらに属性の一致検出によって、メモリワード群内
の1つのメモリワードを選択的に活性化する方法を示し
たが、この概念を、図4で示したような群構造のデータ
を格納する際に、適用すると非常に有効である。図10
は、図4に示したデータ構造をもつ各データと、各デー
タを格納するメモリワードの絶対アドレスを示した図で
ある。ここで、上記のように、検索の結果一致が検出さ
れなかったことを受けて、最優先の空き状態にある群番
号nに対応するメモリワード群に、属性IIIに対応す
る付随データを登録する場合には、属性IIIに対応す
るデータを書き込むことを指定するために、属性III
による一致比較を行えば良く現在最優先の空き状態にあ
るメモリワード群の群番号を外部が知る必要は全くな
い。
【0088】一方、これと同じ付随データの書き込み
を、絶対アドレスでメモリワードを指定して行うために
は、現在最優先の空き状態にあるメモリワード群の群番
号がnであることを知ることが必要であり、これを知っ
た上で求められる絶対アドレス4n−2を指定しなけれ
ばならず、処理が複雑になる。上記のように、図4また
は図10のようなデータ構造のデータ群を扱う場合、ア
ドレス管理は絶対アドレスで行うよりも、メモリワード
群の群番号と、メモリワード群内でのメモリワードの位
置によって相対的に行う方が望ましい。
【0089】上記のような群構造をなすデータのアドレ
ス管理は、本発明の第2の連想メモリの実施例に限定さ
れず、群構造をなすデータをもつ連想メモリに対して、
広く有効である。
【0090】
【発明の効果】以上説明したように、本発明の連想メモ
リは、検索と同時に検索データを格納してしまうもので
あるため、未登録データの追記のためには付随データの
みを書き込めばよく、追記が効率的かつ高速に行われ
る。
【図面の簡単な説明】
【図1】本発明の第1の連想メモリの一実施例の特徴部
分を示す回路図である。
【図2】複数選択分離回路の回路図である。
【図3】ビット線ドライブ回路の1ビット分の回路例を
示した図である。
【図4】群構造のデータの一例を示す図である。
【図5】群構造のデータを取り扱うのに適した連想メモ
リの一例を示すブロック図である。
【図6】可変長のデータ線を実現する一つの方式を示し
た模式図である。
【図7】可変のデータ線を実現するもう一つの方式を示
した模式図である。
【図8】属性がIかそれ以外かを判定する属性判定回路
の一例の回路図である。
【図9】本発明の第2の連想メモリの一実施例の特徴部
分を示す回路図である。
【図10】群構造のデータと絶対アドレスの対応を示す
図である。
【図11】従来の連想メモリの一例を表わした回路ブロ
ック図である。
【図12】連想メモリ中の1つのメモリワードを表わし
た詳細回路図である。
【符号の説明】
11,11_1 n,11_2 n,…,11_1
+1 メモリワード 11_1_1 n,11_2_1 n,…,11_1
n+1属性格納部 11_1_2 n,11_2_2 n,…,11_1
n+1データ格納部 14 一致線 14_1 n,14_2 n,…,14_1 n+1
データ一致線 30_1 n,30_2 n,…,30_1 n+1
属性一致線 51,51_1 n,51_2 n,…,51_1
+1 フラグレジスタ 52,52_1 n,52_2 n,…,52_1
+1複数選択分離回路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 各データをそれぞれ記憶するメモリワー
    ドと、該メモリワードに対応して備えられた、入力され
    た検索データの全部もしくは一部のビットパターンと前
    記メモリワードに記憶されたデータのうち前記ビットパ
    ターンと対応する全部もしくは一部のビットパターンと
    の一致不一致を検出する一致検出回路とを備えた連想メ
    モリにおいて、 前記一致検出回路のいずれからも、一致が検出されたこ
    とを示す一致信号が出力されなかった場合に、前記メモ
    リワードのうち検索の対象とされる有効データが記憶さ
    れておらずしたがって上書きが許容される空き状態にあ
    るメモリワードの1つを選択し、該選択されたメモリワ
    ードに、前記検索データを記憶させる検索データ書き込
    み回路と、 前記選択されたメモリワードの一部のビットをマスクす
    ることにより、マスクされていないビット位置を、前記
    検索データに関連した付随データを書き込むための付随
    データ書き込み領域として指定する付随データ書き込み
    領域指定回路と、 前記付随データ書き込み領域に、前記付随データを記憶
    させる付随データ書き込み回路とを備えたことを特徴と
    する連想メモリ。
  2. 【請求項2】 前記メモリワードに対応して備えられ
    た、該メモリワードが、前記有効データが記憶された記
    憶状態にあるメモリワードであるか、あるいは前記空き
    状態にあるメモリワードであるかを示すフラグが記憶さ
    れるフラグレジスタと、 前記一致検出回路のいずれからも前記一致信号が出力さ
    れなかった場合に、前記選択されたメモリワードに対応
    する前記フラグレジスタに、前記記憶状態を示すフラグ
    を記憶させるフラグ変更回路とを備えたことを特徴とす
    る請求項1記載の連想メモリ。
  3. 【請求項3】 複数の格納データの集合からなる1つの
    データ群を構成する複数のデータを、各データ毎に記憶
    する複数のメモリワードからなるメモリワード群を複数
    備え、検索データが入力される毎に、入力された検索デ
    ータの全部もしくは所定の一部のビットパターンと前記
    メモリワードに記憶されたデータのうち前記ビットパタ
    ーンと対応する全部もしくは一部のビットパターンとの
    一致比較を行い、1回もしくは複数回からなる一致検索
    全てにおいて入力された検索データの全部もしくは各所
    定の一部のビットパターンと同一の前記メモリワード群
    内に記憶されたデータのうち前記ビットパターンと対応
    する全部もしくは一部との一致が検出されたことをもっ
    て、前記所定回数入力された検索データに対応するデー
    タ群の存在を検出する連想メモリにおいて、 前記メモリワード群それぞれに対応して備えられた、対
    応するメモリワード群が、検索の対象とされる有効デー
    タ群が記憶された記憶状態にあるメモリワード群である
    か、あるいは前記有効データ群が記憶されておらず、し
    たがって上書きが許容される空き状態にあるメモリワー
    ド群であるかを示すフラグが記憶されるフラグレジスタ
    と、 前記所定回数の一致検索の間、1回の検索毎に、入力さ
    れた検索データを、前記空き状態にあるメモリワード群
    の中から選択されたメモリワード群内のいずれかのメモ
    リワードに書き込む検索データ書き込み回路と、 前記検索データが書き込まれた前記空き状態のメモリワ
    ード群内のいずれかのメモリワードを指定するメモリワ
    ード指定回路と、 前記所定回数の一致検索の結果、該所定回数入力された
    検索データに対応するデータ群が検出されなかった場合
    に、前記メモリワード指定回路によって指定されたメモ
    リワードに、前記検索データに関連した付随データを書
    き込む付随データ書き込み回路と、 前記所定回数の一致検索の結果、該所定回数入力された
    検索データに対応するデータ群が検出されなかった場合
    に、前記選択されたメモリワード群に対応する前記フラ
    グレジスタに、前記記憶状態を示すフラグを記憶させる
    フラグ変更回路とを備えたことを特徴とする連想メモ
    リ。
  4. 【請求項4】 前記メモリワード指定回路によって指定
    されたメモリワードの一部のビットをマスクすることに
    より、マスクされていないビット位置を、前記検索デー
    タに関連した付随データを書き込むための付随データ書
    き込み領域として指定する付随データ書き込み領域指定
    回路を備え、 前記付随データ書き込み回路が、前記付随データ書き込
    み領域に、前記付随データを記憶させるものであること
    を特徴とする請求項3記載の連想メモリ。
  5. 【請求項5】 前記メモリワード指定回路が、 前記検索データが書き込まれた前記空き状態のメモリワ
    ード群を指定するメモリワード群指定回路と、 前記メモリワード群指定回路によって指定されたメモリ
    ワード群内でのメモリワードの位置を相対的に指定する
    メモリワード群内メモリワード位置指定回路とを備えた
    ものであることを特徴とする請求項3又は4記載の連想
    メモリ。
  6. 【請求項6】 複数の格納データの集合からなる1つの
    データ群を構成する複数のデータを、各データ毎に記憶
    する複数のメモリワードからなるメモリワード群を複数
    備え、入力された検索データ群の全部もしくは一部のビ
    ットパターンと前記メモリワード群に記憶された群のう
    ち前記ビットパターンと対応する全部もしくは一部のビ
    ットパターンとの一致不一致を検出する連想メモリにお
    いて、 前記メモリワード群の1つを指定するメモリワード群指
    定回路と、 前記メモリワード群指定回路によって指定されたメモリ
    ワード群内でのメモリワードの位置を相対的に指定する
    メモリワード群内メモリワード位置指定回路と、 前記指定されたメモリワード位置に対応するメモリワー
    ドに対して、データの書き込み、読み出しを行うメモリ
    ワード書き込み読み出し回路とを備えたことを特徴とす
    る連想メモリ。
JP25836894A 1994-10-24 1994-10-24 連想メモリ Expired - Fee Related JP3645293B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25836894A JP3645293B2 (ja) 1994-10-24 1994-10-24 連想メモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25836894A JP3645293B2 (ja) 1994-10-24 1994-10-24 連想メモリ

Publications (2)

Publication Number Publication Date
JPH08124388A true JPH08124388A (ja) 1996-05-17
JP3645293B2 JP3645293B2 (ja) 2005-05-11

Family

ID=17319279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25836894A Expired - Fee Related JP3645293B2 (ja) 1994-10-24 1994-10-24 連想メモリ

Country Status (1)

Country Link
JP (1) JP3645293B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100708095B1 (ko) * 2000-07-20 2007-04-16 삼성전자주식회사 헤드 짐벌 조립체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100708095B1 (ko) * 2000-07-20 2007-04-16 삼성전자주식회사 헤드 짐벌 조립체

Also Published As

Publication number Publication date
JP3645293B2 (ja) 2005-05-11

Similar Documents

Publication Publication Date Title
US6243281B1 (en) Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system
JPH0340296A (ja) 連想メモリとレコードに対する読取り書込み法及びデータの記憶アクセス法
US20020080638A1 (en) Content addressable memory device capable of being used as binary CAM device or as ternary CAM device and structure method therefor
US5592407A (en) Associative memory
US6766317B2 (en) Range check cell and a method for the use thereof
JP3703518B2 (ja) 連想メモリシステム
US6751701B1 (en) Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US7228378B1 (en) Entry location in a content addressable memory
US6868475B2 (en) Content addressable memory having data width extension capability
JPH06333395A (ja) 連想メモリ
JPH08124388A (ja) 連想メモリ
JPH07105689A (ja) 連想メモリ
US5465228A (en) Associative memory
US6813680B1 (en) Method and apparatus for loading comparand data into a content addressable memory system
JP3636382B2 (ja) 連想メモリ
JP3370227B2 (ja) 連想メモリ
US7577784B1 (en) Full-ternary content addressable memory (CAM) configurable for pseudo-ternary operation
JPS63181198A (ja) 選択的連想記憶装置
JP3114957B2 (ja) 連想メモリ
JP3130736B2 (ja) 連想メモリの使用方法および連想メモリ
JPH08124386A (ja) 連想メモリ
JP3202899B2 (ja) 連想メモリ
JPH08106788A (ja) 連想メモリ
JP3597899B2 (ja) 連想メモリ
JP3130745B2 (ja) 連想メモリ

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20040830

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20040914

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20041109

Free format text: JAPANESE INTERMEDIATE CODE: A523

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: 20050201

A61 First payment of annual fees (during grant procedure)

Effective date: 20050203

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 3

Free format text: PAYMENT UNTIL: 20080210

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20090210

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20090210

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees