(57)【要約】【課題】従来の、プログラムメモリの領域を分割し制御動作の空き時間を使ってビットの異常を検出するメモリ診断装置では、演算リソースに余裕のあるメモリ診断装置、もしくは処理負荷が可変的であり一時的に演算リソースに余裕ができるメモリ診断装置を対象として、演算リソースに余裕のある時にメモリ診断機能を実行するアプローチをとっていた。このため、適用対象のメモリ診断装置の演算リソースの制限が大きく、かつ処理負荷の変動が少ない（常に高負荷である）場合には適用できない。【解決手段】予め制御処理の空き時間で実行可能なサイズに、診断対象となるメモリ領域を分割し、診断処理パラメータと誤り訂正符号を用いて、この空き時間に、プログラム用メモリの診断処理を行う。【選択図】  図１
2018013816.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行に用いるプログラム用のメモリを含む実行プログラム、前記メモリの診断に用いる複数の診断処理パラメータ、および前記メモリのビット誤りを訂正するための誤り訂正符号を有し、
前記実行プログラムを参照して制御演算を実行する制御演算実行部と、
前記診断処理パラメータ及び前記誤り訂正符号に基づいて、前記メモリの診断を行うメモリ診断実行部と、を備え、
前記メモリは、複数のメモリ部分領域に分割されており、
前記複数の診断処理パラメータの中から、前記プログラムの実行に必要な診断処理パラメータを選択して使用することにより、診断箇所を特定した前記メモリ部分領域に対して前記誤り訂正符号を付与するとともに、
前記プログラムの制御演算の空き時間に、特定した前記メモリ部分領域に対して、前記メモリの診断を順次行うことにより、前記プログラムの実行に用いるメモリ全体の診断を行うことを特徴とするメモリ診断装置。
【請求項２】
前記特定したメモリ部分領域に対して第１の誤り訂正符号を生成するとともに、前記特定したメモリ部分領域に対応する誤り訂正符号領域を特定して、第２の誤り訂正符号を取得した後、
前記第１の誤り訂正符号と前記第２の誤り訂正符号とを比較し、結果が一致しない場合、異常が発生したと判断することを特徴とする請求項１に記載のメモリ診断装置。
【請求項３】
前記プログラムが起動する初回立ち上がりを検出する手段を有し、この初回立ち上がりを検出した場合には、誤り訂正符号を自動生成する誤り訂正符号生成処理を行うことを特徴とする請求項１または請求項２に記載のメモリ診断装置。
【請求項４】
前記制御演算実行部の制御演算の処理時間を計測する手段と、
実施した一定回数の前記制御演算の処理時間の計測値を記憶する手段と、
前記一定回数の処理時間の計測値から処理時間に関する統計値を算出する手段と、
処理時間に関する統計値から前記メモリ部分領域の最適な領域分割数を自動で算出可能な手段と、
を有することを特徴とする請求項３に記載のメモリ診断装置。
【請求項５】
前記メモリ部分領域の最適な領域分割数を自動で算出する処理において、
処理時間の変動が予め設定した値より大きい場合を検出する手段を有し、当該処理時間の変動が予め設定した値より大きい場合を検出した場合には、ネットワークを介し接続している他の装置に通知することを特徴とする請求項４に記載のメモリ診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、演算リソースの限られたプロセッサ搭載装置等において、プログラム実行の空き時間を使って、メモリ領域の診断を行うメモリ診断装置に関するものである。
【背景技術】
【０００２】
従来のプロセッサ搭載装置等におけるメモリ診断装置では、演算リソースに余裕のある場合、もしくは処理負荷が可変的であり一時的に演算リソースに余裕ができる場合に限って、演算リソースに余裕のある時にメモリ診断を行うアプローチをとっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−９９０９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のメモリ診断装置は以上のような特徴があるので、適用対象のプロセッサ搭載装置の演算リソースの制限が大きく、かつ処理負荷の変動が少ない（常に高負荷である）場合には適用できない問題点があった。
【０００５】
この発明は上記のような課題を解決するためになされたものであり、演算リソースの制限が大きく、かつ処理負荷の変動が少ない（常に高負荷である）プロセッサ搭載装置等に対しても、メモリの状態を診断することが可能なメモリ診断装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るメモリ診断装置は、
プログラムの実行に用いるプログラム用のメモリを含む実行プログラム、前記メモリの診断に用いる複数の診断処理パラメータ、および前記メモリのビット誤りを訂正するための誤り訂正符号を有し、
前記実行プログラムを参照して制御演算を実行する制御演算実行部と、
前記診断処理パラメータ及び前記誤り訂正符号に基づいて、前記メモリの診断を行うメモリ診断実行部と、を備え、
前記メモリは、複数のメモリ部分領域に分割されており、
前記複数の診断処理パラメータの中から、前記プログラムの実行に必要な診断処理パラメータを選択して使用することにより、診断箇所を特定した前記メモリ部分領域に対して前記誤り訂正符号を付与するとともに、
前記プログラムの制御演算の空き時間に、特定した前記メモリ部分領域に対して、前記メモリの診断を順次行うことにより、前記プログラムの実行に用いるメモリ全体の診断を行うものである。
【発明の効果】
【０００７】
この発明によれば、メモリ全体について、診断対象を制御処理に影響しない十分小さな単位に分割し、この分割されたメモリに対して、制御処理の空き時間を使って診断を実行するようにしたので、演算リソースの制限が大きく、かつ処理負荷の変動が少ないプロセッサ搭載装置等においても、メモリの状態を診断可能なメモリ診断装置を搭載することが可能になるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１に係るメモリ診断装置の一例を示す図である。
【図２】この発明の実施の形態１に係るメモリ診断装置の領域分割と診断動作の関係を示す図である。
【図３】この発明の実施の形態１に係るメモリ診断装置の診断処理パラメータの詳細を示す図である。
【図４】この発明の実施の形態１に係るメモリ診断装置のメモリ診断実行部の処理フローを示す図である。
【図５】この発明の実施の形態２に係るメモリ診断装置の一例を示す図である。
【図６】この発明の実施の形態２に係るメモリ診断装置の誤り訂正符号生成部の動作を説明するための図である。
【図７】この発明の実施の形態２に係るメモリ診断装置の診断処理パラメータの詳細を示す図である。
【図８】この発明の実施の形態２に係るメモリ診断装置の初期化処理における誤り訂正符号生成部の起動フローを示す図である。
【図９】この発明の実施の形態３に係るメモリ診断装置の一例を示す図である。
【図１０】この発明の実施の形態３に係るメモリ診断装置の診断処理パラメータの詳細を示す図である。
【図１１】この発明の実施の形態３に係るメモリ診断装置の初期化処理における領域分割数Ｎ算出部と誤り訂正符号生成部の起動の処理フローを示す図である。
【図１２】この発明の実施の形態３に係るメモリ診断装置の制御動作を示す概念図である。
【図１３】この発明の実施の形態３に係るメモリ診断装置の領域分割数Ｎ算出部の処理フローを示す図である。
【図１４】この発明の実施の形態３に係るメモリ診断装置の領域分割数Ｎ算出部で算出する統計値を示す図である。
【図１５】この発明の実施の形態４に係るメモリ診断装置の領域分割数Ｎ算出部の処理フローを示す図である。
【図１６】この発明の実施の形態４に係るメモリ診断装置の領域分割数Ｎ算出部で算出する統計値を示す図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、この発明の実施の形態１を図１〜図４に基づいて説明する。ここで、図１は、本実施の形態に係るメモリ診断装置の一例を示す図であり、図２は、本実施の形態に係るメモリ診断装置の領域分割と診断動作の関係を示す図である。また、図３は、本実施の形態に係るメモリ診断装置の診断処理パラメータの詳細を示す図であり、図４は、本実施の形態に係るメモリ診断装置のメモリ診断実行部の処理フローを示す図である。
【００１０】
まず、図１に、本実施の形態のメモリ診断装置の一例を示す。このメモリ診断装置１は、プログラムのメモリのビット異常を検出するための診断を行うものであって、実行プログラムを制御するための演算を行う制御演算実行部１０と、診断処理パラメータ２２と誤り訂正符号２３に基づいて実行プログラム２１において、メモリのビット異常を検出するための診断を実行するメモリ診断実行部１１を持つ。なお、図中の矢印は参照先を示し、矩形の右上に黒三角が付されているものは、実際の値を持っているものであることを示す（以下の図でも同様）。
【００１１】
次に、図２の内容について説明する。本実施の形態では、実行プログラム２１をＮ個のメモリ部分領域であるＰ１〜ＰＮにそれぞれ分割する。制御周期Ｕは、制御動作が実行される時間間隔である。制御動作の処理時間Ｔは、図１の制御演算実行部１０で実施する制
御動作にかかる処理時間である。空き時間Ｖは、制御周期Ｕから制御動作の処理時間Ｔを除いた期間であり、この時間を使ってメモリ診断実行部１１の診断処理を実行する。
【００１２】
ここで、１回のメモリ診断処理は、メモリ部分領域の１つを対象として行う。メモリ部分領域の領域分割数Ｎ個分、各領域に対して順番に処理を実施することで、実行プログラム２１の全ての領域を診断することができる。この図において、誤り訂正符号２３は、本装置つまり、メモリ診断装置のメモリ診断が実行される前に、予め計算され装置に書き込まれている。
【００１３】
次に、図３、図４に基づいて、１周期分のメモリ診断実行部の処理動作を説明する。
まず図３に示す診断処理パラメータ２２ａの各要素について説明する。Ａは診断対象である実行プログラム２１の格納領域の先頭アドレスを示す。Ｂは診断対象である実行プログラム領域のサイズを示す。
続いて、Ｃは、行プログラムの領域分割数Ｎを示す。領域分割数Ｎは、予め部分領域１つに対する診断処理が、空き時間内で実行可能になるよう、十分大きな値、つまり、この空き時間を１とすると、この空き時間の長さ１に対して１未満の時間（特に、ばらつきを考慮した場合には、０．５程度の時間）を設定しておく。このＮの値は、典型的には１０００以上に設定される。
続いて、Ｄは、誤り訂正符号２３の格納領域の先頭アドレスを示す。また、Ｅは、１つの誤り訂正符号の長さを示す。
最後に、Ｆには、次に処理する分割領域の番号が格納される。Ｆには、初期値として分割領域の１つ目の番号（今回の説明では１とする）が格納される。
【００１４】
次に、図４のフローを説明する。
まず、ステップＳ１において、診断処理パラメータのＡ、Ｂ、Ｃを利用して今回診断を行う実行プログラム部分領域を特定する。特定した領域に対して計算を行い、誤り訂正符号を生成する。
続いて、ステップＳ２において、診断処理パラメータのＤ、Ｅ、Ｆを利用して、今回の部分領域に対応する誤り訂正符号領域を特定し、誤り訂正符号を取得する。
続いて、ステップＳ３において、ステップＳ１とステップＳ２でそれぞれ生成、あるいは取得した誤り訂正符号を比較する。
ステップＳ３の判定結果が一致しなければ、異常が発生したと判断しステップＳ４の異常処理を実施する。ステップＳ３の判定結果が一致すれば、処理対象の部分領域においてビット化けエラーは発生していないと判断でき、ステップＳ５からステップＳ７の処理対象領域の更新処理を実施する。
ステップＳ５からステップＳ７の処理対象領域の更新処理は、ステップＳ５において部分領域の最後まで診断処理が完了したか判定し、ＹＥＳであれば、再び先頭の部分領域から診断処理を実施するために、処理対象分割領域カウンタＦを初期値（ここでは１）に戻す。ＮＯであれば、処理対象分割領域カウンタＦをインクリメントする（１増やす）。
【００１５】
ステップＳ４の異常処理の内容は、メモリ診断装置に求められる信頼性、または外部との異常通知インターフェイス（Ｉ／Ｆ）の有無などによって変わってくる。
例えば、訂正可能なエラーが発生した場合には、誤り訂正とログの登録を行なって処理を継続し、訂正不可能なエラーが発生した場合には、ＬＥＤを点灯させユーザに通知し、装置を故障モードに落とし、エラーログを登録し、ネットワークを介し接続している他の装置に異常を通知する処理を行うことができる。
【００１６】
上記に説明した１周期分のメモリ診断実行部の処理動作を順次実施することにより、最終的にメモリ全体の領域を診断することが可能になる。順次実施する処理の実現方法としては、プログラムの実行を管理するプログラム（一般的にスケジューラと呼ばれる機能）
に登録することが挙げられる。
【００１７】
なお、本実施の形態において、診断対象の実行プログラム全体を診断するのに要する時間は「制御周期Ｕ×領域分割数Ｎ」となり、これが、異常が発生してから検出するまでに要するＭＡＸ時間となる。本実施の形態を有効に利用するためには、このＭＡＸ時間が装置に求められる信頼性に鑑みて妥当であることを設計者が判断する必要がある。
【００１８】
上記の実施の形態１では、診断対象のプログラムメモリを制御処理に影響しない十分小さな単位に分割する、すなわち、メモリ全体を分割して、実際の制御動作の処理時間を１０００とすれば、分割されたメモリ１個当たりの処理時間が１〜１０程度の処理時間になるようにして、制御処理の空き時間（制御動作の全処理時間を１とすると約０．２〜０．４程度の時間）を使ってメモリの診断を実行するようにしたので、演算リソースの制限が大きく、かつ処理負荷の変動が少ない、言い換えると常に高負荷である、プロセッサ搭載装置等においても、メモリの状態を診断することが可能なメモリ診断装置を搭載することが可能になる。
【００１９】
実施の形態２．
以下、この発明の実施の形態２を図５〜図８に基づいて説明する。ここで、図５は、本実施の形態に係るメモリ診断装置の一例であり、図６は、本実施の形態に係るメモリ診断装置の誤り訂正符号生成部の動作を説明するための図である。また、図７は、本実施の形態に係るメモリ診断装置の診断処理パラメータの詳細を示す図であり、図８は、本発明の実施の形態に係るメモリ診断装置の初期化処理における誤り訂正符号生成部の起動フローを示す図である。
【００２０】
まず、図５は、図１で示したメモリ診断装置の構成要素に、さらに、誤り訂正符号生成部１２が加わったものである。図１をベースに、実行プログラム２１と診断処理パラメータ２２に基づいて誤り訂正符号２３を生成する誤り訂正符号生成部１２（図中の矢印は、参照先、あるいは書き込み先を示す）が追加になっている。また、図６は、この誤り訂正符号生成部１２と、実行プログラム２１、誤り訂正符号生成部１２、および誤り訂正符号２３の間の動作関係を示している。
【００２１】
次に、図６に基づいて、誤り訂正符号生成部１２の動作概要を示す。誤り訂正符号生成部１２は、実行プログラム２１のＮ個のメモリ部分領域であるＰ１〜ＰＮの全領域に対して、誤り訂正符号を算出し、それぞれと対応する誤り訂正符号である符号Ｑ１から符号ＱＮを、それぞれ書き込む。
【００２２】
次に、誤り訂正符号生成部の起動処理について、図７、図８を用いて説明する。  図７の診断処理パラメータ２２ｂは、図３の診断処理パラメータ２２ａに、誤り訂正符号付与フラグＧを追加したものである。この誤り訂正符号付与フラグには、装置に実行プログラムが書き込まれる際に、マジックナンバー（識別子として用いられるプログラム中に書かれた数値）が書き込まれている。
【００２３】
次に、図８の起動フローについて説明する。まず、ステップＳ１１において誤り訂正符号付与フラグを参照し、マジックナンバーと一致するか判定する。マジックナンバーと一致する場合は、装置の初回起動時であると判断し（ステップＳ１２）、その後、ステップＳ１３で誤り訂正符号生成部を実行する。この誤り訂正符号生成部によって誤り訂正符号が付与されたら、次のステップＳ１４で、誤り訂正符号付与フラグにマジックナンバー以外の値を書き込み、クリアする。
そして、誤り訂正符号生成部１２の処理について、実施の形態１で説明したのと同様に診断処理パラメータ２２を利用して各領域を特定し、誤り訂正符号生成処理を実施する。
【００２４】
なお、上記の実施の形態１では、例えばバッチ処理や専用のパソコンＳ／Ｗなどを用いて、予め誤り訂正符号を装置に書き込む必要があったが、本実施の形態においては、装置の初回立ち上がり時に自動で誤り訂正符号を付与するので、人的作業であれば発生する可能性のあるミスが発生する可能性がない。
【００２５】
実施の形態３．
以下、この発明の実施の形態３を図９〜図１４に基づいて説明する。ここで、図９は、本実施の形態３に係るメモリ診断装置の一例である。また、図１０は、本実施の形態に係るメモリ診断装置の診断処理パラメータの詳細を示す図であり、図１１は、本実施の形態に係るメモリ診断装置の初期化処理における領域分割数Ｎ算出部と誤り訂正符号生成部の起動の処理フローを示す図である。さらに、図１２は、本実施の形態に係るメモリ診断装置の制御動作を示す概念図であり、図１３は、本実施の形態に係るメモリ診断装置の領域分割数Ｎ算出部の処理フローを示す図であり、図１４は、本実施の形態に係るメモリ診断装置の領域分割数Ｎ算出部で算出する統計値を示す図である。
【００２６】
まず、図９のメモリ診断装置では、図５の実施の形態２に係るメモリ診断装置に示す構成要素に加え、領域分割数Ｎ算出部１３と制御処理の計測データ２４が追加になっている。領域分割数Ｎ算出部１３は、制御演算実行部１０を実行し処理時間を計測し、計測した処理時間を制御処理の計測データ２４に書き込み、この制御処理の計測データに基づいて領域分割数Ｎを算出し診断処理パラメータ２２に書き込む。
【００２７】
次に、図１０、図１１に基づいて領域分割数Ｎ算出部の起動処理について説明する。  図１０は、図７に、領域分割数Ｎ最大サイズＨ、領域分割数Ｎ算出フラグＩ、制御周期計測回数Ｍを追加した診断処理パラメータ２２ｃである。領域分割数Ｎ最大サイズＨとしては、異常検出までの時間などから設計者が予め決定した領域分割数の最大値を設定しておく。このＨの典型的な値として、４０００程度の値が設定される。領域分割数Ｎ算出フラグＩには、装置に実行プログラムが書き込まれる際にマジックナンバーが書き込まれている。
【００２８】
次に、図１１は、図８をベースにして、領域分割数Ｎ算出に関する処理であるステップＳ２１からステップＳ２３を追加したものである。領域分割数Ｎ算出部において制御動作を模擬する必要があるため、図１１の起動処理は初期化処理の最後に行う必要がある。
【００２９】
図１１の詳細について以下説明する。まず、ステップＳ２１において領域分割数Ｎ算出フラグを参照し、マジックナンバーと一致するか否かを判定する。マジックナンバーと一致する場合は、装置の初回起動時であると判断し、ステップＳ２２で領域分割数Ｎ算出部を実行する。領域分割数Ｎ算出処理によって誤り訂正符号が付与されたら、ステップＳ２３において領域分割数Ｎ算出フラグにマジックナンバー以外の値を書き込み、クリアする。なお、ステップＳ２４からステップＳ２６は、図８のステップＳ１１からステップＳ１３と同様であるので、ここでの詳細説明は省略する。
【００３０】
次に、図１０、図１２、図１３、図１４に基づいて領域分割数Ｎ算出部の処理の詳細について説明する。図１３に領域分割数Ｎ算出部の処理フローを示す。この図のステップＳ３１からステップＳ３３においては、制御周期計測回数Ｍ回ループを回し、制御周期計測回数Ｍの回数分に相当する制御動作の処理時間の計測を制御演算実行部で実行し、制御処理の計測データ２４に書き込んで格納する。このステップＳ３１からステップＳ３３の処理内容の詳細を図で表したものが図１２である。
図２について説明したのと同様に、Ｋ個の制御周期は、それぞれ制御動作と空き時間で構成され、各制御周期の制御動作の処理時間はＴ１、Ｔ２、・・・、ＴＫである。また、
処理時間Ｔ１、Ｔ２、・・・、ＴＫごとに、処理時間が計測され、計測値１、計測値２、・・・、計測値Ｋとしてそれぞれ格納される。ここでＫ＝Ｍである。
【００３１】
続いて、ステップＳ３４の処理として、制御処理の計測データ２４から統計値の算出を行う。算出する統計値は図１４に示している通り、平均値１０１、標準偏差１０２である。続いて、ステップＳ３５において、実行プログラム２１全体に対して誤り訂正符号生成処理を実施し、処理時間を計測する。ステップＳ３６において「平均値１０１＋（標準偏差１０２×５）」の計算によってばらつきを考慮して制御動作の処理時間の最大値について想定値を求める。次に、「制御周期Ｕ−（制御動作の処理時間の最大値についての）仮の想定値」によって最小の空き時間の想定値を求める。さらに、「ステップＳ３５の測定値×１．１÷最小の空き時間（結果は切り上げ）」によって領域分割数を求める。最後に、求めた領域分割数よりも大きい数のうち、最も小さい２の累乗数を、ステップＳ３６で算出する領域分割数Ｎとする。
【００３２】
続いて、ステップＳ３７において、算出した領域分割数Ｎが領域分割数Ｎ最大サイズＨ以下であることを確認する。最大サイズＨ以下であれば、Ｎは妥当な値であると判断してステップＳ３８の処理で診断処理パラメータ２２に書き込む。最大サイズＨ以上であれば、ステップＳ３９で異常処理を行う。異常処理の内容としては、ログを残して故障モードに落とすことが挙げられる。
【００３３】
なお、上記の実施の形態２では、領域分割数Ｎを事前に設計して決定しておかなければならなかったが、図９〜１４の工夫を実施することで領域分割数Ｎを自動で算出することができ、設計コストを低減し経済的に優れたメモリ診断装置を得る事ができる。特に、メモリ診断装置のレパートリーが多い場合に大きな効果を得ることができる。
【００３４】
実施の形態４．
以下、この発明の実施の形態４を図１５〜図１６に基づいて説明する。ここで、図１５は、本実施の形態に係るメモリ診断装置の領域分割数Ｎ算出部の処理フローを示す図であり、図１６は、本実施の形態に係るメモリ診断装置の領域分割数Ｎ算出部で算出する統計値を示す図である。
【００３５】
まず、図１５は、図１３の処理フローをベースに、ステップＳ４０の判定処理を追加したものである。また、図１６は、ステップＳ３４で算出する統計値の内容を示すものであり、図１４と比較して、最大値１０３が追加されている。そして、最大値１０３を利用した判定処理をステップＳ４０で実施する。判定結果がＮＯであれば、異常処理に分岐する。
【００３６】
次に、上記のステップＳ４０の最大値１０３を利用した判定処理の詳細について説明する。具体的な処理手順は、まず、「制御周期Ｕ−最大値１０３」によって最小の空き時間を求め、次に、この値と「ステップＳ３５の測定値÷領域分割数Ｎ」によって求めた１つの部分領域の診断処理にかかる処理時間とを比較し、「１つの部分領域の診断処理にかかる処理時間＞最小の空き時間」となっている場合は、ステップＳ４０でＮＯに分岐し異常処理を行う、となる。
【００３７】
ここで、具体的数値例を挙げて、上記のステップＳ４０の最大値１０３を利用した判定処理の詳細について、さらに説明を加える。
例えば、制御周期Ｕが１０ｍｓ、制御動作の処理時間Ｔが２０周期を１セットとして、具体的な値が、「（１９回２ｍｓが続く）→８ｍｓ」→「（１９回２ｍｓが続く）→８ｍｓ」→・・・→「（１９回２ｍｓが続く）→８ｍｓ」のように変動する特性の制御動作を考える。この場合、制御動作の処理時間Ｔの平均値は２．３、標準偏差は１．３４、最大
値は８（このとき、最小の空き時間は１０−８=２）となる（各数値の単位はｍｓ）。こ
のような場合においては、実施の形態３によって算出した領域分割数Ｎの１つの部分領域の処理時間が３ｍｓとなった場合、「１つの部分領域の処理時間（＝３）＞最小の空き時間（＝２）」となり、１つの部分領域の処理時間が最小の空き時間を超えてしまい、制御動作に影響を与えてしまうため、異常と判断する（ステップＳ４０をＮＯに分岐させる）ことになる。
【００３８】
なお、この実施の形態３では、制御動作の処理時間が統計的なばらつきに従うことを仮定しており、この仮定が崩れると妥当な領域分割数Ｎの値を設定できない。例えば、数周期に一度、処理時間が大きく増えるような特性の制御動作を行っていた場合に、誤って領域分割数Ｎを小さく設定してしまい、処理時間が大きい周期にメモリ診断処理をするための空き時間が不足し、制御動作に影響を及ぼしてしまうことが考えられる。測定値の最大値を使って自動で算出した領域分割数Ｎの妥当性をチェックすることで、上述の問題を未然に防止でき、信頼性が向上する。
【００３９】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することができる。
【符号の説明】
【００４０】
１  メモリ診断装置、１０  制御演算実行部、１１  メモリ診断実行部、１２  訂正符号生成部、１３  算出部、２１  実行プログラム、２２、２２ａ、２２ｂ、２２ｃ  診断処理パラメータ、２３  訂正符号、２４  制御処理の計測データ、１０１  平均値、１０２  標準偏差、１０３  最大値、Ｆ  処理対象分割領域カウンタ、 Ｈ  最大サイズ、Ｉ  算出フラグ、 Ｍ  制御周期計測回数、Ｎ  領域分割数、Ｔ  処理時間、Ｕ  制御周期、Ｖ  時間、Ｐ１  部分領域、Ｑ１  訂正符号
【図１】
2018013816.tif 000003
【図２】
2018013816.tif 000004
【図３】
2018013816.tif 000005
【図４】
2018013816.tif 000006
【図５】
2018013816.tif 000007
【図６】
2018013816.tif 000008
【図７】
2018013816.tif 000009
【図８】
2018013816.tif 000010
【図９】
2018013816.tif 000011
【図１０】
2018013816.tif 000012
【図１１】
2018013816.tif 000013
【図１２】
2018013816.tif 000014
【図１３】
2018013816.tif 000015
【図１４】
2018013816.tif 000016
【図１５】
2018013816.tif 000017
【図１６】
2018013816.tif 000018