(57)【要約】【課題】ＰＣＩ  ｅｘｐｒｅｓｓインタフェースで接続されたユニット間において、バッファ故障時に動作継続をすることができない。【解決手段】本発明によるバッファ縮退方式は、バッファの故障領域を検出すると、検出したバッファの故障領域を使用不可と設定してバッファを縮退するバッファ縮退手段と、縮退されたバッファにおける縮退後の使用可能な容量を算出する容量算出手段と、容量算出手段が算出した容量に基づいて、ペイロードサイズの最大値の設定を更新するペイロードサイズ設定更新手段とを備えたことを特徴とする。【選択図】図４
2010237991.tif 000002
【特許請求の範囲】
【請求項１】
バッファの故障領域を検出すると、検出した前記バッファの故障領域を使用不可に設定して前記バッファを縮退するバッファ縮退手段と、
前記バッファ縮退手段によって縮退された前記バッファにおける縮退後の使用可能な容量を算出する容量算出手段と、
前記容量算出手段が算出した容量に基づいて、ペイロードサイズの最大値の設定を更新するペイロードサイズ設定更新手段とを備えた
ことを特徴とするバッファ縮退方式。
【請求項２】
バッファ縮退手段は、検出したバッファの故障領域に故障状態であることを示すフラグを設定し、
容量算出手段は、前記バッファのうち前記バッファ縮退手段によって前記フラグが設定されていない領域を特定して前記バッファにおける使用可能な容量を算出する
請求項１記載のバッファ縮退方式。
【請求項３】
バッファのうちフラグが設定されていない領域にデータを書き込むデータ書き込み手段を含む
請求項２記載のバッファ縮退方式。
【請求項４】
バッファのうちフラグが設定されていない領域からデータを読み出すデータ読み出し手段を含む
請求項２又は請求項３記載のバッファ縮退方式。
【請求項５】
ペイロードサイズ設定更新手段が設定したペイロードサイズの最大値に基づいて、検出したバッファの故障領域に格納されていたデータを再送信する再送信手段を備えた
請求項１から請求項４のうちのいずれか１項に記載のバッファ縮退方式。
【請求項６】
バッファの故障領域を検出すると、検出した前記バッファの故障領域を使用不可に設定して前記バッファを縮退するバッファ縮退手段と、
情報処理装置に、前記バッファ縮退手段によって縮退された前記バッファにおける縮退後の使用可能な容量を算出させる容量算出手段と、
前記容量算出手段が算出した容量に基づいて、情報処理装置に、ペイロードサイズの最大値の設定を更新させるペイロードサイズ設定更新手段とを備えた
ことを特徴とするバッファ縮退装置。
【請求項７】
バッファ縮退手段は、情報処理装置に、検出したバッファの故障領域に故障状態であることを示すフラグを設定させ、
容量算出手段は、情報処理装置に、前記バッファのうち前記バッファ縮退手段によって前記フラグが設定されていない領域を特定して前記バッファにおける使用可能な容量を算出させる
請求項６記載のバッファ縮退装置。
【請求項８】
バッファの故障領域を検出すると、検出した前記バッファの故障領域を使用不可に設定して前記バッファを縮退するバッファ縮退ステップと、
縮退された前記バッファにおける縮退後の使用可能な容量を算出する容量算出ステップと、
算出した容量に基づいて、ペイロードサイズの最大値の設定を更新するペイロードサイズ設定更新ステップとを含む
含むことを特徴とするバッファ縮退方法。
【請求項９】
バッファ縮退ステップで、検出したバッファの故障領域に故障状態であることを示すフラグを設定し、
容量算出ステップで、前記バッファのうち前記フラグが設定されていない領域を特定して前記バッファにおける使用可能な容量を算出する
請求項８記載のバッファ縮退方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッファ故障時にバッファ縮退を行い動作継続を可能にするバッファ縮退方式、バッファ縮退装置及びバッファ縮退方法に関する。
【背景技術】
【０００２】
バッファ故障時において、故障を検出し、検出した故障部分を切り離した小さなバッファ容量で動作継続を可能とするバッファ縮退装置がある。例えば、特許文献１には、命令バッファ空検知回路を用いてバッファに空きがあることを確認してから、縮退したバッファへの書き込みを行うバッファ縮退装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０３−１６６６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載された装置では、あるバスやインタフェースを介して、データの送受信が行われるシステムにおいて、データ送信側は、バッファの縮退状況を直接認識することができない。そのため、送信されたデータが、縮退したバッファに対して、データオーバランを起こす可能性があり、このような装置を採用することができない。
【０００５】
そこで、本発明は、ＰＣＩ  ｅｘｐｒｅｓｓインタフェースで接続されたユニット間において、バッファ故障時にバッファ縮退を行い、データオーバーランを起こすことなく動作継続を可能にすることができるバッファ縮退方式、バッファ縮退装置及びバッファ縮退方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明によるバッファ縮退方式は、バッファの故障領域を検出すると、検出したバッファの故障領域を使用不可と設定してバッファを縮退するバッファ縮退手段と、縮退されたバッファにおける縮退後の使用可能な容量を算出する容量算出手段と、容量算出手段が算出した容量に基づいて、ペイロードサイズの最大値の設定を更新するペイロードサイズ設定更新手段とを備えたことを特徴とする。
【０００７】
本発明によるバッファ縮退装置は、バッファの故障領域を検出すると、検出したバッファの故障領域を使用不可に設定してバッファを縮退するバッファ縮退手段と、情報処理装置に、バッファ縮退手段によって縮退されたバッファにおける縮退後の使用可能な容量を算出させる容量算出手段と、容量算出手段が算出した容量に基づいて、情報処理装置に、ペイロードサイズの最大値の設定を更新させるペイロードサイズ設定更新手段とを備えたことを特徴とする。
【０００８】
本発明によるバッファ縮退方法は、バッファの故障領域を検出すると、検出したバッファの故障領域を使用不可に設定してバッファを縮退するバッファ縮退ステップと、縮退されたバッファにおける縮退後の使用可能な容量を算出する容量算出ステップと、算出した容量に基づいて、ペイロードサイズの最大値の設定を更新するペイロードサイズ設定更新ステップとを含むことを特徴とする。
【０００９】
本発明は、ＰＣＩ  ｅｘｐｒｅｓｓインタフェースで接続されるユニットにおいて、バッファの故障検出回路、故障フラグ及びこれらに連携して動作するライト制御部とリード制御部とを含み、バッファに故障が発生した場合でも、バッファを縮退して動作継続を可能にすることを特徴としている。
【発明の効果】
【００１０】
本発明によれば、ＰＣＩ  ｅｘｐｒｅｓｓインタフェースで接続されたユニット間において、バッファ故障時にバッファ縮退を行い、データオーバーランを起こすことなく動作継続を可能にすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明によるバッファ縮退方式を適用したＰＣＩ  ｅｘｐｒｅｓｓアドインカードの構成例を示すブロック図である。
【図２】バッファ縮退装置の機能構成例を示す機能ブロック図である。
【図３】バッファ縮退装置が実行する処理例を示す流れ図である。
【図４】バッファ縮退装置の最小の機能構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を参照して説明する。図１は、本発明によるバッファ縮退方式を適用したＰＣＩ  ｅｘｐｒｅｓｓアドインカードの構成例を示すブロック図である。図１に示すように、本実施形態では、バッファ縮退方式をＰＣＩ  ｅｘｐｒｅｓｓアドインカード１に適用した例について説明する。
【００１３】
図１に示すように、ＰＣＩ  ｅｘｐｒｅｓｓアドインカード１は、ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２、ライト制御部３、リード制御部４、受信バッファ５、故障フラグ６及び故障検出回路７を含む。ＰＣＩ  ｅｘｐｒｅｓｓアドインカード１は、例えば、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置に搭載される。なお、本実施形態において、バッファ縮退装置は、例えば、ＰＣＩ  ｅｘｐｒｅｓｓアドインカード１と、ＰＣＩ  ｅｘｐｒｅｓｓアドインカード１を搭載する情報処理装置とによって実現される。
【００１４】
ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２は、ＰＣＩ  ｅｘｐｒｅｓｓを用いて、ＰＣＩ  ｅｘｐｒｅｓｓインタフェースを介したデータの送受信や割り込み通知の制御を行う機能を備えている。
【００１５】
ライト制御部３は、ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２が受信した受信データを、受信バッファ５に書き込む機能を備えている。ライト制御部３は、受信データを受信バッファ５の故障フラグ６がセットされていないアドレス領域から順に書き込む機能を備えている。
【００１６】
リード制御部４は、受信バッファ５から受信データを読み出す機能を備えている。リード制御部４は、受信バッファ５の故障フラグ６がセットされていないアドレス領域から順に、受信データの読み出しを行う機能を備えている。
【００１７】
受信バッファ５は、ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２が受信した受信データを格納する。受信バッファ５が格納するデータは、ライト制御部３及びリード制御部４によってライト及びリード処理が実行される。
【００１８】
故障フラグ６は、受信バッファ５の所定のメモリ容量単位に対応して設定される。故障フラグ６がセットされた状態は、受信バッファ５において、故障フラグ６に対応するアドレス領域に故障が発生したことを示す。また、故障フラグ６がリセットされた状態は、受信バッファ５において、故障フラグ６に対応するアドレス領域が正常であり、使用可能であることを示す。
【００１９】
故障検出回路７は、受信バッファ５から読み出されたデータに対して、エラーチェック（例えば、パリティチェックなど）を行い、受信バッファ５の故障を検出する機能を備えている。故障検出回路７は、例えば、エラーチェックによってエラーを検出したデータが格納されていた受信バッファ５のアドレス領域を、故障があるとして検出する。故障検出回路７は、受信バッファ５の故障を検出すると、故障を検出したアドレス領域に対応する故障フラグ６をセットし、さらに、ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２に割り込み通知を行う機能を備えている。
【００２０】
次に、本発明によるバッファ縮退装置の機能構成について説明する。図２は、バッファ縮退装置の機能構成例を示す機能ブロック図である。
【００２１】
図２に示すように、バッファ縮退装置は、故障領域検出手段１１、バッファ縮退手段１２、容量算出手段１３、ペイロードサイズ設定更新手段１４、再送信手段１５、データ書き込み手段１６及びデータ読み込み手段１７を含む。
【００２２】
故障領域検出手段１１は、具体的には、故障検出回路７によって実現される。故障領域検出手段１１は、受信バッファ５の故障を検出する機能を備えている。故障領域検出手段１１は、例えば、受信バッファ５から読み出されたデータのエラーチェックを行い、エラーを検出したデータが格納されていた受信バッファ５のアドレス領域を故障があるとして検出する。
【００２３】
バッファ縮退手段１２は、具体的には、故障検出回路７によって実現される。バッファ縮退手段１２は、検出されたバッファの故障領域を使用不可に設定してバッファを縮退する機能を備えている。バッファ縮退手段１２は、例えば、受信バッファ５の故障領域に故障状態であることを示す故障フラグ６を設定することで故障領域を使用不可とする。
【００２４】
容量算出手段１３は、具体的には、情報処理装置が搭載するデバイスドライバによって実現される。容量算出手段１３は、バッファ縮退手段によって縮退された受信バッファ５における縮退後の使用可能な容量を算出する機能を備えている。容量算出手段は、例えば、受信バッファ５のうち故障フラグ６が設定されていない領域を特定して受信バッファ５における使用可能な容量を算出する。
【００２５】
ペイロードサイズ設定更新手段１４は、具体的には、情報処理装置が搭載するデバイスドライバによって実現される。ペイロードサイズ設定更新手段１４は、容量算出手段１３が算出した容量に基づいて、ペイロードサイズの最大値の設定を更新する機能を備えている。ペイロードサイズ設定更新手段１４は、例えば、ＰＣＩ  ｅｘｐｒｅｓｓアドインカード１の上位に接続されているＲｏｏｔ  Ｃｏｍｐｌｅｘのコンフィグレーション  レジスタ  Ｄｅｖｉｃｅ  Ｃｏｎｔｒｏｌ  ｒｅｇｉｓｔｅｒのＭａｘ＿Ｐａｙｌｏａｄ＿Ｓｉｚｅをｗｐを再設定することで、ペイロードサイズの最大値の設定を更新する。
【００２６】
再送信手段１５は、具体的には、情報処理装置が搭載するデバイスドライバによって実現される。再送信手段１５は、受信バッファ５から故障が検出された場合に、ペイロードサイズ設定更新手段１４が設定したペイロードサイズの最大値に基づいて、受信バッファ５の故障領域に格納されていたデータを再送信する機能を備えている。
【００２７】
なお、本実施形態では、デバイスドライバが処理を実行するという表現や、デバイスドライバによって実現される手段が処理を実行する等の表現を用いる場合があるが、具体的には、バッファ縮退装置を実現する情報処理装置のＣＰＵが、デバイスドライバに従って処理を実行することである。
【００２８】
データ書き込み手段１６は、具体的には、ライト制御部３によって実現される。データ書き込み手段１６は、受信バッファ５にデータを書き込む機能を備えている。データ書き込み手段１６は、受信バッファ５のうち故障フラグ６が設定されていない領域にデータを書き込む機能を備えている。
【００２９】
データ読み込み手段１７は、具体的には、リード制御部４によって実現される。データ読み込み手段１７は、受信バッファ５からにデータを読み出す機能を備えている。データ読み込み手段１７は、受信バッファ５のうち故障フラグ６が設定されていない領域からデータを読み込む機能を備えている。
【００３０】
次に、バッファ縮退装置が実行する動作について説明する。図３は、バッファ縮退装置が実行する処理例を示す流れ図である。
【００３１】
ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２が、ＰＣＩ  ｅｘｐｒｅｓｓインタフェースを介して、データを受信すると、データ書き込み手段１６は、受信データを受信バッファ５に書き込む。また、データ読み込み手段１７が受信バッファ５からデータを読み出すと、故障領域検出手段１１は、データ読み込み手段１７が読み出したデータのエラーチェックを行い、受信バッファ５の故障を検出する処理を行う。そして、故障を検出すると、バッファ縮退手段１２は、読み出されたデータを格納していたアドレス領域に対応する故障フラグ６をセットする。さらに、バッファ縮退手段１２は、ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２に割り込み通知を行う（ステップＳ２１）。そして、ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２は、デバイスドライバに割り込み通知を行い、デバイスドライバが割り込み通知を受信すると、以下の割り込み処理が実行される。
【００３２】
ステップＳ２１において、ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２から割り込み通知を受信すると、デバイスドライバは、割り込みの要因が受信バッファ５の故障であるか否かを判定する（ステップＳ２２）。
【００３３】
ステップＳ２２において、割り込みの要因が受信バッファ５の故障でないと判定した場合には、デバイスドライバは、その割り込み要因に対応する処理を行う。一方、ステップＳ２２において、割り込み要因が受信バッファ５の故障であると判定した場合には、容量算出手段１３は、受信バッファ５において、故障フラグ６のセットされていない容量（つまり使用可能な受信バッファ５の容量）を計算（算出）する（ステップＳ２３）。
【００３４】
次いで、ペイロードサイズ設定更新手段１４は、計算（算出）した受信バッファ５の容量に基づいて、ＰＣＩ  ｅｘｐｒｅｓｓアドインカード１及びＰＣＩ  ｅｘｐｒｅｓｓインタフェースを介して、ＰＣＩ  ｅｘｐｒｅｓｓアドインカード１の上位に接続されているＲｏｏｔ  Ｃｏｍｐｌｅｘのコンフィグレーション  レジスタ  Ｄｅｖｉｃｅ  Ｃｏｎｔｒｏｌ  ｒｅｇｉｓｔｅｒのＭａｘ＿Ｐａｙｌｏａｄ＿Ｓｉｚｅをｗｐを再設定する（ステップＳ２４）。ここで、Ｍａｘ＿Ｐａｙｌｏａｄ＿Ｓｉｚｅとは、パケット通信において、転送可能なペイロードの最大値を意味し、ペイロードサイズ設定更新手段１４は、具体的には、故障発生による受信バッファ領域の減少に応じて、転送可能なペイロードの最大値を小さくするように設定する。すなわち、ペイロードサイズ設定更新手段１４は、ペイロードサイズの最大値の設定を更新することによって、パケットの最大データサイズを制限する。
【００３５】
ステップＳ２４において、Ｍａｘ＿Ｐａｙｌｏａｄ＿Ｓｉｚｅ（ペイロードサイズの最大値）の設定を更新すると、再送信手段１５は、ステップＳ２１においてエラーが検出されたデータの再送信処理を行う（ステップＳ２５）。
【００３６】
ステップＳ２５において、再送信処理が行われると、ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部２は、再送信されたデータを受信する。この時、データ書き込み手段１６は、故障フラグ６をチェックし、故障フラグ６がセットされている場合には、そのアドレス領域の受信バッファ５が故障しているため、次のアドレス領域の受信バッファ５に書き込みアドレスを設定する。そして、データ書き込み手段１６は、設定したアドレス順にデータの書き込みを行う。同様に、データ読み込み手段１７は、受信バッファ５からデータの読み出しを行う際に、故障フラグ６がセットされている場合には、そのアドレス領域の受信バッファ５は故障しているため、次のアドレス領域の受信バッファ５に読み出しアドレスを設定する。そして、データ読み込み手段１７は、設定したアドレス順に、データの読み出しを行う。
【００３７】
以上のように、本実施形態によれば、ＰＣＩ  ｅｘｐｒｅｓｓのバッファ制御において、バッファに故障を検出した場合にはバッファを縮退させ、またバッファ縮退に合わせてＤｅｖｉｃｅ  Ｃｏｎｔｒｏｌ  ｒｅｇｉｓｔｅｒのＭａｘ＿Ｐａｙｌｏａｄ＿Ｓｉｚｅ（ペイロードサイズの最大値）の再設定を行う。そのため、縮退したバッファの容量を越えるデータの送受信を制限することができ、バッファ縮退によるデータオーバーランを起こすことなく動作継続を可能にすることができる。
【００３８】
次に、本発明によるバッファ縮退装置の最小構成について説明する。図４は、バッファ縮退装置の最小の機能構成例を示す機能ブロック図である。図４に示すように、バッファ縮退装置は、最小の構成要素として、バッファ縮退手段１２と、容量算出手段１３と、ペイロードサイズ設定手段１４とを含む。
【００３９】
図４に示す最小構成のバッファ縮退装置では、バッファ縮退手段１２は、バッファの故障領域を検出すると、検出したバッファの故障領域を使用不可と設定してバッファを縮退する。そして、容量算出手段１３は、縮退されたバッファにおける縮退後の使用可能な容量を算出する。そして、ペイロードサイズ設定更新手段１４は、容量算出手段１３が算出した容量に基づいて、ペイロードサイズの最大値の設定を更新する。
【００４０】
従って、図４に示す最小構成のバッファ縮退装置によれば、バッファに故障を検出した場合にはバッファを縮退させ、またバッファ縮退に合わせてペイロードサイズの最大値を再設定する。そのため、縮退したバッファの容量を越えるデータの送受信を制限することができ、バッファ縮退によるデータオーバーランを起こすことなく動作継続を可能にすることができる。
【００４１】
なお、本実施形態では、以下の（１）〜（５）に示すようなバッファ縮退方式の特徴的構成が示されている。
【００４２】
（１）バッファの故障領域を検出すると（例えば、故障領域検出手段１１によって実現される）、検出したバッファの故障領域を使用不可と設定してバッファを縮退するバッファ縮退手段（例えば、バッファ縮退手段１２によって実現される）と、バッファ縮退手段によって縮退されたバッファにおける縮退後の使用可能な容量を算出する容量算出手段（例えば、容量算出手段１３によって実現される）と、容量算出手段が算出した容量に基づいて、ペイロードサイズの最大値の設定を更新するペイロードサイズ設定更新手段（例えば、ペイロードサイズ設定更新手段１４によって実現される）とを備えたことを特徴とする。
【００４３】
（２）バッファ縮退方式において、バッファ縮退手段は、検出したバッファの故障領域に故障状態であることを示すフラグ（例えば、故障フラグ６によって実現される）を設定し、容量算出手段は、バッファのうちバッファ縮退手段によってフラグが設定されていない領域を特定してバッファにおける使用可能な容量を算出するように構成されていてもよい。
【００４４】
（３）バッファ縮退方式は、バッファのうちフラグが設定されていない領域にデータを書き込むデータ書き込み手段（例えば、データ書き込み手段１６によって実現される）を備えるように構成されていてもよい。
【００４５】
（４）バッファ縮退方式は、バッファのうちフラグが設定されていない領域からデータを読み出すデータ読み出し手段（例えば、データ読み込み手段１７によって実現される）を備えるように構成されていてもよい。
【００４６】
（５）バッファ縮退方式は、ペイロードサイズ設定更新手段が設定したペイロードサイズの最大値に基づいて、検出されたバッファの故障領域に格納されていたデータを再送信する再送信手段（例えば、再送信手段１５によって実現される）を備えるように構成されていてもよい。
【産業上の利用可能性】
【００４７】
本発明は、ＰＣＩ  ｅｘｐｒｅｓｓインタフェースを介して接続されるユニットの信頼性を高める用途に適用可能である。
【符号の説明】
【００４８】
１  ＰＣＩ  ｅｘｐｒｅｓｓアドインカード
２  ＰＣＩ  ｅｘｐｒｅｓｓインタフェース制御部
３  ライト制御部
４  リード制御部
５  受信バッファ
６  故障フラグ
７  故障検出回路
１１  故障領域検出手段
１２  バッファ縮退手段
１３  容量算出手段
１４  ペイロードサイズ設定手段
１５  再送信手段
１６  データ書き込み手段
１７  データ読み出し手段
【図１】
2010237991.tif 000003
【図２】
2010237991.tif 000004
【図３】
2010237991.tif 000005
【図４】
2010237991.tif 000006