(57)【特許請求の範囲】
【請求項１】
‘０’、‘１’ないしは‘ドントケア’の状態を表す３値のデータを記憶する、少なくとも１つのＣＡＭセルを備え、
前記ＣＡＭセルは、データビット線対を介して印加されるデータを記憶するデータセルと、マスクビット線対を介して印加される、前記ＣＡＭセルを一致検索動作からマスクするためのマスクデータを記憶するマスクセルと、前記データセルに記憶されたデータと一致検索のキーデータである比較データとを比較し、前記マスクセルにマスクしない状態のマスクデータが記憶されていれば前記比較した結果を出力し、マスクする状態のマスクデータが記憶されていれば前記比較の結果として常に一致を出力する比較回路とを備えるとともに、
バイナリー線と、ライトデータ線と、前記データビット線対に前記データセルに記憶するデータを印加する第１のライトドライバと、前記マスクビット線対に前記マスクセルに記憶するマスクデータを印加する第２のライトドライバとを有するドライバを備え、
前記バイナリー線を２値のデータが書き込まれることを指示するレベルとすることにより、前記第１のライトドライバが前記データビット線対に前記ライトデータ線から受け取ったデータを印加して前記データセルに記憶するのと同時に、前記第２のライトドライバが前記マスクビット線対に前記マスクしない状態のマスクデータを印加して前記マスクセルに記憶することを特徴とする連想メモリ装置。
【請求項２】
請求項１に記載の連想メモリ装置であって、さらに、
前記ドライバが、前記第１のライトドライバに接続されたデータライトイネーブル線と、前記第２のライトドライバに接続されたマスクライトイネーブル線とを備え、
前記バイナリー線を３値のデータが書き込まれることを指示するレベルとするとともに、前記データライトイネーブル線と前記マスクライトイネーブル線の一方を‘１’のレベルとし、他方を‘０’のレベルとすることにより、前記第１のライトドライバが前記データビット線対に前記ライトデータ線から受け取ったデータを印加して前記データセルに記憶するのとは独立に、前記第２のライトドライバが前記マスクビット線対に前記ライトデータ線から受け取ったデータを印加して前記マスクセルに記憶することを特徴とする連想メモリ装置。
【請求項３】
３値のデータを記憶する、少なくとも１つのＣＡＭセルを備え、
前記ＣＡＭセルは、第１のデータを記憶する第１のデータセルと、第２のデータを記憶する第２のデータセルと、前記第１および第２のデータによって対応付けされる‘１’、‘０’ないしは‘ドントケア’の３値のデータと一致検索のキーデータである比較データとを比較し、３値のデータが‘１’または‘０’であれば前記比較した結果を出力し、‘ドントケア’であれば前記比較の結果として常に一致を出力する比較回路とを備え、
前記第１および第２のデータの‘０，０’に対して３値のデータの‘０’または‘１’の内の一方が対応付けられ、前記第１および第２のデータの‘１，１’に対して３値のデータの‘０’または‘１’の内の他方が対応付けられ、前記第１および第２のデータの‘０，１’および‘１，０’のいずれか一方に対して３値のデータの‘ドントケア’が対応付けられ、
さらに、データをライトデータ信号線対に印加するライトドライバと、前記第１のデータセルに接続された第１のデータビット線対と、前記第２のデータセルに接続された第２のデータビット線対と、前記ライトデータ信号線対と前記第１のデータビット線対との間に設けられた第１のカラムゲートと、前記ライトデータ信号線対と前記第２のデータビット線対との間に設けられた第２のカラムゲートと、前記第１のカラムゲートを選択する第１の選択信号線と、前記第２のカラムゲートを選択する第２の選択信号線とを備え、
前記第１および第２の選択信号線を、同時に、前記第１および第２のカラムゲートを選択するレベルにすることにより、前記ライトデータ信号線対に印加されたデータを前記第１のカラムゲートを介して前記第１のデータビット線対に印加するのと同時に前記第２のカラムゲートを介して前記第２のデータビット線対に印加し、前記第１および第２のデータセルに同時に同一データを記憶して、前記ＣＡＭセルに２値のデータを記憶することを特徴とする連想メモリ装置。
【請求項４】
請求項３に記載の連想メモリ装置であって、
前記第１および第２の選択信号線のいずれかだけを対応するカラムゲートを選択するレベルにすることにより、前記ライトデータ信号線対に印加されたデータを前記第１のカラムゲートを介して前記第１のデータビット線対に印加して前記第１のデータセルに記憶するのとは独立に、前記ライトデータ信号線対に印加されたデータを前記第２のカラムゲートを介して前記第２のデータビット線対に印加して前記第２のデータセルに記憶して、前記ＣＡＭセルに３値のデータを記憶することを特徴とする連想メモリ装置。
【請求項５】
３値のデータを記憶する、少なくとも１つのＣＡＭセルを備え、
前記ＣＡＭセルは、第１のデータを記憶する第１のデータセルと、第２のデータを記憶する第２のデータセルと、前記第１および第２のデータによって対応付けされる‘１’、‘０’ないしは‘ドントケア’の３値のデータと一致検索のキーデータである比較データとを比較し、３値のデータが‘１’または‘０’であれば前記比較した結果を出力し、‘ドントケア’であれば前記比較の結果として常に一致を出力する比較回路とを備え、
前記第１および第２のデータの‘０，０’に対して３値のデータの‘０’または‘１’の内の一方が対応付けられ、前記第１および第２のデータの‘１，１’に対して３値のデータの‘０’または‘１’の内の他方が対応付けられ、前記第１および第２のデータの‘０，１’および‘１，０’のいずれか一方に対して３値のデータの‘ドントケア’が対応付けられ、
さらに、前記第１のデータセルに接続され、当該第１のデータセルを選択するための第１のワード線と、前記第２のデータセルに接続され、当該第２のデータセルを選択するための第２のワード線と、前記第１および第２のデータセルに接続され、これらの第１および第２のデータセルに記憶されるデータが印加されるデータビット線対とを備え、
前記第１のワード線と第２のワード線とを、同時に、前記第１のデータセルおよび第２のデータセルを選択するレベルにすることにより、前記第１および第２のデータセルを選択して該第１および第２のデータセルに同時に同一データを記憶して、前記ＣＡＭセルに２値のデータを記憶することを特徴とする連想メモリ装置。
【請求項６】
請求項５に記載の連想メモリ装置であって、
前記第１のワード線もしくは第２のワード線のどちらかを対応するデータセルを選択するレベルにすることにより、前記第１のデータセルを選択して前記第１のデータを記憶するのとは独立に、前記第２のデータセルを選択して前記第２のデータを記憶して、前記ＣＡＭセルに３値のデータを記憶することを特徴とする連想メモリ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３値のデータを記憶する連想メモリ装置に関するものである。
【０００２】
【従来の技術】
近年、インターネットの発展により、スイッチングハブやルータ等のネットワーク中継装置に対する高速性の要求が高まっている。このような要求に対応するため、これらの中継装置においては、例えばアドレスフィルタリング、パケットの分類処理（classification）等の処理に連想メモリ（ＣＡＭ：Content Addressable Memory）を使用することが多くなっている。
【０００３】
具体的には、ネットワークのＯＳＩ（Open Systems Interconnection）モデルのレイヤー２，３，４での検索処理にＣＡＭが使用される。これらの処理においては、従来の‘０’と‘１’のデータを持つ２値ＣＡＭ（Binary CAM）で十分なものや、‘０’、‘１’に加えて‘ドントケア’のデータを持つ３値ＣＡＭ（Ternary CAM ）が必要なものもある。
【０００４】
前述の３値ＣＡＭについては、例えば米国特許第６，１５４，３８４号明細書等に開示されている。
【０００５】
図８に示すように、米国特許第６，１５４，３８４号の３値ＣＡＭ７０は、データを記憶するメインメモリセル７２と、マスクデータを記憶するマスクメモリセル７４と、メインメモリセル７２に保持されたデータと比較データ線対ＣＭＰ，ＣＭＰＢを介して与えられる比較データとを比較する比較回路７６と、マスクメモリセル７４に保持されたマスクデータの状態に応じて、比較回路７６による比較結果を一致線に出力するのかしないのかを制御するマスク回路７８と、一致線をプリチャージするプリチャージ回路８０とを備えている。
【０００６】
ここで、メインメモリセル７２およびマスクメモリセル７４には、メインメモリセル７２に記憶されるデータおよびマスクメモリセル７４に記憶されるマスクデータが印加される相補的なデータビット線対ＢＬ，ＢＬＢが共通に接続されている。また、メインメモリセル７２には、このメインメモリセル７２を選択するためのメインワード線が接続され、マスクメモリセル７４には、このマスクメモリセル７４を選択するためのマスクワード線が接続されている。
【０００７】
この３値ＣＡＭ７０では、マスクしない状態のマスクデータがマスクメモリセル７４に設定されると、比較回路７６による比較結果は、２値ＣＡＭの場合と同じように一致線に出力される。これに対し、マスクする状態のマスクデータがマスクメモリセル７４に設定されると、比較回路７６による比較結果は、マスク回路７８によって一致線から電気的に切り離され、一致線は常に一致の状態に保持される。すなわち、ドントケアの状態となる。
【００１２】
【発明が解決しようとする課題】
この３値ＣＡＭ７０を２値ＣＡＭとして使用する場合、メインメモリセル７２に２値データを設定する他に、マスクメモリセル７４にマスクしない状態のマスクデータを設定しなければならない。すなわち、２値ＣＡＭに比べて、データの設定回数が２倍必要になる。
【００１３】
これに対し、例えば米国特許第６，１０８，２２７号の３値ＣＡＭが提案されている。
【００１４】
図９に示すように、この３値ＣＡＭ９０は、米国特許第６，１５４，３８４号の３値ＣＡＭ７０において、マスクデータの状態に係わらず、信号ＭＯＤＥの状態に応じて、比較回路７６による比較結果を一致線に出力するモードを備えるものである。すなわち、この３値ＣＡＭ９０を２値ＣＡＭとして使用する場合には、メインメモリセル７２にデータを設定するだけで、すなわち、１回の書き込みで２値ＣＡＭとして使用することができる。
【００１５】
しかし、この３値ＣＡＭ９０においては、各々のＣＡＭセルに、信号ＭＯＤＥの状態に応じて、マスクデータの状態に係わらず、比較回路７６による比較結果を一致線に出力するための回路を設ける必要があるので、必然的にＣＡＭセル面積が増大するという問題点がある。
【００１６】
近年、ＣＡＭの大容量化に対する要求は強く、セル面積の増大は大きな問題となる。従って、セル面積を大きくすることなく、かつ、２値ＣＡＭとして使用する場合に冗長なマスクデータのライトサイクルを必要としない３値ＣＡＭが必要とされている。
【００１７】
本発明の目的は、前記従来技術に基づく問題点を解消し、回路規模を増大させることなく、１回の書き込みで３値ＣＡＭを２値ＣＡＭとして使用することができる連想メモリ装置を提供することにある。
【００１８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、‘０’、‘１’ないしは‘ドントケア’の状態を表す３値のデータを記憶する、少なくとも１つのＣＡＭセルを備え、
前記ＣＡＭセルは、データビット線対を介して印加されるデータを記憶するデータセルと、マスクビット線対を介して印加される、前記ＣＡＭセルを一致検索動作からマスクするためのマスクデータを記憶するマスクセルと、前記データセルに記憶されたデータと一致検索のキーデータである比較データとを比較し、前記マスクセルにマスクしない状態のマスクデータが記憶されていれば前記比較した結果を出力し、マスクする状態のマスクデータが記憶されていれば前記比較の結果として常に一致を出力する比較回路とを備えるとともに、
バイナリー線と、ライトデータ線と、前記データビット線対に前記データセルに記憶するデータを印加する第１のライトドライバと、前記マスクビット線対に前記マスクセルに記憶するマスクデータを印加する第２のライトドライバとを有するドライバを備え、
前記バイナリー線を２値のデータが書き込まれることを指示するレベルとすることにより、前記第１のライトドライバが前記データビット線対に前記ライトデータ線から受け取ったデータを印加して前記データセルに記憶するのと同時に、前記第２のライトドライバが前記マスクビット線対に前記マスクしない状態のマスクデータを印加して前記マスクセルに記憶することを特徴とする連想メモリ装置を提供するものである。
【００１９】
ここで、上記に記載の連想メモリ装置であって、さらに、
前記ドライバが、前記第１のライトドライバに接続されたデータライトイネーブル線と、前記第２のライトドライバに接続されたマスクライトイネーブル線とを備え、
前記バイナリー線を３値のデータが書き込まれることを指示するレベルとするとともに、前記データライトイネーブル線と前記マスクライトイネーブル線の一方を‘１’のレベルとし、他方を‘０’のレベルとすることにより、前記第１のライトドライバが前記データビット線対に前記ライトデータ線から受け取ったデータを印加して前記データセルに記憶するのとは独立に、前記第２のライトドライバが前記マスクビット線対に前記ライトデータ線から受け取ったデータを印加して前記マスクセルに記憶することが好ましい。
【００２１】
また、本発明は、３値のデータを記憶する、少なくとも１つのＣＡＭセルを備え、
前記ＣＡＭセルは、第１のデータを記憶する第１のデータセルと、第２のデータを記憶する第２のデータセルと、前記第１および第２のデータによって対応付けされる‘１’、‘０’ないしは‘ドントケア’の３値のデータと一致検索のキーデータである比較データとを比較し、３値のデータが‘１’または‘０’であれば前記比較した結果を出力し、‘ドントケア’であれば前記比較の結果として常に一致を出力する比較回路とを備え、
前記第１および第２のデータの‘０，０’に対して３値のデータの‘０’または‘１’の内の一方が対応付けられ、前記第１および第２のデータの‘１，１’に対して３値のデータの‘０’または‘１’の内の他方が対応付けられ、前記第１および第２のデータの‘０，１’および‘１，０’のいずれか一方に対して３値のデータの‘ドントケア’が対応付けられ、
さらに、データをライトデータ信号線対に印加するライトドライバと、前記第１のデータセルに接続された第１のデータビット線対と、前記第２のデータセルに接続された第２のデータビット線対と、前記ライトデータ信号線対と前記第１のデータビット線対との間に設けられた第１のカラムゲートと、前記ライトデータ信号線対と前記第２のデータビット線対との間に設けられた第２のカラムゲートと、前記第１のカラムゲートを選択する第１の選択信号線と、前記第２のカラムゲートを選択する第２の選択信号線とを備え、
前記第１および第２の選択信号線を、同時に、前記第１および第２のカラムゲートを選択するレベルにすることにより、前記ライトデータ信号線対に印加されたデータを前記第１のカラムゲートを介して前記第１のデータビット線対に印加するのと同時に前記第２のカラムゲートを介して前記第２のデータビット線対に印加し、前記第１および第２のデータセルに同時に同一データを記憶して、前記ＣＡＭセルに２値のデータを記憶することを特徴とする連想メモリ装置を提供する。
【００２２】
ここで、上記に記載の連想メモリ装置であって、
前記第１および第２の選択信号線のいずれかだけを対応するカラムゲートを選択するレベルにすることにより、前記ライトデータ信号線対に印加されたデータを前記第１のカラムゲートを介して前記第１のデータビット線対に印加して前記第１のデータセルに記憶するのとは独立に、前記ライトデータ信号線対に印加されたデータを前記第２のカラムゲートを介して前記第２のデータビット線対に印加して前記第２のデータセルに記憶して、前記ＣＡＭセルに３値のデータを記憶することが好ましい。
【００２３】
また、本発明は、３値のデータを記憶する、少なくとも１つのＣＡＭセルを備え、
前記ＣＡＭセルは、第１のデータを記憶する第１のデータセルと、第２のデータを記憶する第２のデータセルと、前記第１および第２のデータによって対応付けされる‘１’、‘０’ないしは‘ドントケア’の３値のデータと一致検索のキーデータである比較データとを比較し、３値のデータが‘１’または‘０’であれば前記比較した結果を出力し、‘ドントケア’であれば前記比較の結果として常に一致を出力する比較回路とを備え、
前記第１および第２のデータの‘０，０’に対して３値のデータの‘０’または‘１’の内の一方が対応付けられ、前記第１および第２のデータの‘１，１’に対して３値のデータの‘０’または‘１’の内の他方が対応付けられ、前記第１および第２のデータの‘０，１’および‘１，０’のいずれか一方に対して３値のデータの‘ドントケア’が対応付けられ、
さらに、前記第１のデータセルに接続され、当該第１のデータセルを選択するための第１のワード線と、前記第２のデータセルに接続され、当該第２のデータセルを選択するための第２のワード線と、前記第１および第２のデータセルに接続され、これらの第１および第２のデータセルに記憶されるデータが印加されるデータビット線対とを備え、
前記第１のワード線と第２のワード線とを、同時に、前記第１のデータセルおよび第２のデータセルを選択するレベルにすることにより、前記第１および第２のデータセルを選択して該第１および第２のデータセルに同時に同一データを記憶して、前記ＣＡＭセルに２値のデータを記憶することを特徴とする連想メモリ装置を提供する。
【００２４】
また、上記に記載の連想メモリ装置であって、
前記第１のワード線もしくは第２のワード線のどちらかを対応するデータセルを選択するレベルにすることにより、前記第１のデータセルを選択して前記第１のデータを記憶するのとは独立に、前記第２のデータセルを選択して前記第２のデータを記憶して、前記ＣＡＭセルに３値のデータを記憶することが好ましい。
【００２５】
【発明の実施の形態】
以下に、添付の図面に示す好適実施例に基づいて、本発明の連想メモリ装置を詳細に説明する。
【００２６】
図１は、本発明の連想メモリ装置の一実施例の構成概念図である。
同図に示す連想メモリ装置（以下、ＣＡＭという）１０は、‘０’、‘１’および‘ドントケア’の３つの状態のいずれかの状態に設定可能な３値ＣＡＭの１ビット分のメモリセル（以下、ＣＡＭセルという）を表したものであり、データセル（ＤＡＴＡ）１２と、マスクセル（ＭＡＳＫ）１４と、マスク可能な比較回路（ＭＣＭＰ）１６とを備えている。
【００２７】
なお、図示例では、説明を簡単化するために、１ビット分のＣＡＭセルだけを示しているが、ＣＡＭ１０が備えるＣＡＭセルのビット数に何ら制限はない。また、ＣＡＭ１０が複数ビットのＣＡＭセルを備えている場合、その１ワードは１ビット以上、何ビットのＣＡＭセルを用いて構成されていてもよいし、そのワード数も何ら限定されない。
【００２８】
図示例のＣＡＭ１０において、まず、データセル１２は、一致検索の対象となる１ビットのデータを記憶するものである。このデータセル１２には、データセル１２にデータを書き込んだり、データセル１２からデータを読み出す時に用いられる相補的な信号線対であるデータビット線対ＤＢＩＴ，ＤＢＩＴＮと、このデータセル１２を選択し、データの読み書きを制御するためのワード線ＷＬとが接続されている。
【００２９】
一方、マスクセル（ＭＡＳＫ）１４は、このＣＡＭセルを一致検索動作からマスクするための１ビットのマスクデータを記憶するものである。マスクセル１４には、マスクセル１４に対してマスクデータの読み書きを行う時に用いられる相補的な信号線対であるマスクビット線対ＭＢＩＴ，ＭＢＩＴＮと、このマスクセル１４を選択し、マスクデータの読み書きを制御するためのワード線（データセル１２と共通）ＷＬとが接続されている。
【００３０】
なお、データセル１２およびマスクセル１４は、１ビットのデータおよびマスクデータを保持することができればどのような回路構成であってもよく、従来公知の構成のメモリセルがいずれも適用可能である。
【００３１】
続いて、比較回路１６は、データセル１２から相補的な信号線対であるデータ信号線対Ｄ，ＤＮを介して供給されるデータと相補的な信号線対である比較データ線対ＣＭＰ，ＣＭＰＮを介して供給される一致検索のキーデータである比較データとを比較し、マスクセル１４からマスクデータの反転信号線ＭＮを介して供給されるマスクデータの反転信号の状態に応じて、その比較結果を一致線ＭＬに出力するものである。
【００３２】
本実施例では、マスクデータの反転信号が‘０’、すなわち、マスクデータが‘１’の場合、データセル１２に保持されているデータがマスクされ（ドントケアとされ）、その値に関係なく、比較回路１６による比較結果は一致の状態とされる。一方、マスクデータの反転信号が‘１’、すなわち、マスクデータが‘０’の場合、データセル１２に保持されているデータと比較データとの比較結果が一致線ＭＬに出力される。
【００３３】
以下、図２（ａ）および（ｂ）に示す具体例を挙げて、比較回路１６について説明する。
【００３４】
まず、同図（ａ）に示す比較回路１６ａは、５つのＮ型ＭＯＳトランジスタ（以下、ＮＭＯＳという）１８，２０，２２，２４，２６によって構成されている。
【００３５】
ここで、ＮＭＯＳ１８は、一致線ＭＬとノードＡとの間に接続され、そのゲートはマスクデータの反転信号線ＭＮに接続されている。また、ＮＭＯＳ２０，２２はノードＡとグランドとの間に直列に接続され、そのゲートは、それぞれデータ線Ｄおよび比較データ線ＣＭＰＮに接続されている。同様に、ＮＭＯＳ２４，２６はノードＡとグランドとの間に直列に接続され、そのゲートは、それぞれデータ線ＤＮおよび比較データ線ＣＭＰに接続されている。
【００３６】
同図（ａ）に示す比較回路１６ａにおいて、一致線ＭＬは、一致検索の開始前に、図示していないプリチャージ回路により、あらかじめ‘１’のレベルにプリチャージされる。
【００３７】
一致検索を行うに際し、マスクデータの反転信号線ＭＮが‘０’の場合、ＮＭＯＳ１８は常にオフであり、比較回路１６ａは、データ信号線対Ｄ，ＤＮおよび比較データ線対ＣＭＰ，ＣＭＰＮの状態に関わらず一致線ＭＬから電気的に分離される。すなわち、データセル１２に保持されているデータはマスクされ（ドントケアとされ）、本実施例の場合、一致線ＭＬは、プリチャージされた‘１’の状態を保持する。
【００３８】
一方、マスクデータの反転信号線ＭＮが‘１’の場合、データ信号線Ｄおよび比較データ線ＣＭＰＮが共に‘１’、または、データビット線ＤＮおよび比較データ線ＣＭＰが共に‘１’の時、言い換えると、データセル１２に保持されているデータと比較データとが不一致の時に、一致線ＭＬは、オンしたＮＭＯＳ１８，２０，２２またはＮＭＯＳ１８，２４，２６を介してグランド電位までディスチャージされて‘０’となり、それ以外の時には‘１’の状態を保持する。
【００３９】
また、図２（ｂ）に示す比較回路１６ｂは、４つのＮＭＯＳ２８，３０，３２，３４によって構成されている。
【００４０】
ここで、ＮＭＯＳ２８，３０は、比較データ線ＣＭＰＮおよびＣＭＰの間に直列に接続され、そのゲートは、それぞれデータ信号線ＤおよびＤＮに接続されている。また、ＮＭＯＳ３２，３４は、一致線ＭＬとグランドとの間に直列に接続され、そのゲートは、それぞれマスクデータの反転信号線ＭＮおよびノードＢに接続されている。
【００４１】
図２（ｂ）に示す比較回路１６ｂにおいて、マスクデータの反転信号線ＭＮが‘０’の場合、ＮＭＯＳ３２は常にオフであり、比較回路１６ｂは、データ信号線対Ｄ，ＤＮおよび比較データ線対ＣＭＰ，ＣＭＰＮの状態に関わらず一致線ＭＬから電気的に分離される。すなわち、データセル１２に保持されているデータはマスクされ（ドントケアとされ）、本実施例の場合、一致線ＭＬは、プリチャージされた‘１’の状態を保持する。
【００４２】
一方、マスクデータの反転信号線ＭＮが‘１’の場合、データ信号線Ｄおよび比較データ線ＣＭＰＮが共に‘１’、または、データビット線ＤＮおよび比較データ線ＣＭＰが共に‘１’の時、言い換えると、データセル１２に保持されているデータと比較データとが不一致の時に、一致線ＭＬは、オンしたＮＭＯＳ３２，３４を介してグランド電位までディスチャージされて‘０’となり、それ以外の時には‘１’の状態を保持する。
【００４３】
なお、比較回路１６の具体例を挙げて説明したが、その回路構成は何ら限定されず、上述する機能を実現するためのどのような回路構成であってもよく、従来公知のものがいずれも利用可能である。
【００４４】
続いて、図３を参照しながら、図１に示すＣＡＭセルのドライバについて説明する。
【００４５】
図３に示すドライバ３６は、データセル用およびマスクセル用のライトドライバ（ＷＲＩＴＥ  ＤＲＩＶＥＲ）３８，４０と、ＡＮＤゲート４２と、プリチャージ回路Ｐ，Ｑとを備えている。
【００４６】
図示例のドライバ３６において、まず、ライトドライバ３８は、データセル１２に書き込まれるデータおよびその反転データをデータビット線対ＤＢＩＴ，ＤＢＩＴＮにドライブするものである。ライトドライバ３８には、データセル１２に書き込まれるデータが印加されるライトデータ線ＷＤＡＴＡ、グローバルマスク線ＧＭＡＳＫおよびデータライトイネーブル線ＤＢ＿ＷＲＥが接続されている。
【００４７】
一方、ライトドライバ４０は、マスクセル１４に書き込まれるマスクデータおよびその反転データをマスクビット線対ＭＢＩＴ，ＭＢＩＴＮにドライブするものである。ライトドライバ４０には、ＡＮＤゲート４２の出力端子、グローバルマスク線ＧＭＡＳＫおよびマスクライトイネーブル線ＭＢ＿ＷＲＥが接続されている。また、ＡＮＤゲート４２の入力端子には、ライトデータ線ＷＤＡＴＡおよびバイナリー線ＢＩＮＡＲＹが接続されている。
【００４８】
ここで、グローバルマスク線ＧＭＡＳＫは、データセル１２へのデータの書き込み、および、マスクセル１４へのマスクデータの書き込みを禁止する制御線である。本実施例では、グローバルマスク線ＧＭＡＳＫが‘１’の場合、ライトドライバ３８，４０によってデータビット線対ＤＢＩＴ，ＤＢＩＴＮおよびマスクビット線対ＭＢＩＴ，ＭＢＩＴＮは全て‘１’にドライブされて書き込みが禁止される。
【００４９】
また、バイナリー線ＢＩＮＡＲＹは、データセル１２に書き込まれるデータがバイナリー（２値）なのかターナリー（３値）なのかを指示する信号線である。本実施例の場合、バイナリー線ＢＩＮＡＲＹが‘１’の時には、データセル１２に書き込まれるデータはバイナリーのデータ、‘０’の時にはターナリーのデータであるものとする。
【００５０】
ドライバ３６において、グローバルマスク線ＧＭＡＳＫが‘１’の場合の動作は既に述べた通りである。グローバルマスク線ＧＭＡＳＫが‘０’、すなわち、書き込みが許可されている場合、データビット線対ＤＢＩＴ，ＤＢＩＴＮは、データライトイネーブル線ＤＢ＿ＷＲＥが‘１’の期間、ライトドライバ３８により、それぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。
【００５１】
なお、データライトイネーブル線ＤＢ＿ＷＲＥが‘０’の期間、データビット線対ＤＢＩＴ，ＤＢＩＴＮは、ライトドライバ３８によってドライブされず、プリチャージ回路Ｐにより‘１’の同電位にプリチャージされる。
【００５２】
一方、マスクビット線対ＭＢＩＴ，ＭＢＩＴＮは、バイナリー線ＢＩＮＡＲＹが‘１’、すなわち、２値データの書き込みが行われる場合、ＡＮＤゲート４２の出力信号がライトデータ線ＷＤＡＴＡの状態に係わらず‘０’となり、マスクライトイネーブル線ＭＢ＿ＷＲＥが‘１’の期間、ライトドライバ４０により、それぞれ‘０’および‘１’にドライブされる。
【００５３】
また、バイナリー線ＢＩＮＡＲＹが‘０’、すなわち、３値データの書き込みが行われる場合、ＡＮＤゲート４２の出力信号は、ライトデータ線ＷＤＡＴＡのレベルとなる。従って、マスクビット線対ＭＢＩＴ，ＭＢＩＴＮは、マスクライトイネーブル線ＭＢ＿ＷＲＥが‘１’の期間、ライトドライバ４０により、それぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。
【００５４】
なお、マスクライトイネーブル線ＭＢ＿ＷＲＥが‘０’の期間、マスクビット線対ＭＢＩＴ，ＭＢＩＴＮは、ライトドライバ４０によってドライブされず、プリチャージ回路Ｑにより‘１’の同電位にプリチャージされる。
【００５５】
ドライバ３６の回路構成は図示例のものに限定されず、同一の機能を実現する他の回路構成であってもよい。また、ライトドライバ３８，４０も上記機能を実現するものであればよく、その具体的な回路構成は限定されない。
【００５６】
次に、グローバルマスク線ＧＭＡＳＫが‘０’の場合、すなわち、書き込みが許可されている場合について、図１〜３に示す本発明のＣＡＭ１０の動作を説明する。
【００５７】
２値データを書き込む場合、言い換えると、ＣＡＭ１０を２値ＣＡＭとして使用する場合、バイナリー線ＢＩＮＡＲＹが‘１’とされ、データセル１２に書き込もうとするデータがライトデータ線ＷＤＡＴＡに印加される。
【００５８】
続いて、データライトイネーブル線ＤＢ＿ＷＲＥが‘１’とされ、データビット線対ＤＢＩＴ，ＤＢＩＴＮは、ライトドライバ３８により、それぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。また、同時にマスクライトイネーブル線ＭＢ＿ＷＲＥが‘１’とされ、マスクビット線対ＭＢＩＴ，ＭＢＩＴＮは、ライトドライバ４０により、前述の通りそれぞれ‘０’および‘１’にドライブされる。
【００５９】
その後、ワード線ＷＬが‘１’となり、データビット線対ＤＢＩＴ，ＤＢＩＴＮにドライブされたデータがデータセル１２に書き込まれ、これと同時にマスクビット線対ＭＢＩＴ，ＭＢＩＴＮにドライブされたマスクデータ、すなわち、‘０’がマスクセル１４に書き込まれる。つまり、データセル１２にデータが書き込まれるのと同時にマスクセル１４は、マスクしない（ドントケアではない）状態に設定される。
【００６０】
従って、本実施例のＣＡＭ１０を２値ＣＡＭとして使用する場合、１回の書き込みだけでＣＡＭ１０を２値ＣＡＭとして使用することができる。
【００６１】
一方、３値データを書き込む場合、言い換えると、ＣＡＭ１０を３値ＣＡＭとして使用する場合、バイナリー線ＢＩＮＡＲＹが‘０’とされ、例えばデータセル１２に書き込もうとするデータがライトデータ線ＷＤＡＴＡにドライブされる。
【００６２】
この場合、データライトイネーブル線ＤＢ＿ＷＲＥが‘１’とされ、データビット線対ＤＢＩＴ，ＤＢＩＴＮは、ライトドライバ３８により、それぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。なお、この時、マスクビット線対ＭＢＩＴ，ＭＢＩＴＮはドライブされず、プリチャージ回路Ｑにより共に‘１’の同電位にプリチャージされる。
【００６３】
その後、ワード線ＷＬが‘１’となり、データビット線対ＤＢＩＴ，ＤＢＩＴＮにドライブされたデータがデータセル１２に書き込まれる。なお、この時、マスクビット線対ＭＢＩＴ，ＭＢＩＴＮは共にハイインピーダンス状態であり、マスクセル１４によりどちらか一方がゆっくりと引き落とされるが、マスクセル１４に保持されているマスクデータのレベルは変化しない。また、マスクセル１４にマスクデータを書き込む場合の動作は、前述のデータセル１２とマスクセル１４の立場が逆になる点を除いて同じである。
【００６４】
次に、別の実施例を挙げて、本発明のＣＡＭを説明する。
【００６５】
図４は、本発明の連想メモリ装置の別の実施例の構成概念図である。
同図に示すＣＡＭ４４も、説明を簡単化するために、１ビット分の３値ＣＡＭセルだけを示したものであり、２つのデータセル４６，４８と、比較回路５０とを備えている。
【００６６】
データセル４６，４８は、図１に示すデータセル１２と同じ構成のものである。データセル４６には、ビット線対ＢＩＴ１，ＢＩＴ１Ｎが接続され、データセル４８には、ビット線対ＢＩＴ２，ＢＩＴ２Ｎが接続されている。また、データセル４６，４８には、同じワード線ＷＬが共通に接続されている。すなわち、２つのデータセル４６，４８には、それぞれ独立したビット線対が接続され、共通のワード線が接続されている。
【００６７】
ＣＡＭ４４では、データセル４６，４８に記憶される２ビットのデータ１，２（Ｄ１，Ｄ２）に対して、３値ＣＡＭの‘１’、‘０’および‘ドントケア’の各状態が対応付けられる。本実施例の場合、図５の対応表に示すように、データ１，２が‘０，０’の場合に３値データの‘０’、‘１，１’の場合に‘１’、‘１，０’の場合に‘ドントケア’がそれぞれ対応付けられている。また、データ１，２が‘０，１’の設定は無効である。
【００６８】
なお、データセル４６，４８に記憶されるデータと３値データとの間の対応付けはこれに限定されず、データ１，２の‘０，０’を３値データの‘０’または‘１’の一方に対応付け、‘１，１’を‘０’または‘１’の他方に対応付けることができる。
【００６９】
比較回路５０は、４つのＮＭＯＳ５２，５４，５６，５８を備えている。ＮＭＯＳ５２，５４は、一致線ＭＬとグランドとの間に直列に接続され、そのゲートは、それぞれデータセル４６の出力信号の反転信号Ｄ１Ｎおよび比較データ線ＣＭＰに接続されている。また、ＮＭＯＳ５６，５８は、一致線ＭＬとグランドとの間に直列に接続され、そのゲートは、それぞれデータセル４８の出力信号Ｄ２および比較データ線ＣＭＰＮに接続されている。
【００７０】
この比較回路５０は、データセル４６，４８に保持されているデータによって対応付けされる‘１’、‘０’ないしは‘ドントケア’の３値データと、比較データ線対ＣＭＰ，ＣＭＰＮを介して供給される比較データとを比較し、その比較結果を一致線ＭＬに出力する。
【００７１】
例えば、３値データとして‘０’が保持されている場合、図５の対応表に示すように、データ信号Ｄ１Ｎは‘１’、データ信号Ｄ２は‘０’となる。この時、比較データとして‘０’、すなわち、比較データ線対ＣＭＰ，ＣＭＰＮに‘０，１’がドライブされると、ＮＭＯＳ５２，５６はオンおよびオフであり、ＮＭＯＳ５４，５８はオフおよびオンである。従って、一致の状態が検出され、一致線ＭＬはプリチャージされた‘１’の状態を維持する。
【００７２】
これに対し、比較データとして‘１’、すなわち、比較データ線対ＣＭＰ，ＣＭＰＮに‘１，０’がドライブされると、ＮＭＯＳ５４，５８はオン、オフする。従って、一致線ＭＬのレベルは、ＮＭＯＳ５２，５４を介してディスチャージされ、‘０’になる。すなわち、不一致が検出される。なお、３値データとして‘１’が保持されている場合の動作も‘０’が保持されている場合と立場が逆になるだけで同様である。
【００７３】
一方、３値データとして‘ドントケア’が保持されている場合、図５の対応表に示すように、データ信号Ｄ１Ｎ，Ｄ２は共に‘０’となる。この時、比較データとして‘０’が与えられても‘１’が与えられても、ＮＭＯＳ５２，５６は常にオフなので、一致線ＭＬは、プリチャージされた‘１’の状態、すなわち、比較結果として、常に一致が検出された状態が維持される。
【００７４】
続いて、図６を参照しながら、図４に示すＣＡＭセルのドライバについて説明する。
【００７５】
図６に示すドライバ６０は、ライトドライバ（ＷＲＩＴＥ  ＤＲＩＶＥＲ）６２と、それぞれデータセル４６，４８用のカラムゲート（ＣＯＬ１，ＣＯＬ２）６４，６６と、プリチャージ回路Ｒ，Ｓ，Ｔとを備えている。
【００７６】
まず、ライトドライバ６２は、図３に示すライトドライバ３８，４０と同じ構成のものである。ライトドライバ６２には、ライトデータ線ＷＤＡＴＡ、グローバルマスク線ＧＭＡＳＫおよびライトイネーブル線ＷＲＥが接続されている。
【００７７】
ドライバ６０において、ライトドライバ６２の動作は、図３に示すライトドライバ３８，４０と同じである。すなわち、グローバルマスク線ＧＭＡＳＫが‘１’の場合、ライトデータ信号線対ＤＬ，ＤＬＮは、プリチャージ回路Ｒにより共に‘１’の同電位にドライブされ、‘０’の場合には、ライトイネーブル線ＷＲＥが‘１’の期間、それぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。
【００７８】
なお、ライトイネーブル線ＷＲＥが‘０’の期間、ライトデータ信号線対ＤＬ，ＤＬＮは、ライトドライバ６２によってドライブされず、プリチャージ回路Ｒにより‘１’の同電位にプリチャージされた状態を保持する。
【００７９】
また、カラムゲート６４，６６は、それぞれデータビット線対ＢＩＴ１，ＢＩＴ１Ｎおよびデータビット線対ＢＩＴ２，ＢＩＴ２Ｎをドライブするものである。カラムゲート６４には、選択信号線Ｄ１ＳＥＬの他、ライトドライバ６２からライトデータ信号線対ＤＬ，ＤＬＮが接続されている。また、カラムゲート６６には、選択信号線Ｄ２ＳＥＬの他、同じくライトドライバ６２からライトデータ信号線対ＤＬ，ＤＬＮが接続されている。
【００８０】
カラムゲート６４では、選択信号線Ｄ１ＳＥＬが‘１’の期間、ライトデータ信号線対ＤＬ，ＤＬＮにドライブされたレベルがデータビット線対ＢＩＴ１，ＢＩＴ１Ｎにドライブされる。また、カラムゲート６６の動作も同様である。
【００８１】
なお、ドライバ６０の回路構成は図示例のものに限定されず、同一の機能を実現する他の回路構成であってもよい。また、ライトドライバ６２およびカラムゲート６４，６６も上記機能を実現するものであればよく、その具体的な回路構成は限定されない。
【００８２】
次に、図４に示す本発明のＣＡＭ４４の動作を説明する。
【００８３】
２値データを書き込む場合、書き込もうとするデータがライトデータ線ＷＤＡＴＡに印加される。本実施例の場合、ライトデータ線ＷＤＡＴＡに‘０’を書き込む場合には‘０’が、逆に‘１’を書き込む場合には‘１’が印加される。
【００８４】
続いて、ライトイネーブル線ＷＲＥが‘１’とされ、ライトデータ信号線対ＤＬ，ＤＬＮは、ライトドライバ６２により、それぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。また、選択信号線Ｄ１ＳＥＬ，Ｄ２ＳＥＬが同時に‘１’とされ、データビット線対ＢＩＴ１，ＢＩＴ１Ｎもそれぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。データビット線対ＢＩＴ２，ＢＩＴ２Ｎも同じである。
【００８５】
その後、ワード線ＷＬが‘１’となり、データビット線対ＢＩＴ１，ＢＩＴ１Ｎにドライブされたデータがデータセル４６に書き込まれ、これと同時に、データビット線対ＢＩＴ２，ＢＩＴ２Ｎにドライブされたデータがデータセル４８に書き込まれる。つまり、データセル４６，４８は、ライトデータ線ＷＤＡＴＡが‘０’にドライブされると‘０，０’に設定され、逆に‘１’にドライブされると‘１，１’に設定される。
【００８６】
従って、本実施例のＣＡＭ４４を２値ＣＡＭとして使用する場合も、１回の書き込みだけでＣＡＭ４４を２値ＣＡＭとして使用することができる。
【００８７】
一方、３値データを書き込む場合、例えばデータセル４６に書き込もうとするデータがライトデータ線ＷＤＡＴＡにドライブされる。
【００８８】
この場合、ライトイネーブル線ＷＲＥが‘１’とされ、ライトデータ信号線対ＤＬ，ＤＬＮは、ライトドライバ６２により、それぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。
【００８９】
また、選択信号線Ｄ１ＳＥＬだけが‘１’とされ、データビット線対ＢＩＴ１，ＢＩＴ１Ｎもそれぞれライトデータ線ＷＤＡＴＡのレベルおよびその反転レベルにドライブされる。なお、この時、データビット線対ＢＩＴ２，ＢＩＴ２Ｎはドライブされず、プリチャージ回路Ｔにより共に‘１’の同電位にプリチャージされた状態を保持する。
【００９０】
その後、ワード線ＷＬが‘１’となり、データビット線対ＢＩＴ１，ＢＩＴ１Ｎにドライブされたデータがデータセル４６に書き込まれる。なお、この時、データビット線対ＢＩＴ２，ＢＩＴ２Ｎは共にハイインピーダンス状態であり、データセル４８によりどちらか一方がゆっくり引き落とされるが、データセル４８に保持されているデータのレベルは変化しない。また、データセル４８にデータを書き込む場合の動作は、データセル４６と立場が逆になる点を除いて同じである。
【００９１】
次に、さらに別の実施例を挙げて、本発明のＣＡＭを説明する。
【００９２】
図７は、本発明の連想メモリ装置の別の実施例の構成概念図である。
同図に示すＣＡＭ６８は、図４に示すＣＡＭ４４において、２つのデータセル４６，４８に対してデータビット線対ＢＩＴ，ＢＩＴＮを共通に接続し、データセル４６にはワード線ＷＬ１を、また、データセル４８にはワード線ＷＬ２を接続したものである。なお、同一の構成要件には同一の符号を付し、その詳細な説明は省略する。
【００９３】
図示していないが、図７に示すＣＡＭセルのドライバは、例えば図６に示すドライバ６０のライトドライバ６２と同じものを用いることができる。この場合、ライトデータ信号線対ＤＬ，ＤＬＮがそれぞれデータビット線対ＢＩＴ，ＢＩＴＮに対応する信号線となる。また、２つのデータセル４６，４８の設定と３値ＣＡＭの‘０’、‘１’および‘ドントケア’の各状態との関係は図５の対応表に示す通りである。
【００９４】
次に、図７に示す本発明のＣＡＭ６８の動作を説明する。
【００９５】
２値データを書き込む場合、例えば‘０’を書き込む場合には、図示省略したドライバにより、データビット線対ＢＩＴ，ＢＩＴＮは‘０，１’にドライブされ、逆に‘１’を書き込む場合には‘１，０’にドライブされる。
【００９６】
その後、ワード線ＷＬ１，ＷＬ２が同時に‘１’となり、データビット線対ＢＩＴ，ＢＩＴＮにドライブされたデータが２つのデータセル４６，４８に同時に書き込まれる。つまり、データセル４６，４８は、‘０’が書き込まれると‘０，０’に設定され、逆に‘１’が書き込まれると‘１，１’に設定される。
【００９７】
従って、本実施例のＣＡＭ６８を２値ＣＡＭとして使用する場合も、１回の書き込みだけでＣＡＭ６８を２値ＣＡＭとして使用することができる。
【００９８】
また、３値データを書き込む場合、ワード線ＷＬ１もしくはＷＬ２のどちらかを‘１’とすることにより、データビット線対ＢＩＴ，ＢＩＴＮにドライブされたデータが、各々対応するデータセル４６もしくは４８に書き込まれる。
【００９９】
本発明の連想メモリ装置は、基本的に以上のようなものである。
以上、本発明の連想メモリ装置について詳細に説明したが、本発明は上記実施例に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【０１００】
【発明の効果】
以上詳細に説明した様に、本発明の連想メモリ装置によれば、３値ＣＡＭを２値ＣＡＭとして使用する場合に、ＣＡＭセル面積すなわち回路規模を増大させることなく、１回のライトサイクルで３値ＣＡＭを２値ＣＡＭとして使用することができる。
【図面の簡単な説明】
【図１】  本発明の連想メモリ装置の一実施例の構成概念図である。
【図２】  （ａ）および（ｂ）は、どちらも比較回路の一実施例の構成回路図である。
【図３】  図１のＣＡＭで用いられるドライバの一実施例の構成概念図である。
【図４】  本発明の連想メモリ装置の別の実施例の構成概念図である。
【図５】  データセルの設定と３値ＣＡＭの状態との関係を表す一実施例の対応表である。
【図６】  図４のＣＡＭで用いられるドライバの一実施例の構成概念図である。
【図７】  本発明の連想メモリ装置の別の実施例の構成概念図である。
【図８】  従来の連想メモリ装置の一例の構成概念図である。
【図９】  従来の連想メモリ装置の別の例の構成概念図である。
【符号の説明】
１０，４４，６８，７０，９０  連想メモリ装置
１２，４６，４８  データセル
１４  マスクセル
１６，１６ａ，１６ｂ，５０，７６  比較回路
１８，２０，２２，２４，２６，２８，３０，３２，３４，５２，５４，５６，５８  Ｎ型ＭＯＳトランジスタ
３６，６０  ドライバ
３８，４０，６２  ライトドライバ
４２  ＡＮＤゲート
６４，６６  カラムゲート
７２  メインメモリセル
７４  マスクメモリセル
７８  マスク回路
８０  プリチャージ回路
Ｐ，Ｑ，Ｒ，Ｓ，Ｔ  プリチャージ回路
ＤＢＩＴ，ＤＢＩＴＮ  データビット線対
ＢＩＴ１，ＢＩＴ１Ｎ  データビット線対
ＢＩＴ２，ＢＩＴ２Ｎ  データビット線対
ＢＩＴ，ＢＩＴＮ  データビット線対
ＢＬ，ＢＬＢ  データビット線対
ＭＢＩＴ，ＭＢＩＴＮ  マスクビット線対
ＣＭＰ，ＣＭＰＮ  比較データ線対
ＣＭＰ，ＣＭＰＢ  比較データ線対
ＷＬ，ＷＬ１，ＷＬ２  ワード線
Ｄ，ＤＮ  データ信号線対
ＭＮ  マスクデータの反転信号線
ＭＬ  一致線
ＭＯＤＥ  信号
ＷＤＡＴＡ  ライトデータ線
ＧＭＡＳＫ  グローバルマスク線
ＢＩＮＡＲＹ  バイナリー線
ＤＢ＿ＷＲＥ  データライトイネーブル線
ＭＢ＿ＷＲＥ  マスクライトイネーブル線
ＷＲＥ  ライトイネーブル線
Ｄ１ＳＥＬ，Ｄ２ＳＥＬ  選択信号線
ＢＬＰＣＮ  プリチャージ線
【図１】
0003808753.tif 000002
【図２】
0003808753.tif 000003
【図３】
0003808753.tif 000004
【図４】
0003808753.tif 000005
【図５】
0003808753.tif 000006
【図６】
0003808753.tif 000007
【図７】
0003808753.tif 000008
【図８】
0003808753.tif 000009
【図９】
0003808753.tif 000010