(57)【特許請求の範囲】
【請求項１】
予め定められた同一データを共通に記憶するための３個以上の複数のデータ領域を有するメモリと、
前記メモリの故障診断を行うための演算部とを備え、
前記演算部は、
前記複数のデータ領域から、前記同一データが現在記憶されている２個の第１のデータ領域を指定するとともに、前記２個の第１のデータ領域と重複しないように、テストパターンデータの書込を伴うテストパターン診断の対象となる第２のデータ領域を指定するメモリ管理部と、
前記メモリに対する前記同一データの出力要求時に、前記２個の第１のデータ領域間で記憶データの比較及び照合処理を実行するとともに、照合結果の異常時に異常検出を通知する比較処理部と、
前記第２のデータ領域に対して前記テストパターン診断を実行するとともに、前記テストパターン診断による異常検出時に異常検出を通知する診断部とを含み、
前記メモリ管理部は、
前記診断部による前記テストパターン診断の正常完了通知に応じて、前記第２のデータ領域を更新するとともに、更新後の第２のデータ領域が、前記２個の第１のデータ領域に含まれている場合に、前記複数のデータ領域のうちの、前記更新後の第２のデータ領域、及び、現在の前記２個の第１のデータ領域のいずれでもない第３のデータ領域を決定し、
前記演算部は、
前記更新後の第２のデータ領域に記憶されたデータを、前記第３のデータ領域にコピーするデータコピー部をさらに含む、メモリ診断装置。
【請求項２】
前記メモリ管理部は、前記メモリ診断装置の起動時に、前記複数のデータ領域のうちの２個以上のデータ領域に対して前記同一データを書込み、当該２個以上のデータ領域のうちから前記２個の第１のデータ領域を決定する、請求項１記載のメモリ診断装置。
【請求項３】
前記メモリ管理部は、前記テストパターン診断の正常完了通知に応じて、前記２個の第１のデータ領域及び前記第２のデータ領域を、予め定められた順序に従ってシフトさせるように更新する、請求項１又は２記載のメモリ診断装置。
【請求項４】
前記データコピー部は、前記第３のデータ領域へのデータコピー後に、前記第３のデータ領域と、前記複数のデータ領域のうちの、前記更新後の第２のデータ領域とは異なり、かつ、前記同一データを記憶しているデータ領域との間で、記憶データの比較及び照合処理を実行するとともに、照合結果の異常時に異常検出を通知する、請求項１〜３のいずれか１項に記載のメモリ診断装置。
【請求項５】
前記メモリ管理部は、前記複数のデータ領域の個数が３である場合には、前記診断部による前記テストパターン診断の正常完了通知に応じて、前記２個の第１のデータ領域のうちの一方のデータ領域を、前記更新後の第２のデータ領域に決定するとともに、前記テストパターン診断が完了したデータ領域を前記第３のデータ領域に決定し、
前記データコピー部は、前記第３のデータ領域へのデータコピー後に、前記第３のデータ領域と、前記２個の第１のデータ領域のうちの他方のデータ領域との間で、前記比較及び照合処理を実行する、請求項４記載のメモリ診断装置。
【請求項６】
前記データコピー部は、前記第３のデータ領域へのデータコピー後において、データコピーされた記憶データが格納されていた前記第２のデータ領域の内部の領域のうちの、アクセス頻度が高い一部の領域に対する前記比較及び照合処理を非実行とする、請求項４又は５に記載のメモリ診断装置。
【請求項７】
前記演算部は、前記比較処理部を含む第１の演算ユニットと、前記メモリ管理部、前記診断部、及び、前記データコピー部を有する第２の演算ユニットとによって構成される、請求項１〜６のいずれか１項に記載のメモリ診断装置。
【請求項８】
予め定められた同一データを共通に記憶するための３個以上の複数のデータ領域を有するメモリに対するメモリ診断方法であって、
前記複数のデータ領域から、前記同一データが現在記憶されている２個の第１のデータ領域を指定するステップと、
前記複数のデータ領域から、前記２個の第１のデータ領域と重複しないように、テストパターンデータの書込を伴うテストパターン診断の対象となる第２のデータ領域を指定するステップと、
前記メモリに対する前記同一データの出力要求時に、前記２個の第１のデータ領域間で記憶データの比較及び照合処理を実行するとともに、照合結果の異常時に異常検出を通知するステップと、
前記第２のデータ領域に対して前記テストパターン診断を実行するとともに、前記テストパターン診断による異常検出時に異常検出を通知するステップと、
前記テストパターン診断の正常完了通知に応じて、前記第２のデータ領域を更新するステップと、
更新後の第２のデータ領域が、前記２個の第１のデータ領域に含まれている場合に、前記複数のデータ領域のうちの、前記更新後の第２のデータ領域、及び、現在の前記２個の第１のデータ領域のいずれでもない第３のデータ領域を決定するステップと、
前記更新後の第２のデータ領域に記憶されたデータを、前記第３のデータ領域にコピーするステップとを備える、メモリ診断方法。
【請求項９】
前記第３のデータ領域へのデータコピー後に、前記第３のデータ領域と、前記複数のデータ領域のうちの、前記更新後の第２のデータ領域とは異なり、かつ、前記同一データを記憶しているデータ領域との間で、記憶データの比較及び照合処理を実行するステップをさらに備える、請求項８記載のメモリ診断方法。
【請求項１０】
前記第３のデータ領域へのデータコピー後に、データコピーされた記憶データが格納されていた前記第２のデータ領域の内部の領域のうちの、アクセス頻度が高い一部の領域に対する前記記憶データの比較及び照合処理を非実行とするステップをさらに備える、請求項９記載のメモリ診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ診断装置及びメモリ診断方法に関し、より特定的には、ＲＡＭ（Random  Access  Memory）等の書換可能な記憶媒体において、ソフトエラー及びハードエラーの発生有無の診断に関する。
【背景技術】
【０００２】
ＲＡＭ等の書き換え可能な記憶媒体は、ＰＣ（Personal  Computer）やＰＬＣ（Programmable  Logic  Controller）等の情報処理装置において、制御用プログラムの展開や装置使用中に適宜変更される各種設定の保存領域として用いられる。記憶媒体をこのように使用する場合、記憶媒体の故障によるデータ保存領域の破損やデータそのものの破損が、情報処理装置の誤動作を引き起こす恐れがある。【０００３】
国際電気標準会議（International  Electrotechnical  Commission：ＩＥＣ）によるＩＥＣ６１５０８に規格化されている機能安全は、機械は壊れるものであることを前提として、機能により危険故障の発生を装置の機能により検出し、安全状態へ移行することで安全の確保を行う考え方である。記憶媒体の故障に起因した情報処理装置の誤作動を防止するためには、上記機能安全の考え方に従って、危険故障をいち早く検出し、装置を安全な状態へと移行させる仕組みを持つことが重要である。【０００４】
メモリには、物理的要因で生じるハードエラーのみでなく、ソフトエラーが発生することが知られている。ソフトエラーとは、α線、中性子線、ＥＭＩノイズ及び内部クロストーク等に起因した一時的なエラーである。すなわち、ソフトエラーは、ハードエラーとは異なり、恒久的なエラーではなく、データの書き換えや装置の再起動により正常に戻すことが可能である。一方で、動作中のメモリにおけるソフトエラーの発生は情報処理装置の誤作動を引き起こす可能性があるため、確実な検出が必要となる。【０００５】
特開２０１２−１０４０６４（特許文献１）には、安全関連データを格納する記憶領域に対して、当該安全関連データへのアクセス時におけるダブルＲＡＭ方式によるＲＡＭ診断（以下、「ダブルＲＡＭ診断」とも称する）に加えて、定期的にテストパターンデータによるＲＡＭ診断（以下、「テストパターン診断」とも称する）を実行することによって、ＲＡＭ故障を確実かつ早期に検出するための故障診断装置が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１０４０６４
【発明の概要】
【発明が解決しようとする課題】
【０００７】
テストパターン診断では、ＲＡＭに元々保存されていたデータを別の領域にコピーした後に、テストパターンデータの書込及び読出によってＲＡＭ故障の有無が診断される。従って、メモリセル自体の故障（すなわち、ハードエラー）は検出できる一方で、ＲＡＭに保存されたデータそのものの確からしさは確認されない。従って、上述のソフトエラーによるデータ内容の異常の検出が困難である。【０００８】
又、テストパターン診断では、テストパターンデータの書込及び読出が必要なため、診断対象領域に対するデータ読出が不能となる。このため、テストパターン診断中に、診断領域からのデータ出力が要求されると、テストパターン診断の中断が必要となる。この結果、テストパターン診断の所要時間が長くなると、各領域の診断周期が長くなることにより、ＲＡＭ故障が発生してから診断によって検出されるまでの時間が長期化する恐れがある。【０００９】
一方で、ダブルＲＡＭ診断では、ＲＡＭへのデータ書き込みの際に、２つのメモリに該当のデータと、その反転データとを書込み、読出す際に反転し比較することで、ＲＡＭの故障有無が診断される。ダブルＲＡＭ診断は、当該ＲＡＭ領域からのデータ読出毎に実行できるので、ハードエラー又はソフトエラーによって異常となったデータを演算に用いる際に、異常を即時に検出することができる。しかしながら、書込及び読出ともに稀にしか行われない、アクセス頻度が低いＲＡＭ領域は、ダブルＲＡＭ診断の対象となる機会も少なくなる。従って、領域間でアクセス頻度の格差が存在するような使用環境においては、当該領域での異常を長期間検出できない虞がある。又、ＲＡＭに書込まれているデータは、情報処理装置が使用される環境により異なるため、例えば、記憶値が“１”に固着する異常が発生したメモリセルに対して“１”を書込み続けるような使用環境では、ダブルＲＡＭ診断では、当該メモリセルでの異常を検出することが困難である。【００１０】
これらの要因によってＲＡＭ故障が長期的に検出されない場合には、２つのメモリの同領域にて故障が累積してしまい、情報処理装置が誤動作につながる虞がある。このため、ＲＡＭ故障は、発生後、早急に検出することが望ましい。【００１１】
特許文献１では、ダブルＲＡＭ診断及びテストパターン診断の併用によって自己診断率の向上を図っているが、安全関連アプリケーション処理を実行する際の割込みにより、テストパターン診断を一時停止する必要がある。このため、テストパターン診断完了までの総時間が長くなるため、安全機能実行処理を高頻度に行う必要があるシステムにおいては、テストパターン診断による故障検出が遅れる可能性がある。又、安全関連データの格納領域を示すアドレスを保持し、該当するアドレスへのアクセスを検知した場合はダブルＲＡＭ診断を実施するが、前述のようなアクセス頻度が低いメモリセルにおいては、異常発生後の検出まで時間を要するため、故障の累積により障害を引き起こす可能性もある。【００１２】
本発明は、このような問題点を解決するためになされたものであって、その目的は、テストパターン診断が実行されるデータ領域を用いて記憶されたデータに発生した異常を早期かつ確実に検出することである。
【課題を解決するための手段】
【００１３】
本発明のある局面では、メモリ診断装置は、メモリと、メモリの故障診断を行うための演算部とを備える。メモリは、予め定められた同一データ（ＲＡＭデータ）を共通に記憶するための３個以上の複数のデータ領域を有する。演算部は、メモリ管理部と、比較処理部と、診断部と、データコピー部とを含む。演算部は、メモリ管理部と複数のデータ領域から、同一データが現在記憶されている２個の第１のデータ領域を指定するとともに、当該２個のデータ領域と重複しないように、テストパターンデータの書込を伴うテストパターン診断の対象となる第２のデータ領域とを指定する。比較処理部は、メモリに対する同一データの出力要求時に、２個の第１のデータ領域間で記憶データの比較及び照合処理を実行するとともに、照合結果の異常時に異常検出を通知する。診断部は、第２のデータ領域に対してテストパターン診断を実行するとともに、テストパターン診断による異常検出時に異常検出を通知する。メモリ管理部は、診断部によるテストパターン診断の正常完了通知に応じて、第２のデータ領域を更新するとともに、更新後の第２のデータ領域が、２個の第１のデータ領域に含まれている場合に、複数のデータ領域のうちの、更新後の第２のデータ領域、及び、現在の２個の第１のデータ領域のいずれでもない第３のデータ領域を決定する。データコピー部は、更新後の第２のデータ領域に記憶されたデータを、第３のデータ領域にコピーする。【００１４】
本発明の他のある局面では、予め定められた同一データを共通に記憶するための３個以上の複数のデータ領域を有するメモリに対するメモリ診断方法であって、複数のデータ領域から、同一データが現在記憶されている２個の第１のデータ領域を指定するステップと、複数のデータ領域から、当該２個のデータ領域と重複しないように、テストパターンデータの書込を伴うテストパターン診断の対象となる第２のデータ領域を指定するステップと、メモリに対する同一データの出力要求時に、２個の第１のデータ領域間で記憶データの比較及び照合処理を実行するとともに、照合結果の異常時に異常検出を通知するステップと、第２のデータ領域に対してテストパターン診断を実行するとともに、テストパターン診断による異常検出時に異常検出を通知するステップと、テストパターン診断の正常完了通知に応じて、第２のデータ領域を更新するステップと、更新後の第２のデータ領域が、２個の第１のデータ領域に含まれている場合に、複数のデータ領域のうちの、更新後の第２のデータ領域、及び、現在の２個の第１のデータ領域のいずれでもない第３のデータ領域を決定するステップと、更新後の第２のデータ領域に記憶されたデータを、第３のデータ領域にコピーするステップとを備える。
【発明の効果】
【００１５】
本発明によれば、予め定められた同一データを共通に記憶するための複数のデータ領域のうちの１つのデータ領域に対するテストパターン診断と、それ以外の２個のデータ領域間での比較及び照合処理とを並列に実行できるので、テストパターン診断を中断することなく、照合処理を伴って当該同一データをメモリから出力することができるとともに、当該同一データがハードエラー又はソフトエラーによって変化した異常を検出できる。この結果、複数のデータ領域を用いて記憶されるデータに発生した異常を早期かつ確実に検出することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態１によるメモリ診断装置の構成を説明する機能ブロック図である。
【図２】図１に示されたＲＡＭ管理部による処理を示すフローチャートである。
【図３】図１に示された比較処理部による処理を示すフローチャートである。
【図４】図１に示された診断部による処理を示すフローチャートである。
【図５】図１に示されたデータコピー部による処理を示すフローチャートである。
【図６】実施の形態１に係るメモリ診断装置による図１に示されたＲＡＭの３個のデータ領域への診断手順の一例を説明する概念図である。
【図７】本発明の実施の形態２によるメモリ診断装置の構成を説明する機能ブロック図である。
【図８】本発明の実施の形態３によるメモリ診断装置の構成を説明する機能ブロック図である。
【図９】複数のデータ領域の各々の内部の領域についてのデータ確認領域及びデータ確認不要領域の分割例を説明する概念図である。
【図１０】図８に示されたデータコピー部による処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下に、本発明の実施の形態について、図面を参照して詳細に説明する。尚、以下では、図中の同一又は相当部分には同一符号を付して、その説明は原則的に繰返さないものとする。
【００１８】
実施の形態１．
図１は、本発明の実施の形態１によるメモリ診断装置の構成を説明する機能ブロック図である。
【００１９】
図１を参照して、メモリ診断装置１０は、メモリ２０と、演算部３０とを備える。本実施の形態では、診断対象となるメモリとしては、書換可能な記憶媒体の代表例としてＲＡＭを想定する。従って、以下では、メモリ２０をＲＡＭ２０とも称し、メモリ診断装置１０をＲＡＭ診断装置１０とも称する。
【００２０】
ＲＡＭ診断装置１０は、ＲＡＭ２０を含むＲＡＭ診断装置１０が搭載された情報処理装置（上述のＰＬＣ等）のコントローラ本体によるＲＡＭの自己診断を実行する機能部分に相当する。演算部３０は、ハードウェアとしてはＣＰＵ（Central  Processing  Unit）によって構成される。演算部３０は、ＲＡＭ診断装置１０が組み込まれる情報処理装置のメインとなる機能の処理を実行する機能に加えて、メモリ診断処理のための機能部分である、ＲＡＭ管理部４０、比較処理部５０、診断部６０、及び、データコピー部７０を含む。比較処理部５０は、比較処理実行部５１及びデータ異常検出部５２を有する。診断部６０は、テストパターン診断実行部６１及びＲＡＭ故障検出部６２を有する。データコピー部７０は、データ領域間コピー部７１及びデータコピー確認部７２を有する。
【００２１】
図１中に示された、演算部３０が具備する各機能ブロックは、当該ＣＰＵが、図示しないアドレス線及びデータ線等を介して、ＲＡＭ２０及び図示しないＲＯＭ（Read  Only  Memory）等の他メモリへのアクセスを伴って、プログラムの読出及び実行、又は、データの読出及び書込処理を行うことによって実現される各機能に対応する。或いは、各機能ブロックによる機能の一部又は全部について、専用電子回路等によるハードウェアによって実現することも可能である。
【００２２】
ＲＡＭ２０は、記憶データを書換可能な記憶媒体である。ＲＡＭ２０は、予め定められた、同一の特定データ（以下、「ＲＡＭデータ」とも称する）を記憶するための３個以上の複数の記憶領域（データ領域）を、内部に有する。各時点において、複数の記憶領域のうち、最低２つの領域には、上記ＲＡＭデータが共通に書き込まれた状態とされる。図１には一例として、同一ハードウェアのＲＡＭ２０内に、データ領域２１（データ領域１）、データ領域２２（データ領域２）、及び、データ領域２３（データ領域３）の３つの記憶領域を設けた構成が記載される。尚、データ領域２１〜２３は、別個のハードウェアの複数のＲＡＭを用いて構成されてもよい。
【００２３】
上記ＲＡＭデータは、ＲＡＭ診断装置１０（ＲＡＭ２０）が搭載された情報処理装置で使用されるプログラムやパラメータを想定している。例えば、ＲＡＭデータは、特許文献１の「安全関連データ」に代表される、情報処理装置による動作を安全に保つために用いられるデータを含む。
【００２４】
演算部３０の内部又は外部から、上記ＲＡＭデータの出力要求が生じた際には、比較処理部５０によるデータの比較及び照合を行った上で、ＲＡＭ２０からＲＡＭデータを出力することが可能である。以下では、比較処理部５０による当該ＲＡＭ診断を「読出時診断」とも称する。
【００２５】
以下で説明するメモリ診断処理は、ＲＡＭ診断装置１０が搭載された情報処理装置の起動後に、自動的に開始される。メモリ診断処理は、情報処理装置がＲＡＭ２０のデータを用いて動作するＲＡＭ動作においてＲＡＭデータの出力要求時に行われる読出時診断と、テストパターンを用いたＲＡＭ診断（以下、「テストパターン診断」とも称する）とを含む。
【００２６】
ＲＡＭ管理部４０は、ＲＡＭ２０が有する３以上の複数のデータ領域のうち、読出時診断におけるデータの比較処理対象とする２つの領域を指定して比較処理部５０へ通知する機能と、テストパターン診断を行う１つの領域を指定して診断部６０へ通知する機能と、データ領域間でコピーが必要な場合を判断してデータコピー部７０へ通知する機能を有する。
【００２７】
図２は、ＲＡＭ管理部４０による処理を示すフローチャートである。
図２を参照して、ＲＡＭ管理部４０は、ＲＡＭ診断装置１０の起動後、ステップ（以下、単に「Ｓ」と表記する）１０１により、初期値読込みの一環として、データ領域２１〜２３のうちの少なくとも２個に対して、上記ＲＡＭデータを書込む。さらに、ＲＡＭ診断装置１０の動作中には、Ｓ１０２（ループ開始）〜Ｓ１１２（ループ終了）迄のループ処理が、繰り返し実行される。
【００２８】
ＲＡＭ管理部４０は、Ｓ１０３では、予め設定した順番に従ってデータ領域２１〜２３のうちの２個を選択することによって、読出時診断における比較処理対象とする２個のデータ領域を指定する。これにより、２個の「第１のデータ領域」が指定される。尚、ＲＡＭ診断装置１０の起動後の初回のＳ１０３では、Ｓ１０１において特定データを書込まれたデータ領域が、比較処理対象領域とされるように上記順番が設定される必要がある。
【００２９】
ＲＡＭ管理部４０は、Ｓ１０４により、Ｓ１０３で比較処理対象領域に設定されなかったデータ領域から、テストパターン診断領域を指定する。尚、図１のように、３個のデータ領域２１〜２３が設けられる場合には、Ｓ１０３で比較処理対象領域に設定されなかった残りの１個のデータ領域が、自動的にテストパターン診断領域に指定される。これにより、Ｓ１０３で指定された「第１のデータ領域（２個）」と重複しないように、テストパターン診断の対象となる「第２のデータ領域」が指定される。
【００３０】
ＲＡＭ管理部４０は、Ｓ１０５により、診断部６０に対して、Ｓ１０４でテストパターン診断領域に設定されたデータ領域を対象としたテストパターン診断開始要求を、診断部６０に対して出力する。ＲＡＭ管理部４０は、当該テストパターン診断開始要求の出力後、Ｓ１０６により、診断部６０からテストパターン診断の正常完了が通知されるまで待機する。
【００３１】
ＲＡＭ管理部４０は、診断部６０からテストパターン診断の正常完了が通知されると（Ｓ１０６のＹＥＳ判定時）、Ｓ１０７により、予め設定した順番に従って、次にテストパターン診断を行うデータ領域（以下、「次のテストパターン診断領域」と称する）を判断する。これにより、「更新後の第２のデータ領域」が決定される。さらに、Ｓ１０８では、現在比較対象領域に設定しているデータ領域（Ｓ１０３）と、Ｓ１０７による次のテストパターン診断領域とが同じであるか否かを判定する。尚、図１のように、３個のデータ領域２１〜２３が設けられる場合には、Ｓ１０８は、常時ＹＥＳ判定とされる。
【００３２】
次のテストパターン診断領域は、テストパターン診断中にはテストパターンが上書きされるため、比較処理に用いることができなくなってしまう。従って、現在比較対象領域に設定しているデータ領域（Ｓ１０３）と、次のテストパターン診断領域とが重複する場合（Ｓ１０８のＹＥＳ判定時）には、Ｓ１０９により、次のテストパターン診断領域のデータのコピー先となるデータ領域が選択される。具体的には、次のテストパターン診断領域、及び、現在比較対象領域に設定されているデータ領域のどちらでもないデータ領域が、コピー先として選択される。図１のように、３個のデータ領域２１〜２３が設けられる場合には、Ｓ１０９において、今回のテストパターン診断（Ｓ１０５）が終了したデータ領域がコピー先に必然的に選択される。これにより、「第３のデータ領域」が決定される。
【００３３】
そして、ＲＡＭ管理部４０は、Ｓ１１０により、データコピー部７０に対して、Ｓ１０７で設定された次のテストパターン診断領域のデータを、Ｓ１０９で選択されたデータ領域にコピーするデータコピー要求を出力する。
【００３４】
ＲＡＭ管理部４０は、当該データコピー要求の送付後、Ｓ１１１により、データコピー部７０からデータコピーの正常完了が通知されるまで待機する。ＲＡＭ管理部４０は、データコピー部７０からデータコピーの正常完了が通知されると（Ｓ１１１のＹＥＳ判定時）、Ｓ１１２に処理を進める。これにより、Ｓ１０２に処理が戻されて、新たなループ処理が開始される。
【００３５】
ＲＡＭ２０に４個以上のデータ領域が設けられる構成では、現在比較対象領域に設定しているデータ領域（Ｓ１０３）と、次のテストパターン診断領域とが重複していないことにより、Ｓ１０８がＮＯ判定とされるケースが発生する。この場合には、上記のデータコピーは必要ないため、Ｓ１０９〜Ｓ１１１がスキップされて処理がＳ１１２へ進められることにより、新たなループ処理が開始される。
【００３６】
新たなループ処理では、Ｓ１０３により、前回のループ処理のＳ１０７で次のテストパターン診断領域に決定されたデータ領域を除く残りのデータ領域（２個以上）から、ＲＡＭデータを記憶している２個のデータ領域が比較処理対象領域に設定される。更に、Ｓ１０４では、前回のループ処理のＳ１０７で次のテストパターン診断領域に決定されたデータ領域が、テストパターン診断領域に指定される。
【００３７】
このように、ＲＡＭ管理部４０は、ループ処理毎に、３個以上のデータ領域のうちの１個をテストパターン診断の対象とすることができる。ＲＡＭ診断装置１０（ＲＡＭ２０）が搭載された情報処理装置は、テストパターン診断が非実行のデータ領域のデータを用いて、動作することができる。さらに、テストパターン診断が非実行のデータ領域のうちの２個のデータ領域のデータを比較処理対象領域に設定される。
【００３８】
図１に示したように、比較処理部５０は、ＲＡＭ２０の複数のデータ領域のうち２領域間で比較処理を行う比較処理実行部５１と、比較処理の結果不一致が検出された場合にデータ異常検出信号を出力するデータ異常検出部５２を有する。
【００３９】
図３は、比較処理部５０による処理を示すフローチャートである。
図３を参照して、比較処理部５０は、ＲＡＭ診断装置１０の動作中には、Ｓ２０１（ループ開始）〜Ｓ２０８（ループ終了）迄のループ処理を、繰り返し実行することで、上記読出時診断の機能を実現する。
【００４０】
比較処理部５０は、Ｓ２０２により、演算部３０の内部又は外部からのＲＡＭデータの出力要求の有無を確認する。当該出力要求は、情報処理装置においてメモリ診断処理以外の汎用的な機能（上記ＲＡＭ動作）のために、ＲＡＭ２０以外の装置でＲＡＭデータを読込んで使用する必要がある場合に生成される。出力要求の対象は、データ領域２１〜２３に記憶されたＲＡＭデータ全体の一部であってもよい。
【００４１】
ＲＡＭデータの出力が要求されている場合には（Ｓ２０２のＹＥＳ判定時）、Ｓ２０３により、ＲＡＭ管理部４０がＳ１０３又はＳ１０９（図２）によって、現在、比較対象領域に設定されている２個のデータ領域を確認するとともに、Ｓ２０４により、当該２個のデータ領域のそれぞれに記憶されているＲＡＭデータの間で比較処理（比較及び照合確認）を行う。この際に、比較処理対象は、各データ領域全体で記憶されるＲＡＭデータ全体のうちの、出力要求を受けた一部のＲＡＭデータのみとしてもよい。Ｓ２０４による処理は、比較処理実行部５１により実行される。
【００４２】
比較処理部５０は、Ｓ２０５により、Ｓ２０４での比較処理結果に基づいて、ＲＡＭデータの異常有無を判定する。具体的には、比較対象領域に設定されている２個のデータ領域のそれぞれのＲＡＭデータ間でデータ内容が一致するときには、異常は検出されない。異常が検出されない場合（Ｓ２０５のＮＯ判定時）には、Ｓ２０６により、出力要求を受けているＲＡＭデータの出力処理が実行される。さらに、処理がＳ２０８に進められることにより新たなループ処理が開始されることによって、次のＲＡＭデータの出力要求への待機状態が形成される。
【００４３】
一方で、比較対象領域に設定されている２個のデータ領域のそれぞれのＲＡＭデータ間でデータ内容が一致しないときには、Ｓ２０５がＹＥＳ判定とされて、ＲＡＭデータの異常が検出される。この場合には、Ｓ２０６は実行されずに、Ｓ２０７により、データ異常信号がデータ異常検出部５２から出力される。
【００４４】
図１に示されるように、診断部６０は、ＲＡＭ２０の複数のデータ領域のうちの１個のデータ領域を対象としてテストパターン診断を実行するためのテストパターン診断実行部６１と、テストパターン診断によって異常が検出された場合にＲＡＭ故障信号を出力するＲＡＭ故障検出部６２とを有する。
【００４５】
図４は、診断部６０による処理を示すフローチャートである。
図４を参照して、診断部６０は、Ｓ３０１により、ＲＡＭ管理部４０からのテストパターン診断開始要求（Ｓ１０５）の有無を判断する。診断部６０は、テストパターン診断開始要求がある場合（Ｓ３０１のＹＥＳ判定時）には、Ｓ３０２により、ＲＡＭ管理部４０によって、現在、テストパターン診断領域に決定されているデータ領域を確認する。そして、Ｓ３０３により、テストパターン診断領域を対象として、テストパターンを用いたＲＡＭ診断が実行される。Ｓ３０１〜Ｓ３０３による処理は、テストパターン診断実行部６１によって実行することができる。
【００４６】
診断部６０は、Ｓ３０４によってテストパターン診断の結果を確信し、ＲＡＭ異常が検出されない場合には（Ｓ３０４のＮＯ判定時）、Ｓ３０５により、テストパターン診断の正常完了通知がＲＡＭ管理部４０に対して出力する。テストパターン診断完了通知は、図２のＳ１０６の判定に用いられる。
【００４７】
一方で、テストパターン診断によってＲＡＭ異常が検出された場合には（Ｓ３０４のＹＥＳ判定時）、Ｓ３０５を実行せずに、Ｓ３０６により、ＲＡＭ故障検出部６２がＲＡＭ故障信号を出力する。
【００４８】
このように、ＲＡＭ管理部４０が図２のＳ１０５によってテストパターン診断開始要求を生成する毎に、診断部６０による図４の処理が実行される。尚、テストパターン診断の際に用いられるテストパターンデータは、公知のものを任意に適用できるが、構成ビットが互いに反転している２種類のパターンデータであることが好ましい。２種類のパターンデータのそれぞれを診断領域へ書込んだ後に再度読出し、書込みデータと、読出しデータとの照合を行うことで、テストパターン診断対象となっているデータ領域のハードエラーを検出することが可能である。例えば、ＩＥＣ６１５０８では、ＲＡＭ試験方式として、ギャルパット（galpat、又は、transparent  galpat）、及び、アブラハム（Ablaham）等が高い診断率を得られる技法として推奨されている。Ｓ３０３でのテストパターン診断にこれらの技法を用いることで、ハードエラーの検出をより確実化することができる。
【００４９】
図１に示されるように、データコピー部７０は、データ領域間でデータのコピーを行うデータ領域間コピー部７１と、データコピー後に正常にコピーされたことを確認するデータコピー確認部７２とを有する。
【００５０】
図５は、データコピー部７０による処理を示すフローチャートである。
図５を参照して、データコピー部７０は、Ｓ４０１により、ＲＡＭ管理部４０からのデータコピー要求（Ｓ１１０）の有無を判断する。データコピー部７０は、データコピー要求がある場合（Ｓ４０１のＹＥＳ判定時）には、Ｓ４０２により、データコピー要求の内容に従って、データのコピー元となるデータ領域、及び、コピー先となるデータ領域を決定する。上述のように、図２のＳ１１０では、Ｓ１０７で設定された次のテストパターン診断領域が、コピー元のデータ領域に指定される一方で、Ｓ１０９で選択されたデータ領域が、コピー先のデータ領域に指定されている。
【００５１】
データコピー部７０は、Ｓ４０３により、Ｓ４０２で決定された、コピー元のデータ領域の記憶データを、コピー先のデータ領域にコピーする。Ｓ４０１〜Ｓ４０３による処理は、データ領域間コピー部７１により実行される。
【００５２】
データコピーが完了すると、Ｓ４０４により、データ領域間コピー部７１からデータコピー確認部７２へデータコピー確認要求が出力される。Ｓ４０５では、コピー先のデータ領域のデータは、コピー元のデータ領域との間ではなく、コピー元のデータ領域と同じデータが保存されている他のデータ領域との間で、比較及び照合される。これにより、データが正常にコピーされたことを確認するのみならず、当該コピー元のデータ領域及び当該他のデータ領域のいずれかでソフトエラーが発生した場合に、当該ソフトエラーの発生を検出することが可能となる。
【００５３】
データコピー確認部７２は、データコピー確認要求（Ｓ４０４）に従い、Ｓ４０５により、コピー先のデータ領域のデータと、上記他のデータ領域のデータとの一致確認を実行する。さらに、データコピー確認部７２は、Ｓ４０６により、Ｓ４０５での一致確認結果に基づいて、ＲＡＭデータの異常有無を判定する。具体的には、コピー先のデータ領域のデータと、上記他のデータ領域のデータとが一致するときには、「異常なし」と判定される。「異常なし」との判定時には（Ｓ４０６のＮＯ判定時）、データコピー確認部７２からデータ領域間コピー部７１へコピー確認通知が出力される。
【００５４】
データ領域間コピー部７１は、コピー確認通知を確認すると（Ｓ４０７のＹＥＳ判定時）、Ｓ４０８により、ＲＡＭ管理部４０へデータコピーの正常完了通知を出力する。これに応じて、図２のＳ１１１がＹＥＳ判定とされる。
【００５５】
一方で、コピー先のデータ領域のデータと、上記他のデータ領域のデータとが一致しないときには、「異常あり」と判定される。「異常あり」との判定時（Ｓ４０６のＹＥＳ判定）には、Ｓ４０７及びＳ４０８は実行されず、Ｓ４０９により、データコピー確認部７２は、データ異常信号を出力する。すなわち、データ異常信号が出力されることにより、ソフトエラーの発生が検知される。
【００５６】
ＲＡＭ管理部４０が図２のフローチャートに示された処理を繰り返し実行するとともに、ＲＡＭ管理部４０によるデータ領域の種々の選択に従って、比較処理部５０、診断部６０、及び、データコピー部７０が図３〜図５のフローチャートに示された処理を繰り返し行うことで、ＲＡＭ診断装置１０は、ＲＡＭ２０のデータ領域２１〜２３について、上記読出時診断及び周期的なテストパターン診断とを実現することができる。
【００５７】
図６には、実施の形態１によるＲＡＭ診断装置によるＲＡＭ２０のデータ領域２１〜２３（図１）に対する診断手順の一例が示される。
【００５８】
図６を参照して、状態５０１では、図２のＳ１０１による初期値読込みによって、データ領域２１及び２２にＲＡＭデータが書き込まれている。さらに、図２のＳ１０３により、データ領域２１及び２２が比較処理対象のデータ領域に設定されるとともに、図２のＳ１０４により、データ領域２３がテストパターン診断領域に設定される。
【００５９】
処理１では、図２のＳ１０５でのテストパターン診断開始要求の出力に応じて、診断部６０によってデータ領域２３に対するテストパターン診断が実行される。尚、処理１の間、すなわち、データ領域２３に対するテストパターン診断中に、ＲＡＭデータの出力要求が生成されると、比較処理部５０によるデータ領域２１及び２２の間での比較処理（図３のＳ２０４）の実施によってデータ異常がないことが確認された後に、図３のＳ２０６により、ＲＡＭ２０からＲＡＭデータを出力することができる。
【００６０】
処理１が終了した状態５０２では、処理１でのデータ領域２３に対するテストパターン診断が完了しているので、データ領域２３には、テストパターンデータが上書きされている。テストパターン診断の完了により、図２のＳ１０６がＹＥＳ判定とされて、データ領域２１が次のテストパターン診断領域と判断される（図２のＳ１０７）。これにより、現段階での比較対象領域（データ領域２１，２２）が、次のテストパターン診断領域（データ領域２１）と同じであるので、図２のＳ１０８がＹＥＳ判定とされて、テストパターンデータが上書きされる予定のデータ領域２１のデータをコピーするために、図２のＳ１０８及びＳ１０９が実行される。具体的には、Ｓ１０９により、次のテストパターン診断領域（データ領域２１）、及び、現在比較対象領域に設定されているデータ領域（データ領域２１，２２）のどちらでもない、データ領域２３がコピー先に選択される。
【００６１】
処理２では、図２のＳ１１０でのデータコピー要求の出力に応じて、データコピー部７０により、次のテストパターン診断領域であるデータ領域２１から、コピー先に選択されたデータ領域２３へのデータコピーが実行される。データコピー後に、コピー先のデータ領域２３と、コピー元のデータ領域２１と同じデータが保存されている他のデータ領域２２との間で、データ照合が正常に完了すると、図２のＳ１１１がＹＥＳ判定とされて、図２では次のループ処理が実行される。
【００６２】
処理２が終了した状態５０３では、図２のＳ１０３により、データ領域２２及び２３が読出時診断のための比較処理対象のデータ領域に設定されるとともに、図２のＳ１０４により、データ領域２１がテストパターン診断領域に設定される。
【００６３】
処理３では、図２のＳ１０５でのテストパターン診断開始要求の出力に応じて、診断部６０によってデータ領域２１に対するテストパターン診断が実行される。尚、処理３の間、すなわち、データ領域２１に対するテストパターン診断中に、ＲＡＭデータの出力要求が生成されると、比較処理部５０によるデータ領域２２及び２３の間での比較処理（図３のＳ２０４）を伴って、ＲＡＭ２０からＲＡＭデータを出力することができる（図３のＳ２０６）。
【００６４】
処理３が終了した状態５０４では、処理３でのデータ領域２１に対するテストパターン診断が完了しているので、データ領域２１には、テストパターンデータが上書きされている。図２のＳ１０７により、データ領域２２が次のテストパターン診断領域と判断されると、現段階での比較対象領域（データ領域２２，２３）が、次のテストパターン診断領域（データ領域２２）と同じであるので、図２のＳ１０８がＹＥＳ判定とされる。そして、次のテストパターン診断領域（データ領域２２）、及び、現在比較対象領域に設定されているデータ領域（データ領域２２，２３）のどちらでもない、データ領域２１が、テストパターンデータが上書きされる予定のデータ領域２２からのデータのコピー先に選択される（図２のＳ１０９）。
【００６５】
処理４では、図２のＳ１１０でのデータコピー要求の出力に応じて、データコピー部７０により、次のテストパターン診断領域であるデータ領域２２から、コピー先に選択されたデータ領域２１へのデータコピーが実行される。データコピー後に、コピー先のデータ領域２１と、コピー元のデータ領域２２と同じデータが保存されている他のデータ領域２３との間で、データ照合が正常に完了すると、図２のＳ１１１がＹＥＳ判定とされて、図２ではさらに次のループ処理が実行される。
【００６６】
処理４が終了した状態５０５では、図２のＳ１０３により、データ領域２１及び２３が比較処理対象のデータ領域に設定されるとともに、図２のＳ１０４により、データ領域２２がテストパターン診断領域に設定される。
【００６７】
処理５では、診断部６０によってデータ領域２２に対するテストパターン診断が実行される。処理５の間、すなわち、データ領域２２に対するテストパターン診断中に、ＲＡＭデータの出力要求が生成されると、比較処理部５０によるデータ領域２１及び２３の間での比較処理（図３のＳ２０４）を伴って、ＲＡＭ２０からＲＡＭデータを出力することができる（図３のＳ２０６）。
【００６８】
処理５が終了した状態５０６では、処理５でのデータ領域２２に対するテストパターン診断が完了しているので、データ領域２２には、テストパターンデータが上書きされている。図２のＳ１０７により、データ領域２３が次のテストパターン診断領域と判断されると、現段階での比較対象領域（データ領域２１，２３）が、次のテストパターン診断領域（データ領域２３）と同じであるので、図２のＳ１０８がＹＥＳ判定とされる。そして、次のテストパターン診断領域（データ領域２３）、及び、現在比較対象領域に設定されているデータ領域（データ領域２１，２２）のどちらでもない、データ領域２２が、テストパターンデータが上書きされることになるデータ領域２３のデータのコピー先に選択される（図２のＳ１０９）。
【００６９】
処理６では、データコピー部７０により、データ領域２３（次のテストパターン診断領域）から、コピー先に選択されたデータ領域２２へのデータコピーが実行される。データコピー後に、コピー先のデータ領域２２と、コピー元のデータ領域２３と同じデータが保存されている他のデータ領域２１との間で、データ照合が正常に完了すると、図２のＳ１１１がＹＥＳ判定とされて、図２ではさらに次のループ処理が実行される。処理６の終了後は、データ領域２１及び２２にＲＡＭデータが書き込まれており、さらに、データ領域２３が、次のテストパターン診断領域に予定されており、ＲＡＭ２０は、状態５０１と同様の状態となる。
【００７０】
本実施の形態１にかかるメモリ診断装置では、以降でも処理１〜処理６を繰り返すことにより、データ領域２１〜２３のうちの１つずつを順番に対象として、テストパターン診断を実行することができるとともに、ＲＡＭデータの出力要求に対しては、比較処理によるデータ異常有無の確認後（読出時診断）、正常なＲＡＭデータを出力することができる。特に、図６から理解されるように、処理２、処理４及び、処理６でのデータコピー時以外では、２個のデータ領域間での比較照合による読出時診断を伴ったＲＡＭデータの出力を実行することが可能である。すなわち、処理１、処理３、及び、処理５でのテストパターン診断中にＲＡＭデータの出力要求が生成されても、テストパターン診断を中断することなく、ＲＡＭ２０からＲＡＭデータを出力することができる。
【００７１】
この結果、ＲＡＭデータを記憶する複数のデータ領域の各々に対するテストパターン診断の所要時間を短縮して、各データ領域でのテストパターン診断の周期を短くすることができるので、ＲＡＭデータを記憶する複数のデータ領域におけるハードエラーの発生を早期に検出することができる。又、テストパターン診断及び読出時診断の併用により、複数のデータ領域に記憶されるＲＡＭデータがハードエラー又はソフトエラーによって変化した異常を、確実に検出することが可能である。
【００７２】
処理１〜処理６の間で、各比較処理、各テストパターン診断処理、及び、コピー処理では、図３のＳ２０５、図４のＳ３０４，及び、図５のＳ４０６により、ＲＡＭデータに異常があるかを判定することができる。従って、ＲＡＭの故障が検出された場合は、図３のＳ２０７でのデータ異常信号、図４のＳ３０６のＲＡＭ故障信号、及び、図５のＳ４０９のデータ異常信号を出力することができる。これらの異常を示す信号が出力された際には、ＲＡＭデータの使用を停止することにより、異常なＲＡＭデータの使用によって情報処理装置が誤作動することを防止できる。例えば、上記異常を示す信号に応じて、情報処理装置の動作停止、ユーザへのアラート発信、又は、ＲＡＭ診断装置１０の比較処理部５０内の処理によるＲＡＭデータの出力停止等を行うことができる。
【００７３】
さらに、本実施の形態１にかかるメモリ診断装置では、上述したデータコピーを伴うテストパターン診断を行うことにより、長期的にアクセスされないデータ領域においてハードエラー又はソフトエラーによってＲＡＭデータが変化した異常についても、比較的早期の検出が可能である。
【００７４】
一般的なテストパターン診断では、診断対象となるデータ領域のデータを、他のＲＡＭ等の記憶媒体（コピー先）へコピーし、テストパターンデータの書込み及び読出しを伴う故障診断後に、診断が完了したデータ領域に上記コピー先からデータを再度書戻す処理が必要となる。これに対して、実施の形態１に係るメモリ診断装置では、図６の処理２、処理４、及び、処理６でのデータコピー後には、コピー先のデータ領域に保存されたデータが、ＲＡＭデータの出力処理に用いられるようになる。この結果、テストパターン診断が完了したデータ領域へのデータ書戻し処理が不要となるので、テストパターン診断におけるデータのコピー回数を減らすことによって、データ領域毎の診断所要時間を短縮することができる。この結果、各データ領域のテストパターン診断の実行周期を短くすることが可能であるので、長期的にアクセスされないメモリセルにおいてハードエラーが発生した場合にも、比較的高速に故障を検出することが期待できる。
【００７５】
さらに、データコピーの際には、コピー先のデータ領域のデータは、コピー元のデータ領域との間ではなく、コピー元のデータ領域と同じデータが保存されている他のデータ領域との間で、比較及び照合されるので、長期的にアクセスされないメモリセルにおいてソフトエラーが発生した場合にも、比較的高速に故障を検出することが期待できる。
【００７６】
尚、実施の形態１に係るメモリ診断装置において、特許文献１にも記載されたダブルＲＡＭ技法を適用することによって、より高い診断率を得ることも可能である。この場合には、図２のＳ１０１での初期値読込みにおいて、ＲＡＭデータ及びその反転データ（以下、反転ＲＡＭデータ）が書き込まれるとともに、比較処理部５０（比較処理実行部５１）は、図３のＳ２０４では、比較対象の２個のデータ領域の一方のデータ領域に記憶された反転ＲＡＭデータを反転した後に、他方のデータ領域に記憶されたＲＡＭデータとの間でデータ比較処理（比較及び照合確認）を実行する。同様に、データコピー部７０（データコピー確認部７２）は、図５のＳ４０５において、一方のデータ領域のデータについて反転した後に、２個のデータ領域（コピー先のデータ領域、及び、コピー元のデータ領域と同じデータが保存されている他のデータ領域）との間で、データ比較処理を実行する。
【００７７】
実施の形態２．
図７は、本発明の実施の形態２によるメモリ診断装置の構成を説明する機能ブロック図である。
【００７８】
図７を参照して、実施の形態２によるＲＡＭ診断装置６１０は、ＲＡＭ２０と、メイン演算部６３０、及び、サブ演算部６４０とを備える。メイン演算部６３０は、図１と同様の、比較処理実行部５１及びデータ異常検出部５２を有する比較処理部５０を含む。サブ演算部６４０は、図１と同様の、ＲＡＭ管理部４０と、テストパターン診断実行部６１及びＲＡＭ故障検出部６２を有する診断部６０と、データ領域間コピー部７１及びデータコピー確認部７２を有するデータコピー部７０とを備える。ＲＡＭ２０の構成、並びに、ＲＡＭ管理部４０、比較処理部５０、診断部６０、及び、データコピー部７０の機能及び処理は、実施の形態１と同様であるので、説明は繰り返さない。すなわち、ＲＡＭ管理部４０、比較処理部５０、診断部６０、及び、データコピー部７０が、図２〜図５に示した処理を実行することにより、ＲＡＭ２０に対して、実施の形態１と同様の診断を実行することができる。
【００７９】
実施の形態２によるＲＡＭ診断装置６１０では、ＲＡＭ２０を含むＲＡＭ診断装置６１０が搭載された情報処理装置のメインとなる機能を実行するメイン演算部６３０とは別個に、メモリ診断のためのサブ演算部６４０が設けられる。例えば、サブ演算部６４０は、マイクロコンピュータやマルチコアＣＰＵにおいて、メイン演算部６３０を構成するＣＰＵとは別のコア等を用いて構成することが可能である。メイン演算部６３０は「第１の演算ユニット」の一実施例に対応し、サブ演算部６４０は「第２の演算ユニット」の一実施例に対応する。
【００８０】
実施の形態２の構成によれば、ＲＡＭデータの出力要求に応じた比較処理部５０の機能をメイン演算部６３０に持たせる一方で、テストパターン診断の実行及びデータコピーのための処理を、メイン演算部６３０と並列に実行することができる。上述のように、図６の処理２、処理４、及び、処理６でのデータコピー期間以外において、ＲＡＭデータ出力処理、及び、テストパターン診断処理を同時に実行する際に、メイン演算部６３０及びサブ演算部６４０による並列処理が可能となる。この結果、実施の形態１のメモリ診断装置と比較して、テストパターン診断をさらに高速化することが可能となるので、各データ領域のテストパターン診断の実行周期を短くすることが可能となる。
【００８１】
尚、実施の形態１及び２では、ＲＡＭデータを記憶するデータ領域が３個設けられる構成を例示したが、データ領域は４以上の複数個設けることも可能である。この場合にも、１個ずつのデータ領域を順番に対象として、テストパターン診断を実行することができるとともに、ＲＡＭデータの出力要求に対しては、順次選択された２個のデータ領域間での比較処理を伴って、正常なＲＡＭデータを出力することができる。上述のように、４個以上のデータ領域が設けられる場合には、次にテストパターン診断の対象となるデータ領域が判断された際に（図２のＳ１０７）、図２のＳ１０８がＮＯ判定とされて、データコピーが不要となるケースも発生するようになる。
【００８２】
実施の形態３．
図８は、本発明の実施の形態３によるメモリ診断装置の構成を説明する機能ブロック図である。
【００８３】
図８を参照して、実施の形態３によるＲＡＭ診断装置７１０は、ＲＡＭ２０と、演算部７３０とを備える。演算部７３０は、図１と同様のＲＡＭ管理部４０、比較処理部５０、及び、診断部６０と、データコピー部７７０とを備える。ＲＡＭ２０の構成、並びに、ＲＡＭ管理部４０、比較処理部５０、及び、診断部６０の機能及び処理は、実施の形態１と同様であるので、説明は繰り返さない。
【００８４】
データコピー部７７０は、図１のデータコピー部７０と同様のデータ領域間コピー部７１及びデータコピー確認部７２に加えて、データコピー確認不要領域情報７３をさらに有する。
【００８５】
比較処理部５０は、図３のフローチャートに従って、実施の形態１と同様の読出時診断を実行する。ＲＡＭ管理部４０は、図２のフローチャートに従って、実施の形態１と同様に、テスパターン診断、及び、テストパターン診断に伴うデータコピーを管理する。同様に、診断部６０は、図４のフローチャートに従って、テストパターン診断を実行する。データコピー部７７０は、図１のデータコピー部７０と同様に、ＲＡＭ管理部４０からのデータコピー要求（図１のＳ１１０）に応じて、後述する図９のフローチャートに従って、データコピーを実行する。従って、実施の形態３では、データコピーのみが実施の形態１と異なるが、ＲＡＭ診断のその他の処理は実施の形態１と同様である。
【００８６】
実施の形態１で説明したＲＡＭ診断では、ＲＡＭ管理部４０がデータコピー要求を出力すると（図２のＳ１１０）、データコピー完了通知が受信されるまで（Ｓ１１１のＮＯ判定中）には、ＲＡＭ２０に対するＲＡＭデータの読出及び書込が禁止される。データコピー実行中はＲＡＭデータを変更できず、かつ、データコピー確認完了前のＲＡＭデータは、ソフトエラーが発生していないことが未確認であるために信頼度が低いためである。
【００８７】
このため、図５に示されたフローチャートによるデータコピー処理（Ｓ４０２〜Ｓ４０８）に要する時間が長くなると、その分だけ、ＲＡＭ診断装置が搭載された情報処理装置のメインとなる本来機能の実行頻度が低下することが懸念される。従って、実施の形態３では、データコピー後のデータコピー確認（Ｓ４０５）の処理を選択的に実行することによって、データコピー処理に要する時間の短縮を図る。
【００８８】
図８のデータコピー部７７０が有するデータコピー確認不要領域情報７３は、ＲＡＭデータを記憶する複数のデータ領域２１〜２３の各々について、データコピー確認を不要とする領域を特定する情報である。例えば、上述のように、ＲＡＭデータの一部が、必要に応じて出力要求の対象とされる場合には、複数のデータ領域２１〜２３の各々の内部領域を、アクセス頻度の高低で重み付けし、アクセス頻度が低い領域のみをデータコピー確認の対象とする一方で、アクセス頻度が高いデータ領域については、データコピー確認を不要とすることができる。即ち、データコピー確認不要領域情報７３によって、ＲＡＭデータのうちの出力要求の対象とされる頻度が高い一部データを記憶しており、データコピー確認を不要とする領域が特定される。
【００８９】
図９は、各データ領域の内部の領域についてのデータ確認領域及びデータ確認不要領域の分割例を説明する概念図である。
【００９０】
図９を参照して、データ領域１〜３には、同一のＲＡＭデータが書き込まれるため、各データ領域において、データ確認領域及びデータ確認不要領域の分割は同一となる。図１０の例では、各データ領域は、データ確認領域９０１，９０３と、データ確認不要領域９０２，９０４とに分割される。
【００９１】
データコピー確認の頻度と比較して、アクセス頻度が十分に高いデータ領域は、ＲＡＭデータを出力するためのデータアクセスに伴う比較処理を高頻度で実施しているため、ソフトエラーの発生は、比較処理部５０による読出時診断により発見可能である。したがって、データコピー確認を省略した場合でも、当該領域でのソフトエラーを発見することが可能である。従って、データ確認不要領域９０２，９０４は、当該領域に格納されるＲＡＭデータへのアクセス頻度が高い等の理由で、データコピー確認が不要と判断することができる。上記データコピー確認不要領域情報７３によって、複数のデータ領域２１〜２３の各々の内部の各領域について、データ確認領域９０１，９０３、及び、データ確認不要領域９０２，９０４のいずれに該当するかを識別することができる。
【００９２】
図１０は、図８に示されたデータコピー部７７０による処理を示すフローチャートである。
【００９３】
図１０を参照して、データコピー部７７０は、図５と同様のＳ４０１〜Ｓ４０４、及び、Ｓ４０５〜Ｓ４０９の処理に加えて、Ｓ４５０及びＳ４５５の処理を実行する。図５と同様に、Ｓ４０１〜Ｓ４０４，Ｓ４０７〜Ｓ４０９は、データ領域間コピー部７１により実行される。一方で、Ｓ４５０，Ｓ４５５，Ｓ４０６は、データコピー確認部７２により実行される。
【００９４】
データコピー確認部７２は、Ｓ４５０では、Ｓ４０４によるデータコピー確認要求の後に、データコピー元のデータ領域の内部領域について、データコピー確認不要領域情報７３によって示される、アクセス頻度が高く、データコピー確認が不要とされる領域に該当するか否かに従って、データコピー確認の要否判断を実行する。
【００９５】
データコピー確認部７２は、Ｓ４５５では、Ｓ４５０での判断結果に基づき、データコピー確認が必要か否かを判定し、データコピー確認が必要な領域である場合（Ｓ４５５のＹＥＳ判定時）には、図５と同様のＳ４０５に処理を進めて、コピー先のデータ領域と、コピー元のデータ領域との間で、当該内部領域に同じデータが保存されている他のデータ領域との間でのデータ比較及び照合により、データコピー確認が実行される。
【００９６】
一方で、データコピー確認部７２は、データコピー確認が不要な領域である場合（Ｓ４５５のＮＯ判定時）には、Ｓ４０５及びＳ４０６をスキップして、Ｓ４０６のＮＯ判定時（即ち、ＲＡＭデータ異常無し）と同様に、処理をＳ４０７へ進める。データコピー確認部７２は、データコピー元のデータ領域の内部の全領域について、Ｓ４５０〜Ｓ４０６の処理が実行されるまでは、Ｓ４０７をＮＯ判定として、コピー確認通知の出力を待機する。この結果、データコピー元のデータ領域のうちのデータ確認領域９０１，９０３のみでデータコピー確認（Ｓ４０５）が実行され、当該データ確認領域のＲＡＭデータが「異常なし」と判定されると、Ｓ４０７がＹＥＳ判定とされて、データコピー確認部７２からデータ領域間コピー部７１へコピー確認通知が出力される。
【００９７】
このように、実施の形態３にかかるＲＡＭ診断装置では、テストパターン診断中のデータコピー処理において、データコピー確認（Ｓ４０５）の処理を各データ領域の内部領域の一部のみ、言い換えると、一部のＲＡＭデータのみを対象として、選択的に実行することによって、データコピー処理に要する時間を短縮することができる。これにより、ＲＡＭ診断装置が搭載された情報処理装置において、ＲＡＭ診断によって本来の機能の実行時間が制限されることを回避できる。
【００９８】
尚、データコピー確認不要領域情報７３の内容は、固定してもよく、ＲＡＭ診断装置７１０が搭載された情報処理装置の作動に従って変更されてもよい。例えば、データコピー確認不要領域情報７３を固定する場合には、ＲＡＭデータを使用する情報処理装置の開発者がアクセス頻度を判断して、予めデータコピー確認不要領域情報７３を設定することができる。
【００９９】
或いは、データコピー確認不要領域情報７３は、上記情報処理装置の作動時における各データ領域へのアクセス履歴に基づいて設定することも可能である。例えば、データコピー確認部７２にＡＩ（Artificial  Intelligence）を搭載し、アクセス頻度が高く、データコピー確認が不要とされる領域を判断させる手法も有効である。この場合には、上記ＡＩにより、各データ領域の内部領域のアクセス実績を監視して、アクセス頻度が高いと判断された一部の領域を、データコピー確認不要領域情報７３として定期的に設定更新することができる。
【０１００】
ＲＡＭ診断装置７１０を用いる情報処理装置では、ＲＡＭデータ領域の使用方法やタイミングによって、アクセス頻度が高い領域が変化する可能性があるが、このような場合にも、データコピー確認不要領域情報７３の設定を最適化することにより、ソフトエラー検出率と、情報処理装置のメイン処理稼働率の比を最適化することが可能となる。
【０１０１】
尚、実施の形態３にかかるＲＡＭ診断装置７１０に対して、実施の形態２を組み合わることも可能である。すなわち、図８のＲＡＭ診断装置７１０において、図７と同様の、並列動作可能なメイン演算部６３０及びサブ演算部６４０を配置して、比較処理部５０の機能をメイン演算部６３０に持たせる一方で、ＲＡＭ管理部４０、診断部６０、及び、データコピー部７７０の機能については、サブ演算部６４０に持たせる構成とすることが可能である。実施の形態３においても、ＲＡＭデータを記憶するデータ領域は、３以上の任意の複数個設けることが可能である。
【０１０２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０３】
１０，６１０  メモリ診断装置（ＲＡＭ診断装置）、２０  メモリ（ＲＡＭ）、２１〜２３  データ領域、３０  演算部、４０  ＲＡＭ管理部、５０  比較処理部、５１  比較処理実行部、５２  データ異常検出部、６０  診断部、６１  テストパターン診断実行部、６２  ＲＡＭ故障検出部、７０  データコピー部、７１  データ領域間コピー部、７２  データコピー確認部、５０１〜５０６  状態、６３０  メイン演算ユニット、６４０  サブ演算ユニット、９０１，９０３  データ確認領域、９０２，９０４  データ確認不要領域。
【図１】
0006914430.tif 000002
【図２】
0006914430.tif 000003
【図３】
0006914430.tif 000004
【図４】
0006914430.tif 000005
【図５】
0006914430.tif 000006
【図６】
0006914430.tif 000007
【図７】
0006914430.tif 000008
【図８】
0006914430.tif 000009
【図９】
0006914430.tif 000010
【図１０】
0006914430.tif 000011