JP4410978B2 - Data transfer apparatus and operation control method thereof - Google Patents

Data transfer apparatus and operation control method thereof Download PDF

Info

Publication number
JP4410978B2
JP4410978B2 JP2002207105A JP2002207105A JP4410978B2 JP 4410978 B2 JP4410978 B2 JP 4410978B2 JP 2002207105 A JP2002207105 A JP 2002207105A JP 2002207105 A JP2002207105 A JP 2002207105A JP 4410978 B2 JP4410978 B2 JP 4410978B2
Authority
JP
Japan
Prior art keywords
data
transmission
circuit unit
system device
data transfer
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.)
Expired - Fee Related
Application number
JP2002207105A
Other languages
Japanese (ja)
Other versions
JP2004054344A (en
Inventor
斉 山本
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)

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インタフェース回路部へ送信させる、送信用データ記憶部の動作制御を行う制御回路部と、
を備え、
前記制御回路部は、前記モニタしたライトデータ総数が所定値になる前の期間において、データ転送可能な状態であることを示す信号が前記第1インタフェース回路部から入力されると共にデータ転送不可能な状態であることを示す信号が前記内部システム装置から入力される期間をモニタし、該期間を前記ライトデータのカウント時間に対応するように前記所定値をインクリメントさせ、前記モニタしたライトデータ総数が、該所定値未満であると共に前記外部システム装置から送信要求があったデータ量未満である場合は、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を禁止するものである。
【0011】
具体的には、前記制御回路部は、データ転送が不可能な状態であることを示す信号が前記内部システム装置から入力されている間は、あらかじめ設定された値を前記所定値に加算するようにした。
【0012】
また、前記制御回路部は、データ転送が可能な状態であることを示す信号が前記内部システム装置から入力されている間は、前記所定値に対する、前記あらかじめ設定された値の加算を停止するようにしてもよい。
【0013】
一方、前記制御回路部は、送信用データ記憶部から第2インタフェース回路部へデータ送信を行っている際に、前記内部システム装置からのデータ送信が間に合わず該送信用データ記憶部からのデータ送信に失敗すると、内部システム装置から再度データ転送が行われるときに、前記モニタしたライトデータ総数が、前記外部システム装置から送信要求があったデータ量になると、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を行わせるようにしてもよい。
また、この発明に係るデータ転送装置の動作制御方法は、内部システム装置とのインタフェースを行う第1インタフェース回路部と、
外部システム装置とのインタフェースを行う第2インタフェース回路部と、
前記第1インタフェース回路部を介して前記内部システム装置から入力されたデータを一時的に記憶し、入力された制御信号に応じて、該記憶したデータを第2インタフェース回路部を介して前記外部システム装置へ送信する送信用データ記憶部とを備えた、前記外部システム装置と前記内部システム装置との間でデータ転送を行うデータ転送装置の動作制御方法において、
前記送信用データ記憶部に記憶されたライトデータ総数をモニタし、
該モニタしたライトデータ総数が所定値になる前の期間において、
データ転送可能な状態であることを示す信号が前記第1インタフェース回路部から入力されると共にデータ転送不可能な状態であることを示す信号が前記内部システム装置から入力される期間をモニタし、
該期間を前記ライトデータのカウント時間に対応するように前記所定値をインクリメントさせ、
前記モニタしたライトデータ総数が、該所定値未満であると共に前記外部システム装置から送信要求があったデータ量未満である場合は、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を禁止するようにした。
具体的には、データ転送が不可能な状態であることを示す信号が前記内部システム装置から入力されている間は、あらかじめ設定された値を前記所定値に加算するようにした。
また、データ転送が可能な状態であることを示す信号が前記内部システム装置から入力されている間は、前記所定値に対する、前記あらかじめ設定された値の加算を停止するようにしてもよい。
一方、前記送信用データ記憶部から前記第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]
BACKGROUND 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 compliant with 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 transfer performance deteriorates if the packet transmission start timing is late. Such a problem appears particularly prominently when a hard disk device (hereinafter referred to as an HDD device) is connected to a personal computer (hereinafter referred to as PC) having an interface conforming to the IEEE 1394 standard (hereinafter referred to as IEEE 1394 interface). When the data is transferred between them.
[0003]
In such a case, the PC and the HDD device use an asynchronous packet among isochronous packets and asynchronous packets defined by the IEEE 1394 standard. Also, a physical request packet prepared for performing high-speed data transfer only by hardware without any software among asynchronous packets is transmitted from the HDD device to the PC. Then, the IEEE 1394 interface device in the PC performs processing on the received physical request packet, and then transmits a 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 the 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 in 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 chipset, completes the data reading from the memory unit, and sends a 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 by a physical read request packet, and since data is being transferred at high speed only by hardware without software, as shown in FIG. Even in a state where the data reading process in the B period is not completed, the first data of the transmission packet is prepared in the transmission FIFO, so a method for improving the processing capability by accelerating the start of the C period can be considered. .
[0007]
[Problems to be solved by the invention]
However, in the IEEE 1394 standard, once the packet transmission is started, the 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 set too early, as shown in FIG. 17, the data reading on the PCI bus side is not in time, and the physical data being transmitted on the IEEE 1394 bus is not in time. There is a problem that the data in the response packet is interrupted, and the hatched portion in FIG. 17 becomes an incomplete data portion, resulting in an incomplete packet.
[0008]
Also, even when the transmission start time is not so advanced, various devices are connected to the PCI bus, and access to these devices shortens the PCI bus usage 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, according to the IEEE 1394 protocol, the HDD apparatus transmits the same physical request packet as described above, and reprocessing is started.
[0009]
The present invention has been made to solve the above-described problems, and can improve the processing performance by increasing the transmission packet transmission start timing, and suppress the generation of incomplete data error packets. Data transfer device that can And its operation control method The purpose is to obtain.
[0010]
[Means for Solving the Problems]
A data transfer device according to the present invention is a data transfer device that transfers data between an external system device and an internal system device.
A first interface circuit unit for interfacing with the internal system device;
A second interface circuit unit for interfacing with the external system device;
Data input from the internal system device via the first interface circuit unit is temporarily stored, and the stored data is stored via the second interface circuit unit in response to the input control signal. A data storage unit for transmission to be transmitted to the device;
The total number of write data stored in the transmission data storage unit is monitored. When the monitored total number of write data exceeds a predetermined value, the write data stored in the transmission data storage unit is sent to the second interface circuit unit. A control circuit unit for controlling the operation of the transmission data storage unit,
With
In the period before the total number of write data monitored reaches a predetermined value, the control circuit unit A signal indicating that data transfer is possible is input from the first interface circuit unit. A period during which a signal indicating that data transfer is impossible is input from the internal system apparatus is monitored, and the predetermined value is set so that the period corresponds to the count time of the write data. Increment When the total number of the write data monitored is less than the predetermined value and less than the amount of data requested to be transmitted from the external system device, the second interface circuit unit is connected to the transmission data storage unit. Data transmission to is prohibited.
[0011]
Specifically, the control circuit unit is While a signal indicating that data transfer is impossible is input from the internal system device A preset value is added to the predetermined value.
[0012]
In addition, the control circuit unit is A signal indicating that data transfer is possible is input from the internal system device. During this time, the addition of the preset value to the predetermined value may be stopped.
[0013]
On the other hand, when the control circuit unit is transmitting data 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 data transmission from the transmission data storage unit When the data transfer is performed again from the internal system device, if the total number of the monitored write data becomes the amount of data requested to be transmitted from the external system device, the transmission data storage unit Data transmission to the second interface circuit unit may be performed.
In addition, an operation control method for a data transfer device according to the present invention includes a first interface circuit unit that interfaces with an internal system device,
A second interface circuit unit for interfacing with an external system device;
Data input from the internal system device via the first interface circuit unit is temporarily stored, and the stored data is stored via the second interface circuit unit in response to the input control signal. In an operation control method of a data transfer device that includes a data storage unit for transmission to be transmitted to the device and performs data transfer between the external system device and the internal system device,
Monitor the total number of write data stored in the transmission data storage unit,
In the period before the total number of monitored write data reaches a predetermined value,
A signal indicating that data transfer is possible is input from the first interface circuit unit. Monitoring a period during which a signal indicating that data transfer is impossible is input from the internal system device;
The predetermined value is set so that the period corresponds to the count time of the write data. Increment Let
When the total number of monitored write data is less than the predetermined value and less than the amount of data requested for transmission from the external system device, the transmission data storage unit is connected to the second interface circuit unit. Data transmission is prohibited.
Specifically, while a signal indicating that data transfer is impossible is input from the internal system device, a preset value is added to the predetermined value.
The addition of the preset value to the predetermined value may be stopped while a signal indicating that data transfer is possible is input from the internal system device.
On the other hand, when performing data transmission from the transmission data storage unit to the second interface circuit unit, if data transmission from the internal system device is not in time and data transmission from the transmission data storage unit fails, When the data transfer is performed again from the internal system device, the second interface circuit is connected to the transmission data storage unit when the monitored total number of write data reaches the data amount requested to be transmitted from the external system device. Data transmission to the unit may be performed.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Next, the present invention will be described in detail based on the embodiments shown in the drawings.
First embodiment.
FIG. 1 is a block diagram showing an example of a data transfer apparatus according to the first embodiment of the present invention. FIG. 1 shows an example in which an HDD device conforming to the IEEE 1394 standard is connected to a PC conforming to the IEEE 1394 standard, and data is transferred between the PC and the HDD device. Also, the arrows between the blocks shown in FIG. 1 indicate only the data flow.
[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 apparatus 1 is connected to the chip set 6 via the PCI bus 5 in the PC 2, and the chip set 6 is connected to the CPU 7 and the memory unit 8. The chip set 6 interfaces the PCI bus 5 with the CPU 7 and the memory unit 8. The HDD device 4 constitutes an external system device, and the PCI bus 5, chip set 6, CPU 7 and memory unit 8 constitute an internal system device.
[0016]
On the other hand, the data transfer apparatus 1 includes a LINK / PHY circuit 11 in which a link (LINK) layer and a physical (PHY) layer conforming to the IEEE 1394 standard are formed, a reception FIFO 12, and a reception DMAC (Direct Memory Access Controller). 13, a transmission DMAC 14, a transmission FIFO 15, and a PCI interface control circuit 16 that controls transmission and reception of data between the PCI bus 5. The LINK / PHY circuit 11 is a second interface circuit unit, the PCI interface control circuit 16 is a first interface circuit unit, the transmission DMAC 14 is a control circuit unit, and the transmission FIFO 15 is a transmission data storage unit. Eggplant.
[0017]
The LINK / PHY circuit 11 temporarily stores the 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”). Data reading is referred to as read), and the data is output to the transmission DMAC 14 or the PCI interface control circuit 16 in accordance with the read data. The PCI interface control circuit 16 outputs the input data to the chip set 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 the data stored in the transmission FIFO 15 is transferred to the IEEE 1394 bus 3 via the LINK / PHY circuit 11. Is output.
[0018]
When transferring data between the PC 2 and the HDD device 4, the asynchronous packet is used among the isochronous packet and the asynchronous packet defined in 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 performs processing on the received physical request packet, and then transmits a physical response packet to the HDD device 4.
[0019]
The data flow in the data transfer apparatus 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 reception DMAC 13 reads the physical request packet from the reception FIFO 12, and when it determines that the read packet is not a simple asynchronous packet but a physical packet, transfers the packet to the transmission DMAC.
[0020]
Next, the transmission DMAC 14 reads desired data from the memory unit 8 via the chip set 6 connected to the PCI bus 5 and stores it in the transmission FIFO 15 according to the contents of the input packet. When the predetermined data is read from the memory unit 8 via the PCI bus 5 and the physical response packet is prepared for the number of register values incorporated in the transmission DMAC 14 in the transmission FIFO 15, the transmission DMAC 14 The control signal indicating that the / PHY circuit 11 is ready for transmission is enabled, and the physical response packet is transmitted from the LINK / PHY circuit 11 to the HDD device 4 via the IEEE 1394 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 momentarily depending on the availability of the PCI bus 5 and whether or not data is prepared in the memory unit 8. And change. The transmission DMAC 14 determines the change from a signal indicating the state of the PCI bus 5 and changes the value of a built-in register (not shown). For example, if the PCI bus 5 is not available and data cannot be read, the register value is increased. If the PCI bus 5 is available and data can be read smoothly, the register value is decreased.
[0022]
By doing so, the start time of the C period shown in FIG. 16 is automatically changed according to the data read status via the PCI bus 5, and the state shown in FIG. be able to. In addition to starting transmission of a physical response packet in response to a received physical request packet at an optimal time, it can also be used to start transmission of a simple asynchronous packet at an optimal time.
[0023]
Here, FIG. 2 is a diagram illustrating a schematic configuration example of a packet of the IEEE 1394 standard. As shown in FIG. 2, an IEEE 1394 packet includes a header part including information such as packet type and address, which is composed of 32 bits and 1 word, and data composed of 1 word and 32 bits and less than 2048 words. It is roughly divided into the data part that contains. Further, there is a packet having no data part depending on the type of 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, the descriptor is composed of a maximum of 8 words with 1 word of 32 bits and 4 words as one basic unit. In the descriptors Descriptor 0 to Descriptor 3, a control part containing a descriptor type, a memory address for creating a data portion, a next descriptor memory address, and the like is written in the transmission FIFO 15 in the descriptor Descriptors 4 to 7 (hereinafter referred to as “descriptor”). The data of the header part of the 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 descriptor 21 that is a program for creating a transmission packet or a register 21 that stores the physical read request packet as described above, and the register 21 includes 32 bits × 8 words. It consists of registers. The physical read request packet is input from the receiving DMAC 13 from the data bus REQD [31: 0], and the descriptor is read from the PCI master controller (not shown) in the PCI interface control circuit 16 by the read data bus MD [31: 0]. ] Is input.
[0026]
In addition, the transmission DMAC 14 includes a multiplexer (MUX) 22, and 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]. One of the data in the data portion in the trusted 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 creates 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 from the receiving DMAC 13 to the timing control circuit unit 23.
[0027]
The timing control circuit unit 23 sends the PCI master controller an address to the PCI master controller to the data bus MA [31: 0], and data indicating a data length value of the read request to the data bus ML [15: 0]. , A signal MREQ indicating the start of a read request and a signal MRDB indicating reading data are output. The signal MREQ is active at a high level, and the signal MRDB is active at a low level.
[0028]
The timing control circuit unit 23 receives a signal MEMP indicating that there is no read data in 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 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 four buses from 0 to 3). Is input. The timing control circuit unit 23 can prepare data in the signal FEOP indicating the final data of the write packet to the transmission FIFO 15, the write request signal FWRB to the transmission FIFO 15, and the transmission FIFO 15, and the LINK / PHY circuit 11 outputs a signal FREQB requesting transmission start.
[0030]
The signal FREQB is output from the comparator 32, and an output data bus DTC [from the data up counter 33 that counts the number of words in which data in the data portion of the transmission packet is written to the transmission FIFO 15 as input is input to the comparator 32. Data from 15: 0] and data from data bus DL [15: 0] for transmitting the requested number of bytes data from data bus DD # [31: 0] are respectively input.
[0031]
Further, the data output from the externally settable start register 31 via the output data bus STV [15: 0] is automatically supplied to the comparator 32 from the signals PIRDYB and PTRDYB by the arithmetic circuit 34 to the optimum value. The changed data is input via the 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. The signal PTRDYB indicates whether or not the memory unit 8 is ready for data transfer. It is a signal output from the chip set 6 shown.
[0032]
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]), it 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 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 data is input 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 receives the data bus STV [15: 0] when the signal MREQ is at a high level. When the signal MREQ is at a low level, the output signal of the adder 43 is selected and output. 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, FIG. 6 to FIG. 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 apparatus 1 during packet transmission will be described in a little 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 is asserted at a high level, and is simultaneously 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 the data bus MA [31: 0], and data “0020h” is output to the data bus ML [15: 0] in order to read 32 bytes of data.
[0037]
When the PCI master controller in the PCI interface control circuit 16 is able to read data from the PCI bus 5, the FIFO (not shown) in the PCI master controller is in an empty state where there is no data to be stored. Therefore, the signal MEMP becomes low level. When the signal MEMP becomes low level, the timing control circuit unit 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 period of timings T6 to T9, the signal REQWRB becomes low level from the receiving DMAC 13, the physical read request packets P0 to P3 are read from the data bus REQD [31: 0], and are stored in the register 21. Written. In this way, either the descriptor or the physical read request packet is written to the register 21, and preparation for writing the transmission packet to the transmission FIFO 15 is completed.
[0039]
Next, FIG. 8 is a timing chart showing an example of timing for writing the header part of the transmission packet to the transmission FIFO 15.
FIG. 8 shows that the signal FWRB becomes a low level during the period of the timings T6 to T9 and data is written to the transmission FIFO 15. In this case, the transmission DMAC 14 sets the signal FWRB to a low level and outputs the header data already stored in the register 21 to the data bus FD [31: 0]. Further, since the final 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 causes the transmission FIFO 15 to write the header portion of the packet.
[0040]
Next, FIG. 9 and FIG. 10 are timings showing examples of timing when the transmission DMAC 14 writes the data part to the transmission FIFO 15 based on the data stored in the register 21 at the timing of FIG. 6 or FIG. 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. Further, in the terms “initiator” and “target” used in the PCI standard, only the data read from the PCI bus 5 is described here, so that 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 the bus cycle of the PCI bus 5 is being executed, and is output from the chip set 6. The signal PSTOPB is a signal asserted by the chipset 6 when the target requests the initiator to cancel the transaction currently being executed. The data bus PAD [31: 0] is an address on the PCI bus 5. And data input / output bus.
[0042]
In FIG. 9, at timing T1, the transmission DMAC 14 raises the signal MREQ to a high level and makes 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], or the data “0030h” on the data bus ML [15: 0] when preparing data of “30h” bytes, for example. "Is output respectively. In response to this, the PCI master controller asserts the signal PFRMB at the low level from timing T2, and outputs the memory address data MSA for the memory unit 8 to the data bus PAD [31: 0].
[0043]
Next, the PCI master controller asserts the signal PIRDYB at a low level from the timing T3 to inform the chip set 6 that data reading is possible. The chip set 6 asserts the signal PTRDYB at the low level from timing T4 to indicate that data transmission is possible, and at the same time, sequentially outputs data to the data bus PAD [31: 0]. At timing T10, the signal PSTOPB is asserted at the low level by the chip set 6 to request to stop the data transfer, and the signal PTRDYB is deasserted at the high level by the chip set 6 from the timing T11. The PCI master controller deasserts the signal PFRMB at the timing T11 and the signal PIRDYB at the timing T12, and interrupts the data transfer.
[0044]
However, since the read request from the transmission DMAC 14 to the PCI master controller is “30h” bytes, the PCI master controller makes a read request by asserting the signal PFRMB again at the low level from timing T13, and at timing T13. The address “MSA + 1Ch” following the previous data read is output to the data bus PAD [31: 0].
[0045]
The chip set 6 asserts the signal PTRDYB at a low level at timing T15, and sequentially outputs data from the memory unit 8 to the data bus PAD [31: 0] at timings T15 to T19. Further, since the data read of the total “30h” bytes is completed at the timing T19, the PCI master controller deasserts the signal PFRMB to high level and notifies the chip set 6 of the end of the transaction. The signals PIRDYB and PTRDYB are respectively deasserted at a high level from the timing T20.
[0046]
For this reason, at time T5 to T11 and time 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 the low level at timing T5, sequentially writes the data to the transmission FIFO 15, and sets the signal FEOP to the high level because it is the final data at timing T20. 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 timing T2, and then the data is stored in the transmission FIFO 15. Each time it is written, it is incremented by 4. 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 the timing T2. ] Data “14h” is output.
[0048]
When the signal PIRDYB is at the low level and the signal PTRDYB is at the high level and the timing indicates a period in which data is to be read but no data comes from the target side, that is, at the timings T3 and T14, the data "0004h" ”Is output, and the data on the data bus CSTV [15: 0] is incremented by 4 by the adder 43. At timing T11, since the comparison result of the comparator 32 in FIG. 4 changes, the signal FREQB becomes low level and is asserted at timing T12, and a packet read request is made to the LINK / PHY circuit 11.
[0049]
Although the timing example is the same as that in FIG. 9, 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 read but no data comes from the target side is longer than that in FIG. 9. An example of this is shown in FIG.
As shown in FIG. 10, there is a period in which the data does not come at timings T3, T4, T14, and T15. At these times, the data on the data bus CSTV [15: 0] is sequentially incremented by four. Further, since the comparison result of the comparator 32 of FIG. 4 changes at timing T20, the signal FREQB is asserted at a low level at timing T21, and a packet read request is made to the LINK / PHY circuit 11.
[0050]
As described above, the data transfer apparatus 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. 9, the “18h” byte of the data portion. In FIG. 10, the transmission DMAC 14 makes a packet read request to the LINK / PHY circuit 11 when the data of “24h” byte is prepared. From this, it is possible to automatically change the transmission packet read request timing in accordance with the target state and transfer capability in the PCI bus 5 transaction.
[0051]
Second embodiment.
FIG. 11 is a diagram illustrating a configuration example of an arithmetic circuit of the data transfer device according to the second embodiment of the present invention. In the block diagram showing an example of the data transfer apparatus according to the second embodiment of the present invention, the transmission DMAC 14 in FIG. 1 is changed to the transmission DMAC 14a, and the data transfer apparatus 1 in FIG. 1 is changed to the data transfer apparatus 1a. Other than that is the same as FIG. The block diagram showing the configuration example of the transmission DMAC 14a is the same as FIG. 4 except that the timing control circuit unit 23a of FIG. In FIG. 11, the same components as those in FIG. 5 are denoted by the same reference numerals. The transmission DMAC 14a constitutes a control circuit unit.
[0052]
As shown in FIG. 11, the arithmetic circuit 34 a includes a 16-bit register 41, and data is input from the multiplexer 42. The multiplexer 42 receives data from the data bus STV [15: 0] and the addition result output from the adder 43. The multiplexer 42 selects the data from the data bus STV [15: 0] by the OR circuit 52 when the signal MREQ is at a high level or when the comparison result of the comparator 51 is at a high level. 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 the data from the data bus STV [15: 0] is output from the adder 43. If it is smaller than that, a high level signal is output, otherwise a low level signal is output.
[0053]
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 44 and outputs the result. The output signal of the NOR circuit 53 input to the input terminals corresponding to the signals PIRDYB and PTRDYB is input as the 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 selects 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 an example of timing from when the transmission DMAC 14 a writes a transmission packet to the transmission FIFO 15 and issues a packet read request to the LINK / PHY circuit 11.
FIG. 12 is almost the same as the timing shown in FIG. 10 except that the data from the data bus STV [15: 0] is “1Ch” and the data bus CSTV [15 : The data from 0] is different. 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, and then the data is actually transferred on the PCI bus 5. It is decremented by 4 at 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 timing 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 the data bus CSTV [15: 0] from the register 41. The data output to the data “1Ch” from the data bus STV [15: 0] remains as it is. Since the comparison result of the comparator 32 of FIG. 4 changes at timing T20, the signal FREQB is asserted at a low level at 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 apparatus according to the second embodiment can obtain the same effects as those of the first embodiment.
[0056]
Third embodiment.
FIG. 13 is a diagram illustrating a configuration example of the transmission DMAC of the data transfer apparatus according to the third embodiment of the present invention. In the block diagram showing an example of the data transfer apparatus according to the third embodiment of the present invention, the transmission DMAC 14 in FIG. 1 is changed to the transmission DMAC 14b, and the data transfer apparatus 1 in FIG. 1 is changed to the data transfer apparatus 1b. Other than that is the same as FIG. In FIG. 13, the same components as those in FIG. 4 are denoted by the same reference numerals, and description thereof is omitted here, and only differences from FIG. 4 are described. The transmission 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 of FIG. 4 is replaced with the transmission DMAC 14b. It is in that.
In FIG. 13, the inverter 64 starts to transmit the data prepared in the transmission FIFO 15 from the LINK / PHY circuit 11 to the IEEE 1394 bus 3, but the data preparation in the transmission FIFO 15 is not in time and a transmission packet is received. A signal UNDERTM which becomes high level when a data error occurs is input from the transmission FIFO 15.
[0058]
The multiplexer 61 receives data from the data bus DL [15: 0] and data from the data bus CSTV [15: 0]. The multiplexer 61 compares either the data from the data bus DL [15: 0] or the data from the data bus CSTV [15: 0] according to the output signal from the output terminal QB of the D-type flip-flop 62. Output to 32 corresponding input terminals. The power supply voltage VDD is input to the D input terminal of the D 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. Have been entered.
[0059]
In such a configuration, FIG. 14 is a timing chart showing a timing example of each signal of FIG. In FIG. 14, the packet is written to the transmission FIFO 15 at timings T1 to T6 and timings T8 to T13. At timing T3, the signal FREQB is asserted at a low level, and packet transmission from the transmission FIFO 15 to the IEEE 1394 bus 3 is started via the LINK / PHY circuit 11, but data to the transmission FIFO 15 is transmitted at timing T5. The preparation is not in time and the signal UNDERTM goes high. Accordingly, the output terminal QB of the D-type flip-flop 62 rises to a high level at 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 for the next packet in which a data error has occurred is always made only when data is prepared in the transmission FIFO 15. However, once the packet is transmitted securely, the output terminal of the AND circuit 63 rises from the low level to the high level at timing T18, and the output terminal QB of the D-type flip-flop 62 becomes the low level.
[0061]
Therefore, the multiplexer 61 selects and outputs data from the data bus CSTV [15: 0], 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. Therefore, the timing for starting data transfer from the transmission FIFO 15 to the LINK / PHY circuit 11 is the timing at which the function of the arithmetic circuit 34 is activated.
[0062]
As described above, the data transfer apparatus according to the third embodiment can obtain the same effects as those of the first embodiment, and when a data error occurs during packet transmission, Since the next transmission packet can be transmitted reliably, the stability on the system can be improved.
[0063]
In each of the first to third embodiments, the signal having a B at the end of the code, the signal input terminal and the signal output terminal are active at a low level, and the code has a B at the end. No signal, signal input end, and signal output end indicate that they are active at a high level, respectively.
[0064]
【The invention's effect】
As is apparent from the above description, the data transfer device of the present invention. And its operation control method According to the above, in order to improve the processing capability of the data transfer device, even when the packet transmission timing is advanced, the transmission start timing is automatically changed according to the state of the internal system device for preparing the transmission data Therefore, it is possible to reduce the occurrence of transmission packets causing data errors, and to further improve the data transfer processing capability. In addition, if the transmission packet has a data error when the transmission start timing is advanced in order to improve the data transfer processing capability, when retransmitting the transmission packet having the data error, a process for increasing the transmission start timing is performed. By invalidating the data, reliable data transfer is possible.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a data transfer apparatus 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 illustrating a schematic configuration example of a descriptor.
4 is a block diagram showing a configuration example of a transmission DMAC 14 in FIG. 1. FIG.
5 is a block diagram showing an example of an internal configuration of an arithmetic circuit 34 in FIG. 4. FIG.
FIG. 6 is a timing chart showing signals for writing a descriptor to the register 21;
FIG. 7 is a timing chart showing timing for writing a physical read request packet to a register 21;
FIG. 8 is a timing chart showing an example of timing for writing a header part of a transmission packet to a transmission FIFO 15;
9 is a timing chart showing an example of the timing of each signal shown in FIGS. 4 and 5 when a data part is written in the transmission FIFO 15. FIG.
10 is a timing chart showing another timing example of each signal shown in FIG. 4 and FIG. 5 when a data part is written in the transmission FIFO 15. FIG.
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.
12 is a timing chart showing an example of the timing of each signal until a transmission packet is written in the transmission FIFO 15 and a packet read request is issued to the LINK / PHY circuit 11. FIG.
FIG. 13 is a diagram illustrating a configuration example of a transmission DMAC of a data transfer apparatus according to a third embodiment of the present invention.
14 is a timing chart showing an example timing of each signal in FIG. 13;
FIG. 15 is a diagram showing an example of a schematic timing in the data flow in the IEEE 1394 bus and the PCI bus.
FIG. 16 is a diagram showing another schematic timing example of the data flow in the IEEE 1394 bus and the PCI bus.
FIG. 17 is a diagram showing another schematic timing example of the data flow in the IEEE 1394 bus and the PCI bus.
[Explanation of symbols]
1, 1a, 1b Data transfer device
2 PC
3 IEEE1394 bus
4 HDD device
5 PCI bus
6 Chipset
7 CPU
8 Memory part
11 LINK / PHY circuit
12 Receive FIFO
13 DMAC for reception
14, 14b DMAC for transmission
15 FIFO for transmission
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 (8)

