(57)【要約】【課題】  データの転送元のアボードによって発生するＰＣＩ−Ｘバスのハングアップを防止する。【解決手段】  アボート信号受信部１ａは、転送元３がアボートしたときに出力するアボート信号を受信する。ダミーデータ生成部１ｂは、アボート信号受信部１ａがアボート信号を受信した場合、ダミーデータを生成する。エラーパリティ生成部１ｃは、アボート信号受信部１ａがアボート信号を受信した場合、ダミーデータ生成部１ｂによって生成されたダミーデータがダミーであることを示すためのエラーパリティを生成する。データ送信部１ｄは、ダミーデータ生成部１ｂによって生成されたダミーデータと、エラーパリティ生成部１ｃによって生成されたエラーパリティとをＰＣＩ−Ｘバス２を介して転送先４に送信する。【選択図】  図１
2006048099.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣＩ−Ｘバスを介してデータを転送するデータ転送装置において、
前記データの転送元からアボート信号を受信するアボート信号受信部と、
前記アボート信号が受信された場合、ダミーデータを生成するダミーデータ生成部と、
前記ダミーデータがダミーであることを示すためのエラーパリティを生成するエラーパリティ生成部と、
前記ダミーデータと前記エラーパリティとを前記ＰＣＩ−Ｘバスを介して前記データの転送先に送信するデータ送信部と、
を有することを特徴とするデータ転送装置。
【請求項２】
前記データおよび前記ダミーデータが前記転送元から指定された指定転送数送信されたか否か判断する送信数判断部をさらに有することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記データ送信部は、前記送信数判断部によって前記データおよび前記ダミーデータが前記指定転送数送信されたと判断された場合、前記ダミーデータおよび前記エラーパリティの送信を終了することを特徴とする請求項２記載のデータ転送装置。
【請求項４】
前記指定転送数は、前記データの転送開始時に前記転送元から送信されることを特徴とする請求項２記載のデータ転送装置。
【請求項５】
前記転送先からパリティエラー通知を受信した場合、前記データの再転送処理を行う再転送処理部をさらに有することを特徴とする請求項１記載のデータ転送装置。
【請求項６】
ＰＣＩ−Ｘバスを介してデータを転送するデータ転送装置のデータ転送方法において、
データ生成部によって、前記データの転送元からアボート信号が受信された場合、ダミーデータと前記ダミーデータがダミーであることを示すためのエラーパリティとを生成し、
データ転送部によって、前記ダミーデータと前記エラーパリティとを前記ＰＣＩ−Ｘバスを介して前記データの転送先に送信する、
ことを特徴とするデータ転送方法。
【請求項７】
ＰＣＩ−Ｘバスを介してデータを転送する情報処理装置において、
前記データの転送元からアボート信号を受信するアボート信号受信部と、
前記アボート信号が受信された場合、ダミーデータを生成するダミーデータ生成部と、
前記ダミーデータがダミーであることを示すためのエラーパリティを生成するエラーパリティ生成部と、
前記ダミーデータと前記エラーパリティとを前記ＰＣＩ−Ｘバスを介して前記データの転送先に送信するデータ送信部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ転送装置、データ転送方法、および情報処理装置に関し、特にＰＣＩ−Ｘバスを介してデータを転送するデータ転送装置、データ転送方法、および情報処理装置に関する。
【背景技術】
【０００２】
デバイス間を結ぶバス規格にＰＣＩ−Ｘバスがある。ＰＣＩ−Ｘバスは、ＰＣＩバスと上位互換のアーキテクチャを有し、最高で１３３ＭＨｚのバス速度に対応し、約１Ｇバイト／秒の転送速度を実現する。なお、ＰＣＩバスに関する技術として、デバイスからメモリにデータ要求をし、メモリから読み出したデータにパリティエラーが発生しても、すぐにシステムダウンすることを回避して、平均システムダウン間隔を改善したコンピュータシステムがある（例えば、特許文献１参照）。また、アドレスパリティエラーに応答して、ＰＣＩバス上にターゲットアボートを生成することを要求することなく、ＰＣＩマスタによりアサートされるフレーム信号に所定時間内に応答するＰＣＩスレーブを有したシステムがある（例えば、特許文献２参照）。
【０００３】
ＰＣＩバスでは、デバイス間のデータ転送を中断する場合、どのアドレスにおいてもデータ転送を中断することが可能である。一方、ＰＣＩ−Ｘバスでは、規格上、アドレスの下位７ビットが全て０である境界（ＡＤＢ：Allowable Disconnect Boundary）でのみ、データ転送を中断することができる。
【０００４】
図７は、ＡＤＢを説明する図である。
図に示すアドレス空間１０１は、ＰＣＩ−Ｘバスにおいて転送されるデータのアドレス空間を示している。図に示すアドレス空間１０１のデータ幅は６４ビットであり、アドレス空間は、８Ｇバイト（６４ビット）である。なお、図では、アドレスは、下位１０ビットのみが示してある。
【０００５】
上記でも説明したように、ＰＣＩ−Ｘバスでは、ＡＤＢでのみデータ転送を中断することができる。従って、図に示すアドレス空間１０１では、下位７ビットが全て０である１０’ｈ０００，１０’ｈ０８０，１０’ｈ１００，１０’ｈ１８０，…でのみ、データ転送を中断することができる。従って、デバイス間でデータ転送が開始されると、ＡＤＢまでデータ転送を継続し、または全データの転送が終了するまでデータ転送を継続しなければならない。
【特許文献１】特開２００１−２７３２００号公報（段落番号〔００１１〕〜〔００１５〕、図１）
【特許文献２】特開平８−２３５１０４号公報（段落番号〔００２１〕〜〔００２８〕、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、データの転送元がＡＤＢ以外でアボートした場合、ＰＣＩ−Ｘバスを介してデータ転送するデータ転送装置は、ＡＤＢ以外でデータ転送を中断することになり、プロトコル違反となって、ＰＣＩ−Ｘバスがハングアップする可能性があるという問題点があった。
【０００７】
本発明はこのような点に鑑みてなされたものであり、プロトコル違反を回避し、ＰＣＩ−Ｘバスのハングアップを防止するデータ転送装置、データ転送方法、および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記問題を解決するために、図１に示すようなＰＣＩ−Ｘバス２を介してデータを転送するデータ転送装置１において、データの転送元３からアボート信号を受信するアボート信号受信部１ａと、アボート信号が受信された場合、ダミーデータを生成するダミーデータ生成部１ｂと、ダミーデータがダミーであることを示すためのエラーパリティを生成するエラーパリティ生成部１ｃと、ダミーデータとエラーパリティとをＰＣＩ−Ｘバス２を介してデータの転送先４に送信するデータ送信部１ｄと、を有することを特徴とするデータ転送装置１が提供される。
【０００９】
このようなデータ転送装置１によれば、データの転送元３からアボート信号を受信すると、ダミーデータとエラーパリティを生成し、ＰＣＩ−Ｘバス２を介してデータの転送先４に送信する。これにより、転送元３からのアボート信号の受信により、残りの転送するデータとしてダミーデータとエラーパリティを送信するので、データの転送を完了することができ、プロトコル違反を回避する。
【発明の効果】
【００１０】
本発明のデータ転送装置では、データの転送元からのアボート信号の受信により、残りの転送するデータとして、ダミーデータとエラーパリティを送信するようにした。これによって、データの転送を完了することができ、プロトコル違反が回避され、ＰＣＩ−Ｘバスのハングアップを防止することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、データ転送装置の概略を示す図である。
図に示すデータ転送装置１は、ＰＣＩ−Ｘバス２を介して転送元３のデータを転送先４に転送する。データ転送装置１は、アボート信号受信部１ａ、ダミーデータ生成部１ｂ、エラーパリティ生成部１ｃ、およびデータ送信部１ｄを有している。
【００１２】
アボート信号受信部１ａは、転送元３がアボートしたときに出力するアボート信号を受信する。
ダミーデータ生成部１ｂは、アボート信号受信部１ａがアボート信号を受信した場合、ダミーデータを生成する。
【００１３】
エラーパリティ生成部１ｃは、アボート信号受信部１ａがアボート信号を受信した場合、ダミーデータ生成部１ｂによって生成されたダミーデータがダミーであることを示すためのエラーパリティを生成する。これによって、転送先４は、ダミーデータを受信しても、エラーパリティによって、ダミーデータがダミーであることを認識できる。
【００１４】
データ送信部１ｄは、ダミーデータ生成部１ｂによって生成されたダミーデータと、エラーパリティ生成部１ｃによって生成されたエラーパリティとをＰＣＩ−Ｘバス２を介して転送先４に送信する。
【００１５】
このように、データの転送元３からアボート信号を受信すると、転送しなければならない残りのデータとしてダミーデータとエラーパリティを送信するようにした。これによって、データの転送を完了することができ、プロトコル違反が回避され、ＰＣＩ−Ｘバス２のハングアップを防止することができる。
【００１６】
次に、本発明の実施の形態を図面を参照して詳細に説明する。
図２は、データ転送を行うマスタデバイスのシステム構成例を示す図である。
図に示すようにマスタデバイス１０は、ローカルバス４１を介してローカルデバイス２１，２２と接続されている。また、マスタデバイス１０は、ＰＣＩ−Ｘバス４２を介してターゲットデバイス３１と接続されている。
【００１７】
図に示すシステムは、例えば、パーソナルコンピュータやサーバの情報処理装置に適用される。ローカルデバイス２１，２２は、例えば、情報処理装置のＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory）であり、マスタデバイス１０は、ローカルデバイス２１，２２が接続されているローカルバス４１と、ターゲットデバイス３１が接続されているＰＣＩ−Ｘバス４２とをブリッジし、ローカルデバイス２１，２２のデータをターゲットデバイス３１に転送する。
【００１８】
マスタデバイス１０は、ローカルデバイス２１，２２のデータを、ＰＣＩ−Ｘバス４２を介してターゲットデバイス３１に転送するデバイスである。マスタデバイス１０は、ローカルデバイス２１，２２にデータリード要求を行い、ローカルデバイス２１，２２からデータを受信する。マスタデバイス１０は、受信したデータを、ＰＣＩ−Ｘバス４２を介して転送できるようにフォーマット変換をし、ターゲットデバイス３１に送信する。一方、ローカルデバイス２１，２２が、例えば、異常状態となってアボートし、アボート信号を送信してきた場合は、マスタデバイス１０は、残りのデータ転送において、ダミーデータとエラーパリティをターゲットデバイス３１に転送する。なお、マスタデバイス１０は、１チップの半導体装置で構成される。また、マスタデバイス１０、ローカルデバイス２１，２２、およびローカルバス４１を１チップの半導体装置で構成することも可能である。
【００１９】
ローカルデバイス２１，２２は、ローカルバス４１を介してローカルにデータのやり取りをし、所定の処理を行うデバイスである。ターゲットデバイス３１は、マスタデバイス１０より転送されるローカルデバイス２１，２２のデータを、ＰＣＩ−Ｘバス４２を介して受信するデバイスである。
【００２０】
次に、マスタデバイスの機能について説明する。
図３は、マスタデバイスの機能ブロック図である。
図に示すようにマスタデバイス１０は、データ受信部１１、データ送信部１２、アボート信号受信部１３、ダミーデータ生成部１４、エラーパリティ生成部１５、および転送完了判断部１６を有している。
【００２１】
データ受信部１１は、ローカルバス４１を介してローカルデバイス２１，２２にデータリード要求を行い、データを受信する。データ受信部１１によって受信されたデータは、データ送信部１２に出力される。
【００２２】
データ送信部１２は、データ受信部１１によって受信されたデータを、ＰＣＩ−Ｘバス４２を介してターゲットデバイス３１に送信する。このとき、データ送信部１２は、ＰＣＩ−Ｘの規格に適合するようにデータをフォーマット変換して送信する。また、データ送信部１２は、アボート信号受信部１３によってアボート信号が受信された場合、ダミーデータ生成部１４によって生成されるダミーデータと、エラーパリティ生成部１５によって生成されるエラーパリティとを、ターゲットデバイス３１に送信する。また、データ送信部１２は、後述する転送完了判断部１６によってデータおよびダミーデータが指定転送数送信されたと判断された場合、ダミーデータおよびエラーパリティの送信を終了する。
【００２３】
アボート信号受信部１３は、ローカルバス４１を介してローカルデバイス２１，２２からアボート信号を受信する。ローカルデバイス２１，２２は、例えば、異常が発生してターゲットデバイス３１に転送するデータを正常に出力することができなくなったとき、アボート信号を出力する。アボート信号受信部１３は、アボート信号を受信した旨をダミーデータ生成部１４およびエラーパリティ生成部１５に出力する。
【００２４】
ダミーデータ生成部１４は、アボート信号受信部１３がアボート信号を受信すると、ダミーデータを生成する。ダミーデータ生成部１４は、生成したダミーデータをデータ送信部１２に出力する。なお、ダミーデータは、ダミーであることが次に説明するエラーパリティで示されればよいので、データの内容は何でもよい。
【００２５】
エラーパリティ生成部１５は、アボート信号受信部１３がアボート信号を受信すると、ダミーデータ生成部１４によって生成されたダミーデータがダミー（エラー）であることを示すエラーパリティを生成する。エラーパリティ生成部１５は、生成したエラーパリティをデータ送信部１２に出力する。
【００２６】
転送完了判断部１６は、ローカルバス４１を介してローカルデバイス２１，２２から指定転送バイト数を受信する。指定転送バイト数とは、ローカルデバイス２１，２２からターゲットデバイス３１に転送するデータのバイト数である。指定転送バイト数は、データ転送開始時に、ローカルデバイス２１，２２からマスタデバイス１０に送信される。なお、転送完了判断部１６は、受信した指定転送バイト数を、例えば、レジスタなどの記憶装置に記憶する。また、受信した指定転送バイト数を、ターゲットデバイス３１に送信する。
【００２７】
転送完了判断部１６は、データ送信部１２がターゲットデバイス３１に送信したデータのバイト数をカウントする。そして、転送完了判断部１６は、記憶装置に記憶されている指定転送バイト数を参照し、データ送信部１２が指定転送バイト数データをターゲットデバイス３１に送信したか判断する。転送完了判断部１６は、データが指定転送バイト数転送されていなければ、データ受信部１１に対し、次に転送するデータのデータリード要求をするように制御する。データが指定転送バイト数転送されれば、データの転送処理を終了するように処理をする。
【００２８】
転送完了判断部１６の指定転送バイト数データを転送したかの判断は、ダミーデータの転送数も含む。つまり、ローカルデバイス２１，２２にアボードが発生した場合でも、ダミーデータが生成されることにより、指定転送バイト数データがターゲットデバイス３１に転送されてから処理が終了する。これによって、全データの転送が中断することなく終了するので、プロトコル違反が回避され、ＰＣＩ−Ｘバス４２のハングアップを防止することができる。
【００２９】
なお、ターゲットデバイス３１は、ＰＣＩ−Ｘバス４２を介してマスタデバイス１０からデータを受信する。ターゲットデバイス３１は、受信したデータのパリティチェックを行う。パリティチェックの結果、パリティエラーが発生した場合は、パリティエラー通知をマスタデバイス１０に行う。マスタデバイス１０は、パリティエラー通知を受けると、指定転送バイト数のデータの転送完了後にデータ転送の再転送処理を行う。
【００３０】
ローカルデバイス２１，２２がアボートした場合は、マスタデバイス１０からターゲットデバイス３１に、ダミーデータとエラーパリティが送信される。ターゲットデバイス３１は、エラーパリティによりパリティエラーを検出し、マスタデバイス１０にパリティエラー通知を行う。そして、データ転送の再転送処理が行われる。
【００３１】
次に、ＰＣＩ−Ｘバス４２の動作を、タイムチャートを用いて説明する。
図４は、ＰＣＩ−Ｘバスのタイムチャートを示した図で、図５は、ＰＣＩ−Ｘバスの信号を説明する図である。
【００３２】
図４には、データ幅が３２ビットの場合のタイムチャートの例が示してある。図５には、図４に示す信号を説明する表５１が示してある。図４、図５に示す＃は、ローアクティブであることを示し、Ｌ状態でアサート、Ｈ状態でディアサートされることを示す。また、図４の閉じた矢印は、バスターンアラウンドを示す。この期間、ＰＣＩ−Ｘバス４２は、ハイインピーダンスにされ、中立状態となっている。よって、このサイクルでは、マスタデバイス１０とターゲットデバイス３１は、駆動していない状態となっている。
【００３３】
図４に示すＰＣＩ＿ＣＬＫは、図５の表５１に示すようにＰＣＩ−Ｘバス４２が動作するための基準クロックを示す。基準クロックは、マスタデバイス１０およびターゲットデバイス３１に入力される。ＡＤ［３１：０］は、ＰＣＩ−Ｘバス４２に出力されるアドレスおよびデータを示す。アドレスおよびデータは、マスタデバイス１０から出力され、ターゲットデバイス３１に入力される。アドレスおよびデータは、３２本の同じ信号線で共有される。なお、アドレスおよびデータが６４ビット幅の場合、上位３２ビット、下位３２ビットと分けられ、分割して転送される。Ｃ／ＢＥ［３：０］＃は、コマンドバイトイネーブルを示す。コマンドバイトイネーブルは、マスタデバイス１０から出力され、ターゲットデバイス３１に入力される。ＰＡＲは、ＡＤ［３１：０］とＣ／ＢＥ［３：０］＃に出力される信号のパリティを示す。パリティは、マスタデバイス１０から出力され、ターゲットデバイス３１に入力される。ＰＥＲＲ＃は、パリティエラーを示す。パリティエラーは、ターゲットデバイス３１から出力され、マスタデバイス１０に入力される。ＦＲＡＭＥ＃は、フレーム信号を示す。フレーム信号は、マスタデバイス１０から出力され、ターゲットデバイス３１に入力される。ＩＲＤＹ＃は、イニシエータレディを示す。イニシエータレディは、マスタデバイス１０から出力され、ターゲットデバイス３１に入力される。ＴＲＤＹ＃は、ターゲットレディを示す。ターゲットレディは、ターゲットデバイス３１から出力され、マスタデバイス１０に入力される。ＤＥＶＳＥＬ＃は、デバイスセレクトを示す。デバイスセレクトは、ターゲットデバイス３１から出力され、マスタデバイス１０に入力される。
【００３４】
図４において、ＰＣＩ＿ＣＬＫが１のとき、マスタデバイス１０は、ＡＤ［３１：０］に転送先アドレス（ＡＤ）を出力する。また、Ｃ／ＢＥ［３：０］＃に転送コマンド（ＣＭＤ）を出力する。また、マスタデバイス１０は、ＦＲＡＭＥ＃をアサートする。
【００３５】
ＰＣＩ＿ＣＬＫが２のとき、マスタデバイス１０は、ＡＤ［３１：０］とＣ／ＢＥ［３：０］＃にアトリビュート（ＡＴＴ）を出力する。アトリビュートは、デバイスＩＤ、転送バイト数等を含む情報である。また、マスタデバイス１０は、Ｃ／ＢＥ［３：０］＃に出力した転送コマンドのパリティ（ＰＡＲ）を出力する。
【００３６】
ここで、ＰＣＩ−Ｘバスの規格では、１回にデータを転送できるバイト数に制限があり、最大４０９６バイトである。ＰＣＩ−Ｘバスでは、マスタデバイスがターゲットデバイスに対して、予め転送したいバイト数を指定する必要があり、その指定をするフェーズがアトリビュートのフェーズである。４０９６バイトは、１２ビットで表されるので、その下位８ビットをＡＤ［７：０］にセットし、上位４ビットをＣ／ＢＥ［３：０］＃にセットする。
【００３７】
ＰＣＩ＿ＣＬＫが３のとき、マスタデバイス１０は、ＡＤ［７：０］、Ｃ／ＢＥ［３：０］＃に出力したアトリビュートのパリティ（ＰＡＲ）を出力する。ターゲットデバイス３１は、マスタデバイス１０から出力されたアドレスを受信して、ＤＥＶＳＥＬ＃をアサートする。
【００３８】
ＰＣＩ＿ＣＬＫが４，５のとき、マスタデバイス１０は、データ（ＤＡＴＡ）をＡＤ［３１：０］に出力する。また、データの出力と同時に、マスタデバイス１０は、ＩＲＤＹ＃をアサートする。これにより、ターゲットデバイス３１は、データが転送されることを認識でき、ＴＲＤＹ＃をアサートする。なお、規格上、データは２サイクル分出力する必要がある。
【００３９】
ＰＣＩ＿ＣＬＫが５のとき、ターゲットデバイス３１は、アトリビュートで指定された転送バイト数分データを受信したことによって、ＴＲＤＹ＃，ＤＥＶＳＥＬ＃をディアサートする。
【００４０】
ＰＣＩ＿ＣＬＫが５，６のとき、マスタデバイス１０は、データのパリティを出力する。なお、パリティは、必ず計算対象となるデータの１サイクル後に出力される。
ＰＣＩ＿ＣＬＫが６のとき、マスタデバイス１０は、アトリビュートで指定した転送バイト数分データを送信したことによって、ＦＲＡＭＥ＃，ＩＲＤＹ＃をディアサートする。
【００４１】
ＰＣＩ＿ＣＬＫが７のとき、ターゲットデバイス３１は、受信したデータのパリティ計算を行い、受信したパリティと比較して、エラーがあればＰＥＲＲ＃をアサートする。
このようにＰＣＩ−Ｘバス４２は動作し、マスタデバイス１０からターゲットデバイス３１にデータが転送される。
【００４２】
次に、マスタデバイス１０、ローカルデバイス２１，２２、およびターゲットデバイス３１のデータ転送処理の動作について、フローチャートを用いて説明する。
図６は、データ転送の処理の流れを示したフローチャートである。
【００４３】
ステップＳ１において、マスタデバイス１０は、アイドル状態にある。
ステップＳ２において、マスタデバイス１０は、図示してないがローカルデバイス２１，２２からのデータ転送要求に応じて、データの転送処理を開始する。このとき、マスタデバイス１０は、ローカルデバイス２１，２２から指定転送バイト数を受信する。マスタデバイス１０は、ローカルデバイス２１，２２から受信した指定転送バイト数をターゲットデバイス３１に送信する。
【００４４】
ステップＳ３において、マスタデバイス１０のデータ受信部１１は、ローカルデバイス２１，２２にデータリード要求を行う。
ステップＳ４において、ローカルデバイス２１，２２は、マスタデバイス１０からデータリード要求を受信する。
【００４５】
ステップＳ５において、ローカルデバイス２１，２２は、データを正常に転送できるか否かを判断する。データを正常に転送できると判断した場合は、ステップＳ６へ進む。データを正常に転送できないと判断した場合は、ステップＳ８へ進む。
【００４６】
ステップＳ６において、ローカルデバイス２１，２２は、ターゲットデバイス３１に転送するデータを、マスタデバイス１０に送信する。
ステップＳ７において、マスタデバイス１０のデータ受信部１１は、ローカルデバイス２１，２２から送信されてくるデータを受信する。
【００４７】
ステップＳ８において、ローカルデバイス２１，２２は、アボート信号をマスタデバイス１０に送信する。
ステップＳ９において、マスタデバイス１０のアボート信号受信部１３は、ローカルデバイス２１，２２から送信されるアボート信号を受信する。
【００４８】
ステップＳ１０において、マスタデバイス１０のダミーデータ生成部１４は、アボート信号受信部１３のアボート信号の受信により、ダミーデータを生成する。また、エラーパリティ生成部１５は、アボート信号受信部１３のアボート信号の受信により、ダミーデータ生成部１４によって生成されたダミーデータがダミーであることを示すエラーパリティを生成する。なお、点線の四角で囲ってあるステップＳ８〜Ｓ１０は、ローカルデバイス２１，２２のアボート時のフローを示している。
【００４９】
ステップＳ１１において、マスタデバイス１０のデータ送信部１２は、ＰＣＩ−Ｘバスの規格に適合するように、データ受信部１１によって受信されたデータをフォーマット変換する。また、ダミーデータ生成部１４によって生成されたダミーデータをＰＣＩ−Ｘバスの規格に適合するようにフォーマット変換する。
【００５０】
ステップＳ１２において、マスタデバイス１０のデータ送信部１２は、フォーマット変換したデータおよびダミーデータを、ＰＣＩ−Ｘバス４２を介して、ターゲットデバイス３１に出力する。
【００５１】
ステップＳ１３において、マスタデバイス１０の転送完了判断部１６は、データ送信部１２が指定転送バイト数、データをターゲットデバイス３１に送信したか判断する。データを指定転送バイト数送信していれば、データ転送処理を終了する。データを指定転送バイト数送信していなければ、ステップＳ３へ進む。
【００５２】
ステップＳ１４において、ターゲットデバイス３１は、ＰＣＩ−Ｘバス４２を介して、マスタデバイス１０からデータを受信する。
ステップＳ１５において、ターゲットデバイス３１は、受信したデータがパリティエラーであるか否か判断する。パリティエラーである場合は、ステップＳ１８へ進む。パリティエラーでなければ、ステップＳ１６へ進む。
【００５３】
ステップＳ１６において、ターゲットデバイス３１は、受信したデータのデータ処理をする。
ステップＳ１７において、ターゲットデバイス３１は、マスタデバイス１０から指定転送バイト数データを受信したか判断する。データを指定転送バイト数受信していれば、データ転送処理を終了する。データを指定転送バイト数受信していなければ、ステップＳ１４へ進む。
【００５４】
ステップＳ１８において、ターゲットデバイス３１は、マスタデバイス１０にパリティエラー通知を行う。
ステップＳ１９において、マスタデバイス１０は、ターゲットデバイス３１からパリティエラー通知を受信する。
【００５５】
ステップＳ２０において、マスタデバイス１０は、データの再転送処理を行う。マスタデバイス１０は、全データの転送完了後にステップＳ２へ進む。
このように、データの転送元であるローカルデバイス２１，２２からのアボート信号の受信により、マスタデバイス１０は、残りのデータの送信に対し、ダミーデータとエラーパリティを送信する。これによって、データの転送を完了することが可能となり、プロトコル違反が回避され、ＰＣＩ−Ｘバス４２のハングアップを防止することができる。
【００５６】
また、データの転送先であるターゲットデバイス３１は、ダミーデータを受信しても、エラーパリティによって、ダミーであることを認識できる。マスタデバイス１０は、ターゲットデバイス３１からパリティエラー通知を受けることにより、データの再転送処理を行うことができる。
【００５７】
また、ローカルデバイス２１，２２は、ＡＤＢを意識することなくどのタイミングでもアボート通知をすることができる。
【図面の簡単な説明】
【００５８】
【図１】データ転送装置の概略を示す図である。
【図２】データ転送を行うマスタデバイスのシステム構成例を示す図である。
【図３】マスタデバイスの機能ブロック図である。
【図４】ＰＣＩ−Ｘバスのタイムチャートを示した図である。
【図５】ＰＣＩ−Ｘバスの信号を説明する図である。
【図６】データ転送の処理の流れを示したフローチャートである。
【図７】ＡＤＢを説明する図である。
【符号の説明】
【００５９】
１  データ転送装置
１ａ  アボート信号受信部
１ｂ  ダミーデータ生成部
１ｃ  エラーパリティ生成部
１ｄ  データ送信部
２  ＰＣＩ−Ｘバス
３  転送元
４  転送先
【図１】
2006048099.tif 000003
【図２】
2006048099.tif 000004
【図３】
2006048099.tif 000005
【図４】
2006048099.tif 000006
【図５】
2006048099.tif 000007
【図６】
2006048099.tif 000008
【図７】
2006048099.tif 000009