(57)【要約】【課題】  パケットのような連続したデータを送受信する場合において、パケットの最大転送長よりも小さいデータ容量を有するＦＩＦＯを用いてデータ転送制御を行う。【解決手段】  ＦＩＦＯ１０はパケットの最大転送長以下の容量を持つ。送信制御回路１１は、ＦＩＦＯブロック１０ａ、１０ｂに対するデータ書き込み量及びデータ読み出し量を示す送信書き込みポインタ１１ａ及び送信読み出しポインタ１１ｃと、それらの示す格納データ量に応じてＦＩＦＯブロック１０ａ及び１０ｂを切替えるＦＩＦＯブロック切替制御部１１ｂとからなる。送信書き込み制御部１２又は送信読み出し制御部１３は送信制御回路１１からのデータ格納情報を得て、書き込み又は読み出しが可能な時は送信転送元又は送信転送先に許可信号を出力する。また、読み出しが不可能な場合には、送信ＴＥＲＭ制御部が送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力する。【選択図】  図１
2005182290.tif 000002
【特許請求の範囲】
【請求項１】
所定長を有する連続データを転送先に転送するデータ転送制御装置において、
前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯブロックを複数有する
ＦＩＦＯと、
前記ＦＩＦＯブロックに格納されているデータ量を検出し、データの格納が終了した前記ＦＩＦＯブロックを、データの格納が可能な前記ＦＩＦＯブロックに切替えて順次書き込みを行わせる書き込み制御部と、
前記データの格納が終了した前記ＦＩＦＯブロックがある場合には、他のＦＩＦＯブロックへのデータの書き込みが前記書き込み制御部により制御されているときにも、前記データの格納が終了したＦＩＦＯブロックからデータの読み出しを行う読み出し制御部とを備える
ことを特徴とするデータ転送制御装置。
【請求項２】
請求項１記載のデータ転送制御装置において、
データの読み出しが不可能な状態であるとき、データ読み出しを一時停止させる送信ＴＥＲＭ信号を転送先に出力する送信ＴＥＲＭ制御回路を備える
ことを特徴とするデータ転送制御装置。
【請求項３】
請求項１記載のデータ転送制御装置において、
データの書き込みが不可能な状態であるとき、データ書き込みを一時停止させる受信ＴＥＲＭ信号を転送元に出力する受信ＴＥＲＭ制御回路を備える
ことを特徴とするデータ転送制御装置。
【請求項４】
所定長を有する連続データを転送先に転送するデータ転送制御装置において、
前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯブロックを有するＦＩＦＯと、
前記ＦＩＦＯブロックへ書き込んだデータの総量に対して、前記ＦＩＦＯから読み出したデータの総量を減算した差に基づいて前記ＦＩＦＯブロックのデータ残量を検出し、前記データ残量に応じて前記ＦＩＦＯブロックに対するデータの書き込み及び読み出しを制御する制御回路とを備える
ことを特徴とするデータ転送制御装置。
【請求項５】
請求項４記載のデータ転送制御装置において、
データの読み出しが不可能な状態であるとき、データ読み出しを一時停止させる送信ＴＥＲＭ信号を転送先に出力する送信ＴＥＲＭ制御回路を備える
ことを特徴とするデータ転送制御装置。
【請求項６】
請求項４記載のデータ転送制御装置において、
データの書き込みが不可能な状態であるとき、データ書き込みを一時停止させる受信ＴＥＲＭ信号を転送元に出力する受信ＴＥＲＭ制御回路を備える
ことを特徴とするデータ転送制御装置。
【請求項７】
所定長を有する連続データを送信転送先に転送するデータ転送制御装置において、
前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯブロックを複数有するＦＩＦＯと、
データの書き込み時に、前記ＦＩＦＯブロックにその最大容量分のデータが格納されたとき、空き領域を有する他の前記ＦＩＦＯブロックに切替え、データの読み出し時に、前記ＦＩＦＯブロックにデータがなくなったとき、データが格納されている他の前記ＦＩＦＯブロックに切替えるＦＩＦＯブロック切替制御部と、
データが書き込まれると共にインクリメントされるカウント値により書き込まれたデータ量を示し、ＦＩＦＯブロック切替時にクリアされる送信書き込みポインタと、
データが読み出されると共にインクリメントされるカウント値により読み出されたデータ量を示し、ＦＩＦＯブロック切替時にクリアされる送信読み出しポインタと
を備える送信制御回路と、
前記ＦＩＦＯブロック切替制御部が有する前記ＦＩＦＯブロックの最大容量を示す容量ポインタの値よりも前記送信書き込みポインタの示すカウント値が小さく、且つ読み出し中でない前記ＦＩＦＯブロックがあるとき、前記送信転送先に送信書き込み可能信号を出力する一方で、書き込みを行わせるか否かの書き込み制御信号を前記送信制御回路に送信する送信書き込み制御部と、データが格納され、且つ書き込み中でない格納済みの前記ＦＩＦＯブロックが少なくとも１つあるとき、前記送信転送先に送信読み出し可能信号を出力する一方で、読み出しを行わせるか否かの読み出し制御信号を前記送信制御回路に送信する送信読み出し制御部と、
いずれの前記ＦＩＦＯブロックからもデータの読み出しが不可能な場合、前記送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力する送信ＴＥＲＭ制御部とを備える
ことを特徴とするデータ転送制御装置。
【請求項８】
所定長を有する連続データを送信転送先に転送するデータ転送制御装置において、
前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯと、
データが書き込まれると共にインクリメントされるカウント値により書き込まれたデータ量を示す送信書き込みポインタと、
データが読み出されると共にインクリメントされるカウント値により読み出されたデータ量を示す送信読み出しポインタと、前記ＦＩＦＯの最大容量を示す容量ポインタとを備える送信制御回路と、
前記ＦＩＦＯにデータが格納可能であるときに送信書き込み可能信号を出力する一方で、書き込みを行わせるか否かの書き込み制御信号を前記送信制御回路に送信する送信書き込み制御部と、
前記送信書き込みポインタのカウント値から前記送信読み出しポインタのカウント値を減算した差が所定値よりも大きいとき、送信転送先に送信読み出し可能信号を出力する一方で、読み出しを行わせるか否かの読み出し制御信号を前記送信制御回路に送信する送信読み出し制御部と、
前記所定値を保持する送信許可設定レジスタを有し、前記差が前記所定値よりも小さいとき、前記送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力する送信ＴＥＲＭ制御部とを備える
ことを特徴とするデータ転送制御装置。
【請求項９】
請求項７記載のデータ転送制御装置において、
前記送信ＴＥＲＭ制御回路は、データ書き込み時間及びデータ読み出し時間に基づく情報を前記送信制御回路から受けて、前記データ書き込み時間とデータ読み出し時間との差を埋めるように前記送信ＴＥＲＭ信号の幅を自動的に変化させる
ことを特徴とするデータ転送制御装置。
【請求項１０】
所定長を有する連続データを受信転送先に転送するデータ転送制御装置において、
前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯブロックを複数有するＦＩＦＯと、
データ書き込み時に、前記ＦＩＦＯブロックにその最大容量分のデータが格納されたとき、空き領域を有する他の前記ＦＩＦＯブロックに切替え、データの読み出し時に、前記ＦＩＦＯブロックにデータがなくなったとき、データが格納されている他の前記ＦＩＦＯブロックに切替えるＦＩＦＯ切替制御部と、データが書き込まれると共にインクリメントされるカウント値により書き込まれたデータ量を示し、ＦＩＦＯブロック切替時にクリアされる受信書き込みポインタと、データが読み出されると共にインクリメントされるカウント値により読み出されたデータ量を示し、ＦＩＦＯブロック切替時にクリアされる受信読み出しポインタとを備える受信制御回路と、
前記ＦＩＦＯブロック切替制御部が有する前記ＦＩＦＯブロックの最大容量を示す容量ポインタの値よりも前記送信書き込みポインタの示すカウント値が小さく、且つ読み出し中でない前記ＦＩＦＯブロックがあるとき、受信転送先に受信書き込み可能信号を出力する一方で、書き込みを行わせるか否かの書き込み制御信号を前記受信制御回路に送信する受信書き込み制御部と、データが格納され、且つ書き込み中でない前記ＦＩＦＯブロックが少なくとも１つあるとき、前記受信転送先に受信読み出し可能信号を出力する一方で、読み出しを行わせるか否かの読み出し制御信号を前記受信制御回路に送信する受信読み出し制御部と、
いずれの前記ＦＩＦＯブロックへもデータの書き込みが不可能な場合、前記受信転送元からのデータ受信を一時停止させる受信ＴＥＲＭ信号を出力する受信ＴＥＲＭ制御部とを備える
ことを特徴とするデータ転送制御装置。
【請求項１１】
所定長を有する連続データを受信転送先に転送するデータ転送制御装置において、
前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯと、
データが書き込まれると共にインクリメントされるカウント値により書き込まれたデータ量を示す受信書き込みポインタと、データが読み出されると共にインクリメントされるカウント値により読み出されたデータ量を示す受信読み出しポインタと、前記ＦＩＦＯの最大容量を示す容量ポインタとを備える受信制御回路と、
前記受信書き込みポインタと前記受信読み出しポインタとのカウント値の差が所定値よりも小さいとき、受信転送元に受信書き込み可能信号を出力する一方で、書き込みを行わせるか否かの書き込み制御信号を前記受信制御回路に送信する受信書き込み制御部と、
前記ＦＩＦＯにデータが格納され、且つ書き込みが行われていないときに、受信転送先に受信読み出し可能信号を出力する一方で、読み出しを行わせるか否かの読み出し制御信号を前記受信制御回路に送信する受信読み出し制御部と、
前記所定値を保持する受信許可設定レジスタを有し、前記差が前記所定値よりも大きいとき、前記受信転送元からのデータ受信を一時停止させる受信ＴＥＲＭ信号を出力する受信ＴＥＲＭ制御部とを備える
ことを特徴とするデータ転送制御装置。
【請求項１２】
請求項１０記載のデータ転送制御装置において、
前記受信ＴＥＲＭ制御回路は、データ書き込み時間及びデータ読み出し時間に基づく情報を前記受信制御回路から受けて、前記データ書き込み時間とデータ読み出し時間との差を埋めるように前記受信ＴＥＲＭ信号の幅を自動的に変化させる
ことを特徴とするデータ転送制御装置。
【請求項１３】
請求項１１記載のデータ転送制御装置において、
前記受信制御回路は、前記受信ＴＥＲＭ信号が出力された後においても、前記所定値に相当するデータ数から、さらにデータ受信する
ことを特徴とするデータ転送制御装置。
【請求項１４】
請求項１１記載のデータ転送制御装置において、
前記受信ＴＥＲＭ制御部は、前記受信ＴＥＲＭ信号の出力を決定する基準値、及び、前記受信ＴＥＲＭ信号の出力後の受信可能データ数を決定する許容値を有するフル許可レジスタを備える
ことを特徴とするデータ転送制御装置。
【請求項１５】
所定長を有する連続データを送信転送先に転送するデータ転送制御方法において、
前記連続データの最大サイズよりも記憶容量が小さい複数のＦＩＦＯブロックに前記連続データを順次格納するステップと、
データの書き込み時に、前記ＦＩＦＯブロックがその最大容量分のデータを格納したとき、空き領域を有する他の前記ＦＩＦＯブロックに切替えるステップと、
データの読み出し時に、前記ＦＩＦＯブロックにデータがなくなったとき、データが格納されている他の前記ＦＩＦＯブロックに切替えるステップと、
前記ＦＩＦＯブロックの最大容量よりも書き込まれたデータ量が少なく、且つ読み出しが行われていないとき、送信転送元に送信書き込み可能信号を出力するステップと、
前記ＦＩＦＯブロックにデータが格納されており、且つ、書き込みが行われていないとき、送信転送先に送信読み出し可能信号を出力するステップと、
いずれの前記ＦＩＦＯブロックからもデータの読み出しが不可能な場合、前記送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力するステップとを含む
ことを特徴とするデータ転送制御方法。
【請求項１６】
所定長を有する連続データを転送先に転送するデータ転送制御方法において、
前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯに前記連続データを書き込むステップと、
前記ＦＩＦＯに格納されたデータを読み出すステップと、
前記ＦＩＦＯにデータが格納可能であるときに送信書き込み可能信号を出力するステップと、
書き込みを行わせるか否かの書き込み制御信号を送信転送元に送信するステップと、
前記書き込みを行ったデータ総量と前記読み出しを行ったデータ総量との差が所定値よりも大きいとき、送信読み出し可能信号を出力するステップと、
読み出しを行わせるか否かの読み出し制御信号を送信転送先に送信するステップと、
前記差が前記所定値よりも小さいとき、前記送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力するステップとを含む
ことを特徴とするデータ転送制御方法。
【請求項１７】
所定長を有する連続データを受信転送先に転送するデータ転送制御方法において、
前記連続データの最大サイズよりも記憶容量が小さい複数のＦＩＦＯブロックに前記連続データを順次格納するステップと、
データの書き込み時に、前記ＦＩＦＯブロックがその最大容量分のデータを格納したとき、空き領域を有する他の前記ＦＩＦＯブロックに切替えるステップと、
データの読み出し時に、前記ＦＩＦＯブロックにデータがなくなったとき、データが格納されている他の前記ＦＩＦＯブロックに切替えるステップと、
前記ＦＩＦＯブロックの最大容量よりも書き込まれたデータ量が少なく、且つ読み出しが行われていないとき、受信転送先に受信書き込み可能信号を出力するステップと、
前記ＦＩＦＯブロックにデータが格納されており、且つ、書き込みが行われていないとき、受信転送先に受信読み出し可能信号を出力するステップと、
いずれの前記ＦＩＦＯブロックへもデータの書き込みが不可能な場合、前記受信転送元からのデータ受信を一時停止させる受信ＴＥＲＭ信号を出力するステップとを含む
ことを特徴とするデータ転送制御方法。
【請求項１８】
所定長を有する連続データを受信転送先に転送するデータ転送制御方法において、
前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯに前記連続データを書き込むステップと、
前記ＦＩＦＯに格納されたデータを読み出すステップと、
前記ＦＩＦＯにデータが格納可能であるときに受信書き込み可能信号を出力するステップと、
書き込みを行わせるか否かの書き込み制御信号を受信転送元に送信するステップと、
前記書き込みを行ったデータ総量と前記読み出しを行ったデータ総量との差が所定値よりも大きいとき、受信読み出し可能信号を出力するステップと、
前記読み出しを行わせるか否かの読み出し制御信号を受信転送先に送信するステップと、
前記差が前記所定値よりも大きいとき、前記受信転送元からのデータ受信を一時停止させる受信ＴＥＲＭ信号を出力するステップとを含む
ことを特徴とするデータ転送制御方法。
【請求項１９】
請求項１、２、３、４、５、６、７、８、９、１０、１１、１２、１３又は１４記載のデータ転送制御装置において、
前記連続データはパケットデータである
ことを特徴とするデータ転送制御装置。
【請求項２０】
請求項１５、１６、１７又は１８記載のデータ転送制御方法において、
前記連続データはパケットデータである
ことを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、先入れ先出しメモリ（ＦＩＦＯ：Ｆｉｒｓｔ Ｉｎ Ｆｉｒｓｔ Ｏｕｔ）を用いるものであって、パケットのように単位毎に処理が必要なデータ転送システムにおけるデータ転送制御装置及びデータ転送制御方法に関する。
【背景技術】
【０００２】
近年、ＤＶＤに代表されるようなＰＣ周辺機器のインターフェースは、高速化に伴い、パラレルインターフェースから、例えば、図９に示すフォーマットによりパケット単位の処理を行うＩＥＥＥ１３９４／ＵＳＢ２．０に代表されるようなシリアルインターフェースへの移行が進んでいる。このようなシリアルデータを処理するものとして、データ転送要求の処理を滞らせることなく、また、メモリを効率的に利用できるデータ転送制御装置が特許文献１に開示されている。以下に、図９及び１０を用いてこのデータ転送制御装置を説明する。
【０００３】
図１０は、１つのバッファメモリを仮想的に２つのメモリとして機能させるＦＩＦＯを示している。バッファコントローラ２は、バッファメモリ２ａを２つのＦＩＦＯ第１ブロック及び第２ブロックとして機能させ、データ書き込み及び読み出しを制御する。境界コントローラ５はＦＩＦＯ第１ブロック及び第２ブロックの境界を制御し、データコントローラ４は境界コントローラ５により制御された境界値と格納されているデータとに基づいてメモリ残存量を算出し、このメモリ残存量と、書き込み制御部３Ａ及び３Ｂから得られたデータのパケットサイズＡ及びＢの情報とを比較することにより、転送元から送信されるデータ書き込みの可能／不可能を判断する。また、データコントローラ４は、バッファメモリ２ａの格納データを読み出しする際の可能／不可能を判断し、読み出し制御部１Ａ及び１Ｂへ結果を送信する。このように、バッファメモリを２つのＦＩＦＯとして機能させ、それぞれのＦＩＦＯに対して事前に書き込み可能／不可能の判断を行うことにより、オーバーフローの防止を可能とする。更に、２つのＦＩＦＯブロックの境界を動的に変化させることができることを特徴とする。
【０００４】
また、現在実用化が進んでいる次世代高速インターフェイスであるシリアルＡＴＡはパケット単位で転送を行うシリアルインターフェイスであるが、パケット転送における連続したデータの途中でＨＯＬＤという特殊なパターンを挿入することができる。しかし、このような方法でパケットを転送するためのシステムはまだ確立されていない。
【０００５】
図９（ａ）に通常の転送例を示す。送信側はファイルの開始信号ＳＯＦ（Ｓｔａｒｔ  Ｏｆ Ｆｒａｍｅ）を送信し、連続してＤＡＴＡを送信する。次に、ＤＡＴＡ送信が終了した直後に確認信号ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）を送信し、続いて、ファイルの終了信号ＥＯＦ（Ｅｎｄ  Ｏｆ Ｆｒａｍｅ）を送信する。
【０００６】
また、図９（ｂ）に送信側がＨＯＬＤを使ったときの転送例を示す。送信側は、パケットの始めにＳＯＦを出力し、続けてＤＡＴＡを送信する。データ送信の途中でＨＯＬＤという特殊なパターンを挿入して、データ転送を一時停止し、ＨＯＬＤ解除後に残りのデータを送信し、更に、最後のデータの直後にＣＲＣを送信し、最後にＥＯＦを送信する。受信側はＨＯＬＤパターンの受信に対してＨＯＬＤＡを送信側へ返す。
【０００７】
図９（ｃ）は受信側がＨＯＬＤを出す場合を示している。送信側は、パケットの始めにＳＯＦを出力し、続いて、ＤＡＴＡを連続して送信する。データ送信の途中でＨＯＬＤを受信すると、データ送信を一時停止すると共にＨＯＬＤＡという特殊なパターンを挿入する。そして、ＨＯＬＤ解除後に残りのデータを送信し、最後のデータの直後にＣＲＣを送信し、最後にＥＯＦを送信する。
【特許文献１】特開平１１−１６１４６７号公報（第２−７頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載された技術においては、ＦＩＦＯの容量は最低の場合でもパケットの最大長を必要とする。このため回路規模は大きくなると共に、データの書き込み及び読み出し中の空き領域も大きくなるので、メモリの利用効率は低下する。また、容量が大きいほど、書き込み又は読み出しのうち一方の動作中における他方の動作の待機時間が大きくなり、データ転送の効率も低下する。逆に、送受信されるパケットが最大のパケット長以下の場合には、メモリに不使用領域を生じて、この場合にもメモリの利用効率は低下する等の問題が生じる。
【０００９】
更に、データの転送元の転送レートと、データの転送先の転送レートとが異なる場合には、実際の転送レートは遅い側の転送レートに合わせざるを得ない為、パケットのように連続したデータを送る場合において、パケット間には転送していない長い期間を含み、効率の悪い転送になってしまうという問題が生じる。
【００１０】
本発明は上記従来の問題を解決するものであり、その目的は、回路規模を小さく抑え、且つ効率的にデータ転送を行うデータ転送制御装置及びデータ転送制御方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記問題を解決するために、本発明では上述の（書き込み及び読み出し動作中の空き領域と、書き込み又は読み出しのうち一方の動作中における他方の動作の待機時間とは、容量が小さくなるほど削減される）点に着目し、扱う連続データよりも小さい容量を持つＦＩＦＯブロックを用いて転送を行えるようにする。これにより、回路規模を大幅に低減できると共に、上述の空き領域が削減されてメモリの利用効率を高めることができ、同時に、上述の待機時間も削減されて転送効率をも高めることができる。
【００１２】
すなわち、請求項１記載の発明のデータ転送制御装置は、所定長を有する連続データを転送先に転送するデータ転送制御装置において、前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯブロックを複数有するＦＩＦＯと、前記ＦＩＦＯブロックに格納されているデータ量を検出し、データの格納が終了した前記ＦＩＦＯブロックを、データの格納が可能な前記ＦＩＦＯブロックに切替えて順次書き込みを行わせる書き込み制御部と、前記データの格納が終了した前記ＦＩＦＯブロックがある場合には、他のＦＩＦＯブロックへのデータの書き込みが前記書き込み制御部により制御されているときにも、前記データの格納が終了したＦＩＦＯブロックからデータの読み出しを行う読み出し制御部とを備えることを特徴とする。
【００１３】
請求項２記載の発明は、請求項１記載のデータ転送制御装置において、データの読み出しが不可能な状態であるとき、データ読み出しを一時停止させる送信ＴＥＲＭ信号を転送先に出力する送信ＴＥＲＭ制御回路を備えることを特徴とする。
【００１４】
請求項３記載の発明は、請求項１記載のデータ転送制御装置において、データの書き込みが不可能な状態であるとき、データ書き込みを一時停止させる受信ＴＥＲＭ信号を転送元に出力する受信ＴＥＲＭ制御回路を備えることを特徴とする。
【００１５】
請求項４記載の発明のデータ転送制御装置は、所定長を有する連続データを転送先に転送するデータ転送制御装置において、前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯブロックを有するＦＩＦＯと、前記ＦＩＦＯブロックへ書き込んだデータの総量に対して、前記ＦＩＦＯから読み出したデータの総量を減算した差に基づいて前記ＦＩＦＯブロックのデータ残量を検出し、前記データ残量に応じて前記ＦＩＦＯブロックに対するデータの書き込み及び読み出しを制御する制御回路とを備えることを特徴とする。
【００１６】
請求項５記載の発明は、請求項４記載のデータ転送制御装置において、データの読み出しが不可能な状態であるとき、データ読み出しを一時停止させる送信ＴＥＲＭ信号を転送先に出力する送信ＴＥＲＭ制御回路を備えることを特徴とする。
【００１７】
請求項６記載の発明は、請求項４記載のデータ転送制御装置において、データの書き込みが不可能な状態であるとき、データ書き込みを一時停止させる受信ＴＥＲＭ信号を転送元に出力する受信ＴＥＲＭ制御回路を備えることを特徴とする。
【００１８】
請求項７記載の発明のデータ転送制御装置は、所定長を有する連続データを送信転送先に転送するデータ転送制御装置において、前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯブロックを複数有するＦＩＦＯと、データの書き込み時に、前記ＦＩＦＯブロックにその最大容量分のデータが格納されたとき、空き領域を有する他の前記ＦＩＦＯブロックに切替え、データの読み出し時に、前記ＦＩＦＯブロックにデータがなくなったとき、データが格納されている他の前記ＦＩＦＯブロックに切替えるＦＩＦＯブロック切替制御部と、データが書き込まれると共にインクリメントされるカウント値により書き込まれたデータ量を示し、ＦＩＦＯブロック切替時にクリアされる送信書き込みポインタと、データが読み出されると共にインクリメントされるカウント値により読み出されたデータ量を示し、ＦＩＦＯブロック切替時にクリアされる送信読み出しポインタとを備える送信制御回路と、前記ＦＩＦＯブロック切替制御部が有する前記ＦＩＦＯブロックの最大容量を示す容量ポインタの値よりも前記送信書き込みポインタの示すカウント値が小さく、且つ読み出し中でない前記ＦＩＦＯブロックがあるとき、前記送信転送先に送信書き込み可能信号を出力する一方で、書き込みを行わせるか否かの書き込み制御信号を前記送信制御回路に送信する送信書き込み制御部と、データが格納され、且つ書き込み中でない格納済みの前記ＦＩＦＯブロックが少なくとも１つあるとき、前記送信転送先に送信読み出し可能信号を出力する一方で、読み出しを行わせるか否かの読み出し制御信号を前記送信制御回路に送信する送信読み出し制御部と、いずれの前記ＦＩＦＯブロックからもデータの読み出しが不可能な場合、前記送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力する送信ＴＥＲＭ制御部とを備えることを特徴とする。
【００１９】
請求項８記載の発明のデータ転送制御装置は、所定長を有する連続データを送信転送先に転送するデータ転送制御装置において、前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯと、データが書き込まれると共にインクリメントされるカウント値により書き込まれたデータ量を示す送信書き込みポインタと、データが読み出されると共にインクリメントされるカウント値により読み出されたデータ量を示す送信読み出しポインタと、前記ＦＩＦＯの最大容量を示す容量ポインタとを備える送信制御回路と、前記ＦＩＦＯにデータが格納可能であるときに送信書き込み可能信号を出力する一方で、書き込みを行わせるか否かの書き込み制御信号を前記送信制御回路に送信する送信書き込み制御部と、前記送信書き込みポインタのカウント値から前記送信読み出しポインタのカウント値を減算した差が所定値よりも大きいとき、送信転送先に送信読み出し可能信号を出力する一方で、読み出しを行わせるか否かの読み出し制御信号を前記送信制御回路に送信する送信読み出し制御部と、前記所定値を保持する送信許可設定レジスタを有し、前記差が前記所定値よりも小さいとき、前記送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力する送信ＴＥＲＭ制御部とを備えることを特徴とする。
【００２０】
請求項９記載の発明は、請求項７記載のデータ転送制御装置において、前記送信ＴＥＲＭ制御回路は、データ書き込み時間及びデータ読み出し時間に基づく情報を前記送信制御回路から受けて、前記データ書き込み時間とデータ読み出し時間との差を埋めるように前記送信ＴＥＲＭ信号の幅を自動的に変化させることを特徴とする。
【００２１】
請求項１０記載の発明のデータ転送制御装置は、所定長を有する連続データを受信転送先に転送するデータ転送制御装置において、前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯブロックを複数有するＦＩＦＯと、データ書き込み時に、前記ＦＩＦＯブロックにその最大容量分のデータが格納されたとき、空き領域を有する他の前記ＦＩＦＯブロックに切替え、データの読み出し時に、前記ＦＩＦＯブロックにデータがなくなったとき、データが格納されている他の前記ＦＩＦＯブロックに切替えるＦＩＦＯ切替制御部と、データが書き込まれると共にインクリメントされるカウント値により書き込まれたデータ量を示し、ＦＩＦＯブロック切替時にクリアされる受信書き込みポインタと、データが読み出されると共にインクリメントされるカウント値により読み出されたデータ量を示し、ＦＩＦＯブロック切替時にクリアされる受信読み出しポインタとを備える受信制御回路と、前記ＦＩＦＯブロック切替制御部が有する前記ＦＩＦＯブロックの最大容量を示す容量ポインタの値よりも前記送信書き込みポインタの示すカウント値が小さく、且つ読み出し中でない前記ＦＩＦＯブロックがあるとき、受信転送先に受信書き込み可能信号を出力する一方で、書き込みを行わせるか否かの書き込み制御信号を前記受信制御回路に送信する受信書き込み制御部と、データが格納され、且つ書き込み中でない前記ＦＩＦＯブロックが少なくとも１つあるとき、前記受信転送先に受信読み出し可能信号を出力する一方で、読み出しを行わせるか否かの読み出し制御信号を前記受信制御回路に送信する受信読み出し制御部と、いずれの前記ＦＩＦＯブロックへもデータの書き込みが不可能な場合、前記受信転送元からのデータ受信を一時停止させる受信ＴＥＲＭ信号を出力する受信ＴＥＲＭ制御部とを備えることを特徴とする。
【００２２】
請求項１１記載の発明のデータ転送制御装置は、所定長を有する連続データを受信転送先に転送するデータ転送制御装置において、前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯと、データが書き込まれると共にインクリメントされるカウント値により書き込まれたデータ量を示す受信書き込みポインタと、データが読み出されると共にインクリメントされるカウント値により読み出されたデータ量を示す受信読み出しポインタと、前記ＦＩＦＯの最大容量を示す容量ポインタとを備える受信制御回路と、前記受信書き込みポインタと前記受信読み出しポインタとのカウント値の差が所定値よりも小さいとき、受信転送元に受信書き込み可能信号を出力する一方で、書き込みを行わせるか否かの書き込み制御信号を前記受信制御回路に送信する受信書き込み制御部と、前記ＦＩＦＯにデータが格納され、且つ書き込みが行われていないときに、受信転送先に受信読み出し可能信号を出力する一方で、読み出しを行わせるか否かの読み出し制御信号を前記受信制御回路に送信する受信読み出し制御部と、前記所定値を保持する受信許可設定レジスタを有し、前記差が前記所定値よりも大きいとき、前記受信転送元からのデータ受信を一時停止させる受信ＴＥＲＭ信号を出力する受信ＴＥＲＭ制御部とを備えることを特徴とする。
【００２３】
請求項１２記載の発明は、請求項１０記載のデータ転送制御装置において、前記受信ＴＥＲＭ制御回路は、データ書き込み時間及びデータ読み出し時間に基づく情報を前記受信制御回路から受けて、前記データ書き込み時間とデータ読み出し時間との差を埋めるように前記受信ＴＥＲＭ信号の幅を自動的に変化させることを特徴とする。
【００２４】
請求項１３記載の発明は、請求項１１記載のデータ転送制御装置において、前記受信制御回路は、前記受信ＴＥＲＭ信号が出力された後においても、前記所定値に相当するデータ数から、さらにデータ受信することを特徴とする。
【００２５】
請求項１４記載の発明は、請求項１１記載のデータ転送制御装置において、前記受信ＴＥＲＭ制御部は、前記受信ＴＥＲＭ信号の出力を決定する基準値、及び、前記受信ＴＥＲＭ信号の出力後の受信可能データ数を決定する許容値を有するフル許可レジスタを備えることを特徴とする。
【００２６】
請求項１５記載の発明のデータ転送制御方法は、所定長を有する連続データを送信転送先に転送するデータ転送制御方法において、前記連続データの最大サイズよりも記憶容量が小さい複数のＦＩＦＯブロックに前記連続データを順次格納するステップと、データの書き込み時に、前記ＦＩＦＯブロックがその最大容量分のデータを格納したとき、空き領域を有する他の前記ＦＩＦＯブロックに切替えるステップと、データの読み出し時に、前記ＦＩＦＯブロックにデータがなくなったとき、データが格納されている他の前記ＦＩＦＯブロックに切替えるステップと、前記ＦＩＦＯブロックの最大容量よりも書き込まれたデータ量が少なく、且つ読み出しが行われていないとき、送信転送元に送信書き込み可能信号を出力するステップと、前記ＦＩＦＯブロックにデータが格納されており、且つ、書き込みが行われていないとき、送信転送先に送信読み出し可能信号を出力するステップと、いずれの前記ＦＩＦＯブロックからもデータの読み出しが不可能な場合、前記送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力するステップとを含むことを特徴とする。
【００２７】
請求項１６記載の発明のデータ転送制御方法は、所定長を有する連続データを転送先に転送するデータ転送制御方法において、前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯに前記連続データを書き込むステップと、前記ＦＩＦＯに格納されたデータを読み出すステップと、前記ＦＩＦＯにデータが格納可能であるときに送信書き込み可能信号を出力するステップと、書き込みを行わせるか否かの書き込み制御信号を送信転送元に送信するステップと、前記書き込みを行ったデータ総量と前記読み出しを行ったデータ総量との差が所定値よりも大きいとき、送信読み出し可能信号を出力するステップと、読み出しを行わせるか否かの読み出し制御信号を送信転送先に送信するステップと、前記差が前記所定値よりも小さいとき、前記送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力するステップとを含むことを特徴とする。
【００２８】
請求項１７記載の発明のデータ転送制御方法は、所定長を有する連続データを受信転送先に転送するデータ転送制御方法において、前記連続データの最大サイズよりも記憶容量が小さい複数のＦＩＦＯブロックに前記連続データを順次格納するステップと、データの書き込み時に、前記ＦＩＦＯブロックがその最大容量分のデータを格納したとき、空き領域を有する他の前記ＦＩＦＯブロックに切替えるステップと、データの読み出し時に、前記ＦＩＦＯブロックにデータがなくなったとき、データが格納されている他の前記ＦＩＦＯブロックに切替えるステップと、前記ＦＩＦＯブロックの最大容量よりも書き込まれたデータ量が少なく、且つ読み出しが行われていないとき、受信転送先に受信書き込み可能信号を出力するステップと、前記ＦＩＦＯブロックにデータが格納されており、且つ、書き込みが行われていないとき、受信転送先に受信読み出し可能信号を出力するステップと、いずれの前記ＦＩＦＯブロックへもデータの書き込みが不可能な場合、前記受信転送元からのデータ受信を一時停止させる受信ＴＥＲＭ信号を出力するステップとを含むことを特徴とする。
【００２９】
請求項１８記載の発明のデータ転送制御方法は、所定長を有する連続データを受信転送先に転送するデータ転送制御方法において、前記連続データの最大サイズよりも記憶容量が小さいＦＩＦＯに前記連続データを書き込むステップと、前記ＦＩＦＯに格納されたデータを読み出すステップと、前記ＦＩＦＯにデータが格納可能であるときに受信書き込み可能信号を出力するステップと、書き込みを行わせるか否かの書き込み制御信号を受信転送元に送信するステップと、前記書き込みを行ったデータ総量と前記読み出しを行ったデータ総量との差が所定値よりも大きいとき、受信読み出し可能信号を出力するステップと、前記読み出しを行わせるか否かの読み出し制御信号を受信転送先に送信するステップと、前記差が前記所定値よりも大きいとき、前記受信転送元からのデータ受信を一時停止させる受信ＴＥＲＭ信号を出力するステップとを含むことを特徴とする。
【００３０】
請求項１９記載の発明は、請求項１、２、３、４、５、６、７、８、９、１０、１１、１２、１３又は１４記載のデータ転送制御装置において、前記連続データはパケットデータであることを特徴とする。
【００３１】
請求項２０記載の発明は、請求項１５、１６、１７又は１８記載のデータ転送制御方法において、前記連続データはパケットデータであることを特徴とする。
【００３２】
以上により、請求項１記載の発明では、連続したデータの最大サイズよりも小さい複数のＦＩＦＯブロックを切替えることにより、書き込み又は読み出し動作中における次の動作のための待機時間を削減すると共に、不要なメモリ領域も削減することができる。
【００３３】
また、請求項２、３、５及び６記載の発明では、転送元と転送先との間に転送レートの差が生じた時、転送途中でＴＥＲＭ信号を出力し、転送レートが高い側の動作を一時停止させることにより、転送元と転送先との転送レートを合わせて転送することができるので、最大サイズのＦＩＦＯを持たずとも、全体の転送レートを落とさない転送を行うことが可能となる。
【００３４】
更に、請求項４記載の発明では、書き込んだデータの総量から読み出したデータの総量を減算した差によりＦＩＦＯブロック内のデータ残量を検出して、連続データの最大サイズよりも小さいＦＩＦＯブロックに対して、そのデータ残量により判断して、書き込み及び読み出しを制御するので、小さいＦＩＦＯを用いて転送制御することが可能となる。
【００３５】
請求項７記載の発明では、連続したデータの最大サイズよりも小さい複数のＦＩＦＯブロックを切替えることにより、書き込み又は読み出し動作中における次の動作の待機時間を削減すると共に、不要なメモリ領域も削減でき、更に、転送元と転送先との間に転送レートの差が生じた時、転送途中で送信ＴＥＲＭ信号を出力し、ＦＩＦＯからの読み出しを適当な時間だけ停止させることにより、転送元と転送先との転送レートを合わせて転送することができるので、最大サイズのＦＩＦＯを持たずとも、全体の転送レートを落とさない転送を行うことが可能となる。
【００３６】
また、請求項８記載の発明では、送信書き込みポインタと送信読み出しポインタとのカウント値の差により、格納されているデータ量を検出して、連続したデータの最大サイズよりも小さいＦＩＦＯブロックに対して、データの書き込み及び読み出しを行い、その格納されているデータ量を示す前記差の値が送信許可設定レジスタの値よりも小さいとき、すなわち、読み出し動作を正常に行えない状態にあるとき、読み出し不可を示す送信ＴＥＲＭ信号を転送先に出力し、転送を一時停止させるので、転送元と転送先との転送レートの差を効果的に合わせながら、且つ、小さいＦＩＦＯを用いて転送制御することが可能となる。
【００３７】
更に、請求項９記載の発明では、データの書き込み時間とそのデータの読み込み時間との差に応じた信号が送信制御回路から送信ＴＥＲＭ制御回路へ送られ、それに基づいて送信ＴＥＲＭ信号の幅が調節されるので、最適な転送レートにより転送することが可能となる。
【００３８】
続いて、請求項１０記載の発明では、連続したデータの最大サイズよりも小さい複数のＦＩＦＯブロックを切替えることにより、書き込み又は読み出し動作中における次の動作の待機時間を削減すると共に、不要なメモリ領域も削減でき、更に、転送元と転送先との間に転送レートの差が生じた時、転送途中で受信ＴＥＲＭ信号を出力し、ＦＩＦＯへの書き込みを適当な時間だけ停止させることにより、転送元と転送先とも転送レートを合わせて転送することができるので、最大サイズのＦＩＦＯを持たずとも、全体の転送レートを落とさない転送を行うことが可能となる。
【００３９】
また、請求項１１記載の発明では、受信書き込みポインタと受信読み出しポインタとのカウント値の差により、格納されているデータ量を検出して、連続したデータの最大サイズよりも小さいＦＩＦＯブロックに対して、データの書き込み及び読み出しを行い、その格納されているデータ量を示す前記差の値が受信許可設定レジスタの値よりも大きいとき、すなわち、書き込み動作を正常に行えない状態にあるとき、書き込み不可を示す受信ＴＥＲＭ信号を転送元に出力し、転送を一時停止させるので、転送元と転送先との転送レートの差を効果的に合わせながら、且つ、小さいＦＩＦＯを用いて転送制御することが可能となる。
【００４０】
更に、請求項１２記載の発明では、データの書き込み時間とそのデータの読み込み時間との差に応じた信号が受信制御回路から受信ＴＥＲＭ制御回路へ送られ、それに基づいて受信ＴＥＲＭ信号の幅が調節されるので、最適な転送レートにより転送することが可能となる。
【００４１】
続いて、請求項１３記載の発明では、受信ＴＥＲＭ信号を出力した後も受信許可設定レジスタに相当するデータ数を超えて更に受信することができるので、オーバーランした分のデータを受信することが可能となる。
【００４２】
また、請求項１４記載の発明では、受信ＴＥＲＭ信号の出力は、同信号の出力後に受信できるデータ数とリンクさせることにより、ＦＩＦＯを効率的に使用することができると共に容易に制御を行うことが可能となる。
【００４３】
更に、請求項１５記載の発明では、連続したデータの最大サイズに相当するＦＩＦＯ容量を必要としないで、送信制御を行うことが可能となる。
【００４４】
続いて、請求項１６記載の発明では、連続したデータの最大サイズに相当するＦＩＦＯ容量を必要としないで、受信制御を行うことが可能となる。
【発明の効果】
【００４５】
上記の構成によれば、パケットの最大長を持たないＦＩＦＯを使用して、効率的にデータ転送制御を行うことができ、ＦＩＦＯ容量の大幅な削減を実現することが可能となる。
【００４６】
特に、請求項２、３、５、６、７、８、９、１０、１１、１２、１３、１４、１５、１６、１７及び１８記載の発明によれば、パケット転送のように連続してデータを送受信するようなシステムにおいてパケットデータの途中で停止させるようなシステムを確立することができる。
【００４７】
更に、請求項１３記載の発明によれば、受信時には、オーバーランを考慮に入れた受信ＴＥＲＭ信号の制御を行うことにより、システムの安定性及び拡張性を実現することが可能となる。
【発明を実施するための最良の形態】
【００４８】
以下、本発明の実施の形態を図面に基づいて説明する。尚、本実施の形態では、本発明であるデータ転送制御装置及びその方法としてシリアルＡＴＡインターフェイスを利用するが、本発明はシリアルＡＴＡに限定されるものではない。
【００４９】
（第１の実施の形態）
図１は、連続したデータを送受信するシステムにおける第１の実施の形態のデータ転送制御装置を示す。本実施の形態では、連続したデータとしてパケットデータを扱う例を示す。図１において、ＦＩＦＯ１０は、最大パケット長より小さい容量を持つ２つのＦＩＦＯブロック１０ａ、１０ｂからなり、送信制御回路１１の制御により、送信データの書き込み及び読み出しが制御される。ただし、ＦＩＦＯブロック１０ａ、１０ｂは読み出しと書き込みとは同時に処理できない。
【００５０】
送信制御回路１１は、書き込まれたデータ量に応じてインクリメントされるカウント値により、格納されたデータ量を示す送信書き込みポインタ１１ａと、読み出されたデータ量に応じてインクリメントされるカウント値により、その読み出されたデータ量を示す送信読み出しポインタ１１ｃと、ＦＩＦＯブロック切替制御部１１ｂとを備える。このＦＩＦＯブロック切替制御部１１ｂはＦＩＦＯブロック１０ａの最大容量を示す容量ポインタ１１ｄとＦＩＦＯブロック１０ｂの最大容量を示す容量ポインタ１１ｅとを有しており、送信書き込みポインタ１１ａのカウント値が容量ポインタ１１ｄに等しくなると、ＦＩＦＯブロック１０ａに最大容量分のデータが格納されたと判断し、ＦＩＦＯブロックを１０ａから空いている１０ｂに切替える。それと共に、送信書き込みポインタ１１ａのカウント値はクリアされ、ＦＩＦＯブロック１０ｂのデータ格納が開始されると同時に、再度インクリメントが開始される。また、読み出しの場合も同様に、容量ポインタの値と送信読み出しポインタ１１ｃのカウント値とを比較することにより、ＦＩＦＯブロック切替制御部１１ｂは、ＦＩＦＯブロックの切替えを行う。
【００５１】
送信書き込み制御部１２は、容量ポインタ１１ｄ又は１１ｅの値と送信書き込みポインタ１１ａの示すカウント値との比較により得られた書き込みデータ量の情報を受け、それにより、更に書き込みが可能であると判断した場合、すなわち、容量ポインタ１１ｄ又は１１ｅの値よりも送信書き込みポインタ１１ａの示すカウント値が小さい場合には送信転送元に送信書き込み許可信号（送信書き込み可能信号）をアサートし、書き込み不可能の場合、すなわち、送信書き込みポインタ１１ａのカウント値がＦＩＦＯブロック１０ａ又は１０ｂの最大容量に等しくなった場合には送信書き込み許可信号をネゲートする。送信書き込み許可信号がアサートされている場合において、送信転送元から送信書き込み要求信号が送信されれば、送信書き込み制御部１２は書き込みをさせる制御信号を送信制御回路１１に出力する。
【００５２】
また、送信読み出し制御部１３は、容量ポインタ１１ｄ又は１１ｅの値と送信読み出しポインタ１１ｃの示すカウント値との比較により得られた読み出しデータ量の情報を受け、それにより、更に読み出しが可能であると判断した場合、すなわち、データ書き込み中ではなく、且つ、容量ポインタ１１ｄ又は１１ｅの値よりも送信読み出しポインタ１１ｃの示すカウント値が小さいような、データが格納されている場合には、送信転送先に送信読み出し許可信号（送信読み出し可能信号）をアサートし、読み出しが不可能の場合、すなわち、読み出しポインタ１１ｃのカウント値がＦＩＦＯブロック１０ａ又は１０ｂの最大容量に等しくなった場合には送信読み出し許可信号をネゲートする。送信読み出し許可信号がアサートされている場合において、送信転送先から送信読み出し要求信号が送信されれば、送信読み出し制御部１３は読み出しをさせる制御信号を送信制御回路１１に出力する。
【００５３】
送信ＴＥＲＭ制御部１４は、ＦＩＦＯブロック１０ａ又は１０ｂのいずれにもデータが格納されていない状態、又は、データが格納されていても書き込み中であり、その書き込み中のＦＩＦＯブロック１０ａ又は１０ｂ以外にはデータが格納されていない状態のような、読み出し不可能な場合のデータ格納情報を送信制御回路１１から受けたとき、送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力する。
【００５４】
以下に、図２のタイミングチャートを用いて、図１のデータ転送制御装置の動作を説明する。図２では、送信書き込み制御部１２の送信書き込み許可信号がアサートされているときに、転送元から送信書き込み要求許可信号がアサートされている様子を示している。この場合において、送信されてきたデータがＦＩＦＯブロック１０ａの最大容量分（図中の♯１）だけ格納されると、データの読み出しが可能となるので、送信読み出し制御部１３から送信読み出し許可信号がアサートされる。ここで、転送先から送信読み出し要求信号が送信されているので、ＦＩＦＯブロック１０ａからデータの読み出し及び転送が開始される。このＦＩＦＯブロック１０ａからデータが読み出されている間に、ＦＩＦＯブロック１０ｂには送信されてきたデータが格納されて行く（図中の♯２）。本実施の形態では、図２に示すように、ＦＩＦＯブロック１０ｂにデータ♯２が格納されるよりも、ＦＩＦＯブロック１０ａからデータ♯１が出力される方が早いので、ＦＩＦＯブロック１０ａから全てデータが出力された後は、まだ、ＦＩＦＯブロック１０ｂにデータを書き込み中となる。すなわち、データの読み出し可能なＦＩＦＯブロックが存在しない状態が生じる。そこで、送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号が送信ＴＥＲＭ制御部１４から出力される。この送信ＴＥＲＭ信号が出力されているとき、ＦＩＦＯからの読み出しは停止され、転送先データにはＨＯＬＤが挿入される。本実施の形態では、送信ＴＥＲＭ信号が出力されているときのデータはＳｅｒｉａｌＡＴＡにおけるＨＯＬＤという特殊パターンであるが、これが別のパターンであっても有効であることに変わりはない。
【００５５】
以上述べたように、本実施の形態におけるデータ転送制御装置及びその方法によれは、パケットの最大サイズよりも小さいＦＩＦＯを用いることによりデータ転送することが可能であり、ＦＩＦＯ容量の大幅な削減が可能となる。
【００５６】
更に、送信書き込みポインタ１１ａと送信読み出しポインタ１１ｃとのカウント値から得られる転送レートに基づき、出力する送信ＴＥＲＭ信号の幅を調節することにより転送先の転送レートを転送元に合わせてＨＯＬＤ期間を自動調節することが可能であり、転送レートの差を吸収して、効果的にデータ転送を行うことが可能となる。
【００５７】
（第２の実施の形態）
以下、第２の実施の形態について、図３に基づいて説明する。
【００５８】
図３は、連続したデータを送受信するシステムにおける第２の実施の形態のデータ転送制御装置を示す。本実施の形態では、連続したデータとしてパケットデータを扱う例を示す。
【００５９】
本実施の形態におけるＦＩＦＯは、書き込みと読み出しとを同時に行うことができるものである。図３において、ＦＩＦＯ１０は、最大パケット長より小さい容量をもつＦＩＦＯブロック１０ｃを有している。
【００６０】
送信制御回路１１は、第１の実施の形態において示した図１のデータ転送制御装置と同様に、送信書き込みポインタ１１ａと送信読み出しポインタ１１ｃとを有し、書き込み及び読み出しに応じてカウント値をインクリメントするそれらの機能は同様である。しかし、本実施の形態では、ＦＩＦＯブロックは１つであり、送信制御回路１１は、そのＦＩＦＯブロック１０ｃの最大容量を示す容量ポインタ１１ｆを１つ備える。
【００６１】
送信書き込み制御部１２は、送信制御回路１１からの書き込み情報を受け、書き込み可能又は不可能に応じて送信書き込み許可信号をアサート又はネゲートし、更に、送信転送元からの送信書き込み要求信号を受けたときには、書き込みを行わせるか否かの制御信号を送信制御回路１１に出力する構成は第１の実施の形態と同様である。しかし、本実施の形態では、書き込み情報は送信書き込みポインタ１１ａと送信読み出しポインタ１１ｃとのカウント値の差を容量ポインタ１１ｆの値と比較することにより得られる点で異なっている。
【００６２】
また、送信読み出し制御部１３においても、上述の送信書き込み制御部１２と同様に、書き込み情報が送信書き込みポインタ１１ａと送信読み出しポインタ１１ｃとのカウント値の差を容量ポインタ１１ｆの値と比較することにより得られる点で第１の実施の形態と異なる。
【００６３】
送信ＴＥＲＭ制御部１４は、本実施の形態では送信許可設定レジスタ１４ａを備えており、送信制御回路１１から得られた送信書き込みポインタ１１ａと送信読み出しポインタ１１ｃとのカウント値の差が、送信許可設定レジスタ１４ａの値（所定値）よりも小さいとき、すなわち、読み出される格納データが少なくなったとき、送信転送先へのデータ送信を一時停止させる送信ＴＥＲＭ信号を出力する。また、前記差が、送信許可設定レジスタ１４ａの値よりも大きいときは、読み出せるデータが十分に格納されていると判断して、送信読み出し制御部１３は、送信転送先に送信読み出し許可信号をアサートする。このとき、送信転送先から読み出し要求信号が送信されていれば、送信読み出し制御部１３は、送信制御回路１１に読み出しをさせる読み出し制御信号を出力する。
【００６４】
以下に、図４のタイミングチャートを用いて、図３のデータ転送制御装置の動作を説明する。本実施の形態では、送信許可設定レジスタ１４ａの値が３に設定されている例について説明する。この設定値のもと、図４では、送信書き込みポインタ１１ａの値が♯３になったとき、送信書き込みポインタ１１ａと送信読み出しポインタ１１ｃとのカウント値の差が３になるので、送信読み出し許可信号がアサートされる。しかし、送信書き込みポインタ１１ａのカウント値が♯４になる時点で、送信読み出しポインタ１１ｃのカウント値は♯２となっており、それらの差は送信許可設定レジスタ１４ａの３よりも小さい２となる。したがって、送信読み出し許可信号はネゲートされ、同時に、送信ＴＥＲＭ信号が出力される。続いて、読み出しが一時停止されている間に、書き込みが行われ、送信書き込みポインタ１１ａのカウント値が♯５になったとき、送信書き込みポインタ１１ａと送信読み出しポインタ１１ｃとの差は３になるので、再び読み出しが可能となり、送信読み出し許可信号がアサートされ、同時に、送信ＴＥＲＭ信号の出力が停止される。
【００６５】
以上述べたように、本実施の形態におけるデータ転送制御装置及びその方法によれば、上述のように、読み出しと書き込みとを同時に行うことができるＦＩＦＯを用いてデータ転送制御をすることにより、ＦＩＦＯ容量を更に削減することが可能となる。
【００６６】
（第３の実施の形態）
以下、第３の実施の形態について、図５に基づいて説明する。
【００６７】
図５は、連続したデータを送受信するシステムにおける第３の実施の形態のデータ転送制御装置を示す。本実施の形態では、連続したデータとしてパケットデータを扱う例を示す。
【００６８】
ＦＩＦＯ２０、受信制御回路２１、受信書き込み制御部２２及び受信読み出し制御部２３からなる構成については、第１の実施の形態において図１に示した送信用のデータ転送制御装置と同様であるので説明を省略する。
【００６９】
本実施の形態で用いられるデータ転送制御装置は受信用であるので、受信ＴＥＲＭ制御部２４は、ＦＩＦＯ２０に最大容量分のデータが格納されている場合、又は、読み出し中のＦＩＦＯブロック以外のＦＩＦＯブロックの格納データが最大容量になっている場合、すなわち、いずれのＦＩＦＯブロックにも書き込みが不可能である場合、更に言い換えれば、いずれのＦＩＦＯブロックにも最大容量のデータが格納されている状態、又は、空き領域を有するＦＩＦＯブロックは読み出し中であり、且つ、それ以外のＦＩＦＯブロックには最大容量のデータが格納されている状態であるような場合には、受信転送元からのデータ送信を一時停止させる受信ＴＥＲＭ信号を出力する。
【００７０】
以下に、図６のタイミングチャートを用いて、図５のデータ転送制御装置の動作を説明する。図６では、受信書き込み制御部２２の受信書き込み許可信号がアサートされているときに、転送元から受信書き込み要求許可信号がアサートされている様子を示している。この場合において、送信されてきたデータがＦＩＦＯブロック２０ａの容量分（図中の♯１）だけ格納されると、受信読み出し制御部２３から受信読み出し許可信号がアサートされる。そして、転送先から受信読み出し要求信号が送信されているので、ＦＩＦＯブロック２０ａからデータが出力され、転送される。また、このＦＩＦＯブロック２０ａからデータが出力されている間に、ＦＩＦＯブロック２０ｂには受信データが格納されて行く（図中の♯２）。本実施の形態では、図６に示すように、ＦＩＦＯブロック２０ａのデータ♯１が全て読み出される前にＦＩＦＯブロック２０ｂにデータ♯２が充填されるので、データ♯２の格納が終了した直後は、書き込み可能なＦＩＦＯブロックが存在しない状態となる。したがって、受信転送元からのデータ送信を一時停止させる受信ＴＥＲＭ信号が受信ＴＥＲＭ制御部２４から出力される。この受信ＴＥＲＭ信号が出力されているとき、ＦＩＦＯへの書き込みは停止され、転送元データにはＨＯＬＤが挿入される。このＨＯＬＤは、第１の実施の形態と同様に、別のパターンであっても有効であることに変わりはない。
【００７１】
以上述べたように、本実施の形態におけるデータ転送制御装置及びその方法によれば、受信書き込みポインタ２１ａと受信読み出しポインタ２１ｃとのカウント値から得られる転送レートに基づき、出力する受信ＴＥＲＭ信号の幅を調節することにより転送元の転送レートを転送先に合わせてＨＯＬＤ期間を自動調節することが可能であり、転送レートの差を吸収して、効果的にデータ転送を行うことが可能となる。
【００７２】
尚、本実施の形態においては、送信時のＦＩＦＯと受信時のＦＩＦＯとは別々になっているが、それらを兼用することが可能であることはいうまでもない。
【００７３】
（第４の実施の形態）
以下、第４の実施の形態について、図７に基づいて説明する。
【００７４】
図７は、連続したデータを送受信するシステムにおける第４の実施の形態のデータ転送制御装置を示す。本実施の形態では、連続したデータとしてパケットデータを扱う例を示す。
【００７５】
本実施の形態におけるＦＩＦＯは、第２の実施の形態において図３に示したデータ転送制御装置と同様に、書き込みと読み出しとを同時に行うことができるものである。
【００７６】
図７において、ＦＩＦＯブロック２０、受信制御回路２１、受信書き込み制御部２２及び受信読み出し制御部２３は、図３のデータ転送制御装置と同様である。また、本実施の形態では、ＦＩＦＯブロックは１つであり、受信制御回路２１は、そのＦＩＦＯブロック２０ｃの最大容量を示す容量ポインタ２１ｆを１つ備える。
【００７７】
また、受信書き込み制御部２２は、受信制御回路２１からの書き込み情報を受け、書き込み可能又は不可能に応じて受信書き込み許可信号をアサート又はネゲートし、更に、受信転送元からの送信書き込み要求信号を受けたときには、書き込みを行わせるか否かの制御信号を受信制御回路２１に出力する構成は第３の実施の形態と同様である。しかし、本実施の形態では、書き込み情報は受信書き込みポインタ２１ｆの値と比較することにより得られる点において異なっている。
【００７８】
更に、受信読み出し制御部２３においても、上述の受信書き込み制御部２２と同様に、書き込み情報が受信書き込みポインタ２１ａと受信読み出しポインタ２１ｃとのカウント値の差を容量ポインタ２１ｆの値と比較することにより得られる点において第３の実施の形態と異なる。
【００７９】
続いて、本実施の形態で用いられるデータ転送制御装置は受信用であるので、受信ＴＥＲＭ制御部２４は、ＦＩＦＯ２０へのデータ書き込みが不可能である場合に、転送元からのデータ送信を一時停止させる受信ＴＥＲＭ信号を出力する。具体的には、本実施の形態では、受信ＴＥＲＭ制御部２４には受信ＴＥＲＭ信号を出力する際の基準値を有する受信許可設定レジスタ２４ａが備えられており、受信制御回路２１から得られた受信書き込みポインタ２１ａと受信読み出しポインタ２１ｃとのカウント値の差が、受信許可設定レジスタ２４ａの値よりも大きいとき、すなわち、書き込まれた格納データが所定値以上になったとき、受信転送元からのデータ送信を一時停止させる受信ＴＥＲＭ信号を出力する。
【００８０】
以下に、図８のタイミングチャートを用いて、図７のデータ転送制御装置の動作を説明する。本実施の形態では、受信許可設定レジスタ２４ａの値が６に設定されている例について説明する。この設定値のもと、図８では、受信書き込みポインタ２１ａの値が♯５になった時、受信書き込みポインタ２１ａと受信読み出しポインタ２１ｃとのカウント値の差が５になり、受信読み出し許可信号がアサートされる。そして、受信書き込みポインタ２１ｃのカウント値が♯７になる時点で、受信読み出しポインタ２１ｃのカウント値は♯１となり、それらの差は受信許可設定レジスタ２４ａの６に等しくなる。したがって、書き込みを一時停止する必要が生じ、受信ＴＥＲＭ信号が出力される。続いて、書き込みが一時停止されている間に、読み出しが行われ、データ♯２の読み出し中に前記差が６よりも小さくなった時、再び書き込みが可能となり、受信ＴＥＲＭ信号は解除され、データ♯８の書き込みが開始される。
【００８１】
以上述べたように、本実施の形態におけるデータ転送制御装置及びその方法によれば、読み出しと書き込みとを同時に行うことができるＦＩＦＯを用いて受信制御をするので、ＦＩＦＯ容量を更に削減することが可能となる。
【００８２】
更に、受信ＴＥＲＭ信号の出力を決定する基準値を持ち、受信ＴＥＲＭ信号を出力後においても、続けて受信することができるデータ数（許容値）を設定するフル許可設定レジスタ（図示せず）を受信許可設定レジスタ２４ａとは別に備えることも可能である。このような構成とすることにより、転送元のデータが受信ＴＥＲＭ信号によって停止しない場合にも対応することができ、システムの安定性及び拡張性を向上させることが可能である。
【００８３】
また、オーバーランデータを受信できるように、受信ＴＥＲＭ信号の出力タイミングを受信許可設定レジスタで制御することにより、ＦＩＦＯを有効に使用することが可能となる。
【産業上の利用可能性】
【００８４】
本発明にかかるデータ転送制御装置及びデータ転送制御方法は、ＦＩＦＯを用いるパケット等の連続したデータ転送において、その連続データの途中で停止でき、ＦＩＦＯ容量を大幅に削減でき、しかもシステムの安定性と拡張性とを実現できる効果を有し、パケットのように単位毎に処理が必要なデータ転送システム等として有用である。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施の形態のデータ転送制御装置の構成図である。
【図２】第１の実施の形態におけるデータ転送制御方法を示したタイミングチャート図である。
【図３】本発明の第２の実施の形態のデータ転送制御装置の構成図である。
【図４】第２の実施の形態におけるデータ転送制御方法を示したタイミングチャート図である。
【図５】本発明の第３の実施の形態のデータ転送制御装置の構成図である。
【図６】第３の実施の形態におけるデータ転送制御方法を示したタイミングチャート図である。
【図７】本発明の第４の実施の形態のデータ転送制御装置の構成図である。
【図８】第４の実施の形態におけるデータ転送制御方法を示したタイミングチャート図である。
【図９】（ａ）は、ＳｅｒｉａｌＡＴＡにおけるパケットの転送例を示した図、（ｂ）は、ＳｅｒｉａｌＡＴＡにおけるパケットの別の転送例を示した図、（ｃ）は、ＳｅｒｉａｌＡＴＡにおけるパケットの更に別の転送例を示した図である。
【図１０】従来のデータ転送制御装置の構成図である。
【符号の説明】
【００８６】
１０、２０                          ＦＩＦＯ
１０ａ、１０ｂ、２０ａ、２０ｂ      ＦＩＦＯブロック
１１、２１                          送受信制御回路
１１ａ、２１ａ                      書き込みポインタ
１１ｂ、２１ｂ                      ＦＩＦＯブロック切替制御部
１１ｃ、２１ｃ                      読み出しポインタ
１１ｄ、１１ｅ、１１ｆ、
２１ｄ、２１ｅ、２１ｆ              容量ポインタ
１２、２２                          書き込み制御部
１３、２３                          読み出し制御部
１４、２４                          ＴＥＲＭ制御部（ＴＥＲＭ制御回路）
１４ａ、２４ａ                      送受信許可設定レジスタ
【図１】
2005182290.tif 000003
【図２】
2005182290.tif 000004
【図３】
2005182290.tif 000005
【図４】
2005182290.tif 000006
【図５】
2005182290.tif 000007
【図６】
2005182290.tif 000008
【図７】
2005182290.tif 000009
【図８】
2005182290.tif 000010
【図９】
2005182290.tif 000011
【図１０】
2005182290.tif 000012