JP2002056684A - 連想メモリとその検索方法及びルータとネットワークシステム - Google Patents

連想メモリとその検索方法及びルータとネットワークシステム

Info

Publication number
JP2002056684A
JP2002056684A JP2000243485A JP2000243485A JP2002056684A JP 2002056684 A JP2002056684 A JP 2002056684A JP 2000243485 A JP2000243485 A JP 2000243485A JP 2000243485 A JP2000243485 A JP 2000243485A JP 2002056684 A JP2002056684 A JP 2002056684A
Authority
JP
Japan
Prior art keywords
data
mask
search
associative memory
information
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
JP2000243485A
Other languages
English (en)
Other versions
JP2002056684A5 (ja
JP3845814B2 (ja
Inventor
Naoshi Ogura
直志 小倉
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.)
Terminus Technology Ltd
Original Assignee
Terminus Technology Ltd
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 Terminus Technology Ltd filed Critical Terminus Technology Ltd
Priority to JP2000243485A priority Critical patent/JP3845814B2/ja
Publication of JP2002056684A publication Critical patent/JP2002056684A/ja
Priority to US10/159,872 priority patent/US6910105B2/en
Publication of JP2002056684A5 publication Critical patent/JP2002056684A5/ja
Application granted granted Critical
Publication of JP3845814B2 publication Critical patent/JP3845814B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G11C15/04Digital 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 using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Abstract

(57)【要約】 【課題】 データ転送速度の高いネットワーク・システ
ムの消費電力を削減する。 【解決手段】 検索データ12と一致した記憶データに
対応するマスク情報の全てに対してマスク有効状態を真
とする論理積演算を行った結果の各ビットについてマス
ク情報の無効状態ならば検索データ12の対応するビッ
トを出力情報の該当ビットに出力しマスク情報の有効状
態ならば記憶データの無効状態を出力情報の該当ビット
に出力する連想メモリ1を用いて、連想メモリ1に検索
データ12を入力して1次検索を行い出力情報を取り出
し、1次検索にて一致した記憶データに対して得られた
出力情報を検索データとして2次検索を行い、出力情報
と一致したワードの一致線5のみを検索結果として選択
する。選択された一致線5をエンコードして最適のメモ
リ・アドレス信号403を求め、最短ネットワーク接続
を可能とする転送先アドレス405を得、入力転送デー
タ408中のデータ部412及び目的地ネットワーク・
アドレス411を合成して出力転送データ409を生成
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、連想メモリとその
検索方法及びルータとそのネットワークシステムに係
り、特に検索マスク機能を有する連想メモリとその検索
方法及びそれを用いたルータ及びネットワークシステム
に関する。
【0002】
【従来の技術】従来のコンピュータ・ネットワーク・シ
ステムに用いられるネットワーク・ルータ(以下「ルー
タ」という)では、次に示すように最適転送先を計算す
る機能が不可欠である。
【0003】従来のコンピュータ・ネットワークの構成
の接続例を図18に示す。ネットワークに参加している
ユーザ機器、例えばコンピュータ端末などは、他のユー
ザ機器と識別するために、その機器がネットワークに参
加するときに、あらかじめ決められた規則に従って特定
のネットワーク・アドレスを割り当てられる。ここでは
ネットワーク・アドレスは複数桁の数値、例えば4桁の
数値(a.b.c.d)で表現されるものとして説明す
る。また、あらかじめ決められた規則は、例えばネット
ワーク・アドレスの先頭の数値でイギリス、ドイツ、日
本などの国を示し、第2番目の数値で国の中の都市名を
示し、更に第3番目の数値で都市の中の企業名を示す、
というように階層構造をとっている。以下、この階層を
セグメントと呼ぶこととする。図18においては、セグ
メントの階層構造を模擬的に示したものである。図にお
いて太線で囲まれた1つの矩形が1のセグメントであ
る。図18では、ネットワーク・アドレスの先頭の数値
が1であるセグメント1と、先頭の数値が2であるセグ
メント2と、先頭の数値が3であるセグメント3が、最
上位のセグメントとして存在している。セグメント1の
下の階層に、上位2つの数値が1.2であるネットワー
ク・アドレスを持つセグメント4があり、更にその下に
上位3つの数値が1.2.2であるネットワーク・アド
レスを持つセグメント6があり、更にその中にネットワ
ーク・アドレス1.2.2.1を持つユーザ機器PC4
01−1が接続されている。また、セグメント2の下の
階層に、上位2つの数値が2.1であるネットワーク・
アドレスを持つセグメント5があり、更にその下に上位
3つの数値が2.1.1であるネットワーク・アドレス
を持つセグメント7がある。図に例示されているアドレ
スにおいて、*はドント・ケアを意味する。
【0004】各セグメントは、ネットワークに参加して
いるユーザ機器間の通信データを転送するためにルータ
を有している。図18の構成例では、セグメント1はル
ータ400−1を、セグメント2はルータ400−2
を、セグメント3はルータ400−3を、セグメント4
はルータ400−4を、セグメント5はルータ400−
5を、セグメント6はルータ400−6を、セグメント
7はルータ400−7を、それぞれ有している。セグメ
ントが有するルータは、そのルータに接続されているユ
ーザ機器又は他のルータから入力された転送データを、
転送データに付随する転送先アドレスとネットワーク機
器の接続関係を基に最適な転送ルートを計算し、その最
適なルートを経由して転送先にデータを転送する。図1
8の構成例では、各ルータはそのセグメント直下のルー
タ又はユーザ機器と接続されている。また、ルータ40
0−3は、ルータ400−1、ルータ400−4,ルー
タ400−6、ルータ400−2、ルータ400−7と
も接続している。
【0005】各ユーザ機器同士を直接通信回線で接続す
るのではなく、ルータの通信制御機能を用いて通信デー
タの転送を制御して通信を行うことにより、有限の通信
回線を効率よく使用している。
【0006】次に、これらルータの説明を図19を用い
て行う。図ではルータ400−3を例に示しているが、
他のルータもこれと同様の構成である。
【0007】ルータ400−3には自分自身が属するセ
グメントのネットワーク・アドレス(3.*.*.*)
以外のセグメントのネットワーク・アドレス情報を記憶
させている。これら各ネットワーク・アドレスは、その
各桁を4進数で表現した全体で8ビットのビット列で表
現されるものと仮定する。例えば、ネットワーク・アド
レス(1.*.*.*)はビット列(01.00.0
0.00)で表現される。ここで、*はドント・ケアで
あるので、(01.00.00.00)のビット列の上
位2ビットが有効でありそれ以下のビットは無効である
ことを示す必要がある。そこで、マスク情報と呼ばれる
情報をネットワーク・アドレス情報と対になって記憶さ
せている。この例では、(00.11.11.11)と
している。ここで、“0"がマスク無効状態を“1"がマ
スク有効状態を示している。これらネットワーク・アド
レス情報及びマスク情報は、図示のようにルータの中で
連想メモリ116に格納されている。連想メモリ・ワー
ド117−1には、ルータ400−1が属するセグメン
ト1のネットワーク・アドレス(1.*.*.*)が記
憶されている。連想メモリ・ワード117−2には、ル
ータ400−2が属するセグメント2のネットワーク・
アドレス(2.*.*.*)が記憶されている。連想メ
モリ・ワード117−3には、ルータ400−6が属す
るセグメント6のネットワーク・アドレス(1.2.
2.*)が記憶されている。連想メモリ・ワード117
−4には、ルータ400−4が属するセグメント4のネ
ットワーク・アドレス(1.2.*.*)が記憶されて
いる。連想メモリ・ワード117−5には、ルータ40
0−7が属するセグメント7のネットワーク・アドレス
(1.*.*.*)が記憶されている。連想メモリ11
6は、通常のメモリと同様にアドレスを指定して記憶デ
ータの書き込み、読み出しを行う機能のほかに、入力し
た検索データ102と、対応するマスク情報を考慮して
比較した結果一致する記憶データの中で、マスク情報の
有効状態のビットが最も少ない記憶データに対応するマ
スク一致線119−1〜119−5を有効状態にする機
能を有している。連想メモリ116が出力したマスク一
致線119−1〜119−5はエンコーダ402により
メモリ・アドレス信号403に符号化される。
【0008】メモリ404には、連想メモリ116の各
連想メモリ・ワードに格納されている記憶データ、マス
ク情報により構成されるセグメントのネットワーク・ア
ドレスに対応するルータのネットワーク・アドレスを、
連想メモリ116の格納アドレスと同一のアドレスのワ
ードに記憶させてある。例えば、連想メモリ116の連
想メモリ・ワード1にはアドレス(1.*.*.*)が
記憶されているが、これに対応する図18のルータ40
0−1のネットワーク・アドレスがメモリ404のワー
ド1に格納されている。同様にメモリ404のワード2
にはルータ400−2のアドレスが、ワード3にはルー
タ400−6のアドレスが、ワード4にはルータ400
−4のアドレスが、ワード5にはルータ400−7のア
ドレスが格納されている。メモリ404はメモリ・アド
レス信号403をリード・アドレスとして指定される格
納データを、メモリ・データ信号405として出力す
る。
【0009】冷却装置414は、発熱量の多い従来の連
想メモリ116を冷却する。これは、例えば空冷ファン
などで構成される。
【0010】なお、図には示していないが、各ルータは
その内部にCPUを有しており、そのCPUにより上述
したルータの動作の制御が行われる。
【0011】次に、各ルータによって制御される従来の
ネットワークのデータ転送の動作例を説明する。例えば
ルータ400−3に入力された転送データの目的地ネッ
トワーク・アドレスが(1.2.1.1)の場合、従来
の連想メモリ116で検索すると連想メモリ・ワード1
の(1.*.*.*)、及び連想メモリ・ワード4の
(1.2.*.*)が一致するが、その中でマスク情報
の有効状態のビットが最も少ない連想メモリ・ワード4
に対応するマスク一致線119−4のみが有効状態とな
る。これにより、エンコーダ402はメモリ・アドレス
403として“4"を出力し、メモリ404はルータ4
00−4のネットワーク・アドレスをメモリ・データ信
号405として出力する。これにより、ルータ400−
3は、目的地アドレス(1.2.1.1)の入力転送デ
ータを、ルータ300−4に向けて転送する。ルータ3
00−4は転送されてきたデータに基づいて上述したの
と同様な動作を行い、次々とルータにデータを転送して
最終目的地のネットワーク・アドレス(1.2.1.
1)に接続しているユーザ機器にデータを転送する。
【0012】
【従来の連想メモリの説明】図14は、従来の連想メモ
リの一構成例を示すブロック図である。連想メモリ11
6は、nビット2入力1出力セレクタ128と、nビッ
トm語の連想メモリ・ワード117−1〜117−m
と、nビット・ラッチ126と制御回路131を有して
おり、各連想メモリ・ワード117−jは、n個の連想
メモリ・セル118−j−1〜118−j−nと1個の
ラッチ123−jを備えている。各連想メモリ・ワード
117−jには、対応するデータ・ワード線106−
j、マスク・ワード線111−jが入力のために接続さ
れ、対応するマスク一致線119−j、及びn本の最短
マスク線122−1〜122−nが出力のために接続さ
れ、n本のビット線103−1〜103−nが入出力の
ために接続されている。
【0013】各連想メモリ・セル118−j−kには、
対応するデータ・ワード線106−j、マスク・ワード
線111−jが入力のために接続され、対応するデータ
一致線107−j、マスク一致線119−j、及び最短
マスク線122−kが出力のために接続され、ビット線
103−kが入出力のために接続されている。
【0014】各連想メモリ・セル118−j−kは、ビ
ット線103−kを介して外部から入力される記憶デー
タの対応するビット情報を格納するデータ・セル108
−j−kと、データ・セルに記憶されたビット情報と外
部から入力される検索データ102の対応するビット情
報102−kとを比較する比較器113−j−kと、外
部からビット線103−kを介して入力されるマスク情
報の対応するビット情報を格納するマスク・セル112
−j−kと、マスク・セルに記憶されたビット情報とn
ビット・ラッチ126から出力された最短マスク情報1
27の対応するビット情報127−kとを比較するマス
ク比較器120−j−kと、及び論理ゲート121−j
−kとを備えている。
【0015】なお、本実施の形態では、マスク情報の有
効状態を“1"、無効状態を“0"とし、最短マスク線1
22−1〜122−nの有効状態を“1"、無効状態を
“0"とする。データ一致線107−1〜107−mの
有効状態を“1"、無効状態を“0"とする。また、マス
ク一致線119−1〜119−mの有効状態を“1"、
無効状態を“0"とする。
【0016】データ・セル108−1−1〜108−m
−nは、対応するデータ・ワード線106が有効状態の
場合、対応するビット線103に書き込みデータがドラ
イブされていれば記憶データとして格納し、対応するビ
ット線103がドライブされていなければ格納している
記憶データを対応するビット線103に出力する。対応
するデータ・ワード線106が無効状態ならば、ビット
線103に対してなんら操作は行わない。また、対応す
るデータ・ワード線106の値にかかわらず、格納して
いる記憶データを同一の連想メモリ・セル118−1−
1〜118−m−nの中の比較器113に出力する。
【0017】マスク・セル112―1−1〜112−m
−nは、対応するマスク・ワード線111が有効状態の
場合、対応するビット線103に書き込みデータがドラ
イブされていれば書き込みデータをマスク情報として格
納し、対応するビット線103がドライブされていなけ
れば、格納しているマスク情報を対応するビット線10
3に出力する。対応するマスク・ワード線111が無効
状態ならば、ビット線103に対してなんら操作は行わ
ない。また、対応するマスク・ワード線111の値にか
かわらず、格納しているマスク情報を同一の連想メモリ
・セル118−1−1〜118−m−nの中の比較器1
13に出力する。
【0018】データ一致線107は、検索動作の開始前
には、ハイ・レベルにプリ・チャージされているか、図
示しない抵抗によりプル・アップされ、有効状態“1"
になっているものとする。
【0019】比較器113は、対応するビット線103
と、それに同一の連想メモリ・セル118−1−1〜1
18−m−nの中のデータ・セル108の記憶データ及
びマスク・セル112のマスク情報を入力とし、マスク
情報が有効状態、又はビット線103の値と記憶データ
が一致するならば対応するデータ一致線107を開放状
態にし、それ以外の場合には無効状態“0"を出力す
る。連想メモリ・ワード117の中のn個の比較器11
3がすべてデータ一致線107を開放状態にしていると
きに、データ一致線107は有効状態“1"となり、そ
れ以外の場合には無効状態“0"となるワイアードAN
D論理接続を構成している。つまり、検索動作時には、
連想メモリ・ワード117が格納している記憶データと
ビット線103−1〜103−nがマスク情報により比
較対象から除外されたビットを除いて完全に一致する場
合に限り、データ一致線107は有効状態“1"とな
り、それ以外の場合は無効状態“0"となる。もちろん
同様の動作となるように通常の論理ゲートを用いて構成
してもかまわない。
【0020】論理ゲート121−1−1〜121−m−
nは、同一の連想メモリ・ワード117−1〜117−
mの中のデータ一致線107−1〜107−mが有効状
態“1"かつ、同一の連想メモリ・セル118−1−1
〜118−m−nの中のマスク・セル112−1−1〜
112−m−nに格納されたマスク情報が無効状態
“0"のときに、対応する最短マスク線122−1〜1
22−nに無効状態“0"を出力し、それ以外の場合に
は開放状態にする。
【0021】各最短マスク線122−1〜122−n
は、抵抗125−1〜125−nによりプル・アップさ
れており、対応するm個の論理ゲート121−1−1〜
121−m−nとワイアードAND論理接続を構成して
いる。従って、接続されているm個の論理ゲート121
がすべて最短マスク線122を開放状態にしているとき
に、最短マスク線122は有効状態“1"となり、それ
以外の場合には無効状態“0"となる。
【0022】ラッチ123−1〜123−mは、同一の
連想メモリ・ワード117−1〜117−mの中のデー
タ一致線107−1〜107−mの状態を、ラッチ制御
線124が有効状態の時に内部に格納する。また、格納
した状態を出力するため、同一の連想メモリ・ワード1
17−1〜117−mの中にあるマスク一致線119―
1〜119−mと対応し、ワイアード論理接続されてい
る。ラッチ123−1〜123−mは対応するマスク一
致線119−1〜119−mに対して、格納されたデー
タが無効状態“0"の場合には“0"を出力し、格納され
たデータが有効状態“1"の場合には対応するマスク一
致線119−1〜119−mを開放状態とする。
【0023】マスク一致線119−1〜119−mは、
検索動作の終了時に、検索データ102と一致した記憶
データの中で、マスク情報により検索対象から除外され
たビット数が最も少ない記憶データに対応するものだけ
が有効状態となり、それ以外は無効状態となる。マスク
一致線119−1〜119−mは検索動作開始前に図示
しない抵抗によりプル・アップされているか、ハイ・レ
ベルにプリ・チャージされることにより、有効状態
“1"になっているものとする。
【0024】マスク比較器120は、対応するマスク・
セル112が格納するマスク情報の状態と対応するビッ
ト線103上の最短マスク情報を比較し、一致している
ならば対応するマスク一致線119を開放状態にし、不
一致ならば対応するマスク一致線119に無効状態
“0"を出力する。従って、連想メモリ・ワード117
の中のn個の連想メモリ・セル118と、1個のラッチ
123がすべてマスク一致線119を開放状態にしてい
るときに、マスク一致線119は有効状態“1"とな
り、それ以外の場合には無効状態“0"となるワイアー
ドAND論理接続を構成している。
【0025】つまり、検索動作時には、連想メモリ・ワ
ード117が格納しているマスク情報とビット線103
−1〜103−nが完全に一致し、かつ、ラッチ123
に格納されているデータ一致線107の状態が有効状態
“1"の場合に限り、マスク一致線119は有効状態
“1"となり、それ以外の場合は無効状態“0"となる。
【0026】nビット・ラッチ126は、ラッチ制御信
号124が有効状態の時に、最短マスク線122−1〜
122−nの状態を内部に格納する。また、格納した状
態をラッチ出力線127−1〜127−nに出力する。
【0027】nビット2入力1出力セレクタ128は、
ビット線103−1〜103−nに出力するデータを、
選択信号129の状態により、検索データ102−1〜
102−nとラッチ出力線127−1〜127−nの一
方から選択する。
【0028】制御回路130は、連想メモリ116の動
作を制御するため、クロック信号130に同期して、ラ
ッチ制御信号124、選択信号129を出力する。
【0029】
【従来の連想メモリの詳細説明】次に、図15に従来の
連想メモリ・セル118の一構成例を示す。ここで、2
本のビット線103a,103bは図14に示されてい
る各ビット線に対応するものであるが、図14において
は101−iで代表して表現している。この2本のビッ
ト線を介してメモリ・セルへのデータの読み書きや、検
索データ102の入力を行う。データを書き込む場合、
及び検索データの入力を行う場合には、ビット線103
bにはビット線103aの値を反転した値を入力する。
データ・セル108は、入出力が相互に接続された反転
論理ゲート(G101)301、反転論理ゲート(G1
02)302と、反転論理ゲート(G102)302の
出力をビット線103aに接続しデータ・ワード線10
6がハイ・レベルのときに導通状態となるMOSトラン
ジスタ(T101)303と、反転論理ゲート(G10
1)301の出力をビット線103bに接続しデータ・
ワード線106がハイ・レベルのときに導通状態となる
MOSトランジスタ(T102)304とにより構成さ
れる一般的なスタティックRAM素子である。
【0030】また、マスク・セル112も、入出力が相
互に接続された反転論理ゲート(G103)309、反
転論理ゲート(G104)310と、反転論理ゲート
(G104)310の出力をビット線103aに接続し
マスク・ワード線111がハイ・レベルのときに導通状
態となるMOSトランジスタ(T107)311と、反
転論理ゲート(G103)309の出力をビット線10
3bに接続しマスク・ワード線111がハイ・レベルの
ときに導通状態となるMOSトランジスタ(T108)
312とにより構成される一般的なスタティックRAM
素子である。
【0031】比較器113はMOSトランジスタ(T1
03)305、MOSトランジスタ(T104)30
6、MOSトランジスタ(T105)307、MOSト
ランジスタ(T106)308により構成される。MO
Sトランジスタ(T103)305とMOSトランジス
タ(T104)306はビット線103a,103bの
間に直列に挿入される。MOSトランジスタ(T10
3)305は、データ・セル108内の反転論理ゲート
(G101)301の出力がハイ・レベルのときに導通
状態となる。MOSトランジスタ(T104)306
は、データ・セル108内の反転論理ゲート(G10
2)302の出力がハイ・レベルのときに導通状態とな
る。MOSトランジスタ(T105)307とMOSト
ランジスタ(T106)308は、低電位と、データ一
致線107の間に直列に挿入される。MOSトランジス
タ(T105)307は、MOSトランジスタ(T10
3)305とMOSトランジスタ(T104)306の
接続点の電位がハイ・レベルの時に導通状態となる。M
OSトランジスタ(T106)308は、マスク・セル
112内の反転論理ゲート(G103)309の出力が
ハイ・レベルの時に導通状態となる。ビット線103a
と反転論理ゲート(G101)301の出力が共にハイ
・レベル、又はビット線103bと反転論理ゲート(G
102)302の出力が共にハイ・レベルのときに、M
OSトランジスタ(T103)305とMOSトランジ
スタ(T104)306の接続点はハイ・レベルとな
り、MOSトランジスタ(T105)307を導通状態
とする。
【0032】従って、データ・セル108に格納されて
いる記憶データと、ビット線103a,103b上の検
索データ102が異なる場合にMOSトランジスタ(T
105)307は導通状態になる。またMOSトランジ
スタ(T106)308はマスク・セル112内に格納
されているマスク情報が“1"のときには開放状態であ
り、“0"のときに導通状態となる。データ一致線10
7は、図示しない抵抗により高電位にプル・アップされ
ているか、又は、検索動作を開始する前に高電位にプリ
・チャージされているものとする。これにより、複数の
連想メモリ・セル118がデータ一致線107にMOS
トランジスタ(T106)308を介して接続されてい
るとき、一つの連想メモリ・セル118でもロウ・レベ
ルを出力しているとデータ一致線107はロウ・レベル
となるようなワイアードAND接続となる。
【0033】MOSトランジスタ(T105)307、
MOSトランジスタ(T106)308が共に導通状態
のときに連想メモリ・セル118はデータ一致線107
に無効状態“0"を出力し、それ以外の時にはデータ一
致線107を開放状態とする。即ち、マスク情報が
“1"の場合にはデータ一致線107を必ず開放状態と
し、マスク情報が“0"の場合にはビット線103a,
103b上の検索データ102とデータ・セルに格納さ
れている記憶データが一致するときに開放状態とし、異
なる場合には無効状態“0"を出力する。
【0034】次に、論理ゲート121と最短マスク線1
22の働きを説明する。最短マスク線122は図14の
抵抗125によりプル・アップされ検索動作前には有効
状態“1"になっている。論理ゲート121は、最短マ
スク線122と低電位との間に直列に挿入されたMOS
トランジスタ(T109)313と、MOSトランジス
タ(T110)314で構成されている。MOSトラン
ジスタ(T109)313は、データ一致線107が有
効状態“1"のときに導通状態となり、無効状態“0"の
ときには開放状態となる。MOSトランジスタ(T11
0)314は、マスク・セル112内部の反転論理ゲー
ト(G103)309の出力がハイ・レベルの場合に導
通状態となり、ロウ・レベルの場合には開放状態とな
る。つまり、マスク・セル112に格納されているマス
ク情報が無効状態“0"のときに導通状態となり、有効
状態“1"のときには開放状態となる。これにより論理
ゲート121は、データ一致線107が有効状態“1"
かつマスク・セル112に格納されたマスク情報が無効
状態“0"のときに、最短マスク線122に無効状態
“0"を出力し、それ以外の場合には開放状態にする。
【0035】次に、マスク比較器120とマスク一致線
119の働きを説明する。マスク一致線119は、図示
しない抵抗により高電位にプル・アップされているか、
又は、検索動作を開始する前に高電位にプリ・チャージ
されているものとする。
【0036】マスク比較器120は、MOSトランジス
タ(T111)315、MOSトランジスタ(T11
2)316、MOSトランジスタ(T113)317に
より構成される。MOSトランジスタ(T111)31
5とMOSトランジスタ(T112)316はビット線
103a,103bの間に直列に挿入される。MOSト
ランジスタ(T111)315は、マスク・セル112
内の反転論理ゲート(G103)309の出力がハイ・
レベルのときに導通状態となる。MOSトランジスタ
(T112)316は、マスク・セル112内の反転論
理ゲート(G104)310の出力がハイ・レベルのと
きに導通状態となる。MOSトランジスタ(T113)
317は、低電位と、マスク一致線119の間に挿入さ
れる。MOSトランジスタ(T113)317は、MO
Sトランジスタ(T111)315とMOSトランジス
タ(T112)316の接続点の電位がハイ・レベルの
時に導通状態となる。
【0037】ビット線103aと反転論理ゲート(G1
03)309の出力が共にハイ・レベル、又はビット線
103bと反転論理ゲート(G104)310の出力が
共にハイ・レベルのときに、MOSトランジスタ(T1
11)315とMOSトランジスタ(T112)316
の接続点はハイ・レベルとなり、MOSトランジスタ
(T113)317は導通状態になり、その他の場合は
開放状態となる。
【0038】従って、マスク・セル112に格納されて
いるマスク情報と、ビット線103a,103b上の検
索データ102が異なる場合にMOSトランジスタ(T
113)317は導通状態になりマスク一致線119に
無効状態“0"を出力し、一致する場合にはマスク一致
線119を開放状態にする。
【0039】これにより、複数の連想メモリ・セル11
8がマスク一致線119にMOSトランジスタ(T11
3)317を介して接続されているとき、一つの連想メ
モリ・セルでもロウ・レベルを出力しているとマスク一
致線119はロウ・レベルとなり、それ以外の場合はハ
イ・レベルにするワイアードAND接続を構成してい
る。
【0040】
【従来の連想メモリの動作】次に、上述の従来の連想メ
モリ116を、図18のルータ400−3における転送
先ネットワーク・アドレスの計算に用いた場合の動作
を、図16を用いて説明する。そのときのタイミングチ
ャートを図17に示す。
【0041】連想メモリ116を8ビット5語の構成と
仮定する。従って、各連想メモリ・ワード117−1〜
117−5に格納されている記憶データ、マスク情報
は、図19の連想メモリの場合と全く同一であり、図1
8のルータ400−3のネットワーク・アドレス(3.
*.*.*)以外の接続情報を記憶している。つまり、
連想メモリ・ワード117−1には(1.*.*.*)
を実現するため2進数で、記憶データには(01.0
0.00.00)を、マスク情報として(00.11.
11.11)を格納してある。同様に連想メモリ・ワー
ド117−2には(2.*.*.*)を、117−3に
は(1.2.2.*)を、117−4には(1.2.
*.*)を、117−5には(2.1.1.*)を格納
してある。以下、検索データ102として図18のPC
401−1の4進数のネットワーク・アドレス(1.
2.2.1)を入力し検索動作を行った場合の動作説明
をする。
【0042】まず、図17のタイミング(1)で、すべ
てのデータ一致線107−1〜107−8は、ハイ・レ
ベルにプリ・チャージされ、有効状態“1"になってい
る。
【0043】次に図17のタイミング(2)で、制御回
路131が出力する選択信号129により、nビット2
入力1出力セレクタ128は検索データ102を選択
し、ビット線103−1〜103−8に出力する。これ
により、連想メモリ116の連想メモリ・ワード117
−1に格納されている4進表現の(1.*.*.*)
と、連想メモリ・ワード117−3に格納されている4
進表現の(1.2.2.*)と、連想メモリ・ワード1
17−4に格納されている4進表現の(1.2.*.
*)がビット線103−1〜103−8上のデータと一
致する。従って、データ一致線107−1、107−3
及び107−4の3本が有効状態“1"となり、残りの
データ一致線107−2、107−5は無効状態“0"
となる。
【0044】ここで、最短マスク線122−1からは、
連想メモリ・ワード117−1内の最短マスク線122
−1に対応するマスク情報“0"と、連想メモリ・ワー
ド117−3内の最短マスク線122−1に対応するマ
スク情報“0"と、連想メモリ・ワード117−4内の
最短マスク線122−1に対応するマスク情報“0"の
論理積“0"が出力される。最短マスク線122−2か
らは、連想メモリ・ワード117−1内の最短マスク線
122−2に対応するマスク情報“0"と、連想メモリ
・ワード117−3内の最短マスク線122−2に対応
するマスク情報“0"と、連想メモリ・ワード117−
4内の最短マスク線122−2に対応するマスク情報
“0"の論理積“0"が出力される。以下同様に、最短マ
スク線122−3からは“1"と“0"と“0"の論理積
“0"が、最短マスク線122−4からは“1"と“0"
と“0"の論理積“0"が、最短マスク線122−5から
は“1"と“0"と“1"の論理積“0"が、最短マスク線
122−6からは“1"と“0"と“1"の論理積“0"
が、最短マスク線122−7からは“1"と“1"と
“1"の論理積“1"が、最短マスク線122−8からは
“1"と“1"と“1"の論理積“1"が、それぞれ出力さ
れる。従って、最短マスク線122−1〜122−8に
は、2進表現で“00000011"が出力される。
【0045】この状態で、制御回路131が出力するラ
ッチ制御信号124が有効状態になり、ラッチ123−
1〜123−5は対応する一致線107−1〜107−
5の状態を内部に格納し、nビット・ラッチ126は最
短マスク線122−1〜122−8の状態を内部に格納
する。従って、ラッチ123−1には“1"が、ラッチ
123−2には“0"が、ラッチ123−3には“1"
が、ラッチ123−4には“1"が、ラッチ123−5
には“0"が、それぞれ格納され、nビット・ラッチ1
26には2進表現で“00000011"が格納され
る。また、nビット・ラッチ126は、格納した状態
“00000011"をラッチ出力線127−1〜12
7−8に出力する。
【0046】次に図17のタイミング(3)で、すべて
のマスク一致線119−1〜119−8はハイ・レベル
にプリ・チャージされ、有効状態“1"になっている。
【0047】図17のタイミング(4)で、制御回路1
31が出力する選択信号129により、nビット2入力
1出力セレクタ128はラッチ出力線127を選択し、
その情報“00000011"を対応するビット線10
3−1〜103−8に出力した後、連想メモリは2回目
の検索動作を開始する。2回目の検索動作では、マスク
一致線119−1〜119−8の状態を利用し、データ
一致線107−1〜107−8の状態は無視される。
【0048】ビット線103−1〜103−8の状態
“00000011"に対して、連想メモリ・ワード1
17−3と117−5が格納するマスク情報が完全に一
致し、対応するマスク一致線119−3,119−5を
開放状態にする。他の連想メモリ・ワード117−1,
117−2及び117−4が格納するマスク情報は一致
しないので、対応するマスク一致線119−1,119
−2、及び119−4に無効状態“0"を出力する。
【0049】また、ラッチ123−1は格納した状態が
“1"なので対応するマスク一致線119−1を解放状
態にし、ラッチ123−2は格納した状態“0"を対応
するマスク一致線119−2に出力し、ラッチ123−
3は格納した状態が“1"なので対応するマスク一致線
119−3を開放状態にし、ラッチ123−4は格納し
た状態が“1"なので対応するマスク一致線119−4
を開放状態にし、ラッチ123−5は格納した状態
“0"を対応するマスク一致線119−5に出力する。
【0050】従って、マスク一致線119−1は、ラッ
チ123−1が解放状態にしているが、連想メモリ・ワ
ード117−1内のマスク比較器120−1−1〜12
0−1−8が“0"を出力しているので、無効状態“0"
になる。マスク一致線119−2は、連想メモリ・ワー
ド117−2のマスク比較器120−2−1〜120−
2−8が“0"を出力しラッチ123−2も“0"を出力
しているので無効状態“0"となる。マスク一致線11
9−3は、連想メモリ・ワード117−3のマスク比較
器120−3−1〜120−3−8がすべて開放状態で
ありラッチ123−3も開放状態であるので有効状態
“1"を保持する。マスク一致線119−4は、ラッチ
123−4が開放状態にしているが、連想メモリ・ワー
ド117−4のマスク比較器120−4−1〜120−
4−8が“0"を出力しているので無効状態“0"とな
る。マスク一致線119−5は、連想メモリ・ワード1
17−5のマスク比較器120−5−1〜120−5−
8が開放状態にしているが、ラッチ123−5が“0"
を出力しているので、マスク一致線119−5は無効状
態“0"となる。
【0051】これにより、タイミング(2)の1回目の
検索動作で、予め格納されている記憶データがマスク情
報を考慮して検索データ102と一致し、かつタイミン
グ(4)の2回目の検索動作で、予め格納されているマ
スク情報が1回目の検索動作の結果得られた最短マスク
線122−1〜122−8の状態と一致するような連想
メモリ・ワード117−1〜117−5に対応するマス
ク一致線119−3のみが、2回目の検索動作終了時に
有効状態“1"になる。従って、入力した検索データ1
02と、対応するマスク情報を考慮して比較した結果一
致する記憶データの中で、マスク情報の有効状態のビッ
トが最も少ない記憶データに対応するマスク一致線11
9−3のみに有効状態を出力することがわかる。
【0052】
【発明が解決しようとする課題】上述した従来の連想メ
モリ116は、1回目の検索動作では、m語の連想メモ
リ・ワード117―1〜117−mに格納された記憶デ
ータと検索データ102を比較した結果をm本のデータ
一致線107−1〜107−mに出力し、2回目の検索
動作では、m語の連想メモリ・ワード117―1〜11
7−mに格納されたマスク情報とラッチ出力線127の
値を比較した結果をm本のマスク一致線119−1〜1
19−mに出力する。そのため、各連想メモリ・ワード
117−1〜117−mの中のn個の連想メモリ・セル
118−1−1〜118−m−nは、記憶データを比較
するための比較器113−1−1〜113−m−nと、
マスク情報を比較するためのマスク比較器120−1−
1〜120−m−nの2つの比較手段が必要である。
【0053】ここで反転論理ゲートが2個のMOSトラ
ンジスタから構成されるとすると、連想メモリ・セル1
18は図15に示すように21個のMOSトランジスタ
から構成される。この中で、データ・セル108、マス
ク・セル112はスタティックRAM素子であるため、
これらを構成する各MOSトランジスタの面積は、一般
的に、従来の連想メモリ116を製造する際に許される
最小面積のMOSトランジスタと等しい。
【0054】ところが、図14に示すように、各データ
一致線107−1〜107−mは1語の連想メモリ・ワ
ード117の中のn個の比較器113とワイアード論理
接続をするための配線長が必要であるために配線容量は
非常に大きく、その配線容量を駆動するため、比較器1
13を構成するMOSトランジスタの面積は非常に大き
くなる。例えば、0.25μm製造プロセスの場合、6
4個の比較器を接続するためには1mmほどの配線長が
必要となり、この配線長の配線容量はおよそ0.3pF
程度となる。この容量を駆動するためのトランジスタ・
サイズは製造プロセスで許される最小面積のMOSトラ
ンジスタの10〜30倍は必要である。同様に、各マス
ク一致線119−1〜119−mもn個のマスク比較器
120とワイアード論理接続をするための配線長が必要
であり、マスク比較器120を構成するMOSトランジ
スタの面積も、最小面積のMOSトランジスタの10〜
30倍は必要である。また、図14に示すように、各最
短マスク線122−1〜122−nもm個の論理ゲート
121とワイアード論理接続をするための配線長が必要
であり、マスク比較器120を構成するMOSトランジ
スタの面積も、最小面積のMOSトランジスタの10〜
30倍は必要であることになる。
【0055】従って、比較器113,マスク比較器12
0,及び論理ゲート121を構成するMOSトランジス
タの面積を、最小面積のMOSトランジスタの10倍、
一般的なスタティックRAM素子の面積は最小面積のM
OSトランジスタの6倍と仮定すると、図15から容易
に分かるように連想メモリ・セル118の面積は、最小
面積のMOSトランジスタの102倍となる。即ち、同
じチップ面積のスタティックSRAMの記憶容量と比べ
ると従来の連想メモリ116は17分の1しか格納でき
ないという問題があった。
【0056】また、上述したように、1回目の検索動作
の結果が出力されるのはm本のデータ一致線107−1
〜107−mであり、2回目の検索動作の結果が出力さ
れるのはm本のマスク一致線119−1〜119−mで
ある。このため、1回目の検索動作の結果を2回目の検
索動作を実行するまで保持する必要がある。ここで、例
えば、連想メモリ116が1語64ビットで32768
語の構成の場合、ラッチ123が10個のMOSトラン
ジスタから構成されていると仮定すると、32768個
のラッチ123を構成するためには、およそ33万個の
MOSトランジスタが必要となる。即ち、記憶データの
ビット数nとは無関係に、m個のラッチ123−1〜1
23−mの分だけチップ面積が大きくなってしまうとい
う問題があった。
【0057】また、それぞれm本あるデータ一致線10
7−1〜107−m、マスク一致線119−1〜119
−mは、検索動作のたびに最終的に有効状態を出力する
一本を除いて、検索前に有効状態にプリ・チャージした
電荷をそれぞれ対応するMOSトランジスタを介して放
電することになる。従って、1語64ビットで3276
8語構成の場合、データ一致線107,マスク一致線1
19を合わせて、32768×2−1=65535本の
配線容量を検索動作のたびにプリ・チャージしなければ
ならない。最短マスク線122−1〜122−nはn本
であり、上述の例では64本であるので無視できる。即
ち、従来の連想メモリの消費電力は、ほとんど、データ
一致線107、マスク一致線119を検索動作のたびに
プリ・チャージするのに要する電力であることがわか
る。ここで、前述のように0.25μm製造プロセスの
場合、データ一致線107、マスク一致線119の配線
容量をそれぞれ0,3pFと仮定し、電源電圧を2.5
V、クロック信号130の周期を20nsとすると、チ
ップ全体の消費電力は、(0.3pF×2.5V)÷2
0ns×2.5V×65535本=6.1Wと非常に大
きい。従って、従来の連想メモリ116には、それぞれ
m本あるデータ一致線107−1〜107−m、マスク
一致線119−1〜119−mは、検索動作のたびに最
終的に有効状態を出力する一本を除いて、検索前に有効
状態にプリ・チャージする必要があるため、消費電力が
非常に大きいという問題があった。
【0058】また、上述のように、従来の連想メモリ1
16は記憶容量が小さいために、ルータの用いた場合に
は、複数個の連想メモリ116を使用する必要があっ
た。そのためルータの発熱量が非常に大きくなり、図1
9に示すように冷却装置414を内蔵する必要があっ
た。また、複数個の連想メモリ116の検索結果を比較
し最終的な検索結果を求める必要があるため、データ転
送速度が低下するという問題があった。
【0059】そこで、本発明の目的は、検索データと一
致する記憶データの中で対応するマスク情報の有効状態
のビット数が最も少ない記憶データを識別する信号を出
力し、なおかつ単位チップ面積当たりの記憶容量の大き
い連想メモリを提供することにある。
【0060】また、他の目的としては、検索データと一
致する記憶データの中で対応するマスク情報の有効状態
のビット数が最も少ない記憶データを識別する信号を出
力し、なおかつ語数当たりの消費電力の小さい連想メモ
リを提供することにある。
【0061】更に、他の目的としては、冷却装置を必要
としないルータを提供することにある。
【0062】更に、他の目的としては、高速にデータを
転送できるネットワークシステムを提供することにあ
る。
【0063】
【課題を解決するための手段】そこで、本発明は、検索
される記憶データとそのマスクデータとを対として複数
組有する連想メモリにおいて、検索データを検索した結
果、検索されるべきデータとして複数の記憶データが選
出された際、当該選出された複数の記憶データに対応す
るマスクデータの論理演算を行う手段を設けたものであ
る。
【0064】即ち、マスクデータが“1"と“0"の論理
値で定義されていることに注目し、複数の一致線が有効
になったときは、これら一致線を出力している連想メモ
リ・ワードに対応するマスク情報の各ビット同士に例え
ば論理積を行うことにより、一致した記憶データに対応
するマスク情報の中でマスク有効状態のビットが最も少
ないマスク情報(最短マスク情報)を得るものである。
【0065】この結果得られたマスク情報と同じビット
情報を、一致線を有効にしている複数のメモリ・ワード
に格納されているマスク情報から探せば、有効状態のビ
ット数が最小のマスク情報に対応する記憶データを選択
することができる。
【0066】本発明の連想メモリに係る手段1は、記憶
データの1ビット又は複数ビットごとに検索対象から除
外するか否かを、有効状態、無効状態により設定可能な
マスク情報を当該記憶データの1ワード又は複数ワード
ごとに有する連想メモリにおいて、対応するマスク情報
がマスク有効状態の場合に記憶データの1ビット又は複
数ビットを検索対象から除外する1次検索を当該記憶デ
ータの1ワードごとに外部から入力された検索データを
用いて行った結果、選出されるべきデータとして1つ又
は複数のワードが選出された際、当該選出されたワード
に対応するマスク情報同士をマスク有効状態を真とした
論理積を行った一致マスク論理積情報と前記検索データ
との第1の論理演算を行う手段を設けたものである。
【0067】本発明の連想メモリに係る手段2は、前記
記憶データとして1次検索の際に対応する前記マスク情
報により検索対象から除外される1ビット又は複数のビ
ットに特定ビット・パターンを格納し、2次検索として
前記記憶データが前記第1の論理演算の結果と一致した
ワードを選出するものである。
【0068】本発明の連想メモリに係る手段3は、前記
記憶データにおいて1次検索の際に対応する前記マスク
情報により検索対象から除外された1ビット又は複数の
ビットが特定ビット・パターンであると見なして前記論
理演算の結果を検索データとする2次検索を行い、前記
第1の論理演算の結果と一致したワードを選出するもの
である。
【0069】本発明の連想メモリに係る手段4は、前記
特定ビット・パターンは、すべての当該ビットが記憶デ
ータの無効状態により構成されているものである。
【0070】本発明の連想メモリに係る手段5は、前記
第1の論理演算は、前記一致マスク論理積情報のビット
がマスク情報の無効状態ならば前記検索データの同じビ
ット位置の情報を、前記一致マスク論理積情報のビット
がマスク情報の有効状態ならば記憶データの無効状態
を、同じビット位置の演算結果とするものである。
【0071】本発明の連想メモリに係る手段6は、記憶
データの1ビット又は複数ビットごとに検索対象から除
外するか否かを、有効状態、無効状態により設定可能な
マスク情報を当該記憶データの1ワード又は複数ワード
ごとに有する連想メモリにおいて、対応するマスク情報
がマスク有効状態の場合に記憶データの1ビット又は複
数ビットを検索対象から除外する検索を当該記憶データ
の1ワードごとに外部から入力された検索データを用い
て行った結果、選出されるべきデータとして1つ又は複
数のワードが選出された際、当該選出されたワードに対
応するマスク情報同士をマスク有効状態を真とした論理
積を行った一致マスク論理積情報と前記検索データとの
第1の論理演算を行う手段を有する第1の連想メモリ
と、前記第1の連想メモリの対応するアドレスのワード
に格納されている記憶データを格納している第2の連想
メモリを有し、外部から与えられた検索データを第1の
連想メモリに入力し論理演算結果を得る1次検索と、前
記論理演算結果を前記第2の連想メモリの検索データと
して入力し前記論理演算結果と前記記憶データのビット
情報に一致するワードを選択する2次検索を行うもので
ある。
【0072】本発明の連想メモリに係る手段7は、前記
第1の連想メモリが出力する前記論理演算結果を、1つ
又は複数の記憶手段に格納し、該記憶手段の出力を前記
第2の記憶データに入力することにより、前記第1の連
想メモリによる検索と、前記第2の連想メモリによる検
索を並列に実行するものである。
【0073】本発明の連想メモリに係る手段8は、記憶
データの1ビット又は複数ビットごとに検索対象から除
外するか否かを、有効状態、無効状態により設定可能な
マスク情報を当該記憶データの1ワード又は複数ワード
ごとに有する連想メモリにおいて、対応するマスク情報
がマスク有効状態の場合に記憶データの1ビット又は複
数ビットを検索対象から除外する1次検索を当該記憶デ
ータの1ワードごとに外部から入力された検索データを
用いて行った結果1つ又は複数の記憶データが前記検索
データと一致したとき、検索データに対して一致した記
憶データに対応するマスク情報のすべての中で検索対象
から除外するよう設定された記憶情報のビット数が最小
であるマスク情報を中間情報として生成し、該中間情報
と前記検索情報との前記第1の論理演算を行った結果を
演算結果出力線に出力する第1の検索手段と、演算結果
出力線に一致する前記記憶データを識別する信号を出力
する第2の検索手段とを有するものである。
【0074】本発明の連想メモリに係る手段9は、前記
1次検索の際に対応する前記マスク情報により検索対象
から除外される前記記憶データの1ビット又は複数のビ
ットに特定ビット・パターンを格納しているものであ
る。
【0075】本発明の連想メモリに係る手段10は、第
2の検索手段において、前記1次検索の際に対応する前
記マスク情報により検索対象から除外される前記記憶デ
ータの1ビット又は複数のビットを特定ビット・パター
ンとみなして検索を行い前記演算結果出力線と一致した
ワードを選出するものである。
【0076】本発明の連想メモリに係る手段11は、前
記特定ビット・パターンは、すべての当該ビットが記憶
データの無効状態により構成されているものである。
【0077】本発明の連想メモリに係る手段12は、第
1の検索手段が、記憶データ1語ごとに検索データとマ
スク情報を付加した該記憶データが一致するときに有効
状態となる一致線を有し、かつ、一つ又は複数の記憶デ
ータが該検索データと一致したとき、一致した記憶デー
タに対応するマスク情報のすべてに対してマスク情報の
有効状態を真とする論理積演算結果を中間情報として生
成し、当該中間情報のビットがマスク情報の無効状態な
らば前記検索データの同じビット位置の情報を、当該中
間情報のビットがマスク情報の有効状態ならば記憶デー
タの無効状態を、演算結果出力線の同じビット位置に出
力する演算結果とする演算結果出力回路を有する演算結
果出力機能付連想メモリにより構成されるものである。
【0078】本発明の連想メモリに係る手段13は、第
1の検索手段において、演算結果出力線の情報を格納す
る第1の記憶手段と、外部からの検索情報と第1の記憶
手段の出力信号とを選択し検索データとして入力する選
択手段と、第1の記憶手段の出力信号が検索データとし
て選択されているときには対応するマスク情報がマスク
有効状態である前記記憶データの1ビット又は複数ビッ
トを検索対象から除外する機能を無効化して前記検索デ
ータと当該記憶データを比較した結果を対応する前記一
致線に出力する比較手段とを有することにより、第2の
検索手段の構成要素を第1の検索手段の構成要素と共有
するものである。
【0079】本発明の連想メモリに係る手段14は、第
1の検索手段において、演算結果出力線の情報を格納す
る第1の記憶手段と、外部からの検索情報と第1の記憶
手段の出力信号とを選択し検索データとして入力する選
択手段と、第1の記憶手段の出力信号が検索データとし
て選択されているときには対応するマスク情報がマスク
有効状態である前記記憶データの1ビット又は複数ビッ
トを記憶データの無効状態とみなして前記検索データと
当該記憶データを比較した結果を対応する前記一致線に
出力する比較手段とを有することにより、第2の検索手
段の構成要素を第1の検索手段の構成要素と共有するも
のである。
【0080】本発明のルータに係る手段15は、記憶デ
ータの1ビット又は複数ビットごとに検索対象から除外
するか否かを、有効状態、無効状態により設定するマス
ク情報を当該記憶データ1ワード又は複数ワードごとに
有する連想メモリに経路情報を格納するルータにおい
て、ワードごとにマスク情報がマスク有効状態の場合に
対応する当該記憶データの1ビット又は複数ビットを検
索対象から除外する1次検索を入力転送データの目的地
ネットワーク・アドレスを検索データとして行った結果
一つ又は複数の経路情報が一致したとき、目的地ネット
ワーク・アドレスに対して一致した記憶データに対応す
るマスク情報同士をマスク有効状態を真とした論理積を
行うことで生成した一致マスク論理積情報と前記検索デ
ータとの第1の論理演算を行った結果を演算結果出力線
に出力する第1の検索手段と、演算結果出力線の情報と
一致する記憶データを有する前記経路情報を識別する一
致信号を出力する第2の検索手段と、前記一致信号によ
り前記入力転送データの転送先アドレスを決定する手段
と、前記入力転送データを前記転送先アドレスに転送す
る手段と、を備えたものである。
【0081】本発明のルータに係る手段16は、記憶デ
ータの1ビット又は複数ビットごとに検索対象から除外
するか否かを、有効状態、無効状態により設定するマス
ク情報を当該記憶データ1ワード又は複数ワードごとに
有する経路情報を複数格納する経路情報テーブルを有す
るルータにおいて、ワードごとにマスク情報がマスク有
効状態の場合に対応する当該記憶データの1ビット又は
複数ビットを検索対象から除外する1次検索を入力転送
データの目的地ネットワーク・アドレスを検索データと
して行った結果一つ又は複数の経路情報が一致したと
き、目的地ネットワーク・アドレスに対して一致した記
憶データに対応するマスク情報同士をマスク有効状態を
真とした論理積を行うことで生成した一致マスク論理積
情報と前記検索データとの第1の論理演算を行い演算結
果出力信号を発生し、演算結果出力信号と一致する記憶
データを有する前記経路情報を識別する一致信号を発生
し、前記一致信号により前記入力転送データの転送先ア
ドレスを決定し、前記入力転送データを前記転送先アド
レスに転送するものである。
【0082】本発明のネットワークシステムに係る手段
17は、前記ルータを介してネットワークに接続された
機器間でデータ通信を行うものである。
【0083】
【発明の実施の形態】
【第一の実施例の構成】本発明の第一の実施の形態につ
いて図面を参照して詳細に説明する。図1は、本発明の
連想メモリ1の構成例を示すブロック図である。連想メ
モリ1は、nビット2入力1出力セレクタ23と、nビ
ットm語の連想メモリ・ワード2−1〜2−mと、nビ
ット・ラッチ21と、制御回路30と、反転論理ゲート
16−1〜16−nと、論理ゲート18−1〜18−n
を有しており、各連想メモリ・ワード2−jは、n個の
連想メモリ・セル7−j−1〜7−j−nを備えてい
る。各連想メモリ・ワード2−jには、対応するデータ
・ワード線3−jと、マスク・ワード線6−jと、及び
比較制御信号4が入力のために接続され、対応する一致
線5−j、及びn本の一致マスク中間論理線14−1〜
14−nが出力のために接続され、n本のビット線13
−1〜13−nが入出力のために接続されている。
【0084】各連想メモリ・セル7−j−kには、対応
するデータ・ワード線3−jと、マスク・ワード線6−
jと、及び比較制御信号4が入力のために接続され、対
応する一致線5−j、及び一致マスク中間論理線14−
kが出力のために接続され、ビット線13−kが入出力
のために接続されている。
【0085】各連想メモリ・セル7−j−kは、ビット
線13−kを介して外部から入力される記憶データの対
応するビット情報を格納するデータ・セル8−j−k
と、データ・セル8−j−kに記憶されたビット情報と
外部からビット線13−kを介して入力される情報とを
比較する比較器10−j−kと、外部からビット線13
−kを介して入力されるマスク情報の対応するビット情
報を格納するマスク・セル9−j−kと、及び論理ゲー
ト11−j−kとを備えている。ここで、マスク・セル
9−j−kに格納されたビット情報がマスク情報の無効
状態の場合には、対応するデータ・セル8−j−kに
は、記憶データの無効状態を格納する。
【0086】なお、本実施の形態では、マスク情報の有
効状態を“0"、無効状態を“1"とし、記憶データの有
効状態を“1"、無効状態を“0"とする。マスク情報と
同様に、一致マスク論理積線17−1〜17−nの有効
状態を“0"、無効状態を“1"とする。一致線5−1〜
5−mの有効状態を“1"、無効状態を“0"とする。
【0087】データ・ワード線3−1〜3−mと、デー
タ・セル8−1−1〜8−m−nの動作は、従来の連想
メモリのデータ・ワード線106−1〜106−mと、
データ・セル108−1−1〜108−m−nの動作と
同じである。また、マスク・ワード線6−1〜6−m
と、マスク・セル9−1−1〜9−m−nの動作は、従
来の連想メモリのマスク・ワード線111−1〜111
−mと、マスク・セル112−1−1〜112−m−n
の動作と同じである。
【0088】一致線5は、検索動作の開始前には、ハイ
・レベルにプリ・チャージされ、有効状態“1"になっ
ているものとする。
【0089】比較器10は、対応するビット線13と、
それに同一の連想メモリ・セル7−1−1〜7−m−n
の中のデータ・セル8に格納されている記憶データと、
マスク・セル9に格納されているマスク情報と、及び比
較制御信号4を入力とする。比較器10は、比較制御信
号4が無効状態“0"かつマスク情報が有効状態なら
ば、対応する一致線5を解放状態にし、それ以外の場合
には、ビット線13の値と記憶データが一致するならば
対応する一致線5を開放状態にし、一致しないならば無
効状態“0"を出力する。連想メモリ・ワード2の中の
n個の比較器10がすべて一致線5を開放状態にしてい
るときに、一致線5は有効状態“1"となり、それ以外
の場合には無効状態“0"となる、一致線5の有効状態
“1"を真としたワイアードAND論理接続を構成して
いる。つまり、検索動作時には、比較制御信号4が無効
状態“0"かつマスク情報が有効状態“0"のために比較
対象から除外されたビットを除いて、連想メモリ・ワー
ド2が格納している記憶データとビット線13−1〜1
3−nが完全に一致する場合に限り、一致線5は有効状
態“1"となり、それ以外の場合は無効状態“0"とな
る。もちろん同様の動作となるように通常の論理ゲート
を用いて構成してもかまわない。
【0090】論理ゲート11−1−1〜11−m−n
は、同一の連想メモリ・ワード2−1〜2−mの中の一
致線5−1〜5−mが有効状態“1"かつ、同一の連想
メモリ・セル7−1−1〜7−m−nの中のマスク・セ
ル9−1−1〜9−m−nに格納されたマスク情報が無
効状態“1"のときに、対応する一致マスク中間論理線
14−1〜14−nに“0"を出力し、それ以外の場合
には開放状態にする。
【0091】各一致マスク中間論理線14−1〜14−
nは、抵抗15−1〜15−nによりプル・アップされ
ており、対応するm個の論理ゲート11−1−1〜11
−m−nとワイアード論理接続を構成している。従っ
て、接続されているm個の論理ゲート11がすべて一致
マスク中間論理線14を開放状態にしているときに、一
致マスク中間論理線14は“1"となり、それ以外の場
合には“0"となる。もちろん同様の動作となるように
通常の論理ゲートを用いて構成してもかまわない。
【0092】反転論理ゲート16−1〜16−nは、対
応する一致マスク中間論理線14−1〜14−nの論理
状態を反転し、一致マスク論理積線17−1〜17−n
として出力する。これにより、一致マスク論理積線17
−1〜17−nには、検索動作時に有効状態“1"とな
っている一致線5を有する連想メモリ・ワード2の中の
マスク情報のすべてに対して、マスク情報の有効状態
“0"を真とした論理積演算した結果が得られることに
なる。つまり、一致マスク論理積線17−1〜17−n
は、検索動作時に検索データ12と一致した記憶データ
に対応するマスク情報の中で、最も有効状態“0"のビ
ット数が少ないマスク情報と同じ値となる。
【0093】論理ゲート18−1〜18−nは、対応す
るビット線13−1〜13−nと一致マスク論理積線1
7−1〜17−nを入力とし、一致マスク論理積線17
がマスク情報の無効状態ならばビット線13の状態をそ
のまま演算結果出力線19−1〜19−nに出力し、一
致マスク論理積線17がマスク情報の有効状態ならば、
記憶データの無効状態を演算結果出力線19−1〜19
−nに出力する。これにより、検索動作時に検索データ
12と一致した記憶データに対応するマスク情報の中
で、最も有効状態“0"のビット数が少ないマスク情報
の有効状態“0"となっているビットに対応する検索デ
ータ12のビットを、記憶データの無効状態“0"に置
換した値が、演算結果出力線19−1〜19−nに得ら
れることになる。本実施の形態ではマスク情報の無効状
態を“1"、記憶データの無効状態を“0"としているの
で、論理ゲート18−1〜18−nは、“1"を真とし
た論理積ゲートで構成することができる。
【0094】nビット・ラッチ21は、ラッチ制御信号
22が有効状態の時に、演算結果出力線19−1〜19
−nの状態を内部に格納する。また、格納した状態をラ
ッチ出力線20−1〜20−nに出力する。
【0095】nビット2入力1出力セレクタ23は、ビ
ット線13−1〜13−nに出力するデータを、選択信
号24の状態により、検索データ12−1〜12−nと
ラッチ出力線20−1〜20−nの一方から選択する。
【0096】制御回路30は、連想メモリ1の動作を制
御するため、クロック信号31に同期して、ラッチ制御
信号22、選択信号24及び比較制御信号4を出力す
る。
【0097】
【第一の実施例の構成詳細】次に、上述の連想メモリ・
セル7の構成例を図2を用いて説明する。図15に示す
従来の連想メモリ・セル118と比較すれば分かるよう
に、本発明の連想メモリ・セル7の、ビット線13a、
13b、データ・ワード線3、データ・セル8、マスク
・ワード線6、及びマスク・セル9は、従来の連想メモ
リ・セル118と同様である。
【0098】従って従来と異なる部分のみの説明を行
う。なお、従来の連想メモリ・セル118が有していた
マスク比較器120及びマスク一致線119は、本発明
の連想メモリ・セルでは不要である。
【0099】比較器10はMOSトランジスタ(T3)
205、MOSトランジスタ(T4)206、MOSト
ランジスタ(T5)207、MOSトランジスタ(T
6)208、及びMOSトランジスタ(T7)209に
より構成される。MOSトランジスタ(T3)205と
MOSトランジスタ(T4)206はビット線13a,
13bの間に直列に挿入される。MOSトランジスタ
(T3)205は、データ・セル8内の反転論理ゲート
(G1)201の出力がハイ・レベルのときに導通状態
となる。MOSトランジスタ(T4)206は、データ
・セル8内の反転論理ゲート(G2)202の出力がハ
イ・レベルのときに導通状態となる。MOSトランジス
タ(T6)208とMOSトランジスタ(T7)209
は並列接続され、この並列接続された2つのMOSトラ
ンジスタは、MOSトランジスタ(T5)207と共
に、一致線5と低電位の間に直列に挿入される。MOS
トランジスタ(T6)208は、マスク・セル9内の反
転論理ゲート(G4)211の出力がハイ・レベルの時
に導通状態となる。MOSトランジスタ(T7)209
は、比較制御信号4が有効状態“1"の時に導通状態と
なる。
【0100】MOSトランジスタ(T5)207は、M
OSトランジスタ(T3)205とMOSトランジスタ
(T4)206の接続点の電位がハイ・レベルの時に導
通状態となる。ビット線13aと反転論理ゲート(G
1)201の出力が共にハイ・レベル、又はビット線1
3bと反転論理ゲート(G2)202の出力が共にハイ
・レベルのときに、MOSトランジスタ(T3)205
とMOSトランジスタ(T4)206の接続点はハイ・
レベルとなり、MOSトランジスタ(T5)207を導
通状態とする。
【0101】従って、データ・セル8に格納されている
記憶データと、ビット線13a,13b上の検索データ
12が異なる場合にMOSトランジスタ(T5)207
は導通状態になる。またMOSトランジスタ(T6)2
08はマスク・セル9内に格納されているマスク情報が
“0"のときには開放状態であり、“1"のときに導通状
態となる。一致線5は検索動作を開始する前に高電位に
プリ・チャージされているものとする。これにより、複
数の連想メモリ・セル7が一致線5にMOSトランジス
タ(T6)208、及びMOSトランジスタ(T7)2
09を介して接続されているとき、一つの連想メモリ・
セル7でもロウ・レベルを出力していると一致線5はロ
ウ・レベルとなるようなワイアードAND接続となる。
【0102】MOSトランジスタ(T5)207が導通
状態のときに、並列接続されたMOSトランジスタ(T
6)208、MOSトランジスタ(T7)209のどち
らか一つでも導通状態の場合に連想メモリ・セル7は一
致線5に無効状態“0"を出力し、それ以外の時には一
致線5を開放状態とする。即ち、マスク情報が有効状態
“0"かつ比較制御信号4が無効状態“0"の場合には検
索データ12と記憶データの比較結果によらず一致線5
を開放状態とし、それ以外の場合にはビット線13a,
13b上の検索データ12とデータ・セル8に格納され
ている記憶データが一致するときに開放状態とし、異な
る場合には無効状態“0"を出力する。
【0103】次に、論理ゲート11と一致マスク中間論
理線14の働きを説明する。一致マスク中間論理線14
は図1の抵抗15によりプル・アップされ検索動作前に
は“1"になっている。論理ゲート11は、一致マスク
中間論理線14と低電位との間に直列に挿入されたMO
Sトランジスタ(T10)214と、MOSトランジス
タ(T11)215で構成されている。MOSトランジ
スタ(T10)214は、一致線5が有効状態“1"の
ときに導通状態となり、無効状態“0"のときには開放
状態となる。MOSトランジスタ(T11)215は、
マスク・セル9内部の反転論理ゲート(G4)211の
出力がハイ・レベルの場合に導通状態となり、ロウ・レ
ベルの場合には開放状態となる。つまり、マスク・セル
9に格納されているマスク情報が無効状態“1"のとき
に導通状態となり、有効状態“0"のときには開放状態
となる。これにより論理ゲート11は、一致線5が有効
状態“1"かつマスク・セル9に格納されたマスク情報
が無効状態“1"のときに、一致マスク中間論理線14
に“0"を出力し、それ以外の場合には開放状態にす
る。
【0104】
【第一の実施例の動作】次に、上述の連想メモリ1を、
図18のルータ400−3における転送先ネットワーク
・アドレスの計算に用いた場合の動作を、図3を用いて
説明する。そのときのタイミングチャートを図4に示
す。
【0105】連想メモリ1を8ビット5語の構成と仮定
し、各連想メモリ・ワード2−1〜2−5に格納されて
いる記憶データ、マスク情報には、図18のルータ40
0−3のネットワーク・アドレス(3.*.*.*)以
外の接続情報を記憶しているものとする。このとき、接
続情報の中のドント・ケア“*"状態のビットは、記憶
データの該当ビットを記憶データの無効状態“0"、マ
スク情報の該当ビットをマスク・データの有効状態
“0"とすることで表現される。
【0106】つまり、連想メモリ・ワード2−1には
(1.*.*.*)を実現するため2進数で、記憶デー
タには(01.00.00.00)を、マスク情報とし
て(11.00.00.00)を格納してある。同様に
連想メモリ・ワード2−2には(2.*.*.*)を実
現するため2進数で、記憶データには(10.00.0
0.00)を、マスク情報として(11.00.00.
00)を格納してある。連想メモリ・ワード2−3には
(1.2.2.*)を実現するため2進数で、記憶デー
タには(01.10.10.00)を、マスク情報とし
て(11.11.11.00)を格納してある。連想メ
モリ・ワード2−4には(1.2.*.*)を実現する
ため2進数で、記憶データには(01.10.00.0
0)を、マスク情報として(11.11.00.00)
を格納してある。連想メモリ・ワード2−5には(2.
1.1.*)を実現するため2進数で、記憶データには
(10.01.01.00)を、マスク情報として(1
1.11.11.00)を格納してある。
【0107】以下、検索データ12として図18のPC
401−1の4進数のネットワーク・アドレス(1.
2.2.1)を入力し検索動作を行った場合の動作説明
をする。
【0108】まず、図4のタイミング(1)で、すべて
の一致線5−1〜5−5は、ハイ・レベルにプリ・チャ
ージされ、有効状態“1"になっている。次に図4のタ
イミング(2)で、制御回路30が出力する選択信号2
4により、nビット2入力1出力セレクタ23は検索デ
ータ12を選択し、ビット線13−1〜13−8に出力
する。また、制御回路30は比較制御信号4に無効状態
“0"を出力し、各連想メモリ・セル7−1−1〜7−
m−nにおいて、その中の記憶データと検索データ12
の対応ビットの比較結果によらずに、その中のマスク情
報が有効状態“0"の場合には対応する一致線5を解放
状態とすることを許可する。つまりドント・ケア“*"
も考慮して比較する。これにより、連想メモリ1の連想
メモリ・ワード2−1に格納されている4進表現の
(1.*.*.*)と、連想メモリ・ワード2−3に格
納されている4進表現の(1.2.2.*)と、連想メ
モリ・ワード2−4に格納されている4進表現の(1.
2.*.*)がビット線13−1〜13−8上の検索デ
ータ12と一致する。従って、一致線5−1、5−3及
び5−4の3本が有効状態“1"となり、残りの一致線
5−2、5−5は無効状態“0"となる。
【0109】ここで、一致マスク論理積線17−1から
は、連想メモリ・ワード2−1内の一致マスク中間論理
線14−1に対応するマスク情報“1"と、連想メモリ
・ワード2−3内の一致マスク中間論理線14−1に対
応するマスク情報“1"と、連想メモリ・ワード2−4
内の一致マスク中間論理線14−1に対応するマスク情
報“1"の、マスク情報の有効状態“0"を真とした論理
積“1"が出力される。一致マスク論理積線17−2か
らは、連想メモリ・ワード2−1内の一致マスク中間論
理線14−2に対応するマスク情報“1"と、連想メモ
リ・ワード2−3内の一致マスク中間論理線14−2に
対応するマスク情報“1"と、連想メモリ・ワード2−
4内の一致マスク中間論理線14−2に対応するマスク
情報“1"の、マスク情報の有効状態“0"を真とした論
理積“1"が出力される。以下同様に、一致マスク論理
積線17−3からは“0"と“1"と“1"のマスク情報
の有効状態“0"を真とした論理積“1"が、一致マスク
論理積線17−4からは“0"と“1"と“1"のマスク
情報の有効状態“0"を真とした論理積“1"が、一致マ
スク論理積線17−5からは“0"と“1"と“0"のマ
スク情報の有効状態“0"を真とした論理積“1"が、一
致マスク論理積線17−6からは“0"と“1"と“0"
のマスク情報の有効状態“0"を真とした論理積“1"
が、一致マスク論理積線17−7からは“0"と“0"と
“0"のマスク情報の有効状態“0"を真とした論理積
“0"が、一致マスク論理積線17−8からは“0"と
“0"と“0"のマスク情報の有効状態“0"を真とした
論理積“0"が、それぞれ出力される。従って、一致マ
スク論理積線17−1〜17−8には、2進表現で“1
1111100"が出力される。論理ゲート18−1〜
18−8は、一致マスク論理積線17−1〜17−8の
値“11111100"と、ビット線13−1〜13−
8に出力されている検索データ12の値“011010
01"を入力とし、前述のとおり“1"を真とした論理積
の値“01101000"を演算結果出力線19−1〜
19−8に出力する。
【0110】この状態で、制御回路30が出力するラッ
チ制御信号20が有効状態になり、nビット・ラッチ2
1は演算結果出力線19−1〜19−8の状態を内部に
格納する。従って、nビット・ラッチ21は2進表現で
“01101000"を格納し、その値をラッチ出力線
20−1〜20−8に出力する。
【0111】図4のタイミング(3)は、本実施の形態
では、タイミング(2)とタイミング(4)双方のクロ
ック信号31の状態を同一にするために挿入されてお
り、連想メモリ1は、タイミング(2)の最終状態を保
持し続ける。タイミング(2)とタイミング(4)双方
のクロック信号31の状態を同一でなくても制御回路3
0が動作する場合には、タイミング(3)を挿入する必
要ない。
【0112】次に図4のタイミング(4)で、制御回路
30が出力する選択信号24により、nビット2入力1
出力セレクタ23はラッチ出力線20を選択し、その情
報“01101000"を対応するビット線13−1〜
13−8に出力した後、連想メモリ1は2回目の検索動
作を開始する。2回目の検索動作では、一致線5−1〜
5−5に保持されている、タイミング(2)で実行した
1回目の検索動作の結果を利用する。本実施の形態で
は、一致線5−1、5−3及び5−4の3本が有効状態
“1"を保持しており、データ一致線5−2、5−5は
無効状態“0"を保持している。1回目の検索動作の結
果を記憶手段に格納し、タイミング(4)での検索時に
その格納状態を利用してもよいことは、言うまでもな
い。また、制御回路30は比較制御信号4に有効状態
“1"を出力する。これにより、各連想メモリ・セル7
−1−1〜7−m−nは、その中のマスク情報によら
ず、その中の記憶データと対応するビット線13の比較
結果が不一致の場合には、一致線5に無効状態“0"を
出力する。つまりドント・ケア“*"を考慮せず、各連
想メモリ・ワード2−1〜2−5に格納されている記憶
データ自体とビット線13―1〜13−8の状態“01
101000"とを比較し、不一致の場合には対応する
一致線5−1〜5−5に無効状態“0"を出力すること
になる。
【0113】本実施の形態では、ビット線13−1〜1
3−8の状態“01101000"に対して、連想メモ
リ・ワード2−3が格納する記憶データが完全に一致
し、対応する一致線5−3を開放状態にする。他の連想
メモリ・ワード2−1,2−2、2−4、及び2−5が
格納する記憶データは一致しないので、対応する一致線
5−1,5−2、5−4、及び5−5に無効状態“0"
を出力する。従って、2回目の検索動作開始前に有効状
態“1"を保持していた一致線5−1,5−3,5−4
の3本の中で、2回目の検索動作後も有効状態“1"を
保持し続けるのは、一致線5−3のみとなる。
【0114】従って、入力した検索データ12と、対応
するマスク情報を考慮して比較した結果一致する記憶デ
ータの中で、マスク情報の有効状態のビットが最も少な
い記憶データに対応する一致線5−3のみに有効状態を
出力することがわかる。
【0115】上述のように、本発明の第一の実施例の連
想メモリ1は、1回目の検索動作、2回目の検索動作共
に、比較器10−1−1〜10−m−nで実行し、結果
を一致線5−1〜5−mに出力する。従って図2に示す
ように連想メモリ・セル7は、図15に示す連想メモリ
・セル118と比較して、マスク・比較器が削除するこ
とができる。ここで、従って、比較器10,及び論理ゲ
ート11を構成するMOSトランジスタの面積を、最小
面積のMOSトランジスタの10倍、一般的なスタティ
ックRAM素子の面積は最小面積のMOSトランジスタ
の6倍と仮定すると、図2から容易に分かるように連想
メモリ・セル7の面積は、最小面積のMOSトランジス
タの82倍となる。従来の連想メモリ・セル118の面
積は前述のように最小面積のMOSトランジスタの10
2倍であったから、本発明の連想メモリ・セル7は、従
来の連想メモリ・セル118に比べて20%程度面積を
削減できることになる。
【0116】また、1回目の検索動作の結果も、2回目
の検索動作の結果も同一の一致線5−1〜5−mに出力
されるため、従来の連想メモリ116で必要であった1
回目の検索動作の結果を2回目の検索動作を実行するま
で保持するためのラッチ123−1〜123−mが不要
である。従って、従来の連想メモリ116に比べて、さ
らに面積削減が可能である。例えば、1語64ビットで
32768語の構成の場合、ラッチ123が10個のM
OSトランジスタから構成されていると仮定すると、お
よそ33万個のMOSトランジスタ分の面積が削減でき
ることになる。従って、上記の連想メモリ・セルの面積
削減分と合わせると、チップ全体で25%程度の面積削
減が可能となる。
【0117】また、1回目の検索動作の結果も、2回目
の検索動作の結果も同一の一致線5−1〜5−mに出力
されるため、検索動作のごとのプリ・チャージもm本の
一致線5−1〜5−mとn本の一致マスク中間論理線1
4−1〜14−nのみでよい。つまり検索動作のたび
(m+n)本プリ・チャージすればよい。従来の連想メ
モリ116では、前述のとおり、m本のデータ一致線1
07−1〜107−m、m本のマスク一致線119−1
〜119−m、及びn本の最短マスク線122−1〜1
22−nのプリ・チャージが必要であり、従って、検索
動作のたびに(2m+n)本プリ・チャージすることに
なる。ここで1語64ビットで32768語の構成の場
合、チップ全体でプリ・チャージする配線の本数は、従
来の連想メモリ116では65600本、本発明の連想
メモリ1では32832本となり、従って、従来の連想
メモリ116と比較して消費電力が50%程度削減でき
ることになる。
【0118】また、連想メモリ・セル7の面積削減に伴
い、ビット線13−1〜13−n、一致マスク中間論理
線14−1〜14−nの配線長も短縮される。連想メモ
リ・セル7を構成するMOSトランジスタの大きさが前
述の例のとおりだとすると、図2から容易に分かるよう
に従来の連想メモリ・セル118に比べて25%程度配
線長が短縮されることになる。配線容量がその分減少す
るので、クロック信号31の周波数を32%程度高くす
ることができるという効果もある。
【0119】
【第二の実施例の構成】次に、本発明の第二の実施の形
態について図面を参照して詳細に説明する。本実施の形
態の連想メモリ26は、記憶データの有効状態を
“0"、無効状態を“1"としていること、及び論理ゲー
ト25−1〜25−nの構成を除けば、第一の実施の形
態の連想メモリ1と同様である。ここで第一の実施の形
態と同様に、マスク・セル9−j−kに格納されたビッ
ト情報がマスク情報の無効状態の場合には、対応するデ
ータ・セル8−j−kには、記憶データの無効状態を格
納する。
【0120】論理ゲート25−1〜25−nは、第一の
実施の形態と同様に、対応するビット線13−1〜13
−nと一致マスク論理積線17−1〜17−nを入力と
し、一致マスク論理積線17がマスク情報の無効状態な
らばビット線13の状態をそのまま演算結果出力線19
−1〜19−nに出力し、一致マスク論理積線17がマ
スク情報の有効状態ならば、記憶データの無効状態を演
算結果出力線19−1〜19−nに出力する。これによ
り、検索動作時に検索データ12と一致した記憶データ
に対応するマスク情報の中で、最も有効状態“0"のビ
ット数が少ないマスク情報の有効状態“0"となってい
るビットに対応する検索データ12のビットを、記憶デ
ータの無効状態“1"に置換した値が、演算結果出力線
19−1〜19−nに得られることになる。本実施の形
態ではマスク情報の無効状態を“1"、記憶データの無
効状態を“1"としているので、論理ゲート25−1〜
25−nは、“1"を真とし、一致マスク論理積線17
の論理反転とビット線13との論理和を演算する論理回
路で構成することができる。
【0121】
【第二の実施例の動作】次に、上述の連想メモリ26
を、図18のルータ400−3における転送先ネットワ
ーク・アドレスの計算に用いた場合の動作を、図6を用
いて説明する。
【0122】連想メモリ26を8ビット5語の構成と仮
定し、各連想メモリ・ワード2−1〜2−5に格納され
ている記憶データ、マスク情報には、図18のルータ4
00−3のネットワーク・アドレス(3.*.*.*)
以外の接続情報を記憶しているものとする。このとき、
接続情報の中のドント・ケア“*"状態のビットは、記
憶データの該当ビットを記憶データの無効状態“1"、
マスク情報の該当ビットをマスク情報の有効状態“0"
とすることで表現される。
【0123】つまり、連想メモリ・ワード2−1には
(1.*.*.*)を実現するため2進数で、記憶デー
タには(01.11.11.11)を、マスク情報とし
て(11.00.00.00)を格納してある。同様に
連想メモリ・ワード2−2には(2.*.*.*)を実
現するため2進数で、記憶データには(10.11.1
1.11)を、マスク情報として(11.00.00.
00)を格納してある。連想メモリ・ワード2−3には
(1.2.2.*)を実現するため2進数で、記憶デー
タには(01.10.10.11)を、マスク情報とし
て(11.11.11.00)を格納してある。連想メ
モリ・ワード2−4には(1.2.*.*)を実現する
ため2進数で、記憶データには(01.10.11.1
1)を、マスク情報として(11.11.00.00)
を格納してある。連想メモリ・ワード2−5には(2.
1.1.*)を実現するため2進数で、記憶データには
(10.01.01.11)を、マスク情報として(1
1.11.11.00)を格納してある。
【0124】以下、検索データ12として図18のPC
401−1の4進数のネットワーク・アドレス(1.
2.2.1)を入力し検索動作を行った場合の動作を、
第一の実施の形態と異なる点についてのみ説明する。
【0125】1回目の検索動作においては、第一の実施
の形態と同様に、連想メモリ・ワード2−1、2−3,
及び2−4が一致し、一致マスク論理積線17−1〜1
7−8には、2進表現で“11111100"が出力さ
れる。論理ゲート18−1〜18−8は、一致マスク論
理積線17−1〜17−8の値“11111100"
と、ビット線13−1〜13−8に出力されている検索
データ12の値“01101001"を入力とし、前述
のとおり“1"を真とし、一致マスク論理積線17の論
理反転とビット線13との論理和を演算結果“0110
1011"を演算結果出力線19−1〜19−8に出力
する。
【0126】2回目の検索動作においては、ビット線1
3−1〜13−8の状態“01101011"に対し
て、連想メモリ・ワード2−3が格納する記憶データが
完全に一致し、対応する一致線5−3を開放状態にす
る。他の連想メモリ・ワード2−1,2−2、2−4、
及び2−5が格納する記憶データは一致しないので、対
応する一致線5−1,5−2、5−4、及び5−5に無
効状態“0"を出力する。従って、2回目の検索動作開
始前に有効状態“1"を保持していた一致線5−1,5
−3,5−4の3本の中で、2回目の検索動作後も有効
状態“1"を保持し続けるのは、一致線5−3のみとな
る。
【0127】従って、入力した検索データ12と、対応
するマスク情報を考慮して比較した結果一致する記憶デ
ータの中で、マスク情報の有効状態のビットが最も少な
い記憶データに対応する一致線5−3のみに有効状態を
出力することがわかる。
【0128】第一の実施の形態、第二の実施の形態共に
マスク情報の有効状態を“0"として説明したが、マス
ク情報の有効状態を“1"とした場合においても、前述
と同様に、各連想メモリ・ワードにおいて、マスク情報
の有効状態となっているマスク情報のビットに対応する
記憶データのビットに記憶データの無効状態を格納して
おき、第1回目の検索動作時に有効状態となっている一
致線を有する連想メモリ・ワードの中のマスク情報のす
べてに対して、マスク情報の有効状態を真とした論理積
演算を行い、その演算結果が出力されている一致マスク
論理積線の各ビットがマスク情報の無効状態ならば対応
するビット線の状態を2回目の検索動作時のビット線の
状態とし、マスク情報の有効状態ならば、記憶データの
無効状態を2回目の検索動作時のビット線の状態とする
ように構成すれば、本発明の連想メモリを実現できるこ
とは言うまでもない。
【0129】また、第一の実施の形態、第二の実施の形
態共に各連想メモリ・ワードにおいて、マスク有効状態
となっているマスク情報のビットに対応する記憶データ
のビットに記憶データの無効状態を格納したが、比較制
御信号4が有効状態となる2回目の検索動作時には、比
較器10においてマスク有効状態なっているマスク情報
のビットに対応する記憶データには記憶データの無効状
態が記憶されているものとみなして比較を行っても同じ
結果が得られることは容易に分かる。
【0130】
【第三の実施例の構成】次に、本発明の第三の実施の形
態について図面を参照して詳細に説明する。図7は本発
明の第三の実施の形態の連想メモリ42の構成を示すブ
ロック図である。
【0131】連想メモリ42は、nビットm語の演算結
果出力機能付連想メモリ33と、nビットm語のマスク
機能無し連想メモリ101とから構成される。本実施の
形態では、演算結果出力機能付連想メモリ33が1回目
の検索動作を行い演算結果38を計算し、得られた演算
結果38を用いてマスク機能無し連想メモリ101が2
回目の検索動作を行い一致線5−1〜5−mを出力す
る。
【0132】nビットm語の演算結果出力機能付連想メ
モリ33は、n本のビット線13−1〜13−nに入力
された検索データ12を、m個の連想メモリ・ワード4
3−1〜43−mごとに内部のデータ・セル8−1−1
〜8−1−nに格納されている記憶データ及びマスク・
セル9−1−1〜9−m−nに格納されたマスク情報を
用いて、計算された演算結果38をn本の演算結果出力
線19−1〜19−nに出力する。演算結果38は、第
一の実施の形態の連想メモリ1と同様な操作により計算
される。ここで、マスク・セル9−j−kに格納された
ビット情報がマスク情報の無効状態の場合には、対応す
るデータ・セル8−j−kに格納する状態は任意であ
る。
【0133】マスク機能無し連想メモリ101は、ビッ
ト線103−1〜103−nから入力された演算結果3
8を、m個の連想メモリ・ワード104−1〜104−
mごとに内部のデータ・セル105−1−1〜105−
m−nに格納している第二の記憶データと一致している
かを比較した結果、一致した連想メモリ・ワード104
に対応するデータ一致線107−1〜107−mに有効
状態“1"を出力する。データ一致線107−1〜10
7−mの状態は、一致線5−1〜5−mとして連想メモ
リ42から出力される。ここで、演算結果出力機能付連
想メモリ33のマスク・セル9−j−kに格納されたビ
ット情報がマスク情報の無効状態の場合には、対応する
データ・セル105−j−kには、記憶データの無効状
態を格納する。
【0134】なお、本実施の形態では、マスク情報の有
効状態を“0"、無効状態を“1"とし、記憶データの有
効状態を“1"、無効状態を“0"とする。マスク情報と
同様に、一致マスク論理積線17−1〜17−nの有効
状態を“0"、無効状態を“1"とする。一致線5−1〜
5−mの有効状態を“1"、無効状態を“0"とする。
【0135】nビットm語の演算結果出力機能付連想メ
モリ33の構成例を図8に示す。演算結果出力機能付連
想メモリ33は、nビットm語の連想メモリ・ワード4
3−1〜43−mと、反転論理ゲート16−1〜16−
nと、論理ゲート18−1〜18−nを有しており、各
連想メモリ・ワード43−jは、n個の連想メモリ・セ
ル44−j−1〜44−j−nを備えている。反転論理
ゲート16−1〜16−nと、論理ゲート18−1〜1
8−nの動作は第一の実施の形態の連想メモリ1と全く
同様である。
【0136】各連想メモリ・ワード43−jには、対応
するデータ・ワード線3−jと、マスク・ワード線6−
jが入力のために接続され、対応する中間一致線41−
j、及びn本の一致マスク中間論理線14−1〜14−
nが出力のために接続され、n本のビット線13−1〜
13−nが入出力のために接続されている。
【0137】各連想メモリ・セル44−j−kには、対
応するデータ・ワード線3−jと、マスク・ワード線6
−jが入力のために接続され、対応する中間一致線41
−j、及び一致マスク中間論理線14−kが出力のため
に接続され、ビット線13−kが入出力のために接続さ
れている。
【0138】各連想メモリ・セル44−j−kは、ビッ
ト線13−kを介して外部から入力される記憶データの
対応するビット情報を格納するデータ・セル8−j−k
と、データ・セル8−j−kに記憶されたビット情報と
外部からビット線13−kを介して入力される情報とを
比較する比較器32−j−kと、外部からビット線13
−kを介して入力されるマスク情報の対応するビット情
報を格納するマスク・セル9−j−kと、及び論理ゲー
ト11−j−kとを備えている。
【0139】連想メモリ・セル43の、データ・ワード
線3,マスク・ワード線6、一致マスク中間論理線1
4、ビット線13、データ・セル8,マスク・セル9、
論理ゲート11の動作は、第一の実施例の連想メモリ1
の連想メモリ・セル7と全く同様である。第一の実施例
の連想メモリ1の連想メモリ・セル7の一致線5は、中
間一致線41に名称変更されている。従って、第一の実
施例の連想メモリ1の連想メモリ・セル7と異なる点に
ついてのみ説明する。
【0140】本実施の形態では各データ・セル8に対応
するマスク・セル9に格納されているマスク情報が有効
状態の場合、該当データ・セル8に格納する記憶情報
は、無効状態、有効状態のどちらでも構わない。
【0141】中間一致線41は、検索動作の開始前に
は、ハイ・レベルにプリ・チャージされているか、図示
しない抵抗によりプル・アップされ、有効状態“1"に
なっているものとする。
【0142】比較器32は、対応するビット線13と、
それに同一の連想メモリ・セル7−1−1〜7−m−n
の中のデータ・セル8に格納されている記憶データと、
マスク・セル9に格納されているマスク情報を入力とす
る。比較器32は、マスク情報が有効状態ならば、対応
する中間一致線41を解放状態にし、それ以外の場合に
は、ビット線13の値と記憶データが一致するならば対
応する中間一致線41を開放状態にし、一致しないなら
ば無効状態“0"を出力する。連想メモリ・ワード43
の中のn個の比較器32がすべて中間一致線41を開放
状態にしているときに、中間一致線41は有効状態
“1"となり、それ以外の場合には無効状態“0"とな
る、中間一致線41の有効状態“1"を真としたワイア
ードAND論理接続を構成している。つまり、検索動作
時には、マスク情報が有効状態“0"のために比較対象
から除外されたビットを除いて、連想メモリ・ワード4
3が格納している記憶データとビット線13−1〜13
−nが完全に一致する場合に限り、中間一致線41は有
効状態“1"となり、それ以外の場合は無効状態“0"と
なる。もちろん同様の動作となるように通常の論理ゲー
トを用いて構成してもかまわない。
【0143】次に、上述の連想メモリ・セル44の構成
例を図9を用いて説明する。図2に示す第一の実施例の
連想メモリ・セル7と比較すれば分かるように、本発明
の連想メモリ・セル44は、比較制御線4と、比較器内
MOSトランジスタ(T7)209が削除され、一致線
5が中間一致線41に名称変更されている点を除くと、
第一の実施例の連想メモリ・セル7と同様である。従っ
て連想メモリ・セル7と異なる部分のみの説明を行う。
【0144】比較器32はMOSトランジスタ(T3)
205、MOSトランジスタ(T4)206、MOSト
ランジスタ(T5)207、及びMOSトランジスタ
(T6)208により構成され、それらの動作は第一の
実施例の連想メモリ・セル7と同様である。
【0145】従って、MOSトランジスタ(T5)20
7が導通状態のときに、MOSトランジスタ(T6)2
08が導通状態の場合に連想メモリ・セル7は一致線5
に無効状態“0"を出力し、それ以外の時には一致線5
を開放状態とする。即ち、マスク情報が無効状態“0"
の場合には検索データ12と記憶データの比較結果によ
らず一致線5を開放状態とし、それ以外の場合にはビッ
ト線13a,13b上の検索データ12とデータ・セル
8に格納されている記憶データが一致するときに開放状
態とし、異なる場合には無効状態“0"を出力する。
【0146】nビットm語のマスク機能無し連想メモリ
101の構成例を図10に示す。マスク機能無し連想メ
モリ101は、連想メモリ・ワード104−1〜104
−mから構成され、各連想メモリ・ワード104−j
は、n個の連想メモリ・セル105−j−1〜105−
j−nを備えている。各連想メモリ・ワード104−j
には、対応するデータ・ワード線106−jが入力のた
めに接続され、対応するデータ一致線107−jが出力
のために接続され、n本のビット線103−1〜103
−nが入出力のために接続されている。
【0147】各連想メモリ・セル105−j−kには、
対応するデータ・ワード線106−jが入力のために接
続され、対応するデータ一致線107−jが出力のため
に接続され、ビット線103−kが入出力のために接続
されている。また、各連想メモリ・セル105−j−k
は、第二の記憶データの対応するビット情報を格納する
データ・セル108−j−kと、ビット線103−kを
介して入力される演算結果38とデータ・セル108−
j−kに記憶されたビット情報とを比較する比較器10
9−j−kとを備えている。演算結果出力機能付連想メ
モリ33の対応する連想メモリ・ワード43−jのマス
ク・セル9−j−1〜9−j−nの中でマスク情報の有
効状態となっているビットと対応するデータ・セル10
8―j−1〜108−j−nには、記憶データの無効状
態をあらかじめ格納する。それ以外のビットのデータ・
セル108―j−1〜108−j−nには、演算結果出
力機能付連想メモリ33の対応するデータ・セル8−j
−1〜8−j−nと同一の値をあらかじめ格納してお
く。
【0148】各連想メモリ・セル105−1−1〜10
5−m−nにおいて、ビット線103、データ・ワード
線106,データ・セル108、及びデータ一致線10
7の動作は、従来の連想メモリ116と同様である。
【0149】データ一致線107は、検索動作の開始前
には、ハイ・レベルにプリ・チャージされているか、図
示しない抵抗によりプル・アップされ、有効状態“1"
になっているものとする。
【0150】比較器109は、対応するビット線103
と、それに同一の連想メモリ・セル105−1−1〜1
05−m−nの中のデータ・セル108に格納されてい
る第二の記憶データとを比較し、一致するならば対応す
るデータ一致線107を開放状態にし、一致しないなら
ば無効状態“0"を出力する。連想メモリ・ワード10
4の中のn個の比較器109がすべてデータ一致線10
7を開放状態にしているときに、データ一致線107は
有効状態“1"となり、それ以外の場合には無効状態
“0"となる、データ一致線107の有効状態“1"を真
としたワイアードAND論理接続を構成している。つま
り、検索動作時には、連想メモリ・ワード104が格納
している第二の記憶データとビット線103−1〜10
3−nが完全に一致する場合に限り、データ一致線10
7は有効状態“1"となり、不一致の場合には無効状態
“0"となる。もちろん同様の動作となるように通常の
論理ゲートを用いて構成してもかまわない。
【0151】次に、マスク機能無し連想メモリ101の
連想メモリ・セル105の構成例を図11を用いて説明
する。図15に示す従来の連想メモリ・セル118と比
較すれば分かるように、マスク機能無し連想メモリ10
1の連想メモリ・セル105の、ビット線103a、1
03b、データ・ワード線106、データ・セル108
は、従来の連想メモリ・セル118と同様である。従っ
て従来と違う部分のみの説明を行う。
【0152】比較器109は、MOSトランジスタ(T
103)305、MOSトランジスタ(T104)30
6、及びMOSトランジスタ(T105)307により
構成される。従来の連想メモリ・セル118の比較器1
13とは、データ一致線107と低電位の間に直列に挿
入されるMOSトランジスタからMOSトランジスタ
(T106)308が削除され、データ一致線107と
MOSトランジスタT105(307)を介してワイア
ードAND接続している点のみが異なる。
【0153】従って、検索動作時には、データ・セル1
08に格納されている第二の記憶データと、ビット線1
03a,103b上の検索データ102が異なる場合に
MOSトランジスタ(T105)307は導通状態にな
り、連想メモリ・セル105はデータ一致線107に無
効状態“0"を出力し、それ以外の時にはデータ一致線
107を開放状態とする。
【0154】
【第三の実施例の動作】次に、上述の連想メモリ42
を、図18のルータ400−3における転送先ネットワ
ーク・アドレスの計算に用いた場合の動作を、図12を
用いて説明する。連想メモリ42を8ビット5語の構成
と仮定し、演算結果出力機能付連想メモリ33の各連想
メモリ・ワード43−1〜43−5に格納されている記
憶データ、マスク情報には、図18のルータ400−3
のネットワーク・アドレス(3.*.*.*)以外の接
続情報を記憶しているものとする。このとき、接続情報
の中のドント・ケア“*"状態のビットは、マスク情報
の該当ビットをマスク・データの有効状態“0"とする
ことで表現される。記憶データの該当ビットの状態は任
意であるが、本実施の形態では記憶データの無効状態
“0"を格納することにする。
【0155】つまり、連想メモリ・ワード43−1には
(1.*.*.*)を実現するため2進数で、記憶デー
タには(01.00.00.00)を、マスク情報とし
て(11.00.00.00)を格納してある。同様に
連想メモリ・ワード43−2には(2.*.*.*)を
実現するため2進数で、記憶データには(10.00.
00.00)を、マスク情報として(11.00.0
0.00)を格納してある。連想メモリ・ワード43−
3には(1.2.2.*)を実現するため2進数で、記
憶データには(01.10.10.00)を、マスク情
報として(11.11.11.00)を格納してある。
連想メモリ・ワード43−4には(1.2.*.*)を
実現するため2進数で、記憶データには(01.10.
00.00)を、マスク情報として(11.11.0
0.00)を格納してある。連想メモリ・ワード43−
5には(2.1.1.*)を実現するため2進数で、記
憶データには(10.01.01.00)を、マスク情
報として(11.11.11.00)を格納してある。
【0156】マスク機能無し連想メモリ101の各連想
メモリ・ワード104−1〜104−5に格納されてい
る第二の記憶データとして、図18のルータ400−3
の接続情報においてドント・ケア“*"状態のビットを
記憶データの無効状態“0"とした値を記憶しているも
のとする。つまり、連想メモリ・ワード104−1には
(01.00.00.00)を、連想メモリ・ワード1
04−2には(10.00.00.00)を、連想メモ
リ・ワード104−3には(01.10.10.00)
を、連想メモリ・ワード104−4には(01.10.
00.00)を、連想メモリ・ワード104−5には
(10.01.01.00)を、それぞれ格納してあ
る。
【0157】以下、検索データ12として図18のPC
401−1の4進数のネットワーク・アドレス(1.
2.2.1)を入力し検索動作を行った場合の動作説明
をする。
【0158】まず、検索動作の前に、すべての中間一致
線41−1〜41−5、及びデータ一致線107−1〜
107−5は、ハイ・レベルにプリ・チャージされてい
るか、図示しない抵抗によりプル・アップされ、有効状
態“1"になっているものとする。
【0159】検索データ12をビット線13−1〜13
−8に入力すると、演算結果出力機能付連想メモリ33
の連想メモリ・ワード43−1に格納されている4進表
現の(1.*.*.*)と、連想メモリ・ワード43−
3に格納されている4進表現の(1.2.2.*)と、
連想メモリ・ワード43−4に格納されている4進表現
の(1.2.*.*)がビット線13−1〜13−8上
の検索データ12と一致する。従って中間一致線41−
1、41−3及び41−4の3本が有効状態“1"とな
り、残りの中間一致線41−2、41−5は無効状態
“0"となる。
【0160】ここで、一致マスク論理積線17−1から
は、連想メモリ・ワード43−1内の一致マスク中間論
理線14−1に対応するマスク情報“1"と、連想メモ
リ・ワード43−3内の一致マスク中間論理線14−1
に対応するマスク情報“1"と、連想メモリ・ワード4
3−4内の一致マスク中間論理線14−1に対応するマ
スク情報“1"の、マスク情報の有効状態“0"を真とし
た論理積“1"が出力される。一致マスク論理積線17
−2からは、連想メモリ・ワード43−1内の一致マス
ク中間論理線14−2に対応するマスク情報“1"と、
連想メモリ・ワード43−3内の一致マスク中間論理線
14−2に対応するマスク情報“1"と、連想メモリ・
ワード43−4内の一致マスク中間論理線14−2に対
応するマスク情報“1"の、マスク情報の有効状態“0"
を真とした論理積“1"が出力される。以下同様に、一
致マスク論理積線17−3からは“0"と“1"と“1"
のマスク情報の有効状態“0"を真とした論理積“1"
が、一致マスク論理積線17−4からは“0"と“1"と
“1"のマスク情報の有効状態“0"を真とした論理積
“1"が、一致マスク論理積線17−5からは“0"と
“1"と“0"のマスク情報の有効状態“0"を真とした
論理積“1"が、一致マスク論理積線17−6からは
“0"と“1"と“0"のマスク情報の有効状態“0"を真
とした論理積“1"が、一致マスク論理積線17−7か
らは“0"と“0"と“0"のマスク情報の有効状態“0"
を真とした論理積“0"が、一致マスク論理積線17−
8からは“0"と“0"と“0"のマスク情報の有効状態
“0"を真とした論理積“0"が、それぞれ出力される。
従って、一致マスク論理積線17−1〜17−8には、
2進表現で“11111100"が出力される。論理ゲ
ート18−1〜18−8は、一致マスク論理積線17−
1〜17−8の値“11111100"と、ビット線1
3−1〜13−8に出力されている検索データ12の値
“01101001"を入力とし、前述のとおり“1"を
真とした論理積の値“01101000"を演算結果出
力線19−1〜19−8に演算結果38として出力す
る。
【0161】演算結果38の状態“01101000"
は、マスク機能無し連想メモリ101のビット線103
−1〜103−8に入力され、マスク機能無し連想メモ
リ101は2回目の検索動作を開始する。本実施の形態
では、ビット線103−1〜103−8の状態“011
01000"に対して、連想メモリ・ワード104−3
が格納する第二の記憶データが完全に一致し、対応する
データ一致線107−3を開放状態にする。他の連想メ
モリ・ワード104−1,104−2、104−4、及
び104−5が格納する記憶データは一致しないので、
対応するデータ一致線107−1,107−2、107
−4、及び107−5に無効状態“0"を出力する。従
って、データ一致線107−1〜107−5の中で2回
目の検索動作後も有効状態“1"を保持し続けるのは、
データ一致線107−3のみとなる。データ一致線10
7−1〜107−5の状態は、一致線5−1〜5−5と
して外部に出力されるので、2回目の検索動作後も有効
状態を出力しているのは一致線5−3のみとなる。
【0162】従って、入力した検索データ12と、対応
するマスク情報を考慮して比較した結果一致する記憶デ
ータの中で、マスク情報の有効状態のビットが最も少な
い記憶データに対応する一致線5−3のみに有効状態を
出力することがわかる。上述のように、第三の実施の形
態の連想メモリを使用すれば1クロックで最短マスク情
報を持つワードを選択できる。ここで、記憶手段をビッ
ト線103−1〜103−nと、演算結果出力線19−
1〜19−nの間に挿入し、マスク機能無し連想メモリ
101が格納された演算結果38に対する2回目の検索
動作を実行するのと同時に、演算結果出力機能付連想メ
モリ33が次の検索データ12に対する1回目の検索動
作を実行するようにパイプライン処理を構成することが
できるのも言うまでもない。もちろん、記憶手段を挿入
する場所は、上述の場所に限らないことも言うまでもな
い。
【0163】
【第四の実施例の構成】次に、本発明の第一の実施の形
態の連想メモリ1を転送先ネットワーク・アドレス計算
に用いたルータの構成例を示すブロック図を図13に示
す。ルータ400は、入力転送データ408を入力と
し、出力転送データ409を出力する。入力転送データ
408は、目的地ネットワーク・アドレス411と、転
送先ネットワーク・アドレス410とデータ部412を
有している。出力転送データ409は、目的地ネットワ
ーク・アドレス411と、第2の転送先ネットワーク・
アドレス413とデータ部412を有している。
【0164】入力転送データ408の転送先ネットワー
ク・アドレス410は当然ルータ400のネットワーク
・アドレスとなっている。ルータ400は、目的地ネッ
トワーク・アドレス抽出部406と、連想メモリ1と、
エンコーダ402と、メモリ404と転送先ネットワー
ク・アドレス変更部407とにより構成される。図19
に示す従来のルータでは、従来の連想メモリ116の消
費電力が大きいために冷却装置414を有していたが、
本発明の連想メモリ1を用いた本発明のルータでは冷却
装置414は不要である。
【0165】ここでは、図18のルータ400−3に適
用した場合において、ネットワーク・アドレス(3.
*.*.*)の機器から、ネットワーク・アドレス
(1.*.*.*)又は(2.*.*.*)の機器に転
送する場合について説明する。図13では、記憶データ
の有効状態は“1"、無効状態は“0"とする。マスク情
報の有効状態は“0"、無効状態は“1"である。また、
一致線5−1〜5−5の有効状態は“1"、無効状態は
“0"とする。
【0166】目的地ネットワーク・アドレス抽出部40
6は、入力転送データ408の目的地ネットワーク・ア
ドレス411を抽出し、検索データ12として、連想メ
モリ1に入力する。
【0167】連想メモリ1にはルータ400−3のネッ
トワーク・アドレス(3.*.*.*)以外の接続情報
を記憶している。このとき、接続情報の中のドント・ケ
ア“*"状態のビットは、記憶データの該当ビットを記
憶データの無効状態“0"、マスク情報の該当ビットを
マスク・データの有効状態“0"とすることで表現され
る。つまり、連想メモリ・ワード2−1には(1.*.
*.*)を実現するため2進数で、記憶データには(0
1.00.00.00)を、マスク情報として(11.
00.00.00)を格納してある。同様に連想メモリ
・ワード2−2には(2.*.*.*)を実現するため
2進数で、記憶データには(10.00.00.00)
を、マスク情報として(11.00.00.00)を格
納してある。連想メモリ・ワード2−3には(1.2.
2.*)を実現するため2進数で、記憶データには(0
1.10.10.00)を、マスク情報として(11.
11.11.00)を格納してある。連想メモリ・ワー
ド2−4には(1.2.*.*)を実現するため2進数
で、記憶データには(01.10.00.00)を、マ
スク情報として(11.11.00.00)を格納して
ある。連想メモリ・ワード2−5には(2.1.1.
*)を実現するため2進数で、記憶データには(10.
01.01.00)を、マスク情報として(11.1
1.11.00)を格納してある。
【0168】連想メモリ・ワード2−1〜連想メモリ・
ワード2−5に対応する一致線5−1〜5−5はエンコ
ーダ402に出力される。エンコーダ402は一致線5
−1〜5−5を、メモリ・アドレス信号403にエンコ
ードし、メモリ404に出力する。
【0169】メモリ404には、連想メモリ1の各連想
メモリ・ワード2−1〜2−5の記憶データ、マスク情
報により構成されるネットワーク・アドレスに対応する
ルータのネットワーク・アドレスを、同一のワードに記
憶してある。例えば、連想メモリ1の連想メモリ・ワー
ド2−1にはネットワーク・アドレス(1.*.*.
*)が記憶されているが、これに対応するルータ400
−1のネットワーク・アドレスがメモリ404の同じく
ワード1に格納されている。同様にメモリ404のワー
ド2にはルータ400−2のネットワーク・アドレス
が、ワード3にはルータ400−6のネットワーク・ア
ドレスが、ワード4にはルータ400−4のネットワー
ク・アドレスが、ワード5にはルータ400−7のネッ
トワーク・アドレスが格納されている。また、メモリ4
04は、メモリ・アドレス信号403をリード・アドレ
スとして指定されるワードに格納されているデータを、
メモリ・データ信号405として出力する。転送先ネッ
トワーク・アドレス変更部407は、出力転送データ4
09の第2の転送先アドレス413を、メモリ・データ
信号405の値に変更した後、第2のネットワーク・ア
ドレスに対応するネットワーク機器に転送を行う。
【0170】例えば入力転送データ408の目的地ネッ
トワーク・アドレス411が(1.2.2.1)の場
合、連想メモリ1での検索動作終了時には、連想メモリ
・ワード2−3が格納している(1.2.2.*)に対
応する一致線5−3のみが有効状態となる。これによ
り、エンコーダ402はメモリ・アドレス403として
“3"を出力し、メモリ404はルータ400−6のネ
ットワーク・アドレスをメモリ・データ信号405とし
て出力する。転送先ネットワーク・アドレス変更部40
7により、出力転送データ409の第2の転送先ネット
ワーク・アドレス413を、ルータ400−6のネット
ワーク・アドレスに変更し、ルータ400−6に向けて
出力転送データ409を転送する。
【0171】このように、本発明の連想メモリ1をネッ
トワーク・アドレス計算を行うルータ400に組み込め
ば、従来に比較して消費電力が小さくなるため、冷却装
置414が不要になりコストが削減することができる。
【0172】また、チップ当たりの記憶容量増加に伴い
ルータ400に内蔵する連想メモリ1の個数を削減する
ができる。従って、複数の連想メモリが出力した検索結
果の比較処理が不要になるため、ルータ400を用いた
コンピュータ・ネットワーク・システムのデータ転送速
度を高速化することができる。
【0173】
【発明の効果】上述のように、本発明の連想メモリは、
外部から与えられる検索データを、格納しているマスク
情報を考慮して、格納している記憶データと比較する第
1の検索動作と、第1の検索動作の結果を利用して計算
される値を格納している前記記憶データと比較する第2
の検索動作の2回の検索動作を、各ワードごとに同一の
比較器を用いて同一の一致線に出力する手段を有してい
るため、従来の連想メモリと比較して1ビットを格納す
る単位セルのトランジスタ面積を25%程度削減できる
という効果がある。つまり単位チップ面積当たりの記憶
容量を約33%程度増大できるという効果がある。ま
た、面積削減に伴い、配線容量も削減されるため、従来
の連想メモリと比較して、動作周波数を32%程度高く
することができるという効果もある。
【0174】また、同一のワード数で比較した場合、従
来の連想メモリの消費電力に対して50%程度削減でき
るという効果がある。
【0175】更に、本発明の連想メモリをネットワーク
・アドレス計算を行うルータに組み込めば、従来に比較
して消費電力が小さくなるために、冷却装置が不要にな
りコストが削減できるという効果を有する。
【0176】本発明のルータをコンピュータ・ネットワ
ーク・システムに適用した場合、データ転送速度を高速
化できるという効果がある。上述のように動作周波数を
向上できるためと、及びチップ当たりの記憶容量増加に
伴いルータに内蔵する連想メモリのチップ数を削減する
ことにより複数チップが出力した検索結果の比較処理が
不要になる、等の優れた効果を有する。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態の連想メモリの構成
例を示すブロック図である。
【図2】本発明の第一の実施の形態の連想メモリ・セル
の構成例を示す回路図である。
【図3】本発明の第一の実施の形態の連想メモリの動作
例を示す図である。
【図4】本発明の第一の実施の形態の連想メモリの動作
タイミング・チャートである。
【図5】本発明の第二の実施の形態の連想メモリの構成
例を示すブロック図である。
【図6】本発明の第二の実施の形態の連想メモリの動作
例を示す図である。
【図7】本発明の第三の実施の形態の連想メモリの構成
例を示すブロック図である。
【図8】本発明の第三の実施の形態の演算結果出力機能
付連想メモリの構成例を示すブロック図である。
【図9】本発明の第三の実施の形態の連想メモリ・セル
の構成例を示す回路図である。
【図10】マスク機能無し連想メモリの構成例を示すブ
ロック図である。
【図11】マスク機能無し連想メモリの連想メモリ・セ
ルの構成例を示す回路図である。
【図12】本発明の第三の実施の形態の連想メモリの動
作例を示す図である。
【図13】本発明の連想メモリを転送先ネットワーク・
アドレス計算に用いた本発明のルータの構成例を示すブ
ロック図である。
【図14】従来の連想メモリの一構成例を示すブロック
図である。
【図15】従来の連想メモリ・セルの一構成例を示す回
路図である。
【図16】従来の連想メモリの動作例を示す図である。
【図17】従来の連想メモリの動作タイミング・チャー
トである。
【図18】ネットワークの構成例を示す接続図である。
【図19】従来の連想メモリをルータの転送先アドレス
計算に用いた場合の説明図である。
【符号の説明】
1 連想メモリ 2―1〜2−m 連想メモリ・ワード 3−1〜3−m データ・ワード線 4 比較制御信号 5−1〜5−m 一致線 6−1〜6−m マスク・ワード線 7−1−1〜7−m−n 連想メモリ・セル 8−1−1〜8−m−n データ・セル 9−1−1〜9−m−n マスク・セル 10−1−1〜10−m−n 比較器 11−1−1〜11−m−n 論理ゲート 12−1〜12−n 検索データ 13−1〜13−n ビット線 14−1〜14−n 一致マスク中間論理線 15−1〜15−n 抵抗 16−1〜16−n 反転論理ゲート 17−1〜17−n 一致マスク論理積線 18−1〜18−n 論理ゲート 19−1〜19−n 演算結果出力線 20−1〜20−n ラッチ出力線 21 nビット・ラッチ 22 ラッチ制御信号 23 nビット2入力1出力セレクタ 24 選択信号 25−1〜25−n 論理ゲート 26 連想メモリ 30 制御回路 31 クロック信号 32−1−1〜32−m−n 比較器 33 演算結果出力機能付連想メモリ 38 演算結果 41−1〜41−m 中間一致線 42 連想メモリ 43―1〜43−m 連想メモリ・ワード 44−1−1〜44−m−n 連想メモリ・セル 101 マスク機能無し連想メモリ 102−1〜102−n 検索データ 103−1〜103−n ビット線 104−1〜104−m 連想メモリ・ワード 105−1−1〜105−m−n 連想メモリ・セル 106−1〜106−m データ・ワード線 107−1〜107−m データ一致線 108−1−1〜108−m−n データ・セル 109−1−1〜109−m−n 比較器 110 連想メモリ 111−1〜111−m マスク・ワード線 112−1−1〜112−m−n マスク・セル 113−1−1〜113−m−n 比較器 116 連想メモリ 117−1〜117−m 連想メモリ・ワード 118−1−1〜118−m−n 連想メモリ・セル 119−1〜119−m マスク一致線 120−1−1〜120−m−n マスク比較器 121−1−1〜121−m−n 論理ゲート 122−1〜122−n 最短マスク線 123−1〜123−m ラッチ 124 ラッチ制御信号 125−1〜125−n 抵抗 126 nビット・ラッチ 127−1〜127−n ラッチ出力線 128 nビット2入力1出力セレクタ 129 選択信号 130 クロック信号 131 制御回路 201 反転論理ゲートG1 202 反転論理ゲートG2 203 MOSトランジスタT1 204 MOSトランジスタT2 205 MOSトランジスタT3 206 MOSトランジスタT4 207 MOSトランジスタT5 208 MOSトランジスタT6 209 MOSトランジスタT7 210 反転論理ゲートG3 211 反転論理ゲートG4 212 MOSトランジスタT8 213 MOSトランジスタT9 214 MOSトランジスタT10 215 MOSトランジスタT11 301 反転論理ゲートG101 302 反転論理ゲートG102 303 MOSトランジスタT101 304 MOSトランジスタT102 305 MOSトランジスタT103 306 MOSトランジスタT104 307 MOSトランジスタT105 308 MOSトランジスタT106 309 反転論理ゲートG103 310 反転論理ゲートG104 311 MOSトランジスタT107 312 MOSトランジスタT108 313 MOSトランジスタT109 314 MOSトランジスタT110 315 MOSトランジスタT111 316 MOSトランジスタT112 317 MOSトランジスタT113 400−1〜400−7 ルータ 401−1 PC 402 エンコーダ 403 メモリ・アドレス信号 404 メモリ 405 メモリ・データ信号 406 目的地ネットワーク・アドレス抽出部 407 転送先ネットワーク・アドレス変更部 408 入力転送データ 409 出力転送データ 410 転送先ネットワーク・アドレス 411 目的地ネットワーク・アドレス 412 データ部 413 第2の転送先ネットワーク・アドレス 414 冷却装置
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B049 BB00 DD00 EE05 FF00 FF07 GG04 5B075 KK03 KK20 KK33 KK37 ND03 ND18 ND20 ND23 ND40 NR16 PP10 PP12 PP30 PQ05 QP10 QS15 UU40 5K030 GA05 HA08 LB05 MA13

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 記憶データの1ビット又は複数ビットご
    とに検索対象から除外するか否かを、有効状態、無効状
    態により設定可能なマスク情報を当該記憶データの1ワ
    ード又は複数ワードごとに有する連想メモリにおいて、 対応するマスク情報がマスク有効状態の場合に記憶デー
    タの1ビット又は複数ビットを検索対象から除外する1
    次検索を当該記憶データの1ワードごとに外部から入力
    された検索データを用いて行った結果、選出されるべき
    データとして1つ又は複数のワードが選出された際、当
    該選出されたワードに対応するマスク情報同士をマスク
    有効状態を真とした論理積を行った一致マスク論理積情
    報と前記検索データとの第1の論理演算を行う手段を設
    けたこと、を特徴とする連想メモリ。
  2. 【請求項2】 前記記憶データとして1次検索の際に対
    応する前記マスク情報により検索対象から除外される1
    ビット又は複数のビットに特定ビット・パターンを格納
    し、2次検索として前記記憶データが前記第1の論理演
    算の結果と一致したワードを選出すること、を特徴とす
    る請求項1の連想メモリ。
  3. 【請求項3】 前記記憶データにおいて1次検索の際に
    対応する前記マスク情報により検索対象から除外された
    1ビット又は複数のビットが特定ビット・パターンであ
    ると見なして前記論理演算の結果を検索データとする2
    次検索を行い、前記第1の論理演算の結果と一致したワ
    ードを選出すること、を特徴とする請求項1の連想メモ
    リ。
  4. 【請求項4】 前記特定ビット・パターンは、すべての
    当該ビットが記憶データの無効状態により構成されてい
    ること、を特徴とす請求項2又は3の連想メモリ。
  5. 【請求項5】 前記第1の論理演算は、前記一致マスク
    論理積情報のビットがマスク情報の無効状態ならば前記
    検索データの同じビット位置の情報を、前記一致マスク
    論理積情報のビットがマスク情報の有効状態ならば記憶
    データの無効状態を、同じビット位置の演算結果とする
    こと、を特徴とする請求項1、2、3又は4の連想メモ
    リ。
  6. 【請求項6】 記憶データの1ビット又は複数ビットご
    とに検索対象から除外するか否かを、有効状態、無効状
    態により設定可能なマスク情報を当該記憶データの1ワ
    ード又は複数ワードごとに有する連想メモリにおいて、 対応するマスク情報がマスク有効状態の場合に記憶デー
    タの1ビット又は複数ビットを検索対象から除外する1
    次検索を当該記憶データの1ワードごとに外部から入力
    された検索データを用いて行った結果、選出されるべき
    データとして1つ又は複数のワードが選出された際、当
    該選出されたワードに対応するマスク情報同士をマスク
    有効状態を真とした論理積を行った一致マスク論理積情
    報と前記検索データとの第1の論理演算を行う手段を有
    する第1の連想メモリと、前記第1の連想メモリの対応
    するアドレスのワードに格納されている記憶データを格
    納している第2の連想メモリを有し、 外部から与えられた検索データを第1の連想メモリに入
    力し論理演算結果を得る1次検索と、前記論理演算結果
    を前記第2の連想メモリの検索データとして入力し前記
    論理演算結果と前記記憶データのビット情報に一致する
    ワードを選択する2次検索を行うこと、を特徴とする連
    想メモリ。
  7. 【請求項7】 前記第1の連想メモリが出力する前記論
    理演算結果を、1つ又は複数の記憶手段に格納し、該記
    憶手段の出力を前記第2の記憶データに入力することに
    より、前記第1の連想メモリによる検索と、前記第2の
    連想メモリによる検索を並列に実行すること、を特徴と
    する請求項6の連想メモリ。
  8. 【請求項8】 記憶データの1ビット又は複数ビットご
    とに検索対象から除外するか否かを、有効状態、無効状
    態により設定可能なマスク情報を当該記憶データの1ワ
    ード又は複数ワードごとに有する連想メモリにおいて、 対応するマスク情報がマスク有効状態の場合に記憶デー
    タの1ビット又は複数ビットを検索対象から除外する1
    次検索を当該記憶データの1ワードごとに外部から入力
    された検索データを用いて行った結果1つ又は複数の記
    憶データが前記検索データと一致したとき、検索データ
    に対して一致した記憶データに対応するマスク情報のす
    べての中で検索対象から除外するよう設定された記憶情
    報のビット数が最小であるマスク情報を中間情報として
    生成し、該中間情報と前記検索情報との前記第1の論理
    演算を行った結果を演算結果出力線に出力する第1の検
    索手段と、 演算結果出力線に一致する前記記憶データを識別する信
    号を出力する第2の検索手段とを有すること、を特徴と
    する連想メモリ。
  9. 【請求項9】 前記1次検索の際に対応する前記マスク
    情報により検索対象から除外される前記記憶データの1
    ビット又は複数のビットに特定ビット・パターンを格納
    していること、を特徴とする請求項8の連想メモリ。
  10. 【請求項10】 前記第2の検索手段において、前記1
    次検索の際に対応する前記マスク情報により検索対象か
    ら除外される前記記憶データの1ビット又は複数のビッ
    トを特定ビット・パターンとみなして検索を行い前記演
    算結果出力線と一致したワードを選出すること、を特徴
    とする請求項8の連想メモリ。
  11. 【請求項11】 前記特定ビット・パターンは、すべて
    の当該ビットが記憶データの無効状態により構成されて
    いること、を特徴とする請求項9又は10の連想メモ
    リ。
  12. 【請求項12】 前記第1の検索手段が、記憶データ1
    語ごとに検索データとマスク情報を付加した該記憶デー
    タが一致するときに有効状態となる一致線を有し、か
    つ、一つ又は複数の記憶データが該検索データと一致し
    たとき、一致した記憶データに対応するマスク情報のす
    べてに対してマスク情報の有効状態を真とする論理積演
    算結果を中間情報として生成し、当該中間情報のビット
    がマスク情報の無効状態ならば前記検索データの同じビ
    ット位置の情報を、当該中間情報のビットがマスク情報
    の有効状態ならば記憶データの無効状態を、演算結果出
    力線の同じビット位置に出力する演算結果とする演算結
    果出力回路を有する演算結果出力機能付連想メモリによ
    り構成されること、を特徴とする請求項8、9、10又
    は11の連想メモリ。
  13. 【請求項13】 前記第1の検索手段において、演算結
    果出力線の情報を格納する第1の記憶手段と、外部から
    の検索情報と第1の記憶手段の出力信号とを選択し検索
    データとして入力する選択手段と、第1の記憶手段の出
    力信号が検索データとして選択されているときには対応
    するマスク情報がマスク有効状態である前記記憶データ
    の1ビット又は複数ビットを検索対象から除外する機能
    を無効化して前記検索データと当該記憶データを比較し
    た結果を対応する前記一致線に出力する比較手段とを有
    することにより、第2の検索手段の構成要素を第1の検
    索手段の構成要素と共有すること、を特徴とする請求項
    8、9、10又は11の連想メモリ。
  14. 【請求項14】 前記第1の検索手段において、演算結
    果出力線の情報を格納する第1の記憶手段と、外部から
    の検索情報と第1の記憶手段の出力信号とを選択し検索
    データとして入力する選択手段と、第1の記憶手段の出
    力信号が検索データとして選択されているときには対応
    するマスク情報がマスク有効状態である前記記憶データ
    の1ビット又は複数ビットを記憶データの無効状態とみ
    なして前記検索データと当該記憶データを比較した結果
    を対応する前記一致線に出力する比較手段とを有するこ
    とにより、第2の検索手段の構成要素を第1の検索手段
    の構成要素と共有すること、を特徴とする請求項8、
    9、10又は11の連想メモリ。
  15. 【請求項15】 記憶データの1ビット又は複数ビット
    ごとに検索対象から除外するか否かを、有効状態、無効
    状態により設定するマスク情報を当該記憶データ1ワー
    ド又は複数ワードごとに有する連想メモリに経路情報を
    格納するルータにおいて、ワードごとにマスク情報がマ
    スク有効状態の場合に対応する当該記憶データの1ビッ
    ト又は複数ビットを検索対象から除外する1次検索を入
    力転送データの目的地ネットワーク・アドレスを検索デ
    ータとして行った結果一つ又は複数の経路情報が一致し
    たとき、目的地ネットワーク・アドレスに対して一致し
    た記憶データに対応するマスク情報同士をマスク有効状
    態を真とした論理積を行うことで生成した一致マスク論
    理積情報と前記検索データとの第1の論理演算を行った
    結果を演算結果出力線に出力する第1の検索手段と、 演算結果出力線の情報と一致する記憶データを有する前
    記経路情報を識別する一致信号を出力する第2の検索手
    段と、 前記一致信号により前記入力転送データの転送先アドレ
    スを決定する手段と、 前記入力転送データを前記転送先アドレスに転送する手
    段と、を備えたこと、を特徴とするルータ。
  16. 【請求項16】 記憶データの1ビット又は複数ビット
    ごとに検索対象から除外するか否かを、有効状態、無効
    状態により設定するマスク情報を当該記憶データ1ワー
    ド又は複数ワードごとに有する経路情報を複数格納する
    経路情報テーブルを有するルータにおいて、 ワードごとにマスク情報がマスク有効状態の場合に対応
    する当該記憶データの1ビット又は複数ビットを検索対
    象から除外する1次検索を入力転送データの目的地ネッ
    トワーク・アドレスを検索データとして行った結果一つ
    又は複数の経路情報が一致したとき、目的地ネットワー
    ク・アドレスに対して一致した記憶データに対応するマ
    スク情報同士をマスク有効状態を真とした論理積を行う
    ことで生成した一致マスク論理積情報と前記検索データ
    との第1の論理演算を行い演算結果出力信号を発生し、
    演算結果出力信号と一致する記憶データを有する前記経
    路情報を識別する一致信号を発生し、前記一致信号によ
    り前記入力転送データの転送先アドレスを決定し、前記
    入力転送データを前記転送先アドレスに転送することを
    特徴とするルータ。
  17. 【請求項17】 請求項15又は16の前記ルータを介
    してネットワークに接続された機器間でデータ通信を行
    うこと、を特徴とするネットワークシステム。
JP2000243485A 2000-08-10 2000-08-10 連想メモリとその検索方法及びルータとネットワークシステム Expired - Fee Related JP3845814B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000243485A JP3845814B2 (ja) 2000-08-10 2000-08-10 連想メモリとその検索方法及びルータとネットワークシステム
US10/159,872 US6910105B2 (en) 2000-08-10 2002-05-30 Associative memory having a mask function for use in a network router

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000243485A JP3845814B2 (ja) 2000-08-10 2000-08-10 連想メモリとその検索方法及びルータとネットワークシステム
US10/159,872 US6910105B2 (en) 2000-08-10 2002-05-30 Associative memory having a mask function for use in a network router

Publications (3)

Publication Number Publication Date
JP2002056684A true JP2002056684A (ja) 2002-02-22
JP2002056684A5 JP2002056684A5 (ja) 2005-04-07
JP3845814B2 JP3845814B2 (ja) 2006-11-15

Family

ID=32179016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000243485A Expired - Fee Related JP3845814B2 (ja) 2000-08-10 2000-08-10 連想メモリとその検索方法及びルータとネットワークシステム

Country Status (2)

Country Link
US (1) US6910105B2 (ja)
JP (1) JP3845814B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4487237B2 (ja) 2003-12-25 2010-06-23 エルピーダメモリ株式会社 半導体装置

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4068299A (en) * 1973-12-13 1978-01-10 Honeywell Information Systems, Inc. Data processing system incorporating a logical compare instruction
US4219874A (en) * 1978-03-17 1980-08-26 Gusev Valery Data processing device for variable length multibyte data fields
JPS5743239A (en) * 1980-08-27 1982-03-11 Hitachi Ltd Data processor
DE3825517A1 (de) * 1988-07-27 1990-02-01 Wifag Maschf Vorrichtung zum an- und abstellen sowie einstellen von farbwerks- bzw. feuchtwerkswalzen einer druckmaschine
US4969118A (en) * 1989-01-13 1990-11-06 International Business Machines Corporation Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US5341374A (en) * 1991-03-01 1994-08-23 Trilan Systems Corporation Communication network integrating voice data and video with distributed call processing
US5241492A (en) * 1991-05-06 1993-08-31 Motorola, Inc. Apparatus for performing multiply and accumulate instructions with reduced power and a method therefor
JPH06150023A (ja) * 1992-11-06 1994-05-31 Hitachi Ltd マイクロコンピュータ及びマイクロコンピュータシステム
US5452289A (en) * 1993-01-08 1995-09-19 Multi-Tech Systems, Inc. Computer-based multifunction personal communications system
US6154828A (en) * 1993-06-03 2000-11-28 Compaq Computer Corporation Method and apparatus for employing a cycle bit parallel executing instructions
JP3532975B2 (ja) * 1993-09-27 2004-05-31 株式会社ルネサステクノロジ マイクロコンピュータおよびそれを用いて命令を実行する方法
US5574927A (en) * 1994-03-25 1996-11-12 International Meta Systems, Inc. RISC architecture computer configured for emulation of the instruction set of a target computer
US5499272A (en) * 1994-05-31 1996-03-12 Ericsson Ge Mobile Communications Inc. Diversity receiver for signals with multipath time dispersion
US5541917A (en) * 1994-09-12 1996-07-30 Bell Atlantic Video and TELCO network control functionality
JP3579843B2 (ja) * 1994-10-24 2004-10-20 日本テキサス・インスツルメンツ株式会社 ディジタル信号処理装置
US5530663A (en) * 1994-11-14 1996-06-25 International Business Machines Corporation Floating point unit for calculating a compound instruction A+B×C in two cycles
US5887183A (en) * 1995-01-04 1999-03-23 International Business Machines Corporation Method and system in a data processing system for loading and storing vectors in a plurality of modes
US5727194A (en) * 1995-06-07 1998-03-10 Hitachi America, Ltd. Repeat-bit based, compact system and method for implementing zero-overhead loops
JP2931890B2 (ja) * 1995-07-12 1999-08-09 三菱電機株式会社 データ処理装置
US5983253A (en) * 1995-09-05 1999-11-09 Intel Corporation Computer system for performing complex digital filters
US6058408A (en) * 1995-09-05 2000-05-02 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5936872A (en) * 1995-09-05 1999-08-10 Intel Corporation Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations
JP3767930B2 (ja) * 1995-11-13 2006-04-19 沖電気工業株式会社 情報の記録・再生方法および情報記憶装置
US5826072A (en) * 1995-11-13 1998-10-20 Oasis Design, Inc. Pipelined digital signal processor and signal processing system employing same
US5881060A (en) * 1996-05-30 1999-03-09 Northern Telecom Limited Integrated cellular voice and digital packet data telecommunications systems and methods for their operation
JP3658072B2 (ja) * 1996-02-07 2005-06-08 株式会社ルネサステクノロジ データ処理装置およびデータ処理方法
US6092094A (en) * 1996-04-17 2000-07-18 Advanced Micro Devices, Inc. Execute unit configured to selectably interpret an operand as multiple operands or as a single operand
US5940785A (en) * 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
DE19625569A1 (de) * 1996-06-26 1998-01-02 Philips Patentverwaltung Signalprozessor
WO1998006030A1 (en) * 1996-08-07 1998-02-12 Sun Microsystems Multifunctional execution unit
KR100201776B1 (ko) * 1996-11-06 1999-06-15 김영환 고리 구조를 갖는 적응 등화기
US5880984A (en) * 1997-01-13 1999-03-09 International Business Machines Corporation Method and apparatus for performing high-precision multiply-add calculations using independent multiply and add instruments
JPH10275479A (ja) 1997-03-31 1998-10-13 Kawasaki Steel Corp 連想メモリおよびネットワークフレーム中継器
JPH1121997A (ja) 1997-06-30 1999-01-26 Matsushita Electric Works Ltd 柱と梁の接合構造
JP3191737B2 (ja) 1997-08-29 2001-07-23 日本電気株式会社 ルータを有するネットワークシステムおよび改良されたルータおよびそのルータに用いられる連想メモリ
US6029267A (en) * 1997-11-25 2000-02-22 Lucent Technologies Inc. Single-cycle, soft decision, compare-select operation using dual-add processor
US6147890A (en) * 1997-12-30 2000-11-14 Kawasaki Steel Corporation FPGA with embedded content-addressable memory
US5995122A (en) * 1998-04-30 1999-11-30 Intel Corporation Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer format
US6209012B1 (en) * 1998-09-02 2001-03-27 Lucent Technologies Inc. System and method using mode bits to support multiple coding standards
US6292886B1 (en) * 1998-10-12 2001-09-18 Intel Corporation Scalar hardware for performing SIMD operations
JP3593920B2 (ja) 1999-05-10 2004-11-24 日本電気株式会社 連続検索動作可能な最短マスク出力機能付連想メモリ
US6330660B1 (en) * 1999-10-25 2001-12-11 Vxtel, Inc. Method and apparatus for saturated multiplication and accumulation in an application specific signal processor
JP4298104B2 (ja) * 2000-01-18 2009-07-15 Okiセミコンダクタ株式会社 連想メモリ
JP3863733B2 (ja) * 2001-05-18 2006-12-27 富士通株式会社 連想メモリ装置
JP4749600B2 (ja) * 2001-05-30 2011-08-17 富士通セミコンダクター株式会社 エントリデータの入れ替えを高速化したコンテンツ・アドレッサブル・メモリ

Also Published As

Publication number Publication date
US20030225984A1 (en) 2003-12-04
JP3845814B2 (ja) 2006-11-15
US6910105B2 (en) 2005-06-21

Similar Documents

Publication Publication Date Title
JP3191737B2 (ja) ルータを有するネットワークシステムおよび改良されたルータおよびそのルータに用いられる連想メモリ
JP3593920B2 (ja) 連続検索動作可能な最短マスク出力機能付連想メモリ
JP3957637B2 (ja) 連想メモリとその検索方法およびネットワーク機器およびネットワーク・システム
US7397683B2 (en) Associative memory having a mask function for use in a network router
US6766317B2 (en) Range check cell and a method for the use thereof
JP3845814B2 (ja) 連想メモリとその検索方法及びルータとネットワークシステム
US6781856B2 (en) Tertiary CAM cell
JP3531105B2 (ja) 連想メモリおよびその検索方法およびルータおよびネットワークシステム
JP3795043B2 (ja) 連想メモリおよびその検索方法およびルータおよびネットワークシステム
US7114026B1 (en) CAM device having multiple index generators
US5465228A (en) Associative memory
JP3957689B2 (ja) 連想メモリおよびその検索方法およびネットワーク装置およびネットワーク・システム
JP4369962B2 (ja) 連想メモリおよびその検索方法およびネットワーク装置およびネットワーク・システム
JP2004265528A (ja) 連想メモリ
US6825706B2 (en) Multiplexer
JP3636382B2 (ja) 連想メモリ
JPH1055683A (ja) 内容アドレスメモリ
JP2002056684A5 (ja)
JPH07312091A (ja) 連想メモリの使用方法および連想メモリ
JP2002111718A (ja) 経路検索装置
JP2001209563A (ja) 検索成功信号先読み式出力データ選択装置
JP2001023379A (ja) 連想記憶回路

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060810

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees