(57)【要約】【課題】  転送性能を維持したまま、マルチキャストパケットの破棄の防止が図られるとともにマルチキャストパケットとユニキャストパケットとの公平さが確保されたパケットスイッチ装置を提供する。【解決手段】  １つの半導体チップ中に形成されたスイッチチップ１０に、送信されてきたパケットを受け取る入力インターフェース部１１＿１，１１＿２，１１＿３，１１＿４と、受け取ったパケットをそのパケットの受信先に向けて出力する出力インターフェース部１２＿１，１２＿２，１２＿３，１２＿４と、パケットの伝送経路を切り替えてパケットの受信先に接続された出力インターフェース部に伝送するスイッチ部１３と、マルチキャストパケットを一時的に格納するマルチキャストパケットキャッシュ１４と、メモリコントローラ１５と、バッファ管理部１６とを備え、スイッチチップ１０とは別体に外付けバッファメモリ２０を備えた。【選択図】  図１
2010258675.tif 000002
【特許請求の範囲】
【請求項１】
送信元から送信されてきたパケットを受け取り該パケットを該パケットの受信先に向けて出力するパケットスイッチ装置であって、
送信されてきたパケットを受け取る複数の入力インターフェース部と、
受け取ったパケットを該パケットの受信先に向けて出力する複数の出力インターフェース部と、
前記複数の入力インターフェース部と前記複数の出力インターフェース部との間のパケットの伝送経路を切り替えることにより、前記複数の入力インターフェース部のうちのいずれかの入力インターフェース部から入力されたパケットを前記複数の出力インターフェース部のうちの、該パケットの受信先に向けて出力する出力インターフェース部に伝送するスイッチ部と、
前記入力インターフェース部で受け取ったパケットを、前記出力インターフェース部から出力するまでの間、一時的に貯えておくバッファメモリと、
１つの送信元から受け取った１つのパケットを複数の受信先に向けて出力するマルチキャストパケットを一時的に格納するマルチキャストパケットキャッシュとを備え、
前記マルチキャストパケットの前記複数の受信先への出力が完了したことを受けて前記マルチキャストキャッシュを開放することを特徴とするパケットスイッチ装置。
【請求項２】
さらに、前記バッファメモリをアクセスするメモリコントローラを備え、該メモリコントローラを介し、前記マルチキャストパケットキャッシュがその空き領域全てにマルチキャストパケットが格納されている場合、新たに送信されてきたマルチキャストパケット、または、前記マルチキャストパケットキャッシュに順次格納された複数のマルチキャストパケットのうちの該マルチキャストパケットキャッシュに時間的に先に格納された順にマルチキャストパケットを前記バッファメモリに転送するものであることを特徴とする請求項１記載のパケットスイッチ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信元から送信されてきたパケットを受け取り、そのパケットをそのパケットの受信先に向けて出力するパケットスイッチ装置に関する。
【背景技術】
【０００２】
パケットスイッチ装置では、１つの送信元から受け取った１つのパケットを１つの受信先に向けて出力するユニキャストパケットの処理や、１つの送信元から受け取った１つのパケットを複数の受信先に向けて出力するマルチキャストパケットの処理が行なわれている。マルチキャストパケットの処理では、最も遅い転送速度を有する受信先に出力されるまでマルチキャストパケットを一時的に格納しておくためのメモリ（共有メモリ）が必要とされる。この共用メモリは、半導体チップの内部に設けられる場合と、半導体チップの外部に設けられる場合とがある。
【０００３】
図５は、従来の、半導体チップの内部に設けられた共有メモリを有するパケットスイッチ装置の構成を示す図である。
【０００４】
図５に示すパケットスイッチ装置１００は、半導体チップ１００ａの内部に設けられており、このパケットスイッチ装置１００には、入力インタフェース部１１１，１１２，１１３，１１４と、出力インタフェース部１２１，１２２，１２３，１２４と、スイッチ部１３０と、共有メモリであるパケットバッファ１４０と、バッファ管理部１５０とが備えられている。
【０００５】
入力インタフェース部１１１，１１２，１１３，１１４は、送信されてきたパケットを受け取る。
【０００６】
出力インタフェース部１２１，１２２，１２３，１２４は、受け取ったパケットをそのパケットの受信先に向けて出力する。
【０００７】
スイッチ部１３０は、入力インターフェース部１１１，１１２，１１３，１１４と出力インターフェース部１２１，１２２，１２３，１２４との間のパケットの伝送経路を切り替えることにより、入力インターフェース部１１１，１１２，１１３，１１４のうちのいずれかの入力インターフェース部から入力されたパケットを出力インターフェース部１２１，１２２，１２３，１２４のうちの、そのパケットの受信先に送信する出力インターフェース部に伝送する。
【０００８】
パケットバッファ１４０は、入力インターフェース部１１１，１１２，１１３，１１４で受け取ったパケットを、出力インターフェース部１２１，１２２，１２３，１２４から出力するまでの間、一時的に格納しておくバッファメモリである。
【０００９】
バッファ管理部１５０は、入力インターフェース部１１１，１１２，１１３，１１４および出力インターフェース部１２１，１２２，１２３，１２４が使用するバッファメモリを管理する。
【００１０】
このパケットスイッチ装置１００は、以下のように動作する。例えば、入力インタフェース部１１１にパケットが送信されてきた場合、この入力インタフェース部１１１は、送信されてきたパケットを受信し、受信したパケットの宛先アドレスを見てユニキャストパケットかマルチキャストパケットかを判定する。さらに、バッファ管理部１５０に対して、ユニキャスト用のアドレスタイプかマルチキャスト用のアドレスタイプかを指定してパケットバッファ割当要求を出力する。
【００１１】
バッファ管理部１５０は、入力インタフェース部１１１からのパケットバッファ割当要求を受け、アドレスタイプに応じて、パケットバッファ１４０内に、ユニキャストパケットバッファあるいはマルチキャストパケットバッファ用の空き領域を割り当て、割り当てた空き領域を入力インタフェース部１１１に通知する。その際、マルチキャストパケットバッファの場合は、出力インタフェースの数を記憶しておく。
【００１２】
また、入力インタフェース部１１１は、受信したパケットを、スイッチ部１３０を経由して、パケットバッファ１４０の、割り当てられた空き領域に格納する。
【００１３】
さらに、入力インタフェース部１１１は、スイッチ部１３０を経由して、出力すべき出力インタフェース部に送信要求を通知する。マルチキャストパケットの場合は複数の出力インタフェース部に送信要求が通知される。送信要求を通知された出力インタフェース部は、スイッチ部１３０を経由してパケットバッファ１４０からパケットを読み出す。
【００１４】
この出力インタフェース部は、パケットの読み出しを完了すると、バッファ管理部１５０に対して読み出し完了を通知するとともに、ネットワークにパケットを送出する。
【００１５】
バッファ管理部１５０は、読み出し完了の通知を受けて、ユニキャストパケットの場合はパケットバッファ１４０が空き領域であると判断する。マルチキャストパケットの場合は、読み出し完了の通知の数が、記憶しておいた出力インタフェース部の数に達したか否かを確認し、記憶しておいた出力インタフェース部の数に達した場合はパケットバッファ１４０が空き領域であると判断する。
【００１６】
図６は、従来の、半導体チップの外部に設けられた共有メモリを有するパケットスイッチ装置の構成を示す図である。
【００１７】
尚、図５に示すパケットスイッチ装置１００の構成要素と同じ構成要素には同一の符号を付し、異なる点について説明する。
【００１８】
図６に示すパケットスイッチ装置２００は、半導体チップ２００ａの外部に設けられたパケットバッファ１４０と、半導体チップ２００ａの内部に設けられたメモリコントローラ２０１を有する。このパケットスイッチ装置２００では、半導体チップ２００ａの内部に設けられたスイッチ部１３０と、半導体チップ２００ａの外部に設けられたパケットバッファ１４０とのやり取りは、メモリコントローラ２０１を経由して行なわれる。
【００１９】
ここで、共有メモリを有するパケットスイッチ装置に関する技術がいくつか提案されている。例えば、特許文献１には、異なる出力速度差を有する複数のインタフェース部にマルチキャストパケットを転送する際、インタフェース部毎の送信キューに対して廃棄手段を設け、送信キューに溜まった送信要求の数が所定量を超えた際に、その送信キューの先頭から送信要求を廃棄することにより、マルチキャストパケットを格納する共有メモリの領域の枯渇を防ぐ技術が提案されている。
【００２０】
また、特許文献２には、複数のインタフェース部にマルチキャストパケットを転送する際、インタフェース部毎の送信キューをユニキャストパケット用とマルチキャストパケット用に分離し、マルチキャストパケットの送信を優先することにより、マルチキャストパケットの廃棄を抑制するとともに、マルチキャストパケットを格納する共有メモリの領域の開放を促進する技術が提案されている。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００２−２８１０８０号公報
【特許文献２】特開２００４−１４７２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
しかし、従来の、半導体チップ内に設けられた共有メモリを有するパケットスイッチ装置では、共有メモリは高価であるため、共有メモリのサイズを大きくすることは困難である。ここで、１つの送信元から受け取った１つのパケットを複数の受信先に向けて出力するマルチキャストパケット処理では、最も遅い転送速度を有する受信先に出力されるまで、共有メモリ内にマルチキャストパケットを留めておく必要がある。このため、例えば、出力インターフェース部からネットワークにマルチキャストパケットを送出する速度が遅い場合や、１つの出力インターフェース部に複数の入力インターフェース部から複数のパケットが集中して輻輳状態になっている場合であって、さらにパケットが送信されてきた場合、パケットが共有メモリから溢れてしまい、その結果、パケットの破棄、あるいは、特許文献２のようにマルチキャストパケットを優先したためにユニキャストパケットの転送が待たされるといった公平さを失うという悪影響がある。
【００２３】
また、従来の、半導体チップの外部に設けられた共有メモリを有するパケットスイッチ装置では、共有メモリは安価であるため、十分に大きなサイズのものを用意することにより、上述した問題を避けることはできる。しかし、半導体チップの外部に設けられた共有メモリへのアクセスタイムは大きく、従って転送性能が悪化するという問題がある。
【００２４】
本発明は、上記事情に鑑み、転送性能を維持したまま、マルチキャストパケットの破棄の防止が図られるとともにマルチキャストパケットとユニキャストパケットとの公平さが確保されたパケットスイッチ装置を提供することを目的とする。
【課題を解決するための手段】
【００２５】
上記目的を達成する本発明のパケットスイッチ装置は、送信元から送信されてきたパケットを受け取りそのパケットをそのパケットの受信先に向けて出力するパケットスイッチ装置であって、
送信されてきたパケットを受け取る複数の入力インターフェース部と、
受け取ったパケットをそのパケットの受信先に向けて出力する複数の出力インターフェース部と、
上記複数の入力インターフェース部と上記複数の出力インターフェース部との間のパケットの伝送経路を切り替えることにより、上記複数の入力インターフェース部のうちのいずれかの入力インターフェース部から入力されたパケットを上記複数の出力インターフェース部のうちの、そのパケットの受信先に向けて出力する出力インターフェース部に伝送するスイッチ部と、
上記入力インターフェース部で受け取ったパケットを、上記出力インターフェース部から出力するまでの間、一時的に貯えておくバッファメモリと、
１つの送信元から受け取った１つのパケットを複数の受信先に向けて出力するマルチキャストパケットを一時的に格納するマルチキャストパケットキャッシュとを備え、
上記マルチキャストパケットの上記複数の受信先への出力が完了したことを受けて上記マルチキャストキャッシュを開放することを特徴とする。
【００２６】
本発明のパケットスイッチ装置は、バッファメモリと、マルチキャストパケットを一時的に格納するマルチキャストパケットキャッシュとを備え、マルチキャストパケットの複数の受信先への出力が完了したことを受けてマルチキャストキャッシュを開放する構成である。この構成では、マルチキャストパケットを格納するメモリ領域が、バッファメモリとマルチキャストパケットキャッシュとで確保される。バッファメモリには、安価で大容量のメモリを用いることができるため、マルチキャストパケットの破棄を避けることができ、従って品質を落とさずに済む。また、マルチキャストパケットを優先する必要性がなくなることにより、出力インタフェース部ではユニキャストとマルチキャストを公平に扱うことができる。さらに、送信されてきた多数のマルチキャストパケットをアクセスタイムの速いマルチキャストパケットキャッシュに格納することができるため、転送性能の悪化を防止することができる。従って、転送性能を維持したまま、マルチキャストパケットの破棄の防止が図られるとともにマルチキャストパケットとユニキャストパケットとの公平さが確保されたパケットスイッチ装置を提供することができる。
【００２７】
ここで、さらに、上記バッファメモリをアクセスするメモリコントローラを備え、そのメモリコントローラを介し、上記マルチキャストパケットキャッシュがその空き領域全てにマルチキャストパケットが格納されている場合、新たに送信されてきたマルチキャストパケット、または、上記マルチキャストパケットキャッシュに順次格納された複数のマルチキャストパケットのうちのそのマルチキャストパケットキャッシュに時間的に先に格納された順にマルチキャストパケットを上記バッファメモリに転送するものであることが好ましい。
【００２８】
このように、マルチキャストパケットキャッシュに時間的に先に格納された順にマルチキャストパケットをバッファメモリに転送すると、複数のマルチキャストパケットが集中して輻輳状態になっている場合であって、マルチキャストパケットキャッシュの空き領域全てにマルチキャストパケットが格納されている場合であっても、マルチキャストパケットの破棄を防止することができる。
【発明の効果】
【００２９】
本発明によれば、転送性能を維持したまま、マルチキャストパケットの破棄の防止が図られるとともにマルチキャストパケットとユニキャストパケットとの公平さが確保されたパケットスイッチ装置を提供することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態のパケットスイッチ装置の構成を示す図である。
【図２】図１に示す入力インターフェース部のブロック図である。
【図３】図１に示す出力インターフェース部のブロック図である。
【図４】図１に示すバッファ管理部のブロック図である。
【図５】従来の、半導体チップの内部に設けられた共有メモリを有するパケットスイッチ装置の構成を示す図である。
【図６】従来の、半導体チップの外部に設けられた共有メモリを有するパケットスイッチ装置の構成を示す図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照して本発明の実施の形態を説明する。
【００３２】
図１は、本発明の一実施形態のパケットスイッチ装置の構成を示す図である。
【００３３】
図１に示すパケットスイッチ装置１には、例えば、１つの半導体チップ中に形成されたスイッチチップ１０と、スイッチチップ１０とは別体に半導体チップの外部に設けられた外付けバッファメモリ２０が備えられている。
【００３４】
スイッチチップ１０には、送信されてきたパケットを受け取る入力インターフェース部１１＿１，１１＿２，１１＿３，１１＿４が備えられている。
【００３５】
また、このスイッチチップ１０には、受け取ったパケットをそのパケットの受信先に向けて出力する出力インターフェース部１２＿１，１２＿２，１２＿３，１２＿４が備えられている。
【００３６】
さらに、スイッチチップ１０には、スイッチ部１３が備えられている。このスイッチ部１３は、入力インターフェース部１１＿１，１１＿２，１１＿３，１１＿４と出力インターフェース部１２＿１，１２＿２，１２＿３，１２＿４との間のパケットの伝送経路を切り替えることにより、入力インターフェース部１１＿１，１１＿２，１１＿３，１１＿４のうちのいずれかの入力インターフェース部から入力されたパケットを出力インターフェース部１２＿１，１２＿２，１２＿３，１２＿４のうちの、そのパケットの受信先に向けて出力する出力インターフェース部に伝送する。
【００３７】
また、スイッチチップ１０には、１つの送信元から受け取った１つのパケットを複数の受信先に向けて出力するマルチキャストパケットを一時的に格納するマルチキャストパケットキャッシュ１４が備えられている。マルチキャストパケットキャッシュ１４は、一般的なキャッシュと同様に、高速のキャッシュメモリと、これを制御するキャッシュコントローラを有する。
【００３８】
さらに、スイッチチップ１０には、外付けバッファメモリ２０をアクセスするメモリコントローラ１５が備えられている。
【００３９】
また、スイッチチップ１０には、バッファ管理部１６が備えられている。このバッファ管理部１６は、入力インターフェース部１１＿１，１１＿２，１１＿３，１１＿４、出力インターフェース部１２＿１，１２＿２，１２＿３，１２＿４、外付けバッファメモリ２０、およびマルチキャストパケットキャッシュ１４を管理する。
【００４０】
外付けバッファメモリ２０は、マルチキャストパケットが格納されるマルチキャストパケットバッファ２１と、ユニキャストパケットが格納されるユニキャストパケットバッファ２２を有する。詳細には、マルチキャストパケットバッファ２１に、マルチキャストパケットが新たに送信されてきた場合であって、マルチキャストパケットキャッシュ１４の空き領域全てにマルチキャストパケットが格納されている場合には、キャッシュコントローラの制御によりメモリコントローラを介して、その送信されてきたマルチキャストパケット、または、マルチキャストパケットキャッシュ１４に格納されているマルチキャストパケットのうちの古いマルチキャストパケットをマルチキャストパケットバッファ２１に格納する。
【００４１】
次に、パケットスイッチ装置１の動作について説明する。ここでは、例えば入力インタフェース部１１＿１にパケットが送信されてきたものとする。すると、入力インタフェース部１１＿１は、送信されてきたパケットを受信し、宛先アドレスを参照して受信したパケットがユニキャストパケットかマルチキャストパケットかを判定する。さらに、バッファ管理部１６に対して、ユニキャスト用のアドレスタイプかマルチキャスト用のアドレスタイプかを指定してパケットバッファ割当要求を出力する。
【００４２】
バッファ管理部１６は、入力インタフェース部１１＿１からのパケットバッファ割当要求を受け、アドレスタイプに応じて、ユニキャストパケットバッファ２２がマルチキャストパケットバッファ２１のいずれかを外付けバッファメモリ２０に空き領域を割り当てて、割り当てた空き領域を入力インタフェース部１１＿１に通知する。その際、マルチキャストパケットバッファの場合は、出力インタフェースの数を記憶しておく。
【００４３】
次いで、入力インタフェース部１１＿１は、受信したパケットを、スイッチ部１３を経由して、割り当てられた空き領域に格納する。その際、マルチキャストパケットを格納することが指定されている場合は、マルチキャストパケットキャッシュ１４の割り当てられた空き領域に、マルチキャストパケットを格納する。ここで、例えば、出力インターフェース部からネットワークにマルチキャストパケットを送出する速度が遅い場合や、１つの出力インターフェース部に複数の入力インターフェース部から複数のマルチキャストパケットが集中して輻輳状態になっている場合であって、マルチキャストパケットキャッシュ１４の空き領域全てにマルチキャストパケットが格納されている場合は、送信されてきたマルチキャストパケット、または、マルチキャストパケットキャッシュ１４に格納されているマルチキャストパケットのうちの古いマルチキャストパケットを、外付けバッファメモリ２０のマルチキャストパケットバッファ２１に格納する。これにより、マルチキャストパケットの破棄を防止する。一方、ユニキャストパケットを格納することが指定されている場合は、外付けバッファメモリ２０のユニキャストパケットバッファ２２にユニキャストパケットを格納する。
【００４４】
また、入力インタフェース部１１＿１は、スイッチ部１３を経由して、出力すべき出力インタフェース部に送信要求を通知する。マルチキャストパケットの場合は複数の出力インタフェース部に送信要求が送られる。
【００４５】
送信要求を通知された出力インタフェース部は、マルチキャストパケットキャッシュ１４もしくは外付けバッファメモリ２０からパケットを読み出す。マルチキャストパケットキャッシュ１４内にマルチキャストパケットが格納されている場合は、マルチキャストパケットキャッシュ１４からマルチキャストパケットを読み出して、スイッチ部１３を経由して出力インターフェース部に転送する。
【００４６】
上記出力インタフェース部は、パケットの読み出し完了すると、バッファ管理部１６に対して読み出し完了を通知するとともに、ネットワークにパケットを送出する。
【００４７】
さらに、バッファ管理部１６は、読み出し完了の通知を受け、ユニキャストパケットバッファの場合はユニキャストパケットバッファ２２が空き領域であると空きユニキャストパケットバッファ管理キューに記録する。一方、マルチキャストパケットバッファの場合は、読み出し完了の通知の数が、記憶しておいた出力インタフェース部の数に達したか否かを確認し、記憶しておいた出力インタフェース部の数に達した場合はマルチキャストパケットキャッシュ１４に対してキャッシュの破棄を通知する。さらに、外付けバッファメモリ２０のマルチキャストパケットバッファ２１が空き領域であると空きマルチキャストパケットバッファ管理キューに記録する。
【００４８】
マルチキャストパケットキャッシュ１４は、前述のとおり、内部のキャッシュコントローラ（図示せず）により、キャッシュの破棄の通知を受けると、該当するキャッシュメモリ領域を開放して、空き領域を確保する。
【００４９】
本実施形態では、マルチキャストパケットを格納するメモリ領域が、半導体チップ中のスイッチチップ１０内に形成されたマルチキャストパケットキャッシュ１４と、半導体チップの外部に設けられた外付けバッファメモリ２０との組み合わせで確保される。外付けバッファメモリ２０は、半導体チップの外部に設けられた安価で大容量のメモリである。このため、マルチキャストパケットの破棄を避けることができ、従って品質を落とさずに済む。また、特許文献２にあるようにマルチキャストパケットを優先する必要性がなくなることにより、出力インタフェース部ではユニキャストとマルチキャストを公平に扱うことができる。さらに、送信されてきた多数のマルチキャストパケットの大半をアクセスタイムの速いマルチキャストパケットキャッシュ１４に格納することができるため、転送性能の悪化を防止することができる。
【００５０】
図２は、図１に示す入力インターフェース部のブロック図である。
【００５１】
図２には、図１に示す入力インターフェース部１１＿１のブロック図が示されている。尚、図１に示す入力インターフェース部１１＿２，１１＿３，１１＿４のブロック図も、この図１に示す入力インターフェース部１１＿１のブロック図と同じである。
【００５２】
図２に示す入力インターフェース部１１＿１には、パケット受信部１１＿１１と、パケット一時バッファ１１＿１２と、宛先判断部１１＿１３と、ユニキャストアドレステーブル１１＿１４と、マルチキャストグループアドレステーブル１１＿１５と、パケット格納処理部１１＿１６とが備えられている。この入力インターフェース１１＿１では、以下に説明するように、図２の符号（１）〜（１０）で示す（手順１）〜（手順１０）の順に動作が行なわれる。
（手順１）パケット受信部１１＿１１は、ネットワークから送信されてきたパケットを受信する。
（手順２）パケット受信部１１＿１１は、受信したパケットをパケット一時バッファ１１＿１２に送出する。送出されたパケットは、パケット一時バッファ１１＿１２に一時的に格納される。
（手順３）パケット受信部１１＿１１は、受信したパケットのヘッダ処理要求を宛先判断部１１＿１３に出力する。
（手順４）宛先判断部１１＿１３は、パケット受信部１１＿１１からのヘッダ処理要求を受けて、パケット一時バッファ１１＿１２に格納されたパケットを読み出す。
（手順５）宛先判断部１１＿１３は、読み出したパケットのヘッダを構成する宛先アドレスを読み取ってその宛先アドレスがユニキャストパケット用の宛先アドレスかマルチキャストパケット用の宛先アドレスかを判断する。ここで、ユニキャストアドレステーブル１１＿１４には、ユニキャストパケット用の宛先アドレスをどの１つの出力インターフェース部に出力するのかの情報が格納されている。また、マルチキャストグループアドレステーブル１１＿１５には、マルチキャストパケット用の宛先アドレスをどの複数の出力インターフェース部に出力するのかの情報が記憶されている。宛先判断部１１＿１３は、判断した宛先アドレスに対応するアドレステーブルを参照して、どの出力インターフェース部に出力するのかの情報を取得する。
（手順６）宛先判断部１１＿１３は、取得した情報に基づいて、宛先アドレスに対する空きバッファ要求を、図１に示すバッファ管理部１６に要求する。空きバッファ要求の情報としては、ユニキャストパケット用の宛先アドレスかマルチキャストパケット用の宛先アドレスかを示すアドレスタイプ情報や、パケットのサイズ情報や、マルチキャストパケットの場合に出力される複数の出力インターフェース部のリスト（出力ポートリスト）情報がある。
（手順７）バッファ管理部１６は、これらの情報に基づいて、空きバッファアドレスの情報をパケット格納処理部に１１＿１６に出力する。空きバッファアドレスの情報としては、外付けバッファメモリ２０のマルチキャストパケットバッファ２１およびユニキャストパケットバッファ２２の空き領域を示すサイズ情報や、上記出力ポートリスト情報がある。
（手順８）パケット格納処理部１１＿１６は、パケット一時バッファ１１＿１２からパケットを読み出す。
（手順９）パケット格納処理部１１＿１６は、読み出したパケットがマルチキャストパケットの場合は、そのマルチキャストパケットを、図１に示すスイッチ部１３を経由してマルチキャストパケットキャッシュ１４に格納する。一方、ユニキャストパケットの場合は、図１に示すスイッチ部１３，マルチキャストパケットキャッシュ１４，メモリコントローラ１５を経由してユニキャストパケットバッファ２２に格納する。
（手順１０）パケット格納処理部に１１＿１６は、送信要求を、スイッチ部１３を経由して出力インターフェース部に出力する。送信要求の情報としては、出力ポートリスト情報や、パケットバッファのアドレス情報や、パケットのサイズ情報がある。このようにして、入力インターフェース１１＿１では、ネットワークから送信されてきたパケットを処理する。
【００５３】
図３は、図１に示す出力インターフェース部のブロック図である。
【００５４】
図３には、図１に示す出力インターフェース部１２＿１のブロック図が示されているが、図１に示す出力インターフェース部１２＿２，１２＿３，１２＿４のブロック図も、この図１に示す出力インターフェース部１２＿１のブロック図と同じである。
【００５５】
図３に示す出力インターフェース部１２＿１には、パケット読み出し処理部１２＿１１と、パケット一時バッファ１２＿１２と、パケット送信部１２＿１３とが備えられている。この出力インターフェース１２＿１では、以下に説明するように、図３の符号（１）〜（８）で示す（手順１）〜（手順８）の順に動作が行なわれる。
（手順１）出力インターフェース部１２＿１では、図１に示すスイッチ部１３を経由して、図２に示す入力インターフェース１１＿１（パケット格納処理部１１＿１６）からの送信要求が送出順に送信要求キューとして並べられる。
（手順２）パケット読み出し処理部１２＿１１は、送信要求キューのうちの先頭の送信要求を受け付ける。
（手順３）パケット読み出し処理部１２＿１１は、マルチキャストパケットキャッシュ１４や外付けバッファメモリ２０（パケットバッファ）から読み出されてスイッチ部１３を経由したパケットを読み込む。
（手順４）パケット読み出し処理部１２＿１１は、読み込んだパケットをパケット一時バッファ１２＿１２に読み出す。読み出されたパケットは、パケット一時バッファ１２＿１２に格納される。
（手順５）パケット読み出し処理部１２＿１１は、パケットの読み出しが完了したことを示す読み出し完了をバッファ管理部１６に出力する。読み出し完了の情報としては、出力ポート情報や、パケットバッファのアドレス情報や、パケットのサイズ情報がある。
（手順６）パケット読み出し処理部１２＿１１は、送信要求をパケット送信部１２＿１３に出力する。
（手順７）パケット送信部１２＿１３は、この送信要求を受けて、パケット一時バッファ１２＿１２に格納されているパケットを受け取る。
（手順８）パケット送信部１２＿１３は、パケット一時バッファ１２＿１２から受け取ったパケットをネットワークに送出する。このようにして、出力インターフェース部１２＿１からパケットをネットワークに送出する。
【００５６】
図４は、図１に示すバッファ管理部のブロック図である。
【００５７】
図４に示すバッファ管理部１６には、バッファ要求処理部１６＿１と、マルチキャストパケットバッファ管理テーブル１６＿２と、バッファ返却処理部１６＿３とが備えられている。また、このバッファ管理部１６は、ユニキャストパケットバッファの空き領域を管理する空きユニキャストパケットバッファ管理キューと、マルチキャストパケットバッファの空き領域を管理する空きマルチキャストパケットバッファ管理キューを有する。このバッファ管理部１６では、以下に説明するように、図４の符号（１）〜（８）で示す（手順１）〜（手順８）の順に動作が行なわれる。
（手順１）バッファ要求処理部１６＿１は、入力インターフェース１１＿１（宛先判断部１１＿１３）からの空きバッファ要求（アドレスタイプ，パケットのサイズ，出力ポートリスト）の情報を受け取る。
（手順２）バッファ要求処理部１６＿１は、アドレスタイプの情報からユニキャストパケットかマルチキャストパケットかを識別し、ユニキャストパケットであれば空きユニキャストパケットバッファ管理キューからユニキャストパケットの情報を１つ引き出し、マルチキャストパケットであれば空きマルチキャストパケットバッファ管理キューからマルチキャストパケットの情報を１つ引き出す。
（手順３）バッファ要求処理部１６＿１は、引き出した情報に基づいて、入力インターフェース１１＿１（パケット格納処理部１１＿１６）に空きバッファアドレス（サイズ，出力ポートリスト）の情報を出力する。
（手順４）バッファ要求処理部１６＿１は、出力ポートリスト情報をバッファの使用状況を管理するマルチキャストパケットバッファ管理テーブル１６＿２に出力する。マルチキャストパケットバッファ管理テーブル１６＿２は、バッファ要求処理部１６＿１からの出力ポートリストを格納する。
（手順５）バッファ返却処理部１６＿３は、出力インターフェース部からのパケット読み出し完了（出力ポート，パケットバッファのアドレス，パケットのサイズ）情報を受け取る。
（手順６）バッファ返却処理部１６＿３は、ユニキャストパケットの場合は空きユニキャストパケットバッファ管理キューにユニキャストパケットバッファが使用可能を意味する空き情報を並べる。一方、マルチキャストパケットの場合は、マルチキャストパケットバッファ管理テーブル１６＿２に格納された出力ポートリストのうちの、その出力ポートに対応する出力インターフェース部がバッファを使用済であることを示す印を付ける。
（手順７）マルチキャストパケットバッファ管理テーブル１６＿２から出力ポートリストのすべての出力ポートからパケット読み出し完了情報を受けとると、バッファ返却処理部１６＿３は、キャッシュ破棄要求をマルチキャストパケットキャッシュ１４に出力する。キャッシュ破棄要求の情報としては、マルチキャストパケットバッファ２１のアドレス情報やサイズ情報がある。
（手順８）バッファ返却処理部１６＿３は、空きマルチキャストパケットバッファ管理キューに空き情報を並べる。このようにして、バッファ管理部１６で入力インターフェース部、出力インターフェース部、パケットバッファ、およびマルチキャストパケットキャッシュ１４を管理する。
【符号の説明】
【００５８】
１  パケットスイッチ装置
１０  スイッチチップ
１１＿１，１１＿２，１１＿３，１１＿４  入力インターフェース部
１１＿１１  パケット受信部
１１＿１２  パケット一時バッファ
１１＿１３  宛先判断部
１１＿１４  ユニキャストアドレステーブル
１１＿１５  マルチキャストグループアドレステーブル
１１＿１６  パケット格納処理部
１２＿１，１２＿２，１２＿３，１２＿４  出力インターフェース部
１２＿１１  パケット読み出し処理部
１２＿１２  パケット一時バッファ
１２＿１３  パケット送信部
１３  スイッチ部
１４  マルチキャストパケットキャッシュ
１５  メモリコントローラ
１６  バッファ管理部
１６＿１  バッファ要求処理部
１６＿２  マルチキャストパケットバッファ管理テーブル
１６＿３  バッファ返却処理部
２０  外付けバッファメモリ
２１  マルチキャストパケットバッファ
２２  ユニキャストパケットバッファ
【図１】
2010258675.tif 000003
【図２】
2010258675.tif 000004
【図３】
2010258675.tif 000005
【図４】
2010258675.tif 000006
【図５】
2010258675.tif 000007
【図６】
2010258675.tif 000008