【発明の詳細な説明】[産業上の利用分野]この発明は、内容番地付け記憶装置に関し、特に、より
正確に検索動作を行なうことが可能な内容番地付け記憶
装置に関する。
[従来の技術および発明が解決しようとする課題]一般
に知られているように、内容番地付け記憶装置(Con
tent  AddressableMemory  
Device:以下、単にCAMと略称する)は、記憶
内容を指定してその記憶内容が格納されている位置を求
めたり、記憶内容の一部を指定して残りの記憶内容を取
出すことができる記憶装置であって、連想記憶装置とも
呼ばれる。
すなわち、CAMは、CAMの各メモリセルに記憶され
たデータと、検索に用いられる検索データとを比較し、
それらが一致したときに一致が得られたアドレスから必
要な情報を出力する。
通常、CAMのメモリセルアレイは、外部からの正常な
書込動作によってデータが書込まれる。
しかし、CAMのメモリセルアレイのうち記憶されてい
るデータが外部からは不明であることがある。そして、
不明なデータが存在することが好ましくない場合がある
。すなわち、検索データがメモリセルアレイに与えられ
たとき、その検索データと記憶されているデータとが偶
然一致する。したがって、このような場合正確な検索情
報が得られない。
この問題を防ぐため、CAMのメモリセルアレイを、た
とえば、すべて信号“0°によりリセットした場合、す
べての信号が“0°を有する検索データがメモリセルア
レイに与えられたとき、これらのデータが一致してしま
い、誤った検索結果が得られる。
したがって、従来のCAMでは誤った検索結果を得るこ
とがあるという課題があった。また、この課題を避ける
ためには、CAMを複雑に制御することが必要であると
いう課題もあった。
次に、これらの課題を解決するのに特に興味のある先行
技術について以下に簡単に説明する。
第7図は、小倉武他により1983年12月1日付電子
通信学会技術研究報告(半導体トランジスタ)において
紹介された、連想メモリLSIを示すブロック図である
。
第7図を参照して、この連想メモリは、セルアレイ90
と、セルアレイ90に接続されたビット処理系91と、
セルアレイ90に接続されたワード処理系92とを含む
。ワード処理系92は、セルアレイ90の各ワードにつ
いて、そのワードのデータが必要なものであるか否かを
示すための書込イネーブルタグ93を含む。この書込イ
ネーブルタグ93を検索することによって、セルアレイ
90のうち書込むことのできる(保持する必要のない)
ワードを捜し出すことができる。これによって、CPU
によってセルアレイ90のアドレス指定および管理を必
要とせずに、新たなデータを書込む際に書込むべきワー
ドを容易に見つけ出すことができる。すなわち、この動
作において、この連想メモリの外部からアドレスを制御
する必要がない。
ここで紹介された、連想メモリは、その書込み動作にお
いてその制御を簡単化するためのものである。したがっ
て、前述したような検索動作についての課題を解決する
ためのものでない。また、この書込イネーブルタグ93
については、詳しく触れられていないが、おそらくこれ
はセルアレイ90とは別に離れて設けられたレジスタの
集まりのようなものであって、これを制御するための制
御回路が別に必要なものと考えられる。
また、第7図の先行技術と内容的にほぼ同様なものが、
特開昭57−74889に見られる。
さらに、特に興味のある先行技術の例は、1987年9
月i:c、V、RAMAMOORTHY他によって発表
された、rDisign  of  aFast  C
e1lular  As5ociative   Me
mory   for   0rdered  Ret
rievalJと題された論文(IEEE  TRAN
SACTIONS  ON  COMPUTERS、 
  VOL、C−27,No、9)に見られる。この論
