(57)【要約】【課題】  ＨＤＤテスト方法およびそれに適した記録媒体を提供する。【解決手段】  ランダムな要求に応答してＨＤＤが装着されたかを検査し，それぞれの装着ＨＤＤに対して一つのテストスレッドを順次に割り当てることによって，ＨＤＤのような複数のデバイスをテストする方法が提供される。装着されたＨＤＤをテストするためにテストスレッドが呼出しおよび要求された時，それぞれの割り当てられたスレッドは一連のテスト作業を一つずつ行い，テストスレッドによってテストの一作業が終了する度に各ＨＤＤのテスト状態が記録される。従って，次のテストスレッドが記録されたテスト状態を参照できる。【選択図】    図８
2004342116.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスクドライブ（ＨＤＤ）テスト装置に，それぞれがランダムに着脱されうる複数のＨＤＤをテストするハードディスクドライブテスト方法において：
ＨＤＤが装着されているかを検査する過程と；
装着されたＨＤＤそれぞれに，同時に行うことができるテストスレッドを，順次に割り当てる過程と；
各前記テストスレッドが当該装着されたＨＤＤに割り当てられた場合，当該装着されたＨＤＤに対する各テストスレッドによって，テストにおける一連の作業を一つずつ行う過程と；
前記テストスレッドのうち何れか一つによって一連のテスト作業中の一つが完了する度に，装着されたＨＤＤそれぞれのテスト状態を記録する過程と；
を含むことを特徴とする，ハードディスクドライブテスト方法。
【請求項２】
前記一連のテスト作業には優先順位が付けられ，
それぞれのテストスレッドによって，装着されたＨＤＤに相応する前記テストスレッドで行われるテスト作業の優先順位と，他の装着されたＨＤＤで行われる他のテスト作業の優先順位とを比較する過程と；
前記テストスレッドに割り当てられたＨＤＤで行われる作業の優先順位が他のＨＤＤで行われる作業の優先順位より低いか，または同じである場合，作業を行わずに当該テストスレッドの実行を終了させる過程と；
をさらに含むことを特徴とする，請求項１に記載のハードディスクドライブテスト方法。
【請求項３】
装着されたＨＤＤをテストする一連のテスト作業は，
ＨＤＤに電源を供給する作業，ＨＤＤをリセットする作業，ダウンロードされた関連テストスクリプトおよびコードを参照してＨＤＤをセルフテストする作業，ＨＤＤのテスト終了の如何を検査する作業，そして，テスト終了後ＨＤＤへの電源供給を中断させる作業を含み，
リセットする作業が最も高い優先順位を有することを特徴とする，請求項２に記載のハードディスクドライブテスト方法。
【請求項４】
装着されたＨＤＤに対して同時に割り当てられたテストスレッドの数は，ＨＤＤテスト装置の資源に依存して制限されることを特徴とする，請求項１に記載のハードディスクドライブテスト方法。
【請求項５】
前記テストスレッドは，それぞれの装着されたＨＤＤのテスト状態の記録によってハードディスクテスト装置の資源を効率的に共有するために，互いに通信することを特徴とする，請求項４に記載のハードディスクドライブテスト方法。
【請求項６】
前記ＨＤＤが装着されているかを検査する過程および各ＨＤＤにテストスレッドを，順次に割り当てる過程は周期的に行われることを特徴とする，請求項１に記載のハードディスクドライブテスト方法。
【請求項７】
前記ＨＤＤが装着されているかを検査する過程は第１周期以内に行われ，
前記それぞれのＨＤＤにテストスレッドを，順次に割り当てる過程は第２周期以内に行われ，
前記第１周期は前記第２周期より短いことを特徴とする，請求項６に記載のハードディスクドライブテスト方法。
【請求項８】
装着されたＨＤＤをテストする一連のテスト作業は，
ＨＤＤに電源を供給する作業，ＨＤＤをリセットする作業，ダウンロードされた関連テストスクリプトおよびコードを参照してＨＤＤをセルフテストする作業，ＨＤＤのテスト終了の如何を検査する作業，テスト終了後ＨＤＤへの電源供給を中断させる作業を含むことを特徴とする，請求項１に記載のハードディスクドライブテスト方法。
【請求項９】
当該装着されたＨＤＤをテストする一連のテスト作業は，
装着されたＨＤＤのモデル名を確認する作業，および，データベースから前記モデル名に関連したテストスクリプトおよびコードをダウンロードする作業，をさらに含むことを特徴とする，請求項８に記載のハードディスクドライブテスト方法。
【請求項１０】
各装着されたＨＤＤのシリアルポートに連結される多重ポートシリアル通信スイッチの複数の入出力シリアルポートを通じて，それぞれの装着されたＨＤＤへのシリアル通信チャンネルを選択的に確立する過程と；
各装着されたＨＤＤに対する各テストに相応するハードディスクポート情報データ構造体を発生させる過程と；
各テストのＨＤＤポート情報データ構造体に，装着されたＨＤＤに対するシリアル通信チャンネルが確立された多重ポートシリアル通信スイッチの入出力シリアルポートのうち何れか一つのポート番号とテスト状態とを記録する過程と；
ＨＤＤポート情報データ構造体によって各テストスレッドによる各テストの作業を同期化する過程と；
をさらに備えることを特徴とする，請求項１に記載のハードディスクドライブテスト方法。
【請求項１１】
装着できる複数の装置それぞれをテストするための各作業完了状態の記録によって，テストソフトウェアスレッドが複数の作業を順次に一つずつ行う過程と；
各装着された装置に対するテストソフトウェアスレッドの作業完了状態の記録によって，各装着された装置に対するシリアル通信インターフェースを通じて，各装着された装置に，各装着された装置をテストするための複数の作業のうちそれぞれの作業ごとに一つのテストソフトウェアスレッドを割り当てる過程と；
を含むテスト方法。
【請求項１２】
ＨＤＤテスト装置にランダムに着脱されうる複数のＨＤＤをテストするコンピュータプログラムが記録されたコンピュータで読み出し可能な記録媒体において：
ＨＤＤスキャニングスレッド実行イベント，テストスレッド実行イベント，ユーザインターフェースサービスイベント，ＨＤＤスキャニングスレッド実行開始イベント，そしてテストスレッド実行開始イベントを含むグループのうちから選択されるイベントの発生を待機し，発生するイベントに相応するスレッドを呼び出すイベント待機モジュールと；
ＨＤＤスキャニングスレッド実行イベントが呼び出された時，ＨＤＤの着脱を検査するスキャンイベントサービスモジュールと；
テストスレッド実行イベントが発生する時，装着されたＨＤＤとの通信を通じて装着されたＨＤＤの状態を検査しつつ装着されたＨＤＤをテストするテストスレッド実行イベントサービスモジュールと；
を含むプログラムが記録された記録媒体。
【請求項１３】
前記テストスレッド実行イベントサービスモジュールは，
前記装着されたＨＤＤに対するそれぞれの作業毎に一つのテストスレッドを割り当てることによって，装着されたＨＤＤをテストするために，装着されたＨＤＤのうち何れか一つに対する一連の作業を順次に一つずつ行うことを特徴とする，プログラムが記録されたことを特徴とする，請求項１２に記載の記録媒体。
【請求項１４】
一連のテスト作業は，優先順位によって並べられ，
前記テストスレッド実行サービスモジュールは，自身に割り当てられたＨＤＤで行われる作業の優先順位と，他の装着されたＨＤＤで行われる他の作業の優先順位とを比較し，割り当てられたＨＤＤに対する作業の優先順位が他のＨＤＤに対する作業の優先順位より低いか，または同じである場合，作業の遂行を終了するプログラムが記録されたことを特徴とする，請求項１３に記載の記録媒体。
【請求項１５】
装着された複数のＨＤＤのうち何れか一つを，装着されたＨＤＤとしてテストする一連の作業は，
ＨＤＤに電源を供給する作業，ＨＤＤをリセットする作業，ダウンロードされた関連したテストコードおよびスクリプトを参照してＨＤＤをセルフテストする作業，ＨＤＤのテスト終了の如何を検査する作業，そしてテスト終了後ＨＤＤへの電源供給を中断させる作業を含み，
前記リセットする作業が最も高い優先順位を有する，プログラムが記録されたことを特徴とする，請求項１４に記載の記録媒体。
【請求項１６】
前記ユーザインターフェースサービスモジュールは，
ユーザのテスト開始命令が入力された場合，ＨＤＤスキャニングスレッド実行開始イベントとテストスレッド実行開始イベントとを発生させ，
前記ＨＤＤスキャニングスレッド実行開始イベントおよびテストスレッド実行開始イベントは，ＨＤＤスキャニングスレッド実行イベントおよびテストスレッド実行イベントをそれぞれ周期的に起動させる，プログラムが記録されたことを特徴とする，請求項１２に記載の記録媒体。
【請求項１７】
前記ＨＤＤスキャニングスレッド実行イベントは，第１周期以内に発生し，前記テストスレッド実行イベントは第２周期以内に発生し，
前記第１周期は，前記第２周期より短い，プログラムが記録されたことを特徴とする，請求項１６に記載の記録媒体。
【請求項１８】
同時に実行されうるテストスレッドの数は，ＨＤＤテスト装置の資源に依存して制限される，プログラムが記録されたことを特徴とする請求項１３に記載の記録媒体。
【請求項１９】
前記テストスレッドは客体であってＨＤＤテスト装置の資源を効率的に共有するために互いに通信する，プログラムが記録されたことを特徴とする，請求項１８に記載の記録媒体。
【請求項２０】
装着されたＨＤＤのうち何れか一つに対する前記テストスレッド実行イベントサービスモジュールは，
前記装着されたＨＤＤをテストするために前記テストスレッド実行イベントサービスモジュールが呼び出されたとき，一連の作業を一つずつ行い，
前記一連の作業は，
ＨＤＤに電源を供給する作業，ＨＤＤをリセットする作業，ダウンロードされた関連したテストスクリプトおよびコードを参照してＨＤＤをセルフテストする作業，ＨＤＤのテスト終了の如何を検査する作業，テスト終了後ＨＤＤへの電源供給を中断させる作業を含む，プログラムが記録されたことを特徴とする，請求項１２に記載の記録媒体。
【請求項２１】
前記一連のテスト作業は，
装着されたＨＤＤのモデル名を確認する作業，およびデ，ータベースから前記モデル名に関連したテストコードおよびスクリプトをダウンロードする作業，をさらに含むプログラムが記録されたことを特徴とする，請求項２０に記載の記録媒体。
【請求項２２】
ユーザインターフェースサービスイベントが発生する時に呼び出され，ユーザに装着されたＨＤＤのテスト状態を知らせるディスプレイアップデートスレッドサービスモジュールをさらに含むプログラムが記録されたことを特徴とする，請求項１２に記載の記録媒体。
【請求項２３】
少なくともデバイステスト装置を制御するプログラムが保存されたデータ保存装置において：
各装着された装置に対するシリアル通信インターフェースを通じて複数の装着できるデバイスのうちそれぞれをテストする各作業完了状態の記録によって，一つのテストソフトウェアスレッドが複数の作業を一つずつ行う過程と；
各装着された装置に対するテストソフトウェアスレッドの作業完了状態の記録によって，各装着された装置に対するシリアル通信インターフェースを通じて各装着されたデバイスに各装着された装置をテストするための複数の作業のうちそれぞれの作業ごとに一つのテストソフトウェアスレッドを割り当てる過程と；
を含むプロセスによるプログラムが記録されたデータ保存装置。
【請求項２４】
複数の着脱可能なＨＤＤと；
単一のホストコンピュータとそれぞれのＨＤＤとの間の通信チャンネルを選択的に確立する過程と；
それぞれの装着されたＨＤＤをテストする各作業完了状態の記録によって，テストソフトウェアスレッドが複数の作業を一つずつ行う過程と；
各装着されたＨＤＤに対するテストソフトウェアスレッドの作業完了状態の記録によって，各装着されたＨＤＤに対するシリアル通信インターフェースを通じて各装着されたＨＤＤに，各装着されたＨＤＤをテストするための複数の作業のうちそれぞれの作業ごとに一つのテストソフトウェアスレッドを割り当てる過程と；
を含み，
各ＨＤＤの前記単一のホストコンピュータとのインターフェースに関係なく各装着されたハードディスクを直接テストできるプロセスによって前記単一のホストコンピュータを制御するプログラムが記録されたコンピュータプロセッサを含むハードディスクドライブテスト装置。
【請求項２５】
前記ＨＤＤそれぞれは，標準ＵＡＲＴポートを有し，
前記単一のホストコンピュータは，少なくとも一つのシリアル通信ポートを有し，そして前記単一のホストコンピュータの一つのシリアル通信ポートとそれぞれのＨＤＤの標準ＵＡＲＴポート間に選択的に確立されたシリアル通信チャンネルを通じてそれぞれのＨＤＤを直接テストすることを特徴とする，請求項２４に記載のハードディスクドライブテストテスト装置。
【請求項２６】
前記単一のホストコンピュータは，第１シリアル通信ポートとしての前記シリアル通信ポートおよび第２シリアル通信ポートを有し，
前記ＨＤＤのシリアルポートに連結されるスイッチの複数の入出力シリアルポートのうち何れか一つと前記単一のホストコンピュータの第２シリアルポートとの間で，シリアル通信チャンネルを選択的に確立するように，前記単一のホストコンピュータによってシリアルポート選択チャンネルを確立するため前記第１および第２シリアル通信ポートに循環的に通信可能に連結されうる多重ポートシリアル通信スイッチをさらに含むことを特徴とする，請求項２４に記載のハードディスクドライブテスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ハードディスクドライブをテストする方法に係り，特に，ランダムに着脱されうる複数のハードディスクドライブをテストする方法，装置およびそれに適したコンピュータにより読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
公知されたように，ハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ：以下，ＨＤＤという。）は，機械的な構成要素よりなるＨＤＡ（Ｈｅａｄ  Ｄｉｓｃ  Ａｓｓｅｍｂｌｙ）と回路的な構成要素よりなるＰＣＢＡ（Ｐｒｉｎｔｅｄ  Ｃｉｒｃｕｉｔ  Ｂｏａｒｄ  Ａｓｓｅｍｂｌｙ）とを結合して構成される。このようなＨＤＤは，回転する磁気ディスク上をヘッドが微細な間隙を維持した状態で浮上および移動し，データを磁気的に記録および／または再生し，かつ，大量のデータを高速でアクセスできる。そのため，コンピュータシステムの補助記憶装置として広く使われている。
【０００３】
ＨＤＤは，ほとんどが機械組立工程，サーボライト工程，機能テスト工程，バーンイン（Ｂｕｒｎ−ｉｎ）テスト工程を経て製造され，以後，上記のバーンインテスト工程を通過したＨＤＤセットが，正常にディフェクト処理されたかを確認する最終テスト工程のような後工程を経て出荷される。
【０００４】
ＨＤＤの製造工程を詳細に説明すれば，次の通りである。
【０００５】
まず，第１段階である機械組立工程は，機械的な構成要素よりなるＨＤＡを製造する工程であって，通常クリーンルーム内で行われる。
【０００６】
第２段階であるサーボライト工程は，アクチュエータのサーボ制御のためのサーボ記録パターン（ｓｅｒｖｏ  ｗｒｉｔｅ  ｐａｔｔｅｒｎ）をディスク上に記録する工程であって，通常サーボライタによって行われる。
【０００７】
第３段階である機能テスト工程は，機械組立工程で作られたＨＤＡとＰＣＢＡとを結合させ，これらが正常にマッチングされて動作するかをテストする。機能テスト工程で，ＨＡＤとＰＣＢＡとの結合体は，特定テストシステムと結合され，約２０分〜２５分の間基本テストを経る。
【０００８】
第４段階であるバーンインテスト工程は，ＨＤＤの製造工程のうち最も長い時間（通常，８時間〜１６時間）がかかる工程であり，ディスク上に存在するディフェクトを見つけ，かつ，校正する。
【０００９】
第５段階である最終テスト工程は，前述されたバーンイン工程を通過したＨＤＤセットが正常なディフェクト処理を行われているか，を確認するための工程であり，特定テストシステムを利用して各ＨＤＤセットのディフェクト処理状態を確認する。
【００１０】
最終テスト工程では，それぞれのＨＤＤを別途のテストコンピュータに接続してテストを行う。各テストコピュータは，近距離通信網（ＬＡＮ）を通じてホストコンピュータに連結され，テストプログラムによって連結されるＨＤＤをテストし，その結果をホストコンピュータに出力する。
【００１１】
ホストコンピュータは，各テストコンピュータから入力される状態データをディスプレイ装置に表示し，作業者はモニタリングされた状態データを見て合格の如何を決定する。最終テスト工程を通過したＨＤＤは，出荷検査工程，包装および出荷工程を経て一つの完成された製品として出荷される。
【００１２】
上記のようにバーンインテスト工程は，ＨＤＤの製造工程のうち最も長い時間がかかるため，制限された時間および空間において，高い信頼性で出来る限り多くのＨＤＤをテストするテスト装置が要求される。従来のテスト装置は，例えば，特許文献１，２，３，４，５，６，７，８および９に開示されている。
【００１３】
図１は，従来のＨＤＤのテスト装置２００の外観を示す図面であって，特許文献１に開示されているものである。
【００１４】
図１を参照すれば，ＨＤＤが積載されるバーンインチャンバ３０はテスト装置の前方に位置し，パワーカードが整列して配置された制御チャンバ４０は分離壁８０によって区分され，ＨＤＤテスト装置２００の後方に位置し，一体に形成される。パワーカードは，バーンインチャンバ３０に積載された各ＨＤＤ，および，２０〜２４台からなるテストコンピュータ５０への電源供給を制御する。各テストコンピュータ５０は，例えば，６個のＨＤＤを制御およびモニタリング（テスト）する。
【００１５】
制御チャンバ４０の上段に設置された電源分配部は，パワーカードおよびテストコンピュータ５０を管理し，管理者の入出力を受けるホストコンピュータに電源を分配する。一方，制御チャンバ４０の下端に設置されたＤＣ電源供給器はテストされるＨＤＤに電源を供給する。
【００１６】
また，ユーザインターフェースのためにディスプレイ装置，キーボード（図示せず）がバーンインチャンバ３０の上端の全面部に装置され，高温維持のためのヒータおよびブロワーがバーンインチャンバ３０の上下段に装置される。
【００１７】
図２は，図１に示された従来のＨＤＤテスト装置２００の内部構成を示す機能ブロック図である。図２を参照すれば，図１に示されたＨＤＤテスト装置２００は，一台のホストコンピュータ６００と２０〜２４台のテストコンピュータ６１２〜６１８とが第１制御バス６６０を通じて連結され，それぞれのテストコンピュータ６１２〜６１８にはさらに３個のデュアルチャンネルＩＤＥアダプター６２２，６２４，６２６が第２制御バス６３０を通じて連結される。また，それぞれのデュアルチャンネルＩＤＥアダプター６２２，６２４，６２６には２台のＨＤＤ６４２〜６４４，６４６〜６４８，６５０〜６５２がそれぞれ接続される。
【００１８】
ホストコンピュータ６００がブートされた後，ホストコンピュータ６００は第１制御バス６６０を通じてテストコンピュータ６１２〜６１８との通信ネットワークを構築する。この第１制御バス６６０は，通常のＬＡＮで実現される。
【００１９】
この第１制御バス６６０を通じてテストコンピュータ６１２〜６１８がブートされれば，テストコンピュータ６１２〜６１８はテストプログラムを実行し，テストコンピュータ６１２〜６１８とホストコンピュータ６００との間の通信チャンネルが形成される。
【００２０】
上記のように，テストコンピュータ６１２〜６１８とホストコンピュータ６００との間の通信チャンネルが形成された場合，ホストコンピュータ６００は，各テストコンピュータ６１２〜６１８から状態を得ることができ，その状態をディスプレイ装置の画面に表示する。また，ヒータを利用してバーンインチャンバ３０内の温度を調節する。
【００２１】
テストされるＨＤＤをＨＤＤテスト装置２００のバーンインチャンバ３０に挿入したとき，テストコンピュータ６１２〜６１８は，ＨＤＤの装着，例えば，ＨＤＤ６５２の装着を感知し，デュアルチャンネルＩＤＥアダプター６２６を通じてテストコードとスクリプトとをＨＤＤにアップロードする。
【００２２】
以後，テストコンピュータ６１２〜６１８は，ＩＤＥインターフェースを通じてテスト結果または進行状態をモニタリングし，そのデータをホストコンピュータ６００に伝送する。そして，ホストコンピュータ６００は，テスト結果または進行状況をディスプレイ装置の画面に表示する。
【００２３】
図１および図２に示されたような従来のＨＤＤテスト装置２００は，それぞれのテストコンピュータを６台のＨＤＤに連結する構造を有するので，以前の１：１のテスト方式よりは効率が良い。しかし，図１および図２に示されたＨＤＤテスト装置２００は，依然として２０〜２４台のテストコンピュータを要求しているので非経済的である。これらのテストコンピュータは，制御チャンバ４０に，それらを収容するための大きな空間を要する。また，高価なデュアルＩＤＥアダプターを各テストコンピュータに対して３個ずつ搭載しなければならないので，図１および図２に示されたＨＤＤテスト装置２００は，従来の１：１のテスト装置に比べてコストが多くかかる。
【００２４】
また，図２に示されたように，ホストコンピュータ６００が一つの通信構造（一つのコンピュータと他の一つのコンピュータとの連結構造）を通じてテストコンピュータ６１２〜６１８に連結され，それぞれのテストコンピュータ６１２〜６１８は，デュアルＩＤＥアダプターというさらに他の通信構造を通じてＨＤＤを制御しているため，エラー発生の可能性が高い。このような複雑な通信構造においては，エラー発生時のシステムデバッグが困難になる。
【００２５】
さらに，ＨＤＤのインターフェースの標準が変更されたときには，全てのＩＤＥアダプターを代替する必要が生じ，かつ，テストコンピュータ６１２〜６１８にローディングされたテストプログラムも修正しなければならない。
【００２６】
また，それぞれのＨＤＤに対するテストにかかる時間は，テストされるＨＤＤの種類あるいはディフェクトの有無によって変動する。ＨＤＤのテスト効率は，また，テスト方法にも依存する。特に，最も簡単な方法として，一つのＨＤＤのテストにかかり得る最大のテスト時間を考慮して，複数のＨＤＤにその最大の時間を割り当てるものである。
【００２７】
しかし，最初にテストが終了するハードディスクのテスト終了時点から最後にテストが終了するＨＤＤのテスト終了時点まで，不要な時間が消費されるため，このような方法は生産的ではない。したがって，それぞれのＨＤＤがランダムに着脱されうる効率的なＨＤＤテスト方法が要求される。
【００２８】
【特許文献１】韓国特許公開１９９７−７６７３８号
【特許文献２】韓国特許公開１９９８−３５４４５号
【特許文献３】韓国特許公開１９９９−６０６１９号
【特許文献４】韓国特許公開１９９９−６５５１６号
【特許文献５】米国特許第６,４３４,４９８号明細書
【特許文献６】米国特許第６,２０８,４７７号明細書
【特許文献７】米国特許第６,４３４,４９９号明細書報
【発明の開示】
【発明が解決しようとする課題】
【００２９】
本発明は，従来のＨＤＤテスト装置が有する上記問題点に鑑みてなされたものであり，本発明の目的は，それぞれのＨＤＤをランダムに着脱することが可能な，新規かつ改良されたハードディスクドライブテスト方法，ハードディスクドライブテスト装置，データ保存装置およびこのテスト方法のためのプログラムを記録した記録媒体を提供することである。
【００３０】
本発明の付加的な特徴および長所は，以下の説明により明らかになる。
【課題を解決するための手段】
【００３１】
上記課題を解決するために，本発明のある観点によれば，ＨＤＤが装着されているかを検査するためにスキャニングを行う過程と；装着されたＨＤＤをテストするためにテストスレッドが呼出され，または，要求された場合，一連のテスト作業を一つずつ行うテストスレッドを装着されたＨＤＤそれぞれに順次に割り当てる過程と；上記テストスレッドによってテスト作業のうち何れか一つが完了する度に，次のテストスレッドが参照されうるように，装着されたＨＤＤそれぞれのテスト状態を記録する過程と，を含むＨＤＤのテスト方法が提供される。また，それぞれがランダムに着脱されうる複数のＨＤＤをテストする。ここでスレッドは，一つの起動中のタスクから起動できる，より小さいモジュールを含む。
【００３２】
本発明はそれぞれがランダムに着脱されうる複数のＨＤＤに対するテストを行うプログラムが備わったコンピュータで読み出し可能な読記録媒体によって達成される。
【００３３】
上記記録媒体は，ＨＤＤスキャニングスレッド実行イベント，テストスレッド実行イベント，ユーザインターフェースサービスイベント，ＨＤＤスキャニングスレッド実行開始イベント，そしてテストスレッド実行開始イベントを備えるイベントのグループのうちから選択されるイベントの発生を待機し，発生したイベントに相応するスレッドを呼出すイベント待機モジュールと，上記ＨＤＤスキャニングスレッド実行イベントが呼出された時に呼出され，ＨＤＤの着脱を検出するスキャンイベントサービスモジュールと，上記テストスレッド実行イベントが発生した時に呼出され，ＨＤＤとのシリアル通信を通じて装着されたＨＤＤの状態を検査しつつ装着されたＨＤＤをテストするテストスレッド実行イベントサービスモジュールと，を含む。
【発明の効果】
【００３４】
以上説明したように本発明では，ＨＤＤが装着されたかを検査し，順次に装着されたＨＤＤそれぞれに対して一つのテストスレッドを割り当てることによって，複数のＨＤＤをランダムな要請に応じて検査する方法が提供される。これによって，ＨＤＤの容量が増加し，テスト時間が長くなり，装備増設が必要な状況における，投資費の負担を画期的に減じることができる。
【発明を実施するための最良の形態】
【００３５】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書および図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００３６】
テストコンピュータを使用せずにただ一つのホストコンピュータを使用して複数のＨＤＤをテストするＨＤＤテスト装置が，韓国特許出願Ｎｏ.２００３−３０８９５（２００３年５月１５日出願）に開示され，これら特許出願の内容は本実施形態において参照される。
【００３７】
同時係留され，本願に関連した日本特許出願の明細書に開示されたように，シリアル通信ポートを備えた一般的なコンピュータがシリアル通信ハードディスクテスト装置内のホストコンピュータとして使われる。特に，ホストコンピュータの二つのシリアル通信ポートと選択可能な周辺シリアルポートとを提供するシリアル通信スイッチング装置を使用して，テストされるＨＤＤとホストコンピュータとの間のシリアル通信チャンネルが確立される。スイッチング装置の選択可能なシリアル通信ポートのうち特定の（他の）一つを使用して，ホストコンピュータとのシリアル通信チャンネルを，あるＨＤＤから他のＨＤＤに変更することが可能であり，これにより一つのホストコンピュータを使用して複数のＨＤＤをテストすることが可能になる。
【００３８】
このために，シリアル通信ＨＤＤテスト装置は多くのＨＤＤを収容するバーンインチャンバを必要とする。シリアル通信スイッチング装置は，韓国特許出願Ｎｏ.２００３−３０８９４（２００３年５月１５日出願）に開示され，これら特許出願の内容は本実施形態において参照される。
【００３９】
図３〜図５は，本発明の実施形態によるＨＤＤのテストに使われるＨＤＤテスト装置を示す透視構成図である。図３〜図５を参照すれば，ＨＤＤテスト装置３００は，その中央部に，複数のＨＤＤが複数の着脱ジグ３０４（図面には一つの着脱ジグだけ示されている）に積載されうるバーンインチャンバ３０２を備える。着脱ジグ３０４上のＬＥＤは，当該着脱ジグ３０４に装着されたＨＤＤのテスト状態を示す。
【００４０】
ＨＤＤドライブテスト装置３００の中央部の後面にはＲＳ−２３２信号，すなわち，テストドライブ制御信号をＨＤＤのＴＴＬ信号レベルに変換させるか，またはその逆動作を行うことによって，ＨＤＤがＰＣＢインターフェースボード３２８と通信するＲＳ−２３２トランスミッタ／レシーバ，を有するＰＣＢインターフェースボード３２８（図５および図８に示される）が設けられる。ＰＣＢインターフェースボード３２８は，ＰＣＢインターフェースボード３２８とシリアル通信交換機３１６との間のシリアル通信チャンネルを形成するためのシリアル通信ＲＳ−２３２Ｃインターフェースコネクタ，そしてパワーカード３３０（図７に示される）に連結するためのＤＣパワー供給コネクタをさらに備える。
【００４１】
ＨＤＤテスト装置の上部３０６および下部３０８から出されたＲＳ−２３２信号線，ＬＥＤコントロール信号線，電源供給線は，ＨＤＤテスト装置３００の支持ダクト３１０（図面にはただ一つの支持ダクトだけが示される）の後に続き，各ＰＣＢインターフェースボード３２８の当該インターフェースコネクタに連結される。
【００４２】
典型的に，ＨＤＤテスト装置３００の下部３０８には，電場ボード（ｅｌｅｃｔｒｉｃｉｔｙ  ｂｏａｒｄ）３３４，ＤＣ電源供給器３３２，そして，ＨＤＤへの電源供給を制御し着脱ジグ３０４上のＬＥＤにテストドライブ状態表示ＬＥＤコントロール信号を出力するパワーカード３３０（図７に示される）がハウジング内部に設置され，吸気口３１２がハウジングに形成されている。
【００４３】
パワーカード３３０を制御する制御信号を供給するホストコンピュータ３１４の信号線が，テスト装置の上部３０６にあるシリアル通信交換機３１６を通じてパワーカード３３０に連結される。また，パワーカード３３０からのＬＥＤコントロール信号線と電源供給線とが着脱ジグ３０４上のＬＥＤおよびバーンインチャンバ３０２の内部のＰＣＢインターフェースボード３２８にそれぞれ連結される。
【００４４】
本実施形態の一特徴によれば，ホストコンピュータ３１４の制御信号線は，シリアル通信交換機３１６を通じてＰＣＢインターフェースボード３２８に連結される。
【００４５】
典型的に，ホストコンピュータ３１４，シリアル通信交換機３１６，電場ボード３３４，ＤＣパワーサプライ３３２，パワーカード３３０を含むパワーコントローラ３６０（図７に詳細に示される），およびファン３１８がＨＤＤテスト装置３００の上部３０６に位置している。このＨＤＤテスト装置３００は，テストされるＨＤＤから発生する熱をバーンインチャンバ３０２から排出させ，上記テストされるＨＤＤの温度を実質的に一定（常温）に維持する。
【００４６】
ＨＤＤテスト装置３００の上部３０６の前面には，作業者（ユーザ，制御装置）がホストコンピュータ３１４とインターフェースするための，ディスプレイ装置３２０，入力装置としてキーボード，およびマウスを有するインターフェース部３２２が設置される。
【００４７】
また，ＨＤＤテスト装置３００の上部３０６の前面には，ＤＣ電源供給器，ホストコンピュータ３１４，ファン３１８をオン／オフするスイッチ，電源状態を確認できる電源表示窓を備える電源表示部３２４が配置される。ＨＤＤテスト装置３００の上部３０６の内部には，他の（上部）ＤＣ電源供給器３３２，他のパワーカード３３４，そして作動信号を上部ＤＣパワー供給器３３２に提供する他の電場ボード３３４が設置される。このように，上部３０６の内部は，下部３０８の内部と非常に似ている。
【００４８】
バーンインチャンバ３０２において，テストされるＨＤＤを着脱する着脱ジグ３０４は，支持ダクト３１０に対して長手方向および場合によっては幅方向に積載されている。
【００４９】
図６は，図３に示された着脱ジグ３０４の透視図である。図６に示されたように，着脱ジグ３０４の内側にはＨＤＤのパワーピンと二つのＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）ピンとに接続されるポゴピン（ｐｏｇｏ  ｐｉｎ）６０２，６０４が設置され，着脱ジグ３０４の外側にはポゴピン６０２，６０４と接続されたポゴピンコネクタ６０６が設けられる。このような着脱ジグ３０４は，韓国特開１９９９−７０５８３号公報（１９９９年９月１５日公開），韓国特開１９９８−３１５９９号公報（１９９８年７月２５日公開），韓国特開１９９８−４７４６５号公報（１９９８年９月１５日公開）に開示されている。
【００５０】
ポゴピンコネクタ６０６は，バーンインチャンバ３０２の後側に位置した分離台３２６（図５参照）を通してＰＣＢインターフェースボード３２８に連結される。ＰＣＢインターフェースボード３２８は，シリアル通信交換機３１６からの制御信号を受信し，受信された制御信号をＨＤＤに適した電圧レベル（典型的に，ＴＴＬレベル信号）に変換し，そして受信および変換された制御信号をポゴピンコネクタ６０６に提供する。このような方法でホストコンピュータ３１４はＨＤＤと通信できる。
【００５１】
図３に示されたＨＤＤテスト装置３００および図６に示された着脱ジグ３０４に対して，着脱ジグ３０４の前側（図面の左側）には，典型的に２個のＬＥＤ６０８が提供され，それぞれのＬＥＤは，着脱ジグ３０４に設置されたテストされるＨＤＤの状態を表示する３個の色相が発光する。
【００５２】
着脱ジグ３０４の後側には，２個の３色ＬＥＤ６０８を制御するために，対応するパワーカードを通じてホストコンピュータ３１４からの信号を供給するＬＥＤコントロール信号線がコネクタ６１０に連結されている。このような方法で，ＬＥＤ６０８はホストコンピュータ３１４によって決定されるＨＤＤのテスト状態に相応してオンとなる。
【００５３】
前述したように，ＨＤＤテスト装置３００の上部３０６と下部３０８とには，電場ボード３３４（図７に示される），ＤＣ電源供給器（図７に示される），およびＨＤＤに電源を供給し，ＬＥＤ６０８を制御するパワーカード３３０が装着される。
【００５４】
電場ボード３３４は，ＨＤＤテスト装置３００にメイン電源が印加された後，ホストコンピュータ３１４に電源が印加され，作動を開始するように構成される。また，電場ボード３３４は，シリアル通信交換機３１６を通じてホストコンピュータ３１４からのＤＣ電源印加命令を受けてＤＣ電源供給器３３２を作動させ，ＤＣ電圧レベル調整信号をＤＣ電源供給器３３２に提供する。ＤＣ電源供給器３３２によってバーンインチャンバ３０２内に収容できるＨＤＤの数に相応する数のパワーカード３３０にパワーが供給され，パワーカード３３０を通じて各着脱ジグ３０４上のテストＨＤＤにＤＣ電源が供給される。
【００５５】
バーンインチャンバ３０２のインターフェースボード３２８に連結される電源線を通じて電圧を測定することによって，パワーカード３３０は，ＨＤＤが着脱ジグ３０４に装着されたかを判断する。また，供給されるＤＣ電圧を測定することもある。典型的に，パワーカード３３０は，シリアル通信交換機３１６を通じてホストコンピュータ３１４と連結され，ＨＤＤの着脱状態，パワー供給状態，そして他の情報をホストコンピュータ３１４に伝送し，着脱ジグ３０４のＬＥＤ制御もしくはＨＤＤへの電源供給のオン／オフのためにホストコンピュータ３１４から提供される命令を実行する。
【００５６】
ＨＤＤテスト装置３００の全体およびＨＤＤテストを制御するホストコンピュータ３１４は，シリアル通信交換機３１６を通じてＨＤＤテスト装置３００の各部分を制御する。
【００５７】
本実施形態の一特徴によれば，ホストコンピュータ３１４は，シリアル通信交換機３１６を通じたシリアル通信信号によってＨＤＤとパワーカード３３０とを制御する。したがって，シリアル通信交換機３１６は，ＨＤＤ，ＰＣＢインターフェースボード３２８およびパワーカード３３０とシリアル通信する。特に，シリアル通信信号によりシリアル通信交換機３１６を通じてホストコンピュータ３１４とＨＤＤとを通信するために，シリアル通信交換機３１６からのシリアル通信信号をＰＣＢインターフェースボード３２８を通じてＨＤＤに伝送する時，シリアル通信交換機３１６で使われる電圧レベルとＨＤＤの内部のＴＴＬ信号のレベルとが相異するので，シリアル通信信号の電圧レベルを変更する。一方，パワーカード３３０は，ホストコンピュータ３１４からの制御信号に応答して着脱ジグ３０４に装置されたＬＥＤ６０８を制御する。すなわち，ＰＣＢインターフェースボード３２８に伝送される信号は，ホストコンピュータ３１４からの制御信号およびパワーカード３３０からのＬＥＤ制御信号で構成される。
【００５８】
ＨＤＤテスト装置３００の上部３０６の前面のディスプレイ装置３０２もホストコンピュータ３１４に連結される。作業者が各テストＨＤＤの状態をモニタリングできる情報は，ディスプレイ装置３２０に表示される。インターフェース部３２２，例えば，キーボード，マウスを通じて作業者はホストプログラムあるいはホストプログラムの特定機能を実行させることができる。
【００５９】
電源表示部３２４には典型的にＨＤＤテスト装置３００の全体の電源供給をオン／オフするマスター電源ボタン，ホストコンピュータ３１４をオン／オフする電源ボタン，テスト装置の上部３０６および下部３０８に設置されているＤＣ電源供給器をオン／オフする電源ボタン，ファン３１８をオン／オフする電源ボタンが装着される。また，電力供給状態は，電力ディスプレイ装置の窓を通じて直接確認できる。ファン３１８は，テストＨＤＤの作動によって発生した熱をＨＤＤテスト装置３００の外部に排出させる。
【００６０】
図７は，図３に示された本発明の実施形態によるＨＤＤテスト装置の内外部構成および動作を示すブロック図である。ホストコンピュータ３１４は，ネットワークを通じて工程履歴データベース（ＭＥＳ）と通信し，シリアル通信交換機３１６を通じて複数のＨＤＤ，電場ボード３３４，および，ソフトウェアやハードウェアを含む周辺環境によって決定される多数のＨＤＤに対する電源およびＬＥＤ信号を制御する複数のパワーカード３３０と通信できるように連結される。言い換えれば，制御できるＨＤＤの最大数はソフトウェアによって決定され，制限がない。
【００６１】
本実施形態の一特徴によれば，シリアル通信交換機３１６は，パワーコントローラ３６０や複数の着脱ジグ３０４に接続できる複数のシリアル通信線，および，制御線に通信可能に接続される。特に，パワーコントローラ３６０は，電場ボード３３４，パワーカード３３０およびＤＣパワー供給器３３２を含む。図７において，ホストコンピュータ３１４は標準のコンピュータであり，シリアル通信交換機３１６はＨＤＤをテストするために複数のＨＤＤと標準コンピュータ３１４とをシリアル通信を通じてインターフェースする上記標準コンピュータ３１４の周辺装置である。
【００６２】
図３〜図５および図７に示されたような本実施形態の一特徴によれば，ホストコンピュータ３１４，シリアル通信交換機３１６およびＨＤＤは，ＨＤＤをテストするためにシリアル通信交換機３１６がシリアル通信を通じて標準コンピュータ３１６と複数のＨＤＤとをインターフェースする一つの個体として提供される。しかし，本実施形態はそのような具体的な構造に限定されるものではない。前述された図７の例示的な実施形態において，パワーコントローラ３６０がシリアル通信交換機３１６と分離された個体であり，シリアル通信交換機３１６と通信できるように接続される別個の構成要素で具現されているが，本実施形態はそのような構成に限定されず，パワーコントローラ３６０はシリアル通信交換機３６０の一部分となるように構成されるとしても良い。
【００６３】
まず，ホストコンピュータ３１４がブートされた後，ホストコンピュータ３１４は，ＨＤＤをテストするためのホストプログラムを実行させる。ホストプログラムの制御によって，ホストコンピュータ３１４はシリアル通信交換機３１６を通じて電場ボード３３４にＤＣ電源供給の命令を行う。電場ボード３３４の制御下にＤＣ電源供給器３３２が電源を供給し始めると，パワーカード３３０が作動し，ホストコンピュータ３１４は，各パワーカード３３０を通じて継続的に着脱ジグ３０４上のＨＤＤの着脱状態をチェックする。パワーカード３３０は，典型的にＨＤＤに連結される電源ラインでの電圧降下を検出することによってＨＤＤの着脱の如何をチェックする。
【００６４】
図７の例によれば，ホストコンピュータ３１４の制御下において，各パワーカード３３０は，８個のＨＤＤに接続された８個のＰＣＢインターフェースカード３２８のそれぞれに提供するＤＣ電源を制御し，また着脱ジグ３０４のＬＥＤ６０８も制御する。
【００６５】
パワーカード３３０が，新しいＨＤＤの着脱ジグ３０４への装着を認識すれば，ホストコンピュータ３１４，シリアル通信交換機３１６，および装着されたＨＤＤのＰＣＢインターフェースボード３２８間で確立されたシリアル通信チャンネルを通じてホストコンピュータ３１４は装着されたＨＤＤと直接通信し始める。
【００６６】
ホストコンピュータ３１４は，ＨＤＤからドライブ情報，例えばインターフェース規格，モデル名，バージョン情報等を得て，かかるドライブ情報をＭＥＳに伝送する。またホストコンピュータ３１４は，ＭＥＳからそのＨＤＤに適するテストスクリプトとテストコードとをダウンロードし，テストスクリプトとテストコードとをＨＤＤに伝送し，ＨＤＤのテストを開始させる。
【００６７】
ホストコンピュータ３１４は，ディスプレイ装置３２０を通じて装着されたＨＤＤに関するテスト状態を表示し，着脱ジグ３０４上のＬＥＤ６０８のオン／オフを制御するためにパワーカード３３０に命令を送る。特に，テスト完了後，ＨＤＤがテスト結果をホストコンピュータ３１４に伝送すれば，ホストコンピュータ３１４はＨＤＤへの電源供給を遮断するようにパワーカード３３０に命令を出し，テスト結果をディスプレイ装置３２０と着脱ジグ３０４のＬＥＤ６０８とを通じて表示し，テスト結果をＭＥＳにも伝送する。
【００６８】
図３〜図５に示されたＨＤＤテスト装置３００は，例えば，一つのパワーカード３３０につき８個のＨＤＤを制御することができ，１８個のパワーカード３３０を使用した場合，ホストコンピュータ３１４のシリアル通信ポートＣＯＭ１とＣＯＭ２とを経由し，かつホストコンピュータ３１４，シリアル通信交換機３１６，ＰＣＢインターフェースボード３２８，およびＨＤＤのＵＡＲＴポート間のシリアル通信チャンネルの確立を通じて，１４４個のＨＤＤ，電場ボード３３４，および１８個のパワーカード３３０を直接制御することができる。従って，同時に１４４個のＨＤＤをテストできることになる。
【００６９】
図８は，本発明の実施形態によるＨＤＤテスト方法を示すフローチャートである。ＨＤＤをテストするコンピュータプログラム８００は，ＨＤＤテスト装置，例えば，ＨＤＤテスト装置３００のホストコンピュータ３１４によって行われる。しかし，本実施形態は，ＨＤＤテスト装置３００の操作／制御に限定されず，また着脱されうるＨＤＤを有するあらゆるＨＤＤテスト装置の操作／制御のために実現されうる。
【００７０】
本実施形態において，ホストコンピュータ３１４は，ホストコンピュータ３１４の二つのシリアル通信ポートＣＯＭ１およびＣＯＭ２を使用して複数のＨＤＤをテストする。例えば，一つのシリアル通信ポートＣＯＭ２はデータパスであってホストコンピュータ３１４をシリアル通信チャンネルを通じてＨＤＤと通信し，他の一つのシリアル通信ポートＣＯＭ１はラウティング（ｒｏｕｔｉｎｇ）制御パスであって，複数のＨＤＤとホストコンピュータのシリアル通信ポートＣＯＭ２間のデータパスとして使われるシリアル通信チャンネルを確立するために，ホストコンピュータ３１４をしてシリアル通信交換機３１６を制御せしめる。
【００７１】
図８に示されたように，ＨＤＤテストプログラムは大きく初期化情報ロードモジュール８０２，初期化モジュール８０４，イベント待機モジュール８０６，ＨＤＤスキャンイベントサービスモジュール８０８，テストスレッド実行イベントサービスモジュール８１０，およびユーザインターフェースサービスモジュール８１２を含み，本実施形態の過程を行う。
【００７２】
初期化情報ロードモジュール８０２は，初期化ファイル，例えば“ｉｎｉ”拡張子を有するファイルを再生して，電場ボード３３４，パワーカード３３０，およびシリアル通信交換機３１６それぞれと各ポートとの連結状態，シリアル通信交換機３１６のポートとＨＤＤスロットとの連結状態（例えば，ＰＣＢインターフェースボード３２８）と装備番号とを把握する。
【００７３】
初期化モジュール８０４は，典型的にＨＤＤに電源を供給する，パワーカード３３０に電源を供給するＤＣパワー供給器３３２に対する電場ボード３３４を通じてＨＤＤに電源を供給し，ＨＤＤの状態を作業者に知らせるために着脱ジグ３０４のＬＥＤ６０８を制御する。初期化モジュール８０４は，また，内部パラメータを初期化し，ユーザインターフェース（ディスプレイ）を初期化する。
【００７４】
イベント待機モジュール８０６は，例えば，ＨＤＤスキャニングスレッド実行イベント，テストスレッド実行イベント，ユーザインターフェースサービスイベント，ＨＤＤスキャニングスレッド実行開始イベント，テストスレッド実行開始イベントのイベント発生を待機し，ＨＤＤスキャンイベントサービス８０８，テストスレッド実行イベントサービス８１０，およびユーザインターフェースサービス８１２のような発生したイベントに相応するサービスモジュールを呼出す。
【００７５】
テストスレッド実行イベントが発生した場合，新しく作られたテストスレッド実行イベントサービス８１０が，テストされるＨＤＤ（ポート）に割り当てられる（すなわち，ホストコンピュータのシリアルポート，シリアル通信交換機３１６のシリアル入力ポートおよびシリアル出力ポートの何れか一つ，ＰＣＢインターフェースボード３２８，テストＨＤＤのＵＡＲＴポートとによって形成された，ホストコンピュータ３１４とＨＤＤシリアルポート間で確立されたシリアル通信チャンネルを通じて，テストスレッド実行イベントサービスモジュール８１０はテストＨＤＤと通信する）。
【００７６】
ＨＤＤスキャンスレッド実行イベントおよびテストスレッド実行イベントは，それぞれ第１周期および第２周期に発生するインタラプトであり，第１周期は第２周期より短い。例えば，ＨＤＤスキャニングスレッド実行イベントに関連した第１周期は５０ｍｓｅｃであり，テストスレッド実行イベントに関連した第２周期は１００ｍｓｅｃである。ユーザインターフェースサービスイベントは，作業者のテスト開始命令あるいはテストスレッドによって非周期的に発生する。例えば，装着されたＨＤＤのテスト結果をユーザインターフェースを通じてユーザに知らせる場合に，特に，テストスレッドはユーザインターフェースサービスイベントを作る。
【００７７】
ＨＤＤスキャンスレッド実行イベントが発生した時に呼出されるハードディスクスキャンイベントサービスモジュール８０８は，ＨＤＤの装着の如何を検査する。
【００７８】
テストスレッド実行イベントが発生した時に呼出されるテストスレッド実行イベントサービスモジュール８１０は，確立されたシリアル通信チャンネルを通じてＨＤＤと通信しつつＨＤＤの状態を検査し，バーンイン（Ｂ／Ｉ）テストを行う。
【００７９】
ユーザインターフェースサービスイベントが発生した時に呼出されるユーザインターフェースサービスモジュール８１２は，作業者にＨＤＤテスト進行状態を知らせてユーザ操作を可能にし，ＭＥＳにテスト結果を知らせてテスト結果を管理させる。
【００８０】
一例として，ＨＤＤテスト装置２００でＨＤＤをテストする本実施形態の方法は，図８〜図１３を参照して説明される。
【００８１】
ホストコンピュータ３１４がブートされ，ＨＤＤテストプログラムが実行されれば，ＨＤＤテスト装置３００の連結状態が初期化情報ロードモジュール８０２によって検査され，パワーカード３３０に連結されたＤＣ電源供給器３３２が初期化モジュール８０４によって，電場ボード３３４を通じて初期化される。特に，シリアル通信交換機３１６に電場ボード３３４に連結されたポートのＩＤ番号が通知されれば，シリアル通信交換機３１６はホストコンピュータ３１４のシリアル通信ポートＣＯＭ１を電場ボード３３４の通信ポートに連結する。それにより，電場ボード３３４はパワーカード３３０に連結されたＤＣパワー供給器３３２を初期化する。次いで，ＤＣパワー供給器３３２はＨＤＤの操作に必要なＤＣパワーを各パワーカード３３０に印加する。
【００８２】
初期化動作の最後で，電場ボード３３４と１８個のパワーカード３３０との間の通信チャンネルが確立されると，パワーカード３３０は，パワーカード３３０に連結された着脱ジグ３０４のＬＥＤ６０８を初期化する。次いで，着脱ジグ３０４のＬＥＤ６０８がテスト可能状態を表し，作業者はＨＤＤを着脱ジグ３０４に挿し込む。
【００８３】
バーンインチャンバ３０２の着脱ジグ３０４にＨＤＤを装着し，例えば，インターフェース部３２２を通じて，ＨＤＤテストプログラム８００によってディスプレイ部，例えば，ディスプレイ部３２０に提示されるユーザインターフェースで作業者がテスト開始ボタンを押し（すなわち，テスト開始命令が入力されれば），ＨＤＤテストプログラム８００のイベント待機モジュール８０６はテストスタートイベントの発生をユーザインターフェースサービスイベントとして認識する。テストスタートイベントを認識した後，ＨＤＤテストプログラム８００のハードディスクスキャンイベントサービスモジュール８０８は，ＨＤＤの着脱を検査する。特に，パワーカード３３０は，パワーが提供されなければならないＨＤＤの着脱に関する情報を保存し，ＨＤＤテストプログラム８００のハードディスクスキャンイベントサービスモジュール８０８から要請があれば，このＨＤＤの着脱情報をＨＤＤテストプログラム８００に提供する。
【００８４】
次いで，ＨＤＤテストプログラム８００のテストスレッド実行イベントサービスモジュール８１０は，装着されたＨＤＤそれぞれをテストする。
【００８５】
本実施形態において，ホストコンピュータ３１４は，ＨＤＤテストプログラム８００を使用し，データパスであるホストコンピュータ３１４のシリアル通信ポートＣＯＭ２と，シリアル通信交換機３１６の入出力シリアル通信ポートとを通じ，優先順位に応じてホストコンピュータ３１４に連結されたＨＤＤをテストする。
【００８６】
ＨＤＤテストプログラム８００は，ＨＤＤそれぞれのテスト状態に関する情報を含んでいる。ＨＤＤそれぞれのテスト状態は，ディスプレイアップデートスレッドによってディスプレイ部３２０にディスプレイされ，テスト結果はＭＥＳに伝送される。
【００８７】
図９は，図８に示されたＨＤＤテスト方法でＨＤＤスキャンイベントサービスの動作を示すフローチャートである。スキャンイベントサービスモジュール８０８は，以前のＨＤＤスキャニングスレッドの動作が終了したかを検査する（９０２段階）。９０２段階で，もし以前のＨＤＤスキャニングスレッドがまだ終了されていないとすれば，スキャンイベントサービスモジュール８０８はＨＤＤテストプログラムにリターンする。
【００８８】
９０２段階で，もし以前のＨＤＤスキャニングスレッドの動作が終了したとすれば，スキャニングする次のパワーカード３３０を選択する（９０４段階）。したがって，９０４段階でハードディスクスキャンスレッド実行イベントが発生する度に順次にパワーカード３３０のうち次のものが選択され，ＨＤＤスキャニングスレッドは選択されたパワーカード３３０をスキャンする（９０６段階）。
【００８９】
典型的に，ＨＤＤスキャンスレッド実行イベントは，例えば毎５０ｍｓｅｃごとに発生する周期的なインタラプトである。したがって，ハードディスクスキャンスレッド実行イベントが発生した場合，ハードディスクスキャンイベントサービス８０８は，ＨＤＤの着脱を検査するためにパワーカード３３０のうち一つに保存された情報を再生する。
【００９０】
図１０は，図９に示されたＨＤＤスキャニングスレッドの動作を示すフローチャートである。特に，ＨＤＤスキャニングスレッドは，次のような動作を行う。
【００９１】
（１）まず，パワーカード３３０を使用してＨＤＤの装着の如何を決定する。
【００９２】
（２）新しいＨＤＤの着脱の如何が確認されれば，ポート情報データ構造体１０００をアップデートする（場合によっては，作られる）。ここで，ポート情報データ構造体１０００は，ポート番号，ポート番号に当るＨＤＤ着脱の如何，テスト状態，テスト開始時間の情報を有する。このようなポート情報データ構造体１０００は，次に詳細に説明されるように，テストスレッドによって参照される。
【００９３】
（３）ＨＤＤスキャニングスレッドを終了する。
【００９４】
図１１は，図８に示されたテストスレッド実行イベントサービスの動作を示すフローチャートである。
【００９５】
テストスレッド実行イベントが発生すれば，テストスレッド実行イベントサービスモジュール８１０は，まず実行中であるテストスレッドがｎ個（例えば，図１１において５個）であるかを検査する（１１０２段階）。
【００９６】
もし，１１０２段階で現在実行中であるテストスレッドがｎ個であれば，ＨＤＤテストプログラム８００にリターンする。このとき，ｎは同時に最大限に実行されうるテストスレッドの数であり，ホストコンピュータ３１４の資源，テストにかかる時間によって適切に選択される。同時に実行されうるテストスレッドの実行数とテストが進行中であるＨＤＤの数とは同一ではないということに注意しなければならない。なぜなら，後述するようにＨＤＤに対するあるテスト作業が終了した後では，テストスレッドはＨＤＤ内のいかなる作業にも関与せず，自動的に終了するためである。
【００９７】
本実施形態の一特徴によれば，テストスレッド実行イベントは，１００ｍｓｅｃの周期で発生する。同時に実行できるテストスレッドの数ｎは，例えば，５であり，この場合に５個までのテストスレッドが同時に実行される。
【００９８】
もし，１１０２段階で現在実行中であるテストスレッドの数がｎ個未満であれば，新しいテストスレッドに対するポートが選択され（すなわち，本実施形態におけるシリアルポートは，ホストコンピュータ３１４，シリアル通信交換機３１６，ＰＣＢインターフェースボード３２８，およびＨＤＤのＵＡＲＴ間で選択されて確立されたシリアル通信チャンネルを表す），選定されたシリアルポートの優先順位より高い優先順位を有するシリアルポートがあるかを検査する（１１０４段階）。これらシリアルポートはＨＤＤに連結されており，ポート番号によって管理される。ホストコンピュータ３１４は，ホストコンピュータ３１４のＣＯＭ２（データパス），シリアル通信交換機３１６の出力シリアルポートによってＨＤＤに通信可能に連結されたＨＤＤシリアルポートを通じて，ＨＤＤと通信しつつＨＤＤをテストする。
【００９９】
ＨＤＤに接続されたシリアルポート（ここで，ポートとして参照される）は，ポートシリアル番号の順で，新しいテストスレッドに１つずつ割り当てられる。
【０１００】
ここで，１１０４段階でテストスレッド実行イベントサービスモジュール８１０は，ポート情報データ構造体１０００を参照して新しく発生したテストスレッドに割り当てられたポートの優先順位より高い優先順位を有するポートがあるかどうか（すなわち，新しいテストスレッドによって占有されたポートで行われなければならないテスト作業より高い実行優先順位を有するＨＤＤテスト作業が実行されているか，あるいは実行されなければならないポートがある。）を検査する。
【０１０１】
ここで，優先順位の比較対象となるポートは，全ての待機ポートを含む。この待機ポートは，新しく発生したテストスレッドが占有するポート以外であり，他のテストスレッドによって占有されているポートを含む。
【０１０２】
実行されるテストスレッドの数は限定され，テストスレッドは，テストスレッド実行イベントにより発生し，ポート番号の順によりハードディスクドライブに割り当てられる。ここでは，ハードディスクドライブに対し，同時に２個以上のテストスレッドは割り当てられない。
【０１０３】
また，テストスレッドの実行数に余裕が有るとしても，発生したテストスレッドは，自分自身に割り当てられた作業を遂行する前に，まず自身の作業の優先順位と，待機常態にある他のハードディスクドライブの作業の優先順位を比較する。
【０１０４】
もし，１１０４段階で新しく発生したテストスレッドに割り当てられたポートの優先順位より高い優先順位を有するポートがあった場合，テストスレッド実行イベントサービスモジュール８１０は，他の新しいテストスレッドが，高い優先順位ポートに連結されたＨＤＤをテストするための高い優先順位のポートに優先的に割り当てられるように，現在のテストスレッドを終了する。したがって，テストスレッド実行イベントサービス８１０によって，ポートはポート番号の順序通りに順次に新しいテストスレッドに割り当てられ，ポートに連結されたＨＤＤはポート番号の順序でテストされる。
【０１０５】
上記現在のテストスレッドとは，所定のハードディスクに割り当てられて実行されているが，テスト作業は遂行していないテストスレッドであり，他の新しいテストスレッドとは，今後発生するテストスレッドを言う。
【０１０６】
テストスレッドは，ハードディスクドライブのポート番号順に割り当てられるが，テストスレッドの割当順位が高かったとしても，優先順位が低い作業を処理するテストスレッドを早期に終了させ，高い優先順位を持つハードディスクドライブに対する作業を優先的に遂行する。
【０１０７】
１１０４段階で現在のテストスレッドに割り当てられたポートより高い優先順位を有するポートがない場合には，テストスレッドはポート情報データ構造体１０００を参照して該当するＨＤＤで行われるテスト作業のリストを得る。
【０１０８】
テストスレッドは，ＨＤＤにおける作業リストでの一つの作業が終了するまで行う（言い換えれば，テストスレッドは一度に一つの作業を行う。）。（１１０６段階）
【０１０９】
テスト作業が完了すれば，スレッドを終了する前に，装着されたＨＤＤポートに対するＨＤＤテスト作業の作業実行順序によるハードディスクテスト状態を表すポート情報データ構造体１０００内のテスト状態を更新する。したがって，各ハードディスクテスト状態は装着されたＨＤＤに対して完了したＨＤＤテスト作業を表す。
【０１１０】
ＨＤＤは，多数のシーケンシャルな作業を通じてテストされ，これら作業の例は，下記の表１に示される。
【表１】
2004342116.tif 000003
表１の左側列に示される実行順序は，各作業が実行される順序を表す。表１の右側列に示される優先順位は各作業の実行優先順位を表す。テストスレッドに行われる各作業の具体的な内容は，次の通りである。
【０１１１】
（１．ｐｏｗｅｒ  ｏｎ）
（１）選択されたポートに連結されたＨＤＤに対するパワーオン命令がパワーカード３３０に入力される。
（２）ポート情報データ構造体１０００にテスト開始時間を記録する。典型的に，ポート情報データ構造体１０００は，ポートに対するＨＤＤテスト情報あるいはポートに対するＨＤＤテスト情報データ構造体に対するリンクを含む。また，ＨＤＤテスト情報データ構造体は，ＨＤＤシリアルナンバー，モデル情報，コーディング情報，テスト状態情報，容量情報，テスト結果，テスト時間を含むとしても良い。このＨＤＤテスト情報データ構造体は，ＭＥＳにテスト結果を伝送する時に参照される。
（３）テストの開始を表すために着脱ジグ３０４のＬＥＤをターンオンさせる命令がパワーカード３３０に入力される。
（４）ポート情報データ構造体１０００の状態情報がアップデートされる。
（５）ディスプレイアップデートイベントが誘導され，テストスレッドが終了される。
【０１１２】
（２．ｒｅｓｅｔ）
（１）ＨＤＤにＲｅｓｅｔ命令が入力される。
（２）ＨＤＤのテスト準備が終わったかを確認する。
（３）ポート情報データ構造体１０００の状態情報がアップデートされる。
（４）ディスプレイアップデートイベントが誘導され，テストスレッドが終了される。
【０１１３】
（３．ＨＤＤ  ｉｄｅｎｔｉｆｙ）
（１）ＨＤＤのコーディング情報を受信してＨＤＤテスト情報データ構造体に保存する。
（２）ポート情報データ構造体１０００の状態情報がアップデートされる。
（３）ディスプレイアップデートイベントが誘導され，テストスレッドが終了される。
【０１１４】
（４．Ｍｏｄｅｌ  ｉｄｅｎｔｉｆｙ）
（１）ＨＤＤテスト情報データ構造体１０００に保存されたコーディング情報に基づいてＨＤＤのモデル名が認識され，ＭＥＳにその情報が報告される。ＨＤＤのモデル名は，ＭＥＳからＢ／Ｉ  ｓｃｒｉｐｔとコードとをダウンロードする時に参照される。
（２）確認された情報は，ＨＤＤテスト情報データ構造体１０００に保存される。
（３）ポート情報データ構造体１０００の状態情報がアップデートされる。
（４）ディスプレイアップデートイベントが誘導され，テストスレッドが終了される。
【０１１５】
（５．Ｂ／Ｉ  Ｓｃｒｉｐｔ／Ｃｏｄｅ  Ｄｏｗｎｌｏａｄ）
（１）ＨＤＤ  テスト情報によるＢ／Ｉ  ｓｃｒｉｐｔおよびｃｏｄｅがＨＤＤにダウンロードされる。
（２）ポート情報データ構造体１０００の状態情報がアップデートされる。
（３）ディスプレイアップデートイベントが誘導され，テストスレッドが終了される。
【０１１６】
（６．Ｐｏｗｅｒ  ｏｆｆ−ｏｎ）
（１）ｃｏｄｅがダウンロードされたＨＤＤがテストを初期化するために再ブートされる。
（２）ポート情報データ構造体１０００の状態情報がアップデートされる。
（３）ディスプレイアップデートイベントが誘導され，テストスレッドが終了される。
【０１１７】
７．Ｍｏｎｉｔｏｒ  Ｔｅｓｔ  Ｒｅｓｕｌｔ
（１）ＨＤＤをテストした結果が報告されているかを確認する。
（２）ＨＤＤのテストが終了した後，テスト結果はＨＤＤテスト情報データ構造体１０００に保存され，ＭＥＳに報告される。
（３）ポート情報データ構造体１０００の状態情報がアップデートされる。
（４）ディスプレイアップデートイベントが誘導され，テストスレッドが終了される。
【０１１８】
（８．Ｐｏｗｅｒ  ｏｆｆ）
（１）選択されたポートに連結されたＨＤＤに対するパワーオフ命令がパワーカード３３０に入力され，テストスレッドは終了される。
【０１１９】
ＨＤＤのテストにおいて，６番目の作業，すなわち，Ｐｏｗｅｒ  ｏｆｆ−ｏｎ作業が終了してから７番目の作業，すなわち，テスト結果モニタリング作業が終了するまでの作業動作は，ホストコンピュータ３１４と関係なくＨＤＤ内で行われる。
【０１２０】
ダウンロードされたｓｃｒｉｐｔとｃｏｄｅとを使用してＨＤＤで行われるプロセスは本実施形態のように韓国特開１９９７−７６３４号公報（１９９７年２月２１日公開）に詳細に開示される。
【０１２１】
上記表１での優先順位は，多数のＨＤＤがテストされている時に高い優先順位の作業動作を行っているＨＤＤに優先権を与えるための作業動作の優先順位である。
【０１２２】
典型的に，長い時間がかかる作業動作は，高い優先順位を有する。例えば，ＨＤＤのリセット動作とモデル名を確認する動作とは他の動作より長い時間がかかるので，高い優先順位を有する。詳述した実施形態において，優先順位は作業にかかる時間によるが，本実施形態は，このような構成に限定されず，本実施形態はいずれかの優先順位の決定基準，例えば，次の作業待機時間，他の重要性基準，ＨＤＤテスト結果，あるいは実行順序によって決定されることもある。
【０１２３】
図１２は，図１１に示されたテストスレッドによって行われる作業を示すフローチャートである。各テストスレッドは基本的に図１２に示され，表１にリストされたようにテストのための全ての作業（本例では，８つの作業）を行うことができ，それが呼出される度に一つずつ行われる。したがって，ＨＤＤのテストに含まれる作業実行順序および作業実行優先順位（表１にリストされたように）による一連の作業が，テストスレッドを同時に遂行させることによって高い効率で行われるようになる。
【０１２４】
図１２に示されたように，スレッドが終了するとき，各テストスレッドは，各作業を終了する前に作業の実行順序に従ってＨＤＤポートのポート情報データ構造体１０００内のテスト状態情報を更新する。従って，他のテストスレッドは，そのＨＤＤポートに対する更新されたテスト状態情報を参照し，占有されたポートにおける作業の実行優先順位に従って，実行順序での次の作業を続けることができる。
【０１２５】
図１３は，ポート情報データ構造体，ＨＤＤスキャニングスレッド，テストスレッド，およびディスプレイアップデートスレッドの関係を示す図である。ＨＤＤテスト情報データ構造体を含むポート情報データ構造体１０００は，ポートに連結された各ＨＤＤのテスト状態を表す各種情報が記録される所であり，ＨＤＤスキャニングスレッド，テストスレッド，およびディスプレイアップデートスレッドによって特定ポート上のＨＤＤの着脱，当該ポートに対するＨＤＤテスト作業状態，およびディスプレイされたユーザインターフェース上で当該ポートに対するハードディスクテスト作業状態情報を更新するために参照される。ポート情報データ構造体１０００は，図１０に示されたような構造を有し，ポート番号，ＨＤＤの着脱，テスト状態，テスト開始時間のような情報を保存する。
【０１２６】
スキャニングスレッドは，ＨＤＤポート上にＨＤＤの着脱の如何によってポート情報データ構造体１０００内の情報を更新する。ＨＤＤスキャニングスレッド実行イベントが発生する度に行われるＨＤＤスキャニングスレッドは，パワーカード３３０を順次に参照してどんなポートにＨＤＤが装着されているかを検査し，その結果に基づいてポート情報データ構造体１０００内のＨＤＤの着脱に関する情報を更新する。
【０１２７】
当該ＨＤＤポートに対するテスト作業が完結されれば，各テストスレッドはポート情報データ構造体１０００内のテスト状態を更新する。各テストスレッドは，ポート情報データ構造体１０００内にテスト開始時間情報，すなわち，ＨＤＤに対するテストが始まる時間に関する情報，およびＨＤＤテスト結果情報を保存する。
【０１２８】
装着されたＨＤＤそれぞれのテスト状態およびテスト結果を，作業者のためにモニター等のディスプレイ装置に表示するため，ポート情報データ構造体１０００は，ディスプレイアップデートスレッドによって参照される。
【０１２９】
図１４は，図８に示されたユーザインターフェースサービスの動作を示すフローチャートである。ユーザインターフェースサービスモジュール８１２は，ユーザインターフェースサービスイベントが発生した時に呼出される。上記のように，ユーザインターフェースサービスイベントは，スタートボタン（すなわち，入力命令）を入力することによって起動する。例えば，スタートボタンが押されると，ユーザインターフェースサービスモジュール８１２は，ハードディスクスキャニング開始イベントとテストスレッド開始イベントとを起動させる。ハードディスクスキャニング開始イベントとテストスレッド開始イベントとは周期的にＨＤＤスキャニングスレッド実行イベントとテストスレッド実行イベントとをそれぞれ起動させる。
【０１３０】
ディスプレイアップデートスレッドは，ユーザインターフェースサービスモジュール８１２によって呼出される。ユーザインターフェースサービスモジュール８１２は，ポート情報データ構造体１０００を参照してディスプレイ部３２０を通じてＨＤＤのテスト状態をユーザに知らせる。ユーザインターフェースサービスモジュール８１２は，また，テスト結果をＭＥＳおよびディスプレイ部３２０のユーザインターフェースに提供する。ＨＤＤテスト情報データ構造体を含むポート情報データ構造体１０００は，ＨＤＤポートおよび当該ＨＤＤポートで装着され，かつテストされたＨＤＤのＨＤＤシリアルナンバーによるテスト結果を記録可能にする。
【０１３１】
本実施形態によるＨＤＤのテスト方法において，ｎ個までのテストスレッドが同時に作動できる。ｎ個のテストスレッドは，通信資源，すなわち，通信チャンネルを互いに占めるために競争するよりは，通信チャンネルを効率的に使用するために互いに通信し，かつ互いに同期される。このために，ウィンドウ基盤（ｗｉｎｄｏｗ−ｂａｓｅｄ）のミューテックス客体（ｍｕｔｅｘ  ｏｂｊｅｃｔｓ）が使用されうる。
【０１３２】
ミューテックス客体は，カーネル客体（ｋｅｒｎｅｌ  ｏｂｊｅｃｔｓ）のうち一つであり，最小限のプロセスを行うために要求されるだけの資源を獲得するために使われ，多数のスレッドが互いに通信可能にする。
【０１３３】
図８〜図１４の上記モジュールのように具現された本実施形態のプロセスは，ソフトウェアおよび演算ハードウェア（場合によっては）で実現されうる。したがって，本実施形態は，ＨＤＤが装着されたかを検査し，順次に装着されたＨＤＤそれぞれに対して一つのテストスレッドを割り当てることによって，ランダムな要請に応じた複数のＨＤＤを検査する方法を提供する。
【０１３４】
それぞれの割り当てられたスレッドは，装着されたＨＤＤをテストするために呼出しおよび要求された時，一連のテスト作業を一つずつ行い，テストスレッドのうち一つによって一つの作業が終了する度に各ＨＤＤのテスト状態を記録し，次のテストスレッドが記録されたテスト状態を参照することによって，次の作業を続けることができる。
【０１３５】
各ＨＤＤは，当該ＨＤＤに要求される時間によってテストされる。特に，本実施形態はＨＤＤのテストに限定されず，装置のシリアルポートを通じて複数の装置のテストにも利用されうる。本実施形態は装着された装置をテストするための各作業完了状態の記録を行い，テストスレッドによって複数の作業を一つずつ行う過程と，そしてそれぞれの装着された装置に対するシリアル通信インターフェースを通じて複数の装着された装置のうち各装着されたＨＤＤに各装着された装置のテストスレッド作業完了状態の記録によって，それぞれの装着された装置をテストする複数の作業のうち各作業ごとに一つのテストスレッドを割り当てる過程とを含む方法を提供する。
【０１３６】
また，本実施形態のプロセスを行う装置は本発明を達成できる。例えば，本実施形態は，複数の着脱可能なＨＤＤと，単一のホストコンピュータと各ＨＤＤとの間で選択的に通信チャンネルを確立し，テストソフトウェアスレッドによってそれぞれの装着されたＨＤＤをテストするための各作業完了状態の記録によって複数の作業を一つずつ行い，そして選択的に確立されたそれぞれの装着されたＨＤＤとの通信チャンネルを通じてそれぞれの装着されたＨＤＤにそれぞれの装着されたＨＤＤをテストするための複数の作業のうち各作業ごとにそれぞれのＨＤＤに対するテストソフトウェアスレッド作業完了状態の記録によって，一つのテストソフトウェアスレッドを割り当てるプログラムが記録されたコンピュータプロセッサを有する単一のホストコンピュータを備えるＨＤＤテスト装置を提供する。
【０１３７】
本実施形態によるＨＤＤテスト方法は，コンピュータシステムで実行できるソフトウェアとして実現されうる。このような場合，前述された動作モジュールは，本実施形態のプロセスを行うコードセグメントとして実現される。ソフトウェアあるいはコードセグメントは，半導体メモリ装置，ＲＯＭ，フラッシュメモリ，消去可能なＲＯＭ（ＥＲＯＭ），フロッピー（登録商標）ディスク，光ディスク，ハードディスク，光ファイバ媒体，無線周波数（ＲＦ）網などの記録媒体に保存されるが，これに制限されない。
【０１３８】
ソフトウェアあるいはコードセグメントは，コンピュータデータ信号として電子網チャンネル，空気，電子系，ＲＦ網のような伝送媒体あるいはコンピュータネットワーク上の搬送波と共に伝送されうる。
【０１３９】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【０１４０】
本発明は複数のＨＤＤを同時にテストして生産性を高める最適化したハードディスクドライブテスト方法，ハードディスクドライブテスト装置，データ保存装置およびこのテスト方法のためのプログラムを記録した記録媒体に適応可能である。
【図面の簡単な説明】
【０１４１】
【図１】従来のＨＤＤテスト装置の外観を示す図面である。
【図２】図１に示された従来のＨＤＤクテスト装置の内部構成を示す機能ブロック図である。
【図３】本発明の実施形態によるＨＤＤのテストに使われたＨＤＤテスト装置を示す透視構成図である。
【図４】本発明の実施形態によるＨＤＤのテストに使われたＨＤＤテスト装置を示す透視構成図である。
【図５】本発明の実施形態によるＨＤＤのテストに使われたＨＤＤテスト装置を示す透視構成図である。
【図６】図３に示された着脱ジグの透視図である。
【図７】図３に示された本発明の実施形態によるＨＤＤテスト装置の内外部構成および動作を示すブロック図である。
【図８】本発明の実施形態によるＨＤＤテスト方法を示すフローチャートである。
【図９】図８に示されたＨＤＤテスト方法でＨＤＤスキャンイベントサービスの動作を示すフローチャートである。
【図１０】図９に示されたＨＤＤスキャニングスレッドの動作を示すフローチャートである。
【図１１】図８に示されたテストスレッド実行イベントサービスの動作を示すフローチャートである。
【図１２】図１１に示されたテストスレッドによって行われる作業を示すフローチャートである。
【図１３】ポート情報データ構造体，ＨＤＤスキャニングスレッド，テストスレッド，そしてディスプレイアップデートスレッドの関係を示すダイヤグラムである。
【図１４】図８に示されたユーザインターフェースサービスの動作を示すフローチャートである。
【符号の説明】
【０１４２】
８００  ＨＤＤテストプログラム
８０２  初期化情報ロードモジュール
８０４  初期化モジュール
８０６  イベント待機モジュール
８０８  ハードディスクスキャンイベントサービスモジュール
８１０  テストスレッド実行イベントサービス
８１２  ユーザインターフェースサービス
【図１】
2004342116.tif 000004
【図２】
2004342116.tif 000005
【図３】
2004342116.tif 000006
【図４】
2004342116.tif 000007
【図５】
2004342116.tif 000008
【図６】
2004342116.tif 000009
【図７】
2004342116.tif 000010
【図８】
2004342116.tif 000011
【図９】
2004342116.tif 000012
【図１０】
2004342116.tif 000013
【図１１】
2004342116.tif 000014
【図１２】
2004342116.tif 000015
【図１３】
2004342116.tif 000016
【図１４】
2004342116.tif 000017