(57)【要約】【課題】テスタコントローラと測定モジュールとの間のデータ転送を高速且つ正確に行うことを目的とする。【解決手段】ＤＵＴの試験を行う測定モジュール２と測定モジュール２の制御を行うテスタコントローラ３との間でデータの転送を行う半導体試験装置１は、測定モジュール２を試験するためのテストアプリケーションの要求に基づいて、測定モジュール２に転送して制御を行うための転送データを順次記憶するキューである転送データキュー１３と、転送データキュー１３から転送データを取り出すことが可能になったときに転送データを取り出して測定モジュール２に転送させる制御を行う転送制御部１６と、測定モジュール２から転送の処理が終了した旨の転送終了通知を入力したときに、その旨を転送制御部１６に通知するための割込みを行う割り込みハンドラ１５と、を備えている。【選択図】  図１
2012098155.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスの試験を行う測定モジュールと当該測定モジュールの制御を行うテスタコントローラとの間でデータの転送を行う半導体試験装置であって、
前記測定モジュールを試験するためのテストアプリケーションの要求に基づいて、前記測定モジュールに転送して制御を行うための転送データを順次記憶するキューである転送データキューと、
この転送データキューから前記転送データを取り出すことが可能になったときに前記転送データを取り出して前記測定モジュールに転送させる制御を行う転送制御部と、
前記測定モジュールから前記転送の処理が終了した旨の転送終了通知を入力したときに、その旨を前記転送制御部に通知するための割込みを行う割り込み制御部と、
を備えたことを特徴とする半導体試験装置。
【請求項２】
前記測定モジュールは複数備えられ、且つ前記転送データキューおよび前記割り込み制御部は前記測定モジュールに１対１で対応して備えられ、
前記転送制御部は、前記測定モジュールのうち前記転送処理通知を入力して前記転送データを転送可能になった測定モジュールに対して、前記転送データキューから順次前記転送データを取り出して転送を行っていくこと
を特徴とする請求項１記載の半導体試験装置。
【請求項３】
前記転送データキューごとに前記転送データが転送可能か否かを記憶する参照データについて、前記転送データが格納された前記転送データキューの参照データを配列して記憶する高優先度配列部と、
前記転送データが格納されていない前記転送データキューの参照データを配列して記憶する低優先度配列部と、
を備え、
前記転送制御部は、前記高優先度配列部と前記低優先度配列部との間で前記参照データを移動させ、且つ前記高優先度配列部に記憶されている前記参照データのうち前記転送データが転送可能となった参照データに対応する前記転送データキューから前記転送データを転送させること
を特徴とする請求項２記載の半導体試験装置。
【請求項４】
前記転送データキューごとに設けられ、前記テストアプリケーションの１つの処理に属する前記転送データの総数を前記テストアプリケーションごとに記憶するアプリケーションテーブルと、
前記割り込み制御部による前記転送終了通知の割り込みが発生したときに、対応する前記アプリケーションテーブルの前記転送データの総数をデクリメントするダウンカウンタと、
を備えたことを特徴とする請求項３記載の半導体試験装置。
【請求項５】
前記転送制御部は、イベント発生時に前記高優先度配列部の参照データを巡回して検索すること
を特徴とする請求項３記載の半導体試験装置。
【請求項６】
被試験デバイスの試験を行う測定モジュールと当該測定モジュールの制御を行うテスタコントローラとの間でデータの転送を行う半導体試験装置を制御する半導体プログラムであって、
コンピュータを、
前記測定モジュールを試験するためのテストアプリケーションの要求に基づいて、前記測定モジュールに転送して制御を行うための転送データを順次記憶しているキューである転送データキュー手段、
前記転送データキューから前記転送データを取り出すことが可能になったときに前記転送データを取り出して前記測定モジュールに転送させる制御を行う転送制御手段、
前記測定モジュールから前記転送の処理が終了した旨の転送終了通知を入力したときに、その旨を前記転送制御部に通知するための割込みを行う割り込み制御手段、
として機能させることを特徴とする半導体試験プログラム。
【請求項７】
被試験デバイスの試験を行う測定モジュールと当該測定モジュールの制御を行うテスタコントローラとの間でデータの転送を行う半導体試験方法であって、
前記測定モジュールを試験するためのテストアプリケーションの要求に基づいて、前記測定モジュールに転送して制御を行うための転送データを順次記憶しているキューである転送データキューから前記転送データを取り出すことが可能になったときに、前記転送データを取り出して前記測定モジュールに転送させる制御を行い、
前記測定モジュールから前記転送の処理が終了した旨の転送終了通知を入力したときに、その旨を前記転送制御部に通知するための割込みを行うこと、
を特徴とする半導体試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被試験デバイスの試験を行う半導体試験装置、半導体試験プログラムおよび半導体試験方法に関するものである。
【背景技術】
【０００２】
被試験デバイス（ＤＵＴ：Device Under Test）の試験を行うために半導体試験装置が用いられる。ＤＵＴの試験を行うために複数の測定モジュールを備えており、各測定モジュールはテスタコントローラに接続して制御を行っている。この種の技術が例えば特許文献１（特に、図３）に開示されている。
【０００３】
図５は従来の半導体試験装置１０１の構成を示している。半導体試験装置１０１はＮ（Ｎは自然数）個の測定モジュール１０２−１〜１０２−Ｎ（総称して測定モジュール１０２）とテスタコントローラ１０３とスイッチ１０４とを備えて構成している。スイッチ１０４は各測定モジュール１０２のうち何れか１つを選択的に接続する。これにより、テスタコントローラ１０３と測定モジュール１０２とが接続される。そして、両者の間でシリアルにデータ転送を行う。
【０００４】
測定モジュール１０２はＤＵＴを接続して、所定の試験を行う。テスタコントローラ１０３は測定モジュール１０２に処理の内容を示した転送データを出力し、この転送データに基づいて測定モジュール１０２が動作をする。これにより、テスタコントローラ１０３が測定モジュール１０２の制御を行う。
【０００５】
テスタコントローラ１０３はアプリケーション実行部１１０と転送データ格納部１１１と転送データキュー１１２と割り込みハンドラ１１３とデータ入出力部１１４とを備えて構成している。アプリケーション実行部１１０はＤＵＴの試験を行うための多数の処理を記述したテストアプリケーション（試験を行うためのソフトウェアやプログラム等）を実行する。
【０００６】
アプリケーション実行部１１０はテストアプリケーションを実行する。そして、図６に示すように、測定モジュール１０２に対してリクエストを発生させる。このリクエストは測定モジュール１０２にデータを書き込むリクエスト、または測定モジュール１０２からデータを読み出すリクエストになる。
【０００７】
このリクエストは転送データ格納部１１１に出力される。転送データ格納部１１１はリクエストを測定モジュール２に転送可能な転送データとして転送データキュー１１２に追加する。転送データ格納部１１１はテスタコントローラ１０３で動作するオペレーティングシステムのカーネルとして実現される。
【０００８】
転送データキュー１１２は先入れ先出しのキューであり、順次転送データが追加されていく。転送データキュー１１２は測定モジュール１０２の１つに対応して１つを設けており、このためＮ個の転送データキュー１１２が設けられる（なお、図中では１つの転送データキュー１１２を示している）。そして、転送先の測定モジュール１０２に応じた転送データキュー１１２から転送データが取り出されて、転送される。
【０００９】
割り込みハンドラ１１３は割り込みを発生させることで、転送データキュー１１２から転送データを先頭から順番に取り出す。そして、取り出された転送データがデータ入出力部１１４およびスイッチ１０４を介して、測定モジュール１０２に向けて転送される。
【００１０】
測定モジュール１０２は転送データを入力したときに、ＤＭＡ（Direct Memory Access）を起動させて、転送データの入力処理を開始する。そして、転送データの入力が終了したときには、その旨を示す転送終了通知をテスタコントローラ１０３に向けて出力する。そして、測定モジュール１０２は転送データに基づく処理を行う。
【００１１】
割り込みハンドラ１１３は転送終了通知を入力したときに、割り込みを発生させてアプリケーション実行部１１０に転送処理の終了を認識させる。そして、次の転送データの取り出しを行うための割り込みを発生させて、転送データキュー１１２から次の転送データの取り出しを行う。取り出された転送データは対象となる測定モジュール１０２に向けて転送される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００９−８４１０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
前述したように、アプリケーション実行部１１０はテストアプリケーションの実行を行い、割り込みハンドラ１１３は割り込み処理を行う。そして、アプリケーション実行部１１０と割り込みハンドラ１１３との動作は非同期且つ独立した動作になる。つまり、アプリケーション実行部１１０は割り込みハンドラ１１３の動作を待つことなく動作を行い、同様に割り込みハンドラ１１３もアプリケーション実行部１１０の動作を待つことなく動作を行う。
【００１４】
これにより、アプリケーション実行部１１０はリクエストを発生して、転送データ格納部１１１に出力した時点で解放されて、テストアプリケーションの次の処理を行うことが可能になる。このため、全体的な動作速度の高速化を図ることができる。
【００１５】
このため、転送データキュー１１２に転送データが格納される動作と割り込みハンドラ１５が転送データを取り出す動作とは同期がされていない。転送データを格納する速度（格納速度）と転送データを取り出す速度（取り出し速度）とが一致していれば、格別の問題は生じない。ただし、取り出し速度が格納速度よりも高速になると、未だに転送データが格納されていない転送データキュー１１２から転送データの取り出しが行われる。この取り出し動作により所定の転送データを取り出すことができず、誤った転送データの転送が行われる。これにより、転送の正確性が失われる。
【００１６】
特に、転送データキュー１１２および割り込みハンドラ１１３は測定モジュール１０２の１つに対応して設けており、測定モジュール１０２の個数がＮであれば、転送データキュー１１２および割り込みハンドラ１１３の個数もＮになる。一方、転送データ格納部１１１は１個であるため、格納速度よりも取り出し速度の方が高速になる。このため、正確な転送を行うことができなくなる。
【００１７】
また、図５では、割り込みハンドラ１１３が割り込み処理により転送の制御を行っている。割り込みハンドラ１１３は割り込みにより転送を開始し、割り込みにより転送終了の処理を行う。よって、転送の開始および終了の両タイミングのたびに割り込みが発生される。このため、頻繁に割り込みが発生する。
【００１８】
アプリケーション実行部１１０と転送データ格納部１１１と割り込みハンドラ１１３とはＣＰＵで実行されるソフトウェアとして機能している。よって、頻繁に割り込み処理が発生すると、ソフトウェアを実行するＣＰＵが高負荷状態になり、他の処理のためにＣＰＵリソースを割り当てることができなくなる。これにより、全体の試験速度が低速化するという問題を生じる。
【００１９】
そこで、本発明は、テスタコントローラと測定モジュールとの間のデータ転送を高速且つ正確に行うことを目的とする。
【課題を解決するための手段】
【００２０】
以上の課題を解決するため、本発明の第１の半導体試験装置は、被試験デバイスの試験を行う測定モジュールと当該測定モジュールの制御を行うテスタコントローラとの間でデータの転送を行う半導体試験装置であって、前記測定モジュールを試験するためのテストアプリケーションの要求に基づいて、前記測定モジュールに転送して制御を行うための転送データを順次記憶するキューである転送データキューと、この転送データキューから前記転送データを取り出すことが可能になったときに前記転送データを取り出して前記測定モジュールに転送させる制御を行う転送制御部と、前記測定モジュールから前記転送の処理が終了した旨の転送終了通知を入力したときに、その旨を前記転送制御部に通知するための割込みを行う割り込み制御部と、を備えたことを特徴とする。
【００２１】
この半導体試験装置によれば、テストアプリケーションは転送の動作とは独立して動作をすることができるため、動作の高速性を確保できる。また、転送の開始には割り込みを発生させず、転送の終了時に割り込みを発生させていることから、この点でも動作速度の高速化が図れる。そして、転送制御部が制御していることにより、転送データの格納動作よりも取り出し動作が先行することがなくなることから、正確な転送が可能になる。
【００２２】
本発明の第２の半導体試験装置は、第１の半導体試験装置であって、前記測定モジュールは複数備えられ、且つ前記転送データキューおよび前記割り込み制御部は前記測定モジュールに１対１で対応して備えられ、前記転送制御部は、前記測定モジュールのうち前記転送処理通知を入力して前記転送データを転送可能になった測定モジュールに対して、前記転送データキューから順次前記転送データを取り出して転送を行っていくことを特徴とする。
【００２３】
この半導体試験装置によれば、測定モジュールが複数になったときには、転送終了通知を入力して転送可能になった測定モジュールから順次転送を行っている。このため、測定モジュールの個数が多くなるほど並列性が向上し、処理の高速化の効果をより得ることができるようになる。
【００２４】
本発明の第３の半導体試験装置は、第２の半導体試験装置であって、前記転送データキューごとに前記転送データが転送可能か否かを記憶する参照データについて、前記転送データが格納された前記転送データキューの参照データを配列して記憶する高優先度配列部と、前記転送データが格納されていない前記転送データキューの参照データを配列して記憶する低優先度配列部と、を備え、前記転送制御部は、前記高優先度配列部と前記低優先度配列部との間で前記参照データを移動させ、且つ前記高優先度配列部に記憶されている前記参照データのうち前記転送データが転送可能となった参照データに対応する前記転送データキューから前記転送データを転送させることを特徴とする。
【００２５】
この半導体試験装置によれば、各転送データキューの転送状態の管理を高優先度配列部と低優先度配列部とが行っている。このうち、転送データキューの転送データを転送するか否かの制御の対象を高優先度配列部に配列されている参照データに限定できるため、転送制御部の負担軽減を図ることができる。
【００２６】
本発明の第４の半導体試験装置は、第３の半導体試験装置であって、前記転送データキューごとに設けられ、前記テストアプリケーションの１つの処理に属する前記転送データの総数を前記テストアプリケーションごとに記憶するアプリケーションテーブルと、前記割り込み制御部による前記転送終了通知の割り込みが発生したときに、対応する前記アプリケーションテーブルの前記転送データの総数をデクリメントするダウンカウンタと、を備えたことを特徴とする。
【００２７】
この半導体試験装置によれば、転送終了通知を入力したときにアプリケーションテーブルの総数をデクリメントして管理を行っている。これにより、テストアプリケーションの１つの処理が終了したときに、そのことを検出でき、テストアプリケーションの次の処理を実行することが可能になる。
【００２８】
本発明の第５の半導体試験装置は、第３の半導体試験装置であって、前記転送制御部は、イベント発生時に前記高優先度配列部の参照データを巡回して検索することを特徴とする。
【００２９】
この半導体試験装置によれば、イベント発生時に転送制御部が参照データの制御をしていることで、常に転送データキューの制御を行う必要がなくなる。これにより、転送制御部の負担軽減を図ることができるようになる。
【００３０】
本発明の第６の半導体試験プログラムは、被試験デバイスの試験を行う測定モジュールと当該測定モジュールの制御を行うテスタコントローラとの間でデータの転送を行う半導体試験装置を制御する半導体プログラムであって、コンピュータを、前記測定モジュールを試験するためのテストアプリケーションの要求に基づいて、前記測定モジュールに転送して制御を行うための転送データを順次記憶しているキューである転送データキュー手段、前記転送データキューから前記転送データを取り出すことが可能になったときに前記転送データを取り出して前記測定モジュールに転送させる制御を行う転送制御手段、前記測定モジュールから前記転送の処理が終了した旨の転送終了通知を入力したときに、その旨を前記転送制御部に通知するための割込みを行う割り込み制御手段、として機能させることを特徴とする。
【００３１】
本発明の第７の半導体試験方法は、被試験デバイスの試験を行う測定モジュールと当該測定モジュールの制御を行うテスタコントローラとの間でデータの転送を行う半導体試験方法であって、前記測定モジュールを試験するためのテストアプリケーションの要求に基づいて、前記測定モジュールに転送して制御を行うための転送データを順次記憶しているキューである転送データキューから前記転送データを取り出すことが可能になったときに、前記転送データを取り出して前記測定モジュールに転送させる制御を行い、前記測定モジュールから前記転送の処理が終了した旨の転送終了通知を入力したときに、その旨を前記転送制御部に通知するための割込みを行うこと、を特徴とする。
【発明の効果】
【００３２】
本発明は、テストアプリケーションの実行と測定モジュールに対する転送データの転送とは非同期に独立して行うことができ、また転送開始と転送終了とのうち転送終了時に割り込みを発生させていることから、試験速度の高速化を図ることができる。そして、転送データの取り出し動作が格納動作よりも先行することがないことから、正確な転送を行うことができるようになる。
【図面の簡単な説明】
【００３３】
【図１】本発明の半導体試験装置の構成を示すブロック図である。
【図２】転送状態管理部の説明図である。
【図３】転送データキューおよびアプリケーションテーブルを示す図である。
【図４】図１の各部のタイムチャートである。
【図５】従来の半導体試験装置の構成を示すブロック図である。
【図６】図５の各部のタイムチャートである。
【発明を実施するための形態】
【００３４】
以下、図面を参照して、本発明の実施形態について説明する。図１は本発明の半導体試験装置１の構成を示している。半導体試験装置１はＮ（Ｎは自然数）個の測定モジュール２−１〜２−Ｎ（以下、測定モジュール２）とテスタコントローラ３とスイッチ４とを備えて構成している。測定モジュール２の個数は１個でもよいが、ここでは複数個が備えられているものとする。
【００３５】
各測定モジュール２とテスタコントローラ３との間では所定のデータ（転送データ）が双方向に転送される。スイッチ４はＮ個の測定モジュール２のうち何れか１つのみを接続するように高速に切り替えを行う。よって、測定モジュール２とテスタコントローラ３とは１対１に接続される。測定モジュール２とテスタコントローラ３との間はパラレル転送でもよいが、ここではシリアル転送とする。
【００３６】
測定モジュール２は図示しない被試験デバイス（ＤＵＴ：Device Under Test）を接続しており、ＤＵＴの試験を行う。測定モジュール２としては、ＤＵＴに試験信号を印加してＤＵＴからの応答信号に基づいて良否判定を行うピンエレクトロニクスカード等を適用することができる。１つのＤＵＴに複数の測定モジュール２を接続してもよいし、複数のＤＵＴに１つの測定モジュール２を接続してもよい。
【００３７】
テスタコントローラ３は各測定モジュール２の制御を行う装置であり、コンピュータを適用できる。テスタコントローラ３の各部はコンピュータ上で動作を行うソフトウェアとして実現されている。つまり、ハードウェアの構成としてはＣＰＵとメモリと補助記憶装置（ハードディスク等）とを備えており、補助記憶装置から読み出されたプログラムをメモリに展開し、ＣＰＵがプログラムを実行する。これにより、テスタコントローラ３の各部の機能が実行される。なお、データ入出力部１４については、入出力（Ｉ／Ｏ）を行うハードウェアとして構成されることもある。
【００３８】
テスタコントローラ３はアプリケーション実行部１１と転送データ格納部１２と転送データキュー１３とデータ入出力部１４と割り込みハンドラ１５と転送制御部１６と転送状態管理部１７と終了検出部１８とを備えて構成している。このうち、転送データ格納部１２および転送制御部１６としては、例えばオペレーティングシステムのカーネルとして実現することができる。
【００３９】
アプリケーション実行部１１はテストアプリケーションを実行する。テストアプリケーションはＤＵＴの試験内容を記述したソフトウェアやプログラム等である。テストアプリケーションは１つであってもよいが、ここではアプリケーション実行部１１はＭ（Ｍは自然数）個のテストアプリケーションをパラレルに実行するものとする。
【００４０】
各テストアプリケーションは多数の処理を有して構成される。アプリケーション実行部１１が処理を実行すると、要求（リクエスト）として転送データ格納部１２に出力される。このリクエストは処理の内容を示すものであり、リクエストは１または複数の転送データとして生成される。そして、生成された転送データは転送データ格納部１２に出力される。
【００４１】
アプリケーション実行部１１は処理ごとに実行を行うものであり、１つの処理が終了した後に次の処理を行うようにしている。例えば、１つの処理の結果（ＤＵＴから試験結果を取得する処理）を行った後に、次の処理（その試験結果を使用して演算を行う処理）を行うようにする。
【００４２】
転送データ格納部１２はアプリケーション実行部１１のリクエストに応じて、転送データキュー１３に転送データを格納する。転送データキュー１３は転送データを配列して格納する先入れ先出しのキューである。転送データキュー１３は１つの測定モジュール２に１対１で対応して設けられる。なお、図中では１つの転送データキュー１３を示しているが、実際にはＮ個の転送データキュー１３−１〜１３−Ｎが設けられている。
【００４３】
転送データ格納部１２はアプリケーション実行部１１から、転送データをＮ個の転送データキュー１３のうち何れの転送データキュー１３に格納するかの情報（キュー特定情報）およびＭ個のテストアプリケーションのうち何れのテストアプリケーションからの転送データであるかの情報（アプリケーション特定情報）を取得している。
【００４４】
このうち、キュー特定情報に基づいて、対象となる転送データキュー１３に転送データを格納する。このときに、転送データ格納部１２は転送データにアプリケーション特定情報を付加するようにする。
【００４５】
転送データキュー１３に格納されている転送データは転送制御部１６の制御によりデータ入出力部１４を介して、対象となる測定モジュール２に転送される。測定モジュール２は転送データを入力したときに、ＤＭＡ（Direct Memory Access）を起動させて、転送データの入力処理を開始する。そして、この入力処理が終了したときに、その旨を示す転送終了通知をテスタコントローラ３に向けて出力する。
【００４６】
転送終了通知はデータ入出力部１４を介して割り込みハンドラ１５に入力される。割り込みハンドラ１５は転送制御部１６に対して割り込みを発生させる割り込み制御部である。割り込みハンドラ１５は１つの測定モジュール２に１対１で対応して設けられる。なお、図中では１つの割り込みハンドラ１５を示しているが、実際にはＮ個の割り込みハンドラ１５−１〜１５−Ｎが設けられている。
【００４７】
測定モジュール２は転送データに付加されたアプリケーション特定情報を転送終了通知に付加している。また、割り込みハンドラ１５と測定モジュール２と転送データキュー１３とはそれぞれ１対１で対応している。従って、割り込みハンドラ１５はキュー特定情報およびアプリケーション特定情報を付加して転送制御部１６に割り込みを発生させている。
【００４８】
転送制御部１６は主に転送データキュー１３の制御を行う。割り込みハンドラ１５により転送終了通知の割り込みが発生したときに、転送状態管理部１７および終了検出部１８の内容を更新する。これと共に、転送状態管理部１７を参照して、転送データキュー１３に転送データが格納されて、転送可能になった転送データキュー１３から転送データを転送するようにしている。
【００４９】
転送状態管理部１７は高優先度配列部１７Ｈと低優先度配列部１７Ｌとを有している。図２は高優先度配列部１７Ｈおよび低優先度配列部１７Ｌを示しており、それぞれ参照データ（転送するデータに関する情報：転送リソース）を配列して構成している。図中に示すように、参照データはキュー特定情報（図中ではキュー番号）および転送状態の２つの情報を有している。転送状態は転送データを転送可能か否かの情報であり、転送中、未転送、転送終了の３つの状態により構成されている。
【００５０】
「転送中」は転送データキュー１３から測定モジュール２に対して転送データを転送中であることを示している。「未転送」は転送データキュー１３に転送データは格納されているが、未だ転送がされていない状態を示している。「転送終了」は測定モジュール２から転送終了通知を入力して、転送処理が終了した状態を示している。
【００５１】
転送データ格納部１２から転送データキュー１３に転送データが格納されたときに、転送制御部１６は低優先度配列部１７Ｌから対応する参照データを取り出して、高優先度配列部１７Ｈに追加する。このとき、参照データの転送状態を「未転送」とする。転送データキュー１３から転送データを測定モジュール２に対して転送したときに、転送制御部１６は対応する参照データの転送状態を「転送中」とする。割り込みハンドラ１５から転送終了通知による割り込みが発生したときに、転送制御部１６は対応する参照データを「転送終了」とする。
【００５２】
転送制御部１６は高優先度配列部１７Ｈの参照データを巡回して検索する。そして、参照データの転送状態が「未転送」の場合、つまり転送可能な場合には、当該参照データに対応する転送データキュー１３から転送データを取り出して測定モジュール２に転送させると共に、転送状態を「転送中」にする。
【００５３】
終了検出部１８はアプリケーションテーブル１８Ｔとダウンカウンタ１８Ｄとを有している。アプリケーションテーブルは１つの転送データキュー１３−１〜１３−Ｎに対応して設けている。各アプリケーションテーブルはＭ個のテストアプリケーションに対応して転送データの総数を記憶している。図３はＮ個のアプリケーションテーブルのうち１つのアプリケーションテーブル１８Ｔ−１およびこのアプリケーションテーブル１に対応する転送データキュー１３−１を示している。
【００５４】
転送データの総数はテストアプリケーションのリクエストの処理に属する転送データの総数になる。転送データ格納部１２はアプリケーション特定情報に基づいて、転送データの総数を認識している。よって、転送データキュー１３ごとに設けたアプリケーションテーブルのテストアプリケーションに対してその総数を記憶させることができる。
【００５５】
次に、図４のタイムチャートを用いて、動作について説明する。アプリケーション実行部１１はＭ個のテストアプリケーションをパラレルに実行する。各テストアプリケーションはＤＵＴに対して試験を行う内容を記述している。例えば、測定モジュール２がＤＵＴに対して所定の電圧や信号等を印加する処理、或いは測定モジュール２から試験結果を取得する処理等が記述されている。
【００５６】
テストアプリケーションは複数の処理を有して構成されている。アプリケーション実行部１１が１つの処理を実行したときに、要求（リクエスト）が発生する（ステップＳ１）。リクエストは測定モジュール２に書き込むライトリクエスト、測定モジュールから読み出すリードリクエストがある。このリクエストは１つの処理に対応しており、１つのリクエストは１つまたは複数の転送データから構成される。
【００５７】
このリクエストの（１または複数の）転送データを転送データ格納部１２が転送データキュー１３に追加する（ステップＳ２）。転送データ格納部１２はキュー特定情報を認識しており、これにより対象となる転送データキュー１３に転送データを追加する。また、転送データ格納部１２はアプリケーション特定情報を認識しており、転送データキュー１３に対応するアプリケーションテーブルのアプリケーション特定情報に対応するテストアプリケーションの総数を記憶させる。
【００５８】
図３を用いて、アプリケーションテーブルの総数記憶について説明する。アプリケーションテーブル１８ＴはＮ個（１８Ｔ−１〜１８Ｔ−Ｎ）まであり、転送データキュー１３−１〜１３−Ｎに対応して設けられている。また、テーブル内のデータは、テストアプリケーション１〜Ｍに対応する転送データの総数になる。
【００５９】
転送データキュー１３−１に記憶される転送データについては転送データ格納部１２が認識をしている。且つ、転送データ格納部１２は転送データごとにキュー特定情報およびアプリケーション特定情報を記憶している。よって、転送データキュー１３−１に記憶される転送データのテストアプリケーションごとの総数を記憶できる。
【００６０】
同図の場合は、テストアプリケーション１（ＴＡ−１）については転送データの総数は４つになっており、テストアプリケーション２（ＴＡ−２）については転送データの総数が２つになっている。以上により、Ｎ個のアプリケーションテーブル１８Ｔの中身のデータが作成される。
【００６１】
転送データキュー１３に転送データが追加されると、転送制御部１６は転送状態管理部１７の低優先度配列部１７Ｌから対応する参照データ（転送データが追加された転送データキュー１３に対応する参照データ）を取り出す。そして、高優先度配列部１７Ｈに追加する。且つ、転送状態を「未転送」とする。
【００６２】
そして、転送制御部１６は転送データキュー１３に格納された転送データを測定モジュール２に転送させる。ただし、転送データキュー１３に転送データが格納されていないときは取り出しを行わないようにする。そして、転送データが格納されて転送可能となった時点で取り出しを行って、転送を行うようにする。
【００６３】
従って、転送制御部１６は転送データキュー１３に転送データが格納されたか否かを認識しなければならない。これは、転送制御部１６が各転送データキュー１３を常に監視して、転送データが格納された時点で転送データを取り出すことにより可能になる。
【００６４】
ただし、ここでは、イベント発生ごとに転送可能か否かをチェックする。このイベントは、特定の処理が発生したとき、例えば転送データキュー１３に転送データが格納されたとき、転送終了通知を入力したとき、測定モジュール２に対する転送が失敗したとき（転送エラー発生時）、転送時間が許容時間を経過したとき（タイムアウト）、処理を中断させるシグナルが発生されたとき等に発生する。
【００６５】
図４に示すように、転送制御部１６はイベントが発生しているか否かをチェックするフローを繰り返している（ループ）。転送データが転送データキュー１３に追加されたときに、そのことがイベントとして転送制御部１６に通知される。このときに、転送制御部１６は転送状態管理部１７の検索を行う（ステップＳ３）。ただし、検索を行うのは、高優先度配列部１７Ｈになる。
【００６６】
高優先度配列部１７Ｈには「未転送」となっている参照データがある。この参照データに対応する転送データキュー１３は転送可能な状態になっており、これにより転送データキュー１３から転送データを転送させる（ステップＳ４）。これと共に、当該参照データを「転送中」に変更する。これにより、次回のイベント発生時に当該参照データは「転送中」となっており、対応する転送データキュー１３から転送データが転送されなくなる。
【００６７】
転送データは転送データキュー１３−１〜１３−Ｎのうち何れかから出力されているため、転送元の転送データキュー１３が特定される。よって、スイッチ４は対象となる測定モジュール２に接続するように切り替える。これにより、所定の測定モジュール２に対して転送データが転送される。
【００６８】
測定モジュール２は転送データを入力して、ＤＭＡを起動させる。そして、転送データの入力処理を行う（ステップＳ５）。なお、転送データを入力できる処理であれば、ＤＭＡでなくてもよい。転送データの入力処理が完了したときには転送終了通知をテスタコントローラ３に対して出力する。そして、入力した転送データに基づいて所定の処理（例えば、所定電圧をＤＵＴに印加する処理等）を行う。
【００６９】
転送終了通知はデータ入出力部１４を介して割り込みハンドラ１５に入力される。そして、割り込みハンドラ１５はこの転送終了通知に基づいて割り込みを発生させる（ステップＳ６）。測定モジュール２に転送された転送データは何れの転送データキュー１３からの転送データであるか（キュー特定情報）を認識している。そして、転送制御部１６は高優先度配列部１７Ｈの対応する参照データを「転送終了」に変更する。これにより、次回のイベント発生時に当該参照データは高優先度配列部１７Ｈから低優先度配列部１７Ｌに移動されて、検索対象から除外される。
【００７０】
これと共に、終了検出部１８のアプリケーションテーブルの総数をデクリメントするカウント処理を行う（ステップＳ７）。転送終了通知にはアプリケーション特定情報が付加されており、且つキュー特定情報は認識できる。よって、対象となるアプリケーションテーブルの対象となるテストアプリケーションの総数をデクリメントする。
【００７１】
終了検出部１８はテストアプリケーションの総数がゼロになったものがあれば、その旨をアプリケーション実行部１１のテストアプリケーションに通知する。これは、図８のリクエスト終了通知になる（ステップＳ８）。このリクエスト終了通知は１つの処理が終了した旨の通知になり、アプリケーション実行部１１はこのリクエスト終了通知に基づいて、次の処理を実行することができる。
【００７２】
従って、アプリケーション実行部１１のアプリケーションの実行と測定モジュール２に対する転送データの転送とは非同期に独立して行うことができる。これにより、一方の動作を他方の動作が待つ必要がなく、並列的に行うことができることから、全体としての動作速度（試験速度）が高速化する。
【００７３】
且つ、転送の終了は割り込みを行っているものの、転送の開始には割り込みを行っていないため、転送開始および終了の両方に割り込みを使用している場合と比較して、割り込みの回数を低減することができる。これにより、割り込みのためのＣＰＵの負担を軽減することができ、動作速度を高速にできる。
【００７４】
そして、転送制御部１６は転送データキュー１３に転送データが格納されて、転送可能になった転送データキュー１３から転送データを転送させている。つまり、転送制御部１６が転送状態管理部１７を参照して、転送状態が「未転送」となっている参照データの転送データキュー１３から転送データを出力させている。これにより、取り出し動作が格納動作よりも先行することがなくなり、正確な転送処理を実現できる。
【００７５】
ここでは、転送状態管理部１７を参照して転送を行っているが、転送状態管理部１７を用いずに転送を行ってもよい。ただし、転送制御部１６は転送データキュー１３から転送データを取り出すことが可能になるまで待つように制御し、転送可能になった時点で、転送データを取り出して転送するように制御する。
【００７６】
また、転送制御部１６は高優先度配列部１７Ｈに限定して巡回検索を行うようにしている。このため、参照データを検索する対象を限定することができ、転送制御部１６の負担軽減を図ることができる。転送制御部１６はＣＰＵで動作するソフトウェアであるため、これによりＣＰＵの負担が軽減する。
【００７７】
また、転送制御部１６は常に転送データキュー１３を監視しているのではなく、イベント発生時に転送状態管理部１７の巡回検索を行っている。このため、転送制御部１６は常に動作を行うのではなく、イベント発生時のみに動作を行うため、動作の負担軽減を図ることができる。
【符号の説明】
【００７８】
１    半導体試験装置
２    測定モジュール
３    テスタコントローラ
１１    アプリケーション実行部
１２    転送データ格納部
１３    転送データキュー
１４    データ入出力部
１５    割り込みハンドラ
１６    転送制御部
１７    転送状態管理部
１７Ｈ    高優先度配列部
１７Ｌ    低優先度配列部
１８    終了検出部
１８Ｄ    ダウンカウンタ
１８Ｔ    アプリケーションテーブル
【図１】
2012098155.tif 000003
【図２】
2012098155.tif 000004
【図３】
2012098155.tif 000005
【図４】
2012098155.tif 000006
【図５】
2012098155.tif 000007
【図６】
2012098155.tif 000008