(57)【特許請求の範囲】
【請求項１】
パケットを中継する中継装置であって、
領域を分割した複数のエントリを含み、各前記エントリに受信パケットを一時的に格納するパケットバッファと、
前記パケットバッファを前記エントリ単位で管理する空きエントリ管理部と、
前記パケットバッファからパケットを取り出し、前記エントリ単位でデータエラーを検出するパケットバッファ制御部と、
前記パケットバッファの各前記エントリに対応した複数のカウンタを含み、前記エントリ毎のデータエラーの発生回数を保持するエラー発生回数テーブルと、
使用可能な空きエントリのエントリ番号をプールするエントリ空きエントリバッファと
を備え、
前記空きエントリ管理部は、送信パケットが格納されたエントリの番号である第１のエントリ番号と、前記送信パケットのデータエラーのチェック結果を、前記パケットバッファ制御部から受け、
前記空きエントリ管理部は、データエラー無しの場合は、前記エラー発生回数テーブルの前記第１のエントリ番号に対応する第１のカウンタを減算する又は０に設定し、前記第１のエントリ番号を空きエントリとして前記空きエントリバッファにプールし、
前記空きエントリ管理部は、データエラー有りの場合は、前記第１のカウンタを加算し、前記第１のカウンタの値が予め設定されたエラー発生回数閾値未満のとき、前記第１のエントリ番号を空きエントリとして前記空きエントリバッファにプールし、前記第１のカウンタの値が前記エラー発生回数閾値以上のとき、前記空きエントリバッファに前記第１のエントリ番号がプールされていたら前記第１のエントリ番号を除外し、
前記空きエントリ管理部は、前記空きエントリバッファを参照し、プールされているエントリ番号のいずれかを前記パケットバッファ制御部に通知し、
前記パケットバッファ制御部は、通知された前記エントリ番号の前記エントリに、受信パケットを格納する
中継装置。
【請求項２】
請求項１に記載の中継装置であって、
前記パケットバッファ制御部は、
受信パケットを前記パケットバッファへ格納するためのパケット受信部と、
前記パケットバッファに前記受信パケットを格納するデータエラー検出部と
を備え、
前記空きエントリ管理部は、前記受信パケットを前記パケットバッファへ格納する時の前記エントリ番号を前記パケット受信部へ指示し、
前記パケット受信部は、前記受信パケットを前記パケットバッファへ格納するための前記エントリ番号を前記空きエントリ管理部から受け取り、前記データエラー検出部に対して前記エントリ番号へパケットを格納する指示を出し、
前記データエラー検出部は、前記パケット受信部からパケット格納指示を受け取り、前記受信パケットにデータ保護コードを付与して前記パケットバッファに格納する
ことを特徴とする中継装置。
【請求項３】
請求項１又は２に記載の中継装置であって、
前記パケットバッファ制御部は、
前記パケットバッファから送信パケットを取り出すデータエラー検出部と、
前記データエラー検出部から前記送信パケットを受け取り、前記送信パケットを出力回線へ送信する又は前記送信パケットを廃棄するパケット送信部と
を備え、
前記データエラー検出部が、前記パケットバッファの前記第１のエントリ番号のエントリから送信パケットを取り出し、前記送信パケットに付与されているデータ保護コードを使ってデータエラーをチェックし、チェック結果を前記パケット送信部へ送信し、
前記パケット送信部は、前記チェック結果に基づき、データエラーを検出しなかった場合は前記送信パケットを出力回線へ送信し、データエラーを検出した場合は前記送信パケットを出力回線へ送信せずに廃棄し、
パケット送信部は、前記第１のエントリ番号とデータエラーのチェック結果を前記空きエントリ管理部へ送信する
ことを特徴とする中継装置。
【請求項４】
請求項１乃至３のいずれかに記載の中継装置であって、
前記パケットバッファとして使用しないエントリの数を保持する障害エントリ数カウンタをさらに備え、
前記空きエントリ管理部は、前記第１のカウンタの値が前記エラー発生回数閾値以上のとき、前記障害エントリ数カウンタを加算し、
前記空きエントリ管理部は、前記障害エントリ数カウンタが予め定められた障害エントリ数閾値以上の場合に、前記パケットバッファを閉塞する障害通知を出力する
ことを特徴とする中継装置。
【請求項５】
請求項４に記載の中継装置であって、
前記空きエントリ管理部から前記パケットバッファを閉塞する障害通知を受けたときに、前記パケットバッファの閉塞処理を実施する制御部をさらに備えたことを特徴とする中継装置。
【請求項６】
請求項４に記載の中継装置であって、
前記障害エントリ数閾値を設定するための制御部をさらに備えたことを特徴とする中継装置。
【請求項７】
請求項１乃至４のいずれかに記載の中継装置であって、
前記エラー発生回数閾値を設定するための制御部をさらに備えたことを特徴とする中継装置。
【請求項８】
請求項１乃至７のいずれかに記載の中継装置であって、
前記エラー発生回数閾値は、ソフトエラーとハードエラーとを切り分けるための閾値が設定されることを特徴とする中継装置。
【請求項９】
請求項４乃至６のいずれかに記載の中継装置であって、
さらに、前記エラー発生回数テーブルの内容、及び／又は、前記障害エントリ数カウンタの内容を出力又は表示する機能を備えたことを特徴とする中継装置。
【請求項１０】
パケットを中継する中継装置における障害処理方法であって、
前記中継装置は、
領域を分割した複数のエントリを含み、各前記エントリに受信パケットを一時的に格納するパケットバッファと、
前記パケットバッファを前記エントリ単位で管理する空きエントリ管理部と、
前記パケットバッファからパケットを取り出し、前記エントリ単位でデータエラーを検出するパケットバッファ制御部と、
前記パケットバッファの各前記エントリに対応した複数のカウンタを含み、前記エントリ毎のデータエラーの発生回数を保持するエラー発生回数テーブルと、
使用可能な空きエントリのエントリ番号をプールするエントリ空きエントリバッファとを備え、
前記空きエントリ管理部は、送信パケットが格納されたエントリの番号である第１のエントリ番号と、前記送信パケットのデータエラーのチェック結果を、前記パケットバッファ制御部から受け、
前記空きエントリ管理部は、データエラー有りの場合は、前記第１のカウンタを加算し、前記第１のカウンタの値が前記エラー発生回数閾値以上のとき、前記空きエントリバッファに前記第１のエントリ番号がプールされていたら前記第１のエントリ番号を除外し、
前記空きエントリ管理部は、前記空きエントリバッファを参照し、プールされているエントリ番号のいずれかを前記パケットバッファ制御部に通知し、
前記パケットバッファ制御部は、通知された前記エントリ番号の前記エントリに、受信パケットを格納する
障害処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置及び障害処理方法に係り、特に、ネットワーク中継装置と、ネットワーク中継装置に搭載されるパケットバッファの障害処理方法に関する。
【背景技術】
【０００２】
近年、ビジネスや家庭におけるネットワークへの依存度が高まっており、そのネットワークの構成要素であるネットワーク中継装置においてはその高信頼性が求められている。一般的にネットワーク中継装置では中継パケットを格納するバッファ（以下、パケットバッファ）が備えられている。ネットワーク中継装置に入力されたパケットは、一時的にパケットバッファへ格納され、当該装置がパケットを出力する時に、パケットバッファからパケットを取り出して、後段装置へ送出する。つまり、パケットバッファは、このようなネットワーク中継装置においては最頻で使用されるメモリであり、パケットバッファの障害率が、ネットワーク中継装置の信頼性に大きく寄与している。
【０００３】
パケットバッファは、一般に共有バッファとして管理される。複数回線から入力されるパケットは、一つのバッファシステムを、仮想的に分割して共有する。共有バッファとして管理されるパケットバッファで障害が発生した際には、全ての回線の通信に対して影響が発生する可能性があるため、安易にパケットバッファの障害によるネットワーク中継装置の障害とは判断せずに、障害を検出した際に処理していたパケットを廃棄しながら継続動作し、極力、ネットワーク中継装置の停止につながらない手法を取る。例えば単位時間あたりのパケットバッファの障害発生回数をモニタして、障害が繰り返すようであれば、ネットワーク中継装置を停止する。しかし、近年のネットワークの高速化・大容量化を受け、パケットバッファ自体の高速化・高集積化は著しく、比例してパケットバッファの障害率は上昇傾向にある。このため、パケットバッファの障害処理方法が装置の高信頼性を目指す中で重要な技術となる。
【０００４】
高速化・高集積化されたパケットバッファの故障は、ソフトエラーとハードエラーの２つのケースに分類される。ソフトエラーとは、中性子線がメモリセルに衝突するなどの理由で、一時的にメモリ内のデータが壊れる故障であり、正しいデータを書き込み直すことで、故障から復旧することができる。ハードエラーとは、物理的なメモリセルの破損などの理由で、永続的にメモリ内のデータが壊れる故障である。
【０００５】
ネットワーク中継装置において、パケットが廃棄されることは、想定の範囲内であることが多い。通信システムとしてのデータの到達保証は、ネットワーク中継装置より上位のレイヤで、廃棄されたパケットを再送することで実現される。したがって、ソフトエラーなどによる一時的なパケットバッファの故障は、故障したパケットを廃棄することで、動作を継続させても良い。
【０００６】
また、共有バッファとして管理されるパケットバッファは、仮想的に複数の回線で共有されている。一般的に、各回線に仮想的に割り当てられたバッファ量を合計すると、パケットバッファの全体の容量よりも大きくなる。これは、全ての回線が同時にパケットバッファを多量に使用することが、統計上、極めて稀であるためである。これをパケットバッファの統計多重効果と呼ぶ。したがって、共有バッファシステムにおいて、ある程度までパケットバッファの領域が破損した場合でも、各回線が利用可能なバッファ量に変わりが無く、通信に影響は無いと想定される。
【０００７】
また、ネットワーク中継装置以外のバッファ障害処理技術としては、特許文献１のような方法がある。特許文献１では、「メモリにおいて、１ビットエラーが生じても、１ビットエラーの発生した部位を含むメモリの一定単位内にあるデータを他の記憶領域に退避させ、エラーの発生したメモリの一定単位領域を無効にすることで、システムのフォルト・トレランスを向上させ、信頼性を向上させる」（要約）ようにしたものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−０３２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ネットワーク中継装置に搭載するパケットバッファの障害処理方法としては、従来はＥＣＣ等のデータ保護コードを利用して、物理的なバッファ単位で障害を検出し、例えば単位時間あたりの障害発生回数を以ってネットワーク中継装置障害と判定していた。このような場合、当該バッファのある特定領域だけが故障したケースでは、その領域以外は正常動作可能であってもネットワーク中継装置障害に陥っていた。また、マルチキャストパケットのように、パケットバッファの特定領域を複数回に渡り連続で読み出すケースでは、当該領域がソフトエラーにより一時的に故障を引き起こした場合でも、連続して故障したパケットを読み出すことで、複数回の障害を検出してしまうため、ネットワーク中継装置障害に陥っていた。
【００１０】
また、ネットワーク中継装置以外のバッファ障害処理技術としては、特許文献１のような方法がある。しかし、特許文献１に記載されたメモリ制御方式では、バッファの故障領域を別領域にコピーして退避する間は、当該パケットバッファへのリード・ライトアクセスを中断する必要がある。この手法をネットワーク中継装置のパケットバッファに適用した場合は、パケット中継性能が低下するため必ずしも適当ではない。
【００１１】
本発明は、以下の点に鑑み、ネットワーク中継装置に搭載するパケットバッファにおいて、パケットバッファで発生する障害を、分割したエントリ単位で管理することで、ネットワーク中継装置の障害の発生確率を軽減し、信頼性を高めることを目的とする。
【課題を解決するための手段】
【００１２】
本発明で提供するパケットバッファにおける障害処理方式のひとつの態様によると、以下の構成を備える。即ち、ネットワーク中継装置が受信したパケットを一時的に格納しておくパケットバッファと、前記パケットバッファ領域を分割したエントリ単位で管理するパケットバッファのエントリ管理手段と、前記エントリ単位でパケットの格納から取り出しまでの期間に発生するデータエラーを検出できるデータエラー検出手段と、前記データエラー検出手段で検出したエラー発生回数を前記エントリ単位に記憶するカウンタを備えたエラー発生回数テーブルと、前記エラー発生回数テーブルに記憶された前記エントリ毎のエラー発生回数と予め設定された閾値を比較してエントリ毎の障害を検出する手段と、前記エントリ毎の障害検出手段により検出された障害エントリ数を数えるカウンタと、前記障害エントリ数カウンタが予め設定された閾値と比較することでパケットバッファ障害を検出し上位制御部へ報告する手段と、必要に応じて前記エラー発生回数テーブルと前記障害エントリを数えるカウンタとを出力する手段とを有する。
【００１３】
本発明の第１の解決手段によると、
パケットを中継する中継装置であって、
領域を分割した複数のエントリを含み、各前記エントリに受信パケットを一時的に格納するパケットバッファと、
前記パケットバッファを前記エントリ単位で管理する空きエントリ管理部と、
前記パケットバッファからパケットを取り出し、前記エントリ単位でデータエラーを検出するパケットバッファ制御部と、
前記パケットバッファの各前記エントリに対応した複数のカウンタを含み、前記エントリ毎のデータエラーの発生回数を保持するエラー発生回数テーブルと、
使用可能な空きエントリのエントリ番号をプールするエントリ空きエントリバッファと
を備え、
前記空きエントリ管理部は、送信パケットが格納されたエントリの番号である第１のエントリ番号と、前記送信パケットのデータエラーのチェック結果を、前記パケットバッファ制御部から受け、
前記空きエントリ管理部は、データエラー無しの場合は、前記エラー発生回数テーブルの前記第１のエントリ番号に対応する第１のカウンタを減算する又は０に設定し、前記第１のエントリ番号を空きエントリとして前記空きエントリバッファにプールし、
前記空きエントリ管理部は、データエラー有りの場合は、前記第１のカウンタを加算し、前記第１のカウンタの値が予め設定されたエラー発生回数閾値未満のとき、前記第１のエントリ番号を空きエントリとして前記空きエントリバッファにプールし、前記第１のカウンタの値が前記エラー発生回数閾値以上のとき、前記空きエントリバッファに前記第１のエントリ番号がプールされていたら前記第１のエントリ番号を除外し、
前記空きエントリ管理部は、前記空きエントリバッファを参照し、プールされているエントリ番号のいずれかを前記パケットバッファ制御部に通知し、
前記パケットバッファ制御部は、通知された前記エントリ番号の前記エントリに、受信パケットを格納する
中継装置が提供される。
【００１４】
本発明の第２の解決手段によると、
パケットを中継する中継装置における障害処理方法であって、
前記中継装置は、
領域を分割した複数のエントリを含み、各前記エントリに受信パケットを一時的に格納するパケットバッファと、
前記パケットバッファを前記エントリ単位で管理する空きエントリ管理部と、
前記パケットバッファからパケットを取り出し、前記エントリ単位でデータエラーを検出するパケットバッファ制御部と、
前記パケットバッファの各前記エントリに対応した複数のカウンタを含み、前記エントリ毎のデータエラーの発生回数を保持するエラー発生回数テーブルと、
使用可能な空きエントリのエントリ番号をプールするエントリ空きエントリバッファと
を備え、
前記空きエントリ管理部は、送信パケットが格納されたエントリの番号である第１のエントリ番号と、前記送信パケットのデータエラーのチェック結果を、前記パケットバッファ制御部から受け、
前記空きエントリ管理部は、データエラー無しの場合は、前記エラー発生回数テーブルの前記第１のエントリ番号に対応する第１のカウンタを減算する又は０に設定し、前記第１のエントリ番号を空きエントリとして前記空きエントリバッファにプールし、
前記空きエントリ管理部は、データエラー有りの場合は、前記第１のカウンタを加算し、前記第１のカウンタの値が予め設定されたエラー発生回数閾値未満のとき、前記第１のエントリ番号を空きエントリとして前記空きエントリバッファにプールし、前記第１のカウンタの値が前記エラー発生回数閾値以上のとき、前記空きエントリバッファに前記第１のエントリ番号がプールされていたら前記第１のエントリ番号を除外し、
前記空きエントリ管理部は、前記空きエントリバッファを参照し、プールされているエントリ番号のいずれかを前記パケットバッファ制御部に通知し、
前記パケットバッファ制御部は、通知された前記エントリ番号の前記エントリに、受信パケットを格納する
障害処理方法が提供される。
【発明の効果】
【００１５】
本発明により、ネットワーク中継装置に搭載するパケットバッファにおいて、パケットバッファで発生する障害を、分割したエントリ単位で管理することで、ネットワーク中継装置の障害の発生確率を軽減することができ、信頼性を高めることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態を示すブロック図である。
【図２】パケット送信処理を説明するフローチャートである。
【図３】パケットバッファのエントリ管理方法を説明するフローチャートである。
【図４】パケットバッファの障害判定方法を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
以下に、本発明の実施形態について図面に基づいて詳細に説明する。
図１は、本発明の実施の形態を示すブロック図である。
図１において、ネットワーク中継装置１は、パケットバッファ１０と、パケットバッファ制御部２０と、エントリ管理部３０と、ネットワーク中継装置１の各種動作を制御する制御部４０を備える。
【００１８】
パケットバッファ１０は、ネットワーク中継装置１が受信したパケットを一時的に格納するバッファであり、そのバッファ領域をＮ個のエントリに分割して管理され、各エントリにはそれぞれネットワーク中継装置１が受信したパケットデータが格納される。なお以降の説明では、分割されたエントリ領域を「Ｅ（０）〜Ｅ（Ｎ−１）（Ｎは２以上の整数）」と表す。
パケットバッファ制御部２０は、データエラー検出部２０１と、パケット受信部２０２と、パケット送信部２０３を有する。
【００１９】
パケット受信部２０２は、受信したパケットをパケットバッファ１０へ格納するためのエントリ番号をエントリ管理部３０から受け取り、データエラー検出部２０１に対して当該エントリ番号へパケットを格納する指示（パケット格納指示）を出す。データエラー検出部２０１は、パケット受信部２０２から前述のパケット格納指示を受け取り、当該パケットにデータ保護コードを付与してパケットバッファ１０に格納する。ネットワーク中継装置１がパケットを送信する場合は、データエラー検出部２０１は、パケットバッファ１０から送信パケットを取り出してパケット送信部２０３へ送信する。また、データエラー検出部２０１は、パケットバッファ１０からパケットを取り出した時に、当該パケットデータに付与されているデータ保護コードを使ってデータエラーをチェックし、そのチェック結果をパケット送信部２０３へ送信する。パケット送信部２０３は、データエラー検出部２０１から送信パケットと、送信パケットが格納されていたパケットバッファエントリ番号と、データエラーのチェック結果を受け取り、データエラーのチェック結果がエラーであった場合には、送信パケットを廃棄し、それ以外の場合は、送信パケットを出力回線へ送信する。また、パケット送信部２０３は、データエラー検出部２０１から受け取ったエントリ番号とデータエラー検出結果をエントリ管理部３０へ転送する。
【００２０】
エントリ管理部３０は、空きエントリ管理部３０１と、エラー発生回数テーブル３０２と、エラー発生回数閾値レジスタ３０３と、障害エントリ数カウンタ３０４と、障害エントリ数閾値レジスタ３０５と、空きエントリバッファ３０６を有する。
空きエントリ管理部３０１は、ネットワーク中継装置１が受信したパケットをパケットバッファ１０へ格納する時のエントリ番号をパケット受信部２０２へ指示する。またネットワーク中継装置１がパケットを送信する場合は、パケット送信部２０３から送信パケットが格納されていたエントリ番号と当該エントリからパケットを取り出した時のデータエラーチェック結果を受け取る。エラー発生回数テーブル３０２は、パケットバッファ１０のエントリ数と同数のＮ個のカウンタを備えており、パケットバッファ１０のエントリ毎のエラー発生回数を保持する。なお以降の説明では、このカウンタをそれぞれＣ（０）〜Ｃ（Ｎ−１）（Ｎは２以上の整数）と表す。エラー発生回数閾値レジスタ３０３は、制御部４０によって予め閾値が設定されるレジスタであり、この閾値は、空きエントリ管理部３０１により、エラー発生回数テーブル３０２のカウンタＣ（０）〜Ｃ（Ｎ−１）に保持されている値と比較される。エラー発生回数テーブル３０２、エラー発生回数閾値レジスタ３０３の動作については、後述する図３の説明で詳細に記載する。障害エントリ数カウンタ３０４は、エラー発生回数テーブル３０２のカウンタ値と、エラー発生回数閾値レジスタ３０３に設定された閾値の比較結果、この閾値を越えたエントリ数を保持するカウンタである。カウンタは、制御部４０によって予め値が設定される障害エントリ数閾値レジスタ３０５の閾値と比較される。障害エントリ数カウンタ３０４、障害エントリ数閾値レジスタ３０５の動作については、後述する図４の説明で詳細に記載する。
【００２１】
制御部４０は、パケットバッファ１０と、パケットバッファ制御部２０と、エントリ管理部３０に接続されており、エラー発生回数閾値レジスタ３０３と障害エントリ数閾値レジスタ３０５の各閾値を設定し、必要に応じて障害発生数カウンタ３０２と障害エントリ数カウンタ３０４の内容を読み出す機能を有する。また、制御部４０は、空きエントリ管理部３０１からパケットバッファ１０の障害通知を受けたときに、パケットバッファ１０の閉塞処理を実施する。
【００２２】
図２は、ネットワーク中継処理装置１のパケット送信処理のフローチャートである。本フローチャート以降では、一例として送信パケットがパケットバッファ１０のエントリ番号Ｍ（Ｍは、パケットバッファ１０を分割したエントリ番号０〜Ｎ−１の一つ）に格納されているケースを説明する。
最初のステップＳ２００では、データエラー検出部２０１が、パケットが格納されているエントリ番号Ｍからパケットデータを取り出し、当該パケットデータに付与されているデータ保護コードを使ってそのデータエラーをチェックする。次にステップＳ２０１で、パケット送信部２０３が、データエラーのチェック結果がエラーか否かを判定し、エラーを検出しなかった場合はステップＳ２０２に遷移し、送信パケットを出力回線へ送信し、一方、エラーを検出した場合はステップＳ２０３に遷移し、送信パケットを出力回線へ送信せずに廃棄する。その後、パケット送信部２０３は、ステップＳ２０４でエントリ番号Ｍとデータエラー検出結果をエントリ管理部３０へ送信する。
【００２３】
図３は、エントリ管理部３０の処理について説明するフローチャートである。
最初のステップＳ３０１では、空きエントリ管理部３０１が、パケット送信部２０３から受け取ったエントリ番号Ｍのデータエラーチェック結果がエラーであるか否かを判定する。エラーではなかった場合はステップＳ３０２に遷移し、空きエントリ管理部３０１は、エラー発生回数テーブル３０２のエントリ番号Ｍに対応するカウンタＣ（Ｍ）を減算するか、あるいは０を設定する。なお、減算するか、又は０を設定するかは、制御部４０等により、予め定めておくことができる。その後、ステップＳ３０５で、空きエントリ管理部３０１は、当該エントリ番号Ｍを空きエントリとしてプールする。なお、ステップＳ３０５でプールされた空きエントリは、空きエントリ管理部が有する空きエントリバッファ３０６に格納され、別パケットを格納するために再利用する。また、ステップＳ３０１の判定においてデータエラーありだった場合はステップＳ３０３に遷移し、空きエントリ管理部３０１は、カウンタＣ（Ｍ）の値に１を加えて書き戻す。その後、空きエントリ管理部３０１は、ステップＳ３０４で、カウンタＣ（Ｍ）の値と、制御部４０によって予め設定されたエラー発生回数閾値レジスタ３０３の閾値とを比較し、カウンタＣ（Ｍ）の値がエラー発生回数閾値レジスタ３０３の閾値未満だった場合はステップＳ３０５に遷移して、当該エントリ番号Ｍを空きエントリとして空きエントリバッファ３０６にプールする。また、ステップＳ３０４の判定で、カウンタＣ（Ｍ）の値がエラー発生回数閾値レジスタ３０３の閾値以上だった場合は、空きエントリ管理部３０１は、ステップＳ３０６に遷移し、障害エントリ数カウンタ３０４に１を加算する。ステップＳ３０７では、エントリ番号Ｍが空きエントリバッファ３０６にプールされていたらそこから除外する。ここで、ステップＳ３０６及びＳ３０７に遷移した場合のエントリは空きエントリとして空きエントリバッファ３０６にプールされないため再利用されず、ネットワーク中継装置１としては、空きエントリ管理部３０１により当該エントリを除外して運用継続することができる。
【００２４】
再利用されるエントリでソフトエラーが発生していた場合には、再利用する際に正常なデータをライトされることで、一時的な障害から復旧する。すなわち、この場合、例えば、１回目のエラーでは、ステップＳ３０１→ステップＳ３０３→ステップＳ３０４→ステップＳ３０５という処理手順となる。また、２回目又はエラー発生回数閾値レジスタ３０３の閾値未満でエラーが復旧した場合は、ステップＳ３０１→ステップＳ３０２→ステップＳ３０５の処理手順となる。再利用されるエントリでハードエラーが発生していた場合には、再利用する際に正常なデータをライトしても、障害から復旧せず、最終的には、カウンタＣ（Ｍ）の値がエラー発生回数閾値レジスタ３０３の閾値以上となる。すなわち、エラー発生回数閾値レジスタ３０３の閾値以上の回数のエラーの際は、ステップＳ３０１→ステップＳ３０３→ステップＳ３０４→ステップＳ３０６→ステップＳ３０７の処理手順となる。
【００２５】
つまり、エラー発生回数閾値レジスタ３０３とは、ソフトエラーとハードエラーとを切り分けるための閾値とすることができる。そして、空きエントリバッファ３０６には、ハードエラーが発生していないエントリ番号がプールされる。
また、エラー発生回数閾値レジスタ３０３の閾値の回数だけパケットバッファ１０を再利用するよう試行するため、エラー発生回数閾値レジスタ３０３の閾値の回数だけパケットを廃棄する可能性がある。しかし、エラー発生回数閾値レジスタ３０３の閾値を、予めネットワーク中継装置として想定しているパケット廃棄数以下に設定することで、通信システムに影響を与えないことが可能である。
【００２６】
図４は、パケットバッファ１０の障害判定処理のフローチャートである。
最初のステップＳ４０１では、空きエントリ管理部３０１は、障害エントリ数カウンタ３０４の値と、制御部４０によって予め設定された障害エントリ数閾値レジスタ３０５の閾値を比較し、カウンタ３０４がこの閾値より少ない場合は再度ステップＳ４０１を実施し、それ以外の場合にステップＳ４０２へ遷移する。ステップＳ４０２では、空きエントリ管理部３０１は、制御部４０にパケットバッファ障害を通知し、これを受けて制御部４０がパケットバッファ１０を閉塞する。
【００２７】
したがって、パケットバッファ１０の障害は、その領域を分割したエントリ単位で管理されるため、例えばパケットバッファ領域の一部故障が発生した場合は、当該エントリを除外してネットワーク中継装置の運用を継続することができる。具体的には、空きエントリ管理部３０１は、空きエントリバッファ３０６を参照して、ハードエラーが発生していないエントリ・使用可能なエントリを取得することができ、パケット受信部２０２に取得したエントリ番号を通知する。
【００２８】
共有バッファとして管理されるパケットバッファ１０では複数の回線で一つの大容量バッファを共有するため、そのパケットバッファ１０の一部のエントリを除外してネットワーク中継装置を運用しても、複数の回線に仮想的に割り当てられたバッファ量が変わらない限り、通信システムに影響を与えないようにすることが可能である。
また、制御部４０は、ネットワーク中継装置１において、必要に応じてエラー発生回数テーブル３０２の内容、及び／又は、障害エントリ数カウンタ３０４の内容を出力する機能を備え、各内容を出力又は表示するようにしてもよい。
【産業上の利用可能性】
【００２９】
本発明は、パケット、データを中継するルータ、ノード装置等の各種中継装置に適用することができる。
【符号の説明】
【００３０】
１：ネットワーク中継装置
１０：パケットバッファ
２０：パケットバッファ制御部
２０１：データエラー検出部
２０２：パケット受信部
２０３：パケット送信部
３０：エントリ管理部
３０１：空きエントリ管理部
３０２：エラー発生回数テーブル
３０３：エラー発生回数閾値レジスタ
３０４：障害エントリ数カウンタ
３０５：障害エントリ数閾値レジスタ
４０：制御部
【図１】
0005651576.tif 000002
【図２】
0005651576.tif 000003
【図３】
0005651576.tif 000004
【図４】
0005651576.tif 000005