JP2000250846A - シーケンス処理装置 - Google Patents
シーケンス処理装置Info
- Publication number
- JP2000250846A JP2000250846A JP5201799A JP5201799A JP2000250846A JP 2000250846 A JP2000250846 A JP 2000250846A JP 5201799 A JP5201799 A JP 5201799A JP 5201799 A JP5201799 A JP 5201799A JP 2000250846 A JP2000250846 A JP 2000250846A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- sequence
- command
- circuit
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
PUの負荷を軽減することにより、データを高速に転送
することを可能にするシーケンス処理装置を提供する。 【解決手段】 CPU25に接続されたシーケンス処理
装置1は、バス12からパケットを受け取るリンクコア
回路14と、リンクコア回路14からパケットを受け取
り、パケットの内容に応じて制御信号を出力するパケッ
トフィルタ回路15と、パケットフィルタ回路15から
の制御信号に応答して、コマンド処理シーケンスの実行
を制御するシーケンス制御回路21と、シーケンス制御
回路21の制御下で、リンクコア回路14からのパケッ
トをコマンド受信バッファ22に出力するパケット処理
回路20とを備えている。CPU25は、コマンド受信
バッファ22に格納されたパケットに基づいてコマンド
を実行する。
Description
置に関し、特に、IEEE1394方式のインタフェー
スを用いてデータを転送するためのシーケンスを処理す
るシーケンス処理装置に関する。
ドディスク装置などの記録装置との間でデータを転送す
るための方式としては、SCSI方式が採用されてき
た。
度の向上や巨大磁気抵抗効果を利用したヘッドの実用化
が近づくにつれて、記録密度の向上とともにデータ転送
速度の向上が続けられている。また、マイクロプロセッ
サの性能の向上も著しい。
くデータを転送することが可能なインタフェースの開発
が求められている。
を接続するインタフェースとして、IEEE1394方
式のインタフェースが次世代インタフェースとして注目
されている。これは、IEEE1394方式のインタフ
ェースがアシンクロナス(Asyncronous)通
信とアイソクロナス(Isochronous)通信と
を定義しているからである。
出されたデータをコンピュータに転送する場合のように
リアルタイム性が要求されず、信頼性をより要求される
通信に用いられる。アイソクロナス通信は、動画などの
AVデータを転送する場合のように信頼性以上にリアル
タイム性を要求される通信に用いられる。
ェースを用いて、コンピュータから出力されたデータを
DVD−RAMドライブ装置に格納したり、DVD−R
AMドライブ装置に記録されたデータをコンピュータが
読み出したりする場合には、アシンクロナス通信が用い
られる。
信をする場合のイニシエータ(例えば、コンピュータ)
とターゲット(例えば、周辺装置)との間のプロトコル
として、SBP−2(Serial Bus Prot
ocol)が知られている。SBP−2は、現在、AN
SIにて審議が継続されている状態である。
−2に従って、イニシエータ(例えば、ホストPC)が
ターゲット(例えば、光ディスク装置)に記録されたデ
ータを読み出す場合におけるコマンド処理シーケンスを
説明する。
WRITEなどのコマンド系のコマンドと、LOGI
N、QUERY LOGIN、ABORT TASK、
ABORT TASK SETなどのマネージメント系
(タスク管理系)のコマンドとの2種類のコマンドが用
意されている。
マンドを実行するためのコマンド処理シーケンスを示
す。
dlet Read Request)パケットを発行
することにより、ターゲットのコンフィグレーションR
OMに格納されているMANAGEMENT_AGEN
Tレジスタのアドレスの取得を要求する。
QRRQパケットに応答して、QRRS(Quadle
t Read Response)パケットをイニシエ
ータに返す。
ck Write Request)パケットを発行す
ることにより、ORB(Operation Requ
est Blocks)のアドレスをMANAGEME
NT_AGENTレジスタに書き込む。なお、ORB
は、イニシエータにおいて予め用意されており、MAN
AGEMENT_AGENTレジスタは、ターゲットの
CSR(ControlStatus Resiste
r)空間に定義されている。
BWRQパケットに応答して、WRS(Write R
esponse)パケットをイニシエータに返す。
k Read Request)パケットを発行するこ
とにより、MANAGEMENT_AGENTレジスタ
に格納されたアドレスに位置するORBをイニシエータ
からターゲットに送信することを要求する。
BRRQパケットに応答して、BRRS(Block
Read Response)パケットをターゲットに
返す。BRRSパケットのデータフィールドには、OR
Bが格納されている。このようにして、ORBがイニシ
エータからターゲットに送信される。
RBを受信し、受信されたORBの内容を解析する。
ンドを表す場合には、ターゲットは、そのLOGINコ
マンドを実行する。
た後、ターゲットは、LOGINコマンドの実行結果を
示すステータス情報を作成する。
を発行することにより、ステータス情報をイニシエータ
に送信する。ステータス情報は、ORBによって指定さ
れる所定のアドレス(イニシエータのStatus_F
IFOアドレス)に格納される。
のBWRQパケットに応答して、WRSパケットをター
ゲットに返す。
のWRSパケットのrCodeがresp_compl
eteであるか否かを判定する。イニシエータからのW
RSパケットのrCodeがresp_complet
eである場合には、LOGINコマンドに関する一連の
コマンド処理シーケンスが完了する。
ットは、イニシエータからのパケットを受信すると、A
ck Packet(Acknowledge Pac
ket)をイニシエータに返す。同様に、イニシエータ
は、ターゲットからのパケットを受信すると、Ack
Packetをターゲットに返す。
実行するためのコマンド処理シーケンスを示す。図9に
示されるコマンド処理シーケンスは、図8に示されるコ
マンド処理シーケンスが実行された後に実行される。
ドを表すORBを作成する。READコマンドを表すO
RBは、データ数、最大パケット長、転送方向、転送方
法などREADコマンドを実行するために必要な情報を
定義する。
トを発行することにより、ターゲットのAGENT_R
ESETレジスタをリセットする。なお、AGENT_
RESETレジスタは、ターゲットのCSR空間に定義
されている。
のQWRQパケットに応答して、WRSパケットをイニ
シエータに返す。
トを発行することにより、ORBのアドレスをORB_
POINTERレジスタに書き込む。なお、ORB_P
OINTERレジスタは、ターゲットのCSR空間に定
義されている。
のBWRQパケットに応答して、WRSパケットをイニ
シエータに返す。
を発行することにより、ORB_POINTERレジス
タに格納されたアドレスに位置するORBをイニシエー
タからターゲットに送信することを要求する。
のBRRQパケットに応答して、BRRSパケットをタ
ーゲットに返す。BRRSパケットのデータフィールド
には、ORBが格納されている。このようにして、OR
Bがイニシエータからターゲットに送信される。
ORBを受信し、受信されたORBの内容を解析する。
ンドを表す場合には、ターゲットは、そのREADコマ
ンドを実行する。READコマンドの実行により、以下
の(22)および(23)が繰り返される。これは、転
送すべきデータのサイズが大きい場合には、そのデータ
を複数のパケットに分割して転送するためである。転送
すべきデータは、ターゲットによって用意される。
を発行することにより、ORBによって指定されるアド
レスにデータを格納する。
のBWRQパケットに応答して、WRSパケットをター
ゲットに返す。
クションを構成する。1つのトランザクションが正常に
終了したことが確認された後に、次のトランザクション
が実行される。このようにして、データ転送処理シーケ
ンスが進むことになる。
に終了した後、ターゲットは、READコマンドの実行
結果を示すステータス情報を作成する。
を発行することにより、ステータス情報をイニシエータ
に送信する。ステータス情報は、ORBによって指定さ
れる所定のアドレスに格納される。
のBWRQパケットに応答して、WRSパケットをター
ゲットに返す。
のWRSパケットのrCodeがresp_compl
eteであるか否かを判定する。イニシエータからのW
RSパケットのrCodeがresp_complet
eである場合には、READコマンドに関する一連のコ
マンド処理シーケンスが完了する。
ットは、イニシエータからのパケットを受信すると、A
ck Packetをイニシエータに返す。同様に、イ
ニシエータは、ターゲットからのパケットを受信する
と、Ack Packetをターゲットに返す。
パケットの受信に成功した場合には、イニシエータまた
はターゲットは、パケットの受信に成功したことを示
す”Ack_complete”という値を有するAc
k Packetを返す。イニシエータまたはターゲッ
トがパケットを受信することができない状態である場合
には、イニシエータまたはターゲットは、パケットを受
信することができない状態であることを示す”Ack_
busy”という値を有するAck Packetを返
す。
ゲットからのBWRQパケットに対してイニシエータ
が”Ack_busy”という値を有するAck Pa
cketをターゲットに返した場合には、ターゲットは
BWRQパケットをイニシエータに再送信する。
理シーケンスを実行する従来のシーケンス処理装置11
0の構成を示す。
ス112に接続される物理層コントローラ(PHY)1
00と、1394バス112からのパケットを物理層コ
ントローラ100を介して受け取り、パケットを物理層
コントローラ100を介して1394バス112に出力
するリンク層コントローラ101とを含む。
102、DMAコントローラ103およびメモリ104
が接続されている。
化、アービトレーション、バイアス電圧の制御等の機能
を有している。
ア回路101aと、送信用FIFO101b−1と、受
信用FIFO101b−2と、コントロールステータス
レジスタ(CSR)101cと、インタフェース部10
1dとを含む。
の作成/検出、パケットへの符号の付加、物理層コント
ローラ100へのパケット送信、Ack Packet
のコード検出およびリトライ等の機能を有している。送
信用FIFO101b−1および受信用FIFO101
b−2のサイズは、最大転送パケットサイズに等しい。
れると、そのパケットは受信用FIFO101b−2に
格納される。そのパケットに対するすべての処理は、C
PU102の制御下で行われる。CPU102は、イン
タフェース部101dを介してCSR101cからデー
タを読み出し、または、CSR101cにデータを書き
込むことにより、リンク層コントローラ101の動作を
制御する。
O101b−2に格納されると、そのパケットに関連す
るコマンド処理シーケンスがCPU102によって実行
される。
コンフィグレーションROM、MANAGEMENT_
AGENTレジスタ、AGENT_RESETレジス
タ、ORB_POINTERレジスタは、図10には示
されていないが、いずれも、CPU102内に設けられ
ている。
シーケンス処理装置110では、CPU102がリンク
層コントローラ101を制御することにより、CPU1
02がコマンド処理シーケンスやデータ転送処理シーケ
ンスの実行を制御する必要がある。このことは、CPU
102の負荷を増大させる。特に、DVD−ROM/R
AMなどの記録装置によって取り扱われる大量のデータ
を転送する必要がある場合には、CPU102の負荷が
飛躍的に増大する。その結果、CPU102によって実
行されるファームウェアのオーバーヘッドが増大し、I
EEE1394方式を採用することにより本来実現され
るべき高速シリアルバスインタフェースとしての高い転
送レートを実現することが非常に困難になる。また、C
PU102が制御すべき処理が増大するほどCPU10
2のROM容量も大きくなるため、そのようなCPUを
含む装置を他のシステムに組み込みことは不都合を生じ
させやすい。
れたものであり、コマンド処理シーケンスの実行中にお
けるCPUの負荷を軽減することにより、データを高速
に転送することを可能にするシーケンス処理装置を提供
することを目的とする。
装置は、CPUに接続されたシーケンス処理装置であっ
て、バスからパケットを受け取るリンクコア回路と、前
記リンクコア回路から前記パケットを受け取り、前記パ
ケットの内容に応じて制御信号を出力するパケットフィ
ルタ回路と、前記パケットフィルタ回路からの制御信号
に応答して、コマンド処理シーケンスの実行を制御する
シーケンス制御回路と、前記シーケンス制御回路の制御
下で、前記リンクコア回路からの前記パケットをコマン
ド受信バッファに出力するパケット処理回路とを備え、
前記CPUは、前記コマンド受信バッファに格納された
前記パケットに基づいてコマンドを実行する。これによ
り、上記目的が達成される。
処理シーケンスが実行されている間、前記コマンド処理
シーケンスに関連しないパケットを前記バスから受け取
ることを禁止するように前記リンクコア回路を制御して
もよい。
フィルタ回路からの制御信号に応答して、データ転送処
理シーケンスの実行を制御するデータ転送制御回路をさ
らに備えていてもよい。
送処理シーケンスが実行されている間、前記バスから任
意のパケットを受け取るように前記リンクコア回路を制
御してもよい。
ている間に前記リンクコア回路が前記バスからパケット
を受け取った場合には、前記データ転送制御回路は、前
記データ転送処理シーケンスの実行を一時中断し、前記
シーケンス制御回路は、前記受け取ったパケットに基づ
く新たなコマンド処理シーケンスの実行を開始してもよ
い。
マンド処理シーケンスが実行されている間、前記新たな
コマンド処理シーケンスに関連しないパケットを前記バ
スから受け取ることを禁止するように前記リンクコア回
路を制御してもよい。
ド受信バッファを有しており、前記パケット処理回路
は、前記リンクコアからの前記パケットを前記複数のコ
マンド受信バッファに選択的に出力してもよい。
処理シーケンスの実行結果を示すステータス情報を格納
するステータス送信バッファをさらに有しており、前記
CPUは、前記コマンド処理シーケンスが終了する前に
前記ステータス情報を作成し、前記ステータス情報を前
記ステータス送信バッファに格納してもよい。
信バッファに格納されたパケット(コマンド)は、CP
Uによって実行される。しかし、コマンド処理シーケン
スの実行はシーケンス制御回路によって制御されるた
め、CPUがコマンド処理シーケンスの実行に関与する
ことはない。これにより、コマンド処理シーケンスの実
行中におけるCPUの負荷を軽減することが可能にな
る。
理シーケンスが実行されている間、そのコマンド処理シ
ーケンスに関連しないパケットをバスから受け取ること
が禁止される。これにより、コマンド処理シーケンスが
いったん開始されると、そのコマンド処理シーケンスの
実行が途中で中断されることがない。コマンド処理シー
ケンスの実行の途中で他のコマンド処理シーケンスに分
岐するなどの余分な制御をする必要がないため、コマン
ド処理シーケンスの制御が容易になる。その結果、シー
ケンス処理装置の構成を簡素化することが可能になる。
処理シーケンスの実行はデータ転送制御回路によって制
御されるため、CPUがデータ転送処理シーケンスの実
行に関与することはない。これにより、データ転送処理
シーケンスの実行中におけるCPUの負荷を軽減するこ
とが可能になる。
処理シーケンスが実行されている間、任意のパケットを
バスから受け取ることが許容される。これにより、デー
タ転送処理シーケンスによって長時間バスが占有される
ことを防止することができる。
処理シーケンスが実行されている間にバスからパケット
を受け取った場合には、データ転送処理シーケンスの実
行が一時中断され、受け取ったパケットに基づく新たな
コマンド処理シーケンスの実行が開始される。これによ
り、データ転送処理シーケンスの実行中に、新たなコマ
ンド処理シーケンスを優先的に実行することが可能にな
る。
ンド処理シーケンスが実行されている間、その新たなコ
マンド処理シーケンスに関連しないパケットをバスから
受け取ることが禁止される。これにより、コマンド処理
シーケンスの制御が容易になる。その結果、シーケンス
処理装置の構成を簡素化することが可能になる。
ンド受信バッファが設けられており、受信されたパケッ
トは複数のコマンド受信バッファに選択的に出力され
る。これにより、コマンド処理シーケンスの実行中に、
新たなコマンド処理シーケンスを優先的に実行すること
が可能になる。
コマンド処理シーケンスが終了する前にステータス情報
を予め作成しておくことができる。これは、CPUがコ
マンド処理シーケンスの実行に関与していないからであ
る。これにより、コマンド処理シーケンスの終了後すぐ
にステータス情報をバスに出力することが可能になる。
の実施の形態を説明する。なお、ここで示す実施の形態
はあくまでも一例であり、かならずしもこの実施の形態
に限定されるものではない。
形態1のシーケンス処理装置1の構成を示す。シーケン
ス処理装置1は、図8および図9に示されるターゲット
として機能する。
4シリアルバス12(以下、バス12という)を介して
ホストコンピュータ10(以下、イニシエータ10とい
う)に接続されている。また、シーケンス処理装置1
は、CPU25に接続されており、DMAバス29を介
して光ディスクコントローラ30に接続されている。
ケットを物理層コントローラ13を介して受信する。リ
ンクコア回路14は、受信したパケットに対して誤り検
出符号の作成/検出、パケットへの符号の付加、コード
の検出(例えば、Ack Packetのコードの検
出)などを行う。また、リンクコア回路14は、物理層
コントローラ13を介してパケットをバス12に出力す
る。さらに、リンクコア回路14は、パケットの転送が
失敗した場合にそのパケットの転送を再度試みるリトラ
イ機能を有している。
期化、アービトレーション、バイアス電圧の制御等の機
能を有している。
回路14からパケットを受け取り、そのパケットのヘッ
ダフィールドの内容を解析する。パケットフィルタ回路
15は、その解析結果に応じて、そのパケットをパケッ
ト受信バッファ18に格納するか、送受信バッファ16
に格納するかを選択する。また、パケットフィルタ回路
15は、その解析結果に応じて、パケット処理回路20
またはシーケンス制御回路21に制御信号を出力する。
処理シーケンスおよびデータ転送処理シーケンスなどの
プロトコル処理に関係がないパケットが格納される。
ルタ回路15からの制御信号に応答して、コマンド処理
シーケンスの実行を制御する。シーケンス制御回路21
は、MANAGEMENT_AGENT21a、AGE
NT_RESETレジスタ21b、ORB_POINT
ER21c等のSBP−2コマンド処理シーケンスに必
要なAGENT_RESISTERを含む。
回路21の制御の下で動作し、リンクコア回路14によ
って受信されたパケットをコマンドとしてコマンド受信
バッファ22に格納する。コマンド受信バッファ22に
格納されたコマンドは、CPU25の制御によってレジ
スタ24に転送される。これにより、コマンドがCPU
25から読み出し可能な状態となる。
れたコマンドを実行する。例えば、レジスタ24から読
み出されたコマンドがLOGINコマンドである場合に
は、CPU25は、LOGIN処理を実行する。
ば、コマンド受信バッファ22に格納されたパケット
(コマンド)は、CPU25によって実行される。しか
し、コマンド処理シーケンスの実行はシーケンス制御回
路21によって制御されるため、CPU25がコマンド
処理シーケンスの実行に関与することはない。これによ
り、コマンド処理シーケンスの実行中におけるCPU2
5の負荷を軽減することが可能になる。このことは、I
EEE1394に準拠したSBP−2プロトコルでの高
速なデータ転送を実現するのに役立つ。
終了する前に、コマンド処理シーケンスの実行結果を示
すステータス情報の「ひな型」をレジスタ24の情報に
基づいて作成する。これは、CPU25はコマンド処理
シーケンスの実行に関与しないため、コマンド処理シー
ケンスと並列的な処理を行うことが可能だからである。
レジスタ24の情報には、例えば、ステータス情報をイ
ニシエータ10に送信するために使用されるBWRQパ
ケットを作成するために必要なデスティネーションID
やデスティネーションオフセットが含まれる。ステータ
ス情報の「ひな型」は、ステータス送信バッファ28に
一時的に格納される。
バッファ28からステータス情報の「ひな型」を受け取
り、これとシーケンス制御回路21(またはデータ転送
制御回路26)から供給されるコマンド処理シーケンス
の実行結果(例えば、成功/失敗)とを合成することに
より、BWRQ形式のステータス情報を作成する。BW
RQ形式のステータス情報は、リンクコア回路14を介
してバス12に出力される。
了前にステータス情報の「ひな型」を予め作成しておく
ことにより、コマンド処理シーケンスの終了後すぐにス
テータス情報をバスに出力することが可能になる。
理シーケンスの実行を制御する。例えば、READコマ
ンドが実行される場合には、データ転送制御回路26
は、シーケンス制御回路21によって起動され、光ディ
スク33(例えば、DVD−RAMディスク)に記録さ
れたデータを読み出すようにパケット処理回路20に指
示する。光ディスク33から読み出されたデータは、光
ヘッド32、アナログ信号処理回路31、光ディスクコ
ントローラ30およびDMAバス29を介してパケット
処理回路20に入力される。アナログ信号処理回路31
では、変調復調や誤り訂正などの処理が行われる。
から読み出したデータを複数のパケットに分割して格納
し、その複数のパケットをリンクコア回路14を介して
バス12に出力する。このようなパケット生成処理およ
びパケット転送処理は、データ転送制御回路26によっ
て制御される。
実行はデータ転送制御回路26によって制御されるた
め、CPU25がデータ転送処理シーケンスの実行に関
与することはない。これにより、データ転送処理シーケ
ンスの実行中におけるCPU25の負荷を軽減すること
が可能になる。このことは、IEEE1394に準拠し
た高速なデータ転送を実現するのに役立つ。
タを転送する場合には、その転送速度によりパケットの
転送可能な最大ペイロードサイズが規定されているた
め、転送速度によりパケットのデータフィールドの最大
サイズは規定されている。本実施の形態では、S400
(400bit/sec)とし、1パケットでの転送可
能なデータ長は2048バイトである。
パケットとパケット処理回路20からのパケットとを送
信バッファ17に選択的に格納するために使用される。
送信バッファ17に格納されたパケットは、リンクコア
回路14を介してバス12に出力される。
ド処理シーケンスが実行されている間、そのコマンド処
理シーケンスに関連しないパケットをバスから受け取る
ことを禁止するようにリンクコア回路14を制御する。
る制御は、例えば、パケットフィルタ回路15からの制
御信号に応答して、レジスタ24内のAckコントロー
ル変数24aの値を”Ack_busy”に設定するこ
とによって達成される。
Ackコントロール変数24aの値を参照可能なように
構成されている。Ackコントロール変数24aの値
が”Ack_busy”に設定されている場合には、リ
ンクコア回路14は、バス12からパケットを受信する
ことなく、そのパケットに対して”Ack_busy”
の値を有するAck Packetをイニシエータ10
に返す。
理シーケンスに関連するパケットか否かは、レジスタ2
4内のtcode変数24bの値およびtl変数24c
の値を参照することによって判定され得る。ここで、t
code変数24bは、パケットの種類(すなわち、Q
RRQ、BRRQ、BWRQ、WRSなど)を示すコー
ドである。tl変数24cは、トランザクションを識別
するためのコードである。tコード変数24bの値およ
びtl変数24cの値は、レジスタ24に格納されるパ
ケットによって更新される。
tcode変数24baの値およびtl変数24cの値
を参照可能なように構成されている。リンクコア回路1
4は、バス12からのパケットに含まれるtcode領
域の値およびtl領域の値とtコード変数24bの値お
よびtl変数24cの値と比較し、両者が一致すればバ
スからのパケットが実行中のコマンド処理シーケンスに
関連すると判定し、両者が一致しなければバスからのパ
ケットが実行中のコマンド処理シーケンスに関連しない
と判定する。
行されている間、そのコマンド処理シーケンスに関連し
ないパケットをバスから受信しないようにすることによ
り、コマンド処理シーケンスがいったん開始されると、
そのコマンド処理シーケンスの実行が途中で中断される
ことがない。コマンド処理シーケンスの実行の途中で他
のコマンド処理シーケンスに分岐するなどの余分な制御
をする必要がないため、シーケンス制御回路21による
コマンド処理シーケンスの制御が容易になる。その結
果、シーケンス処理装置1の構成を簡素化することが可
能になる。
されるパケットのフォーマットを示す。図2(a)〜
(e)において、斜線の領域はリザーブ領域を示す。
(Block Write Request)パケット
のフォーマットを示す。図2(b)は、QWRQ(Qu
adlet Write Request)パケットの
フォーマットを示す。図2(c)は、WRS(Writ
e Response)パケットのフォーマットを示
す。図2(d)は、BRRQ(Block Read
Request)パケットのフォーマットを示す。図2
(e)は、BRRS(Block Read Resp
onse)パケットのフォーマットを示す。
ォーマットも図2(a)〜(e)に示されるフォーマッ
トと同一である。
4に書き込む際のパケットのフォーマットを示す。すな
わち、図1に示される送信バッファ17、送受信バッフ
ァ18およびパケット処理回路20は、いずれも、図3
(a)〜(e)に示されるフォーマットでパケットをリ
ンクコア回路14に書き込む。なお、図3(a)〜
(e)に示されるフォーマットは、図2(a)〜(e)
に示されるフォーマットにそれぞれ対応する。
2に出力する際には、header_CRCやdata
_CRCなどのチェックコードを計算し、その計算結果
を示すフィールドを図3(a)〜(e)に示されるフォ
ーマットのパケットに追加する。このようにして、リン
クコア回路14によって、図2(a)〜(e)に示され
るフォーマットのパケットが作成される。
バス12から受信した際には、図2(a)〜(e)に示
されるフォーマットに含まれるheader_CRC領
域やdata_CRC領域を参照することにより、CR
Cによる誤り検出を行う。
のLOGINコマンドが実行される場合におけるシーケ
ンス処理装置1の動作を示す。
#1パケットが受信されると、バス12には”Ack_
complete”の値を有するAck Packet
が返される。
ケットフィルタ回路15に転送される。
1パケットの内容を解析することにより、制御信号をシ
ーケンス制御回路21に出力する。
ルタ回路15からの制御信号に応答して、「Ack C
ontrol Set」というイベントを発生させる。
これにより、レジスタ24内のAckコントロール変数
24aの値が”Ack_busy”に設定される。
RS要求」というイベントを発生させる。このイベント
の発生に応答して、パケット処理回路20は、WRSパ
ケットのヘッダとデータとを生成する。WRSパケット
は、送受信バッファ16を介してバス12に出力され
る。
て、”Ack_complete”の値を有するAck
Packetがバス12から受信されると、その受信
されたAck Packetがパケットフィルタ回路1
5に転送される。
acketの内容を解析することにより、制御信号をシ
ーケンス制御回路21に出力する。
ルタ回路15からの制御信号に応答して、「BRRQ要
求」というイベントを発生させる。このイベントの発生
に応答して、パケット処理回路20は、BRRQパケッ
トのヘッダとデータとを生成する。BRRQパケット
は、バス12に出力される。
て、BRRSパケットがバス12から受信されると、そ
の受信されたBRRSパケットがパケットフィルタ回路
15に転送される。
ケットの内容を解析することにより、制御信号をシーケ
ンス制御回路21に出力する。
ルタ回路15からの制御信号に応答して、「コマンド格
納」というイベントを発生させる。このイベントの発生
に応答して、パケット処理回路20は、パケットフィル
タ回路15から送受信バッファ16を介して受け取った
BRRSパケットをコマンド受信バッファ22に出力す
る。
よってコマンド受信割り込みがCPU25に出力され
る。CPU25は、このコマンド受信割り込みに応答し
て、コマンド受信バッファ22に格納されたコマンドを
レジスタ24に取り込み、そのコマンドを実行する。
れる「BWRQ#2」および「Ack busy」は、
バス12上のBWRQ#2パケットが実行中のコマンド
処理シーケンスに関連しないパケットであると判定され
たため、そのBWRQ#2パケットに対する応答とし
て”Ack_busy”の値を有するAck Pack
etがバス12に出力されたことを示す。
「ステータスWrite」という処理を実行することに
より、ステータス情報の「ひな型」を作成し、それをス
テータス送信バッファ28に格納する。ステータス送信
バッファ28に格納されたステータス情報の「ひな型」
は、BWRQパケットのデータとして使用される。
起動」という処理を実行することにより、シーケンス制
御回路21は、「ステータス転送」というイベントを発
生させる。このイベントの発生に応答して、パケット処
理回路20は、BWRQパケットのヘッダを作成し、こ
のBWRQパケットのヘッダとステータス送信バッファ
28に格納されたBWRQパケットのデータとを結合さ
せる。これにより、BWRQパケットが完成する。BW
RQパケットは、送受信バッファ16を介してバス12
に出力される。
て、”Ack_complete”の値を有するAck
PacketとWRSパケットとがバス12から受信
されると、その受信されたWRSパケットがパケットフ
ィルタ回路15に転送される。
ットの内容を解析することにより、制御信号をシーケン
ス制御回路21に出力する。
ルタ回路15からの制御信号に応答して、「ステータス
転送終了」というイベントを発生させる。「ステータス
転送終了」というイベントによって割り込みがCPU2
5に出力される。CPU25は、割り込みの発生によっ
てマネージメント系のLOGINコマンドに対応するコ
マンド処理シーケンスが終了したことを通知される。
形態2のシーケンス処理装置2の構成を示す。図5にお
いて、図1に示される構成要素と同一の構成要素には同
一の参照符号を付し、その説明を省略する。
系のコマンドを格納するためのコマンド受信バッファ2
2aと、コマンド系のコマンドを格納するためのコマン
ド受信バッファ22bとを備えている。なお、コマンド
の種類が3種類以上ある場合には、その種類に応じて3
個以上のコマンド受信バッファを設けるようにしてもよ
い。
ファ22aまたはコマンド受信バッファ22bの一方に
選択的に出力される。これにより、コマンド処理シーケ
ンスの実行中に、新たなコマンド処理シーケンスを優先
的に実行することが可能になる。
理シーケンスが実行されている間、任意のパケットをバ
スから受け取るようにリンクコア回路14を制御しても
よい。このような制御は、レジスタ24内のAckコン
トロール変数24aの値の設定を”Ack_busy”
から解除することによって達成される。これにより、デ
ータ転送処理シーケンスによってバス12が長時間占有
され続けることを防止することができる。
されている間に、リンクコア回路14がパケットをバス
12から受け取った場合には、データ転送制御回路26
は、データ転送処理シーケンスの実行を一時中断し、シ
ーケンス制御回路21は、受け取ったパケットに基づく
新たなコマンド処理シーケンスの実行を開始するように
してもよい。これにより、データ転送処理シーケンスの
実行中に、新たなコマンド処理シーケンスを優先的に実
行することが可能になる。
ド処理シーケンスが実行されている間、その新たなコマ
ンド処理シーケンスに関連しないパケットをバスから受
け取ることを禁止するようにリンクコア回路14を制御
してもよい。このような制御は、新たなコマンド処理シ
ーケンスの実行の開始に応答して、レジスタ24内のA
ckコントロール変数24aの値を”Ack_bus
y”に再設定することによって達成される。これによ
り、シーケンス制御回路21によるコマンド処理シーケ
ンスの制御が容易になる。その結果、シーケンス処理装
置1の構成を簡素化することが可能になる。
ADコマンドが実行される場合におけるシーケンス処理
装置2の動作を示す。なお、この例では、イニシエータ
10から要求されるデータ長を32kByteとする。
データを転送するパケットのデータフィールドのサイズ
が2kByteである。したがって、32kByteの
データを転送するために16個のパケットが転送される
ことになる。
は、「コマンド格納」というイベントの発生に応答し
て、パケット処理回路20がBRRSパケットをコマン
ド受信バッファ22bに格納する点を除き、図4Aに示
されるコマンド処理シーケンスと同一である。
よってコマンド受信割り込みがCPU25に出力され
る。CPU25は、このコマンド受信割り込みに応答し
て、コマンド受信バッファ22bに格納されたコマンド
をレジスタ24経由で読み出し、そのコマンドを実行す
る。
設定」という処理を実行することにより、データの転送
に必要な各種のパラメータを設定する。
「ステータスWrite」という処理を実行することに
より、ステータス情報の「ひな型」を作成し、それをス
テータス送信バッファ28に格納する。ステータス送信
バッファ28に格納されたステータス情報の「ひな型」
は、BWRQパケットのデータとして使用される。
動」という処理を実行することにより、データ転送制御
回路26は、「データ転送」というイベントを発生させ
る。このイベントの発生に応答して、パケット処理回路
20は、BWRQパケットのヘッダとデータとを作成す
る。BWRQパケットのデータは、光ディスク33から
読み出されたデータに基づいて生成される。BWRQパ
ケットは、送受信バッファ16を介してバス12に出力
される。
て、”Ack_complete”の値を有するAck
PacketとWRSパケットとがバス12から受信
されると、その受信されたWRSパケットがパケットフ
ィルタ回路15に転送される。
ットの内容を解析することにより、制御信号をシーケン
ス制御回路21に出力する。シーケンス制御回路21
は、この制御信号をデータ転送制御回路26に通知す
る。
送」というイベントの発生を繰り返す。これにより、1
6個のBWRQパケットが転送されることになる。
終了」というイベントを発生させると、このイベントの
発生に応答して、シーケンス制御回路21は、「ステー
タス転送」というイベントを発生させる。この後のシー
ケンスは、図4Bに示されるシーケンスと同一であるの
で説明を省略する。
いう処理を行った後、連続してステータスを送信するパ
ケットをステータス送信バッファ28に書き込んでお
き、コマンドを実行した後のCPU25への割り込みを
スキップしてコマンドの実行を終了した後、シーケンス
制御回路21が「ステータス転送」というイベントを発
生させるというシーケンスを加えると、ハードウェアと
ソフトウェアとを用いて並列にシーケンスを処理するこ
とができる。これにより、CPU25の処理によるソフ
トウェアのオーバーヘッドをなくすことができる。
実行される場合におけるシーケンス処理装置2の動作
は、データの転送方向が逆であることを除いて基本的に
コマンド系のREADコマンドが実行される場合におけ
るシーケンス処理装置2の動作と同様である。
コマンドが実行されている間にイニシエータ10からマ
ネージメント系のLOGINコマンドが発行された場合
におけるシーケンス処理装置2の動作を示す。
ンスの実行中に、バス12からLOGINコマンドのB
WRQパケットが受信されると、そのBWRQパケット
がパケットフィルタ回路15に転送される。
ケットの内容を解析することにより、制御信号をシーケ
ンス制御回路21に出力する。
ルタ回路15からの制御信号に応答して、「トランザク
ション終了待ち」というイベントを発生させる。このイ
ベントの発生に応答して、データ転送制御回路26は、
「トランザクション一時停止」というイベントを発生さ
せる。このイベントの発生に応答して、パケット処理回
路20に対して、トランザクション停止要求の制御信号
を与え、データ転送処理シーケンスのための新たなパケ
ットの生成が停止される。
時停止」というイベントの発生に応答して、シーケンス
制御回路21は、「Ack Control Set」
というイベントを発生させる。これに続くシーケンス
は、図4Aに示されるマネージメント系のLOGINコ
マンドのコマンド処理シーケンスと同様である。
了」というイベントによって割り込みがCPU25に出
力される。CPU25は、割り込みの発生によってマネ
ージメント系のLOGINコマンドに対応するコマンド
処理シーケンスが終了したことを通知される。
開」という処理を実行することにより、データ転送制御
回路26は、「データ転送」というイベントを発生させ
る。これにより、一時中断した以降のデータ転送処理シ
ーケンスが再開される。
開後のデータ転送処理シーケンスは、図6Bに示される
データ転送処理シーケンスと同様である。
ケンス制御回路21とデータ転送制御回路26とが協同
してトランザクションを管理することにより、データ転
送処理シーケンスおよびコマンド処理シーケンスの実行
を効率的に制御することができる。その結果、一連のシ
ーケンス処理の高速化を図ることができる。また、本実
施の形態で説明したように、データ転送処理シーケンス
の実行中にそのデータ転送処理シーケンスとは無関係の
コマンドを受信した場合でもCPU25がそのコマンド
に基づくコマンド処理シーケンスを実行する必要がな
い。従って、CPU25におけるファームウェアのオー
バーヘッドを最小限にすることができる。
形態2では、イニシエータが1つの場合について記述し
たが、IEEE1394ではターゲットに接続されてい
る2以上のノードがイニシエータになることができる。
この際にも、上述したシーケンス処理を行うことで、複
数のイニシエータに対するシーケンス処理を行うことが
できる。
に格納されたパケット(コマンド)は、CPUによって
実行される。しかし、コマンド処理シーケンスの実行は
シーケンス制御回路によって制御されるため、CPUが
コマンド処理シーケンスの実行に関与することはない。
これにより、コマンド処理シーケンスの実行中における
CPUの負荷を軽減することが可能になる。その結果、
データを高速に転送することを可能にするシーケンス処
理装置を提供することができる。
の構成を示す図である。
ケットのフォーマットを示す図である。
込む際のパケットのフォーマットを示す図である。
行される場合におけるシーケンス処理装置1の動作を示
す図である。
行される場合におけるシーケンス処理装置1の動作を示
す図である。
の構成を示す図である。
場合におけるシーケンス処理装置2の動作を示す図であ
る。
場合におけるシーケンス処理装置2の動作を示す図であ
る。
いる間にイニシエータ10からマネージメント系のLO
GINコマンドが発行された場合におけるシーケンス処
理装置2の動作を示す図である。
いる間にイニシエータ10からマネージメント系のLO
GINコマンドが発行された場合におけるシーケンス処
理装置2の動作を示す図である。
いる間にイニシエータ10からマネージメント系のLO
GINコマンドが発行された場合におけるシーケンス処
理装置2の動作を示す図である。
いる間にイニシエータ10からマネージメント系のLO
GINコマンドが発行された場合におけるシーケンス処
理装置2の動作を示す図である。
するためのコマンド処理シーケンスを示す図である。
のコマンド処理シーケンスを示す図である。
す図である。
Claims (8)
- 【請求項1】 CPUに接続されたシーケンス処理装置
であって、 バスからパケットを受け取るリンクコア回路と、 前記リンクコア回路から前記パケットを受け取り、前記
パケットの内容に応じて制御信号を出力するパケットフ
ィルタ回路と、 前記パケットフィルタ回路からの制御信号に応答して、
コマンド処理シーケンスの実行を制御するシーケンス制
御回路と、 前記シーケンス制御回路の制御下で、前記リンクコア回
路からの前記パケットをコマンド受信バッファに出力す
るパケット処理回路とを備え、 前記CPUは、前記コマンド受信バッファに格納された
前記パケットに基づいてコマンドを実行する、シーケン
ス処理装置。 - 【請求項2】 前記シーケンス制御回路は、前記コマン
ド処理シーケンスが実行されている間、前記コマンド処
理シーケンスに関連しないパケットを前記バスから受け
取ることを禁止するように前記リンクコア回路を制御す
る、請求項1に記載のシーケンス処理装置。 - 【請求項3】 前記シーケンス処理装置は、 前記パケットフィルタ回路からの制御信号に応答して、
データ転送処理シーケンスの実行を制御するデータ転送
制御回路をさらに備えている、請求項1に記載のシーケ
ンス処理装置。 - 【請求項4】 前記シーケンス制御回路は、前記データ
転送処理シーケンスが実行されている間、前記バスから
任意のパケットを受け取るように前記リンクコア回路を
制御する、請求項3に記載のシーケンス処理装置。 - 【請求項5】 前記データ転送処理シーケンスが実行さ
れている間に前記リンクコア回路が前記バスからパケッ
トを受け取った場合には、前記データ転送制御回路は、
前記データ転送処理シーケンスの実行を一時中断し、 前記シーケンス制御回路は、前記受け取ったパケットに
基づく新たなコマンド処理シーケンスの実行を開始す
る、請求項3に記載のシーケンス処理装置。 - 【請求項6】 前記シーケンス制御回路は、前記新たな
コマンド処理シーケンスが実行されている間、前記新た
なコマンド処理シーケンスに関連しないパケットを前記
バスから受け取ることを禁止するように前記リンクコア
回路を制御する、請求項5に記載のシーケンス処理装
置。 - 【請求項7】 前記シーケンス処理装置は、複数のコマ
ンド受信バッファを有しており、 前記パケット処理回路は、前記リンクコアからの前記パ
ケットを前記複数のコマンド受信バッファに選択的に出
力する、請求項1に記載のシーケンス処理装置。 - 【請求項8】 前記シーケンス処理装置は、前記コマン
ド処理シーケンスの実行結果を示すステータス情報を格
納するステータス送信バッファをさらに有しており、 前記CPUは、前記コマンド処理シーケンスが終了する
前に前記ステータス情報を作成し、前記ステータス情報
を前記ステータス送信バッファに格納する、請求項1に
記載のシーケンス処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05201799A JP3838606B2 (ja) | 1999-02-26 | 1999-02-26 | シーケンス処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05201799A JP3838606B2 (ja) | 1999-02-26 | 1999-02-26 | シーケンス処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000250846A true JP2000250846A (ja) | 2000-09-14 |
JP3838606B2 JP3838606B2 (ja) | 2006-10-25 |
Family
ID=12903058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05201799A Expired - Fee Related JP3838606B2 (ja) | 1999-02-26 | 1999-02-26 | シーケンス処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3838606B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1253520A2 (en) * | 2001-04-19 | 2002-10-30 | Matsushita Electric Industrial Co., Ltd. | Apparatus for issuing command for high-speed serial interface |
JP2003047723A (ja) * | 2001-08-03 | 2003-02-18 | Takao:Kk | 弾球遊技機 |
US7164689B2 (en) | 2000-12-05 | 2007-01-16 | Matsushita Electric Industrial Co., Ltd. | Multi-initiator control unit and method |
WO2010103987A1 (ja) * | 2009-03-10 | 2010-09-16 | 京セラ株式会社 | データ伝送システムおよびそのデータ読出し方法 |
-
1999
- 1999-02-26 JP JP05201799A patent/JP3838606B2/ja not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7164689B2 (en) | 2000-12-05 | 2007-01-16 | Matsushita Electric Industrial Co., Ltd. | Multi-initiator control unit and method |
EP1253520A2 (en) * | 2001-04-19 | 2002-10-30 | Matsushita Electric Industrial Co., Ltd. | Apparatus for issuing command for high-speed serial interface |
EP1253520A3 (en) * | 2001-04-19 | 2005-02-02 | Matsushita Electric Industrial Co., Ltd. | Apparatus for issuing command for high-speed serial interface |
US7127530B2 (en) | 2001-04-19 | 2006-10-24 | Matsushita Electric Industrial Co., Ltd. | Command issuing apparatus for high-speed serial interface |
JP2003047723A (ja) * | 2001-08-03 | 2003-02-18 | Takao:Kk | 弾球遊技機 |
JP4592231B2 (ja) * | 2001-08-03 | 2010-12-01 | 株式会社高尾 | 弾球遊技機 |
WO2010103987A1 (ja) * | 2009-03-10 | 2010-09-16 | 京セラ株式会社 | データ伝送システムおよびそのデータ読出し方法 |
JP2010212987A (ja) * | 2009-03-10 | 2010-09-24 | Kyocera Corp | データ伝送システムおよびそのデータ読出し方法 |
US8521943B2 (en) | 2009-03-10 | 2013-08-27 | Kyocera Corporation | Data transmission system and method of reading data |
Also Published As
Publication number | Publication date |
---|---|
JP3838606B2 (ja) | 2006-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6947442B1 (en) | Data transfer control device and electronic equipment | |
JP2000156696A (ja) | デ―タ通信システム用のトランズアクションインタ―フェ―ス | |
US20070180336A1 (en) | Multi-initiator control unit and method | |
JP2004157966A (ja) | エンドポイント・メモリ制御方法、エンドポイント・メモリ制御装置、usb装置および記憶媒体 | |
US7430618B2 (en) | Data transfer control device and electronic equipment | |
US7249204B2 (en) | Data transfer control device electronic equipment and method data transfer control | |
JP2000184000A (ja) | ステ―トマシン駆動型トランスポ―トプロトコルインタ―フェ―ス | |
US7127530B2 (en) | Command issuing apparatus for high-speed serial interface | |
US6445718B1 (en) | Serial interface circuit | |
JP2000250846A (ja) | シーケンス処理装置 | |
JP2000224195A (ja) | データ伝送装置 | |
JPH1117710A (ja) | シリアルインタフェース回路 | |
JP4026979B2 (ja) | データ通信システム | |
JP4362199B2 (ja) | データ伝送装置 | |
JP2003023471A (ja) | パケット送受信処理回路 | |
JP3598922B2 (ja) | データ転送制御装置、情報記憶媒体及び電子機器 | |
JP3105883B2 (ja) | 通信装置および方法 | |
JP2003263402A (ja) | データ転送装置およびデータ転送方法 | |
JP2004326350A (ja) | データ処理装置、およびデータ処理方法 | |
JPH11149432A (ja) | データ転送処理装置 | |
JPH10320345A (ja) | バスコントローラ | |
JP2001175546A (ja) | データ転送制御装置、情報記憶媒体及び電子機器 | |
JP2001177544A (ja) | データ転送制御装置、情報記憶媒体及び電子機器 | |
JP2002244991A (ja) | マルチイニシエータ制御装置及びその方法 | |
JP2002171300A (ja) | パケット送受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060116 |
|
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: 20060731 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060731 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090811 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |