JP2000224195A - データ伝送装置 - Google Patents
データ伝送装置Info
- Publication number
- JP2000224195A JP2000224195A JP2757799A JP2757799A JP2000224195A JP 2000224195 A JP2000224195 A JP 2000224195A JP 2757799 A JP2757799 A JP 2757799A JP 2757799 A JP2757799 A JP 2757799A JP 2000224195 A JP2000224195 A JP 2000224195A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- transmission
- data
- reception
- buffer
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
高速化が容易に図れるデータ伝送装置を提供する。 【解決手段】 受信専用バッファ5と送信専用バッファ
6と送受信兼用バッファ7と受信用フィルタ8と送信用
フィルタ9を備え、受信したパケットに応じてパケット
格納先を受信用フィルタ8により選択し、READコマ
ンド実行時におけるデータ送信パケットに対応して返送
されるパケットは受信フィルタ8で検出し、それ以外の
パケットは受信専用バッファ5に格納する。またWRI
TEコマンド時におけるデータ要求パケットは送信専用
バッファから送信され、それに対応するデータ受信パケ
ットは、受信フィルタにより送受信兼用バッファ7に格
納され、それ以外の受信パケットは、受信専用バッファ
5に格納される。また、送受信兼用バッファ7のバッフ
ァサイズはデータ送受信に用いられるパケット2個分の
容量を持つ。
Description
ディスクドライブ等の周辺機器との間を通信媒体を介し
てデータやコマンド等をパケット単位で伝送するデータ
伝送装置に関するものである。
接続するディジタルインターフェースとして、IEEE
1394方式が注目されている。この方式は、従来のS
CSI方式等によるコンピュータ機器間の通信のみなら
ず、AV機器間での通信にも用いることが出来るもので
ある。これは、IEEE1394方式が、アシンクロナ
ス(Asynchronous)通信とアイソクロノス
(Isochronous)通信とが定義されているた
めである。アシンクロナス通信は、コンピュータデータ
の伝送のような、リアルタイム性が要求されず、しかも
信頼性がより要求されるデータの伝送に用いられる伝送
であり、アイソクロノス通信は、動画のAVデータ等の
ような、信頼性以上にリアルタイム性が要求されるデー
タの伝送に用いられる。従って、一般的にIEEE13
94方式を用いて、例えばコンピュータデータをDVD
−RAMドライブ装置等に格納したり、DVD−RAM
ドライブ装置から記録済みのコンピュータデータを読み
出したりする際には、アシンクロナス通信により、デー
タが伝送される。
コンピュータ(イニシエータ)とターゲットとの間のプ
ロトコルについてはSBP−2(SerialBusP
rotocol−2)が現在ANSIにて審議されてい
る。
えばDVD−RAMドライブ等からデータをホストコン
ピュータ(イニシエータ)が読み込む場合、つまりのR
EADコマンドが発行された場合の動作について、図6
を用いて説明する。
2を用いて、イニシエータとターゲット間でデータの転
送を行う場合の、プロトコルの動作説明図である。
ている非同期パケットの一部の構造を示すパケット構造
図である。IEEE1394では、動作の要求を行うた
めの要求パケット(リクエストパケット)と要求パケッ
トによって要求された動作の結果を返すための応答パケ
ット(レスポンスパケット)が定義されている。いずれ
のパケットに対しても、パケットを受信した場合には、
パケットの受信状態を示すアクノリッジパケット(ac
knoledgepacket、以下Ackパケットと
略す)を相手機器に返す。Ackパケットには、処理完
了を示すack_complete、受信は完了したが
処理中であることを示すack_pending、再送
要求を示すack_busy等の状態を示す。要求パケ
ットと応答パケットとは通常対をなして使用されるが、
Ackパケットの内容によってはAckパケットの受信
で処理が完了する場合もある。
要求パケットであり、それぞれブロックデータ書き込み
要求パケット(Write request for
data block packet、以下BWRQと
略す)、クワドレットデータ書き込み要求パケット(W
rite request for data qua
dlet packet、以下QWRQと略す)、ブロ
ックデータ読み込み要求パケット(Read requ
est for data block packe
t、以下BRRQと略す)であり、書き込み要求パケッ
トに対する応答パケットとして(c)に示す書き込み応
答パケット(Write response pack
et、以下WRSパケットと略す)が定義されており、
またBRRQパケットに対する応答パケットとして
(e)に示すブロックデータ読み込み応答パケット(R
ead response for data blo
ck packet、以下BRRSパケットと略す)が
定義されている。いずれの場合もパケットの種類を識別
するパケット識別情報tcode(transacti
on code)とパケットラベル情報tl(tran
saction label、トランザクション固有の
タグ情報)が含まれており、また応答パケットの場合に
は、応答状態をしめす応答識別情報rcode(res
ponsecode)が含まれている。従って、パケッ
ト識別情報tcodeによりトランザクションの種類が
識別でき、またパケットラベル情報tlにより対をなす
要求パケットと応答パケットを認識することができる。
−1995規格書を参照されたい。
が、データ転送を行う前には、種々のやり取りが行われ
るが、ここでは省略し、イニシエータからREADコマ
ンドが発行される際のプロトコルについて説明する。
イニシエータは、ターゲット側のCSR(Contro
l and Status Registers)空間
に定義されているCommand Block Age
nt RegistersのAGENT_RESETレ
ジスタ宛にQWRQパケットを発行し、command
block fetch agentをリセットする。
対して、ターゲットから返される以下Ackパケットが
ack_completeであるか、或いはAckパケ
ットがack_pendingで返され、その後ターゲ
ットからのrcodeが処理完了(resp_comp
lete)を示すWRSパケットが返されると、イニシ
エータは、ターゲット側のORB_POINTERレジ
スタ宛に、自らのシステムメモリ内に作成しておいたO
RB’s(Operation request bl
ocks)のアドレスをデータフィールドに含むBWR
Qパケットを発行し、ターゲット側のORB_POIN
TERレジスタに書き込む。ORBは、イニシエータか
らのコマンドを含むものである。ターゲットは書き込ま
れたBWRQパケットに含まれるORBが格納されたイ
ニシエータのシステムメモリアドレスに対して、BRR
Qパケットを発行する。イニシエータはこのBRRQパ
ケットを受信すると、その応答パケットであるBRRS
パケットのデータフィールドにORBを格納し送信す
る。この様にして、ターゲットはイニシエータからOR
B、つまりコマンドを受け取る。
解析し、READコマンドであった場合、転送すべきデ
ータが準備できると、そのデータをデータフィールドに
含んだBWRQパケットを、READコマンドが含まれ
るORBで指定されたイニシエータのシステムメモリア
ドレスに対して発行し、データを書き込む。この時、パ
ケットの大きさは、IEEE1394バスの転送速度等
に依存するために、大量のデータを転送しようとする
と、データを複数個のパケットに分割して、転送を行う
ことになる。この時、転送のタイミングとしては、1つ
のトランザクションが完了する、つまり要求パケットに
対して処理完了をしめすAckパケットが受信される
か、あるいは受信完了処理中を示すAckパケットが受
信され、その後要求パケットに対して対となる応答パケ
ットが受信されることを確認しながら行われる。
が全て終了すると、ターゲットは、予めイニシエータが
指定したアドレスにREADコマンドに対するステータ
スをBWRQパケットを用いて書き込む。
動作が完了する。
エータがターゲットから送られたBWRQパケットを受
信できない場合、再送要求を示すAckパケットをイニ
シエータが返すことにより、リトライ(再送)を行うこ
とが出来る。
ータの転送時には、ターゲットがイニシエータのシステ
ムメモリ中に格納されたデータをBRRQパケットを利
用して、読み込み、例えばDVD−RAMディスクに書
き込む。
として、図8に示されるような構成があげられる。図8
に示すように、基本構成としては、物理層コントローラ
(PHY)100と、リンク層コントローラ(LIN
K)101と、CPU102と、DMAコントローラ1
03と、ローカルメモリ104とからなる。物理層コン
トローラ100は、バスのイニシャライズ、データのエ
ンコード/デコード、アービトレーション、バイアス電
圧の出力/検出などの機能を持つ。またリンク層コント
ローラ101は、誤り検出符号の生成/検出、パケット
の生成/検出、パケット送出のリトライ動作等の機能を
持つリンクコア部101a、送受信パケット用のFIF
O101b、コンフィグレーションROM101c、イ
ンターフェース部101d等から構成される。このFI
FOは、送信用FIFO(ATF)と受信用FIFOを
持ち、そのサイズは最大転送パケットサイズと等しいこ
とが多い。
QUERYLOGINS、ABORT TASK等のタ
スク管理系のコマンドが定義されている。これは、図6
のORB_POINTERへのBWRQパケットによる
アクセスの代わりに、SBP−2規格で定義されるMa
nagementAgentレジスタへアクセスし、そ
の後上記のタスク管理系のコマンドを含むManage
mentORBをBRRQパケットで読み込み、そのレ
スポンスのBRRSパケットに含まれるManagem
entORB(タスク管理系のコマンドが含まれる)タ
ーゲット側で解析し、コマンドを実行することにより行
われる。例えば、データ転送中であっても、イニシエー
タがデータ転送を途中で終了させるために発行されたA
BORTTASKコマンドの処理は、データ転送中であ
っても処理されなければ、イニシエータの意図通りにタ
ーゲットが動作しないので、データ転送転送中であって
もタスク管理系コマンド処理を行わなければならない。
従来の構成では、送信用FIFOと受信用FIFOとを
別々に持っているが、例えば、データ転送中に、イニシ
エータがタスク管理系のコマンドの1つであるQUER
Y LOGINを発行しようとして、Manageme
ntAgent宛にBWRQパケットを発行した場合、
データ転送中であっても受信されるパケットをすべて、
ターゲット側の受信用FIFOに格納されるようにして
おくと、その受信されたパケットがタスク管理系のコマ
ンドであるのか、READコマンドによるデータを送信
するためのBWRQパケットに対する応答パケット(W
RSパケット)であるかを、受信用FIFOにパケット
が格納される毎に必ずチェックして適切な処理を行わな
ければならないので、必ず受信用FIFOに格納された
パケットが何であるかをCPUにより判断しなければな
らないので、オーバーヘッドが大きく、データ転送に時
間がかかるという問題を有していた。
るためのBWRQパケットに対する応答パケット(WR
Sパケット)以外は、受信FIFOに格納されないよう
に構成すれば、受信毎の毎回のチェックは不要であるの
で、オーバーヘッドが少なくデータ転送の高速化が図れ
るが、イニシエータの意図通りの動作をターゲットが行
うことは不可能になる。
いずれも、そのサイズは、最大転送パケットサイズに等
しいので、例えば、READコマンド実行に、データ転
送のトランザクションが終了しないと、つまり、ack
_completeを示すAckパケットが返される
か、あるいはack_pendingのAckパケット
が返された後、resp_completeを示すレス
ポンスパケットが返された後でないと、リトライを要求
された場合を考慮して、送信用FIFOに次のパケット
のデータを書き込むことが出来ずに、データ転送に時間
がかかるという問題点を有していた。
で、データ転送のオーバーヘッドが少ないデータ伝送装
置を提供することを目的とする。
に本発明のデータ伝送装置は、ヘッダフィールドとデー
タフィールドからなるパケット単位でコマンドやデータ
等の転送を行うデータ伝送装置であって、送受信兼用バ
ッファと、受信専用バッファと、送信専用バッファと、
受信したパケットの内容に応じてその格納先を前記受信
専用バッファか前記送受信兼用バッファかに振り分ける
受信用フィルタと、送信するパケットの内容に応じてそ
の格納先を前記送信専用バッファか前記送受信兼用バッ
ファかに振り分ける送信用フィルタと、送信するパケッ
トを構成したり、あるいは受信したパケットから必要な
情報を取り出すパケット処理回路と、前記送受信兼用バ
ッファ及び前記送信専用バッファに格納された送信パケ
ットを伝送路上の送信パケットに変換し伝送路上の使用
権を得た場合に伝送路上の電気信号に変換し送出する、
あるいは受信された伝送路上の電気信号から前記受信専
用バッファ或いは前記送受信専用バッファに格納するパ
ケット構成に変換する送受信回路とを備えたものであ
る。
記送受信兼用バッファは、送受信兼用バッファに格納さ
れる送信用パケット、または受信用パケットのどちらか
の大きい方のパケットの2個分以上のバッファ容量を備
えたことを特徴とするものである。
パケット処理回路は、データ送信時において、送信しよ
うとするデータを含む要求パケットに対応して処理完了
を示すパケットを前記送受信回路が検出するか、あるい
は要求パケットに対して受信完了処理中を示すパケット
を前記送受信回路で検出後に処理完了を示す応答識別情
報を含む応答パケットを前記受信用フィルタにより検出
したことにより、送信しようとするデータを含む要求パ
ケットを連続して構築することを特徴とするものであ
る。
記パケット処理回路は、データ受信時において、データ
の送信を要求する要求パケットに対応して、前記要求パ
ケットに対して受信完了処理中を示すパケットを前記送
受信回路で検出後に受信される前記要求パケットに対す
るデータを含む応答パケットのパケット識別情報と応答
識別情報を前記受信用フィルタにより検出後、受信した
パケットを前記受信用フィルタを介して前記送受信兼用
バッファに格納すると同時に、連続して前記データの送
信を要求する要求パケットを送信専用バッファに格納す
ることを特徴とするものである。
施の形態を詳細に説明するが、これによって本発明の技
術的範囲が制限されるものではないのはもちろんであ
る。
態について、図面を参照しながら説明する。
タ伝送装置の構成図である。1はコマンドを発行したり
するホストコンピュータ(以降イニシエータとも呼ぶ)
で、2はDVD−RAMドライブ装置(以降ターゲット
とも呼ぶ)である。ホストコンピュータ1とDVD−R
AMドライブ装置2は、IEEE1394シリアルバス
3を介して接続されている。4は送受信回路で、物理層
コントローラ(PHY)41とリンク層コントローラ
(LINK)42とからなっており、物理層コントロー
ラ41は、バスのイニシャライズ、データのエンコード
/デコード、アービトレーション、バイアス電圧の出力
/検出等の機能を持ち、リンク層コントローラ42は、
誤り訂正符号の生成/検出、パケットの生成/検出等の
機能を持つ。5はコマンド等を受信するための受信専用
バッファで、6はステータス等を送信するための送信専
用バッファ、7はデータを送受信するための送受信兼用
バッファである。8は受信用フィルタであり、データ受
信時には、イニシエータ1からのデータの送信を要求す
る要求パケットに対応するデータフィールドにデータが
含まれた応答パケットが受信された場合には、その受信
された応答パケットの格納先を送受信兼用バッファに
し、それ以外のパケットが受信された場合には、その格
納先を受信専用パケットにするように動作する。またイ
ニシエータ1にデータを送信する時には、受信されたパ
ケットのうち、パケットラベル情報とパケット識別情報
と応答識別情報とから、データフィールドに送信するデ
ータを含む要求パケットに対して対をなす応答パケット
が受信されたと判断されると、後述するパケット処理回
路10にその受信を知らせ、それ以外のパケットが受信
された場合には、受信専用バッファに格納するように動
作する。
するパケットを送信専用バッファ6に格納するか、或い
は送受信兼用バッファ7に格納するかを送信するパケッ
トのパケット識別情報(tcode)により選択する送
信用フィルタである。さらに10は、受信されたパケッ
トから必要なデータのみを抜き出し、光ディスクコント
ローラ(以降ODCと呼ぶ)13にDMAバス14を介
して転送するためのデータに変換したり、或いは光ディ
スク16から読み出されたデータを所定のアナログ信号
処理を施すアナログ信号処理回路15を経て、ODC1
3で復調や誤り訂正処理等が施されたデータにヘッダを
付与したり、パケット化を行うパケット変換回路であ
る。
ために、リンク層コントローラ42に書き込まれる、或
いは1394バス3から受信されたパケットをリンク層
コントローラ42から読み出される際の各パケットの構
造を示す。図2中の斜線部分は、リザーブ領域である。
具体的に示すと、図2(a)は、図7(a)に示すBW
RQパケットを送信するためのリンク層コントローラ4
2に書き込まれる、つまりパケット処理回路10やマイ
コン11により各バッファに書き込まれるパケット構成
を示す。図2(b)は図7(b)に示すQWRQパケッ
トをリンク層コントローラ42に書き込む際のパケット
構造である。また図2(c)は図7(c)に示すWRS
パケットを受信し、リンク層コントローラ42から読み
出される際のパケット構成を示し、図2(d)は図7
(d)に示すBRRQパケットを送信するためにリンク
層コントローラ42に書き込まれる際のパケット構成で
ある。さらに図2(e)は図7(e)に示すBRRSパ
ケットが受信され、リンク層コントローラ42から読み
出される際のパケット構成を示す。これら図2で示した
パケットのうち送信パケットは、図7に示すように、h
eader_CRCやdata_CRCの計算やsou
rce_IDの付加等のパケットの再構成がリンク層コ
ントローラ42で行われ、また受信されたパケットに対
しては、CRCによる誤り検出等がリンク層コントロー
ラ42で行われる。
ータ伝送装置の動作を説明する動作説明図である。図4
はイニシエータ1がターゲット2のデータを読み込む、
つまりイニシエータ1がREADコマンドを発行した場
合の本実施の形態の動作説明図であり、図5はイニシエ
ータ1がターゲット2にデータを格納する、つまりイニ
シエータ1がWRITEコマンドを発行した場合の本実
施の形態の動作説明図である。
はパケット処理回路10の動作状態を、(2)は送受信
兼用バッファ(DTRF)7の内部に格納されたパケッ
トの状態、(3)は1394バス3上の状態、(4)は
受信用フィルタ8の状態を示し、(5)は、送受信兼用
バッファ7の内部状態を示し、白丸はパケット処理回路
10によりDTRFに書き込まれる際の書き込みアドレ
スポインタを示し、黒丸はリンク層コントローラ42に
書き込まれる際に送受信兼用バッファ7から読み出され
る際の読み出しアドレスポインタを示す。この時、送受
信兼用バッファ7の容量は2×kクワッドレットで表
す。
3と同じで、(4)は送信専用バッファ6の状態を示
す。(5)は図3(5)と同様に送受信兼用バッファ7
の内部状態を示し、白丸は受信されたパケットがリンク
層コントローラ42から読み出され送受信兼用バッファ
7に書き込まれる際の書き込みアドレスポインタを示
し、黒丸は送受信兼用バッファ7からパケット処理回路
10により読み出される際の読み出しアドレスポインタ
を示す。同様に、送受信兼用バッファ7の容量は2×k
クワッドレットで表す。
を転送する際には、その転送速度によりパケットの転送
可能な最大ペイロードサイズは規定されるので、転送速
度に応じたパケットを格納できるサイズのバッファ量が
必要となるが、本実施の形態では、送受信兼用バッファ
7のバッファサイズは、データを転送する際に用いられ
るパケット、つまりSBP−2プロトコルの場合は、R
EADコマンドではBWRQパケット、WRITEコマ
ンドではBRRSパケットであるので、これらのパケッ
トサイズの2倍であるとする。上述したようにパケット
のデータフィールドの最大サイズは転送速度に応じてI
EEE1394規格により定義されている。従って、本
実施の形態では、転送速度をS400であるとし、転送
可能なパケットに含まれるデータ部のサイズは2048
バイト(512クワッドレット)であり、本実施の形態
では、送受信兼用バッファ7のパケットサイズを図2
(a)または(e)に示す様に、ヘッダフィールド及び
データフィールドの最後の1クワドレットを加えて(2
048+16+4)×2=4136バイトとする。
について、図面を用いて説明する。
から発行される場合について、その動作を説明する。1
回のREADコマンドで、イニシエータ1から要求され
るデータ長を64kBとする。従って、64kBのデー
タを転送するためには、データを転送するパケットのデ
ータフィールドのサイズが2kBであるので、32回に
分けてデータ転送が行われる。
にREADコマンドのCDBを含むORBを作成する。
RB_POINTERレジスタに、ORBを作成したメ
モリの1394空間上のアドレスをBWRQパケットに
よりターゲット2に送信する。
ORBが格納されたアドレスに対して、BRRQパケッ
トを発行し、イニシエータ1はORBを含むBRRSパ
ケットをターゲット2に返す。
ケットに含まれるCDBを取り出し、READコマンド
を確認後、ドライブから必要なデータを読み出すために
初期設定を行う。この時、パケット処理回路10に、レ
ジスタ12を経由して、マイコン11からREADコマ
ンドで指定されたデータ格納先を示すイニシエータ1の
システムメモリ領域のアドレス、イニシエータ1のID
等のヘッダ情報が書き込まれる。
時であるので、WRSパケットを受信し、そのパケット
に含まれる応答識別情報(rcode)が処理完了(r
esp_complete)であり、かつパケットラベ
ル情報tlがデータを送信するための要求パケット、B
WRQパケットのそれと一致すれば、パケット処理回路
10に検出信号を送り、また受信したパケットがWRS
パケット以外(パケット識別情報で判断)か、あるいは
受信されたパケットがWRSパケットであっても、デー
タを送信するための要求パケット、BWRQパケットに
格納されたパケットラベル情報tlと受信したWRSパ
ケットのパケットラベル情報が一致しない場合、あるい
は受信したパケットであり、パケットラベル情報tlも
一致したが、応答識別情報rcodeが処理完了を示す
resp_complete以外であれば、その受信さ
れたパケットは受信専用バッファ5に受信されたパケッ
トが格納されるように設定しておく。
0に設定されたヘッダ情報に続いて、指定されたデータ
がディスクから読み出され、アナログ信号処理回路15
を介して、光ディスクコントローラ13で復調処理や誤
り訂正処理が施され、パケット処理回路10に入力され
る。
データとから2048バイトのデータフィールドを持つ
図2(a)に示すパケット構成で送受信兼用バッファ7
に書き込む(図3のSTEP1)。
タが書き込まれると、送受信兼用バッファ7からリンク
層コントローラ42で図7(a)に示すようなCRCを
付加したりしてBWRQパケットを作成し、物理層コン
トローラ41でアービトレーションを行い、バスの使用
権を確保した後、イニシエータ1に送られる。同時に、
次のパケットをパケット処理回路10で作成し、送受信
兼用バッファ7に書き込まれる。このパケットのdes
tination_offsetフィールドには先に送
信したパケットのdestination_offse
tフィールドに書き込んだアドレスに2048を加えた
アドレスが書き込まれる。図3では、この時、既に送ら
れたBWRQパケットに対して、処理完了(ack_c
omplete)を示すAckパケットが、図2(a)
で示すパケットの最後の1クワッドレットのデータを送
受信兼用バッファ7に書き込まれる前にリンク層コント
ローラ42で検出されているので、続けてこの最後の1
クワッドレットデータを書き込む(図3のSTEP
2)。
送受信兼用バッファ7に書き込まれるとリンク層コント
ローラ42に出力され、リンク層コントローラ42で図
7(a)で示すBWRQパケットを構成し、物理層コン
トローラ41でのアービトレーション後、出力される。
と同時に、次のパケットをパケット処理回路10で作成
し、送受信兼用バッファに書き込まれる。
ion_offsetフィールドには先に送信したパケ
ットのdestination_offsetフィール
ドに書き込んだアドレスに2048を加えたアドレスが
書き込まれる。
対して、受信完了処理中(ack_pending)を
示すAckパケットがリンク層コントローラ42で検出
されると、パケット処理回路10は、図2(a)で示す
パケットの最後の1クワッドレットのデータを送受信兼
用バッファ7に書き込まずに、図7(c)で示したWR
Sパケットがイニシエータ1から送信されるのを待つ。
そして、WRSパケットが受信され、リンク層コントロ
ーラ42を介して受信用フィルタ8で、WRSパケット
であることを示すパケット識別情報(tcode)が検
出されかつ、応答識別情報(rcode)が処理完了
(resp_complete)で、かつパケットラベ
ル情報tlがデータを送信した要求パケットBWRQパ
ケットのパケットラベルtlに一致することが検出され
れば、パケット処理回路10に再起動信号が送られる。
パケット処理回路10は、その検出信号を受けて、最後
の1クワッドレットデータを送受信兼用バッファ7に書
き込む(図3のSTEP3)。
送受信兼用バッファ7に書き込まれるとリンク層コント
ローラ42に出力され、リンク層コントローラ42で図
7(a)で示すBWRQパケットを構成し、物理層コン
トローラ41でのアービトレーション後、出力される。
と同時に、次のパケットをパケット処理回路10で作成
し、送受信兼用バッファに書き込まれる。
ion_offsetフィールドには先に送信したパケ
ットのdestination_offsetフィール
ドに書き込んだアドレスに2048を加えたアドレスが
書き込まれる。
対して、再送要求(ack_busy)を示すAckパ
ケットが検出されると、パケット処理回路10は最後の
1クワッドレット分のデータを送受信兼用バッファ7に
書き込まずに、データ受信バッファにある前のパケット
((7)で作成したパケット)のデータを再度送信し、
イニシエータ1から、再送したBWRQパケットに対し
て、処理完了(ack_complete)を示すAc
kパケットが送信されたことをリンク層コントローラ4
2で検出して、その後、最後の1クワッドレットのデー
タを送受信兼用バッファ7に書き込む(図3のSTEP
4)。
定されたデータ数の転送が終了するまで繰り返される。
から発行された場合の動作について説明する。
タ1から送信されるデータのデータ長を64kBとす
る。従って、64kBのデータを転送するためには、デ
ータを転送するパケットのデータフィールドのサイズが
2kBであるので、32回に分けてデータ転送が行われ
る。
にWRITEコマンドのCDBを含むORBを作成す
る。
B_POINTERレジスタにORBを作成したメモリ
の1394空間上のアドレスをBWRQパケットにより
ターゲット2に送信する。
ORBが格納されたアドレスに対して、BRRQパケッ
トを発行し、イニシエータ1はORBを含むBRRSパ
ケットをターゲット2に返す。
ケットに含まれるCDBを取り出し、WRITEコマン
ドを確認後、ドライブにデータを書き込むための初期設
定を行う。この時、パケット処理回路10に、レジスタ
12を経由して、マイコン11からWRITEコマンド
でディスクに書き込むデータが格納されたイニシエータ
1のシステムメモリ領域のアドレス、イニシエータ1の
ID等のヘッダ情報が書き込まれる。
であるので、データの送信要求をイニシエータ1に対し
て要求する要求パケットであるBRRQパケットに対し
て対となるBRRSパケットを受信したことをパケット
ラベル情報tlとパケット識別情報tcodeで検出
し、かつその応答識別情報rcodeが処理完了(re
sp_complete)である時には、受信パケット
を送受信兼用バッファ7に格納するようにし、それ以外
であれば受信専用バッファ5に格納するように設定して
おく。
0に設定されたヘッダ情報を用いて、イニシエータ1の
システムメモリ上の書き込みデータを取りに行くための
BRRQパケット(図7(d))を作成するために、図
2(d)で示した構成のパケットをパケット処理回路1
0で作成し、送信用フィルタ9を介して、送信専用バッ
ファ6に書き込む。
層コントローラ42、物理層コントローラ41を経て、
バスの使用権を獲得した時点で、イニシエータ1に送信
される。イニシエータ1から、BRRQパケットで要求
されたデータがデータフィールドに含まれたBRRSパ
ケットがターゲット2に送られる。ターゲット2におい
て、受信されたBRRSパケットは、受信用フィルタ8
を介して、そのパケットラベル情報とパケット識別情報
と応答識別情報をチェックし、要求パケットに対して正
当な応答パケットであれば、送受信兼用バッファ7に格
納される(図4のSTEP1)。
ファ7に格納されたBRRSパケットのヘッダ情報のう
ち、まずパケット識別情報(tcode)と応答識別情
報(rcode)をパケット処理回路10にて確認し、
それぞれがBRRSパケットであり、かつ処理完了(r
esp_complete)を示すものであれば、次の
データを要求するために、次のデータ送信を要求するた
めの要求パケット(この場合はBRRQパケット)を送
信用フィルタ9を介して、送信専用バッファに書き込
む。このときdestination_offsetは
先に送信したBRRQパケットのdestinatio
n_offsetに2048を加えた値になる。同時
に、(4)で受信されたパケットのデータを順次読み出
し、光ディスクコントローラ13で誤り訂正符号の付加
や変調処理等が施され、アナログ信号処理回路15を経
てディスク16上に書き込まれる。送信専用バッファ6
に書き込まれた次のデータを要求するためのBRRQパ
ケットは、リンク層コントローラ42、物理層コントロ
ーラ41を経て、バスの使用権を獲得後、イニシエータ
1に送信される。
で要求されたデータをデータフィールドに含んでBRR
Sパケットがターゲット2に送られる。ターゲット2に
おいて、受信されたBRRSパケットは、受信用フィル
タ8を介して、送受信兼用バッファ7に格納される(図
4のSTEP2)。
指定されたデータ数の転送が終了するまで、繰り返され
る。
ファのバッファサイズをデータを転送する際に用いられ
るパケットサイズの2倍にすることにより、オーバーヘ
ッドを少なくし、高速なデータ転送を図ることが出来
る。
ータ1から別のタスク管理系のコマンドが発行された場
合について説明する。図5はREADコマンド実行中に
イニシエータ1から別のタスク管理系のコマンドが発行
された場合の動作を示す動作説明図である。
0の動作、(2)は送受信兼用バッファ7の内部状態、
(3)は1394バス3上パケットを示し、例えば、B
WRQ(T→I)はBWRQパケットがターゲット
(T)2からイニシエータ(I)1に送信されたことを
示す。(4)はコマンド送信バッファ5の内部状態、
(5)は、マイコン11の動作、(6)は送信専用バッ
ファ6の内部状態を示す。
が、実際にデータを含むパケットが転送されるまでの動
作は、上述の動作と同じであるので省略する。
タスク制御系のコマンド(例えば、QueryLogi
n)が発行されたとする(図5中の(3)のBWRQパ
ケット(I→T))。
anegementAgentへのBWRQパケット
は、受信用フィルタ8により受信専用バッファ5に格納
される。これは、先述したように、READコマンド実
行中、つまりターゲット2からみてデータ送信中は、受
信用フィルタ8に、受信されたパケットがWRSパケッ
ト以外(パケット識別情報tcodeで判断)か、受信
されたパケットがWRSパケットであるがそれに含まれ
るパケットラベル情報tlがデータ送信を行うBWRQ
パケットのパケットラベル情報tlと一致しないか、あ
るいは受信されたパケットがWRSパケットでかつそれ
に含まれるパケットラベル情報tlがデータ送信を行う
BWRQパケットのパケットラベル情報に一致するが、
応答識別情報rcodeが処理完了を示すresp_c
omplete以外であれば、受信専用バッファ5に受
信されたパケットを格納するように設定しているためで
ある。
2からは、受信は完了したが処理中であること(ack
_pending)を示すAckパケットが返される
(図中には図示せず)。
が格納されると、マイコン11に割り込みが発生し、転
送中のトランザクションを停止するようにコマンドが発
行される。このコマンドを受けて、パケット処理回路1
0は、光ディスクコントローラ13から読み込んでいる
データのうち、現在送信しようとしているパケット分の
データの読み込みが終了するまで、光ディスクコントロ
ーラ13からのデータの読み込みを続行する。パケット
を構成するためのデータをすべて読み込み、送受信兼用
バッファ7に書き込み終わると、リンク層コントローラ
42、物理層コントローラ41を経て、バスの使用権の
獲得後、イニシエータ1に送られる。そのBWRQパケ
ットに対する処理完了(acl_complete)を
示すAckパケットを受信すると、マイコン11に対し
てトランザクションの中断通知がなされる(図5のST
EP1)。
れると、マイコン11は受信専用バッファ5に格納され
たコマンドを読み出し、ManagementAgen
t宛へのBWRQパケットであることを認識し、同時に
処理完了(resp_complete)のrcode
を持つWRSパケットを送信専用バッファ6に送信フィ
ルタ9を経由して書き込む。
ラ42、物理層コントローラ41を経てイニシエータ1
に送出される。引き続き、上記で認識したManage
mentAgent宛へのBWRQパケットに含まれる
ManagementORBが格納されたアドレスに対
して、タスク管理系のコマンドが含まれるManege
mentORBを要求するBRRQパケットを送信専用
バッファ6に書き込み、リンク層コントローラ42、物
理層コントローラ41を介して、バスの使用権獲得後、
イニシエータ1に送信される(図5のSTEP2)。
トに対応して、ManegemetORBを含むBRR
Sパケットがイニシエータ1から送信される。ターゲッ
ト2で受信されたBRRSパケットは、受信用フィルタ
8を介してリンク層コントローラ42から受信専用バッ
ファ5に格納される。これも同様にWRSパケット以外
の受信されたパケットが受信専用バッファ5に格納され
るように設定しているためである。受信専用バッファに
格納されたパケットは、マイコン11により読み出さ
れ、ManagemetORBの処理を行い、その処理
が終わると、そのManagementORBに対する
ステータスを送信専用バッファ6に書き込み、イニシエ
ータ1に送信する。送信したBWRQパケットに対し
て、イニシエータ1から処理完了(ack_compl
ete)を示すAckパケットが送られるとマイコン1
1は通知を受ける(図5のSTEP3)。
が終わると、マイコン11は、パケット処理回路10に
データ転送再開命令を発行し、データ転送を再開する
(図5のSTEP4)。
も、データ転送中は、受信用フィルタ8に、受信された
パケットがBRRSパケット以外か、あるいは受信され
たパケットがBRRSパケットでありかつそれに含まれ
るパケットラベル情報tlがデータ送信を要求するため
に使用されるBRRQパケットのパケットラベルに一致
しないか、あるいは受信されたパケットがBRRSパケ
ットであり、かつそれに含まれるパケットラベル情報t
lがデータ送信を要求するために使用されるBRRQパ
ケットのパケットラベルに一致しかつそれに含まれる応
答識別情報rcodeが処理完了を示すresp_co
mplete以外であれば、受信されたパケットが受信
専用バッファ5に格納されるように設定されるので、同
様に処理を行うことが出来る。
れば、受信専用バッファ、送信専用バッファ、送受信兼
用バッファのように、パケットの送受信に必要なバッフ
ァをそれぞれ独立して設けることにより、ファームウェ
アのオーバーヘッドを少なくして、高速なデータ転送を
可能とするものである。またデータ転送中のコマンドに
対しての処理も、データ転送中にコマンドが発行された
場合のみ、ファームウェアの処理が介在するので、ファ
ームウェアのオーバーヘッドを少なくして、高速化を図
ったデータ転送を可能にし、かつタスク管理系のコマン
ドに対しても容易に対応できるものである。
ン11で処理するように説明したが、コマンドを含むO
RBをフェッチするまでをハードウェアで処理しても何
らの問題もなく、同様の効果を得ることもできる。
では、送信しようとしているパケットの転送が完了して
から、コマンド処理を行うように説明したが、コマンド
が発行された時点で、データ転送を中断して、コマンド
の処理を行っても何らの問題もない。
ァと送信専用バッファと送受信兼用バッファを設けるこ
とにより、データ転送の転送速度を落とすことなく、デ
ータ転送のトランザクションを実行している間に発行さ
れたコマンド処理に対する対応を容易にし、かつデータ
転送のトランザクションにファームウェアが介在するこ
となく行うことが出来るので、データ転送の高速化を図
ることが出来る。
をデータ送受信に用いるパケットサイズの2倍にするこ
とにより、データ転送時のオーバーヘッドを少なくし
て、高速にデータ転送を行うことが出来る優れたデータ
伝送装置を実現できるものである。
装置の構成図
ラから読み出される、またはリンク層コントローラに書
き込まれるパケット構成をしめす構成図
装置のREADコマンド実行時の動作説明図
装置のWRITEコマンド実行時の動作説明図
装置のREADコマンド実行中のコマンドに対する動作
説明図
Claims (7)
- 【請求項1】ヘッダフィールドとデータフィールドから
なるパケット単位でコマンドやデータ等の転送を行うデ
ータ伝送装置であって、送受信兼用バッファと、受信専
用バッファと、送信専用バッファと、受信したパケット
の内容に応じてその格納先を前記受信専用バッファか前
記送受信兼用バッファかに振り分ける受信用フィルタ
と、送信するパケットの内容に応じてその格納先を前記
送信専用バッファか前記送受信兼用バッファかに振り分
ける送信用フィルタと、送信するパケットを構成した
り、あるいは受信したパケットから必要な情報を取り出
すパケット処理回路と、前記送受信兼用バッファ及び前
記送信専用バッファに格納された送信パケットを伝送路
上の送信パケットに変換し伝送路上の使用権を得た場合
に伝送路上の電気信号に変換し送出する、あるいは受信
された伝送路上の電気信号から前記受信専用バッファ或
いは前記送受信専用バッファに格納するパケット構成に
変換する送受信回路とを備えたことを特徴とするデータ
伝送装置。 - 【請求項2】送受信兼用バッファは、送受信兼用バッフ
ァに格納される送信用パケット、または受信用パケット
のどちらかの大きい方のパケットの2個分以上のバッフ
ァ容量を備えたことを特徴とするデータ伝送装置。 - 【請求項3】受信用フィルタは、前記送受信回路で受信
されたパケットに含まれるパケット識別情報と応答識別
情報とパケットラベル情報に基づき、受信パケットの格
納先を前記受信専用バッファか前記送受信専用バッファ
のどちらかに振り分けることを特徴とする請求項1から
請求項2のいずれか1項に記載のデータ伝送装置。 - 【請求項4】受信用フィルタは、要求パケットに対し
て、期待するパケットが受信されたことを前記パケット
処理回路に通知することを特徴とする請求項1から請求
項3のいずれか1項に記載のデータ伝送装置。 - 【請求項5】送信用フィルタは、データ転送時に、送信
するパケットのパケット識別情報に応じてその格納先を
送信専用バッファか送受信兼用バッファかのどちらか一
方に振り分けることを特徴とする請求項1から請求項2
のいずれか1項に記載のデータ伝送装置。 - 【請求項6】パケット処理回路は、データ送信時におい
て、送信しようとするデータを含む要求パケットに対応
して処理完了を示すパケットを前記送受信回路が検出す
るか、あるいは要求パケットに対して受信完了処理中を
示すパケットを前記送受信回路で検出後に処理完了を示
す応答識別情報を含む応答パケットを前記受信用フィル
タにより検出したことにより、送信しようとするデータ
を含む要求パケットを連続して構築することを特徴とす
る請求項1から請求項5のいずれか1項に記載のデータ
伝送装置。 - 【請求項7】パケット処理回路は、データ受信時におい
て、データの送信を要求する要求パケットに対応して、
前記要求パケットに対して受信完了処理中を示すパケッ
トを前記送受信回路で検出後に受信される前記要求パケ
ットに対するデータを含む応答パケットのパケット識別
情報と応答識別情報を前記受信用フィルタにより検出
後、受信したパケットを前記受信用フィルタを介して前
記送受信兼用バッファに格納すると同時に、連続して前
記データの送信を要求する要求パケットを送信専用バッ
ファに格納することを特徴とする請求項1から請求項3
または請求項5のいずれか1項に記載のデータ伝送装
置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2757799A JP2000224195A (ja) | 1999-02-04 | 1999-02-04 | データ伝送装置 |
| US09/497,194 US6654380B1 (en) | 1999-02-04 | 2000-02-03 | Data exchange unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2757799A JP2000224195A (ja) | 1999-02-04 | 1999-02-04 | データ伝送装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008096866A Division JP4582180B2 (ja) | 2008-04-03 | 2008-04-03 | データ伝送装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000224195A true JP2000224195A (ja) | 2000-08-11 |
Family
ID=12224849
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2757799A Pending JP2000224195A (ja) | 1999-02-04 | 1999-02-04 | データ伝送装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6654380B1 (ja) |
| JP (1) | JP2000224195A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7380037B2 (en) | 2005-04-14 | 2008-05-27 | Matsushita Electric Industrial Co., Ltd. | Data transmitter between external device and working memory |
| JP2010062981A (ja) * | 2008-09-05 | 2010-03-18 | Nec Commun Syst Ltd | 通信制御装置 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3400772B2 (ja) * | 2000-04-25 | 2003-04-28 | 松下電器産業株式会社 | パケット送受信処理装置 |
| JP2002318777A (ja) * | 2001-04-19 | 2002-10-31 | Matsushita Electric Ind Co Ltd | 高速シリアルインターフェース用のコマンド発行装置 |
| US20040111754A1 (en) * | 2002-12-05 | 2004-06-10 | Bushey Robert R. | System and method for delivering media content |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5632016A (en) * | 1994-09-27 | 1997-05-20 | International Business Machines Corporation | System for reformatting a response packet with speed code from a source packet using DMA engine to retrieve count field and address from source packet |
| US5546377A (en) * | 1995-10-31 | 1996-08-13 | Digital Equipment Corporation | Efficient distributed method for computing max-min fair rates of a limited resource in ATM networks |
| KR100217413B1 (ko) * | 1996-08-24 | 1999-09-01 | 윤종용 | 시분할 듀플렉싱 / 주파수 도약방식을 채용한 무선 통신 시스템 |
| US6310884B1 (en) * | 1998-05-21 | 2001-10-30 | Lsi Logic Corporation | Data transfer method and apparatus that allocate storage based upon a received relative offset |
-
1999
- 1999-02-04 JP JP2757799A patent/JP2000224195A/ja active Pending
-
2000
- 2000-02-03 US US09/497,194 patent/US6654380B1/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7380037B2 (en) | 2005-04-14 | 2008-05-27 | Matsushita Electric Industrial Co., Ltd. | Data transmitter between external device and working memory |
| JP2010062981A (ja) * | 2008-09-05 | 2010-03-18 | Nec Commun Syst Ltd | 通信制御装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6654380B1 (en) | 2003-11-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6651119B2 (en) | Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status | |
| CN101937406B (zh) | 一种VxWorks操作系统中实现驱动1394设备的方法和系统 | |
| US7069350B2 (en) | Data transfer control system, electronic instrument, and data transfer control method | |
| US6347097B1 (en) | Method and apparatus for buffering received data from a serial bus | |
| US6763402B2 (en) | Data storage subsystem | |
| JP3608441B2 (ja) | データ転送制御装置及び電子機器 | |
| JP3584789B2 (ja) | データ転送制御装置及び電子機器 | |
| US7164689B2 (en) | Multi-initiator control unit and method | |
| US7127530B2 (en) | Command issuing apparatus for high-speed serial interface | |
| JP3733699B2 (ja) | シリアルインタフェース回路 | |
| JP2000224195A (ja) | データ伝送装置 | |
| US6693905B1 (en) | Data exchange unit | |
| EP1033658B1 (en) | Communication apparatus with means for allocating alternate designation information to each function unit, and communication system with two such communication apparatus | |
| JP3539287B2 (ja) | データ転送制御装置及び電子機器 | |
| JP4582180B2 (ja) | データ伝送装置 | |
| JP4362199B2 (ja) | データ伝送装置 | |
| KR20010033660A (ko) | 데이터 전송 제어 장치 및 전자기기 | |
| JP2000250846A (ja) | シーケンス処理装置 | |
| JP3610982B2 (ja) | データ転送制御装置及び電子機器 | |
| JP3105883B2 (ja) | 通信装置および方法 | |
| JP2002244991A (ja) | マルチイニシエータ制御装置及びその方法 | |
| JP2005018800A (ja) | マルチイニシエータ制御装置及びその方法 | |
| JP2003023471A (ja) | パケット送受信処理回路 | |
| JP2004295594A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
| JP2003037596A (ja) | 通信装置及び通信方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050726 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050816 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070405 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080226 |