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
Application number
JP9276556A
Other languages
English (en)
Other versions
JPH10126422A5 (ja
JP4402178B2 (ja
Inventor
Jon Ashor Loschke
ジョン・アショア・ロシュク
Charley Michael Parks
チャーリー・マイケル・パークス
Mark Franklin
マーク・フランクリン
Kenneth Wade Jones
ケニス・ウェイド・ジョーンズ
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JPH10126422A publication Critical patent/JPH10126422A/ja
Publication of JPH10126422A5 publication Critical patent/JPH10126422A5/ja
Application granted granted Critical
Publication of JP4402178B2 publication Critical patent/JP4402178B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions 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

(57)【要約】 【課題】 簡単な構成で実施できる内容アドレス可能メ
モリ回路および交換識別子の同時サーチを可能にする。 【解決手段】 ATMヘッダを含む基準ワードの内容に
対応する出力ワードが生成される内容アドレス可能メモ
リ回路100を実施するための回路および方法が提供さ
れる。第1の態様では、2進サーチ論理回路104がメ
モリアレイ101を2進サーチして内容が基準ワードに
等しい整合ワードを検出する。出力信号は整合が検出さ
れたかあるいはメモリアレイ101の2進サーチを整合
ワードのロケーションアドレスの上または下のアドレス
で継続すべきことを示す。第2の態様では、内容アドレ
ス可能メモリ回路100は交換識別子、仮想回路識別子
および仮想経路識別子の同時サーチを行いATMヘッダ
に対して仮想経路接続または仮想回路接続が存在するか
否かを判定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にはデジタル
電子装置に関し、かつより特定的には交換ネットワーク
においてヘッダ情報を管理するために使用される装置に
関する。
【0002】
【従来の技術】通信およびコンピュータネットワークは
種々のハードウエア機器およびソフトウエアから構成さ
れかつ用途および複雑さが増大してきている。コンピュ
ータの典型としてのコンピュータネットワークの人気お
よびネットワークユーザの間で転送されるデータの量の
増大はネットワークの容量およびプロトコルを時間と共
に増大させている。種々のネットワーク通信プロトコル
はデータをネットワークによって結合された装置の間で
転送する。イーサネットおよび非同期転送モードはその
ような通信プロトコルの例である。
【0003】非同期転送モード(以後“ATM”と称す
る)はツイストケーブルを使用して25メガビット/秒
程度の低いかつ光ケーブルを使用して10ギガビット/
秒程度の高い帯域幅を提供する。ATMスイッチまたは
交換機(ATM switch)はセルをネットワーク
内の種々のポイントの間で転送する。セルは制御情報、
ヘッダおよびデータパケットを含む。セル内のヘッダは
ATM交換機がデータを導くことができるようにする交
換識別子(switching identifier
s)を含む。ATMスイッチはプログラムされたリスト
に対してそれが受信する各々の交換識別子を問合せてど
の出力チャネルにセルが出力されるべきかを決定する。
データパケットが中間ノードによって受信されたとき、
データパケットに付随するヘッダにデスティネイション
情報が含まれている。ノードはそのメモリを調べてデス
ティネイション情報が前に記憶されているか否かを決定
することによりその伝送に対するデータパケットを導く
ことにそれが前に同意したか否かを判定する。もし同意
しておれば、フォワードアドレス(forwardin
g address)もまた記憶されておりかつノード
はそのデータパケットをデスティネイションアドレスに
向かうルートにおける次のノードへと送る。それが各々
のデータ転送を受信したとき、ノードはそのメモリの内
容を問合せてそれが送信を送ることに同意したか否かを
決定する。もしデスティネイション情報があらかじめ送
られれば、メモリはそのデータパケットを次のノードに
導くために該デスティネイション情報に関連するフォワ
ードアドレスを作成する。
【0004】内容アドレス可能メモリまたは連想記憶装
置(以後“CAM”と称する)はATMスイッチのため
の交換識別子を記憶する。連想または内容アドレス可能
メモリにおいては、整合ワードおよび交換識別子がメモ
リ内に関連する対として記憶される。CAMが基準ワー
ドを受信したとき、それは該基準ワードに等しい整合ワ
ードがメモリに格納されているか否かを判定する。もし
格納されておれば、それは整合した基準ワードに関連す
るリンクワードを作成する。CAMの重要な面は整合ワ
ードおよびその関連するリンクワードの間の関連または
連想であり、各々のワードがその定義と関連して記憶さ
れている辞書とよく似ている。辞書においては、ある提
供されたワードがルックアップされかつ該ワードに関連
する定義が生成される。CAMにおいては、提供された
基準ワードがルックアップされ、すなわち、整合ワード
と比較され、かつもしそれらが等しければ、整合ワード
に関連するリンクワードが生成される。
【0005】一般に、ATMのCAMのメモリアレイは
整合ワードテーブルおよびリンクワードテーブルへと編
成される。もし基準ワードが整合ワードテーブルからの
エントリと整合すれば、関連するリンクワードが出力に
生成される。もし整合が検出されなければ、出力ワード
は、例えば、エラーフラグビットをセットすることによ
り不首尾または障害を指示する。ATMの用途において
は、基準ワードは交換識別子からなる。交換識別子は仮
想パス識別子(virtual path ident
ifier)(以後“VPI”と称する)および仮想チ
ャネル識別子(virtual channel id
entifier)(以後“VCI”と称する)から構
成される。CAMはヘッダにおけるVPIおよびVCI
をCAMにおけるVPIおよびVCIエントリと比較す
る。交換識別子は仮想パス接続(以後“VPC”と称す
る)または仮想回路接続(以後“VCC”と称する)が
存在するか否かを決定する。
【0006】小さなサイズのCAMはしばしばこの機能
をハードウエアで提供し、従って基準ワードが同時に整
合ワードテーブルにおけるそれぞれのワードと比較され
るようにし、それによって出力ワードが1クロックサイ
クルで生成される全並列モード(full paral
lel mode)で動作する。しかしながら、より大
きなCAMの必要性が増大するに応じて、並列モードは
長いサーチ時間のため可能ではなくなる。
【0007】
【発明が解決しようとする課題】大きなCAMを実施す
るための従来より知られた技術はメモリを区別可能なま
たは別個のクラスに予めソートする(presort)
ことである。例えば、4,096ワードの深さのCAM
は特定の整合およびリンクワード対がCAMの1つにの
み記憶される4つの別個のより浅い1,024ワードの
CAMへと予め分類される。しかしながら、この手法は
他のものが実質的に空きを有する一方で1つのクラスに
対応するCAMが満たされることになり、それによって
CAMの深さを実効的に低減する。必要に応じて各々の
CAMのサイズを動的に調整するためCAMに論理を加
えることはCAMの複雑さおよびコストを実質的に増大
させる。
【0008】さらに、VCCまたはVPCを確立するた
め、並列サーチ戦略が使用されてもあるいは直列サーチ
戦略が使用されても、各々のCAMエントリに対して2
つのサーチが必要とされる。第1のサーチはVCCをチ
ェックし、入力ヘッダおよび交換識別子を比較する。第
2のサーチはVPCに対するもので、入力ヘッダおよび
交換識別子を比較する。
【0009】並列サーチを行うために2つの知られた手
法が使用される。1つの方法は1つのCAMアレイを使
用し、各アレイを2回問合せる。他の方法は2つの別個
のCAMを使用し、各々のCAMがVCIまたはVPI
のみを記憶する。1つのCAMの手法はデュアルCAM
手法よりも多くの時間を必要とする。しかしながら、デ
ュアルCAM手法は交換ネッワトークにより多くのハー
ドウエアおよびコストを加えることになる。
【0010】
【課題を解決するための手段】本発明の一態様によれ
ば、内容アドレス可能メモリ(CAM)を実施する方法
が提供され、該方法は第1のメモリアレイおよび第2の
メモリアレイを提供する段階であり、前記第1のメモリ
アレイは整合ワードを備えかつ前記第2のメモリアレイ
はリンクワードを備えるもの、基準ワードを前記CAM
に提供する段階、前記第1のメモリアレイを2進サーチ
して前記基準ワードに等しい整合ワードを検出する段
階、そして前記第2のメモリアレイから前記整合ワード
に対応するリンクワードを出力する段階、を具備するこ
とを特徴とする。
【0011】本発明の別の態様では、制御情報の同時サ
ーチのための方法が提供され、該方法はヘッダから第1
および第2のフィールドを読み取る段階、そして並列的
に、(1)前記第1のフィールドおよび第1のタグ
(2)前記第2のフィールドおよび第2のタグ、そして
(3)所定のベクトルを備えた第2のフィールド、を比
較する段階、を具備することを特徴とする。
【0012】この場合、前記読み取る段階は、メモリア
レイの2進インデクシングを行う段階を具備すると好都
合である。
【0013】また、前記第1のフィールドおよび前記第
2のフィールドはATMヘッダを含むものとすることが
できる。
【0014】さらに、前記比較する段階に応じて前記第
1のフィールドおよび前記第2のフィールドを変換する
段階を具備すると好都合である。
【0015】
【発明の実施の形態】図1は、本発明に係わるネットワ
ークデータルーティング回路において使用される内容ア
ドレス可能メモリ(CAM)回路100のブロック図で
ある。CAM100はデータを記憶しかつ新規な方法に
従って比較のためにデータをアクセスする。この機構は
CAM100の部分からヘッダ情報を人為的に排除する
ことなくアクセス時間を低減する。CAM100はこれ
によってそのメモリの使用において高速でありかつ効率
的である。さらに、VCCまたはVPC整合のための各
々の個々の比較は開示された発明の第2の面によって加
速される。
【0016】図1を参照して説明を続けると、CAM1
00はメモリワードのアレイ101、比較回路105、
2進サーチ論理回路104、およびエントリキュー10
6を具備する。CAM100は基準ワードの内容に基づ
き出力ワードを提供するために端子120に出力を有す
る。ここで使用されているように、用語「端子(ter
minal)」は単一の導電ラインに言及しかつまた複
数の導電ラインを含むバスラインを含む。CAM100
はデスティネイションヘッダ信号または他の伝送された
データをネットワークから受けるための入力を端子12
1に有する。基準ワードは前記デスティネイションヘッ
ダ信号の一部として伝送される。
【0017】メモリワードのアレイ101はスタティッ
クRAMセルのコアを備えかつ整合ワードテーブル10
2およびリンクワードテーブル103として構成され、
それによって各々のロケーションアドレスにおいて記憶
されたメモリワードが整合ワードおよび関連するリンク
ワードから構成されるようにされる。1つの実施形態で
は、各々のスタティックRAMセルは4つのトランジス
タからなりかつ5ナノセカンドのアクセス時間を有す
る。用途に応じて、メモリワードのアレイ101はこれ
に代えてダイナミックRAMまたはフラッシュメモリか
ら構成できる。端子124における入力は前記アレイか
らメモリワードを選択するロケーションアドレス信号を
受信し、かつ端子122および123における第1およ
び第2の出力はそれぞれ選択された整合ワードおよびリ
ンクワードを提供する。
【0018】比較回路105はそれぞれ基準ワードおよ
び選択された整合ワードを受けるたに端子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を参照
して後に説明する。
【0019】前記エントリキュー106はテーブル更新
のために基準ワードを受信する。CAM100に加えら
れるべき基準ワードまたはCAM100から削除される
べき基準ワードはバッファリングされる。いくつかの実
施形態では、エントリキュー106におけるバッファリ
ングされたエントリ(buffered entrie
s)は整合ワードテーブルをサーチする前に直線的にま
たはリニアに(linearly)サーチされる。整合
ワードテーブルをサーチする方法はすぐ後に説明する。
さらに別の実施形態では、エントリキュー106は除去
されかつ基準ワードがCAMが利用可能になるや否やソ
ートされる。
【0020】前記2進サーチ論理回路104は整合ワー
ドテーブル102の2進サーチを行い整合ワードテーブ
ル102におけるエントリが基準ワードと同じ内容を有
するか否かを判定する。2進サーチはサーチされるべき
テーブルが所定の順序にソートされる必要がある。従っ
て、システムのスタートアップ時に、かつ基準ワードを
受け入れる前に、メモリワードのアレイ101は整合ワ
ードテーブル102のエントリに基づき所定の順序にソ
ートされる。示された実施形態では、最も小さな基準ワ
ードを有する基準ワード−リンクワード対がメモリワー
ドのアレイ101の最初のエントリに記憶され、第2に
小さな基準ワードを有する基準ワードがメモリワードの
アレイの第2のエントリに格納されるなどとなる。
【0021】理論上は、整合ワードテーブルは任意の所
定の順序にソートすることができる。しかしながら、こ
の順序は比較回路105によって認識することができ、
従ってそれがある与えられた基準ワードを選択された整
合ワードと比較するときにそれが整合する整合ワード
が、もしそれが整合ワードテーブル102に見出される
べきであれば、前記選択された整合ワードよりもより高
いまたはより低いアドレスを有するか否かを決定できな
ければならない。
【0022】図2は、2進サーチ論理回路104によっ
て使用されて基準ワードに整合する整合ワードが格納さ
れているかを判定するためにメモリワードのアレイ10
1を2進サーチするための2進サーチアルゴリズムのC
AM構成の流れ図である。整合テーブルは予め、例え
ば、ローからハイへと増大するロケーションアドレスで
ソートされているものと仮定する。ステップ201にお
いて、基準ワードが、例えば、ネットワークバスから受
信される。ステップ202において、メモリアレイの中
間点(midpoint)に対応するロケーションアド
レスがアレイから整合ワードおよび関連するリンクワー
ドを選択するために提供される。ステップ203は選択
された整合ワードを基準ワードと比較する。もしそれら
が等しければ、(ステップ204)、選択されたリンク
ワードがステップ205においてCAMの出力に提供さ
れかつ2進サーチは終了する。
【0023】もし選択された整合ワードが基準ワードに
等しくなければ(ステップ204)、2進サーチ論理回
路はステップ206においてアレイ全体が既に基準ワー
ドと比較されたか否かを判定する。もしメモリワードの
アレイ101全体がまだテストされていなければ、基準
ワードと整合する整合ワードが検出される可能性のある
メモリアレイのハーフ(half)の中間点に対応する
新しいロケーションアドレスが提供される。ステップ2
03および204による各々の比較の後にメモリの半分
が整合する整合ワードを含む可能性からはずされ、それ
はメモリアレイの所定の順序への前もってのソートのた
めである。従って、2進サーチの各々のサイクルはメモ
リアレイのテストされていない部分の半分を累進的に低
減する。
【0024】もしステップ206が整合する整合ワード
が検出されることなくメモリアレイ全体がテストされた
ことを判定すれば、ステップ207においてエラーフラ
グが出力にセットされかつ2進サーチが終了する。しか
しながら、もしメモリアレイの一部がテストするために
残っておれば、ステップ208においてメモリアレイの
テストされていない部分の中間点に対応する新しいロケ
ーションアドレスが提供される。新しいロケーションア
ドレスはステップ202において新しい整合およびリン
クワードを選択しかつこのサイクルは2進サーチが終了
するまで反復する。
【0025】図1に戻ると、2進サーチ論理回路104
はメモリワードのアレイにロケーションアドレス信号を
提供するための第1の出力を端子124に有する。2進
サーチのいずれかのサイクルにおいて、ロケーションア
ドレスはメモリワードのアレイ101のテストされてい
ない部分の本質的に中間点となるよう選択される。も
し、一般的にあるように、整合ワードテーブルにおいて
偶数のエントリがあれば、正確な中間点のロケーション
アドレスはなく、従って次のより高いまたはより低いロ
ケーションアドレスが選択され、すなわち、アレイの上
部ハーフの最も低いアドレスが選択される。
【0026】このロケーションアドレス信号がメモリワ
ードのアレイ101によって受信されたとき、選択され
た整合ワードおよび選択されたリンクワードがそれぞれ
端子122および123における第1および第2の出力
に生成される。選択された整合ワードは比較回路105
において基準ワードと比較され、該比較回路105は比
較の結果に対応する出力信号を生成する。該出力信号は
比較の6つの結果の内の1つを指示し、すなわち第1に
基準ワードおよび整合ワードが等しいこと、第2により
高いロケーションアドレスにおいてサーチを継続するこ
と、および第3により低いロケーションアドレスにおい
てサーチを継続すること、および第4にもしVPCが生
じればサーチを終了すること、および第5にもしVCC
が発生すればサーチを終了すること、および第6に比較
器105が前記「VPC有効」信号を肯定しこれは出力
論理ピンに伝搬することがある。
【0027】2進サーチ論理回路104は比較回路10
5から出力信号を受ける端子125に第1の入力を有す
る。端子123における第2の入力はリンクワードテー
ブル103から選択された整合ワードに関連する選択さ
れたリンクワードを受信する。もし前記基準および選択
された整合ワードの内容が等しければ、2進サーチ論理
回路104はその端子120におけるその出力に選択さ
れたリンクワードを生成し、これはCAM100の出力
に結合される。CAM100の出力は従って選択された
リンクワードを含み、多分フラグビットを加えて整合が
首尾よく行われたことを指示する。限定的なものではな
いが、サーチの数、サーチの時間量、およびCAM内の
首尾よいヒットの割合を含む他の情報をCAM100の
出力に提供することもできる。
【0028】もし基準および選択整合ワードが整合しな
ければ、比較回路105からの出力信号は整合する整合
ワードが、もしそれが整合ワードテーブル102に格納
されておれば、前記中間点のローケションアドレスより
上に位置するかあるいは下に位置するかを示す。もし、
例えば、比較回路105がサーチが前の中間点のロケー
ションアドレスより上の整合ワードテーブル102のハ
ーフにおいて継続すべきことを示しておれば、2進サー
チ論理回路104は今テストした領域のすぐ上の整合ワ
ードテーブルの領域の中間点において新しいロケーショ
ンアドレスを提供する。該新しい中間点のロケーション
アドレスに対応する新しい整合ワードは前記基準ワード
と比較されかつサイクルそれ自体が反復する。
【0029】2進サーチにおいて、新しい整合ワードに
対する基準ワードの各々の比較は整合を生じるかあるい
は整合が検出できる可能なロケーションアドレスとして
の整合ワードテーブル102の半分を除去する。引き続
くサイクルが効果的に整合ワードテーブル102の残り
の部分をそれが新しいテーブルであるかのように処理
し、メモリワードのアレイ101の残りの部分の中間点
に対応する新しいロケーションアドレスを送る。
【0030】2進サーチの各々のサイクルを完了するた
めに必要な時間は一般にメモリワードのアレイ101を
含むスタティックRAMコアの速度によって決定され
る。メモリワードのアレイ101が4,096のメモリ
エントリの深さである実施形態では、各サイクルを完了
するのに必要な時間は10ナノセカンドである。4,0
96メモリワードを1つのメモリワードに低減するため
に12の引き続くバイセクション(bisection
s)が必要であり、メモリワードのアレイ101は多く
ても12のサイクルで2進サーチすることができる。従
って完全なサーチは120ナノセカンドで完了する。1
6,384メモリワードの容量を有するメモリワードの
アレイ101に対しては、2つの付加的な2進サーチサ
イクルを提供しなければならず、従ってサーチは140
ナノセカンドで完了する。
【0031】2進サーチは基準ワードと整合する整合ワ
ードが検出されることなく完了することもあり得る。そ
の場合、CAM100の出力に何らのリンクワードも提
供されず、かつ整合が検出されなかったかあるいはサー
チが完了したことを示すエラーフラグビットが一般に提
供される。
【0032】いくつかの用途においては、新しいエント
リを含めるためあるいはもはや有用でないエントリを削
除するため整合ワードテーブル102およびリンクワー
ドテーブル103を更新することが必要である。このた
め、2進サーチ論理回路104は新しいエントリを受け
るために端子121に接続された第3の入力を有する。
もしメモリワードのアレイ101が満杯でありかつ存在
するエントリが削除できなければ、新しいエントリはこ
れ以上処理されることはなく、かつ新しいエントリが受
け入れられないことを示すためにエラービットが出力ワ
ードにおいてセットされる。
【0033】もしメモリワードのアレイ101が空きの
ロケーションを有しておれば、新しいエントリが受け入
れられかつ挿入される。新しいエントリはメモリワード
のアレイ101の所定の順序を保つように挿入されなけ
ればならないことに注意を要する。1つの実施形態で
は、2進サーチ論理回路104は前記空きのロケーショ
ンで開始し、すなわちメモリワードのアレイ101の最
上部で開始し、かつ該新しいエントリおよびメモリワー
ドのアレイ101の所定の順序を維持する必要性に照ら
して記憶されたメモリワードを調べる。前記新しいエン
トリはそうすることが前記所定の順序を維持する場合に
は前記空きのロケーションに挿入される。2進サーチ論
理回路104は新しいエントリの適切なロケーションを
決定する。
【0034】これに対し、もしCAM100が前記挿入
プロセスの間にアイドルであれば、4,096ワードの
深さであるメモリワードのアレイ101は新しいエント
リを正しいロケーションに挿入するために平均で約20
マイクロセカンド、最悪の場合約40マイクロセカンド
を必要とする。
【0035】図3は、本発明に係わる非同期転送モデル
(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ビットを含む。残りのバイトはデータパ
ケットを含む。データパケット(以後「データ」と称す
る)はコンピュータコード、電話通信、または任意の導
かれるべき情報から構成できる。
【0036】図4は、本発明に係わるVCIおよびVP
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が可能である。
【0037】図5は、本発明に係わるVCCおよびVP
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に導く。
【0038】CAM100はヘッダ302におけるVP
IおよびVCIをCAM100におけるVPIおよびV
CIエントリと比較する。もしVPIおよびVPCを識
別するCAM100内の特別のVCI値に対する整合が
生じればVPCが存在する。整合データはATMスイッ
チ507にデータをどこに導くかおよびヘッダ302に
おけるデータのすべてまたは一部をどのように変換する
かを通知する。
【0039】1つの例では、物理チャネル501は5の
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値は同じ値に留まっている。
【0040】他の例では、物理チャネル502は1のV
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値の双方が変換される。
【0041】図6は、フローチャート形式で、ヘッダ3
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度使用されるかを理解するであろう。いずれの場合
も、時間またはシリコンが過剰に使用される。
【0042】図7は、フローチャート形式で、本発明に
係わるヘッダ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値
に対して比較することからなる。
【0043】引き続くステップ、704および705、
は直列的に発生するように説明するが、同時に行われ
る。ステップ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有効」信号は論理ピンを肯定する。
【0044】VPCを識別する前記特別のVCI値は整
合ワードテーブル102の初期ロードにおいてセットさ
れかつ任意的なものである。この実施形態では、前記特
別のVCI値は16の論理“1”を含む。
【0045】有効なVPCに対して論理ピンを「VPC
有効」信号により肯定することは試験を簡単にしかつエ
ンドユーザによる動作または運用を簡単にする。前記論
理ピンは装置の状態を識別することによりCAM100
の試験を簡単にする。装置を適切にテストするためにV
PCまたはVCCが有効であるか否かを判定する必要性
が存在する。他の利点はエンドユーザがVPCが有効で
あるか否かを前記ピンにおける論理ハイによって認識す
ることである。システム設計者のような、エンドユーザ
は前記論理ピンを使用して有効なVPCに基づき他のシ
ステム機能をイネーブルまたはディスエーブルする。例
えば、もしシステム設計者が有効なVPCに基づき他の
ATMスイッチに導く必要があれば、前記論理ピンが制
御回路のためのゲート信号として使用される。前記論理
ピンはシステム設計を簡単にしかつ柔軟性を増大する。
【0046】図8は、比較器105のブロック図を示
す。比較器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値を受ける。
【0047】VPIはヘッダ302からのVPIを示
し、VPIは整合ワードからのVPIを示し、VCI
はヘッダ302からのVCIを示し、VCIは整合
ワードからのVCIを示す。各々の比較要素は2つの1
6ビット入力が等しいか否かをビットごとの比較で判定
する。比較器106の出力はもし2つのVPI入力が等
しければ「イコール1(EQUAL1)」を発生する。
比較器107はもし2つのVCI入力が等しければ「イ
コール2(EQUAL2)」信号を発生する。比較器1
08の出力はもし2つのVCI入力が等しければ「イコ
ール3(EQUAL3)」信号を発生する。
【0048】ANDゲート109は1つの入力に前記
「イコール1」信号を受けかつ他の入力に前記「イコー
ル2」信号を受信する。ANDゲート110は1つの入
力に前記「イコール1」信号を受けかつ他の入力に前記
「イコール3」信号を受ける。ANDゲート109の出
力は「VCC整合」信号を発生する。ANDゲート11
0の出力は前記「VPC整合」信号および前記「VPC
有効」信号を発生する。
【0049】比較要素、比較器106、比較器107お
よび比較器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よりも高
速で比較を行う。
【0050】図9は、比較器108の回路図を示す。比
較器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」信号を発生する。
【0051】比較器108の動作は特別のVCI値に対
して論理“1”を使用することにより論理を最小にする
ことに基づいている。比較を単純化することにより、比
較器108は整合ワードからのVCIを論理“1”につ
いてチェックする。「イコール3」信号はもし整合ワー
ドからのVCIが論理“1”から構成されておれば論理
“1”である。他の実施形態では、比較器108は異な
るビットパターンにつきテストを行うことができ、ある
いはプログラム可能とすることができる。そのような場
合、比較器108は、図10において以下に説明するよ
うに、比較器106および比較器107と同様に構成で
きる。
【0052】図10は、比較器106および比較器10
7の詳細なブロック図を示す。このブロック図はマスク
可能なXORブロック1022および各々1つまたはそ
れ以上の比較モジュールa,bを備えた一連の比較レベ
ルブロックから構成され、この場合aおよびbは整数の
指数またはインデクスであり、aは1から4におよび、
bは0から15におよぶ。比較レベルは16の比較モ
ジュール1,jからなり、この場合jは0から15にお
よぶ整数指数である。比較レベルは8つの比較モジュ
ール2,kからなり、この場合kは0から7におよぶ整
数指数である。比較レベルは4つの比較モジュール
3,mからなり、この場合mは0から3におよぶ整数指
数である。比較レベルは2つの比較モジュール4,n
からなり、この場合nは0から1におよぶ整数指数であ
る。前記マスク可能XORブロック1022はヘッダ3
02から16ビットのVPIを、整合ワードから16ビ
ットのBPIを、ヘッダ302から16ビットのVCI
を、そして整合ワードから16ビットのVCIを、そし
てマスクバスを受ける。
【0053】マスク可能XORブロック1022はVP
のすべてのビットをVPIのすべてのビットと、
一度に2ビットずつ、比較する。また、マスク可能XO
Rブロック1022は、一度に2ビットずつ、VCI
のすべてのビットをVCIのすべてのビットと比較す
る。マスク可能XORブロックはVPIおよびVPI
の2つの最上位ビットを比較しかつその結果を比較モ
ジュール1,15に出力する。マスク可能XORブロッ
クはVPIおよびVPIの次の2つの最上位ビット
を比較しかつその結果を比較モジュール1,14に出力
する。比較モジュール1,8はVPIおよびVPI
の2つの最下位ビットの比較結果を受ける。同様の方法
で、マスク可能XORブロックはVCIおよびVCI
の2つの最上位ビットを比較しかつその結果を比較モ
ジュール1,7へ出力する。比較モジュール1,0はV
CIおよびVCIの2つの最下位ビットの比較結果
を受信する。マスク可能XORブロック1022によっ
て8つの信号が発生されビットごとのベースで比較され
た4つのビットの結果およびその結果の補数を表しかつ
比較レベルにおける比較モジュールに提供される。
【0054】比較レベルにおける比較モジュール
1,j(8≦j≦15に対して)は8つの入力、VPI
(j),VPIG(j−1),VPIG
(j),VPIG(j−1)および4つの前の信号
の補数をマスク可能XORブロック1022から受け
る。比較レベルにおける比較モジュール1,j(0≦
j≦7に対して)は8つの入力、VCIG(j),V
CIG(j−1),VCIG(j),VCIG
(j−1)および前記4つの信号の補数をマスク可能
XORブロック1022から受ける。各々の信号はVP
およびVPI、およびVCIおよびVCI
間のjまたはj−1に対応する比較を表す。VPIG
(j)はVPIのj番目のビットがVPIのj番目
のビットより大きいか否かを表す。
【0055】比較レベルにおける各比較モジュールは
4つの出力を表す。比較モジュール1,j(8≦j≦1
5に対し)はVPIG(j,j−1),VPIG
(j,j−1)、および前の2つの信号の各々の補数
を発生しかつそれらを入力として比較レベルの比較モ
ジュールに供給する。比較モジュール1,j(0≦j≦
7)はVCIG(j,j−1),VCI(j,j−
1)、および前の2つの信号の各々の補数を発生しかつ
それらを入力として比較レベルの比較モジュールに供
給する。
【0056】比較レベルの各比較モジュールは比較レ
ベルにおける比較モジュール1,jの内の2つから8
つの出力を受ける。比較レベルの各比較モジュールは
4つの出力を発生する。比較モジュール2,k(4≦k
≦7に対して)はVPIG(j,j−3),VPIG
(j,j−3)、および前の2つの信号の各々の補数
を発生しかつそれらを入力として比較レベルの比較モ
ジュールに供給する。比較モジール2,k(0≦k≦3
に対して)はVCIG(j,j−3),VCI
(j,j−3)、および前の2つの信号の各々の補数
を発生しかつそれらを入力として比較レベルの比較モ
ジュールに供給する。
【0057】比較モジュール3,m(2≦m≦3に対し
て)はVPIG(j,j−7),VPIG(j,j
−7)、および前の2つの信号の各々の補数を発生しか
つそれらを入力として比較レベルの比較モジュールに
供給する。比較モジュール ,m(0≦m≦1に対し
て)はVCIG(j,j−7),VCI(j,j−
7)、および前の2つの信号の各々の補数を発生しかつ
それらを入力として比較レベルの比較モジュールに供
給する。比較モジュール4,1はVPIG(j,j−
7),VPIG(j,j−7)、および前の2つの信
号の各々の補数を受ける。比較モジュール4,1は「よ
り大1(Greater1)」および「イコール1(E
qual1)」信号を発生する。比較モジュール4,0
はVCIG(j,j−7),VCI(j,j−
7)、および前の2つの信号の各々の補数を受信する。
比較モジュール4,0は「より大2(Greater
2)」および「イコール2(Equal2)」信号を発
生する。
【0058】図10の比較器は比較器106および比較
器107の機能を達成する。図10の比較器は入力、V
PI,VPI,VCIおよびVCIの並列比較
によるモジュール手法を使用する。このモジュール手法
(modular approach)の利点は整合す
る負荷との並列比較を含む。整合する負荷は並列比較を
行う安定した、一貫した設計を提供する。他の利点は6
4ビットのマスク可能XORはユーザに64ビットの内
の任意のものを無視しあるいは「マスキング(mask
ing)」除去する柔軟性を与える。この実施形態で
は、それぞれのビットが比較され、いずれのビットもマ
スク除去されない。
【0059】図11は、図10に示された比較モジュー
ルの回路図を示す。該回路図は図10における任意の比
較モジュールを表す。比較モジュールはVPIまたはV
CIを比較するために使用され、従って回路図はVPI
またはVCIの双方に対する信号を示す。この回路図へ
の入力は(j−p)ビットを備えて示されており、この
場合pは0,1,3または7を表す整数である。図10
から思い起こすと、比較レベルおよび比較レベル
おける比較モジュールへの入力は(j−1)であり、比
較レベルの比較モジュールへの入力は(j−3)であ
り、かつ比較レベルにおける比較モジュールへの入力
は(j−7)である。従って、(j−p)は任意の比較
レベルにおける比較モジュールへの任意の入力を表して
いる。同様の方法で、前記回路図の出力は(j−q)で
あり、この場合qは整数1,3,7でありかつqは常に
pより大きい。比較レベルにおける比較モジュールに
おいては、出力は「より大1」、「より大2」、「イコ
ール1」および「イコール2」である。
【0060】出力、VCIG(j−q)およびVPI
(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のゲートはVCIG(j)またはV
PIG(j)の入力に結合されている。トランジスタ
1102のゲートはトランジスタ1114のゲートにか
つVCIG(j−p)またはVPIG(j−p)の
補数の入力に結合されている。トランジスタ1110の
ゲートはn型トランジスタ1122のゲート、トランジ
スタ1112のゲート、およびVCIG(j)または
VPIG(j)の入力に結合されている。p型トラン
ジスタ1120のゲートはn型トランジスタ1116の
ゲートにかつ入力、VCIG(j−p)またはVPI
(j−p)に結合されている。出力、VCIG
(j−q)またはVPIG(j−q)、はトランジ
スタ1120のドレインにかつトランジスタ1116の
ソースに結合され、そしてトランジスタ1114のドレ
インにおよびトランジスタ1122のソースに結合され
ている。トランジスタ1122のドレインはグランドV
ssに結合されている。
【0061】
【発明の効果】以上から、内容アドレス可能メモリ回路
および交換識別子の同時的サーチを実施するための回路
および方法が提供されたことが理解されるべきである。
前記内容アドレス可能メモリ回路は現存する半導体プロ
セス技術によって実施することができかつ半導体ダイ上
に容易に集積される。交換識別子の同時的サーチは1つ
のCAMのみを使用しかつ同時サーチを使用してVPC
またはVCCを決定する。
【0062】本発明が特定の実施形態に関して説明され
たが、当業者にはさらに他の修正および改善をなすこと
ができる。例えば、ATMセルヘッダ302の識別情報
の量が増大するに応じてより多くの並列サーチが必要に
なる。例えば、将来のより複雑なネットワークに対する
より大きな帯域幅により、より多くの交換識別子が並列
サーチを必要とする。従って、本発明はより多くの並列
サーチを含むよう拡張できる。従って、本発明は添付の
特許請求の範囲に規定された発明の精神および範囲から
離れることのないすべてのそのような変更を含むことが
理解されるべきである。
【図面の簡単な説明】
【図1】本発明に従って構成された内容アドレス可能メ
モリ回路を示すブロック図である。
【図2】本発明に係わる内容アドレス可能メモリ回路を
実施するための方法を示す流れ図である。
【図3】本発明に係わる非同期転送モード(ATM)セ
ルのヘッダを示す説明図である。
【図4】本発明に係わる仮想回路識別子および仮想経路
識別子を含む物理チャネルを示す説明図である。
【図5】本発明に係わる仮想回路接続および仮想経路接
続を含むATMスイッチを示す説明図である。
【図6】ATMセルのヘッダサーチの知られた方法を示
す流れ図である。
【図7】本発明に係わるATMセルのヘッダのサーチを
示す流れ図である。
【図8】本発明に係わる比較器を示すブロック図であ
る。
【図9】図8に示される比較器の詳細を示す回路図であ
る。
【図10】図8に示される比較器の詳細なブロック図で
ある。
【図11】図10に示される2ビット比較器を示す回路
図である。
【符号の説明】
100 内容アドレス可能メモリ(CAM)回路 101 メモリワードのアレイ 102 整合ワードテーブル 103 リンクワードテーブル 104 2進サーチ論理回路 105 比較器 106a エントリキュー 106,107,108 比較器 109,110 ANDゲート 112,114,116,118 NANDゲート 120 NORゲート 1022 マスク可能XORブロック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーク・フランクリン アメリカ合衆国テキサス州78759、オース チン、オーク・ノール・ドライブ 11305 (72)発明者 ケニス・ウェイド・ジョーンズ アメリカ合衆国テキサス州78749、オース チン、ジョン・チサム・レーン 6308

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 内容アドレス可能メモリ(CAM)を実
    施する方法であって、 第1のメモリアレイおよび第2のメモリアレイを提供す
    る段階であり、前記第1のメモリアレイは整合ワードを
    備えかつ前記第2のメモリアレイはリンクワードを備え
    るもの、 基準ワードを前記CAMに提供する段階、 前記第1のメモリアレイを2進サーチして前記基準ワー
    ドに等しい整合ワードを検出する段階、そして前記第2
    のメモリアレイから前記整合ワードに対応するリンクワ
    ードを出力する段階、 を具備することを特徴とする内容アドレス可能メモリ
    (CAM)を実施する方法。
  2. 【請求項2】 制御情報の同時サーチのための方法であ
    って、 ヘッダから第1および第2のフィールドを読み取る段
    階、そして並列的に、 1)前記第1のフィールドおよび第1のタグ 2)前記第2のフィールドおよび第2のタグ、そして 3)所定のベクトルを備えた第2のフィールド、を比較
    する段階、 を具備することを特徴とする制御情報の同時サーチのた
    めの方法。
  3. 【請求項3】 前記読み取る段階は、メモリアレイの2
    進インデクシングを行う段階を具備することを特徴とす
    る請求項2に記載の方法。
  4. 【請求項4】 前記第1のフィールドおよび前記第2の
    フィールドはATMヘッダを含むことを特徴とする請求
    項2に記載の方法。
  5. 【請求項5】 さらに、前記比較する段階に応じて前記
    第1のフィールドおよび前記第2のフィールドを変換す
    る段階を具備することを特徴とする請求項2に記載の方
    法。
JP27655697A 1996-09-27 1997-09-24 同時サーチ内容アドレス可能メモリ回路のための装置および方法 Expired - Fee Related JP4402178B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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