(57)【要約】【課題】本発明は、データ転送装置におけるエラー処理（再送）を効率的かつ簡易なシーケンスにて実現しうるデータ転送方式の提供を目的とする。【解決手段】入力データは、バッファａ及びｂに連続的かつ交互に書き込まれ、同時に書き込みが実行されていないバッファからデータ受信装置にデータを転送する。このバッファは、それぞれ４個の記憶領域に分割され、コントローラからのアドレス指定の下、正常なデータ転送時においては単一のアクセス領域に対してのみアクセス制御される。受信装置は、データイネーブルに基づきデータを受信し、データ誤りがあったとき再送要求を出力する。転送装置は、データイネーブルの期間内に再送要求を受信すると、誤りを検出しバッファのメモリアクセス領域を変更し一連のデータ転送を最後まで行い、次いで再送要求のあったデータをバッファから読み出し再送する。【選択図】      図１
2004192380.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力される連続データを一時的にバッファに蓄積し、対向するデータ受信装置に連続データを転送するデータ転送装置において、
前記バッファは、ダブルバッファで構成され、それぞれのバッファの記憶領域をｍ個のアクセス領域に分割し、
前記データ受信装置に転送データの受信タイミングを与えるデータイネーブル信号と、前記バッファに対する読み出し及び書き込みのアドレスとを生成するコントローラを備え、
前記バッファに対する入力データの読み出し及び書き込みは、各バッファの一つのアクセス領域を用いて連続的に交互に書き込みと読み出しを行うものとし、前記データ受信装置からデータ再送要求を受信した場合には、データ誤りのあったデータを格納するアクセス領域に対するアクセスを禁止するとともに、アクセス領域を他のアクセス領域に変更するものとし、連続データのデータ転送が終了した後に前記データ誤りのあったデータを前記データ受信装置に再送することを特徴とするデータ転送装置。
【請求項２】
前記各バッファに対する書き込み及び読み出しは、アクセス領域の変更後においても同一のメモリアドレスを指定することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記アクセス領域の変更は、データの再送要求のあったバッファに対してのみ行うことを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記各バッファに対する書き込み及び読み出しは、ディセーブルの期間において行うことを特徴とする請求項１〜３記載のデータ転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送装置における転送方式の改良技術に関し、特に受信側において受信した転送データにエラーが発生した場合のエラー処理（再送）に関する。
【０００２】
【従来の技術】
この種のデータ転送装置として、特開平１１−８８４６４号公報（以下、先行技術１という。）が知られている。この先行技術１は、バッファに転送データを溜めておき、転送エラーが発生した場合、転送が一区切り終わった後にエラーの発生したブロックから後の全てのバッファデータを再送するというものである。
【０００３】
これにより、パケット転送失敗の応答があった場合には、データ全体を転送せず、失敗パケット以降のデータをパケットバッファから読み出して送信できるので、データ全体を再送することによる無駄な転送をせずに、簡易に転送時間を短縮することができる。
【０００４】
しかしながら、先行技術１では、データ転送にエラーが発生した場合、エラーの発生したブロックのアドレスからその後に転送した全てのデータを再送しているため、１データ内でのエラーが発生した部位によってデータ再送量が大きく異なり、しかもデータ再送量が増大する傾向にあることから、必ずしもこの従来のデータ転送装置がデータ転送の信頼性とエラー発生時の転送性能を継続して維持するというデータ転送処理に関する課題を全て解決しているとは言えない。
【０００５】
この着眼点を示唆する先行技術として、特開平１−２０８９２６号公報（以下、先行技術２という。）が知られている。公報の第２図及び第３図によれば、誤りのあったデータのみを再送している。
【０００６】
【特許文献１】
特開平１１−８８４６４号公報
特開平１−２０８９２６号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、先行技術２に記載される技術は、データ再送要求の受けたデータのみを再送するとあるが、その具体的な仕組みについては何ら開示するものではない。
【０００８】
また、受信側からの再送要求があると、現在転送中のブロックデータが完了すると直ちに再送要求のあったブロックデータを再送しているため、送信側のシーケンスが煩雑となる欠点を有する。
【０００９】
そこで、本発明は、データ転送装置におけるエラー処理（再送）を効率的かつ簡易なシーケンスにて実現しうるデータ転送方式の提供を目的とする。
【００１０】
【課題を解決するための手段】
請求項１記載の発明によれば、外部から入力される連続データを一時的にバッファに蓄積し、対向するデータ受信装置に連続データを転送するデータ転送装置において、前記バッファは、ダブルバッファで構成され、それぞれのバッファの記憶領域をｍ個のアクセス領域に分割し、前記データ受信装置に転送データの受信タイミングを与えるデータイネーブル信号と、前記バッファに対する読み出し及び書き込みのアドレスとを生成するコントローラを備え、前記バッファに対する入力データの読み出し及び書き込みは、各バッファの一つのアクセス領域を用いて連続的に交互に書き込みと読み出しを行うものとし、前記データ受信装置からデータ再送要求を受信した場合には、データ誤りのあったデータを格納するアクセス領域に対するアクセスを禁止するとともに、アクセス領域を他のアクセス領域に変更するものとし、連続データのデータ転送が終了した後に前記データ誤りのあったデータを前記データ受信装置に再送することを特徴とするデータ転送装置を得ることができる。
【００１１】
請求項２記載の発明によれば、前記各バッファに対する書き込み及び読み出しは、アクセス領域の変更後においても同一のメモリアドレスを指定することを特徴とする請求項１記載のデータ転送装置を得ることができる。
【００１２】
請求項３記載の発明によれば、前記アクセス領域の変更は、データの再送要求のあったバッファに対してのみ行うことを特徴とする請求項１記載のデータ転送装置を得ることができる。
【００１３】
請求項４記載の発明によれば、前記各バッファに対する書き込み及び読み出しは、ディセーブルの期間において行うことを特徴とする請求項１〜３記載のデータ転送装置を得ることができる。
【００１４】
【発明の実施の形態】
以下、図面を参照して、この発明の好適な実施の形態を例示的に説明する。ただし、この実施の形態に記載されている構成部品の寸法、材質、その相対配置などは、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１５】
図１に本発明の一実施の形態を適用したデータ転送装置のシステムブロック図を示す。図１において、データ転送装置１０１は、入力データ１０８を交互にリード／ライトを繰り返す２つのバッファａ１０３及びｂ１０４と、これらバッファに対してリード／ライトの制御信号１１２を出力するリード／ライトコントローラ１０５とから構成される。データ受信装置１０２は、リード／ライトコントローラ１０５から出力されるデータイネーブルに基づいて出力データ１０９を受信し、受信した転送データに誤りがあった場合にデータ転送装置１０１に対してデータ再送要求１１１を送信する。
【００１６】
バッファａ１０３及びｂ１０４は、ｍ個の記憶層（以下、アクセス領域という。）を有し、それぞれのアクセス領域はｎビットから構成される。ここでは、ｍ＝４（［ａ−１〜４］及び［ｂ−１〜４］）として説明する。各バッファは、通常１つの階層をアクセス領域として入力データの書き込みと読み出しを行う。そして、データ受信装置１０２からデータ再送要求があった場合には、誤りのあったデータを格納したアクセス領域の書き換えを禁止し、下段のアクセス領域を現用に変更し使用する。
【００１７】
また、２つのバッファ間は、リード／ライトコントローラ１０５からのリード／ライト制御信号１１２に基づき、交互に入力データ１０８を書き込み、交互に読み出すものとする。すなわち、バッファａ１０３に対して入力データの書き込みが行われている時、バッファｂ１０４では読み出しが行われ出力データ１０９として受信装置１０２にデータ転送が行われている。また、バッファａ１０３からデータが読み出されているとき、バッファｂ１０４に対して入力データ１０８の書き込みが行われていることになる。これらのバッファは、例えばデュアルポートＲＡＭにて構成することができる。
【００１８】
リード／ライトコントローラ１０５は、前述のとおりバッファａ１０３及びバッファｂ１０４に対してリード／ライトの制御信号１１２を与えるとともに、データ受信装置１０２からのデータ再送要求１１１に基づき一連のデータ転送が終了後、再送要求のあったデータについてのみ再送の制御を行う。
【００１９】
次に、本実施の形態の動作について図２を用いて説明する。以下では、データ転送装置１０１がデータＡ〜Ｎからなる一連の転送データをデータ受信装置１０２に転送する場合について説明する。
【００２０】
データ転送装置１０１は、入力データ１０８を取り込みｎビット単位でバッファａ１０３のアクセス領域［ａ−１］及びバッファｂ１０４［ｂ−１］に交互に書き込む。このとき、リード／ライトコントローラ１０５は、それぞれのバッファに対して同一のメモリアドレスを指定することでソフトとハードの両面から簡素化を図っている。また、リード／ライトコントローラ１０５は、データ受信装置１０２に対して転送データの受信タイミングを示すｔ１間隔のデータイネーブル１１０（ハイレベル）を周期的に送信する。
【００２１】
まず、データ転送装置１０１は、転送データＡをバッファａのアクセス領域［ａ−１］に格納し、イネーブルからディセーブルの切り替わりのタイミングでデータ受信装置１０２に転送データＡを転送するとともに、転送データＢをバッファｂのアクセス領域［ｂ−１］に格納する。なお、各バッファのデータ取り込みは、例えばデータ転送装置１０１と入力データ１０８を出力する上位装置との間でデータイネーブルに基づく受信タイミングとすることができる。
【００２２】
データ転送装置１０１は、データＡの転送が終了すると、データイネーブルｔ１の期間内にデータ受信装置１０２からデータ再送要求の有無を検出し、無ければバッファｂのアクセス領域［ｂ−１］に格納されたデータＢを転送するとともに、データＣをアクセス領域［ａ−１］に書き込む。
【００２３】
データ転送装置１０１は、以上の手順でデータ転送処理をデータＮまで続けることになるが、データＢの転送終了後におけるデータイネーブル１１０のｔ１期間内にデータ再送要求１１１を受信したため、転送データＢに誤りがあったことを検出する。リード／ライトコントローラ１０５は、誤りのあったデータＢの書き換えを禁止するとともに、バッファａ及びバッファｂのアクセス領域をそれぞれ［ａ−２］と［ｂ−２］に変更する。そして、ディセーブルのタイミングでデータＣを転送するとともに、バッファｂのアクセス領域［ｂ−２］にデータＣを書き込む。
【００２４】
データＡ〜Ｎまでのデータ転送が終了すると、バッファｂのアクセス領域［ｂ−１］に保持されているデータＣを再送する。
【００２５】
以上、本実施の形態によれば、データ転送の再送処理を、誤りのあったデータについてのみ再送することができ、またデータ転送装置１０１に設けた各バッファに対するリード／ライトコントロールにおいても簡易なシーケンスとすることができる。すなわち、再送処理が必要な場合であっても、各バッファに対して単一のリード／ライトアドレスを用いてメモリアクセスを制御しているからである。
【００２６】
次に、本発明の他の実施形態について説明する。上述した第１の実施形態では、誤りのあったデータを再送するために、各バッファのアクセス領域を共に使用禁止するものであるが、エラーレートが大きい場合の対策として以下のものが考えられる。
【００２７】
すなわち、誤りのあったデータを格納するバッファについてのみアクセス領域を順次変更するものとし、誤りのない場合には継続してそのバッファのアクセス領域を使用するものとする。これにより、メモリを有効活用することができる。ただし、各バッファに対して別個のリード／ライトアドレスを使用する必要がある。
【００２８】
【発明の効果】
以上、説明したように本発明によるデータ転送装置は、データ転送装置とデータ受信装置間にデータ再送要求信号を追加することと、リード／ライトコントローラの機能追加により、データ転送の確実性を飛躍的に高めることができ、さらにエラーが発生した場合でも、全ての転送が終了した後にエラーが発生したブロックのみを再送する方式のため、エラー発生時の転送性能を継続して維持することができる。
【００２９】
また、本発明では使用されるデータ受信装置にはエラー検出・通知回路が実装されていればいいため、データ受信装置に大きな追加回路を必要としない。
【００３０】
このため、データ受信装置のコストの低減と汎用性の確保が出来る。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るデータ転送システムのブロック図である。
【図２】第１の実施形態の動作を説明するタイムチャートである。
【符号の説明】
１０１  データ転送装置
１０２  データ受信装置
１０３  バッファａ
１０４  バッファｂ
１０５  リード／ライトコントローラ
１０６  エラー検出器
１０７  データ受信部
１０８  入力データ
１０９  出力データ
１１０  データイネーブル信号
１１１  データ再送要求信号
１１２  リード／ライト制御信号
【図１】
2004192380.tif 000003
【図２】
2004192380.tif 000004