(57)【要約】【課題】診断内容の最適化と診断実行時間の短縮を図ることができるシステム診断装置を提供する。【解決手段】システムの構成が変更された場合にシステムが正常に動作するかを診断するシステム診断装置であって、システムを構成するハードウェア、またはシステムを構成するハードウェアに対して診断を行うときに用いられる診断プログラムのうちで、前回の診断から変更されたハードウェアの識別情報、または診断プログラムの識別情報を抽出するシステム情報処理部１２と、ハードウェアの識別情報が抽出された場合、ハードウェアの識別情報に対応する診断プログラムを実行する一方、診断プログラムの識別情報が抽出された場合、診断プログラムに対応するハードウェアに対し、診断プログラムを実行する診断実行部１１と、を有するシステム診断装置を提供する。【選択図】図１
2011179996.tif 000002
【特許請求の範囲】
【請求項１】
システムの構成が変更された場合に該システムが正常に動作するかを診断するシステム診断装置であって、
前記システムを構成するハードウェア、または前記システムを構成するハードウェアに対して診断を行うときに用いられる診断プログラムのうちで、前回の診断から変更されたハードウェアの識別情報、または診断プログラムの識別情報を抽出するシステム情報処理部と、
前記システム情報処理部によって診断プログラムの識別情報が抽出された場合、該診断プログラムを実行する診断実行部と、
を有するシステム診断装置。
【請求項２】
請求項１に記載のシステム診断装置において、
前記システム情報処理部が、ハードウェアの識別情報を抽出した場合、さらに、該ハードウェアが診断プログラムにおける直接の診断対象ではなく、診断を行う上で必要となる関連ハードウェアである場合、前記診断実行部は、前記関連ハードウェアの識別情報に対応する診断プログラムを実行することを特徴とするシステム診断装置。
【請求項３】
請求項１または請求項２に記載のシステム診断装置において、
前記診断実行部は、さらに、前回の診断プログラムの実行日時と現在日時の差が、前記診断プログラムを実行すべき周期として定義された実行推奨周期よりも大きい場合、前記診断プログラムを実行することを特徴とするシステム診断装置。
【請求項４】
コンピュータが、システムの構成が変更された場合に該システムが正常に動作するかを診断するシステム診断方法であって、
前記システムを構成するハードウェア、または前記システムを構成するハードウェアに対して診断を行うときに用いられる診断プログラムのうちで、前回の診断から変更されたハードウェアの識別情報、または診断プログラムの識別情報を抽出し、
ハードウェアの識別情報が抽出された場合、該ハードウェアの識別情報に対応する診断プログラムを実行する一方、診断プログラムの識別情報が抽出された場合、該診断プログラムに対応するハードウェアに対し、該診断プログラムを実行する
システム診断方法。
【請求項５】
請求項４に記載のシステム診断方法において、
ハードウェアの識別情報を抽出した場合、さらに、該ハードウェアが診断プログラムにおける直接の診断対象ではなく、診断を行う上で必要となる関連ハードウェアである場合、前記関連ハードウェアの識別情報に対応する診断プログラムを実行することを特徴とするシステム診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの構成が変更された場合にシステムが正常に動作するかを診断する技術に関する。
【背景技術】
【０００２】
ＩＣ（Integrated Circuit）を製造する企業は、設計工程時、または出荷するＩＣについて、動作特性が規定を満たしているかの試験を実施している。
【０００３】
設計段階で試作したＩＣ、または出荷するＩＣに対する試験（以下、ＩＣテストと称す）を実施するＩＣテストシステムの構成を図１１に示す。ＩＣテストシステム３０１は、テスタコントローラ（以下、ＴＳＣ）１５０、マンマシンインターフェース（以下、ＭＭＩ）３１、ユニット４０、６０、７０を有する。
【０００４】
ＭＭＩ３１はユーザーからの入力を受け付け、ＴＳＣ１５０に指示を送信し、またＴＳＣ１５０の処理結果を取得しユーザーに表示する入出力装置である。ＴＳＣ１５０は、演算処理装置であるＣＰＵ、主記憶装置であるメインメモリ１０、補助記憶装置であるＨＤＤ２０１を少なくとも有しており、ＩＣテストシステム３０１全体の制御を行う。
【０００５】
ＩＣテスト実行部１０１は、ＤＵＴ５１に対してＩＣテストを実行する制御部である。診断実行部１１１は、ＩＣテストシステム３０１を構成するユニット４０に実装されている診断対象ハードウェア４１が正常に動作するかを診断する制御部であり、ＨＤＤ２０１内に予めインストールされている診断プログラム２１をロードし、実行し、診断結果２２をＨＤＤ２０１に出力する。
【０００６】
ＨＤＤ２０１は、ＩＣテストシステム３０１の構成を診断する診断プログラム２１（診断プログラム２１は、複数のプログラムで構成されている）、および診断実行部１１１で実行された診断の結果ファイルである診断結果２２を記憶する。
【０００７】
ユニット４０、ユニット６０、ユニット７０は、例えばDC電圧測定ユニット、高周波発生・測定ユニット、デジタルファンクションユニット、インターフェースユニット等で、バスＢに接続され、ＤＵＴ５１を試験する。ここで、ＤＣ電圧測定ユニットとは、直流電圧を発生するＤＵＴの試験を行う。高周波発生・測定ユニットは、無線用ＤＵＴに対しての高周波信号の試験を行う。デジタルファンクションユニットは、ＤＵＴに対してデジタル信号を出力すると共に、ＤＵＴからデジタル信号を入力し、デジタル試験を行う。インターフェースユニットは、ＴＳＣ１５０−ユニット間、ユニット−ユニット間の前記試験信号や制御信号等を中継する。尚、ユニット４０、ユニット６０、ユニット７０は、交換可能であり、該ユニットが故障した場合等は交換することができる。
【０００８】
診断対象ハードウェア４１、診断対象ハードウェア６１は、それぞれユニット４０、ユニット６０に実装されており、診断プログラムにおける直接の診断対象となるハードウェアである。関連ハードウェア７１は、ユニット７０に実装されており、診断プログラムにおける直接の診断対象ではないが、診断を行う上で必要となるハードウェアである。
【０００９】
また、システムの診断に関する技術として、以下の技術が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１０−１４８６５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ここで、ＩＣテストシステム３０１の動作について図１２のフローチャートを参照しつつ説明する。まず、作業者がＩＣテストシステム３０１を起動する（Ｓ１０１）。ここで、システム初期設置（または移設）時、システムのハードウェア交換時、システムのソフトウェアの変更時のいずれかである場合（Ｓ１０２、Ｙ）、システム管理者は、ＭＭＩ３１を介して全ての診断プログラムを実行するように診断実行部１１１に要求する（Ｓ１０３）。診断実行部１１１は、ＨＤＤ２０１の診断プログラム２１をロードし、実行する（Ｓ１０４）。診断実行部１１１は、実行要求された診断プログラムを全て実行したか否かを判定し（Ｓ１０５）、全て実行するまでＳ１０４を繰り返し実行する（Ｓ１０５、ＮからＳ１０４へループ）。また、全ての診断プログラム２１が実行された場合（Ｓ１０５、Ｙ）、診断実行部１１１は、その実行結果をＨＤＤ２０１へ保存する（Ｓ１０６）。
【００１２】
また、診断実行部１１１は、実行した診断プログラム２１が全てパスしたか否かを判定し（Ｓ１０７）、パスしている場合（Ｓ１０７、Ｙ）、処理はＳ１０８へ進み、パスしていない診断プログラム２１がある場合（Ｓ１０７、Ｎ）、システム管理者は、ＩＣテストシステム３０１を停止し、診断結果がパスしなかった不良なハードウェアの交換を行う（Ｓ１１４）。
【００１３】
尚、Ｓ１０２の条件に合致しない場合（Ｓ１０２、Ｎ）、処理はＳ１０８へ進む。
【００１４】
次にシステム管理者は、ＩＣテストシステム３０１のシステム仕様で推奨されている診断プログラムの実行周期が経過したかを判定し（Ｓ１０８）、経過した場合（Ｓ１０８、Ｙ）、システム管理者は、ＭＭＩ３１を介して定期的に実行すべき診断プログラム（すなわち、実行周期が経過している診断プログラム）を実行するように診断実行部１１１に要求する（Ｓ１０９）。
【００１５】
診断実行部１１１は、該当する診断プログラム２１をＨＤＤ２０１からロードし、実行する（Ｓ１１０）。診断実行部１１１は、実行要求された診断プログラムを全て実行するまでステップＳ１１０を繰り返し実行する（Ｓ１１１、Ｎ）。診断実行部１１１は診断プログラム２１を全て実行した場合（Ｓ１１１、Ｙ）、ＨＤＤ２０１にその診断結果２２を記憶する（Ｓ１１２）。診断実行部１１１は、実行した診断プログラムが全てパスしているか否かを判定し（Ｓ１１３）、パスしている場合（Ｓ１１３、Ｙ）、処理はステップＳ１０８に戻る。パスしていない場合（１１３、Ｎ）、ＭＭＩ３１は、アラートを表示することで作業者に通知し、システム担当者はＩＣテストシステム３０１を停止し、診断結果がパスしなかった不良なハードウェアを交換する（Ｓ１１４）。
【００１６】
このようにＩＣテストシステム３０１の構成診断では、システム初期設置、移設時、システムハードウェアの交換時、システムソフトウェア変更時など、システムの構成が変化した場合、全ての診断プログラムを実行するため、必要以上の診断が実行される可能性があり、非効率である。また、診断プログラムの実行周期を、ＩＣテストシステム３０１を使用するエンドユーザが運用管理することは困難であり、最適な周期で実行されるとは限らないため、構成の不具合検出率が十分であるとは言えない。
【００１７】
本発明は、上述した問題点を解決するためになされたものであり、診断実行履歴を作成し、また管理することによって、実行すべき必要最小限の診断プログラムを自動的に抽出する装置、方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決するため、本発明の一態様に係るシステム診断装置は、システムの構成が変更された場合に該システムが正常に動作するかを診断するシステム診断装置であって、システムを構成するハードウェア、またはシステムを構成するハードウェアに対して診断を行うときに用いられる診断プログラムのうちで、前回の診断から変更されたハードウェアの識別情報、または診断プログラムの識別情報を抽出するシステム情報処理部と、前記システム情報処理部によってハードウェアの識別情報が抽出された場合、ハードウェアの識別情報に対応する診断プログラムを実行する一方、システム情報処理部によって診断プログラムの識別情報が抽出された場合、診断プログラムに対応するハードウェアに対し、診断プログラムを実行する診断実行部と、を有する。
【００１９】
また、本発明の一態様に係るシステム診断方法は、コンピュータが、システムの構成が変更された場合に該システムが正常に動作するかを診断するシステム診断方法であって、システムを構成するハードウェア、またはシステムを構成するハードウェアに対して診断を行うときに用いられる診断プログラムのうちで、前回の診断から変更されたハードウェアの識別情報、または診断プログラムの識別情報を抽出し、ハードウェアの識別情報が抽出された場合、ハードウェアの識別情報に対応する診断プログラムを実行する一方、診断プログラムの識別情報が抽出された場合、診断プログラムに対応するハードウェアに対し、診断プログラムを実行する。
【発明の効果】
【００２０】
本発明に係るシステム診断装置、システム診断方法によれば、診断内容の最適化と診断実行時間の短縮を図ることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係るＩＣテストシステムの一例を示すブロック図である。
【図２】本実施の形態に係るシステムハードウェア情報のデータ構造の一例を示す図である。
【図３】本実施の形態に係るシステムソフトウェア情報のデータ構造の一例を示す図である。
【図４】本実施の形態に係る診断実行履歴のデータ構造の一例を示す図である。
【図５】本実施の形態に係るシステム診断の動作の一例を示すフローチャートである（その１）。
【図６】本実施の形態に係るシステム診断の動作の一例を示すフローチャートである（その２）。
【図７】本実施の形態に係るシステムハードウェア差分情報に基づいて診断実行履歴の実行結果を更新する処理の一例を説明する図である（診断対象ＨＷ情報）。
【図８】本実施の形態に係るシステムハードウェア差分情報に基づいて診断実行履歴の実行結果を更新する処理の一例を説明する図である（関連ＨＷ情報）。
【図９】本実施の形態に係るシステムソフトウェア差分情報に基づいて診断実行履歴の実行結果を更新する処理の一例を説明する図である。
【図１０】本実施の形態に係る実行推奨周期に基づき診断実行履歴の実行結果を更新する処理の一例を説明する図である。
【図１１】従来のＩＣテストシステムの構成を示す図である。
【図１２】従来のシステム診断の動作を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について図面を参照しつつ説明する。図１に、本実施の形態に係るＩＣテストシステムのブロック図を示す。ＩＣテストシステム３００は、ＭＭＩ３１、ＴＳＣ１００、ＨＤＤ２０、ユニット４０、ユニット６０、ユニット７０を有する。
【００２３】
ＭＭＩ３１は、図１１と同様に、ＴＳＣ１００に対し実行指示を行い、実行結果を出力する。ＴＳＣ１００は、図１１で説明したＩＣテスト実行部１０１、診断実行部１１を有し、さらに、ＩＣテストシステム３００のハードウェア、ソフトウェアの構成に変更があったか否かを判定するシステム情報処理部１２を有する。
【００２４】
メインメモリ１０は、システムハードウェア情報１３、システムソフトウェア情報１４、診断実行履歴１５、システムハードウェア差分情報１６、システムソフトウェア差分情報１７の各情報を記憶する。
【００２５】
ＨＤＤ２０には、診断実行部１１がシステム構成の診断をする際に使用する診断プログラム２１が記憶されている。尚、本実施の形態では、診断内容（診断項目）ごとにそれぞれ対応した複数のプログラムが診断プログラム２１として予め用意されている。またＨＤＤ２０には、システム診断コントローラ１０に記憶されているシステムハードウェア情報１３、システムソフトウェア情報１４、診断実行履歴１５のバックアップファイルであるシステムハードウェア情報２３、システムソフトウェア情報２４、診断実行履歴２５が記憶されている。
【００２６】
ユニット４０、ユニット６０、およびユニット７０は、図１１と同様であるため、説明を割愛する。
【００２７】
ここで、システムハードウェア情報１３、システムソフトウェア情報１４、診断実行履歴１５のデータ構成について、図２から図４を参照しつつ説明する。
【００２８】
まず、システムハードウェア情報１３のデータ構成を図２に示す。ロケーション番号は、スロット番号などハードウェアの位置を識別し、且つハードウェアを一意に識別する番号（ハードウェアの識別情報）であり、ＨＷ  ＩＤは、ハードウェアの種類を表す番号である。また、ＨＷ  Ｒｅｖはハードウェアの改訂履歴を表す番号であり、基板改訂時などに更新される。ＳＷ  Ｒｅｖは、制御仕様の改訂履歴を表す番号であり、制御仕様が改訂された時などに更新される。Ｓ／Ｎは、ハードウェアの個体を識別するシリアル番号である。これら各種情報は、ＩＣテストシステム３００を構成するハードウェアごとに存在する。
【００２９】
次に、システムソフトウェア情報１４のデータ構成を図３に示す。診断プログラム番号は、診断プログラム２１の各プログラムを一意に識別する番号である。ここで、本実施の形態において、診断プログラムとは、機能診断、経路診断、レベル及びタイミング精度診断等のカテゴリに分類され、１つまたは複数の診断項目と関連付けられている。ここで、各項目を構成するデータについて説明する。
【００３０】
診断項目番号は、診断プログラムにおける項目を一意に識別する番号である。ここで、本実施の形態において、診断項目とは、例えば測定ポイントや診断で検出する故障モード毎に診断プログラムを細分化した実行単位である。ＳＷ  Ｖｅｒは、診断プログラムの改訂履歴を表す番号であり、診断プログラムにおける項目単位で更新される。実行推奨周期は、診断プログラムを周期的に実行させるための推奨周期であり、診断対象ＨＷ情報は、診断プログラムにおける直接の診断対象となる診断対象ハードウェア４１、診断対象ハードウェア６１等の位置情報リストである。また、関連ＨＷ情報は、診断プログラムにおける直接の診断対象ではないが、診断を行う上で必要となる関連ハードウェア７１等の位置情報リストである。診断対象ＨＷ情報、関連ＨＷ情報の位置情報リストとして、対象となる各ハードウェアのロケーション番号の一覧が保持される。
【００３１】
診断実行履歴１５のデータ構成を図４に示す。診断実行履歴１５は、ロケーション番号をｘ軸、診断プログラム番号と診断項目番号とのセットをｙ軸としたマトリックスを用いて実行日時とその実行結果を保持する。実行結果は、当該診断プログラムの実行結果であり、パス／フェイル／実行不可の３種のうちいずれかとなる。前回実行日時は、当該診断プログラムの前回実行された日時である。以下、この実行日時と実行結果を組みとした単位を構成要素と称す。
【００３２】
次に、ＩＣテストシステム３００のシステム構成を診断するときの動作を図５、図６のフローチャートを参照しつつ説明する。
【００３３】
まず、ＩＣテストシステム３００が起動し（Ｓ１）、その後、システム情報処理部１２は、現在のシステムハードウェアに関する情報と、システムソフトウェアに関する情報をそれぞれ取得し、取得データをシステムハードウェア情報１３、システムソフトウェア情報１４それぞれのフォーマットに一致するよう変換し、システムハードウェア情報１３、システムソフトウェア情報１４として記憶する（Ｓ２）。尚、システムハードウェア、システムソフトウェアに関する情報は、ＢＩＯＳ（Basic Input/Output System）やＯＳのブートシーケンスで行われる自動認識機能で検知可能であれば、当該自動認識機能の検知結果を取得してもよいし、また、他の既存ツールを用いて取得してもよい。
【００３４】
次にシステム情報処理部１２は、システムソフトウェア情報１４を基にして、診断実行履歴１５の記憶空間を生成する（Ｓ３）。この際、システム情報処理部１２は、診断実行履歴１５における診断実行可能な構成要素を予め以下のように初期化しておく。
・実行結果をフェイルで初期化
・前回実行日時をシステム出荷時より過去の日時で初期化
【００３５】
次に、システム情報処理部１２は、ＨＤＤ２０の診断実行履歴２５が存在するかを判定する（Ｓ４）。ここで、診断実行履歴２５が存在しない場合（Ｓ４、Ｎ）、処理はステップＳ６へ進む。一方、診断実行履歴２５が存在する場合（Ｓ４、Ｙ）、システム情報処理部１２は、ＨＤＤ２０にバックアップされた診断実行履歴２５を基にして、診断実行履歴１５における診断実行可能な構成要素を初期化する（Ｓ５）。具体的には、システム情報処理部１２は診断実行履歴２５の各構成要素をそれぞれ取得し、取得した構成要素に対応する診断実行履歴１５の構成要素に上書きコピーする。
【００３６】
次に、システム情報処理部１２は、ＨＤＤ２０のシステムハードウェア情報２３が存在するかを判定する（Ｓ６）。システムハードウェア情報２３が存在しない場合（Ｓ６、Ｎ）、システム情報処理部１２は、診断実行履歴１５における診断実行可能な構成要素を全てフェイルに更新し（Ｓ９）、処理はステップＳ１０へと進む。一方、システムハードウェア情報２３が存在する場合（Ｓ６、Ｙ）、システム情報処理部１２は、ＨＤＤ２０にバックアップされたシステムハードウェア情報２３と、メインメモリ１０に記憶されているシステムハードウェア情報１３とに差分が生じている場合は、そのロケーション番号をシステムハードウェア差分情報１６に記録する（Ｓ７）。その後、システム情報処理部１２は、システムハードウェア差分情報１６を基にして、診断実行履歴１５における実行結果を更新する（Ｓ８）。
【００３７】
ここで、ステップＳ８の実行結果の更新方法について、図７、図８を参照しつつ説明する。
【００３８】
新規設置、または交換される等で変更が生じたハードウェアが診断対象ハードウェア４１、診断対象ハードウェア６１である場合は、そのハードウェアのロケーションに該当する実行結果を更新する。図７の例では、システムハードウェア差分情報１６内にロケーシ
ョン番号１の情報があるとする。システム情報処理部１２は、診断対象ＨＷ情報がロケーション番号１、またはロケーション番号１を含む診断プログラム番号、診断項目番号のセットをシステムソフトウェア情報１４から取得する。システムソフトウェア情報１４が例えば図７に示すような状態である場合、診断プログラム番号１、診断項目番号１のセットと、診断プログラム番号１、診断項目番号２のセット、および診断プログラム番号２、診断項目番号１のセットが取得される。
【００３９】
次に、システム情報処理部１２は、診断実行履歴１５に対し、システムハードウェア差分情報１６内のロケーション番号に該当し、また取得された診断プログラム番号と診断項目番号とのセットに該当する構成要素（ｙ軸方向）の実行結果を全てフェイルに更新する。図７の例では、システム情報処理部１２は、ロケーション番号１に該当し、また診断プログラム番号と診断項目番号とのセットを診断プログラム番号−診断項目番号と表した場合に１−１、１−２、２−１に該当する診断実行履歴１５の実行結果をフェイルに更新する（図７の「診断実行履歴１５における実行結果」を参照）。
【００４０】
またステップＳ８では、新規設置、または交換される等で変更が生じたハードウェアが関連ハードウェア７１である場合は、それに対応する診断プログラムの実行結果も更新される。ここで、診断プログラムの実行結果の更新方法を、図８を参照しつつ説明する。システム情報処理部１２は、システムハードウェア差分情報１６から構成に変更のあったハードウェアのロケーション番号を取得する。またシステム情報処理部１２は、システムソフトウェア情報１４から関連ＨＷ情報に当該ロケーション番号を含んでいるエントリを特定し、対応する診断プログラム番号、診断項目番号のセットを取得する。図８の例では、システム情報処理部１２は、システムハードウェア差分情報１６からロケーション番号３を取得し、システムソフトウェア情報１４から関連ＨＷ情報に３を含むエントリを特定する。その後、システム情報処理部１２は、当該エントリの診断プログラム番号２、診断項目番号１のセットを取得し、診断プログラム番号と診断項目番号とのセットを診断プログラム番号−診断項目番号と表した場合に２−１に該当する診断実行履歴１５の実行結果（ｘ軸方向）を全てフェイルに更新する（図８の「診断実行履歴１５における実行結果」を参照）。
【００４１】
図５のフローチャートの説明に戻る。システム情報処理部１２は、メインメモリ１０のシステムハードウェア情報１３と、診断実行履歴１５とをＨＤＤ２０のシステムハードウェア情報２３、診断実行履歴２５にバックアップコピーする（Ｓ１０）。
【００４２】
次にシステム情報処理部１２は、ＨＤＤ２０にシステムソフトウェア情報２４が存在するかを判定し（Ｓ１１）、存在しない場合（Ｓ１１、Ｎ）、メインメモリ１０の診断実行履歴１５における診断実行可能な構成要素を全てフェイルに更新し（Ｓ１４）、処理はステップＳ１５へ進む。
【００４３】
一方、システムソフトウェア情報２４が存在する場合（Ｓ１１、Ｙ）、システム情報処理部１２は、ＨＤＤ２０にバックアップされたシステムソフトウェア情報２４におけるＳＷ  Ｖｅｒと、メインメモリ１０のシステムソフトウェア情報１４におけるＳＷ  Ｖｅｒとで差分が生じている場合は、その診断プログラム番号と診断項目番号をシステムソフトウェア差分情報１７に記録する（Ｓ１２）。その後、システム情報処理部１２は、システムソフトウェア差分情報１７を基にして、診断実行履歴１５の該当する構成要素の実行結果を更新する（Ｓ１３）。
【００４４】
ここで、ステップＳ１３の実行結果の更新について、図９を参照しつつ説明する。システム情報処理部１２は、システムソフトウェア差分情報１７に記録されている診断プログラム番号、診断項目番号のセットを取得し、診断実行履歴１５に対し、取得された診断プ
ログラム番号、診断項目番号のセットに対応する実行結果をフェイルに更新する（ｘ軸方向）。図９の例では、システム情報処理部１２は、システムソフトウェア差分情報１７から診断プログラム番号１、診断項目番号２のセットを取得する。システム情報処理部１２は、診断実行履歴１５に対し、取得した診断プログラム番号１、診断項目番号２のセットに対応する構成要素（ｘ軸方向）をフェイルに更新する（図９の「診断実行履歴１５における実行結果」を参照）。
【００４５】
図５のフローチャートに説明を戻す。システム情報処理部１２は、メインメモリ１０のシステムソフトウェア情報１４と診断実行履歴１５を、ＨＤＤ２０のシステムソフトウェア情報２４と診断実行履歴２５にバックアップコピーする（Ｓ１５）。
【００４６】
診断実行部１１は、ＩＣテスト実行部１０１が稼動しているかを判定する（図６のＳ１６）。例えばＩＣテスト実行部１０１が稼動中である場合は所定のフラグファイルを作成し、待機中である場合はこのフラグファイルを削除する等を、ＩＣテスト実行部１０１が行う場合、診断実行部１１は、このフラグファイルの有無を判定することで、ＩＣテスト実行部１０１が稼動中であるか否かを判定する。
【００４７】
ＩＣテスト実行部１０１が稼動している場合（Ｓ１６、Ｎ）、ＩＣテスト実行部１０１が待機状態になるまで診断実行部１１は待機する（Ｓ１６のループ）。一方、ＩＣテスト実行部１０１が待機中である場合（Ｓ１６、Ｙ）、診断実行部１１は、自己の制御権を獲得できるか、または、ＭＭＩ３１から、必要最小限の診断プログラムを実行するよう要求があるかを判定する（Ｓ１７）。制御権に関しては、診断実行部１１が制御権を管理する他の制御機構（例えばＯＳのプロセス管理機構）から実行指示を取得する方法であってもよい。また、本実施の形態では、例えば診断実行履歴１５のマトリックスでフェイルになっている構成要素を必要最低限とする。ここで、制御権が獲得できない、またはＭＭＩ３１から実行要求が無い場合（Ｓ１７、Ｎ）、処理はＳ１６へ戻る。
【００４８】
一方、制御権を獲得することができた、またはＭＭＩ３１から実行要求があった場合（Ｓ１７、Ｙ）、診断実行部１１は、メインメモリ１０の診断実行履歴１５内の前回実行日時と現在日時との差が、システムソフトウェア情報１４内における実行推奨周期よりも大きい場合は、診断実行履歴１５の該当構成要素の実行結果をフェイルに更新する（Ｓ１８）。
【００４９】
ステップＳ１８の処理を、図１０を参照しつつ説明する。診断実行部１１は、システムソフトウェア情報１４のエントリそれぞれの診断プログラム番号と診断項目番号のセット、および実行推奨周期（Ｔｃ）を取得し、ＴＳＣ１００内のハードウェアクロックから現在日時（ＤＴ）を取得する。また診断実行部１１は、取得した診断プログラム番号と診断項目番号のセットに該当する構成要素の前回実行日時（ＤＴｃ）を、診断実行履歴１５から取得する。診断実行部１１は、
Ｔｃ  ＜  ＤＴ  −  ＤＴｃ
が成立する場合、診断実行履歴１５の該当構成要素の実行結果をフェイルに更新する。
【００５０】
図６のフローチャートに説明を戻す。診断実行部１１は、診断実行履歴１５における実行結果がフェイルの構成要素に対応する診断プログラムをＨＤＤ２０から抽出する（Ｓ１９）。診断実行部１１は、ＨＤＤ２０からステップＳ１９で抽出された診断プログラム２１の一つをロードし、その診断プログラムを実行する（Ｓ２０）。また診断実行部１１は、メインメモリ１０の診断実行履歴１５に対し、各構成要素を以下のように更新する（Ｓ２１）。
・実行結果を現在実行した結果に更新。
・前回実行日時を現在の日時に更新。
【００５１】
診断実行部１１は、メインメモリ１０の診断実行履歴１５をＨＤＤ２０の診断実行履歴２５にバックアップコピーする（Ｓ２２）。ここで、診断実行部１１は、抽出された診断プログラムを全て実行したかを判定し（Ｓ２３）、全て実行していない場合（Ｓ２３、Ｎ）、ステップＳ２０に戻り次の診断プログラムをロードし、実行する。一方、抽出された診断プログラムが全て実行された場合（Ｓ２３、Ｙ）、診断実行部１１は、次に、診断実行履歴１５における実行結果が全てパスしているか（実行結果が良であったか）を判定する（Ｓ２４）。
【００５２】
全てパスしていない場合（Ｓ２４、Ｎ）、実行結果が不良であるハードウェアがあるためシステム管理者はシステムを停止し、不良なハードウェアを交換する（図５のＳ２５）。全てパスした場合（Ｓ２４、Ｙ）、処理はステップＳ１６に戻り、診断実行部１１はＩＣテスト実行部１０１が待機状態になるまで待機する。
【００５３】
上述の通り、本実施の形態のシステム情報処理部１２は、システムを構成するハードウェア、またはシステムを構成するハードウェアに対して診断を行うときに用いられる診断プログラムのうちで、前回の診断から変更されたハードウェアの識別情報、または診断プログラムの識別情報を抽出する。また、診断実行部１１は、システム情報処理部１２によってハードウェア識別情報に対応する診断プログラムを実行する一方、システム情報処理部１２によって診断プログラムの識別情報が抽出された場合、その診断プログラムを実行する。このように、本実施の形態では、ＩＣテストシステムのハードウェアの状態変化、診断プログラムの状態変化を検出し、必要最小限の診断プログラムを自動的に抽出して実行することで、ＩＣテストシステムの起動時のオーバーヘッドを軽減することができる。また、本実施の形態のＩＣテストシステムは、ＩＣテストの待機中に、システム仕様で推奨される周期で未だ実行されない診断プログラムを自動的に抽出して実行することで、量産テスト（本実施の形態の例では、テスト実施コントローラ１０１でのＩＣテスト）の稼働率を低下させることなく、状態変化の検出率を向上させることができる。
【００５４】
尚、システム診断装置は、本実施の形態の診断実行部１１、システム情報処理部１２、メインメモリ１０、ＨＤＤ２０、ＭＭＩ３１に対応している。また、本実施の形態では、ＩＣテストを実施するシステムにシステム診断装置を適用させた例を示したが、他の構成管理を必要とするシステム全般にシステム診断装置を適用することができる。
【００５５】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【符号の説明】
【００５６】
１０  メインメモリ
１１  診断実行部
１２  システム情報処理部
１３  システムハードウェア情報
１４  システムソフトウェア情報
１５  診断実行履歴
１６  システムハードウェア差分情報
１７  システムソフトウェア差分情報
２０  ＨＤＤ
２１  診断プログラム
２３  システムハードウェア情報
２４  システムソフトウェア情報
２５  診断実行履歴
３１  ＭＭＩ
４０、６０、７０  ユニット
４１、６１  診断対象ハードウェア
５１  ＤＵＴ
７１  関連ハードウェア
１００  ＴＳＣ
１０１  ＩＣテスト実行部
３００  ＩＣテストシステム
【図１】
2011179996.tif 000003
【図２】
2011179996.tif 000004
【図３】
2011179996.tif 000005
【図４】
2011179996.tif 000006
【図５】
2011179996.tif 000007
【図６】
2011179996.tif 000008
【図７】
2011179996.tif 000009
【図８】
2011179996.tif 000010
【図９】
2011179996.tif 000011
【図１０】
2011179996.tif 000012
【図１１】
2011179996.tif 000013
【図１２】
2011179996.tif 000014