外部システム装置と内部システム装置との間でデータ転送を行うデータ転送装置において、
前記内部システム装置とのインタフェースを行う第1インタフェース回路部と、
前記外部システム装置とのインタフェースを行う第2インタフェース回路部と、
前記第1インタフェース回路部を介して前記内部システム装置から入力されたデータを一時的に記憶し、入力された制御信号に応じて、該記憶したデータを第2インタフェース回路部を介して前記外部システム装置へ送信する送信用データ記憶部と、
該送信用データ記憶部に記憶されるライトデータ総数をモニタし、該モニタしたライトデータ総数が所定値を超えると、前記送信用データ記憶部に記憶されたライトデータを前記第2インタフェース回路部へ送信させる、送信用データ記憶部の動作制御を行う制御回路部と、
を備え、
前記制御回路部は、前記モニタしたライトデータ総数が所定値になる前の期間において、データ転送可能な状態であることを示す信号が前記第1インタフェース回路部から入力されると共にデータ転送不可能な状態であることを示す信号が前記内部システム装置から入力される期間をモニタし、該期間を前記ライトデータのカウント時間に対応するように前記所定値をインクリメントさせ、前記モニタしたライトデータ総数が、該所定値未満であると共に前記外部システム装置から送信要求があったデータ量未満である場合は、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を禁止することを特徴とするデータ転送装置。
In a data transfer device that transfers data between an external system device and an internal system device,
A first interface circuit unit for interfacing with the internal system device;
A second interface circuit unit for interfacing with the external system device;
Data input from the internal system device via the first interface circuit unit is temporarily stored, and the stored data is stored via the second interface circuit unit in response to the input control signal. A data storage unit for transmission to be transmitted to the device;
The total number of write data stored in the transmission data storage unit is monitored. When the monitored total number of write data exceeds a predetermined value, the write data stored in the transmission data storage unit is sent to the second interface circuit unit. A control circuit unit for controlling the operation of the transmission data storage unit,
With
In the period before the total number of monitored write data reaches a predetermined value, the control circuit unit receives a signal indicating that data transfer is possible from the first interface circuit unit and can not transfer data. A period in which a signal indicating a state is input from the internal system device, the predetermined value is incremented so that the period corresponds to the count time of the write data, and the total number of the monitored write data is When the amount is less than the predetermined value and less than the amount of data requested by the external system device, the transmission data storage unit is prohibited from transmitting data to the second interface circuit unit. A data transfer device.
前記制御回路部は、データ転送が不可能な状態であることを示す信号が前記内部システム装置から入力されている間は、あらかじめ設定された値を前記所定値に加算することを特徴とする請求項1記載のデータ転送装置。The control circuit unit adds a preset value to the predetermined value while a signal indicating that data transfer is impossible is input from the internal system device. Item 4. The data transfer device according to Item 1. 前記制御回路部は、データ転送が可能な状態であることを示す信号が前記内部システム装置から入力されている間は、前記所定値に対する、前記あらかじめ設定された値の加算を停止することを特徴とする請求項2記載のデータ転送装置。The control circuit unit stops adding the preset value to the predetermined value while a signal indicating that data transfer is possible is input from the internal system device. The data transfer device according to claim 2. 前記制御回路部は、送信用データ記憶部から第2インタフェース回路部へデータ送信を行っている際に、前記内部システム装置からのデータ送信が間に合わず該送信用データ記憶部からのデータ送信に失敗すると、内部システム装置から再度データ転送が行われるときに、前記モニタしたライトデータ総数が、前記外部システム装置から送信要求があったデータ量になると、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を行わせることを特徴とする請求項1、2又は3記載のデータ転送装置。When the control circuit unit is transmitting data from the transmission data storage unit to the second interface circuit unit, data transmission from the internal system device is not in time, and data transmission from the transmission data storage unit fails Then, when data transfer is performed again from the internal system device, if the total amount of the monitored write data reaches the data amount requested to be transmitted from the external system device, the second data is stored in the second data storage unit. 4. The data transfer apparatus according to claim 1, wherein the data transfer apparatus is configured to transmit data to the interface circuit unit. 内部システム装置とのインタフェースを行う第1インタフェース回路部と、
外部システム装置とのインタフェースを行う第2インタフェース回路部と、
前記第1インタフェース回路部を介して前記内部システム装置から入力されたデータを一時的に記憶し、入力された制御信号に応じて、該記憶したデータを第2インタフェース回路部を介して前記外部システム装置へ送信する送信用データ記憶部とを備えた、前記外部システム装置と前記内部システム装置との間でデータ転送を行うデータ転送装置の動作制御方法において、
前記送信用データ記憶部に記憶されたライトデータ総数をモニタし、
該モニタしたライトデータ総数が所定値になる前の期間において、
データ転送可能な状態であることを示す信号が前記第1インタフェース回路部から入力されると共にデータ転送不可能な状態であることを示す信号が前記内部システム装置から入力される期間をモニタし、
該期間を前記ライトデータのカウント時間に対応するように前記所定値をインクリメントさせ、
前記モニタしたライトデータ総数が、該所定値未満であると共に前記外部システム装置から送信要求があったデータ量未満である場合は、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を禁止することを特徴とするデータ転送装置の動作制御方法。
A first interface circuit unit for interfacing with an internal system device;
A second interface circuit unit for interfacing with an external system device;
Data input from the internal system device via the first interface circuit unit is temporarily stored, and the stored data is stored via the second interface circuit unit in response to the input control signal. In an operation control method of a data transfer device that includes a data storage unit for transmission to be transmitted to the device and performs data transfer between the external system device and the internal system device,
Monitor the total number of write data stored in the transmission data storage unit,
In the period before the total number of monitored write data reaches a predetermined value,
Monitoring a period in which a signal indicating that data transfer is possible is input from the first interface circuit unit and a signal indicating that data transfer is not possible is input from the internal system device;
The said period is incremented the predetermined value so as to correspond to the counting time of the write data,
When the total number of monitored write data is less than the predetermined value and less than the amount of data requested for transmission from the external system device, the transmission data storage unit is connected to the second interface circuit unit. An operation control method for a data transfer apparatus, wherein data transmission is prohibited.
データ転送が不可能な状態であることを示す信号が前記内部システム装置から入力されている間は、あらかじめ設定された値を前記所定値に加算することを特徴とする請求項5記載のデータ転送装置の動作制御方法。  6. The data transfer according to claim 5, wherein a preset value is added to the predetermined value while a signal indicating that data transfer is impossible is input from the internal system device. Device operation control method. データ転送が可能な状態であることを示す信号が前記内部システム装置から入力されている間は、前記所定値に対する、前記あらかじめ設定された値の加算を停止することを特徴とする請求項6記載のデータ転送装置の動作制御方法。  7. The addition of the preset value to the predetermined value is stopped while a signal indicating that data transfer is possible is input from the internal system device. Control method of the data transfer apparatus of the present invention. 前記送信用データ記憶部から前記第2インタフェース回路部へデータ送信を行っている際に、前記内部システム装置からのデータ送信が間に合わず該送信用データ記憶部からのデータ送信に失敗すると、内部システム装置から再度データ転送が行われるときに、前記モニタしたライトデータ総数が、前記外部システム装置から送信要求があったデータ量になると、前記送信用データ記憶部に対して前記第2インタフェース回路部へのデータ送信を行わせることを特徴とする請求項5、6又は7記載のデータ転送装置の動作制御方法。When transmitting data from the transmission data storage unit to the second interface circuit unit, if the data transmission from the internal system device is not in time and data transmission from the transmission data storage unit fails, the internal system When the data transfer is performed again from the device and the total number of the monitored write data reaches the amount of data requested to be transmitted from the external system device, the transmission data storage unit is sent to the second interface circuit unit. 8. The method for controlling operation of a data transfer apparatus according to claim 5, 6 or 7, wherein the data transmission 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 JP2004054344A (en) 2004-02-19
JP4410978B2 true 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
JP2004054344A (en) 2004-02-19

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
JP4008987B2 (en) Bus communication system, bus arbitration method, and data transfer method
JP3636157B2 (en) Data transfer control device, electronic device, and data transfer control method
US7752374B2 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
JP4837659B2 (en) Bus controller for processing split transactions
IL95445A (en) High speed flexible source/destination data burst direct memory access controller
US6671765B1 (en) Architecture enabling code overlay using a dedicated endpoint
CN114051611B (en) DMA scatter and gather operations for non-contiguous memory
KR930002787B1 (en) Universal peripheral controller self-configuring bootloadable ramware
US6401142B1 (en) Apparatus and method for selective bus transfer using master and slave modes
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
US6370607B1 (en) Automatic disabling of interrupts upon entry into interrupt service routine
JP3614161B2 (en) Data transfer control device, electronic device, and data transfer control method
JP2004500656A (en) Data transaction access system and method
US6279044B1 (en) Network interface for changing byte alignment transferring on a host bus according to master and slave mode memory and I/O mapping requests
JP4410978B2 (en) Data transfer apparatus and operation control method thereof
US6216193B1 (en) Apparatus and method in a network interface for recovering from complex PCI bus termination conditions
JP3431025B2 (en) Data transfer system
US6446154B1 (en) Method and mechanism for virtualizing legacy sideband signals in a hub interface architecture
US6507609B1 (en) Mechanism for capturing and reporting interrupt events of different clock domains
US20230134412A1 (en) Serial transmission controller and data transmission method thereof
US7065669B2 (en) System and method for providing a write strobe signal to a receiving element before both an address and data signal

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