(57)【要約】【課題】他のチャネルのデータ送信に影響を与えることなく、データ送信の停止、回路の初期化を可能とするデータ転送装置を提供する。【解決手段】  転送停止モニタ回路１４Ｐは、データ転送の転送要求をバスインタフェース１６に対してデータ転送単位で発行する。また、転送停止モニタ回路１４Ｐは、データ転送の停止指令を受け取る。さらに、転送停止モニタ回路１４Ｐは、上記停止指令を受けている間、すでに発行した転送要求があれば、当該転送要求に対応するデータ転送単位でのデータ転送を実行した後に、データ転送を停止する。【選択図】図１
2007286804.tif 000002
【特許請求の範囲】
【請求項１】
第１の転送データを転送する第１の転送部と、
第２の転送データを転送する第２の転送部と、
前記第１の転送部からの前記第１の転送データおよび前記第２の転送部からの前記第２の転送データをともに受けるデータ受信部と、
を備えるデータ転送装置において、
前記第１の転送部および前記第２の転送部は、
データ転送の転送要求を前記データ受信部に対してデータ転送単位で発行する転送要求手段と、
データ転送の停止指令を受け取る指令受信手段と、
前記指令受信手段により前記停止指令を受けている間、前記転送要求手段がすでに発行した前記転送要求があれば、当該転送要求に対応するデータ転送単位でのデータ転送を実行した後に、データ転送を停止する転送停止手段と、
をそれぞれ具備することを特徴とするデータ転送装置。
【請求項２】
前記第１の転送部および前記第２の転送部は、
前記転送停止手段によるデータ転送の停止をモニタ可能な状態提示手段をそれぞれ具備することを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記第１の転送部および前記第２の転送部は、
前記転送停止手段によりデータ転送が停止された場合、内部のデータを初期化する初期化手段をそれぞれ具備することを特徴とする請求項１または２に記載のデータ転送装置。
【請求項４】
前記第１の転送部および前記第２の転送部は、
前記データ転送単位のデータサイズを変更するサイズ変更手段をそれぞれ具備することを特徴とする請求項１〜３のいずれか１項に記載のデータ転送装置。
【請求項５】
前記データ受信部は前記第１の転送データおよび前記第２の転送データをさらに転送するインタフェースであることを特徴とする請求項１〜４のいずれか１項に記載のデータ転送装置。
【請求項６】
バスブリッジを構成することを特徴とする請求項１〜５のいずれか１項に記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の転送部から転送されるデータを共通のデータ受信部で受信するデータ転送装置に関する。
【背景技術】
【０００２】
図３は、メモリテスタのフェイルメモリ部に用いられる従来のバスブリッジの構成を示すブロック図である。
【０００３】
図３に示すように、バスブリッジ１０１は、バスＢＰ、バスＢＱおよびバスＢに接続されている。また、バスＢＰにはマスタ３Ｐが、バスＢＱにはマスタ３Ｑが、バスＢにはホスト４、メモリ４Ｐおよびメモリ４Ｑが、それぞれ接続されている。バスブリッジは、第１の転送チャネル１０Ｐおよび第２の転送チャネル１０Ｑを構成する。
【０００４】
図３に示すように、バスブリッジ１０１は、バスインタフェース１１Ｐと、ＦＩＦＯ（First-In First-Out）１２Ｐと、転送制御回路１３Ｐと、転送停止モニタ回路１４Ｐと、バスインタフェース１１Ｑと、ＦＩＦＯ１２Ｑと、転送制御回路１３Ｑと、転送停止モニタ回路１４Ｑと、バスインタフェース１６と、を備える。バスインタフェース１６はコスト面を考慮して転送チャネル１０Ｐおよび第２の転送チャネル１０Ｑに対し、共通に使用される。
【０００５】
マスタ３ＰはバスＢＰに対してマスタになり、バスインタフェース１１Ｐ、ＦＩＦＯ１２Ｐ、転送制御回路１３Ｐ、転送停止モニタ回路１４Ｐおよびバスインタフェース１６を介して、バスＢに接続されているメモリ４Ｐにデータ転送（ＤＭＡ（Direct Memory Access）転送）を実行する（第１の転送チャネル１０Ｐ）。
【０００６】
同様に、マスタ３ＱはバスＢＱに対してマスタになり、バスインタフェース１１Ｑ、ＦＩＦＯ１２Ｑ、転送制御回路１３Ｑ、転送停止モニタ回路１４Ｑおよびバスインタフェース１６を介して、バスＢに接続されているメモリ４Ｑにデータ転送（ＤＭＡ転送）を実行する（第１の転送チャネル１０Ｑ）。
【０００７】
バスインタフェース１１Ｐは、バスＢＰ上の「バスブリッジ１０１経由メモリ４Ｐ宛」のライトアクセスを検出し、転送データをＦＩＦＯ１２Ｐに送信する。
【０００８】
ＦＩＦＯ１２Ｐはバスインタフェース１１Ｐからの転送データをバッファリングする。
【０００９】
転送制御回路１３Ｐは、ＦＩＦＯ１２Ｐに転送データが格納されたことを検出すると、バスインタフェース１１Ｐに向けてデータ転送要求を発行し、バスインタフェース１１ＰとＦＩＦＯ１２Ｐ間のデータ転送制御を行う。
【００１０】
また、バスインタフェース１１Ｑは、バスＢＱ上の「バスブリッジ１０１経由メモリ４Ｑ宛」のライトアクセスを検出し、転送データをＦＩＦＯ１２Ｑに送信する。
【００１１】
ＦＩＦＯ１２Ｑはバスインタフェース１１Ｑからの転送データをバッファリングする。
【００１２】
転送制御回路１３Ｑは、ＦＩＦＯ１２Ｑに転送データが格納されたことを検出すると、バスインタフェース１１Ｑに向けてデータ転送要求を発行し、バスインタフェース１１ＱとＦＩＦＯ１２Ｑ間のデータ転送制御を行う。
【００１３】
バスインタフェース１６は、転送制御回路１３Ｐからのデータ転送要求をアービトレーションし、バスＢに対してマスタになり、ＦＩＦＯ１２Ｐの転送データをメモリ４Ｐに書き込むためのライトアクセスをバスＢに発行する。
【００１４】
また、バスインタフェース１６は、転送制御回路１３Ｑからのデータ転送要求をアービトレーションし、バスＢに対してマスタになり、ＦＩＦＯ１２Ｑの転送データをメモリ４Ｑに書き込むためのライトアクセスをバスＢに発行する。
【００１５】
次に、マスタ３Ｐからメモリ４Ｐに対するデータ転送（ＤＭＡ転送）動作を説明する。
【００１６】
（１）マスタ３ＰはバスＢＰのマスタになり、メモリ４Ｐに対する転送データを送信する。
【００１７】
（２）バスインタフェース１１Ｐでは、「バスブリッジ１０１経由メモリ４Ｐ宛」のライトアクセスを検出し、マスタ３Ｐからメモリ４Ｐに対するデータ転送用アドレス、データデータ数をＦＩＦＯ１２Ｐに格納する。
【００１８】
（３）転送制御回路１３Ｐは、ＦＩＦＯ１２Ｐにデータが格納されたことを検出すると、バスインタフェース１６に対してデータ転送要求を発行する。
【００１９】
（４）バスインタフェース１６は、転送制御回路１３Ｐからのデータ転送要求をアービトレーションし、転送制御回路１３Ｐにデータ転送受付を与える。
【００２０】
（５）バスインタフェース１６からデータ転送受付を受信した転送制御回路１３Ｐは、メモリ４Ｐに対するデータ転送用アドレスおよびデータ数を送付する。
【００２１】
（６）バスインタフェース１１Ｐは、バスＢＰのバス権を取得し、バスＢＰに対してマスタとなり、メモリ４Ｐにデータ転送を開始する。データのブロック転送（バースト転送）時、メモリ４Ｐへのライトデータは、バスインタフェース１１Ｐ、転送制御回路１３Ｐを介してＦＩＦＯ１２Ｐから読み出される。
【００２２】
次に、マスタ３Ｑからメモリ４Ｑに対するデータ転送（ＤＭＡ転送）動作を説明する。
【００２３】
（１）マスタ３ＱはバスＢＱのマスタになり、メモリ４Ｑに対する転送データを送信する。
【００２４】
（２）バスインタフェース１１Ｑでは、「バスブリッジ１０１経由メモリ４Ｑ宛」のライトアクセスを検出し、マスタ３Ｑからメモリ４Ｑに対するデータ転送用アドレス、データデータ数をＦＩＦＯ１２Ｑに格納する。
【００２５】
（３）転送制御回路１３Ｑは、ＦＩＦＯ１２Ｑにデータが格納されたことを検出すると、バスインタフェース１６に対してデータ転送要求を発行する。
【００２６】
（４）バスインタフェース１６は、転送制御回路１３Ｑからのデータ転送要求をアービトレーションし、転送制御回路１３Ｑにデータ転送受付を与える。
【００２７】
（５）バスインタフェース１６からデータ転送受付を受信した転送制御回路１３Ｑは、メモリ４Ｑに対するデータ転送用アドレスおよびデータ数を送付する。
【００２８】
（６）バスインタフェース１１Ｑは、バスＢＱのバス権を取得し、バスＢＱに対してマスタとなり、メモリ４Ｑにデータ転送を開始する。データのブロック転送（バースト転送）時、メモリ４Ｑへのライトデータは、バスインタフェース１１Ｑ、転送制御回路１３Ｑを介してＦＩＦＯ１２Ｑから読み出される。
【００２９】
マスタ３Ｐからメモリ４Ｐへのデータ転送およびマスタ３Ｑからメモリ４Ｑへのデータ転送は、複数回のデータ転送（ＤＭＡ転送）により実行される。
【００３０】
メモリ４Ｐおよびメモリ４Ｑへのデータ転送後、ホスト４はメモリ４Ｐおよびメモリ４Ｑに格納されたデータを解析し、必要なデータ処理などを実行する。
【００３１】
【特許文献１】特開２０００−３３１４９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００３２】
上記のように、ホスト４はメモリ４Ｐおよびメモリ４Ｑに転送されたデータの解析を実行するが、これらの解析はマスタ３Ｐからメモリ４Ｐへのデータ転送中、あるいはマスタ３Ｑからメモリ４Ｑへのデータ転送中にも実行される。
【００３３】
ここで、データ解析の結果、マスタ３Ｐからメモリ４Ｐへのデータ転送、あるいはマスタ３Ｑからメモリ４Ｑへのデータ転送を途中で停止したい場合がある。例えば、メモリテスタにおけるフェイル情報の解析で、フェイルが多数発生した場合など、データ転送を停止したい場合がある。
【００３４】
この場合、ホスト４は、データ転送を停止させたいマスタ３Ｐまたはマスタ３Ｑにデータ転送の停止を要求する。要求を受けたマスタ３Ｐまたはマスタ３Ｑは、データ転送を停止する。しかし、ＦＩＦＯ１２ＰまたはＦＩＦＯ１２Ｑに格納されたデータがメモリ４Ｐまたはメモリ４Ｑに転送されるまで、データ転送は継続される。
【００３５】
すぐにデータ転送を停止させるため、マスタ３Ｐまたはマスタ３Ｑにデータ転送の停止を要求した後、バスブリッジ１０１を初期化（リセット）する方法が考えられるが、この場合、次の問題が発生する。
【００３６】
（１）データ転送の停止対象でないチャネル（第１のチャネル１０Ｐまたは第２のチャネル１０Ｑ）の回路も初期化されてしまう。
【００３７】
（２）バスＢがＰＣＩバスなどの場合、バスインタフェース１６の初期設定（コンフィギュレーション・レジスタ設定）が再度必要になる。
【００３８】
本発明の目的は、他のチャネルのデータ送信に影響を与えることなく、データ送信の停止、回路の初期化を可能とするデータ転送装置を提供することにある。
【課題を解決するための手段】
【００３９】
本発明のデータ転送装置は、第１の転送データを転送する第１の転送部と、第２の転送データを転送する第２の転送部と、前記第１の転送部からの前記第１の転送データおよび前記第２の転送部からの前記第２の転送データをともに受けるデータ受信部と、を備えるデータ転送装置において、前記第１の転送部および前記第２の転送部は、データ転送の転送要求を前記データ受信部に対してデータ転送単位で発行する転送要求手段と、データ転送の停止指令を受け取る指令受信手段と、前記指令受信手段により前記停止指令を受けている間、前記転送要求手段がすでに発行した前記転送要求があれば、当該転送要求に対応するデータ転送単位でのデータ転送を実行した後に、データ転送を停止する転送停止手段と、をそれぞれ具備することを特徴とする。
このデータ転送装置によれば、指令受信手段により停止指令を受けている間、転送要求手段がすでに発行した転送要求があれば、当該転送要求に対応するデータ転送単位でのデータ転送を実行した後に、データ転送を停止する転送停止手段を第１の転送部および第２の転送部のそれぞれに設けたので、他のチャネルのデータ送信に影響を与えることなく、データ送信の停止、回路の初期化が可能となる。
【００４０】
前記第１の転送部および前記第２の転送部は、前記転送停止手段によるデータ転送の停止をモニタ可能な状態提示手段をそれぞれ具備してもよい。
【００４１】
前記第１の転送部および前記第２の転送部は、前記転送停止手段によりデータ転送が停止された場合、内部のデータを初期化する初期化手段をそれぞれ具備してもよい。
【００４２】
前記第１の転送部および前記第２の転送部は、前記データ転送単位のデータサイズを変更するサイズ変更手段をそれぞれ具備してもよい。
【００４３】
前記データ受信部は前記第１の転送データおよび前記第２の転送データをさらに転送するインタフェースであってもよい。
【００４４】
データ転送装置は、バスブリッジを構成してもよい。
【発明の効果】
【００４５】
本発明のデータ転送装置によれば、指令受信手段により停止指令を受けている間、転送要求手段がすでに発行した転送要求があれば、当該転送要求に対応するデータ転送単位でのデータ転送を実行した後に、データ転送を停止する転送停止手段を第１の転送部および第２の転送部のそれぞれに設けたので、他のチャネルのデータ送信に影響を与えることなく、データ送信の停止、回路の初期化が可能となる。
【発明を実施するための最良の形態】
【００４６】
以下、図１〜図２を参照して、本発明によるデータ転送装置の一実施形態について説明する。本実施形態は、本発明によるデータ転送装置をバスブリッジに適用した例を示す。
【００４７】
図１は、本実施形態のデータ転送装置としてのバスブリッジの構成を示すブロック図である。バスブリッジ１は、共通のクロックを用いて同期して動作する回路群が組み込まれた１つのデバイスとして構成されている。
【００４８】
図１に示すように、バスブリッジ１は、バスＢＰ、バスＢＱおよびバスＢに接続されている。また、バスＢＰにはマスタ３Ｐが、バスＢＱにはマスタ３Ｑが、バスＢにはホスト４、メモリ４Ｐおよびメモリ４Ｑが、それぞれ接続されている。バスブリッジは、第１の転送チャネル１０Ｐおよび第２の転送チャネル１０Ｑを構成する。
【００４９】
図１に示すように、バスブリッジ１は、バスインタフェース１１Ｐと、ＦＩＦＯ（First-In First-Out）１２Ｐと、転送制御回路１３Ｐと、転送停止モニタ回路１４Ｐと、バスインタフェース１１Ｑと、ＦＩＦＯ１２Ｑと、転送制御回路１３Ｑと、転送停止モニタ回路１４Ｑと、バスインタフェース１６と、内部レジスタ２と、を備える。
【００５０】
マスタ３ＰはバスＢＰに対してマスタになり、バスインタフェース１１Ｐ、ＦＩＦＯ１２Ｐ、転送制御回路１３Ｐ、転送停止モニタ回路１４Ｐおよびバスインタフェース１６を介して、バスＢに接続されているメモリ４Ｐにデータ転送（ＤＭＡ（Direct Memory Access）転送）を実行する（第１の転送チャネル１０Ｐ）。
【００５１】
同様に、マスタ３ＱはバスＢＱに対してマスタになり、バスインタフェース１１Ｑ、ＦＩＦＯ１２Ｑ、転送制御回路１３Ｑ、転送停止モニタ回路１４Ｑおよびバスインタフェース１６を介して、バスＢに接続されているメモリ４Ｑにデータ転送（ＤＭＡ転送）を実行する（第１の転送チャネル１０Ｑ）。
【００５２】
バスインタフェース１１Ｐは、バスＢＰ上の「バスブリッジ１経由メモリ４Ｐ宛」のライトアクセスを検出し、転送データをＦＩＦＯ１２Ｐに送信する。
【００５３】
ＦＩＦＯ１２Ｐはバスインタフェース１１Ｐからの転送データをバッファリングする。
【００５４】
転送制御回路１３Ｐは、ＦＩＦＯ１２Ｐに転送データが格納されたことを検出すると、バスインタフェース１１Ｐに向けてデータ転送要求を発行し、バスインタフェース１１ＰとＦＩＦＯ１２Ｐ間のデータ転送制御を行う。
【００５５】
また、バスインタフェース１１Ｑは、バスＢＱ上の「バスブリッジ１経由メモリ４Ｑ宛」のライトアクセスを検出し、転送データをＦＩＦＯ１２Ｑに送信する。
【００５６】
ＦＩＦＯ１２Ｑはバスインタフェース１１Ｑからの転送データをバッファリングする。
【００５７】
転送制御回路１３Ｑは、ＦＩＦＯ１２Ｑに転送データが格納されたことを検出すると、バスインタフェース１１Ｑに向けてデータ転送要求を発行し、バスインタフェース１１ＱとＦＩＦＯ１２Ｑ間のデータ転送制御を行う。
【００５８】
バスインタフェース１６は、転送制御回路１３Ｐからのデータ転送要求をアービトレーションし、バスＢに対してマスタになり、ＦＩＦＯ１２Ｐの転送データをメモリ４Ｐに書き込むためのライトアクセスをバスＢに発行する。
【００５９】
また、バスインタフェース１６は、転送制御回路１３Ｑからのデータ転送要求をアービトレーションし、バスＢに対してマスタになり、ＦＩＦＯ１２Ｑの転送データをメモリ４Ｑに書き込むためのライトアクセスをバスＢに発行する。
【００６０】
転送停止モニタ回路１４Ｐおよび転送停止モニタ回路１４Ｑは、それぞれ、内部レジスタ２と協働して、転送要求手段、指令受信手段、転送停止手段、および状態提示手段として機能する。
【００６１】
転送停止モニタ回路１４Ｐに対して入力される転送停止要求信号７Ｐがネゲートされている場合、転送停止モニタ回路１４Ｐは、転送制御回路１３Ｐからのデータ転送をバスインタフェース１６に送信する。この状態を転送許可状態と呼ぶ。
【００６２】
一方、転送停止モニタ回路１４Ｐに対して入力される転送停止要求信号７Ｐがアサートされている場合、転送制御回路１３Ｐからのデータ転送をバスインタフェース１６に送信しない。この状態を転送停止状態と呼ぶ。この場合、転送停止モニタ回路１４Ｐは、バスインタフェース１６に対してはデータ転送のための要求を生成せず、転送制御回路１３Ｐに対してはデータ転送要求の受付信号を生成しない。
【００６３】
第１のチャネル１０Ｐのデータ転送では、複数回のデータ転送（ＤＭＡ転送）により所定サイズのデータを転送するが、複数回のうち１回のデータ転送の途中で転送停止モニタ回路１４Ｐへの転送停止要求信号７Ｐがアサートされた場合には、現在実行中のデータ転送は実行を継続し、そのデータ転送完了後、以降のデータ転送を停止する（転送停止状態）。
【００６４】
また、転送停止状態で転送停止モニタ回路１４Ｐへの転送停止要求信号７Ｐがネゲートされると、転送停止モニタ回路１４Ｐは、転送制御回路１３Ｐからのデータ転送をバスインタフェースに送信する動作を再開する（転送許可状態）。
【００６５】
転送停止状態になると、転送停止モニタ回路１４Ｐは出力信号である転送停止モニタ信号８Ｐをアサートし、転送許可状態になると、転送停止モニタ回路１４Ｐは転送停止モニタ信号８Ｐをネゲートする。
【００６６】
転送停止要求信号７Ｐは転送停止モニタ回路１４Ｐに対する入力信号であり、アサートはデータの転送停止要求を示し、ネゲートは転送許可要求を示す。
【００６７】
転送停止モニタ信号８Ｐは、転送停止モニタ回路１４Ｐからの出力信号であり、転送停止モニタ回路１４Ｐのステートが転送停止状態の場合アサートされ、転送許可状態の場合ネゲートされる。
【００６８】
初期化信号９Ｐは転送制御回路１３ＰおよびＦＩＦＯ１２Ｐに対する入力信号であり、アサートされると転送制御回路１３ＰおよびＦＩＦＯ１２Ｐを初期化する。
【００６９】
同様に、転送停止モニタ回路１４Ｑに対して入力される転送停止要求信号７Ｑがネゲートされている場合、転送停止モニタ回路１４Ｑは、転送制御回路１３Ｑからのデータ転送をバスインタフェース１６に送信する。この状態を転送許可状態と呼ぶ。
【００７０】
一方、転送停止モニタ回路１４Ｑに対して入力される転送停止要求信号７Ｑがアサートされている場合、転送制御回路１３Ｑからのデータ転送をバスインタフェース１６に送信しない。この状態を転送停止状態と呼ぶ。この場合、転送停止モニタ回路１４Ｑは、バスインタフェース１６に対してはデータ転送のための要求を生成せず、転送制御回路１３Ｑに対してはデータ転送要求の受付信号を生成しない。
【００７１】
第１のチャネル１０Ｑのデータ転送では、複数回のデータ転送（ＤＭＡ転送）により所定サイズのデータを転送するが、複数回のうち１回のデータ転送の途中で転送停止モニタ回路１４Ｑへの転送停止要求信号７Ｑがアサートされた場合には、現在実行中のデータ転送は実行を継続し、そのデータ転送完了後、以降のデータ転送を停止する（転送停止状態）。
【００７２】
また、転送停止状態で転送停止モニタ回路１４Ｑへの転送停止要求信号７Ｑがネゲートされると、転送停止モニタ回路１４Ｑは、転送制御回路１３Ｑからのデータ転送をバスインタフェースに送信する動作を再開する（転送許可状態）。
【００７３】
転送停止状態になると、転送停止モニタ回路１４Ｑは出力信号である転送停止モニタ信号８Ｑをアサートし、転送許可状態になると、転送停止モニタ回路１４Ｑは転送停止モニタ信号８Ｑをネゲートする。
【００７４】
転送停止要求信号７Ｑは転送停止モニタ回路１４Ｑに対する入力信号であり、アサートはデータの転送停止要求を示し、ネゲートは転送許可要求を示す。
【００７５】
転送停止モニタ信号８Ｑは、転送停止モニタ回路１４Ｑからの出力信号であり、転送停止モニタ回路１４Ｑのステートが転送停止状態の場合アサートされ、転送許可状態の場合ネゲートされる。
【００７６】
初期化信号９Ｑは転送制御回路１３ＱおよびＦＩＦＯ１２Ｑに対する入力信号であり、アサートされると転送制御回路１３ＱおよびＦＩＦＯ１２Ｑを初期化する。
【００７７】
内部レジスタ２は、ホスト４からバスインタフェース１６を経由してアクセスされる。内部レジスタ２は、停止レジスタ２１Ｐ、停止レジスタ２１Ｑ、停止モニタレジスタ２２Ｐ、停止モニタレジスタ２２Ｑ、初期化レジスタ２３Ｐおよび初期化レジスタ２３Ｑを具備する。
【００７８】
停止レジスタ２１Ｐは、ホスト４からのアクセスに従って、転送停止要求信号７Ｐのアサート／ネゲートを制御する。
【００７９】
停止モニタレジスタ２２Ｐは、ホスト４に転送停止モニタ信号８Ｐの値を与える。
【００８０】
初期化レジスタ２３Ｐは初期化手段を構成し、ホスト４からのアクセスに従って、初期化信号９Ｐのアサート／ネゲートを制御する。
【００８１】
同様に、停止レジスタ２１Ｑは、ホスト４からのアクセスに従って、転送停止要求信号７Ｑのアサート／ネゲートを制御する。
【００８２】
停止モニタレジスタ２２Ｑは、ホスト４に転送停止モニタ信号８Ｑの値を与える。
【００８３】
初期化レジスタ２３Ｑは、ホスト４からのアクセスに従って、初期化信号９Ｑのアサート／ネゲートを制御する。
【００８４】
次に、データ転送の動作について説明する。
【００８５】
（１）ホスト４は内部レジスタ２の初期化レジスタ２３Ｐにアクセスし、初期化信号９Ｐをネゲートする。同様に、ホスト４は内部レジスタ２の初期化レジスタ２３Ｑにアクセスし、初期化信号９Ｑをネゲートする。
【００８６】
（２）ホスト４は内部レジスタ２の停止レジスタ２１Ｐにアクセスし、転送停止要求信号７Ｐをネゲートする。同様に、ホスト４は内部レジスタ２の停止レジスタ２１Ｑにアクセスし、転送停止要求信号７Ｑをネゲートする。
【００８７】
（３）マスタ３Ｐはメモリ４Ｐに対して、複数回（Ｎ＋１回）のデータ転送（ＤＭＡ転送）「転送Ｐ０」、「転送Ｐ１」、・・・、「転送ＰＮ」を実行する。同時に、マスタ３Ｑはメモリ４Ｑに対して、複数回（Ｍ＋１回）のデータ転送（ＤＭＡ転送）「転送Ｑ０」、「転送Ｑ１」、・・・、「転送ＱＭ」を実行する。
【００８８】
（４）マスタ３Ｐからのデータ転送「転送Ｐ０」、「転送Ｐ１」、・・・、「転送ＰＮ」のデータは、バスインタフェース１１Ｐを経由し、ＦＩＦＯ１２Ｐにバッファリングされる。同様に、マスタ３Ｑからのデータ転送「転送Ｑ０」、「転送Ｑ１」、・・・、「転送ＱＭ」のデータは、バスインタフェース１１Ｑを経由し、ＦＩＦＯ１２Ｑにバッファリングされる。
【００８９】
（５）ＦＩＦＯ１２Ｐに上記データが格納されたことを検出すると、転送制御回路１３Ｐは転送停止モニタ回路１４Ｐにデータ転送要求を発行する。転送停止要求信号７Ｐがネゲートされているため、転送停止モニタ回路１４Ｐはバスインタフェース１６に対してデータ転送要求を発行する。
【００９０】
同様に、ＦＩＦＯ１２Ｑに上記データ転送が格納されたことを検出すると、転送制御回路１３Ｑは転送停止モニタ回路１４Ｑにデータ転送要求を発行する。転送停止要求信号７Ｑがネゲートされているため、転送停止モニタ回路１４Ｑはバスインタフェース１６に対してデータ転送要求を発行する。
【００９１】
（６）転送停止モニタ回路１４Ｐおよび転送停止モニタ回路１４Ｑからデータ転送要求を受けたバスインタフェース１６はアービトレーションを行い、転送停止モニタ回路１４Ｐあるいは転送停止モニタ回路１４Ｑからのデータ転送を受け付けるかを決定する。なお、アービトレーションルールについての説明は省略する。
【００９２】
（６−１）
転送停止モニタ回路１４Ｐからのデータ転送を受け付けた場合、バスインタフェース１６は転送停止モニタ回路１４Ｐに対してデータ転送受付通知を発行する。転送停止モニタ回路１４Ｐは転送制御回路１３Ｐに対してデータ転送受付通知を発行する。
【００９３】
転送制御回路１３ＰはＦＩＦＯ１２Ｐから「転送Ｐ０」のデータを読み出し、転送停止モニタ回路１４Ｐを経由してバスインタフェース１６に「転送Ｐ０」のデータを送る。バスインタフェース１６はバスＢのマスタになり、メモリ４Ｐに「転送Ｐ０」のデータをライトする。
【００９４】
メモリ４Ｐへの転送データライトが完了すると、バスインタフェース１６は転送停止モニタ回路１４Ｐに対してデータ転送完了通知を発行する。
【００９５】
転送停止モニタ回路１４Ｐは、転送制御回路１３Ｐに対してデータ転送完了通知を発行する。
【００９６】
次に、データ転送完了通知を受けた転送制御回路１３Ｐは、ＦＩＦＯ１２Ｐに上記データが格納されたことを検出すると、転送制御回路１３Ｐは転送停止モニタ回路１４Ｐに「転送Ｐ１」のデータのデータ転送要求を発行する。以降、転送停止モニタ回路１４Ｐからのデータ転送要求とアービトレーションを繰り返しながら、「転送Ｐ０」、「転送Ｐ１」、「転送Ｐ２」、「転送Ｐ３」、・・・、「転送ＰＬ−１」（ただし、Ｌ−１＜Ｎ＋１）を繰り返す。
【００９７】
（６−２）
転送停止モニタ回路１４Ｑからのデータ転送を受け付けた場合、バスインタフェース１６は転送停止モニタ回路１４Ｑに対してデータ転送受付通知を発行する。転送停止モニタ回路１４Ｑは転送制御回路１３Ｑに対してデータ転送受付通知を発行する。
【００９８】
転送制御回路１３ＱはＦＩＦＯ１２Ｑから「転送Ｑ０」のデータを読み出し、転送停止モニタ回路１４Ｑを経由してバスインタフェース１６に「転送Ｑ０」のデータを送る。バスインタフェース１６はバスＢのマスタになり、メモリ４Ｑに「転送Ｑ０」のデータをライトする。
【００９９】
メモリ４Ｑへの転送データライトが完了すると、バスインタフェース１６は転送停止モニタ回路１４Ｑに対してデータ転送完了通知を発行する。
【０１００】
転送停止モニタ回路１４Ｑは、転送制御回路１３Ｑに対してデータ転送完了通知を発行する。
【０１０１】
次に、データ転送完了通知を受けた転送制御回路１３Ｑは、ＦＩＦＯ１２Ｑに上記データが格納されたことを検出すると、転送制御回路１３Ｑは転送停止モニタ回路１４Ｑに「転送Ｑ１」のデータのデータ転送要求を発行する。以降、転送停止モニタ回路１４Ｑからのデータ転送要求とアービトレーションを繰り返しながら、「転送Ｑ０」、「転送Ｑ１」、「転送Ｑ２」、「転送Ｑ３」、・・・、「転送ＱＫ−１」（ただし、Ｋ−１＜Ｍ＋１）を繰り返す。
【０１０２】
（７）ＦＩＦＯ１２Ｐに「転送ＰＬ」のデータが格納されていることを検出すると、転送制御回路１３Ｐは、転送停止モニタ回路１４Ｐにデータ転送要求を発行する。転送停止要求信号７Ｐがネゲートされているため、転送停止モニタ回路１４Ｐはバスインタフェース１６に対してデータ転送要求を発行する。
【０１０３】
同様に、ＦＩＦＯ１２Ｑに「転送ＱＫ」のデータが格納されていることを検出すると、転送制御回路１３Ｑは、転送停止モニタ回路１４Ｑにデータ転送要求を発行する。転送停止要求信号７Ｑがネゲートされているため、転送停止モニタ回路１４Ｑはバスインタフェース１６に対してデータ転送要求を発行する。
【０１０４】
以下、ここで、第１のチャネル１０Ｐのデータ転送を停止させる場合の動作を説明する。
【０１０５】
（８）ホスト４は内部レジスタ２の停止レジスタ２１Ｐにアクセスし、転送停止要求信号７Ｐをアサートする。
【０１０６】
（９）転送停止モニタ回路１４Ｐは転送停止要求信号７Ｐのアサートを検出するが、バスインタフェース１６に対してデータ転送要求をすでに発行しているため（データ転送の途中であるため）、「転送ＰＬ」のデータ転送が完了するまでは、転送停止モニタ信号８Ｐをアサートしない。
【０１０７】
（１０）ホスト４は内部レジスタ２の停止モニタレジスタ２２Ｐにアクセスすることで、転送停止モニタ回路１４Ｐが転送停止状態になっていないことを確認できる。
【０１０８】
（１１）上記（６）の動作により「転送ＰＬ」のデータ転送が完了し、バスインタフェース１６からのデータ転送完了通知を受信すると、転送停止モニタ回路１４Ｐは転送停止モニタ信号８Ｐをアサートする（転送停止状態）。
【０１０９】
（１２）ホスト４は内部レジスタ２の停止モニタレジスタ２２Ｐにアクセスすることで、転送停止モニタ回路１４Ｐが転送停止状態になったことを確認できる。
【０１１０】
（１３）転送停止モニタ回路１４Ｐは、以降、転送停止要求信号７Ｐがアサートされている間、転送制御回路１３Ｐからのデータ転送要求を受信しても、バスインタフェース１６に対してデータ転送要求を発行しない。同時に、転送停止モニタ回路１４Ｐは、転送制御回路１３Ｐに対してデータ転送受付通知を発行しない。これにより、第１のチャネル１０Ｐのデータ転送は停止する。
【０１１１】
（１４）ホスト４はマスタ３Ｐに対して、データ転送の中止を要求する。マスタ３Ｐは第１のチャネル１０Ｐのデータ転送を中止する。
【０１１２】
（１５）ホスト４は内部レジスタ２の初期化レジスタ２３Ｐにアクセスすることで、初期化信号９Ｐをアサートする。これにより、転送制御回路１３Ｐが初期化され、またＦＩＦＯ１２Ｐに格納されている「転送ＰＬ＋１」〜「転送ＰＮ」までの転送データがクリアされる。
【０１１３】
次に、第１のチャネル１０Ｐのデータ転送を再開する場合の動作を説明する。
【０１１４】
（１６）ホスト４は内部レジスタ２の初期化レジスタ２３Ｐにアクセスすることで、初期化信号９Ｐをネゲートする。
【０１１５】
（１７）ホスト４は内部レジスタ２の停止レジスタ２１にアクセスすることで、転送停止要求信号７Ｐをネゲートする。これにより、転送停止モニタ回路１４Ｐは転送許可状態となり、転送停止モニタ信号８Ｐをネゲートする。
【０１１６】
（１８）ホスト４は内部レジスタ２の停止モニタレジスタ２２Ｐにアクセスすることで、転送停止モニタ回路１４Ｐが転送許可状態になったことを確認できる。
【０１１７】
（１９）ホスト４はマスタ３Ｐに対して、データ転送の許可を発行する。マスタ３Ｐは第１のチャネル１０Ｐのデータ転送（次の転送「転送Ｐ´０」、「転送Ｐ´１」、「転送Ｐ´２」、「転送Ｐ´３」、・・・、「転送Ｐ´Ｎ」）を再開する。
【０１１８】
（２０）上記（４）〜（６）の手順で、「転送Ｐ´０」、「転送Ｐ´１」、「転送Ｐ´２」、「転送Ｐ´３」、・・・、「転送Ｐ´Ｎ」が実行される。
【０１１９】
上記（７）〜（２０）の手順が実行される間、マスタ３Ｑからメモリ４Ｑに対する第２のチャネル１０Ｑのデータ転送（「転送Ｑ０」、「転送Ｑ１」、・・・、「転送ＱＭ」）は停止されることなく実行される。
【０１２０】
このように、上記（７）〜（２０）の手順により、ＦＩＦＯ１２Ｐに格納された「転送Ｐ１」〜「転送ＰＮ」のデータが破棄され、データ転送の再開により、新たな「転送Ｐ´１」〜「転送Ｐ´Ｎ」を即座に実行できる。
【０１２１】
第２のチャネル１０Ｑにおけるデータ転送の途中停止動作および初期化動作は、同様の手順に従って実行される。この場合にも、マスタ３Ｐからメモリ４Ｐに対する第１のチャネル１０Ｐのデータ転送（「転送Ｐ０」、「転送Ｐ１」、・・・、「転送ＰＮ」）は停止されることなく実行される。
【０１２２】
以上のように、本実施形態のデータ転送装置によれば、第１のチャネル１０Ｐおよび第２のチャネル１０Ｑのうちの一方のチャネルのデータ転送を継続しつつ、他方のチャネルのデータ転送の停止および再開を自由に行える。また、他チャンネルに影響を与えることなく、片方のチャネルの初期化を実行できる。
【０１２３】
上記実施形態では、２つのチャネルでのデータ転送の例を示したが、チャネル数は限定されず、３つ以上のチャネルを設けてもよい。
【０１２４】
また、本実施形態では、メモリテスタのフェイルメモリ部でのデータ転送を示したが、用途は限定されない。また、本発明は、バスブリッジへの適用に限定されない。
【０１２５】
上記実施形態において、転送停止要求信号７Ｐまたは転送停止要求信号７Ｑを時間的に制御することで、帯域制限を実現できる。例えば、転送停止信号をアサートする期間を時間Ａ[ｍｓ]に対してＡ[ｍｓ]×１／２の期間に制限すれば、転送されるデータを間引くことで、半分の帯域に制限できる。
【０１２６】
上記実施形態において、転送停止要求信号７Ｐまたは転送停止要求信号７Ｑを常時アサートすることで、第２のチャネル１０Ｑまたは第１のチャネル１０Ｐの一方に限定した動作検証を実行できる。
【０１２７】
また、転送停止要求信号７Ｐまたは転送停止要求信号７Ｑを利用することで、２つのチャネルの競合処理動作の検証を実行できる。例えば、転送停止要求信号７Ｐおよび転送停止要求信号７Ｑの両方をアサートし、転送停止モニタ信号８Ｐおよび転送停止モニタ信号８Ｑによりデータ転送の停止を確認する。その後、マスタ３Ｐおよびマスタ３Ｑからのデータの転送を開始すると、マスタ３Ｐからの転送データはバスインタフェース１１Ｐ、ＦＩＦＯ１２Ｐ、転送制御回路１３Ｐを経由して転送停止モニタ回路１４Ｐまで到達し、転送停止要求信号７Ｐによりデータ転送が停止した状態となる。同様に、マスタ３Ｑからの転送データはバスインタフェース１１Ｑ、ＦＩＦＯ１２Ｑ、転送制御回路１３Ｑを経由して転送停止モニタ回路１４Ｑまで到達し、転送停止要求信号７Ｑによりデータ転送が停止した状態となる。
【０１２８】
この状態から、転送停止要求信号７Ｐおよび転送停止要求信号７Ｑの両方を同時にネゲートすることで、両チャネルのデータが同時にバスインタフェース１６に転送される状況を確実に作り出すことができる。このため、バスインタフェース１６に対する第１のチャネル１０Ｐおよび第２のチャネル１０Ｑの転送データ競合処理動作の検証を行える。
【０１２９】
上記実施形態において、転送停止モニタ回路１４Ｐおよび転送停止モニタ回路１４Ｑに対してデータ転送停止を要求する信号として、内部レジスタで生成される転送停止要求信号７Ｐおよび転送停止要求信号７Ｑが用いられているが、このような信号をデバイスの外部から与えるようにしてもよい。
【０１３０】
また、本実施形態では、転送停止モニタ回路１４Ｐおよび転送停止モニタ回路１４Ｑのデータ転送停止状態をモニタするための信号として、転送停止モニタ信号８Ｐおよび転送停止モニタ信号８Ｑを用いているが、このような信号をレジスタ（内部レジスタ）経由ではなく、レジスタを経由させずにデバイス外部に直接出力してもよい。
【０１３１】
また、転送制御回路１３Ｐ、ＦＩＦＯ１２Ｐ、転送制御回路１３ＱおよびＦＩＦＯ１２Ｑに対する初期化信号は、レジスタ（内部レジスタ）により設定される信号ではなく、デバイス外部から与えられる信号でもよい。
【０１３２】
図２は上記実施形態のデータ転送装置に、転送データのサイズを変更するための転送サイズ生成回路を付加した構成を示すブロック図である。
【０１３３】
上記実施形態では、例えば、転送停止要求信号７Ｐのアサートにより、第１のチャネル１０Ｐを複数データ転送の区切りで停止することができる。つまり、マスタ３Ｐがメモリ４Ｐに対して、複数回（Ｎ＋１回）のデータ転送（ＤＭＡ転送）「転送Ｐ０」、「転送Ｐ１」、・・・、「転送ＰＮ」を実行する場合、「転送ＰＬ」（Ｌ＝０〜Ｎ）の区切りで停止できる。ここで仮に、これら「転送ＰＬ」のデータサイズが４Ｋバイトであった場合、４Ｋバイトのデータ転送が完了するまでは、転送停止状態にならないことになる。なお、バスレジスタ１６におけるアービトレーションの時間も含めると、転送停止状態になるまでの時間はさらに長くなる。
【０１３４】
転送停止状態になるまでの時間を短縮するために、マスタ３Ｐから転送される「転送ＰＬ」のサイズを小さくすればよいが、そのためにはマスタ３Ｐに１転送分のデータサイズを可変に設定できる機構（仕組み）が必要になってしまう。
【０１３５】
そこで、図２に示す例では、バスインタフェース１１ＰとＦＩＦＯ１２Ｐの間に転送サイズ生成回路１５Ｐを、バスインタフェース１１ＱとＦＩＦＯ１２Ｑの間に転送サイズ生成回路１５Ｑを、それぞれ挿入している。転送サイズ生成回路１５Ｐは、バスインタフェース１１Ｐから転送されたデータを分割し、データサイズを縮小してＦＩＦＯ１２Ｐに渡している。また、転送サイズ生成回路１５Ｑは、バスインタフェース１１Ｑから転送されたデータを分割し、データサイズを縮小してＦＩＦＯ１２Ｑに渡している。
【０１３６】
また、内部レジスタ２Ａに転送サイズレジスタ２４Ｐおよび転送サイズレジスタ２４Ｑを設け、転送サイズレジスタ２４Ｐから出力される転送サイズ信号５Ｐおよび転送サイズレジスタ２４Ｑから出力される転送サイズ信号５Ｑにより、それぞれ転送サイズ生成回路１５Ｐおよび転送サイズ生成回路１５Ｑで生成される転送データのデータサイズを制御している。ホスト４から転送サイズレジスタ２４Ｐおよび転送サイズレジスタ２４Ｑにアクセスすることにより、転送サイズ信号５Ｐおよび転送サイズ信号５Ｑを設定できるため、データサイズをホスト４から変更できるようになる。状況に応じて転送サイズを変更することで、データ転送時のオーバーヘッドを減少させることができる。
【０１３７】
なお、図２の例では、転送サイズ生成回路１５Ｐはバスインタフェース１１ＰとＦＩＦＯ１２Ｐの間に、転送サイズ生成回路１５Ｑはバスインタフェース１１ＱとＦＩＦＯ１２Ｑの間に、それぞれ設けられているが、それぞれ、ＦＩＦＯ１２Ｐと転送制御回路１３Ｐの間、あるいは、ＦＩＦＯ１２Ｑと転送制御回路１３Ｑの間に設けられてもよい。
【０１３８】
また、転送サイズ生成回路１５Ｐおよび転送サイズ生成回路１５Ｑに対して生成する転送データのデータサイズを指定する信号は、レジスタ（内部レジスタ）による設定によるのではなく、デバイス外部から与えられてもよい。
【０１３９】
以上説明したように、本発明のデータ転送装置によれば、指令受信手段により停止指令を受けている間、転送要求手段がすでに発行した転送要求があれば、当該転送要求に対応するデータ転送単位でのデータ転送を実行した後に、データ転送を停止する転送停止手段を第１の転送部および第２の転送部のそれぞれに設けたので、他のチャネルのデータ送信に影響を与えることなく、データ送信の停止、回路の初期化が可能となる。
【０１４０】
本発明の適用範囲は上記実施形態に限定されることはない。本発明は、複数の転送部から転送されるデータを共通のデータ受信部で受信するデータ転送装置に対し、広く適用することができる。
【図面の簡単な説明】
【０１４１】
【図１】本実施形態のデータ転送装置としてのバスブリッジの構成を示すブロック図。
【図２】転送サイズ生成回路を付加した構成を示すブロック図。
【図３】メモリテスタのフェイルメモリ部に用いられる従来のバスブリッジの構成を示すブロック図。
【符号の説明】
【０１４２】
１      バスブリッジ
２      内部レジスタ（転送要求手段、指令受信手段、転送停止手段、状態提示手段、初期化手段）
１０Ｐ  第１のチャネル（第１の転送部）
１０Ｑ  第２のチャネル（第２の転送部）
１４Ｐ  転送停止モニタ回路（転送要求手段、指令受信手段、転送停止手段、状態提示手段）
１４Ｑ  転送停止モニタ回路（転送要求手段、指令受信手段、転送停止手段、状態提示手段）
１６    バスインタフェース（データ受信部）
【図１】
2007286804.tif 000003
【図２】
2007286804.tif 000004
【図３】
2007286804.tif 000005