JPH11102589A - 連想メモリモジュール - Google Patents

連想メモリモジュール

Info

Publication number
JPH11102589A
JPH11102589A JP27952597A JP27952597A JPH11102589A JP H11102589 A JPH11102589 A JP H11102589A JP 27952597 A JP27952597 A JP 27952597A JP 27952597 A JP27952597 A JP 27952597A JP H11102589 A JPH11102589 A JP H11102589A
Authority
JP
Japan
Prior art keywords
data
associative
associative memory
priority
searched
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
JP27952597A
Other languages
English (en)
Other versions
JP3623082B2 (ja
Inventor
Toshiaki Miyazaki
敏明 宮崎
Tsugumasa Hayashi
経正 林
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP27952597A priority Critical patent/JP3623082B2/ja
Publication of JPH11102589A publication Critical patent/JPH11102589A/ja
Application granted granted Critical
Publication of JP3623082B2 publication Critical patent/JP3623082B2/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
    • 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

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 ハードウェアでベストマッチ処理を行うこと
による高速性と、用意した連想メモリ全体の容量を有効
に使用することができる柔軟性とを有する連想メモリモ
ジュールを提供することを目的とするものである。 【解決手段】 プライオリティ・エンコーダにおけるデ
ータ選択の優先順序を外部から任意に設定可能な優先順
序設定手段を設け、また、入力データを複数の連想メモ
リのそれぞれに同時に与え、複数の連想メモリのそれぞ
れに同時に検索を実行させる同時検索実行手段を設け、
同時に実行して得られた複数の検索結果から、設定され
た優先順序に従って、プライオリティ・エンコーダが、
1つの検索結果を選び出す連想メモリモジュールであ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、入力データの一部
のビット列を検索キーとし、連想メモリモジュールに内
蔵されているデータ記憶手段に予め格納されている複数
のデータ群からなるデータテーブルの中から、上記検索
キーと一致する項目を含むデータ群を検索し、その内容
または格納位置を読み出す機能を持ち、しかも、上記検
索キーが複数のデータ群と同時に一致しているときに、
検索キーのビット列が最も長いものと一致しているデー
タ群を取り出す連想メモリモジュールに関する。
【0002】
【従来の技術】複数の入出力ポートを持つIPルーティ
ング処理装置(ルータ)を用いて、IPルーティング処
理を行うには、入力ポートに到着したパケットのヘッダ
情報から、32ビットの「相手IPアドレス」を検出
し、この検出された相手IPアドレスに適合する出力ポ
ートに、上記到着したパケットを送出する必要があり、
つまり、到着したパケットを送出すべき出力ポートを決
定する必要がある。この場合、上記「相手IPアドレ
ス」を検索キーとし、ルータ内に存在するルーティング
テーブル中の項目を検索し、上記検索キーと一致した上
記項目に登録されている出力ポートを選択することによ
って、上記到着したパケットを送出すべき出力ポートを
決定する。
【0003】この出力ポートを決定する処理として、ベ
ストマッチ方式が採用されている。このベストマッチ処
理は、まず、ルーティングテーブル内のIPアドレス
を、そのIPアドレス毎に1対1対応で、別途用意され
ているネットマスク情報によって、「相手IPアドレ
ス」の一部のビットをマッチングの対象から除外するマ
スク処理を行った後、このマスク処理されたデータを検
索キーとして、被検索データと比較処理し、複数の候補
とマッチすると、マスクの長さ(マスクのビット幅)が
最も長いデータ(マッチング対象から除外したビット幅
が最も短いデータ)を最優先候補として採用する処理で
ある。
【0004】マスクデータ上、「1」の立っているビッ
トが比較対象であるとした場合、たとえば、マスクデー
タが「11111111 11111111 1111
1111 00000000」である32ビット幅のデ
ータ(比較対照が24ビットであるデータ)と、マスク
データが「11111111 11111111 00
000000 00000000」である32ビット幅
のデータ(比較対照が16ビットであるデータ)とに、
検索キーがマッチした場合、比較対象が24ビットであ
る前者のデータを選択する。
【0005】このベストマッチ処理は、ルーティング処
理の主要部分であるにもかかわらず、従来は、CPUを
使用してソフトウェアでベストマッチ処理を実行してい
るので、ルータ自身のスループットの向上が阻止される
という問題がある。
【0006】
【発明が解決しようとする課題】一方、内容を高速に比
較するハードウェアとして、連想メモリ(CAM)が従
来知られている。この従来の連想メモリは、入力データ
に対して一律にマスク処理を行い、内容を検索するのみ
であり、上記ベストマッチ処理を行うために格納されて
いる各IPアドレス毎に、個別にマスク処理を行うもの
ではない。ところで、ベストマッチ処理に用いるマスク
データは、一般に、複数のIPアドレスに対して同一で
あることが、通信の規約上、多いので、従来の連想メモ
リを複数用い、上記ベストマッチ処理を実行することが
考えられる。
【0007】つまり、まず、マスクデータが同一である
「相手IPアドレス」を有する被検索データを、同一の
連想メモリに格納する。この場合、各連想メモリがそれ
ぞれ有するマスクデータ格納レジスタには、上記同一の
マスクデータをセットしておく。実際に検索処理を行う
場合、まず、入力データ(検索データ)を各連想メモリ
に同時に与え、各連想メモリ毎のマスク処理と検索とを
一斉に実行する。次に、それぞれの検索結果を、別途設
けたプライオリティ・エンコーダに送り、連想メモリが
出力した複数の検索結果のうちで、ビット幅が最も長い
マスクデータを持つ検索結果を最終的に採用する。この
ようにすることによって、ベストマッチ処理を実現する
ことができる。
【0008】しかし、上記のように従来の連想メモリを
複数用いてベストマッチ処理を実行する場合、格納すべ
き被検索データの件数を予め想定することができないの
で、ベストマッチ処理を実行する回路を構成するとき
に、各マスクデータに対して用意すべき連想メモリの容
量を予測することができない。
【0009】すなわち、同一のマスクデータを持つ被検
索データ(検索すべき相手IPデータ)の件数は、マス
クデータ毎にバラツキがあることが予想され、したがっ
て、各マスクデータに対して同一容量の連想メモリを用
意すると、容量に過不足が生じ、用意した連想メモリ全
体の容量を有効に使用できない可能性があるという問題
がある。
【0010】本発明は、ハードウェアでベストマッチ処
理を行うことによる高速性と、用意した連想メモリ全体
の容量を有効に使用することができる柔軟性とを有する
連想メモリモジュールを提供することを目的とするもの
である。
【0011】
【課題を解決するための手段】本発明は、外部から与え
られたマスクデータによって、入力データにマスク処理
を施し、上記マスク処理によってマスクされたビット列
を検索キーとして取り出し、予め格納してある複数個の
被検索データから、上記検索キーとマッチする被検索デ
ータを検索する複数の連想メモリと、上記複数の連想メ
モリのそれぞれが出力した複数個の検索結果から、予め
設定された優先順序に従って、1つの検索結果を選び出
すプライオリティ・エンコーダとを有する連想メモリモ
ジュールにおいて、上記プライオリティ・エンコーダに
おけるデータ選択の上記優先順序を外部から任意に設定
可能な優先順序設定手段を設け、また、上記入力データ
を上記複数の連想メモリのそれぞれに同時に与え、上記
複数の連想メモリのそれぞれに同時に検索を実行させる
同時検索実行手段を設け、上記同時に実行して得られた
複数の検索結果から、上記設定された優先順序に従っ
て、上記プライオリティ・エンコーダが、1つの検索結
果を選び出す連想メモリモジュールである。
【0012】
【発明の実施の形態および実施例】図1(1)は、本発
明の一実施例である連想メモリモジュール100を示す
回路図である。
【0013】連想メモリモジュール100は、4つの連
想メモリ(CAM)100a、100b、100c、1
00dと、グループ登録用レジスタ115とを有する。
【0014】連想メモリ100a、100b、100
c、100dのそれぞれは、入力データ117に対して
一律にマスク処理を行う回路を内蔵し、マスクデータを
格納するマスクレジスタRa、Rb、Rc、Rdをそれ
ぞれ内蔵している。ここで、連想メモリ100a、10
0b、100c、100dは、32ビットを1ワードと
した場合、nワードの容量を有する。また、各マスクレ
ジスタRa、Rb、Rc、Rdの容量もそれぞれ32ビ
ットである。
【0015】被検索データとマスクデータとは1対1で
対応され、互いに同一のマスクデータを有する被検索デ
ータ同士が1つのグループにグループ化され、各グルー
プ単位で、互いに異なる連想メモリに被検索データが格
納される。また、上記マスクデータは、それぞれ対応す
る連想メモリに内蔵されているマスクレジスタにセット
される。
【0016】連想メモリ100a、100b、100
c、100dのそれぞれに設けられているマスクレジス
タRa、Rb、Rc、Rdのそれぞれには、図1(2)
に示す値が格納されているとする。そして、マスクレジ
スタRa〜Rdが格納しているマスクデータが互いに同
じであれば、それらを1つのグループにまとめ、したが
って、図1(2)に示す状態では、4つのマスクレジス
タが、「Ra」、「Rb、Rc」、「Rd」という3つ
のグループに分けられる。図1(1)において、同じグ
ループに属するマスクレジスタには、互いに同じ模様を
付して表示してある。
【0017】連想メモリモジュール100は、最大4種
類のマスクデータを有する被検索データを格納すること
ができ、連想メモリ100a〜100dは、検索の結果
一致した被検索データが存在していることを示すヒット
フラグと、上記検索の結果一致した被検索データとを出
力する。一致した被検索データが存在する場合、ヒット
フラグが「1」になり、一致した被検索データが存在し
ない場合、ヒットフラグが「0」になる。そして、連想
メモリ100a〜100dがそれぞれ出力した信号は、
全てプライオリティ・エンコーダ106に入力される。
【0018】プライオリティ・エンコーダ106は、複
数のヒットフラグが「1」になった場合、どれを最終的
に出力にするかを定める優先順序に従って、「1」にな
った複数のヒットフラグの中から、1つのヒットフラグ
を選択し、この選択されたヒットフラグに対応する被検
索データを選択するものである。上記優先順序は、グル
ープ登録用レジスタ115の値によって決定される。
【0019】グループ登録用レジスタ115は、4つの
連想メモリ100a、100b、100c、100dの
それぞれがどのグループに属するのかを示すものであ
り、4本のレジスタC0、C1、C2、C3を有し、レ
ジスタC0、C1、C2、C3はそれぞれ4ビットで構
成され、上記4ビットは、図1中、左から、連想メモリ
100a、100b、100c、100dにそれぞれ対
応している。
【0020】たとえば、図1に示す実施例において、レ
ジスタC0が「0110」であるから、連想メモリ10
0bと100cとの2つの連想メモリが、グループC0
に属し、レジスタC1が「1000」であるから、連想
メモリ100aがグループC1に属し、レジスタC2が
「0000」であるから、グループC2に属する連像メ
モリは存在せず、レジスタC3が「0001」であるか
ら、連想メモリ100dがグループC3に属する。
【0021】そして、同一のグループに属する連想メモ
リのそれぞれは、互いに同一のマスクデータを持ち、つ
まり、上記同一のグループに属する連想メモリのマスク
レジスタには、互いに同じマスクデータがセットされ
る。この場合、レジスタC0、C1、C2、C3の順
に、優先度が高いグループであるとし、その順に、ビッ
ト幅が長いマスクデータを持つ被検索データを、対応す
る連想メモリに格納する。上記実施例では、図1(2)
に示すように、連想メモリ100bと100cとの優先
度が最も高く、連想メモリ100aの優先度が次に高
く、連想メモリ100dの優先度が最後に高い。
【0022】ここで、同一グループに属する連想メモリ
の優先度は、図1に示すグループ登録用レジスタ115
中、より左側に位置するもの程、高いとする。したがっ
て、上記実施例では、連想メモリ100bの優先度が、
連想メモリ100cの優先度よりも高い。
【0023】プライオリティ・エンコーダ106は、上
記規則に従って、入力データに関する優先度を一意に決
定することができる。
【0024】つまり、連想メモリモジュール100は、
外部から与えられたマスクデータによって、入力データ
にマスク処理を施し、上記マスク処理によってマスクさ
れたビット列を検索キーとして取り出し、連想メモリ1
00a〜100dに予め格納してある複数個の被検索デ
ータから、上記検索キーとマッチする被検索データを検
索する複数の連想メモリ100a〜100dが設けら
れ、複数の連想メモリ100a〜100dのそれぞれが
出力した複数個の検索結果から、予め設定された優先順
序に従って、1つの検索結果を選び出すプライオリティ
・エンコーダ106が設けられた連想メモリモジュール
であり、優先順序設定手段と同時検索実行手段とを有す
るものである。また、上記優先順序設定手段は、プライ
オリティ・エンコーダ106におけるデータ選択の上記
優先順序を外部から任意に設定可能な手段であり、同時
検索実行手段は、上記入力データを複数の連想メモリ1
00a〜100dのそれぞれに同時に与え、複数の連想
メモリ100a〜100dのそれぞれに同時に検索を実
行させる手段である。
【0025】次に、上記実施例の動作について説明す
る。
【0026】図1に示す実施例では、入力データ117
を4つの連想メモリ100a、100b、100c、1
00dに同時に加え、その入力データを検索し、この検
索の結果、検索キーと一致する被検索データが、連想メ
モリ100a、100b、100cに存在するとする。
すなわち、ヒットフラグ107、109、111、11
3が、それぞれ、「1」、「1」、「1」、「0」にな
ったとすると、上記4つの連想メモリ100a、100
b、100c、100dのうちで、連想メモリ100b
の優先度が一番高いことが、グループ登録用レジスタ1
15の設定内容から分かる。つまり、レジスタC0、C
1、C2、C3の順に、優先度が高く、また、図1に示
すグループ登録用レジスタ115中、より左側に位置す
るもの程、優先度が高いので、連想メモリ100bの優
先度が一番高いことになる。
【0027】したがって、プライオリティ・エンコーダ
106は、最終結果として、連想メモリ100bの値1
10を出力データ119として出力し、さらに、連想メ
モリモジュール100の全体として一致データが存在し
ていることを知らせるヒットフラグ118を「1」にし
て外部に知らせる。上記実施例によれば、上記ベストマ
ッチ処理を実現することができる。
【0028】また、上記実施例によれば、グループ登録
用レジスタ115の設定に応じて、4つの連想メモリ1
00a、100b、100c、100dを、いかように
もグループ分けすることができる。たとえば、マスクの
種類が3種類であり、それぞれの被検索データの件数が
n以下であった場合、3つの連想メモリ、たとえば連想
メモリ100a、100b、100cによって対応でき
る。すなわち、被検索データが新たに追加され、所定の
マスクデータのグループ(たとえば連想メモリ100
a)のみに対応するマスクデータが、1つの連想メモリ
に格納することができる被検索データの件数であるn件
を越えた場合、n+1件以降の被検索データに対応する
マスクデータを、連想メモリ100dに格納し(つま
り、連想メモリ100dのマスクレジスタRdに、連想
メモリ100aに書き込まれているマスクデータと同一
のマスクデータを書き込み)、さらに、連想メモリ10
0aが属するグループに、連想メモリ100dが属する
ように、対応するグループ登録用レジスタ115の値を
書き換えればよい。
【0029】このように、所定のグループに属する1つ
の連想メモリに格納される被検索データの数が多くなっ
たときに、上記被検索データに対応するマスクデータ
を、上記1つの連想メモリとは別の連想メモリに格納
し、上記所定のグループに、上記別の連想メモリが属す
るように、対応するグループ登録用レジスタ115の値
を書き換えればよい。このようにすることによって、既
に登録されている被検索データ等を一切変更することな
く、n件の新たな被検索データの格納領域を新たに作る
ことができる。
【0030】また、図1に示す実施例において、グルー
プ登録用レジスタ115を構成するレジスタの数を、グ
ループの総数(=連想メモリの数)と同じにし、上記各
レジスタのビット幅を連想メモリの数と同じに設定した
ので、グループ登録用レジスタ115の総ビット数は、
連想メモリの個数の2乗になる。たとえば、図1に示す
実施例では、グループ登録用レジスタ115の総ビット
数は、4×4=16ビットになる。このようにしてある
のは、プライオリティ・エンコーダの論理を簡単化する
ためにとった方策である。ところで、各連想メモリがど
のグループに属するのかを表現できればよいので、その
グループの番号をエンコードし、2進数で表現するよう
にしてもよい。たとえば、図1に示す実施例では、4つ
のグループが存在し、それぞれのグループ番号を、「0
0」、「01」、「10」、「11」のように設定すれ
ば、グループの番号を2ビットで表現することができ
る。このようにすると、4×2=8ビットによって、プ
ライオリティ・エンコーダにおける被検索データの優先
順位を制御することができる。
【0031】また、グループ化を行わず、各連想メモリ
に一意の順番をつけることによって、プライオリティ・
エンコーダの優先順位を制御するようにしてもよい。こ
の場合、連想メモリの総数を2進数で表したビット数
を、各連想メモリ毎に対応させて持てばよく、レジスタ
の総ビット数は、グループの番号をエンコードする上記
の場合と同様である。これによって、プライオリティ・
エンコーダの論理が、グループの番号をエンコードする
上記場合よりも一般に簡単になる。しかし、各連想メモ
リに一意の順番をつけるようにすると、既に使用してい
る連想メモリよりも、新たに追加した連想メモリの優先
順位を上げたいときに、他の連想メモリの優先順序を1
番づつ前後にずらす必要が生じ、このために、対応する
レジスタの値を書き換える必要が生ずる場合がある。こ
れに比べ、連想メモリモジュール100のようにグルー
プ登録用レジスタ115を用いれば、既に存在する同一
グループに新たな連想メモリを追加する場合は、既に設
定してある他のレジスタの値を変更する必要がない。
【0032】図2は、本発明の他の実施例である連想メ
モリモジュール群200を示す回路図であり、大規模な
ベストマッチ処理を行う回路構成を示す図である。
【0033】連想メモリモジュール群200は、連想メ
モリモジュール200a、200b、200cと、プラ
イオリティ・エンコーダ211と、グループ登録用レジ
スタ215とを有する。
【0034】連想メモリモジュール200a、200
b、200cは、それぞれ連想メモリモジュール100
と同様の連想メモリモジュールである。
【0035】プライオリティ・エンコーダ211、グル
ープ登録用レジスタ215のそれぞれの機能は、図1に
示すプライオリティ・エンコーダ106、グループ登録
用レジスタ115の機能と同様である。
【0036】つまり、連想メモリモジュール群200
は、外部から別途与えられたマスクデータによって、入
力データにマスク処理を施し、上記マスク処理によって
マスクされたビット列を検索キーとして取り出し、予め
格納してある複数個の被検索データから、上記検索キー
とマッチする被検索データを検索する複数の連想メモリ
と、上記複数の連想メモリのそれぞれが出力した複数個
の検索結果から、予め設定された優先順序に従って、1
つの検索結果を選び出す第1のプライオリティ・エンコ
ーダとを有し、上記第1のプライオリティ・エンコーダ
におけるデータ選択の上記優先順序を外部から任意に設
定可能な第1の優先順序設定手段と、上記入力データを
上記複数の連想メモリのそれぞれに同時に与え、上記複
数の連想メモリのそれぞれに同時に検索を実行させる同
時検索実行手段とを有する複数の連想メモリモジュール
と、上記複数の連想メモリモジュールのそれぞれから出
力された複数個の検索結果から、予め設定された優先順
序に従って、1つの検索結果を選び出す第2のプライオ
リティ・エンコーダと、上記第2のプライオリティ・エ
ンコーダにおけるデータ選択の上記優先順序を外部から
任意に設定可能な第2の優先順序設定手段とを有し、上
記複数の連想メモリモジュールが階層的に構成されてい
る連想メモリモジュール群である。
【0037】連想メモリモジュール群200において、
入力データ(検索キー)217は、連想メモリモジュー
ル200a、200b、200cのそれぞれに同時に送
られ、並列に検索処理され、全体の検索結果212が得
られる。図2に示すように、連想メモリモジュール20
0a、200b、200cを階層的に構成すると(つま
り、複数の連想メモリモジュール100を階層的に構成
すると)、1つの連想メモリモジュールのみを使用する
場合に比べて、検索時間をあまり犠牲にすることなく大
規模化を容易に図ることができる。つまり、連想メモリ
モジュール群200における連想メモリモジュール20
0a、200b、200cは、同時に検索処理を行うの
で、1つの連想メモリモジュールのみの処理と、その時
間は同じであり、プライオリティ・エンコーダ211の
処理時間のみが余分にかかるのみである。
【0038】連想メモリモジュール群200によれば、
連想メモリモジュールを階層的に用いることによって、
より大規模なマストマッチ処理を行うハードウェアを容
易に実現することができる。
【0039】また、被検索データ1件あたりのデータ量
が多い場合は、検索結果212をアドレスとみなし、外
部に別途設けた半導体メモリ213のアドレス端子に上
記アドレスを加え、最終結果214を得るようにすれば
よい。
【0040】このようにすれば、連想メモリモジュール
200a、200b、200cに搭載する連想メモリ自
体の容量を削減することができる。つまり、被検索デー
タに含まれている情報(出力ポートを特定する情報、装
置のセッティングに必要な各種パラメータ等の情報)を
連想メモリ100a〜100dに格納するようにする
と、その分だけ、連想メモリ100a〜100dに格納
する(エントリーする)ことができる被検索データの数
が少なくなるが、被検索データに含まれている情報(出
力ポートを特定する情報、装置のセッティングに必要な
各種パラメータ等の情報)を、連想メモリ100a〜1
00dに格納せずに、連想メモリモジュール群200の
外部に設けた半導体メモリ213に格納し、半導体メモ
リ213から最終結果214を出力するようにすれば、
連想メモリモジュール200a、200b、200cに
搭載する連想メモリ自体に格納する1つの被検索データ
の容量を削減することができる。
【0041】つまり、複数の被検索データを格納し、連
想メモリモジュール群200の出力信号をアドレスとみ
なし、上記格納された複数の被検索データのうちで、上
記アドレスに応じた上記被検索データを最終結果として
出力する外部メモリを有するようにすればよい。
【0042】また、連想メモリモジュール群200にお
いて、グループ登録用レジスタ215を用いているの
で、既に存在する同一グループに新たな連想メモリを追
加する場合、既に設定してある他のレジスタの値を変更
する必要がない。
【0043】また、上記各実施例は、インターネットプ
ロトコル(IP)のためのルーティング処理等で用いら
れるベストマッチ処理を高速に行う用途に適する。
【0044】
【発明の効果】本発明によれば、入力データを一律にし
かマスク処理ができない従来型の連想メモリを複数用い
た場合、ベストマッチ処理を高速に行うハードウェアを
構成することができ、また、単純構成した場合にマスク
データ毎に発生する連想メモリ容量の過不足を阻止する
ことができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例である連想メモリモジュール
100を示す回路図である。
【図2】本発明の他の実施例である連想メモリモジュー
ル群200を示す回路図であり、大規模なベストマッチ
処理を行う回路構成を示す図である。
【符号の説明】
100…連想メモリモジュール、 100a、100b、100c、100d…連想メモ
リ、 Ra、Rb、Rc、Rd…マスクレジスタ、 106…プライオリティ・エンコーダ、 115…グループ登録用レジスタ、 117…入力データ、 118…出力データ、 200…連想メモリモジュール群、 200a、200b、200c…連想メモリモジュー
ル、 211…プライオリティ・エンコーダ、 215…グループ登録用レジスタ、 213…半導体メモリ、 217…入力データ、 214…出力データ。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 外部から与えられたマスクデータによっ
    て、入力データにマスク処理を施し、上記マスク処理に
    よってマスクされたビット列を検索キーとして取り出
    し、予め格納してある複数個の被検索データから、上記
    検索キーとマッチする被検索データを検索する複数の連
    想メモリと、上記複数の連想メモリのそれぞれが出力し
    た複数個の検索結果から、予め設定された優先順序に従
    って、1つの検索結果を選び出すプライオリティ・エン
    コーダとを有する連想メモリモジュールにおいて、 上記プライオリティ・エンコーダにおけるデータ選択の
    上記優先順序を外部から任意に設定可能な優先順序設定
    手段と;上記入力データを上記複数の連想メモリのそれ
    ぞれに同時に与え、上記複数の連想メモリのそれぞれに
    同時に検索を実行させる同時検索実行手段と;を有し、
    上記同時に実行して得られた複数の検索結果から、上記
    設定された優先順序に従って、上記プライオリティ・エ
    ンコーダが、1つの検索結果を選び出すことを特徴とす
    る連想メモリモジュール。
  2. 【請求項2】 請求項1において、 上記優先順序設定手段は、上記連想メモリモジュール内
    にN個の連想メモリが存在する場合、上記プライオリテ
    ィ・エンコーダによる選択優先順序が定められているN
    種類以下のグループを設け、上記複数の連想メモリのそ
    れぞれが上記グループのうちのどのグループに属するか
    を示すグループ登録用レジスタを有し、上記グループ登
    録用レジスタの値を変更することのみによって、上記複
    数の連想メモリのうちの所定の連想メモリを、上記N種
    類以下のグループのうちの所望のグループに登録する手
    段を持つことを特徴とする連想メモリモジュール。
  3. 【請求項3】 外部から与えられたマスクデータによっ
    て、入力データにマスク処理を施し、上記マスク処理に
    よってマスクされたビット列を検索キーとして取り出
    し、予め格納してある複数個の被検索データから、上記
    検索キーとマッチする被検索データを検索する複数の連
    想メモリと、上記複数の連想メモリのそれぞれが出力し
    た複数個の検索結果から、予め設定された優先順序に従
    って、1つの検索結果を選び出す第1のプライオリティ
    ・エンコーダとを有する連想メモリモジュールにおい
    て、上記第1のプライオリティ・エンコーダにおけるデ
    ータ選択の上記優先順序を外部から任意に設定可能な第
    1の優先順序設定手段と、上記入力データを上記複数の
    連想メモリのそれぞれに同時に与え、上記複数の連想メ
    モリのそれぞれに同時に検索を実行させる同時検索実行
    手段とを有する複数の連想メモリモジュールと;上記複
    数の連想メモリモジュールのそれぞれから出力された複
    数個の検索結果から、予め設定された優先順序に従っ
    て、1つの検索結果を選び出す第2のプライオリティ・
    エンコーダと;上記第2のプライオリティ・エンコーダ
    におけるデータ選択の上記優先順序を外部から任意に設
    定可能な第2の優先順序設定手段と;を有し、上記複数
    の連想メモリモジュールが階層的に構成されていること
    を特徴とする連想メモリモジュール群。
  4. 【請求項4】 請求項3において、 上記複数の被検索データを格納し、上記連想メモリモジ
    ュール群の出力信号をアドレスとみなし、上記格納され
    た複数の被検索データのうちで、上記アドレスに応じた
    上記被検索データを最終結果として出力する外部メモリ
    を有することを特徴とする連想メモリモジュール群。
JP27952597A 1997-09-26 1997-09-26 連想メモリモジュール Expired - Fee Related JP3623082B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27952597A JP3623082B2 (ja) 1997-09-26 1997-09-26 連想メモリモジュール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27952597A JP3623082B2 (ja) 1997-09-26 1997-09-26 連想メモリモジュール

Publications (2)

Publication Number Publication Date
JPH11102589A true JPH11102589A (ja) 1999-04-13
JP3623082B2 JP3623082B2 (ja) 2005-02-23

Family

ID=17612243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27952597A Expired - Fee Related JP3623082B2 (ja) 1997-09-26 1997-09-26 連想メモリモジュール

Country Status (1)

Country Link
JP (1) JP3623082B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001011630A1 (en) * 1999-08-11 2001-02-15 Fast-Chip Incorporated Match resolution circuit for an associative memory
US6542391B2 (en) 2000-06-08 2003-04-01 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6751701B1 (en) 2000-06-14 2004-06-15 Netlogic Microsystems, Inc. Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6757779B1 (en) 1999-09-23 2004-06-29 Netlogic Microsystems, Inc. Content addressable memory with selectable mask write mode
US6795892B1 (en) 2000-06-14 2004-09-21 Netlogic Microsystems, Inc. Method and apparatus for determining a match address in an intra-row configurable cam device
US6799243B1 (en) 2000-06-14 2004-09-28 Netlogic Microsystems, Inc. Method and apparatus for detecting a match in an intra-row configurable cam system
US6910097B1 (en) 2001-04-09 2005-06-21 Netlogic Microsystems, Inc. Classless interdomain routing using binary content addressable memory
US7012890B2 (en) 2001-07-02 2006-03-14 Hitachi, Ltd. Packet forwarding apparatus with packet controlling functions
JP2011257880A (ja) * 2010-06-07 2011-12-22 Canon Inc 演算装置、キャッシュ装置、その制御方法及びコンピュータプログラム
JP2017525079A (ja) * 2014-06-13 2017-08-31 ブル・エス・アー・エス リスト内でのアイテム一致の検索

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001011630A1 (en) * 1999-08-11 2001-02-15 Fast-Chip Incorporated Match resolution circuit for an associative memory
US6757779B1 (en) 1999-09-23 2004-06-29 Netlogic Microsystems, Inc. Content addressable memory with selectable mask write mode
US7230840B2 (en) 2000-06-08 2007-06-12 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6831850B2 (en) 2000-06-08 2004-12-14 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6711041B2 (en) 2000-06-08 2004-03-23 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6542391B2 (en) 2000-06-08 2003-04-01 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6799243B1 (en) 2000-06-14 2004-09-28 Netlogic Microsystems, Inc. Method and apparatus for detecting a match in an intra-row configurable cam system
US6751701B1 (en) 2000-06-14 2004-06-15 Netlogic Microsystems, Inc. Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6795892B1 (en) 2000-06-14 2004-09-21 Netlogic Microsystems, Inc. Method and apparatus for determining a match address in an intra-row configurable cam device
US6910097B1 (en) 2001-04-09 2005-06-21 Netlogic Microsystems, Inc. Classless interdomain routing using binary content addressable memory
US7054993B1 (en) 2001-04-09 2006-05-30 Netlogic Microsystems, Inc. Ternary content addressable memory device
US7012890B2 (en) 2001-07-02 2006-03-14 Hitachi, Ltd. Packet forwarding apparatus with packet controlling functions
US7154849B2 (en) 2001-07-02 2006-12-26 Hitachi, Ltd. Packet forwarding apparatus with packet controlling functions
US7653062B2 (en) 2001-07-02 2010-01-26 Hitachi, Ltd. Packet forwarding apparatus with packet controlling functions
JP2011257880A (ja) * 2010-06-07 2011-12-22 Canon Inc 演算装置、キャッシュ装置、その制御方法及びコンピュータプログラム
US8812783B2 (en) 2010-06-07 2014-08-19 Canon Kabushiki Kaisha Operation apparatus, cache apparatus, and control method thereof
JP2017525079A (ja) * 2014-06-13 2017-08-31 ブル・エス・アー・エス リスト内でのアイテム一致の検索

Also Published As

Publication number Publication date
JP3623082B2 (ja) 2005-02-23

Similar Documents

Publication Publication Date Title
US5920886A (en) Accelerated hierarchical address filtering and translation using binary and ternary CAMs
US6665297B1 (en) Network routing table
US7237058B2 (en) Input data selection for content addressable memory
US7437354B2 (en) Architecture for network search engines with fixed latency, high capacity, and high throughput
US8949574B2 (en) Low power, hash-content addressable memory architecture
US6996662B2 (en) Content addressable memory array having flexible priority support
US8780926B2 (en) Updating prefix-compressed tries for IP route lookup
US7219184B2 (en) Method and apparatus for longest prefix matching in processing a forwarding information database
US9569561B2 (en) Label masked addressable memory
US7986696B1 (en) Method and apparatus for longest prefix matching
CN102377664B (zh) 一种基于tcam的区域匹配装置和方法
CN111937360B (zh) 最长前缀匹配
US6987683B2 (en) Magnitude comparator based content addressable memory for search and sorting
US20050001744A1 (en) Block programmable priority encoder in a CAM
JP3623082B2 (ja) 連想メモリモジュール
US20040044868A1 (en) Method and apparatus for high-speed longest prefix match of keys in a memory
US7003625B2 (en) Searching small entities in a wide CAM
US7219187B1 (en) Search parameter table in a content addressable memory
US20050135135A1 (en) Content addressable memory for CIDR address searches
JP4343377B2 (ja) 連想メモリ
CA2064957A1 (en) Method and apparatus for performing pattern search functions
KR100428247B1 (ko) 아이피 주소룩업에서 고속 엘피엠 탐색을 위한 파이프라인씨에이엠의 구성 방법
JP3558151B2 (ja) データ検索回路
JP2004265528A (ja) 連想メモリ
US10476785B2 (en) IP routing search

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041122

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091203

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees