[go: up one dir, main page]

JP2004054344A - Data transfer device - Google Patents

Data transfer device Download PDF

Info

Publication number
JP2004054344A
JP2004054344A JP2002207105A JP2002207105A JP2004054344A JP 2004054344 A JP2004054344 A JP 2004054344A JP 2002207105 A JP2002207105 A JP 2002207105A JP 2002207105 A JP2002207105 A JP 2002207105A JP 2004054344 A JP2004054344 A JP 2004054344A
Authority
JP
Japan
Prior art keywords
data
transmission
signal
packet
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002207105A
Other languages
Japanese (ja)
Other versions
JP4410978B2 (en
Inventor
Hitoshi Yamamoto
山本 斉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002207105A priority Critical patent/JP4410978B2/en
Publication of JP2004054344A publication Critical patent/JP2004054344A/en
Application granted granted Critical
Publication of JP4410978B2 publication Critical patent/JP4410978B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data transfer device for improving a processing capability by starting the transmission of a transmission packet early and for suppressing the occurrence of a data error packet. <P>SOLUTION: An arithmetic circuit 34 outputs, from a data bus CSTV [15:0] to a comparator 32, data automatically changed to an optimum value based on a signal PIRDYB indicating whether or not a PCI master controller is capable of transferring data and transmitted from the PCI master controller and a signal PTRDYB indicating whether or not a memory 8 is capable of transferring data and transmitted from a chip set 6. An output signal FREQB of the comparator 32 is asserted when satisfying DTC[15:0]≥DL[15:0] and/or DTC[15:0]≥CSTV[15:0], and request the transmission to a transmission FIFO 15. A transmission DMAC 14 automatically changes a transmission start time of the packet according to a processing condition of reading data from a PCI bus 5. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、データ送信用にFIFO等の記憶装置を用いたIEEE1394等で使用するデータ転送装置に関し、特にOHCI(Open Host Controller Interface)規格に準拠したLINKデバイスをなすデータ転送装置に関する。
【0002】
【従来の技術】
従来、データ送信用にFIFO等の記憶装置を用いIEEE1394の規格に準拠したデータ転送装置では、パケット送信の開始タイミングが遅いと転送性能を低下させるという問題があった。このような問題が特に顕著に表れるのは、IEEE1394規格に準拠したインタフェース(以下、IEEE1394インタフェースと呼ぶ)を有するパーソナルコンピュータ(以下、PCと呼ぶ)にハードディスク装置(以下、HDD装置と呼ぶ)を接続して、その相互間でデータ転送したときである。
【0003】
このような場合、PCとHDD装置は、IEEE1394の規格で規定されているアイソクロナス(Isochronous)パケットとアシンクロナス(Asynchronous)パケットの内、アシンクロナスパケットを使用している。また、アシンクロナスパケットの内でもソフトウェアが介在せずハードウェアのみで高速にデータ転送を行うために用意されたフィジカル・リクエスト(Physical Request)パケットがHDD装置からPCに送信される。そして、PC内のIEEE1394インタフェース装置は、受信したフィジカル・リクエストパケットに対する処理を実行した後、フィジカル・レスポンス(Physical Response)パケットを送信する。
【0004】
PCのIEEE1394インタフェース装置とHDD装置はIEEE1394の規格に準拠したバス(以下、IEEE1394バスと呼ぶ)で接続されており、IEEE1394インタフェース装置は、PCIバスを介してPCのCPUに接続されている。このようなPC内のIEEE1394インタフェース装置でのデータの流れについて説明する。図15は、IEEE1394バス及びPCIバスでのデータの流れにおける概略のタイミング例を示した図である。
【0005】
図15で示しているように、A期間では、HDD装置からIEEE1394バス上にPCへのフィジカル・リードリクエストパケットが送信される。次に、B期間では、PC内のIEEE1394インタフェース装置は、PCIバス及びチップセットを介してPC内のメモリ部からデータを読み出し、該メモリ部からのデータ読み出しが完了して送信用FIFOにパケットを準備する。次に、C期間では、IEEE1394バス上にフィジカル・リードレスポンスパケットがPCからHDD装置に送信される。
【0006】
このような状態では、HDD装置からPCへのデータ転送要求はフィジカル・リードリクエストパケットでなされ、ソフトウェアが介在せずにハードウェアのみで高速にデータ転送しようとしているため、図16で示すように、B期間でのデータ読み出し処理が終了していない状態でも、送信用FIFOには送信パケットの最初のデータは用意できていることから、C期間のスタートを早めて処理能力を向上させる方法が考えられる。
【0007】
【発明が解決しようとする課題】
しかし、IEEE1394の規格では、一度パケットを送信し始めるとそのデータ送信を止めることできなかった。このため、前記のような処理能力を向上させる方法では、前記送信開始時間を早め過ぎると、図17で示すように、PCIバス側のデータ読み出しが間に合わず、IEEE1394バス上に送信しているフィジカル・レスポンスパケットのデータが途切れ、図17の斜線で示した部分が不完全なデータ部分となり、不完全なパケットになってしまうという問題があった。
【0008】
また、前記送信開始時間をあまり早めないような場合においても、PCIバスには様々なデバイスが接続されており、これらのデバイスのアクセスによって、IEEE1394インタフェース装置に割り当てられるPCIバス使用時間が短くなり、送信パケットにおける最後の方のデータが準備できない場合があった。このような場合、IEEE1394のプロトコルでは、再度HDD装置が前記と同じフィジカル・リクエストパケットを送信して再処理が開始されることから、処理能力が低下するという問題があった。
【0009】
本発明は、上記のような問題を解決するためになされたものであり、送信パケットの送信開始タイミングを早くして処理能力を向上させることができると共に、不完全なデータエラーパケットの発生を抑えることができるデータ転送装置を得ることを目的とする。
【0010】
【課題を解決するための手段】
この発明に係るデータ転送装置は、外部システム装置と内部システム装置との間でデータ転送を行うデータ転送装置において、前記内部システム装置とのインタフェースを行う第1インタフェース回路部と、前記外部システム装置とのインタフェースを行う第2インタフェース回路部と、前記第1インタフェース回路部を介して前記内部システム装置から入力されたデータを一時的に記憶し、入力された制御信号に応じて、該記憶したデータを第2インタフェース回路部を介して前記外部システム装置へ送信する送信用データ記憶部と、該送信用データ記憶部に記憶されたデータ量をモニタし、該モニタしたデータ量が所定値を超えると、前記送信用データ記憶部に記憶されたデータを前記第2インタフェース回路部へ送信させる、送信用データ記憶部の動作制御を行う制御回路部とを備え、前記制御回路部は、前記内部システム装置のデータ転送能力に応じて前記所定値を変え、前記モニタしたデータ量が、該所定値未満であると共に前記外部システム装置から送信要求があったデータ量未満である場合は、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を禁止するものである。
【0011】
具体的には、前記制御回路部は、前記内部システム装置のデータ転送能力が低下して該内部システム装置からのデータ転送が停止すると、あらかじめ設定された値を前記所定値に加算するようにした。
【0012】
また、前記制御回路部は、前記内部システム装置からデータ転送が行われている間は、前記所定値に対する、前記あらかじめ設定された値の加算を停止するようにしてもよい。
【0013】
一方、前記制御回路部は、送信用データ記憶部から第2インタフェース回路部へデータ送信を行っている際に、前記内部システム装置からのデータ送信が間に合わず該送信用データ記憶部からのデータ送信に失敗すると、内部システム装置から再度データ転送が行われるときに、前記モニタしたデータ量が、前記外部システム装置から送信要求があったデータ量になると、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を行わせるようにしてもよい。
【0014】
【発明の実施の形態】
次に、図面に示す実施の形態に基づいて、本発明を詳細に説明する。
第1の実施の形態.
図1は、本発明の第1の実施の形態におけるデータ転送装置の例を示したブロック図である。なお、図1では、IEEE1394規格に準拠したPCに、IEEE1394規格に準拠したHDD装置を接続し、該PCとHDD装置との相互間でデータ転送を行う場合を例にして示している。また、図1で示した各ブロック間の矢印は、データの流れのみを示している。
【0015】
図1において、データ転送装置1は、IEEE1394インタフェース装置をなしてPC2内に設けられており、IEEE1394バス3を介してIEEE1394規格に準拠したHDD装置4に接続されている。更に、データ転送装置1は、PC2内で、PCIバス5を介してチップセット6に接続され、該チップセット6はCPU7及びメモリ部8にそれぞれ接続されている。チップセット6は、PCIバス5とCPU7及びメモリ部8とのインタフェースを行うものである。なお、HDD装置4は外部システム装置をなし、PCIバス5、チップセット6、CPU7及びメモリ部8は内部システム装置をなす。
【0016】
一方、データ転送装置1は、IEEE1394規格に準拠したリンク(LINK)層と物理(PHY)層が形成されてなるLINK/PHY回路11と、受信用FIFO12と、受信用DMAC(Direct Memory Access Controller)13と、送信用DMAC14と、送信用FIFO15と、PCIバス5との間でのデータ送受信の制御を行うPCIインタフェース制御回路16とを備えている。なお、LINK/PHY回路11は第2インタフェース回路部を、PCIインタフェース制御回路16は第1インタフェース回路部をそれぞれなし、送信用DMAC14は制御回路部を、送信用FIFO15は送信用データ記憶部をそれぞれなす。
【0017】
LINK/PHY回路11は、IEEE1394バス3を介してHDD装置4から入力されたデータを受信用FIFO12に一時的に記憶し、受信用DMAC13は、受信用FIFO12に記憶されたデータを読み出し(以下、データの読み出しをリードと呼ぶ)、該リードしたデータに応じて該データを送信用DMAC14又はPCIインタフェース制御回路16に出力する。PCIインタフェース制御回路16は、入力されたデータをPCIバス5を介してチップセット6に出力する。一方、送信用DMAC14は、PCIインタフェース制御回路16に入力されたデータを送信用FIFO15に一時的に記憶させ、送信用FIFO15に記憶されたデータは、LINK/PHY回路11を介してIEEE1394バス3に出力される。
【0018】
PC2とHDD装置4は、相互間でデータ転送を行う場合、IEEE1394規格で規定されているアイソクロナスパケットとアシンクロナスパケットの内、アシンクロナスパケットを使用している。また、アシンクロナスパケットの内でも、ソフトウェアが介在せずハードウェアのみで高速にデータ転送をするために用意されたフィジカル・リクエストパケットがHDD装置4からPC2に送信される。そして、PC2にあるデータ転送装置1は、受信したフィジカル・リクエストパケットに対する処理を実行した後、フィジカル・レスポンスパケットをHDD装置4に送信する。
【0019】
このような場合におけるデータ転送装置1内のデータの流れについて、もう少し詳細に説明する。まず、HDD装置4からフィジカル・リクエストパケットがPC2にIEEE1394バス3を介して送信される。該フィジカル・リクエストパケットは、LINK/PHY回路11を経て受信用FIFO12に蓄えられる。そして、受信用DMAC13は、受信用FIFO12から前記フィジカル・リクエストパケットをリードし、該リードしたパケットが単純なアシンクロナスパケットではなくフィジカルパケットであると判断すると、送信用DMAC14に該パケットを転送する。
【0020】
次に、送信用DMAC14は、入力されたパケットの内容にしたがって、PCIバス5に接続されたチップセット6を経由して、メモリ部8から所望のデータをリードして送信用FIFO15に蓄える。PCIバス5を介してメモリ部8から所定のデータをリードして、送信用FIFO15に、フィジカル・レスポンスパケットが送信用DMAC14内に内蔵されたレジスタ値数分準備できると、送信用DMAC14は、LINK/PHY回路11に送信準備ができたことを示す制御信号をイネーブルにして、LINK/PHY回路11から該フィジカル・レスポンスパケットがIEEE1394バス3を介してHDD装置4へ送信される。
【0021】
一方、PCIバス5を使用してメモリ部8の内部データをリードしているとき、PCIバス5の空き状況やメモリ部8にデータが用意できているかどうか等でデータリードに要する時間が時々刻々と変化する。送信用DMAC14は、該変化をPCIバス5の状態を示す信号から判断し、内蔵レジスタ(図示せず)の値を変える。例えば、PCIバス5が空いていないためデータリードができない場合は該レジスタ値を大きくし、PCIバス5が空いていてデータをスムーズにリードできる場合は該レジスタ値を小さくする。
【0022】
このようにすることにより、図16で示したC期間の開始時期が、PCIバス5を介してのデータリード状況に応じて自動的に前後し、図17で示したような状態になりにくくすることができる。また、受信したフィジカル・リクエストパケットに対するフィジカル・レスポンスパケットの送信を最適な時間に開始するだけでなく、単純なアシンクロナスパケットの送信を最適な時間で開始することにも使用することができる。
【0023】
ここで、図2は、IEEE1394規格のパケットの概略構成例を示した図である。図2に示すように、IEEE1394のパケットは、1wordが32bitで4word以下で構成された、パケットのタイプやアドレス等の情報が入ったヘッダー部と、1wordが32bitで2048word以下で構成された、データが入っているデータ部とに大別される。また、パケットの種類によってはデータ部がないパケットも存在する。
【0024】
また、送信用DMAC14は、送信用パケットを作成するためのプログラムに似たデスクリプタというデータを使用する。図3は、このようなデスクリプタの概略構成例を示した図である。図3に示すように、デスクリプタは、1wordが32bitで4wordを1つの基本単位とし、1つのデスクリプタは最大8wordで構成されている。デスクリプタDescriptor0〜Descriptor3には、デスクリプタのタイプ、データ部を作成するためのメモリアドレス及び次のデスクリプタメモリアドレス等が入ったコントロール部分が、デスクリプタDescriptor4〜Descriptor7には、送信用FIFO15に書き込まれる(以下、データの書き込みをライトと呼ぶ)送信パケットのヘッダー部のデータが蓄えられている。
【0025】
次に、図4は、送信用DMAC14の構成例を示したブロック図である。図4で示すように、送信用DMAC14は、送信パケットを作成するプログラムのようなものであるデスクリプタ又は前述したようなフィジカル・リードリクエストパケットを蓄えるレジスタ21を備え、該レジスタ21は、32bit×8wordのレジスタで構成されている。フィジカル・リードリクエストパケットは、受信用DMAC13からデータバスREQD[31:0]から入力され、デスクリプタは、PCIインタフェース制御回路16内のPCIマスタコントローラ(図示せず)からリードデータバスMD[31:0]を介して入力される。
【0026】
また、送信用DMAC14は、マルチプレクサ(MUX)22を備え、該マルチプレクサ22は、レジスタ21から入力される送信用パケットにおけるヘッダー部のデータ、又はリードデータバスMD[31:0]から入力される送信用パケットにおけるデータ部のデータのいずれかを排他的に選択し、データバスFD[31:0]を介して送信用FIFO15に出力する。また、送信用DMAC14は、送信用DMAC14内のすべてのタイミング制御信号を作成するタイミング制御回路部23を備えている。該タイミング制御回路部23には、フィジカル・リードリクエストパケットのデータライト期間を示す信号REQWRBが受信用DMAC13から入力される。
【0027】
タイミング制御回路部23は、前記PCIマスタコントローラに対して、PCIマスタコントローラへのアドレスをデータバスMA[31:0]へ、及びリード要求のデータレングス値を示すデータをデータバスML[15:0]へそれぞれ出力すると共に、リード要求開始を示す信号MREQ及びデータをリードすることを示す信号MRDBをそれぞれ出力する。信号MREQはハイレベルでアクティブとなり、信号MRDBはローレベルでアクティブとなる。
【0028】
タイミング制御回路部23は、前記PCIマスタコントローラ内にあるFIFO(図示せず)にリードされたデータがないことを示す信号MEMPが入力される。また、タイミング制御回路部23は、PCIインタフェース制御回路16内のPCIスレーブコントローラ(図示せず)に接続された入出力データバスSD[31:0]が接続され、該PCIスレーブコントローラからのライト要求信号SWRBが入力され、タイミング制御回路部23内にあるスタートレジスタ31へのライトを実現する。
【0029】
タイミング制御回路部23は、タイミング制御を実施するために必要なデータが、レジスタ21からデータバスDD#[31:0](#は0から3の4系統のバスであることを示す)を介して入力される。また、タイミング制御回路部23は、送信用FIFO15へのライトパケットの最終データであることを示す信号FEOP、送信用FIFO15へのライト要求信号FWRB、及び送信用FIFO15にデータが用意できLINK/PHY回路11に送信開始を要求する信号FREQBを出力する。
【0030】
該信号FREQBは、コンパレータ32から出力され、該コンパレータ32には、入力として送信用パケットのデータ部のデータを送信用FIFO15にライトしたワード数をカウントするデータアップカウンタ33からの出力データバスDTC[15:0]からのデータ、及びデータバスDD#[31:0]からのデータから要求バイト数データを伝送するデータバスDL[15:0]からのデータがそれぞれ入力される。
【0031】
更に、コンパレータ32には、外部から設定可能なスタートレジスタ31から出力データバスSTV[15:0]を介して出力されたデータを、演算回路34によって、信号PIRDYB及びPTRDYBから最適値に自動的に変更されたデータが、データバスCSTV[15:0]を介して入力される。信号PIRDYBは、PCIマスタコントローラがデータ転送可能な状態であるか否かを示すPCIマスタコントローラから出力された信号であり、信号PTRDYBは、メモリ部8がデータ転送可能な状態にあるか否かを示すチップセット6から出力された信号である。
【0032】
コンパレータ32の出力信号FREQBが、(データバスDTC[15:0]からのデータ)≧(データバスDL[15:0]からのデータ)及び/又は(データバスDTC[15:0]からのデータ)≧(データバスCSTV[15:0]からのデータ)である場合、ロー(Low)レベルとなってアサートされ、送信用FIFO15に対して送信要求が行われる。送信用DMAC14は、レスポンスパケットを準備するために必要なPCIバス5からのデータリードの処理状況によって、該パケットの送信開始時間を自動的に変更させるようにした。
【0033】
図5は、演算回路34の内部構成例を示したブロック図である。図5に示すように、演算回路34は、16bitのレジスタ41を備え、マルチプレクサ(MUX)42からデータが入力される。マルチプレクサ42には、データバスSTV[15:0]及び加算器43から出力された加算結果が入力され、マルチプレクサ42は、信号MREQがハイ(High)レベルのときは、データバスSTV[15:0]からのデータを、信号MREQがローレベルのときは、加算器43の出力信号を選択して出力する。また、加算器43は、レジスタ41からデータバスCSTV[15:0]を介して出力されたデータと、マルチプレクサ(MUX)44から出力されたデータを加算して出力する。
【0034】
また、信号PIRDYBがインバータ45に入力され、該インバータ45の出力信号と信号PTRDYBが入力されたAND回路46の出力信号が、マルチプレクサ44のセレクト信号として入力される。マルチプレクサ44は、該セレクト信号がハイレベルのときは所定値「0004h」を、該セレクト信号がローレベルのときは所定値「0000h」を選択して出力する。
【0035】
次に、図6〜図10は、送信用DMAC14が送信用FIFO15に送信パケットをライトし、LINK/PHY回路11にパケットリード要求を出すまでのタイミング例を示している。図6〜図10を用いてパケット送信時のデータ転送装置1の動作について、もう少し詳細に説明する。
パケットを送信する際には、まず、送信パケットを作成するための情報としてデスクリプタ又はフィジカル・リードリクエストパケットのいずれかをレジスタ21にライトする必要がある。
【0036】
図6は、デスクリプタをレジスタ21にライトするための各信号を示したタイミングチャートである。
図6において、タイミングT2で、PCIマスタコントローラへのリード要求を示す信号MREQがハイレベルになってアサートされ、同時に図4のタイミング制御回路部23内にあるレジスタ(図示せず)に格納されたデスクリプタのメモリアドレスレジスタ値がデータバスMA[31:0]に出力され、32バイト分のデータをリードするためにデータバスML[15:0]にデータ「0020h」が出力される。
【0037】
そして、PCIインタフェース制御回路16内のPCIマスタコントローラは、PCIバス5側からデータリードができると、前記PCIマスタコントローラ内にあるFIFO(図示せず)が、格納するデータがない状態であるエンプティ状態でなくなるため、信号MEMPがローレベルになる。タイミング制御回路部23は、信号MEMPがローレベルになると、前記PCIマスタコントローラへのデータリード要求信号MRDBをローレベルにする。次に、リードデータバスMD[31:0]を介して順次リードされたデスクリプタデータS0〜S7が、レジスタ21に蓄えられる。
【0038】
次に、図7は、フィジカル・リードリクエストパケットをレジスタ21にライトするためのタイミングを示したタイミングチャートである。
図7に示すように、タイミングT6〜T9の期間、受信用DMAC13から信号REQWRBがローレベルになり、データバスREQD[31:0]からフィジカル・リードリクエストパケットP0〜P3がリードされ、レジスタ21にライトされる。このようにデスクリプタ又はフィジカル・リードリクエストパケットのいずれかがレジスタ21にライトされ、送信用FIFO15に送信パケットをライトする準備が整う。
【0039】
次に、図8は、送信パケットのヘッダ部を送信用FIFO15にライトするタイミング例を示したタイミングチャートである。
図8では、タイミングT6〜T9の期間、信号FWRBがローレベルになって、送信用FIFO15にデータがライトされることを示している。この場合、送信用DMAC14は、信号FWRBをローレベルにすると共に、レジスタ21にすでに蓄えられているヘッダー部のデータをデータバスFD[31:0]に出力する。また、このときのパケットの最終データはまだライトしないことから、信号FEOPはローレベルのままである。このようにして、送信用DMAC14は、送信用FIFO15にパケットのヘッダー部をライトさせる。
【0040】
次に、図9及び図10は、図6又は図7のタイミングでレジスタ21に蓄えたデータを基にして、送信用DMAC14が送信用FIFO15にデータ部をライトするときのタイミング例を示したタイミングチャートである。なお、図9及び図10で示した信号PFRMB,PIRDYB,PTRDYB,PSTOPB及びデータバスPAD[31:0]は、PCIバス5と接続される信号である。また、PCI規格で用いる用語「イニシエータ」及び「ターゲット」において、ここではPCIバス5からのデータリードのみの説明であるため、イニシエータはデータ転送装置1であり、ターゲットはメモリ部8となる。
【0041】
図9及び図10において、信号PFRMBは、PCIバス5のバスサイクルが実行されているか否かを示す信号であり、チップセット6から出力される。また、信号PSTOPBはターゲットがイニシエータに対して現在実行中のトランザクションの中止を要求するときにチップセット6がアサートする信号であり、データバスPAD[31:0]は、PCIバス5上における、アドレスとデータの入出力バスである。
【0042】
図9において、タイミングT1で、送信用DMAC14は信号MREQをハイレベルに立ち上げてPCIマスタコントローラへリード要求を行う。同時に、送信用DMAC14は、データバスMA[31:0]にメモリアドレスデータMSAを、また、例えば「30h」byteのデータを用意しようとしている場合、データバスML[15:0]にデータ「0030h」をそれぞれ出力する。これらを受けて、PCIマスタコントローラは、タイミングT2から信号PFRMBをローレベルにしてアサートし、かつデータバスPAD[31:0]にメモリ部8に対するメモリアドレスデータMSAを出力する。
【0043】
次に、PCIマスタコントローラは、タイミングT3から信号PIRDYBをローレベルにしてアサートし、データリードが可能であることをチップセット6に知らせる。そして、チップセット6は、タイミングT4から信号PTRDYBをローレベルにしてアサートしデータ送信が可能であることを示すと同時に、データバスPAD[31:0]に順次データを出力する。タイミングT10でチップセット6によって信号PSTOPBがローレベルになってアサートされデータ転送を中止する要求が起こり、タイミングT11からチップセット6によって信号PTRDYBがハイレベルになってデアサートされる。PCIマスタコントローラは、タイミングT11で信号PFRMBを、タイミングT12で信号PIRDYBをそれぞれハイレベルにしてデアサートし、データ転送を中断する。
【0044】
しかし、送信用DMAC14からPCIマスタコントローラへのリード要求は「30h」byteであるため、PCIマスタコントローラは、タイミングT13から信号PFRMBを再度ローレベルにしてアサートすることによってリード要求を行い、タイミングT13で前回のデータリードの続きのアドレス「MSA+1Ch」をデータバスPAD[31:0]に出力する。
【0045】
チップセット6は、タイミングT15で信号PTRDYBをローレベルにしてアサートし、タイミングT15〜T19でメモリ部8からのデータをデータバスPAD[31:0]に順次出力する。また、PCIマスタコントローラは、タイミングT19で合計「30h」byteのデータリードが終了するため、信号PFRMBをハイレベルにしてデアサートし、トランザクションの終了をチップセット6に知らせる。信号PIRDYB及びPTRDYBは、タイミングT20からそれぞれハイレベルになってデアサートされる。
【0046】
このようなことから、タイミングT5〜T11及びタイミングT16〜T20で、PCIマスタコントローラから送信用DMAC14に入力される信号MEMPがローレベルになる。このため、送信用DMAC14は、タイミングT5で信号MRDB及びFWRBをローレベルにし、送信用FIFO15に順次データをライトさせ、タイミングT20では最終データであるため信号FEOPをハイレベルにし、送信用FIFO15に最終データがライトされる。
【0047】
また、送信用FIFO15へのデータライトしたバイト数を示すデータバスDTC[15:0]からのデータは、タイミングT2のデータライト開始タイミングでデータ「0h」にされてから、送信用FIFO15にデータがライトされるごとに4インクリメントされる。また、スタートレジスタ31からデータバスSTV[15:0]に出力されるデータが「14h」である場合、演算回路34からデータバスCSTV[15:0]にタイミングT2でデータバスSTV[15:0]からのデータ「14h」が出力される。
【0048】
信号PIRDYBがローレベルであると共に信号PTRDYBがハイレベルであり、データリードしようとしているがターゲット側からデータが来ない期間を示すタイミングのとき、すなわちタイミングT3及びT14のとき、マルチプレクサ44からデータ「0004h」が出力され、データバスCSTV[15:0]のデータが加算器43によって4インクリメントされる。また、タイミングT11では、図4におけるコンパレータ32の比較結果が変化するため、タイミングT12で信号FREQBがローレベルになってアサートされ、LINK/PHY回路11に対してパケットリード要求が行われる。
【0049】
図9と同様のタイミング例ではあるが、信号PIRDYBがローレベルであると共に信号PTRDYBがハイレベルであり、データリードしようとしているがターゲット側からデータが来ない期間を示すタイミングが図9より長い場合の例を図10に示す。
図10に示すように、前記データが来ない期間がタイミングT3,T4,T14,T15で存在し、これらのときにデータバスCSTV[15:0]のデータは順次4インクリメントされる。また、タイミングT20で図4のコンパレータ32の比較結果が変化するため、タイミングT21で信号FREQBがローレベルになってアサートされ、LINK/PHY回路11に対してパケットリード要求が行われる。
【0050】
このように、本第1の実施の形態におけるデータ転送装置は、図10では図9よりもターゲットのPCIバス5へのデータ転送能力が低く、かつ、図9ではデータ部の「18h」byte目、図10では「24h」byte目のデータが用意できた時点で、送信用DMAC14が、LINK/PHY回路11に対してパケットリード要求を行っている。このことから、PCIバス5のトランザクションでターゲットの状態及び転送能力に応じて自動的に送信パケットリード要求タイミングを変更することできる。
【0051】
第2の実施の形態.
図11は、本発明の第2の実施の形態におけるデータ転送装置の演算回路の構成例を示した図である。なお、本発明の第2の実施の形態におけるデータ転送装置の例を示したブロック図は、図1の送信用DMAC14を送信用DMAC14aにし、図1のデータ転送装置1をデータ転送装置1aにした以外は図1と同じであるので省略する。また、送信用DMAC14aの構成例を示したブロック図は、図4のタイミング制御回路部23をタイミング制御回路部23aにした以外は図4と同じであるので省略する。図11では、図5と同じものは同じ符号で示している。送信用DMAC14aは制御回路部をなしている。
【0052】
図11に示すように、演算回路34aは、16bitのレジスタ41を備え、マルチプレクサ42からデータが入力される。マルチプレクサ42には、データバスSTV[15:0]からのデータ及び加算器43から出力された加算結果が入力されている。マルチプレクサ42は、OR回路52によって、信号MREQがハイレベルのとき又はコンパレータ51の比較結果がハイレベルのときには、データバスSTV[15:0]からのデータが選択され、これ以外のときは加算器43から出力されたデータが選択される。コンパレータ51は、データバスSTV[15:0]からのデータと加算器43から出力されたデータとの比較を行い、データバスSTV[15:0]からのデータが加算器43から出力されたデータよりも小さい場合はハイレベルの信号を出力し、これ以外の場合はローレベルの信号を出力する。
【0053】
加算器43には、レジスタ41からデータバスCSTV[15:0]を介して出力されたデータと、マルチプレクサ44から出力されたデータを加算して出力する。また、信号PIRDYB及びPTRDYBが対応する入力端に入力されたNOR回路53の出力信号は、マルチプレクサ44のセレクト信号として入力される。マルチプレクサ44は、該セレクト信号がハイレベルのときは所定値「FFFCh」を、該セレクト信号がローレベルのときは所定値「0004h」を選択して出力する。
【0054】
このような構成において、図12は、送信用DMAC14aが送信用FIFO15に送信パケットをライトし、LINK/PHY回路11にパケットリード要求を出すまでのタイミング例を示したタイミングチャートである。
図12は、図10で示したタイミングとほぼ同様であるが、図10との相違点は、データバスSTV[15:0]からのデータが「1Ch」であることと、データバスCSTV[15:0]からのデータが異なることにある。データバスCSTV[15:0]からのデータは、タイミングT2でデータバスSTV[15:0]の値である「1Ch」に設定された後、実際にPCIバス5上でデータ転送されているタイミングT5〜T10及びタイミングT16〜T21でそれぞれ4デクリメントされ、これ以外のデータ転送が実行されていないタイミングでは4インクリメントされている。
【0055】
しかし、タイミングT9〜T11及びタイミングT22では、コンパレータ51の出力がハイレベルになるため、マルチプレクサ42はデータバスSTV[15:0]からのデータを選択し、レジスタ41からデータバスCSTV[15:0]へ出力されるデータは、データバスSTV[15:0]からのデータ「1Ch」のままである。また、タイミングT20で図4のコンパレータ32の比較結果が変化するため、タイミングT21で信号FREQBがローレベルになってアサートされ、送信用DMAC14aからLINK/PHY回路11へパケットリード要求が出力される。
このようにすることにより、本第2の実施の形態におけるデータ転送装置は、前記第1の実施の形態と同様の効果を得ることができる。
【0056】
第3の実施の形態.
図13は、本発明の第3の実施の形態におけるデータ転送装置の送信用DMACの構成例を示した図である。なお、本発明の第3の実施の形態におけるデータ転送装置の例を示したブロック図は、図1の送信用DMAC14を送信用DMAC14bにし、図1のデータ転送装置1をデータ転送装置1bにした以外は図1と同じであるので省略する。また、図13では、図4と同じものは同じ符号で示し、ここではその説明を省略すると共に図4との相違点のみ説明する。送信用DMAC14bは制御回路部をなす。
【0057】
図13における図4との相違点は、マルチプレクサ(MUX)61、D型フリップフロップ62、AND回路63及びインバータ64を追加したことにあり、これに伴って図4の送信用DMAC14を送信用DMAC14bにしたことにある。
図13において、インバータ64には、送信用FIFO15に準備されたデータをLINK/PHY回路11からIEEE1394バス3へ送信を開始したが、送信用FIFO15内へのデータの準備が間に合わなくなって送信パケットがデータエラーになったときにハイレベルになる信号UNDERTMが送信用FIFO15から入力される。
【0058】
マルチプレクサ61には、データバスDL[15:0]からのデータとデータバスCSTV[15:0]からのデータがそれぞれ入力されている。マルチプレクサ61は、D型フリップフロップ62の出力端QBからの出力信号に応じて、データバスDL[15:0]からのデータ又はデータバスCSTV[15:0]からのデータのいずれか一方をコンパレータ32の対応する入力端に出力する。D型フリップフロップ62のD入力端には電源電圧VDDが入力され、リセット端RBにはインバータ64の出力信号が入力されている。また、D型フリップフロップ62のクロック信号入力端にはAND回路63の出力信号が入力され、AND回路63の各入力端には、D型フリップフロップ62から出力された信号と信号FREQBが対応して入力されている。
【0059】
このような構成において、図14は、図13の各信号のタイミング例を示したタイミングチャートである。図14において、タイミングT1〜T6及びタイミングT8〜T13で送信用FIFO15にパケットをライトする。また、タイミングT3で信号FREQBがローレベルになってアサートされ、送信用FIFO15からLINK/PHY回路11を介してIEEE1394バス3へパケット送信が開始されたが、タイミングT5で送信用FIFO15内へのデータ準備が間に合わず信号UNDERTMがハイレベルとなる。これに伴って、タイミングT5でD型フリップフロップ62の出力端QBがハイレベルに立ち上がる。このため、マルチプレクサ61は、データバスDL[15:0]からのデータを選択し、データバスNSTV[15:0]を介してコンパレータ32の対応する入力端に出力する。
【0060】
したがって、コンパレータ32は、データバスDTC[15:0]からのデータとデータバスDL[15:0]からのデータとの比較を行うことになる。このことから、データエラーが発生した次のパケットは、必ず送信用FIFO15にデータが用意できたときのみ送信要求が行われる。しかし、一度確実にパケット送信を行った後は、タイミングT18でAND回路63の出力端がローレベルからハイレベルに立ち上がり、D型フリップフロップ62の出力端QBはローレベルになる。
【0061】
このため、マルチプレクサ61からはデータバスCSTV[15:0]からのデータが選択されて出力され、コンパレータ32は、データバスDTC[15:0]、データバスDL[15:0]及びデータバスCSTV[15:0]からの各データの比較を行った結果を示した信号FREQBを出力する。このことから、送信用FIFO15からLINK/PHY回路11へのデータ転送を開始するタイミングは、演算回路34の機能が作用したタイミングになる。
【0062】
このように、本第3の実施の形態におけるデータ転送装置は、前記第1の実施の形態と同様の効果を得ることができると共に、パケット送信を行っているときにデータエラーが発生した場合、次の送信パケットの送信が確実に行うことができるため、システム上の安定度を向上させることができる。
【0063】
なお、前記第1から第3の各実施の形態において、符号の末尾にBを付けている信号、信号入力端及び信号出力端は、ローレベルでアクティブになり、符号の末尾にBが付いていない信号、信号入力端及び信号出力端は、ハイレベルでアクティブになることをそれぞれ示している。
【0064】
【発明の効果】
上記の説明から明らかなように、本発明のデータ転送装置によれば、データ転送装置の処理能力を向上させるため、パケット送信タイミングを早めたような場合でも、その送信データの準備をするための内部システム装置の状態によって自動的に送信開始タイミングを変更することができるため、データエラーとなった送信パケットの発生を低減させることができ、データ転送処理能力を更に向上させることができる。また、データ転送処理能力を向上させるために送信開始タイミングを早めた際に送信パケットがデータエラーになった場合、該データエラーとなった送信パケットを再送する際は、送信開始タイミングを早める処理を無効にすることによって、確実なデータ転送が可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるデータ転送装置の例を示したブロック図である。
【図2】IEEE1394規格のパケットの概略構成例を示した図である。
【図3】デスクリプタの概略構成例を示した図である。
【図4】図1の送信用DMAC14の構成例を示したブロック図である。
【図5】図4の演算回路34の内部構成例を示したブロック図である。
【図6】デスクリプタをレジスタ21にライトするための各信号を示したタイミングチャートである。
【図7】フィジカル・リードリクエストパケットをレジスタ21にライトするためのタイミングを示したタイミングチャートである。
【図8】送信パケットのヘッダー部を送信用FIFO15にライトするタイミング例を示したタイミングチャートである。
【図9】送信用FIFO15にデータ部をライトするときの図4及び図5で示した各信号のタイミング例を示したタイミングチャートである。
【図10】送信用FIFO15にデータ部をライトするときの図4及び図5で示した各信号の他のタイミング例を示したタイミングチャートである。
【図11】本発明の第2の実施の形態におけるデータ転送装置の演算回路の構成例を示した図である。
【図12】送信用FIFO15に送信パケットをライトし、LINK/PHY回路11にパケットリード要求を出すまでの各信号のタイミング例を示したタイミングチャートである。
【図13】本発明の第3の実施の形態におけるデータ転送装置の送信用DMACの構成例を示した図である。
【図14】図13の各信号のタイミング例を示したタイミングチャートである。
【図15】IEEE1394バス及びPCIバスでのデータの流れにおける概略のタイミング例を示した図である。
【図16】IEEE1394バス及びPCIバスでのデータの流れにおける概略の他のタイミング例を示した図である。
【図17】IEEE1394バス及びPCIバスでのデータの流れにおける概略の他のタイミング例を示した図である。
【符号の説明】
1,1a,1b データ転送装置
2 PC
3 IEEE1394バス
4 HDD装置
5 PCIバス
6 チップセット
7 CPU
8 メモリ部
11 LINK/PHY回路
12 受信用FIFO
13 受信用DMAC
14,14b 送信用DMAC
15 送信用FIFO
16 インタフェース制御回路
21,41 レジスタ
22,42,44,61 マルチプレクサ
23,23b タイミング制御回路部
31 スタートレジスタ
32,51 コンパレータ
33 データアップカウンタ
34,34a 演算回路
43 加算器
45,64 インバータ
46,63 AND回路
52 OR回路
53 NOR回路
62 D型フリップフロップ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data transfer device used in IEEE 1394 or the like using a storage device such as a FIFO for data transmission, and more particularly to a data transfer device forming a LINK device conforming to the OHCI (Open Host Controller Interface) standard.
[0002]
[Prior art]
Conventionally, in a data transfer device that uses a storage device such as a FIFO for data transmission and conforms to the IEEE 1394 standard, there is a problem that if packet transmission start timing is late, transfer performance is reduced. Such a problem is particularly noticeable when a hard disk device (hereinafter, referred to as an HDD device) is connected to a personal computer (hereinafter, referred to as a PC) having an interface conforming to the IEEE 1394 standard (hereinafter, referred to as an IEEE 1394 interface). And data transfer between them.
[0003]
In such a case, the PC and the HDD device use an asynchronous packet among an isochronous packet and an asynchronous packet specified by the IEEE 1394 standard. Also, among the asynchronous packets, a Physical Request packet prepared for performing high-speed data transfer using only hardware without software is transmitted from the HDD device to the PC. Then, the IEEE 1394 interface device in the PC executes a process on the received physical request packet, and then transmits a physical response (Physical Response) packet.
[0004]
The IEEE 1394 interface device of the PC and the HDD device are connected by a bus conforming to the IEEE 1394 standard (hereinafter, referred to as an IEEE 1394 bus), and the IEEE 1394 interface device is connected to the CPU of the PC via the PCI bus. A data flow in such an IEEE 1394 interface device in the PC will be described. FIG. 15 is a diagram showing a schematic timing example in the data flow on the IEEE 1394 bus and the PCI bus.
[0005]
As shown in FIG. 15, in the period A, a physical read request packet is transmitted from the HDD device to the PC on the IEEE 1394 bus. Next, in period B, the IEEE 1394 interface device in the PC reads data from the memory unit in the PC via the PCI bus and the chipset, and completes the data reading from the memory unit, and transfers the packet to the transmission FIFO. prepare. Next, in period C, a physical read response packet is transmitted from the PC to the HDD device on the IEEE 1394 bus.
[0006]
In such a state, the data transfer request from the HDD device to the PC is made with a physical read request packet, and the data transfer is attempted at high speed only by hardware without software, as shown in FIG. Even if the data reading process in the period B is not completed, since the first data of the transmission packet is prepared in the transmission FIFO, a method of improving the processing capability by speeding up the start of the period C can be considered. .
[0007]
[Problems to be solved by the invention]
However, according to the IEEE 1394 standard, once a packet starts to be transmitted, its data transmission cannot be stopped. For this reason, in the method for improving the processing capability as described above, if the transmission start time is too early, as shown in FIG. 17, data readout on the PCI bus side cannot be completed in time, and the physical data transmitted on the IEEE1394 bus cannot be read out. There is a problem that the data of the response packet is interrupted, and the hatched portion in FIG. 17 becomes an incomplete data portion, resulting in an incomplete packet.
[0008]
Further, even when the transmission start time is not too short, various devices are connected to the PCI bus, and the access of these devices shortens the PCI bus use time allocated to the IEEE 1394 interface device, In some cases, the last data in the transmission packet could not be prepared. In such a case, the IEEE 1394 protocol has a problem in that the HDD device transmits the same physical request packet again as described above and reprocessing is started, so that the processing capacity is reduced.
[0009]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and it is possible to improve the processing performance by earliering the transmission start timing of a transmission packet, and to suppress the occurrence of an incomplete data error packet. It is an object of the present invention to obtain a data transfer device that can perform the data transfer.
[0010]
[Means for Solving the Problems]
A data transfer device according to the present invention is a data transfer device that performs data transfer between an external system device and an internal system device, wherein a first interface circuit unit that interfaces with the internal system device; A second interface circuit unit for performing an interface of the first interface circuit unit, temporarily stores data input from the internal system device via the first interface circuit unit, and stores the stored data in response to an input control signal. A transmission data storage unit for transmitting to the external system device via the second interface circuit unit, and monitoring a data amount stored in the transmission data storage unit, and when the monitored data amount exceeds a predetermined value, Transmitting data stored in the transmission data storage unit to the second interface circuit unit; A control circuit unit for controlling the operation of the data storage unit, the control circuit unit changes the predetermined value according to the data transfer capability of the internal system device, the monitored data amount is less than the predetermined value If the data amount is less than the data amount requested to be transmitted from the external system device, the transmission data storage unit is prohibited from transmitting data to the second interface circuit unit.
[0011]
Specifically, the control circuit unit adds a preset value to the predetermined value when the data transfer capability of the internal system device is reduced and the data transfer from the internal system device is stopped. .
[0012]
Further, the control circuit unit may stop adding the preset value to the predetermined value while data transfer is being performed from the internal system device.
[0013]
On the other hand, when the control circuit unit is performing data transmission from the transmission data storage unit to the second interface circuit unit, the data transmission from the internal system device is not in time, and the data transmission from the transmission data storage unit is not completed. When the data transfer is performed again from the internal system device, if the monitored data amount becomes the data amount requested to be transmitted from the external system device, the second data is transmitted to the transmission data storage unit. Data transmission to the 2 interface circuit unit may be performed.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, the present invention will be described in detail based on an embodiment shown in the drawings.
First embodiment.
FIG. 1 is a block diagram illustrating an example of a data transfer device according to the first embodiment of the present invention. FIG. 1 shows an example in which an HDD device compliant with the IEEE 1394 standard is connected to a PC compliant with the IEEE 1394 standard, and data transfer is performed between the PC and the HDD device. The arrows between the blocks shown in FIG. 1 indicate only the flow of data.
[0015]
In FIG. 1, a data transfer device 1 is provided in a PC 2 as an IEEE 1394 interface device, and is connected to an HDD device 4 conforming to the IEEE 1394 standard via an IEEE 1394 bus 3. Further, the data transfer device 1 is connected to a chipset 6 via a PCI bus 5 in the PC 2, and the chipset 6 is connected to a CPU 7 and a memory unit 8, respectively. The chipset 6 interfaces the PCI bus 5 with the CPU 7 and the memory unit 8. Note that the HDD device 4 forms an external system device, and the PCI bus 5, the chipset 6, the CPU 7, and the memory unit 8 form an internal system device.
[0016]
On the other hand, the data transfer device 1 includes a LINK / PHY circuit 11 in which a link (LINK) layer and a physical (PHY) layer based on the IEEE 1394 standard are formed, a reception FIFO 12, and a reception memory controller (DMAC). 13, a transmission DMAC 14, a transmission FIFO 15, and a PCI interface control circuit 16 that controls data transmission and reception between the PCI bus 5. The LINK / PHY circuit 11 forms a second interface circuit, the PCI interface control circuit 16 forms a first interface circuit, the transmission DMAC 14 forms a control circuit, and the transmission FIFO 15 forms a transmission data storage. Eggplant
[0017]
The LINK / PHY circuit 11 temporarily stores data input from the HDD device 4 via the IEEE 1394 bus 3 in the reception FIFO 12, and the reception DMAC 13 reads out the data stored in the reception FIFO 12 (hereinafter, referred to as the “reception FIFO 12”). The data read is called a read), and the data is output to the DMAC for transmission 14 or the PCI interface control circuit 16 according to the read data. The PCI interface control circuit 16 outputs the input data to the chipset 6 via the PCI bus 5. On the other hand, the transmission DMAC 14 temporarily stores the data input to the PCI interface control circuit 16 in the transmission FIFO 15, and transfers the data stored in the transmission FIFO 15 to the IEEE 1394 bus 3 via the LINK / PHY circuit 11. Is output.
[0018]
When performing data transfer between the PC 2 and the HDD device 4, the asynchronous packet is used among the isochronous packet and the asynchronous packet defined by the IEEE1394 standard. Also, among the asynchronous packets, a physical request packet prepared for high-speed data transfer only by hardware without software is transmitted from the HDD device 4 to the PC 2. Then, the data transfer device 1 in the PC 2 transmits a physical response packet to the HDD device 4 after executing the processing for the received physical request packet.
[0019]
The data flow in the data transfer device 1 in such a case will be described in more detail. First, a physical request packet is transmitted from the HDD device 4 to the PC 2 via the IEEE 1394 bus 3. The physical request packet is stored in the receiving FIFO 12 via the LINK / PHY circuit 11. Then, the receiving DMAC 13 reads the physical request packet from the receiving FIFO 12, and when determining that the read packet is not a simple asynchronous packet but a physical packet, transfers the packet to the transmitting DMAC 14.
[0020]
Next, the transmission DMAC 14 reads desired data from the memory unit 8 via the chipset 6 connected to the PCI bus 5 and stores it in the transmission FIFO 15 in accordance with the contents of the input packet. When predetermined data is read from the memory unit 8 via the PCI bus 5 and the number of physical response packets corresponding to the number of register values built in the transmission DMAC 14 can be prepared in the transmission FIFO 15, the transmission DMAC 14 / PHY circuit 11 is enabled with a control signal indicating that transmission is ready, and the LINK / PHY circuit 11 transmits the physical response packet to the HDD device 4 via the IEEE1394 bus 3.
[0021]
On the other hand, when the internal data of the memory unit 8 is read using the PCI bus 5, the time required for data reading is constantly changed depending on the availability of the PCI bus 5 and whether data is prepared in the memory unit 8. And change. The transmitting DMAC 14 determines the change from the signal indicating the state of the PCI bus 5 and changes the value of a built-in register (not shown). For example, if data cannot be read because the PCI bus 5 is not empty, the register value is increased. If the PCI bus 5 is empty and data can be read smoothly, the register value is decreased.
[0022]
By doing so, the start time of the period C shown in FIG. 16 automatically fluctuates in accordance with the data read situation via the PCI bus 5, and the state shown in FIG. be able to. Further, the present invention can be used not only to start transmission of a physical response packet for a received physical request packet at an optimal time but also to start transmission of a simple asynchronous packet at an optimal time.
[0023]
Here, FIG. 2 is a diagram showing a schematic configuration example of a packet of the IEEE 1394 standard. As shown in FIG. 2, an IEEE 1394 packet is composed of a header section containing information such as the type and address of a packet, where 1 word is composed of 32 bits and 4 words or less, and data composed of 1 word is composed of 32 bits and 2048 words or less. Is roughly divided into the data section containing In addition, some packets have no data part depending on the type of the packet.
[0024]
The transmission DMAC 14 uses data called a descriptor similar to a program for creating a transmission packet. FIG. 3 is a diagram showing a schematic configuration example of such a descriptor. As shown in FIG. 3, one descriptor is 32 bits, 4 words is one basic unit, and one descriptor is composed of a maximum of 8 words. In the descriptors Descriptor0 to Descriptor3, a control part including a descriptor type, a memory address for creating a data part, a next descriptor memory address, and the like are written in the descriptors Descriptor4 to Descriptor7 to the transmission FIFO 15 (hereinafter, referred to as “descriptor”). Data writing is called a write.) Data of a header portion of a transmission packet is stored.
[0025]
Next, FIG. 4 is a block diagram showing a configuration example of the transmission DMAC 14. As shown in FIG. 4, the transmission DMAC 14 includes a register 21 for storing a descriptor, such as a program for creating a transmission packet, or a physical read request packet as described above. The register 21 is 32 bits × 8 words. Of the register. The physical read request packet is input from the receiving DMAC 13 from the data bus REQD [31: 0], and the descriptor is sent from the PCI master controller (not shown) in the PCI interface control circuit 16 to the read data bus MD [31: 0]. ].
[0026]
Further, the transmission DMAC 14 includes a multiplexer (MUX) 22. The multiplexer 22 transmits the header data in the transmission packet input from the register 21 or the transmission data input from the read data bus MD [31: 0]. Any one of the data in the data portion in the trust packet is exclusively selected and output to the transmission FIFO 15 via the data bus FD [31: 0]. Further, the transmission DMAC 14 includes a timing control circuit unit 23 that generates all timing control signals in the transmission DMAC 14. A signal REQWRB indicating the data write period of the physical read request packet is input to the timing control circuit unit 23 from the receiving DMAC 13.
[0027]
The timing control circuit unit 23 sends the address to the PCI master controller to the data bus MA [31: 0] and the data indicating the data length value of the read request to the data bus ML [15: 0] to the PCI master controller. ], And outputs a signal MREQ indicating the start of a read request and a signal MRDB indicating that data is to be read. The signal MREQ becomes active at a high level, and the signal MRDB becomes active at a low level.
[0028]
The timing control circuit 23 receives a signal MEMP indicating that no data has been read into a FIFO (not shown) in the PCI master controller. The timing control circuit unit 23 is connected to an input / output data bus SD [31: 0] connected to a PCI slave controller (not shown) in the PCI interface control circuit 16, and receives a write request from the PCI slave controller. The signal SWRB is input, and writing to the start register 31 in the timing control circuit unit 23 is realized.
[0029]
The timing control circuit unit 23 receives data necessary for performing the timing control from the register 21 via the data bus DD # [31: 0] (# indicates that there are four buses of 0 to 3). Is entered. Further, the timing control circuit unit 23 can prepare a signal FEOP indicating the last data of the write packet to the transmission FIFO 15, a write request signal FWRB to the transmission FIFO 15, and prepare the data in the transmission FIFO 15, and a LINK / PHY circuit. 11 outputs a signal FREQB requesting the start of transmission.
[0030]
The signal FREQB is output from the comparator 32, and the comparator 32 outputs an output data bus DTC [from the data up counter 33 that counts the number of words that have written the data of the data part of the transmission packet to the transmission FIFO 15 as input. 15: 0], and data from the data bus DL [15: 0] for transmitting the requested number-of-bytes data from the data bus DD # [31: 0].
[0031]
Further, the comparator 32 automatically outputs the data output from the start register 31 that can be set from the outside via the output data bus STV [15: 0] to the optimum value from the signals PIRDYB and PTRDYB by the arithmetic circuit 34. The changed data is input via data bus CSTV [15: 0]. The signal PIRDYB is a signal output from the PCI master controller indicating whether or not the PCI master controller is ready for data transfer, and the signal PTRDYB is used to determine whether or not the memory unit 8 is in a state where data transfer is possible. 4 is a signal output from the chipset 6 shown in FIG.
[0032]
If the output signal FREQB of the comparator 32 is (data from the data bus DTC [15: 0]) ≧ (data from the data bus DL [15: 0]) and / or (data from the data bus DTC [15: 0]) ) ≧ (data from the data bus CSTV [15: 0]), the signal is asserted at a low level, and a transmission request is made to the transmission FIFO 15. The transmission DMAC 14 automatically changes the transmission start time of the packet according to the processing status of the data read from the PCI bus 5 necessary for preparing the response packet.
[0033]
FIG. 5 is a block diagram showing an example of the internal configuration of the arithmetic circuit 34. As shown in FIG. 5, the arithmetic circuit 34 includes a 16-bit register 41, and receives data from a multiplexer (MUX) 42. The multiplexer 42 receives the data bus STV [15: 0] and the addition result output from the adder 43. The multiplexer 42 outputs the data bus STV [15: 0] when the signal MREQ is at a high level. ], The output signal of the adder 43 is selected and output when the signal MREQ is at a low level. The adder 43 adds the data output from the register 41 via the data bus CSTV [15: 0] and the data output from the multiplexer (MUX) 44 and outputs the result.
[0034]
The signal PIRDYB is input to the inverter 45, and the output signal of the inverter 45 and the output signal of the AND circuit 46 to which the signal PTRDYB is input are input as the select signal of the multiplexer 44. The multiplexer 44 selects and outputs a predetermined value "0004h" when the select signal is at a high level, and outputs a predetermined value "0000h" when the select signal is at a low level.
[0035]
Next, FIGS. 6 to 10 show timing examples until the transmission DMAC 14 writes a transmission packet to the transmission FIFO 15 and issues a packet read request to the LINK / PHY circuit 11. The operation of the data transfer device 1 at the time of packet transmission will be described in more detail with reference to FIGS.
When transmitting a packet, first, it is necessary to write either a descriptor or a physical read request packet to the register 21 as information for creating a transmission packet.
[0036]
FIG. 6 is a timing chart showing signals for writing the descriptor to the register 21.
In FIG. 6, at timing T2, a signal MREQ indicating a read request to the PCI master controller goes high and is asserted. At the same time, the signal MREQ is stored in a register (not shown) in the timing control circuit unit 23 of FIG. The memory address register value of the descriptor is output to data bus MA [31: 0], and data “0020h” is output to data bus ML [15: 0] to read 32 bytes of data.
[0037]
When the PCI master controller in the PCI interface control circuit 16 can read data from the PCI bus 5, the FIFO (not shown) in the PCI master controller has an empty state in which there is no data to be stored. , The signal MEMP goes low. When the signal MEMP goes low, the timing control circuit 23 sets the data read request signal MRDB to the PCI master controller to low level. Next, the descriptor data S0 to S7 sequentially read via the read data bus MD [31: 0] are stored in the register 21.
[0038]
Next, FIG. 7 is a timing chart showing the timing for writing the physical read request packet to the register 21.
As shown in FIG. 7, during the timing T6 to T9, the signal REQWRB goes low from the receiving DMAC 13 and the physical read request packets P0 to P3 are read from the data bus REQD [31: 0]. Is written. As described above, either the descriptor or the physical read request packet is written to the register 21, and the preparation for writing the transmission packet to the transmission FIFO 15 is completed.
[0039]
Next, FIG. 8 is a timing chart showing a timing example of writing the header portion of the transmission packet to the transmission FIFO 15.
FIG. 8 shows that the signal FWRB is at the low level during the period from the timing T6 to the timing T9, and data is written to the transmission FIFO 15. In this case, the DMAC for transmission 14 sets the signal FWRB to low level, and outputs the data of the header portion already stored in the register 21 to the data bus FD [31: 0]. Since the last data of the packet at this time is not yet written, the signal FEOP remains at the low level. In this way, the transmission DMAC 14 writes the packet header into the transmission FIFO 15.
[0040]
Next, FIGS. 9 and 10 are timing charts showing timing examples when the transmission DMAC 14 writes the data portion to the transmission FIFO 15 based on the data stored in the register 21 at the timing of FIG. 6 or 7. It is a chart. The signals PFRMB, PIRDYB, PTRDYB, PSTOPB and the data bus PAD [31: 0] shown in FIGS. 9 and 10 are signals connected to the PCI bus 5. In the terms “initiator” and “target” used in the PCI standard, only the data read from the PCI bus 5 is described here. Therefore, the initiator is the data transfer device 1 and the target is the memory unit 8.
[0041]
9 and 10, a signal PFRMB is a signal indicating whether or not a bus cycle of the PCI bus 5 is being executed, and is output from the chipset 6. The signal PSTOPB is a signal asserted by the chipset 6 when the target requests the initiator to stop the transaction currently being executed, and the data bus PAD [31: 0] And a data input / output bus.
[0042]
In FIG. 9, at timing T1, the transmitting DMAC 14 raises the signal MREQ to a high level and issues a read request to the PCI master controller. At the same time, the transmission DMAC 14 prepares the memory address data MSA on the data bus MA [31: 0] and, for example, when preparing data of “30h” byte, the data “0030h” on the data bus ML [15: 0]. Is output. In response to this, the PCI master controller sets the signal PFRMB to low level and asserts it from timing T2, and outputs the memory address data MSA for the memory unit 8 to the data bus PAD [31: 0].
[0043]
Next, at timing T3, the PCI master controller sets the signal PIRDYB to low level and asserts it to notify the chipset 6 that data read is possible. Then, the chipset 6 asserts the signal PTRDYB to a low level from the timing T4 to indicate that data transmission is possible, and simultaneously outputs data to the data bus PAD [31: 0]. At timing T10, the signal PSTOPB becomes low level by the chipset 6 to be asserted and a request to stop data transfer occurs. At timing T11, the signal PTRDYB becomes high level and is deasserted by the chipset 6. The PCI master controller deasserts the signal PFRMB at a timing T11 and the signal PIRDYB at a high level at a timing T12 to suspend the data transfer.
[0044]
However, since the read request from the DMAC for transmission 14 to the PCI master controller is “30h” byte, the PCI master controller makes the read request by resetting the signal PFRMB to the low level again from the timing T13, and performs the read request at the timing T13. The address “MSA + 1Ch” following the previous data read is output to the data bus PAD [31: 0].
[0045]
The chipset 6 sets the signal PTRDYB to low level at timing T15 and asserts it, and sequentially outputs data from the memory unit 8 to the data bus PAD [31: 0] at timings T15 to T19. In addition, the PCI master controller sets the signal PFRMB to high level and deasserts it to notify the chipset 6 of the end of the transaction because the data read of a total of “30h” bytes ends at the timing T19. The signals PIRDYB and PTRDYB become high level from the timing T20 and are deasserted.
[0046]
For this reason, at timings T5 to T11 and timings T16 to T20, the signal MEMP input from the PCI master controller to the transmission DMAC 14 becomes low level. Therefore, the transmission DMAC 14 sets the signals MRDB and FWRB to low level at the timing T5, sequentially writes data to the transmission FIFO 15, and sets the signal FEOP to high level at the timing T20 because it is the final data. Data is written.
[0047]
The data from the data bus DTC [15: 0] indicating the number of bytes written to the transmission FIFO 15 is set to data “0h” at the data write start timing at the timing T2, and then the data is transferred to the transmission FIFO 15. It is incremented by 4 each time it is written. When the data output from the start register 31 to the data bus STV [15: 0] is “14h”, the arithmetic circuit 34 transfers the data bus STV [15: 0] to the data bus CSTV [15: 0] at timing T2. ] Is output.
[0048]
When the signal PIRDYB is at a low level and the signal PTRDYB is at a high level, and the timing indicates a period during which data is to be read but no data comes from the target side, that is, at timings T3 and T14, the data "0004h" is output from the multiplexer 44. Is output, and the data on the data bus CSTV [15: 0] is incremented by 4 by the adder 43. At timing T11, the comparison result of the comparator 32 in FIG. 4 changes, so that the signal FREQB goes low at timing T12 and is asserted, and a packet read request is made to the LINK / PHY circuit 11.
[0049]
9 is a timing example similar to that of FIG. 9 except that the signal PIRDYB is at a low level and the signal PTRDYB is at a high level, and the timing indicating a period in which data is to be read but no data comes from the target side is longer than in FIG. Is shown in FIG.
As shown in FIG. 10, there are periods during which no data comes at timings T3, T4, T14, and T15. At these times, the data on the data bus CSTV [15: 0] is sequentially incremented by four. Since the comparison result of the comparator 32 in FIG. 4 changes at the timing T20, the signal FREQB becomes low level and is asserted at the timing T21, and a packet read request is made to the LINK / PHY circuit 11.
[0050]
As described above, the data transfer device according to the first embodiment has a lower data transfer capability to the target PCI bus 5 in FIG. 10 than in FIG. 9, and in FIG. In FIG. 10, the transmission DMAC 14 makes a packet read request to the LINK / PHY circuit 11 when the data of the “24h” byte is ready. From this, it is possible to automatically change the transmission packet read request timing according to the state of the target and the transfer capability in the transaction of the PCI bus 5.
[0051]
Second embodiment.
FIG. 11 is a diagram illustrating a configuration example of an arithmetic circuit of a data transfer device according to the second embodiment of the present invention. In the block diagram showing an example of the data transfer device according to the second embodiment of the present invention, the transmission DMAC 14 in FIG. 1 is replaced by a transmission DMAC 14a, and the data transfer device 1 in FIG. 1 is replaced by a data transfer device 1a. Other than that is the same as FIG. 4 is the same as that of FIG. 4 except that the timing control circuit unit 23 in FIG. 4 is replaced by a timing control circuit unit 23a. 11, the same components as those in FIG. 5 are denoted by the same reference numerals. The transmission DMAC 14a forms a control circuit unit.
[0052]
As shown in FIG. 11, the arithmetic circuit 34a includes a 16-bit register 41, and data is input from a multiplexer 42. Data from the data bus STV [15: 0] and the addition result output from the adder 43 are input to the multiplexer 42. The multiplexer 42 selects the data from the data bus STV [15: 0] when the signal MREQ is at a high level or when the comparison result of the comparator 51 is at a high level by the OR circuit 52; The data output from 43 is selected. The comparator 51 compares the data from the data bus STV [15: 0] with the data output from the adder 43, and outputs the data from the data bus STV [15: 0] to the data output from the adder 43. If it is smaller than this, it outputs a high-level signal; otherwise, it outputs a low-level signal.
[0053]
To the adder 43, the data output from the register 41 via the data bus CSTV [15: 0] and the data output from the multiplexer 44 are added and output. The output signal of the NOR circuit 53 input to the input terminals corresponding to the signals PIRDYB and PTRDYB is input as a select signal of the multiplexer 44. The multiplexer 44 selects and outputs a predetermined value “FFFCh” when the select signal is at a high level, and outputs a predetermined value “0004h” when the select signal is at a low level.
[0054]
In such a configuration, FIG. 12 is a timing chart showing a timing example from when the transmission DMAC 14a writes a transmission packet to the transmission FIFO 15 and issues a packet read request to the LINK / PHY circuit 11.
FIG. 12 is substantially the same as the timing shown in FIG. 10, but differs from FIG. 10 in that the data from the data bus STV [15: 0] is “1Ch” and the data bus CSTV [15 : 0]. After the data from the data bus CSTV [15: 0] is set to “1Ch” which is the value of the data bus STV [15: 0] at the timing T2, the data is actually transferred on the PCI bus 5 It is decremented by 4 at each of T5 to T10 and at timings T16 to T21, and is incremented by 4 at other timings when data transfer is not executed.
[0055]
However, at timings T9 to T11 and timing T22, the output of the comparator 51 becomes high level, so that the multiplexer 42 selects data from the data bus STV [15: 0], and outputs data from the register 41 to the data bus CSTV [15: 0]. ] Remains the data “1Ch” from the data bus STV [15: 0]. Since the comparison result of the comparator 32 shown in FIG. 4 changes at the timing T20, the signal FREQB becomes low level and is asserted at the timing T21, and a packet read request is output from the transmission DMAC 14a to the LINK / PHY circuit 11.
By doing so, the data transfer device according to the second embodiment can achieve the same effects as those of the first embodiment.
[0056]
Third embodiment.
FIG. 13 is a diagram illustrating a configuration example of a transmitting DMAC of a data transfer device according to the third embodiment of the present invention. In the block diagram showing an example of the data transfer device according to the third embodiment of the present invention, the transmission DMAC 14 in FIG. 1 is replaced by a transmission DMAC 14b, and the data transfer device 1 in FIG. 1 is replaced by a data transfer device 1b. Other than that is the same as FIG. 13, the same components as those in FIG. 4 are denoted by the same reference numerals, and the description thereof will be omitted, and only the differences from FIG. 4 will be described. The transmitting DMAC 14b forms a control circuit unit.
[0057]
13 differs from FIG. 4 in that a multiplexer (MUX) 61, a D-type flip-flop 62, an AND circuit 63, and an inverter 64 are added. Accordingly, the transmission DMAC 14 in FIG. It is to have done.
In FIG. 13, the data prepared in the transmission FIFO 15 is transmitted from the LINK / PHY circuit 11 to the IEEE 1394 bus 3 in the inverter 64, but the transmission packet cannot be transmitted in time because the data in the transmission FIFO 15 cannot be prepared in time. A signal UNDERTM, which goes high when a data error occurs, is input from the transmission FIFO 15.
[0058]
The data from the data bus DL [15: 0] and the data from the data bus CSTV [15: 0] are input to the multiplexer 61, respectively. The multiplexer 61 compares one of the data from the data bus DL [15: 0] and the data from the data bus CSTV [15: 0] with a comparator according to the output signal from the output terminal QB of the D-type flip-flop 62. Output to 32 corresponding inputs. The power supply voltage VDD is input to the D input terminal of the D-type flip-flop 62, and the output signal of the inverter 64 is input to the reset terminal RB. The output signal of the AND circuit 63 is input to the clock signal input terminal of the D-type flip-flop 62, and the signal output from the D-type flip-flop 62 and the signal FREQB correspond to each input terminal of the AND circuit 63. Has been entered.
[0059]
FIG. 14 is a timing chart showing a timing example of each signal in FIG. 13 in such a configuration. In FIG. 14, a packet is written to the transmission FIFO 15 at timings T1 to T6 and timings T8 to T13. Also, at timing T3, the signal FREQB becomes low level and is asserted, and packet transmission from the transmission FIFO 15 to the IEEE 1394 bus 3 via the LINK / PHY circuit 11 is started. The signal UNDERTM goes high because preparation is not in time. Accordingly, the output terminal QB of the D-type flip-flop 62 rises to a high level at a timing T5. Therefore, the multiplexer 61 selects data from the data bus DL [15: 0] and outputs the data to the corresponding input terminal of the comparator 32 via the data bus NSTV [15: 0].
[0060]
Therefore, the comparator 32 compares the data from the data bus DTC [15: 0] with the data from the data bus DL [15: 0]. For this reason, a transmission request is made for the next packet in which a data error has occurred, only when data is always prepared in the transmission FIFO 15. However, once the packet transmission has been reliably performed, the output terminal of the AND circuit 63 rises from the low level to the high level at the timing T18, and the output terminal QB of the D-type flip-flop 62 goes to the low level.
[0061]
Therefore, the data from the data bus CSTV [15: 0] is selected and output from the multiplexer 61, and the comparator 32 outputs the data bus DTC [15: 0], the data bus DL [15: 0], and the data bus CSTV. A signal FREQB indicating the result of comparison of each data from [15: 0] is output. Accordingly, the timing at which data transfer from the transmission FIFO 15 to the LINK / PHY circuit 11 starts is the timing at which the function of the arithmetic circuit 34 operates.
[0062]
As described above, the data transfer device according to the third embodiment can obtain the same effects as those of the first embodiment, and can also provide a data transfer device when a data error occurs during packet transmission. Since the transmission of the next transmission packet can be reliably performed, the stability on the system can be improved.
[0063]
In each of the first to third embodiments, a signal with a B at the end of the code, a signal input end and a signal output end are active at a low level, and the B is added at the end of the code. The absence signal, the signal input terminal, and the signal output terminal indicate that they become active at a high level, respectively.
[0064]
【The invention's effect】
As is apparent from the above description, according to the data transfer device of the present invention, even if the packet transmission timing is advanced in order to improve the processing capability of the data transfer device, it is necessary to prepare the transmission data. Since the transmission start timing can be automatically changed according to the state of the internal system device, the occurrence of a transmission packet in which a data error has occurred can be reduced, and the data transfer processing capability can be further improved. Also, if the transmission packet has a data error when the transmission start timing is advanced to improve the data transfer processing capability, when retransmitting the transmission packet with the data error, the processing to advance the transmission start timing is performed. By disabling, reliable data transfer becomes possible.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an example of a data transfer device according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of a schematic configuration of an IEEE 1394 standard packet;
FIG. 3 is a diagram showing a schematic configuration example of a descriptor.
FIG. 4 is a block diagram showing a configuration example of a transmission DMAC 14 of FIG. 1;
FIG. 5 is a block diagram showing an example of an internal configuration of an arithmetic circuit 34 in FIG. 4;
FIG. 6 is a timing chart showing signals for writing a descriptor to a register 21;
FIG. 7 is a timing chart showing a timing for writing a physical read request packet to a register 21;
FIG. 8 is a timing chart showing a timing example of writing a header portion of a transmission packet to a transmission FIFO 15;
FIG. 9 is a timing chart showing a timing example of each signal shown in FIGS. 4 and 5 when writing a data portion to the transmission FIFO 15;
FIG. 10 is a timing chart showing another example of timing of each signal shown in FIGS. 4 and 5 when writing a data portion to the transmission FIFO 15;
FIG. 11 is a diagram illustrating a configuration example of an arithmetic circuit of a data transfer device according to a second embodiment of the present invention.
FIG. 12 is a timing chart showing a timing example of each signal from when a transmission packet is written to the transmission FIFO 15 to when a packet read request is issued to the LINK / PHY circuit 11;
FIG. 13 is a diagram illustrating a configuration example of a transmission DMAC of a data transfer device according to a third embodiment of the present invention.
FIG. 14 is a timing chart showing a timing example of each signal of FIG. 13;
FIG. 15 is a diagram showing a schematic timing example in a data flow on the IEEE 1394 bus and the PCI bus.
FIG. 16 is a diagram illustrating another schematic timing example in the data flow on the IEEE 1394 bus and the PCI bus.
FIG. 17 is a diagram showing another schematic timing example in the data flow on the IEEE 1394 bus and the PCI bus.
[Explanation of symbols]
1,1a, 1b data transfer device
2 PC
3 IEEE 1394 bus
4 HDD device
5 PCI bus
6 chipset
7 CPU
8 Memory section
11 LINK / PHY circuit
12 FIFO for reception
13 DMAC for reception
14,14b DMAC for transmission
15 Transmission FIFO
16 Interface control circuit
21, 41 registers
22,42,44,61 Multiplexer
23, 23b timing control circuit section
31 Start register
32,51 comparator
33 Data Up Counter
34, 34a arithmetic circuit
43 Adder
45,64 inverter
46,63 AND circuit
52 OR circuit
53 NOR circuit
62 D-type flip-flop

