JP6884298B1 - メモリ診断装置、メモリ診断方法、及びプログラム - Google Patents

メモリ診断装置、メモリ診断方法、及びプログラム Download PDF

Info

Publication number
JP6884298B1
JP6884298B1 JP2021510491A JP2021510491A JP6884298B1 JP 6884298 B1 JP6884298 B1 JP 6884298B1 JP 2021510491 A JP2021510491 A JP 2021510491A JP 2021510491 A JP2021510491 A JP 2021510491A JP 6884298 B1 JP6884298 B1 JP 6884298B1
Authority
JP
Japan
Prior art keywords
control data
data
unit
control
diagnosis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021510491A
Other languages
English (en)
Other versions
JPWO2022107183A1 (ja
Inventor
佳津輝 久保
佳津輝 久保
裕基 布施
裕基 布施
勝裕 大西
勝裕 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6884298B1 publication Critical patent/JP6884298B1/ja
Publication of JPWO2022107183A1 publication Critical patent/JPWO2022107183A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

メモリ診断装置(1)は、制御対象機器(2)を制御するための第1制御データと第2制御データとを保存する第1データ領域(121)と第2データ領域(122)とを含む保存部と、第2制御データの値を反転させた第3制御データと第1制御データとが一致するか否かの比較処理を実行する比較処理部(301)と、比較処理部(301)に比較処理を実行させ、第1制御データと第3制御データとが一致する場合に、第1制御データの値を反転させた第4制御データを第1データ領域(121)に保存させ、第5制御データを第2データ領域(122)に保存させた後に、第5制御データの値を反転させて第4制御データと比較し、一致する場合に、第4制御データの値を反転させた値を第1データ領域(121)に保存させ、第4制御データの値と同一の値を第2データ領域(122)に保存させる、診断処理を実行する診断部(113)とを備える。

Description

本開示は、メモリ診断装置、メモリ診断方法、及びプログラムに関する。
情報処理装置において、読み出し及び書き換え可能な記憶媒体は、制御用プログラム、デバイス値、パラメータ等の保存領域として用いられている。しかしながら、記憶媒体に故障が生じると、制御用プログラム、デバイス値等のデータに破損が生じ、情報処理装置の誤動作を引き起こす可能性がある。このため、記憶媒体に生じた故障をいち早く検知し、情報処理装置を安全な状態へと移行させることが求められる。
そこで、例えば、特許文献1には、任意のデータへのアクセス時における当該データの格納領域に対する診断と、テストデータを用いた定期的な診断を併用することにより、メモリセルの固着故障を診断することができる技術が開示されている。
特開2012−104064号公報
テストデータを用いる診断は、記憶媒体のメモリセルに複数のテストデータを読み込みおよび書き込みさせる試験を繰り返すことにより、メモリセルの固着故障を診断する。このため、記憶媒体の診断のために、複数のテストデータを用意する必要があり、手間がかかるという課題がある。また、テストデータを用いて診断する場合、診断の対象となる領域に含まれるデータを、まとめて別の領域に退避させる必要がある。このため、情報処理装置が次の処理を実行する場合には、退避させていたデータを元に戻す必要があり、処理が煩雑になるという課題がある。
本開示は上述の課題を解決するためのものであり、記憶媒体に対する診断を簡便に行うことができるメモリ診断装置、メモリ診断方法、及びプログラムを提供することを目的とする。
上記目標を達成するために、メモリ診断装置は、保存部と、比較処理部と、診断部とを備える。保存部は、制御対象機器を制御するための第1制御データを保存する第1データ領域と第2制御データを保存するための第2データ領域とを含む。比較処理部は、第2データ領域から読み出した第2制御データの値を反転させた第3制御データと、第1データ領域から読み出した第1制御データとが一致するか否かの比較を行う比較処理を実行する。診断部は、比較処理部に比較処理を実行させ、第1制御データと第3制御データとが一致する場合に、第1制御データの値を反転させた第4制御データを第1データ領域に保存させ、第1制御データの値と同一の値である第5制御データを第2データ領域に保存させた後に、第2データ領域から読み出した第5制御データの値を反転させ、第1データ領域から読み出した第4制御データと比較し、第4制御データと反転させた第5制御データとが一致する場合に、第4制御データの値を反転させた第1制御データと同一の値を第1データ領域に保存させ、第4制御データの値と同一の値を第2データ領域に保存させる診断処理を実行する。
本開示におけるメモリ診断装置は、第1データ領域に保存された制御対象機器を制御するための第1制御データと第2データ領域に保存された第2制御データとを比較し、両者が一致する場合に、第1制御データを反転させて第1データ領域および第2データ領域に保存させ、その後、再度第1データ領域および第2データ領域に保存された第1制御データおよび第2制御データを比較する処理を実行させることにより、第1制御データおよび第1データ領域の異常の有無を診断することができるため、記憶媒体に対する診断を簡便に行うことができる。
本開示の実施の形態1に係るメモリ診断装置の全体構成の一例を示す図 本開示の実施の形態1に係るメモリ診断装置のハードウエア構成の一例を示す図 本開示の実施の形態1に係るメモリ診断装置における診断の流れを説明するための図 図3に示した診断の流れの続きを説明するための図 図4に示した診断の流れの続きを説明するための図 図5に示した診断の流れの続きを説明するための図 本開示の実施の形態1に係るメモリ診断装置における診断の流れを説明するための図 図7に示した診断の流れの続きを説明するための図 図8に示した診断の流れの続きを説明するための図 本開示の実施の形態1に係るメモリ診断処理のフローチャート 本開示の実施の形態2に係るメモリ診断装置における制御周期とメモリの診断についての関係を示す図 本開示の実施の形態2に係るメモリ診断装置における制御周期とメモリの診断についての関係を示す図 本開示の実施の形態2に係るメモリ診断装置における割り込み要因とメモリの診断についての関係を示す図 本開示の実施の形態2に係るメモリ診断装置における割り込み要因とメモリの診断についての関係を示す図 本開示の実施の形態2に係るメモリ診断装置の全体構成の一例を示す図 本開示の実施の形態2に係る診断の中断機能付きメモリ診断処理のフローチャート 図14Aに示したフローチャートの続きのフローチャート 本開示の実施の形態3に係る診断の中断機能付きメモリ診断処理のフローチャート 図15Aに示したフローチャートの続きのフローチャート
(実施の形態1)
本開示におけるメモリ診断装置は、記憶媒体に対する診断を簡便に行うことができる装置である。以下、本開示の実施の形態1に係るメモリ診断装置1について、図面を参照しつつ説明する。なお、同一または同等の部分に同一の符号を付す。
メモリ診断装置1は、情報処理装置100に含まれ、メモリ部12の診断を行う機能を備えた装置である。情報処理装置100は、例えば、制御対象機器2を制御するプログラマブルコントローラ(以下、PLC:Programmable Logic Controllerと称する)として構成される。
メモリ診断装置1の全体構成の一例を、図1に示す。メモリ診断装置1は、メモリ部12の診断及び制御対象機器2を制御する演算部11と、制御対象機器2を制御するための各種データ、プログラムを保存するメモリ部12とを備える。制御対象機器2は、例えば、ワークを加工するワーク加工装置、各種製品を生産する製品生産装置、加工済のワーク、生産された製品等を検査する検査装置等である。
メモリ診断装置1の演算部11は、制御対象機器2の制御を行う機器制御部111と、メモリ部12に対してデータの読み出し、書き込み、および、読み出したデータの比較を行うメモリ処理部112と、メモリ部12の診断を実行する診断部113とを含む。
機器制御部111は、メモリ部12に保存された制御対象機器2を制御するためのプログラムを、メモリ処理部112を介して読み込み、実行する。また、機器制御部111は、メモリ部12に保存された制御対象機器2を制御するための各種データを、メモリ処理部112を介して読み込む。機器制御部111は、メモリ部12から読み込んだ各種データを、実行するプログラムの出力要求に応じて制御対象機器2へ送信する。
メモリ処理部112は、メモリ部12から読み出したデータの比較を行う比較処理部301と、メモリ部12に対して各種データの読み込みおよび書き込みを行うメモリアクセス処理部302とを含む。比較処理部301は、機器制御部111および診断部113からの指示に応じて、メモリ部12から読みだされた各種データの比較を行う。メモリアクセス処理部302は、診断部113からの指示に応じて、メモリ部12に対して各種データの読み込みおよび書き込みを行う。
診断部113は、機器制御部111により実行される制御対象機器2を制御するためのプログラムが終了すると、メモリ部12の診断を行う。メモリ部12は、各種データを格納された第1データ領域121と、第1データ領域121に格納されたデータを反転させたデータを格納させる第2データ領域122とを含む。詳細は後述するが、診断部113は、第1データ領域121と第2データ領域122とに格納されたデータを比較および照合することにより、メモリ部12を診断する。なお、メモリ部12は、請求の範囲における保存部の一例である。
演算部11に備えられた機器制御部111と、メモリ処理部112と、診断部113とは、それぞれソフトウエアにより実現される機能である。この機能を実行するためのハードウエア構成の一例を図2に示す。メモリ診断装置1は、例えば、情報処理装置100として動作するPLCユニットに含まれるモジュールユニットとして構成することができる。メモリ診断装置1は、制御対象機器2を接続するための機器接続部401と、各種データ、プログラム等を保存する記憶機器402と、記憶機器402に保存されたプログラムを読み込んで展開する制御用メモリ403と、制御用メモリ403に展開されたプログラムを実行するプロセッサ404とを備える。また、機器接続部401と、記憶機器402と、制御用メモリ403と、プロセッサ404とは、バス406により相互に接続されている。
機器接続部401は、制御対象機器2を接続するための接続部である。メモリ診断装置1は、機器接続部401を介して、制御対象機器2に各種データ、制御用信号を送信する。また、メモリ診断装置1は、機器接続部401を介して、制御対象機器2から各種データを受信する。機器接続部401は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、有線または無線LAN(Local Area Network)ポート等の、制御対象機器2を接続することができる各種接続ポートを用いて構成することができる。
記憶機器402は、制御対象機器2を制御するために用いられる各種データ、プログラムを保存することができる機器である。記憶機器402は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等の各種記憶装置を用いて構成することができる。
制御用メモリ403は、記憶機器402とともに、図1に示したメモリ部12として機能する。制御用メモリ403は、揮発性の半導体メモリ、例えば、RAM(Random Access Memory)といった記憶素子および記憶媒体を用いて構成することができる。
プロセッサ404は、図1に示した演算部11として機能する。プロセッサ404は、例えば、CPU(Central Processing Unit)、MPU(Micro−processing Unit)等の演算処理装置を用いて構成することができる。
図1に示したメモリ診断装置1の診断部113は、機器制御部111により実行される制御対象機器2を制御するためのプログラムが終了すると、メモリ部12の診断を行う。メモリ診断装置1で行われるメモリ部12の診断の流れについて、図3から図9を参照しつつ、以下に説明する。
まず、図3から図6を参照して、メモリ部12に異常が発生していない場合の診断の流れについて説明する。ここでいうメモリ部12に発生する異常とは、メモリ部12の第1データ領域121および第2データ領域122の各診断対象アドレスで示されるデータ領域に発生する、ソフトエラーおよび固着故障のいずれかである。ソフトエラーとは、α線、中性子線、EMI(Electro Magnetic Interference)ノイズおよび内部クロストーク等に起因して、一時的にデータ領域に格納されているデータがビット反転といった不具合を起こし、一時的にデータが正常なデータとは異なる異常なデータとなってしまうエラーである。また、固着故障とは、ソフトエラーとは異なるハードエラーを指し、データ領域が物理的に損傷して、データ領域を構成するビットが変更できなくなるエラーである。
図3に示す診断部113は、メモリ処理部112のメモリアクセス処理部302に、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスを送信する。診断対象アドレスは、診断対象となるデータの格納領域の先頭のアドレスである。ここでは、例えば、第1データ領域121の診断対象アドレスを16進数で0x00A0とし、第2データ領域122の診断対象アドレスを16進数で0x10B0とする。メモリアクセス処理部302は、診断部113から受診した診断対象アドレスの示すアドレスのデータを、メモリ部12の第1データ領域121および第2データ領域122から読み出す。
ここで、メモリアクセス処理部302にメモリ部12の第1データ領域121から読み出されるデータは、第1データ領域121の診断対象アドレスである0x00A0を先頭とする1Byte分のデータを例に挙げることができる。なお、このデータを、以下では、第1制御データと称する。また、メモリアクセス処理部302にメモリ部12の第2データ領域122から読み出されるデータは、第2データ領域122の診断対象アドレスである0x10B0を先頭とする1Byte分のデータを例に挙げることができる。なお、このデータを、以下では、第2制御データと称する。ここで、第1制御データは、例えば、10101110で示されるデジタルデータとする。また、第2制御データは、例えば、01010001で示されるデジタルデータとする。つまり、第2制御データは、第1制御データの値を反転させた値を示すデータである。
メモリアクセス処理部302は、メモリ部12から読み出した第1制御データおよび第2制御データを、メモリ処理部112の比較処理部301に送信する。比較処理部301は、メモリ部12から読み出された第2制御データを反転処理し、第3制御データを生成する。ここで、第2制御データは01010001であるため、反転処理された第3制御データは10101110となる。
比較処理部301は、第1制御データと、第3制御データとを比較処理する。ここで、第1制御データは、10101110であり、第3制御データは10101110であるため、両者は一致する。したがって、比較処理部301は、診断部113に「データ異常なし」との比較結果を送信する。また、比較処理部301は、診断部113に第1制御データを送信する。診断部113は、比較処理部301から受信した比較結果が「データ異常なし」である場合、処理を続行する。
また、診断部113は、比較処理部301から受信した比較結果が「データ異常なし」ではない場合、すなわち、「データ異常あり」である場合、ソフトエラーが生じたものとして、図1に示した機器制御部111にソフトエラーを通知する。機器制御部111は、診断部113から受信した通知に基づいて、制御対象機器2に停止信号を送信する、情報処理装置100よりも上位のコントロールシステムにソフトエラーが生じたことを通知する等の処理を行う。
ここで、図4に移る。診断部113は、比較処理部301から受信した第1制御データを反転処理し、第4制御データを生成する。ここで、第1制御データは10101110であるため、反転処理された第4制御データは01010001となる。診断部113は、メモリ処理部112のメモリアクセス処理部302に、第4制御データを送信する。また、診断部113は、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスを送信する。この診断対象アドレスは、図3に示した診断対象アドレスと同様のアドレスである。
メモリアクセス処理部302は、診断部113から受信した第4制御データを反転処理し、第5制御データを生成する。ここで、第4制御データは01010001であるため、反転処理された第5制御データは10101110となる。メモリアクセス処理部302は、メモリ部12の第1データ領域121の診断対象アドレスに、第4制御データを書き込ませる。また、メモリアクセス処理部302は、メモリ部12の第2データ領域122の診断対象アドレスに、第5制御データを書き込ませる。
続いて、図5に移る。診断部113は、メモリ処理部112のメモリアクセス処理部302に、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスを送信する。この診断対象アドレスは、図3に示した診断対象アドレスと同様のアドレスである。メモリアクセス処理部302は、診断部113から受診した診断対象アドレスの示すアドレスのデータを、メモリ部12の第1データ領域121および第2データ領域122から読み出す。ここで、メモリ部12の第1データ領域121から読み出されるデータは、図4で書き込まれた第4制御データである。また、第2データ領域122から読み出されるデータは、図4で書き込まれた第5制御データである。
メモリアクセス処理部302は、メモリ部12から読み出した第4制御データおよび第5制御データを、メモリ処理部112の比較処理部301に送信する。比較処理部301は、メモリ部12から読み出された第5制御データを反転処理し、第6制御データを生成する。ここで、第5制御データは10101110であるため、反転処理された第6制御データは01010001となる。
比較処理部301は、第4制御データと、第6制御データとを比較処理する。ここで、第4制御データは、01010001であり、第6制御データは01010001であるため、両者は一致する。したがって、比較処理部301は、診断部113に「データ異常なし」との比較結果を送信する。また、比較処理部301は、診断部113に第4制御データを送信する。
ここで、図6に移る。診断部113は、比較処理部301から受信した第4制御データを反転処理する。ここで、第4制御データは01010001であるため、反転処理すると10101110になる。反転処理された第4制御データの値は、図3に示した第1制御データと同じ値である。診断部113は、メモリ処理部112のメモリアクセス処理部302に、反転処理された第4制御データ、すなわち、第1制御データを送信する。また、診断部113は、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスを送信する。この診断対象アドレスは、図3に示した診断対象アドレスと同様のアドレスである。
メモリアクセス処理部302は、診断部113から受信した第1制御データを反転処理し、第2制御データを生成する。ここで、第1制御データは10101110であるため、反転処理された第2制御データは01010001となる。メモリアクセス処理部302は、メモリ部12の第1データ領域121の診断対象アドレスに、第1制御データを書き込ませる。また、メモリアクセス処理部302は、メモリ部12の第2データ領域122の診断対象アドレスに、第2制御データを書き込ませる。これにより、メモリ部12の第1データ領域121および第2データ領域122に書き込まれたデータは、メモリ部12の診断を開始した時と同じ値に戻る。
この後、診断部113は、診断対象となるデータの格納領域が残っている場合、診断対象アドレスをインクリメントする。具体的には、診断部113は、第1データ領域121の診断対象アドレスである0x00A0にプラス1byteをし、0x0A8とする。また診断部113は、第2データ領域122の診断対象アドレスである0x10B0にプラス1byteをし、0x10B8とする。メモリ診断装置1は、インクリメントした診断対象アドレスで示されるデータの格納領域に対して、図3から図6に示した診断の処理をくり返す。
また、診断部113は、診断対象となるデータの格納領域を全て診断した場合、図1に示した機器制御部111に診断結果を通知する。その後、診断部113は、機器制御部111により実行される制御対象機器2を制御するためのプログラムが終了するまで待機する。
続いて、図7から図9を参照して、メモリ部12に異常が発生している場合の診断の流れについて説明する。ここでは、メモリ部12に発生している異常は、メモリ部12の第1データ領域121に発生したメモリの固着故障とする。
図7に示す診断部113は、メモリ処理部112のメモリアクセス処理部302に、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスを送信する。ここでは、例えば、第1データ領域121の診断対象アドレスを0x00A0とし、第2データ領域122の診断対象アドレスを0x10B0とする。メモリアクセス処理部302は、診断部113から受診した診断対象アドレスの示すアドレスのデータを、メモリ部12の第1データ領域121および第2データ領域122から読み出す。
ここで、メモリアクセス処理部302にメモリ部12の第1データ領域121から読み出されるデータは、第1データ領域121の診断対象アドレスである0x00A0を先頭とする1Byte分のデータである。なお、このデータを、以下では、第1制御データと称する。ここで、第1制御データは、例えば、10101110とする。また、ここでは、第1データ領域121の診断対象アドレスである0x00A0から、3ビット目のメモリセルに固着故障が生じているものとする。
メモリアクセス処理部302にメモリ部12の第2データ領域122から読み出されるデータは、第2データ領域122の診断対象アドレスである0x10B0を先頭とする1Byte分のデータである。なお、このデータを、以下では、第2制御データと称する。第2制御データは、例えば、01010001とする。すなわち、第2制御データは、第1制御データの値を反転させた値を示すデータである。
メモリアクセス処理部302は、メモリ部12から読み出した第1制御データおよび第2制御データを、メモリ処理部112の比較処理部301に送信する。比較処理部301は、メモリ部12から読み出された第2制御データを反転処理し、第3制御データを生成する。ここで、第2制御データは01010001であるため、反転処理された第3制御データは10101110となる。
比較処理部301は、第1制御データと、第3制御データとを比較処理する。ここで、第1制御データは10101110であり、第3制御データは10101110であるため、両者は一致する。比較処理部301は、診断部113に「データ異常なし」との比較結果を送信する。また、比較処理部301は、診断部113に第1制御データを送信する。このため、診断部113は、比較処理部301から受信した比較結果により、第1データ領域121にメモリセルの固着故障が生じていても検出することができない。
ここで、図8に移る。診断部113は、比較処理部301から受信した第1制御データを反転処理し、第4制御データを生成する。ここで、第1制御データは10101110であるため、反転処理された第4制御データは01010001となる。診断部113は、メモリ処理部112のメモリアクセス処理部302に、第4制御データを送信する。また、診断部113は、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスを送信する。この診断対象アドレスは、図7に示した診断対象アドレスと同様のアドレスである。
メモリアクセス処理部302は、診断部113から受信した第4制御データを反転処理し、第5制御データを生成する。ここで、第4制御データは01010001であるため、反転処理された第5制御データは10101110となる。メモリアクセス処理部302は、メモリ部12の第1データ領域121の診断対象アドレスに、第4制御データを書き込ませる。このとき、第1データ領域121の診断対象アドレスから、3ビット目のメモリセルに固着故障が生じているため、書き込まれている「1」からデータが更新されない。このため、メモリ部12の第1データ領域121に書き込まれたデータは、01110001となる。このデータを、以下では、第4’制御データと称する。また、メモリアクセス処理部302は、メモリ部12の第2データ領域122の診断対象アドレスに、第5制御データを書き込ませる。
続いて、図9に移る。診断部113は、メモリ処理部112のメモリアクセス処理部302に、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスを送信する。この診断対象アドレスは、図7に示した診断対象アドレスと同様のアドレスである。メモリアクセス処理部302は、診断部113から受診した診断対象アドレスの示すアドレスのデータを、メモリ部12の第1データ領域121および第2データ領域122から読み出す。ここで、メモリ部12の第1データ領域121から読み出されるデータは、図8で書き込まれた第4’制御データである。また、第2データ領域122から読み出されるデータは、図8で書き込まれた第5制御データである。
メモリアクセス処理部302は、メモリ部12から読み出した第4’制御データおよび第5制御データを、メモリ処理部112の比較処理部301に送信する。比較処理部301は、メモリ部12から読み出された第5制御データを反転処理し、第6制御データを生成する。ここで、第5制御データは10101110であるため、反転処理された第6制御データは01010001となる。
比較処理部301は、第4’制御データと、第6制御データとを比較処理する。ここで、第4’制御データは、01110001であり、第6制御データは01010001であるため、両者は不一致となる。比較処理部301は、診断部113に「データ異常あり」との比較結果を送信する。また、比較処理部301は、診断部113に第4’制御データを送信する。このため、診断部113は、比較処理部301から受信した比較結果により、第1データ領域121に生じたメモリセルの固着故障を検出することができる。
この後、診断部113は、図1に示した機器制御部111に、第1データ領域121に故障が生じていることを通知する。機器制御部111は診断部113から受信した通知に基づいて、制御対象機器2に停止信号を送信する、情報処理装置100よりも上位のコントロールシステムに故障が生じたことを通知する等の処理を行う。
以上のとおり、メモリ診断装置1は、診断対象アドレスの示すメモリ部12の第1データ領域121および第2データ領域122に保存されたデータを、反転処理して比較処理することをくり返すことにより、メモリの異常の有無を検出することができる。
続いて、メモリ診断装置1において実行されるメモリ診断処理について、図10に示すフローチャートを参照しつつ、以下に説明する。メモリ診断処理は、メモリ診断処理プログラムとして図2に示した記憶機器402に保存されている。メモリ診断装置1は起動すると、図2に示した記憶機器402からメモリ診断処理プログラムを読み出して制御用メモリ403に展開させ、プロセッサ404に実行させる。
図1に示した診断部113は、図1に示した機器制御部111から制御対象機器2を制御するためのプログラムの処理の完了通知があったか否か判定する(ステップS101)。機器制御部111から完了通知があった場合(ステップS101;YES)、診断部113に診断対象アドレスが設定される(ステップS102)。ここで設定される診断対象アドレスは、診断対象となるデータの格納領域の先頭のアドレスである。具体的には、図1に示したメモリ部12の第1データ領域121および第2データ領域122の先頭アドレスである。また、機器制御部111から完了通知が無い場合(ステップS101;NO)、診断部113は、機器制御部111から完了通知があるまでステップS101の処理をくり返す。
診断部113は、図3に示したメモリ処理部112のメモリアクセス処理部302に、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスから診断対象のデータを読み出させる。図3に示したメモリ処理部112の比較処理部301は、読み出した診断対象のデータを比較する(ステップS103)。比較処理部301は、比較結果とメモリ部12の第1データ領域121から読み出したデータを診断部113に送信する。診断部113は、比較処理部301から受信した比較結果が「データ異常なし」か否か判定する(ステップS104)。
比較結果が「データ異常なし」である場合(ステップS104;YES)、診断部113は、図4に示したとおり、比較処理部301から受信した第1制御データを反転処理し、第4制御データを生成する。メモリアクセス処理部302は、診断部113から第4制御データを受信し、反転処理して第5制御データを生成する。メモリアクセス処理部302は、第4制御データおよび第5制御データを、メモリ部12の第1データ領域121および第2データ領域122に書き込ませる(ステップS105)。
診断部113は、図5に示したメモリ処理部112のメモリアクセス処理部302に、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスから診断対象のデータを読み出させる。図5に示したメモリ処理部112の比較処理部301は、読み出した診断対象のデータを比較する(ステップS106)。比較処理部301は、比較結果とメモリ部12の第1データ領域121から読み出したデータを診断部113に送信する。診断部113は、比較処理部301から受信した比較結果が「データ異常なし」か否か判定する(ステップS107)。
比較結果が「データ異常なし」である場合(ステップS107;YES)、診断部113は、図6に示したとおり、比較処理部301から受信した第4制御データを反転処理する。反転処理された第4制御データの値は、図3に示した第1制御データと同じ値である。メモリアクセス処理部302は、診断部113から反転処理された第4制御データ、すなわち、第1制御データを受信し、反転処理して第2制御データを生成する。メモリアクセス処理部302は、第1制御データおよび第2制御データを、メモリ部12の第1データ領域121および第2データ領域122に書き込ませる(ステップS108)。
診断部113は、診断対象となるデータの格納領域が残っているか否か判定する(ステップS109)。診断対象となるデータの格納領域が残っている場合(ステップS109;YES)、診断部113は診断対象アドレスをインクリメントする(ステップS110)。その後、診断部113は、ステップS103に戻る。診断部113は、ステップS103以降のステップを実行する。
ここで、ステップS104において、比較処理部301から受信した比較結果が「データ異常なし」でなかった場合(ステップS104;NO)、診断部113はソフトエラーが生じたことを検出する(ステップS112)。また、ステップS107において、比較処理部301から受信した比較結果が「データ異常なし」でなかった場合(ステップS107;NO)、診断部113は、メモリ部12のメモリセルに固着故障が生じたことを検出する(ステップS113)。続いて診断部113は、診断結果を図1に示した機器制御部111に通知する(ステップS114)。機器制御部111は、診断部113から受信した通知に基づいて、制御対象機器2に停止信号を送信する、情報処理装置100よりも上位のコントロールシステムに異常が生じたことを通知する等の処理を行う。その後、診断部113は、ステップS101に戻り、ステップS101からステップS114までの処理をくり返す。
また、ステップS109において、診断対象となるデータの格納領域が残っていない場合(ステップS109;NO)、診断部113は、診断結果を図1に示した機器制御部111に通知する(ステップS114)。機器制御部111は、制御対象機器2を制御するためのプログラムを実行する。続いて、診断部113は、ステップS101に戻り、ステップS101からステップS114までの処理をくり返す。
以上のとおり、実施の形態1によれば、第1データ領域121に保存された制御対象機器2を制御するための第1制御データと第2データ領域122に保存された第2制御データとを比較し、両者が一致する場合に、第1制御データを反転させて第1データ領域121および第2データ領域122に保存させた後、再度、第1データ領域121および第2データ領域122に保存された第1制御データおよび第2制御データを比較する処理を実行させることにより、第1制御データおよび第1データ領域121の異常の有無を診断することができる。このため、メモリ診断装置1は、記憶媒体に対する診断を簡便に行うことができる。
(実施の形態2)
実施の形態1では、メモリ診断装置1は、機器制御部111から制御対象機器2を制御するためのプログラムの処理の完了通知があると、メモリ部12の診断を開始する。メモリ部12の診断中、メモリ診断装置1の診断部113は、診断対象アドレスに示されたメモリ部12のデータを一時的に書き換える。このため、メモリ部12の診断中に、機器制御部111が診断対象アドレスに示されたメモリ部12のデータを読み込むと、誤ったデータを読み込む可能性がある。したがって、実施の形態1では、診断対象となるデータ全体の診断が完了するまで、機器制御部111は制御対象機器2を制御するためのプログラムの処理の開始を待つ必要がある。
しかしながら、制御対象機器2を制御するためのプログラムには、一定間隔の制御周期で実行する定周期実行タイプのプログラム、割り込み要因の発生に基づいて割り込み処理を実行する割り込みプログラム等がある。例えば、図11Aに、定周期実行タイプのプログラムの動作を示す。定周期実行タイプのプログラムは、一定間隔の制御周期で実行されるプログラムである。制御周期の1周期は、定周期実行タイプのプログラムの実行にかかる時間と、メモリの診断にかかる時間と、待機の時間とを合わせた時間になるようにすることが望ましい。しかしながら、定周期実行タイプのプログラムの実行に予定よりも時間がかかる場合がある。そして、こういった場合にメモリ診断を実行すると、図11Bに示すとおり、定周期実行タイプのプログラムの処理開始が待たされることになる。このため、定周期実行タイプのプログラムの実行間隔が制御周期を超過してしまい、制御対象機器2の性能要求を満たせなくなる恐れがある。
また、例えば、図12Aに、割り込みプログラムの動作を示す。割り込みプログラムは、割り込み要因の発生に基づいて処理を実行するプログラムである。割り込み応答時間は、割り込み要因の発生から割り込みプログラムの終了までの時間である。ここでは、機器制御部111は、割り込み要因の発生があると割り込みプログラムを実行し、続いて、メモリの診断を実行する。その後、機器制御部111は、次に割り込み要因の発生があるまで待機する。しかしながら、メモリの診断に予定よりも時間がかかる場合がある。この場合、図12Bに示すとおり、割り込みプログラムの処理開始が待たされることになる。このため、割り込み応答時間が予定されていた割り込み応答時間よりも長くなり、制御対象機器2の性能要求を満たせなくなる恐れがある。
そこで、実施の形態2では、メモリの診断中に定周期実行タイプのプログラムの処理開始要求がある場合、割り込み要因の発生がある場合等に、メモリの診断を中断させる機能を備えるものとする。図13に、メモリ診断装置1Aの全体構成を示す。メモリ診断装置1Aは、診断部113に診断中断制御部303を備える。
診断中断制御部303は、メモリ部12の診断中に、機器制御部111からメモリの診断中に定周期実行タイプのプログラム、割り込みプログラム等の処理開始が通知された場合に、診断中断フラグをセットする。ここでセットされる診断中断フラグは、メモリ診断装置1Aで実行するメモリ部12の診断を、中断するためのフラグである。診断中断フラグは、診断中断制御部303によって、診断部113にセットされる。診断部113は、診断中断フラグのセットがされている場合には、前回のメモリ部12の診断が中断されたものと判断し、診断対象アドレスを書き換えずに、診断中断フラグのみをクリアする。これにより、診断対象アドレスが書き換えられないため、前回の診断を中断した際の診断対象アドレスからメモリ部12の診断を実行することができる。また、診断部113は、診断中断フラグのセットがされていない場合には、新たに診断対象アドレスをセットし、メモリ部12の診断を行う。なお、その他の構成については、図1に示したメモリ診断装置1と同様である。また、定周期実行タイプのプログラム、割り込みプログラム等を総称して、以下では機器制御用プログラムと称する。
続いて、メモリ診断装置1Aにおいて実行される診断の中断機能付きメモリ診断処理について、図14Aおよび図14Bに示すフローチャートを参照しつつ、以下に説明する。診断の中断機能付きメモリ診断処理は、診断の中断機能付きメモリ診断処理プログラムとして図2に示した記憶機器402に保存されている。メモリ診断装置1Aは起動すると、図2に示した記憶機器402から診断の中断機能付きメモリ診断処理プログラムを読み出して制御用メモリ403に展開させ、プロセッサ404に実行させる。
図13に示した診断部113は、機器制御部111から制御対象機器2を制御するためのプログラムの処理の完了通知があったか否か判定する(ステップS201)。機器制御部111から完了通知があった場合(ステップS201;YES)、診断中断フラグがセットされているか否か判定する(ステップS202)。また、機器制御部111から完了通知が無い場合(ステップS201;NO)、診断部113は、機器制御部111から完了通知があるまでステップS201の処理をくり返す。
診断中断フラグがセットされていない場合(ステップS202;NO)、診断部113に診断対象アドレスが設定される(ステップS203)。ここで設定される診断対象アドレスは、診断対象となるデータの格納領域の先頭のアドレスである。具体的には、図13に示したメモリ部12の第1データ領域121および第2データ領域122の先頭アドレスである。また、診断中断フラグがセットされている場合(ステップS202;YES)、診断中断フラグをクリアする(ステップS204)。
診断部113は、図13に示したメモリ処理部112のメモリアクセス処理部302に、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスから診断対象のデータを読み出させる。図13に示したメモリ処理部112の比較処理部301は、読み出した診断対象のデータを比較する(ステップS205)。比較処理部301は、比較結果とメモリ部12の第1データ領域121から読み出したデータを診断部113に送信する。診断部113は、比較処理部301から受信した比較結果が「データ異常なし」か否か判定する(ステップS206)。
比較結果が「データ異常なし」である場合(ステップS206;YES)、診断部113は、機器制御部111から機器制御用プログラムの開始要求が通知されたか否か判定する(ステップS207)。機器制御部111から機器制御用プログラムの開始要求が通知されていない場合(ステップS207;NO)、診断部113は、図4に示したとおり、比較処理部301から受信した第1制御データを反転処理し、第4制御データを生成する。メモリアクセス処理部302は、診断部113から第4制御データを受信し、反転処理して第5制御データを生成する。メモリアクセス処理部302は、第4制御データおよび第5制御データを、メモリ部12の第1データ領域121および第2データ領域122に書き込ませる(ステップS208)。
診断部113は、図5に示したメモリ処理部112のメモリアクセス処理部302に、診断の対象となるメモリ部12の第1データ領域121および第2データ領域122の診断対象アドレスから診断対象のデータを読み出させる。図5に示したメモリ処理部112の比較処理部301は、読み出した診断対象のデータを比較する(ステップS209)。
ここで、図14Bに移る。比較処理部301は、比較結果とメモリ部12の第1データ領域121から読み出したデータを診断部113に送信する。診断部113は、比較処理部301から受信した比較結果が「データ異常なし」か否か判定する(ステップS210)。
比較結果が「データ異常なし」である場合(ステップS210;YES)、診断部113は、図6に示したとおり、比較処理部301から受信した第4制御データを反転処理する。反転処理された第4制御データの値は、図3に示した第1制御データと同じ値である。メモリアクセス処理部302は、診断部113から反転処理された第4制御データ、すなわち、第1制御データを受信し、反転処理して第2制御データを生成する。メモリアクセス処理部302は、第1制御データおよび第2制御データを、メモリ部12の第1データ領域121および第2データ領域122に書き込ませる(ステップS211)。
診断部113は、機器制御部111から機器制御用プログラムの開始要求が通知されているか否か判定する(ステップS212)。機器制御部111から機器制御用プログラムの開始要求が通知されていない場合(ステップS212;NO)、診断部113は、診断対象となるデータの格納領域が残っているか否か判定する(ステップS213)。診断対象となるデータの格納領域が残っている場合(ステップS213;YES)、診断部113は診断対象アドレスをインクリメントする(ステップS214)。その後、診断部113は、図14Aに示したステップS205に戻る。診断部113は、ステップS205以降のステップを実行する。
ここで、図14Aに示したステップS206において、比較処理部301から受信した比較結果が「データ異常なし」でなかった場合(ステップS206;NO)、診断部113はソフトエラーが生じたことを検出する(ステップS215)。また、図14Bに示したステップS210において、比較処理部301から受信した比較結果が「データ異常なし」でなかった場合(ステップS210;NO)、診断部113は、メモリ部12のメモリセルに固着故障が生じたことを検出する(ステップS216)。
続いて診断部113は、図13に示した診断中断制御部303に、診断中断フラグをクリアさせる(ステップS217)。続いて診断部113は、診断結果を図13に示した機器制御部111に通知する(ステップS219)。機器制御部111は、診断部113から受信した通知に基づいて、制御対象機器2に停止信号を送信する、情報処理装置100よりも上位のコントロールシステムに異常が生じたことを通知する等の処理を行う。その後、診断部113は、図14Aに示したステップS201に戻り、ステップS201からステップS219までの処理をくり返す。
また、図14Aに示したステップS207、および、図14Bに示したステップS212において、機器制御部111から機器制御用プログラムの開始要求が通知されている場合(ステップS207;YES、ステップS212;YES)、診断部113は、図13に示した診断中断制御部303に、診断中断フラグをセットさせる(ステップS218)。診断部113は、診断結果を図13に示した機器制御部111に通知する(ステップS219)。機器制御部111は、機器制御用プログラムを実行する。続いて、診断部113は、図14Aに示したステップS201に戻り、ステップS201からステップS219までの処理をくり返す。
また、図14Bに示したステップS213において、診断対象となるデータの格納領域が残っていない場合(ステップS213;NO)、診断部113は、図13に示した診断中断制御部303に、診断中断フラグをクリアさせる(ステップS217)。続いて、診断部113は、診断結果を図1に示した機器制御部111に通知する(ステップS219)。機器制御部111は、制御対象機器2を制御するためのプログラムを実行する。続いて、診断部113は、図14Aに示したステップS201に戻り、ステップS201からステップS219までの処理をくり返す。
以上のとおり、実施の形態2によれば、メモリ診断装置1Aは、実施の形態1における効果に加え、メモリ部12の診断中に機器制御用プログラムの開始要求が通知された場合、診断を中断し、機器制御部111に機器制御用プログラムを実行させることができる。これにより、制御対象機器2の性能要求を満たすことができる。
(実施の形態3)
実施の形態2では、図14Aに示したステップS207、および、図14Bに示したステップS212において、機器制御部111から機器制御用プログラムの開始要求が通知されている場合(ステップS207;YES、ステップS212;YES)に、ステップS218において、診断部113は、図13に示した診断中断制御部303に診断中断フラグをセットさせるものとした。しかしながら、この場合、次のメモリ部12の診断を実行する際に、中断前の診断対象アドレスが再び診断の対象となり非効率である。そこで、実施の形態3では、メモリ部12の診断を中断した後、次に診断を実行する際、中断前の診断対象アドレスを再び診断しないようにする。これにより、メモリ部12の診断を、効率的に実行することができる。
実施の形態3に係る診断の中断機能付きメモリ診断処理は、実施の形態2に示した診断の中断機能付きメモリ診断処理の代わりに、図13に示したメモリ診断装置1Aにおいて実行させることができる処理である。本実施の形態に係る診断の中断機能付きメモリ診断処理について、図15Aおよび図15Bに示すフローチャートを参照しつつ、以下に説明する。診断の中断機能付きメモリ診断処理は、診断の中断機能付きメモリ診断処理プログラムとして図2に示した記憶機器402に保存されている。メモリ診断装置1Aは起動すると、図2に示した記憶機器402から診断の中断機能付きメモリ診断処理プログラムを読み出して制御用メモリ403に展開させ、プロセッサ404に実行させる。
図15Aに示すステップS301からステップS309における処理は、図14Aに示したステップS201からステップS209における処理と同様である。ここで、図15Bに移る。比較処理部301は、比較結果とメモリ部12の第1データ領域121から読み出したデータを診断部113に送信する。診断部113は、比較処理部301から受信した比較結果が「データ異常なし」か否か判定する(ステップS310)。
比較結果が「データ異常なし」である場合(ステップS310;YES)、診断部113は、図6に示したとおり、比較処理部301から受信した第4制御データを反転処理する。反転処理された第4制御データの値は、図3に示した第1制御データと同じ値である。メモリアクセス処理部302は、診断部113から反転処理された第4制御データ、すなわち、第1制御データを受信し、反転処理して第2制御データを生成する。メモリアクセス処理部302は、第1制御データおよび第2制御データを、メモリ部12の第1データ領域121および第2データ領域122に書き込ませる(ステップS311)。
診断部113は、診断対象となるデータの格納領域が残っているか否か判定する(ステップS312)。診断対象となるデータの格納領域が残っている場合(ステップS312;YES)、診断部113は診断対象アドレスをインクリメントする(ステップS313)。診断部113は、機器制御部111から機器制御用プログラムの開始要求が通知されているか否か判定する(ステップS314)。機器制御部111から機器制御用プログラムの開始要求が通知されていない場合(ステップS314;NO)、診断部113は、図15Aに示したステップS305に戻る。診断部113は、ステップS305以降のステップを実行する。
ここで、図15Aに示したステップS306において、比較処理部301から受信した比較結果が「データ異常なし」でなかった場合(ステップS306;NO)、診断部113はソフトエラーが生じたことを検出する(ステップS315)。また、図15Bに示したステップS310において、比較処理部301から受信した比較結果が「データ異常なし」でなかった場合(ステップS310;NO)、診断部113は、メモリ部12のメモリセルに固着故障が生じたことを検出する(ステップS316)。
続いて診断部113は、図13に示した診断中断制御部303に、診断中断フラグをクリアさせる(ステップS317)。続いて診断部113は、診断結果を図13に示した機器制御部111に通知する(ステップS319)。機器制御部111は、診断部113から受信した通知に基づいて、制御対象機器2に停止信号を送信する、情報処理装置100よりも上位のコントロールシステムに異常が生じたことを通知する等の処理を行う。その後、診断部113は、図15Aに示したステップS301に戻り、ステップS301からステップS319までの処理をくり返す。
また、図15Aに示したステップS307、および、図15Bに示したステップS314において、機器制御部111から機器制御用プログラムの開始要求が通知されている場合(ステップS307;YES、ステップS314;YES)、診断部113は、図13に示した診断中断制御部303に、診断中断フラグをセットさせる(ステップS318)。診断部113は、診断結果を図13に示した機器制御部111に通知する(ステップS319)。機器制御部111は、機器制御用プログラムを実行する。続いて、診断部113は、図15Aに示したステップS301に戻り、ステップS301からステップS319までの処理をくり返す。
また、図15Bに示したステップS312において、診断対象となるデータの格納領域が残っていない場合(ステップS312;NO)、診断部113は、図13に示した診断中断制御部303に、診断中断フラグをクリアさせる(ステップS317)。続いて、診断部113は、診断結果を図1に示した機器制御部111に通知する(ステップS319)。機器制御部111は、制御対象機器2を制御するためのプログラムを実行する。続いて、診断部113は、図15Aに示したステップS301に戻り、ステップS301からステップS319までの処理をくり返す。
以上のとおり、実施の形態3によれば、メモリ診断装置1Aは、実施の形態1および2における効果に加え、診断対象アドレスをインクリメントした後、制御用プログラムの開始要求の有無を確認するように構成されているため、メモリ部12の診断を中断した後、次の診断を実行する際、中断前の診断対象アドレスを再び診断することがなく、メモリ部12に診断を効率的に実行することができる。
(変形例1)
上記の実施の形態1から実施の形態3において、図1および図13に示した演算部11に含まれる機器制御部111と、メモリ処理部112と、診断部113とを実現するためのハードウエア構成として、図2に示した各種データおよびデータを保存する記憶機器402と、各種プログラムを読み込む制御用メモリ403と、各種プログラムを実行するプロセッサ404とを用いるものとした。これに限らず、記憶機器402と、制御用メモリ403と、プロセッサ404とを合わせて、例えば、ASIC(Application Specific Integrated Circuit)を用いて実現してもよい。
(変形例2)
上記の実施の形態1から実施の形態3において、図1および図13に示した制御対象機器2を制御する機器制御部111を、メモリ診断装置1、1Aの演算部11に含むものとした。これに限らず、機器制御部111を、メモリ診断装置1、1Aの外部に配置する構成としてもよい。
(変形例3)
上記の実施の形態1から実施の形態3では、メモリ診断処理として、図10に示したステップS108、図14Bに示したステップS211および図15Bに示したステップS311において、第1制御データおよび第2制御データを、メモリ部12の第1データ領域121および第2データ領域122に書き込ませる処理を行い、次のステップに移行させていた。しかしながら、図10に示したステップS108を実行した後に、図10に示したステップS103およびステップS104と同様の比較処理を、再度実行することとしてもよい。また、図14Bに示したステップS211を実行した後に、図14Aに示したステップS205およびステップS206と同様の比較処理を、再度実行することとしてもよい。また、図15Bに示したステップS311の実行の後に、ステップS305およびステップS306と同様の比較処理を、再度実行することとしてもよい。この場合、図10に示したステップS108、図14Bに示したステップS211および図15Bに示したステップS311において、メモリ部12の第1データ領域121および第2データ領域122に書き込ませた第1制御データおよび第2制御データに異常がないか確認することができる。
(変形例4)
上記の実施の形態1から実施の形態3では、第4制御データ及び第5制御データを生成する手段として、診断部113で第1制御データを反転処理して第4制御データを生成し、メモリアクセス処理部302で第4制御データを反転処理して第5制御データを生成するものとした。しかしながら、第4制御データ及び第5制御データの生成は、上記の実施の形態1から実施の形態3で述べた手段に限られない。例えば、第1制御データを診断部113で反転処理せず、メモリアクセス処理部302が、診断部113から第1制御データを受信し、第1制御データの値と同一の値を第5制御データとして生成するものとしてもよい。また、メモリアクセス処理部302が、第1制御データの値を反転処理し、第4制御データを生成するものとしてもよい。
(変形例5)
上記の実施の形態1から実施の形態3では、第4制御データから第1制御データおよび第2制御データを生成する手段として、診断部113で第4制御データを反転処理して第1制御データを生成し、メモリアクセス処理部302で第1制御データを反転処理して第2制御データを生成するものとした。しかしながら、第4制御データから第1制御データ及び第2制御データの生成は、上記の実施の形態1から実施の形態3で述べた手段に限られない。例えば、第4制御データを診断部113で反転処理せず、メモリアクセス処理部302が、診断部113から第4制御データを受信し、第4制御データの値と同一の値を第2制御データとして生成するものとしてもよい。また、メモリアクセス処理部302で第4制御データの値を反転処理し、第1制御データを生成するものとしてもよい。
また、本開示の実施の形態1から実施の形態3では、メモリ診断処理プログラムおよび診断の中断機能付きメモリ診断処理プログラムを、コンピュータが読み取り可能なCD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)などの記録媒体に格納して配布し、このプログラムをコンピュータにインストールすることにより、メモリ診断処理プログラムおよび診断の中断機能付きメモリ診断処理プログラムに含まれる機能を実現することができるコンピュータを構成してもよい。そして、各機能をOS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合には、アプリケーションのみを記録媒体に格納してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。
本開示は、メモリ診断装置に好適に利用することができる。
1、1A メモリ診断装置、2 制御対象機器、11 演算部、12 メモリ部、100、100A 情報処理装置、111 機器制御部、112 メモリ処理部、113 診断部、121 第1データ領域、122 第2データ領域、301 比較処理部、302 メモリアクセス処理部、303 診断中断制御部、401 機器接続部、402 記憶機器、403 制御用メモリ、404 プロセッサ、406 バス。