文もまた、メモリセルアレイとは別に設けられた各ワー
ドについてのフラグレジスタが示されている。前述のよ
うに、フラグを構成する素子としてレジスタが適用され
た場合、これを制御するのに別に制御回路を設ける必要
がある。
さらにまた、特に興味のある先行技術の例は、1985
年10月にHIRO8BI  KADOTA他によって
発表された、rAn8−KbitContent−Ad
dressable  and  Reentrant
  MemoryJと題された論文(IEEE  JO
URNAL  0FSOLID−3TATE  CIR
CUITS。
VOL、5C−20,No、5)に見られる。この論文
では、メモリセルアレイのメモリ領域が、データが書込
まれた占有領域とデータが書込まれていない非占有領域
とに分けられる。これら占有領域および非占有領域への
書込動作を制御することにより、有効にCAMの記憶領
域を管理する方法が示されている。
この発明は、上記のような課題を解決するためになされ
たもので、特に制御手段を追加することを必要としない
で、正確な検索結果を得ることができる内容番地付は記
憶装置を得ることを目的とする。
[課題を解決するための手段]この発明に係る内容番地付は記憶装置は、データ保持用
のメモリセルアレイと、メモリセルアレイに隣り合って
結合された、各ワードの書込状態を示すフラグ信号を保
持するためのフラグ保持手段と、データおよび検索デー
タならびにフラグ信号をメモリセルアレイおよびフラグ
保持手段にそれぞれ人出力するための入出力制御手段と
、フラグ保持手段のフラグ信号を検索するための書込検
出手段と、メモリセルアレイのデータを検索し特定のワ
ードを選択するための特定ワード選択手段とを含む。
[作用]この発明における内容番地付は記憶装置は、リセット動
作において、フラグ保持手段が人出力制御手段からリセ
ットのためのフラグ信号を受はリセットされる。書込動
作において、書込検出手段がフラグ保持手段に保持され
たフラグ信号を検索することにより、メモリセルアレイ
の中でデータが書込まれていないワードを検出する。そ
のワードについて、入出力制御手段がフラグ信号とデー
タとをフラグ保持手段とメモリセルアレイとに書込む。
検索動作において、フラグ保持手段とメモリセルアレイ
とが入出力制御手段から検索のためのフラグ信号と検索
データとを受ける。特定ワード選択手段は、検索のため
のフラグ信号と検索データとに応答して、フラグ保持手
段とメモリセルアレイとから出力された信号を受けて、
検索データが示すワードを選択する。
検索動作におけるワードの特定は、検索データの検索と
同時に、フラグ保持手段の中のフラグ信号についても行
なわれるので、正常な書込動作によって書込まれたワー
ドの中から特定することができる。
また、フラグ保持手段がメモリセルアレイに隣り合って
結合されているので、フラグ保持手段とメモリセルアレ
イに対し、入出力制御手段が同様に入出力制御を行なう
ことができる。したがって、フラグ保持手段用の制御部
を特に別に設けて、メモリセルアレイと別に制御する必
要がない。
[発明の実施例]第1図は、この発明による内容番地付は記憶装置(Co
ntent  AddressableMemory 
 Device:以下、単にCAMと略称する)の一実
