(57)【特許請求の範囲】
【請求項１】
複数本の入力回線から入力されたパケットを、前記パケットのヘッダに含まれる宛先情報に基づき複数本の出力回線のいずれかに交換するパケット交換装置において、前記パケットを蓄積するバッファメモリ手段と、前記バッファメモリ手段を複数のパケットフロー単位で共通的に使用するための複数のアドレス管理手段と、前記パケットフロー単位毎に複数個の前記アドレス管理手段をパイプライン制御するための複数のアドレス管理制御手段とで構成したことを特徴とするパケット交換装置。
【請求項２】
複数本の入力回線から入力されたパケットを、前記パケットのヘッダに含まれる宛先情報に基づき複数本の出力回線のいずれかに交換するパケット交換装置において、前記パケットを蓄積するバッファメモリ手段と、前記バッファメモリ手段を複数のパケットフロー単位で共通的に使用するための複数の書き込みアドレス管理手段と、前記バッファメモリ手段を前記複数のパケットフロー単位で共通的に使用するための複数の読み出しアドレス管理手段と、前記パケットフロー毎に複数個設けられた前記書き込みアドレス管理手段を巡回的に選択する書き込みアドレス巡回選択制御手段と前記パケットフロー毎に複数個設けられた前記読み出しアドレス管理手段を巡回的に選択する読み出しアドレス巡回選択制御手段とで構成したことにより、前記バッファメモリ手段に対して前記パケットフロー毎の読み出しアドレスを連続的に出力可能とすることを特徴とするパケット交換装置。
【請求項３】
複数本（ｍ×ｎ本）の入力回線から入力されたパケットを、前記パケットのヘッダに含まれる宛先情報に基づき複数本（ｍ×ｎ本）の出力回線のいずれかに交換するパケット交換装置において、複数本（ｎ本）の入力回線のそれぞれをｍ本に分離して、前記複数本（ｍ×ｎ本）の入力回線に接続する複数（ｎ個）の分離回路と、前記複数本（ｍ×ｎ本）の出力回線のｍ本ずつを多重して、複数（ｎ本）の出力回線に接続する複数（ｎ個）の多重回路と、前記パケットを蓄積するバッファメモリ手段と、前記バッファメモリ手段を複数のパケットフロー間で共通的に使用するための複数（ｍ×ｎ）の書き込みアドレス管理手段と、前記バッファメモリ手段を前記複数のパケットフロー間で共通的に使用するための複数（ｍ×ｎ）の読み出しアドレス管理手段と、前記パケットフロー毎に複数（ｍ個）の前記書き込みアドレス管理手段を巡回的に選択する書き込みアドレス巡回選択制御手段と、前記パケットフロー毎に複数（ｍ個）の前記読み出しアドレス管理手段を巡回的に選択する読み出しアドレス巡回選択制御手段にて構成したことにより、前記バッファメモリ手段に対して前記パケットフロー毎の読み出しアドレスを連続的に出力可能とすること、を特徴とするパケット交換装置。
【請求項４】
前記パケットフローは、前記出力回線単位とすること、を特徴とする請求項１もしくは請求項２もしくは請求項３のいずれかに記載のパケット交換装置。
【請求項５】
前記パケットフローは、前記出力回線単位かつ品質クラス単位とすること、を特徴とする請求項１もしくは請求項２もしくは請求項３のいずれかに記載のパケット交換装置。
【請求項６】
請求項３において、前記書き込みアドレス巡回選択制御手段、および前記読み出しアドレス巡回選択制御手段の使用および未使用を切替可能とするための切替手段を有すること、を特徴とするパケット交換装置。
【請求項７】
入力回線より入力されるパケットを前記パケットのヘッダに含まれる宛先情報に基づいて複数本の出力回線単位のキューバッファにバッファリングする複数の入力バッファ手段と、前記複数の入力バッファより出力された複数の前記パケットを前記複数本の出力回線に接続するクロスバスイッチ手段と、前記複数の入力バッファのパケット蓄積状態に基づく出力調停処理を行い、前記クロスバスイッチ手段の接点接続変更を行うスイッチ制御手段より構成されるパケット交換装置において、前記入力バッファ手段を前記パケットを蓄積するバッファメモリ手段と、前記バッファメモリ手段を前記複数の出力回線単位のキューバッファ間で共通的に使用するための複数の書き込みアドレス管理手段と、前記バッファメモリ手段を前記複数本の出力回線単位のキューバッファ間で共通的に使用するための複数の読み出しアドレス管理手段と、前記出力回線単位に複数個設けられた前記書き込みアドレス管理手段を巡回的に選択する書き込みアドレス巡回選択制御手段と前記出力回線毎に複数個設けられた前記読み出しアドレス管理手段を巡回的に選択する読み出しアドレス巡回選択制御手段とで構成したことを特徴とするパケット交換装置。
【請求項８】
前記書き込みアドレス巡回選択制御手段を、複数の書き込みアドレスを巡回的に選択するための書き込みアドレスセレクタおよび、該当する入力セルの到着毎に前記書き込みアドレスセレクタの切替え指示を行う巡回振り分けポインタにて構成したこと、また、前記読み出しアドレス巡回選択制御手段を、複数の読み出しアドレスを巡回的に選択するための読み出しアドレスセレクタおよび、該当するパケットフローの読み出し毎に、前記読み出しアドレスセレクタの切替え指示を行う巡回読み出しポインタにて構成したことにより、複数の前記読み出しアドレス管理手段から前記バッファメモリ手段に対して、読み出しアドレスを連続的に出力可能とすること、を特徴とする請求項２もしくは請求項３もしくは請求項７のいずれかに記載のパケット交換装置。
【請求項９】
前記読み出しアドレス巡回選択制御手段および、前記書き込みアドレス巡回選択制御手段は、前記書き込みアドレス管理手段および、これと対となる前記読み出しアドレス管理手段が、同一の順序で巡回選択制御を行うことにより、複数の前記読み出しアドレス管理手段から前記バッファメモリ手段に対して、読み出しアドレスを連続的に出力可能とすること、を特徴とする請求項２もしくは請求項３もしくは請求項７のいずれかに記載のパケット交換装置。
【請求項１０】
前記バッファメモリ手段は、前記読み出しアドレス管理手段のアドレス更新が終了する以前に、同一の前記パケットフローに割り当てられた別の前記読み出しアドレス管理手段よりアドレスを受け取ることにより、複数の前記読み出しアドレス管理手段から前記バッファメモリ手段に対して、読み出しアドレスを連続的に出力可能とすること、を特徴とする請求項２もしくは請求項３もしくは請求項７のいずれかに記載のパケット交換装置。
【請求項１１】
前記バッファメモリ手段は、前記読み出しアドレス管理手段のアドレス更新周期より短い間隔で、前記パケットフローに属するパケットデータを出力することにより、複数の前記読み出しアドレス管理手段から前記バッファメモリ手段に対して、読み出しアドレスを連続的に出力可能とすること、を特徴とする請求項２もしくは請求項３もしくは請求項７のいずれかに記載のパケット交換装置。
【請求項１２】
前記書き込みアドレス巡回選択制御手段において、前記振り分けポインタ手段は、ｍ進カウンタ手段（ｍは各パケットフローに割り当てられた前記アドレス管理手段の数）にて構成され、前記パケットフローに属するパケットの到着毎にカウントアップし、前記書き込みアドレスセレクタは、前記ｍ進カウンタの値をデコードして、前記書き込みアドレス管理手段を巡回選択することにより、複数の前記読み出しアドレス管理手段から前記バッファメモリ手段に対して、読み出しアドレスを連続的に出力可能とすること、を特徴とする請求項８に記載のパケット交換装置。
【請求項１３】
前記読み出しアドレス巡回選択制御手段において、前記読み出しポインタ手段は、ｍ進カウンタ手段（ｍは各パケットフローに割り当てられた前記アドレス管理手段の数）にて構成され、前記パケットフローに属するパケットの読み出し毎にカウントアップし、前記読み出しアドレスセレクタは、前記ｍ進カウンタの値をデコードして、前記読み出しアドレス管理手段を巡回選択することにより、複数の前記読み出しアドレス管理手段から前記バッファメモリ手段に対して、読み出しアドレスを連続的に出力可能とすること、を特徴とする請求項８に記載のパケット交換装置。
【請求項１４】
複数のパケット入力回線と、複数のパケット出力回線と、前記複数のパケット入力回線から入力されたパケットを蓄積するバッファメモリと、入力されたパケットのヘッダに含まれる宛先情報に基づき、前記複数のパケット出力回線の目的の出力回線に対応する前記バッファメモリ上のアドレスにパケットを書き込む書込手段と、前記複数のパケット出力回線毎に対応する前記バッファメモリ上のアドレスを指定して格納されているパケットを読み出す読出手段とを有し、該読出手段は、一つのパケット出力回線に対して一つのアドレスに対応するパケットが前記バッファメモリから出力される前に次のアドレスを指定することを特徴とするパケット交換装置。
【請求項１５】
複数のパケット入力回線と、複数のパケット出力回線と、前記複数のパケット入力回線から入力された可変長パケットを固定長パケットに区切って蓄積するバッファメモリと、入力された可変長パケットのヘッダに含まれる宛先情報に基づき、前記複数のパケット出力回線の目的の出力回線に対応する前記バッファメモリ上のアドレスに固定長パケットを書き込む書込手段と、前記複数のパケット出力回線毎に対応する前記バッファメモリ上のアドレスを指定して格納されている固定長パケットを読み出す読出手段とを有し、該読出手段は、一つのパケット出力回線に対して一つのアドレスに対応する固定長パケットが前記バッファメモリから出力される前に次のアドレスを指定することを特徴とするパケット交換装置。
【請求項１６】
複数のパケット入力回線と、複数のパケット出力回線と、前記複数のパケット入力回線から入力されたパケットを蓄積するバッファメモリと、入力されたパケットのヘッダに含まれる宛先情報に基づき、前記複数のパケット出力回線の目的の出力回線に対応する前記バッファメモリ上のアドレスにパケットを書き込む書込手段と、前記複数のパケット出力回線の目的の出力回線に対応する前記バッファメモリ上のアドレスからパケットを読み出す読出手段とを有し、該書込手段は、一つのパケット出力回線において同一のフローを構成するパケットを複数の論理キューに巡回的に振り分ける振り分けポインタを有し、該読出手段は、一つのパケット出力回線において同一のフローを構成するパケットに対応した前記複数の論理キューを巡回選択することにより、前記バッファメモリに対して同一のフローを構成するパケットに対応したアドレスを連続的に出力可能とすることを特徴とするパケット交換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非同期転送モード（以下ＡＴＭと称する）に使用されるパケット信号の交換装置や、ＩＰパケットの転送を行うためのパケット交換装置に関する。
【０００２】
【従来の技術】
図１４に一般的な固定長パケット（ＡＴＭの場合にはセルと呼ばれる）を交換するＡＴＭ交換装置の構成を示す。ＡＴＭ交換装置は、入力回線対応部８５、スイッチ部８６、出力回線対応部８７、制御部８８を有する。入力回線対応部８５は、伝送路８５０より入力される物理レイヤ信号を終端する伝送路終端部８５１、流量監視や性能監視を行うUPC(Usage Parameter Control)/OAM(Operation、 administration and Maintenance)部８５２、入力セルのラベルを変換しスイッチでのルーティング用ヘッダを付与するヘッダ変換部８５３を有する。出力回線対応部８７は、ＯＡＭ部８７１、伝送路８７０へ出力するためＡＴＭレイヤを終端し物理レイヤ信号処理を行う伝送路出力部を有する。出力回線対応部８７は、細かな出力回線単位に振り分けを行う。また、出力回線対応部８７は、品質制御を行うためのバッファを有することもある。
【０００３】
ＡＴＭスイッチとしては、電子情報通信学会刊「広帯域ＩＳＤＮとＡＴＭ技術」（平成７年２月刊行）の１０１ページにて、セルバッファメモリの使用方法に対応してタイプの異なるＡＴＭスイッチが提案されている。また、USP4910731もしくは、電子情報通信学会論文誌(B-I)J72-B-I、 No.11、 pp1062-1069の「バッファを共通化したＡＴＭ交換用メモリスイッチ」に示されている、集中設置されたセルバッファを出力方路間で共通的に使用する共通バッファ形のＡＴＭスイッチがある。
【０００４】
図２に従来技術による共通バッファ形スイッチの構成を示す。入力回線１０（１０−１〜１０−ｎ）から入力されたセルはセル多重部２に入力される。ルート・デコーダ４はセル多重部２から出力されたセルのヘッダから目的の出力回線に対応する書込みアドレスレジスタ（ＷＡ）６（６−１〜６−ｎの何れか）を選択し、セル書込みアドレスをバッファメモリ１に送る。セル多重部２から出力されたセルは、書込みアドレスレジスタ（ＷＡ）６（６−１〜６−ｎの何れか）で指定されたバッファメモリ１内のセル格納部１−１に書込まれる。このとき、空アドレスバッファ８から読み出された空アドレスが、指定されたセル格納部１−１と同一アドレスのアドレスポインタ格納領域１−２と、 選択された書込みアドレスレジスタ（ＷＡ）６（６−１〜６−ｎの何れか）に書き込まれる。各読出し時刻にバッファメモリ１から読み出されるセルの読出しアドレスは、出力回線対応の読出しアドレスレジスタ（ＲＡ）７（７−１〜７−ｎの何れか）によって決定される。出力カウンタ９はアドレスレジスタ（ＲＡ）７−１〜７−ｎを周期的に指定する。バッファメモリ１から出力されたセルはセル分離部３によって、目的の出力回線１１（１１−１〜１１−ｎ）に振り分けられて出力される。セルが読み出されると同時に、同一アドレスのアドレスポインタが出力カウンタ９で指定された読出しアドレスレジスタ（ＲＡ）（７−１〜７−ｎの何れか）に書き込まれる。そして、セルが読み出されたバッファメモリのアドレスは空アドレスバッファ８に書き込まれる。
【０００５】
図３にアドレスポインタによる出力順序チェーンの構成例を示す。出力回線１１−１に対応する出力順序チェーン２０−１が、読出しアドレスレジスタ（ＲＡ１）７−１に格納されている先頭アドレスと書込みアドレスレジスタ（ＷＡ１）６−１に格納されている末尾アドレスとの間で構成されている。出力回線１１−２に対応する出力順序チェーン２０−２が、読出しアドレスレジスタ（ＲＡ２）７−２に格納されている先頭アドレスと書込みアドレスレジスタ（ＷＡ２）６−２に格納されている末尾アドレスとの間で構成されている。
【０００６】
以上は、出力回線単位に出力順序チェーンを構成することで、同一のバッファメモリ内に出力回線毎の論理キューを実現する例である。これらの例は、USP4910731にも示される、 品質クラスに対応した複数の論理キューを出力回線毎に割り当てて、優先制御や帯域制御を行うことも可能である。
【０００７】
また、特開平3-101441は、入出力回線速度Ｖのｎ×ｎ共通バッファスイッチに対して、入力回線にｍ分離回路を、また出力回線にｍ多重回路を接続することを開示している。そのため、入出力回線速度ｍＶ×ｍＶの（ｎ／ｍ）×（ｎ／ｍ）共通バッファスイッチとなっている。
【０００８】
図４に、入出力回線速度が２倍の２×２共通バッファスイッチを示す。入力回線１２−１は分離回路１３−１により、セル多重部２への入力回線１０−１、１０−２へ分離される。セル多重部２により多重されたセルは、出力回線１５−１、１５−２にそれぞれ対応した出力順序チェーンを構成して共通バッファ１に格納される。出力回線１５−１に対応したセルは、該当する出力順序チェーンの先頭より２セル連続して読み出される。２セルはそれぞれ出力回線１１−１および１１−２を通して出力された後、多重回路１４−１により多重される。
【０００９】
以上は、ＡＴＭ交換に使用される固定長パケットスイッチの一種である共通バッファ形スイッチである。しかし、ＩＰ（インターネット・プロトコル）パケットの転送に用いられる大容量ルータにおいても、入力される可変長パケットを、ルータ装置内部で固定長のパケットに区切って、高速にハードウエア・スイッチングを行い、その後、元の可変長パケットに再構成して出力する案が提案されている。Hot Interconnects V、 Stanford University、 August 1996."The Tiny Tera: A Packet Switch Core"では、クロスバスイッチの前段に入力バッファを配置して、入出力ポート間のスケジューリングをした後にスイッチングを行う構成が提案されている。この構成においては、各入力バッファは出力方路単位別のキューバッファに分割されている。従って、スケジューラにより出力指示された任意のキューバッファからの読み出しを可能とすることで、ＨＯＬ（Ｈｅａｄ  Ｏｆ  Ｌｉｎｅ  Ｂｌｏｃｋｉｎｇ）によるスループットの低下を防止している。
【００１０】
【発明が解決しようとする課題】
上記従来技術においては、出力回線毎に出力順序チェーンが構成されている。そのため、出力回線速度は出力順序チェーンの更新時間により制限される。
【００１１】
本発明の目的は、 高速な入出力回線を持つ共通バッファ形スイッチを提供することである。
【００１２】
【課題を解決するための手段】
出力回線もしくは品質クラスなどの１つのフローに対して複数の出力順序チェーンが割当てられる。これら複数の出力順序チェーンを有する複数の論理キューをパイプライン化する。具体的には、フロー毎のセル流を複数の出力順序チェーンへ巡回的に振り分けを行うための振り分けポインタが設けられる。さらに、セルの順序逆転が起こらないように出力チェーンを巡回的に選択して読み出しを行うための、読み出しポインタがフロー毎に設けられる。これにより、１つの出力順序チェーンの更新が終了する前に、次の出力順序チェーンにアクセスを行うことができる。その結果、各フローに属するセルの出力時間間隔の短縮が実現される。
【００１３】
また、振り分けポインタ、および読み出しポインタの使用・未使用を切り替えることにより、同一の共通バッファ形スイッチにおいて高速・低速入出力回線の切替え使用、もしくは、これらの混在使用が可能となる。
【００１４】
【発明の実施の形態】
第１の実施例
以下の説明では、例えば上記従来の技術で説明した従来の共通バッファ形スイッチの構成（図２）とは異なる部分のみ説明し、同じ構成についてはその詳細説明を省略する。
【００１５】
ｎ×ｎの交換容量を有する高速回線対応共通バッファ形スイッチを図１に示す。共通バッファ形スイッチは、バッファメモリ１、セル多重部２、セル分離部３、ルート・デコーダ４、出力デコーダ５、空アドレスバッファ８、出力カウンタ９、入力回線１０（１０−１〜１０−ｎ）、出力回線１１（１１−１〜１１−ｎ）、書込みアドレスレジスタ（ＷＡ）２０、ＷＡ選択回路２１、振り分けポインタ２２、読出しアドレスレジスタ（ＲＡ）３０、ＲＡ選択回路３１、および読み出しポインタ３２を有する。バッファメモリ１は、同一アドレスを有するセル格納部１−１およびアドレスポインタ格納領域１−２を有する。
【００１６】
入力回線１０（１０−１〜１０−ｎ）から入力されたセルはセル多重部２に入力される。ルート・デコーダ４はセル多重部２から出力されたセルのヘッダに従って、目的の出力回線をデコードする。デコードされた出力回線に対応するＷＡ選択回路２１は、振り分けポインタ２２−１従って、ｍ個の書き込みアドレスレジスタ（２０−ｘ−１〜２０−ｘ−ｍ、ｘは１からｎ）の１つを巡回的に選択する。例えば、出力方路１に対しては振り分けポインタ２２−１により、書き込みアドレスレジスタＷＡ１１（２０−１−１）から書き込みアドレスレジスタＷＡ１ｍ（２０−１−ｍ）が巡回的に選択される。選択された書き込みアドレスレジスタ２０に格納されているアドレスはバッファメモリ１へ送信される。セル多重部２から出力されたセルは、書込みアドレスレジスタ２０（２０−１−１〜２０−ｎ−ｍの何れか）で指定されたバッファメモリ１内のセル格納部１−１に書込まれる。このとき、空アドレスバッファ８から読み出された空アドレスが、指定されたセル格納部１−１と同一アドレスのアドレスポインタ格納領域１−２と、選択された書込みアドレスレジスタ（ＷＡ）２０（２０−１−１〜２０−ｎ−ｍの何れか）に書き込まれる。以上の構成により、同一出力回線宛てのセルが、巡回的にｍ個の出力順序チェーンへ巡回的に書き込まれる。
【００１７】
次にセルの読み出し動作について説明する。各読出し時刻にバッファメモリ１から読み出されるセルの読出しアドレスは、出力カウンタ９より指示される方路（１からｎ）に対して、各方路毎に設けられているｍ個の読出しアドレスレジスタ（ＲＡ）３０（３０−ｘ−１〜３０−ｘ−ｍ、ｘは１からｎ）の一つを選択することにより指示される。本実施例の場合、出力カウンタはｎ進カウンタとする。ここで、方路毎の読み出しアドレスレジスタ３０の選択はＲＡ選択回路３１により、セルの順序逆転が起こらないように、つまり、対となる書き込みアドレスレジスタ２０と同じ順序の巡回選択が行われるように、読み出しポインタ３２より指示する。セル格納部１−１から出力されたセルはセル分離部３によって、目的の出力回線１１（１１−１〜１１−ｎ）に振り分けられて出力される。セルが読み出されると同時に、同一アドレスに格納されているアドレスポインタが出力カウンタ９で指定された読出しアドレスレジスタ（ＲＡ）３０（３０−１−１〜３０−ｎ−ｍの何れか）に書き込まれる。セル読み出し終了後のバッファメモリのアドレスは空アドレスバッファ８に書き込まれる。
【００１８】
次に本発明の特徴となるセル書き込み時の振り分け処理の詳細を図５に示す。振り分けポインタ２２はｍ進カウンタ２２０を有する。自方路宛てのセルが入力された場合には、ルートデコーダ４よりイネーブル信号（ｅｎｂ）４００が振り分けポインタ２２に入力され、ｍ進カウンタ２２０がカウントアップする。ＷＡ選択回路２１は、カウンタ値２２２をデコードすることにより、ｍ個のＷＡ２０のうちの一つを選択する。以上の構成により、自方路に該当するセルが入力されると、ｍ個のＷＡ２０が巡回的に選択される。
【００１９】
図６はセル読み出し処理の詳細を示す。読み出しポインタ３２はｍ進カウンタ３２０を有する。出力デコーダ５より自方路の出力タイミングであることを通知されるとイネーブル信号（ｅｎｂ）４０１が、読み出しポインタ３２に入力され、該当方路に読み出しセルがある場合のみ、ｍ進カウンタ３２０がカウントアップする。該当方路に読み出しセルがあるかどうかは、残セル情報３２３により通知される。残セル情報３２３は、方路毎の入力セル数と出力セル数より計算される。もしくは、出力順序チェーンのＷＡ６とＲＡ７の一致／不一致により判定することもできる。ＲＡ選択回路３１では、読み出しポインタ３２より出力されるカウンタ値３２２をデコードして、ｍ個のＲＡ２０のうちの一つを選択する。以上の構成により、自方路に該当するセルの出力毎にｍ個のＷＡ２０が巡回選択される。さらに、振り分けポインタ２２と読み出しポインタ３２は、初期化時にそれぞれリセット信号２２１、３２１を入力し、それぞれのカウンタ値をゼロにリセットする。
【００２０】
次に図７と図８に示すタイムチャートを用いて、各出力回線に対してのセル出力時間間隔短縮の効果を示す。図７は、図２に示す従来の共通バッファ形スイッチに使用されているように、各出力回線に対して１つの出力順序チェーン５０−１を割り当てた場合である。本例では、バッファメモリ１にアドレスを与えた後、セルデータとアドレスポインタが出力されて読み出しアドレスレジスタ３０が更新されるのに３タイミングを要すると仮定する。例として図２の出力方路１１−１に対応する出力順序チェーンを考えた場合、読み出しアドレスレジスタ（ＲＡ１）７−１より時刻Ｔ１で与えたアドレスＡ１１に対して、セルデータＤ１１およびアドレスポインタＡ１２は、時刻Ｔ４にてバッファメモリ１より出力される。読み出しアドレスレジスタ（ＲＡ１）７−１の内容はＡ１２に更新され、その後、時刻Ｔ５でアドレスＡ１２をバッファメモリ１に与えると、次のセルデータが出力されるのは時刻Ｔ８である。つまり、セルデータの出力間隔は４タイミング周期（５０−２）となる。
【００２１】
図８は、各出力回線に対して複数（本例では４本）の出力順序チェーン５１−ａ〜５１−ｄを割り当ててパイプライン化を行った場合のタイムチャートである。例として、図１の出力方路１１−１に対応する出力順序チェーンを考えた場合、時刻Ｔ１で読み出しアドレスレジスタ（ＲＡ１１）３０−１−１より与えたアドレスＡａ１に対して、セルデータＤａ１およびアドレスポインタＡａ２は、時刻Ｔ４にて出力される（５１−ａ）。また、時刻Ｔ２で読み出しアドレスレジスタ（ＲＡ１２）３０−１−２より与えたアドレスＡｂ１に対して、セルデータＤｂ１およびアドレスポインタＡｂ２は、時刻Ｔ５にて出力される（５１−ｂ）。このように、１つの出力順序チェーンの更新が終了する前に、連続して、別の出力順序チェーンのアドレスをバッファメモリ１に与えることができるので、セルデータの出力間隔は１タイミング周期（５１−２）となる。
【００２２】
図１５は、バッファメモリ１として外付けＲＡＭ５０１を用いて、これを制御用ＡＳＩＣ５４０より制御する構成とした例である。外付けＲＡＭ５０１としては汎用のＳＲＡＭ、ＤＲＡＭなどを使用することができる。外付けＲＡＭ５０１は、セル格納部５０１−１とアドレスポインタ格納部５０１−２の領域に分割される。
【００２３】
図１６は、図８と同様のタイムチャートであり、ＲＡ出力５１０、次アドレス５２０、およびセルデータ５３０の出力タイミングを示している。
【００２４】
図９を用いて、振り分けポインタ２２により同一の出力回線宛てのセルを複数の出力順序チェーンに順次格納し、その後、読み出しポインタ３２により格納されたセルが順次、選択出力される様子を説明する。図９では、簡単のため２つの出力回線に対して、それぞれ４つの出力順序チェーンを割り当ててパイプライン化した構成を論理的に示している。セル多重部２より出力されたセルＡ〜Ｇ（５２−１〜５２−７）は、各々のヘッダに付与されている宛先情報（＃１もしくは＃２）に従って、出力方路対応の出力順序チェーン郡５３−１行きもしくは５３−２行きに振り分けられる。その後、出力方路＃１行きのセルは、振り分けポインタ２２−１により、巡回的に複数の出力順序チェーンへ振り分けらる。図９の例ではセルＡ（５２−１）、Ｂ（５２−２）、Ｄ（５２−４）、Ｅ（５２−５）、Ｆ（５２−６）が巡回的に４つの出力順序チェーン５３−１−ａ〜５３−１−ｄへ振り分けられている。読み出し時には、読み出しポインタ３２−１の指示により、セルバッファに格納された順序を保存するように読み出しが行われる。同様に、出力方路＃２行きのセルは、振り分けポインタ２２−２により、巡回的に複数の出力順序チェーンへ振り分けられる。図９の例ではセルＣ（５２−３）、Ｇ（５２−７）が巡回的に４つの出力順序チェーン５３−２−ａ〜５３−２−ｄへ振り分けられている。読み出し時には、読み出しポインタ３２−２の指示により、セルバッファに格納された順序を保存するように読み出しが行われる。
【００２５】
図９では２つの出力回線に対して、それぞれ４つの出力順序チェーンを割り当てる場合を示したが、出力品質回線毎ではなくクラス毎にそれぞれ４つの出力順序チェーンを割り当てた例を図１０に示す。各々のヘッダに付与されている宛先情報（＃１もしくは＃２）および品質クラス表示（Ｈ：高優先、Ｌ：低優先）に従って、出力方路別品質クラス対応の出力順序チェーン郡５３Ｈ−１、５３Ｌ−１、５３Ｈ−２、もしくは、５３Ｌ−２（５３Ｈは高優先キュー、５３Ｌは低優先キュー）に振り分けられる。その後、図９の例と同様に、各出力順序チェーン群毎の該当する振り分けポインタ２２により、巡回的に４つの出力順序チェーンへ振り分けられる。読み出しに関しては、出力回線別に設けられた読み出し制御部２５１の指示に従って、各出力順序チェーン群毎の読み出しポインタ３２およびセレクタ２５０が駆動され、各クラス単位でセルバッファに格納された順序を保存するように読み出しが行われる。図１０の例では、２クラスの完全優先制御（高優先セルを優先的に出力し、高優先セルが無い場合にのみ低優先セルを出力）が行われる例を示しているが、読み出し制御部の構成により、帯域制御等を行うことも可能である。さらに、品質クラス毎だけでなく、コネクションレベルや上位レイヤのパケットレベルなど様々なフロー毎においても同様に、本発明による共通バッファアドレスのパイプライン処理を適用することができる。
【００２６】
第２の実施例
図１１に、入出力回線速度Ｖのｍｎ×ｍｎ共通バッファ形スイッチに対して、入力回線にｍ分離回路を、また出力回線にｍ多重回路を接続した入出力回線速度ｍＶのｎ×ｎ共通バッファ形スイッチを示す。共通バッファ形スイッチは、バッファメモリ１、セル多重部２、セル分離部３、空アドレスバッファ８、入力回線１０（１０−１−１〜１０−ｎ−ｍ）、出力回線１１（１１−１−１〜１１−ｎ−ｍ）、入力回線１２（１２−１〜１２−ｎ）、出力回線１５（１５−１〜１５−ｎ）、セル分離回路１３（１３−１〜１３−ｎ）、セル多重回路１４（１４−１〜１４−ｎ）、書込みアドレスレジスタ（ＷＡ）２０、読出しアドレスレジスタ（ＲＡ）３０、ルート・デコーダ６０、出力デコーダ６１、出力カウンタ６２、振り分けポインタ＋ＷＡ選択回路６３、および、読み出しポインタ＋ＲＡ選択回路６４を有する。バッファメモリ１は、同一アドレスを有するセル格納部１−１およびアドレスポインタ格納領域１−２に領域が分割される。
【００２７】
共通バッファ形スイッチの低速回線モードでの動作について説明する。本モードでは、セル分離回路１３（１３−１〜１３−ｎ）、セル多重回路１４（１４−１〜１４−ｎ）は接続されない。また、振り分けポインタ＋ＷＡ選択回路６３、および、読み出しポインタ＋ＲＡ選択回路６４は、無効となるように設定される。つまり、スイッチ交換容量が、ｍｎ×ｍｎである以外は、図２で説明した既存の共通バッファ構成と同様である。
【００２８】
次に、高速回線モードでの動作について説明する。本モードにおいては、セル分離回路１３（１３−１〜１３−ｎ）、セル多重回路１４（１４−１〜１４−ｎ）を接続し、振り分けポインタ＋ＷＡ選択回路６３、および、読み出しポインタ＋ＲＡ選択回路６４が有効となるように設定する。まず、入力回線１２より入力されたセルデータはセル分離回路１３によりｍ本の複数の低速入力回線１０に分離され、セル多重部２へ入力される。その後、セル多重部２から出力されたセルのヘッダに従って、ルート・デコーダ６０は目的の出力回線をデコードする。デコードされた出力回線に対応する振り分けポインタ＋ＷＡ選択回路６３では、ｍ個の書き込みアドレスレジスタ（２０−ｘ−１〜２０−ｘ−ｍ、ｘは１からｎのいずれか）の１つを巡回的に選択する。振り分けポインタ＋ＷＡ選択回路６３の詳細動作は、図５で説明した通りである。
【００２９】
次にセルの読み出し動作について説明する。各読出し時刻にバッファメモリ１から読み出されるセルの読出しアドレスは、ｍ×ｎ進の出力カウンタ６２より指示される出力回線方路に対して、方路毎に設けられているｍ個の読出しアドレスレジスタ（ＲＡ）３０（３０−ｘ−１〜３０−ｘ−ｍ、ｘは１からｎのいずれか）の一つを選択することにより指示される。方路毎の読み出しアドレスレジスタの選択は、読み出しポインタ＋ＲＡ選択回路６４により、セルの順序逆転が起こらないように、つまり、書き込みアドレスレジスタ２０を選択したのと同順に巡回的な選択が行われるように指示する。読み出しポインタ＋ＲＡ選択回路６４の詳細動作は、図６で説明した通りである。
【００３０】
バッファメモリ１から出力されたセルはセル分離部３によって、低速出力回線１１に振り分けられて出力された後、セル多重回路１４により、セル順序が保存されるように出力回線１５へｍ多重される。以上に説明した動作原理により、入出力回線速度Ｖのｍｎ×ｍｎ共通バッファ形スイッチに対して、小規模な回路追加、および回路変更により、高速・低速入出力回線の切替え使用が可能となる。また、特定の低速回線にのみセル分離回路１３、セル多重回路１４を接続し、該当する振り分けポインタ＋ＷＡ選択回路６３、および読み出しポインタ＋ＲＡ選択回路６４を有効に設定することで、同一の共通バッファスイッチ上での低速回線と高速回線の混在も可能である。
【００３１】
第３の実施例
図１２に、ギガビットルータなどに用いられる入力バッファ＋クロスバスイッチの入力バッファとして本発明による共通バッファ形スイッチを適用する例を示す。
【００３２】
入力インタフェース７０においては、光レベルから電気レベルへの変換などの物理レイヤの終端処理および、入力されるパケットの宛先検索処理、可変長パケットから固定長パケットの変換処理などが行われる。その後、入力バッファ部８０において、セルが出力インタフェース（７２−１〜７２−ｎ）対応のキュー（以下、仮想出力キューと呼ぶ）８１（８１−１〜８１−ｎ）に振り分けられて格納される。入力バッファ８０からはセルの送出に先立って、送出リクエストを接続線７８を通じてスケジューラ７７に入力する。スケジューラ７７では出力インタフェース７２毎に、送出リクエストを出している入力インタフェース７０を１つ選択して、その入力インタフェース７０の仮想出力キューに送信可能であることを接続線７８を通じて通知すると同時に、接続線７９を通じてクロスバ・スイッチ７１の入出力接点の接続を変更する。また、出力インタフェース７２においては、固定長パケットから可変長パケットの変換処理、パケットのフィルタリング処理、品質制御、また、電気レベルから光レベル変換などの物理レイヤ処理などが行われる。
【００３３】
次に、本発明による入力インタフェースカード７０の入力バッファ部８０の詳細を図１３に示す。入力バッファ部は、バッファメモリ１、ルート・デコーダ４、出力デコーダ５、空アドレスバッファ８、入力回線７３、クロスバスイッチ７１への出力リンク７４、書込みアドレスレジスタ（ＷＡ）２０、ＷＡ選択回路２１、振り分けポインタ２２、読出しアドレスレジスタ（ＲＡ）３０、ＲＡ選択回路３１、読み出しポインタ３２、および制御部７７からの出力方路指示用接続線７８を有する。バッファメモリ１は、同一アドレスを有するセル格納部１−１およびアドレスポインタ格納領域１−２を有する。
【００３４】
入力回線７３より入力されたセルからは、宛先情報を含むヘッダが取り出され、８１を通じてルートデコーダ４へ入力される。セルバッファ１内には、図１２の仮想出力キュー（８１−１〜８１−ｎ）のそれぞれに相当する複数の出力順序チェーンが構成される。チェーンへの書き込みアドレス管理処理は、図１の共通バッファ形スイッチと同様である。出力順序チェーンからの読み出しに関しては、読み出し方路が、巡回カウンタではなくスケジューラ７７より出力方路指示用接続線７８を通じて指示される点が、図１、図１１の共通バッファ形スイッチとは異なる。その他の読み出しアドレス管理処理は、図１、図１１の共通バッファ形スイッチと同様である。本実施例では、仮想出力キュー別の出力順序チェーンを構成する例を示したが、図１０で示したように品質クラス別などの様々なフローレベル別の出力順序チェーンを構成することも可能である。以上の構成により、共通バッファを用いて、かつ高速接続リンク７４を有する入力バッファ部構成が可能となる。
【００３５】
【発明の効果】
本発明によれば、共通バッファ形スイッチの高速な入出力回線が可能となる。
【図面の簡単な説明】
【図１】本発明による高速入出力回線の共通バッファ形スイッチ。
【図２】従来の共通バッファ形スイッチ。
【図３】従来の共通バッファ形スイッチ。
【図４】従来の共通バッファ形スイッチ。
【図５】本発明の共通バッファ形スイッチの振り分け処理部。
【図６】本発明の共通バッファ形スイッチの読み出し処理部。
【図７】従来の共通バッファ形スイッチのセル出力のタイムチャート。
【図８】本発明の共通バッファ形スイッチのセル出力のタイムチャート。
【図９】本発明の共通バッファ形スイッチのアドレス管理動作例。
【図１０】本発明の共通バッファ形スイッチのアドレス管理動作の別例。
【図１１】本発明の共通バッファ形スイッチ構成の別例。
【図１２】本発明の共通バッファ形スイッチをギガビットルータに適用した例。
【図１３】本発明の共通バッファ形スイッチをギガビットルータに適用した例。
【図１４】従来のＡＴＭ交換装置。
【図１５】本発明の共通バッファスイッチ構成のメモリインタフェース例。
【図１６】図１５のタイムチャート。
【符号の説明】
１…バッファメモリ、２…セル多重部、３…セル分離部、４…ルートデコーダ、５…出力デコーダ、８…空アドレスバッファ、９…出力カウンタ、１０…入力回線、１１…出力回線、２０…書込みアドレス（ＷＡ）レジスタ、２１…ＷＡ選択回路、２２…振り分けポインタ、３０…読出しアドレス（ＲＡ）レジスタ、３１…ＲＡ選択回路、３２…読み出しポインタ。
【図１】
0003731385.tif 000002
【図２】
0003731385.tif 000003
【図３】
0003731385.tif 000004
【図４】
0003731385.tif 000005
【図５】
0003731385.tif 000006
【図６】
0003731385.tif 000007
【図７】
0003731385.tif 000008
【図８】
0003731385.tif 000009
【図９】
0003731385.tif 000010
【図１０】
0003731385.tif 000011
【図１１】
0003731385.tif 000012
【図１２】
0003731385.tif 000013
【図１３】
0003731385.tif 000014
【図１４】
0003731385.tif 000015
【図１５】
0003731385.tif 000016
【図１６】
0003731385.tif 000017