Claims (8)

  1. 制御対象機器を制御するための第1制御データを保存する第1データ領域と前記第1制御データの値を反転させた第2制御データを保存する第2データ領域とを含む保存部と、
    前記第2データ領域から読み出した前記第2制御データの値を反転させた第3制御データと、前記第1データ領域から読み出した前記第1制御データとが一致するか否かの比較を行う比較処理を実行する比較処理部と、
    前記比較処理部に前記比較処理を実行させ、前記第1制御データと前記第3制御データとが一致する場合に、前記第1制御データの値を反転させた第4制御データを前記第1データ領域に保存させ、前記第1制御データの値と同一の値である第5制御データを前記第2データ領域に保存させた後に、前記第2データ領域から読み出した前記第5制御データの値を反転させ、前記第1データ領域から読み出した前記第4制御データと比較し、前記第4制御データと反転させた前記第5制御データとが一致する場合に、前記第4制御データの値を反転させた前記第1制御データと同一の値を前記第1データ領域に保存させ、前記第4制御データの値と同一の値を前記第2データ領域に保存させる診断処理を実行する診断部と、
    を備えるメモリ診断装置。
  2. 前記制御対象機器を制御する機器制御部を備え、
    前記診断部は、前記比較処理部に前記比較処理を実行させ、前記第1制御データと前記第3制御データとが一致しないとの比較結果が求められた場合に、前記第1制御データおよび前記第1データ領域に異常ありとの診断結果を、前記機器制御部に送信する、
    請求項1に記載のメモリ診断装置。
  3. 前記診断部は、前記機器制御部による前記制御対象機器を制御するため処理が終了した場合に、前記比較処理部に前記比較処理を実行させ、前記第1制御データと前記第3制御データとが一致するとの比較結果が求められた場合に、前記診断処理を実行する、
    請求項2に記載のメモリ診断装置。
  4. 前記診断部は、前記診断処理を中断するための診断中断フラグをセットする診断中断制御部を備え、
    前記診断部は、前記比較処理および前記診断処理を実行している間に、前記機器制御部から前記制御対象機器を制御するため処理の開始要求が通知された場合、前記診断中断制御部に前記診断中断フラグをセットさせ、前記診断処理を中断させる、
    請求項2または3に記載のメモリ診断装置。
  5. 前記診断部は、前記診断中断フラグがセットされていない場合、前記保存部の前記第1データ領域に保存された前記第1制御データおよび前記第2データ領域に保存された第2制御データの先頭のアドレスに基づいて、前記第1データ領域および前記第2データ領域への診断処理を実行し、前記診断中断フラグがセットされている場合、前記診断処理を中断した前記保存部の前記第1データ領域および前記第2データ領域のアドレスに基づいて前記第1データ領域および前記第2データ領域への診断処理を実行する、
    請求項4に記載のメモリ診断装置。
  6. 前記診断部は、前記診断処理を実行した後、再度前記比較処理を実行する、
    請求項1から5のいずれか一項に記載のメモリ診断装置。
  7. 制御対象機器を制御するための第1制御データを保存する第1データ領域と前記第1制御データの値を反転させた第2制御データを保存する第2データ領域とを含む保存部から、前記第1制御データおよび前記第2制御データを読み出し、
    読み出した前記第2制御データの値を反転させて第3制御データとし、読み出した前記第1制御データと一致するか否かを求め、前記第1制御データと前記第3制御データとが一致する場合に、前記第1制御データの値を反転させた第4制御データを前記第1データ領域に保存させ、前記第1制御データの値と同一の値である第5制御データを前記第2データ領域に保存させた後、前記第2データ領域から読み出した前記第5制御データの値を反転させ、前記第1データ領域から読み出した前記第4制御データと比較し、前記第4制御データと反転させた前記第5制御データとが一致する場合に、前記第4制御データの値を反転させた前記第1制御データと同一の値を前記第1データ領域に保存させ、前記第4制御データの値と同一の値を前記第2データ領域に保存させる、
    メモリ診断方法。
  8. コンピュータに、
    制御対象機器を制御するための第1制御データを保存する第1データ領域と前記第1制御データの値を反転させた第2制御データを保存する第2データ領域とを含む保存部から、前記第1制御データおよび前記第2制御データを読み出すステップ、
    読み出した前記第2制御データの値を反転させて第3制御データとし、読み出した前記第1制御データと一致するか否かを求め、前記第1制御データと前記第3制御データとが一致する場合に、前記第1制御データの値を反転させた第4制御データを前記第1データ領域に保存させ、前記第1制御データの値と同一の値である第5制御データを前記第2データ領域に保存させた後、前記第2データ領域から読み出した前記第5制御データの値を反転させ、前記第1データ領域から読み出した前記第4制御データと比較し、前記第4制御データと反転させた前記第5制御データとが一致する場合に、前記第4制御データの値を反転させた前記第1制御データと同一の値を前記第1データ領域に保存させ、前記第4制御データの値と同一の値を前記第2データ領域に保存させるステップ、
    を実行させるためのプログラム。
