記憶方法および記憶装置
【課題】障害原因が複数ある場合にもトレース情報による障害解析を効率的に行うことができる記憶装置を提供する。
【解決手段】記憶装置において、制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、状態情報監視ユニットからトレース情報を受信して時系列にトレース情報をメモリに格納する監視ユニットと、トレース情報格納部を備えたメモリを備える。また、エラー発生時にはトレース情報格納部に格納されたトレース情報は不揮発性メモリB内のトレース情報格納部に格納される。
【解決手段】記憶装置において、制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、状態情報監視ユニットからトレース情報を受信して時系列にトレース情報をメモリに格納する監視ユニットと、トレース情報格納部を備えたメモリを備える。また、エラー発生時にはトレース情報格納部に格納されたトレース情報は不揮発性メモリB内のトレース情報格納部に格納される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に適用される記憶方法および記憶装置に関し、特に不揮発性メモリを用いた記憶方法および記憶装置に関する。
【背景技術】
【0002】
近年、情報処理装置に適用される記憶装置として、従来のハードディスクドライブ(HDD)に代わって不揮発性メモリの中で特にフラッシュメモリ(flash memory)を記憶媒体とした記憶装置が用いられている。このフラッシュメモリを記憶媒体とした記憶装置の中で、従来のHDDと同じ接続インターフェース規格、例えば、SCSI(Small Computer System Interface)規格やATA(Advanced Technology Attachment)規格等を持つものに、ソリッドステートドライブ(SSD:Solid State Drive)がある。
【0003】
SSDは、従来のHDDと異なりディスクを持たないため、ディスクの駆動部分がなく、耐衝撃性に優れている。また、シーク時間やスピンアップ時間がないため、データの読み書きが高速に行えるという長所がある。一方、容量当たりの単価が高い点や、書き込み耐性が低く、書き換え可能回数の上限があるなどの短所がある。
【0004】
また、フラッシュメモリを記憶媒体とする記憶装置の制御は複雑化しており、多くの障害要因が考えられる。このため障害解析が難しくなってきている。従来、情報処理装置においては、障害発生時にCPU(Central Processing Unit)の動作トレースをメモリダンプすることで、障害要因を突き止める手法がとられてきた。しかし、記憶装置内部処理のハードウェアの動作トレースは実施されておらず、記憶装置の障害解析に多くの時間が費やされるという場合があった。
【0005】
特許文献1には、LSIを含むシステムの動作状態、及び、伝送回路における物理層回路およびリンク層回路を含むトレース対象からの障害発生通知に基づき、格納すべきトレースデータを決定しトレースを行う技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−205064号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の技術では、障害発生通知をした対象にエラー発生時のトレース対象を絞るため、障害原因が障害発生箇所以外にある場合、障害解析が不可能となる場合がある。
【0008】
本発明は上記のような障害原因が複数ある場合にも対応するためになされたものであり、記憶装置を制御する複数の制御ユニットのトレース情報を時系列に順序が分かるように保存する記憶方法および記憶装置を提供し、記憶装置の障害発生時の障害解析処理を効率化することを課題とする。
【課題を解決するための手段】
【0009】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照する。
【0010】
また、トレース情報は、状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む。
【0011】
また、複数の制御ユニットのシーケンサ機能における動作状態のうち、予め定められた動作状態のときに、動作状態を示す状態情報に時刻情報を付加したトレース情報を得る。
【0012】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットと、複数の制御ユニットに接続された伝送バスと、伝送バスに接続された監視ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットでは、そのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報としてこれを監視ユニットに伝送し、監視ユニットではトレース情報を一時格納したのち複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照する。
【0013】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照するとともに、複数の制御ユニットにおけるシーケンサ機能では、当該制御ユニットから外部に処理の指示を与え、また外部から処理結果を得る動作状態を含み、トレース情報は処理の指示を与えたとき、または外部から処理結果を得た動作状態のときに作成される。
【0014】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされた記憶装置において、複数の制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、状態情報監視ユニットからトレース情報を受け取り、時系列に順序が分かるようにメモリに備えられたトレース情報格納部に格納する監視ユニットを備える。
【0015】
また、状態情報監視ユニットと、監視ユニットの機能をハードウェアにて実現する。
【0016】
また、状態情報監視ユニットは、制御ユニットを制御するシーケンサの現在の状態情報がトレース対象の状態情報に遷移した際に、トレース情報を生成すると共に、トレース情報は状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む形式のトレース情報として監視ユニットに送信される。
【0017】
また、監視ユニットは、トレース情報を各制御ユニットから受信して、時刻の古い順にトレース情報一時格納部に格納し、トレース情報がトレース情報一時格納部に格納されたらトレース情報をメモリのトレース情報格納部に格納する指示をする。
【0018】
また、エラーが発生した場合に、トレース情報一時格納部に格納されている全てのトレース情報をトレース情報格納部に格納する。
【0019】
また、エラーが発生した場合に、トレース情報格納部に格納された全てのトレース情報を不揮発性メモリに格納する。
【0020】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置にメモリに格納されたトレース情報を読み出す。
【0021】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置にトレース情報格納部に格納されたトレース情報を読み出す。
【0022】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置に前記トレース情報一時格納部に格納されたトレース情報を読み出す。
【0023】
前記課題を解決するために、本発明は伝送路で接続されたホスト装置からの読み書き要求により作動する記憶装置であって、第1の内部伝送路に接続されたマイクロプロセッサ、第2の内部伝送路に接続され不揮発性メモリを含む記憶部、第1の内部伝送路と伝送路に接続されたホストインターフェース制御ユニット、第1の内部伝送路と第2の伝送路に接続されたメモリインターフェース制御ユニットを備え、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、マイクロプロセッサの指示により記憶部とホスト装置の間でデータの読み書きを実行するとともにユニット内の処理手順を制御するためのシーケンサを備える記憶装置において、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに設けられ、シーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、第1の内部伝送路に接続され状態情報監視ユニットからのトレース情報を一時記憶し、メモリインターフェース制御ユニットを介して一時記憶したトレース情報を記憶部に記憶する。
【0024】
また、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、マイクロプロセッサの指示により記憶部と前記ホスト装置の間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、監視ユニットに送信する。
【0025】
また、ホストインターフェース制御ユニットは、ホスト装置の指示によりマイクロプロセッサの間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、監視ユニットに送信する。
【0026】
また、マイクロプロセッサは、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに対してデータの読み書きに関連する処理を指示すると共に、処理中のエラー発生を検知したときに監視ユニットに一時記憶していた全てのトレース情報を記憶部の不揮発性メモリに格納する。
【発明の効果】
【0027】
本発明によると、記憶装置の障害発生時には、記憶装置内の複数の制御ユニットの各々のトレース情報をメモリあるいは不揮発性メモリから、時系列に順序が分かる状態で取得することにより、障害解析を効率的に行うことができる。
【図面の簡単な説明】
【0028】
【図1】情報処理装置の構成例を示すブロック図。
【図2】ホストインターフェース制御ユニットでのトレース情報取得動作概要を示す図。
【図3】図2のトレース情報取得動作概要のフローチャートを示す図。
【図4】メモリインターフェース制御ユニットでのトレース情報取得動作概要を示す図。
【図5】トレース情報管理の全体動作概要の説明図。
【図6】トレース情報を一時格納する方法を示すフォローチャートを示す図。
【図7】一時格納トレース情報をメモリ格納するフローチャートを示す図。
【図8】格納されたトレース情報のデータ構成例を示す図。
【図9】リード中のエラー発生時の処理を示すフローチャート示す図。
【図10】ライト処理のときのシーケンスと処理の具体例を示す図。
【図11】リード処理のときのシーケンスと処理の具体例を示す図。
【図12】図10、図11のときの具体的なデータ構成例を示す図。
【発明を実施するための形態】
【0029】
以下、本発明の実施の形態を、図面を参照して説明する。
【実施例】
【0030】
本発明の実施形態例を、図1を参照して説明する。図1に、本例による情報処理装置の構成例を示す。本例の情報処理装置は、コンピュータなどで構成されたホスト装置1と、ホスト装置1とデータバス3で接続される記憶装置2で構成する。記憶装置2は、ホスト装置1からの命令に従い、データの読み書きなどの動作を行う。
【0031】
次に、記憶装置2の内部構成例について説明する。記憶装置2は、その内部の機能を大別すると、データを記憶する記憶部分Aと、各種の制御、監視を行う制御・監視部分Bに分けられる。
【0032】
このうち、記憶装置2の記憶部分Aは、記憶装置2のバッファ等として機能するメモリ28、ユーザデータを格納する不揮発性メモリA(27)、トレース情報を格納する不揮発性メモリB(29)で構成される。
【0033】
また、制御・監視部分Bは、さらに制御部分B1と、監視部分B2に分けることができる。このうち、制御部分B1はホスト装置1からの命令に従い、データの読み書きなどの動作を行う部分であり、データバス3を介してホスト装置1との間での情報のやり取りを行うホストインターフェース(I/F)制御ユニット23、記憶装置2内の制御を行なうマイクロプロセッサ21、メモリへのデータの読み書きを制御するメモリインターフェース(I/F)制御ユニット26を主たる要素として構成されている。
【0034】
本発明は、記憶装置内の障害原因を究明するためにトレース情報を管理するものであり、制御・監視部分Bのうち、監視部分B2がこれを実行する。また、監視部分B2がトレース情報を管理するために、制御部分B1及び記憶部分Aの各所にトレースのための情報を保持している。
【0035】
監視部分B2は、ホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26に時刻を配信する時刻配信ユニット22、ホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26のトレース情報の書込みを制御する監視ユニット25を主たる要素として構成されている。
【0036】
図1において、太枠で示す部分が監視部分B2並びにトレース情報を管理するために備えられた部分である。
【0037】
なお、図1の情報処理装置としては記憶装置2以外に外部情報処理装置4を備えてもよく、この場合に記憶装置2の内部に、外部情報処理装置4と接続するデバッグ用外部接続ユニット24を備える。
【0038】
本発明では、記憶装置2内に上記構成を備え、この構成を用いて故障発生箇所のトレース情報管理を実行する。次に、記憶装置2の基本動作と、トレース情報管理動作について説明する。まず、記憶装置2の基本動作について説明する。これは、ホスト装置1からの命令に従い、データの読み書きなどの動作を行うことである。
【0039】
ホストインターフェース制御ユニット23は、データバス3を介してホスト装置1の要求を受け取ると、マイクロプロセッサ21にホスト装置1の要求を通知する。その後、マイクロプロセッサ21から動作指示を受けると、その指示に従いメモリインターフェース制御ユニット26に対する動作を行う。
【0040】
例えば、マイクロプロセッサ21からの動作指示がリードであった場合、ホストインターフェース制御ユニット23はメモリインターフェース制御ユニット26からデータを受け取り、データバス3を介してホスト装置1に転送する。また、マイクロプロセッサ21からの動作指示がライトの場合、メモリインターフェース制御ユニット26にホスト装置1から受け取ったデータを転送する。
【0041】
マイクロプロセッサ21は、ホスト装置1からの指示に従い、不揮発性メモリA(27)に対するユーザデータの書込みおよび読み出しを制御する。
【0042】
メモリインターフェース制御ユニット26は、マイクロプロセッサ21からの動作指示を受け、ホストインターフェース制御ユニット23、不揮発性メモリA(27)、メモリ28、不揮発性メモリB(29)とデータのやり取りを行う。
【0043】
次に、記憶装置2内のトレース情報管理動作について説明する。トレース情報管理のために、本発明においては制御部分Bを構成する制御ユニット23、26に状態情報監視ユニットを備えている。
【0044】
まず、ホストインターフェース制御ユニット23には、時刻情報2311とトレース対象状態コード2312を有する状態情報監視ユニット231と、ホスト制御インターフェースを制御するシーケンサ232を備える。時刻情報2311は、時刻配信ユニット22から配信された時刻情報を格納する。トレース対象状態コード2312は、トレース対象となるシーケンサ232の状態コードを格納する。状態情報監視ユニット231は、シーケンサ232の状態を監視し、状態がトレース対象の状態へ遷移した場合に状態コードに時刻情報を付加して、トレース情報として監視ユニット25に送信する。
【0045】
また、メモリインターフェース制御ユニット26には、時刻情報2611とトレース対象状態コード2612を有する状態情報監視ユニット261とメモリインターフェース制御ユニット26を制御するシーケンサ262を備える。時刻情報2611は時刻配信ユニット22から配信された時刻情報を格納する。トレース対象状態コード2612はトレース対象となるシーケンサ262の状態コードを格納する。状態情報監視ユニット261は、シーケンサ262の状態を監視し、状態がトレース対象の状態へ遷移した場合に状態コードに時刻情報を付加して、トレース情報として監視ユニット25に送信する。
【0046】
制御ユニット23、26に設けた状態情報監視ユニットは、要するに制御ユニット23、26内の処理手順を記憶しているシーケンサの進展具合を監視しており、シーケンスに渋滞などの異常が発生した場合に、その異常箇所並びに異常発生時刻を記憶して、監視ユニット25に報告する機能を果たしている。なお、シーケンサ管理の考え方については、図2、図3、図4を用いて詳細に後述する。
【0047】
時刻配信ユニット22は、記憶装置2内のホストインターフェース制御ユニット23に備えられた時刻情報2311とメモリインターフェース制御ユニット26に備えられた時刻情報2611に時刻情報を配信する。なお、マイクロプロセッサ21より時刻配信が可能である場合には、時刻配信ユニット22は必ずしも必要ではない。
【0048】
制御ユニット23、26からのトレース情報を受理する監視ユニット25には、トレース情報一時格納指示部251、トレース情報一時格納部252、トレース情報メモリ格納指示部253を備える。
【0049】
トレース情報一時格納指示部251は、ホストインターフェース制御ユニット23から送信されたトレース情報とメモリインターフェース制御ユニット26から送信されたトレース情報の時刻情報を比較し、トレース情報を時刻の古い順にトレース情報一時格納部252に格納する。時刻が一致したトレース情報が存在した場合は、制御ユニットごとに付けられた優先順位に従い、トレース情報一時格納部252に格納する。トレース情報一時格納部252は、トレース情報を一時格納するためのバッファとして用いる。トレース情報一時格納指示部251における処理フローについて、図6を用いて詳細に後述する。
【0050】
トレース情報メモリ格納指示部253は、トレース情報一時格納部252に格納されたトレース情報を、メモリインターフェース制御ユニット26を介してメモリ28に備えられたトレース情報格納部281に送信する。トレース情報メモリ格納指示部253における処理フローについて、図7を用いて詳細に後述する。
【0051】
本発明におけるトレース情報管理のために、記憶装置2の記憶部分Aを構成する各メモリの役割は、次の通りとされる。
【0052】
まず不揮発性メモリA(27)は、ユーザデータ格納部271を備え、ユーザデータを保持し、メモリ28に備えられたユーザデータ格納部282に格納されたユーザデータの読み書きを行うために用いる。
【0053】
これに対し、不揮発性メモリB(29)は、トレース情報格納部291を備え、メモリ28に備えられたトレース情報格納部281に格納されたトレース情報を読み書きするために用いる。なお、不揮発性メモリA(27)と不揮発性メモリB(29)は、1つの不揮発性メモリを2つの領域に分割し、ユーザデータを格納する領域とトレース情報を格納する領域に割り当てて構成してもよい。
【0054】
メモリ28には、トレース情報格納部281、ユーザデータ格納部282を備える。トレース情報格納部281は、監視ユニット25内に一時的に格納したホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26のトレース情報を格納するために用いる。なお、ユーザデータ格納部282は、ホスト装置1との間でユーザデータの読み書きを行なう際に、不揮発性メモリA(27)から読み出したユーザデータ、または不揮発性メモリA(27)に書き込むユーザデータを一時格納するためのバッファとして用いる。
【0055】
トレース情報格納部281、291について、図8を用いて詳細に後述する。
【0056】
デバッグ用外部接続ユニット24は、記憶装置2にパーソナルコンピュータ(PC:Personal Computer)などの外部情報処理装置4を接続するためのインターフェースとして設ける。外部情報処理装置4とデバッグ用外部接続ユニット24を接続することにより、監視ユニット25に備えられたトレース情報一時格納部252、メモリ28に備えられたトレース情報格納部281及び不揮発性メモリB(29)に備えられたトレース情報格納部291に格納されたトレース情報を確認することができる。
【0057】
また、ホストインターフェース制御ユニット23、メモリインターフェース制御ユニット26、不揮発性メモリA(27)、時刻配信ユニット22及びマイクロプロセッサ21内の情報を確認できるようにしてもよい。なお、デバッグ用外部接続ユニット24のインターフェースとしては、マイクロプロセッサのデバッグポートを用いることもできる。
【0058】
以下、本発明のトレース情報管理について図面を参照して詳細に説明する。まず、ホストインターフェース制御ユニット23と、メモリインターフェース制御ユニット26のトレース情報の保存方法について説明する。
【0059】
図2および図3を参照して、ホストインターフェース制御ユニット23においてトレース情報を監視ユニット25に送信するまでの動作概要を説明する。図2は、トレース情報取得の動作概要の説明図である。図3はその動作概要のフローチャートである。
【0060】
図2のように、ホストインターフェース制御ユニット23は状態情報監視ユニット231及びシーケンサ232を備える。
【0061】
まず、シーケンサ232の役割について説明すると、これはホストインターフェース制御ユニット23内の処理手順を制御する。シーケンサ232の状態(処理手順)には、各々状態コードが付けられている。状態コードはホストインターフェース制御ユニット23内でユニークな値である。シーケンサ232の現在の状態コードは、状態情報監視ユニット231に常に出力されている。図2左側のシーケンサ232内の図示は、状態の遷移の例を示しており、例えば状態コード−2、−1、00、01、02の順に順次遷移し、状態コード02では、条件に応じて03に移る場合と、04に移る場合とがあるが、その一連の処理終了後には、最初の状態コード00に戻り、同じ処理を繰り返す事例を示している。
【0062】
図2右側に示す状態情報監視ユニット231は、時刻情報2311、トレース対象状態コード2312、トレース情報2313、制御ユニット判別情報2314及び付属情報2315を備える。時刻情報2311はシーケンサ232がトレース対象となる状態コードに遷移した時刻をトレース情報に付加するために用いる。トレース対象状態コード2312は、シーケンサ232の現在の状態コードCDがトレースを取るべき状態コードであるかを判定するために用いる。制御ユニット判別情報2314は、トレース情報がどの制御ユニットのものであるか示す情報をトレース情報に付加するために用いる。付属情報2315は、トレース対象の状態コードの処理を補足する情報をトレース情報に付加するために用いる。
【0063】
状態情報監視ユニット231内の各部は、図3のフローチャートに従い処理される。
【0064】
まず、状態情報監視ユニット231は、シーケンサ232の現在の状態がトレース対象か否かを判断するために、現在の状態コードCDと、トレース対象状態コード2312が一致したかを判定する(ステップS301)。一致した場合、その状態コードCDに時刻情報2311、制御ユニット判別情報2314及び付属情報2315を付加してトレース情報2313とする(ステップS302)。
【0065】
次に、状態情報監視ユニット231は、トレース情報を監視ユニット25へ送信する(ステップS303)。
【0066】
最後に、状態情報監視ユニット231は、トレース情報の監視ユニット25への送信が完了したかを確認して(ステップS304)、ステップS301に戻り処理を繰り返す。なお、トレース情報2313は、ホストインターフェース制御ユニット23の動作を停止させないよう、十分な容量を備える。
【0067】
図4は、メモリインターフェース制御ユニット26の動作概要を示す図である。図4を、ホストインターフェース制御ユニットの動作概要を示す図2と比較して明らかなように、ここにおいても、トレース情報管理の上では、ホストインターフェース制御ユニット23と同様に構成され、図3のフローチャート及び図4に示す動作概要に従い、トレース情報を監視ユニット25に送信する。唯一図2と図4で相違する点は、制御ユニット判別情報2314が、それぞれのユニットを示すという点である。
【0068】
次に、図5、図6及び図7を参照して、監視ユニット25がホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26からトレース情報を受信してから、トレース情報がメモリ28に備えられたトレース情報格納部281に格納されるまでの動作概要を説明する。
【0069】
図5は、そのトレース情報管理の全体動作概要の説明図であり、図6はトレース情報受信から監視ユニット25に備えられたトレース情報一時格納部252にトレース情報を格納する動作概要のフローチャートである。図7はトレース情報一時格納部252に格納されたトレース情報をメモリ28に備えられたトレース情報格納部281に格納するまでの動作概要を示すフローチャートである。
【0070】
図5に示すように、監視ユニット25は、トレース情報一時格納指示部251、トレース情報一時格納部252、トレース情報メモリ格納指示部253を備える。
【0071】
トレース情報一時格納指示部251は、ホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231及びメモリインターフェース制御ユニット26に備えられた状態情報監視ユニット261から送信されたトレース情報を受信し、受信したトレース情報の時刻情報を比較し、さらに、トレース情報をトレース情報一時格納部252の先頭ポインタ2521が指すトレース情報エリア2522に格納するための一連の処理を実行、指示する。トレース情報一時格納指示部251における一連の処理の具体事例がフローチャートとして図6に示されている。
【0072】
このため、トレース情報一時格納部252は、先頭ポインタ2521とトレース情報エリア2522を備える。先頭ポインタ2521は、次のトレース情報の格納位置を示すために用いる。トレース情報エリア2522は、トレース情報を格納するためのエリアであり、m個のエリアに分けられている。
【0073】
この結果、トレース情報一時格納部252のトレース情報エリア2522には、トレース情報が時刻情報の順番に一時格納される。
【0074】
引き続き監視ユニット25は、受信してトレース情報一時格納部252に保持したトレース情報を、メモリ28に備えられたトレース情報格納部281に格納する。これにより、格納待ちのためにホストインターフェース制御ユニット23及びメモリインターフェース制御ユニット26の動作が妨げられないようにする。
【0075】
トレース情報メモリ格納指示部253は、トレース情報一時格納部252に保持したトレース情報を、メモリインターフェース制御ユニット26を介してメモリ28に備えられたトレース情報格納部281の先頭ポインタ2811が指すトレース情報エリア2812に格納するための一連の処理を実行、指示する。トレース情報メモリ格納指示部253における一連の処理の具体事例がフローチャートとして図7に示されている。
【0076】
このためメモリ28は、トレース情報格納部281を備える。トレース情報格納部281は、先頭ポインタ2811とトレース情報エリア2812を備える。先頭ポインタ2811は、次のトレース情報の格納位置を示すために用いる。トレース情報エリア2812は、トレース情報を格納するためのエリアであり、n個のエリアに分けられている。
【0077】
次に、図6を参照して、トレース情報受信から監視ユニット25に備えられたトレース情報一時格納部252にトレース情報を一時格納するための具体的なフローチャートを説明する。
【0078】
図6において、まず、監視ユニット25に備えられたトレース情報一時格納指示部251は、トレース情報を受信したかを判定する(ステップS601)。トレース情報を受信した場合、さらに同時に複数のトレース情報を受信したか判定する(ステップS602)。
【0079】
同時に複数のトレース情報を受信した場合には、トレース情報一時格納指示部252は、ステップS603においてトレース情報の時刻情報を比較し、さらにステップS604において時刻情報が同一か判定する。
【0080】
時刻情報が同一の場合には、トレース情報に付加された制御ユニット判別情報を確認して優先順位の最も高いものを選択する(ステップS605)。また、時刻情報が同一ではない場合には、比較した中で時刻情報が古いトレース情報を選択する(ステップS606)。
【0081】
次に、トレース情報一時格納指示部251は、トレース情報一時格納部252の先頭ポインタ2521が指すトレース情報エリア2522にトレース情報を格納する(ステップS607)。
【0082】
次に、先頭ポインタ2521の値をインクリメントする(ステップS608)。インクリメントした結果、先頭ポインタ2521の値がトレース情報一時格納部252のトレース情報エリアの閾値m以上あるかを判定する(ステップS609)。
【0083】
閾値m以上であった場合には、先頭ポインタ2521の値を初期値に戻して(ステップS610)、ステップS601に戻り処理を繰り返す。
【0084】
なお、ステップS605にて優先順位ではなくラウンドロビン方式を用いてトレース情報を選択してもよい。
【0085】
次に、図7を参照してトレース情報一時格納部252に格納されたトレース情報を、メモリ28に備えられたトレース情報格納部281に格納を指示するための具体的なフローチャートを説明する。
【0086】
図7において、トレース情報メモリ格納指示部253は、トレース情報一時格納部252にトレース情報が格納されているかを判定する(ステップS701)。トレース情報が格納されている場合、トレース情報メモリ格納指示部253は、トレース情報一時格納部252に格納されたトレース情報を、メモリ28に備えられたトレース情報格納部281の先頭ポインタ2811が指すトレース情報エリア2812に格納する(ステップS702)。
【0087】
次に、トレース情報メモリ格納指示部253は、先頭ポインタ2811の値をインクリメントする(ステップS703)。インクリメントした結果、先頭ポインタ2811の値がトレース情報格納部281のトレース情報エリア2812の閾値n以上であるかを判定する(ステップS704)。
【0088】
閾値n以上であった場合には先頭ポインタ2811を初期値に戻して(ステップS705)、ステップS701に戻り処理を繰り返す。
【0089】
以上の動作により、ホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26のトレース情報は、監視ユニット25を介してメモリ28に備えられたトレース情報格納部281に格納される。なお、トレース情報格納部281は、障害発生時の解析に必要な量を格納できるよう十分な容量を確保する。
【0090】
図8に、監視ユニット25に備えられたトレース情報一時格納部252、メモリ28に備えられたトレース情報格納部281、不揮発性メモリB(29)に備えられたトレース情報格納部291に格納されるべきトレース情報の一例を示す。図8は、トレース情報格納部281に格納されたトレース情報の一例を示している。
【0091】
トレース情報格納部281に格納されたトレース情報は、トレース情報獲得時刻を示す時刻情報2813、トレース情報をトレースした制御ユニットを判別する制御ユニット判別情報2814、トレースしたシーケンサの状態コードを示す状態情報2815、及びトレースした処理に付随する補足情報を格納する付属情報2816により構成する。これらの情報は、いずれも制御ユニット23、26内の処理により取得され、得られた情報である。
【0092】
なお付属情報2816は、5つのデータを格納するようにしているが、データ数はこれに限らず、障害解析に必要十分な数を設定することができる。また、付属情報2816の例としては、データの書き込みに関するトレースでは、書き込み先のメモリのアドレスやデータ長、割り込み処理に関するトレースでは割り込み種別や状態、関連するコードなど複数の情報を格納する。
【0093】
次に、図9を参照して、エラー発生時の処理の例として、リード時にエラーが発生した場合の処理について説明する。図9はその処理を示すフローチャートである。図9は、基本的には記憶装置内のリード処理と、エラー発生時の処理を示したものであり、この中に本発明のトレース情報取得処理、およびトレース情報管理処理が入ってくる。フローチャート内で、アンダーラインを付した処理が本発明のトレース情報取得処理、およびトレース情報管理処理に関わる処理部分である。
【0094】
まず、ホストインターフェース制御ユニット23が、ホスト装置1よりリード指示を受ける(ステップS901)。
【0095】
次にホストインターフェース制御ユニット23は、マイクロプロセッサ21に対して、リード処理を依頼する。同時にホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231は、監視ユニット25へトレース情報を送信する(ステップS902)。
【0096】
次にマイクロプロセッサ21は、メモリインターフェース制御ユニット26にリード処理を依頼する。(ステップS903)。
【0097】
メモリインターフェース制御ユニット26は、不揮発性メモリA(27)からユーザデータを読み出し、メモリ28のユーザデータ格納部282へ格納する。同時にメモリインターフェース制御ユニット26に備えられた状態情報監視ユニット261は、監視ユニット25にトレース情報を送信する(ステップS904)。
【0098】
次にメモリインターフェース制御ユニット26は、マイクロプロセッサ21にリード準備完了を報告する。同時にメモリインターフェース制御ユニット26に備えられた状態情報監視ユニット261は、監視ユニット25へトレース情報を送信する(ステップS905)。
【0099】
次にユーザデータの読み出し中にエラーがあったかを判定する(ステップS906)。エラーがあった場合には、マイクロプロセッサ21は、ホストインターフェース制御ユニット26を介してデータ送信が異常終了したことを報告して(ステップS912)、ホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231が監視ユニット25にトレース情報を送信して(ステップS913)リード処理が終了する。
【0100】
ステップS906でエラーがない場合には、次にマイクロプロセッサ21は、ホストインターフェース制御ユニット23にリード処理を依頼する(ステップS907)。
【0101】
次にホストインターフェース制御ユニット23は、メモリインターフェース制御ユニット26を介して、メモリ28に備えられたユーザデータ格納部282のデータをホスト装置1へ送信する。同時にホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231とメモリインターフェース制御ユニット26に備えられた状態情報監視ユニット261は監視ユニット25にトレース情報を送信する(ステップS908)。
【0102】
次にホストインターフェース制御ユニット23は、マイクロプロセッサ21へデータの送信完了を報告する。同時にホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231は監視ユニット25にトレース情報を送信する(ステップS909)。
【0103】
次にステップS908のデータ送信中にエラーが有ったかを判定する(ステップS910)。エラーがあった場合には、マイクロプロセッサ21は、ホストインターフェース制御ユニット26を介してデータ送信が異常終了したことをホスト装置1に報告して(ステップS912)、次にホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231が監視ユニット25にトレース情報を送信して(ステップS913)リード処理が終了する。
【0104】
エラーがない場合には、マイクロプロセッサ21は、ホスト制御ユニット23を介してホスト装置1にデータ送信が正常に終了したことを報告する(ステップS911)。
【0105】
最後に、ホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231が監視ユニット25にトレース情報を送信して(ステップS913)リード処理が終了する。
【0106】
なお、図9は、リード処理の場合のフローチャートを示しているが、同様にしてライト処理のときにも本発明が実行できることは言うまでもない。
【0107】
ホスト装置1に正常にリード処理が完了しなかったことが報告された場合、障害要因を調査する必要がある。
【0108】
図9のフローチャートによれば、ステップS902、S904、S905、S908、S909、S912においてリード処理に関係したホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26のトレース情報が監視ユニット25に送信され、メモリ28に備えられたトレース情報格納部281に格納されている。従って、そのトレース情報を参照することで、どの処理においてエラーが発生していたかを解析することが可能となるため、効率的に記憶装置の障害発生時における障害解析処理を行うことができる。
【0109】
また、エラーが発生した場合には、まず監視ユニット25に備えられたトレース情報一時格納部252内の全てのトレース情報を、メモリ28に備えられたトレース情報格納部281に格納する。
【0110】
次にマイクロプロセッサ21は、メモリインターフェース制御ユニット26に対して、メモリ28に備えられたトレース情報格納部281に格納されたトレース情報を不揮発性メモリB(29)に備えられたトレース情報格納部291に格納するように依頼する。これにより、トレース情報が不揮発性メモリB(29)に格納されるため、記憶装置2の電源断後であったとしても、トレース情報が消去されずに保存されており、もし電源が切断されてしまった場合でもデバッグ用外部接続ユニット24を介してトレース情報を参照して障害解析を行なうことができる。
【0111】
最後に、具体的なリード、ライト処理の実行手順並びに、このときに生成されたトレース情報の具体事例について説明する。
【0112】
図10は、ライト処理のときにホストインターフェース制御ユニット23、メモリインターフェース制御ユニット26で実行されるシーケンスと、そのときにマイクロプロセッサ21や記憶部Bとの間でやり取りされる処理の具体例を示している。その概略は以下のようである。なおここで実線の矢印がシーケンサの状態遷移を表し、点線の矢印がこの状態のときの指示、処理、あるいはデータの移動を示している。なお、この図で矢印に付した丸付き数字は、処理の順番を意味している。
【0113】
ここではホストインターフェース制御ユニット23で実行されるシーケンスを、H1,HW1,HW2,HW3,HW4,HW5で示し、それぞれに関わる指示、処理、あるいはデータの移動は、ライト処理要求受信(H1)、マイクロプロセッサ21に対するライト処理要求(HW1)、マイクロプロセッサ21からの書き込みアドレス受信(HW2)、データライト(HW3)、マイクロプロセッサ21に対するライト処理完了報告依頼要求(HW4)、マイクロプロセッサ21からの報告依頼並びにホストに対するステータス報告(HW5)である。
【0114】
また、メモリインターフェース制御ユニット26で実行されるシーケンスを、M1,MW1,MW2,MW3で示し、それぞれに関わる指示、処理、あるいはデータの移動は、不揮発性メモリへのライト処理要求(M1),データライト(MW3)、不揮発性メモリへのライト処理完了報告(MW2)である。
【0115】
図11は、リード処理のときにホストインターフェース制御ユニット23、メモリインターフェース制御ユニット26で実行されるシーケンスと、そのときにマイクロプロセッサ21や記憶部Bとの間でやり取りされる処理の具体例を示している。
【0116】
図11の表記の約束は図10と全く同じであるので、図10と相違する部分のみを説明する。第1点は、リード処理のときにホストインターフェース制御ユニット23で実行されるシーケンスを、HRと表記し、メモリインターフェース制御ユニット26で実行されるシーケンスを、MRで示した点である。
【0117】
第2点は、ホストインターフェース制御ユニット23のHR2でエラー発生したとして、各部を表記している点であり、これによりHR2の処理が変更される可能性がある。本来は、マイクロプロセッサ21からの処理内容がリード処理開始要求であるが、エラーによりエラー報告依頼に変更されることになる。また、HR2に関連するメモリインターフェース制御ユニット26側の処理MR2も内容変更される可能性がある。本来は、マイクロプロセッサ21に対するリード準備正常完了報告とすべきところ、エラーによりリード準備異常完了報告に変更されることになる。
【0118】
この図11の表記内容は、図10の考えが理解できれば容易にわかることなのでここでの説明は省略する。
【0119】
図12は、図10のライト処理が正常に実行され、続いて行った図11のリード処理の途中でエラー発生したときに、メモリ28に備えられたトレース情報格納部281に格納されたトレース情報の具体事例を示している。
【0120】
この図の表記は基本的に図8と同じであり、左側から時刻情報2813、制御ユニット判別情報2813(Hはホストインターフェース制御ユニット23、Mはメモリインターフェース制御ユニット26を意味する)、状態情報2815(図10、図11のシーケンサの記号で表記)、付属情報2816を表している。なお、付属情報2816としては、コマンド(ライト処理、リード処理の区別)、ホスト装置が指定したアドレスLBA,データサイズ、メモリの物理アドレス、不揮発性メモリの物理アドレス、ステータス(処理の正常、異常の区別)を示している。
【0121】
図9で説明したように、ホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26は、マイクロプロセッサ21あるいはホスト装置からの指示で動作したときに監視ユニット25にトレース情報を送信し、図12の履歴を記録として備えていく。図12の事例では時刻0100から0180までライト処理を実行し、時刻0200からリード処理に入っていた。そしてリード処理中の時刻0235において、例えばECCエラーが発生した。
【0122】
外部情報処理装置4に図12の内容を表示或いは印刷してこの内容を仔細に検討すると、時刻0235において、ECCエラーが発生した。時刻0225をみると、ECCエラーが発生したデータは、不揮発性メモリの物理アドレス2000に格納されていたデータであることが判る。そこで、不揮発性メモリの物理アドレス2000へのライト情報を検討する。時刻0165,0175のトレース情報をみると、不揮発性メモリの物理アドレス2000に書き込む予定のデータが、不揮発性メモリの物理アドレス2100に書き込まれてしまっている。この結果、何も書き込まれていない不揮発性メモリの物理アドレス2000のデータをリードしようとしてECCエラーが発生したと考えられる。
【符号の説明】
【0123】
1:ホスト装置
2:記憶装置
3:データバス
4:外部情報処理装置
21:マイクロプロセッサ
22:時刻配信ユニット
23:ホストインターフェース(I/F)制御ユニット
231、261:状態情報監視ユニット
2311、2611:時刻情報
2312、2612:トレース対処状態コード
2313、2613:トレース情報
2314、2614:制御ユニット判別情報
2315、2615:付属情報
232、262:シーケンサ
24:デバッグ用外部接続ユニット
25:監視ユニット
26:メモリインターフェース(I/F)制御ユニット
27:不揮発性メモリA
28:メモリ
29:不揮発性メモリB
251:トレース情報一時格納指示部
252:トレース情報一時格納部
2521、2811:先頭ポインタ
2522、2812:トレース情報エリア
253:トレース情報メモリ格納指示部
261:状態情報監視ユニット
2611:時刻情報
2612:トレース対象状態コード
281:トレース情報格納部
2813:時刻情報
2814:制御ユニット判別情報
2815:状態情報
2816:付属情報
282:ユーザデータ格納部
291:トレース情報格納部
【技術分野】
【0001】
本発明は、情報処理装置に適用される記憶方法および記憶装置に関し、特に不揮発性メモリを用いた記憶方法および記憶装置に関する。
【背景技術】
【0002】
近年、情報処理装置に適用される記憶装置として、従来のハードディスクドライブ(HDD)に代わって不揮発性メモリの中で特にフラッシュメモリ(flash memory)を記憶媒体とした記憶装置が用いられている。このフラッシュメモリを記憶媒体とした記憶装置の中で、従来のHDDと同じ接続インターフェース規格、例えば、SCSI(Small Computer System Interface)規格やATA(Advanced Technology Attachment)規格等を持つものに、ソリッドステートドライブ(SSD:Solid State Drive)がある。
【0003】
SSDは、従来のHDDと異なりディスクを持たないため、ディスクの駆動部分がなく、耐衝撃性に優れている。また、シーク時間やスピンアップ時間がないため、データの読み書きが高速に行えるという長所がある。一方、容量当たりの単価が高い点や、書き込み耐性が低く、書き換え可能回数の上限があるなどの短所がある。
【0004】
また、フラッシュメモリを記憶媒体とする記憶装置の制御は複雑化しており、多くの障害要因が考えられる。このため障害解析が難しくなってきている。従来、情報処理装置においては、障害発生時にCPU(Central Processing Unit)の動作トレースをメモリダンプすることで、障害要因を突き止める手法がとられてきた。しかし、記憶装置内部処理のハードウェアの動作トレースは実施されておらず、記憶装置の障害解析に多くの時間が費やされるという場合があった。
【0005】
特許文献1には、LSIを含むシステムの動作状態、及び、伝送回路における物理層回路およびリンク層回路を含むトレース対象からの障害発生通知に基づき、格納すべきトレースデータを決定しトレースを行う技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−205064号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の技術では、障害発生通知をした対象にエラー発生時のトレース対象を絞るため、障害原因が障害発生箇所以外にある場合、障害解析が不可能となる場合がある。
【0008】
本発明は上記のような障害原因が複数ある場合にも対応するためになされたものであり、記憶装置を制御する複数の制御ユニットのトレース情報を時系列に順序が分かるように保存する記憶方法および記憶装置を提供し、記憶装置の障害発生時の障害解析処理を効率化することを課題とする。
【課題を解決するための手段】
【0009】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照する。
【0010】
また、トレース情報は、状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む。
【0011】
また、複数の制御ユニットのシーケンサ機能における動作状態のうち、予め定められた動作状態のときに、動作状態を示す状態情報に時刻情報を付加したトレース情報を得る。
【0012】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットと、複数の制御ユニットに接続された伝送バスと、伝送バスに接続された監視ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットでは、そのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報としてこれを監視ユニットに伝送し、監視ユニットではトレース情報を一時格納したのち複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照する。
【0013】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、複数の制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の制御ユニットからの複数のトレース情報を時系列に順序が分かるようにメモリに格納し、エラーが発生した場合に複数のトレース情報を時系列に整理された状態で参照するとともに、複数の制御ユニットにおけるシーケンサ機能では、当該制御ユニットから外部に処理の指示を与え、また外部から処理結果を得る動作状態を含み、トレース情報は処理の指示を与えたとき、または外部から処理結果を得た動作状態のときに作成される。
【0014】
前記課題を解決するために、本発明は記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされた記憶装置において、複数の制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、状態情報監視ユニットからトレース情報を受け取り、時系列に順序が分かるようにメモリに備えられたトレース情報格納部に格納する監視ユニットを備える。
【0015】
また、状態情報監視ユニットと、監視ユニットの機能をハードウェアにて実現する。
【0016】
また、状態情報監視ユニットは、制御ユニットを制御するシーケンサの現在の状態情報がトレース対象の状態情報に遷移した際に、トレース情報を生成すると共に、トレース情報は状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む形式のトレース情報として監視ユニットに送信される。
【0017】
また、監視ユニットは、トレース情報を各制御ユニットから受信して、時刻の古い順にトレース情報一時格納部に格納し、トレース情報がトレース情報一時格納部に格納されたらトレース情報をメモリのトレース情報格納部に格納する指示をする。
【0018】
また、エラーが発生した場合に、トレース情報一時格納部に格納されている全てのトレース情報をトレース情報格納部に格納する。
【0019】
また、エラーが発生した場合に、トレース情報格納部に格納された全てのトレース情報を不揮発性メモリに格納する。
【0020】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置にメモリに格納されたトレース情報を読み出す。
【0021】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置にトレース情報格納部に格納されたトレース情報を読み出す。
【0022】
また、メモリと、複数の制御ユニットと、監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、外部接続ユニットで接続された外部情報処理装置に前記トレース情報一時格納部に格納されたトレース情報を読み出す。
【0023】
前記課題を解決するために、本発明は伝送路で接続されたホスト装置からの読み書き要求により作動する記憶装置であって、第1の内部伝送路に接続されたマイクロプロセッサ、第2の内部伝送路に接続され不揮発性メモリを含む記憶部、第1の内部伝送路と伝送路に接続されたホストインターフェース制御ユニット、第1の内部伝送路と第2の伝送路に接続されたメモリインターフェース制御ユニットを備え、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、マイクロプロセッサの指示により記憶部とホスト装置の間でデータの読み書きを実行するとともにユニット内の処理手順を制御するためのシーケンサを備える記憶装置において、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに設けられ、シーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、第1の内部伝送路に接続され状態情報監視ユニットからのトレース情報を一時記憶し、メモリインターフェース制御ユニットを介して一時記憶したトレース情報を記憶部に記憶する。
【0024】
また、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、マイクロプロセッサの指示により記憶部と前記ホスト装置の間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、監視ユニットに送信する。
【0025】
また、ホストインターフェース制御ユニットは、ホスト装置の指示によりマイクロプロセッサの間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、監視ユニットに送信する。
【0026】
また、マイクロプロセッサは、ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに対してデータの読み書きに関連する処理を指示すると共に、処理中のエラー発生を検知したときに監視ユニットに一時記憶していた全てのトレース情報を記憶部の不揮発性メモリに格納する。
【発明の効果】
【0027】
本発明によると、記憶装置の障害発生時には、記憶装置内の複数の制御ユニットの各々のトレース情報をメモリあるいは不揮発性メモリから、時系列に順序が分かる状態で取得することにより、障害解析を効率的に行うことができる。
【図面の簡単な説明】
【0028】
【図1】情報処理装置の構成例を示すブロック図。
【図2】ホストインターフェース制御ユニットでのトレース情報取得動作概要を示す図。
【図3】図2のトレース情報取得動作概要のフローチャートを示す図。
【図4】メモリインターフェース制御ユニットでのトレース情報取得動作概要を示す図。
【図5】トレース情報管理の全体動作概要の説明図。
【図6】トレース情報を一時格納する方法を示すフォローチャートを示す図。
【図7】一時格納トレース情報をメモリ格納するフローチャートを示す図。
【図8】格納されたトレース情報のデータ構成例を示す図。
【図9】リード中のエラー発生時の処理を示すフローチャート示す図。
【図10】ライト処理のときのシーケンスと処理の具体例を示す図。
【図11】リード処理のときのシーケンスと処理の具体例を示す図。
【図12】図10、図11のときの具体的なデータ構成例を示す図。
【発明を実施するための形態】
【0029】
以下、本発明の実施の形態を、図面を参照して説明する。
【実施例】
【0030】
本発明の実施形態例を、図1を参照して説明する。図1に、本例による情報処理装置の構成例を示す。本例の情報処理装置は、コンピュータなどで構成されたホスト装置1と、ホスト装置1とデータバス3で接続される記憶装置2で構成する。記憶装置2は、ホスト装置1からの命令に従い、データの読み書きなどの動作を行う。
【0031】
次に、記憶装置2の内部構成例について説明する。記憶装置2は、その内部の機能を大別すると、データを記憶する記憶部分Aと、各種の制御、監視を行う制御・監視部分Bに分けられる。
【0032】
このうち、記憶装置2の記憶部分Aは、記憶装置2のバッファ等として機能するメモリ28、ユーザデータを格納する不揮発性メモリA(27)、トレース情報を格納する不揮発性メモリB(29)で構成される。
【0033】
また、制御・監視部分Bは、さらに制御部分B1と、監視部分B2に分けることができる。このうち、制御部分B1はホスト装置1からの命令に従い、データの読み書きなどの動作を行う部分であり、データバス3を介してホスト装置1との間での情報のやり取りを行うホストインターフェース(I/F)制御ユニット23、記憶装置2内の制御を行なうマイクロプロセッサ21、メモリへのデータの読み書きを制御するメモリインターフェース(I/F)制御ユニット26を主たる要素として構成されている。
【0034】
本発明は、記憶装置内の障害原因を究明するためにトレース情報を管理するものであり、制御・監視部分Bのうち、監視部分B2がこれを実行する。また、監視部分B2がトレース情報を管理するために、制御部分B1及び記憶部分Aの各所にトレースのための情報を保持している。
【0035】
監視部分B2は、ホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26に時刻を配信する時刻配信ユニット22、ホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26のトレース情報の書込みを制御する監視ユニット25を主たる要素として構成されている。
【0036】
図1において、太枠で示す部分が監視部分B2並びにトレース情報を管理するために備えられた部分である。
【0037】
なお、図1の情報処理装置としては記憶装置2以外に外部情報処理装置4を備えてもよく、この場合に記憶装置2の内部に、外部情報処理装置4と接続するデバッグ用外部接続ユニット24を備える。
【0038】
本発明では、記憶装置2内に上記構成を備え、この構成を用いて故障発生箇所のトレース情報管理を実行する。次に、記憶装置2の基本動作と、トレース情報管理動作について説明する。まず、記憶装置2の基本動作について説明する。これは、ホスト装置1からの命令に従い、データの読み書きなどの動作を行うことである。
【0039】
ホストインターフェース制御ユニット23は、データバス3を介してホスト装置1の要求を受け取ると、マイクロプロセッサ21にホスト装置1の要求を通知する。その後、マイクロプロセッサ21から動作指示を受けると、その指示に従いメモリインターフェース制御ユニット26に対する動作を行う。
【0040】
例えば、マイクロプロセッサ21からの動作指示がリードであった場合、ホストインターフェース制御ユニット23はメモリインターフェース制御ユニット26からデータを受け取り、データバス3を介してホスト装置1に転送する。また、マイクロプロセッサ21からの動作指示がライトの場合、メモリインターフェース制御ユニット26にホスト装置1から受け取ったデータを転送する。
【0041】
マイクロプロセッサ21は、ホスト装置1からの指示に従い、不揮発性メモリA(27)に対するユーザデータの書込みおよび読み出しを制御する。
【0042】
メモリインターフェース制御ユニット26は、マイクロプロセッサ21からの動作指示を受け、ホストインターフェース制御ユニット23、不揮発性メモリA(27)、メモリ28、不揮発性メモリB(29)とデータのやり取りを行う。
【0043】
次に、記憶装置2内のトレース情報管理動作について説明する。トレース情報管理のために、本発明においては制御部分Bを構成する制御ユニット23、26に状態情報監視ユニットを備えている。
【0044】
まず、ホストインターフェース制御ユニット23には、時刻情報2311とトレース対象状態コード2312を有する状態情報監視ユニット231と、ホスト制御インターフェースを制御するシーケンサ232を備える。時刻情報2311は、時刻配信ユニット22から配信された時刻情報を格納する。トレース対象状態コード2312は、トレース対象となるシーケンサ232の状態コードを格納する。状態情報監視ユニット231は、シーケンサ232の状態を監視し、状態がトレース対象の状態へ遷移した場合に状態コードに時刻情報を付加して、トレース情報として監視ユニット25に送信する。
【0045】
また、メモリインターフェース制御ユニット26には、時刻情報2611とトレース対象状態コード2612を有する状態情報監視ユニット261とメモリインターフェース制御ユニット26を制御するシーケンサ262を備える。時刻情報2611は時刻配信ユニット22から配信された時刻情報を格納する。トレース対象状態コード2612はトレース対象となるシーケンサ262の状態コードを格納する。状態情報監視ユニット261は、シーケンサ262の状態を監視し、状態がトレース対象の状態へ遷移した場合に状態コードに時刻情報を付加して、トレース情報として監視ユニット25に送信する。
【0046】
制御ユニット23、26に設けた状態情報監視ユニットは、要するに制御ユニット23、26内の処理手順を記憶しているシーケンサの進展具合を監視しており、シーケンスに渋滞などの異常が発生した場合に、その異常箇所並びに異常発生時刻を記憶して、監視ユニット25に報告する機能を果たしている。なお、シーケンサ管理の考え方については、図2、図3、図4を用いて詳細に後述する。
【0047】
時刻配信ユニット22は、記憶装置2内のホストインターフェース制御ユニット23に備えられた時刻情報2311とメモリインターフェース制御ユニット26に備えられた時刻情報2611に時刻情報を配信する。なお、マイクロプロセッサ21より時刻配信が可能である場合には、時刻配信ユニット22は必ずしも必要ではない。
【0048】
制御ユニット23、26からのトレース情報を受理する監視ユニット25には、トレース情報一時格納指示部251、トレース情報一時格納部252、トレース情報メモリ格納指示部253を備える。
【0049】
トレース情報一時格納指示部251は、ホストインターフェース制御ユニット23から送信されたトレース情報とメモリインターフェース制御ユニット26から送信されたトレース情報の時刻情報を比較し、トレース情報を時刻の古い順にトレース情報一時格納部252に格納する。時刻が一致したトレース情報が存在した場合は、制御ユニットごとに付けられた優先順位に従い、トレース情報一時格納部252に格納する。トレース情報一時格納部252は、トレース情報を一時格納するためのバッファとして用いる。トレース情報一時格納指示部251における処理フローについて、図6を用いて詳細に後述する。
【0050】
トレース情報メモリ格納指示部253は、トレース情報一時格納部252に格納されたトレース情報を、メモリインターフェース制御ユニット26を介してメモリ28に備えられたトレース情報格納部281に送信する。トレース情報メモリ格納指示部253における処理フローについて、図7を用いて詳細に後述する。
【0051】
本発明におけるトレース情報管理のために、記憶装置2の記憶部分Aを構成する各メモリの役割は、次の通りとされる。
【0052】
まず不揮発性メモリA(27)は、ユーザデータ格納部271を備え、ユーザデータを保持し、メモリ28に備えられたユーザデータ格納部282に格納されたユーザデータの読み書きを行うために用いる。
【0053】
これに対し、不揮発性メモリB(29)は、トレース情報格納部291を備え、メモリ28に備えられたトレース情報格納部281に格納されたトレース情報を読み書きするために用いる。なお、不揮発性メモリA(27)と不揮発性メモリB(29)は、1つの不揮発性メモリを2つの領域に分割し、ユーザデータを格納する領域とトレース情報を格納する領域に割り当てて構成してもよい。
【0054】
メモリ28には、トレース情報格納部281、ユーザデータ格納部282を備える。トレース情報格納部281は、監視ユニット25内に一時的に格納したホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26のトレース情報を格納するために用いる。なお、ユーザデータ格納部282は、ホスト装置1との間でユーザデータの読み書きを行なう際に、不揮発性メモリA(27)から読み出したユーザデータ、または不揮発性メモリA(27)に書き込むユーザデータを一時格納するためのバッファとして用いる。
【0055】
トレース情報格納部281、291について、図8を用いて詳細に後述する。
【0056】
デバッグ用外部接続ユニット24は、記憶装置2にパーソナルコンピュータ(PC:Personal Computer)などの外部情報処理装置4を接続するためのインターフェースとして設ける。外部情報処理装置4とデバッグ用外部接続ユニット24を接続することにより、監視ユニット25に備えられたトレース情報一時格納部252、メモリ28に備えられたトレース情報格納部281及び不揮発性メモリB(29)に備えられたトレース情報格納部291に格納されたトレース情報を確認することができる。
【0057】
また、ホストインターフェース制御ユニット23、メモリインターフェース制御ユニット26、不揮発性メモリA(27)、時刻配信ユニット22及びマイクロプロセッサ21内の情報を確認できるようにしてもよい。なお、デバッグ用外部接続ユニット24のインターフェースとしては、マイクロプロセッサのデバッグポートを用いることもできる。
【0058】
以下、本発明のトレース情報管理について図面を参照して詳細に説明する。まず、ホストインターフェース制御ユニット23と、メモリインターフェース制御ユニット26のトレース情報の保存方法について説明する。
【0059】
図2および図3を参照して、ホストインターフェース制御ユニット23においてトレース情報を監視ユニット25に送信するまでの動作概要を説明する。図2は、トレース情報取得の動作概要の説明図である。図3はその動作概要のフローチャートである。
【0060】
図2のように、ホストインターフェース制御ユニット23は状態情報監視ユニット231及びシーケンサ232を備える。
【0061】
まず、シーケンサ232の役割について説明すると、これはホストインターフェース制御ユニット23内の処理手順を制御する。シーケンサ232の状態(処理手順)には、各々状態コードが付けられている。状態コードはホストインターフェース制御ユニット23内でユニークな値である。シーケンサ232の現在の状態コードは、状態情報監視ユニット231に常に出力されている。図2左側のシーケンサ232内の図示は、状態の遷移の例を示しており、例えば状態コード−2、−1、00、01、02の順に順次遷移し、状態コード02では、条件に応じて03に移る場合と、04に移る場合とがあるが、その一連の処理終了後には、最初の状態コード00に戻り、同じ処理を繰り返す事例を示している。
【0062】
図2右側に示す状態情報監視ユニット231は、時刻情報2311、トレース対象状態コード2312、トレース情報2313、制御ユニット判別情報2314及び付属情報2315を備える。時刻情報2311はシーケンサ232がトレース対象となる状態コードに遷移した時刻をトレース情報に付加するために用いる。トレース対象状態コード2312は、シーケンサ232の現在の状態コードCDがトレースを取るべき状態コードであるかを判定するために用いる。制御ユニット判別情報2314は、トレース情報がどの制御ユニットのものであるか示す情報をトレース情報に付加するために用いる。付属情報2315は、トレース対象の状態コードの処理を補足する情報をトレース情報に付加するために用いる。
【0063】
状態情報監視ユニット231内の各部は、図3のフローチャートに従い処理される。
【0064】
まず、状態情報監視ユニット231は、シーケンサ232の現在の状態がトレース対象か否かを判断するために、現在の状態コードCDと、トレース対象状態コード2312が一致したかを判定する(ステップS301)。一致した場合、その状態コードCDに時刻情報2311、制御ユニット判別情報2314及び付属情報2315を付加してトレース情報2313とする(ステップS302)。
【0065】
次に、状態情報監視ユニット231は、トレース情報を監視ユニット25へ送信する(ステップS303)。
【0066】
最後に、状態情報監視ユニット231は、トレース情報の監視ユニット25への送信が完了したかを確認して(ステップS304)、ステップS301に戻り処理を繰り返す。なお、トレース情報2313は、ホストインターフェース制御ユニット23の動作を停止させないよう、十分な容量を備える。
【0067】
図4は、メモリインターフェース制御ユニット26の動作概要を示す図である。図4を、ホストインターフェース制御ユニットの動作概要を示す図2と比較して明らかなように、ここにおいても、トレース情報管理の上では、ホストインターフェース制御ユニット23と同様に構成され、図3のフローチャート及び図4に示す動作概要に従い、トレース情報を監視ユニット25に送信する。唯一図2と図4で相違する点は、制御ユニット判別情報2314が、それぞれのユニットを示すという点である。
【0068】
次に、図5、図6及び図7を参照して、監視ユニット25がホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26からトレース情報を受信してから、トレース情報がメモリ28に備えられたトレース情報格納部281に格納されるまでの動作概要を説明する。
【0069】
図5は、そのトレース情報管理の全体動作概要の説明図であり、図6はトレース情報受信から監視ユニット25に備えられたトレース情報一時格納部252にトレース情報を格納する動作概要のフローチャートである。図7はトレース情報一時格納部252に格納されたトレース情報をメモリ28に備えられたトレース情報格納部281に格納するまでの動作概要を示すフローチャートである。
【0070】
図5に示すように、監視ユニット25は、トレース情報一時格納指示部251、トレース情報一時格納部252、トレース情報メモリ格納指示部253を備える。
【0071】
トレース情報一時格納指示部251は、ホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231及びメモリインターフェース制御ユニット26に備えられた状態情報監視ユニット261から送信されたトレース情報を受信し、受信したトレース情報の時刻情報を比較し、さらに、トレース情報をトレース情報一時格納部252の先頭ポインタ2521が指すトレース情報エリア2522に格納するための一連の処理を実行、指示する。トレース情報一時格納指示部251における一連の処理の具体事例がフローチャートとして図6に示されている。
【0072】
このため、トレース情報一時格納部252は、先頭ポインタ2521とトレース情報エリア2522を備える。先頭ポインタ2521は、次のトレース情報の格納位置を示すために用いる。トレース情報エリア2522は、トレース情報を格納するためのエリアであり、m個のエリアに分けられている。
【0073】
この結果、トレース情報一時格納部252のトレース情報エリア2522には、トレース情報が時刻情報の順番に一時格納される。
【0074】
引き続き監視ユニット25は、受信してトレース情報一時格納部252に保持したトレース情報を、メモリ28に備えられたトレース情報格納部281に格納する。これにより、格納待ちのためにホストインターフェース制御ユニット23及びメモリインターフェース制御ユニット26の動作が妨げられないようにする。
【0075】
トレース情報メモリ格納指示部253は、トレース情報一時格納部252に保持したトレース情報を、メモリインターフェース制御ユニット26を介してメモリ28に備えられたトレース情報格納部281の先頭ポインタ2811が指すトレース情報エリア2812に格納するための一連の処理を実行、指示する。トレース情報メモリ格納指示部253における一連の処理の具体事例がフローチャートとして図7に示されている。
【0076】
このためメモリ28は、トレース情報格納部281を備える。トレース情報格納部281は、先頭ポインタ2811とトレース情報エリア2812を備える。先頭ポインタ2811は、次のトレース情報の格納位置を示すために用いる。トレース情報エリア2812は、トレース情報を格納するためのエリアであり、n個のエリアに分けられている。
【0077】
次に、図6を参照して、トレース情報受信から監視ユニット25に備えられたトレース情報一時格納部252にトレース情報を一時格納するための具体的なフローチャートを説明する。
【0078】
図6において、まず、監視ユニット25に備えられたトレース情報一時格納指示部251は、トレース情報を受信したかを判定する(ステップS601)。トレース情報を受信した場合、さらに同時に複数のトレース情報を受信したか判定する(ステップS602)。
【0079】
同時に複数のトレース情報を受信した場合には、トレース情報一時格納指示部252は、ステップS603においてトレース情報の時刻情報を比較し、さらにステップS604において時刻情報が同一か判定する。
【0080】
時刻情報が同一の場合には、トレース情報に付加された制御ユニット判別情報を確認して優先順位の最も高いものを選択する(ステップS605)。また、時刻情報が同一ではない場合には、比較した中で時刻情報が古いトレース情報を選択する(ステップS606)。
【0081】
次に、トレース情報一時格納指示部251は、トレース情報一時格納部252の先頭ポインタ2521が指すトレース情報エリア2522にトレース情報を格納する(ステップS607)。
【0082】
次に、先頭ポインタ2521の値をインクリメントする(ステップS608)。インクリメントした結果、先頭ポインタ2521の値がトレース情報一時格納部252のトレース情報エリアの閾値m以上あるかを判定する(ステップS609)。
【0083】
閾値m以上であった場合には、先頭ポインタ2521の値を初期値に戻して(ステップS610)、ステップS601に戻り処理を繰り返す。
【0084】
なお、ステップS605にて優先順位ではなくラウンドロビン方式を用いてトレース情報を選択してもよい。
【0085】
次に、図7を参照してトレース情報一時格納部252に格納されたトレース情報を、メモリ28に備えられたトレース情報格納部281に格納を指示するための具体的なフローチャートを説明する。
【0086】
図7において、トレース情報メモリ格納指示部253は、トレース情報一時格納部252にトレース情報が格納されているかを判定する(ステップS701)。トレース情報が格納されている場合、トレース情報メモリ格納指示部253は、トレース情報一時格納部252に格納されたトレース情報を、メモリ28に備えられたトレース情報格納部281の先頭ポインタ2811が指すトレース情報エリア2812に格納する(ステップS702)。
【0087】
次に、トレース情報メモリ格納指示部253は、先頭ポインタ2811の値をインクリメントする(ステップS703)。インクリメントした結果、先頭ポインタ2811の値がトレース情報格納部281のトレース情報エリア2812の閾値n以上であるかを判定する(ステップS704)。
【0088】
閾値n以上であった場合には先頭ポインタ2811を初期値に戻して(ステップS705)、ステップS701に戻り処理を繰り返す。
【0089】
以上の動作により、ホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26のトレース情報は、監視ユニット25を介してメモリ28に備えられたトレース情報格納部281に格納される。なお、トレース情報格納部281は、障害発生時の解析に必要な量を格納できるよう十分な容量を確保する。
【0090】
図8に、監視ユニット25に備えられたトレース情報一時格納部252、メモリ28に備えられたトレース情報格納部281、不揮発性メモリB(29)に備えられたトレース情報格納部291に格納されるべきトレース情報の一例を示す。図8は、トレース情報格納部281に格納されたトレース情報の一例を示している。
【0091】
トレース情報格納部281に格納されたトレース情報は、トレース情報獲得時刻を示す時刻情報2813、トレース情報をトレースした制御ユニットを判別する制御ユニット判別情報2814、トレースしたシーケンサの状態コードを示す状態情報2815、及びトレースした処理に付随する補足情報を格納する付属情報2816により構成する。これらの情報は、いずれも制御ユニット23、26内の処理により取得され、得られた情報である。
【0092】
なお付属情報2816は、5つのデータを格納するようにしているが、データ数はこれに限らず、障害解析に必要十分な数を設定することができる。また、付属情報2816の例としては、データの書き込みに関するトレースでは、書き込み先のメモリのアドレスやデータ長、割り込み処理に関するトレースでは割り込み種別や状態、関連するコードなど複数の情報を格納する。
【0093】
次に、図9を参照して、エラー発生時の処理の例として、リード時にエラーが発生した場合の処理について説明する。図9はその処理を示すフローチャートである。図9は、基本的には記憶装置内のリード処理と、エラー発生時の処理を示したものであり、この中に本発明のトレース情報取得処理、およびトレース情報管理処理が入ってくる。フローチャート内で、アンダーラインを付した処理が本発明のトレース情報取得処理、およびトレース情報管理処理に関わる処理部分である。
【0094】
まず、ホストインターフェース制御ユニット23が、ホスト装置1よりリード指示を受ける(ステップS901)。
【0095】
次にホストインターフェース制御ユニット23は、マイクロプロセッサ21に対して、リード処理を依頼する。同時にホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231は、監視ユニット25へトレース情報を送信する(ステップS902)。
【0096】
次にマイクロプロセッサ21は、メモリインターフェース制御ユニット26にリード処理を依頼する。(ステップS903)。
【0097】
メモリインターフェース制御ユニット26は、不揮発性メモリA(27)からユーザデータを読み出し、メモリ28のユーザデータ格納部282へ格納する。同時にメモリインターフェース制御ユニット26に備えられた状態情報監視ユニット261は、監視ユニット25にトレース情報を送信する(ステップS904)。
【0098】
次にメモリインターフェース制御ユニット26は、マイクロプロセッサ21にリード準備完了を報告する。同時にメモリインターフェース制御ユニット26に備えられた状態情報監視ユニット261は、監視ユニット25へトレース情報を送信する(ステップS905)。
【0099】
次にユーザデータの読み出し中にエラーがあったかを判定する(ステップS906)。エラーがあった場合には、マイクロプロセッサ21は、ホストインターフェース制御ユニット26を介してデータ送信が異常終了したことを報告して(ステップS912)、ホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231が監視ユニット25にトレース情報を送信して(ステップS913)リード処理が終了する。
【0100】
ステップS906でエラーがない場合には、次にマイクロプロセッサ21は、ホストインターフェース制御ユニット23にリード処理を依頼する(ステップS907)。
【0101】
次にホストインターフェース制御ユニット23は、メモリインターフェース制御ユニット26を介して、メモリ28に備えられたユーザデータ格納部282のデータをホスト装置1へ送信する。同時にホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231とメモリインターフェース制御ユニット26に備えられた状態情報監視ユニット261は監視ユニット25にトレース情報を送信する(ステップS908)。
【0102】
次にホストインターフェース制御ユニット23は、マイクロプロセッサ21へデータの送信完了を報告する。同時にホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231は監視ユニット25にトレース情報を送信する(ステップS909)。
【0103】
次にステップS908のデータ送信中にエラーが有ったかを判定する(ステップS910)。エラーがあった場合には、マイクロプロセッサ21は、ホストインターフェース制御ユニット26を介してデータ送信が異常終了したことをホスト装置1に報告して(ステップS912)、次にホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231が監視ユニット25にトレース情報を送信して(ステップS913)リード処理が終了する。
【0104】
エラーがない場合には、マイクロプロセッサ21は、ホスト制御ユニット23を介してホスト装置1にデータ送信が正常に終了したことを報告する(ステップS911)。
【0105】
最後に、ホストインターフェース制御ユニット23に備えられた状態情報監視ユニット231が監視ユニット25にトレース情報を送信して(ステップS913)リード処理が終了する。
【0106】
なお、図9は、リード処理の場合のフローチャートを示しているが、同様にしてライト処理のときにも本発明が実行できることは言うまでもない。
【0107】
ホスト装置1に正常にリード処理が完了しなかったことが報告された場合、障害要因を調査する必要がある。
【0108】
図9のフローチャートによれば、ステップS902、S904、S905、S908、S909、S912においてリード処理に関係したホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26のトレース情報が監視ユニット25に送信され、メモリ28に備えられたトレース情報格納部281に格納されている。従って、そのトレース情報を参照することで、どの処理においてエラーが発生していたかを解析することが可能となるため、効率的に記憶装置の障害発生時における障害解析処理を行うことができる。
【0109】
また、エラーが発生した場合には、まず監視ユニット25に備えられたトレース情報一時格納部252内の全てのトレース情報を、メモリ28に備えられたトレース情報格納部281に格納する。
【0110】
次にマイクロプロセッサ21は、メモリインターフェース制御ユニット26に対して、メモリ28に備えられたトレース情報格納部281に格納されたトレース情報を不揮発性メモリB(29)に備えられたトレース情報格納部291に格納するように依頼する。これにより、トレース情報が不揮発性メモリB(29)に格納されるため、記憶装置2の電源断後であったとしても、トレース情報が消去されずに保存されており、もし電源が切断されてしまった場合でもデバッグ用外部接続ユニット24を介してトレース情報を参照して障害解析を行なうことができる。
【0111】
最後に、具体的なリード、ライト処理の実行手順並びに、このときに生成されたトレース情報の具体事例について説明する。
【0112】
図10は、ライト処理のときにホストインターフェース制御ユニット23、メモリインターフェース制御ユニット26で実行されるシーケンスと、そのときにマイクロプロセッサ21や記憶部Bとの間でやり取りされる処理の具体例を示している。その概略は以下のようである。なおここで実線の矢印がシーケンサの状態遷移を表し、点線の矢印がこの状態のときの指示、処理、あるいはデータの移動を示している。なお、この図で矢印に付した丸付き数字は、処理の順番を意味している。
【0113】
ここではホストインターフェース制御ユニット23で実行されるシーケンスを、H1,HW1,HW2,HW3,HW4,HW5で示し、それぞれに関わる指示、処理、あるいはデータの移動は、ライト処理要求受信(H1)、マイクロプロセッサ21に対するライト処理要求(HW1)、マイクロプロセッサ21からの書き込みアドレス受信(HW2)、データライト(HW3)、マイクロプロセッサ21に対するライト処理完了報告依頼要求(HW4)、マイクロプロセッサ21からの報告依頼並びにホストに対するステータス報告(HW5)である。
【0114】
また、メモリインターフェース制御ユニット26で実行されるシーケンスを、M1,MW1,MW2,MW3で示し、それぞれに関わる指示、処理、あるいはデータの移動は、不揮発性メモリへのライト処理要求(M1),データライト(MW3)、不揮発性メモリへのライト処理完了報告(MW2)である。
【0115】
図11は、リード処理のときにホストインターフェース制御ユニット23、メモリインターフェース制御ユニット26で実行されるシーケンスと、そのときにマイクロプロセッサ21や記憶部Bとの間でやり取りされる処理の具体例を示している。
【0116】
図11の表記の約束は図10と全く同じであるので、図10と相違する部分のみを説明する。第1点は、リード処理のときにホストインターフェース制御ユニット23で実行されるシーケンスを、HRと表記し、メモリインターフェース制御ユニット26で実行されるシーケンスを、MRで示した点である。
【0117】
第2点は、ホストインターフェース制御ユニット23のHR2でエラー発生したとして、各部を表記している点であり、これによりHR2の処理が変更される可能性がある。本来は、マイクロプロセッサ21からの処理内容がリード処理開始要求であるが、エラーによりエラー報告依頼に変更されることになる。また、HR2に関連するメモリインターフェース制御ユニット26側の処理MR2も内容変更される可能性がある。本来は、マイクロプロセッサ21に対するリード準備正常完了報告とすべきところ、エラーによりリード準備異常完了報告に変更されることになる。
【0118】
この図11の表記内容は、図10の考えが理解できれば容易にわかることなのでここでの説明は省略する。
【0119】
図12は、図10のライト処理が正常に実行され、続いて行った図11のリード処理の途中でエラー発生したときに、メモリ28に備えられたトレース情報格納部281に格納されたトレース情報の具体事例を示している。
【0120】
この図の表記は基本的に図8と同じであり、左側から時刻情報2813、制御ユニット判別情報2813(Hはホストインターフェース制御ユニット23、Mはメモリインターフェース制御ユニット26を意味する)、状態情報2815(図10、図11のシーケンサの記号で表記)、付属情報2816を表している。なお、付属情報2816としては、コマンド(ライト処理、リード処理の区別)、ホスト装置が指定したアドレスLBA,データサイズ、メモリの物理アドレス、不揮発性メモリの物理アドレス、ステータス(処理の正常、異常の区別)を示している。
【0121】
図9で説明したように、ホストインターフェース制御ユニット23とメモリインターフェース制御ユニット26は、マイクロプロセッサ21あるいはホスト装置からの指示で動作したときに監視ユニット25にトレース情報を送信し、図12の履歴を記録として備えていく。図12の事例では時刻0100から0180までライト処理を実行し、時刻0200からリード処理に入っていた。そしてリード処理中の時刻0235において、例えばECCエラーが発生した。
【0122】
外部情報処理装置4に図12の内容を表示或いは印刷してこの内容を仔細に検討すると、時刻0235において、ECCエラーが発生した。時刻0225をみると、ECCエラーが発生したデータは、不揮発性メモリの物理アドレス2000に格納されていたデータであることが判る。そこで、不揮発性メモリの物理アドレス2000へのライト情報を検討する。時刻0165,0175のトレース情報をみると、不揮発性メモリの物理アドレス2000に書き込む予定のデータが、不揮発性メモリの物理アドレス2100に書き込まれてしまっている。この結果、何も書き込まれていない不揮発性メモリの物理アドレス2000のデータをリードしようとしてECCエラーが発生したと考えられる。
【符号の説明】
【0123】
1:ホスト装置
2:記憶装置
3:データバス
4:外部情報処理装置
21:マイクロプロセッサ
22:時刻配信ユニット
23:ホストインターフェース(I/F)制御ユニット
231、261:状態情報監視ユニット
2311、2611:時刻情報
2312、2612:トレース対処状態コード
2313、2613:トレース情報
2314、2614:制御ユニット判別情報
2315、2615:付属情報
232、262:シーケンサ
24:デバッグ用外部接続ユニット
25:監視ユニット
26:メモリインターフェース(I/F)制御ユニット
27:不揮発性メモリA
28:メモリ
29:不揮発性メモリB
251:トレース情報一時格納指示部
252:トレース情報一時格納部
2521、2811:先頭ポインタ
2522、2812:トレース情報エリア
253:トレース情報メモリ格納指示部
261:状態情報監視ユニット
2611:時刻情報
2612:トレース対象状態コード
281:トレース情報格納部
2813:時刻情報
2814:制御ユニット判別情報
2815:状態情報
2816:付属情報
282:ユーザデータ格納部
291:トレース情報格納部
【特許請求の範囲】
【請求項1】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照することを特徴とするハードウェアのトレース方法。
【請求項2】
請求項1記載のハードウェアのトレース方法において、
前記トレース情報は、状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含むことを特徴とするハードウェアのトレース方法。
【請求項3】
請求項1または請求項2記載のハードウェアのトレース方法において、
複数の前記制御ユニットのシーケンサ機能における動作状態のうち、予め定められた動作状態のときに、動作状態を示す状態情報に時刻情報を付加したトレース情報を得ることを特徴とするハードウェアのトレース方法。
【請求項4】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットと、該複数の制御ユニットに接続された伝送バスと、該伝送バスに接続された監視ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットでは、そのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報としてこれを前記監視ユニットに伝送し、前記監視ユニットではトレース情報を一時格納したのち複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照することを特徴とするハードウェアのトレース方法。
【請求項5】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照するとともに、
複数の前記制御ユニットにおけるシーケンサ機能では、当該制御ユニットから外部に処理の指示を与え、また外部から処理結果を得る動作状態を含み、前記トレース情報は前記処理の指示を与えたとき、または外部から処理結果を得た動作状態のときに作成されることを特徴とするハードウェアのトレース方法。
【請求項6】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされた記憶装置において、
複数の前記制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、該状態情報監視ユニットから前記トレース情報を受け取り、時系列に順序が分かるように前記メモリに備えられたトレース情報格納部に格納する監視ユニットを備えることを特徴とする記憶装置。
【請求項7】
請求項6記載の記憶装置において、
前記状態情報監視ユニットと、監視ユニットの機能をハードウェアにて実現することを特徴とする記憶装置。
【請求項8】
請求項6または請求項7記載の記憶装置において、
前記状態情報監視ユニットは、前記制御ユニットを制御するシーケンサの現在の状態情報がトレース対象の状態情報に遷移した際に、前記トレース情報を生成すると共に、トレース情報は状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む形式のトレース情報として前記監視ユニットに送信されることを特徴とする記憶装置。
【請求項9】
請求項6から請求項8のいずれかに記載の記憶装置において、
前記監視ユニットは、前記トレース情報を各制御ユニットから受信して、時刻の古い順にトレース情報一時格納部に格納し、トレース情報がトレース情報一時格納部に格納されたらトレース情報をメモリのトレース情報格納部に格納する指示をすることを特徴とする記憶装置。
【請求項10】
請求項6から請求項9のいずれかに記載の記憶装置において、
エラーが発生した場合に、前記トレース情報一時格納部に格納されている全てのトレース情報を前記トレース情報格納部に格納することを特徴とする記憶装置。
【請求項11】
請求項6から請求項9のいずれかに記載の記憶装置において、
エラーが発生した場合に、前記トレース情報格納部に格納された全てのトレース情報を前記不揮発性メモリに格納することを特徴とする記憶装置。
【請求項12】
請求項6記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記メモリに格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項13】
請求項6記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記トレース情報格納部に格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項14】
請求項9記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記トレース情報一時格納部に格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項15】
伝送路で接続されたホスト装置からの読み書き要求により作動する記憶装置であって、第1の内部伝送路に接続されたマイクロプロセッサ、第2の内部伝送路に接続され不揮発性メモリを含む記憶部、前記第1の内部伝送路と前記伝送路に接続されたホストインターフェース制御ユニット、前記第1の内部伝送路と前記第2の伝送路に接続されたメモリインターフェース制御ユニットを備え、前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、前記マイクロプロセッサの指示により前記記憶部と前記ホスト装置の間でデータの読み書きを実行するとともに当該ユニット内の処理手順を制御するためのシーケンサを備える記憶装置において、
前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに設けられ、前記シーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、第1の内部伝送路に接続され前記状態情報監視ユニットからのトレース情報を一時記憶し、メモリインターフェース制御ユニットを介して一時記憶したトレース情報を前記記憶部に記憶する監視ユニットを備えたことを特徴とする記憶装置。
【請求項16】
請求項15記載の記憶装置において、
前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、前記マイクロプロセッサの指示により前記記憶部と前記ホスト装置の間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、前記監視ユニットに送信することを特徴とする記憶装置。
【請求項17】
請求項15または請求項16記載の記憶装置において、
前記ホストインターフェース制御ユニットは、前記ホスト装置の指示により前記マイクロプロセッサの間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、前記監視ユニットに送信することを特徴とする記憶装置。
【請求項18】
請求項15ないし請求項17のいずれかに記載の記憶装置において、
前記マイクロプロセッサは、前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに対してデータの読み書きに関連する処理を指示すると共に、処理中のエラー発生を検知したときに前記監視ユニットに一時記憶していた全てのトレース情報を前記記憶部の不揮発性メモリに格納することを特徴とする記憶装置。
【請求項1】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照することを特徴とするハードウェアのトレース方法。
【請求項2】
請求項1記載のハードウェアのトレース方法において、
前記トレース情報は、状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含むことを特徴とするハードウェアのトレース方法。
【請求項3】
請求項1または請求項2記載のハードウェアのトレース方法において、
複数の前記制御ユニットのシーケンサ機能における動作状態のうち、予め定められた動作状態のときに、動作状態を示す状態情報に時刻情報を付加したトレース情報を得ることを特徴とするハードウェアのトレース方法。
【請求項4】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットと、該複数の制御ユニットに接続された伝送バスと、該伝送バスに接続された監視ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットでは、そのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報としてこれを前記監視ユニットに伝送し、前記監視ユニットではトレース情報を一時格納したのち複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照することを特徴とするハードウェアのトレース方法。
【請求項5】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされたハードウェアのトレース方法であって、
複数の前記制御ユニットのシーケンサ機能における動作状態を示す状態情報に時刻情報を付加してトレース情報とし、複数の前記制御ユニットからの複数のトレース情報を時系列に順序が分かるように前記メモリに格納し、エラーが発生した場合に前記複数のトレース情報を時系列に整理された状態で参照するとともに、
複数の前記制御ユニットにおけるシーケンサ機能では、当該制御ユニットから外部に処理の指示を与え、また外部から処理結果を得る動作状態を含み、前記トレース情報は前記処理の指示を与えたとき、または外部から処理結果を得た動作状態のときに作成されることを特徴とするハードウェアのトレース方法。
【請求項6】
記憶素子として不揮発性メモリを含むメモリと、伝送路で接続するホスト装置からの要求により、前記メモリへのデータの読み出し又は書き込み動作を行なう複数の制御ユニットとを含み、前記複数の制御ユニットはシーケンサ機能を備え状態を遷移しながら動作を継続実施するようにされた記憶装置において、
複数の前記制御ユニットのシーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、該状態情報監視ユニットから前記トレース情報を受け取り、時系列に順序が分かるように前記メモリに備えられたトレース情報格納部に格納する監視ユニットを備えることを特徴とする記憶装置。
【請求項7】
請求項6記載の記憶装置において、
前記状態情報監視ユニットと、監視ユニットの機能をハードウェアにて実現することを特徴とする記憶装置。
【請求項8】
請求項6または請求項7記載の記憶装置において、
前記状態情報監視ユニットは、前記制御ユニットを制御するシーケンサの現在の状態情報がトレース対象の状態情報に遷移した際に、前記トレース情報を生成すると共に、トレース情報は状態情報とその時刻情報以外に制御ユニットの区別を示す制御ユニット判別情報、および付属情報を含む形式のトレース情報として前記監視ユニットに送信されることを特徴とする記憶装置。
【請求項9】
請求項6から請求項8のいずれかに記載の記憶装置において、
前記監視ユニットは、前記トレース情報を各制御ユニットから受信して、時刻の古い順にトレース情報一時格納部に格納し、トレース情報がトレース情報一時格納部に格納されたらトレース情報をメモリのトレース情報格納部に格納する指示をすることを特徴とする記憶装置。
【請求項10】
請求項6から請求項9のいずれかに記載の記憶装置において、
エラーが発生した場合に、前記トレース情報一時格納部に格納されている全てのトレース情報を前記トレース情報格納部に格納することを特徴とする記憶装置。
【請求項11】
請求項6から請求項9のいずれかに記載の記憶装置において、
エラーが発生した場合に、前記トレース情報格納部に格納された全てのトレース情報を前記不揮発性メモリに格納することを特徴とする記憶装置。
【請求項12】
請求項6記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記メモリに格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項13】
請求項6記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記トレース情報格納部に格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項14】
請求項9記載の記憶装置において、
前記メモリと、前記複数の制御ユニットと、前記監視ユニットと、外部接続ユニットが伝送バスで接続されていると共に、
前記外部接続ユニットで接続された外部情報処理装置に前記トレース情報一時格納部に格納されたトレース情報を読み出すことを特徴とする記憶装置。
【請求項15】
伝送路で接続されたホスト装置からの読み書き要求により作動する記憶装置であって、第1の内部伝送路に接続されたマイクロプロセッサ、第2の内部伝送路に接続され不揮発性メモリを含む記憶部、前記第1の内部伝送路と前記伝送路に接続されたホストインターフェース制御ユニット、前記第1の内部伝送路と前記第2の伝送路に接続されたメモリインターフェース制御ユニットを備え、前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、前記マイクロプロセッサの指示により前記記憶部と前記ホスト装置の間でデータの読み書きを実行するとともに当該ユニット内の処理手順を制御するためのシーケンサを備える記憶装置において、
前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに設けられ、前記シーケンサの状態情報に時刻情報を付加してトレース情報とする状態情報監視ユニットと、第1の内部伝送路に接続され前記状態情報監視ユニットからのトレース情報を一時記憶し、メモリインターフェース制御ユニットを介して一時記憶したトレース情報を前記記憶部に記憶する監視ユニットを備えたことを特徴とする記憶装置。
【請求項16】
請求項15記載の記憶装置において、
前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットは、前記マイクロプロセッサの指示により前記記憶部と前記ホスト装置の間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、前記監視ユニットに送信することを特徴とする記憶装置。
【請求項17】
請求項15または請求項16記載の記憶装置において、
前記ホストインターフェース制御ユニットは、前記ホスト装置の指示により前記マイクロプロセッサの間でデータの読み書きに関連する処理を実行したときに、その状態情報監視ユニットにおいてトレース情報を作成し、前記監視ユニットに送信することを特徴とする記憶装置。
【請求項18】
請求項15ないし請求項17のいずれかに記載の記憶装置において、
前記マイクロプロセッサは、前記ホストインターフェース制御ユニットおよびメモリインターフェース制御ユニットに対してデータの読み書きに関連する処理を指示すると共に、処理中のエラー発生を検知したときに前記監視ユニットに一時記憶していた全てのトレース情報を前記記憶部の不揮発性メモリに格納することを特徴とする記憶装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−54622(P2013−54622A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−193567(P2011−193567)
【出願日】平成23年9月6日(2011.9.6)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願日】平成23年9月6日(2011.9.6)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]