(57)【要約】【課題】連想メモリに対して検索条件を登録する際にソート時間を発生させないことで高品質なネットワークを提供することに加え、検索条件の検索時にアクティブにする物理バンクを限定する。【解決手段】アクティブにすべき物理バンクを限定する為の経路制御用ハッシュ関数部２１２１および偏る可能性があるハッシュ値を少なくとも１つ以上の物理バンク番号を示す値への変換を促す経路制御用レジスタ２１２２と、フロー制御検索キー或いはフロー制御検索データを入力要素とするフロー制御用連想メモリに対してアクティブにすべき物理バンクを限定する為のフロー制御用ハッシュ関数部３１２１および偏る可能性があるハッシュ値を少なくとも１つ以上の物理バンク番号を示す値への変換を促すフロー制御用レジスタ３１２２とを有することで、経路制御用連想メモリおよびフロー制御用連想メモリとで生じる消費電力を低減可能にする。【選択図】図５
2006165603.tif 000002
【特許請求の範囲】
【請求項１】
パケットが入力される複数の入力回線と、
パケットを出力する複数の出力回線と、
入力パケットの出力回線を示す経路情報を該入力パケットのヘッダに含まれる情報より判定する経路制御部と、
該経路情報に対応する出力回線に該パケットを転送するデータ中継部を備え、
上記経路制御部が、
パケットヘッダに含まれる情報の一部或いは全部を抽出して、これを検索キーとして検索を行うフォワーディングテーブル制御部と、
上記検索キーに基づいて、メモリ内で検索条件が収容されている物理的位置に関する情報を出力するためのフォワーディングテーブルと、
上記物理的位置に収容される該検索条件に対応する経路情報を収容する経路情報テーブルと、
上記物理的位置に関する情報に基づいて上記経路情報テーブルから上記経路情報を検索する経路情報テーブル制御部とからなるデータ転送装置であって、
上記フォワーディングテーブルは同一検索ビット幅を持つ複数の物理バンクによって構成されるアレイに格納され、
上記フォワーディングテーブル制御部は、
上記検索キーから検索すべき物理バンクを決定する為の計算を行う関数部と、
該関数部の出力値を変換するレジスタとを有し、
該レジスタからの出力値に対応する上記物理バンクに検索を指示することを特徴とするデータ転送装置。
【請求項２】
上記フォワーディングテーブル制御部が、
上記パケットヘッダに含まれる情報の一部或いは全部を抽出して上記検索キーを生成する検索キー生成部と、
上記フォワーディングテーブルが収容する上記検索条件を生成する検索条件生成部と、
上記フォワーディングテーブルに対し、上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索コマンドを生成し、上記フォワーディングテーブルに上記検索条件を収容する時には書き込みコマンドを生成するコマンド制御部と、
上記フォワーディングテーブルに対し、上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索すべき物理バンクを決定し、上記検索条件から収容すべき物理バンクを決定する物理バンク決定部とからなることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
上記物理バンク決定部が、
上記検索キー或いは上記検索条件を入力とし、
上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索すべき物理バンクの番号を示す値を出力し、または上記検索条件から収容すべき物理バンクの番号を示す番号を出力する上記関数部と、
上記関数部からの出力値に対応する物理バンクの番号を示すレジスタと、
上記出力値を該レジスタに示される物理バンクの番号に変換し、変換値が示す物理バンクに対して検索または登録を指示する出力値変換部とからなることを特徴とする請求項２記載のデータ転送装置。
【請求項４】
上記レジスタが、
データ転送装置の外部に接続される端末から設定可能であり、該端末から上記レジスタの状態を参照可能であることを特徴とする請求項３記載のデータ転送装置。
【請求項５】
上記入力回線から入力されたパケットを一時的に蓄積するためのバッファメモリと、
上記パケットを選択的に上記バッファメモリに入力するためのセレクタと、
上記バッファメモリへの上記パケットの書き込みと読み出しを制御するバッファ制御部とからなることを特徴とする請求項１乃至４のいずれかに記載のデータ転送装置。
【請求項６】
上記経路制御部が、上記バッファ制御部と連携して、上記パケットを上記データ中継部に転送し、
上記データ中継部が、上記経路情報に対応する出力回線に向けて上記パケットを転送することを特徴とする請求項１乃至５のいずれかに記載されたデータ転送装置。
【請求項７】
上記フォワーディングテーブルが連想メモリ内に構成されたことを特徴とする請求項１乃至６のいずれかに記載されたデータ転送装置。
【請求項８】
上記フォワーディングテーブルに対して上記検索キーに対応する上記検索条件を収容する上記物理的位置を検索する時に検索すべき物理バンクを決定する方式と、
上記フォワーディングテーブルが上記検索条件を収容する時に収容すべき物理バンクを決定する方式とが同一であることを特徴とする請求項１乃至７のいずれかに記載されたデータ転送装置。
【請求項９】
上記パケットが、イーサネットフレームヘッダを含むことを特徴とする請求項１乃至８のいずれかに記載されたデータ転送装置。
【請求項１０】
上記パケットが、MPLS転送で用いるSIMヘッダを含むことを特徴とする請求項１乃至９のいずれかに記載されたデータ転送装置。
【請求項１１】
パケットが入力される複数の入力回線と、
パケットを出力する複数の出力回線と、
入力パケットの転送優先度を示すフロー制御情報を該入力パケットのヘッダに含まれる情報より判定するフロー制御部と、
該フロー制御情報に対応する転送優先度に従って該パケットを転送または廃棄するデータ中継部を備え、
上記フロー制御部が、
パケットヘッダに含まれる情報の一部或いは全部を抽出して、これを検索キーとして検索を指示するフロー識別テーブル制御部と、
上記検索キーに基づいてメモリ内で検索条件が収容されている物理的位置に関する情報を出力するためのフロー識別テーブルと、
上記物理的位置に収容される上記検索条件に対応するフロー制御情報を収容するフロー制御テーブルと、
上記物理的位置に関する情報に基づいて上記フロー制御テーブルから上記フロー制御情報を検索する経路情報テーブル制御部とからなるデータ転送装置であって、
上記フロー識別テーブルは同一検索ビット幅を持つ複数の物理バンクによって構成されるアレイに格納され、
上記フロー識別テーブル制御部は、
上記検索キーから検索すべき物理バンクを決定する為の計算を行う関数部と、
該関数部の出力値の変換を促すレジスタとを有し、
該レジスタに記述された上記物理バンクに検索を指示することを特徴とするデータ転送装置。
【請求項１２】
上記フロー識別テーブル制御部が、
上記パケットヘッダに含まれる情報の一部或いは全部を抽出して上記検索キーを生成する検索キー生成部と、
上記フロー識別テーブルが収容する上記検索条件を生成する検索条件生成部と、
上記フロー識別テーブルに対し、上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索コマンドを生成し、上記フロー識別テーブルに上記検索条件を収容する時には書き込みコマンドを生成するコマンド制御部と、
上記フロー識別テーブルに対し、上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索すべき物理バンクを決定し、上記検索条件から収容すべき物理バンクを決定する物理バンク決定部とからなることを特徴とする請求項１１記載のデータ転送装置。
【請求項１３】
上記物理バンク決定部が、
上記検索キー或いは上記検索条件を入力とし、
上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索すべき物理バンクの番号を示す値を出力し、または上記検索条件から収容すべき物理バンクの番号を示す値を出力する上記関数部と、
上記関数部からの出力値に対応する検索または収容すべき物理バンクの番号を示すレジスタと、
上記出力値を該レジスタに示される物理バンクの番号に変換し、変換値が示す物理バンクに対して検索または登録を指示する出力値変換部とからなることを特徴とする請求項１２記載のデータ転送装置。
【請求項１４】
上記レジスタが、
データ転送装置の外部に接続される端末から設定可能であり、上記端末から上記レジスタの状態を参照可能であることを特徴とする請求項１３記載のデータ転送装置。
【請求項１５】
上記入力回線から入力されたパケットを一時的に蓄積するためのバッファメモリと、
上記パケットを選択的に上記バッファメモリに入力するためのセレクタと、
上記バッファメモリへの上記パケットの書き込みと読み出しを制御するバッファ制御部とからなることを特徴とする請求項１１乃至１４のいずれかに記載のデータ転送装置。
【請求項１６】
上記経路制御部が、上記バッファ制御部と連携して、上記パケットを該データ中継部に転送し、
上記データ中継部が、上記フロー制御情報に対応する転送優先度に従って上記パケットを転送または廃棄することを特徴とする請求項１１乃至１５のいずれかに記載のデータ転送装置。
【請求項１７】
上記フロー識別テーブルが連想メモリ内に構成されたことを特徴とする請求項１１乃至１６のいずれかに記載のデータ転送装置。
【請求項１８】
上記フロー識別テーブルへ対して上記検索キーに対応する上記検索条件を収容する上記物理的位置を検索する時に検索すべき物理バンクを決定する方法と、
上記フロー識別テーブルが上記検索条件を収容する時に収容すべき物理バンクを決定する方法とが同一であることを特徴とする請求項１１乃至１７のいずれかに記載のデータ転送装置。
【請求項１９】
上記パケットが、イーサネットフレームヘッダを含むことを特徴とする請求項１１乃至１８のいずれかに記載のデータ転送装置。
【請求項２０】
上記パケットが、MPLS転送で用いるSIMヘッダを含むことを特徴とする請求項１２乃至１９のいずれかに記載のデータ転送装置。
【請求項２１】
上記パケットが、ＩＰパケットヘッダを含むことを特徴とする請求項１２乃至２０のいずれかに記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットの経路制御及びフロー制御を行うデータ転送装置に関し、更に詳しくは、連想メモリアクセス時に生じる消費電力の低減を可能にするデータ転送装置に関する。
【背景技術】
【０００２】
通信ネットワークを構成するレイヤ２スイッチまたはＩＰルータ或いはレイヤ３スイッチ等のデータ転送装置は、受信したイーサネット（Ethernet：登録商標名）フレームまたはＩＰパケット或いはMPLS方式で転送するMPLSパケットを該パケットのアドレス情報に対応した出力回線に転送する。通信量の増加に伴うデータ転送装置における消費電力を低減する為に、様々な消費電力低減方式が検討されている。
【０００３】
連想メモリアクセス時に生じる消費電力低減方式として、一度、連想メモリに対して登録したい順に検索条件を配列するが、検索条件を値の大きい順（または小さい順）に再配列する方式がある（例えば、特許文献１参照）。このとき、連想メモリにおける各物理バンクの境界に位置する検索条件の値をレジスタに保持する。この例では、連想メモリを用いた検索条件の検索において、入力されたデータから生成される検索キーの値を該レジスタの値と比較し、検索すべき物理バンクを限定し、限定された物理バンクだけをアクティブにすることにより、低消費電力のデータ検索装置を提供している。
【０００４】
他には、受信したＩＰパケットの経路制御に対し、連想メモリで生じる消費電力を低減する為、アクティブにする物理バンクをハッシュ関数で決定する方式がある（例えば、非特許文献１参照）。
【０００５】
【特許文献１】特開２００４−１８５７９２号公報
【０００６】
【非特許文献１】Hidell他、“Router Architectures”Tutorial at Networking 2004http://www.imit.kth.se/~mahidell/pubs/networking04_tutorial_final.pdf、ｐｐ４１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
登録したい順に検索条件を配列する方式では、最初に連想メモリへ対して登録したい順に配列するが、完全一致検索や最長一致検索といった検索方法に関わらず、連想メモリ内のデータを常に再配列する必要がある。故に、ネットワーク構成変更時及び初期登録時に再配列の為のソート時間が常に生じる。
【０００８】
次に、アクティブにする物理バンクをハッシュ関数で決定する方式では、受信したＩＰパケットの経路制御における検索条件の検索しか行っておらず、また消費電力低減方式の詳細に関する検討はなされていない。
そこで、本発明の課題は、連想メモリに対して完全一致検索を行う場合において、検索条件を登録する際にソート時間を発生させないことで高品質なネットワークを提供することに加え、検索条件の検索時にアクティブにする物理バンクを限定することにより、低消費電力のデータ転送装置を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を達成する為、本発明のデータ転送装置は、フロー識別テーブルが同一検索ビット幅を持つ複数の物理バンクから構成され、該フロー識別テーブル制御部は検索キーから検索すべき物理バンクを決定し、該物理バンクに検索を指示する。
【発明の効果】
【００１０】
本発明の構成を採ることにより、受信したパケットの経路制御およびフロー制御の際、完全一致検索を必要とする連想メモリに対し、アクティブにする連想メモリの物理バンクを限定可能な低消費電力型データ転送装置を提供できる。また、ネットワーク構成変更時及び初期登録時において、従来技術のように、連想メモリに一旦配列した全ての検索条件を再配列することは行わない為、素早く検索条件となるデータの登録を完了させることが可能であり、メンテナンスが容易な高品質のネットワークを提供できる。
【実施例１】
【００１１】
以下、本発明の実施例について図面を参照して説明する。ここで、従来技術との比較を容易にする為，本発明を図１のデータ転送装置１０に適用した場合について説明する。尚、第１の実施例では、パケットの経路制御とフロー制御において、連想メモリを用いる際に完全一致検索を必要とするEthernetフレームの転送について述べる。但し、本発明の効果を奏する限り、適用する装置、パケットの種類はこれに限られない。
【００１２】
図１は、本発明によるデータ転送装置１０を構成するブロック図である。
データ転送装置１０は、それぞれ入力回線ＩＮ−ｉと出力回線ＯＵＴ−ｉに接続される複数のインタフェースモジュール１１−ｉ（ｉ＝１〜Ｎ）と、これらのインタフェースモジュールに接続されたセレクタ１２およびデータ中継部１６と、セレクタ１２に接続されたバッファメモリ１３、ヘッダ抽出部１４およびバッファ制御部１５と、データ中継部１６に接続された経路制御部２０およびフロー制御部３０とからなる。６０は、データ転送装置１０の外部に位置し、信号線Ｌ１０を経路制御部２０と接続され、信号線Ｌ１１をフロー制御部と接続され、データ転送装置１０の管理者が操作する管理端末を示している。
【００１３】
図２は、各入力回線ＩＮ−ｉから受信される可変長Ethernetフレームのフォーマットの１例を示す。可変長のEthernetフレーム１００は、OSI参照モデルにおける第２層（データリンク層）のＬ２ヘッダ１１０と、Ｌ２ペイロード１２０とからなる。
【００１４】
Ｌ２ヘッダ１１０の形状は、入力回線の種類によって異なり、例えば、入力回線ＩＮ−ｉがイーサネットである場合、Ｌ２ヘッダ１１０には、宛先MACアドレス１１１、送信元MACアドレス１１２、フレームタイプ１１４、その他の情報が含まれる。図２において、Ｌ２ヘッダ１１０には、その他の情報として、タグ１１３を格納する。ここで、タグ１１３は、データ転送装置１０におけるEthernetフレーム転送優先度と、Ethernetフレームが所属するネットワークを識別するネットワーク識別子等とからなる。
【００１５】
図１において、各インタフェースモジュール１１−ｉは、入力回線ＩＮ−ｉから受信したEthernetフレームを信号線Ｌ１−ｉに出力する。セレクタ１２は、バッファ制御部１５から信号線Ｌ１５を介して与えられる制御信号に従って、信号線Ｌ１−１〜Ｌ１−Ｎから入力されるEthernetフレームを選択的に信号線Ｌ２に出力する。ヘッダ抽出部１４は、信号線Ｌ２に出力されたEthernetフレーム１００のＬ２ヘッダ１１０を解析し、フレームタイプ１１４に示されるフレーム長を信号線Ｌ１２に、宛先MACアドレス１１１と送信元アドレス１１２とを信号線Ｌ３に、Ｌ２ヘッダ１１０を信号線Ｌ４に出力する。
【００１６】
バッファ制御部１５は、信号線Ｌ２に出力されたEthernetフレーム１００のバッファメモリ１３への書き込みと、バッファメモリ１３から信号線Ｌ６に対するEthernetフレームの読み出しを行う。また、バッファ制御部１５は、ヘッダ抽出部１４が信号線Ｌ１２に出力するフレーム長に基づいて、バッファメモリ１３に対するEthernetフレームの書き込みを制御し、バッファメモリ１３からのEthernetフレームの読み出しに連動して、信号線Ｌ１５にセレクタ１２の切り替え制御信号を出力し、次のEthernetフレームをバッファメモリ１３に書き込む。
【００１７】
経路検索部２０は、図３に示すように、ヘッダ抽出部１４が信号線Ｌ３に出力する宛先MACアドレス１１１に基づいて、経路制御用連想メモリ２００に格納されるフォワーディングテーブル２０２から一致する検索条件を検索する。検索条件を検索した結果、一致した場合には、経路情報テーブル２０４から経路制御情報７００を検索する。経路制御情報７００は、図７に示すように、例えば、Ethernetフレームの出力インタフェースモジュールの情報などを含んでいる。経路制御部２０は、経路制御情報７００を信号線Ｌ７に出力する。
【００１８】
また、経路制御部２０は、Ethernetフレームの経路制御と同時に、ヘッダ抽出部１４が信号線Ｌ３に出力する送信元MACアドレス１１２に基づいて、経路制御用連想メモリ２００に格納されるフォワーディングテーブル２０２から一致する検索条件を検索する。検索の結果、一致する検索条件が存在しない場合、フォワーディングテーブル制御部２０１は、信号線Ｌ２２を介して、EthernetフレームのＬ２ヘッダ１１０を経路制御用テーブル管理部２０５に送信する。経路制御用テーブル管理部２０５は、Ｌ２ヘッダ１１０に基づき、フォワーディングテーブル２０２の更新に必要なデータを信号線Ｌ２２に出力する。
【００１９】
経路制御用テーブル管理部２０５は、ダイナミックルーティングを行う場合、ルーティングプロトコルに従い、フォワーディングテーブル制御部２０１或いは経路情報テーブル制御部２０３と接続する信号線Ｌ２２或いはＬ２３へ対して経路制御に必要なデータを出力する。また、スタティックルーティングを行う場合は、信号線Ｌ１０を介して接続される管理端末６０から入力される設定に従い、経路制御に必要なデータを出力する。
【００２０】
経路制御用テーブルエラー制御部２０６は、経路制御時にアクセスするフォワーディングテーブル２０２及び経路情報テーブル２０４から出力される情報にエラーが含まれる場合、信号線Ｌ１３を介して、バッファ制御部１５に対し、フォワーディングテーブル制御部２０１或いは経路情報テーブル制御部２０３からの経路制御テーブルエラーを通知する。
このとき、バッファ制御部１５は、信号線Ｌ１３から経路制御テーブルエラーが入力されると、経路制御を無効と解釈し、メモリバッファ１３に蓄積されるEthernetフレームを破棄する。
【００２１】
フロー制御部３０は、図４に示すように、ヘッダ抽出部１４が信号線Ｌ４に出力するＬ２ヘッダ１１０に基づいて、フロー制御用連想メモリ３００に格納されるフロー識別テーブル３０２から一致する検索条件を検索する。検索条件を検索した結果、一致した場合には、フロー制御テーブル３０４からフロー制御情報８００を検索する。フロー制御情報８００は、例えば、Ethernetフレームの転送可否識別子８０１や送信優先度を示す通信品質情報８０２などを含んでいる。フロー制御部３０は、転送可否識別子８０１を信号線Ｌ５に出力し、通信品質情報８０２を信号線Ｌ８に出力する。
【００２２】
具体的に述べると、フロー制御部３０は、所定のタイミングで、信号線Ｌ５を介してバッファ制御部１５に対し、受信したEthernetフレーム１００の制御を要求する。バッファ制御部１５は、入力された転送可否識別子８０１に従ってEthernetフレーム１００を制御する。ここで、転送を行う場合、バッファ制御部１５は、Ethernetフレームをメモリバッファ１３から信号線Ｌ６に出力させる。また、転送を行わない場合、メモリバッファ１３に蓄積されるEthernetフレームを破棄する。
【００２３】
フロー制御用テーブル管理部３０５は、信号線Ｌ１１を介して管理端末６０と接続され、管理端末６０からのフロー制御設定に従い、フロー識別テーブル制御部３０１或いはフロー制御情報テーブル制御部３０３と接続する信号線Ｌ３２或いはＬ３３へ対してフロー制御に必要なデータを出力する。
フロー制御用テーブルエラー制御部３０６は、フロー制御時にアクセスするフロー識別テーブル３０２及びフロー制御情報テーブル３０４から出力される情報にエラーが含まれる場合、信号線Ｌ１４を介して、バッファ制御部１５に対し、フロー識別テーブル制御部３０１或いはフロー制御テーブル制御部３０３からのフロー制御テーブルエラーを通知する。
【００２４】
このとき、バッファ制御部１５は、信号線Ｌ１４からフロー制御テーブルエラーが入力されると、フロー制御を無効と解釈し、メモリバッファ１３に蓄積されるEthernetフレームを破棄する。
データ中継部１６は、信号線Ｌ６からEthernetフレームが入力されると、これを信号線Ｌ７から入力された経路制御情報７００が示す出力ポート番号ｋと対応するインタフェースモジュール１１−ｋに対し、信号線Ｌ８から入力された通信品質情報８０２に示される優先度に従って、出力回線ＯＵＴ−ｋに送信する。
【００２５】
図５は、本発明の経路制御部２０に適用されるフォワーディングテーブル制御部２０１と、経路制御用連想メモリ２００との接続形態を示す。
経路制御用連想メモリ２００は、簡単化の為、図５に示すように、経路制御用連想メモリアレイ２２０と、経路制御用プライオリティエンコーダ２１０とからなるとする。
経路制御連想メモリアレイ２２０は、検索条件となる経路制御検索データを格納する１つ以上のエントリを含む複数の物理バンク２０２１−ｉ（ｉ＝１〜Ｎ）からなる。
【００２６】
図１１に示すように、各エントリには例えば送信元アドアレス、宛先アドレスなどの検索条件が記憶されている。
経路制御用プライオリティエンコーダ２１０は、経路制御用連想メモリ２００に経路制御検索キー及び送信元MACアドレス検索キーが入力され、フォワーディングテーブル２０２の複数のエントリで一致した場合、一致した複数のエントリの内、最小（または最大）のアドレスを信号線Ｌ２１０８に出力する。
【００２７】
本発明では、Ethernetフレームの経路検索およびフォワーディングテーブル３０２へ対する経路制御データの登録において、経路制御バンク決定部２１２によって、アクティブにする物理バンクを限定することを特徴とする。
【００２８】
フォワーディングテーブル制御部２０１について、図５を用いて説明する。経路制御検索キー生成部２１１は、Ethernetフレーム１００の宛先MACアドレス１１１と、送信元MACアドレス１１２とに基づき、それぞれに対応する経路制御検索キー及び送信元MACアドレス検索キーを生成し、信号線Ｌ２１０１に出力する。また、信号線Ｌ２１０２を介して、経路制御コマンド生成部２１３に対し、Ethernetフレームの経路検索或いは送信元MACアドレスに一致する検索条件の検索を要求する。
【００２９】
経路制御検索データ生成部２１４は、信号線Ｌ２２からフォワーディングテーブル２０２に登録すべき検索条件となるデータが入力されると、経路制御検索キー及び送信元MACアドレス検索キーの検索条件となる経路制御検索データを生成し、信号線Ｌ２１０６に経路制御検索データを出力する。また、信号線Ｌ２１０７に経路制御検索データを出力することで、フォワーディングテーブル２０２に対する経路制御検索データの書き込みを要求する。
【００３０】
経路制御バンク決定部２１２は、信号線Ｌ２１０１から入力された経路制御検索キー及び送信元MACアドレス検索キーまたは信号線Ｌ２１０６から入力された経路制御検索データを入力とし、アクティブにすべき物理バンクに対するアクティベーション電力と経路制御検索キーまたは経路制御検索データを経路制御用連想メモリ２００に向けて出力する。ここで，経路制御バンク決定部２１２は、入力に対してアクティブにすべき物理バンクの番号をハッシュ関数によって求める経路制御用ハッシュ関数部２１２１と、信号線Ｌ２６に接続される経路制御用レジスタ２１２２と、経路制御用ハッシュ関数部２１２１が求めたハッシュ値を経路制御用レジスタ２１２２に示される値へ変換してアクティブにすべき物理バンクを決定する経路制御用ハッシュ値変換部２１２３とからなる。
【００３１】
経路制御用ハッシュ関数部２１２１は、経路制御検索キー及び送信元MACアドレス検索キー或いは経路制御検索データを、経路制御に用いる検索ビット幅が同一である経路制御物理バンク２０２１−ｉの個数（ｍ）で割ることによって剰余が求められる。この剰余値をハッシュ値とする。その後，入力された経路制御検索キー及び送信元MACアドレス検索キー或いは経路制御検索データとハッシュ値とを経路制御用ハッシュ値変換部２１２３に向けて出力する。このとき、ハッシュ値の範囲は、０〜（ｍ−１）である。
【００３２】
経路制御用ハッシュ関数部２１２１に入力される経路制御検索データによっては、出力されるハッシュ値に偏りが生じる可能性が考えられる。そこで、ハッシュ値の偏りを可能な限り解消する為、図９に示すように、各ハッシュ値に対応するアクティブにすべき物理バンク番号を示す経路制御レジスタ２１２２に設定する。
経路制御用レジスタ２１２２に対しては、データ転送装置１０の管理者が管理端末６０から設定を行う。ここで、各ハッシュ値に対応する物理バンクは、データ転送装置１０の管理者が指定する。
【００３３】
経路制御用ハッシュ値変換部２１２３は、経路制御検索キー及び送信元MACアドレス検索キー或いは経路制御検索データとハッシュ値とが入力されると、経路制御用レジスタ２１２２を参照し、ハッシュ値に対応する物理バンクへ向けたアクティベーション電力を信号線Ｌ２１０４に出力する。このとき、経路制御検索キー及び送信元MACアドレス検索キー或いは経路制御検索データを信号線Ｌ２１０３に出力する。その他の物理バンクには、待機電力を供給する。
【００３４】
経路制御コマンド生成部２１３は、信号線Ｌ２１０２から経路制御検索キー及び送信元MACアドレス検索キーが入力されると、検索コマンドを生成し、信号線Ｌ２１０５に出力する。また、信号線Ｌ２１０７からフォワーディングテーブル２０２に対する経路制御検索データが入力されると、書き込みコマンドを生成し、信号線Ｌ２１０５に出力する。尚，経路制御コマンド生成部２１３には、経路制御用連想メモリ２００に対するクロックバス等の信号線が接続されているが、図５では省略する。
【００３５】
経路制御結果解析部２１５は、フォワーディングテーブル２０２を格納する経路制御用連想メモリ２００において、フォワーディングテーブル２０２の検索結果として経路制御用連想メモリから出力される経路制御検索キーと一致するエントリのアドレスが有効か無効かを解析する。ここで、無効である場合は、信号線Ｌ２４を介して、経路制御用テーブルエラー制御部２１５に通知する。
【００３６】
図６は、本発明のフロー制御部３０に適用されるフロー識別テーブル制御部３０１と、フロー制御用連想メモリ３００との接続形態を示す。
フロー制御用連想メモリ３００は、簡単化の為、図６に示すように、フロー識別用連想メモリアレイ３２０と、フロー制御用プライオリティエンコーダ３１０とからなるとする。
フロー識別用連想メモリアレイ３２０は、フロー制御検索キーの検索条件となるフロー制御検索データを格納する１つ以上のエントリを含む複数の物理バンク３０２１−ｉ（ｉ＝１〜Ｎ）からなる。
【００３７】
図１２に示すように、各エントリには例えば送信元アドレス、宛先アドレス、送信元ポート番号、宛先ポート番号などの検索条件が記憶されている。
フロー制御用プライオリティエンコーダ３１０は、フロー制御用連想メモリ３００にフロー制御検索キーが入力され、フロー識別テーブル３０２の複数のエントリで一致した場合、一致した複数のエントリの内、最小（または最大）のアドレスを信号線Ｌ３１０８に出力する。
【００３８】
本発明では、Ethernetフレームのフロー制御およびフロー制御テーブル３０４へ対するフロー制御検索データの登録において、フロー制御バンク決定部３１２によって、アクティブにする物理バンクを限定することを特徴とする。
【００３９】
フロー識別テーブル制御部３０１について図６を用いて説明する。フロー制御検索キー生成部３１１は、Ｌ２ヘッダ１１０の宛先MACアドレス１１１とタグ１１３に含まれるネットワーク識別子との組み合わせに基づき、フロー制御検索キーを生成し、信号線Ｌ３１０１に出力する。また、信号線Ｌ３１０２を介して、フロー制御コマンド生成部３１３に対し、入力されたEthernetフレームが属するフローの識別を要求する。
【００４０】
フロー制御検索データ生成部３１４は、データ転送装置１０の管理者が管理端末６０から検索条件の要素となるデータを入力すると、フロー制御検索キーの検索条件となるフロー制御検索データを生成し、信号線Ｌ３１０６に該フロー制御検索データを出力する。同時に、信号線Ｌ３１０７を介して、フロー識別テーブル３０２に対するフロー制御検索データの書き込みを要求する。
【００４１】
フロー制御バンク決定部３１２は、信号線Ｌ３１０１から入力されたフロー制御検索キーまたは信号線Ｌ３１０６から入力されたフロー制御検索データを入力とし、アクティブにすべき物理バンクに対するアクティベーション電力とフロー制御検索キーまたはフロー制御検索データをフロー制御用連想メモリ３００に向けて出力する。ここで，フロー制御バンク決定部３１２は、入力に対してアクティブにすべき物理バンクの番号をハッシュ関数によって求めるフロー制御用ハッシュ関数部３１２１と、信号線Ｌ３６に接続されるフロー制御用レジスタ３１２２と、フロー制御用ハッシュ関数部３１２１が求めたハッシュ値をフロー制御用レジスタ３１２２に示される値へ変換してアクティブにすべき物理バンクを決定するフロー制御用ハッシュ値変換部３１２３とからなる。
【００４２】
フロー制御用ハッシュ関数部３１２１は、フロー制御検索キー或いはフロー制御検索データを、フロー制御に用いる検索ビット幅が同一であるフロー制御物理バンク３０２１−ｉの個数（ｍ）で割ることによって剰余が求められる。この剰余値をハッシュ値とする。その後，入力されたフロー制御検索キー或いはフロー制御検索データとハッシュ値とをフロー制御用ハッシュ値変換部３１２３に向けて出力する。このとき、ハッシュ値の範囲は、０〜（ｍ−１）である。
【００４３】
フロー制御用ハッシュ関数部３１２１に入力されるフロー制御検索データによっては、出力されるハッシュ値に偏りが生じる可能性が考えられる。そこで、ハッシュ値の偏りを可能な限り解消する為、図１０に示すように、各ハッシュ値に対応するアクティブにすべき物理バンク番号を示すフロー制御レジスタ３１２２に設定する。
フロー制御用レジスタ３１２２に対しては、データ転送装置１０の管理者が管理端末６０から設定を行う。ここで、各ハッシュ値に対応する物理バンクは、データ転送装置１０の管理者が指定する。
【００４４】
フロー制御用ハッシュ値変換部３１２３は、フロー制御検索キー或いはフロー制御検索データとハッシュ値とが入力されると、フロー制御用レジスタ３１２２を参照し、ハッシュ値に対応するフロー制御物理バンク３０２１−ｉに対するアクティベーション電力を信号線Ｌ３１０４に出力する。このとき、フロー制御検索キー或いはフロー制御検索データを信号線Ｌ３１０３に出力する。その他の物理バンクには、待機電力を供給する。
【００４５】
フロー制御コマンド生成部３１３は、信号線Ｌ３１０２からフロー制御検索キーが入力されると、検索コマンドを生成し、信号線Ｌ３１０５に出力する。また、信号線Ｌ３１０７からフロー識別テーブル３０２に対するフロー制御検索データが入力されると、書き込みコマンドを生成し、信号線Ｌ３１０５に出力する。尚，フロー制御コマンド生成部３１３には、フロー制御用連想メモリ３００に対するクロックバス等の信号線が接続されているが、図６では省略する。
【００４６】
フロー制御結果解析部３１５は、フロー識別テーブル３０２を格納するフロー制御用連想メモリ３００において、フロー識別テーブル３０２の検索結果としてフロー制御用連想メモリ３００から出力されるフロー制御検索キーと一致するエントリのアドレスが有効か無効かを解析する。ここで、無効である場合は、信号線Ｌ３４を介して、フロー制御用テーブルエラー制御部３１５に通知する。
【００４７】
経路制御ハッシュ関数部２１２１およびフロー制御ハッシュ関数部３１２１は、それぞれ経路制御検索データの登録および経路制御検索キーによるフォワーディングテーブル２０２の検索またはフロー制御検索データの登録およびフロー制御検索キーによるフロー識別テーブル３０２の検索に対して、常に同一の計算方法を採る。故に、Ethernetフレーム受信時において、経路制御検索データと経路制御検索キーを一致させ、フロー制御検索データとフロー制御検索キーを一致させることが可能である。
【００４８】
本実施例では特に触れなかったが、パケットはEthernetフレームだけに拘らずMPLS方式で転送されるMPLSパケットを適用しても良い。
このように、経路制御バンク決定部２１２およびフロー制御バンク決定部３１２により、経路制御検索キーおよび経路制御検索データがアクセスするフォワーディングテーブル２０２と、フロー制御検索キーおよびフロー制御検索データがアクセスするフロー識別テーブル３０２とにおいて、アクティブにする物理バンクを限定して連想メモリで生じる消費電力の低減を図るだけではなく、ネットワーク構成の変更時及び初期登録時において、連想メモリのエントリに登録する検索条件に対して従来技術のような再配列処理を必要としない為、短期間で検索条件の登録を完了できる。
【実施例２】
【００４９】
第２の実施例では、ＩＰルータやレイヤ３スイッチにおいて、ネットワーク間同士を伝送するＩＰパケットの内、送信元と宛先が特定の端末を示すＩＰパケットのフロー制御について説明する。
【００５０】
まず、可変長のＩＰパケット４００のフォーマットの１例を図８に示す。ＩＰパケット４００は、図８に示すように、ＩＰペイロード４０１とＩＰヘッダ４０２とからなり、ＩＰヘッダ４０２には、パケット制御情報４０３と、送信元ＩＰアドレス４０４と、宛先ＩＰアドレス４０５が含まれる。パケット制御情報４０３は、プロトコル種別、パケット長、パケット優先度を示すサービスタイプ等、ＩＰアドレス以外のＩＰヘッダ情報を意味している。
フロー制御検索キー生成部３１１は、パケット制御情報４０３に含まれるプロトコル種別と送信元ＩＰアドレス４０４と宛先ＩＰアドレス４０５との組み合わせからフロー制御の検索条件であるフロー制御検索データを生成する。
【００５１】
その後、フロー制御バンク決定部３１２は、フロー制御検索データを登録するフロー制御物理バンク３０２１−ｉを決定する為、フロー制御検索データを入力とする。
次に、受信したＩＰパケットに対するフロー制御について述べる。データ転送装置１０は、ＩＰパケットの転送時においても、第１の実施例と同様に動作する。実施例１と異なる点として、フロー制御検索キー生成部３１１がフロー制御検索キーの生成に対し、入力されたＩＰパケットのパケット制御情報４０３に含まれるプロトコル種別と送信元ＩＰアドレス４０４と宛先ＩＰアドレス４０５との組み合わせを用いることが挙げられる。また、ヘッダ抽出部１４は、ＩＰヘッダ４０２を出力する。
【００５２】
ＩＰパケット転送の場合、フロー制御テーブル３０４には、第１の実施例と同様の情報が格納される。このとき、フロー制御部３０は第１の実施例と同じ動作をする。更に、フロー制御ハッシュ関数部３１２１は、フロー制御検索データの登録およびフロー制御検索キーによるフロー識別テーブルの検索に対して、常に同一の計算方法を採る。故に、特定のＩＰパケットを受信した場合において、フロー制御検索データとフロー制御検索キーを一致させることが可能である。
【００５３】
以上の説明から明らかなように、本発明によれば、レイヤ２スイッチ、ＩＰルータ、レイヤ３スイッチ等のデータ転送装置において、パケットの経路制御およびフロー制御の際、連想メモリで生じる消費電力を低減でき、更には検索条件の登録に関して、ネットワークの構成変化に素早く対応可能な通信サービスを提供できる。
【産業上の利用可能性】
【００５４】
本発明は、パケットの経路制御およびフロー制御に連想メモリを用いるデータ転送装置に適用可能である。
【図面の簡単な説明】
【００５５】
【図１】本発明によるデータ転送装置１０の１実施例を示すブロック図。
【図２】データ転送装置１０に入力される可変長Ethernetフレームのフォーマットの１例を示す図。
【図３】経路制御部２０の１実施例を示すブロック図。
【図４】フロー制御部３０の１実施例を示すブロック図。
【図５】フォワーディングテーブル制御部２０１の１実施例を示す図、並びにフォワーディングテーブル制御部２０１と経路制御用連想メモリ２００との関係を示す図。
【図６】フロー識別テーブル制御部３０１の１実施例を示す図、並びにフロー識別テーブル制御部３０１とフロー制御用連想メモリ３００との関係を示す図。
【図７】Ethernetフレーム転送時における経路情報テーブル２０４のエントリに格納される経路制御情報７００のフォーマット、並びにフロー制御テーブル３０４のエントリに格納されるフロー制御情報８００のフォーマットを示す図。
【図８】データ転送装置１０に入力される可変長ＩＰパケットのフォーマットを示す図。
【図９】経路制御バンク決定部２１２の１実施例を示すブロック図。
【図１０】フロー制御バンク決定部３１２の１実施例を示すブロック図。
【図１１】経路制御用連想メモリアレイ２２０を示す図。
【図１２】フロー識別用連想メモリアレイ３２０を示す図。
【符号の説明】
【００５６】
１０：データ転送装置、１１：インタフェースモジュール、１２：セレクタ、１３：バッファメモリ、１４：ヘッダ抽出部、１５：バッファ制御部、１６：データ中継部、２０：経路制御部、３０：フロー制御部、６０：管理端末、２０１：フォワーディングテーブル制御部、２０２：フォワーディングテーブル、２０３：経路情報テーブル制御部、２０４：経路制御テーブル、２１１：経路制御検索キー生成部、２１２：経路制御バンク生成部、２１３：経路制御コマンド生成部、２１４：経路制御検索データ生成部、２１５：経路制御結果解析部、２２０：経路制御用連想メモリアレイ、３０１：フロー識別テーブル制御部、３０２：フロー識別テーブル、３０３：フロー制御テーブル制御部、３０４：フロー制御テーブル、３１１：フロー制御検索キー生成部、３１２：フロー制御バンク生成部、３１３：フロー制御コマンド生成部、３１４：フロー制御検索データ生成部、３１５：フロー制御結果解析部、３２０：フロー制御用メモリアレイ２１２１：経路制御用ハッシュ関数部、２１２２：経路制御用レジスタ、２１２３：経路制御用ハッシュ値変換部、３１２１：フロー制御用ハッシュ関数部、３１２２：フロー制御用レジスタ、３１２３： フロー制御用ハッシュ値変換部。
【図１】
2006165603.tif 000003
【図２】
2006165603.tif 000004
【図３】
2006165603.tif 000005
【図４】
2006165603.tif 000006
【図５】
2006165603.tif 000007
【図６】
2006165603.tif 000008
【図７】
2006165603.tif 000009
【図８】
2006165603.tif 000010
【図９】
2006165603.tif 000011
【図１０】
2006165603.tif 000012
【図１１】
2006165603.tif 000013
【図１２】
2006165603.tif 000014
【手続補正書】
【提出日】平成17年9月27日(2005.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パケットが入力される複数の入力回線と、
パケットを出力する複数の出力回線と、
入力パケットの出力回線を示す経路情報を該入力パケットのヘッダに含まれる情報より判
定する経路制御部と、
該経路情報に対応する出力回線に該パケットを転送するデータ中継部を備え、
上記経路制御部が、
パケットヘッダに含まれる情報の一部或いは全部を抽出して、これを検索キーとして検索を行うフォワーディングテーブル制御部と、
上記検索キーに基づいて、メモリ内で検索条件が収容されている物理的位置に関する情報を出力するためのフォワーディングテーブルと、
上記物理的位置に収容される該検索条件に対応する経路情報を収容する経路情報テーブルと、
上記物理的位置に関する情報に基づいて上記経路情報テーブルから上記経路情報を検索する経路情報テーブル制御部とからなるデータ転送装置であって、
上記フォワーディングテーブルは同一検索ビット幅を持つ複数の物理バンクによって構成されるアレイに格納され、
上記フォワーディングテーブル制御部は、
上記検索キーから検索すべき物理バンクを決定する為の計算を行う関数部と、
該関数部の出力値を変換する為の番号を保持するレジスタとを有し、
該レジスタからの出力値に対応する上記物理バンクに検索を指示することを特徴とするデータ転送装置。
【請求項２】
上記フォワーディングテーブル制御部が、
上記パケットヘッダに含まれる情報の一部或いは全部を抽出して上記検索キーを生成する検索キー生成部と、
上記フォワーディングテーブルが収容する上記検索条件を生成する検索条件生成部と、
上記フォワーディングテーブルに対し、上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索コマンドを生成し、上記フォワーディングテーブルに上記検索条件を収容する時には書き込みコマンドを生成するコマンド制御部と、
上記フォワーディングテーブルに対し、上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索すべき物理バンクを決定し、上記検索条件から収容すべき物理バンクを決定する物理バンク決定部とからなることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
上記物理バンク決定部が、
上記検索キー或いは上記検索条件を入力とし、
上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索すべき物理バンクの番号を示す値を出力し、または上記検索条件から収容すべき物理バンクの番号を示す番号を出力する上記関数部と、
上記関数部からの出力値に対応する物理バンクの番号を示すレジスタと、
上記出力値を該レジスタに示される物理バンクの番号に変換し、変換値が示す物理バンクに対して検索または登録を指示する出力値変換部とからなることを特徴とする請求項２記載のデータ転送装置。
【請求項４】
上記レジスタが、
データ転送装置の外部に接続される端末から設定可能であり、該端末から上記レジスタの状態を参照可能であることを特徴とする請求項３記載のデータ転送装置。
【請求項５】
上記入力回線から入力されたパケットを一時的に蓄積するためのバッファメモリと、
上記パケットを選択的に上記バッファメモリに入力するためのセレクタと、
上記バッファメモリへの上記パケットの書き込みと読み出しを制御するバッファ制御部とからなることを特徴とする請求項１乃至４のいずれかに記載のデータ転送装置。
【請求項６】
上記経路制御部が、上記バッファ制御部と連携して、上記パケットを上記データ中継部に転送し、
上記データ中継部が、上記経路情報に対応する出力回線に向けて上記パケットを転送することを特徴とする請求項１乃至５のいずれかに記載されたデータ転送装置。
【請求項７】
上記フォワーディングテーブルが連想メモリ内に構成されたことを特徴とする請求項１乃至６のいずれかに記載されたデータ転送装置。
【請求項８】
上記フォワーディングテーブルに対して上記検索キーに対応する上記検索条件を収容する上記物理的位置を検索する時に検索すべき物理バンクを決定する方式と、
上記フォワーディングテーブルが上記検索条件を収容する時に収容すべき物理バンクを決定する方式とが同一であることを特徴とする請求項１乃至７のいずれかに記載されたデータ転送装置。
【請求項９】
上記パケットが、イーサネットフレームヘッダを含むことを特徴とする請求項１乃至８のいずれかに記載されたデータ転送装置。
【請求項１０】
上記パケットが、MPLS転送で用いるSIMヘッダを含むことを特徴とする請求項１乃至９のいずれかに記載されたデータ転送装置。
【請求項１１】
パケットが入力される複数の入力回線と、
パケットを出力する複数の出力回線と、
入力パケットの転送優先度を示すフロー制御情報を該入力パケットのヘッダに含まれる情報より判定するフロー制御部と、
該フロー制御情報に対応する転送優先度に従って該パケットを転送または廃棄するデータ中継部を備え、
上記フロー制御部が、
パケットヘッダに含まれる情報の一部或いは全部を抽出して、これを検索キーとして検索を指示するフロー識別テーブル制御部と、
上記検索キーに基づいてメモリ内で検索条件が収容されている物理的位置に関する情報を出力するためのフロー識別テーブルと、
上記物理的位置に収容される上記検索条件に対応するフロー制御情報を収容するフロー制御テーブルと、
上記物理的位置に関する情報に基づいて上記フロー制御テーブルから上記フロー制御情報を検索するフロー制御テーブル制御部とからなるデータ転送装置であって、
上記フロー識別テーブルは同一検索ビット幅を持つ複数の物理バンクによって構成されるアレイに格納され、
上記フロー識別テーブル制御部は、
上記検索キーから検索すべき物理バンクを決定する為の計算を行う関数部と、
該関数部の出力値を変換する為の番号を保持するレジスタとを有し、
該レジスタに記述された上記物理バンクに検索を指示することを特徴とするデータ転送装置。
【請求項１２】
上記フロー識別テーブル制御部が、
上記パケットヘッダに含まれる情報の一部或いは全部を抽出して上記検索キーを生成する検索キー生成部と、
上記フロー識別テーブルが収容する上記検索条件を生成する検索条件生成部と、
上記フロー識別テーブルに対し、上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索コマンドを生成し、上記フロー識別テーブルに上記検索条件を収容する時には書き込みコマンドを生成するコマンド制御部と、
上記フロー識別テーブルに対し、上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索すべき物理バンクを決定し、上記検索条件から収容すべき物理バンクを決定する物理バンク決定部とからなることを特徴とする請求項１１記載のデータ転送装置。
【請求項１３】
上記物理バンク決定部が、
上記検索キー或いは上記検索条件を入力とし、
上記検索キーに対応する上記物理的位置に関する情報を検索する時に検索すべき物理バンクの番号を示す値を出力し、または上記検索条件から収容すべき物理バンクの番号を示す値を出力する上記関数部と、
上記関数部からの出力値に対応する物理バンクの番号を示すレジスタと、
上記出力値を該レジスタに示される物理バンクの番号に変換し、変換値が示す物理バンクに対して検索または登録を指示する出力値変換部とからなることを特徴とする請求項１２記載のデータ転送装置。
【請求項１４】
上記レジスタが、
データ転送装置の外部に接続される端末から設定可能であり、上記端末から上記レジスタの状態を参照可能であることを特徴とする請求項１３記載のデータ転送装置。
【請求項１５】
上記入力回線から入力されたパケットを一時的に蓄積するためのバッファメモリと、
上記パケットを選択的に上記バッファメモリに入力するためのセレクタと、
上記バッファメモリへの上記パケットの書き込みと読み出しを制御するバッファ制御部とからなることを特徴とする請求項１１乃至１４のいずれかに記載のデータ転送装置。
【請求項１６】
上記フロー制御部が、上記バッファ制御部と連携して、上記パケットを該データ中継部に転送し、
上記データ中継部が、上記フロー制御情報に対応する転送優先度に従って上記パケットを
送または廃棄することを特徴とする請求項１１乃至１５のいずれかに記載のデータ転送装置。
【請求項１７】
上記フロー識別テーブルが連想メモリ内に構成されたことを特徴とする請求項１１乃至１６のいずれかに記載のデータ転送装置。
【請求項１８】
上記フロー識別テーブルへ対して上記検索キーに対応する上記検索条件を収容する上記物理的位置を検索する時に検索すべき物理バンクを決定する方法と、
上記フロー識別テーブルが上記検索条件を収容する時に収容すべき物理バンクを決定する方法とが同一であることを特徴とする請求項１１乃至１７のいずれかに記載のデータ転送装置。
【請求項１９】
上記パケットが、イーサネットフレームヘッダを含むことを特徴とする請求項１１乃至１８のいずれかに記載のデータ転送装置。
【請求項２０】
上記パケットが、MPLS転送で用いるSIMヘッダを含むことを特徴とする請求項１２乃至１９のいずれかに記載のデータ転送装置。
【請求項２１】
上記パケットが、ＩＰパケットヘッダを含むことを特徴とする請求項１２乃至２０のいずれかに記載のデータ転送装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上記課題を達成する為、本発明のデータ転送装置は、フォワーディングテーブル及びフロー識別テーブルが同一検索ビット幅を持つ複数の物理バンクから構成され、該フォワーディングテーブル制御部及び該フロー識別テーブル制御部は検索キーから検索すべき物理バンクを決定し、該物理バンクに検索を指示する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
図１において、各インタフェースモジュール１１−ｉは、入力回線ＩＮ−ｉから受信したEthernetフレームを信号線Ｌ１−ｉに出力する。セレクタ１２は、バッファ制御部１５から信号線Ｌ１５を介して与えられる制御信号に従って、信号線Ｌ１−ｉから入力されるEthernetフレームを選択的に信号線Ｌ２に出力する。ヘッダ抽出部１４は、信号線Ｌ２に出力されたEthernetフレーム１００のＬ２ヘッダ１１０を解析し、フレームタイプ１１４に示されるフレーム長を信号線Ｌ１２に、宛先MACアドレス１１１と送信元MACアドレス１１２とを信号線Ｌ３に、Ｌ２ヘッダ１１０を信号線Ｌ４に出力する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
バッファ制御部１５は、信号線Ｌ２に出力されたEthernetフレーム１００のバッファメモリ１３への書き込みと、バッファメモリ１３から信号線Ｌ６に対するEthernetフレーム１００の読み出しを行う。また、バッファ制御部１５は、ヘッダ抽出部１４が信号線Ｌ１２に出力するフレーム長に基づいて、バッファメモリ１３に対するEthernetフレームの書き込みを制御し、バッファメモリ１３からのEthernetフレームの読み出しに連動して、信号線Ｌ１５にセレクタ１２の切り替え制御信号を出力し、次のEthernetフレームをバッファメモリ１３に書き込む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
経路検索部２０は、図３に示すように、ヘッダ抽出部１４が信号線Ｌ３に出力する宛先MACアドレス１１１に基づいて、経路制御用連想メモリ２００に格納されるフォワーディングテーブル２０２から一致する検索条件を検索する。検索条件を検索した結果、一致した場合には、経路情報テーブル２０４から経路制御情報７００を検索する。経路制御情報７００は、図７Ａに示すように、例えば、Ethernetフレームの出力インタフェースモジュールの情報などを含んでいる。経路制御部２０は、経路制御情報７００を信号線Ｌ７に出力する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
フロー制御部３０は、図４に示すように、ヘッダ抽出部１４が信号線Ｌ４に出力するＬ２ヘッダ１１０に基づいて、フロー制御用連想メモリ３００に格納されるフロー識別テーブル３０２から一致する検索条件を検索する。検索条件を検索した結果、一致した場合には、フロー制御テーブル３０４からフロー制御情報８００を検索する。フロー制御情報８００は、図７Ｂに示すように例えば、Ethernetフレームの転送可否識別子８０１や送信優先度を示す通信品質情報８０２などを含んでいる。フロー制御部３０は、転送可否識別子８０１を信号線Ｌ５に出力し、通信品質情報８０２を信号線Ｌ８に出力する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
このとき、バッファ制御部１５は、信号線Ｌ１４からフロー制御テーブルエラーが入力されると、フロー制御を無効と解釈し、メモリバッファ１３に蓄積されるEthernetフレームを破棄する。
データ中継部１６は、信号線Ｌ６からEthernetフレーム１００が入力されると、信号線Ｌ８から入力された通信品質情報８０２に示される優先度に従って、これを信号線Ｌ７から入力された経路制御情報７００が示す出力ポート番号ｋと対応するインタフェースモジュール１１−ｋに出力する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
図５は、本発明の経路制御部２０に適用されるフォワーディングテーブル制御部２０１と、経路制御用連想メモリ２００との接続形態を示す。
経路制御用連想メモリ２００は、簡単化の為、図５に示すように、経路制御用連想メモリアレイ２２０と、経路制御用プライオリティエンコーダ２１０とからなるとする。
経路制御連想メモリアレイ２２０は、検索条件となる経路制御検索データを格納する１つ以上のエントリを含む複数の経路制御物理バンク２０２１−ｉ（ｉ＝１〜Ｎ）からなる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
経路制御バンク決定部２１２は、信号線Ｌ２１０１から入力された経路制御検索キー及び送信元MACアドレス検索キーまたは信号線Ｌ２１０６から入力された経路制御検索データを入力とし、アクティブにすべき物理バンクに対するアクティベーション電力と経路制御検索キーまたは経路制御検索データを経路制御用連想メモリ２００に向けて出力する。
ここで，経路制御バンク決定部２１２は、図９に示すように入力に対してアクティブにすべき物理バンクの番号をハッシュ関数によって求める経路制御用ハッシュ関数部２１２１と、信号線Ｌ２６に接続される経路制御用レジスタ２１２２と、経路制御用ハッシュ関数部２１２１が求め
たハッシュ値を経路制御用レジスタ２１２２に示される値へ変換してアクティブにすべき物理バンクを決定する経路制御用ハッシュ値変換部２１２３とからなる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
経路制御結果解析部２１５は、フォワーディングテーブル２０２を格納する経路制御用連想メモリ２００において、フォワーディングテーブル２０２の検索結果として経路制御用連想メモリ２００から出力される経路制御検索キーと一致するエントリのアドレスが有効か無効かを解析する。ここで、無効である場合は、信号線Ｌ２４を介して、経路制御用テーブルエラー制御部２０６に通知する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
図６は、本発明のフロー制御部３０に適用されるフロー識別テーブル制御部３０１と、フロー制御用連想メモリ３００との接続形態を示す。
フロー制御用連想メモリ３００は、簡単化の為、図６に示すように、フロー識別用連想メモリアレイ３２０と、フロー制御用プライオリティエンコーダ３１０とからなるとする。
フロー識別用連想メモリアレイ３２０は、フロー制御検索キーの検索条件となるフロー制御検索データを格納する１つ以上のエントリを含む複数のフロー制御物理バンク３０２１−ｉ（ｉ＝１〜Ｎ）からなる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
フロー制御バンク決定部３１２は、信号線Ｌ３１０１から入力されたフロー制御検索キーまたは信号線Ｌ３１０６から入力されたフロー制御検索データを入力とし、アクティブにすべき物理バンクに対するアクティベーション電力とフロー制御検索キーまたはフロー制御検索データをフロー制御用連想メモリ３００に向けて出力する。ここで，フロー制御バンク決定部３１２は、図１０に示すように入力に対してアクティブにすべき物理バンクの番号をハッシュ関数によって求めるフロー制御用ハッシュ関数部３１２１と、信号線Ｌ３６に接続されるフロー制御用レジスタ３１２２と、フロー制御用ハッシュ関数部３１２１が求めたハッシュ値をフロー制御用レジスタ３１２２に示される値へ変換してアクティブにすべき物理バンクを決定するフロー制御用ハッシュ値変換部３１２３とからなる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
フロー制御結果解析部３１５は、フロー識別テーブル３０２を格納するフロー制御用連想メモリ３００において、フロー識別テーブル３０２の検索結果としてフロー制御用連想メモリ３００から出力されるフロー制御検索キーと一致するエントリのアドレスが有効か無効かを解析する。ここで、無効である場合は、信号線Ｌ３４を介して、フロー制御用テーブルエラー制御部３０６に通知する。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
【図１】本発明によるデータ転送装置１０の１実施例を示すブロック図。
【図２】データ転送装置１０に入力される可変長Ethernetフレームのフォーマットの１例を示す図。
【図３】経路制御部２０の１実施例を示すブロック図。
【図４】フロー制御部３０の１実施例を示すブロック図。
【図５】フォワーディングテーブル制御部２０１の１実施例を示す図、並びにフォワーディングテーブル制御部２０１と経路制御用連想メモリ２００との関係を示す図。
【図６】フロー識別テーブル制御部３０１の１実施例を示す図、並びにフロー識別テーブル制御部３０１とフロー制御用連想メモリ３００との関係を示す図。
【図７Ａ】Ethernetフレーム転送時における経路情報テーブル２０４のエントリに格納される経路制御情報７００のフォーマットを示す図。
【図７Ｂ】Ethernetフレーム転送時におけるフロー制御テーブル３０４のエントリに格納されるフロー制御情報８００のフォーマットを示す図。
【図８】データ転送装置１０に入力される可変長ＩＰパケットのフォーマットを示す図。
【図９】経路制御バンク決定部２１２の１実施例を示すブロック図。
【図１０】フロー制御バンク決定部３１２の１実施例を示すブロック図。
【図１１】経路制御用連想メモリアレイ２２０を示す図。
【図１２】フロー識別用連想メモリアレイ３２０を示す図。