JP2021510491A 2020-11-17 2020-11-17 メモリ診断装置、メモリ診断方法、及びプログラム Active JP6884298B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/042694 WO2022107183A1 (ja) 2020-11-17 2020-11-17 メモリ診断装置、メモリ診断方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6884298B1 true JP6884298B1 (ja) 2021-06-09
JPWO2022107183A1 JPWO2022107183A1 (ja) 2022-05-27

Family

ID=76218178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021510491A Active JP6884298B1 (ja) 2020-11-17 2020-11-17 メモリ診断装置、メモリ診断方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP6884298B1 (ja)
WO (1) WO2022107183A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6152758A (ja) * 1984-08-22 1986-03-15 Hioki Denki Kk メモリのエラ−検出装置
JP2006118386A (ja) * 2004-10-20 2006-05-11 Denso Corp 電子制御装置

Also Published As

Publication number Publication date
WO2022107183A1 (ja) 2022-05-27
JPWO2022107183A1 (ja) 2022-05-27

Similar Documents

Publication Publication Date Title
US6615374B1 (en) First and next error identification for integrated circuit devices
JP2008090375A (ja) 割込み制御システム、およびこれを利用した記憶制御システム
WO2007055068A1 (ja) メモリ診断装置
JP2010170462A (ja) 障害処理装置および方法
JP7125602B2 (ja) データ処理装置および診断方法
JP6884298B1 (ja) メモリ診断装置、メモリ診断方法、及びプログラム
JP5849491B2 (ja) ディスク制御装置、ディスク装置異常検出方法、及びプログラム
JP4102814B2 (ja) 入出力制御装置,情報制御装置及び情報制御方法
US11095778B2 (en) Storing and outputting log for failure analysis in image forming apparatus equipped with SATA system, control method therefor, and storage medium
JP2003022222A (ja) 情報処理装置及びその保守方法
JP2020030507A (ja) マルチコア制御装置
JP6914430B2 (ja) メモリ診断装置及びメモリ診断方法
JP7338608B2 (ja) 装置、方法およびプログラム
JP6729825B1 (ja) 情報処理装置、制御方法およびプログラム
CN109343986B (zh) 处理内存故障的方法与计算机系统
JP2007257395A (ja) アプリケーションの異常監視方法
JP2011128780A (ja) Ram診断装置、そのプログラム
JP2023177118A (ja) 異常ログ取得装置、異常ログ記憶方法及びプログラム
JP2008242592A (ja) メモリ監視回路、情報処理装置、及びメモリ監視方法
JPS6230105Y2 (ja)
JP2021140642A (ja) データ処理装置、データ処理方法およびプログラム
JP2003345676A (ja) 二重化メモリシステム
TW202107280A (zh) 硬碟運作狀態判定方法
JP2004005628A (ja) 二重化メモリシステム
JPH11232206A (ja) 入出力制御回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210225

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210225

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210511

R150 Certificate of patent or registration of utility model

Ref document number: 6884298

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250