(57)【要約】【課題】トレースメモリの同一シーケンスの埋め尽くしを防止し、インタフェース異常発生時のイベントやシーケンスとインタフェース異常に至るイベントやシーケンスを残すことを可能にする。【解決手段】トレース制御部３が、シーケンスのＬＯＯＰ（ループ）において、発生したイベントがＬＯＯＰ可能シーケンスの先頭のイベントであるという条件、発生したイベントがＬＯＯＰ可能シーケンスの先頭以外のイベントであるという条件を受け付ける。そして、トレース制御部３が、ＬＯＯＰ先頭のシーケンスをトレースメモリ４に登録する状態と、最初にＬＯＯＰしたシーケンスをトレースメモリ４に登録する状態と、最初にＬＯＯＰしたシーケンスがトレースメモリ４に登録されて以降は当該トレースメモリ４に継続してＬＯＯＰするシーケンスのイベント登録しない状態とを管理する。【選択図】図１
2012238255.tif 000002
【特許請求の範囲】
【請求項１】
ポインタに従ってイベントを順次トレースメモリに登録していくトレース制御方法において、
連続する複数イベントよりなるシーケンスにあって、シーケンスのループが開始されてから終了に至るまでの間にある最初のシーケンスと最後のシーケンスとを前記トレースメモリに登録するステップを有することを特徴とするトレース制御方法。
【請求項２】
シーケンスのループにおける前記最後のシーケンスのイベント登録中、ループ内ポインタの示す登録済みのイベントと新たに登録対象となったイベントが一致した場合は、新たな登録対象のイベントを登録せず、不一致の場合は前記最後のシーケンスの次にくるイベント登録領域に当該イベントを登録するステップをさらに有することを特徴とする請求項１に記載のトレース制御方法。
【請求項３】
シーケンスのループにおいて、発生したイベントがループ可能シーケンスの先頭のイベントである条件と、発生したイベントがループ可能シーケンスの先頭以外のイベントである条件と、前記２つの条件に該当にない条件とを判定するステップをさらに有し、
前記判定するステップにより、ループ先頭のシーケンスとループ最後のシーケンスだけを前記トレースメモリに登録することを特徴とする請求項１又は２に記載のトレース制御方法。
【請求項４】
シーケンスのループにおいて、ループ先頭のシーケンスを前記トレースメモリに登録する状態と、最初にループしたシーケンスを前記トレースメモリに登録する状態と、最初にループしたシーケンスが前記トレースメモリに登録されて以降は継続してループするシーケンスを登録しない状態とを管理するステップをさらに有することを特徴とする請求項３に記載のトレース制御方法。
【請求項５】
ポインタに従ってイベントとタイマ情報を順次に前記トレースメモリに登録していくトレース制御において、最初にループしたシーケンスが前記トレースメモリに登録されて以降、当該トレースメモリに継続してシーケンスのループがある場合に、ループ内ポインタの示す登録済みのタイマ情報に新たなタイマ情報を登録するステップをさらに有することを特徴とする請求項３に記載のトレース制御方法。
【請求項６】
請求項１乃至５の何れか１つに記載のトレース制御方法をコンピュータに実行させるためのトレース制御プログラム。
【請求項７】
ポインタに従ってイベントを順次にトレースメモリに登録していくトレース制御装置において、
連続する複数イベントよりなるシーケンスにあって、シーケンスのループが開始されてから終了に至るまでの間にある最初のシーケンスと最後のシーケンスとを前記トレースメモリに登録する手段を備えることを特徴とするトレース制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害が発生したとき容易に正常異常を識別するためのトレース制御方法、トレース制御プログラムおよび装置に関する。
【背景技術】
【０００２】
従来、ホストコンピュータ（以下、ホストＰＣという）と入出力インタフェースをとる入出力装置の入出力アダプタにあっては、ホストＰＣが多数の入出力処理要求を同時に受けたとき最優先の入出力装置以外の処理要求を一時的にスタックさせる必要がある。
このため、要求とスタックのシーケンスを暫く繰り替えしたり、入出力装置の都合で、ホストＰＣからの入出力処理要求のポーリグに対してビジー応答シーケンスを暫く繰り返したり、インタフェース障害のリカバリ手段として、同一のシーケンスを一定時間繰り返すなどを行っている。
【０００３】
そこで、同一シーケンスを暫く繰り返すことによって生じるトレースメモリの同一シーケンスの上書きを防止して、繰り返しにかかわる原因と結果を判るようにすることにより、障害が発生した場合の障害解析時間の短縮を図り、故障時間の短縮を行うことが求められている。
【０００４】
インタフェース障害やインタフェース制御に影響を及ぼす障害に対し、例えば、入出力装置にインタフェースアナライザを装着させれば、障害解析を行うことは可能である。
しかし、インタフェースアナライザ自体が高額な場合や、インタフェースアナライザの装着が顧客の業務運営に不都合な場合などが多く、入出力装置自身または入出力アダプタ自身が障害を容易に解析できるトレース手段を持つことが求められている。
【０００５】
例えば、特許文献１は、トレースのＬＯＯＰパターンを蓄積して、同一ＬＯＯＰパターンの場合には、ＬＯＯＰ終了時にパターンの一部を除いてトレースバッファに出力し、同一ＬＯＯＰパターンが無い場合は、新規ＬＯＯＰパターンとして蓄積し、ＬＯＯＰ終了時にトレースバッファに出力することにより、ＬＯＯＰ重複による無用なトレースバッファ使用を回避している。また、パターン管理を階層化することにより、メインルーチンＬＯＯＰ中のサブルーチンＣＡＬＬ／ＲＥＴＵＲＮによる階層化されたＬＯＯＰ関係における無用なトレースバッファ使用を回避している。
【０００６】
例えば、特許文献２は、トレース領域に格納されるトレース情報がシステム内に格納された特定のトレース情報パターンと一致した時に前記格納されたトレース情報を特定パターンのトレース情報として簡単な形式のトレース情報に変換してトレース領域に格納する。
また、システムからトレース領域に書き込まれるトレース情報を一時的に格納し、特定パターンのトレース情報であるパターン情報を予め格納し、トレース情報とトレース情報パターンとを比較して一致したとき一致を含むトレース情報を新たに作成して前記トレース領域へ書き込む。
【０００７】
特許文献１，２において、トレースメモリとは別に、トレースフォーマット化した複数のイベント情報パターンを有し、ＬＯＯＰ終了後にまとめてトレースメモリに格納することは、インタフェース制御において突発する障害とＬＯＯＰとの時間関係を見極めたり、障害に至る流れを見極めるうえで、効果的ではないといった問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記に鑑みてなされたもので、その目的としては、トレースメモリの同一シーケンスの埋め尽くしを防止し、インタフェース異常発生時のイベントやシーケンスとインタフェース異常に至るイベントやシーケンスを残すことが可能なトレース制御方法、トレース制御プログラムおよび装置を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１に係る発明は、ポインタに従ってイベントを順次にトレースメモリに登録していくトレース制御方法において、連続する複数イベントよりなるシーケンスにあって、シーケンスのループが開始されてから終了に至るまでの間にある最初のシーケンスと最後のシーケンスとを前記トレースメモリに登録するステップを有することを特徴とするトレース制御方法である。
【００１０】
請求項７に係る発明は、ポインタに従ってイベントを順次にトレースメモリに登録していくトレース制御装置において、連続する複数イベントよりなるシーケンスにあって、シーケンスのループが開始されてから終了に至るまでの間にある最初のシーケンスと最後のシーケンスとを前記トレースメモリに登録する手段を備えることを特徴とするトレース制御装置である。
【発明の効果】
【００１１】
本発明によれば、ポインタに従ってイベントを順次にトレースメモリに登録していくトレース制御方法において、連続する複数イベントよりなるシーケンスにあって、シーケンスのループが開始されてから終了に至るまでの間にある最初のシーケンスと最後のシーケンスとをトレースメモリに登録することで、トレースメモリの同一シーケンスの埋め尽くしを防止し、インタフェース異常発生時のイベントやシーケンスとインタフェース異常に至るイベントやシーケンスを残すことを可能にすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る入出力アダプタの構成を示す図である。
【図２】図１に示すトレースメモリの内容を示す図である。
【図３】図１に示すインタフェース制御部からの制御信号に基づいてシーケンスを進めるインタフェースにおいて、シーケンスを構成するイベントとシーケンスのＬＯＯＰの関係を示すタイミングチャートの一例である。
【図４】図１に示すインタフェース制御部からの制御フレームの送受信に基づいてシーケンスを進めるインタフェースにおいて、シーケンスを構成するイベントとシーケンスのＬＯＯＰの関係を示すタイミングチャートの一例である。
【図５】図１に示すインタフェース制御部からイベント発生の通知を受けたトレース制御部が行うトレース制御全体について示すフローチャートである。
【図６】図１に示すトレース制御部による、通常のシーケンスにおけるイベント登録処理を示すフローチャートである。
【図７】図１に示すトレース制御部による、ＬＯＯＰ可能なシーケンス内でイベント登録中の状態にあるイベント登録処理を示すフローチャートである。
【図８】図１に示すトレース制御部による、ＬＯＯＰシーケンス内でイベント登録中の状態にあるイベント登録処理を示すフローチャートである。
【図９】図１に示すトレース制御部による、イベント登録のないＬＯＯＰ中の状態におけるイベント処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係る入出力アダプタについて、図面を参照して具体的に説明する。
図１は、本発明の実施形態に係る入出力アダプタ１の構成を示す図である。
入出力アダプタ１は、インタフェース制御部２、トレース制御部３、トレースメモリ４、タイマ５を備えている。
インタフェース制御部２は、上位装置１０とインタフェースを介して接続され、上位装置１０と定められた制御信号もしくは制御フレームのシーケンスに基づいて、バスデータもしくはデータフレームをやり取りする。
【００１４】
また、インタフェース制御部２は、前記シーケンスを進める上で発生する制御信号の変化や制御フレームの送受信などシーケンスを進める上で発生するイベントをトレースメモリに登録するようトレース制御部３に指示する。
また、インタフェース制御部２は、あるイベントから次のイベントまでの時間や、シーケンス開始からシーケンス終了までの時間など、インタフェースで規定されている時間の監視をタイマ部５を参照して行う。
【００１５】
また、インタフェース制御部２は、イベントの条件が、ＬＯＯＰ（ループ）可能なシーケンスの先頭に来るのか、ＬＯＯＰ可能なシーケンスの先頭以外にくるのか、その他の条件であるのかを、トレース制御部３にイベント発生を通知するとき、併せて通知する。
【００１６】
トレース制御部３は、インタフェース制御部２からの指示を受け付けて、トレースメモリ４に登録されているポインタやイベントを読み、ポインタを更新し、ポインタが示すトレース領域にインタフェース制御部２が持つイベントとタイマ５の時間情報（ＴＯＤと略す）を登録する。
また、トレース制御部３は、インタフェース制御部２からイベントの条件が、ＬＯＯＰ可能なシーケンスの先頭に来るのか、ＬＯＯＰ可能なシーケンスの先頭以外にくるのか、その他の条件なのかを受け付けて、ＬＯＯＰ可能シーケンスのイベント登録中の状態、ＬＯＯＰシーケンスのイベント登録中の状態、ＬＯＯＰシーケンスのイベント処理中の状態、それ以外のＬＯＯＰに関係しない状態の何れの状態にあるかを管理する。
【００１７】
トレースメモリ４は、トレース制御部３が読み書きを行うメモリであり、ポインタ情報とイベント及びＴＯＤ情報よりなる。
タイマ５は、イベントの発生時間を時系列的に識別できるＴＯＤ情報を有する。
【００１８】
図２は、トレースメモリ４の詳細を示す図である。
ポインタ情報は、ポインタ２１、ＬＯＯＰ開始ポインタ２２、ＬＯＯＰ終了ポインタ２３よりなる。説明の便宜上、特に説明がない限り、ポインタ２１を「Ｐ」、ＬＯＯＰ開始ポインタ２２を「ＬＳＰ」、ＬＯＯＰ終了ポインタ２３を「ＬＥＰ」と略す。
【００１９】
イベント及びＴＯＤ情報は、図２に示す例では１からｎまである。一般にｎは、数千から数１０万の値である。
Ｐ＝ｉの場合には、ポインタ２１はイベントi＋ＴＯＤiのトレース領域ＴＡ（i）を示している。
ＬＳＰ＝iでＬＥＰ＝ｉ＋３の場合には、トレース領域ＴＡ（i）、トレース領域ＴＡ（i＋１）、トレース領域ＴＡ（i＋２）の３イベントがＬＯＯＰしていることを示していて、ＬＯＯＰ先頭がトレース領域ＴＡ（i）、ＬＯＯＰ後端がトレース領域ＴＡ（i＋２）、ＬＯＯＰから抜け出たＬＯＯＰ終了がトレース領域ＴＡ（i＋３）であることを示す。
【００２０】
インタフェース制御部２は、発生したイベントがＬＯＯＰ可能であるシーケンスの先頭イベントの時、トレース制御部３に当該イベントがＬＯＯＰ可能シーケンスの先頭イベント（条件１）であることを通知する。
また、インタフェース制御部２は、発生したイベントがＬＯＯＰ可能であるシーケンスの先頭以外のイベント（条件２）の時、トレース制御部３に当該イベントがＬＯＯＰ可能シーケンスの先頭以外のイベントであることを通知する。
【００２１】
また、インタフェース制御部２は、発生したイベントがＬＯＯＰ可能であるシーケンスの先頭イベント（条件１）でなく、且つ、発生したイベントがＬＯＯＰ可能であるシーケンスの先頭以外のイベント（条件２）でもなければ、トレース制御部３にそのままイベントを通知する。即ち、条件の無いイベントは、ＬＯＯＰの無いシーケンスにおけるイベント、又は、ＬＯＯＰを抜けるイベントである。
【００２２】
図３は、インタフェース制御部２が制御信号の変化に基づいてシーケンスを進める上で発生するイベントと、複数イベントによって形成されるシーケンスのＬＯＯＰを示すタイミングチャートの一例である。
ホストＰＣ側の制御信号であるＴＡＧ（ＯＴＡＧと略す）と入出力アダプタ側の制御信号であるＴＡＧ（ＩＴＡＧと略す）が相互にＯＮ・ＯＦＦしながら、入出力アダプタ側が入出力アダプタ側のＢＵＳ（ＩＢＵＳと略す）のデータをホストＰＣ側に通知してスタックされることを繰り返している事例である。
【００２３】
ＩＴＡＧ１のＯＮから開始して、ＯＴＡＧ１がＯＮになり、以降、次にＩＴＡＧ１がＯＮするまで、ＩＴＡＧ１〜ＩＴＡＧ４のＯＮ／ＯＦＦ、ＯＴＡＧ１とＯＴＡＧ２のＯＮ／ＯＦＦが行われる。それぞれのＯＮ／ＯＦＦ契機がイベントである。図３において、ＩＴＡＧ１のＯＮから次にＩＴＡＧ１がＯＮする直前までが１シーケンスである。
【００２４】
図４は、インタフェース制御部２が制御フレームの制御ビットに基づいてのシーケンスを進める上で発生する、制御フレームの送受信を単位とするイベントと、複数イベントによって形成されるシーケンスのＬＯＯＰを示すタイミングチャートである。
ホストＰＣから入出力アダプタへの出力信号線（ＯＳＧＮと略す）と入出力アダプタからホストＰＣへの入力信号線（ＩＳＧＮと略す）で制御フレームを送受信する。図４は、入出力アダプタ側が制御フレーム内に設定したデータをホストＰＣ側に送信しようとしてスタックされることを繰り返している事例である。
【００２５】
図４において、ＩＳＧＮからのデータ送信に対し、ホストＰＣ側のＯＳＧＮよりスタックを受信し、ＩＳＧＮからの応答フレームを送信するまでが１シーケンスである。
【００２６】
図５は、トレース制御部３がインタフェース制御部２からイベント発生の通知を受けた時に行うトレース制御の全体について示すフローチャートの一例である。
ステップＳ１では、ＬＯＯＰ可能シーケンス内のイベントを登録している状態の場合にステップＳ５に進み、ＬＯＯＰ可能シーケンス内のイベントを登録している状態でない場合にステップＳ２に進む。
【００２７】
ステップＳ２では、ＬＯＯＰシーケンス内のイベントを登録している状態の場合にステップＳ６に進み、ＬＯＯＰシーケンス内のイベントを登録している状態でない場合にステップＳ３に進む。
ステップＳ３では、イベントの登録をしないでＬＯＯＰしている状態の場合にステップＳ７に進み、イベントの登録をしないでＬＯＯＰしている状態でない場合にステップＳ４に進む。
ステップＳ４では、図６に示す「通常シーケンス登録」をＣＡＬＬして終了する。
【００２８】
ステップＳ５では、図７に示す「ＬＯＯＰ可能シーケンス登録」をＣＡＬＬして終了する。
ステップＳ６では、図８に示す「ＬＯＯＰシーケンス登録」をＣＡＬＬして終了する。
ステップＳ７では、図９に示す「ＬＯＯＰ処理」をＣＡＬＬして終了する。
以上により、シーケンスのＬＯＯＰにおいて、ＬＯＯＰ先頭のシーケンスをトレースメモリに登録する状態と、最初にＬＯＯＰしたシーケンスをトレースメモリに登録する状態と、最初にＬＯＯＰしたシーケンスがトレースメモリに登録されて以降は継続してＬＯＯＰするシーケンスを登録しない状態とを管理することが可能である。
【００２９】
図６は、ＬＯＯＰ可能なシーケンス内のイベント登録中、ＬＯＯＰシーケンス内のイベント登録中、イベントの登録をしないでＬＯＯＰ中の何れでもない状態、即ち、通常のシーケンスにおけるイベント登録のフローチャートである。
【００３０】
ステップＳ１１では、発生イベントがＬＯＯＰ可能シーケンスの先頭イベントであることをインタフェース制御部２が通知している場合にステップＳ１３に進み、発生イベントがＬＯＯＰ可能シーケンスの先頭イベントでないことをインタフェース制御部２が通知している場合にステップＳ１２に進む。
ステップＳ１２では、ポインタ２１が示す登録領域であるＴＡ（Ｐ）にイベントとＴＯＤを登録し、ポインタを次の登録領域であるＰ＋１に更新して終了する。
ステップＳ１３では、ポインタ２１が示す登録領域であるＴＡ（Ｐ）にイベントとＴＯＤを登録し、ポインタを次の登録領域であるＰ＋１に更新し、ＬＯＯＰ可能シーケンス登録状態にして終了する。
【００３１】
図７は、ＬＯＯＰ可能なシーケンス内でイベント登録中の状態におけるイベント登録のフローチャートである。
ステップＳ２１では、発生イベントがＬＯＯＰ可能シーケンスの先頭イベントであることをインタフェース制御部２が通知している場合にステップＳ２３に進み、発生イベントがＬＯＯＰ可能シーケンスの先頭イベントでないことをインタフェース制御部２が通知している場合にステップＳ２２に進む。
【００３２】
ステップＳ２２では、発生イベントがＬＯＯＰ可能シーケンス内の先頭以外のイベントであることをインタフェース制御部２が通知している場合にステップＳ２４に進み、発生イベントがＬＯＯＰ可能シーケンスの先頭以外のイベントでないことをインタフェース制御部２が通知している場合にステップＳ２５に進む。
【００３３】
ステップＳ２３では、ＬＯＯＰ可能なシーケンス内でイベント登録中の状態を解除し、ＬＯＯＰシーケンス内のイベント登録中の状態にし、ポインタ２１が示す登録領域であるＴＡ（Ｐ）にイベントとＴＯＤを登録し、ポインタを次の登録領域であるＰ＋１に更新し、ＬＯＯＰ開始ポインタ２２にポインタ２１の内容を入力して終了する。
【００３４】
ステップＳ２４では、ポインタ２１が示す登録領域であるＴＡ（Ｐ）にイベントとＴＯＤを登録し、ポインタを次の登録領域であるＰ＋１に更新して終了する。
【００３５】
ステップＳ２５では、ＬＯＯＰ可能なシーケンス内でイベント登録中の状態を解除し、ポインタ２１が示す登録領域であるＴＡ（Ｐ）にイベントとＴＯＤを登録し、ポインタを次の登録領域であるＰ＋１に更新して終了する。
【００３６】
図８は、ＬＯＯＰシーケンス内でイベント登録中の状態にあるイベント登録のフローチャートである。
ステップＳ３１では、発生イベントがＬＯＯＰ可能シーケンスの先頭イベントであることをインタフェース制御部２が通知している場合にステップＳ３３に進み、発生イベントがＬＯＯＰ可能シーケンスの先頭イベントでないことをインタフェース制御部２が通知している場合にステップＳ３２に進む。
【００３７】
ステップＳ３２では、発生イベントがＬＯＯＰ可能シーケンス内の先頭以外のイベントであることをインタフェース制御部２が通知している場合にステップＳ３４に進み、発生イベントがＬＯＯＰ可能シーケンスの先頭以外のイベントでないことをインタフェース制御部２が通知している場合にステップＳ３５に進む。
【００３８】
ステップＳ３３では、ＬＯＯＰシーケンス内でイベント登録中の状態を解除し、イベント登録のないＬＯＯＰ中の状態にし、ポインタ２１が示す登録領域であるＴＡ（Ｐ）にイベントとＴＯＤを登録し、ＬＯＯＰ終了ポインタ２３にポインタ２１の内容Ｐに対して次の登録領域であるＰ＋１を入力し、ポインタ２１にＬＯＯＰ開始ポインタ２２の内容を入力して終了する。
【００３９】
ステップＳ３４では、ポインタ２１が示す登録領域であるＴＡ（Ｐ）にイベントとＴＯＤを登録し、ポインタを次の登録領域であるＰ＋１に更新して終了する。
【００４０】
ステップＳ３５では、ＬＯＯＰシーケンス内でイベント登録中の状態を解除し、ポインタ２１が示す登録領域であるＴＡ（Ｐ）にイベントとＴＯＤを登録し、ポインタを次の登録領域であるＰ＋１に更新して終了する。
以上により、ポインタに従ってイベントを順次トレースメモリに登録していくトレース制御において、連続する複数イベントよりなるシーケンスのＬＯＯＰ開始からＬＯＯＰ終了までの中の最初のシーケンスと最後のシーケンスをトレース領域に登録することができる。
【００４１】
図９は、イベント登録のないＬＯＯＰ中の状態におけるイベント処理に関するフローチャートである。
ステップＳ４１では、発生イベントがＬＯＯＰ可能シーケンスの先頭イベントであることをインタフェース制御部２が通知している場合にステップＳ４２に進み、発生イベントがＬＯＯＰ可能シーケンスの先頭イベントでないことをインタフェース制御部２が通知している場合にステップＳ４４に進む。
【００４２】
ステップＳ４２では、発生イベントがＬＯＯＰ開始ポインタ２２の示す登録領域ＴＡ（ＬＳＰ）のイベントに等しければステップＳ４３に進み、ＴＡ（ＬＳＰ）のイベントに等しくなければステップＳ４７に進む。
ステップＳ４３では、ＬＯＯＰ開始ポインタ２２の示す登録領域に、発生イベントは入力せずＴＯＤだけ入力し、ポインタ２１にＬＯＯＰ開始ポインタ２２の内容を入力して終了する。
【００４３】
ステップＳ４４では、発生イベントがＬＯＯＰ可能シーケンスの先頭以外のイベントであることをインタフェース制御部２が通知している場合にステップＳ４５に進み、発生イベントがＬＯＯＰ可能シーケンスの先頭以外のイベントでないことをインタフェース制御部２が通知している場合にステップＳ４７に進む。
ステップＳ４５では、発生イベントがポインタ２１の示す登録領域ＴＡ（Ｐ）のイベントに等しければステップＳ４６に進み、ＴＡ（Ｐ）のイベントに等しくなければステップＳ４７に進む。
【００４４】
ステップＳ４６では、ＬＯＯＰ開始ポインタ２２の示す登録領域に、発生イベントは入力せずＴＯＤだけ入力し、ポインタ２１の内容を次の登録領域Ｐ＋１に更新して終了する。
以上により、シーケンスのＬＯＯＰにおいて、発生したイベントがＬＯＯＰ可能シーケンスの先頭のイベントであるという条件、発生したイベントがＬＯＯＰ可能シーケンスの先頭以外のイベントであるという条件を受けて、ＬＯＯＰ先頭のシーケンスとＬＯＯＰ最後のシーケンスだけをトレースメモリに登録することが可能である。
【００４５】
また、以上により、ポインタに従ってイベントとタイマ情報を順次トレースメモリに登録していくトレース制御において、最初にＬＯＯＰしたシーケンスがトレースメモリに登録されて以降、継続してシーケンスのＬＯＯＰが発生していても、ＬＯＯＰ内ポインタの示す登録済みのイベントを上書きしないで、登録済みのタイマ情報の上に新たなタイマ情報を上書きすることが可能である。
【００４６】
ステップＳ４７では、イベント登録のないＬＯＯＰ中の状態を解除し、ＬＯＯＰ終了ポインタ２３の示す登録領域に、発生イベントとＴＯＤを入力し、ポインタ２１にＬＯＯＰ終了ポインタ２３の次の登録領域ＬＥＰ＋１を入力して終了する。
以上により、シーケンスのＬＯＯＰにおける前記最後のシーケンスのイベント登録中、ＬＯＯＰ内ポインタの示す登録済みのイベントと新たに登録対象となったイベントが一致した場合、新たな登録対象のイベントを登録せず、不一致の場合、最後に登録されたシーケンスの次にくるイベント登録領域に当該イベントを登録していくことが可能である。
【００４７】
本発明の実施形態によれば、シーケンスのＬＯＯＰにおいて、発生したイベントがＬＯＯＰ可能シーケンスの先頭のイベントであるという条件、発生したイベントがＬＯＯＰ可能シーケンスの先頭以外のイベントであるという条件を受ける。そして、これらの条件を受けて、ＬＯＯＰ先頭のシーケンスをトレースメモリに登録する状態と、最初にＬＯＯＰしたシーケンスをトレースメモリに登録する状態と、最初にＬＯＯＰしたシーケンスがトレースメモリに登録されて以降は当該トレースメモリに継続してＬＯＯＰするシーケンスのイベント登録しない状態とを管理する。
【００４８】
これにより、連続する複数イベントよりなるシーケンスのうち、シーケンスのＬＯＯＰが開始されてから終了に至るまでの間にある最初のシーケンスと最後のシーケンスだけをトレース領域に登録して、トレースメモリの同一シーケンスの埋め尽くしを防止し、インタフェース異常発生時のイベントやシーケンスとインタフェース異常に至るイベントやシーケンスを残すことが可能である。
【符号の説明】
【００４９】
１    入出力アダプタ
２    インタフェース制御部
３    トレース制御部
４    トレースメモリ
５    タイマ
６    出力部
１０    上位装置
２１    ポインタ
２２    ＬＯＯＰ開始ポインタ
２３    ＬＯＯＰ終了ポインタ
２４    イベント領域
２５    ＴＯＤ領域
【先行技術文献】
【特許文献】
【００５０】
【特許文献１】特開２０１０−７９３４３号公報
【特許文献２】特許第３４９８７０２号公報
【図１】
2012238255.tif 000003
【図２】
2012238255.tif 000004
【図３】
2012238255.tif 000005
【図４】
2012238255.tif 000006
【図５】
2012238255.tif 000007
【図６】
2012238255.tif 000008
【図７】
2012238255.tif 000009
【図８】
2012238255.tif 000010
【図９】
2012238255.tif 000011