(57)【要約】【課題】障害発生時の障害解析を容易に行うことができる記憶装置及び情報処理装置を提供する。【解決手段】記憶装置２には、第１の不揮発性半導体メモリ２５に対する読み出し又は書き込みを制御するメモリ制御部２３と、記憶装置内の制御を行うマイクロプロセッサ２２と、ホスト装置１からのデータの読み出し又は書き込み時のバッファとして機能するメモリ２４を備える。また、メモリ２４には、第１の不揮発性半導体メモリ２５に対する、読み出し又は書き込み制御に関するトレース情報を格納するトレース情報格納部２４２を備え、トレース情報を第２の不揮発性半導体メモリ２６へメモリダンプできるようにした。【選択図】図１
2010204851.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２の不揮発性半導体メモリを記憶素子として備え、伝送路で接続するホスト装置からの要求により、前記第１の不揮発性半導体メモリへのデータの読み出し又は書き込み動作を行う記憶装置において、
前記第１の不揮発性半導体メモリに対する読み出し又は書き込みを制御するメモリ制御部と、
前記記憶装置内の制御を行うマイクロプロセッサと、
前記ホスト装置からのデータの読み出し又は書き込み時のバッファとして機能するメモリを備え、
前記メモリに、前記第１の不揮発性半導体メモリに対する、読み出し又は書き込み制御に関するトレース情報を格納するトレース情報格納部を備え、
前記メモリのトレース情報格納部から、前記トレース情報を前記第２の不揮発性半導体メモリへダンプすることを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置において、
前記記憶装置内の処理における重大な障害を検出するエラー検出部と、
前記メモリ内に、障害に関するエラーログを格納するエラーログ格納部を備え、
前記エラー検出部が重大な障害を検出した場合は、前記マイクロプロセッサに重障害の発生を通知し、前記マイクロプロセッサからの指示により、障害に関するエラーログを前記メモリに備えたエラーログ格納部に格納し、
前記マイクロプロセッサからの指示により、前記トレース情報格納部のトレース情報、及び前記エラーログ格納部のエラーログを前記第２の不揮発性半導体メモリへメモリダンプすることを特徴とする記憶装置。
【請求項３】
請求項１または２記載の記憶装置において、
前記メモリ内に、前記記憶装置内の処理に伴う積算情報を格納する積算情報格納部を備え、
前記マイクロプロセッサからの指示により、前記積算情報を前記積算情報格納部に格納することを特徴とする記憶装置。
【請求項４】
請求項１〜３のいずれか１項に記載の記憶装置において、
前記マイクロプロセッサからの指示より、指定された一定の時間が経過する毎に、前記トレース情報格納部のトレース情報及び／または前記積算情報格納部の積算情報を、前記第２の不揮発性半導体メモリへメモリダンプすることを特徴とする記憶装置。
【請求項５】
請求項２，３または４のいずれか１項に記載の記憶装置において、
前記エラー検出部は、前記記憶装置の処理における軽度な障害を検出し、前記軽度な障害が指定された一定回数以上検出された場合に、前記マイクロプロセッサに障害の発生を通知し、前記マイクロプロセッサからの指示により、前記トレース情報格納部のトレース情報、及び前記積算情報格納部の積算情報を、前記第２の不揮発性半導体メモリへメモリダンプすることを特徴とする記憶装置。
【請求項６】
請求項１〜５のいずれか１項に記載の記憶装置において、
前記記憶装置の、ユーザが操作可能な部位にフリーズスイッチを設け、
前記フリーズスイッチをユーザが任意のタイミングで操作すると、その操作信号が前記マイクロプロセッサに通知され、前記マイクロプロセッサからの指示により、前記トレース情報格納部のトレース情報、及び前記積算情報格納部の積算情報を、前記第２の不揮発性半導体メモリへメモリダンプすることを特徴とする記憶装置。
【請求項７】
請求項１〜６のいずれか１項に記載の記憶装置において、
前記記憶装置の外部に位置する情報処理装置を接続可能なデバッグ用外部接続端子を備え、
前記デバッグ用外部接続端子に接続した情報処理装置により、前記第２の不揮発性半導体メモリに格納された情報を読み出すことを特徴とする記憶装置。
【請求項８】
請求項７記載の記憶装置において、
前記デバッグ用外部接続端子に接続した情報処理装置により、前記メモリに格納された情報を読み出すことを特徴とする記憶装置。
【請求項９】
ホスト装置と、
前記ホスト装置と伝送路を介して接続し、第１及び第２の不揮発性半導体メモリを記憶素子として備え、前記ホスト装置からの要求により、前記第１の不揮発性半導体メモリへのデータの読み出し又は書き込み動作を行う記憶装置とを備える情報処理装置において、
前記記憶装置には、
前記第１の不揮発性半導体メモリに対する読み出し又は書き込みを制御するメモリ制御部と、
前記記憶装置内の制御を行うマイクロプロセッサと、
前記ホスト装置からのデータの読み出し又は書き込み時のバッファとして機能するメモリを備え、
前記メモリに、前記第１の不揮発性半導体メモリに対する、読み出し又は書き込み制御に関するトレース情報を格納するトレース情報格納部を備え、
前記メモリのトレース情報格納部から、前記トレース情報を前記第２の不揮発性半導体メモリへダンプすることを特徴とする情報処理装置。
【請求項１０】
請求項９記載の情報処理装置において、
前記ホスト装置から、前記第２の不揮発性半導体メモリへダンプされたトレース情報を読み出すことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に適用される記憶装置及びその記憶装置を備える情報処理装置に関し、特に不揮発性の半導体メモリを用いた記憶装置及び当該記憶装置を備える情報処理装置に関する。
【背景技術】
【０００２】
近年、情報処理装置に適用される記憶媒体として、従来のハードディスクドライブ（ＨＤＤ）に代わって不揮発性半導体メモリ（フラッシュメモリ：flash memory）が用いられている。このフラッシュメモリを用いた記憶媒体で、従来のＨＤＤと同じ接続インタフェース規格を持つものに、フラッシュメモリドライブ（ＳＳＤ：Solid State Drive）がある。ＳＳＤは、従来のＨＤＤと異なりディスクを持たないため、ディスクの駆動部分がなく、耐衝撃性に優れている。また、シーク時間やスピンアップ時間がないため、データの読み書きが高速に行えるという長所がある。一方、容量当たりの単価が高い点や、書き込み耐性が低く、書き換え可能回数の上限があるなどの短所がある。
【０００３】
特許文献１には、フラッシュメモリを記憶媒体とした半導体ディスクにおいて、ユーザデータを記憶するデータメモリと、データメモリでエラーとなった場合、エラー情報とエラーとなったメモリを代替するためのデータメモリを設ける半導体ディスクの例についての開示がある。これにより、フラッシュメモリの書き込みエラーを救済できるので、半導体ディスクの寿命を延ばすことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２６５６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように、近年、フラッシュメモリを記憶媒体とする記憶装置が脚光を浴びているが、その制御は複雑化しており、多くの障害要因が考えられる。このため障害解析が難しくなってきている。従来、情報処理装置においては、障害発生時にＣＰＵ（Central Processing Unit）動作のトレースをメモリダンプすることで、障害要因を突き止める手法がとられてきた。しかし、記憶装置内部の処理については、これまでメモリダンプを行うという思想はなく、障害解析のための有効な手段もないため、記憶装置の障害解析に多くの時間が費やされるという問題点があった。
【０００６】
また、制御用サーバなどの情報処理装置においては、長期間連続稼働できることが必須であるため、障害発生時の処置の迅速化に加えて、記憶装置の寿命予測や、障害発生を未然に防ぐための予防処置ができることも求められている。
【０００７】
本発明は上記問題点に鑑みてなされたものであり、記憶装置の障害発生時の障害解析を容易に行うことができるようにすることを目的とする。更に、障害発生を未然に防ぐための予防処置を行えるようにすることも目的とする。
【課題を解決するための手段】
【０００８】
本発明は、ホスト装置と接続する記憶装置に、第１及び第２の不揮発性半導体メモリを記憶素子として備え、ホスト装置からの要求により、第１の不揮発性半導体メモリへのデータの読み出し又は書き込み動作を行ものである。記憶装置には、第１の不揮発性半導体メモリに対する読み出し又は書き込みを制御するメモリ制御部と、記憶装置内の制御を行うマイクロプロセッサと、ホスト装置からのデータの読み出し又は書き込み時のバッファとして機能するメモリを備える。また、メモリには、第１の不揮発性半導体メモリに対する、読み出し又は書き込み制御に関するトレース情報を格納するトレース情報格納部を備え、トレース情報格納部のトレース情報を第２の不揮発性半導体メモリへメモリダンプできるようにしたものである。
【０００９】
また、記憶装置内の処理における障害を検出するエラー検出部を備え、エラー検出部が重大な障害を検出した場合は、マイクロプロセッサに重障害の発生を通知し、マイクロプロセッサからの指示により、障害に関するエラーログをメモリに備えたエラーログ格納部に格納する。そして、マイクロプロセッサからの指示により、トレース情報格納部のトレース情報、及びエラーログ格納部のエラーログを第２の不揮発性半導体メモリへメモリダンプするようにした。
【００１０】
更に、メモリ内に、記憶装置内の処理に伴う積算情報を格納する積算情報格納部を備え、マイクロプロセッサからの指示により、積算情報を積算情報格納部に格納する。そして、マイクロプロセッサからの指示より、指定された一定の時間が経過する毎に、トレース情報格納部のトレース情報、及び積算情報格納部の積算情報を、第２の不揮発性半導体メモリへメモリダンプするようにした。
【発明の効果】
【００１１】
本発明によると、記憶装置の障害発生時には、記憶装置内の処理において自動的にトレース情報やエラーログが保存されるため、その情報を第２の不揮発性半導体メモリから取得することにより、障害解析を容易に行うことができる。また、定期的に保存される積算情報を解析することにより、動作履歴や、第１の不揮発性半導体メモリの使用履歴やアクセス回数などが分かる。また、軽度な障害に関する情報やリトライ情報なども確認することができるため、これらの情報を基に、第１の不揮発性半導体メモリの寿命予見や、重大な障害の発生を予測することができる。
【００１２】
これにより、障害解析の迅速化や、障害発生に対する予防措置が可能となり、保守性に優れた記憶装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態による構成例を示すブロック図である。
【図２】本発明の実施の形態によるフリーズ処理例を示すフローチャートである。
【図３】本発明の実施の形態によるトレース情報のデータ構成例を示す説明図である。
【図４】本発明の第２の実施の形態による構成例を示すブロック図である。
【図５】本発明の第２の実施の形態による定周期フリーズ処理例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を、添付図面を参照して説明する。
【００１５】
［第１の実施の形態］
本発明の第１の実施の形態例を、図１を参照して説明する。図１に、本例による情報処理装置の構成例を示す。本例の情報処理装置は、コンピュータなどで構成されたホスト装置１と、ホスト装置１とデータバス３で接続する記憶装置２で構成する。記憶装置２は、ホスト装置１からの命令に従い、データの読み書きなどの動作を行う。
【００１６】
次に、記憶装置２の内部構成例について説明する。
【００１７】
記憶装置２には、データバス３を介してホスト装置１との情報のやり取りを行うホストインタフェース（Ｉ／Ｆ）制御部２１、記憶装置内の制御を行うマイクロプロセッサ２２、メモリへのデータの読み書きを制御するメモリインタフェース（Ｉ／Ｆ）制御部２３を備える。更に、ホスト装置１に対するバッファ等として機能するメモリ２４、ユーザデータを格納する不揮発性半導体メモリＡ２５、記憶装置の障害情報などを格納する不揮発性半導体メモリＢ２６、記憶装置の障害を検出するエラー検出部２７、ウォッチドックタイマ２８、フリーズスイッチ２９、デバッグ用外部接続端子３０を備える。
【００１８】
次に、各部位の動作について説明する。
【００１９】
ホストインタフェース制御部２１は、データバス３を介してホスト装置１の要求を受け取ると、マイクロプロセッサ２２にホスト装置１の要求を通知する。その後、マイクロプロセッサ２２から動作指示を受けると、その指示に従ってメモリインタフェース制御部２３に対する動作を行う。例えば、マイクロプロセッサ２２からの動作指示がリードであった場合、ホストインタフェース制御部２１はメモリインタフェース制御部２３からデータを受け取り、データバス３を介してホスト装置１に転送する。また、マイクロプロセッサ２２からの動作指示がライトの場合、メモリインタフェース制御部２３にホスト装置１から受け取ったデータを転送する。
【００２０】
マイクロプロセッサ２２はホストインタフェース制御部２１からホスト装置１の要求を受けると、ホストインタフェース制御部２１の持つレジスタを確認し、ホスト装置１の要求を解釈した後、ホストインタフェース制御部２１に動作指示を行う。更に、これらの処理に関する情報をトレース情報として、メモリ２４へ格納する。また、障害発生時は、エラー検出部２７からの通知を受けると、記憶装置２の処理を停止し、障害情報の格納などの障害発生時の処理を行う。障害発生時の処理については図２に示し、詳細は後述する。
【００２１】
メモリインタフェース制御部２３はマイクロプロセッサ２２からの動作指示を受け、ホストインタフェース制御部２１、メモリ２４、不揮発性半導体メモリＡ２５、不揮発性半導体メモリＢ２６とデータのやり取りを行う。
【００２２】
各メモリの役割は次の通りである。不揮発性半導体メモリＡ２５は、ユーザデータを保持し、ホスト装置１からの要求によるデータの読み書きを行うために用いる。不揮発性半導体メモリＢ２６は、記憶装置２の障害情報などを格納するために用いる。なお、不揮発性半導体メモリＡ２５と不揮発性半導体メモリＢ２６は、物理的に独立したメモリとして構成してもよく、また、１つのメモリを２つの領域に分割し、ユーザデータを格納する領域と障害情報を格納する領域に割り当てて構成してもよい。
【００２３】
また、メモリ２４はホスト装置１によるデータ読み書き処理時のバッファとして使用するとともに、記憶装置２の障害情報などの格納を行う。メモリ２４には、データ格納部２４１、トレース情報格納部２４２、エラーログ格納部２４３を備える。データ格納部２４１は、ホスト装置１との間でデータの読み書きを行う際に、不揮発性半導体メモリＡ２５から読み出したデータ、または不揮発性半導体メモリＡ２５へ書き込むデータを一時格納するためのバッファとして用いる。これにより、ホスト装置１に対して高速な応答を実現する。トレース情報格納部２４２は、マイクロプロセッサ２２からの指示により、記憶装置２で実行している処理の履歴に関する情報を時系列に格納しておくために用いる。エラーログ格納部２４３は、記憶装置２内の処理で障害が発生した場合に、その障害に関する情報（エラーログ）を格納しておくために用いる。メモリ２４は、不揮発性半導体メモリＡ２５及び不揮発性半導体メモリＢ２６とは別に構成されたメモリで、ＤＲＡＭ（Dynamic Random Access Memory）などの半導体記憶素子で構成する。
【００２４】
次に、メモリインタフェース制御部２３の動作について説明する。例えば、ホスト装置１からリード要求があるときは、メモリインタフェース制御部２３はマイクロプロセッサ２２からの指示に従い、不揮発性半導体メモリＡ２５の指定のアドレスからデータを読み出し、メモリ２４のデータ格納部２４１に格納する。その後、ホストインタフェース制御部２１にデータを転送する指示があれば、データ格納部２４１に格納したデータをホストインタフェース制御部２１に転送する。また、ホスト装置１からライト要求があるときは、マイクロプロセッサ２２からの指示に従い、ホストインタフェース制御部２１からデータ転送を受け、メモリ２４のデータ格納部２４１に格納する。その後、マイクロプロセッサ２２からの指示に従い、データ格納部２４１のデータを不揮発性半導体メモリＡ２５の指定されたアドレスにデータを書き込む。
【００２５】
エラー検出部２７は、記憶装置２の各部の状態を監視する目的で、ホストインタフェース制御部２１やメモリインタフェース制御部２３の状態を示すレジスタ（図示せず）、ウォッチドックタイマ２８を備えている。エラー検出部２７が、レジスタやウォッチドックタイマ２８の情報から、記憶装置内部でホスト装置１と正常な通信を行うことが困難となる重大なエラー（以下重障害と呼ぶ）を検出したときは、マイクロプロセッサ２２へ重障害の発生を通知する。
【００２６】
また、エラー検出部２７は、リトライや、訂正符号を用いてデータ訂正をすることにより、ホスト装置１と正常な通信を行うことが可能であるような軽度なエラー（以下軽障害と呼ぶ）に対しては、発生回数をカウントする。そして、軽障害の発生回数が予め設定されたしきい値を超えた場合は重障害と同等と判断し、マイクロプロセッサ２２へ通知することが可能である。
【００２７】
フリーズスイッチ２９は、記憶装置２の筐体に、ユーザが操作可能なスイッチとして備える。ユーザは、任意のタイミングでフリーズスイッチ２９を押下することができる。ユーザがフリーズスイッチ２９を押下すると、エラー検出部２７がこれを検出する。エラー検出部２７は、フリーズスイッチ２９の押下を重障害と同等と判断し、マイクロプロセッサ２２へ重障害の発生を通知する。
【００２８】
デバッグ用外部接続端子３０は、記憶装置２にパーソナルコンピュータ（ＰＣ）などの情報処理装置４を接続するためのインタフェースとして設ける。デバッグ用外部接続端子３０に情報処理装置４を接続することにより、記憶装置２に格納された障害情報を確認することができる。また、記憶装置２の電源断前であれば、メモリ２４の全領域を確認することもできる。このように、デバッグ用外部接続端子３０は、記憶装置２の障害発生時にその障害解析を行うために用いる。また、障害発生前の段階においても、メモリ２４に格納されたトレース情報やエラーログなどの情報を解析することにより、メモリの状態を確認するために用いることができる。なお、デバッグ用外部接続端子３０のインタフェースとしては、ＲＳ−２３２Ｃやマイクロコンピュータのデバッグポートなどを用いることができる。
【００２９】
次に重障害発生時の動作について説明する。
【００３０】
図２に、記憶装置２の重障害発生時における、マイクロプロセッサ２２のフリーズ処理の処理例を表すフローチャートを示す。重障害の発生は、エラー検出部２７で検出し、記憶装置内の処理における重障害の他に、軽障害の発生回数がしきい値を超えた場合、及びフリーズスイッチ２９が押下された場合に検出する。
【００３１】
まず、記憶装置２の重障害発生時にはエラー検出部２７が重障害を検出し、マイクロプロセッサ２２はエラー検出部２７から重障害の発生通知を受ける（ステップＳ２０１）。次に、マイクロプロセッサ２２は、エラー検出部２７から重障害が通知されると、ホストインタフェース制御部２１へリセットを発行する（ステップＳ２０２）。これにより、ホストインタフェース制御部２１はリセット動作を行い、ホスト装置１に対して応答不可能となる。
【００３２】
次に、マイクロプロセッサ２２は、エラー検出部２７の持つ各制御部状態を示すレジスタを確認し、エラーログを作成してメモリ２４のエラーログ格納部２４３へ格納する（ステップＳ２０３）。そして、メモリインタフェース制御部２３に対して、メモリ２４のエラーログ格納部２４３及びトレース情報格納部２４２に格納されている、エラーログとトレース情報を不揮発性半導体メモリＢ２６へ書き込むように指示する（ステップＳ２０４）。以上により、重障害発生時のフリーズ処理は終了し、記憶装置２の電源断後においても、重障害発生時の情報を記録しておくことができる。最後に、上記フリーズ処理を終えると、マイクロプロセッサ２２はデバッグ待ち状態となり、ユーザによるデバッグ操作が行える状態とする（ステップＳ２０５）。
【００３３】
上記説明のように、本例による記憶装置２は、重障害発生時には、ホスト装置１との間の処理を中断し、記憶装置２のメモリ２４に格納されている情報を不揮発性半導体メモリＢ２６へ格納するフリーズ処理を行い、デバッグ待ち状態となる。この状態で、デバック用外部接続端子３０にＰＣ等の情報処理装置４を接続することで、不揮発性半導体メモリＢ２６に保存されたトレース情報及びエラーログを確認することが出来る。これらの情報は、記憶装置２の電源断後であっても、消去されずに蓄積されているため、たとえ電源が切断されてしまった場合でも、デバック用外部接続端子３０を介して参照することができる。
【００３４】
また、記憶装置２の電源断前であれば、デバック用外部接続端子３０に接続したＰＣ等の情報処理装置４からメモリ２４の全領域を確認することもできる。このように、デバック用外部接続端子３０を介して、直接不揮発性半導体メモリＢ２６やメモリ２４の情報を参照することにより、障害解析を行うことができる。
【００３５】
更に、本例では、デバック用外部接続端子３０に接続した情報処理装置４の記憶装置に、不揮発性半導体メモリＢ２６やメモリ２４の情報を複写して保存し、ホスト装置１や記憶装置２が設置されている場所とは別の場所で障害解析の作業を行うことが可能である。また、例えば、制御用サーバなどの情報処理装置においては、障害発生に伴う停止時間をできる限り短縮し、障害解析よりも、システムの復旧を優先させる場合がある。そのような状況において、記憶装置２を再起動してしまった場合でも、障害発生時の情報を残しておくことが可能であり、障害解析の作業を行うことができる。
【００３６】
本例では、記憶装置２のメモリ２４に保存されたトレース情報やエラーログを確認するもう１つの手段として、ホスト装置１から確認する方法がある。フリーズ処理では、トレース情報やエラーログは、通常のユーザ処理ではホスト装置１から参照できないように、特殊な論理アドレスに保存する。この特殊論理アドレスのデータをホスト装置１から参照することで、トレース情報やエラーログを確認することが可能である。また、特殊論理アドレスであるため、ホスト装置１の通常動作では、トレース情報やエラーログを保存している領域に影響を及ぼすことはない。
【００３７】
図３に、本例による記憶装置２のトレース情報のデータ構成例を示す。トレース情報は、記憶装置２内の処理の履歴を格納しておくもので、割り込み要求、各処理要求、メモリに対する操作やエラー発生などのタイミングで、その処理の内容を発生時刻とともにトレース情報格納部２４２へ格納する。トレース情報のデータ構成例としては、図３に示すように、トレースを格納した時刻を表すトレース時刻２４２１、トレースした処理の種別を表すトレースコード２４２２、トレースした処理に付随する補足情報を複数格納する付属情報２４２３などで構成する。図３の例では、トレース時刻２４２１として電源オン後の動作開始時からの相対時間を記録する場合の例を示している。また、付属情報２４２３として５つのデータを格納するようにしているが、データ数は、これに限らず、障害解析に必要十分な数を設定することができる。付属情報２４２３の例としては、データの書き込みに関するトレースでは、書き込み先のメモリのアドレスやデータ長、割り込み処理に関するトレースでは、割り込み種別や状態、関連するコードなどの複数の情報を格納する。
【００３８】
これらの情報を格納するトレース情報格納部２４２は、障害発生時の解析に必要な件数を保存できるように、十分な容量を確保しておくが、トレース情報を全件書き込んだ場合は、古い情報から上書きし、サイクリックに書き込む。
【００３９】
［第２の実施の形態］
次に、本発明の第２の実施の形態例を、図４を参照して説明する。なお、図４において、図１の構成と同様の部位については図１と同じ符号を付け、説明を省略する。
【００４０】
本例の情報処理装置は、図１と同様に、コンピュータなどで構成されたホスト装置１と、ホスト装置１とデータバス３で接続する記憶装置２で構成する。記憶装置２は、ホスト装置１からの命令に従い、データの読み書きなどの動作を行う。記憶装置２の内部構成例についても、図１と同様の構成であるが、本例では、メモリ２４に、データ格納部２４１、トレース情報格納部２４２、エラーログ格納部２４３に加えて積算情報格納部２４４を備える。
【００４１】
本例による各部位の動作についても、図１で説明したものと同様の処理を行う。図１の実施例１との違いは、マイクロプロセッサ２２により、メモリ２４の積算情報格納部２４４へ積算情報を書き込む処理を行うことである。本例では、マイクロプロセッサ２２は、各処理の実施に伴いトレース情報をトレース情報格納部２４２へ格納する他に、不揮発性半導体メモリＡ２５の書き込み累計数や、稼働時間、軽障害の累計数などをカウントし、積算情報格納部２４４に格納する。
【００４２】
この積算情報格納部２４４に格納される情報は、不揮発性半導体メモリＡ２５の寿命予測や、障害発生を未然に防ぐために用いることができる。例えば、不揮発性半導体メモリには書き換え回数の上限があるため、不揮発性半導体メモリへの書き込み累計数などのアクセス回数と上限値とを比較することにより、およその余寿命を予測することができる。また、実施例１で説明したように、エラー検出部２７は軽障害の発生回数が予め設定されたしきい値を超えた場合に重障害と同等と判断するため、軽障害の累計数と重障害を判定するためのしきい値とを比較することにより、重障害発生までのおよその時間を予測することができる。
【００４３】
また、本例では、実施例１で説明した、記憶装置２の重障害発生時におけるマイクロプロセッサ２２のフリーズ処理の他に、一定期間毎にフリーズ処理を行うことができる。
【００４４】
図５に、一定の期間毎にフリーズ処理を行うマイクロプロセッサ２２の定周期フリーズ処理の処理例を表すフローチャートを示す。
【００４５】
マイクロプロセッサ２２は、記憶装置２の通電時の積算時間を計測する（ステップＳ５０１）。そして、計測時間が予め指定された一定の時間以上に経過したかを判定する（ステップＳ５０２）。判定の結果、指定時間以上経過した場合は、次の処理へ進み、指定時間に達しない場合は、ステップＳ５０１へ戻り積算時間を計測する。ステップＳ５０２の判定の結果、計測時間が指定時間以上の場合は、メモリインタフェース制御部２３に対して、メモリ２４の積算情報格納部２４４及びトレース情報格納部２４２に格納されている、積算情報とトレース情報を不揮発性半導体メモリＢ２６の指定アドレスへ書き込むように指示する（ステップＳ５０３）。
【００４６】
次に、不揮発性半導体メモリＢ２６への情報書き込み先を表す指定アドレスを所定の値分インクリメントする（ステップＳ５０４）。次に、インクリメントした指定アドレスが、予め設定されたしきい値以上かを判定する（ステップＳ５０５）。判定の結果、指定アドレスがしきい値以上の場合は、指定アドレスに初期値を代入する（ステップＳ５０６）。これは、不揮発性半導体メモリＢ２６の容量に制限があるため、前回格納した積算情報、及びトレース情報を残すために、情報を格納した領域分指定アドレスをインクリメントして情報を繰り返し格納するために行う。更に、指定アドレスにしきい値を設け、しきい値を超えた場合は、指定アドレスを初期値へ戻し、一番古い情報から上書きしていく。
【００４７】
最後に、計測時間をリセットして（ステップＳ５０７）、ステップＳ５０１へ戻り、処理を繰り返す。
【００４８】
なお、上記処理はホスト装置１との通信を維持したまま行う。
【００４９】
また、図４には図示しないが、記憶装置２に一定時間毎に割り込みを発生させるタイマを備え、このタイマの割り込みをトリガに同様の処理を行うこともできる。この場合、図５のフローチャートのうち、ステップＳ５０１及びステップＳ５０２の処理を、タイマからの割り込み待ちの処理に置き換えることで、同様の処理を実行できる。
【００５０】
上記機能により、不揮発性半導体メモリＢ２６には、一定期間毎の積算情報、及びトレース情報が格納される。そのため、ユーザによる保守時などに積算情報やトレース情報を確認することができ、動作履歴や使われ方、不揮発性半導体メモリＡ２５の余寿命を推定することが可能となる。更に、不揮発性半導体メモリの寿命や重障害発生に対する事前の対策を実施することにより、本例の情報処理装置を長期間、安定して運用することができる。
【００５１】
なお、本例による積算情報は、実施例１と同様にデバック用外部接続端子３０に、ＰＣ等の情報処理装置４を接続することで確認することができる。
【００５２】
また、積算情報を確認するもう１つの手段として、実施例１と同様にホスト装置１から確認する方法がある。積算情報はホスト装置から見ると特殊な論理アドレスに保存してある。この特殊論理アドレスのデータをホスト装置１から参照することで、積算情報及びトレース情報を確認することが可能である。また、特殊論理アドレスであるため、ホスト装置１の通常動作では積算情報やトレース情報を保存している領域に影響を及ぼすことはない。
【符号の説明】
【００５３】
１…ホスト装置、２…記憶装置、３…データバス、４…情報処理装置、２１…ホストインタフェース（Ｉ／Ｆ）制御部、２２…マイクロプロセッサ、２３…メモリインタフェース（Ｉ／Ｆ）制御部、２４…メモリ、２４１…データ格納部、２４２…トレース情報格納部、２４３…エラーログ格納部、２４４…積算情報格納部、２５…不揮発性半導体メモリＡ、２６…不揮発性半導体メモリＢ、２７…エラー検出部、２８…ウォッチドックタイマ、２９…フリーズスイッチ、３０…デバッグ用外部接続端子
【図１】
2010204851.tif 000003
【図２】
2010204851.tif 000004
【図３】
2010204851.tif 000005
【図４】
2010204851.tif 000006
【図５】
2010204851.tif 000007