(57)【特許請求の範囲】
【請求項１】
複数の入力路のそれぞれに対応して配置され、宛先の付加されたパケットを順次蓄積する入力側蓄積手段と、
これらの入力側蓄積手段のそれぞれに蓄積されたパケットを周期的に取り出して１回で取り出した入力側蓄積手段ごとの全データに対して共通した１つのアドレスを割り当てこれらをアドレス単位で格納するデータ格納手段と、
複数の出力路のそれぞれに対応して配置され、パケットを順次蓄積する出力側蓄積手段と、
前記データ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットの送出されるべきそれぞれの出力側蓄積手段を前記宛先から判別する宛先判別手段と、
前記データ格納手段からアドレス単位でデータを順に周期的に取り出して、宛先判別手段の判別結果を用いて各パケットをそれぞれ対応する出力側蓄積手段に振り分けるパケット振分手段と、
前記出力側蓄積手段のそれぞれに蓄積されたパケットを順次出力させる出力路別パケット出力制御手段
とを具備することを特徴とするパケットスイッチ回路。
【請求項２】
データの最大伝送速度を個別に設定された複数の入力路のそれぞれに対応して配置され、宛先の付加されたパケットを順次蓄積する入力側蓄積手段と、
これらの入力側蓄積手段のそれぞれに蓄積されたパケットをデータの最大伝送速度が速いほど短くなるような値に予め設定された入力側蓄積手段ごとの周期で取り出して、１回で取り出した入力側蓄積手段ごとの全データに対して共通した１つのアドレスを割り当てこれらをアドレス単位で格納するデータ格納手段と、
複数の出力路のそれぞれに対応して配置され、パケットを順次蓄積する出力側蓄積手段と、
前記データ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットの送出されるべきそれぞれの出力側蓄積手段を前記宛先から判別する宛先判別手段と、
前記入力側蓄積手段に蓄積されたパケットのいずれかが前記データ格納手段に格納されるたびに前記データ格納手段からアドレス単位でデータを順に取り出して、宛先判別手段の判別結果を用いて各パケットをそれぞれ対応する出力側蓄積手段に振り分けるパケット振分手段と、
前記出力側蓄積手段のそれぞれに蓄積されたパケットを順次出力させる出力路別パケット出力制御手段
とを具備することを特徴とするパケットスイッチ回路。
【請求項３】
複数の入力路のそれぞれに対応して配置され、宛先の示されたパケットを順次蓄積する入力側蓄積手段と、
これらの入力側蓄積手段にそれぞれに蓄積されたパケットを周期的に取り出して入力側蓄積手段ごとの１回で取り出した全データに対して共通した１つのアドレスを割り当て、アドレス単位で格納するデータ格納手段と、
このデータ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットごとの送出先を前記宛先から判別する宛先判別手段と、
この宛先判別手段で判別したデータを前記データ格納手段からアドレス単位で順に読み出すデータ読出手段と、
このデータ読出手段がアドレス単位にデータを読み出すたびに前記宛先判別手段の対応する判別結果を使用してこの中から自己の取り込むべき宛先のパケットのみを選択する出力ポートごとに設けられたパケット選択手段と、
これらのパケット選択手段に対応して配置され、選択されたパケットを順次対応する出力路に出力する出力路別パケット出力手段
とを具備することを特徴とするパケットスイッチ回路。
【請求項４】
前記入力側蓄積手段はそれぞれの入力路からシリアルデータとしてパケットを順次入力して蓄積する手段であり、前記データ読出手段と出力ポートごとに設けられたパケット選択手段の間には、１つのアドレスの全データをパラレルにかつすべてのパケット選択手段に並行して伝送する伝送路が配置されていることを特徴とする請求項３記載のパケットスイッチ回路。
【請求項５】
前記データ格納手段は、それぞれの入力路のデータ伝送速度に反比例した周期で対応する入力側蓄積手段からアドレス単位のデータを取り出して格納する手段であり、前記データ読出手段はデータ格納手段に単位時間当たり格納されるアドレス単位のデータの量に反比例した周期で、このデータ格納手段からアドレス単位にデータを読み出す手段であることを特徴とする請求項３記載のパケットスイッチ回路。
【請求項６】
前記出力路別パケット出力手段は、前記１回で取り出した全データと同一量のデータを複数組格納可能で、予め定めた順序でこれらのメモリ領域を指定することでメモリ領域単位でデータの読み出しが行われるようになったパケット格納手段と、前記パケット選択手段で自己の取り込むべき宛先のパケットが選択されるたびにその全部のデータ量を算出するデータ量算出手段と、このデータ量算出手段で算出されたデータ量のパケットを転送するに先立って、前記パケット格納手段の読み出しが行われていない最も古い組のメモリ領域の空き容量とデータ量算出手段で算出したデータ量を比較する比較手段と、この比較手段によって比較された前記データ量の方が前記最も古い組のメモリ領域の空き容量以下であるときそのメモリ領域に前記パケット選択手段で選択されたパケットをすべて転送し、これ以外の場合にはこれらのパケットを前記最も古い組のメモリ領域の次に読み出されるべきメモリ領域にすべて転送するパケット転送手段を具備することを特徴とする請求項３記載のパケットスイッチ回路。
【請求項７】
前記パケット転送手段は前記パケット選択手段の選択したパケットを隙間なく再配置する再配置手段を備え、前記パケット転送手段はこの再配置手段によって再配置された各パケットを一括してパラレル転送することを特徴とする請求項６記載のパケットスイッチ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット通信網に使用されるパケットスイッチ回路に係わり、特に可変長パケットのスイッチングを行うパケットスイッチ回路に関する。
【０００２】
【従来の技術】
近年、パケット通信網は、マルチメディア・サービスの普及等の要因によりデータ通信量が急増している。特にデータ通信量が大きな基幹回線網等に接続されるルータでは、多数のパケットのスイッチングを行うことになり、取り扱うデータ量が大きくなる。これに伴い、パケットスイッチ回路のスイッチ容量、すなわち単位時間当たりの処理できるデータ量の大容量化が要求されている。ところが、パケットスイッチ回路に入力されるパケットが可変長パケットの場合、固定長パケットに比べてスイッチングの処理が複雑になり、スイッチ容量の大容量化を困難にしている。このため、従来から可変長パケットのスイッチングについてさまざまな工夫が行われている。
【０００３】
図１１は、従来提案された可変長パケットのスイッチングを実現するパケットスイッチ回路の構成を表わしたものである。特開平５−２２７２１１号公報で開示されたこのパケットスイッチ回路１１は、図示しない入力ポートと出力ポートの間にパスを設定してパケットを転送するスイッチ部１２と、この設定を制御するためのスイッチ制御部１３を備えている。スイッチ部１２の入力側には、第１の入力回線１４１から入力されるパケットを収容する第１の収容部１５１と、収容されたパケットを蓄積する第１のバッファ１６１と、蓄積されたパケットを分解する第１の分解部１７１がこの順に配置されている。ここで第１の分解部１７１は入力されるパケットを固定長の小パケットに分解するようになっている。第１の分解部１７１の出力側はスイッチ部１２の第１の入力ポートに接続されている。第２〜第Ｎの入力回線１４２〜１４Ｎに入力したパケットも同様に第２〜第Ｎの収容部１５２〜１５Ｎ、第２〜第Ｎのバッファ１６２〜１６Ｎ、および第２〜第Ｎの分解部１７２〜１７Ｎを経て、それぞれ対応する入力ポートに入力されるようになっている。
【０００４】
スイッチ部１２の出力側には、第１の出力ポートから出力される小パケットから元のパケットを組み立てる第１の組立部１８１と、組み立てられたパケットを蓄積する第１のバッファ１９１と、蓄積されたパケットを収容する第１の収容部２０１がこの順に配置されている。第１の収容部２０１はパケットを出力する第１の出力回線２１１に接続されている。第２〜第Ｎの出力ポートから出力されたパケットも同様に第２〜第Ｎの組立部１８２〜１８Ｎ、第２〜第Ｎのバッファ１９２〜１９Ｎ、および第２〜第Ｎの収容部２０２〜２０Ｎを経て、第２〜第Ｎの出力回線２１２〜２１Ｎから出力されるようになっている。
【０００５】
このスイッチ部１２では、固定長の小パケットをスイッチングしている。このとき、スイッチ制御部１３は分解された分の小パケットをすべてスイッチングするまで入力ポートと出力ポートの間にパスを設定し、第１〜第Ｎの組立部１８１〜１８Ｎでの元のパケットの組み立てを容易にしている。
【０００６】
ところが、入力ポートと出力ポートの間にパスを設定する場合、スイッチングの遅延の問題が発生することがある。たとえば複数の入力ポートに同一の出力ポートを宛先とするパケットが同時に入力された状況のとき、１つの入力ポートがパケットのスイッチングを終了するまでの間、他の入力ポートは同一宛先のパケットのスイッチングを開始することができない。入力されたパケットから順にスイッチングを開始するので、次々に入力されるパケットもスイッチングを待たされることになる。したがって、同一の出力ポートを宛先とするパケットが集中するとき、あるいは分解された小パケット数が多いときには、スイッチングを待たされるパケットが多く発生することがある。また、この待たされているパケットのスイッチングを後回しにして他のパケットのスイッチングを開始する追加機能を付加すると、スイッチ部１２の処理や回路の構成が複雑になるという問題が生じる。
【０００７】
そこで、スイッチングの遅延の問題を解消するパケットスイッチ回路が従来から提案されている。これらの提案の１つとしてのパケットスイッチ回路では、一般的なアクセスメモリ制御、すなわちデータの書き込みおよび読み出しを周期的に行うことを利用して周期的なスイッチングを行っている。
【０００８】
図１２は、従来提案されたこのようなアクセスメモリ制御を用いたパケットスイッチ回路の構成を表わしたものである。特開平６−５３９９６号公報で開示されたこのパケットスイッチ回路３１は、パケットを入力する第１〜第１４の入力回線３２１〜３２１４にそれぞれ対応する第１〜第１４の入力部分３３１〜３３１４と、パケットを出力する第１〜第１４の出力回線３４１〜３４１４にそれぞれ対応する第１〜第１４の出力部分３５１〜３５１４を備えている。第１の入力部分３３１は、入力されるパケットを受け取る第１のレシーバ３６１と、出力回線を決定する第１のルータ３７１を備えており、すべての出力部分３５１〜３５１４に第１のブロードキャストバス３８１で接続されている。第２〜第１４の入力部分３３２〜３３１４も同様に第２〜第１４のレシーバ３６２〜３６１４と、第２〜第１４のルータ３７２〜３７１４を備えており、第２〜第１４のブロードキャストバス３８２〜３８１４で接続されてすべての出力部分３５１〜３５１４にパケットを出力するようになっている。第１の出力部分３５１は、すべての入力部分３３１〜３３１４から受信するパケットのうち出力すべきパケットを判断する第１のスイッチメモリ３９１を備えており、これらの内部に出力すべきパケットを蓄積する第１の出力キュー４０１を持っている。第１の出力キュー４０１に接続される第１の３２ビットバス４１１によって、第１の出力回線３４１にパケットを出力する第１のトランスミッタ４２１と、パケットの長さを判断する第１のチョッパ４３１が接続されている。第２〜第１４の出力部分３５２〜３５１４も同様に第２〜第１４のスイッチメモリ３９２〜３９１４と、第２〜第１４の３２ビットバス４１２〜４１１４で接続される第２〜第１４のチョッパ４３２〜４３１４および第２〜第１４のトランスミッタ４２２〜４２１４を備えている。第２〜第１４のトランスミッタ４２２〜４２１４から第２〜第１４の出力回線３４２〜３４１４にパケットを出力するようになっている。
【０００９】
図１３は、スイッチメモリ内のアクセスメモリ制御によるパケットのスイッチングを簡単に説明するためのものである。図１２で示したスイッチメモリに入力されたパケットは入力シフトレジスタ５１によってシリアルに受信される。受信されたパケットは、入力シフトレジスタ５１と同じデータ幅を持つバス５２を介して、入力シフトレジスタ５１と同じデータ幅を持つメモリ５３にパラレルに出力されて書き込まれる。メモリ５３に書き込まれたパケットは出力シフトレジスタ５４にパラレルに読み出され、出力シフトレジスタ５４からシリアルに出力される。入力シフトレジスタ５１のパケットをアクセスメモリ制御の１回の書き込み動作と１回の読み出し動作でスイッチングすることができる。したがって、各入力ポートに入力されるパケットはアクセスメモリ制御の書き込みサイクルと読み出しサイクルの一定時間を待てばスイッチングされることになるので、スイッチングの遅延の問題を解消することができる。
【００１０】
【発明が解決しようとする課題】
【００１１】
この提案のパケットスイッチ回路３１では、周期的なアクセスメモリ制御によって一定時間でスイッチングできるパケット数が一定になるので、一定時間で処理されるデータ量はパケット長に依存することになる。すなわち、パケット長の長短によって、一定時間で処理されるデータ量が変化することになる。たとえばパケット長が短いパケットの入力が集中する場合には一定時間で処理されるデータ量が極端に減少するという事態が発生する。データ通信量が急増している現在、パケットスイッチ回路のスイッチ容量の大容量化が急務となっている。
【００１２】
そこで本発明の目的は、パケット長に依存しない大容量のスイッチ容量を持つパケットスイッチ回路を提供することにある。
【００１３】
【課題を解決するための手段】
請求項１記載の発明では、（イ）複数の入力路のそれぞれに対応して配置され、宛先の付加されたパケットを順次蓄積する入力側蓄積手段と、（ロ）これらの入力側蓄積手段にそれぞれに蓄積されたパケットを周期的に取り出して１回で取り出した入力側蓄積手段ごとの全データに対して共通した１つのアドレスを割り当てこれらをアドレス単位で格納するデータ格納手段と、（ハ）複数の出力路のそれぞれに対応して配置され、パケットを順次蓄積する出力側蓄積手段と、（ニ）データ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットの送出されるべきそれぞれの出力側蓄積手段を宛先から判別する宛先判別手段と、（ホ）データ格納手段からアドレス単位でデータを順に周期的に取り出して、宛先判別手段の判別結果を用いて各パケットをそれぞれ対応する出力側蓄積手段に振り分けるパケット振分手段と、（ヘ）出力側蓄積手段のそれぞれに蓄積されたパケットを順次出力させる出力路別パケット出力制御手段とをパケットスイッチ回路に具備させる。
【００１４】
すなわち請求項１記載の発明では、パケットスイッチ回路は各入力路に対応して配置された入力側蓄積手段からそれぞれデータの取り出しを行うたびに、１回で取り出した全データに１つのアドレスを割り当ててデータ格納手段に格納するようにしている。格納されたこれらのデータは宛先判別手段でパケットごとに宛先が判別される。パケット振分手段は、データ格納手段からアドレス単位でデータを順に周期的に取り出すと共に、宛先判別手段の判別結果を用いて１つのアドレスのデータを構成する各パケットをそれぞれ対応する出力側蓄積手段に振り分けるようになっている。したがって、本発明では１つのアドレスに割り当てられたデータが複数のパケットにより構成されている場合でも、これらをアドレス単位で一括処理することができる。このため、比較的小さなサイズのパケットが集中したような場合にも処理効率が落ちることがなく、可変長パケットの長さによってパケットスイッチ回路の時間あたりのスイッチング処理できるデータ量が変動するという問題を解消することができる。
【００１５】
請求項２の発明では、（イ）データの最大伝送速度を個別に設定された複数の入力路のそれぞれに対応して配置され、宛先の付加されたパケットを順次蓄積する入力側蓄積手段と、（ロ）これらの入力側蓄積手段のそれぞれに蓄積されたパケットをデータの最大伝送速度が速いほど短くなるような値に予め設定された入力側蓄積手段ごとの周期で取り出して、１回で取り出した入力側蓄積手段ごとの全データに対して共通した１つのアドレスを割り当てこれらをアドレス単位で格納するデータ格納手段と、（ハ）複数の出力路のそれぞれに対応して配置され、パケットを順次蓄積する出力側蓄積手段と、（ニ）データ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットの送出されるべきそれぞれの出力側蓄積手段を宛先から判別する宛先判別手段と、（ホ）入力側蓄積手段に蓄積されたパケットのいずれかがデータ格納手段に格納されるたびにデータ格納手段からアドレス単位でデータを順に取り出して、宛先判別手段の判別結果を用いて各パケットをそれぞれ対応する出力側蓄積手段に振り分けるパケット振分手段と、（ヘ）出力側蓄積手段のそれぞれに蓄積されたパケットを順次出力させる出力路別パケット出力制御手段とをパケットスイッチ回路に具備させる。
【００１６】
すなわち請求項２記載の発明では、パケットスイッチ回路は各入力路に対応して配置された入力側蓄積手段からそれぞれデータの取り出しを行うたびに、１回で取り出した全データに１つのアドレスを割り当ててデータ格納手段に格納するようにしている。格納されたこれらのデータは宛先判別手段でパケットごとに宛先が判別される。パケット振分手段は、データ格納手段からアドレス単位でデータを順に周期的に取り出すと共に、宛先判別手段の判別結果を用いて１つのアドレスのデータを構成する各パケットをそれぞれ対応する出力側蓄積手段に振り分けるようになっている。したがって、本発明では１つのアドレスに割り当てられたデータが複数のパケットにより構成されている場合でも、これらをアドレス単位で一括処理することができる。このため、比較的小さなサイズのパケットが集中したような場合にも処理効率が落ちることがなく、可変長パケットの長さによってパケットスイッチ回路の時間あたりのスイッチング処理できるデータ量が変動するという問題を解消することができる。しかも本発明では、データ格納手段は、入力側蓄積手段のそれぞれに蓄積されたパケットをそれらに対応する入力路のデータの最大伝送速度が速いほど短くなるような周期で取り出して格納している。すなわち、入力路の一部または全部についてデータの最大伝送速度が異なっているような場合には、各入力側蓄積手段の単位時間あたりに蓄積するデータの量が異なるので、データの最大伝送速度が速い入力路に対応する入力側蓄積手段ほど周期を短くしてデータを取り出してデータ格納手段に格納するようにすることで、データ格納手段の効率的な活用を図っている。
【００１７】
請求項３の発明では、（イ）複数の入力路のそれぞれに対応して配置され、宛先の示されたパケットを順次蓄積する入力側蓄積手段と、（ロ）これらの入力側蓄積手段にそれぞれに蓄積されたパケットを周期的に取り出して入力側蓄積手段ごとの１回で取り出した全データに対して共通した１つのアドレスを割り当て、アドレス単位で格納するデータ格納手段と、（ハ）このデータ格納手段に格納されたアドレスごとのデータについてそれらを構成するパケットごとの送出先を宛先から判別する宛先判別手段と、（ニ）この宛先判別手段で判別したデータをデータ格納手段からアドレス単位で順に読み出すデータ読出手段と、（ホ）このデータ読出手段がアドレス単位にデータを読み出すたびに宛先判別手段の対応する判別結果を使用してこの中から自己の取り込むべき宛先のパケットのみを選択する出力ポートごとに設けられたパケット選択手段と、（ヘ）これらのパケット選択手段に対応して配置され、選択されたパケットを順次対応する出力路に出力する出力路別パケット出力手段とをパケットスイッチ回路に具備させる。
【００１８】
すなわち請求項３記載の発明では、パケットスイッチ回路は各入力路に対応して配置された入力側蓄積手段からそれぞれデータの取り出しを行うたびに、１回で取り出した全データに１つのアドレスを割り当ててデータ格納手段に格納するようにしている。格納されたこれらのデータは宛先判別手段でパケットごとに宛先が判別される。データ読出手段は、データ格納手段からアドレス単位でデータを順に周期的に読み出し、それぞれの出力ポートごとに設けられたパケット選択手段に送られる。これらのパケット選択手段では、宛先判別手段の対応する判別結果を使用してこの中から自己の取り込むべき宛先のパケットのみを選択することになる。したがって、本発明では１つのアドレスに割り当てられたデータが複数のパケットにより構成されている場合でも、これらをアドレス単位で一括処理することができる。このため、比較的小さなサイズのパケットが集中したような場合にも処理効率が落ちることがなく、可変長パケットの長さによってパケットスイッチ回路の時間あたりのスイッチング処理できるデータ量が変動するという問題を解消することができる。しかも本発明では、各パケット選択手段にデータを送り込む過程までの制御を単純化し、処理の高速化を図ることができる。
【００１９】
請求項４の発明では、請求項３記載のパケットスイッチ回路で、入力側蓄積手段はそれぞれの入力路からシリアルデータとしてパケットを順次入力して蓄積する手段であり、データ読出手段と出力ポートごとに設けられたパケット選択手段の間には、１つのアドレスの全データをパラレルにかつすべてのパケット選択手段に並行して伝送する伝送路が配置されていることを特徴としている。
【００２０】
すなわち請求項４記載の発明では、データ読出手段と出力ポートごとに設けられたパケット選択手段の間には、１つのアドレスの全データをパラレルにかつすべてのパケット選択手段に並行して伝送する伝送路が配置されている。このため、１つのアドレスの全データを一度に伝送することが可能になる。
【００２１】
請求項５の発明では、請求項３記載のパケットスイッチ回路で、データ格納手段は、それぞれの入力路のデータ伝送速度に反比例した周期で対応する入力側蓄積手段からアドレス単位のデータを取り出して格納する手段であり、データ読出手段はデータ格納手段に単位時間当たり格納されるアドレス単位のデータの量に反比例した周期で、このデータ格納手段からアドレス単位にデータを読み出す手段であることを特徴としている。
【００２２】
すなわち請求項５記載の発明では、データ格納手段はそれぞれの入力路のデータ伝送速度に反比例した周期で対応する入力側蓄積手段からアドレス単位のデータを取り出して格納するようにし、データ読出手段はデータ格納手段に単位時間当たり格納されるアドレス単位のデータの量に反比例した周期でデータ格納手段からアドレス単位にデータを読み出すようにしている。このため比較的少ないハードウェアで、効率的なデータの転送が可能になる。
【００２３】
請求項６記載の発明では、請求項３記載のパケットスイッチ回路で、出力路別パケット出力手段は、１回で取り出した全データと同一量のデータを複数組格納可能で、予め定めた順序でこれらのメモリ領域を指定することでメモリ領域単位でデータの読み出しが行われるようになったパケット格納手段と、パケット選択手段で自己の取り込むべき宛先のパケットが選択されるたびにその全部のデータ量を算出するデータ量算出手段と、このデータ量算出手段で算出されたデータ量のパケットを転送するに先立って、パケット格納手段の読み出しが行われていない最も古い組のメモリ領域の空き容量とデータ量算出手段で算出したデータ量を比較する比較手段と、この比較手段によって比較されたデータ量の方が最も古い組のメモリ領域の空き容量以下であるときそのメモリ領域にパケット選択手段で選択されたパケットをすべて転送し、これ以外の場合にはこれらのパケットを最も古い組のメモリ領域の次に読み出されるべきメモリ領域にすべて転送するパケット転送手段とを具備することを特徴としている。
【００２４】
この請求項６記載の発明では、請求項３記載の発明における出力路別パケット出力手段を具体化している。出力路別パケット出力手段は１回で取り出した全データと同一量のデータを複数組格納可能で、予め定めた順序でこれらのメモリ領域を指定することでメモリ領域単位でデータの読み出しが行われるようになったパケット格納手段を備えている。このパケット格納手段のメモリ領域単位でデータの読み出しが行われるようになっているので、１回当たりの読み出しが効率的に行われるためにはそれぞれのメモリ領域にできるだけ多くのパケットが格納される必要がある。そこでこの発明ではパケット選択手段で自己の取り込むべき宛先のパケットが選択されるたびにデータ量算出手段がその全部のデータ量を算出することにしている。そして、データ量算出手段で算出されたデータ量のパケットを転送するに先立って、比較手段がパケット格納手段の読み出しが行われていない最も古い組のメモリ領域の空き容量とデータ量算出手段で算出したデータ量を比較するようにしている。この結果、比較された転送しようとしているデータ量の方が最も古い組のメモリ領域の空き容量以下であるときには、該当するそのメモリ領域にパケット選択手段で選択されたパケットをすべて転送し、今まで格納されたデータと一緒にデータの読み出しが行われるようにしている。比較された転送しようとしているデータ量の方が最も古い組のメモリ領域の空き容量より大きい場合には、これらのパケットを該当するそのメモリ領域の空いている領域にすべて詰め込むことはできない。そこでこの場合にはそのメモリ領域の次に読み出されるべきメモリ領域にこれらすべてのパケットを転送することにしている。このような工夫を行うことで、たとえばパケット選択手段が１回当たり僅かずつのデータ量のパケットを選択したような場合には、これらを別々にパケット転送手段が転送するのではなく、何回分かをまとめて転送することができるので、パケットを出力路に効率良く出力することができることになる。出力路への転送形態は各種の態様が考えられる。
【００２５】
請求項７記載の発明では、請求項６記載のパケットスイッチ回路で、パケット転送手段はパケット選択手段の選択したパケットを隙間なく再配置する再配置手段を備え、パケット転送手段はこの再配置手段によって再配置された各パケットを一括してパラレル転送することを特徴としている。
【００２６】
すなわち請求項７記載の発明では、パケット転送手段はパケット選択手段の選択したパケットを隙間なく再配置する再配置手段を備えている。パケット転送手段はこの再配置手段によって再配置された各パケットを一括してパラレル転送している。これにより、シリアルで転送するのに比べて転送の処理が高速化する。また、パケット同士の間隔を詰めて転送するので、受信側の処理が効率化する。
【００２７】
【発明の実施の形態】
【００２８】
【実施例】
以下実施例につき本発明を詳細に説明する。
【００２９】
図１は本発明の一実施例における可変長パケットスイッチ回路を使用したルータの構成を表わしたものである。このルータ１０１は、図示しない他のルータから送られてくる可変長パケットを入力する第１の入力ポート１０２１にその入力側を接続する第１の入力インタフェース部１０３１を備えている。第１の入力インタフェース部１０３１の出力側は、可変長パケットスイッチ回路１０４の第１の入力ポート１０５１に接続されている。第２〜第Ｎの入力ポート１０２２〜１０２Ｎも同様に第２〜第Ｎの入力インタフェース部１０３２〜１０３Ｎの入力側にそれぞれ接続され、その出力側は第２〜第Ｎの入力ポート１０５２〜１０５Ｎにそれぞれ接続されている。可変長パケットスイッチ回路１０４の第１の出力ポート１０６１は、第１の出力インタフェース部１０７１の入力側に接続されている。第１の出力インタフェース部１０７１の出力側は、図示しない他のルータに可変長パケットを送出する第１の出力ポート１０８１に接続されている。第２〜第Ｎの出力ポート１０６２〜１０６Ｎも同様に第２〜第Ｎの出力インタフェース部１０７２〜１０７Ｎの入力側にそれぞれ接続され、その出力側は第２〜第Ｎの出力ポート１０８２〜１０８Ｎにそれぞれ接続されている。
【００３０】
第１〜第Ｎの入力ポート１０２１〜１０２Ｎに入力される可変長パケットは、第１〜第Ｎの入力インタフェース部１０３１〜１０３Ｎによってフレームのフォーマットを装置内フレームのフォーマットに変換される。変換された可変長パケットは、可変長パケットスイッチ回路１０４でスイッチングされる。スイッチングされた可変長パケットは、第１〜第Ｎの出力インタフェース部１０７１〜１０７Ｎによって元のフレームのフォーマットに変換される。この可変長パケットはそれぞれ第１〜第Ｎの出力ポート１０８１〜１０８Ｎから他のルータに可変長パケットを送出している。
【００３１】
図２は入力される可変長パケットの一例としてＰＰＰフレームのフォーマットを表わしたものである。このＰＰＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ：ポイントツーポイントプロトコル）フレームの可変長パケット２０１は、ＰＰＰオーバヘッド２０２、データ部分のＰＰＰペイロード２０３、ビット誤りを検出するＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ：フレーム検査シーケンス）２０４、およびパケットの終わりを示すフラグ２０５で構成される。ＰＰＰオーバヘッド２０２には、パケットの始まりを示すフラグ２０６、パケットの宛先のアドレス２０７、制御情報のコントロール２０８、およびプロトコル識別子２０９が配置されている。可変長パケット２０１は第１〜第Ｎの入力インタフェース部１０３１〜１０３Ｎ（図１参照）によって装置内フレームのフォーマットに変換され、第１〜第Ｎの出力インタフェース部１０７１〜１０７Ｎ（図１参照）によって再び元の可変長パケット２０１のフォーマットに変換される。
【００３２】
図３は図１で示した入力インタフェース部によって変換された可変長パケットの装置内フレームのフォーマットを表わしたものである。この装置内フレームの可変長パケット３０１は、装置内オーバヘッド３０２とデータ部分のＰＰＰペイロード３０３から構成される。装置内オーバヘッド３０２には、装置内情報３０４、入力ポート情報３０５、および出力ポート情報３０６が配置されている。入力ポート情報３０５および出力ポート情報３０６は、可変長パケットが入力される可変長パケットスイッチ回路１０４（図１参照）の入力ポートおよび出力される出力ポートを示している。装置内情報３０３は、可変長パケットスイッチ回路１０４のその他の装置内制御に使用される情報を表わしている。可変長パケット３０１は、ＰＰＰオーバヘッド２０２（図２参照）に代わって装置内オーバヘッド３０２が付加され、可変長パケットスイッチ回路１０４のどの出力ポートに出力するかについて決定されている。
【００３３】
この出力ポートの決定について更に説明を加える。出力ポートの決定には、ＰＰＰオーバヘッド２０２内のアドレス２０７の情報に加えて、ＰＰＰペイロード２０３内に格納されている情報が必要になる。たとえばＰＰＰペイロード２０３内にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：インターネットプロトコル）パケットが格納されている場合、ＩＰパケットのヘッダ内の宛先アドレス等の情報を基にして出力ポートを決定する。ＰＰＰペイロード２０３内にその他のパケットが格納されている場合、ＰＰＰオーバヘッド２０２内のプロトコル識別子２０９を基にして格納されているパケットに応じて出力ポートを決定する。この出力ポートを決定する処理は負荷が高く、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）を使用した大規模な回路が必要になる。本実施例では出力ポートを決定する処理は第１〜第Ｎの入力インタフェース部１０３１〜１０３Ｎ（図１参照）内で行い、可変長パケットスイッチ回路１０４（図１参照）で行う処理の負荷を軽減している。
【００３４】
図４は図１に示した可変長パケットスイッチ回路の構成を表わしたものである。以上の説明では入力ポート数および出力ポート数について一般化された数値として値Ｎで表わしたが、これ以後は値Ｎが“３９”の場合を例にとって具体的に説明する。もちろん値Ｎはこの値に限定されるものではない。この可変長パケットスイッチ回路１０４は、第１の入力ポート１０５１に接続される第１の入力線４０１１からシリアルに可変長パケットを入力する第１の出力ポート情報抽出部４０２１を備えている。第１の出力ポート情報抽出部４０２１は、可変長パケットに付加されている出力ポート情報３０６（図３参照）を抽出し、第１の出力ポート情報信号４０３１を出力ポート判定部４０４へ出力するようにしている。第１の出力ポート情報抽出部４０２１の第１の出力線４０５１は第１の入力バッファ４０６１に接続されている。第１の入力バッファ４０６１は可変長パケットを順次蓄積し、それぞれの可変長パケットがバッファ内に蓄積されるパケット位置を示す第１のパケット位置情報信号４０７１を出力ポート判定部４０４に出力するようになっている。
【００３５】
同様にしてそれぞれ第１〜第３９の入力ポート１０５１〜１０５３９に入力された可変長パケットは、第１〜第３９の入力線４０１１〜４０１３９および第１〜第３９の出力ポート情報抽出部４０２１〜４０２３９を経て、第１〜第３９の入力バッファ４０６１〜４０６３９で蓄積されるようになっている。また、出力ポート判定部４０４にそれぞれ第１〜第３９の出力ポート情報信号４０３１〜４０３３９および第１〜第３９のパケット位置情報信号４０７１〜４０７３９を出力する。
【００３６】
第１〜第３９の入力バッファ４０６１〜４０６３９は、入力ポート側データバス４０８を介して入力ポート側メモリ４０９に接続されている。入力ポート側メモリ４０９を制御する入力ポート側メモリ制御部４１０は、図示しないＣＰＵおよび図示しないＲＯＭ（リード・オンリ・メモリ）等の記憶媒体で構成され所定の制御を行うようになっている。入力ポート側メモリ制御部４１０は、第１〜第３９の入力バッファ４０６１〜４０６３９に蓄積された可変長パケットを入力ポート側メモリ４０９へ格納するための第１〜第３９の出力制御信号４１１１〜４１１３９を出力するようになっている。また、入力ポート側メモリ４０９に格納された可変長パケットを入力ポート側データバス４０８上に出力するための出力制御信号４１２を出力する。入力ポート側データバス４０８は、第１〜第３９の出力ポート１０６１〜１０６３９にそれぞれ対応する第１〜第３９の選択バッファ４１３１〜４１３３９に接続されている。出力ポート判定部４０４は、第１〜第３９の出力ポート情報信号４０３１〜４０３３９および第１〜第３９のパケット位置情報信号４０７１〜４０７３９に基づき、第１〜第３９の出力ポート１０６１〜１０６３９に対応した第１〜第３９の有効情報信号４１４１〜４１４３９を生成するようになっている。第１〜第３９の有効情報信号４１４１〜４１４３９はそれぞれ第１〜第３９の選択バッファ４１３１〜４１３３９に出力されている。
【００３７】
第１の出力ポート１０６１に対応する第１の選択バッファ４１３１は、第１の有効情報信号４１４１に基づき、入力ポート側データバス４０８上に出力される可変長パケットを選択して蓄積するようになっている。第１の選択バッファ４１３１は蓄積された可変長パケットを第１のデータバス４１５１を介して第１の有効情報圧縮スイッチ４１６１に出力している。第１の有効情報圧縮スイッチ４１６１は、第１の出力ポート側メモリ制御部４１７１からの第１の先頭位置信号４１８１に基づき可変長パケットを配列するようになっている。第１の出力ポート側メモリ制御部４１７１は、図示しないＣＰＵおよび図示しないＲＯＭ（リード・オンリ・メモリ）等の記憶媒体で構成され所定の制御を行うようになっている。第１の出力ポート側メモリ制御部４１７１は、第１の有効情報圧縮スイッチ４１６１で配列された可変長パケットを第１の出力ポート側データバス４１９１を介して第１の出力ポート側メモリ４２０１へ格納するための第１の出力制御信号４２１１を出力するようになっている。また、第１の出力ポート側メモリ４２０１に格納された可変長パケットを第１の出力ポート側データバス４１９１を介して第１の出力バッファ４２２１へ出力するための第１の出力制御信号４２３１を出力する。第１の出力バッファ４２２１の出力側は、第１の出力線４２４１によって第１の出力ポート１０６１に接続されている。第１の出力ポート１０６１から図１に示した第１の出力インタフェース部１０７１に可変長パケットが出力されるようになっている。
【００３８】
同様にしてそれぞれの第１〜第３９の選択バッファ４１３１〜４１３３９に蓄積された可変長パケットは第１〜第３９の有効情報圧縮スイッチ４１６２〜４１６３９、第１〜第３９の出力ポート側メモリ４２０１〜４２０３９、第１〜第３９の出力バッファ４２２１〜４２２３９を経て、第１〜第３９の出力ポート１０６１〜１０６３９に出力するようになっている。第１〜第３９の出力ポート１０６１〜１０６３９から第１〜第３９の出力インタフェース部１０７１〜１０７３９にそれぞれ可変長パケットを出力する。
【００３９】
本実施例では、入力ポート側メモリ４０９および第１〜第３９の出力ポート側メモリ４２０１〜４２０３９の１アドレスで指定されるデータ幅を８Ｋ（キロ）ビットとする。第１〜第３９の入力バッファ４０６１〜４０６３９の容量、入力ポート側データバス４０８のバス幅、および第１〜第３９の選択バッファ４１３１〜４１３３９の容量を８Ｋビットとする。第１〜第３９の有効情報圧縮スイッチ４１６１〜４１６３９の出力側容量、第１〜第３９の出力ポート側データバス４１９１〜４１９３９のバス幅、および第１〜第３９の出力バッファ４２２１〜４２２３９の容量を８Ｋビットとする。
【００４０】
また、第１〜第３９の入力バッファ４０６１〜４０６３９から入力ポート側メモリ４０９へのパケット転送周期を３．２８μ（マイクロ）秒とする。３９個の入力ポート１０５１〜１０５３９から入力する可変長パケットの最大伝送レートおよび３９個の出力ポート１０６１〜１０６３９から出力する可変長パケットの最大伝送レートを２．４８８３２Ｇｂｐｓ（ギガビット／秒）とする。入力ポート側メモリ４０９および第１〜第３９の出力ポート側メモリ４２０１〜４２０３９に対する書き込みおよび読み出しサイクルを４２ｎ（ナノ）秒とする。これは既存のＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ダイナミック等速呼び出し記憶装置）のアクセス速度と同等である。
【００４１】
図５は、入力ポート側メモリに対するアクセス制御のタイミングを表わしている。同図（ａ）はサイクル５０１〜５０６の順に時間の経過を示し、それぞれの時間間隔は４２ｎ秒の等間隔である。同図（ｂ）以降は動作を説明しつつ、適宜説明する。
【００４２】
図４における第１〜第３９の出力ポート情報抽出部４０２１〜４０２３９から第１〜第３９の選択バッファ４１３１〜４１３３９までの各動作について更に説明する。第１の出力ポート情報抽出部４０２１は、入力される可変長パケット中に付加されている出力ポート情報を抽出して第１の出力ポート情報信号４０３１を出力ポート判定部４０４へ出力する。また、可変長パケットの先頭位置および最後尾位置を検出して可変長パケットを第１の入力バッファ４０６１へ出力する。
【００４３】
入力された可変長パケットを蓄積する第１の入力バッファ４０６１は、検出された可変長パケットの先頭位置および最後尾位置の情報に基づき、可変長パケットがバッファ内に蓄積されているバイト単位のパケット位置を示す第１のパケット位置情報信号４０７１を生成する。第１のパケット位置情報信号４０７１は出力ポート判定部４０４に出力される。本実施例では、一般にデータはバイト単位で処理されるので、バイト単位の情報を生成する。また、第１の入力バッファ４０６１はバッファを２つ備えたダブルバッファとすることによって、蓄積されている可変長パケットが出力中でも入力される新たな可変長パケットを蓄積することができる。
【００４４】
入力ポート側メモリ制御部４１０は、一定周期（３．２８μ秒）で第１の入力バッファ４０６１内に蓄積された複数の可変長パケットを入力ポート側メモリ４０９へ転送して先頭のアドレスにデータを書き込む。これは第１の出力制御信号４１１１によって図５（ｂ）で示された第１の入力バッファ４０６１からの書き込み５０７のタイミングで行われる。本実施例では、第１の入力バッファ４０６１の容量、入力ポート側データバス４０８のバス幅、および入力ポート側メモリ４０９の１アドレスのデータ幅を一致させている。これにより、第１の入力バッファ４０６１内に蓄積された複数の可変長パケットは１回の転送サイクルで入力ポート側メモリ４０９へ転送することができる。
【００４５】
同様にして、入力ポート側メモリ４０９へのデータの書き込みは、入力ポート側メモリ制御部４１０からの第２の出力制御信号４１１２（図示せず）によって図５（ｂ）の第２の入力バッファ（図示せず）からの書き込み５０８のタイミングで行われる。また、同様に第３の出力制御信号４１１３（図示せず）によって図５（ｂ）の第３の入力バッファ（図示せず）からの書き込み５０９といったタイミングで番号順に繰り返し行われる。このとき、入力ポート側メモリ４０９への書き込み周期は８４ｎ秒（４２ｎ秒×２）となるので、１つの入力バッファからは３．２７６μ秒（８４ｎ秒×３９個）ごとに転送が行われる。一方、１つの入力ポートからは可変長パケットが最大伝送レートを２．４８８３２Ｇｂｐｓで入力されるので、１つの入力バッファが飽和する時間は最短で３．２９２μ秒（８１９２ビット÷２．４８８３２Ｇｂｐｓ）かかる。メモリやバッファの容量で１Ｋビットは通常１０２４ビットになるので８Ｋビットは８１９２ビット（１０２４ビット×８）になる。したがって、１つの入力バッファから入力ポート側メモリ４０９への転送周期は最短バッファ飽和時間よりも短いので、この入力バッファは飽和しない。
【００４６】
このように入力ポート側メモリ４０９にデータが書き込まれるたびに、入力ポート側メモリ制御部４１０は、データが書き込まれたアドレス情報信号４２５を出力ポート判定部４０４へ出力する。
【００４７】
出力ポート判定部４０４は、入力される第１の出力ポート情報信号４０３１に基づき、入力ポート側メモリ４０９のアドレス情報信号４２５のアドレスに格納されている複数の可変長パケットの出力ポートを決定する。第１の出力ポート情報信号４０３１で複数あるいはすべての出力ポートを指定することで、複数あるいはすべての出力ポートを選択することが可能になる。また、入力される第１のパケット位置情報信号４０７１に基づき、第１〜第３９の有効情報信号４１４１〜４１４３９を生成する。出力ポート判定部４０４は入力ポート側メモリ４０９のアドレス単位で処理し、処理が完了するたびに入力ポート側メモリ制御部４１０へ処理の完了を知らせる通知信号４２６を出力する。
【００４８】
入力ポート側メモリ制御部４１０は、通知信号４２６によって処理の完了を知らされたアドレスの複数の可変長パケットを入力ポート側データバス４０８上に同時に読み出して第１〜第３９の選択バッファ４１３１〜４１３３９に転送する。この読み出し動作は、図５（ｃ）で示された入力ポート側メモリ４０９からの読み出し５１０〜５１２のそれぞれのタイミングで行われる。入力ポート側メモリ制御部４１０の出力制御信号４１２によって周期８４ｎ秒で入力ポート側メモリ４０９に書き込まれたアドレス順で行われる。このとき、１アドレスで指定される領域に書き込まれているすべての可変長パケットの宛先の出力ポートは、出力ポート判定部４０４によって決定されている。３９個の入力ポート１０５１〜１０５３９からそれぞれ２．４８８３２Ｇｂｐｓで入力された可変長パケットは、第１〜第３９の有効情報信号４１４１〜４１４３９が生成される一定時間まで入力ポート側メモリ４０９に格納される。一定時間後、第１〜第３９の選択バッファ４１３１〜４１３３９へ同時に転送されている。
【００４９】
以上説明したアクセス制御では、入力ポート側メモリ制御部４１０のアドレス情報信号４２７およびリードライト制御信号４２８によって、入力ポート側メモリ４０９のデータの書き込みおよび読み出しを行っている。同様にして第１〜第３９の出力ポート情報抽出部４０２１〜４０２３９から第１〜第３９の選択バッファ４１３１〜４１３３９までの各動作が行われる。
【００５０】
第１〜第３９の選択バッファ４１３１〜４１３３９は同一動作をするので、代表して第１の選択バッファ４１３１の動作について説明する。第１の選択バッファ４１３１は、出力ポート判定部４０４が出力する第１の有効情報信号４１４１を受信する。第１の有効情報信号４１４１は、第１の選択バッファ４１３１が選択する可変長パケットが入力ポート側メモリ４０９の１アドレスで指定されるデータ領域のどこに格納されているかを示している。入力ポート側メモリ４０９から入力ポート側データバス４０８上に出力される１アドレスで指定されているデータ領域に格納されている１あるいは複数の可変長パケットを受信し、第１の有効情報信号４１４１に基づいて可変長パケットを選択して蓄積している。この際、第１の有効情報信号４１４１に基づいて、第１の選択バッファ４１３１への書き込みをビット単位あるいはバイト単位で許可あるいは禁止する機能を第１の選択バッファ４１３１の前段に備えることによって、パケットの選択を実現している。したがって、第１の選択バッファ４１３１のデータ列の有効情報と有効情報の間には不要なデータが格納されていないことになる。本実施例では、入力ポート側メモリ４０９の１アドレスで指定されるデータ幅、第１の選択バッファ４１３１の容量、および入力ポート側データバス４０８のバス幅を一致させている。これにより、入力ポート側メモリ４０９の１アドレスで指定されているデータ領域に格納されている複数の可変長パケットは、１回の転送サイクルで第１の選択バッファ４１３１へ転送される。
【００５１】
次に、第１〜第３９の入力バッファ４０６１〜４０６３９から入力ポート側メモリ４０９への可変長パケットの転送について説明を加える。本実施例では可変長パケットの転送を一定周期で行うので、第１〜第３９の入力バッファ４０６１〜４０６３９に書き込みが途中の可変長パケットが存在する場合がある。この可変長パケットは分割して転送され、出力ポートから出力された後、図１で示した第１〜第３９の出力インタフェース部１０７１〜１０７３９で復元されることになる。可変長パケットを分割した残りのパケットは次の転送周期で転送されることになる。これらの分割されたパケットを復元するとき、これらのパケットがどの入力ポートから入力されたかの情報が必要になる。この情報を分割されたパケットに付加して出力するが、以下に説明するように第１〜第３９の出力インタフェース部１０７１〜１０７３９では、付加された情報を基にして元の可変長パケットに復元することができる。
【００５２】
この分割されたパケットに入力ポート情報を付加し、第１〜第３９の出力インタフェース部１０７１〜１０７３９で復元する動作について具体的に説明する。第１〜第３９の入力バッファ４０６１〜４０６３９の先頭部分と最後尾部分に入力ポート情報が書き込まれる領域を予め確保しておく。たとえば、第１の入力ポート１０５１の第１の入力バッファ４０６１には、常に入力ポートが“１”であることを示す情報が入力バッファの先頭部分と最後尾部分に書き込まれている。一定周期で第１の入力バッファ４０６１に書き込まれたパケットは入力ポート側メモリ４０９へ書き込まれる。このとき、入力ポート情報も同時に入力ポート側メモリ４０９へ書き込まれる。メモリ領域の先頭部分に書き込まれた入力ポート情報に対しては、その直後に書き込まれていたパケットと同じ出力ポートへの転送として有効情報信号が出力される。メモリ領域の最後尾部分に書き込まれた入力ポート情報に対しては、その直前に書き込まれていたパケットと同じ出力ポートへの転送として有効情報信号が出力される。
【００５３】
第１〜第３９の出力インタフェース部１０７１〜１０７３９では、分割されていないパケットの場合、図３で示したパケットの装置内オーバヘッド３０２に格納されている入力ポート情報３０５に基づき入力ポートごとのバッファ（図示せず）に蓄積される。分割されたパケットの場合、パケットの先頭部分あるいは最後尾部分に付加されている入力ポート情報に基づき入力ポートごとのバッファに蓄積することにより、分割されたパケットが復元される。このとき、付加された入力ポート情報は削除される。以上のようにして分割されたパケットが処理される。
【００５４】
再び図４に戻って、第１〜第３９の選択バッファ４１３１〜４１３３９から第１〜第３９の出力バッファ４２２１〜４２２３９までの各動作について説明する。これらの選択バッファ４１３１〜４１３３９以降の回路は、同一回路であり独立に動作するため、第１の出力ポート１０６１に対応する回路を代表して説明する。第１の選択バッファ４１３１によって蓄積された可変長パケットは、第１のデータバス４１５１を介して第１の有効情報圧縮スイッチ４１６１に受信される。これ以後はパケット１〜パケット３（Ｐ１〜Ｐ３）の３つの可変長パケットが受信された場合を例にとって具体的に説明する。
【００５５】
図６は、出力ポート側メモリへの可変長パケット書き込み制御の様子を表わしたものである。同図（ａ）は、第１の出力ポート側メモリ４２０１の１アドレスで指定されるデータ領域６０１を示している。本実施例ではＬＳＢ６０２（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：最下位ビット）からＭＳＢ６０３（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：最上位ビット）の８Ｋビットとする。データの流れを説明するためデータ領域６０１を基準にして、同図（ｂ）以降は動作を説明しつつ、適宜説明する。
【００５６】
第１の有効情報圧縮スイッチ４１６１は出力ポート判定部４０４から第１の有効情報信号４１４１を受信する。図６（ｂ）は出力ポート判定部４０４が出力する第１の有効情報信号４１４１を表わしている。３つの可変長パケットについて、それぞれパケット１は第１の位置６０４、パケット２は第２の位置６０５、パケット３は第３の位置６０６のデータ位置を示している。
【００５７】
第１の選択バッファ４１３１は、図６（ｂ）で示した第１の有効情報信号４１４１の示す位置のデータを選択して可変長パケットを格納している。図６（ｃ）は第１の選択バッファ４１３１における可変長パケットの格納状態であり、領域６０７にはデータが格納され、領域６０８にはデータが格納されていない。
【００５８】
第１の有効情報圧縮スイッチ４１６１では、出力ポート判定部４０４が出力する第１の有効情報信号４１４１に基づいて図６（ｃ）に示した領域６０７のみを取り出し、可変長パケットのパケット長の総和である図６（ｄ）で示す有効情報長６０９を表わす第１の有効情報長信号４２９１を第１の出力ポート側メモリ制御部４１７１へ出力している。
【００５９】
第１の出力ポート側メモリ制御部４１７１は、第１の有効情報圧縮スイッチ４１６１が出力する第１の有効情報長信号４２９１の有効情報長と、第１の出力ポート側メモリ４２０１の可変長パケットが書き込まれている最後尾のアドレス中の可変長パケットが書き込まれていない領域長を比較する。本実施例では、図６（ｆ）で示した第１の出力ポート側メモリ４２０１における可変長パケットの格納状態を比較する。第１の出力ポート側メモリ４２０１の内部は、前回の書き込みサイクルまでに書き込みが行われた領域６１１、今回新たに書き込みが行われた領域６１２、および書き込みが行われていない領域６１３に分かれている。本実施例では、比較した結果として、有効情報長の方が短い場合、第１の出力ポート側メモリ４２０１の可変長パケットが書き込まれている最後尾のアドレスにおける空き領域に可変長パケットを書き込む。このとき、第１の出力ポート側メモリ４２０１の可変長パケットが書き込まれている最後尾のアドレス中の可変長パケットが書き込まれていない領域の先頭位置を第１の先頭位置信号４１８１として第１の有効情報圧縮スイッチ４１６１に出力する。比較した結果、有効情報長の方が長いような場合には、第１の出力ポート側メモリ４２０１の可変長パケットが書き込まれている最後尾のアドレスの次のアドレスの先頭位置から可変長パケットを書き込む。このとき、第１の有効情報圧縮スイッチ４１６１が出力する可変長パケットの第１の先頭位置信号４１８１としてＬＳＢの位置を出力する。
【００６０】
第１の有効情報圧縮スイッチ４１６１は、第１の出力ポート側メモリ制御部４１７１が出力する可変長パケットの第１の先頭位置信号４１８１に基づいて、出力する可変長パケットの先頭位置を決定して可変長パケットを図６（ｅ）に示す位置情報６１０のように配列する。第１の有効情報圧縮スイッチ４１６１の出力状態は、この配列動作によって、図６（ｄ）に示すような可変長パケット出力状態となる。ここで、第１の有効情報圧縮スイッチ４１６１の具体的な回路について説明を加える。
【００６１】
図７は有効情報圧縮スイッチの基本動作を２入力２出力のセレクタを用いて構成する場合の原理的な構成を示したものである。本実施例では第１のデータバス４１５１は８１９２ビットであるが、ここでは簡単に説明するため４ビット分のデータを入出力する有効情報圧縮スイッチ７０１を示している。この簡略化した有効情報圧縮スイッチ７０１は、それぞれ第１〜第４の入力ポート７０２１〜７０２４および第１〜第４の出力ポート７０３１〜７０３４を備えている。有効情報圧縮スイッチ７０１は、アレイ状に配置された２入力２出力の第１〜第４のセレクタ７０４１〜７０４４を第１段として、同様にして第２段および第３段としてそれぞれ第５〜第８のセレクタ７０４５〜７０４８および第９〜第１２のセレクタ７０４９〜７０４１２で構成される。
【００６２】
この有効情報圧縮スイッチ７０１に有効ビットとして第１の入力ポート７０２１、第３の入力ポート７０２３および第４の入力ポート７０２４にデータが入力され、無効ビットとして第２の入力ポート７０２２にはデータが入力されないものとする。また、配列位置として第１〜第３の出力ポート７０３１〜７０３３からデータを出力するような場合とする。第１の入力ポート７０２１に入力されたデータは、第１のセレクタ７０４１、第５のセレクタ７０４５、および第９のセレクタ７０４９を順に経由して第１の出力ポート７０３１に出力されている。同様にして、第３の入力ポート７０２３に入力されたデータは、第３のセレクタ７０４３、第５のセレクタ７０４５、および第１０のセレクタ７０４１０を順に経由して第２の出力ポート７０３２に出力され、第４の入力ポート７０２４に入力されたデータは、第４のセレクタ７０４４、第８のセレクタ７０４８、および第１１のセレクタ７０４１１を順に経由して第３の出力ポート７０３３に出力されている。ここでは２入力２出力のセレクタを示しているが、アレイ状に配置するセレクタの数と段数を増加させることで本実施例の有効情報圧縮スイッチを実現することができる。本実施例では、データのビット数が“８１９２”であるので、セレクタ数は“８１９２”となり段数は“１４”段となる。
【００６３】
この第１の有効情報圧縮スイッチ４１６１によって配列された図６（ｅ）に示す位置情報６１０の可変長パケットを第１の出力ポート側メモリ４２０１に格納している。図６（ｆ）で示すように前回の書き込みサイクルまでに書き込まれた可変長パケットに引き続いて、まだ書き込みが行われていない領域に、可変長パケットのみを格納することができる。本実施例では、第１の有効情報圧縮スイッチ４１６１の出力側容量、第１の出力ポート側メモリ４２０１の１アドレスで指定されるデータ幅、および第１の出力ポート側データバス４１９１のデータ幅が一致している。これにより、第１の出力ポート側メモリ４２０１への書き込みを１回の書き込みサイクルで行うことができる。
【００６４】
図８は、出力ポート側メモリに対するアクセス制御のタイミングを表わしている。同図（ａ）はサイクル８０１〜８０６の順に時間の経過を示し、それぞれの時間間隔は４２ｎ秒の等間隔である。同図（ｂ）は第１の出力ポート側メモリ４２０１に対しての第１の有効情報圧縮スイッチ４１６１からの書き込みを表わしている。第１の出力ポート側メモリ４２０１への書き込み８０７は、第１の出力ポート側メモリ制御部４１７１の第１の出力制御信号４２１１によって第１の有効情報圧縮スイッチ４１６１で配列された可変長パケットを周期８４ｎ秒（４２ｎ秒×２）で書き込んでいる。
【００６５】
第１の出力ポート側メモリ４２０１に格納された可変長パケットは第１の出力ポート側データバス４１９１を介して第１の出力バッファ４２２１へ転送している。本実施例では、第１の出力ポート側メモリ４２０１の１アドレスで指定されるデータ幅、第１の出力バッファ４２２１の容量、および第１の出力ポート側データバス４１９１のデータ幅が一致している。これにより、第１の出力ポート側メモリ４２０１から第１の出力バッファ４２２１への可変長パケットの転送を１回の読み出しサイクルで行われている。図８（ｃ）で示すように第１の出力ポート側メモリ４２０１からの読み出し８０８は、第１の出力ポート側メモリ制御部４１７１の第１の出力制御信号４２１１によって周期８４ｎ秒で第１の出力ポート側メモリ４２０１に書き込まれたアドレス順で行われる。第１の出力ポート側メモリ制御部４１７１は、第１のアドレス情報信号４３０１およびリードライト制御信号４３１１によって第１の出力ポート側メモリ４２０１のデータの書き込みおよび読み出しを行っている。
【００６６】
第１の出力バッファ４２２１に蓄積された可変長パケットは、第１の出力ポート１０６１に接続される第１の出力線４２４１でシリアルに出力される。また、第１の出力バッファ４２２１はバッファを２つ備えたダブルバッファとすることによって、可変長パケットを出力中でも第１の出力ポート側メモリ４２０１が読み出した可変長パケットを蓄積することができる。更に、第１の出力バッファ４２２１は蓄積している可変長パケットがすべて出力されてバッファ内が空となる前に、第１の出力ポート側メモリ制御部４１７１に対して可変長パケットの転送を要求する第１のパケット転送要求信号４３２１を出力する。
【００６７】
第１の出力ポート側メモリ制御部４１７１は、第１の出力ポート側メモリ４２０１内の１アドレスで指定される８Ｋビットの領域に書き込まれている可変長パケットを１回の読み出しサイクルで第１の出力バッファ４２２１に転送できる。第１の出力ポート側メモリ４２０１内の１アドレスで指定される８Ｋビットの領域に８Ｋビットの可変長パケットが格納されている場合、２．４８８３２Ｇｂｐｓで出力されるため、格納されている可変長パケットがすべて出力されるまで時間が３．２９２μ秒かかることになる。
【００６８】
本実施例で第１〜第３９の出力ポート側メモリ４２０１〜４２０３９に着目すると、最大の書き込み速度は可変長パケットスイッチ回路１０４にあるすべての第１〜第３９の入力ポート１０５１〜１０５３９からパケットが入力される速度の総和になる。読み出し速度は出力ポートごとのパケットが出力される速度と一致する。したがって、複数の入力ポートから特定の出力ポートの宛先のパケットが入力することが集中するトラフィックの輻輳が発生する場合、特定の出力ポートの出力ポート側メモリに多くのパケットが急速に滞留する可能性がある。
【００６９】
たとえば、第１の出力ポート側メモリ４２０１内に格納されている可変長パケットの蓄積量が設定されたしきい値を越えた場合を考える。本実施例では、図１に示した第１〜第３９の入力インタフェース部１０３１〜１０３３９には、図示しない大容量の輻輳吸収用のバッファを用意する。第１の出力ポート側メモリ制御部４１７１は、第１〜第３９の入力インタフェース部１０３１〜１０３３９に対して第１の出力ポート１０６１の宛先の可変長パケットの出力停止を要求する第１の出力停止要求信号４３３１を出力する。第１〜第３９の入力インタフェース部１０３１〜１０３３９は、第１の出力停止要求信号４３３１を受信すると、第１の出力ポート１０６１の宛先の可変長パケットのみを輻輳吸収用のバッファに一時的に蓄積する。第１の出力停止要求信号４３３１が解除された場合、第１の出力ポート１０６１の宛先の可変長パケットの出力を再開する。これにより、本実施例の可変長パケットスイッチ回路１０４で出力ポートごとに大容量のバッファを用意することなく、第１の出力ポート側メモリ４２０１のしきい値を越えて処理できなくなるオーバーフローを防ぐことができる。
【００７０】
一般には複数の選択した転送先に同じパケットを転送するマルチキャスト、あるいは転送できるすべての転送先に同じパケットを転送するブロードキャストを実現し、スイッチの処理能力を上げるために出力バッファ型スイッチが用いられる。この出力バッファ型スイッチの場合、スイッチング自体の速度を示すスイッチコアの転送速度Ｓは次式（１）で表わされる。
【００７１】
Ｓ＝ＮＶ／Ｂ      ・・・（１）
【００７２】
（１）式で使用されている変数Ｎはポート数、変数Ｖはポート速度、および変数Ｂはスイッチ内でのパラレル展開数を表わしている。パラレル展開数Ｂを大きくすることによって、スイッチコアの転送速度Ｓを下げることができる。しかし、パケット単位で転送を行う場合、パラレル展開数Ｂよりもパケット長の短いパケットを転送するとき、余剰帯域が発生してスイッチ容量が低下する問題が発生する。したがって、パラレル展開数Ｂは転送パケットの最小パケット長であるＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ：非同期転送モード）セルや最小ＩＰパケットのサイズとなり大きい値にできない。また、スイッチ回路の大規模化を図ると、ポート数Ｎやポート速度Ｖの上昇をもたらし、スイッチコアの転送速度Ｓの著しい上昇をもたらすため、実現が困難であった。
【００７３】
本実施例は出力バッファ型スイッチであるが、１アドレスで指定されるデータ領域を数Ｋビットまで拡張して、１アドレスで指定される全データ領域に対して１回の書き込みサイクルおよび読み出しサイクルで行うことができる。また、出力ポートごとの選択バッファ４１３１〜４１３３９が出力ポートごとの有効情報信号４１４１〜４１４３９に基づき、入力側データバス４０８上に出力された複数の可変長パケットから、必要な可変長パケットのみを選択して格納することができる。パラレル展開数Ｂを数Ｋビットとして、スイッチコアの転送速度Ｓを大幅に削減することによって、超大容量のスイッチ回路を構築できる。たとえば、本実施例のパケットスイッチ回路１０４を既存のメモリアクセス性能（ＤＲＡＭ）を適用して１チップで実現する場合、１チップで約１００Ｇｂｐｓ（９７．５２Ｇｂｐｓ＝８Ｋビット／８４ｎ秒）のスイッチ容量となる。
【００７４】
変形例
【００７５】
図９は本発明の変形例として入力される可変長パケットの異なる伝送レートを混在させた図４に示した可変長パケットスイッチ回路における入力ポート側の変形を表わしたものである。この変形例では、図４で示した第１〜第３９の入力ポート１０５１〜１０５３９に対応する構成の一部分を第１〜第４２の入力ポート９０１１〜９０１４２に対応する構成の一部分としたものであり、その他の構成は図４と同一であり図示および説明を省略する。この図で図４と同一部分には同一の符号を付しており、これらの説明を適宜省略する。この変形例では、第１〜第４の４個の入力ポート９０１１〜９０１４の最大伝送レートを６２２．０８Ｍｂｐｓ（メガビット／秒）とし、第５〜第４２の入力ポート９０１５〜９０１４２の最大伝送レートを２．４８８３２Ｇｂｐｓとしている。第１〜第４２の入力バッファ９０２１〜９０２４２の容量は同じ容量（８Ｋビット）とする。また、第１〜第４の入力バッファ９０２１〜９０２４に蓄積されている可変長パケットを入力ポート側メモリ４０９へ転送する周期は、第５〜第４２の入力バッファ９０２５〜９０２４２の転送周期の４倍とする。すなわち、第１〜第４の入力バッファ９０２１〜９０２４から入力ポート側メモリ４０９への転送は１３．１２μ秒（３．２８μ秒×４）ごとに行われる。
【００７６】
図１０は、変形例における入力ポート側メモリに対するアクセス制御のタイミングを表わしている。同図（ａ）は図５（ａ）に示した時間の経過と同一である。入力ポート側メモリ４０９に対しての同図（ｂ）で示す第１〜第４２の入力バッファ９０２１〜９０２４２からの書き込みおよび同図（ｃ）で示す入力ポート側データバス４０８への読み出しは交互に行われている。第１〜第４の入力バッファ９０２１〜９０２４のいずれかの書き込み５１３、第５の入力バッファ９０２５の書き込み５１４、第６の入力バッファ（図示せず）の書き込み５１５の番号順で繰り返し行われる。第１〜第４の入力バッファ９０２１〜９０２４のいずれかの書き込み５１３は、第１〜第４の入力バッファ９０２１〜９０２４の番号順で繰り返し行われる。これにより、第１〜第４の入力バッファ９０２１〜９０２４の各転送周期を第５〜第４２の入力バッファ９０２５〜９０２４２の４倍とすることができる。入力ポート側メモリ４０９からの読み出し５１６〜５１８は、図５と同様に周期８４ｎ秒で入力ポート側メモリ４０９に書き込まれたアドレス順で行われる。
【００７７】
この変形例では、第１〜第４２の入力ポート９０１１〜９０１４２から入力される可変長パケットの最大伝送レートの総和は９７．０４Ｇｂｐｓ（６２２．０８Ｍｂｐｓ×４＋２．４８８３２Ｇｂｐｓ×３８）となる。これは図４で示したすべての入力ポートから入力される最大伝送レートが同じである場合の伝送レートの総和９７．０４Ｇｂｐｓ（２．４８８３２Ｇｂｐｓ×３９）と等しくなる。したがって、スイッチ容量を落とさずに入力の異なる最大伝送レートを混在させたパケットスイッチ回路が実現できる。
【００７８】
発明のその他の変形可能性
【００７９】
以上説明した実施例では、可変長パケットを対象にしてきたが、固定長パケットについても適用するものにしてもよい。また、バッファからメモリへの転送の周期を一定周期で説明したが、それぞれの入力ポートからのデータ伝送速度に対応して周期を変えてもよい。同様にしてメモリからバッファの転送の周期においても、アドレスに格納されたデータ量に対応して周期を変えてもよい。本実施例では容易な制御によるパケット転送を説明したが、転送周期を変えることによって更にパケット転送を効率良く行うことができる。また、有効情報圧縮スイッチ４１６は２入力２出力のセレクタを用いて構成したが、他にもクロスバースイッチを用いて構成してもよい。
【００８０】
また本実施例では、有効情報信号４１４に基づいて可変長パケットを選択して格納するようにしたが、次に説明するようにしてもよい。入力ポート側データバス４０８上に出力されたパケットは、一旦すべて選択バッファ４１３に格納するようにする。出力されたすべてのパケットが一旦格納された後、有効情報信号４１４と共に有効情報圧縮スイッチ４１６にデータバス４１５を介して送られる。有効情報圧縮スイッチ４１６の前段に不要なパケットを廃棄する機能を備えて廃棄することも可能である。このとき、選択バッファ４１３は単なるバッファの機能のみの動作をすることになる。データバス４１５上のデータ列の有効情報と有効情報の間には不要なデータが存在することになるので廃棄する機能が必要になる。また、データバス４１５上のデータ列に不要なデータを伝送しないために、選択バッファ４１３の後段に不要なパケットを廃棄する機能を備えて一旦すべてのパケットを格納した後に廃棄することも可能である。
【００８１】
更に実施例では、出力ポート側メモリ４２０にデータを書き込むとき、最後尾のアドレスの空き領域が足りない場合、そのアドレスには書き込まず次のアドレスに書き込むようにした。このような１アドレスで指定される領域での空き領域が不足する問題を解決するためには、たとえば出力ポート側メモリ４２０を２つ設けるようにすればよい。２つの出力ポート側メモリ４２０をそれぞれＡメモリおよびＢメモリとする。また、出力ポート側データバス４１９、ＡメモリおよびＢメモリの１アドレスで指定されるビット幅を４ビットとして図７で示した有効情報圧縮スイッチ７０１を用いて説明する。
【００８２】
まず、書き込み制御について説明する。有効情報圧縮スイッチ７０１で出力されるデータが４ビットであるとする。まずＡメモリの１アドレスで指定される領域のまだデータが書き込まれていない領域に書き込むが、Ａメモリの１ビット目から３ビット目はすでに前回データが書き込まれている場合を想定する。この場合、新たなデータをＡメモリの４ビット目に書き込み、残りの３ビットのデータをＢメモリに書き込むようにする。有効情報圧縮スイッチ７０１では、第１の入力ポート７０２１に入力された１ビット目のデータを第４の出力ポート７０３４に４ビット目のデータとして出力するようにする。また、第２〜第４の入力ポート７０２２〜７０２４にそれぞれ入力された残りの３ビットのデータは、第１〜第３の出力ポート７０３１〜７０３３にそれぞれ出力するようにする。これらの動作は図７で説明したように対応するセレクタを経由することによって行うことができる。したがって、第４の出力ポート７０３４から出力されるデータはＡメモリに書き込むデータとして、第１〜第３の出力ポート７０３１〜７０３３からそれぞれ出力されるデータはＢメモリに書き込むデータとして配列されることになる。ＡメモリおよびＢメモリへの書き込みは同じ書き込みサイクルで同時に行う。次の書き込みサイクルの書き込みデータは、Ｂメモリの１アドレスで指定される領域のまだ書き込まれていない領域に書き込みを行う。データがＢメモリのまだ書き込まれていない領域に書き込みきれない場合、前述した手順でＢメモリへの書き込みと、書き込みきれなかった残りのデータのＡメモリへの書き込みを同時に行う。この書き込み制御で書き込みデータがＡメモリおよびＢメモリにそのまま転送される場合、それぞれのメモリに不必要なデータを廃棄するか、あるいはデータを更新する処理が必要になる。読み出し制御については、Ａメモリ、Ｂメモリの１アドレスごと交互に読み出しを行う。したがって、メモリの１アドレスで指定されるビット幅のデータを順に書き込むことができるので、さらにデータの転送の効率化を図ることができる。
【００８３】
【発明の効果】
以上説明したように請求項１記載の発明によれば、入力側蓄積手段から１回で取り出した全データに対して１つのアドレスを割り当ててデータの格納等の処理を行うので、１回分のデータであればこれが複数パケットで構成されていても一度に処理されることになり１パケットずつスイッチングする従来の処理に比べてスイッチングのための処理能力を向上させることができる。また、特定のパケットに対して宛先判別手段で判別される出力側蓄積手段を複数の出力側蓄積手段に指定することにより、パケットを選択する複数の出力路に出力するマルチキャストあるいはすべての出力路に出力するブロードキャストが容易に実現できる。
【００８４】
また請求項２記載の発明によれば、入力側蓄積手段ごとに蓄積されたパケットを取り出す周期をデータの最大伝送速度に対応して設定しているので、比較的高速の入力路を伝送されてきたデータをそれよりも遅い入力路を伝送されてきたデータよりも短い周期でスイッチングすることができる。また、個々のデータ格納領域に格納されるデータ量を均一化することができるので、効率的なデータ処理を行うことができる。これにより、１転送サイクルでほぼ一定の転送帯域を確保することができる。また、特定のパケットに対して宛先判別手段で判別される出力側蓄積手段を複数の出力側蓄積手段に指定することにより、パケットを選択する複数の出力路に出力するマルチキャストあるいはすべての出力路に出力するブロードキャストが容易に実現できる。
【００８５】
更に請求項３記載の発明によれば、データ格納手段の１つのアドレスに複数のパケットが格納されていてもこれらを同時にすべてのパケット選択手段に読み出し、該当するパケットを選択することができる。また、特定のパケットに対して宛先判別手段で判別される出力側蓄積手段を複数の出力側蓄積手段に指定することにより、パケットを選択する複数の出力路に出力するマルチキャストあるいはすべての出力路に出力するブロードキャストが容易に実現できる。
【００８６】
また請求項４の発明によれば、１つのアドレスの全データをパラレルにかつすべてのパケット選択手段に並行して伝送することができる。このため、１つのアドレスの全データを１回のサイクルで伝送することができ、１つのアドレスに割り当てられるデータを増加させることにより、大容量のパケットのスイッチングが可能になる。
【００８７】
更に請求項５記載の発明によれば、入力路の異なるデータ伝送速度や単位時間当たり格納されるアドレス単位の異なるデータの量に対応した周期でデータを伝送するので、効率良くデータを処理することを可能にしている。
【００８８】
また請求項６記載の発明によれば、パケット選択手段によって選択されたパケットをパケット格納手段のメモリ領域の空いている領域に格納することによって、パケットを出力路に効率良く出力することができる。
【００８９】
更に請求項７記載の発明によれば、パケット選択手段の選択したパラレルデータを１回のサイクルで転送することができ、転送の処理が高速化する。また、パケット同士の間隔を詰めて転送するので、受信側の処理が効率化する。
【図面の簡単な説明】
【図１】本発明の一実施例における可変長パケットスイッチ回路を使用したルータの構成を表わした構成図である。
【図２】本実施例で可変長パケットの一例としてＰＰＰフレームのフォーマットを表わした説明図である。
【図３】本実施例で図１で示した入力インタフェース部によって変換された可変長パケットの装置内フレームのフォーマットを表わした説明図である。
【図４】本実施例で図１に示した可変長パケットスイッチ回路の構成を表わした構成図である。
【図５】本実施例で入力ポート側メモリに対するアクセス制御のタイミングを表わしたタイミング図である。
【図６】本実施例で出力ポート側メモリへの可変長パケット書き込み制御の様子を表わした説明図である。
【図７】本実施例で有効情報圧縮スイッチの一例として２入力２出力のセレクタを用いた構成を表わした構成図である。
【図８】本実施例で出力ポート側メモリに対するアクセス制御のタイミングを表わしたタイミング図である。
【図９】本発明の変形例として入力される可変長パケットの異なる伝送レートを混在させた図４に示した可変長パケットスイッチ回路における入力ポート側の変形を表わした構成図である。
【図１０】変形例における入力ポート側メモリに対するアクセス制御のタイミングを表わしたタイミング図である。
【図１１】従来提案されたパケットスイッチ回路の構成を表わした構成図である。
【図１２】従来提案されたアクセスメモリ制御を用いたパケットスイッチ回路の構成を表わした構成図である。
【図１３】図１２に示したパケットスイッチ回路のスイッチメモリ内のアクセスメモリ制御によるパケットのスイッチングを説明した説明図である。
【符号の説明】
１０４  可変長パケットスイッチ回路
１０５  入力ポート
１０６  出力ポート
４０１  入力線
４０２  出力ポート情報抽出部
４０３  出力ポート情報信号
４０４  出力ポート判定部
４０５  入力バッファ
４０７  パケット位置情報信号
４０８  入力ポート側データバス
４０９  入力ポート側メモリ
４１０  入力ポート側メモリ制御部
４１１、４１２、４２１、４２３  出力制御信号
４１３  選択バッファ
４１４  有効情報信号
４１５  データバス
４１６  有効情報圧縮スイッチ
４１７  出力ポート側メモリ制御部
４１８  先頭位置信号
４１９  出力ポート側データバス
４２０  出力ポート側メモリ
４２２  出力バッファ
４２４  出力線
４２５、４２７、４３０  アドレス情報信号
４２６  通知信号
４２８、４３１  リードライト制御信号
４２９  有効情報長信号
４３２  パケット転送要求信号
４３３  出力停止要求信号
【図１】
0003573095.tif 000002
【図２】
0003573095.tif 000003
【図３】
0003573095.tif 000004
【図４】
0003573095.tif 000005
【図５】
0003573095.tif 000006
【図６】
0003573095.tif 000007
【図７】
0003573095.tif 000008
【図８】
0003573095.tif 000009
【図９】
0003573095.tif 000010
【図１０】
0003573095.tif 000011
【図１１】
0003573095.tif 000012
【図１２】
0003573095.tif 000013
【図１３】
0003573095.tif 000014