(57)【要約】【課題】システムコールのオーバーヘッドを削減するとともにＤＭＡコントローラの待ち時間を削減して転送効率の悪化を防止することができるデータ転送装置等を提供する。【解決手段】データ転送装置１は、ソフトウェアによってシステム制御部２１及びデバイスドライバ部２２が実現されるＣＰＵ１１と、複数のテスタデバイス１２ａ〜１２ｎに設けられたＤＭＡコントローラ３１ａ〜３１ｎとを備える。システム制御部２１は、ＤＭＡコントローラ３１ａ〜３１ｎに対するＤＭＡ転送コマンドを一まとめにしたＤＭＡ転送コマンド群を出力する。デバイスドライバ部２２は、システム制御部２１からのＤＭＡ転送コマンド群をデバイスノード２４で受信し、受信したＤＭＡ転送コマンド群に基づいてテスタデバイス１２ａ〜１２ｎの各々で行われるデータ転送の予測転送終了時間を求めてテスタデバイス１２ａ〜１２ｎの各々で行われるデータ転送の転送開始順序を制御する。【選択図】図１
2010073113.tif 000002
【特許請求の範囲】
【請求項１】
ＤＭＡ転送方式によりデータ転送を行うデータ転送制御部を複数備えるデータ転送装置において、
前記データ転送制御部の各々に対する制御命令を一まとめにした制御命令群を出力する制御手段と、
前記制御手段からの前記制御命令群を受信する第１受信ノードを備え、当該第１受信ノードで受信した前記制御命令群をなす制御命令に基づいて前記データ転送制御部の各々で行われるデータ転送の予測転送終了時間を求め、当該予測転送終了時間に応じて前記データ転送制御部で行われるデータ転送の転送開始順序を制御する転送開始制御手段を備えることを特徴とするデータ転送装置。
【請求項２】
前記転送開始制御手段は、前記制御命令群をなす前記制御命令に含まれる転送すべきデータの大きさに基づいて、前記データ転送制御部の各々における前記予測転送終了時間を求めることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記転送開始制御手段は、前記制御命令群をなす前記制御命令に含まれる転送すべきデータの大きさに加えて、前記データ転送制御部の各々におけるデータ転送速度を用いて、前記データ転送制御部の各々における前記予測転送終了時間を求めることを特徴とする請求項２記載のデータ転送装置。
【請求項４】
前記転送開始制御手段は、前記データ転送制御部の各々における前記予測転送終了時間を短い順に並べ替え、前記予測転送終了時間が短いデータ転送制御部から順にデータ転送を開始させる制御を行うことを特徴とする請求項１から請求項３の何れか一項に記載のデータ転送装置。
【請求項５】
前記転送開始制御手段は、前記制御手段から前記データ転送制御部の各々に対して個別に出力される制御命令を受信する第２受信ノードを前記データ転送制御部の各々に対応して備えており、当該第２受信ノードで受信された制御命令を対応するデータ転送制御部に出力することを特徴とする請求項１から請求項４の何れか一項に記載のデータ転送装置。
【請求項６】
半導体デバイスの試験を行う半導体試験装置において、
複数のテスタデバイスの各々に前記データ転送制御部が設けられた請求項１から請求項５の何れか一項に記載のデータ転送装置を備えており、
前記半導体デバイスの試験に係るデータを、前記データ転送装置によって前記テスタデバイスに転送することを特徴とする半導体試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡ（Direct Memory Access）転送方式によってデータを転送するデータ転送装置、及び当該装置を備える半導体試験装置に関する。
【背景技術】
【０００２】
ＤＭＡ転送方式とは、周知の通り、ＣＰＵ（中央処理装置）を介さずにメモリとメモリとの間、又はメモリと各種デバイスとの間で直接データの転送を行うデータ転送方式をいう。半導体デバイスの試験を行う半導体試験装置では、例えば半導体デバイスに印加する試験信号を生成するために用いられるパターンデータを所定のテスタデバイス（例えば、ピンエレクトロニクスカード）に転送するのに要する時間を短縮するためにＤＭＡ転送方式が用いられる。
【０００３】
図５は、半導体試験装置に設けられる従来のデータ転送装置の要部構成を示すブロック図である。図５に示す通り、データ転送装置１００は、ＣＰＵ１０１と複数のテスタデバイス１０２ａ〜１０２ｎに設けられたＤＭＡコントローラ１２１ａ〜１２１ｎとを備えている。ＣＰＵ１０１は半導体試験装置の動作を統括的に制御するものであり、所定の制御プログラム及び所定のデバイスプログラムを実行することによりＣＰＵ１０１にはシステム制御部１１１及びデバイスドライバ部１１２がそれぞれ実現されている。
【０００４】
システム制御部１１１は、デバイスドライバ部１１２に対してテスタデバイス１０２ａ〜１０２ｎを制御するための制御命令（例えば、ＤＭＡ転送コマンド等）を出力する。デバイスドライバ部１１２は、システム制御部１１１とテスタデバイス１０２ａ〜１０２ｎとの間に介在されて、テスタデバイス１０２ａ〜１０２ｎ毎のハードウェア上の相違を吸収して、システム制御部１１１がテスタデバイス１０２ａ〜１０２ｎを論理的に制御することを橋渡しするものである。このデバイスドライバ部１１２には、テスタデバイス１０２ａ〜１０２ｎ毎に、システム制御部１１１に対する論理的な入出力部となるデバイスノード１１３ａ〜１１３ｎが設けられる。
【０００５】
テスタデバイス１０２ａ〜１０２ｎは、ピンエレクトロニクスカード、電源カード、その他の半導体試験装置に設けられる各種デバイスであって、ＤＭＡコントローラ１２１ａ〜１２１ｎをそれぞれ備えている。ＤＭＡコントローラ１２１ａ〜１２１ｎは、システム制御部１１１から出力されるＤＭＡ転送コマンドに基づいてＤＭＡ転送方式によりデータ転送を行う。尚、データ転送は、ＤＭＡコントローラ１２１ａ〜１２１ｎの制御の下で、例えば不図示のメモリから不図示のデータバスを介してテスタデバイス１０２ａ〜１０２ｎ内の所定のアドレスに対して行われる。
【０００６】
上記構成において、システム制御部１１１がテスタデバイス１０２ａ〜１０２ｎに設けられたＤＭＡコントローラ１２１ａ〜１２１ｎにＤＭＡ転送を行わせる場合には、ＤＭＡ転送を行わせるべきテスタデバイスに対応したデバイスノードに対してＤＭＡ転送コマンドを出力する。このＤＭＡ転送コマンドは、デバイスドライバ部１１２を介してＤＭＡ転送を行わせるべきテスタデバイスに入力され、これによりそのテスタデバイスにおいて入力されたＤＭＡ転送コマンドに応じたＤＭＡ転送が開始される。
【０００７】
ＤＭＡ転送が終了すると、そのテスタデバイスからシステム制御部１１１に対してＤＭＡ転送が終了した旨を示す割り込み信号が出力される。この割り込み信号が入力されると、システム制御部１１１は次にＤＭＡ転送を行わせるべきテスタデバイスに対応したデバイスノードに対してＤＭＡ転送コマンドを出力してＤＭＡ転送を開始させる。以降、同様の処理が繰り返されて、テスタデバイス１０２ａ〜１０２ｎの各々で順次ＤＭＡ転送が行われる。
【０００８】
尚、メモリ間のＤＭＡ転送を制御するＤＭＡコントローラの詳細については、例えば以下の特許文献１を参照されたい。
【特許文献１】特開平７−３０６８２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、半導体試験装置では複数のテスタデバイスに対して同時にＤＭＡ転送が行われる頻度が極めて高い。複数のテスタデバイスに対して同時にＤＭＡ転送を行う場合には、システム制御部１１１は、デバイスドライバ部１１２に設けられた複数のデバイスノード１１３ａ〜１１３ｎに順次アクセスする必要があるため、システムコールのオーバーヘッドが大きくなって時間を要するという問題があった。
【００１０】
また、図５に示す従来のデータ転送装置１００においては、基本的には１つのＤＭＡコントローラ毎に順次ＤＭＡ転送を行わせている。このため、１つのＤＭＡコントローラに複数のＤＭＡ転送コマンドが順次出力されると、そのＤＭＡコントローラについての全てのＤＭＡ転送が終了するまで他のＤＭＡコントローラが長時間待ち状態になる可能性があり、転送効率が悪化する虞が考えられる。
【００１１】
本発明は上記事情に鑑みてなされたものであり、システムコールのオーバーヘッドを削減するとともにＤＭＡコントローラの待ち時間を削減して転送効率の悪化を防止することができるデータ転送装置、及び当該データ転送装置を備えることにより試験時間を短縮することができる半導体試験装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明のデータ転送装置は、ＤＭＡ転送方式によりデータ転送を行うデータ転送制御部（３１ａ〜３１ｎ）を複数備えるデータ転送装置（１）において、前記データ転送制御部の各々に対する制御命令を一まとめにした制御命令群を出力する制御手段（２１）と、前記制御手段からの前記制御命令群を受信する第１受信ノード（２４）を備え、当該第１受信ノードで受信した前記制御命令群をなす制御命令に基づいて前記データ転送制御部の各々で行われるデータ転送の予測転送終了時間を求め、当該予測転送終了時間に応じて前記データ転送制御部で行われるデータ転送の転送開始順序を制御する転送開始制御手段（２２）を備えることを特徴としている。
この発明によると、データ転送制御部の各々に対する制御命令を一まとめにした制御命令群が制御手段から出力されると、転送開始制御手段の第１受信ノードで受信され、制御命令群をなす制御命令に基づいてデータ転送制御部の各々で行われるデータ転送の予測転送終了時間が求められ、この予測転送終了時間に応じてデータ転送制御部で行われるデータ転送の転送開始順序が制御される。
また、本発明のデータ転送装置は、前記転送開始制御手段が、前記制御命令群をなす前記制御命令に含まれる転送すべきデータの大きさに基づいて、前記データ転送制御部の各々における前記予測転送終了時間を求めることを特徴としている。
また、本発明のデータ転送装置は、前記転送開始制御手段が、前記制御命令群をなす前記制御命令に含まれる転送すべきデータの大きさに加えて、前記データ転送制御部の各々におけるデータ転送速度を用いて、前記データ転送制御部の各々における前記予測転送終了時間を求めることを特徴としている。
また、本発明のデータ転送装置は、前記転送開始制御手段が、前記データ転送制御部の各々における前記予測転送終了時間を短い順に並べ替え、前記予測転送終了時間が短いデータ転送制御部から順にデータ転送を開始させる制御を行うことを特徴としている。
更に、本発明のデータ転送装置は、前記転送開始制御手段が、前記制御手段から前記データ転送制御部の各々に対して個別に出力される制御命令を受信する第２受信ノード（２３ａ〜２３ｎ）を前記データ転送制御部の各々に対応して備えており、当該第２受信ノードで受信された制御命令を対応するデータ転送制御部に出力することを特徴としている。
本発明の半導体試験装置は、半導体デバイスの試験を行う半導体試験装置において、複数のテスタデバイスの各々に前記データ転送制御部が設けられた上記の何れかに記載のデータ転送装置を備えており、前記半導体デバイスの試験に係るデータを、前記データ転送装置によって前記テスタデバイスに転送することを特徴としている。
【発明の効果】
【００１３】
本発明によれば、データ転送制御部の各々に対する制御命令を一まとめにした制御命令群を転送開始制御手段の第１受信ノードで受信し、受信した制御命令群をなす制御命令に基づいてデータ転送制御部の各々で行われるデータ転送の予測転送終了時間を求め、この予測転送終了時間に応じてデータ転送制御部で行われるデータ転送の転送開始順序を制御している。このため、従来必要であった第２受信ノードの切り替えが不要となり、システムコールのオーバーヘッドを削減することができる。また、予測転送終了時間に基づいて、例えば予測転送終了時間が短いデータ転送制御部から順にデータ転送を開始させるといった制御を行うことができるため、データ転送制御部における待ち時間が削減される。以上から、ＤＭＡ転送方式によるデータの転送効率の悪化を防止することができるという効果がある。また、半導体デバイスの試験に係るデータの転送に要する時間を短縮した分だけ試験時間を短縮することができるという効果がある。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の一実施形態によるデータ転送装置及び半導体試験装置について詳細に説明する。図１は、本発明の一実施形態によるデータ転送装置の要部構成を示すブロック図である。尚、本実施形態では、データ転送装置が、半導体デバイスの試験を行う半導体試験装置に設けられている態様を例に挙げて説明する。
【００１５】
図１に示す通り、本実施形態のデータ転送装置１は、ＣＰＵ１１と複数のテスタデバイス１２ａ〜１２ｎに設けられたＤＭＡコントローラ３１ａ〜３１ｎ（データ転送制御部）とを備えている。ＣＰＵ１１は半導体試験装置の動作を統括的に制御するものであり、所定の制御プログラム及び所定のデバイスプログラムを実行することによりＣＰＵ１１にはシステム制御部２１（制御手段）及びデバイスドライバ部２２（転送開始制御手段）がそれぞれ実現されている。
【００１６】
システム制御部２１は、デバイスドライバ部２２に対してテスタデバイス１２ａ〜１２ｎを制御するための制御命令（例えば、ＤＭＡ転送コマンド等）を出力する。このシステム制御部２１は、テスタデバイス１２ａ〜１２ｎの各々に対する個別の制御命令、及びテスタデバイス１２ａ〜１２ｎの各々に対する個別の制御命令を一まとめにした制御命令群を出力する。
【００１７】
図２は、システム制御部２１から出力される制御命令の一例を示す図である。尚、図２においては、制御命令としてＤＭＡ転送コマンドを例示している。図２に示す通り、ＤＭＡ転送コマンドは、転送すべきデータが格納されているアドレス（データアドレス）が指定されるフィールドＦ１、転送すべきデータの大きさ（サイズ）が指定されるフィールドＦ２、及びテスタデバイス内におけるデータの転送先を示すアドレス（デバイスアドレス）が指定されるフィールドＦ３からなる。
【００１８】
図３は、システム制御部２１から出力される制御命令群の一例を示す図である。尚、図３においては、制御命令群として複数のＤＭＡ転送コマンドからなるＤＭＡ転送コマンド群を例示している。図３に示す通り、ＤＭＡ転送コマンド群は、図２に示すフィールドＦ１〜Ｆ３からなるＤＭＡ転送コマンドと、テスタデバイス１２ａ〜１２ｎの何れかを指定するデバイス番号が格納されるフィールドＦ４とからなる複数のレコードＲ１〜Ｒｋを備えるものである。尚、レコードの数は１以上であってＤＭＡコントローラ３１ａ〜３１ｎの数以下である。
【００１９】
デバイスドライバ部２２は、システム制御部２１とテスタデバイス１２ａ〜１２ｎとの間に介在されて、テスタデバイス１２ａ〜１２ｎ毎のハードウェア上の相違を吸収して、システム制御部２１がテスタデバイス１２ａ〜１２ｎを論理的に制御することを橋渡しするものである。このデバイスドライバ部２２には、システム制御部２１から出力される制御命令に対する論理的な入出力部となるデバイスノード２３ａ〜２３ｎ（第２受信ノード）がテスタデバイス１２ａ〜１２ｎ毎に設けられている。また、システム制御部２１から出力される制御命令群に対する論理的な入出力部となるデバイスノード２４（第１受信ノード）が設けられている。このデバイスノード２４を設けるのは、システムコールのオーバーヘッドを削減するとともにデータ転送効率の悪化を防止するためである。
【００２０】
このデバイスドライバ部２２は、システム制御部２１から制御命令が出力された場合には、デバイスノード２３ａ〜２３ｎの何れかで受信し、制御命令を受信したデバイスノードに対応したテスタデバイスに対して制御命令を出力する。また、システム制御部２１から制御命令群が出力された場合には、デバイスノード２４で受信し、受信した制御命令群をなす制御命令に基づいてテスタデバイス１２ａ〜１２ｎの各々で行われるデータ転送の予測転送終了時間を求め、得られた予測転送終了時間に応じてテスタデバイス１２ａ〜１２ｎで行われるデータ転送の転送開始順序を制御する。
【００２１】
具体的に、制御命令群がＤＭＡ転送コマンド群である場合には、図３に示すレコードＲ１〜ＲｋのフィールドＦ２に格納された転送すべきデータのサイズに基づいて、テスタデバイス１２ａ〜１２ｎの各々における予測転送終了時間を求める。尚、詳細は後述するが、デバイスドライバ部２２は、上記の予測転送終了時間を、ＤＭＡ転送コマンド群に含まれるＤＭＡ転送コマンド毎に求める。
【００２２】
つまり、テスタデバイス１２ａ〜１２ｎに対するＤＭＡ転送コマンドがシステム制御部２１から出力されるＤＭＡ転送コマンド群にそれぞれ１つずつ含まれる場合には、ＤＭＡ転送コマンド毎に求められる予測転送終了時間は、テスタデバイス１２ａ〜１２ｎの各々で行われるデータ転送の予測転送終了時間ということができる。また、１つのテスタデバイス対する複数のＤＭＡ転送コマンドがシステム制御部２１から出力されるＤＭＡ転送コマンド群に含まれる場合には、そのテスタデバイスに対するＤＭＡ転送コマンド毎に求められる予測転送終了時間の加算値がそのテスタデバイスで行われるデータ転送の予測転送終了時間ということができる。
【００２３】
ここで、テスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度が全て同じであれば、テスタデバイス１２ａ〜１２ｎの各々における予測転送終了時間は、レコードＲ１〜ＲｋのフィールドＦ２に格納された転送すべきデータのサイズの大きさに比例して長くなる。しかしながら、テスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度が異なる場合には、テスタデバイス１２ａ〜１２ｎの各々における予測転送終了時間は、単純に転送すべきデータのサイズの大きさに比例する関係とはならない。
【００２４】
このため、デバイスドライバ部２２は、テスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度が異なる場合には、レコードＲ１〜ＲｋのフィールドＦ２に格納された転送すべきデータのサイズの大きさに加えて、テスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度を用いて予測転送終了時間を算出する。テスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度は、例えばスタデバイス１２ａ〜１２ｎの各々に一意に割り当てられた識別子（ＩＤ）とテスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度とを対応付けたテーブルを予めデバイスドライバ部２２に用意しておき、デバイスドライバ部２２がテスタデバイス１２ａ〜１２ｎのＩＤを取得してテーブルを検索することで取得することができる。
【００２５】
更に、同一のテスタデバイスに対する複数のＤＭＡ転送コマンドが１つの制御命令群に含まれる場合には、それらＤＭＡ転送コマンドの各々に基づいて同一のテスタデバイスに転送されるデータのサイズを加算し、その加算値に基づいてテスタデバイス１２ａ〜１２ｎの各々における予測転送終了時間を求めてもよい。また更に、この加算値と上記のテスタデバイス１２ａ〜１２ｎの各々の転送速度とを用いて予測転送終了時間を算出しても良い。
【００２６】
また、デバイスドライバ部２２は、テスタデバイス１２ａ〜１２ｎの各々における予測転送終了時間を求めた場合に、それら予測転送終了時間を短い順に並べ替え、予測転送終了時間が短いテスタデバイスから順にデータ転送を開始させる制御を行う。例えば、図３に示すレコードＲ３のフィールドＦ４にデバイス番号「１」が格納されており、レコードＲ３のフィールドＦ２に格納されたサイズを用いて求められた予測転送終了時間が最も短い場合には、デバイスドライバ部２２は、デバイス番号「１」が予め割り当てられたテスタデバイス１２ａに対してレコードＲ３のフィールドＦ１〜Ｆ３を出力し、最初のデータ転送をテスタデバイス１２ａに開始させる。
【００２７】
テスタデバイス１２ａ〜１２ｎは、ピンエレクトロニクスカード、電源カード、その他の半導体試験装置に設けられる各種デバイスであって、ＤＭＡコントローラ３１ａ〜３１ｎをそれぞれ備えており、システム制御部２１からデバイスドライバ部２２を介して出力されるＤＭＡ転送コマンドに基づいてＤＭＡ転送方式によりデータ転送を行う。尚、データ転送は、ＤＭＡコントローラ３１ａ〜３１ｎの制御の下で、例えば不図示のメモリから不図示のデータバスを介してテスタデバイス１２ａ〜１２ｎ内の所定のアドレスに対して行われる。
【００２８】
次に、ＤＭＡ転送時の動作について説明する。図４は、ＤＭＡ転送時にデバイスドライバ部２２で行われる処理を示すフローチャートである。システム制御部２１がデバイスドライバ部２２に対してＤＭＡ転送コマンド又はＤＭＡ転送コマンド群を出力するとＤＭＡ転送に係る処理が開始される。システム制御部２１からＤＭＡ転送コマンドが出力された場合に行われる動作は、図５に示した従来のデータ転送装置１００の動作と同様であるため、ここでは、システム制御部２１からＤＭＡ転送コマンド群が出力される場合の動作について詳細に説明する。
【００２９】
システム制御部２１から、ＤＭＡ転送コマンド群が出力されると、デバイスドライバ部２２に設けられたデバイスノード２４で受信される。これにより、デバイスドライバ部２２は、ＤＭＡ転送依頼を受け付けたことになる（ステップＳ１１）。次に、デバイスドライバ部２２は、受信したＤＭＡ転送コマンド群をなすＤＭＡ転送コマンド各々のフィールドＦ２（図３参照）に格納されたサイズ（転送すべきデータの大きさ）を取得し、このサイズに基づいてＤＭＡ転送コマンド毎の予測転送終了時間を求める（ステップＳ１２）。
【００３０】
ここで、仮にテスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度が異なる場合には、デバイスドライバ部２２は、テスタデバイス１２ａ〜１２ｎのＩＤを取得し、テスタデバイス１２ａ〜１２ｎのＩＤとテスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度とを対応付けたテーブルを検索して、テスタデバイス１２ａ〜１２ｎの各々におけるデータ転送速度を求める。そして、上述したＤＭＡ転送コマンド毎に転送すべきデータの大きさに加えて、テーブルを検索して得られたデータ転送速度を用いて予測転送終了時間を算出する。
【００３１】
尚、同一のテスタデバイスに対する複数のＤＭＡ転送コマンドが、システム制御部２１から出力されたＤＭＡ転送コマンド群に含まれる場合には、それらＤＭＡ転送コマンドの各々に基づいて同一のテスタデバイスに転送されるデータのサイズを加算し、その加算値に基づいてテスタデバイス１２ａ〜１２ｎの各々における予測転送終了時間を求めてもよい。また、この加算値と上記のテスタデバイス１２ａ〜１２ｎの各々の転送速度とを用いて予測転送終了時間を算出しても良い。
【００３２】
次に、デバイスドライバ部２２は、ステップＳ１２で求めたＤＭＡ転送コマンド毎の予測転送終了時間の並び替えを行う（ステップＳ１３）。具体的には、ＤＭＡ転送コマンド毎の予測転送終了時間を短い順に並べ替える。以上の並べ替えを終えると、デバイスドライバ部２２は、予測転送終了時間が短いテスタデバイスから順にデータ転送を開始させる制御を行う。例えば、図３に示すレコードＲ３のフィールドＦ４にデバイス番号「１」が格納されており、レコードＲ３のフィールドＦ２に格納されたサイズを用いて求められた予測転送終了時間が最も短い場合には、デバイスドライバ部２２は、デバイス番号「１」が予め割り当てられたテスタデバイス１２ａに対してレコードＲ３のフィールドＦ１〜Ｆ３を出力し、テスタデバイス１２ａが備えるＤＭＡコントローラ３１ａに最初のデータ転送を開始させる。
【００３３】
最初のデータ転送が開始されると、デバイスドライバ部２２は、システム制御部２１から出力されたＤＭＡ転送コマンド群に含まれるＤＭＡ転送コマンドのうちの未実行のＤＭＡ転送コマンド（ＤＭＡ転送の残り）が有るか否かを判断する（ステップＳ１４）。ＤＭＡ転送の残りが有ると判断した場合（判断結果が「ＹＥＳ」の場合）には、デバイスドライバ部２２は、ステップＳ１２で算出した予測転送終了時間に到達したＤＭＡ転送があれば、その状態の確認を行う（ステップＳ１５）。つまり、デバイスドライバ部２２は、ポーリングを行って、予測転送終了時間に到達したＤＭＡ転送の状態確認を行う。そして、ステップＳ１５における状態確認によって次のＤＭＡ転送コマンドに基づくデータ転送が可能であるか否かを判断する（ステップＳ１６）。
【００３４】
尚、ステップＳ１５において、ステップＳ１２で算出した予測転送終了時間に到達したＤＭＡ転送が無い場合には、ステップＳ１５，Ｓ１６の処理が省略される。例えば、最初のデータ転送が開始された直後の時点では、予測転送終了時間に到達したＤＭＡ転送は存在しない。このため、デバイスドライバ部２２は、予測転送終了時間が次に短いＤＭＡ転送コマンドに基づくデータ転送を開始させる制御を行う（ステップＳ１７）。
【００３５】
例えば、予測転送終了時間が次に短いＤＭＡ転送コマンドがテスタデバイス１２ｂのＤＭＡコントローラ３１ｂに対するものであれば、デバイスドライバ部２２は、そのＤＭＡ転送コマンドをテスタデバイス１２ｂに出力し、ＤＭＡコントローラ３１ｂに次のデータ転送を開始させる。以上処理が終了するとステップＳ１４の処理に戻る。このようにして、予測転送終了時間に到達したＤＭＡ転送が無い場合には、データ転送が開始されていないＤＭＡコントローラによるデータ転送が順次開始される。
【００３６】
これに対し、予測転送終了時間に到達したＤＭＡ転送がある場合には、ステップＳ１５において、その状態の確認が行われる。例えば、テスタデバイス１２ａに設けられたＤＭＡコントローラ３１ａで行われているＤＭＡ転送の予測転送終了時間が到達した場合には、デバイスドライバ部２２はＤＭＡコントローラ３１ａの状態を確認する。そして、その確認の結果、次のＤＭＡ転送コマンドに基づくデータ転送がそのＤＭＡコントローラ３１ａで可能であるか否かを判断する（ステップＳ１６）。
【００３７】
デバイスドライバ部２２は、ステップＳ１６の判断結果が「ＮＯ」である場合にはステップＳ１５の処理を繰り返す。これにより、デバイスドライバ２２は、例えばテスタデバイス１２ａのＤＭＡコントローラ１２ａで行われるデータ転送が終了するまで待ち状態となる。これに対し、ステップＳ１６の判断結果が「ＹＥＳ」である場合には、次のＤＭＡ転送コマンドに基づくＤＭＡコントローラ１２ａによるＤＭＡ転送が開始される（ステップＳ１７）。例えば、ＤＭＡコントローラ１２ａで行われていた先のＤＭＡ転送コマンドに基づくデータ転送に続いて、次のＤＭＡ転送コマンドに基づくＤＭＡ転送が開始される。尚、ステップＳ１７の処理が終了すると、ステップＳ１４に戻る。
【００３８】
一方、ステップＳ１４における判断結果が「ＮＯ」になると、デバイスドライバ部２２は、システム制御部２１から出力されたＤＭＡ転送コマンド群に含まれるＤＭＡ転送コマンドで指定される全てのＤＭＡ転送が終了したか否かを判断する（ステップＳ１８）。かかる判断により、全てのＤＭＡ転送が終了したかが再確認される。そして、全てのＤＭＡ転送が終了していないと判断した場合（判断結果が「ＮＯ」の場合）にはステップＳ１４の処理に戻り、全てのＤＭＡ転送が終了したと判断した場合（判断結果が「ＹＥＳ」の場合）にはＤＭＡ転送コマンド群の受付の処理（ステップＳ１１）に戻る。
【００３９】
以上の通り、本実施形態のデータ転送装置は、ＤＭＡコントローラ３１ａ〜３１ｎに対するＤＭＡ転送コマンドを一まとめにしたＤＭＡ転送コマンド群をシステム制御部２１から出力してデバイスドライバ部２２のデバイスノード２４で受信し、ＤＭＡ転送コマンド群に含まれるＤＭＡ転送コマンド毎に予測転送終了時間を求め、この予測転送終了時間に応じてＤＭＡコントローラ３１ａ〜３１ｎで行われるデータ転送の転送開始順序を制御している。このため、従来必要であったデバイスノード２３ａ〜２３ｎの切り替えが不要となり、システムコールのオーバーヘッドを削減することができる。
【００４０】
また、予測転送終了時間に到達したＤＭＡ転送の状態確認をポーリングにより行っているため、これによってもオーバーヘッドを削減することができる。更に、予測転送終了時間に基づいて、例えばＤＭＡコントローラ３１ａ〜３１ｎのうちの予測転送終了時間が短いＤＭＡコントローラから順にデータ転送を開始させるといった制御を行うことができるため、ＤＭＡコントローラ３１ａ〜３１ｎにおける待ち時間が削減される。
【００４１】
以上から、本実施形態のデータ転送装置は、ＤＭＡ転送方式によるデータの転送効率の悪化を防止することができる。また、本実施形態のデータ転送装置を備える半導体試験装置では、半導体デバイスの試験に係るデータ（例えば、パターンデータ）を転送する時間を短縮することができるため、その分だけ試験時間を短縮することができる。
【００４２】
以上、本発明の実施形態によるデータ転送装置及び半導体試験装置について説明したが、本発明は上記実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、ＣＰＵ１１が所定の制御プログラム及び所定のデバイスプログラムを実行することによって、システム制御部２１及びデバイスドライバ部２２がＣＰＵ１１に実現される場合を例に挙げて説明したが、システム制御部２１及びデバイスドライバ部２２はハードウェアにより実現されていても良い。また、本発明のデータ転送装置は半導体試験装置に適用される場合以外に、複数のＤＭＡコントローラを備えるコンピュータにも適用することも可能である。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態によるデータ転送装置の要部構成を示すブロック図である。
【図２】システム制御部２１から出力される制御命令の一例を示す図である。
【図３】システム制御部２１から出力される制御命令群の一例を示す図である。
【図４】ＤＭＡ転送時にデバイスドライバ部２２で行われる処理を示すフローチャートである。
【図５】半導体試験装置に設けられる従来のデータ転送装置の要部構成を示すブロック図である。
【符号の説明】
【００４４】
１                データ転送装置
１２ａ〜１２ｎ    テスタデバイス
２１              システム制御部
２２              デバイスドライバ部
２３ａ〜２３ｎ    デバイスノード
２４              デバイスノード
３１ａ〜３１ｎ    ＤＭＡコントローラ
【図１】
2010073113.tif 000003
【図２】
2010073113.tif 000004
【図３】
2010073113.tif 000005
【図４】
2010073113.tif 000006
【図５】
2010073113.tif 000007