(57)【特許請求の範囲】
【請求項１】
情報処理装置の運用中に前記情報処理装置に備えられた記憶手段のメモリチェックを行うメモリチェック方法であって、
予め設定されたメモリチェック開始時刻になったときに、前記情報処理装置のＣＰＵ使用率を算出する第１のステップと、前記算出されたＣＰＵ使用率と予め定めた閾値とを比較する第２のステップと、前記ＣＰＵ使用率が前記閾値以上であった場合にメモリチェックを開始せず、一定時間経過後に再度ＣＰＵ使用率を算出する第３のステップと、前記第３のステップで算出されたＣＰＵ使用率と前記閾値とを比較する第４のステップと、前記第２または前記第４のステップにおいて前記ＣＰＵ使用率が前記閾値未満であった場合にメモリチェックを開始する第５のステップとを有することを特徴とするメモリチェック方法。
【請求項２】
情報処理装置に備えられた記憶手段のメモリ領域を複数のチェック単位領域に分け、前記情報処理装置の運用中に各チェック単位領域毎に順次メモリチェックを行うメモリチェック方法であって、
予め設定されたメモリチェック開始時刻になったときに、前記情報処理装置のＣＰＵ使用率を算出する第１のステップと、前記算出されたＣＰＵ使用率と予め定めた閾値とを比較する第２のステップと、前記ＣＰＵ使用率が前記閾値以上であった場合にメモリチェックを開始せず、一定時間経過後に再度ＣＰＵ使用率を算出する第３のステップと、前記第３のステップで算出されたＣＰＵ使用率と前記閾値とを比較する第４のステップと、前記第２または前記第４のステップにおいて前記ＣＰＵ使用率が前記閾値未満であった場合にメモリチェックを開始する第５のステップと、メモリチェック開始後に、一つのチェック単位領域のメモリチェックを行う第６のステップと、前記一つのチェック単位領域のチェックが終わり次のチェック単位領域に進むときにＣＰＵ使用率を算出する第７のステップと、前記第７のステップで算出されたＣＰＵ使用率と予め定めた閾値とを比較する第８のステップと、前記第８のステップにおいて前記ＣＰＵ使用率が前記閾値以上であった場合にメモリチェックを中止し、一定時間経過後に再度ＣＰＵ使用率を算出する第９のステップと、前記第９のステップで算出されたＣＰＵ使用率と前記閾値とを比較する第１０のステップと、前記第８または前記第１０のステップにおいて前記ＣＰＵ使用率が前記閾値未満であった場合に次のチェック単位領域のメモリチェックを継続する第１１のステップとを有することを特徴とするメモリチェック方法。
【請求項３】
情報処理装置に備えられた記憶手段のメモリ領域を複数のチェック単位領域に分け、前記情報処理装置の運用中に各チェック単位領域毎に順次メモリチェックを行うメモリチェック方式であって、
前記情報処理装置のＣＰＵ使用率を算出するＣＰＵ使用率算出手段と、
予め設定されたメモリチェック開始時刻になったときに、前記ＣＰＵ使用率算出手段からＣＰＵ使用率を取得し、予め定めた閾値未満であった場合にメモリチェックの開始を許可するメモリチェック開始判断手段と、
前記メモリチェック開始判断手段によりメモリチェックの開始が許可された後に、前記記憶手段の各チェック単位領域毎にメモリチェックを行うメモリチェック手段と、
前記メモリチェック手段により一つのチェック単位領域のチェックが終わり次のチェック単位領域に進むときに、前記ＣＰＵ使用率算出手段からＣＰＵ使用率を取得して前記閾値と比較し、前記閾値未満であった場合に次のチェック単位領域のメモリチェック継続を許可するメモリチェック継続判断手段とを有することを特徴とするメモリチェック方式。
【請求項４】
請求項３において、さらにチェック領域データ退避メモリを有し、前記メモリチェック手段は、前記記憶手段の各チェック単位領域毎にメモリチェックを行うときに、該当するチェック単位領域のメモリデータを前記チェック領域データ退避メモリに一時的に退避させ、前記チェック単位領域へのテストデータのライト／リードによるチェックを行い、前記チェック単位領域のメモリチェック終了後に、前記チェック領域データ退避メモリから前記メモリデータを読み出して前記記憶手段の該当領域に書き戻すことを特徴とするメモリチェック方式。
【請求項５】
請求項１または２記載のメモリチェック方法をコンピュータに実行させるためのメモリチェックプログラム。
【請求項６】
請求項３または４記載のメモリチェック方式の各手段としてコンピュータを機能させるためのメモリチェックプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリチェック方法，方式およびメモリチェックプログラムに関し、特にコンピュータ等の情報処理装置において装置運用中にメモリチェックを行うメモリチェック方法，方式およびメモリチェックプログラムに関する。
【０００２】
【従来の技術】
従来、情報処理装置におけるメモリチェックは、電源投入時やリセット時の装置立ち上げ時にメモリ全領域のライト／リードテストが行われていた。しかし、装置立ち上げ後の運用中にはメモリチェックは行われておらず、高い信頼性を要求される情報処理装置においては、装置立ち上げ時だけでなく装置運用中のメモリチェックの実現も求められていた。
【０００３】
これに対応して装置運用中のメモリチェックを実現した例としては、例えば特開平３−４８３４７号公報に記載されたメモリチェック方式がある。この公報に記載のメモリチェック方式においては、一定時間間隔でメモリチェックプログラムを起動し、チェック領域のデータをバックアップメモリに退避させながらライト／リードテストを行い、全領域のメモリチェックが完了すると通常のプログラムによる処理を行うようにした技術が開示されている。
【０００４】
【発明が解決しようとする課題】
しかし、上述した公報に記載のメモリチェック方式においては、システム運用中のメモリチェックは行っているものの、一定時間間隔でメモリチェックを自動的に行うため、メモリチェックの時間になったときにシステムの通常運用の負荷状態がどうであるのかといった使用状況については考慮されていない。従って、システムの負荷が高いとき、例えばＣＰＵの使用率が高いときにメモリチェックのための割り込みが発生してしまうというような事態も発生する可能性がある。この運用中のメモリチェックについては１分１秒を争って行う必要もないため、システムの運用状態を見ながらシステム負荷の低いときを選んで行うようにすることが望ましい。
【０００５】
本発明は、以上の問題を解決するメモリチェック方法，方式およびメモリチェックプログラムを提供することを目的としている。
【０００７】
【課題を解決するための手段】
本発明の第１のメモリチェック方法は、情報処理装置の運用中に前記情報処理装置に備えられた記憶手段のメモリチェックを行うメモリチェック方法であって
予め設定されたメモリチェック開始時刻になったときに、前記情報処理装置のＣＰＵ使用率を算出する第１のステップと、前記算出されたＣＰＵ使用率と予め定めた閾値とを比較する第２のステップと、前記ＣＰＵ使用率が前記閾値以上であった場合にメモリチェックを開始せず、一定時間経過後に再度ＣＰＵ使用率を算出する第３のステップと、前記第３のステップで算出されたＣＰＵ使用率と前記閾値とを比較する第４のステップと、前記第２または前記第４のステップにおいて前記ＣＰＵ使用率が前記閾値未満であった場合にメモリチェックを開始する第５のステップとを有する。
【０００８】
本発明の第２のメモリチェック方法は、情報処理装置に備えられた記憶手段のメモリ領域を複数のチェック単位領域に分け、前記情報処理装置の運用中に各チェック単位領域毎に順次メモリチェックを行うメモリチェック方法であって、
予め設定されたメモリチェック開始時刻になったときに、前記情報処理装置のＣＰＵ使用率を算出する第１のステップと、前記算出されたＣＰＵ使用率と予め定めた閾値とを比較する第２のステップと、前記ＣＰＵ使用率が前記閾値以上であった場合にメモリチェックを開始せず、一定時間経過後に再度ＣＰＵ使用率を算出する第３のステップと、前記第３のステップで算出されたＣＰＵ使用率と前記閾値とを比較する第４のステップと、前記第２または前記第４のステップにおいて前記ＣＰＵ使用率が前記閾値未満であった場合にメモリチェックを開始する第５のステップと、メモリチェック開始後に、一つのチェック単位領域のメモリチェックを行う第６のステップと、前記一つのチェック単位領域のチェックが終わり次のチェック単位領域に進むときにＣＰＵ使用率を算出する第７のステップと、前記第７のステップで算出されたＣＰＵ使用率と予め定めた閾値とを比較する第８のステップと、前記第８のステップにおいて前記ＣＰＵ使用率が前記閾値以上であった場合にメモリチェックを中止し、一定時間経過後に再度ＣＰＵ使用率を算出する第９のステップと、前記第９のステップで算出されたＣＰＵ使用率と前記閾値とを比較する第１０のステップと、前記第８または前記第１０のステップにおいて前記ＣＰＵ使用率が前記閾値未満であった場合に次のチェック単位領域のメモリチェックを継続する第１１のステップとを有する。
【０００９】
本発明の第１のメモリチェック方式は、情報処理装置に備えられた記憶手段のメモリ領域を複数のチェック単位領域に分け、前記情報処理装置の運用中に各チェック単位領域毎に順次メモリチェックを行うメモリチェック方式であって、
前記情報処理装置のＣＰＵ使用率を算出するＣＰＵ使用率算出手段と、
予め設定されたメモリチェック開始時刻になったときに、前記ＣＰＵ使用率算出手段からＣＰＵ使用率を取得し、予め定めた閾値未満であった場合にメモリチェックの開始を許可するメモリチェック開始判断手段と、
前記メモリチェック開始判断手段によりメモリチェックの開始が許可された後に、前記記憶手段の各チェック単位領域毎にメモリチェックを行うメモリチェック手段と、
前記メモリチェック手段により一つのチェック単位領域のチェックが終わり次のチェック単位領域に進むときに、前記ＣＰＵ使用率算出手段からＣＰＵ使用率を取得して前記閾値と比較し、前記閾値未満であった場合に次のチェック単位領域のメモリチェック継続を許可するメモリチェック継続判断手段とを有する。
【００１０】
本発明の第２のメモリチェック方式は、本発明の第１のメモリチェック方式において、さらにチェック領域データ退避メモリを有し、前記メモリチェック手段は、前記記憶手段の各チェック単位領域毎にメモリチェックを行うときに、該当するチェック単位領域のメモリデータを前記チェック領域データ退避メモリに一時的に退避させ、前記チェック単位領域へのテストデータのライト／リードによるチェックを行い、前記チェック単位領域のメモリチェック終了後に、前記チェック領域データ退避メモリから前記メモリデータを読み出して前記記憶手段の該当領域に書き戻すことを特徴とする。
【００１１】
本発明の第１のメモリチェックプログラムは、本発明の第１または第２のメモリチェック方法をコンピュータに実行させる。
【００１２】
本発明の第２のメモリチェックプログラムは、本発明の第１または第２のメモリチェック方式の各手段としてコンピュータを機能させる。
【００１３】
【発明の実施の形態】
本発明の実施の形態について図面を参照して詳細に説明する。
【００１４】
図１は、本発明の一実施の形態の構成を示す図であり、コンピュータ等の情報処理装置は、ＣＰＵ１と、時計機能や時間カウント機能を備えたタイマー２と、メモリチェック動作を行うチェック処理部３と、メモリチェック時にＣＰＵ１にメモリチェック割り込みを行う割込み処理部４と、ＣＰＵ１の使用率を算出するＣＰＵ使用率算出部５と、メモリチェックの対象である記憶部（ＲＡＭ）６と、メモリチェック時にチェック領域のデータを一時的に退避させておくチェック領域データ退避メモリ７と、記憶部６のメモリチェック済みのアドレスを格納するメモリチェック済みアドレス格納部８とを含んで構成される。なお、チェック処理部３には、メモリチェック開始時刻、メモリチェック実行可否を判断するためのＣＰＵ使用率の閾値が予め設定され内部に保持されている。メモリチェック開始時刻は毎日一回または複数回に対応する各時刻、または年月日を指定した時刻等、特に限定されず任意に設定可能である。また、本発明においては、記憶部６のメモリ領域を複数のチェック単位領域に分け、分けられた各チェック単位領域毎にメモリチェックを順次行うようにしているため、記憶部６の全チェック領域と一回のチェックによってメモリチェックするチェック単位領域のデータも、チェック処理部３に予め設定，保持されている。
【００１５】
本実施の形態においては、情報処理装置の通常の運用処理における負荷状況，使用状況をはかる手段の一例として、ＣＰＵ使用率を用いて説明する。ここで、ＣＰＵ使用率とは、予め定めた測定時間において、ＣＰＵがプログラムを実行していた累計実行時間の測定時間に対する比率をいうものとする。
【００１６】
なお、図１に示される情報処理装置は、図示していない記憶手段に記憶されたメモリチェックプログラムにより制御され、メモリチェックプログラムは情報処理装置の上記各部の動作を制御する。
【００１７】
次に、本発明の一実施の形態の動作について図１および図２を参照して説明する。図２は、本発明の一実施の形態の動作を示すフローチャートである。
【００１８】
図２を参照すると、チェック処理部３は、予め設定されたメモリチェック開始時刻になったかをタイマー２の現在時刻と照合して確認する（ステップＡ１）。照合の結果、予め設定された時刻であった場合、チェック処理部３はＣＰＵ使用率算出部５に対しＣＰＵ１の使用率の算出を指示し、ＣＰＵ使用率算出部５はＣＰＵ１の使用率を算出してチェック処理部３に回答する（ステップＡ２）。
【００１９】
チェック処理部３は、ＣＰＵ使用率算出部５から受け取ったＣＰＵ１の使用率と予め設定され内部に保持された閾値とを比較する（ステップＡ３）。比較の結果、ＣＰＵ１の使用率が閾値以上であった場合はメモリチェックを開始せず、チェック処理部３はタイマー２を参照し一定時間後にＣＰＵ使用率算出部５に対してＣＰＵ１の使用率の算出を再度指示する（ステップＡ４）。
【００２０】
ステップＡ３において、ＣＰＵ１の使用率が閾値未満であった場合、チェック処理部３は割込み処理部４からメモリチェックの割込み信号を出力させ、メモリチェックを開始する（ステップＡ５）。まず、チェック処理部３は、初回のチェックとして記憶部６の最初のチェック単位領域を指定し（ステップＡ６）、最初のチェック単位領域のメモリの内容を読み出し、チェック領域データ退避メモリ７にバックアップメモリとして退避させる（ステップＡ７）。次に、チェック処理部３は、メモリチェックを行うチェック単位領域のメモリのアドレス範囲をセットし（ステップＡ８）、空白になったチェック単位領域にテストデータを書き込み（ステップＡ９）、ステップＡ９で書き込んだテストデータを読み出して（ステップＡ１０）、書き込んだテストデータと読み出したテストデータが一致しているかを判断する（ステップＡ１１）。ステップＡ１１において一致していなかった場合は、メモリエラー処理に移行し異常出力を行う。なお、メモリエラー処理の詳細は公知でもあり本発明の主旨でもないため詳細な説明は省略する（ステップＡ１２）。
【００２１】
ステップＡ１１において一致していた場合は、チェック処理部３は、チェック領域データ退避メモリ７に退避していたバックアップデータを、記憶部６のチェックされた単位領域に書き込む（ステップＡ１３）とともに、メモリチェック済みのアドレスをメモリチェック済みアドレス格納部８に格納する（ステップＡ１４）。なお、このメモリチェック済みのアドレスは、ステップＡ７〜ステップＡ１３による各チェック単位領域のメモリチェックが終了する度に更新される。
【００２２】
次に、チェック処理部３は、内部に格納されている記憶部６のチェック単位領域の最終アドレスと今回のメモリチェック済みのアドレスとを照合し、記憶部６の全領域のメモリチェックが終了したかを判断する（ステップＡ１５）。今回は一回目のチェック単位領域のチェックであり、未だ全領域のチェックは終了していないためステップＡ１６に進む。チェック処理部３は、割込み処理部４にメモリチェック中止の割込み信号を出力させて装置を通常のプログラム処理に移行させるとともに、ＣＰＵ使用率算出部５に対してＣＰＵ１の使用率の算出を指示し、ＣＰＵ使用率算出部５はＣＰＵ１の使用率を算出してチェック処理部３に回答する（ステップＡ１６）。
【００２３】
チェック処理部３は、ＣＰＵ使用率算出部５から受け取ったＣＰＵ１の使用率と予め設定され内部に保持された閾値とを比較する（ステップＡ１７）。比較の結果、ＣＰＵ１の使用率が閾値以上であった場合はメモリチェックを再開せず、チェック処理部３はタイマー２を参照し一定時間後にＣＰＵ使用率算出部５に対してＣＰＵ１の使用率の算出を再度指示する（ステップＡ１８）。
【００２４】
ステップＡ１７において、ＣＰＵ１の使用率が閾値未満であった場合、チェック処理部３は割込み処理部４からメモリチェックの割込み信号を出力させ、メモリチェックを再開する（ステップＡ１９）。そして、チェック処理部３は、メモリチェック済みアドレス格納部８を参照してステップＡ１４で格納された前回チェック時におけるメモリチェック済みのアドレスを取得し、次のチェック単位領域を指定する（ステップＡ２０）。今回は２回目のチェックであるため、記憶部６の先頭から二つ目のチェック単位領域が指定され、上述したステップＡ７〜ステップＡ１４の動作を、二つ目のチェック単位領域を対象に実行する。
【００２５】
このように、各チェック単位領域毎にステップＡ６〜ステップＡ２０により順次メモリチェックを行い、全領域のメモリチェックが終了したときに、チェック処理部３はメモリチェック済みアドレス格納部８に格納されたメモリチェック済みアドレスを消去し、割込み処理部４にメモリチェック中止の割込み信号を出力させて装置を通常のプログラム処理に移行させる（ステップＡ２１）。
【００２６】
次に、本発明の他の実施の形態について図３を参照して詳細に説明する。図３は、本発明の他の実施の形態の動作を示すフローチャートである。
【００２７】
図３に示す本発明の他の実施の形態は、本発明の一実施の形態の動作を示す図２のフローチャートにおいて、ステップＡ１６〜ステップＡ１９を削除した点が異なっている。残りのステップＡ１〜ステップＡ１５、ステップＡ２０〜ステップＡ２１については、図２，図３ともに同じ内容である。
【００２８】
本発明の一実施の形態においては、各チェック単位領域のメモリチェックが終了する度にＣＰＵ１の使用率を算出し、次のチェック単位領域に進むか否かを決定していた（図２のステップＡ１６〜ステップＡ１９）が、本実施の形態においては、ステップＡ１６〜ステップＡ１９を削除することにより、各チェック単位領域のメモリチェックが終了すると、ＣＰＵ１の使用率を算出することなく継続して次のチェック単位領域に進むことを特徴としている。従って、本実施の形態においては、メモリチェック時刻になったときにＣＰＵ１の使用率を算出し、メモリチェックを開始するか否かを判断するだけで、一旦メモリチェックが開始されると記憶部６の全チェック領域のメモリチェックが終了するまで継続して行う点が、一実施の形態と異なっている。
【００２９】
このように、本発明によれば、メモリチェック対象の記憶装置のメモリ量や、一回にメモリチェックするチェック単位領域等を勘案して、上述した一実施の形態または他の実施の形態のいずれかを実行することができる。また、上述した一実施の形態および他の実施の形態の両方を適用可能にプログラムしておき、いずれを実行するかの設定を別途指定するようにしてもよい。
【００３０】
【発明の効果】
本発明は、装置運用中のメモリチェックにあたり、予め設定されたメモリチェック開始時刻になると運用中の装置のＣＰＵの使用率を算出し、使用率が予め定めた閾値より低かった場合にメモリチェックを開始するようにしている。従って、装置の負荷が高い繁忙時を避け負荷の低いときを選んで自動的にメモリチェックを開始できるという効果がある。
【００３１】
また、本発明は、メモリチェック領域を複数個に分け、一つのチェック単位領域のメモリチェックが終わる度にＣＰＵの使用率を再度算出し、使用率が予め定めた閾値より低かった場合に次のチェック単位領域のメモリチェックを継続するようにしている。従って、メモリチェック開始時だけでなく、メモリチェックの途中においても装置の負荷が高かった場合はメモリチェックを一時中断し、負荷が低くなったときに再開するという臨機応変な対応が可能になるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施の形態の構成を示す図である。
【図２】本発明の一実施の形態の動作を示すフローチャートである。
【図３】本発明の他の実施の形態の動作を示すフローチャートである。
【符号の説明】
１    ＣＰＵ
２    タイマー
３    チェック処理部
４    割込み処理部
５    ＣＰＵ使用率算出部
６    記憶部
７    チェック領域データ退避メモリ
８    メモリチェック済みアドレス格納部
【図１】
0004061911.tif 000002
【図２】
0004061911.tif 000003
【図３】
0004061911.tif 000004