Claims (4)

外部システム装置と内部システム装置との間でデータ転送を行うデータ転送装置において、
前記内部システム装置とのインタフェースを行う第1インタフェース回路部と、
前記外部システム装置とのインタフェースを行う第2インタフェース回路部と、
前記第1インタフェース回路部を介して前記内部システム装置から入力されたデータを一時的に記憶し、入力された制御信号に応じて、該記憶したデータを第2インタフェース回路部を介して前記外部システム装置へ送信する送信用データ記憶部と、
該送信用データ記憶部に記憶されたデータ量をモニタし、該モニタしたデータ量が所定値を超えると、前記送信用データ記憶部に記憶されたデータを前記第2インタフェース回路部へ送信させる、送信用データ記憶部の動作制御を行う制御回路部と、
を備え、
前記制御回路部は、前記内部システム装置のデータ転送能力に応じて前記所定値を変え、前記モニタしたデータ量が、該所定値未満であると共に前記外部システム装置から送信要求があったデータ量未満である場合は、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を禁止することを特徴とするデータ転送装置。
In a data transfer device that performs data transfer between an external system device and an internal system device,
A first interface circuit unit that interfaces with the internal system device;
A second interface circuit unit that interfaces with the external system device;
The system temporarily stores data input from the internal system device via the first interface circuit unit, and stores the stored data in the external system via a second interface circuit unit in response to an input control signal. A transmission data storage unit for transmitting to the device;
Monitoring the amount of data stored in the transmission data storage unit, and when the monitored data amount exceeds a predetermined value, causing the data stored in the transmission data storage unit to be transmitted to the second interface circuit unit; A control circuit unit for controlling the operation of the transmission data storage unit;
With
The control circuit unit changes the predetermined value according to the data transfer capability of the internal system device, and the monitored data amount is less than the predetermined value and less than the data amount requested to be transmitted from the external system device. The data transfer device according to claim 1, wherein the transmission data storage unit is prohibited from transmitting data to the second interface circuit unit.
前記制御回路部は、前記内部システム装置のデータ転送能力が低下して該内部システム装置からのデータ転送が停止すると、あらかじめ設定された値を前記所定値に加算することを特徴とする請求項1記載のデータ転送装置。2. The control circuit unit according to claim 1, wherein when a data transfer capability of the internal system device is reduced and data transfer from the internal system device is stopped, a predetermined value is added to the predetermined value. A data transfer device according to claim 1. 前記制御回路部は、前記内部システム装置からデータ転送が行われている間は、前記所定値に対する、前記あらかじめ設定された値の加算を停止することを特徴とする請求項2記載のデータ転送装置。3. The data transfer device according to claim 2, wherein the control circuit unit stops adding the preset value to the predetermined value while data transfer is being performed from the internal system device. . 前記制御回路部は、送信用データ記憶部から第2インタフェース回路部へデータ送信を行っている際に、前記内部システム装置からのデータ送信が間に合わず該送信用データ記憶部からのデータ送信に失敗すると、内部システム装置から再度データ転送が行われるときに、前記モニタしたデータ量が、前記外部システム装置から送信要求があったデータ量になると、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を行わせることを特徴とする請求項1、2又は3記載のデータ転送装置。The control circuit unit, when performing data transmission from the transmission data storage unit to the second interface circuit unit, fails to transmit data from the internal system device in time and fails to transmit data from the transmission data storage unit. Then, when the data amount monitored is equal to the data amount requested to be transmitted from the external system device when the data transfer is performed again from the internal system device, the second interface is transmitted to the data storage unit for transmission. 4. The data transfer device according to claim 1, wherein data transmission to the circuit unit is performed.
JP2002207105A 2002-07-16 2002-07-16 Data transfer apparatus and operation control method thereof Expired - Fee Related JP4410978B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002207105A JP4410978B2 (en) 2002-07-16 2002-07-16 Data transfer apparatus and operation control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002207105A JP4410978B2 (en) 2002-07-16 2002-07-16 Data transfer apparatus and operation control method thereof