施例を示すブロック図である。
第1図を参照して、このCAMは、データの読出しと書
込みとが行なわれるメモリセルアレイ2と、メモリセル
アレイ2に対し、ビット線B1ないしBnを介してデー
タおよび検索データをタイミング制御して入出力する読
出/書込制御部1と、メモリセルアレイ2に結合され、
各ワードの書込状態を示すフラグ信号を記憶するための
フラグビット列12と、読出/書込制御部1に結合され
、フラグビット列12に対しビット線BOを介してフラ
グ信号をタイミング制御して入出力するためのフラグビ
ット制御部11とを含む。
このCA Mは、さらに、フラグビット列12とメモリ
セルアレイ2とから出力される検索信号を受けて検索を
実行し、結果を一時的に保持する応答レジスタ3と、複
数の検索結果が得られたときに、予め定められたロジッ
クに従ってそのうちの1つを決定する多重応答分解器4
と、ワード線W1ないしWmの駆動と制御とを行なうワ
ード線制御回路6と、タイミング制御信号φ、ないしφ
。
を出力する制御回路5とを含む。
なお、第1図では、点線で示されるように記憶装置7が
ワード線W1ないしWmを介して接続され、このCAM
によって決定されたワードについてデータの入出力が行
なわれる。
なお、制御信号φ、ないしφ、は、それぞれ種々の制御
信号を含むが、第1図ではそれらを総称して使用されて
いる。また、ワード線W1ないしWmは、各々のワード
線の他に、実際にはそれらに付随する信号線をも含むが
、信号線については記載が省略されている。これらの詳
細については、第3図ないし第6図を用いて後でなされ
る各ブロックの詳細な説明において、明らかにされる。
次に、動作について説明する。
最初に、リセット動作において、ワード線制御回路6に
リセット信号φ、が制御回路5から与えられると、すべ
てのワード線W1ないしWmが選択される。このとき、
フラグビット制御部11は制御信号φ1に応答してビッ
ト線BO上に2進のデータ“0” (リセットのフラグ
信号)を与える。
ビット線BOを介してフラグビット制御部11に接続さ
れたフラグビット列12は、データ“0”を受けてデー
タ“0”が書込まれリセットされる。
これによりリセット動作が完了する。このとき、メモリ
セルアレイ2に書込まれるデータは不明であるが、後述
のように後の動作に影響しない。
次に、データの書込動作について説明する。リセット動
作が終了された直後は、すべてのワードは空き状態(必
要なデータが書込まれていない状態)であるが、一般に
、CAMが使用されるとき、使用中(必要なデータが書
込まれている)のワードと空きワードとが混在している
。したがって、書込動作では、最初に空きワードの検出
が行なわれる。
空きワードの検出は、フラグビット列12に対してデー
タ“0′がフラグビット制御部11から与えられ、かつ
、メモリセルアレイ2がマスクされて行なわれる。した
がって、データ“0°を保持しているワード、すなわち
、空きワードが応答レジスタ3によって検出される。こ
の場合、一般には、複数の検索結果が存在するので、多
重応答分解器4がその中から1つのワードを選び出す。
ワード線制御回路6は、その選ばれたワードのワード線
を選択する。このとき、読出/書込制御部1はビット線
B1ないしBn上に書込まれるべきデータを出力し、一
方、フラグビット制御部11はビット線BO上にデータ
“1” (データ′1#はそのワードが既に書込まれた
ことを示すフラグ信号)を出力する。この結果、先述の
選ばれたワードについて、メモリセルアレイ2にデータ
が書込まれ、同時に、フラグビット列12にデータ“1
°が書込まれる。
さらに、検索動作において、最初に、フラグビット制御
部11がビット線BO上にデータ“1”を出力し、同時
に、読出/書込制御部1がビット線B1ないしBn上に
検索データを出力する。これにより、フラグビット列1
2およびメモリセルアレイ2のすべてのビット線BOな
いしBnについて、同時に検索が行なわれる。ここで、
フラグビット列12に対してデータ“1”により検索が
行なわれるので、フラグビット列12のうち、データ“
0”を保持するワード、すなわち空きワードは、メモリ
セルアレイ2の中に検索データと一致するデータが記憶
されていたとしても、検索されない。
一般には、検索されたワードは複数存在するので、応答
レジスタ3が一端検索結果を保持した後、1の検索結果
が多重応答分解器4により決定される。
さらにまた、ワード不要化動作において、最初に不要化
すべきワードが検索される。この検索動作は前述の検索
動作と同様に行なわれる。しかし、検索されたワードの
すべてを不要化するときは、前述の多重応答分解器4に
よる動作は省かれる。
続いて、検索動作により得られたワードのフラグビット
列12にデータ“0”が書込まれる。
第2A図ないし第2F図は、第1図に示されるCAMを
適用した場合の、フラグビット列およびメモリセルアレ
イの内容の変化を示す模式図である。ここでは、簡単化
のために、メモリセルアレイ2が10本のビット線B1
ないしB10(すなわちn−10)と、8本のワード線
W1ないしW8(すなわちm−8)とを有する場合が示
される。
第2A図は、リセット前のフラグビット列12とメモリ
セルアレイ2の状態を示す。ここで、記号Xは保持され
ている内容が不明であることを示す。したがって、第2
A図において、すべてのメモリセルが保持している内容
は不明である。
第2B図は、リセット後の状態を示す。フラグビット列
12は、すべてデータ“0”によりリセットされている
。一方、メモリセルアレイ2の内容は不明のままである
。
ここで、もし、検索データを書込むための空きワードの
検索が行なわれたとすると、空きワード検索はビット線
BOに対しデータ“0′によって検索することにより行
なわれるので、すべてのワードが一致応答を行なうこと
となる。
第2C図は、この場合において、メモリセルアレイ2の
第1ワードにデータ’o o o o o o o 。
00”、第2ワードにデータ’1111111111”
、第3ワードにデータ“0000011111”が書込
まれた状態を示す。各ワードについて検索データが書込
まれると同時に、フラグビット列12の該当するワード
にデータ“1”が書込まれている。
第2D図は、第1.2.3.4.6および8ワードに、
それぞれデータが書込まれた状態を示す。
この状態において、さらに検索データが書込まれるとき
、最初にフラグビット列12がデータ“0”により検索
される。したがって、第5および第7ワードが空きワー
ドとして検出される。
第2E図は、すべてのワードに検索データが書込まれた
状態を示す。データの検索が行なわれるとき、ビット線
B1にデータ′1#が、ビット線B1ないしBIOに検
索データが、それぞれ与えられる。たとえば、検索デー
タが“1111100000”の場合、第4ワードにお
いてデータが一致する。したがって、このワードが検索
結果となる。
第2F図は、第3および第6ワードが空き状態であるこ
とを示す。このように、第3および第6ワードを空き状
態とするためには、ワード不要化動作が行なわれる。第
2F図において、第3および第6ワードのフラグビット
列12の値が“0”であるので、データの検索において
これらのワードが一致応答することはない。また、第3
および第6ワードが空きワードとして検出されるので、
これらのワードに新たな検索データを書込むことが可能
である。
以上の説明では、メモリセルアレイ2の各ワードのすべ
てのビット(10ビツト)について検索動作が行なわれ
たが、一部分がマスクされた状態で検索動作を行なって
もよい。たとえば、第2E図におイテ、検索データを’
MMMMMO0000”として与えると(Mはそのビッ
トがマスクされていることを示す)、第1および第4ワ
ードにおいて検索データが一致する。
また、以上の例では、フラグビット列12の値が“0”
ならば空きワード、“1°ならば使用中のワードとして
いたが、この値を逆に変えても同様の効果が得られる。
第3図は、この発明において使用されるフラグビット列
およびメモリセルアレイの一例を示す回路図である。
第3図を参照して、フラグビット列12は、ビット線b
OおよびbOとワード線W1ないしWmとにそれぞれ接
続されたメモリセルMe+ないしMo mを含む。一方
、メモリセルアレイ2は、ビット線b1およびi〒ない
しbnおよび肩とワード線W1ないしWmとにそれぞれ
接続されたメモリセルM7.ないしM。lllを含む。
第3図の例において、フラグビット列12およびメモリ
セルアレイ2に含まれるすべてのメモリセルはすべて同
じ回路構成を有する。
たとえば、メモリセルMO+は、ビット線す。
とbOの間に接続されたNチャネルMOS)ランジスタ
Q1と2つのインバータにより構成されたフリップフロ
ップF1とNチャネルMOS)ランジスタQ2との直列
接続と、NチャネルMosトランジスタQ3とQ4との
直列接続と、検索出力線WAIおよび共通線WBIとの
間に接続されたNチャネルMOS)ランジスタQ5とを
含む。
トランジスタQ1とQ2のそれぞれのゲートはワード線
W1に接続される。トランジスタ。3のゲートはトラン
ジスタQ1とフリップフロップF1との接続点に接続さ
れる。トランジスタQ4のゲートはフリップフロップF
1とトランジスタQ2との接続点に接続される。トラン
ジスタQ5のゲートはトランジスタQ3とトランジスタ
Q4との接続点に接続される。
なお、他のメモリセルについても、メモリセルMO+と
同様に、対応するビット線、ワード線、検索出力線およ
び共通線に、同様に接続される。
次に、メモリセルMO7を一例として、このメモリセル
に対する書込動作と検索動作とについて説明する。
書込動作において、ワード線W1が高レベルにもたらさ
れ、同時に、たとえば、ビ・ソト線bOを低レベルに、
そして、ビット線bOを高レベルにもたらす。これによ
り、フリップフロップF1はビット線によって与えられ
たデータを保持する。
検索動作において、ワード線W1が高レベルにもたらさ
れる。ここで、書込まれたデータと同じデータがビット
線に与えられた場合、すなわち、ビット線bOが低レベ
ルに、ビット線bOが高レベルにもたらされると、トラ
ンジスタQ5がONする。一方、書込まれたデータと異
なるデータが与えられた場合、すなわち、ビット線bO
が高レベルに、ビット線bOが低レベルにもたらされた
とき、トランジスタQ5はOFFする。したがって、検
索出力線WAIと共通線WBIとの間の電圧を検出する
ことにより、書込まれたデータと検索のために与えられ
たデータとが一致するか否かを検出することができる。
第4図は、この発明において使用されるフラグビット制
御部および読出/書込制御部の一例を示す回路図である
。簡単化のために、読出/書込制御部1は、ビット線b
1とblとに接続される部分だけが示されている。
第4図を参照して、フラグビット制御部11は、ともに
、空きワード検索信号φ44、書込信号φ、2、通常の
検索信号φ7.およびリセット信号φ、4がそれぞれに
与えられる、ORゲート111と、ANDゲート112
と、2つのトライステートバッファ113および114
と、インバータ115とを含む。ビット線bOおよびb
Oは、それぞれトライステートバッフ7113および1
14の出力に接続される。
読出/書込制御部1は、検索データ保持信号φ2、また
は書込データ保持信号φ22に応答して、外部から与え
られるデータDI(検索データまたは書込データ)を−
時的に保持するための、入力バッファ部101と、入力
バッファ部101の出力信号を受はフラグビット制御部
11からの信号に応答してビット線信号を出力するため
の信号出力部102と、ビット線b1およびblからの
信号を受は外部に出力するためのトライステートバッフ
ア103とを含む。
第5図は、この発明において使用される応答レジスタお
よび多重応答分解器の一例を示す回路図である。この図
において、簡単化のために、ワード線W1およびW2に
関係する部分だけが示される。
応答レジスタ3は、検索実行信号φ8.に応答してこの
ワードについて検索を実行するための検索実行部31と
、検索結果保持信号φ、2に応答して検索結果を保持す
るための結果保持部32とを含む。
多重応答分解器4は、プリセット信号φ9.に応答して
この分解器をプリセットするためのプリセット回路と、
多重応答分解信号φ42に応答して複数の検索結果を多
重応答分解するための分解回路とを含む。検索結果信号
は出力信号線WCIおよびWC,2を介して出力される
。なお、信号φ6.は分解器不使用信号であり、信号φ
、4は分解器側用信号を示し、相互に反転された信号で
ある。
第6図は、この発明において使用されるワード線制御回
路の一例を示す回路図である。この図において、簡単化
のために、ワード線W1およびW2に接続された部分だ
けが示される。
第6図を参照して、このワード線$IJ18回路6は、
ワード線W1およびW2と、多重応答分解器4の出力信
号線WCIおよびWC2とに接続される。
また、このワード線制御回路6には、書込信号φ54、
ワード不要化信号φ、2およびリセット信号φ1.が与
えられる。
[発明の効果コ以上のように、この発明による内容番地付は記憶装置は
、データを保持するためのメモリセルアレイに隣り合っ
て結合された、各ワードの書込状態を示すためのフラグ
信号を保持するフラグ保持手段を含むので、特に複雑な
制御手段を追加することを必要としないで、正確な検索
結果を得ることができる内容呑地付は記憶装置がもたら
される。
【図面の簡単な説明】第1図は、この発明の一実施例を示す内容番地付は記憶
装置を示すブロック図である。第2A図ないし第2F図
は、第1図の動作を説明するためのフラグビット列およ
びメモリセルアレイの書込まれたデータの変化を示す模
式図である。第3図は、この発明の一実施例において使
用されるフラグビット列およびメモリセルアレイの一例
を示す回路図である。第4図は、この発明の一実施例に
おいて使用されるフラグビット制御部および読出/書込
制御部の一例を示す回路図である。第5図は、この発明
の一実施例において使用される応答レジスタおよび多重
応答分解器の一例を示す回路図である。第6図は、この
発明の一実施例において使用されるワード線制御回路の
一例を示す回路図である。第7図は、従来の連想メモリ
LSIを示すブロック図である。図において、1は読出/書込制御部、2はメモリセルア
レイ、3は応答レジスタ、4は多重応答分解器、5は制
御回路、6はワード線制御回路、7は記憶装置、11は
フラグビット制御部、12はフラグビット列、90はセ
ルアレイ、91はビット処理系、92はワード処理系、
93は書込イネーブルタグである。なお、図中同一符号は同一または相当部分を示す。