JPH10126422A - 同時サーチ内容アドレス可能メモリ回路のための装置および方法 - Google Patents
同時サーチ内容アドレス可能メモリ回路のための装置および方法Info
- Publication number
- JPH10126422A JPH10126422A JP9276556A JP27655697A JPH10126422A JP H10126422 A JPH10126422 A JP H10126422A JP 9276556 A JP9276556 A JP 9276556A JP 27655697 A JP27655697 A JP 27655697A JP H10126422 A JPH10126422 A JP H10126422A
- Authority
- JP
- Japan
- Prior art keywords
- word
- vci
- match
- vpi
- comparison
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
- H04L49/309—Header conversion, routing tables or routing tags
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
モリ回路および交換識別子の同時サーチを可能にする。 【解決手段】 ATMヘッダを含む基準ワードの内容に
対応する出力ワードが生成される内容アドレス可能メモ
リ回路100を実施するための回路および方法が提供さ
れる。第1の態様では、2進サーチ論理回路104がメ
モリアレイ101を2進サーチして内容が基準ワードに
等しい整合ワードを検出する。出力信号は整合が検出さ
れたかあるいはメモリアレイ101の2進サーチを整合
ワードのロケーションアドレスの上または下のアドレス
で継続すべきことを示す。第2の態様では、内容アドレ
ス可能メモリ回路100は交換識別子、仮想回路識別子
および仮想経路識別子の同時サーチを行いATMヘッダ
に対して仮想経路接続または仮想回路接続が存在するか
否かを判定する。
Description
電子装置に関し、かつより特定的には交換ネットワーク
においてヘッダ情報を管理するために使用される装置に
関する。
種々のハードウエア機器およびソフトウエアから構成さ
れかつ用途および複雑さが増大してきている。コンピュ
ータの典型としてのコンピュータネットワークの人気お
よびネットワークユーザの間で転送されるデータの量の
増大はネットワークの容量およびプロトコルを時間と共
に増大させている。種々のネットワーク通信プロトコル
はデータをネットワークによって結合された装置の間で
転送する。イーサネットおよび非同期転送モードはその
ような通信プロトコルの例である。
る)はツイストケーブルを使用して25メガビット/秒
程度の低いかつ光ケーブルを使用して10ギガビット/
秒程度の高い帯域幅を提供する。ATMスイッチまたは
交換機(ATM switch)はセルをネットワーク
内の種々のポイントの間で転送する。セルは制御情報、
ヘッダおよびデータパケットを含む。セル内のヘッダは
ATM交換機がデータを導くことができるようにする交
換識別子(switching identifier
s)を含む。ATMスイッチはプログラムされたリスト
に対してそれが受信する各々の交換識別子を問合せてど
の出力チャネルにセルが出力されるべきかを決定する。
データパケットが中間ノードによって受信されたとき、
データパケットに付随するヘッダにデスティネイション
情報が含まれている。ノードはそのメモリを調べてデス
ティネイション情報が前に記憶されているか否かを決定
することによりその伝送に対するデータパケットを導く
ことにそれが前に同意したか否かを判定する。もし同意
しておれば、フォワードアドレス(forwardin
g address)もまた記憶されておりかつノード
はそのデータパケットをデスティネイションアドレスに
向かうルートにおける次のノードへと送る。それが各々
のデータ転送を受信したとき、ノードはそのメモリの内
容を問合せてそれが送信を送ることに同意したか否かを
決定する。もしデスティネイション情報があらかじめ送
られれば、メモリはそのデータパケットを次のノードに
導くために該デスティネイション情報に関連するフォワ
ードアドレスを作成する。
置(以後“CAM”と称する)はATMスイッチのため
の交換識別子を記憶する。連想または内容アドレス可能
メモリにおいては、整合ワードおよび交換識別子がメモ
リ内に関連する対として記憶される。CAMが基準ワー
ドを受信したとき、それは該基準ワードに等しい整合ワ
ードがメモリに格納されているか否かを判定する。もし
格納されておれば、それは整合した基準ワードに関連す
るリンクワードを作成する。CAMの重要な面は整合ワ
ードおよびその関連するリンクワードの間の関連または
連想であり、各々のワードがその定義と関連して記憶さ
れている辞書とよく似ている。辞書においては、ある提
供されたワードがルックアップされかつ該ワードに関連
する定義が生成される。CAMにおいては、提供された
基準ワードがルックアップされ、すなわち、整合ワード
と比較され、かつもしそれらが等しければ、整合ワード
に関連するリンクワードが生成される。
整合ワードテーブルおよびリンクワードテーブルへと編
成される。もし基準ワードが整合ワードテーブルからの
エントリと整合すれば、関連するリンクワードが出力に
生成される。もし整合が検出されなければ、出力ワード
は、例えば、エラーフラグビットをセットすることによ
り不首尾または障害を指示する。ATMの用途において
は、基準ワードは交換識別子からなる。交換識別子は仮
想パス識別子(virtual path ident
ifier)(以後“VPI”と称する)および仮想チ
ャネル識別子(virtual channel id
entifier)(以後“VCI”と称する)から構
成される。CAMはヘッダにおけるVPIおよびVCI
をCAMにおけるVPIおよびVCIエントリと比較す
る。交換識別子は仮想パス接続(以後“VPC”と称す
る)または仮想回路接続(以後“VCC”と称する)が
存在するか否かを決定する。
をハードウエアで提供し、従って基準ワードが同時に整
合ワードテーブルにおけるそれぞれのワードと比較され
るようにし、それによって出力ワードが1クロックサイ
クルで生成される全並列モード(full paral
lel mode)で動作する。しかしながら、より大
きなCAMの必要性が増大するに応じて、並列モードは
長いサーチ時間のため可能ではなくなる。
るための従来より知られた技術はメモリを区別可能なま
たは別個のクラスに予めソートする(presort)
ことである。例えば、4,096ワードの深さのCAM
は特定の整合およびリンクワード対がCAMの1つにの
み記憶される4つの別個のより浅い1,024ワードの
CAMへと予め分類される。しかしながら、この手法は
他のものが実質的に空きを有する一方で1つのクラスに
対応するCAMが満たされることになり、それによって
CAMの深さを実効的に低減する。必要に応じて各々の
CAMのサイズを動的に調整するためCAMに論理を加
えることはCAMの複雑さおよびコストを実質的に増大
させる。
め、並列サーチ戦略が使用されてもあるいは直列サーチ
戦略が使用されても、各々のCAMエントリに対して2
つのサーチが必要とされる。第1のサーチはVCCをチ
ェックし、入力ヘッダおよび交換識別子を比較する。第
2のサーチはVPCに対するもので、入力ヘッダおよび
交換識別子を比較する。
法が使用される。1つの方法は1つのCAMアレイを使
用し、各アレイを2回問合せる。他の方法は2つの別個
のCAMを使用し、各々のCAMがVCIまたはVPI
のみを記憶する。1つのCAMの手法はデュアルCAM
手法よりも多くの時間を必要とする。しかしながら、デ
ュアルCAM手法は交換ネッワトークにより多くのハー
ドウエアおよびコストを加えることになる。
ば、内容アドレス可能メモリ(CAM)を実施する方法
が提供され、該方法は第1のメモリアレイおよび第2の
メモリアレイを提供する段階であり、前記第1のメモリ
アレイは整合ワードを備えかつ前記第2のメモリアレイ
はリンクワードを備えるもの、基準ワードを前記CAM
に提供する段階、前記第1のメモリアレイを2進サーチ
して前記基準ワードに等しい整合ワードを検出する段
階、そして前記第2のメモリアレイから前記整合ワード
に対応するリンクワードを出力する段階、を具備するこ
とを特徴とする。
ーチのための方法が提供され、該方法はヘッダから第1
および第2のフィールドを読み取る段階、そして並列的
に、(1)前記第1のフィールドおよび第1のタグ
(2)前記第2のフィールドおよび第2のタグ、そして
(3)所定のベクトルを備えた第2のフィールド、を比
較する段階、を具備することを特徴とする。
レイの2進インデクシングを行う段階を具備すると好都
合である。
2のフィールドはATMヘッダを含むものとすることが
できる。
1のフィールドおよび前記第2のフィールドを変換する
段階を具備すると好都合である。
ークデータルーティング回路において使用される内容ア
ドレス可能メモリ(CAM)回路100のブロック図で
ある。CAM100はデータを記憶しかつ新規な方法に
従って比較のためにデータをアクセスする。この機構は
CAM100の部分からヘッダ情報を人為的に排除する
ことなくアクセス時間を低減する。CAM100はこれ
によってそのメモリの使用において高速でありかつ効率
的である。さらに、VCCまたはVPC整合のための各
々の個々の比較は開示された発明の第2の面によって加
速される。
00はメモリワードのアレイ101、比較回路105、
2進サーチ論理回路104、およびエントリキュー10
6を具備する。CAM100は基準ワードの内容に基づ
き出力ワードを提供するために端子120に出力を有す
る。ここで使用されているように、用語「端子(ter
minal)」は単一の導電ラインに言及しかつまた複
数の導電ラインを含むバスラインを含む。CAM100
はデスティネイションヘッダ信号または他の伝送された
データをネットワークから受けるための入力を端子12
1に有する。基準ワードは前記デスティネイションヘッ
ダ信号の一部として伝送される。
クRAMセルのコアを備えかつ整合ワードテーブル10
2およびリンクワードテーブル103として構成され、
それによって各々のロケーションアドレスにおいて記憶
されたメモリワードが整合ワードおよび関連するリンク
ワードから構成されるようにされる。1つの実施形態で
は、各々のスタティックRAMセルは4つのトランジス
タからなりかつ5ナノセカンドのアクセス時間を有す
る。用途に応じて、メモリワードのアレイ101はこれ
に代えてダイナミックRAMまたはフラッシュメモリか
ら構成できる。端子124における入力は前記アレイか
らメモリワードを選択するロケーションアドレス信号を
受信し、かつ端子122および123における第1およ
び第2の出力はそれぞれ選択された整合ワードおよびリ
ンクワードを提供する。
び選択された整合ワードを受けるたに端子121および
122において第1および第2の入力を有し、かつ5つ
の出力信号、「より大きい(GREATER)」信号、
「等しい(EQUAL)」信号、「VCC整合(VCC
MATCH)」信号、「VPC整合(VPCMATC
H)信号」、および「VPC有効(VPCVALI
D)」信号を提供するための出力を端子125に有す
る。比較回路105は基準ワードおよび前記選択された
整合ワードの内容を比較しかつその比較の論理的結果に
対応する出力信号を肯定する。例えば、もし入力基準ワ
ードが選択された整合ワードより大きければ、比較器1
05は「より大きい」信号を肯定する。VCCおよびV
PC整合に対してはそれぞれ前記「VCC整合」および
「VPC整合」が肯定される。もしVPC整合が存在す
れば、比較器105は「VPC有効」信号を肯定する。
比較器105および「より大きい」信号、「等しい」信
号、「VCC整合」信号、「VPC整合」信号、および
「VPC有効」信号については図8および図10を参照
して後に説明する。
のために基準ワードを受信する。CAM100に加えら
れるべき基準ワードまたはCAM100から削除される
べき基準ワードはバッファリングされる。いくつかの実
施形態では、エントリキュー106におけるバッファリ
ングされたエントリ(buffered entrie
s)は整合ワードテーブルをサーチする前に直線的にま
たはリニアに(linearly)サーチされる。整合
ワードテーブルをサーチする方法はすぐ後に説明する。
さらに別の実施形態では、エントリキュー106は除去
されかつ基準ワードがCAMが利用可能になるや否やソ
ートされる。
ドテーブル102の2進サーチを行い整合ワードテーブ
ル102におけるエントリが基準ワードと同じ内容を有
するか否かを判定する。2進サーチはサーチされるべき
テーブルが所定の順序にソートされる必要がある。従っ
て、システムのスタートアップ時に、かつ基準ワードを
受け入れる前に、メモリワードのアレイ101は整合ワ
ードテーブル102のエントリに基づき所定の順序にソ
ートされる。示された実施形態では、最も小さな基準ワ
ードを有する基準ワード−リンクワード対がメモリワー
ドのアレイ101の最初のエントリに記憶され、第2に
小さな基準ワードを有する基準ワードがメモリワードの
アレイの第2のエントリに格納されるなどとなる。
定の順序にソートすることができる。しかしながら、こ
の順序は比較回路105によって認識することができ、
従ってそれがある与えられた基準ワードを選択された整
合ワードと比較するときにそれが整合する整合ワード
が、もしそれが整合ワードテーブル102に見出される
べきであれば、前記選択された整合ワードよりもより高
いまたはより低いアドレスを有するか否かを決定できな
ければならない。
て使用されて基準ワードに整合する整合ワードが格納さ
れているかを判定するためにメモリワードのアレイ10
1を2進サーチするための2進サーチアルゴリズムのC
AM構成の流れ図である。整合テーブルは予め、例え
ば、ローからハイへと増大するロケーションアドレスで
ソートされているものと仮定する。ステップ201にお
いて、基準ワードが、例えば、ネットワークバスから受
信される。ステップ202において、メモリアレイの中
間点(midpoint)に対応するロケーションアド
レスがアレイから整合ワードおよび関連するリンクワー
ドを選択するために提供される。ステップ203は選択
された整合ワードを基準ワードと比較する。もしそれら
が等しければ、(ステップ204)、選択されたリンク
ワードがステップ205においてCAMの出力に提供さ
れかつ2進サーチは終了する。
等しくなければ(ステップ204)、2進サーチ論理回
路はステップ206においてアレイ全体が既に基準ワー
ドと比較されたか否かを判定する。もしメモリワードの
アレイ101全体がまだテストされていなければ、基準
ワードと整合する整合ワードが検出される可能性のある
メモリアレイのハーフ(half)の中間点に対応する
新しいロケーションアドレスが提供される。ステップ2
03および204による各々の比較の後にメモリの半分
が整合する整合ワードを含む可能性からはずされ、それ
はメモリアレイの所定の順序への前もってのソートのた
めである。従って、2進サーチの各々のサイクルはメモ
リアレイのテストされていない部分の半分を累進的に低
減する。
が検出されることなくメモリアレイ全体がテストされた
ことを判定すれば、ステップ207においてエラーフラ
グが出力にセットされかつ2進サーチが終了する。しか
しながら、もしメモリアレイの一部がテストするために
残っておれば、ステップ208においてメモリアレイの
テストされていない部分の中間点に対応する新しいロケ
ーションアドレスが提供される。新しいロケーションア
ドレスはステップ202において新しい整合およびリン
クワードを選択しかつこのサイクルは2進サーチが終了
するまで反復する。
はメモリワードのアレイにロケーションアドレス信号を
提供するための第1の出力を端子124に有する。2進
サーチのいずれかのサイクルにおいて、ロケーションア
ドレスはメモリワードのアレイ101のテストされてい
ない部分の本質的に中間点となるよう選択される。も
し、一般的にあるように、整合ワードテーブルにおいて
偶数のエントリがあれば、正確な中間点のロケーション
アドレスはなく、従って次のより高いまたはより低いロ
ケーションアドレスが選択され、すなわち、アレイの上
部ハーフの最も低いアドレスが選択される。
ードのアレイ101によって受信されたとき、選択され
た整合ワードおよび選択されたリンクワードがそれぞれ
端子122および123における第1および第2の出力
に生成される。選択された整合ワードは比較回路105
において基準ワードと比較され、該比較回路105は比
較の結果に対応する出力信号を生成する。該出力信号は
比較の6つの結果の内の1つを指示し、すなわち第1に
基準ワードおよび整合ワードが等しいこと、第2により
高いロケーションアドレスにおいてサーチを継続するこ
と、および第3により低いロケーションアドレスにおい
てサーチを継続すること、および第4にもしVPCが生
じればサーチを終了すること、および第5にもしVCC
が発生すればサーチを終了すること、および第6に比較
器105が前記「VPC有効」信号を肯定しこれは出力
論理ピンに伝搬することがある。
5から出力信号を受ける端子125に第1の入力を有す
る。端子123における第2の入力はリンクワードテー
ブル103から選択された整合ワードに関連する選択さ
れたリンクワードを受信する。もし前記基準および選択
された整合ワードの内容が等しければ、2進サーチ論理
回路104はその端子120におけるその出力に選択さ
れたリンクワードを生成し、これはCAM100の出力
に結合される。CAM100の出力は従って選択された
リンクワードを含み、多分フラグビットを加えて整合が
首尾よく行われたことを指示する。限定的なものではな
いが、サーチの数、サーチの時間量、およびCAM内の
首尾よいヒットの割合を含む他の情報をCAM100の
出力に提供することもできる。
ければ、比較回路105からの出力信号は整合する整合
ワードが、もしそれが整合ワードテーブル102に格納
されておれば、前記中間点のローケションアドレスより
上に位置するかあるいは下に位置するかを示す。もし、
例えば、比較回路105がサーチが前の中間点のロケー
ションアドレスより上の整合ワードテーブル102のハ
ーフにおいて継続すべきことを示しておれば、2進サー
チ論理回路104は今テストした領域のすぐ上の整合ワ
ードテーブルの領域の中間点において新しいロケーショ
ンアドレスを提供する。該新しい中間点のロケーション
アドレスに対応する新しい整合ワードは前記基準ワード
と比較されかつサイクルそれ自体が反復する。
対する基準ワードの各々の比較は整合を生じるかあるい
は整合が検出できる可能なロケーションアドレスとして
の整合ワードテーブル102の半分を除去する。引き続
くサイクルが効果的に整合ワードテーブル102の残り
の部分をそれが新しいテーブルであるかのように処理
し、メモリワードのアレイ101の残りの部分の中間点
に対応する新しいロケーションアドレスを送る。
めに必要な時間は一般にメモリワードのアレイ101を
含むスタティックRAMコアの速度によって決定され
る。メモリワードのアレイ101が4,096のメモリ
エントリの深さである実施形態では、各サイクルを完了
するのに必要な時間は10ナノセカンドである。4,0
96メモリワードを1つのメモリワードに低減するため
に12の引き続くバイセクション(bisection
s)が必要であり、メモリワードのアレイ101は多く
ても12のサイクルで2進サーチすることができる。従
って完全なサーチは120ナノセカンドで完了する。1
6,384メモリワードの容量を有するメモリワードの
アレイ101に対しては、2つの付加的な2進サーチサ
イクルを提供しなければならず、従ってサーチは140
ナノセカンドで完了する。
ードが検出されることなく完了することもあり得る。そ
の場合、CAM100の出力に何らのリンクワードも提
供されず、かつ整合が検出されなかったかあるいはサー
チが完了したことを示すエラーフラグビットが一般に提
供される。
リを含めるためあるいはもはや有用でないエントリを削
除するため整合ワードテーブル102およびリンクワー
ドテーブル103を更新することが必要である。このた
め、2進サーチ論理回路104は新しいエントリを受け
るために端子121に接続された第3の入力を有する。
もしメモリワードのアレイ101が満杯でありかつ存在
するエントリが削除できなければ、新しいエントリはこ
れ以上処理されることはなく、かつ新しいエントリが受
け入れられないことを示すためにエラービットが出力ワ
ードにおいてセットされる。
ロケーションを有しておれば、新しいエントリが受け入
れられかつ挿入される。新しいエントリはメモリワード
のアレイ101の所定の順序を保つように挿入されなけ
ればならないことに注意を要する。1つの実施形態で
は、2進サーチ論理回路104は前記空きのロケーショ
ンで開始し、すなわちメモリワードのアレイ101の最
上部で開始し、かつ該新しいエントリおよびメモリワー
ドのアレイ101の所定の順序を維持する必要性に照ら
して記憶されたメモリワードを調べる。前記新しいエン
トリはそうすることが前記所定の順序を維持する場合に
は前記空きのロケーションに挿入される。2進サーチ論
理回路104は新しいエントリの適切なロケーションを
決定する。
プロセスの間にアイドルであれば、4,096ワードの
深さであるメモリワードのアレイ101は新しいエント
リを正しいロケーションに挿入するために平均で約20
マイクロセカンド、最悪の場合約40マイクロセカンド
を必要とする。
(ATM)セル300を示す。ATMセルはヘッダ30
2を含み、該ヘッダ302はそれ自体で交換ネットワー
クのためのルーティング情報を含む。ヘッダ302の情
報は端子121を介して図1の比較器105に入力され
る。前記交換識別子はデータパケットをヘッダ302に
含まれるVCIおよびVPIに基づき導く。バイト1は
包括的なフロー制御(generic flow co
ntrol)(以後“GFC”と称する)のための4ビ
ットおよびユーザネットワークインタフェース(以後
“UNI”と称する)プロトコルにおけるVPIのため
の4ビットを含む。しかしながら、ネットワーク・ネッ
トワークインタフェース(以後“NNI”と称する)プ
ロトコルにおいては、バイト1はVPIのために8ビッ
トを含む。バイト2はVPIのために4ビットを含みV
CIのために4ビットを含む。バイト3はVCIのため
に8ビットを含む。バイト4は、UNIおよびNNIプ
ロトコルの双方に対して、VCIのために4ビットを含
みかつペイロードタイプ識別子(payload ty
pe identifier)(以後“PTI”と称す
る)のために4ビットを含む。残りのバイトはデータパ
ケットを含む。データパケット(以後「データ」と称す
る)はコンピュータコード、電話通信、または任意の導
かれるべき情報から構成できる。
Iを含む物理チャネル400を示す。物理チャネル40
0は光ケーブル、ツイストケーブル、および電話ケーブ
ルのような、物理的なデータ伝送構造を表す。物理チャ
ネル400はVPCおよびVCCを含み、この場合VP
CおよびVCCは個々のVPIおよびVCIを含む。V
PCは、すべて同じVPIを備えかつすべて同じ方式で
スイッチングされる、複数の回路のトランクとして概念
化しあるいは概念的に説明することができる。1つのV
CCは異なるVPI内の異なるVCIに導くVPI内の
1つの特定のVCIである。VCCおよびVPCのため
のルーティングは図5において後に説明する。この実施
形態では、4,096までのVPIが可能でありかつV
PIごとに65,536までのVCIが可能である。
Cを含むATMスイッチ507を示す。ATMスイッチ
507は複数の入力パスを受け入れかつ種々のデータを
備えた複数の出力パスを発生する。ATMスイッチ50
7は入力および出力パス内のデータを処理しかつパスの
ルーティングは瞬時的に(急速に:on the fl
y)行われる。ATMスイッチ507は複数の物理チャ
ネル400を備えた交換ネットワークを示している。1
つの例では、ATMスイッチ507は物理チャネル50
1、物理チャネル502、および物理チャネル503を
受け入れる。ATMスイッチ507は個々のヘッダ30
2に基づき入力セル、VCIおよびVPI、を物理チャ
ネル504、物理チャネル505、および物理チャネル
506に導く。
IおよびVCIをCAM100におけるVPIおよびV
CIエントリと比較する。もしVPIおよびVPCを識
別するCAM100内の特別のVCI値に対する整合が
生じればVPCが存在する。整合データはATMスイッ
チ507にデータをどこに導くかおよびヘッダ302に
おけるデータのすべてまたは一部をどのように変換する
かを通知する。
VPI値を含み、1のVCI値、2のVCI値、および
3のVCI値を備えている。CAM100は整合ワード
テーブル102をサーチしかつVPCを識別する特別の
VCI値と上のVPIおよびVCIに対する整合が生じ
る。整合ワードに関連するリンクワードは7のVPIに
対する変換値を含む。ATMスイッチ507は物理チャ
ネル501を物理チャネル504に導きかつVPI値を
5から7に変換するが、VCIは1,2および3の値を
保持する。従って、VPCに対しては、VPI値は変換
されるがVCI値は同じ値に留まっている。
PI値を含み、1のVCI値、2のVCI値、および3
のVCI値を、ヘッダ302に備えている。CAM10
0は整合ワードテーブル102をサーチしかつVPIお
よびVCI値の双方に対して整合が生じ、VCCを生じ
る。整合ワードに関連するリンクワードは5のVPIに
対する変換値を含みかつ1,2および3のVCI値に対
してそれぞれ12,13および14のVCIに対する変
換値を含む。ATMスイッチ507は物理チャネル50
2を物理チャネル506に導きかつVPI値を1から5
に変換し、かつVCI値を1,2および3から12,1
3および14にそれぞれ変換する。従って、VCCに対
しては、VPI値およびVCI値の双方が変換される。
02のサーチの知られた方法を示す。ステップ601に
おいて、所定の組のVPIおよびVCI値がヘッダ30
2におけるデータを導くためにCAM100にロードさ
れる。最初のサーチはVCIおよびVPI値をヘッダ3
02から読み出すことによって始まる、ステップ60
2。該最初のサーチはヘッダ302におけるVPIおよ
びVCI値を整合ワードテーブル102におけるVPI
およびVCI値と比較することによりVCCに対して行
われる、ステップ603。ステップ604において、V
PIおよびVCI値が整合するか否かの判定が行われ
る。もし該判定が真(整合)であれば、ステップ605
においてVCCは有効とされる。該VPIおよびVCI
値は関連するリンクワードにおいて規定される値に変換
される。しかしながら、前記判定が偽(整合なし)であ
れば、ステップ606において、ヘッダ302における
VPI値を整合ワードテーブル102におけるVPI値
と比較しかつ整合ワードテーブル102における特別の
VPCビットをチェックする。ステップ607におい
て、VPI値が整合するか否かおよび整合ワードテーブ
ル102に特別のVPCビットが存在するかの判定が行
われる。もし該判定が真であれば、VPCは有効であ
る、ステップ608。VPI値は関連するリンクワード
において規定された値に変換される。しかしながら、も
し前記判定が偽(整合なし)であれば、サーチは整合な
しに終了する。当業者は容易にこの知られたアルゴリズ
ムは2つの別個のCAMルックアップを必要とし、1つ
のCAMが2回使用されるかあるいは2つのCAMが各
々1度使用されるかを理解するであろう。いずれの場合
も、時間またはシリコンが過剰に使用される。
係わるヘッダ302のサーチを示す。ステップ701に
おいて、ヘッダ302におけるデータを導くために所定
の組のVPIおよびVCI値がCAM100にロードさ
れる。示された実施形態では、VCIおよびVPI値
は、図1において前に述べたように、増大する数でソー
トされかつ記憶される。しかしながら、開示された発明
の両方の面(aspects)はお互いに独立に実施す
ることができあるいは組合せることができる。両方のサ
ーチは、ステップ702において、ヘッダ302からV
CIおよびVPI値を読み出すことで始まる。ステップ
703は3つの比較からなり、第1の比較はヘッダ30
2からのVPIを整合ワードテーブル102からのVP
Iと比較することからなり、第2の比較はヘッダ302
からのVCIを整合ワードテーブル102からのVCI
と比較することからなり、第3の比較は整合ワードテー
ブル102からのVCIを論理“1”の特別のVCI値
に対して比較することからなる。
は直列的に発生するように説明するが、同時に行われ
る。ステップ704においては、前記第1の比較(ヘッ
ダ302からのVPIが整合ワードからのVPIと等し
い)および前記第2の比較(ヘッダ302からのVCI
が整合ワードからのVCIと等しい)が真(整合)であ
るか否かが判断される。もし該判断が真(整合)であれ
ば、ステップ706においてVCCは有効でありかつV
PIおよびVCI値は関連するリンクワードにおける値
に変換される。しかしながら、もし前記判断が偽であれ
ば、VCCサーチは整合なしに終了する。VPCサーチ
はヘッダ302のVPI値をCAM100における整合
ワードテーブル102のエントリのVPI値と比較しか
つ整合ワードテーブル102のエントリにおける特別の
VCI値に対してチェックを行う。ステップ705にお
いて、VPI値が整合しかつ特別のVCI値が整合ワー
ドテーブル102のエントリに存在するかが判定され
る。もしこの判定が真(整合)であれば、ステップ70
7においてVPCは有効でありかつVPI値は関連する
リンクワードにおける値に変換される。しかしながら、
もし前記判定が偽であれば、VPCサーチは整合なしに
終了する。もし前記VPCが有効であれば、前記「VP
C有効」信号は論理ピンを肯定する。
合ワードテーブル102の初期ロードにおいてセットさ
れかつ任意的なものである。この実施形態では、前記特
別のVCI値は16の論理“1”を含む。
有効」信号により肯定することは試験を簡単にしかつエ
ンドユーザによる動作または運用を簡単にする。前記論
理ピンは装置の状態を識別することによりCAM100
の試験を簡単にする。装置を適切にテストするためにV
PCまたはVCCが有効であるか否かを判定する必要性
が存在する。他の利点はエンドユーザがVPCが有効で
あるか否かを前記ピンにおける論理ハイによって認識す
ることである。システム設計者のような、エンドユーザ
は前記論理ピンを使用して有効なVPCに基づき他のシ
ステム機能をイネーブルまたはディスエーブルする。例
えば、もしシステム設計者が有効なVPCに基づき他の
ATMスイッチに導く必要があれば、前記論理ピンが制
御回路のためのゲート信号として使用される。前記論理
ピンはシステム設計を簡単にしかつ柔軟性を増大する。
す。比較器105は3つの比較要素、すなわち比較器1
06、比較器107、および比較器108、そしてAN
Dゲート109およびANDゲート110から構成され
ている。比較器105は端子121に基準ワードをそし
て端子122に整合ワードを受信する。この実施形態で
は、基準ワードはヘッダ302である。比較器106は
1つの入力に16ビットのVPI、すなわちヘッダ30
2からの12ビット(バイト1およびバイト2のビット
5:8)および4ビット、を受ける。4ビットはマスク
により最上位ビットとして加えられ、かつユーザ定義さ
れる。前記4ビットを加えることは図10において後に
説明する。4ビットは各々の比較要素が同じ16ビット
の比較器の設計で実施できるようにする。比較器106
は他の入力に16ビットのVPI、すなわち整合ワード
からの12ビットおよび4ビット、を受ける。4ビット
はマスクにより最上位ビットとして加えられ、かつユー
ザ定義される。比較器107は1つの入力にヘッダ30
2からの16ビットのVCIを受ける。比較器107は
他の入力に整合ワードからの16ビットのVCIを受け
る。比較器108は一方の入力に16ビットのVCIを
整合ワードから受ける。比較器108は他の入力に特別
の16ビットのVCI値を受ける。
し、VPIMは整合ワードからのVPIを示し、VCI
Hはヘッダ302からのVCIを示し、VCIMは整合
ワードからのVCIを示す。各々の比較要素は2つの1
6ビット入力が等しいか否かをビットごとの比較で判定
する。比較器106の出力はもし2つのVPI入力が等
しければ「イコール1(EQUAL1)」を発生する。
比較器107はもし2つのVCI入力が等しければ「イ
コール2(EQUAL2)」信号を発生する。比較器1
08の出力はもし2つのVCI入力が等しければ「イコ
ール3(EQUAL3)」信号を発生する。
「イコール1」信号を受けかつ他の入力に前記「イコー
ル2」信号を受信する。ANDゲート110は1つの入
力に前記「イコール1」信号を受けかつ他の入力に前記
「イコール3」信号を受ける。ANDゲート109の出
力は「VCC整合」信号を発生する。ANDゲート11
0の出力は前記「VPC整合」信号および前記「VPC
有効」信号を発生する。
よび比較器108、はVPCまたはVCCが存在するか
否かを判定する。ヘッダ302からのVPIおよびVC
I情報および整合ワードテーブル102からの整合ワー
ドを比較することにより、各々の比較要素は入力が等し
いか否かを判定する。もしヘッダ302からのVPIお
よび整合ワードがビットごとのベースで同じであれば
「イコール1」信号は論理“1”である。もしヘッダ3
02からのVCIおよび整合ワードがビットごとのベー
スで同じであれば「イコール2」は論理“1”である。
もし整合ワードからのVCIおよび前記特別のVCIが
ビットごとのベースで同じであれば「イコール3」は論
理“1”である。ANDゲート109の出力、「VCC
整合」信号、はもしVCCが存在すれば論理“1”であ
る。ANDゲート110の出力、「VPC整合」信号お
よび「VPC有効」信号、はVPCが存在すれば論理
“1”である。比較器108は比較器106および比較
器107がそれぞれ「イコール1」および「イコール
2」を発生するよりも早く「イコール3」を発生する。
「イコール(EQUAL)」信号は2ビットを含み、1
ビットは「イコール1」を表しかつ1ビットは「イコー
ル2」を表す。「イコール1」および「イコール2」信
号の発生については図10においてより詳細に説明す
る。前記特別のVCI値は16の論理“1”を含み、従
って比較器108は整合ワードからのVCIを論理
“1”につきチェックする。比較器106および比較器
107は論理“1”および論理“0”に対する両方の入
力を比較する必要があり、比較器108は整合ワードか
らのVCIを論理“1”についてチェックするのみであ
り、従って、比較器106および比較器107よりも高
速で比較を行う。
較器108は整合ワードから16ビットのVCIを受け
かつ前記特別のVCI値とビットごとの比較を行う。こ
の実施形態では、前記特別のVCI値はオール論理
“1”を含む。従って、比較器108は整合ワードから
の16ビットのVCIを論理“1”につきチェックす
る。NANDゲート112は整合ワードのVCIから4
ビット、ビット0,1,2および3、を受信する。NA
NDゲート114は整合ワードのVCIから4ビット、
ビット4,5,6および7、を受信する。NANDゲー
ト116は整合ワードのVCIから4ビット、ビット
8,9,10および11、を受信する。NANDゲート
118は整合ワードのVCIから4ビット、ビット1
2,13,14および15、を受信する。NORゲート
120はNANDゲート112の出力、NANDゲート
114の出力、NANDゲート116の出力、およびN
ANDゲート118の出力を受ける。NORゲート12
0の出力は前記「イコール3」信号を発生する。
して論理“1”を使用することにより論理を最小にする
ことに基づいている。比較を単純化することにより、比
較器108は整合ワードからのVCIを論理“1”につ
いてチェックする。「イコール3」信号はもし整合ワー
ドからのVCIが論理“1”から構成されておれば論理
“1”である。他の実施形態では、比較器108は異な
るビットパターンにつきテストを行うことができ、ある
いはプログラム可能とすることができる。そのような場
合、比較器108は、図10において以下に説明するよ
うに、比較器106および比較器107と同様に構成で
きる。
7の詳細なブロック図を示す。このブロック図はマスク
可能なXORブロック1022および各々1つまたはそ
れ以上の比較モジュールa,bを備えた一連の比較レベ
ルブロックから構成され、この場合aおよびbは整数の
指数またはインデクスであり、aは1から4におよび、
bは0から15におよぶ。比較レベル1は16の比較モ
ジュール1,jからなり、この場合jは0から15にお
よぶ整数指数である。比較レベル2は8つの比較モジュ
ール2,kからなり、この場合kは0から7におよぶ整
数指数である。比較レベル3は4つの比較モジュール
3,mからなり、この場合mは0から3におよぶ整数指
数である。比較レベル4は2つの比較モジュール4,n
からなり、この場合nは0から1におよぶ整数指数であ
る。前記マスク可能XORブロック1022はヘッダ3
02から16ビットのVPIを、整合ワードから16ビ
ットのBPIを、ヘッダ302から16ビットのVCI
を、そして整合ワードから16ビットのVCIを、そし
てマスクバスを受ける。
IHのすべてのビットをVPIMのすべてのビットと、
一度に2ビットずつ、比較する。また、マスク可能XO
Rブロック1022は、一度に2ビットずつ、VCIH
のすべてのビットをVCIMのすべてのビットと比較す
る。マスク可能XORブロックはVPIHおよびVPI
Mの2つの最上位ビットを比較しかつその結果を比較モ
ジュール1,15に出力する。マスク可能XORブロッ
クはVPIHおよびVPIMの次の2つの最上位ビット
を比較しかつその結果を比較モジュール1,14に出力
する。比較モジュール1,8はVPIHおよびVPIM
の2つの最下位ビットの比較結果を受ける。同様の方法
で、マスク可能XORブロックはVCIHおよびVCI
Mの2つの最上位ビットを比較しかつその結果を比較モ
ジュール1,7へ出力する。比較モジュール1,0はV
CIHおよびVCIMの2つの最下位ビットの比較結果
を受信する。マスク可能XORブロック1022によっ
て8つの信号が発生されビットごとのベースで比較され
た4つのビットの結果およびその結果の補数を表しかつ
比較レベル1における比較モジュールに提供される。
1,j(8≦j≦15に対して)は8つの入力、VPI
GH(j),VPIGH(j−1),VPIG
M(j),VPIGM(j−1)および4つの前の信号
の補数をマスク可能XORブロック1022から受け
る。比較レベル1における比較モジュール1,j(0≦
j≦7に対して)は8つの入力、VCIGH(j),V
CIGH(j−1),VCIGM(j),VCIG
M(j−1)および前記4つの信号の補数をマスク可能
XORブロック1022から受ける。各々の信号はVP
IHおよびVPIM、およびVCIHおよびVCIMの
間のjまたはj−1に対応する比較を表す。VPIGH
(j)はVPIHのj番目のビットがVPIMのj番目
のビットより大きいか否かを表す。
4つの出力を表す。比較モジュール1,j(8≦j≦1
5に対し)はVPIGH(j,j−1),VPIG
M(j,j−1)、および前の2つの信号の各々の補数
を発生しかつそれらを入力として比較レベル2の比較モ
ジュールに供給する。比較モジュール1,j(0≦j≦
7)はVCIGH(j,j−1),VCIM(j,j−
1)、および前の2つの信号の各々の補数を発生しかつ
それらを入力として比較レベル2の比較モジュールに供
給する。
ベル1における比較モジュール1,jの内の2つから8
つの出力を受ける。比較レベル2の各比較モジュールは
4つの出力を発生する。比較モジュール2,k(4≦k
≦7に対して)はVPIGH(j,j−3),VPIG
M(j,j−3)、および前の2つの信号の各々の補数
を発生しかつそれらを入力として比較レベル3の比較モ
ジュールに供給する。比較モジール2,k(0≦k≦3
に対して)はVCIGH(j,j−3),VCI
M(j,j−3)、および前の2つの信号の各々の補数
を発生しかつそれらを入力として比較レベル3の比較モ
ジュールに供給する。
て)はVPIGH(j,j−7),VPIGM(j,j
−7)、および前の2つの信号の各々の補数を発生しか
つそれらを入力として比較レベル4の比較モジュールに
供給する。比較モジュール3 ,m(0≦m≦1に対し
て)はVCIGH(j,j−7),VCIM(j,j−
7)、および前の2つの信号の各々の補数を発生しかつ
それらを入力として比較レベル4の比較モジュールに供
給する。比較モジュール4,1はVPIGH(j,j−
7),VPIGM(j,j−7)、および前の2つの信
号の各々の補数を受ける。比較モジュール4,1は「よ
り大1(Greater1)」および「イコール1(E
qual1)」信号を発生する。比較モジュール4,0
はVCIGH(j,j−7),VCIM(j,j−
7)、および前の2つの信号の各々の補数を受信する。
比較モジュール4,0は「より大2(Greater
2)」および「イコール2(Equal2)」信号を発
生する。
器107の機能を達成する。図10の比較器は入力、V
PIH,VPIM,VCIHおよびVCIMの並列比較
によるモジュール手法を使用する。このモジュール手法
(modular approach)の利点は整合す
る負荷との並列比較を含む。整合する負荷は並列比較を
行う安定した、一貫した設計を提供する。他の利点は6
4ビットのマスク可能XORはユーザに64ビットの内
の任意のものを無視しあるいは「マスキング(mask
ing)」除去する柔軟性を与える。この実施形態で
は、それぞれのビットが比較され、いずれのビットもマ
スク除去されない。
ルの回路図を示す。該回路図は図10における任意の比
較モジュールを表す。比較モジュールはVPIまたはV
CIを比較するために使用され、従って回路図はVPI
またはVCIの双方に対する信号を示す。この回路図へ
の入力は(j−p)ビットを備えて示されており、この
場合pは0,1,3または7を表す整数である。図10
から思い起こすと、比較レベル1および比較レベル2に
おける比較モジュールへの入力は(j−1)であり、比
較レベル3の比較モジュールへの入力は(j−3)であ
り、かつ比較レベル4における比較モジュールへの入力
は(j−7)である。従って、(j−p)は任意の比較
レベルにおける比較モジュールへの任意の入力を表して
いる。同様の方法で、前記回路図の出力は(j−q)で
あり、この場合qは整数1,3,7でありかつqは常に
pより大きい。比較レベル4における比較モジュールに
おいては、出力は「より大1」、「より大2」、「イコ
ール1」および「イコール2」である。
GM(j−q)はp型トランジスタ1102のドレイン
にかつn型トランジスタ1104のソースに結合され、
かつp型トランジスタ1108のドレインにおよびn型
トランジスタ1110のソースに結合されている。トラ
ンジスタ1102のソースは電源Vddに結合されてい
る。トランジスタ1108のソースは容量1124の1
つの端子に、p型トランジスタ1114のソースおよび
p型トランジスタ1120のソースに、そしてトランジ
スタ1112のドレインに接続されている。トランジス
タ1112のソースは電源Vddに接続されている。容
量1124の他の端子はグランドVssに結合されてい
る。トランジスタ1104のドレインは容量1106の
1つの端子、トランジスタ1110のドレインおよびn
型トランジスタ1116のドレインに、そしてn型トラ
ンジスタ1118のソースに結合されている。容量11
06の他の端子はグランドVssに結合されている。ト
ランジスタ1118のドレインはグランドVssに結合
されている。トランジスタ1104のゲートおよびトラ
ンジスタ1108のゲートはVCIGM(j)またはV
PIGM(j)の入力に結合されている。トランジスタ
1102のゲートはトランジスタ1114のゲートにか
つVCIGM(j−p)またはVPIGM(j−p)の
補数の入力に結合されている。トランジスタ1110の
ゲートはn型トランジスタ1122のゲート、トランジ
スタ1112のゲート、およびVCIGM(j)または
VPIGM(j)の入力に結合されている。p型トラン
ジスタ1120のゲートはn型トランジスタ1116の
ゲートにかつ入力、VCIGM(j−p)またはVPI
GM(j−p)に結合されている。出力、VCIG
M(j−q)またはVPIGM(j−q)、はトランジ
スタ1120のドレインにかつトランジスタ1116の
ソースに結合され、そしてトランジスタ1114のドレ
インにおよびトランジスタ1122のソースに結合され
ている。トランジスタ1122のドレインはグランドV
ssに結合されている。
および交換識別子の同時的サーチを実施するための回路
および方法が提供されたことが理解されるべきである。
前記内容アドレス可能メモリ回路は現存する半導体プロ
セス技術によって実施することができかつ半導体ダイ上
に容易に集積される。交換識別子の同時的サーチは1つ
のCAMのみを使用しかつ同時サーチを使用してVPC
またはVCCを決定する。
たが、当業者にはさらに他の修正および改善をなすこと
ができる。例えば、ATMセルヘッダ302の識別情報
の量が増大するに応じてより多くの並列サーチが必要に
なる。例えば、将来のより複雑なネットワークに対する
より大きな帯域幅により、より多くの交換識別子が並列
サーチを必要とする。従って、本発明はより多くの並列
サーチを含むよう拡張できる。従って、本発明は添付の
特許請求の範囲に規定された発明の精神および範囲から
離れることのないすべてのそのような変更を含むことが
理解されるべきである。
モリ回路を示すブロック図である。
実施するための方法を示す流れ図である。
ルのヘッダを示す説明図である。
識別子を含む物理チャネルを示す説明図である。
続を含むATMスイッチを示す説明図である。
す流れ図である。
示す流れ図である。
る。
る。
ある。
図である。
Claims (5)
- 【請求項1】 内容アドレス可能メモリ(CAM)を実
施する方法であって、 第1のメモリアレイおよび第2のメモリアレイを提供す
る段階であり、前記第1のメモリアレイは整合ワードを
備えかつ前記第2のメモリアレイはリンクワードを備え
るもの、 基準ワードを前記CAMに提供する段階、 前記第1のメモリアレイを2進サーチして前記基準ワー
ドに等しい整合ワードを検出する段階、そして前記第2
のメモリアレイから前記整合ワードに対応するリンクワ
ードを出力する段階、 を具備することを特徴とする内容アドレス可能メモリ
(CAM)を実施する方法。 - 【請求項2】 制御情報の同時サーチのための方法であ
って、 ヘッダから第1および第2のフィールドを読み取る段
階、そして並列的に、 1)前記第1のフィールドおよび第1のタグ 2)前記第2のフィールドおよび第2のタグ、そして 3)所定のベクトルを備えた第2のフィールド、を比較
する段階、 を具備することを特徴とする制御情報の同時サーチのた
めの方法。 - 【請求項3】 前記読み取る段階は、メモリアレイの2
進インデクシングを行う段階を具備することを特徴とす
る請求項2に記載の方法。 - 【請求項4】 前記第1のフィールドおよび前記第2の
フィールドはATMヘッダを含むことを特徴とする請求
項2に記載の方法。 - 【請求項5】 さらに、前記比較する段階に応じて前記
第1のフィールドおよび前記第2のフィールドを変換す
る段階を具備することを特徴とする請求項2に記載の方
法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/722,587 | 1996-09-27 | ||
| US08/722,587 US5956336A (en) | 1996-09-27 | 1996-09-27 | Apparatus and method for concurrent search content addressable memory circuit |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JPH10126422A true JPH10126422A (ja) | 1998-05-15 |
| JPH10126422A5 JPH10126422A5 (ja) | 2005-06-16 |
| JP4402178B2 JP4402178B2 (ja) | 2010-01-20 |
Family
ID=24902490
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP27655697A Expired - Fee Related JP4402178B2 (ja) | 1996-09-27 | 1997-09-24 | 同時サーチ内容アドレス可能メモリ回路のための装置および方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5956336A (ja) |
| EP (1) | EP0833257A3 (ja) |
| JP (1) | JP4402178B2 (ja) |
| CA (1) | CA2213961A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7249216B2 (en) | 2002-12-12 | 2007-07-24 | Fujitsu Limited | Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method |
Families Citing this family (55)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3003779B2 (ja) * | 1997-06-24 | 2000-01-31 | 日本電気株式会社 | 通信システム |
| JPH11149481A (ja) * | 1997-11-19 | 1999-06-02 | Sharp Corp | 情報処理装置 |
| US6260166B1 (en) * | 1998-06-01 | 2001-07-10 | Compaq Computer Corporation | Observability register architecture for efficient production test and debug |
| US6735773B1 (en) | 1998-06-27 | 2004-05-11 | Intel Corporation | Method and apparatus for issuing commands to a network processor configured to provide a plurality of APIs |
| US6311212B1 (en) * | 1998-06-27 | 2001-10-30 | Intel Corporation | Systems and methods for on-chip storage of virtual connection descriptors |
| US6728249B2 (en) | 1998-06-27 | 2004-04-27 | Intel Corporation | System and method for performing cut-through forwarding in an ATM network supporting LAN emulation |
| US6657959B1 (en) | 1998-06-27 | 2003-12-02 | Intel Corporation | Systems and methods for implementing ABR with guaranteed MCR |
| US6604136B1 (en) | 1998-06-27 | 2003-08-05 | Intel Corporation | Application programming interfaces and methods enabling a host to interface with a network processor |
| US6603768B1 (en) | 1998-06-27 | 2003-08-05 | Intel Corporation | Multi-protocol conversion assistance method and system for a network accelerator |
| US6724767B1 (en) * | 1998-06-27 | 2004-04-20 | Intel Corporation | Two-dimensional queuing/de-queuing methods and systems for implementing the same |
| US6658002B1 (en) | 1998-06-30 | 2003-12-02 | Cisco Technology, Inc. | Logical operation unit for packet processing |
| US6560610B1 (en) | 1999-08-10 | 2003-05-06 | Washington University | Data structure using a tree bitmap and method for rapid classification of data in a database |
| US6542391B2 (en) * | 2000-06-08 | 2003-04-01 | Netlogic Microsystems, Inc. | Content addressable memory with configurable class-based storage partition |
| US6526474B1 (en) | 1999-10-25 | 2003-02-25 | Cisco Technology, Inc. | Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes |
| US6374326B1 (en) * | 1999-10-25 | 2002-04-16 | Cisco Technology, Inc. | Multiple bank CAM architecture and method for performing concurrent lookup operations |
| US6853640B1 (en) * | 1999-11-19 | 2005-02-08 | Nippon Telegraph And Telephone Corporation | Data selection apparatus |
| US6725326B1 (en) | 2000-08-15 | 2004-04-20 | Cisco Technology, Inc. | Techniques for efficient memory management for longest prefix match problems |
| EP1189394A3 (de) * | 2000-09-19 | 2004-01-07 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung für die Reduzierung von Adressen für ATM-bzw. IP-Netze |
| DE10058457A1 (de) * | 2000-11-24 | 2002-06-13 | Marconi Comm Gmbh | Verfahren und Vorrichtung zum Multiplexen von Datenpaketen |
| KR20020067339A (ko) * | 2001-02-16 | 2002-08-22 | 삼성전자 주식회사 | 프레임릴레이망과 비동기전달모드간의 가입자정합방법 |
| US6606681B1 (en) | 2001-02-23 | 2003-08-12 | Cisco Systems, Inc. | Optimized content addressable memory (CAM) |
| US6862281B1 (en) | 2001-05-10 | 2005-03-01 | Cisco Technology, Inc. | L4 lookup implementation using efficient CAM organization |
| US7002965B1 (en) | 2001-05-21 | 2006-02-21 | Cisco Technology, Inc. | Method and apparatus for using ternary and binary content-addressable memory stages to classify packets |
| US7260673B1 (en) | 2001-07-20 | 2007-08-21 | Cisco Technology, Inc. | Method and apparatus for verifying the integrity of a content-addressable memory result |
| US6744652B2 (en) | 2001-08-22 | 2004-06-01 | Netlogic Microsystems, Inc. | Concurrent searching of different tables within a content addressable memory |
| US7065083B1 (en) | 2001-10-04 | 2006-06-20 | Cisco Technology, Inc. | Method and apparatus for dynamically generating lookup words for content-addressable memories |
| US6775737B1 (en) | 2001-10-09 | 2004-08-10 | Cisco Technology, Inc. | Method and apparatus for allocating and using range identifiers as input values to content-addressable memories |
| US7210003B2 (en) | 2001-10-31 | 2007-04-24 | Netlogic Microsystems, Inc. | Comparand generation in a content addressable memory |
| US6993622B2 (en) * | 2001-10-31 | 2006-01-31 | Netlogic Microsystems, Inc. | Bit level programming interface in a content addressable memory |
| US7117300B1 (en) * | 2001-12-27 | 2006-10-03 | James David V | Method and apparatus for restricted search operation in content addressable memory (CAM) devices |
| US7401180B1 (en) | 2001-12-27 | 2008-07-15 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device having selectable access and method therefor |
| US7301961B1 (en) | 2001-12-27 | 2007-11-27 | Cypress Semiconductor Corportion | Method and apparatus for configuring signal lines according to idle codes |
| US6715029B1 (en) | 2002-01-07 | 2004-03-30 | Cisco Technology, Inc. | Method and apparatus for possibly decreasing the number of associative memory entries by supplementing an associative memory result with discriminator bits from an original set of information |
| US6970971B1 (en) * | 2002-01-08 | 2005-11-29 | Cisco Technology, Inc. | Method and apparatus for mapping prefixes and values of a hierarchical space to other representations |
| US6961808B1 (en) | 2002-01-08 | 2005-11-01 | Cisco Technology, Inc. | Method and apparatus for implementing and using multiple virtual portions of physical associative memories |
| US7237058B2 (en) * | 2002-01-14 | 2007-06-26 | Netlogic Microsystems, Inc. | Input data selection for content addressable memory |
| US6871262B1 (en) | 2002-02-14 | 2005-03-22 | Cisco Technology, Inc. | Method and apparatus for matching a string with multiple lookups using a single associative memory |
| US7114026B1 (en) | 2002-06-17 | 2006-09-26 | Sandeep Khanna | CAM device having multiple index generators |
| US7177978B2 (en) * | 2002-08-10 | 2007-02-13 | Cisco Technology, Inc. | Generating and merging lookup results to apply multiple features |
| US7689485B2 (en) * | 2002-08-10 | 2010-03-30 | Cisco Technology, Inc. | Generating accounting data based on access control list entries |
| 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 |
| EP1530763B1 (en) * | 2002-08-10 | 2018-04-18 | Cisco Technology, Inc. | Associative memory with enhanced capabilities |
| 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 |
| US7065609B2 (en) * | 2002-08-10 | 2006-06-20 | Cisco Technology, Inc. | Performing lookup operations using associative memories optionally including selectively determining which associative memory blocks to use in identifying a result and possibly propagating error indications |
| 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 |
| US7441074B1 (en) | 2002-08-10 | 2008-10-21 | Cisco Technology, Inc. | Methods and apparatus for distributing entries among lookup units and selectively enabling less than all of the lookup units when performing a lookup operation |
| 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 |
| US7941605B1 (en) | 2002-11-01 | 2011-05-10 | Cisco Technology, Inc | Methods and apparatus for generating a result based on a lookup result from a lookup operation using an associative memory and processing based on a discriminator portion of a lookup word |
| WO2004054186A1 (ja) * | 2002-12-12 | 2004-06-24 | Fujitsu Limited | データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法 |
| US20040153911A1 (en) * | 2002-12-24 | 2004-08-05 | Alon Regev | Testing of a CAM |
| US7680769B2 (en) * | 2003-01-14 | 2010-03-16 | International Business Machines Corporation | Method of creating a database and search keys and for searching the database |
| US6988106B2 (en) * | 2003-07-09 | 2006-01-17 | Cisco Technology, Inc. | Strong and searching a hierarchy of items of particular use with IP security policies and security associations |
| US7346062B2 (en) * | 2003-07-10 | 2008-03-18 | International Business Machines Corporation | Apparatus and method to coordinate calendar searches in a network scheduler given limited resources |
| WO2006103743A1 (ja) * | 2005-03-28 | 2006-10-05 | Duaxes Corporation | 通信制御装置及び通信制御システム |
| US8050185B2 (en) * | 2005-08-24 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Sampling of network traffic based on CAM lookup |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5317708A (en) * | 1990-06-29 | 1994-05-31 | Digital Equipment Corporation | Apparatus and method for an improved content addressable memory |
| DE69330904T2 (de) * | 1992-12-04 | 2002-06-20 | At & T Corp., New York | Paketnetz-Schnittstelle |
| WO1994022253A1 (en) * | 1993-03-20 | 1994-09-29 | International Business Machines Corporation | Method and apparatus for extracting connection information from protocol headers |
| US5422838A (en) * | 1993-10-25 | 1995-06-06 | At&T Corp. | Content-addressable memory with programmable field masking |
| US5414707A (en) * | 1993-12-01 | 1995-05-09 | Bell Communications Research, Inc. | Broadband ISDN processing method and system |
| US5467349A (en) * | 1993-12-21 | 1995-11-14 | Trw Inc. | Address handler for an asynchronous transfer mode switch |
| US5659697A (en) * | 1994-12-14 | 1997-08-19 | International Business Machines Corporation | Translation lookaside buffer for faster processing in response to availability of a first virtual address portion before a second virtual address portion |
-
1996
- 1996-09-27 US US08/722,587 patent/US5956336A/en not_active Expired - Lifetime
-
1997
- 1997-08-20 EP EP97114361A patent/EP0833257A3/en not_active Withdrawn
- 1997-08-25 CA CA002213961A patent/CA2213961A1/en not_active Abandoned
- 1997-09-24 JP JP27655697A patent/JP4402178B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7249216B2 (en) | 2002-12-12 | 2007-07-24 | Fujitsu Limited | Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0833257A3 (en) | 2000-10-18 |
| EP0833257A2 (en) | 1998-04-01 |
| US5956336A (en) | 1999-09-21 |
| CA2213961A1 (en) | 1998-03-27 |
| JP4402178B2 (ja) | 2010-01-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4402178B2 (ja) | 同時サーチ内容アドレス可能メモリ回路のための装置および方法 | |
| US6161144A (en) | Network switching device with concurrent key lookups | |
| US6957272B2 (en) | Stackable lookup engines | |
| US7023807B2 (en) | Network switching device with pipelined search engines | |
| US5422838A (en) | Content-addressable memory with programmable field masking | |
| KR950003656B1 (ko) | 멀티플 패킷 목적지를 갖는 패킷 스위칭 회로망과, 패킷 루팅 방법 | |
| US5920886A (en) | Accelerated hierarchical address filtering and translation using binary and ternary CAMs | |
| US6532229B1 (en) | Low cost link aggregation method and system | |
| US6253280B1 (en) | Programmable multiple word width CAM architecture | |
| EP0600683B1 (en) | Packet network interface | |
| US5893137A (en) | Apparatus and method for implementing a content addressable memory circuit with two stage matching | |
| US20030026259A1 (en) | Method and apparatus for a four-way hash table | |
| WO1991008633A1 (en) | Basic element for the connection network of a fast packet switching node | |
| EP1510045A1 (en) | Processing packets based on context indications | |
| JP2003508957A (ja) | ネットワーク・プロセッサ処理コンプレックス及び方法 | |
| US6570866B1 (en) | High-speed flexible longest match retrieval | |
| US6452908B1 (en) | Route searching circuit and communication apparatus using the same | |
| US6819671B1 (en) | Relay control circuit using hashing function algorithm | |
| US6415354B1 (en) | Pipelined methods and apparatus for weight selection and content addressable memory searches | |
| CN112667526B (zh) | 一种访问控制列表电路实现方法及其电路 | |
| US6327261B1 (en) | Translation process for an ATM cell header | |
| US5130976A (en) | Batcher and banyan switching elements | |
| US5740172A (en) | Method for searching a packet transmission path in a broadband information and communication system | |
| Kartalopoulos | An associative RAM-based CAM and its application to broadband communications systems | |
| JPH05191411A (ja) | パターン探索方法及び装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040921 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040921 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050722 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060523 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060822 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061024 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070216 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070413 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070622 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20081107 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20081113 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091029 |
|
| 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: 20121106 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121106 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131106 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |