(57)【要約】【課題】監視能力が高いメモリ監視回路、情報処理装置、及びメモリ監視方法を提供すること。【解決手段】情報処理装置１０は、監視対象となるメインメモリ２と、メインメモリ２に格納されたプログラムを実行するＣＰＵ１と、メインメモリ２の異常を監視するメモリ監視回路４と、メインメモリ２に格納されたデータを一時的に退避するための一時メモリ５と、メインメモリ２の監視中に、ＣＰＵ１のメインメモリ２へのアクセスを禁止し、メモリ監視回路４のメインメモリ２へのアクセスを許可するバス調停部３とを有する。メモリ監視部４は、メインメモリ２のデータの一部又は全部を監視対象領域とし、当該監視対象領域のデータを一時メモリ５に退避し、監視対象領域のテストを実行する。【選択図】図１
2008242592.tif 000002
【特許請求の範囲】
【請求項１】
監視対象となるメインメモリの異常を監視するメモリ監視部と、
前記メインメモリに格納されたデータを一時的に退避するための一時メモリと、
前記メインメモリの監視中に、前記メインメモリに格納されたプログラムを実行する中央処理装置の前記メインメモリへのアクセスを禁止し、前記メモリ監視部の前記メインメモリへのアクセスを許可するバス調停部とを有し、
前記メモリ監視部は、前記メインメモリのデータの一部又は全部を監視対象領域とし、当該監視対象領域のデータを前記一時メモリに退避し、前記監視対象領域のテストを実行する、メモリ監視回路。
【請求項２】
前記メモリ監視部は、前記メインメモリの監視を開始する際、前記バス調停部にバス使用要求を送信し、
前記バス調停部は、前記メモリ監視部のバスの使用を許可する場合は、前記中央演算装置の前記メインメモリへのアクセスを禁止する
ことを特徴とする請求項１記載のメモリ監視回路。
【請求項３】
前記メモリ監視部は、前記監視対象領域を前記メインメモリの一部とし、前記メインメモリの監視中には、当該メインメモリの一部のデータを前記一時メモリに退避させる
ことを特徴とする請求項１又は２記載のメモリ監視回路。
【請求項４】
前記メモリ監視部は、前記監視対象領域に試験データを書き込み、当該書き込んだデータを読み出し、当該読み出した値と書き込んだ値の一致判定を行なう
ことを特徴とする請求項１乃至３のいずれか１項記載のメモリ監視回路。
【請求項５】
前記メモリ監視部は、前記一致判定の結果、不一致を発見した場合はそれを外部に表示又は通知させる機能を有する
ことを特徴とする請求項４項記載のメモリ監視回路。
【請求項６】
前記メモリ監視部は、前記一致判定の結果、異常がない場合は、前記一時メモリに書き込んだデータを前記監視対象領域に書き戻す
ことを特徴とする請求項５項記載のメモリ監視回路。
【請求項７】
前記メモリ監視部は、前記一時メモリに書き込んだデータを前記監視対象領域に書き戻した後、前記バス調停部へのバス使用要求を停止し、
前記バス調停部は、前記中央処理装置の前記メインメモリへのアクセスを許可する
ことを特徴とする請求項５項記載のメモリ監視回路。
【請求項８】
前記メモリ監視部は、前記メインメモリの監視動作を定期的に実行する
ことを特徴とする請求項１乃至７のいずれか１項記載のメモリ監視回路。
【請求項９】
前記メモリ監視部は、前記メインメモリの監視対象領域を変更する
ことを特徴とする請求項８記載のメモリ監視回路。
【請求項１０】
監視対象となるメインメモリと、
前記メインメモリに格納されたプログラムを実行する中央処理装置と、
前記メインメモリの異常を監視するメモリ監視部と、
前記メインメモリに格納されたデータを一時的に退避するための一時メモリと、
前記メインメモリの監視中に、前記中央処理装置の前記メインメモリへのアクセスを禁止し、前記メモリ監視部の前記メインメモリへのアクセスを許可するバス調停部とを有し、
前記メモリ監視部は、前記メインメモリのデータの一部又は全部を監視対象領域とし、当該監視対象領域のデータを前記一時メモリに退避し、前記監視対象領域のテストを実行する、情報処理装置。
【請求項１１】
メインメモリを監視するメモリ監視部と、当該メインメモリに格納されたプログラムを実行する、前記メインメモリ及びメモリ監視部と相互にバスで接続された中央処理装置との当該バスの使用許否を決定するバス調停部に対し、前記メモリ監視部がバス使用要求を送信し、
前記バス使用要求を受信した前記バス調停部が、前記メモリ監視部のみが前記バスを使用できるようにし、
前記メインメモリの一部又は全部を監視対象領域とし、前記メモリ監視部が当該監視対象領域のデータを前記メインメモリに退避し、
前記メモリ監視部が前記監視対象領域のテストをするメモリ監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メインメモリ及び中央処理装置（ＣＰＵ）を有する情報処理装置自身が運行中であってもメインメモリの監視動作を実行することができるメモリ監視回路、情報処理装置及びメモリ監視方法に関する。
【背景技術】
【０００２】
従来のメモリ監視に「パリティチェック方式」及び「プログラムによるＷＲＩＴＥ／ＲＥＡＤ方式」がある。「パリティチェック方式」ではデータ書き込み時にパリティビットが付加され、読出し時にデータとパリティビットのパリティチェックを実施し、正常か異常を判断する。しかし、この方式では読出しが行われる領域以外の監視ができないという課題がある。
【０００３】
また、「プログラムによるＷＲＩＴＥ／ＲＥＡＤ方式」では、ある領域に試験データ（例えば０ｘＡＡや０ｘ５５）を書き込み、読出したデータが試験データと一致しているかを確認する。この方式ではすでにＯＳ、又はアプリケーションなど、データが書き込まれた領域、つまり使用中の領域の監視ができないという課題がある。
【０００４】
これに対し、特許文献１には、診断の実行に先立ち、診断対象メモリのデータをバッファレジスタに退避させて診断を行なうメモリのオンライン診断方式が開示されている。この特許文献１に記載の方法においては、診断実行に先立ち、診断対象メモリ素子のデータをバッファレジスタに退避させ、診断実行中の上位装置から診断対象メモリ素子へのアクセス要求に対しては、当該バッファレジスタにそのアクセスの実行を行い、診断実行の終了語、バッファレジスタのデータをメモリ素子に復元して診断モードをリセットし、診断対象メモリ素子のデータをアクセス要求に応じて書き換え可能としている。
【０００５】
また、特許文献２には、大きな退避バッファを用意する必要がないよう、メモリのアクセス幅に応じたバッファを退避用に設け、メモリアクセス幅単位でテストを実行することにより、少ないバードウェア資源の投入によりメモリアクセス性能に影響することがなく稼動中におけるメモリのテストを実行するＲＡＭテスト回路が開示されている。
【特許文献１】特開平４−１２５７５３号公報
【特許文献２】特開２００６−３９８４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、２のいずれもメモリ監視中であっても、退避バッファにアクセスさせ、可動状態に近い環境でのテストを実現している。このように、メモリ監視中であってもデータにアクセス可能とするため、監視対象メモリにデータ誤りがある場合であっても、ＣＰＵのアクセスを回避することができないという問題点がある。
【課題を解決するための手段】
【０００７】
本発明に係るメモリ監視回路は、監視対象となるメインメモリの異常を監視するメモリ監視部と、前記メインメモリに格納されたデータを一時的に退避するための一時メモリと、前記メインメモリの監視中に、前記メインメモリに格納されたプログラムを実行する中央処理装置の前記メインメモリへのアクセスを禁止し、前記メモリ監視部の前記メインメモリへのアクセスを許可するバス調停部とを有し、前記メモリ監視部は、前記メインメモリのデータの一部又は全部を監視対象領域とし、当該監視対象領域のデータを前記一時メモリに退避し、前記監視対象領域のテストを実行するものである。
【０００８】
本発明においては、メインメモリの監視中に、メインメモリに格納されたプログラムを実行する中央処理装置のメインメモリへのアクセスを禁止し、メモリ監視部のメインメモリへのアクセスを許可するバス調停部を備えることにより、監視中には、メインメモリの監視対象領域には中央処理装置をメインメモリ又は一時メモリにアクセスさせないようにすることができる。
【発明の効果】
【０００９】
本発明によれば、監視中の監視対象領域のデータにはアクセスさせないようにすることにより、より監視能力が高いメモリ監視回路、情報処理装置、及びメモリ監視方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本実施の形態においては、ＣＰＵ及びメインメモリを有するシステムにおいて、メモリ監視回路、バス調停回路、一時メモリを備え、バス調停回路によりメモリ監視回路のみがバスを使用できる状態、すなわちＣＰＵがメインメモリにアクセスしない状態とし、その間にメモリ監視回路がメインメモリの一部領域のデータを一時メモリに退避しながらＷＲＩＴＥ／ＲＥＡＤテストすること、及びこれらの動作を、定期的にメインメモリの領域を変更しながら行うことにより、システムが運用中でもメインメモリ全体（ＯＳ／アプリケーション／データ領域及び未使用領域）の正常／異常を監視することを実現する。
【００１１】
図１は、本実施の形態にかかる情報処理装置を示すブロック図である。本実施の形態にかかる情報処理装置１０は、ＣＰＵ１及びメインメモリ２に加え、バス調停回路３、メモリ監視回路４、及び一時メモリ５を備える。ＣＰＵ1は通常は、メインメモリ２を使ってＯＳ、やアプリケーションを実行する。メインメモリ２にはＯＳ、アプリケーション及びそれらに必要なデータが格納されている。
【００１２】
バス調停回路３は、ＣＰＵ１及びメモリ監視回路４からのバス使用要求に応じて、ＣＰＵ１又はメモリ監視回路４のいずれかにバス使用許可を送信する機能を有する。例えば、通常はＣＰＵ１にバス使用許可を送信し、メモリ監視回路４からバス使用要求があれば、ＣＰＵ１へのバス使用許可を停止し、メモリ監視回路にバス使用許可を送信する。すなわち、メインメモリ２の監視中は、ＣＰＵのメインメモリ２へのアクセスを禁止し、メモリ監視回路４のメインメモリ２へのアクセスを許可する。
【００１３】
一時メモリ５は、メモリ監視回路４がメインメモリ２のＷＲＩＴＥ／ＲＥＡＤチェックをする前にメインメモリ２のデータを一時退避するために使用される。
【００１４】
メモリ監視回路４は、図２に示すように、メインメモリ２のデータの一部又は全部を監視対象領域２０（２０１〜２０Ｎ）とし、当該監視対象領域２０のデータを一時メモリ５に退避し、監視対象領域２０のテストを実行する。ここでは、メインメモリ２の一部領域を監視対象領域２０としているが、全部を監視対象領域としてもよい。
【００１５】
このメモリ監視回路４は、バス調停回路３にバス使用要求する機能、バス６を占有している間にメインメモリ２の一の監視対象領域を一時メモリ５に退避させる機能、メインメモリ２の監視対象領域のＷＲＩＴＥ／ＲＥＡＤテストを実行する機能、一時メモリ５のデータを前記メインメモリ２の監視対象領域に書き戻す機能、バス調停回路３へのバス使用要求を停止する機能、これらの機能を定期的に、メインメモリ２の監視対象領域２０を変更しながら実行する機能を有する。
【００１６】
本実施の形態においては、メモリ監視回路４は定期的にメインメモリ２の複数の監視対象領域２０のいずれか一に対して以下のメモリ監視動作を実行する。先ず、バス調停回路３にバス使用要求を送信する。このとき、使用要求が許可されれば、バスの使用許可がＣＰＵ１からメモリ監視回路４に移る。次に、メインメモリ２の監視対象領域を一時メモリに退避する。そして、監視対象領域をＷＲＩＴＥ／ＲＥＡＤテストする。この場合、書き込んだデータと読み出したデータに不一致があればメインメモリ２の異常と判断する。次に、一時メモリ５に退避したデータをメインメモリ２の監視対象領域に戻す。最後に、バス使用要求の送信を停止する。これにより、バスの使用許可がＣＰＵ１に移る。
【００１７】
このようなメモリ監視動作はメインメモリ２の監視対象領域２０を変更しながら定期的に実行することにより、メインメモリ２全体の監視をする。この方式により、システムが運用中でも、現在使用されている領域か使用されていない領域かに関係なく、メインメモリ２全体の監視が可能となる。
【００１８】
次に、図３乃至図９を参照してメモリ監視動作について更に詳細に説明する。図３乃至図８は、バス６の使用状況を説明する図、図９は、メモリ監視動作を示すフローチャートである。通常は、図３に示すように、メモリ監視回路４からのバス使用要求は「ＯＦＦ」、バス調停回路３からＣＰＵ１へのバス使用許可は「ＯＮ」、バス調停回路３からメモリメモリ監視回路４へのバス使用許可は「ＯＦＦ」となっている。ＣＰＵ１がバスを使用できる状態となっており、ＣＰＵ１はメインメモリ２を使って、ＯＳやアプリケーションを実行する。そして、メモリ監視回路４は定期的に図４〜図８に示すメモリ監視動作を実行する。
【００１９】
先ず、図４に示すように、メモリ監視動作を実行する場合、メモリ監視回路４は、先ず、バス調停回路３に対するバス使用要求を「ＯＮ」にする（ステップＳ１）。バス調停回路３はＣＰＵ１のバス使用要求が「ＯＦＦ」になったら、ＣＰＵ１へのバス使用許可を「ＯＦＦ」、メモリ監視回路４へのバス使用要求を「ＯＮ」にする。
【００２０】
メモリ監視回路４へのバス使用要求が「ＯＮ」になったら、メモリ監視回路４は図５に示すように、メインメモリ２の一部領域である一の監視対象領域２０のデータを一時メモリ５に退避する（ステップＳ２）。データの退避が終わったら、メモリ監視回路は図６に示すように、メインメモリ２のデータを退避させた監視対象領域２０のＷＲＩＴＥ／ＲＥＡＤテストを実行する。ＷＲＩＴＥ／ＲＥＡＤテスト動作例は次の通りである。すなわち、
ステップＳ３：監視対象領域の先頭アドレスに対して０ｘＡＡＡＡを書き込む。
ステップＳ４：上記アドレスからデータを読み出す。
読み出したデータが０ｘＡＡＡＡであれば正常、違えば異常と判断する（ステップＳ５、６）。
ステップＳ７：上記アドレスに対して０ｘ５５５５を書き込む。
ステップＳ８：上記アドレスからデータを読み出す。
読み出したデータが０ｘ５５５５であれば正常、違えば異常と判断する（ステップＳ９、Ｓ６）。
ステップＳ１０：監視対象領域の全アドレスに対して実行する。
【００２１】
監視対象領域２０のＷＲＩＴＥ／ＲＥＡＤテストが完了したら、図７に示すように、一時メモリ５に退避させていた監視対象領域２０のデータをメインメモリ２に書き戻す（ステップＳ１１）。メインメモリ２のデータ復帰が完了したら、図８に示すように、メモリ監視回路４からバス調停回路３へのバス使用要求を「ＯＦＦ」にする（ステップＳ１２）。バス調停回路３はメモリ監視回路４へのバス使用許可を「ＯＦＦ」にする。バス調停回路３はＣＰＵ１からのバス使用要求が「ＯＮ」であれば、ＣＰＵ１へのバス使用許可を「ＯＮ」にする。この動作により図３に示す通常動作に戻る。ここで、ステップＳ５において、書き込んだデータと読み出したデータとが一致しない場合は、その異常を検出した旨を外部に通知又は表示することができる（ステップＳ６）。または、当該アドレスを使用禁止にすることができる。
【００２２】
次にメモリ監視回路４がメモリ監視動作をするときは、図２に示すように監視対象領域２０を隣の領域に変更する。これらの動作を繰り返すことで、運用中のシステムでメインメモリ２全体の監視が可能となる。
【００２３】
本実施の形態においては、メインメモリ２の監視対象領域２０を監視する際、メモリ監視回路４のみがメインメモリ２にアクセスできる状態にする。そして、メインメモリ２の監視対象領域２０のデータを一時メモリ５に退避した上で、ＷＲＩＴＥ／ＲＥＡＤテスト実施し、終わったら退避したデータをメインメモリ２の当該監視対象領域２０に書き戻しているので、システムが運用中でも、使用領域・未使用領域に関わらずメインメモリ２全体の監視ができる。また、メインメモリ２の監視中には、ＣＰＵ１は、バスの使用が許可されないため、メインメモリ２や一時メモリ５にアクセスすることがない。すなわち監視中のメインメモリのデータにアクセスすることがないため、監視中のメインメモリにデータ誤りがあってもそのアクセスを回避することができ、ＣＰＵ１が誤ったデータを読み出すことを防止することができる。
【００２４】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態にかかる情報処理装置を示すブロック図である。
【図２】メインメモリにおける各監視対象領域を示す図である。
【図３】本発明の実施の形態にかかるメモリ監視動作中のバスの使用状態を示す図である。
【図４】同じく、本発明の実施の形態にかかるメモリ監視動作中のバスの使用状態を示す図である。
【図５】同じく、本発明の実施の形態にかかるメモリ監視動作中のバスの使用状態を示す図である。
【図６】同じく、本発明の実施の形態にかかるメモリ監視動作中のバスの使用状態を示す図である。
【図７】同じく、本発明の実施の形態にかかるメモリ監視動作中のバスの使用状態を示す図である。
【図８】同じく、本発明の実施の形態にかかるメモリ監視動作中のバスの使用状態を示す図である。
【図９】本発明の実施の形態にかかるメモリ監視動作を示すフローチャートである。
【符号の説明】
【００２６】
２  メインメモリ
３  バス調停回路
４  メモリ監視回路
５  一時メモリ
６  バス
１０  情報処理装置
２０  監視対象領域
【図１】
2008242592.tif 000003
【図２】
2008242592.tif 000004
【図３】
2008242592.tif 000005
【図４】
2008242592.tif 000006
【図５】
2008242592.tif 000007
【図６】
2008242592.tif 000008
【図７】
2008242592.tif 000009
【図８】
2008242592.tif 000010
【図９】
2008242592.tif 000011