(57)【要約】【課題】障害原因が複数ある場合にもトレース情報による障害解析を効率的に行うことができる記憶装置を提供する。【解決手段】記憶装置において、制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、状態情報監視ユニットからトレース情報を受信して時系列にトレース情報をメモリに格納する監視ユニットと、トレース情報格納部を備えたメモリを備える。また、エラー発生時にはトレース情報格納部に格納されたトレース情報は不揮発性メモリＢ内のトレース情報格納部に格納される。【選択図】図１
2013054622.tif 000002
【特許請求の範囲】
【請求項１】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照することを特徴とするハードウェアのトレース方法。
【請求項２】
請求項１記載のハードウェアのトレース方法において、
前記トレース情報は、状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含むことを特徴とするハードウェアのトレース方法。
【請求項３】
請求項１または請求項２記載のハードウェアのトレース方法において、
複数の前記制御ユニットのシーケンサ機能における動作状態のうち、予め定められた動作状態のときに、動作状態を示す状態情報に時刻情報を付加したトレース情報を得ることを特徴とするハードウェアのトレース方法。
【請求項４】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットと、該複数の制御ユニットに接続された伝送バスと、該伝送バスに接続された監視ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットでは、そのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報としてこれを前記監視ユニットに伝送し、前記監視ユニットではトレース情報を一時格納したのち複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照することを特徴とするハードウェアのトレース方法。
【請求項５】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照するとともに、
複数の前記制御ユニットにおけるシーケンサ機能では、当該制御ユニットから外部に処理の指示を与え、また外部から処理結果を得る動作状態を含み、前記トレース情報は前記処理の指示を与えたとき、または外部から処理結果を得た動作状態のときに作成されることを特徴とするハードウェアのトレース方法。
【請求項６】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされた記憶装置において、
複数の前記制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、該状態情報監視ユニットから前記トレース情報を受け取り、時系列に順序が分かるように前記メモリに備えられたトレース情報格納部に格納する監視ユニットを備えることを特徴とする記憶装置。
【請求項７】
請求項６記載の記憶装置において、
前記状態情報監視ユニットと、監視ユニットの機能をハードウェアにて実現することを特徴とする記憶装置。
【請求項８】
請求項６または請求項７記載の記憶装置において、
前記状態情報監視ユニットは、前記制御ユニットを制御するシーケンサの現在の状態情報がトレース対象の状態情報に遷移した際に、前記トレース情報を生成すると共に、トレース情報は状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む形式のトレース情報として前記監視ユニットに送信されることを特徴とする記憶装置。
【請求項９】
請求項６から請求項８のいずれかに記載の記憶装置において、
前記監視ユニットは、前記トレース情報を各制御ユニットから受信して、時刻の古い順にトレース情報一時格納部に格納し、トレース情報がトレース情報一時格納部に格納されたらトレース情報をメモリのトレース情報格納部に格納する指示をすることを特徴とする記憶装置。
【請求項１０】
請求項６から請求項９のいずれかに記載の記憶装置において、
エラーが発生した場合に、前記トレース情報一時格納部に格納されている全てのトレース情報を前記トレース情報格納部に格納することを特徴とする記憶装置。
【請求項１１】
請求項６から請求項９のいずれかに記載の記憶装置において、
エラーが発生した場合に、前記トレース情報格納部に格納された全てのトレース情報を前記不揮発性メモリに格納することを特徴とする記憶装置。
【請求項１２】
請求項６記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記メモリに格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項１３】
請求項６記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記トレース情報格納部に格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項１４】
請求項９記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記トレース情報一時格納部に格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項１５】
伝送路で接続されたホスト装置からの読み書き要求により作動する記憶装置であって、第１の内部伝送路に接続されたマイクロプロセッサ、第２の内部伝送路に接続され不揮発性メモリを含む記憶部、前記第１の内部伝送路と前記伝送路に接続されたホストインターフェース制御ユニット、前記第１の内部伝送路と前記第２の伝送路に接続されたメモリインターフェース制御ユニットを備え、前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、前記マイクロプロセッサの指示により前記記憶部と前記ホスト装置の間でデータの読み書きを実行するとともに当該ユニット内の処理手順を制御するためのシーケンサを備える記憶装置において、
前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに設けられ、前記シーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、第１の内部伝送路に接続され前記状態情報監視ユニットからのトレース情報を一時記憶し、メモリインターフェース制御ユニットを介して一時記憶したトレース情報を前記記憶部に記憶する監視ユニットを備えたことを特徴とする記憶装置。
【請求項１６】
請求項１５記載の記憶装置において、
前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、前記マイクロプロセッサの指示により前記記憶部と前記ホスト装置の間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、前記監視ユニットに送信することを特徴とする記憶装置。
【請求項１７】
請求項１５または請求項１６記載の記憶装置において、
前記ホストインターフェース制御ユニットは、前記ホスト装置の指示により前記マイクロプロセッサの間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、前記監視ユニットに送信することを特徴とする記憶装置。
【請求項１８】
請求項１５ないし請求項１７のいずれかに記載の記憶装置において、
前記マイクロプロセッサは、前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに対してデータの読み書きに関連する処理を指示すると共に、処理中のエラー発生を検知したときに前記監視ユニットに一時記憶していた全てのトレース情報を前記記憶部の不揮発性メモリに格納することを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に適用される記憶方法および記憶装置に関し、特に不揮発性メモリを用いた記憶方法および記憶装置に関する。
【背景技術】
【０００２】
近年、情報処理装置に適用される記憶装置として、従来のハードディスクドライブ（ＨＤＤ）に代わって不揮発性メモリの中で特にフラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）を記憶媒体とした記憶装置が用いられている。このフラッシュメモリを記憶媒体とした記憶装置の中で、従来のＨＤＤと同じ接続インターフェース規格、例えば、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）規格やＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）規格等を持つものに、ソリッドステートドライブ（ＳＳＤ：Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）がある。
【０００３】
ＳＳＤは、従来のＨＤＤと異なりディスクを持たないため、ディスクの駆動部分がなく、耐衝撃性に優れている。また、シーク時間やスピンアップ時間がないため、データの読み書きが高速に行えるという長所がある。一方、容量当たりの単価が高い点や、書き込み耐性が低く、書き換え可能回数の上限があるなどの短所がある。
【０００４】
また、フラッシュメモリを記憶媒体とする記憶装置の制御は複雑化しており、多くの障害要因が考えられる。このため障害解析が難しくなってきている。従来、情報処理装置においては、障害発生時にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の動作トレースをメモリダンプすることで、障害要因を突き止める手法がとられてきた。しかし、記憶装置内部処理のハードウェアの動作トレースは実施されておらず、記憶装置の障害解析に多くの時間が費やされるという場合があった。
【０００５】
特許文献１には、ＬＳＩを含むシステムの動作状態、及び、伝送回路における物理層回路およびリンク層回路を含むトレース対象からの障害発生通知に基づき、格納すべきトレースデータを決定しトレースを行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２０５０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術では、障害発生通知をした対象にエラー発生時のトレース対象を絞るため、障害原因が障害発生箇所以外にある場合、障害解析が不可能となる場合がある。
【０００８】
本発明は上記のような障害原因が複数ある場合にも対応するためになされたものであり、記憶装置を制御する複数の制御ユニットのトレース情報を時系列に順序が分かるように保存する記憶方法および記憶装置を提供し、記憶装置の障害発生時の障害解析処理を効率化することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照する。
【００１０】
また、トレース情報は、状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む。
【００１１】
また、複数の制御ユニットのシーケンサ機能における動作状態のうち、予め定められた動作状態のときに、動作状態を示す状態情報に時刻情報を付加したトレース情報を得る。
【００１２】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットと、複数の制御ユニットに接続された伝送バスと、伝送バスに接続された監視ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットでは、そのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報としてこれを監視ユニットに伝送し、監視ユニットではトレース情報を一時格納したのち複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照する。
【００１３】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照するとともに、複数の制御ユニットにおけるシーケンサ機能では、当該制御ユニットから外部に処理の指示を与え、また外部から処理結果を得る動作状態を含み、トレース情報は処理の指示を与えたとき、または外部から処理結果を得た動作状態のときに作成される。
【００１４】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされた記憶装置において、複数の制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、状態情報監視ユニットからトレース情報を受け取り、時系列に順序が分かるようにメモリに備えられたトレース情報格納部に格納する監視ユニットを備える。
【００１５】
また、状態情報監視ユニットと、監視ユニットの機能をハードウェアにて実現する。
【００１６】
また、状態情報監視ユニットは、制御ユニットを制御するシーケンサの現在の状態情報がトレース対象の状態情報に遷移した際に、トレース情報を生成すると共に、トレース情報は状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む形式のトレース情報として監視ユニットに送信される。
【００１７】
また、監視ユニットは、トレース情報を各制御ユニットから受信して、時刻の古い順にトレース情報一時格納部に格納し、トレース情報がトレース情報一時格納部に格納されたらトレース情報をメモリのトレース情報格納部に格納する指示をする。
【００１８】
また、エラーが発生した場合に、トレース情報一時格納部に格納されている全てのトレース情報をトレース情報格納部に格納する。
【００１９】
また、エラーが発生した場合に、トレース情報格納部に格納された全てのトレース情報を不揮発性メモリに格納する。
【００２０】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置にメモリに格納されたトレース情報を読み出す。
【００２１】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置にトレース情報格納部に格納されたトレース情報を読み出す。
【００２２】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置に前記トレース情報一時格納部に格納されたトレース情報を読み出す。
【００２３】
前記課題を解決するために、本発明は伝送路で接続されたホスト装置からの読み書き要求により作動する記憶装置であって、第１の内部伝送路に接続されたマイクロプロセッサ、第２の内部伝送路に接続され不揮発性メモリを含む記憶部、第１の内部伝送路と伝送路に接続されたホストインターフェース制御ユニット、第１の内部伝送路と第２の伝送路に接続されたメモリインターフェース制御ユニットを備え、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、マイクロプロセッサの指示により記憶部とホスト装置の間でデータの読み書きを実行するとともにユニット内の処理手順を制御するためのシーケンサを備える記憶装置において、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに設けられ、シーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、第１の内部伝送路に接続され状態情報監視ユニットからのトレース情報を一時記憶し、メモリインターフェース制御ユニットを介して一時記憶したトレース情報を記憶部に記憶する。
【００２４】
また、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、マイクロプロセッサの指示により記憶部と前記ホスト装置の間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、監視ユニットに送信する。
【００２５】
また、ホストインターフェース制御ユニットは、ホスト装置の指示によりマイクロプロセッサの間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、監視ユニットに送信する。
【００２６】
また、マイクロプロセッサは、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに対してデータの読み書きに関連する処理を指示すると共に、処理中のエラー発生を検知したときに監視ユニットに一時記憶していた全てのトレース情報を記憶部の不揮発性メモリに格納する。
【発明の効果】
【００２７】
本発明によると、記憶装置の障害発生時には、記憶装置内の複数の制御ユニットの各々のトレース情報をメモリあるいは不揮発性メモリから、時系列に順序が分かる状態で取得することにより、障害解析を効率的に行うことができる。
【図面の簡単な説明】
【００２８】
【図１】情報処理装置の構成例を示すブロック図。
【図２】ホストインターフェース制御ユニットでのトレース情報取得動作概要を示す図。
【図３】図２のトレース情報取得動作概要のフローチャートを示す図。
【図４】メモリインターフェース制御ユニットでのトレース情報取得動作概要を示す図。
【図５】トレース情報管理の全体動作概要の説明図。
【図６】トレース情報を一時格納する方法を示すフォローチャートを示す図。
【図７】一時格納トレース情報をメモリ格納するフローチャートを示す図。
【図８】格納されたトレース情報のデータ構成例を示す図。
【図９】リード中のエラー発生時の処理を示すフローチャート示す図。
【図１０】ライト処理のときのシーケンスと処理の具体例を示す図。
【図１１】リード処理のときのシーケンスと処理の具体例を示す図。
【図１２】図１０、図１１のときの具体的なデータ構成例を示す図。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態を、図面を参照して説明する。
【実施例】
【００３０】
本発明の実施形態例を、図１を参照して説明する。図１に、本例による情報処理装置の構成例を示す。本例の情報処理装置は、コンピュータなどで構成されたホスト装置１と、ホスト装置１とデータバス３で接続される記憶装置２で構成する。記憶装置２は、ホスト装置１からの命令に従い、データの読み書きなどの動作を行う。
【００３１】
次に、記憶装置２の内部構成例について説明する。記憶装置２は、その内部の機能を大別すると、データを記憶する記憶部分Ａと、各種の制御、監視を行う制御・監視部分Ｂに分けられる。
【００３２】
このうち、記憶装置２の記憶部分Ａは、記憶装置２のバッファ等として機能するメモリ２８、ユーザデータを格納する不揮発性メモリＡ（２７）、トレース情報を格納する不揮発性メモリＢ（２９）で構成される。
【００３３】
また、制御・監視部分Ｂは、さらに制御部分Ｂ１と、監視部分Ｂ２に分けることができる。このうち、制御部分Ｂ１はホスト装置１からの命令に従い、データの読み書きなどの動作を行う部分であり、データバス３を介してホスト装置１との間での情報のやり取りを行うホストインターフェース（Ｉ／Ｆ）制御ユニット２３、記憶装置２内の制御を行なうマイクロプロセッサ２１、メモリへのデータの読み書きを制御するメモリインターフェース（Ｉ／Ｆ）制御ユニット２６を主たる要素として構成されている。
【００３４】
本発明は、記憶装置内の障害原因を究明するためにトレース情報を管理するものであり、制御・監視部分Ｂのうち、監視部分Ｂ２がこれを実行する。また、監視部分Ｂ２がトレース情報を管理するために、制御部分Ｂ１及び記憶部分Ａの各所にトレースのための情報を保持している。
【００３５】
監視部分Ｂ２は、ホストインターフェース制御ユニット２３とメモリインターフェース制御ユニット２６に時刻を配信する時刻配信ユニット２２、ホストインターフェース制御ユニット２３とメモリインターフェース制御ユニット２６のトレース情報の書込みを制御する監視ユニット２５を主たる要素として構成されている。
【００３６】
図１において、太枠で示す部分が監視部分Ｂ２並びにトレース情報を管理するために備えられた部分である。
【００３７】
なお、図１の情報処理装置としては記憶装置２以外に外部情報処理装置４を備えてもよく、この場合に記憶装置２の内部に、外部情報処理装置４と接続するデバッグ用外部接続ユニット２４を備える。
【００３８】
本発明では、記憶装置２内に上記構成を備え、この構成を用いて故障発生箇所のトレース情報管理を実行する。次に、記憶装置２の基本動作と、トレース情報管理動作について説明する。まず、記憶装置２の基本動作について説明する。これは、ホスト装置１からの命令に従い、データの読み書きなどの動作を行うことである。
【００３９】
ホストインターフェース制御ユニット２３は、データバス３を介してホスト装置１の要求を受け取ると、マイクロプロセッサ２１にホスト装置１の要求を通知する。その後、マイクロプロセッサ２１から動作指示を受けると、その指示に従いメモリインターフェース制御ユニット２６に対する動作を行う。
【００４０】
例えば、マイクロプロセッサ２１からの動作指示がリードであった場合、ホストインターフェース制御ユニット２３はメモリインターフェース制御ユニット２６からデータを受け取り、データバス３を介してホスト装置１に転送する。また、マイクロプロセッサ２１からの動作指示がライトの場合、メモリインターフェース制御ユニット２６にホスト装置１から受け取ったデータを転送する。
【００４１】
マイクロプロセッサ２１は、ホスト装置１からの指示に従い、不揮発性メモリＡ（２７）に対するユーザデータの書込みおよび読み出しを制御する。
【００４２】
メモリインターフェース制御ユニット２６は、マイクロプロセッサ２１からの動作指示を受け、ホストインターフェース制御ユニット２３、不揮発性メモリＡ（２７）、メモリ２８、不揮発性メモリＢ（２９）とデータのやり取りを行う。
【００４３】
次に、記憶装置２内のトレース情報管理動作について説明する。トレース情報管理のために、本発明においては制御部分Ｂを構成する制御ユニット２３、２６に状態情報監視ユニットを備えている。
【００４４】
まず、ホストインターフェース制御ユニット２３には、時刻情報２３１１とトレース対象状態コード２３１２を有する状態情報監視ユニット２３１と、ホスト制御インターフェースを制御するシーケンサ２３２を備える。時刻情報２３１１は、時刻配信ユニット２２から配信された時刻情報を格納する。トレース対象状態コード２３１２は、トレース対象となるシーケンサ２３２の状態コードを格納する。状態情報監視ユニット２３１は、シーケンサ２３２の状態を監視し、状態がトレース対象の状態へ遷移した場合に状態コードに時刻情報を付加して、トレース情報として監視ユニット２５に送信する。
【００４５】
また、メモリインターフェース制御ユニット２６には、時刻情報２６１１とトレース対象状態コード２６１２を有する状態情報監視ユニット２６１とメモリインターフェース制御ユニット２６を制御するシーケンサ２６２を備える。時刻情報２６１１は時刻配信ユニット２２から配信された時刻情報を格納する。トレース対象状態コード２６１２はトレース対象となるシーケンサ２６２の状態コードを格納する。状態情報監視ユニット２６１は、シーケンサ２６２の状態を監視し、状態がトレース対象の状態へ遷移した場合に状態コードに時刻情報を付加して、トレース情報として監視ユニット２５に送信する。
【００４６】
制御ユニット２３、２６に設けた状態情報監視ユニットは、要するに制御ユニット２３、２６内の処理手順を記憶しているシーケンサの進展具合を監視しており、シーケンスに渋滞などの異常が発生した場合に、その異常箇所並びに異常発生時刻を記憶して、監視ユニット２５に報告する機能を果たしている。なお、シーケンサ管理の考え方については、図２、図３、図４を用いて詳細に後述する。
【００４７】
時刻配信ユニット２２は、記憶装置２内のホストインターフェース制御ユニット２３に備えられた時刻情報２３１１とメモリインターフェース制御ユニット２６に備えられた時刻情報２６１１に時刻情報を配信する。なお、マイクロプロセッサ２１より時刻配信が可能である場合には、時刻配信ユニット２２は必ずしも必要ではない。
【００４８】
制御ユニット２３、２６からのトレース情報を受理する監視ユニット２５には、トレース情報一時格納指示部２５１、トレース情報一時格納部２５２、トレース情報メモリ格納指示部２５３を備える。
【００４９】
トレース情報一時格納指示部２５１は、ホストインターフェース制御ユニット２３から送信されたトレース情報とメモリインターフェース制御ユニット２６から送信されたトレース情報の時刻情報を比較し、トレース情報を時刻の古い順にトレース情報一時格納部２５２に格納する。時刻が一致したトレース情報が存在した場合は、制御ユニットごとに付けられた優先順位に従い、トレース情報一時格納部２５２に格納する。トレース情報一時格納部２５２は、トレース情報を一時格納するためのバッファとして用いる。トレース情報一時格納指示部２５１における処理フローについて、図６を用いて詳細に後述する。
【００５０】
トレース情報メモリ格納指示部２５３は、トレース情報一時格納部２５２に格納されたトレース情報を、メモリインターフェース制御ユニット２６を介してメモリ２８に備えられたトレース情報格納部２８１に送信する。トレース情報メモリ格納指示部２５３における処理フローについて、図７を用いて詳細に後述する。
【００５１】
本発明におけるトレース情報管理のために、記憶装置２の記憶部分Ａを構成する各メモリの役割は、次の通りとされる。
【００５２】
まず不揮発性メモリＡ（２７）は、ユーザデータ格納部２７１を備え、ユーザデータを保持し、メモリ２８に備えられたユーザデータ格納部２８２に格納されたユーザデータの読み書きを行うために用いる。
【００５３】
これに対し、不揮発性メモリＢ（２９）は、トレース情報格納部２９１を備え、メモリ２８に備えられたトレース情報格納部２８１に格納されたトレース情報を読み書きするために用いる。なお、不揮発性メモリＡ（２７）と不揮発性メモリＢ（２９）は、１つの不揮発性メモリを２つの領域に分割し、ユーザデータを格納する領域とトレース情報を格納する領域に割り当てて構成してもよい。
【００５４】
メモリ２８には、トレース情報格納部２８１、ユーザデータ格納部２８２を備える。トレース情報格納部２８１は、監視ユニット２５内に一時的に格納したホストインターフェース制御ユニット２３とメモリインターフェース制御ユニット２６のトレース情報を格納するために用いる。なお、ユーザデータ格納部２８２は、ホスト装置１との間でユーザデータの読み書きを行なう際に、不揮発性メモリＡ（２７）から読み出したユーザデータ、または不揮発性メモリＡ（２７）に書き込むユーザデータを一時格納するためのバッファとして用いる。
【００５５】
トレース情報格納部２８１、２９１について、図８を用いて詳細に後述する。
【００５６】
デバッグ用外部接続ユニット２４は、記憶装置２にパーソナルコンピュータ（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などの外部情報処理装置４を接続するためのインターフェースとして設ける。外部情報処理装置４とデバッグ用外部接続ユニット２４を接続することにより、監視ユニット２５に備えられたトレース情報一時格納部２５２、メモリ２８に備えられたトレース情報格納部２８１及び不揮発性メモリＢ（２９）に備えられたトレース情報格納部２９１に格納されたトレース情報を確認することができる。
【００５７】
また、ホストインターフェース制御ユニット２３、メモリインターフェース制御ユニット２６、不揮発性メモリＡ（２７）、時刻配信ユニット２２及びマイクロプロセッサ２１内の情報を確認できるようにしてもよい。なお、デバッグ用外部接続ユニット２４のインターフェースとしては、マイクロプロセッサのデバッグポートを用いることもできる。
【００５８】
以下、本発明のトレース情報管理について図面を参照して詳細に説明する。まず、ホストインターフェース制御ユニット２３と、メモリインターフェース制御ユニット２６のトレース情報の保存方法について説明する。
【００５９】
図２および図３を参照して、ホストインターフェース制御ユニット２３においてトレース情報を監視ユニット２５に送信するまでの動作概要を説明する。図２は、トレース情報取得の動作概要の説明図である。図３はその動作概要のフローチャートである。
【００６０】
図２のように、ホストインターフェース制御ユニット２３は状態情報監視ユニット２３１及びシーケンサ２３２を備える。
【００６１】
まず、シーケンサ２３２の役割について説明すると、これはホストインターフェース制御ユニット２３内の処理手順を制御する。シーケンサ２３２の状態（処理手順）には、各々状態コードが付けられている。状態コードはホストインターフェース制御ユニット２３内でユニークな値である。シーケンサ２３２の現在の状態コードは、状態情報監視ユニット２３１に常に出力されている。図２左側のシーケンサ２３２内の図示は、状態の遷移の例を示しており、例えば状態コード−２、−１、００、０１、０２の順に順次遷移し、状態コード０２では、条件に応じて０３に移る場合と、０４に移る場合とがあるが、その一連の処理終了後には、最初の状態コード００に戻り、同じ処理を繰り返す事例を示している。
【００６２】
図２右側に示す状態情報監視ユニット２３１は、時刻情報２３１１、トレース対象状態コード２３１２、トレース情報２３１３、制御ユニット判別情報２３１４及び付属情報２３１５を備える。時刻情報２３１１はシーケンサ２３２がトレース対象となる状態コードに遷移した時刻をトレース情報に付加するために用いる。トレース対象状態コード２３１２は、シーケンサ２３２の現在の状態コードＣＤがトレースを取るべき状態コードであるかを判定するために用いる。制御ユニット判別情報２３１４は、トレース情報がどの制御ユニットのものであるか示す情報をトレース情報に付加するために用いる。付属情報２３１５は、トレース対象の状態コードの処理を補足する情報をトレース情報に付加するために用いる。
【００６３】
状態情報監視ユニット２３１内の各部は、図３のフローチャートに従い処理される。
【００６４】
まず、状態情報監視ユニット２３１は、シーケンサ２３２の現在の状態がトレース対象か否かを判断するために、現在の状態コードＣＤと、トレース対象状態コード２３１２が一致したかを判定する（ステップＳ３０１）。一致した場合、その状態コードＣＤに時刻情報２３１１、制御ユニット判別情報２３１４及び付属情報２３１５を付加してトレース情報２３１３とする（ステップＳ３０２）。
【００６５】
次に、状態情報監視ユニット２３１は、トレース情報を監視ユニット２５へ送信する（ステップＳ３０３）。
【００６６】
最後に、状態情報監視ユニット２３１は、トレース情報の監視ユニット２５への送信が完了したかを確認して（ステップＳ３０４）、ステップＳ３０１に戻り処理を繰り返す。なお、トレース情報２３１３は、ホストインターフェース制御ユニット２３の動作を停止させないよう、十分な容量を備える。
【００６７】
図４は、メモリインターフェース制御ユニット２６の動作概要を示す図である。図４を、ホストインターフェース制御ユニットの動作概要を示す図２と比較して明らかなように、ここにおいても、トレース情報管理の上では、ホストインターフェース制御ユニット２３と同様に構成され、図３のフローチャート及び図４に示す動作概要に従い、トレース情報を監視ユニット２５に送信する。唯一図２と図４で相違する点は、制御ユニット判別情報２３１４が、それぞれのユニットを示すという点である。
【００６８】
次に、図５、図６及び図７を参照して、監視ユニット２５がホストインターフェース制御ユニット２３とメモリインターフェース制御ユニット２６からトレース情報を受信してから、トレース情報がメモリ２８に備えられたトレース情報格納部２８１に格納されるまでの動作概要を説明する。
【００６９】
図５は、そのトレース情報管理の全体動作概要の説明図であり、図６はトレース情報受信から監視ユニット２５に備えられたトレース情報一時格納部２５２にトレース情報を格納する動作概要のフローチャートである。図７はトレース情報一時格納部２５２に格納されたトレース情報をメモリ２８に備えられたトレース情報格納部２８１に格納するまでの動作概要を示すフローチャートである。
【００７０】
図５に示すように、監視ユニット２５は、トレース情報一時格納指示部２５１、トレース情報一時格納部２５２、トレース情報メモリ格納指示部２５３を備える。
【００７１】
トレース情報一時格納指示部２５１は、ホストインターフェース制御ユニット２３に備えられた状態情報監視ユニット２３１及びメモリインターフェース制御ユニット２６に備えられた状態情報監視ユニット２６１から送信されたトレース情報を受信し、受信したトレース情報の時刻情報を比較し、さらに、トレース情報をトレース情報一時格納部２５２の先頭ポインタ２５２１が指すトレース情報エリア２５２２に格納するための一連の処理を実行、指示する。トレース情報一時格納指示部２５１における一連の処理の具体事例がフローチャートとして図６に示されている。
【００７２】
このため、トレース情報一時格納部２５２は、先頭ポインタ２５２１とトレース情報エリア２５２２を備える。先頭ポインタ２５２１は、次のトレース情報の格納位置を示すために用いる。トレース情報エリア２５２２は、トレース情報を格納するためのエリアであり、ｍ個のエリアに分けられている。
【００７３】
この結果、トレース情報一時格納部２５２のトレース情報エリア２５２２には、トレース情報が時刻情報の順番に一時格納される。
【００７４】
引き続き監視ユニット２５は、受信してトレース情報一時格納部２５２に保持したトレース情報を、メモリ２８に備えられたトレース情報格納部２８１に格納する。これにより、格納待ちのためにホストインターフェース制御ユニット２３及びメモリインターフェース制御ユニット２６の動作が妨げられないようにする。
【００７５】
トレース情報メモリ格納指示部２５３は、トレース情報一時格納部２５２に保持したトレース情報を、メモリインターフェース制御ユニット２６を介してメモリ２８に備えられたトレース情報格納部２８１の先頭ポインタ２８１１が指すトレース情報エリア２８１２に格納するための一連の処理を実行、指示する。トレース情報メモリ格納指示部２５３における一連の処理の具体事例がフローチャートとして図７に示されている。
【００７６】
このためメモリ２８は、トレース情報格納部２８１を備える。トレース情報格納部２８１は、先頭ポインタ２８１１とトレース情報エリア２８１２を備える。先頭ポインタ２８１１は、次のトレース情報の格納位置を示すために用いる。トレース情報エリア２８１２は、トレース情報を格納するためのエリアであり、ｎ個のエリアに分けられている。
【００７７】
次に、図６を参照して、トレース情報受信から監視ユニット２５に備えられたトレース情報一時格納部２５２にトレース情報を一時格納するための具体的なフローチャートを説明する。
【００７８】
図６において、まず、監視ユニット２５に備えられたトレース情報一時格納指示部２５１は、トレース情報を受信したかを判定する（ステップＳ６０１）。トレース情報を受信した場合、さらに同時に複数のトレース情報を受信したか判定する（ステップＳ６０２）。
【００７９】
同時に複数のトレース情報を受信した場合には、トレース情報一時格納指示部２５２は、ステップＳ６０３においてトレース情報の時刻情報を比較し、さらにステップＳ６０４において時刻情報が同一か判定する。
【００８０】
時刻情報が同一の場合には、トレース情報に付加された制御ユニット判別情報を確認して優先順位の最も高いものを選択する（ステップＳ６０５）。また、時刻情報が同一ではない場合には、比較した中で時刻情報が古いトレース情報を選択する（ステップＳ６０６）。
【００８１】
次に、トレース情報一時格納指示部２５１は、トレース情報一時格納部２５２の先頭ポインタ２５２１が指すトレース情報エリア２５２２にトレース情報を格納する（ステップＳ６０７）。
【００８２】
次に、先頭ポインタ２５２１の値をインクリメントする（ステップＳ６０８）。インクリメントした結果、先頭ポインタ２５２１の値がトレース情報一時格納部２５２のトレース情報エリアの閾値ｍ以上あるかを判定する（ステップＳ６０９）。
【００８３】
閾値ｍ以上であった場合には、先頭ポインタ２５２１の値を初期値に戻して（ステップＳ６１０）、ステップＳ６０１に戻り処理を繰り返す。
【００８４】
なお、ステップＳ６０５にて優先順位ではなくラウンドロビン方式を用いてトレース情報を選択してもよい。
【００８５】
次に、図７を参照してトレース情報一時格納部２５２に格納されたトレース情報を、メモリ２８に備えられたトレース情報格納部２８１に格納を指示するための具体的なフローチャートを説明する。
【００８６】
図７において、トレース情報メモリ格納指示部２５３は、トレース情報一時格納部２５２にトレース情報が格納されているかを判定する（ステップＳ７０１）。トレース情報が格納されている場合、トレース情報メモリ格納指示部２５３は、トレース情報一時格納部２５２に格納されたトレース情報を、メモリ２８に備えられたトレース情報格納部２８１の先頭ポインタ２８１１が指すトレース情報エリア２８１２に格納する（ステップＳ７０２）。
【００８７】
次に、トレース情報メモリ格納指示部２５３は、先頭ポインタ２８１１の値をインクリメントする（ステップＳ７０３）。インクリメントした結果、先頭ポインタ２８１１の値がトレース情報格納部２８１のトレース情報エリア２８１２の閾値ｎ以上であるかを判定する（ステップＳ７０４）。
【００８８】
閾値ｎ以上であった場合には先頭ポインタ２８１１を初期値に戻して（ステップＳ７０５）、ステップＳ７０１に戻り処理を繰り返す。
【００８９】
以上の動作により、ホストインターフェース制御ユニット２３とメモリインターフェース制御ユニット２６のトレース情報は、監視ユニット２５を介してメモリ２８に備えられたトレース情報格納部２８１に格納される。なお、トレース情報格納部２８１は、障害発生時の解析に必要な量を格納できるよう十分な容量を確保する。
【００９０】
図８に、監視ユニット２５に備えられたトレース情報一時格納部２５２、メモリ２８に備えられたトレース情報格納部２８１、不揮発性メモリＢ（２９）に備えられたトレース情報格納部２９１に格納されるべきトレース情報の一例を示す。図８は、トレース情報格納部２８１に格納されたトレース情報の一例を示している。
【００９１】
トレース情報格納部２８１に格納されたトレース情報は、トレース情報獲得時刻を示す時刻情報２８１３、トレース情報をトレースした制御ユニットを判別する制御ユニット判別情報２８１４、トレースしたシーケンサの状態コードを示す状態情報２８１５、及びトレースした処理に付随する補足情報を格納する付属情報２８１６により構成する。これらの情報は、いずれも制御ユニット２３、２６内の処理により取得され、得られた情報である。
【００９２】
なお付属情報２８１６は、５つのデータを格納するようにしているが、データ数はこれに限らず、障害解析に必要十分な数を設定することができる。また、付属情報２８１６の例としては、データの書き込みに関するトレースでは、書き込み先のメモリのアドレスやデータ長、割り込み処理に関するトレースでは割り込み種別や状態、関連するコードなど複数の情報を格納する。
【００９３】
次に、図９を参照して、エラー発生時の処理の例として、リード時にエラーが発生した場合の処理について説明する。図９はその処理を示すフローチャートである。図９は、基本的には記憶装置内のリード処理と、エラー発生時の処理を示したものであり、この中に本発明のトレース情報取得処理、およびトレース情報管理処理が入ってくる。フローチャート内で、アンダーラインを付した処理が本発明のトレース情報取得処理、およびトレース情報管理処理に関わる処理部分である。
【００９４】
まず、ホストインターフェース制御ユニット２３が、ホスト装置１よりリード指示を受ける（ステップＳ９０１）。
【００９５】
次にホストインターフェース制御ユニット２３は、マイクロプロセッサ２１に対して、リード処理を依頼する。同時にホストインターフェース制御ユニット２３に備えられた状態情報監視ユニット２３１は、監視ユニット２５へトレース情報を送信する（ステップＳ９０２）。
【００９６】
次にマイクロプロセッサ２１は、メモリインターフェース制御ユニット２６にリード処理を依頼する。（ステップＳ９０３）。
【００９７】
メモリインターフェース制御ユニット２６は、不揮発性メモリＡ（２７）からユーザデータを読み出し、メモリ２８のユーザデータ格納部２８２へ格納する。同時にメモリインターフェース制御ユニット２６に備えられた状態情報監視ユニット２６１は、監視ユニット２５にトレース情報を送信する（ステップＳ９０４）。
【００９８】
次にメモリインターフェース制御ユニット２６は、マイクロプロセッサ２１にリード準備完了を報告する。同時にメモリインターフェース制御ユニット２６に備えられた状態情報監視ユニット２６１は、監視ユニット２５へトレース情報を送信する（ステップＳ９０５）。
【００９９】
次にユーザデータの読み出し中にエラーがあったかを判定する（ステップＳ９０６）。エラーがあった場合には、マイクロプロセッサ２１は、ホストインターフェース制御ユニット２６を介してデータ送信が異常終了したことを報告して（ステップＳ９１２）、ホストインターフェース制御ユニット２３に備えられた状態情報監視ユニット２３１が監視ユニット２５にトレース情報を送信して（ステップＳ９１３）リード処理が終了する。
【０１００】
ステップＳ９０６でエラーがない場合には、次にマイクロプロセッサ２１は、ホストインターフェース制御ユニット２３にリード処理を依頼する（ステップＳ９０７）。
【０１０１】
次にホストインターフェース制御ユニット２３は、メモリインターフェース制御ユニット２６を介して、メモリ２８に備えられたユーザデータ格納部２８２のデータをホスト装置１へ送信する。同時にホストインターフェース制御ユニット２３に備えられた状態情報監視ユニット２３１とメモリインターフェース制御ユニット２６に備えられた状態情報監視ユニット２６１は監視ユニット２５にトレース情報を送信する（ステップＳ９０８）。
【０１０２】
次にホストインターフェース制御ユニット２３は、マイクロプロセッサ２１へデータの送信完了を報告する。同時にホストインターフェース制御ユニット２３に備えられた状態情報監視ユニット２３１は監視ユニット２５にトレース情報を送信する（ステップＳ９０９）。
【０１０３】
次にステップＳ９０８のデータ送信中にエラーが有ったかを判定する（ステップＳ９１０）。エラーがあった場合には、マイクロプロセッサ２１は、ホストインターフェース制御ユニット２６を介してデータ送信が異常終了したことをホスト装置１に報告して（ステップＳ９１２）、次にホストインターフェース制御ユニット２３に備えられた状態情報監視ユニット２３１が監視ユニット２５にトレース情報を送信して（ステップＳ９１３）リード処理が終了する。
【０１０４】
エラーがない場合には、マイクロプロセッサ２１は、ホスト制御ユニット２３を介してホスト装置１にデータ送信が正常に終了したことを報告する（ステップＳ９１１）。
【０１０５】
最後に、ホストインターフェース制御ユニット２３に備えられた状態情報監視ユニット２３１が監視ユニット２５にトレース情報を送信して（ステップＳ９１３）リード処理が終了する。
【０１０６】
なお、図９は、リード処理の場合のフローチャートを示しているが、同様にしてライト処理のときにも本発明が実行できることは言うまでもない。
【０１０７】
ホスト装置１に正常にリード処理が完了しなかったことが報告された場合、障害要因を調査する必要がある。
【０１０８】
図９のフローチャートによれば、ステップＳ９０２、Ｓ９０４、Ｓ９０５、Ｓ９０８、Ｓ９０９、Ｓ９１２においてリード処理に関係したホストインターフェース制御ユニット２３とメモリインターフェース制御ユニット２６のトレース情報が監視ユニット２５に送信され、メモリ２８に備えられたトレース情報格納部２８１に格納されている。従って、そのトレース情報を参照することで、どの処理においてエラーが発生していたかを解析することが可能となるため、効率的に記憶装置の障害発生時における障害解析処理を行うことができる。
【０１０９】
また、エラーが発生した場合には、まず監視ユニット２５に備えられたトレース情報一時格納部２５２内の全てのトレース情報を、メモリ２８に備えられたトレース情報格納部２８１に格納する。
【０１１０】
次にマイクロプロセッサ２１は、メモリインターフェース制御ユニット２６に対して、メモリ２８に備えられたトレース情報格納部２８１に格納されたトレース情報を不揮発性メモリＢ（２９）に備えられたトレース情報格納部２９１に格納するように依頼する。これにより、トレース情報が不揮発性メモリＢ（２９）に格納されるため、記憶装置２の電源断後であったとしても、トレース情報が消去されずに保存されており、もし電源が切断されてしまった場合でもデバッグ用外部接続ユニット２４を介してトレース情報を参照して障害解析を行なうことができる。
【０１１１】
最後に、具体的なリード、ライト処理の実行手順並びに、このときに生成されたトレース情報の具体事例について説明する。
【０１１２】
図１０は、ライト処理のときにホストインターフェース制御ユニット２３、メモリインターフェース制御ユニット２６で実行されるシーケンスと、そのときにマイクロプロセッサ２１や記憶部Ｂとの間でやり取りされる処理の具体例を示している。その概略は以下のようである。なおここで実線の矢印がシーケンサの状態遷移を表し、点線の矢印がこの状態のときの指示、処理、あるいはデータの移動を示している。なお、この図で矢印に付した丸付き数字は、処理の順番を意味している。
【０１１３】
ここではホストインターフェース制御ユニット２３で実行されるシーケンスを、Ｈ１，ＨＷ１，ＨＷ２，ＨＷ３，ＨＷ４，ＨＷ５で示し、それぞれに関わる指示、処理、あるいはデータの移動は、ライト処理要求受信（Ｈ１）、マイクロプロセッサ２１に対するライト処理要求（ＨＷ１）、マイクロプロセッサ２１からの書き込みアドレス受信（ＨＷ２）、データライト（ＨＷ３）、マイクロプロセッサ２１に対するライト処理完了報告依頼要求（ＨＷ４）、マイクロプロセッサ２１からの報告依頼並びにホストに対するステータス報告（ＨＷ５）である。
【０１１４】
また、メモリインターフェース制御ユニット２６で実行されるシーケンスを、Ｍ１，ＭＷ１，ＭＷ２，ＭＷ３で示し、それぞれに関わる指示、処理、あるいはデータの移動は、不揮発性メモリへのライト処理要求（Ｍ１），データライト（ＭＷ３）、不揮発性メモリへのライト処理完了報告（ＭＷ２）である。
【０１１５】
図１１は、リード処理のときにホストインターフェース制御ユニット２３、メモリインターフェース制御ユニット２６で実行されるシーケンスと、そのときにマイクロプロセッサ２１や記憶部Ｂとの間でやり取りされる処理の具体例を示している。
【０１１６】
図１１の表記の約束は図１０と全く同じであるので、図１０と相違する部分のみを説明する。第１点は、リード処理のときにホストインターフェース制御ユニット２３で実行されるシーケンスを、ＨＲと表記し、メモリインターフェース制御ユニット２６で実行されるシーケンスを、ＭＲで示した点である。
【０１１７】
第２点は、ホストインターフェース制御ユニット２３のＨＲ２でエラー発生したとして、各部を表記している点であり、これによりＨＲ２の処理が変更される可能性がある。本来は、マイクロプロセッサ２１からの処理内容がリード処理開始要求であるが、エラーによりエラー報告依頼に変更されることになる。また、ＨＲ２に関連するメモリインターフェース制御ユニット２６側の処理ＭＲ２も内容変更される可能性がある。本来は、マイクロプロセッサ２１に対するリード準備正常完了報告とすべきところ、エラーによりリード準備異常完了報告に変更されることになる。
【０１１８】
この図１１の表記内容は、図１０の考えが理解できれば容易にわかることなのでここでの説明は省略する。
【０１１９】
図１２は、図１０のライト処理が正常に実行され、続いて行った図１１のリード処理の途中でエラー発生したときに、メモリ２８に備えられたトレース情報格納部２８１に格納されたトレース情報の具体事例を示している。
【０１２０】
この図の表記は基本的に図８と同じであり、左側から時刻情報２８１３、制御ユニット判別情報２８１３（Ｈはホストインターフェース制御ユニット２３、Ｍはメモリインターフェース制御ユニット２６を意味する）、状態情報２８１５（図１０、図１１のシーケンサの記号で表記）、付属情報２８１６を表している。なお、付属情報２８１６としては、コマンド（ライト処理、リード処理の区別）、ホスト装置が指定したアドレスＬＢＡ，データサイズ、メモリの物理アドレス、不揮発性メモリの物理アドレス、ステータス（処理の正常、異常の区別）を示している。
【０１２１】
図９で説明したように、ホストインターフェース制御ユニット２３とメモリインターフェース制御ユニット２６は、マイクロプロセッサ２１あるいはホスト装置からの指示で動作したときに監視ユニット２５にトレース情報を送信し、図１２の履歴を記録として備えていく。図１２の事例では時刻０１００から０１８０までライト処理を実行し、時刻０２００からリード処理に入っていた。そしてリード処理中の時刻０２３５において、例えばＥＣＣエラーが発生した。
【０１２２】
外部情報処理装置４に図１２の内容を表示或いは印刷してこの内容を仔細に検討すると、時刻０２３５において、ＥＣＣエラーが発生した。時刻０２２５をみると、ＥＣＣエラーが発生したデータは、不揮発性メモリの物理アドレス２０００に格納されていたデータであることが判る。そこで、不揮発性メモリの物理アドレス２０００へのライト情報を検討する。時刻０１６５，０１７５のトレース情報をみると、不揮発性メモリの物理アドレス２０００に書き込む予定のデータが、不揮発性メモリの物理アドレス２１００に書き込まれてしまっている。この結果、何も書き込まれていない不揮発性メモリの物理アドレス２０００のデータをリードしようとしてＥＣＣエラーが発生したと考えられる。
【符号の説明】
【０１２３】
１：ホスト装置
２：記憶装置
３：データバス
４：外部情報処理装置
２１：マイクロプロセッサ
２２：時刻配信ユニット
２３：ホストインターフェース（Ｉ／Ｆ）制御ユニット
２３１、２６１：状態情報監視ユニット
２３１１、２６１１：時刻情報
２３１２、２６１２：トレース対処状態コード
２３１３、２６１３：トレース情報
２３１４、２６１４：制御ユニット判別情報
２３１５、２６１５：付属情報
２３２、２６２：シーケンサ
２４：デバッグ用外部接続ユニット
２５：監視ユニット
２６：メモリインターフェース（Ｉ／Ｆ）制御ユニット
２７：不揮発性メモリＡ
２８：メモリ
２９：不揮発性メモリＢ
２５１：トレース情報一時格納指示部
２５２：トレース情報一時格納部
２５２１、２８１１：先頭ポインタ
２５２２、２８１２：トレース情報エリア
２５３：トレース情報メモリ格納指示部
２６１：状態情報監視ユニット
２６１１：時刻情報
２６１２：トレース対象状態コード
２８１：トレース情報格納部
２８１３：時刻情報
２８１４：制御ユニット判別情報
２８１５：状態情報
２８１６：付属情報
２８２：ユーザデータ格納部
２９１：トレース情報格納部
【図１】
2013054622.tif 000003
【図２】
2013054622.tif 000004
【図３】
2013054622.tif 000005
【図４】
2013054622.tif 000006
【図５】
2013054622.tif 000007
【図６】
2013054622.tif 000008
【図７】
2013054622.tif 000009
【図８】
2013054622.tif 000010
【図９】
2013054622.tif 000011
【図１０】
2013054622.tif 000012
【図１１】
2013054622.tif 000013
【図１２】
2013054622.tif 000014