Publications (2)

Publication Number Publication Date
JP2004054344A true JP2004054344A (en) 2004-02-19
JP4410978B2 JP4410978B2 (en) 2010-02-10

Family

ID=31931652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002207105A Expired - Fee Related JP4410978B2 (en) 2002-07-16 2002-07-16 Data transfer apparatus and operation control method thereof

Country Status (1)

Country Link
JP (1) JP4410978B2 (en)

Also Published As

Publication number Publication date
JP4410978B2 (en) 2010-02-10

Similar Documents

Publication Publication Date Title
US5740466A (en) Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses
US6151651A (en) Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
JP3636157B2 (en) Data transfer control device, electronic device, and data transfer control method
US7069350B2 (en) Data transfer control system, electronic instrument, and data transfer control method
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
JP2004171209A (en) Shared memory data transfer device
JP2004348246A (en) Data transfer control device, electronic device, and data transfer control method
CN114051611B (en) DMA scatter and gather operations for non-contiguous memory
US4674037A (en) Data processing system with an enhanced communication control system
WO2022198601A1 (en) Data writing method, system-on-chip chip, and computer readable storage medium
JP2009502072A (en) FlexRay communication module, FlexRay communication control device, and method for transmitting a message between a FlexRay communication connection and a FlexRay subscriber device
JP3636158B2 (en) Data transfer control device and electronic device
JP2004500656A (en) Data transaction access system and method
US20050005039A1 (en) Data transfer control device, electronic instrument, and data transfer control method
JP3824122B2 (en) DMA device
JP4410978B2 (en) Data transfer apparatus and operation control method thereof
JP3431025B2 (en) Data transfer system
JP3599692B2 (en) Data transmission equipment
CN116149453B (en) Controllers, electronics and data transmission systems
CN114546907B (en) Data sending and receiving method, device, equipment and storage medium
US7065669B2 (en) System and method for providing a write strobe signal to a receiving element before both an address and data signal
US6763405B2 (en) Process for interfacing a microprocessor with a packet based device and respective system
JP4127071B2 (en) Data transfer control device, electronic device, and data transfer control method
CN119473398A (en) Task sending method, task executing method and device
JP3703958B2 (en) Information processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090624

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091116

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees