JP2002237190A - 連想メモリ装置およびその構成方法 - Google Patents

連想メモリ装置およびその構成方法

Info

Publication number
JP2002237190A
JP2002237190A JP2001031103A JP2001031103A JP2002237190A JP 2002237190 A JP2002237190 A JP 2002237190A JP 2001031103 A JP2001031103 A JP 2001031103A JP 2001031103 A JP2001031103 A JP 2001031103A JP 2002237190 A JP2002237190 A JP 2002237190A
Authority
JP
Japan
Prior art keywords
data
cam
binary
word
memory device
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.)
Withdrawn
Application number
JP2001031103A
Other languages
English (en)
Inventor
Ryuichi Hata
竜一 籏
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2001031103A priority Critical patent/JP2002237190A/ja
Priority to US10/062,414 priority patent/US6707692B2/en
Publication of JP2002237190A publication Critical patent/JP2002237190A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores

Abstract

(57)【要約】 【課題】2値/3値のどちらにもデータを設定可能で、
2値連想メモリ装置として使用した場合にも記憶ビット
が無駄にならないようにする。 【解決手段】本発明の連想メモリ装置は、‘0’および
‘1’の2値のデータを設定可能な2値CAMセルを用
いて構成され、2値CAMセルを2値CAMセルとして
使用し、当該連想メモリ装置を2値連想メモリ装置とし
て使用するか、2ビット分の2値CAMセルを1組とし
て、各々の組の2ビット分の2値CAMセルに記憶され
た2ビットのデータで表現可能な‘00’、‘01’、
‘10’および‘11’の4つの状態に、‘0’、
‘1’および‘X(ドントケア)’の3つの状態を割り
当て、3値のデータを設定可能な3値CAMセルとして
使用し、当該連想メモリ装置を3値連想メモリ装置とし
て使用するかを設定可能に構成されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、‘0’および
‘1’の2値のデータを設定可能な連想メモリ装置とし
ても、これに加えて‘X(ドントケア)’を含む3値の
データを設定可能な連想メモリ装置としても使用可能な
連想メモリ装置およびその構成方法に関するものであ
る。
【0002】
【従来の技術】近年、インターネットの発展により、例
えばスイッチングハブやルータ等のネットワークを構築
する中継装置に対して、高速性、高機能が要求されるよ
うになってきている。このような要求に対応するため
に、これらの装置では、例えばアドレスフィルタリン
グ、パケットの分類処理(クラシフィケーション)等の
処理に連想メモリ(CAM:Content Addressable Memo
ry)装置を使用することが多くなってきた。
【0003】CAM装置は、ネットワークのOSI(Op
en Systems Interconnection)モデルのレイヤー2,
3,4の各レイヤーでも使用されることが多い。この場
合、検索キーデータの長さは32〜256ビット以上ま
で様々であり、CAMの機能としては、従来の‘0’と
‘1’のみのデータを持つ2値(Binary)CAMの構成
で十分なものや、これに加えて‘X(Don't care)’の
データを持つ3値(Ternary )CAM構成の機能が必要
なものもある。
【0004】以下、従来の2値および3値のデータを設
定可能なCAM装置(以下、単に2値および3値のCA
M装置という)について説明する。
【0005】図10は、従来のCAM装置の一実施例の
構成概念図である。同図に示すCAM装置90は、mビ
ット幅×nワード構成のCAMメモリアレイ92と、書
込データ、読出データおよび検索データをドライブする
I/O(入出力)回路94と、アドレス信号ADRをデ
コードし、これに対応したCAMワードを指定するデコ
ーダ96と、優先順位に従って、一致の検出されたCA
Mワードのアドレスをエンコードして出力する優先順位
エンコーダ98とを備えている。
【0006】図示例のCAM装置90において、データ
の書き込み時には、デコーダ96によりアドレス信号A
DRに対応するワードが選択され、I/O回路94によ
り、外部から入力される書込データが、デコーダ96に
より選択されたCAMワードに記憶データとして書き込
まれる。一方、読み出し時には、デコーダ96により選
択されたCAMワードから記憶データが読み出され、I
/O回路94により、読出データとして外部へ出力され
る。
【0007】また、検索データと記憶データとの一致検
索時には、外部から入力される検索データがI/O回路
94によりドライブされ、全てのCAMワードで同時に
検索データと記憶データとの一致検索が行われる。各々
のCAMワードでの検索結果は、一致線を介して優先順
位エンコーダ98へ入力され、所定の優先順位に従っ
て、一致が検出されたCAMワードのメモリアドレスが
最優先順位ヒットアドレス(HHA)として順次出力さ
れる。
【0008】ここで、2値のCAM装置はCAMセルが
2値CAMセルにより構成され、3値のCAM装置はC
AMセルが3値CAMセルにより構成されている。
【0009】まず、図11は、従来のCAM装置で用い
られる2値CAMセルの一例の構成回路図である。同図
に示す2値CAMセル100は、‘0’または‘1’の
1ビットのデータ(記憶データ)を記憶するデータ記憶
部102と、このデータ記憶部102に保持されている
記憶データとCAM装置の外部から入力される検索デー
タとを比較して、その一致検出結果を出力する一致比較
部104とから構成されている。
【0010】ここで、データ記憶部102は、従来公知
のスタティックRAM(SRAM)構成のもので、2つ
のインバータ46a,46bと、2つのN型MOSトラ
ンジスタ(以下、NMOSという)48a,48bとか
ら構成されている。2つのインバータ46a,46b
は、それぞれの出力端子が他方の入力端子に接続されて
いる。2つのNMOS48a,48bは、それぞれビッ
ト線BLおよびビットバー線/BLと2つのインバータ
46a,46bの入力端子との間に接続され、そのゲー
トにはワード線WLが共通に接続されている。
【0011】また、一致比較部104は、4つのNMO
S50a,50bおよび52a,52bから構成されて
いる。NMOS50a,52aは、一致線MLとグラン
ドとの間に直列に接続され、そのゲートには、それぞれ
インバータ46bの出力端子(D)およびビット線BL
が接続されている。また、NMOS50b,52bも、
一致線MLとグランドとの間に直列に接続され、そのゲ
ートには、それぞれインバータ46aの出力端子(/
D)およびビットバー線/BLが接続されている。
【0012】この2値CAMセル100を用いて構成さ
れた2値のCAM装置において、一致検索は、ビット線
BLおよびビットバー線/BLをローレベルとしてNM
OS52a,52bをオフし、一致線MLを電源電位に
プリチャージした後、検索データをビットバー線/BL
に、また、検索データバーをビット線BLにドライブす
ることにより行われる。
【0013】この時、記憶データと検索データとが一致
していれば、記憶データに応じてオンしているNMOS
50aまたは50bに直列に接続されたNMOS52a
または52bがオフするため、一致線MLはプリチャー
ジされた状態を保持する。これに対し、不一致であれ
ば、NMOS52aまたは52bがオンするため、両方
がオンしたNMOS50a,52aまたは50b,52
bを介して一致線MLはディスチャージされる。
【0014】一方、図12は、従来のCAM装置で用い
られる3値CAMセルの一例の構成回路図である。この
3値CAMセル106は、前述の2値CAMセル100
と同じ構成のデータ記憶部102と、このデータ記憶部
102に保持されている記憶データと検索データとの一
致検索をマスクするマスク記憶部108と、このマスク
記憶部108によりマスクされていないデータ記憶部1
02の記憶データと検索データとを比較して、その一致
検出結果を出力する一致比較部110とから構成されて
いる。
【0015】ここで、マスク記憶部108は、データ記
憶部102と同じSRAM構成のもので、2つのインバ
ータ112a,112bと、2つのNMOS114a,
114bとから構成されている。
【0016】また、一致比較部110は、図11に示す
CAMセル100の一致比較部104において、さらに
NMOS116を備える構成である。このNMOS11
6は、一致線MLとNMOS50a,50bのドレイン
との間に接続され、そのゲートには、マスク記憶部10
8のインバータ112aの出力端子(/M)に接続され
ている。
【0017】この3値CAMセル106を用いて構成さ
れた3値のCAM装置での一致検索の動作は、マスクデ
ータMとして、マスク記憶部108に‘0’が記憶され
た場合、前述の2値CAMセル100を用いて構成され
た2値のCAM装置の場合と同じである。一方、マスク
データMとしてマスク記憶部108に‘1’が記憶され
た場合、一致比較部110のNMOS116はオフする
ため、記憶データの状態に係わらず、一致線MLはハイ
レベル、すなわち、常に一致の状態を維持する。
【0018】このように、3値CAMセル106を用い
て構成されたCAM装置では、各々のワードを構成する
各ビットのCAMセル毎に独立にドントケアを設定し、
一致検索の機能をマスクすることができる。この機能を
ローカルマスクという。これに対し、CAM装置では、
全てのCAMワードの同一ビットにわたって、一致検索
の機能をマスクする機能を備えるものが従来公知であ
る。この機能をグローバルマスクという。
【0019】
【発明が解決しようとする課題】ところで、上記のよう
な構成の従来技術による2値CAM装置では、記憶デー
タとしてドントケアを指定することができないため、こ
れを3値CAM装置として使用することはできない。
【0020】また、従来の3値のCAM装置を2値のC
AM装置として使用する場合、ドントケアを指定するた
めのマスクデータを全てマスクなしの状態に設定してや
ればよいが、この場合、2値のCAM装置としては不要
なマスクビットを持つため、ビットコストの増大をもた
らす。また、2値のCAM装置では、1回で済むデータ
の書き込み動作をデータ記憶部とマスク記憶部との2回
行わなければならないという問題もあった。
【0021】本発明の目的は、前記従来技術に基づく問
題点を解消し、2値/3値のどちらにもデータを設定可
能で、2値連想メモリ装置として使用した場合にも記憶
ビットを無駄にすることのない連想メモリ装置およびそ
の構成方法を提供することにある。
【0022】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、‘0’および‘1’の2値のデータを設
定可能な2値CAMセルを用いて構成された連想メモリ
装置であって、前記2値CAMセルを2値CAMセルと
して使用し、当該連想メモリ装置を2値連想メモリ装置
として使用するか、2ビット分の前記2値CAMセルを
1組として、各々の組の2ビット分の2値CAMセルに
記憶された2ビットのデータで表現可能な‘00’、
‘01’、‘10’および‘11’の4つの状態に、
‘0’、‘1’および‘X(ドントケア)’の3つの状
態を割り当て、3値のデータを設定可能な3値CAMセ
ルとして使用し、当該連想メモリ装置を3値連想メモリ
装置として使用するかを設定可能に構成されていること
を特徴とする連想メモリ装置を提供するものである。
【0023】ここで、前記2ビット分の2値CAMセル
は、異なる2つのCAMワードに含まれるCAMセルの
組合せや、同一CAMワードに含まれるCAMセルの組
合せであるのが好ましい。
【0024】また、一致検索時に、前記2ビット分の2
値CAMセルの内の一方の2値CAMセル用の検索デー
タ用のビット線対と他方の2値CAMセル用の検索デー
タ用のビット線対とを別々に制御するのが好ましい。
【0025】また、当該連想メモリ装置を3値の連想メ
モリ装置として使用する場合に、記憶データ、マスクデ
ータ(ローカルマスク)および検索データに対して、外
部データ(論理データ)と内部データ(物理データ)と
でデータの変換処理を行うのが好ましい。
【0026】また、本発明は、‘0’および‘1’の2
値のデータを設定可能な2値CAMセルを用いて構成さ
れた連想メモリ装置において、2ビット分の前記2値C
AMセルを1組として、各々の組の2ビット分の2値C
AMセルに記憶された2ビットのデータで表現可能な
‘00’、‘01’、‘10’および‘11’の4つの
状態に、‘0’、‘1’および‘X(ドントケア)’の
3つの状態を割り当て、3値のデータを設定可能な3値
CAMセルの機能を実現することを特徴とする連想メモ
リ装置の構成方法を提供する。
【0027】
【発明の実施の形態】以下に、添付の図面に示す好適実
施例に基づいて、本発明の連想メモリ装置およびその構
成方法を詳細に説明する。
【0028】図1は、本発明の連想メモリ装置の一実施
例の構成概略図である。同図に示す連想メモリ(以下、
CAMという)装置10は、2値/3値のどちらのCA
M装置としても利用可能なもので、CAMメモリアレイ
12と、論理データ−物理データ変換I/O回路14
と、ローカルI/O(入出力)16と、ローカルI/O
コントロール回路18と、タイミング発生回路20と、
デコーダ22と、優先順位エンコーダ24とを備えてい
る。
【0029】ここで、CAM装置10を2値のCAM装
置として使用するか、3値のCAM装置として使用する
かは信号Binaryにより決定される。この信号Bi
naryは、CAM装置10の外部から直接、あるい
は、CAM装置10内部のレジスタ等から供給される。
CAM装置10は、本実施例では、信号Binary=
1の場合、2値のCAM装置として機能し、信号Bin
ary=0の場合、3値のCAM装置として機能する。
【0030】本発明のCAM装置10を2値のCAM装
置として使用する場合、CAM装置10は、例えば図1
1に示す2値CAMセル100を用いて構成された従来
の2値のCAM装置と同じように動作する。
【0031】また、CAM装置10を3値のCAM装置
として使用する場合、CAM装置10は、2ビット分の
2値CAMセルを1組として、各々の組の2ビット分の
2値CAMセルに記憶された2ビットのデータで表現可
能な‘00’、‘01’、‘10’および‘11’の4
つの状態に、‘0’、‘1’および‘X(ドントケ
ア)’の3つの状態を割り当て、3値のデータを設定可
能な3値CAMセルとして使用することにより、例えば
図12に示す3値CAMセル106を用いて構成された
従来の3値のCAM装置と同じように動作する。
【0032】図示例の連想メモリ10において、まず、
CAMメモリアレイ12は、連続したアドレス0,1,
2,…,2N −1で指定される2N 個のCAMワードを
備えている。本実施例では、CAMメモリアレイ12の
内、偶数アドレス0,2,4,…,2N −2で指定され
る2N-1 個のCAMワードからなる部分を偶数ワードア
レイ12a、奇数アドレス1,3,5,…,2N −1で
指定される2N-1 個のCAMワードからなる部分を奇数
ワードアレイ12bとする。
【0033】偶数ワードアレイ12aに含まれるそれぞ
れのCAMワードとこれに対応する奇数ワードアレイ1
2bに含まれるそれぞれのCAMワードとは対(ペア)
を構成する。例えば、偶数ワードアレイに含まれるCA
Mワード0と奇数ワードアレイに含まれるCAMワード
1とはペアを構成する。また、CAMメモリアレイ12
に含まれるそれぞれのCAMワードは、mビット幅の2
値CAMセルから構成されている。
【0034】図2は、本発明の連想メモリ装置で用いら
れるCAMワード対の一実施例の構成概略図である。同
図に示すCAMワード対26は、偶数ワードアレイ12
aに含まれる1ワード分のCAMワード(図1のCAM
ワード0)(以下、偶数CAMワードという)28と、
これに対応する奇数ワードアレイ12bに含まれる1ワ
ード分のCAMワード(図1のCAMワード1)(以
下、奇数CAMワードという)30とを組み合わせて3
値CAMセルの機能を実現するものである。
【0035】なお、図2では、紙面の都合上、偶数CA
Mワード28および奇数CAMワード30を上下方向に
配置しているが、図示例のCAM装置10では、記憶デ
ータ用のビット線対BL,/BLおよび検索データ用の
ビット線対SB,/SBを、偶数CAMワード28と奇
数CAMワード30とで独立に制御する必要があるた
め、図1に示すように、レイアウトの配線効率の面から
は、偶数CAMワード28および奇数CAMワード30
を左右方向に配置するのが好ましい。
【0036】図示例のCAMワード対26は、偶数CA
Mワード28および奇数CAMワード30の他、制御回
路32を含んでいる。この制御回路32は、このCAM
装置10を2値のCAM装置として使用するか、3値の
CAM装置として使用するかを指示する信号Binar
yに応じて、偶数CAMワード28および奇数CAMワ
ード30の一致線出力を制御するもので、図示例の場
合、ANDゲート34と、ORゲート36と、ANDゲ
ート38とから構成されている。
【0037】ここで、ANDゲート34およびORゲー
ト36には、信号Binaryおよび偶数CAMワード
28の一致線出力ML_0が共通に入力され、ANDゲ
ート34からは一致線出力Match_0が出力されて
いる。また、ANDゲート38には、ORゲート36の
出力および奇数CAMワード30の一致線出力ML_1
が入力され、ANDゲート38からは、一致線出力Ma
tch_1が出力されている。
【0038】図3は、本発明の連想メモリ装置で用いら
れる2値CAMセルの一実施例の構成回路図である。こ
の2値CAMセル40は、図11に示す2値CAMセル
100において、記憶データと検索データとで共用され
ていたビット線対BL,/BLを、記憶データ用のビッ
ト線対BL,/BLと、検索データ用のビット線対S
B,/SBとに分離したものであるから、同一の構成要
件には同一符号を付し、その詳細な説明は省略する。
【0039】この2値CAMセル40は、ビット線対を
記憶データ用と検索データ用とに分離しているので、図
11に示す2値CAMセル100よりも高速で、低消費
電力である等の利点がある。なお、本発明のCAM装置
では、図3や図11に示すCAMセル40,100の
他、従来公知の構成のCAMセルはどれも利用可能であ
る。すなわち、本発明のCAM装置で利用可能なCAM
セルは、2値CAMセルであればよく、そのデータ記憶
部42および一致比較部44の構成も何ら限定されな
い。
【0040】CAM装置10が2値のCAM装置として
使用される場合、偶数CAMワード28および奇数CA
Mワード30はそれぞれ独立に2値CAMワードとして
使用される。これに対し、CAM装置10が3値のCA
M装置として使用される場合、偶数CAMワード28の
各々のCAMセル40と、これに対応する奇数CAMワ
ード30の各々のCAMセル40とが対(ペア)を構成
し、2ビット分の2値CAMセルを3値CAMセルとし
て使用する。
【0041】すなわち、2ビット分の2値CAMセル4
0に設定可能な記憶データの4つの状態00,01,1
0,11の内の3つの状態を使用して、3値CAMセル
の0,1,X(ドントケア)の各状態を割り当てる。例
えば、本実施例では、2ビット分の2値CAMセルの0
0が3値CAMセルの0、11が3値CAMセルの1、
10が3値CAMセルのドントケアを表す。なお、3値
CAMセルの0,1,Xを2値CAMセルのどの状態に
割り当てるかは何ら限定されない。
【0042】また、本実施例では、CAM装置10を3
値のCAM装置として使用する場合、各々のCAMワー
ド対26において、偶数CAMワード28に含まれる各
CAMセル0,1,2,…,m−1と奇数CAMワード
30に含まれる各CAMセル0,1,2,…,m−1と
を対応させて対を構成しているが、これも限定されず、
偶数CAMワード28に含まれるCAMセルと奇数CA
Mワード30に含まれるCAMセルとをどのように組み
合わせてもよい。
【0043】以下、図4に示す対応表を参照しながら、
2値CAMセルをそのまま2値CAMセルとして使用す
る場合、ならびに、2ビット分の2値CAMセルを組み
合わせて3値CAMセルとして使用する場合について説
明する。
【0044】まず、図4(a)は、CAM装置を2値の
CAM装置として使用した場合の、外部の記憶データと
内部の記憶データ(記憶セルデータ)との関係、およ
び、検索データと検索データ用のビット線対との関係を
表す対応表である。
【0045】CAM装置10を2値のCAM装置として
使用した場合(信号Binary=1)、図2に示すC
AMワード対26において、制御回路32のANDゲー
ト34,38からは、一致線出力Match_0,Ma
tch_1として、それぞれ偶数CAMワード28の一
致線出力ML_0および奇数CAMワード30の一致線
出力ML_1が出力され、偶数CAMワード28および
奇数CAMワード30は1ワードずつ独立に機能する。
【0046】すなわち、図4(a)の対応表に示すよう
に、従来の2値のCAM装置の場合と全く同様に、外部
からCAM装置10の所定のCAMワードへ記憶データ
として0を書き込む場合、記憶データとして0が入力さ
れ、これがそのままCAMセルデータとしてCAMワー
ドに書き込まれる。記憶データとして1を書き込む場合
も同じである。
【0047】また、CAMワードから記憶セルデータと
して0が読み出されると、これもそのままCAM装置1
0の外部へ記憶データとして出力される。記憶セルデー
タとして1が読み出される場合も同じである。
【0048】また、検索データとして0が入力される
と、CAMメモリアレイ12の全ての検索データ用のビ
ット線対SB,/SBはそれぞれ0,1にドライブ(0
ドライブ)される。同じく、検索データとして1が入力
されると、検索データ用のビット線対SB,/SBはそ
れぞれ1,0にドライブ(1ドライブ)される。また、
ドントケア(グローバルマスク)が設定されると、検索
データ用のビット線対SB,/SBは共に0にドライブ
される。
【0049】一方、図4(b)は、CAM装置を3値の
CAM装置として使用した場合の、外部の記憶データ
と、例えば図12に示す3値CAMセルを用いて構成さ
れた従来の3値のCAM装置において、記憶データとし
て0,1,X(ドントケア)を書き込む場合に入力され
る記憶セルデータおよびマスクセルデータ(論理デー
タ)と、内部の記憶データ(物理データ)との関係、な
らびに、検索データと検索データ用のビット線対(偶数
ワードおよび奇数ワード)との関係を表す対応表であ
る。
【0050】CAM装置10を3値のCAM装置として
使用した場合(信号Binary=0)、図2に示すC
AMワード対26において、制御回路32のANDゲー
ト34からは、一致線出力Match_0として常にロ
ウレベルが出力され、常時不一致が検出された状態とさ
れる。また、ANDゲート38からは、一致線出力Ma
tch_1として、偶数CAMワード28の一致線出力
ML_0および奇数CAMワード30の一致線出力ML
_1の論理積が出力される。
【0051】すなわち、CAM装置10を3値のCAM
装置として使用する場合、偶数CAMワード28と奇数
CAMワード30のAND検索が行われる。また、本実
施例の場合、奇数CAMワード30がこのCAMワード
対26の代表ワードとなる。なお、代表ワードはどちら
にしてもよい。従って、CAMワード対26で1ワード
分の3値CAMワードとして機能するので、ワード数
は、CAM装置10を2値のCAM装置として使用した
場合の半分になる。
【0052】図4(b)の対応表に示すように、記憶デ
ータとして0を書き込む場合、例えば図12に示す3値
CAMセルを用いて構成された従来の3値のCAM装置
では、論理データとして0,0が入力される。この0,
0は、図12に示す3値CAMセル106に設定される
記憶データとマスクデータに相当するものである。本発
明のCAM装置10の内部では、論理データとして0,
0が入力されると、記憶データとして、偶数CAMワー
ドおよび奇数CAMワード共に0が書き込まれる。
【0053】また、記憶データとして1を書き込む場
合、同じく従来の3値のCAM装置では、論理データと
して1,0が入力される。本発明のCAM装置10の内
部では、論理データとして1,0が入力されると、記憶
データとして、偶数CAMワードおよび奇数CAMワー
ド共に1が書き込まれる。
【0054】また、記憶データとしてドントケアを設定
する場合、同じく従来の3値のCAM装置では、論理デ
ータとしてX(不定),1が入力される。ここで、X
(不定)は、0または1のどちらでもよいという意味で
ある。本発明のCAM装置10の内部では、論理データ
としてX,1が入力されると、記憶データとして、偶数
CAMワードに1、奇数CAMワードに0が書き込まれ
る。
【0055】また、記憶データとして、偶数CAMワー
ド28および奇数CAMワード30から0,0が読み出
されると、論理データとして0,0が出力され、外部で
は、記憶データとして0が読み出されたものと判断され
る。
【0056】また、偶数CAMワード28および奇数C
AMワード30から1,1が読み出されると、論理デー
タとして1,0が出力され、記憶データとして1が読み
出されたものと判断される。
【0057】偶数CAMワード28および奇数CAMワ
ード30から1,0が読み出されると、論理データとし
て、X(不定)、1が出力され、記憶データはドントケ
アであると判断される。
【0058】また、検索データとして0が入力される
と、奇数CAMワード30の検索データ用のビット線対
SB,/SBだけがそれぞれ0,1にドライブ(0ドラ
イブ)される。この時、偶数CAMワード28の検索デ
ータ用のビット線対SB,/SBは0,0にドライブ
(ドントケア)され、常に一致が検出される。従って、
検索データとして0が入力された場合、一致が検出され
るのは、記憶データとして0およびXが設定されている
場合である。
【0059】また、検索データとして1が入力される
と、偶数CAMワード28の検索データ用のビット線対
SB,/SBだけがそれぞれ1,0にドライブ(1ドラ
イブ)される。この時、奇数CAMワード30の検索デ
ータ用のビット線対SB,/SBは0,0にドライブ
(ドントケア)され、常に一致が検出される。従って、
検索データとして1が入力された場合、一致が検出され
るのは、記憶データとして1およびXが設定されている
場合である。
【0060】また、ドントケア(グローバルマスク)が
設定されると、偶数CAMワード28および奇数CAM
ワード30の検索データ用のビット線対SB,/SBは
全て0,0にドライブされる。
【0061】CAM装置10を3値のCAM装置として
使用した場合に、外部(論理データ)と内部(物理デー
タ)との間の記憶データおよび検索データの変換は、図
1に示す論理データ−物理データ変換I/O回路14に
より行われる。
【0062】論理データ−物理データ変換I/O回路1
4は、このCAM装置10を3値のCAM装置として使
用する場合に、記憶データ、マスクデータ、検索データ
等について、論理データ(外部データ)と物理データ
(内部データ)とでデータの変換処理を行う。また、本
実施例では、論理データ−物理データ変換I/O回路1
4は、外部からこのCAM装置10に対して入力される
記憶データおよび検索データの書き込みのマスク処理も
併せて行う。
【0063】ここで、信号Global_mask[m
−1:0]は、外部からCAM装置10に対して入力さ
れるグローバルマスクであって、記憶データおよび検索
データの書き込みをマスクする。この信号Global
_mask[m−1:0]によりマスクされたビット
は、全てのCAMワードの同一ビットに対して有効であ
り、記憶データの場合にはマスクされたビットはCAM
ワードに書き込まれず、検索データの場合にはドントケ
アとなり、常に一致が検出される。
【0064】信号Search_data[m−1:
0]は、外部からCAM装置10に対して入力される検
索データである。
【0065】信号Local_data_in[m−
1:0]は、外部からCAM装置10に対して入力され
る(書き込まれる)記憶データ、信号Local_da
ta_out[m−1:0]は、CAM装置10から外
部へ出力される(読み出される)記憶データである。
【0066】信号Local_mask_in[m−
1:0]は、このCAM装置10を3値のCAM装置と
して使用する場合に、外部からCAM装置10に対して
入力されるマスクデータ、信号Local_mask_
out[m−1:0]は、このCAM装置10を3値の
CAM装置として使用する場合に、このCAM装置10
から外部へ出力されるマスクデータである。このマスク
データは、グローバルマスクに対してローカルマスクと
いう。
【0067】信号Even_wd[m−1:0],/E
ven_wd[m−1:0]は、偶数ワードアレイ12
a用の記憶データの書き込みデータ、信号Even_s
d[m−1:0],/Even_sd[m−1:0]
は、偶数ワードアレイ12a用の検索データの書き込み
データである。これらの書き込みデータは、いずれも論
理データ−物理データ変換I/O回路14から出力さ
れ、偶数ワードアレイ12a用のローカルI/Oへ入力
される。
【0068】また、信号Even_rd[m−1:0]
は、偶数ワードアレイ12a用の記憶データの読み出し
データあり、偶数ワードアレイ12a用のローカルI/
Oから出力され、論理データ−物理データ変換I/O回
路14へ入力される。
【0069】信号Odd_wd[m−1:0],/Od
d_wd[m−1:0]は、奇数ワードアレイ用の記憶
データの書き込みデータ、信号Odd_sd[m−1:
0],/Odd_sd[m−1:0]は、奇数ワードア
レイ用の検索データの書き込みデータである。これらの
書き込みデータは、いずれも論理データ−物理データ変
換I/O回路14から出力され、奇数ワードアレイ12
b用のローカルI/Oへ入力される。
【0070】また、信号Odd_rd[m−1:0]
は、奇数ワードアレイ用の記憶データの読み出しデータ
であり、奇数ワードアレイ12b用のローカルI/Oか
ら出力され、論理データ−物理データ変換I/O回路1
4へ入力される。
【0071】従来のCAM装置では、CAMメモリアレ
イに含まれる全てのCAMワードが同時に制御されるた
め、記憶データ、マスクデータおよび検索データについ
て、外部データ(論理データ)と内部データ(物理デー
タ)とでデータの変換処理を行う必要はない。すなわ
ち、CAM装置の外部からCAM装置へ入力される外部
データはCAM装置内部へそのまま入力され、CAM装
置の内部データもそのままCAM装置の外部へ出力され
る。
【0072】ところで、本発明のCAM装置10を2値
のCAM装置として使用する場合、例えば図11に示す
2値CAMセル100を用いて構成された2値のCAM
装置と同じ使用方法で使用可能であるのが好ましい。ま
た同様に、本発明のCAM装置10を3値のCAM装置
として使用する場合、例えば図12に示す3値CAMセ
ル106を用いて構成された3値のCAM装置と同じ使
用方法で使用可能であるのが好ましい。
【0073】しかし、本発明のCAM装置10では、C
AMメモリアレイ12が2つのブロック、本実施例の場
合、偶数ワードアレイ12aおよび奇数ワードアレイ1
2bに分割され、それぞれ個別に制御する必要がある
し、本発明のCAM装置10を3値のCAM装置として
使用する場合、2ビットのCAMセルを組み合わせて3
値CAMセルと同等の機能を実現するため、外部データ
と内部データとでデータの変換処理を行う必要がある。
【0074】図5は、本発明の連想メモリ装置で用いら
れる論理データ−物理データ変換I/O回路の一実施例
の構成回路図である。同図に示す論理データ−物理デー
タ変換I/O回路14は、図4に示す対応表に従って、
記憶データ(書き込みデータおよび読み出しデータ)、
マスクデータおよび検索データの変換を行うもので、記
憶データ(書き込みデータ)用回路54と、検索データ
用回路56と、記憶データ(読み出しデータ)用回路5
8とを備えている。
【0075】記憶データ(書き込みデータ)用回路54
は、信号Binaryに応じて、外部から入力される信
号Local_data_in[i]および信号Loc
al_mask_in[i]を、内部で使用する信号E
ven_wd[i],/Even_wd[i]および信
号Odd_wd[i],/Odd_wd[i]に変換す
るもので、ANDゲート60と、2つのセレクタ62
a,62bと、4つのORゲート64a,64b,64
c,64dとから構成されている。
【0076】ANDゲート60には、その第1の入力端
子に信号Local_mask_in[i]、その第2
の入力端子(反転入力)に信号Binaryがそれぞれ
入力され、その出力はセレクタ62a,62bの選択端
子に入力されている。セレクタ62a,62bの端子D
0には共に信号Local_data_in[i]が入
力され、その端子D1にはそれぞれ1(ハイレベル)お
よび0(ロウレベル)が入力されている。
【0077】セレクタ62aの出力は、ORゲート64
aの第1の入力端子およびORゲート64bの第1の入
力端子(反転入力)に入力され、セレクタ62bの出力
は、ORゲート64cの第1の入力端子およびORゲー
ト64dの第1の入力端子(反転入力)に入力されてい
る。ORゲート64a,64b,64c,64dの第2
の入力端子には信号Global_mask[i]が共
通に入力され、ORゲート64a,64b,64c,6
4dからは、それぞれ信号Even_wd[i],/E
ven_wd[i]および信号Odd_wd[i],/
Odd_wd[i]が出力されている。
【0078】記憶データ(書き込みデータ)用回路54
では、信号Global_mask[i]=1の場合、
すなわち、グローバルマスクが指示された場合には、無
条件に、ORゲート64a,64b,64c,64dの
出力は1、すなわち、信号Even_wd[i],/E
ven_wd[i]および信号Odd_wd[i],/
Odd_wd[i]は全てハイレベルとなり、記憶デー
タの書き込みがマスクされる。
【0079】信号Global_mask[i]=0
で、信号Binary=1の場合、すなわち、グローバ
ルマスクが指定されておらず、CAM装置10を2値の
CAM装置として使用する場合、ANDゲート60の出
力は0となる。
【0080】これにより、セレクタ62a,62bから
は信号Local_data_in[i]が出力され、
信号Even_wd[i]および信号Odd_wd
[i]は信号Local_data_in[i]と同じ
レベル、信号/Even_wd[i]および信号/Od
d_wd[i]は信号Local_data_in
[i]の反対のレベルになる。すなわち、外部から入力
される記憶データは、そのままアドレス信号Addre
ss[0]により指定される偶数CAMワード28また
は奇数CAMワード30に書き込まれる。
【0081】また、信号Global_mask[i]
=0で、信号Binary=0の場合、すなわち、グロ
ーバルマスクが指定されておらず、CAM装置10を3
値のCAM装置として使用する場合、ANDゲート60
からは信号Local_mask_in[i]が出力さ
れる。
【0082】ここで、信号Local_mask_in
[i]=1の場合、すなわち、ローカルマスクが指定さ
れた場合、セレクタ62a,62bからはそれぞれ1お
よび0が出力される。これにより、信号Even_wd
[i],/Even_wd[i]および信号Odd_w
d[i],/Odd_wd[i]はそれぞれ1,0およ
び0,1になる。すなわち、偶数CAMワード28には
1、奇数CAMワード30には0が書き込まれる。
【0083】一方、信号Local_mask_in
[i]=0の場合、すなわち、ローカルマスクが指定さ
れていない場合、信号Even_wd[i]および信号
Odd_wd[i]は信号Local_data_in
[i]と同じレベル、信号/Even_wd[i]およ
び信号/Odd_wd[i]は信号Local_dat
a_in[i]の反対のレベルになる。すなわち、外部
から入力される記憶データがそのまま偶数CAMワード
28および奇数CAMワード30に書き込まれる。
【0084】続いて、検索データ用回路56は、信号B
inaryに応じて、外部から入力される信号Sear
ch_data[i]を、内部で使用する信号Even
_sd[i],/Even_sd[i]および信号Od
d_sd[i],/Odd_sd[i]に変換するもの
で、4つのANDゲート66a,66b,66c,66
dから構成されている。
【0085】ANDゲート66a,66cの第1の入力
端子およびANDゲート66b,66dの第1の入力端
子(反転入力)には信号Search_data[i]
が、ANDゲート66b,66cの第2の入力端子には
信号Binaryが入力されている。また、ANDゲー
ト66a,66dの第2の入力端子(反転入力)および
ANDゲート66b,66cの第3の入力端子(反転入
力)には信号Global_mask[i]が共通に入
力され、ANDゲート66a,66b,66c,66d
からは、それぞれ信号Even_sd[i],/Eve
n_sd[i]および信号Odd_sd[i],/Od
d_sd[i]が出力されている。
【0086】検索データ用回路56では、信号Glob
al_mask[i]=1の場合、すなわち、グローバ
ルマスクが指定されると、無条件に、ANDゲート66
a,66b,66c,66dの出力は0、すなわち、信
号Even_sd[i],/Even_sd[i]およ
び信号Odd_sd[i],/Odd_sd[i]は全
てロウレベルとなり、対応するビットiの一致検索は行
われない(ドントケア)。
【0087】信号Global_mask[i]=0
で、信号Binary=1の場合、すなわち、グローバ
ルマスクが指定されておらず、CAM装置10を2値C
AM装置として使用する場合、信号Even_sd
[i]および信号Odd_sd[i]は信号Searc
h_data[i]と同じレベルとなり、信号/Eve
n_sd[i]および信号/Odd_sd[i]は信号
Search_data[i]の反対のレベルになる。
【0088】すなわち、外部から入力される検索データ
がそのまま偶数ワードアレイ12aおよび奇数ワードア
レイ12bの検索データ用のビット線対SB,/SBに
同時にドライブされる。
【0089】また、信号Global_mask[i]
=0で、信号Binary=0の場合、すなわち、グロ
ーバルマスクが指定されておらず、CAM装置10を3
値のCAM装置として使用する場合、信号Even_s
d[i]は信号Search_data[i]と同じレ
ベル、信号/Odd_sd[i]は信号Search_
data[i]の反対のレベルとなり、信号/Even
_sd[i]および信号Odd_sd[i]は0にな
る。
【0090】すなわち、信号Search_data
[i]=0の場合、奇数ワードアレイ12bの検索デー
タ用のビットバー線/SBだけがハイレベルにドライブ
され、信号Search_data[i]=1の場合、
偶数ワードアレイ12aの検索データ用のビット線SB
だけがハイレベルにドライブされる。
【0091】記憶データ(読み出しデータ)用回路58
は、内部から読み出される信号Even_rd[i]お
よび信号Odd_rd[i]を、外部へ出力される信号
Local_mask_out[i]および信号Loc
al_data_out[i]に変換するもので、2つ
のANDゲート68a,68bから構成されている。
【0092】ANDゲート68a,68bの第1の入力
端子には信号Even_rd[i]が共通に入力され、
ANDゲート68aの第2の入力端子(反転入力)およ
びANDゲート68bの第2の入力端子には信号Odd
_rd[i]が共通に入力されている。また、ANDゲ
ート68a,68bからは、それぞれ信号Local_
mask_out[i]および信号Local_dat
a_out[i]が出力されている。
【0093】記憶データ(読み出しデータ)用回路58
では、CAM装置10を2値のCAM装置として使用す
る場合、アドレス信号Address信号[0]で指定
される、偶数ワードアレイ12a用または奇数ワードア
レイ12b用のローカルI/Oの内のどちらか一方のセ
ンスアンプだけが活性化され、信号Even_rd
[i]または信号Odd_rd[i]の一方にのみ有効
なデータが出力される。なお、他方のスタンバイ時の状
態はハイレベルとする。
【0094】したがって、信号Local_data_
out[i]として、アドレス信号Address信号
[0]で指定される信号Even_rd[i]または信
号Odd_rd[i]のどちらかが出力される。なお、
記憶データの読み出し用のセンスアンプのスタンバイ時
の状態はハイレベルに限定されず、ロウレベルの場合に
は、これに合わせて記憶データ(読み出しデータ)用回
路58の論理を変更すればよい。
【0095】また、CAM装置10を3値のCAM装置
として使用する場合、偶数ワードアレイ12a用および
奇数ワードアレイ12b用のローカルI/Oのセンスア
ンプが同時にに活性化され、信号Even_rd[i]
および信号Odd_rd[i]に同時に有効なデータが
出力される。
【0096】ここで、記憶データ(読み出しデータ)用
回路58に、信号Even_rd[i]および信号Od
d_rd[i]=0,0が入力されると、すなわち、2
ビット分の2値CAMセルを組み合わせて実現した3値
CAMセルに、記憶データとして0が記憶されている場
合、信号Local_data_out[i]および信
号Local_mask_out[i]=0,0が出力
される。
【0097】また、信号Even_rd[i]および信
号Odd_rd[i]=1,1が入力されると、すなわ
ち、記憶データとして1が記憶されている場合、信号L
ocal_data_out[i]および信号Loca
l_mask_out[i]=1,0が出力される。
【0098】また、信号Even_rd[i]および信
号Odd_rd[i]=1,0が入力されると、すなわ
ち、記憶データとしてX(ドントケア)が記憶されてい
る場合、信号Local_data_out[i]およ
び信号Local_mask_out[i]=0,1が
出力される。
【0099】なお、論理データ−物理データ変換I/O
回路14によるデータの変換処理は、CAM装置10の
内部構造、例えばCAMメモリアレイ12をどのような
2つのブロックに分割するのか、どのような2ビットの
2値CAMセルを組み合わせるのか、2ビットの2値C
AMセルで指定される4つの状態に対してどのように3
値CAMセルの3つの状態を割り当てるのか等に応じて
変更する必要があるのは当然のことである。
【0100】また、本実施例では、CAM装置10を2
値のCAM装置として使用する場合も、3値のCAM装
置として使用する場合も、従来の2値および3値のCA
M装置と同じ使用方法で使用可能とするために、記憶デ
ータや検索データの変換処理をしているが、これに限定
されず、本発明独自の使用方法を採用し、論理データ−
物理データ変換I/O回路14によるデータの変換処理
後のデータを書き込むようにしてもよい。
【0101】続いて、図1に示すCAM装置10におい
て、ローカルI/O16は、偶数ワードアレイ12a用
および奇数ワードアレイ12b用のローカルI/Oをそ
れぞれ備えている。各々のローカルI/Oは、記憶デー
タ用のビット線対BL,/BL、検索データ用のビット
線対SB,/SB、各々のCAMワードから読み出され
る記憶データをドライブする。
【0102】各々のローカルI/Oは、検索データ用の
ビット線対SB,/SBのドライバ、記憶データ用のビ
ット線対BL,/BLの書き込み用のドライバ、同読み
出し用のセンスアンプ、同プリチャージ回路等により構
成される。各構成回路の動作は、次のローカルI/Oコ
ントロール回路18で発生される制御信号により制御さ
れる。
【0103】ローカルI/Oコントロール回路18は、
最下位ビットのアドレス信号Address[0]およ
び信号Binaryに応じて、偶数ワードアレイ用およ
び奇数ワードアレイ用の各ローカルI/Oの動作を制御
する、信号Even_sre,Odd_sre、信号E
ven_wre,Odd_wre、信号Even_rd
e,Odd_rdeおよび信号Even_blpc,O
dd_blpc等の各種の制御信号を発生する。
【0104】ここで、信号Even_sre,Odd_
sreは、検索データ用のビット線対SB,/SBのド
ライブを指示する信号である。
【0105】信号Even_wre,Odd_wre
は、記憶データ用のビット線対BL,/BLのドライブ
を指示する信号である。
【0106】CAM装置10を2値のCAM装置として
使用する場合、アドレス信号Address[0]に対
応する信号Even_wre,Odd_wreの内の一
方のみがイネーブルとされ、ペアの偶数CAMワードお
よび奇数CAMワードの内の一方にのみ書き込みが行わ
れる。これに対し、CAM装置10を3値のCAM装置
として使用する場合、アドレス信号Address
[0]の状態に係わらず、信号Even_wre,Od
d_wreの両方がイネーブルとされ、ペアの偶数CA
Mワードおよび奇数CAMワードの両方に同時に書き込
みが行われる。
【0107】また、信号Even_rde,Odd_r
deは、記憶データ用のビット線対BL,/BLのセン
スアンプイネーブルである。
【0108】記憶データの書き込みの場合と同じよう
に、CAM装置10を2値のCAM装置として使用する
場合、ペアの偶数CAMワードおよび奇数CAMワード
の内、アドレス信号Address[0]に対応するC
AMワードからのみ記憶データの読み出しが行われる。
これに対し、CAM装置10を3値のCAM装置として
使用する場合、ペアの偶数CAMワードおよび奇数CA
Mワードの両方から同時に記憶データの読み出しが行わ
れる。
【0109】信号Even_blpc,Odd_blp
cは、記憶データ用のビット線対BL、/BLのプリチ
ャージを指示する信号で、記憶データの読み出し(リー
ド)時および書き込み(ライト)時に、記憶データ用の
ビット線対BL,/BLに対するプリチャージを停止す
る。なお、ローカルI/Oコントロール回路18で発生
される各種の制御信号は、タイミング発生回路20で発
生されるタイミング信号に同期して出力される。
【0110】続いて、図1に示すCAM装置10におい
て、デコーダ22は、最下位ビットを除くN−1ビット
のアドレス信号Address[N−1:1]をデコー
ドし、これに対応した2ワード分のCAMワード、すな
わち、ペアの偶数CAMワードおよび奇数CAMワード
を指定する共通ワード線をドライブする。この共通ワー
ド線によりドライブされる2ワード分のCAMワードの
内、前述のローカルI/Oコントロール回路18によ
り、アドレス信号Address[0]で指定されるC
AMワードに対して記憶データの書き込みまたは読み出
しが行われる。
【0111】優先順位エンコーダ24は、CAMメモリ
アレイ12に含まれる全てのCAMワードから、それぞ
れ一致線Match_0,Match_1,Match
_2,…,Match_2N-1 を介して入力される一致
線出力に基づいて、一致が検出されたCAMワードのメ
モリアドレスを所定の優先順位に従って順次エンコード
し、これを最優先順位ヒットアドレスHHA[N−1:
0]として順次出力する。
【0112】本発明のCAM装置10は、2値CAMセ
ルを基本として構成され、2ビット分の2値CAMセル
を組み合わせて3値CAMセルとして使用するので、2
値のCAM装置としても3値のCAM装置としても利用
可能であり、2値のCAM装置として使用する場合には
従来の2値のCAM装置と同じように、また、3値のC
AM装置として使用する場合には従来の3値のCAM装
置と同じように動作する。
【0113】次に、本発明の適用範囲を明確化するため
に、本発明のCAM装置の別の例について説明する。
【0114】図6は、本発明の連想メモリ装置の別の実
施例の構成概略図である。同図に示すCAM装置70
は、図1に示すCAM装置10において、さらに、3つ
のセレクタ72a,72b,72cと、レジスタ74と
を備え、外部から書き込まれる検索データと記憶データ
とマスクデータのデータ線、内部で使用される記憶デー
タと検索データのデータ線対、および、外部へ読み出さ
れる記憶データとマスクデータのデータ線をそれぞれ共
通化したものである。
【0115】ここで、論理データ−物理データ変換I/
O回路14には、外部から信号Search_data
[m−1:0]、信号Local_data_in[m
−1:0]および信号Local_mask_in[m
−1:0]を共通化した信号in[m−1:0]が入力
されている。また、この信号in[m−1:0]はレジ
スタにも入力され、レジスタの出力は、論理データ−物
理データ変換I/O回路14へ入力されている。
【0116】信号in[m−1:0]として、記憶デー
タ(信号Local_data_in[m−1:0])
およびマスクデータ(信号Local_mask_in
[m−1:0])と、検索データ(信号Search_
data[m−1:0])とが時分割に入力される。レ
ジスタ74には、記憶データおよびマスクデータの内の
先に入力されたデータが保持され、後から入力されるデ
ータと共に論理データ−物理データ変換I/O回路14
へ入力される。
【0117】セレクタ72aには、論理データ−物理デ
ータ変換I/O回路14から、信号Even_wd[m
−1:0],/Even_wd[m−1:0]および信
号Even_sd[m−1:0],/Even_sd
[m−1:0]が入力され、セレクタ72aからは、信
号Even_swd[m−1:0],/Even_sw
d[m−1:0]が出力され、偶数ワードアレイ12a
に対応するローカルI/Oへ入力されている。
【0118】同じように、セレクタ72bには、論理デ
ータ−物理データ変換I/O回路14から、信号Odd
_wd[m−1:0],/Odd_wd[m−1:0]
および信号Odd_sd[m−1:0],/Odd_s
d[m−1:0]が入力され、セレクタ72bからは、
信号Odd_swd[m−1:0],/Odd_swd
[m−1:0]が出力され、奇数ワードアレイ12aに
対応するローカルI/Oへ入力されている。
【0119】また、セレクタ72cには、論理データ−
物理データ変換I/O回路14から、信号Local_
data_out[m−1:0]および信号Local
_mask_out[m−1:0]が入力され、セレク
タ72cからは、信号out[m−1:0]が外部へ出
力されている。
【0120】図6に示すCAM装置70では、データ線
を共通化し、共通化されたデータ線を時分割に使用する
ことにより、内部のデータ線の本数を削減すると共に、
入出力ピンも削減することができる。
【0121】次に、本発明のCAM装置で利用可能なC
AMワードの別の例を挙げて説明する。
【0122】既に述べたように、本発明のCAM装置で
は、2ビットの2値CAMセルの組合せは何ら限定され
ず、任意の2ビットの2値CAMセルを組み合わせて3
値CAMセルの機能を実現することができる。
【0123】図7に示すCAMワード76は、同一CA
Mワード内の2ビット分の2値CAMセル、図示例の場
合、偶数ビットと奇数ビットとを組み合わせて3値CA
Mセルの機能を実現するものである。
【0124】このように2ビットの2値CAMセルを組
み合わせて3値CAMセルの機能を実現する場合、1ワ
ードのビット幅は半分になる。また、図1に示すCAM
装置10では、CAMメモリアレイ12を偶数ワードア
レイ12aと奇数ワードアレイ12bに分けて別々に制
御しているが、図7に示すCAMワード76を用いて本
発明のCAM装置を構成した場合、CAMワードを偶数
ビットと奇数ビットに分けて別々に制御するようにすれ
ばよい。
【0125】図8(a)は、CAM装置を2値のCAM
装置として使用した場合の、外部の記憶データと内部の
記憶データ(記憶セルデータ)との関係、および、検索
データと検索データ用のビット線対との関係を表す対応
表、同図(b)は、CAM装置を3値のCAM装置とし
て使用した場合の、外部の記憶データと、従来の3値の
CAM装置において、記憶データとして0,1,X(ド
ントケア)を書き込む場合に入力される記憶セルデータ
およびマスクセルデータ(論理データ)と、内部の記憶
データ(物理データ)との関係、ならびに、検索データ
と検索データ用のビット線対(偶数ビットおよび奇数ビ
ット)との関係を表す対応表である。
【0126】図2に示すCAMワード対26を用いて構
成されたCAM装置10では、検索データ用のビット線
対SB,/SBが偶数ワードアレイおよび奇数ワードア
レイ別々に制御されるのに対して、図7に示すCAMワ
ード76を用いて構成されたCAM装置では、偶数ビッ
トおよび奇数ビットが別々に制御される点を除いて、図
7に示すCAMワード76を用いて構成されたCAM装
置の動作は、この対応表に示すように、基本的にCAM
装置10と同じである。
【0127】なお、図示例では、偶数ビットと奇数ビッ
トを組み合わせて3値CAMセルの機能を実現している
が、同一CAMワード内の2ビットの2値CAMセルを
どのように組み合わせてもよい。
【0128】続いて、図9に示すCAMワード対78
は、同一CAMワード内の2ビット分の2値CAMセ
ル、図示例の場合、偶数ビットと奇数ビットとを組み合
わせて3値CAMセルの機能を実現するか、CAMワー
ド対78に含まれる2つのCAMワード、図示例の場
合、偶数CAMワード28に含まれる各々のビットと奇
数CAMワード30に含まれる各々のビットとを組み合
わせて3値CAMセルの機能を実現するかどちらにも設
定可能なものである。
【0129】図9に示すCAMワード対78は、図2に
示すCAMワード対26において、制御回路32の構成
を変更したものである。図9に示すCAMワード対78
において、制御回路80は、ANDゲート82と、イン
バータ84と、スイッチ回路86とを備えている。ま
た、スイッチ回路86は、N型MOSトランジスタ(以
下、NMOSという)とP型MOSトランジスタ(以
下、PMOSという)とにより構成されている。
【0130】ここで、ANDゲート82には、信号Bi
naryおよび偶数CAMワード28の一致線出力が入
力されている。また、スイッチ回路86のNMOSおよ
びPMOSは、偶数CAMワード28の一致線出力と奇
数CAMワード30の一致線出力との間に並列に接続さ
れ、NMOSのゲートにはインバータ84を介して信号
Binaryが入力され、PMOSのゲートには信号B
inaryが直接入力されている。
【0131】このCAMワード対78を用いて構成され
たCAM装置を2値のCAM装置として使用した場合
(信号Binary=1)、スイッチ回路86はオフす
る。これにより、ANDゲート82からは、偶数CAM
ワード28の一致線出力が出力され、偶数CAMワード
28の一致線出力と奇数CAMワード30の一致線出力
は電気的に分離され、偶数CAMワード28および奇数
CAMワード30は1ワードずつ独立に機能する。
【0132】一方、CAMワード対78を用いて構成さ
れたCAM装置を3値のCAM装置として使用した場合
(信号Binary=0)、ANDゲート82の出力は
ロウレベルとなり、スイッチ回路86はオンする。これ
により、偶数CAMワード28の一致線出力と奇数CA
Mワードの一致線出力が電気的に接続され、奇数CAM
ワード30を代表ワードとして、偶数CAMワード28
と奇数CAMワード30のAND検索が行われる。
【0133】本発明の連想メモリ装置およびその構成方
法は、基本的に以上のようなものである。以上、本発明
の連想メモリ装置およびその構成方法について詳細に説
明したが、本発明は上記実施例に限定されず、本発明の
主旨を逸脱しない範囲において、種々の改良や変更をし
てもよいのはもちろんである。
【0134】
【発明の効果】以上詳細に説明した様に、本発明の連想
メモリ装置は、本発明の連想メモリ装置の構成方法を適
用して構成されたもので、2値のデータを設定可能な2
値CAMセルを用いて構成され、2値CAMセルを2値
CAMセルとして使用し、当該連想メモリ装置を2値連
想メモリ装置として使用するか、2ビット分の2値CA
Mセルを組み合わせて3値CAMセルとして使用し、当
該連想メモリ装置を3値連想メモリ装置として使用する
かを設定可能に構成されたものである。また、本発明の
連想メモリ装置の構成方法は、2ビット分の2値CAM
セルを組み合わせて3値CAMセルの機能を実現するも
のである。これにより、本発明の連想メモリ装置および
その構成方法によれば、2値/3値のどちらの連想メモ
リ装置としても使用することができ、2値の連想メモリ
装置として使用した場合にも記憶ビットが無駄にならな
いという利点がある。
【図面の簡単な説明】
【図1】 本発明の連想メモリ装置の一実施例の構成概
略図である。
【図2】 本発明の連想メモリ装置で用いられるCAM
ワード対の一実施例の構成概略図である。
【図3】 本発明の連想メモリ装置で用いられる2値C
AMセルの一実施例の構成回路図である。
【図4】 (a)は、CAM装置を2値のCAM装置と
して使用した場合の、外部の記憶データと内部の記憶デ
ータ(記憶セルデータ)との関係、および、検索データ
と検索データ用のビット線対との関係を表す対応表、
(b)は、CAM装置を3値のCAM装置として使用し
た場合の、外部の記憶データと、従来の3値のCAM装
置において、記憶データとして0,1,X(ドントケ
ア)を書き込む場合に入力される記憶セルデータおよび
マスクセルデータ(論理データ)と、内部の記憶データ
(物理データ)との関係、ならびに、検索データと検索
データ用のビット線対との関係を表す対応表である。
【図5】 本発明の連想メモリ装置で用いられる論理デ
ータ−物理データ変換I/O回路の一実施例の構成回路
図である。
【図6】 本発明の連想メモリ装置の別の実施例の構成
概略図である。
【図7】 本発明の連想メモリ装置で用いられるCAM
ワードの別の実施例の構成概略図である。
【図8】 (a)は、CAM装置を2値のCAM装置と
して使用した場合の、外部の記憶データと内部の記憶デ
ータ(記憶セルデータ)との関係、および、検索データ
と検索データ用のビット線対との関係を表す対応表、
(b)は、CAM装置を3値のCAM装置として使用し
た場合の、外部の記憶データと、従来の3値のCAM装
置において、記憶データとして0,1,X(ドントケ
ア)を書き込む場合に入力される記憶セルデータおよび
マスクセルデータ(論理データ)と、内部の記憶データ
(物理データ)との関係、ならびに、検索データと検索
データ用のビット線対との関係を表す対応表である。
【図9】 本発明の連想メモリ装置で用いられるCAM
ワードの別の実施例の構成概略図である。
【図10】 従来の連想メモリ装置の一実施例の構成概
念図である。
【図11】 従来の連想メモリ装置で用いられる2値C
AMセルの一例の構成回路図である。
【図12】 従来の連想メモリ装置で用いられる3値C
AMセルの一例の構成回路図である。
【符号の説明】
10,70,90 連想メモリ(CAM)装置 12,92 CAMメモリアレイ 12a 偶数ワードアレイ 12b 奇数ワードアレイ 14 論理データ−物理データ変換I/O回路 16 ローカルI/O 18 ローカルI/Oコントロール回路 20 タイミング発生回路 22,96 デコーダ 24,98 優先順位エンコーダ 26,78 CAMワード対 28,30,76 CAMワード 32,80 制御回路 34,38,60,66a,66b,66c,66d,
68a,68b,82ANDゲート 36,64a,64b,64c,64d ORゲート 40,100,106 CAMセル 42,102 データ記憶部 44,110 一致比較部 46a,46b,84,112a,112b インバー
タ 48a,48b,50a,50,52a,52b,11
4a,114b,116 N型MOSトランジスタ(N
MOS) 54 記憶データ(書き込みデータ)用回路 56 検索データ用回路 58 記憶データ(読み出しデータ)用回路 62a,62b,72a,72b,72c セレクタ 74 レジスタ 86 スイッチ回路 94 I/O(入出力)回路 108 マスク記憶部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】‘0’および‘1’の2値のデータを設定
    可能な2値CAMセルを用いて構成された連想メモリ装
    置であって、 前記2値CAMセルを2値CAMセルとして使用し、当
    該連想メモリ装置を2値連想メモリ装置として使用する
    か、 2ビット分の前記2値CAMセルを1組として、各々の
    組の2ビット分の2値CAMセルに記憶された2ビット
    のデータで表現可能な‘00’、‘01’、‘10’お
    よび‘11’の4つの状態に、‘0’、‘1’および
    ‘X(ドントケア)’の3つの状態を割り当て、3値の
    データを設定可能な3値CAMセルとして使用し、当該
    連想メモリ装置を3値連想メモリ装置として使用するか
    を設定可能に構成されていることを特徴とする連想メモ
    リ装置。
  2. 【請求項2】前記2ビット分の2値CAMセルは、異な
    る2つのCAMワードに含まれるCAMセルの組合せで
    あることを特徴とする請求項1に記載の連想メモリ装
    置。
  3. 【請求項3】前記2ビット分の2値CAMセルは、同一
    CAMワードに含まれるCAMセルの組合せであること
    を特徴とする請求項1に記載の連想メモリ装置。
  4. 【請求項4】一致検索時に、前記2ビット分の2値CA
    Mセルの内の一方の2値CAMセル用の検索データ用の
    ビット線対と他方の2値CAMセル用の検索データ用の
    ビット線対とを別々に制御することを特徴とする請求項
    1〜3のいずれかに記載の連想メモリ装置。
  5. 【請求項5】当該連想メモリ装置を3値の連想メモリ装
    置として使用する場合に、記憶データ、マスクデータ
    (ローカルマスク)および検索データに対して、外部デ
    ータ(論理データ)と内部データ(物理データ)とでデ
    ータの変換処理を行うことを特徴とする請求項1〜4の
    いずれかに記載の連想メモリ装置。
  6. 【請求項6】‘0’および‘1’の2値のデータを設定
    可能な2値CAMセルを用いて構成された連想メモリ装
    置において、 2ビット分の前記2値CAMセルを1組として、各々の
    組の2ビット分の2値CAMセルに記憶された2ビット
    のデータで表現可能な‘00’、‘01’、‘10’お
    よび‘11’の4つの状態に、‘0’、‘1’および
    ‘X(ドントケア)’の3つの状態を割り当て、3値の
    データを設定可能な3値CAMセルの機能を実現するこ
    とを特徴とする連想メモリ装置の構成方法。
JP2001031103A 2001-02-07 2001-02-07 連想メモリ装置およびその構成方法 Withdrawn JP2002237190A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001031103A JP2002237190A (ja) 2001-02-07 2001-02-07 連想メモリ装置およびその構成方法
US10/062,414 US6707692B2 (en) 2001-02-07 2002-02-05 Content addressable memory device capable of being used as binary CAM device or as ternary CAM device and structure method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001031103A JP2002237190A (ja) 2001-02-07 2001-02-07 連想メモリ装置およびその構成方法

Publications (1)

Publication Number Publication Date
JP2002237190A true JP2002237190A (ja) 2002-08-23

Family

ID=18895233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001031103A Withdrawn JP2002237190A (ja) 2001-02-07 2001-02-07 連想メモリ装置およびその構成方法

Country Status (2)

Country Link
US (1) US6707692B2 (ja)
JP (1) JP2002237190A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795325B1 (en) 2003-03-26 2004-09-21 Renesas Technology Corp. Semiconductor memory
JP2011048894A (ja) * 2009-08-28 2011-03-10 Internatl Business Mach Corp <Ibm> 連想メモリ・アレイ

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US7082492B2 (en) * 2002-08-10 2006-07-25 Cisco Technology, Inc. Associative memory entries with force no-hit and priority indications of particular use in implementing policy maps in communication devices
US7689485B2 (en) 2002-08-10 2010-03-30 Cisco Technology, Inc. Generating accounting data based on access control list entries
WO2004015593A2 (en) * 2002-08-10 2004-02-19 Cisco Technology, Inc. Associative memory with enhanced capabilities
US7103708B2 (en) * 2002-08-10 2006-09-05 Cisco Technology, Inc. Performing lookup operations using associative memories optionally including modifying a search key in generating a lookup word and possibly forcing a no-hit indication in response to matching a particular entry
US7028136B1 (en) 2002-08-10 2006-04-11 Cisco Technology, Inc. Managing idle time and performing lookup operations to adapt to refresh requirements or operational rates of the particular associative memory or other devices used to implement the system
US7349382B2 (en) * 2002-08-10 2008-03-25 Cisco Technology, Inc. Reverse path forwarding protection of packets using automated population of access control lists based on a forwarding information base
US7177978B2 (en) * 2002-08-10 2007-02-13 Cisco Technology, Inc. Generating and merging lookup results to apply multiple features
US7080195B2 (en) * 2003-10-22 2006-07-18 Cisco Technology, Inc. Merging indications of matching items of multiple groups and possibly associated with skip conditions to identify winning entries of particular use for implementing access control lists
US7191280B2 (en) * 2003-12-23 2007-03-13 Agere Systems Inc. Content addressable memories (CAMs) based on a binary CAM and having at least three states
US20050213359A1 (en) * 2004-03-26 2005-09-29 Kim Jin K Hybrid content addressable memory
US7565481B1 (en) * 2004-10-29 2009-07-21 Netlogic Microsystems, Inc. Content addressable memory (CAM) device and method for flexible suppression of hit indications
JP4861012B2 (ja) 2005-03-31 2012-01-25 ルネサスエレクトロニクス株式会社 Cam装置
US7814266B1 (en) * 2005-09-01 2010-10-12 Netlogic Microsystems, Inc. Partial row expansion by logically combining range representation values in content addressable memory
US7889578B2 (en) * 2007-10-17 2011-02-15 Mosaid Technologies Incorporated Single-strobe operation of memory devices
TWI405206B (zh) * 2008-12-05 2013-08-11 Nat Univ Chung Cheng The low voltage content can be addressed by the memory of the read and compare circuit
US8130525B2 (en) * 2009-10-09 2012-03-06 International Business Machines Corporation Method and apparatus for configuring a content-addressable memory (CAM) design as binary CAM or ternary CAM
US8493774B2 (en) 2011-06-17 2013-07-23 International Business Machines Corporation Performing logic functions on more than one memory cell within an array of memory cells
JP5998381B2 (ja) 2012-05-06 2016-09-28 国立大学法人東北大学 半導体記憶装置
US9275735B2 (en) * 2014-01-06 2016-03-01 International Business Machines Corporation Array organization and architecture to perform range-match operations with content addressable memory (CAM) circuits
US9286980B2 (en) 2014-01-10 2016-03-15 Globalfoundries Inc. Converting an XY TCAM to a value TCAM
TWI783767B (zh) * 2021-11-02 2022-11-11 瑞昱半導體股份有限公司 記憶體分時控制裝置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920886A (en) * 1997-03-14 1999-07-06 Music Semiconductor Corporation Accelerated hierarchical address filtering and translation using binary and ternary CAMs
US6289414B1 (en) * 1998-10-08 2001-09-11 Music Semiconductors, Inc. Partially ordered cams used in ternary hierarchical address searching/sorting
US6574702B2 (en) * 1999-02-23 2003-06-03 Netlogic Microsystems, Inc. Method and apparatus for determining an exact match in a content addressable memory device
US6157558A (en) * 1999-05-21 2000-12-05 Sandisk Corporation Content addressable memory cell and array architectures having low transistor counts
US6542391B2 (en) * 2000-06-08 2003-04-01 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
CA2291310C (en) * 1999-11-30 2007-04-10 Mosaid Technologies Inc. Generating searchable data entries and applications therefore
US20030093613A1 (en) * 2000-01-14 2003-05-15 David Sherman Compressed ternary mask system and method
CA2299991A1 (en) * 2000-03-03 2001-09-03 Mosaid Technologies Incorporated A memory cell for embedded memories
US6259620B1 (en) * 2000-03-08 2001-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Multiple entry matching in a content addressable memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795325B1 (en) 2003-03-26 2004-09-21 Renesas Technology Corp. Semiconductor memory
JP2011048894A (ja) * 2009-08-28 2011-03-10 Internatl Business Mach Corp <Ibm> 連想メモリ・アレイ
KR101547708B1 (ko) 2009-08-28 2015-08-26 인터내셔널 비지네스 머신즈 코포레이션 컨텐트 어드레스가능 메모리(cam) 어레이

Also Published As

Publication number Publication date
US6707692B2 (en) 2004-03-16
US20020080638A1 (en) 2002-06-27

Similar Documents

Publication Publication Date Title
JP2002237190A (ja) 連想メモリ装置およびその構成方法
US6172916B1 (en) Semiconductor memory device having a large band width and allowing efficient execution of redundant repair
JP2554816B2 (ja) 半導体記憶装置
EP0655741B1 (en) Memory device and serial-parallel data transform circuit
US8027203B2 (en) Pipe latch circuit of multi-bit prefetch-type semiconductor memory device with improved structure
JP2003007062A (ja) スタック・バンク・アーキテクチャのためのデコード方式
JPH05266654A (ja) マルチポートメモリ装置
JP2000353388A (ja) 内容参照可能メモリの改良
JP3291206B2 (ja) 半導体記憶装置
US5365489A (en) Dual port video random access memory with block write capability
US7480776B2 (en) Circuits and methods for providing variable data I/O width for semiconductor memory devices
JPH07211077A (ja) 半導体記憶装置
JP2588936B2 (ja) 半導体記憶装置
US6917558B2 (en) Content addressable memory with redundant repair function
JP2002197873A (ja) 連想メモリ
US6747908B2 (en) Semiconductor memory device and method of selecting word line thereof
JP2002050191A (ja) 半導体記憶装置
US7092311B1 (en) Content addressable memory (CAM) devices that utilize priority class detectors to identify highest priority matches in multiple CAM arrays and methods of operating same
JPH09213096A (ja) 半導体記憶装置
JP2575061B2 (ja) 半導体記憶装置
JP2001351377A (ja) 半導体記憶装置
JPH11273364A (ja) 連想メモリ
JP4004250B2 (ja) 半導体記憶装置
JPH06103767A (ja) 半導体メモリ装置
JPH0628880A (ja) アドレスデコ−ダ

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513