JP2002244991A - Multi-initiator control device and method - Google Patents
Multi-initiator control device and methodInfo
- Publication number
- JP2002244991A JP2002244991A JP2001366445A JP2001366445A JP2002244991A JP 2002244991 A JP2002244991 A JP 2002244991A JP 2001366445 A JP2001366445 A JP 2001366445A JP 2001366445 A JP2001366445 A JP 2001366445A JP 2002244991 A JP2002244991 A JP 2002244991A
- Authority
- JP
- Japan
- Prior art keywords
- command
- packet
- initiator
- control circuit
- circuit
- 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
Landscapes
- Communication Control (AREA)
Abstract
(57)【要約】
【課題】 2台以上の機器に対するコマンド処理シーケ
ンスを行うことができるマルチイニシエータ制御装置を
提供する。
【解決手段】 伝送路を介して接続された複数の機器の
各々との間でパケットを単位として通信を行うマルチイ
ニシエータ制御装置であって、受信したパケットを解析
し、その結果を出力するパケットフィルタと、各々、対
応する機器との間のコマンド処理シーケンスを制御する
複数のコマンド制御回路と、前記複数のコマンド制御回
路のうちの1つにシーケンス実行許可を与えるマルチ制
御回路と、前記許可を与えられたコマンド制御回路が出
力する情報を有するパケットを生成して送信させる一
方、受信したパケットを前記パケットフィルタが出力す
る解析結果に従って出力するパケット処理回路とを備え
る。
(57) [Problem] To provide a multi-initiator control device capable of executing a command processing sequence for two or more devices. A multi-initiator control device for communicating with each of a plurality of devices connected via a transmission line in units of packets, wherein the packet filter analyzes a received packet and outputs a result of the analysis. A plurality of command control circuits each for controlling a command processing sequence between the corresponding device, a multi-control circuit for granting sequence execution permission to one of the plurality of command control circuits, A packet processing circuit that generates and transmits a packet having information output by the command control circuit, and outputs a received packet in accordance with an analysis result output by the packet filter.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、コンピュータと周
辺装置等との間でコマンドやデータを伝送路を介して伝
送する際に使用されるプロトコルに対するシーケンス処
理技術に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a sequence processing technique for a protocol used when a command or data is transmitted between a computer and a peripheral device via a transmission line.
【0002】[0002]
【従来の技術】AV(audio-visual)機器やコンピュー
タ機器等を接続する次世代インターフェイスとして、I
EEE1394方式が注目されている。これは、IEE
E1394方式に、非同期(asyncronous)通信とアイソ
クロナス(isochronous)通信とが定義されているためで
ある。非同期通信は、コンピュータと記録メディア等と
の間のデータ転送のように、リアルタイム性よりも信頼
性をより要求される通信に用いられる。アイソクロナス
通信は、動画等のAVデータのような、信頼性よりもリ
アルタイム性が要求される通信に用いられる。したがっ
て、IEEE1394方式を用いて、例えばコンピュー
タデータをDVD−RAM(digital versatile disc -
random access memory)ドライブ装置等に格納した
り、DVD−RAMドライブ装置から記録済みのコンピ
ュータデータを読み出したりする際には、一般的に非同
期通信によりデータを伝送する。2. Description of the Related Art As a next-generation interface for connecting AV (audio-visual) devices, computer devices, and the like, I.
The EEE1394 system has attracted attention. This is IEEE
This is because asynchronous communication and isochronous communication are defined in the E1394 system. Asynchronous communication is used for communication that requires more reliability than real-time operation, such as data transfer between a computer and a recording medium. Isochronous communication is used for communication that requires real-time performance rather than reliability, such as AV data of moving images. Therefore, for example, computer data can be transferred to a DVD-RAM (digital versatile disc-
When data is stored in a random access memory (drive) or the like, or computer data that has been recorded is read from a DVD-RAM drive, data is generally transmitted by asynchronous communication.
【0003】コンピュータ等の機器(イニシエータ(in
itiator))と周辺装置(ターゲット(target))との
間でIEEE1394方式の非同期通信を行う場合のプ
ロトコルとして、SBP−2(serial bus protocol-
2)がある。以下、コンピュータがこのSBP−2に従
ってDVD−RAMドライブ等のターゲットからデータ
を読み込む場合における、コマンド処理シーケンスにつ
いて説明する。[0003] Devices such as computers (initiators (in
An SBP-2 (serial bus protocol-) is used as a protocol for performing IEEE 1394 asynchronous communication between a peripheral device (target) and a peripheral device (target).
2) There is. Hereinafter, a command processing sequence when a computer reads data from a target such as a DVD-RAM drive in accordance with SBP-2 will be described.
【0004】SBP−2のコマンドは、READ、WR
ITE等のコマンド系のコマンドと、LOGIN、QU
ERY LOGIN、ABORT TASK、ABOR
TTASK SET等のマネージメント系(タスク管理
系)のコマンドとに分けることができる。[0004] SBP-2 commands are READ, WR
Command type commands such as ITE, LOGIN, QU
ERY LOGIN, ABORT TASK, ABOR
It can be divided into a management (task management) command such as TTASK SET.
【0005】図9は、マネージメント系のコマンドであ
るLOGINコマンドを実行するためのコマンド処理シ
ーケンスを示す説明図である。図9を参照して、LOG
INコマンドのコマンド処理シーケンスを説明する。FIG. 9 is an explanatory diagram showing a command processing sequence for executing a LOGIN command which is a management command. Referring to FIG.
The command processing sequence of the IN command will be described.
【0006】(1)イニシエータは、QRRQ(quadle
t read request)パケットを発行することにより、ター
ゲットの固有情報(機器情報等)の取得を行う。一般に
この固有情報全体はコンフィグレーションROM(conf
igROM)と呼ばれる領域に格納されており、この固有情
報にはターゲットのMANAGEMENT_AGENTレジスタのアド
レスも含まれている。(1) The initiator is a QRRQ (quadle
t read request) to obtain target specific information (e.g., device information) by issuing a packet. Generally, this entire unique information is stored in the configuration ROM (conf
igROM), and the unique information includes the address of the target MANAGEMENT_AGENT register.
【0007】(2)ターゲットは、イニシエータからの
QRRQパケットに応答して、configROMのデータをQ
RRS(quadlet read response)パケットとしてイニ
シエータに返す。QRRQパケット及びQRRSパケッ
トが送信されるこれらの処理(1),(2)は、イニシ
エータがconfigROMのデータを全て取得するまで続く。(2) In response to the QRRQ packet from the initiator, the target transmits the configROM data to the
This is returned to the initiator as an RRS (quadlet read response) packet. These processes (1) and (2) in which the QRRQ packet and the QRRS packet are transmitted continue until the initiator acquires all the data in the configROM.
【0008】(3)イニシエータは、BWRQ(block
write request)パケットを発行して、ORB(operati
on request block)を格納しているメモリのアドレスを
MANAGEMENT_AGENTレジスタに書き込む。ORBは、イ
ニシエータによって予め用意されており、MANAGEMENT_
AGENTレジスタは、ターゲットのCSR(control andst
atus register)空間に定義されている。[0008] (3) The initiator uses BWRQ (block
A write request) packet is issued, and the ORB (operati
on request block)
Write to MANAGEMENT_AGENT register. The ORB is prepared in advance by the initiator, and MANAGEMENT_
The AGENT register stores the target CSR (control andst
atus register) space.
【0009】(4)ターゲットは、イニシエータからの
BWRQパケットに応答して、WRS(write respons
e)パケットをイニシエータに返す。(4) In response to the BWRQ packet from the initiator, the target responds to the WRS (write response
e) Return the packet to the initiator.
【0010】(5)ターゲットは、イニシエータに対し
てBRRQ(block read request)パケットを発行し
て、イニシエータがORBをターゲットに送信すること
を要求する。ORBは、MANAGEMENT_AGENTレジスタに
格納されたアドレスに位置している。(5) The target issues a BRRQ (block read request) packet to the initiator to request that the initiator transmit the ORB to the target. The ORB is located at the address stored in the MANAGEMENT_AGENT register.
【0011】(6)イニシエータは、ターゲットからの
BRRQパケットに応答して、BRRS(block read r
esponse)パケットをターゲットに返す。BRRSパケ
ットのデータフィールドには、ORBが格納されてい
る。このようにして、ORBがイニシエータからターゲ
ットに送信される。(6) In response to the BRRQ packet from the target, the initiator responds to a BRRS (block read r
esponse) Return the packet to the target. The ORB is stored in the data field of the BRRS packet. In this way, the ORB is transmitted from the initiator to the target.
【0012】(7)ターゲットは、イニシエータからO
RBを受信し、受信したORBの内容を解析する。(7) The target receives an O signal from the initiator.
The RB is received, and the contents of the received ORB are analyzed.
【0013】(8)ターゲットは、受信したORBがL
OGINコマンドを表すことがわかると、LOGINコ
マンドを実行する。コマンド実行の際のLogin Response
にCOMMAND_AGENTレジスタのベースアドレスが示されて
いる。(8) If the received ORB is L
When the LOGIN command is found, the LOGIN command is executed. Login Response at command execution
Shows the base address of the COMMAND_AGENT register.
【0014】(9)LOGINコマンドの実行が終了し
た後、ターゲットは、LOGINコマンドの実行結果を
示すステータス情報を作成する。(9) After the execution of the LOGIN command is completed, the target creates status information indicating the execution result of the LOGIN command.
【0015】(10)ターゲットは、BWRQパケット
を発行することにより、ステータス情報をイニシエータ
に送信する。ステータス情報は、ORBによって指定さ
れる所定のアドレス(イニシエータのStatus_FIFOアド
レス)に格納される。(10) The target transmits status information to the initiator by issuing a BWRQ packet. The status information is stored at a predetermined address specified by the ORB (Status_FIFO address of the initiator).
【0016】(11)イニシエータは、ターゲットから
のBWRQパケットに応答して、WRSパケットをター
ゲットに返す。(11) In response to the BWRQ packet from the target, the initiator returns a WRS packet to the target.
【0017】(12)ターゲットは、イニシエータから
のWRSパケットのrCodeがresp_completeであるか否
かを判定する。イニシエータからのWRSパケットのrC
odeがresp_completeである場合は、LOGINコマン
ドに関する一連のコマンド処理シーケンスが完了する。(12) The target determines whether or not the rCode of the WRS packet from the initiator is resp_complete. RC of WRS packet from initiator
When ode is resp_complete, a series of command processing sequences related to the LOGIN command is completed.
【0018】図10は、コマンド系のREADコマンド
を実行するためのコマンド処理シーケンスを示す説明図
である。図10のシーケンスは、図9を参照して説明し
たLOGINコマンドの処理シーケンスが終了した後に
実行される。図10を参照して、READコマンドのコ
マンド処理シーケンスを説明する。FIG. 10 is an explanatory diagram showing a command processing sequence for executing a command-based READ command. The sequence in FIG. 10 is executed after the processing sequence of the LOGIN command described with reference to FIG. 9 ends. The command processing sequence of the READ command will be described with reference to FIG.
【0019】(21)イニシエータは、READコマン
ドを表すORBを作成する。READコマンドを表すO
RBは、データ数、最大パケット長、転送方向、転送方
法等、READコマンドを実行するために必要な情報を
定義する。(21) The initiator creates an ORB indicating a READ command. O for READ command
The RB defines information necessary for executing the READ command, such as the number of data, the maximum packet length, the transfer direction, and the transfer method.
【0020】(22)イニシエータは、QWRQ(quad
let write request)パケットをターゲットのAGENT_RE
SETレジスタに書き込み、初期化させる。なお、AGENT_
RESETレジスタは、ターゲットのCSR空間に定義され
ている。(22) The initiator sets the QWRQ (quad
let write request) packet to target AGENT_RE
Write to the SET register and initialize it. AGENT_
The RESET register is defined in the target CSR space.
【0021】(23)ターゲットは、イニシエータから
のQWRQパケットに応答して、WRSパケットをイニ
シエータに返す。(23) The target returns a WRS packet to the initiator in response to the QWRQ packet from the initiator.
【0022】(24)イニシエータは、BWRQパケッ
トを発行することにより、ORBを格納しているメモリ
のアドレスをORB_POINTERレジスタに書き込む。なお、
ORB_POINTERレジスタは、ターゲットのCSR空間に定
義されている。(24) The initiator issues a BWRQ packet to write the address of the memory storing the ORB into the ORB_POINTER register. In addition,
The ORB_POINTER register is defined in the target CSR space.
【0023】(25)ターゲットは、イニシエータから
のBWRQに応答して、WRSをイニシエータに返す。(25) The target returns the WRS to the initiator in response to the BWRQ from the initiator.
【0024】(26)ターゲットは、BRRQパケット
を発行して、イニシエータがORBをターゲットに送信
することを要求する。ORBは、ORB_POINTERレジスタ
に格納されたアドレス、すなわち、イニシエータにおけ
るそのメモリアドレスに位置している。(26) The target issues a BRRQ packet to request that the initiator send an ORB to the target. The ORB is located at the address stored in the ORB_POINTER register, that is, at its memory address in the initiator.
【0025】(27)イニシエータは、ターゲットから
のBRRQパケットに応答して、BRRSパケットをタ
ーゲットに返す。BRRSパケットのデータフィールド
にはORBが格納されている。このようにして、ORB
がイニシエータからターゲットに送信される。(27) In response to the BRRQ packet from the target, the initiator returns a BRRS packet to the target. The ORB is stored in the data field of the BRRS packet. In this way, ORB
Is sent from the initiator to the target.
【0026】(28)ターゲットは、イニシエータから
ORBを受信し、受信したORBの内容を解析する。(28) The target receives the ORB from the initiator and analyzes the contents of the received ORB.
【0027】(29)ターゲットは、受信したORBが
READコマンドを表すことがわかると、READコマ
ンドを実行する。READコマンドの実行により、以下
の(30)、(31)が繰り返される。これは、転送す
べきデータのサイズが大きい場合には、そのデータを複
数のパケットに分割して転送するためである。転送すべ
きデータは、ターゲットによって用意される。(29) When the target knows that the received ORB indicates a READ command, the target executes the READ command. By executing the READ command, the following (30) and (31) are repeated. This is because when the size of the data to be transferred is large, the data is divided into a plurality of packets and transferred. The data to be transferred is prepared by the target.
【0028】(30)ターゲットは、BWRQパケット
を発行して、ORBによって指定されるアドレスにデー
タを格納する。(30) The target issues a BWRQ packet and stores the data at the address specified by the ORB.
【0029】(31)イニシエータは、ターゲットから
のBWRQパケットに応答して、WRSパケットをター
ゲットに返す。処理(30)及び(31)は1つのトラ
ンザクションを構成する。1つのトランザクションが正
常に終了したことが確認された後に、次のトランザクシ
ョンが実行される。(31) In response to the BWRQ packet from the target, the initiator returns a WRS packet to the target. The processes (30) and (31) constitute one transaction. After it is confirmed that one transaction has been completed normally, the next transaction is executed.
【0030】(32)データ転送処理シーケンスが正常
に終了した後、ターゲットは、READコマンドの実行
結果を示すステータス情報を作成する。(32) After the data transfer processing sequence ends normally, the target creates status information indicating the execution result of the READ command.
【0031】(33)ターゲットは、BWRQパケット
を発行することにより、ステータス情報をイニシエータ
に送信する。ステータス情報は、ORBによって指定さ
れる所定のアドレスに格納される。(33) The target transmits status information to the initiator by issuing a BWRQ packet. The status information is stored at a predetermined address specified by the ORB.
【0032】(34)イニシエータは、ターゲットから
のBWRQパケットに応答して、WRSパケットをター
ゲットに返す。(34) In response to the BWRQ packet from the target, the initiator returns a WRS packet to the target.
【0033】(35)ターゲットは、イニシエータから
のWRSパケットのrCodeがresp_completeであるか否
かを判定する。イニシエータからのWRSパケットのrC
odeがresp_completeである場合には、READコマン
ドに関する一連のコマンド処理シーケンスが完了する。(35) The target determines whether or not the rCode of the WRS packet from the initiator is resp_complete. RC of WRS packet from initiator
If ode is resp_complete, a series of command processing sequences for the READ command is completed.
【0034】なお、図には示されていないが、図9,1
0において、ターゲットは、イニシエータからのパケッ
トを受信すると、ACK(Acknowledge)パケットをイ
ニシエータに返す。同様に、イニシエータは、ターゲッ
トからのパケットを受信すると、ACKパケットをター
ゲットに返す。Although not shown in the figure, FIGS.
At 0, upon receiving a packet from the initiator, the target returns an ACK (Acknowledge) packet to the initiator. Similarly, upon receiving a packet from the target, the initiator returns an ACK packet to the target.
【0035】イニシエータ及びターゲットは、書き込み
要求パケット(例えば、BWRQパケットやQWRQパ
ケット)の受信に成功した場合には、パケットの受信に
成功したことを示す“Ack_complete”というコードを
有するACKパケットを返す。この場合、WRSパケッ
トを返さず、次の処理に進む。イニシエータ及びターゲ
ットは、“Ack_pending”というコードを有するACK
パケットを返す場合には、WRSパケットを返す。ま
た、イニシエータ及びターゲットは、パケットを受信す
ることができない状態である場合には、パケットを受信
することができない状態であることを示す“Ack_bus
y”というコードを有するACKパケットを返す。デー
タ転送シーケンスにおいて、ターゲットからのBWRQ
パケットに対してイニシエータが“Ack_busy”という
コードを有するACKパケットをターゲットに返した場
合には、ターゲットはBWRQパケットをイニシエータ
に再送信する。When the initiator and the target have successfully received a write request packet (for example, a BWRQ packet or a QWRQ packet), the initiator and the target return an ACK packet having a code "Ack_complete" indicating that the packet has been successfully received. In this case, the process proceeds to the next process without returning the WRS packet. Initiator and target have an ACK with a code of “Ack_pending”
When returning a packet, a WRS packet is returned. If the initiator and the target cannot receive the packet, the “Ack_bus” indicates that the packet cannot be received.
ACK packet having the code "y". In the data transfer sequence, the BWRQ from the target is returned.
If the initiator returns an ACK packet having the code "Ack_busy" to the target for the packet, the target retransmits the BWRQ packet to the initiator.
【0036】以上のようにして、イニシエータとターゲ
ットとの間でデータ転送処理を行うことができる。SB
P−2では、1つのバス上で、ターゲット1台に対して
イニシエータを最大63台接続することが可能である。As described above, data transfer processing can be performed between the initiator and the target. SB
In P-2, a maximum of 63 initiators can be connected to one target on one bus.
【0037】図11はSBP−2を処理する従来のシー
ケンス処理装置90の構成を示すブロック図である。物
理層コントローラ91は、IEEE1394バス20の
初期化、アービトレーション、バイアス電圧の制御等の
機能を有している。リンクコア回路92は、物理層コン
トローラ91を介してバス20上のパケットを受信す
る。リンクコア回路92は、パケットに対して誤り検出
符号の作成/検出、パケットへの符号の付加、コードの
検出(例えば、ACKパケットのコード検出)等を行
う。またリンクコア回路92は、物理層コントローラ9
1を介してパケットをバス20に出力する。更に、リン
クコア回路92は、パケットの転送が失敗した場合にそ
のパケットの転送を再度試みるリトライ機能を有してい
る。FIG. 11 is a block diagram showing a configuration of a conventional sequence processing device 90 for processing SBP-2. The physical layer controller 91 has functions such as initialization of the IEEE 1394 bus 20, arbitration, control of bias voltage, and the like. The link core circuit 92 receives a packet on the bus 20 via the physical layer controller 91. The link core circuit 92 performs generation / detection of an error detection code for a packet, addition of a code to the packet, detection of a code (for example, code detection of an ACK packet), and the like. Further, the link core circuit 92 includes the physical layer controller 9.
1 to output the packet to the bus 20. Further, the link core circuit 92 has a retry function of retrying the transfer of the packet when the transfer of the packet fails.
【0038】パケットフィルタ93は、リンクコア回路
92が出力したパケットを受け取り、このパケットのヘ
ッダフィールドの内容を解析する。パケットフィルタ9
3は、その解析結果に応じて、シーケンス制御回路99
又は転送制御回路96に制御信号を与えるとともに、受
信パケットをパケット処理回路95に出力する。パケッ
ト処理回路95は、シーケンス制御回路99又は転送制
御回路96から制御され、入力されたパケットを処理
し、コマンド受信バッファ97へのコマンドの出力、又
はDMA(direct memory access)バス6を介して受信
データの外部への出力を行う。シーケンス制御回路99
は、接続された1台のイニシエータに対するコマンド処
理シーケンスの実行及び制御を行う。The packet filter 93 receives the packet output from the link core circuit 92 and analyzes the contents of the header field of the packet. Packet filter 9
3 is a sequence control circuit 99 according to the analysis result.
Alternatively, it supplies a control signal to the transfer control circuit 96 and outputs a received packet to the packet processing circuit 95. The packet processing circuit 95 is controlled by the sequence control circuit 99 or the transfer control circuit 96, processes the input packet, outputs a command to the command reception buffer 97, or receives the command via the DMA (direct memory access) bus 6. Output data to the outside. Sequence control circuit 99
Performs execution and control of a command processing sequence for one connected initiator.
【0039】このように、図11の従来のシーケンス処
理装置は、1台のイニシエータとの間のコマンド処理シ
ーケンスを行っていた。As described above, the conventional sequence processing apparatus shown in FIG. 11 performs a command processing sequence with one initiator.
【0040】[0040]
【発明が解決しようとする課題】従来のシーケンス処理
装置において2台以上のイニシエータのシーケンス処理
を行うには、2台目以降のイニシエータに対するシーケ
ンス処理、及びそれぞれのイニシエータの管理を、全て
ファームウェアで行う必要があった。この場合、CPU
(central processing unit)にかかる負荷が非常に大
きくなる。In order to perform the sequence processing of two or more initiators in the conventional sequence processing apparatus, the sequence processing for the second and subsequent initiators and the management of each initiator are all performed by firmware. Needed. In this case, the CPU
(Central processing unit) becomes extremely heavy.
【0041】特に、DVD−RAM等の光ディスク装置
によって取り扱われる大量のデータを転送する必要があ
る場合には、CPUの負荷が飛躍的に増大する。その結
果、CPUによって実行されるファームウェアのオーバ
ーヘッドが増大し、IEEE1394方式を採用するこ
とによって本来実現されるべき、高速シリアルバスイン
ターフェイスとしての高い実効転送レートを実現するこ
とが非常に困難になる。また、ファームウェアにこのよ
うな処理を全てさせると、CPUの負荷が大きくなるた
め、シーケンス処理装置を光ディスク装置等の他のシス
テムへ組み込むことは不可能であった。In particular, when a large amount of data handled by an optical disk device such as a DVD-RAM needs to be transferred, the load on the CPU increases dramatically. As a result, the overhead of the firmware executed by the CPU increases, and it is extremely difficult to realize a high effective transfer rate as a high-speed serial bus interface, which should be originally realized by adopting the IEEE 1394 system. Further, if the firmware performs all such processing, the load on the CPU increases, and it has not been possible to incorporate the sequence processing device into another system such as an optical disk device.
【0042】このように、従来のシーケンス処理装置
は、実際にはイニシエータが1台の場合にしか対応でき
なかった。このため、拡張性が低く、複数のイニシエー
タが接続されたネットワーク環境ではあまり効果的に使
用することができなかった。As described above, the conventional sequence processing apparatus can actually cope only with a single initiator. For this reason, the scalability is low, and it cannot be used very effectively in a network environment in which a plurality of initiators are connected.
【0043】本発明は、2台以上の機器に対するコマン
ド処理シーケンスを行うことができるマルチイニシエー
タ制御装置を提供することを目的とする。An object of the present invention is to provide a multi-initiator control device capable of executing a command processing sequence for two or more devices.
【0044】[0044]
【課題を解決するための手段】前記課題を解決するた
め、請求項1の発明が講じた手段は、伝送路を介して接
続された複数の機器の各々との間でパケットを単位とし
て通信を行うマルチイニシエータ制御装置であって、送
信すべきパケットを前記伝送路に送信する一方、前記伝
送路からパケットを受信し、誤り検出を行って出力する
リンクコア回路と、前記リンクコア回路が受信したパケ
ットを解析し、その結果を出力するパケットフィルタ
と、各々、対応する機器との間のコマンド処理シーケン
スを制御する複数のコマンド制御回路と、前記複数のコ
マンド制御回路のうちの1つにシーケンス実行許可を与
えるマルチ制御回路と、前記許可を与えられたコマンド
制御回路が出力する情報を有するパケットを前記送信す
べきパケットとして生成し、前記リンクコア回路に出力
して送信させる一方、前記リンクコア回路が受信して出
力したパケットを前記パケットフィルタが出力する解析
結果に従って出力するパケット処理回路と、前記パケッ
ト処理回路が出力するパケットに含まれるコマンドを実
行するCPU(central processing unit)とを備えた
ものである。Means for Solving the Problems In order to solve the above-mentioned problems, the means according to the first aspect of the present invention communicates with each of a plurality of devices connected via a transmission line in units of packets. A multi-initiator control device for transmitting a packet to be transmitted to the transmission line, receiving a packet from the transmission line, performing error detection and outputting, and a link core circuit that receives the packet. A packet filter for analyzing a packet and outputting a result thereof; a plurality of command control circuits each for controlling a command processing sequence between the corresponding device; and executing a sequence to one of the plurality of command control circuits. A multi-control circuit for giving permission and a packet having information output from the command control circuit for which permission is given are generated as the packet to be transmitted. A packet processing circuit that outputs a packet received and output by the link core circuit according to an analysis result output by the packet filter, and a packet output by the packet processing circuit. And a CPU (central processing unit) for executing the commands included in.
【0045】請求項1の発明によると、マルチイニシエ
ータ制御装置からパケットを送信し、これに応答して機
器が送信するパケットに含まれるコマンドを、マルチイ
ニシエータ制御装置は実行することができる。このよう
なコマンド処理シーケンスの実行は、コマンド制御回路
によって行われるため、CPUがコマンド処理シーケン
スの実行に関与することはない。また、マルチイニシエ
ータ制御装置がいずれの機器との間のコマンド処理シー
ケンスを行うかを、マルチ制御回路が制御する。このた
め、CPUの負荷を低減することが可能になる。According to the first aspect of the present invention, a packet is transmitted from the multi-initiator control device, and the multi-initiator control device can execute a command included in the packet transmitted by the device in response to the packet. Since the execution of such a command processing sequence is performed by the command control circuit, the CPU does not participate in the execution of the command processing sequence. Further, the multi-control circuit controls which device the multi-initiator control device performs a command processing sequence with. Thus, the load on the CPU can be reduced.
【0046】また、請求項2の発明では、請求項1に記
載のマルチイニシエータ制御装置において、前記複数の
コマンド制御回路は、それぞれ、対応する機器が出力
し、当該対応する機器との間のコマンド処理シーケンス
に必要な情報を格納して、これを前記シーケンス実行許
可が与えられると出力するものであり、前記マルチ制御
回路は、前記リンクコア回路が受信して出力するパケッ
トに含まれる、当該パケットを送信した機器との間のコ
マンド処理シーケンスに必要な情報を、前記パケットフ
ィルタの出力に応じて、前記複数のコマンド制御回路の
うち当該機器に対応するものに出力して格納させるもの
であり、前記パケット処理回路は、前記シーケンス実行
許可を与えられたコマンド制御回路が出力する情報を有
するパケットを生成して出力し、これに応答して当該コ
マンド制御回路に対応する機器が出力したパケットを、
受信して出力するものである。According to a second aspect of the present invention, in the multi-initiator control apparatus according to the first aspect, each of the plurality of command control circuits outputs a command from a corresponding device and outputs a command between the corresponding device. The multi-control circuit stores information necessary for a processing sequence and outputs the information when the sequence execution permission is given. The multi-control circuit includes a packet included in a packet received and output by the link core circuit. The information required for the command processing sequence between the device and the device that transmitted the, according to the output of the packet filter, to output and store the command control circuit among the plurality of command control circuits corresponding to the device, The packet processing circuit generates a packet having information output from the command control circuit to which the sequence execution permission has been given. Outputs Te, a packet device has output corresponding to the command control circuit in response thereto,
It receives and outputs.
【0047】請求項2の発明によると、複数のコマンド
制御回路を効率よく制御して、コマンド処理シーケンス
の一連のトランザクションを処理することができる。According to the second aspect of the present invention, it is possible to efficiently control a plurality of command control circuits and process a series of transactions in a command processing sequence.
【0048】また、請求項3の発明では、請求項1に記
載のマルチイニシエータ制御装置において、前記複数の
コマンド制御回路は、それぞれ、対応する機器から送信
されたコマンドフェッチ要求パケットの情報を格納し、
前記マルチ制御回路から前記シーケンス実行許可が与え
られた場合に、当該機器に対してコマンドフェッチ動作
を行うものである。According to a third aspect of the present invention, in the multi-initiator control device according to the first aspect, each of the plurality of command control circuits stores information of a command fetch request packet transmitted from a corresponding device. ,
When the sequence execution permission is given from the multi control circuit, a command fetch operation is performed on the device.
【0049】請求項3の発明によると、コマンド制御回
路は、各機器から受け取ったコマンドフェッチ要求パケ
ットの情報を保持しているので、シーケンス実行許可が
与えられるとただちにコマンドフェッチ動作に移行する
ことができる。このため、効率的、かつ高速な動作を行
うことができる。According to the third aspect of the present invention, the command control circuit holds the information of the command fetch request packet received from each device, so that the sequence shifts to the command fetch operation as soon as the sequence execution permission is given. it can. Therefore, an efficient and high-speed operation can be performed.
【0050】また、請求項4の発明では、請求項3に記
載のマルチイニシエータ制御装置において、前記複数の
コマンド制御回路は、それぞれ、データ転送処理シーケ
ンスの実行中であっても、対応する機器からのコマンド
フェッチ要求を受け取るものである。According to a fourth aspect of the present invention, in the multi-initiator control apparatus according to the third aspect, each of the plurality of command control circuits is controlled by a corresponding device even during execution of a data transfer processing sequence. Is received.
【0051】請求項4の発明によると、ある機器がコマ
ンド実行中であっても、他の機器のコマンドフェッチ要
求を処理することができる。このため、コマンド処理の
状態に関係なく、それぞれの機器からのアクセスに対応
することができる。According to the fourth aspect of the present invention, even when a certain device is executing a command, a command fetch request from another device can be processed. Therefore, it is possible to cope with access from each device regardless of the state of the command processing.
【0052】また、請求項5の発明では、請求項1に記
載のマルチイニシエータ制御装置において、前記複数の
コマンド制御回路は、それぞれ、コマンド処理シーケン
スを行うためのアドレスを格納するレジスタを有するも
のであり、前記レジスタのアドレスは、当該レジスタが
属するコマンド制御回路の対応する機器のノード番号に
応じて、前記複数のコマンド制御回路のうちの基準とす
るもののレジスタのアドレスを、所定の値を単位として
アドレス拡張して得られたものである。According to a fifth aspect of the present invention, in the multi-initiator control apparatus according to the first aspect, each of the plurality of command control circuits has a register for storing an address for performing a command processing sequence. The address of the register may be, in accordance with a node number of a device corresponding to a command control circuit to which the register belongs, an address of a register of a reference of the plurality of command control circuits in units of a predetermined value. It is obtained by address extension.
【0053】請求項5の発明によると、基準とするコマ
ンド制御回路のレジスタのアドレスをアドレス拡張し、
レジスタのアドレスを求めるため、接続される機器が複
数の場合であっても、それぞれの機器がアクセスするレ
ジスタのアドレスをCPUが管理する必要がない。この
ため、CPUの負荷が低減され、機器が1台の場合と同
様に高速に動作することができる。According to the fifth aspect of the present invention, the address of the reference register of the command control circuit is extended,
Since the register address is obtained, even when a plurality of devices are connected, the CPU does not need to manage the address of the register accessed by each device. For this reason, the load on the CPU is reduced, and high-speed operation can be performed as in the case of a single device.
【0054】また、請求項6の発明では、請求項1に記
載のマルチイニシエータ制御装置において、前記マルチ
制御回路は、コマンド処理シーケンスが終了する毎に前
記複数の機器から1つを所定の順で選択して、前記複数
のコマンド制御回路のうち選択された機器に対応したも
のに前記シーケンス実行許可を与えるものである。According to a sixth aspect of the present invention, in the multi-initiator control device according to the first aspect, the multi-control circuit sends one from the plurality of devices in a predetermined order each time a command processing sequence is completed. The sequence execution permission is given to one of the plurality of command control circuits corresponding to the selected device.
【0055】請求項6の発明によると、接続されている
各機器について順にコマンド実行許可を与えるか否かを
判定するので、機器間のコマンド実行頻度のばらつきを
小さくし、コマンドを実行する機会が一部の機器に偏ら
ないようにすることができる。According to the sixth aspect of the present invention, it is determined whether or not command execution permission is given to each connected device in order, so that a variation in command execution frequency among devices is reduced, and an opportunity to execute a command is provided. It is possible to avoid bias to some devices.
【0056】また、請求項7の発明は、請求項1に記載
のマルチイニシエータ制御装置において、前記パケット
処理回路が当該マルチイニシエータ制御装置の外部との
間で行うデータ転送の制御を行う転送制御回路を更に備
え、前記パケット処理回路は、前記パケットフィルタが
出力するパケットから転送すべきデータを取り出して前
記転送制御回路に出力する一方、前記転送制御回路に転
送されて来たデータからパケットを生成して前記リンク
コア回路に出力するものである。According to a seventh aspect of the present invention, in the multi-initiator control device according to the first aspect, the transfer control circuit controls the data transfer performed by the packet processing circuit with the outside of the multi-initiator control device. The packet processing circuit further extracts data to be transferred from the packet output by the packet filter, outputs the data to the transfer control circuit, and generates a packet from the data transferred to the transfer control circuit. Output to the link core circuit.
【0057】請求項7の発明によると、データ転送処理
シーケンスは転送制御回路によって制御されるため、C
PUがデータ転送処理シーケンスの実行に関与すること
はない。このため、データ転送処理シーケンスの実行中
におけるCPUの負荷を低減し、データ転送を高速に行
うことができる。According to the seventh aspect of the present invention, the data transfer processing sequence is controlled by the transfer control circuit.
The PU does not participate in the execution of the data transfer processing sequence. Therefore, the load on the CPU during the execution of the data transfer processing sequence can be reduced, and the data transfer can be performed at high speed.
【0058】また、請求項8の発明は、請求項1に記載
のマルチイニシエータ制御装置において、前記CPUが
前記複数のコマンド制御回路にシーケンス実行許可を与
えることができるように構成されているものである。According to an eighth aspect of the present invention, in the multi-initiator control device according to the first aspect, the CPU is capable of giving sequence execution permission to the plurality of command control circuits. is there.
【0059】請求項8の発明によると、CPUがコマン
ドフェッチの動作タイミングを制御することが可能なた
め、ファームウェアからのシーケンス制御に対する自由
度が増し、ファームウェアの仕様に同期化させてシーケ
ンス処理を行うことが可能となる。According to the present invention, since the CPU can control the operation timing of the command fetch, the degree of freedom for the sequence control from the firmware is increased, and the sequence processing is performed in synchronization with the firmware specification. It becomes possible.
【0060】また、請求項9の発明は、請求項1に記載
のマルチイニシエータ制御装置において、前記複数の機
器のそれぞれのノード番号と、ノード番号を識別するた
めのフィールドにおけるビットの位置とが対応付けられ
ており、前記機器のそれぞれを、前記フィールドにおけ
るビットの位置で識別するように構成されているもので
ある。According to a ninth aspect of the present invention, in the multi-initiator control device according to the first aspect, each of the node numbers of the plurality of devices corresponds to a bit position in a field for identifying the node number. And each of the devices is configured to be identified by a bit position in the field.
【0061】請求項9の発明によると、各機器のノード
番号を1ビットで簡潔に表現するため、より多くの機器
が接続された場合であっても、機器の管理を小規模の回
路で行うことが可能となる。According to the ninth aspect of the present invention, since the node number of each device is simply represented by one bit, even if more devices are connected, the management of the devices is performed by a small-scale circuit. It becomes possible.
【0062】また、請求項10の発明は、伝送路を介し
て接続された複数の機器の各々との間でパケットを単位
として通信を行うマルチイニシエータ制御方法であっ
て、前記複数の機器のうちの1つからコマンドフェッチ
要求を受けたことを記憶しているか否かを判定するステ
ップと、コマンドフェッチ要求を受けたことを記憶して
いると判定したときは、当該機器からコマンドをフェッ
チして実行するステップとを備え、前記複数の機器から
1つを所定の順で選択することを繰り返し、選択された
機器について前記判定を行うステップと前記コマンドを
実行するステップとを行うものである。A tenth aspect of the present invention is a multi-initiator control method for performing communication on a packet basis with each of a plurality of devices connected via a transmission line, wherein Determining whether a command fetch request has been received from one of the devices; and, when determining that the command fetch request has been received, fetching a command from the device. Executing the step of repeatedly selecting one of the plurality of devices in a predetermined order, and performing the step of performing the determination on the selected device and the step of executing the command.
【0063】請求項10の発明によると、接続されてい
る各機器について順にコマンド実行許可を与えるか否か
を判定するので、コマンドを実行する機会が一部の機器
に偏らないようにすることができる。According to the tenth aspect of the present invention, it is determined whether or not command execution permission is given to each connected device in order, so that a chance of executing a command is not biased to some devices. it can.
【0064】[0064]
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら説明する。なお、ここで示す実
施の形態によって本発明の技術的範囲が限定されるもの
ではない。Embodiments of the present invention will be described below with reference to the drawings. The technical scope of the present invention is not limited by the embodiment described here.
【0065】図1は、本発明の実施形態に係るマルチイ
ニシエータ制御装置を用いたデータ転送システムのブロ
ック図である。図1のデータ転送システムは、光ディス
クドライブ1と、光ディスクドライブ1に接続されてい
る、機器としてのイニシエータ11,12,13とを備
えている。イニシエータ11〜13は、例えばパーソナ
ルコンピュータ(PC)である。光ディスクドライブ1
は、ターゲットとしてのマルチイニシエータ制御装置2
と、DVD−RAMコントローラ3と、ヘッド4と、D
VD−RAMディスク5とを備えている。FIG. 1 is a block diagram of a data transfer system using a multi-initiator control device according to an embodiment of the present invention. The data transfer system shown in FIG. 1 includes an optical disk drive 1 and initiators 11, 12, and 13 connected to the optical disk drive 1 as devices. The initiators 11 to 13 are, for example, personal computers (PCs). Optical disk drive 1
Is a multi-initiator control device 2 as a target
, DVD-RAM controller 3, head 4, D
And a VD-RAM disk 5.
【0066】各イニシエータ11,12,13とマルチ
イニシエータ制御装置2との間は、それぞれ伝送路とし
てのIEEE1394シリアルバス(以下では単にバス
と称する)21,22,23を介して接続されている。
マルチイニシエータ制御装置2は、DMAバス6を介し
てDVD−RAMコントローラ3に接続されている。D
VD−RAMコントローラ3は、ヘッド4を介してDV
D−RAMディスク5から読み出されたデータに復調等
の信号処理を行い、マルチイニシエータ制御装置2に転
送し、また、マルチイニシエータ制御装置2から転送さ
れてきたデータに変調等の信号処理を行い、ヘッド4を
介してDVD−RAMディスク5に書き込む。Each of the initiators 11, 12, 13 and the multi-initiator control device 2 are connected via an IEEE 1394 serial bus (hereinafter simply referred to as a bus) 21, 22, 23 as a transmission path.
The multi-initiator control device 2 is connected to the DVD-RAM controller 3 via the DMA bus 6. D
The VD-RAM controller 3 controls the DV
The data read from the D-RAM disk 5 is subjected to signal processing such as demodulation, and is transferred to the multi-initiator control device 2. Further, the data transferred from the multi-initiator control device 2 is subjected to signal processing such as modulation. Then, the data is written to the DVD-RAM disk 5 via the head 4.
【0067】図2は、本発明の実施形態に係る図1のマ
ルチイニシエータ制御装置のブロック図である。図2に
おいて、マルチイニシエータ制御装置2は、CPU31
と、物理層コントローラ(PHY)41と、リンクコア
回路(LINK)42と、パケットフィルタ43と、マ
ルチ制御回路44と、パケット処理回路45と、転送制
御回路46と、コマンド受信バッファ47と、制御レジ
スタ48と、コマンド制御回路51,52,53とを備
えている。FIG. 2 is a block diagram of the multi-initiator control device of FIG. 1 according to the embodiment of the present invention. 2, the multi-initiator control device 2 includes a CPU 31
A physical layer controller (PHY) 41, a link core circuit (LINK) 42, a packet filter 43, a multi-control circuit 44, a packet processing circuit 45, a transfer control circuit 46, a command reception buffer 47, A register 48 and command control circuits 51, 52, 53 are provided.
【0068】図2において、CPU31、リンクコア回
路42、マルチ制御回路44、転送制御回路46、コマ
ンド制御回路51〜53は、制御レジスタ48に対して
データの書き込み、読み出しをすることができる。ま
た、パケットフィルタ43は、制御レジスタ48の内容
を読み出しすることができる。以下では例として、SB
P−2(serial bus protocol-2)をプロトコルとして
用いて、イニシエータとターゲットとの間でデータ転送
を行うものとして説明する。In FIG. 2, the CPU 31, the link core circuit 42, the multi-control circuit 44, the transfer control circuit 46, and the command control circuits 51 to 53 can write and read data to and from the control register 48. The packet filter 43 can read the contents of the control register 48. In the following, as an example, SB
Description will be made on the assumption that data transfer is performed between an initiator and a target using P-2 (serial bus protocol-2) as a protocol.
【0069】物理層コントローラ41は、バス21〜2
3の初期化、アービトレーション、バイアス電圧の制御
等の機能を有している。物理層コントローラ41は、バ
ス21〜23上の電気信号をパケットに変換してリンク
コア回路42に出力したり、リンクコア回路42から受
け取ったパケットを電気信号に変換してバス21〜23
に出力する。The physical layer controller 41 includes buses 21 to 2
3 has functions such as initialization, arbitration, and control of bias voltage. The physical layer controller 41 converts an electric signal on the buses 21 to 23 into a packet and outputs the packet to the link core circuit 42, or converts a packet received from the link core circuit 42 into an electric signal and converts the packet into an electric signal.
Output to
【0070】リンクコア回路42は、物理層コントロー
ラ41からパケットを受信する。リンクコア回路42
は、受信したパケットに対して誤り検出符号の検出、コ
ードの検出(例えば、ACKパケットのコード検出)等
を行った後、パケットフィルタ43及びパケット処理回
路45に出力する。また、リンクコア回路42は、パケ
ット処理回路45から受け取った、送信すべきパケット
に対する誤り検出符号の作成及び付加を行い、物理層コ
ントローラ41に送信する。更に、リンクコア回路42
は、パケットの転送に失敗した場合に、そのパケットの
転送を再度試みるリトライ機能を有している。The link core circuit 42 receives a packet from the physical layer controller 41. Link core circuit 42
Performs error detection code detection, code detection (for example, code detection of an ACK packet) on the received packet, and outputs the packet to the packet filter 43 and the packet processing circuit 45. Further, the link core circuit 42 creates and adds an error detection code to the packet to be transmitted, which is received from the packet processing circuit 45, and transmits it to the physical layer controller 41. Further, the link core circuit 42
Has a retry function for retrying the transfer of a packet when the transfer of the packet fails.
【0071】パケットフィルタ43は、リンクコア回路
42からパケットを受け取り、そのパケットのヘッダフ
ィールドの内容を解析する。パケットフィルタ43は、
その解析結果に応じて、このパケットをコマンド受信バ
ッファ47に格納するべきか否かを決定し、パケット処
理回路45に通知する。また、パケットフィルタ43
は、受信したパケットの送信元のイニシエータのノード
番号をエンコードし、マルチ制御回路44及び転送制御
回路46に制御信号として出力する。更に、パケットフ
ィルタ43は、受け取ったパケットに含まれる情報をマ
ルチ制御回路44及び転送制御回路46に出力する。The packet filter 43 receives a packet from the link core circuit 42 and analyzes the contents of the header field of the packet. The packet filter 43
According to the analysis result, it is determined whether or not this packet should be stored in the command receiving buffer 47, and the packet processing circuit 45 is notified. Also, the packet filter 43
Encodes the node number of the initiator of the transmission source of the received packet, and outputs it to the multi-control circuit 44 and the transfer control circuit 46 as a control signal. Further, the packet filter 43 outputs information included in the received packet to the multi control circuit 44 and the transfer control circuit 46.
【0072】マルチ制御回路44は、リンクコア回路4
2が受信したパケットに含まれる情報をパケットフィル
タ43から受け取り、パケットフィルタ43が出力する
制御信号に応じて、コマンド制御回路51〜53に格納
させる。また、マルチ制御回路44は、コマンド制御回
路51〜53のうちの1つにシーケンス実行許可を与
え、許可を与えられたコマンド制御回路が出力する情報
をパケット処理回路45に出力する。The multi-control circuit 44 includes the link core circuit 4
2 receives the information included in the received packet from the packet filter 43 and stores it in the command control circuits 51 to 53 according to the control signal output from the packet filter 43. The multi-control circuit 44 gives sequence execution permission to one of the command control circuits 51 to 53, and outputs information output from the command control circuit to which the permission is given to the packet processing circuit 45.
【0073】パケット処理回路45は、マルチ制御回路
44の制御の下で動作し、パケットフィルタ43がコマ
ンド受信バッファ47に格納するべきであると決定した
パケットをコマンド受信バッファ47に格納させる。コ
マンド受信バッファ47に格納されたパケットは、CP
U31から読み出し可能な状態となる。また、パケット
処理回路45は、マルチ制御回路44から受け取った情
報を含むパケットを生成し、送信すべきパケットとして
リンクコア回路42に出力する。The packet processing circuit 45 operates under the control of the multi-control circuit 44 and causes the packet received by the packet filter 43 to be stored in the command reception buffer 47 to be stored in the command reception buffer 47. The packet stored in the command reception buffer 47 is
It becomes a state in which reading is possible from U31. Further, the packet processing circuit 45 generates a packet including the information received from the multi control circuit 44 and outputs the packet to the link core circuit 42 as a packet to be transmitted.
【0074】転送制御回路46は、CPU31が出力す
るREAD/WRITE等の転送コマンド実行要求を、
制御レジスタ48を介して受け取り、パケット処理回路
45とDVD−RAMコントローラ3との間でパケット
を転送する。The transfer control circuit 46 receives a transfer command execution request such as READ / WRITE output from the CPU 31
The packet is received via the control register 48 and is transferred between the packet processing circuit 45 and the DVD-RAM controller 3.
【0075】例えば、READコマンドを実行する場合
には、転送制御回路46は、CPU31からの実行要求
に基づいて、DVD−RAMディスク5に記録されたデ
ータをDVD−RAMコントローラ3及びDMAバス6
を介して読み出し、パケット処理回路45に出力する。
パケット処理回路45は、転送制御回路46から受け取
ったデータを分割して複数のパケットに格納し、これら
のパケットをリンクコア回路42及び物理層コントロー
ラ41を介してバス21〜23に出力する。For example, when executing a READ command, the transfer control circuit 46 transfers the data recorded on the DVD-RAM disk 5 to the DVD-RAM controller 3 and the DMA bus 6 based on an execution request from the CPU 31.
And outputs it to the packet processing circuit 45.
The packet processing circuit 45 divides the data received from the transfer control circuit 46 and stores it in a plurality of packets, and outputs these packets to the buses 21 to 23 via the link core circuit 42 and the physical layer controller 41.
【0076】また、WRITEコマンドを実行する場合
には、パケット処理回路45は、バス21〜23から物
理層コントローラ41及びリンクコア回路42を介して
パケットを受け取り、パケットからデータを取り出して
転送制御回路46に出力する。転送制御回路46は、受
け取ったデータをDMAバス6を介してDVD−RAM
コントローラ3に出力し、DVD−RAMディスク5に
記録させる。このようなパケット生成処理及びパケット
転送処理は、転送制御回路46によって制御される。When executing the WRITE command, the packet processing circuit 45 receives the packet from the buses 21 to 23 via the physical layer controller 41 and the link core circuit 42, extracts data from the packet, and transfers the data to the transfer control circuit. Output to 46. The transfer control circuit 46 transfers the received data to the DVD-RAM
The data is output to the controller 3 and recorded on the DVD-RAM disk 5. Such packet generation processing and packet transfer processing are controlled by the transfer control circuit 46.
【0077】このように、転送制御回路46がデータ転
送処理シーケンスを行うので、CPU31がデータ転送
処理シーケンスの実行に関与することはない。このた
め、データ転送処理シーケンスにおけるCPU31の負
荷を低減することが可能になり、IEEE1394に準
拠した高速データ転送を実現することができる。As described above, since the transfer control circuit 46 performs the data transfer processing sequence, the CPU 31 does not participate in the execution of the data transfer processing sequence. Therefore, the load on the CPU 31 in the data transfer processing sequence can be reduced, and high-speed data transfer conforming to IEEE1394 can be realized.
【0078】IEEE1394では、転送速度に応じて
1パケットで転送可能なデータ長(最大ペイロードサイ
ズ)が規定されている。本実施形態では、転送速度はS
400(転送速度約400Mbit/sec)であるとし、この
場合、1パケットで転送可能なデータ長は2048バイ
トである。In IEEE 1394, the data length (maximum payload size) that can be transferred in one packet is defined according to the transfer speed. In the present embodiment, the transfer speed is S
400 (transfer speed about 400 Mbit / sec). In this case, the data length that can be transferred in one packet is 2048 bytes.
【0079】コマンド制御回路51,52,53は、そ
れぞれイニシエータ11,12,13に対応しており、
対応するイニシエータからコマンドフェッチ要求を受け
取って、そのイニシエータとの間のコマンド処理シーケ
ンスを制御する。マルチ制御回路44は、コマンド制御
回路51〜53のシーケンス実行を管理している。マル
チ制御回路44及びコマンド制御回路51〜53は、S
BP−2におけるコマンド処理シーケンスに必要なエー
ジェントレジスタ(AGENT_REGISTER)を有している。The command control circuits 51, 52, and 53 correspond to the initiators 11, 12, and 13, respectively.
A command fetch request is received from a corresponding initiator, and a command processing sequence with the initiator is controlled. The multi control circuit 44 manages the sequence execution of the command control circuits 51 to 53. The multi control circuit 44 and the command control circuits 51 to 53
It has an agent register (AGENT_REGISTER) required for the command processing sequence in BP-2.
【0080】図3は、図2のマルチ制御回路44及びコ
マンド制御回路51のレジスタについての説明図であ
る。コマンド制御回路52,53のレジスタの構成は、
コマンド制御回路51と同様であるので図示を省略す
る。FIG. 3 is an explanatory diagram of registers of the multi control circuit 44 and the command control circuit 51 of FIG. The configuration of the registers of the command control circuits 52 and 53 is as follows.
The illustration is omitted because it is the same as the command control circuit 51.
【0081】マルチ制御回路44は、エージェントレジ
スタとして、MANAGEMENT_AGENTレジスタR10を有し
ている。MANAGEMENT_AGENTレジスタR10は、LOG
IN等のマネージメント系のコマンドをフェッチするた
めのアドレスを格納する。コマンド制御回路51は、エ
ージェントレジスタとしてAGENT_STATEレジスタR1
1、AGENT_RESETレジスタR12、ORB_POINTERレジス
タR13、DOORBELLレジスタR14及びUNSOLICITED_S
TATUSレジスタR15を有している。コマンド制御回路
52,53も同様のレジスタを有している。コマンド制
御回路51〜53のレジスタは、コマンド系のコマンド
をフェッチするためのアドレス等を格納する。The multi control circuit 44 has a MANAGEMENT_AGENT register R10 as an agent register. MANAGEMENT_AGENT register R10 is LOG
Stores an address for fetching a management command such as IN. The command control circuit 51 includes an AGENT_STATE register R1 as an agent register.
1, AGENT_RESET register R12, ORB_POINTER register R13, DOORBELL register R14 and UNSOLICITED_S
It has a TATUS register R15. The command control circuits 52 and 53 have similar registers. The registers of the command control circuits 51 to 53 store addresses and the like for fetching command commands.
【0082】コマンド制御回路51〜53は、それぞ
れ、対応するイニシエータ11〜13との間のコマンド
処理シーケンスに必要な情報を格納する。このような情
報には、イニシエータ11〜13のうち対応するものが
出力するコマンドフェッチ要求パケットの情報と、DOOR
BELLレジスタへのアクセスがあったことを示す情報とが
ある。The command control circuits 51 to 53 store information required for a command processing sequence with the corresponding initiators 11 to 13, respectively. Such information includes information of a command fetch request packet output by a corresponding one of the initiators 11 to 13 and DOOR
Information indicating that the BELL register has been accessed.
【0083】コマンド制御回路51〜53は、それぞれ
の対応するイニシエータ11〜13からコマンドフェッ
チ要求パケットの情報を受信して保持し、マルチ制御回
路44からシーケンス実行許可が得られていないパケッ
トの情報をキューイング、すなわち、未処理のコマンド
をキューイングすることができる。コマンドフェッチ要
求パケットは、例えばBWRQパケット、QWRQパケ
ットであって、BWRQパケットの場合は、コマンドフ
ェッチ対象のアドレスを含んでいる。Command control circuits 51 to 53 receive and hold information of command fetch request packets from corresponding initiators 11 to 13, and store information of packets for which sequence execution permission has not been obtained from multi control circuit 44. Queuing, ie, unprocessed commands can be queued. The command fetch request packet is, for example, a BWRQ packet or QWRQ packet. In the case of a BWRQ packet, the command fetch request packet includes an address of a command fetch target.
【0084】イニシエータ11〜13が、コマンド制御
回路51〜53のそれぞれに対してコマンドフェッチ要
求を行う際のアクセス方法としては、次の2種類があ
る。すなわち、BWRQパケットを用いてコマンドフェ
ッチ対象のアドレス(ORB(operation request bloc
k)の格納先のアドレス)を書き込むORB_POINTERレジ
スタへのアクセスと、QWRQパケットを用いたDOORBE
LLレジスタへのアクセスとである。コマンド制御回路5
1は、コマンドフェッチ対象のアドレスをORB_POINTER
レジスタR13に格納し、DOORBELLレジスタR14への
アクセスがあった場合には、アクセスがあったことを記
憶、すなわち、このアクセスがあったことを示す情報を
格納する。コマンド制御回路52,53に関しても同様
である。There are the following two types of access methods when the initiators 11 to 13 issue command fetch requests to the command control circuits 51 to 53, respectively. That is, the command fetch target address (ORB (operation request block
Access to the ORB_POINTER register to write the address of the storage destination of k), and DOORBE using the QWRQ packet
Access to the LL register. Command control circuit 5
1 indicates the address of the command fetch target as ORB_POINTER
When the access is made to the DOORBELL register R14, the fact that the access has been made is stored, that is, information indicating that this access has been made is stored. The same applies to the command control circuits 52 and 53.
【0085】図4は、アドレス拡張についての説明図で
ある。コマンド制御回路51の各エージェントレジスタ
のアドレスは、ベースアドレス(Base Address)を基準
とし、これにそれぞれ所定の値を加算したアドレスに設
定しておく。ベースアドレスは、コマンド制御回路51
のAGENT_STATEレジスタR11のアドレスである。コマ
ンド制御回路52の各エージェントレジスタのアドレス
は、コマンド制御回路51の同種のレジスタのアドレス
にそれぞれ20h(hは16進数表示を表す)を加算し
たアドレスとし、コマンド制御回路53の各エージェン
トレジスタのアドレスは、コマンド制御回路51の同種
のレジスタのアドレスにそれぞれ40hを加算したアド
レスとしておく。すなわち、コマンド制御回路51,5
2,53のレジスタのアドレス領域は、それぞれベース
アドレス、ベースアドレス+20h、ベースアドレス+
40hから始まる。FIG. 4 is an explanatory diagram of the address extension. The address of each agent register of the command control circuit 51 is set to an address obtained by adding a predetermined value to the base address (Base Address). The base address is stored in the command control circuit 51.
Of the AGENT_STATE register R11. The address of each agent register of the command control circuit 52 is an address obtained by adding 20h (h represents hexadecimal notation) to the address of the same type of register of the command control circuit 51, and the address of each agent register of the command control circuit 53. Is an address obtained by adding 40h to the address of the same type of register of the command control circuit 51. That is, the command control circuits 51 and 5
The address areas of the registers 2 and 53 are a base address, a base address + 20h, and a base address +
It starts from 40h.
【0086】パケットフィルタ43は、コマンド処理シ
ーケンスにおいて、イニシエータ11〜13から受信し
たパケットを解析し、パケットの送信元のイニシエータ
がアクセスしてきたアドレスとエージェントレジスタの
アドレスとを比較し、マルチ制御回路44に通知する。The packet filter 43 analyzes the packets received from the initiators 11 to 13 in the command processing sequence, compares the address accessed by the initiator of the packet source with the address of the agent register, Notify.
【0087】また、パケットフィルタ43は、LOGI
Nしているイニシエータのノード番号に対応付けて、例
えば20h間隔でアドレス拡張して受信パケットを解析
し、その結果を制御信号としてマルチ制御回路44に出
力する。パケットフィルタ43には、CPU31からベ
ースアドレス及びイニシエータ11〜13のノード番号
が予め設定されている。The packet filter 43 is LOGI
The received packet is analyzed by extending the address at intervals of, for example, 20 h, in association with the node number of the initiator that is N, and the result is output to the multi-control circuit 44 as a control signal. The base address and the node numbers of the initiators 11 to 13 are preset in the packet filter 43 from the CPU 31.
【0088】パケットフィルタ43は、パケットの送信
元がイニシエータ11である場合は、そのノード番号に
基づき、アドレス拡張を行わない。この場合、パケット
フィルタ43は、ベースアドレスから決定されるエージ
ェントレジスタのアドレスと受信したアドレスとを比較
し、アクセスされるレジスタを示す制御信号を生成し
て、マルチ制御回路44に出力する。また、パケットフ
ィルタ43は、パケットの送信元がイニシエータ12で
ある場合は、そのノード番号に基づき、イニシエータ1
1のベースアドレスに20hを加算したアドレスから決
定されるエージェントレジスタのアドレスと受信したア
ドレスとを比較し、アクセスされるレジスタを示す制御
信号を生成して、マルチ制御回路44に出力する。更
に、パケットフィルタ43は、パケットの送信元がイニ
シエータ13である場合は、そのノード番号に基づき、
イニシエータ11のベースアドレスに40hを加算した
アドレスから決定されるエージェントレジスタのアドレ
スと受信したアドレスとを比較し、アクセスされるレジ
スタを示す制御信号を生成して、マルチ制御回路44に
出力する。When the packet transmission source is the initiator 11, the packet filter 43 does not extend the address based on the node number. In this case, the packet filter 43 compares the address of the agent register determined from the base address with the received address, generates a control signal indicating the register to be accessed, and outputs the control signal to the multi-control circuit 44. Further, when the transmission source of the packet is the initiator 12, the packet filter 43 determines the initiator 1 based on the node number.
The address of the agent register determined from the address obtained by adding 20h to the base address of 1 is compared with the received address, a control signal indicating the register to be accessed is generated, and the control signal is output to the multi-control circuit 44. Further, when the packet transmission source is the initiator 13, the packet filter 43 determines, based on the node number,
The address of the agent register determined from the address obtained by adding 40h to the base address of the initiator 11 is compared with the received address, and a control signal indicating the register to be accessed is generated and output to the multi control circuit 44.
【0089】マルチ制御回路44は、コマンド制御回路
51〜53のレジスタのうちパケットフィルタ43が出
力する制御信号で示されたものにアクセスして、コマン
ドフェッチ要求パケットの情報を必要に応じて格納させ
る。The multi-control circuit 44 accesses one of the registers of the command control circuits 51 to 53 indicated by the control signal output from the packet filter 43 and stores the information of the command fetch request packet as necessary. .
【0090】このようにエージェントレジスタのアドレ
スを管理することにより、CPU31からのアドレス管
理が簡潔になる。受信したパケットの送信元のイニシエ
ータのノード番号からアドレスを求めるので、IEEE
1394規格で1つのローカルバスに対して接続可能な
最大のノード数である63ノードのイニシエータを接続
した場合であっても、エージェントレジスタのアドレス
管理のために回路規模を大きくする必要がない。なお、
ベースアドレスからのアドレス拡張を20h単位で行う
場合について説明したが、アドレス拡張の単位は他の値
としてもよい。By managing the address of the agent register in this way, the address management from the CPU 31 is simplified. Since the address is obtained from the node number of the initiator of the source of the received packet, the IEEE
Even when an initiator of 63 nodes, which is the maximum number of nodes connectable to one local bus in the 1394 standard, is connected, it is not necessary to increase the circuit scale for managing the address of the agent register. In addition,
Although the case where the address extension from the base address is performed in units of 20 h has been described, the unit of the address extension may be another value.
【0091】図5は、イニシエータのノード番号の管理
方法を示す説明図である。本実施形態においては、マル
チイニシエータ制御装置2に接続されているイニシエー
タの数は3台であるので、これらを3ビットのフィール
ドで識別することとする。すなわち、ビットN1が
“1”であるとき、イニシエータ11を示し、同様にビ
ットN2又はN3が“1”であるとき、それぞれイニシ
エータ12又は13を示しているものとする。FIG. 5 is an explanatory diagram showing a method of managing the node number of the initiator. In the present embodiment, since the number of initiators connected to the multi-initiator control device 2 is three, these are identified by a 3-bit field. That is, when the bit N1 is "1", it indicates the initiator 11, and similarly, when the bit N2 or N3 is "1", it indicates the initiator 12 or 13, respectively.
【0092】例えば、イニシエータ11,12,13の
ノード番号がそれぞれffc0h,ffc1h,ffc
2hであるとし、受信したパケットにノード番号ffc
0hが指定されているとする。この場合、パケットフィ
ルタ43は、“001”をマルチ制御回路44に出力し
て、パケットがイニシエータ11から送られて来たこと
を通知する。For example, the node numbers of the initiators 11, 12, and 13 are ffc0h, ffc1h, and ffc, respectively.
2h, and the received packet has the node number ffc
It is assumed that 0h is specified. In this case, the packet filter 43 outputs “001” to the multi control circuit 44 to notify that the packet has been sent from the initiator 11.
【0093】また、パケット処理回路45は、マルチ制
御回路44が出力するデータの3ビットのフィールドに
表されたノード番号を、ffc0h等の16ビットのノ
ード番号に変換して、パケットに組み込む。The packet processing circuit 45 converts the node number represented in the 3-bit field of the data output from the multi-control circuit 44 into a 16-bit node number such as ffc0h and incorporates it into the packet.
【0094】このように、16ビットのノード番号を1
ビットで表現し、管理することになるので、ノード番号
を扱うマルチ制御回路44等の回路を簡略化することが
できる。ここで、イニシエータ11〜13のノード番号
と、ビットN1,N2,N3の位置との対応関係は、1
対1の関係であればどのようなものであってもよい。も
ちろん、マルチ制御回路44等において、各ノード番号
をそのまま用いるようにしてもよい。As described above, the 16-bit node number is set to 1
Since the bits are expressed and managed, the circuits such as the multi-control circuit 44 that handles node numbers can be simplified. Here, the correspondence between the node numbers of the initiators 11 to 13 and the positions of the bits N1, N2, and N3 is 1
Any relationship may be used as long as the relationship is one-to-one. Of course, in the multi control circuit 44 or the like, each node number may be used as it is.
【0095】図6は、図2のマルチ制御回路44におけ
るコマンド実行処理のシーケンスを示すフローチャート
である。ここでは、イニシエータ11,12,13のノ
ード番号がそれぞれNode1,Node2,Node3であるもの
として説明する。また、イニシエータ11〜13は、コ
マンド制御回路51〜53のそれぞれに対するコマンド
フェッチ要求の際に、ORB_POINTERレジスタへのアクセ
スを行うものとして説明する。FIG. 6 is a flowchart showing a sequence of a command execution process in the multi control circuit 44 of FIG. Here, description will be made assuming that the node numbers of the initiators 11, 12, and 13 are Node1, Node2, and Node3, respectively. In addition, the description will be made assuming that the initiators 11 to 13 access the ORB_POINTER register when a command fetch request is issued to each of the command control circuits 51 to 53.
【0096】マルチ制御回路44は、まず、ステップS
11において、Node1のイニシエータ11のコマンド処
理シーケンスが未完了であるか否かを判定する。すなわ
ち、マルチ制御回路44は、コマンド制御回路51がコ
マンドフェッチ要求を受け、未処理のコマンドをキュー
イングしているか否かを判定し、キューイングしていた
らステップS12に移行し、キューイングしていなかっ
たらステップS13に移行する。First, the multi-control circuit 44 executes step S
At 11, it is determined whether or not the command processing sequence of the initiator 11 of Node 1 is not completed. That is, the multi-control circuit 44 determines whether or not the command control circuit 51 receives the command fetch request and queues the unprocessed command. If the command has been queued, the process proceeds to step S12, where the command is queued. If not, the process proceeds to step S13.
【0097】ステップS12では、マルチ制御回路44
は、コマンド制御回路51にシーケンス実行許可を与え
る。コマンド制御回路51は、格納しているコマンドフ
ェッチ対象のアドレスを用い、Node1のイニシエータ1
1からコマンドを取って来る。すなわち、コマンド制御
回路51は、コマンドフェッチ対象のアドレスをパケッ
ト処理回路45に通知し、パケット処理回路45は、こ
のアドレスを含んだパケットを生成し、リンクコア回路
42及びバス21を経由してイニシエータ11に送信す
る。これに応答して、イニシエータ11はコマンドを含
んだパケットを送信し、このパケットはバス21、リン
クコア回路42及びパケット処理回路45を経由してコ
マンド受信バッファ47に格納される。CPU31は、
このパケットに含まれるコマンドを実行する。このよう
にして、コマンドをフェッチして実行する一連のトラン
ザクションを行うことができる。コマンドの実行が終了
したら、ステップS13に処理を進める。In step S12, the multi control circuit 44
Gives the command control circuit 51 permission to execute a sequence. The command control circuit 51 uses the stored address of the command fetch target and stores the initiator 1
Fetch commands from 1. That is, the command control circuit 51 notifies the packet processing circuit 45 of the address of the command fetch target, and the packet processing circuit 45 generates a packet including this address, and transmits the packet via the link core circuit 42 and the bus 21 to the initiator. Send to 11. In response to this, the initiator 11 transmits a packet including a command, and the packet is stored in the command receiving buffer 47 via the bus 21, the link core circuit 42, and the packet processing circuit 45. The CPU 31
Executes the command contained in this packet. In this manner, a series of transactions for fetching and executing a command can be performed. Upon completion of the execution of the command, the process proceeds to step S13.
【0098】ステップS13では、マルチ制御回路44
は、Node2のイニシエータ12のコマンド処理シーケン
スが未完了であるか否かを判定する。すなわち、マルチ
制御回路44は、コマンド制御回路52がコマンドフェ
ッチ要求を受け、未処理のコマンドをキューイングして
いるか否かを判定し、キューイングしていたらステップ
S14に移行し、キューイングしていなかったらステッ
プS15に移行する。In step S13, the multi control circuit 44
Determines whether the command processing sequence of the initiator 12 of Node 2 is incomplete. That is, the multi-control circuit 44 determines whether or not the command control circuit 52 receives the command fetch request and queues the unprocessed command. If not, the process proceeds to step S15.
【0099】ステップS14では、マルチ制御回路44
は、コマンド制御回路52にシーケンス実行許可を与え
る。コマンド制御回路52は、ステップS12と同様
に、Node2のイニシエータ12からコマンドを取って来
て、そのコマンドをCPU31に実行させ、コマンドの
実行を終了したら、ステップS15に処理を進める。In step S14, the multi control circuit 44
Gives sequence execution permission to the command control circuit 52. As in step S12, the command control circuit 52 fetches a command from the initiator 12 of Node2, causes the CPU 31 to execute the command, and when the execution of the command is completed, proceeds to step S15.
【0100】ステップS15では、マルチ制御回路44
は、Node3のイニシエータ13のコマンド処理シーケン
スが未完了であるか否かを判定する。すなわち、マルチ
制御回路44は、コマンド制御回路53がコマンドフェ
ッチ要求を受け、未処理のコマンドをキューイングして
いるか否かを判定し、キューイングしていたらステップ
S16に移行し、キューイングしていなかったらステッ
プS11に戻る。In step S15, the multi control circuit 44
Determines whether the command processing sequence of the initiator 13 of the Node 3 is incomplete. That is, the multi-control circuit 44 determines whether or not the command control circuit 53 receives the command fetch request and queues an unprocessed command. If the command has been queued, the process proceeds to step S16, where the queue is queued. If not, the process returns to step S11.
【0101】ステップS16では、マルチ制御回路44
は、コマンド制御回路53にシーケンス実行許可を与え
る。コマンド制御回路53は、ステップS12と同様
に、Node3のイニシエータ13からコマンドを取って来
て、そのコマンドをCPU31に実行させ、コマンドの
実行を終了したら、ステップS11に戻る。その後は、
同様のシーケンスを繰り返す。In step S16, the multi control circuit 44
Gives sequence execution permission to the command control circuit 53. The command control circuit 53 fetches a command from the initiator 13 of Node 3 as in step S12, causes the CPU 31 to execute the command, and returns to step S11 when the execution of the command is completed. After that,
A similar sequence is repeated.
【0102】以上のように、マルチ制御回路44は、接
続されたイニシエータによるコマンド実行の状態を常に
管理し、コマンド実行許可を与えるか否かの判定をそれ
ぞれのイニシエータに対して順に平等に行うので、コマ
ンドを実行する頻度のばらつきがイニシエータ間で生じ
ることを防ぐことができる。As described above, the multi-control circuit 44 constantly manages the state of command execution by the connected initiators, and determines whether to give command execution permission equally to each initiator in order. In addition, it is possible to prevent a variation in the frequency of executing a command from occurring between initiators.
【0103】なお、イニシエータ11〜13が、コマン
ドフェッチ要求の際にDOORBELLレジスタへのアクセスを
行った場合についても、イニシエータ11〜13からコ
マンドを取って来る際の動作が複雑である点を除けば、
同様である。この場合は、イニシエータ11に関して
は、ステップS12に代えて次のような動作を行う。Note that, also when the initiators 11 to 13 access the DOORBELL register at the time of a command fetch request, the operation when fetching commands from the initiators 11 to 13 is complicated. ,
The same is true. In this case, the following operation is performed for the initiator 11 instead of step S12.
【0104】すなわち、コマンド制御回路51は、ORB
_POINTERレジスタR13に格納しているアドレスをイ
ニシエータ11に送信し、これに応答して、イニシエー
タ11は次に参照すべきORBを指し示すポインタを含
んだパケットを送信する。コマンド制御回路51は、こ
のポインタをパケット処理回路45に通知し、パケット
処理回路45は、このポインタを含んだパケットを生成
してイニシエータ11に送信する。これに応答して、イ
ニシエータ11はコマンドを含んだパケットを送信す
る。CPU31は、このパケットのコマンドを実行す
る。イニシエータ12,13に関しても、それぞれステ
ップS14,S16に代えて同様の動作を行えばよい。That is, the command control circuit 51
The address stored in the _POINTER register R13 is transmitted to the initiator 11, and in response, the initiator 11 transmits a packet including a pointer indicating the ORB to be referred next. The command control circuit 51 notifies the packet processing circuit 45 of the pointer, and the packet processing circuit 45 generates a packet including the pointer and transmits the packet to the initiator 11. In response, the initiator 11 transmits a packet including the command. The CPU 31 executes the command of this packet. The same operation may be performed for the initiators 12 and 13 instead of steps S14 and S16, respectively.
【0105】また、イニシエータが3台の場合について
説明したが、イニシエータの数はこれには限らない。す
なわち、イニシエータの数が、IEEE1394規格で
規定されている1つのローカルバスに対して接続可能な
最大の数(63台)までの場合には、各イニシエータに
対応したコマンド制御回路を備えることにより、同様に
処理を行うことができる。Further, the case where the number of initiators is three has been described, but the number of initiators is not limited to this. That is, when the number of initiators is up to the maximum number (63) that can be connected to one local bus defined by the IEEE 1394 standard, by providing a command control circuit corresponding to each initiator, The same processing can be performed.
【0106】図7A〜7Eは、図2のマルチイニシエー
タ制御装置2の内部で使用されるパケットのフォーマッ
トを示す説明図である。図7A〜7Eにおいて、斜線の
領域はリザーブ領域を示す。より具体的には、図7A
は、BWRQ(block write request)パケットのフォ
ーマットを示す。図7Bは、QWRQ(quadlet write
request)パケットのフォーマットを示す。図7Cは、
WRS(write response)パケットのフォーマットを示
す。図7Dは、BRRQ(block read request)パケッ
トのフォーマットを示す。図7Eは、BRRS(block
read response)パケットのフォーマットを示す。FIGS. 7A to 7E are explanatory diagrams showing the format of a packet used inside the multi-initiator control device 2 of FIG. 7A to 7E, a hatched area indicates a reserve area. More specifically, FIG.
Indicates the format of a BWRQ (block write request) packet. FIG. 7B shows a QWRQ (quadlet write
request) Indicates the format of the packet. FIG. 7C
5 shows a format of a WRS (write response) packet. FIG. 7D shows a format of a BRRQ (block read request) packet. FIG. 7E shows BRRS (block
read response) Indicates the format of the packet.
【0107】図8A〜8Eは、IEEE1394バス2
1〜23上のパケットのフォーマットを示す説明図であ
る。図8A〜8Eは、それぞれ図7A〜7Eに示される
フォーマットに対応する。FIGS. 8A to 8E show IEEE 1394 bus 2
It is explanatory drawing which shows the format of the packet on 1-23. 8A to 8E correspond to the formats shown in FIGS. 7A to 7E, respectively.
【0108】リンクコア回路42は、パケットをバス2
1〜23に送信する際には、図7A〜7Eのフォーマッ
トのパケットを受け取り、このパケットからheader_CR
Cやdata_CRC等のCRC(cyclic redundancy check)
コードを求める。リンクコア回路42は、受け取ったパ
ケットにこれらのCRCコードのフィールドを追加し、
得られた図8A〜8Eのフォーマットのパケットを物理
層コントローラ41に出力する。The link core circuit 42 transmits the packet to the bus 2
1 to 23, packets of the formats of FIGS. 7A to 7E are received, and header_CR
CRC (cyclic redundancy check) such as C and data_CRC
Ask for the code. The link core circuit 42 adds these CRC code fields to the received packet,
The obtained packets in the formats of FIGS. 8A to 8E are output to the physical layer controller 41.
【0109】また、リンクコア回路42は、パケットを
バス21〜23から受信する際には、図8A〜8Eのフ
ォーマットのパケットを受け取り、このパケットに含ま
れるheader_CRC領域やdata_CRC領域を参照して、CR
Cによる誤り検出を行う。リンクコア回路42は、誤り
検出後のパケットを図7A〜7Eのフォーマットでパケ
ットフィルタ43及びパケット処理回路45に出力す
る。When receiving a packet from the buses 21 to 23, the link core circuit 42 receives the packet in the format shown in FIGS. 8A to 8E and refers to the header_CRC area and the data_CRC area included in the packet, CR
Error detection by C is performed. The link core circuit 42 outputs the packet after the error detection to the packet filter 43 and the packet processing circuit 45 in the format of FIGS. 7A to 7E.
【0110】以下では、図2のマルチイニシエータ制御
装置2の動作を説明する。まず、LOGINコマンドの
実行について説明する。マルチイニシエータ制御装置2
は、イニシエータ11との間で図9のコマンド処理シー
ケンスを実行する。イニシエータ11との間のLOGI
Nコマンドのコマンド処理シーケンスが終了すると、C
PU31は、LOGINしたイニシエータ11のノード
番号に対応する制御レジスタ48内の1ビットをイネー
ブルにする。同様にして、イニシエータ12,13との
間でLOGIN処理が行われる。この一連のLOGIN
処理によって、イニシエータ11,12,13に、それ
ぞれコマンド制御回路51,52,53が割り当てられ
る。The operation of the multi-initiator control device 2 shown in FIG. 2 will be described below. First, execution of the LOGIN command will be described. Multi-initiator control device 2
Executes the command processing sequence of FIG. 9 with the initiator 11. LOGI between the initiator 11
When the command processing sequence of the N command ends, C
The PU 31 enables one bit in the control register 48 corresponding to the node number of the initiator 11 that has logged. Similarly, LOGIN processing is performed with the initiators 12 and 13. This series of LOGIN
Through the processing, the command control circuits 51, 52, and 53 are assigned to the initiators 11, 12, and 13, respectively.
【0111】次に、READコマンドの実行について説
明する。マルチイニシエータ制御装置2とイニシエータ
11〜13との間のコマンド処理シーケンスは、コマン
ド制御回路51〜53がコマンドをキューイングするこ
とができるようになっている点を除くと、図10と同様
である。Next, execution of the READ command will be described. The command processing sequence between the multi-initiator control device 2 and the initiators 11 to 13 is the same as that in FIG. 10 except that the command control circuits 51 to 53 can queue commands. .
【0112】イニシエータ11は、READコマンドを
実行するためにAGENT_RESETレジスタR12にQWRQ
パケットを送信する。次に、イニシエータ11は、BW
RQパケットをイニシエータ11に対応するコマンド制
御回路51に送信し、ORB_POINTERレジスタR13にコ
マンド制御回路51がアクセスすべきORBのアドレス
を書き込む。マルチ制御回路44は、コマンド制御回路
51〜53の状態を管理し、例えばコマンド制御回路5
1にシーケンス実行許可を与えると、コマンド制御回路
51はコマンドフェッチを実行する。Initiator 11 sets QWRQ in AGENT_RESET register R12 to execute the READ command.
Send a packet. Next, the initiator 11
The RQ packet is transmitted to the command control circuit 51 corresponding to the initiator 11, and the address of the ORB to be accessed by the command control circuit 51 is written to the ORB_POINTER register R13. The multi-control circuit 44 manages the states of the command control circuits 51 to 53, for example, the command control circuit 5
When sequence execution permission is given to 1, the command control circuit 51 executes command fetch.
【0113】コマンド受信バッファ47は、イニシエー
タ11から受信したコマンドを含むパケットを格納す
る。CPU31は、コマンド受信バッファ47からコマ
ンドを読み出し、READコマンドを実行するために転
送制御回路46を起動する。転送制御回路46は、DM
Aバス6を介してDVD−RAMコントローラ3からD
VD−RAMディスク5のデータを読み出し、パケット
処理回路45に出力する。パケット処理回路45は、入
力されたデータをパケットにして、リンクコア回路42
に出力する。The command receiving buffer 47 stores a packet containing a command received from the initiator 11. The CPU 31 reads a command from the command reception buffer 47 and activates the transfer control circuit 46 to execute a READ command. The transfer control circuit 46
D from the DVD-RAM controller 3 via the A bus 6
The data on the VD-RAM disk 5 is read and output to the packet processing circuit 45. The packet processing circuit 45 converts the input data into a packet,
Output to
【0114】また、イニシエータ11に対するデータ転
送シーケンス実行中に、イニシエータ12からはWRI
TEコマンドの、イニシエータ13からはREADコマ
ンドのコマンドフェッチ要求パケットを受信したとす
る。この場合、イニシエータ12に対応するコマンド制
御回路52は、データ転送シーケンスの実行中であって
も、イニシエータ12からのコマンドフェッチ要求を受
け取る。すなわち、コマンド制御回路52は、マルチ制
御回路44からの制御信号に従って、コマンドフェッチ
のためにアクセスすべきアドレスを格納し、シーケンス
実行許可を待つ。同様に、イニシエータ13に対応する
コマンド制御回路53は、データ転送シーケンスの実行
中であっても、イニシエータ13からのコマンドフェッ
チ要求を受け取り、シーケンス実行許可を待つ。Also, during the execution of the data transfer sequence for the initiator 11, the WRI
It is assumed that a command fetch request packet of a READ command has been received from the initiator 13 of the TE command. In this case, the command control circuit 52 corresponding to the initiator 12 receives the command fetch request from the initiator 12 even during the execution of the data transfer sequence. That is, the command control circuit 52 stores an address to be accessed for command fetch according to the control signal from the multi-control circuit 44, and waits for sequence execution permission. Similarly, the command control circuit 53 corresponding to the initiator 13 receives the command fetch request from the initiator 13 even during the execution of the data transfer sequence, and waits for the sequence execution permission.
【0115】マルチ制御回路44は、イニシエータ11
に対するデータ転送処理シーケンスが終了すると、コマ
ンド制御回路52におけるコマンドのキューイング状
態、すなわち、コマンド制御回路52がコマンドフェッ
チ要求を受けているか否かを調べる。キューイングされ
ていると認識した場合には、マルチ制御回路44は、コ
マンド制御回路52に対してシーケンス実行許可を与え
る。コマンド制御回路52は、マルチ制御回路44から
シーケンス実行許可を受けると、イニシエータ12に対
してコマンド処理シーケンスを実行する。パケット処理
回路45は、受信したパケットをコマンド受信バッファ
47に格納する。The multi-control circuit 44 includes the initiator 11
When the data transfer processing sequence for the command is completed, the queuing state of the command in the command control circuit 52, that is, whether or not the command control circuit 52 has received a command fetch request is checked. When recognizing that the queue has been queued, the multi control circuit 44 gives the command control circuit 52 a sequence execution permission. When receiving the sequence execution permission from the multi-control circuit 44, the command control circuit 52 executes a command processing sequence for the initiator 12. The packet processing circuit 45 stores the received packet in the command reception buffer 47.
【0116】CPU31は、コマンドをコマンド受信バ
ッファ47から読み出し、WRITEコマンドを実行す
るために転送制御回路46を起動する。転送制御回路4
6は、イニシエータ12からデータを読み出すために、
リンクコア回路42にパケットを転送する。転送制御回
路46は、イニシエータ12から受信したデータをリン
クコア回路42を介して読み出し、DMAバス6及びD
VD−RAMコントローラ3を介して、DVD−RAM
ディスク5に対して書き込む。指定された量の転送デー
タがDVD−RAMディスク5に書き込まれた後、転送
制御回路46は、イニシエータ12に対してステータス
情報を送信して、データ転送処理シーケンスが終了す
る。The CPU 31 reads out the command from the command receiving buffer 47 and activates the transfer control circuit 46 to execute the WRITE command. Transfer control circuit 4
6 is for reading data from the initiator 12
The packet is transferred to the link core circuit 42. The transfer control circuit 46 reads the data received from the initiator 12 via the link core circuit 42,
DVD-RAM via VD-RAM controller 3
Write to disk 5. After the specified amount of transfer data has been written to the DVD-RAM disk 5, the transfer control circuit 46 transmits status information to the initiator 12, and the data transfer processing sequence ends.
【0117】マルチ制御回路44は、イニシエータ12
に対するコマンド処理シーケンスが終了すると、コマン
ド制御回路53におけるコマンドのキューイング状態を
調べ、キューイングされていると認識した場合には、コ
マンド制御回路53に対してシーケンス実行許可を与え
る。コマンド制御回路53は、マルチ制御回路44から
シーケンス実行許可を受けると、イニシエータ13に対
してコマンドフェッチを行い、コマンド受信バッファ4
7に受信パケットを格納する。その後、同様に、CPU
31は転送制御回路46を起動し、READコマンドを
実行する。The multi-control circuit 44 includes the initiator 12
When the command processing sequence for is completed, the queuing state of the command in the command control circuit 53 is checked, and if it is recognized that the command is queued, sequence execution permission is given to the command control circuit 53. Upon receiving the sequence execution permission from the multi-control circuit 44, the command control circuit 53 fetches a command to the initiator 13 and
7 stores the received packet. Then, similarly, CPU
31 activates the transfer control circuit 46 and executes the READ command.
【0118】以上のように、本実施形態のマルチイニシ
エータ制御装置2では、コマンド制御回路51,52,
53は、それぞれが対応するイニシエータに対するコマ
ンド処理シーケンスを行い、マルチ制御回路44は、コ
マンド制御回路51,52,53を制御して、複数のイ
ニシエータとの間のシーケンスを可能にする。このた
め、CPU31は、コマンドフェッチ等のコマンド処理
シーケンスを行う必要がない。また、CPU31は、コ
マンド受信バッファ47に格納されたコマンドを実行す
るが、データ転送処理シーケンスは、転送制御回路46
によって行われる。したがって、効率的なシーケンス制
御及びデータ転送制御が可能であり、CPU31の負荷
を大きくすることなく、複数のイニシエータの管理を行
うことができる。As described above, in the multi-initiator control device 2 of the present embodiment, the command control circuits 51, 52,
53 performs a command processing sequence for the corresponding initiator, and the multi-control circuit 44 controls the command control circuits 51, 52, 53 to enable a sequence with a plurality of initiators. Therefore, the CPU 31 does not need to perform a command processing sequence such as a command fetch. The CPU 31 executes the command stored in the command receiving buffer 47. The data transfer processing sequence is performed by the transfer control circuit 46.
Done by Therefore, efficient sequence control and data transfer control are possible, and a plurality of initiators can be managed without increasing the load on the CPU 31.
【0119】(変形例)本変形例においては、マルチ制
御回路44に代わってCPU31が、制御レジスタ48
を介してコマンド制御回路51〜53にシーケンス実行
許可を与え、コマンドをフェッチするタイミングを制御
する例について説明する。(Modification) In this modification, the CPU 31 replaces the multi-control circuit 44 with the control register 48.
An example will be described in which sequence execution permission is given to the command control circuits 51 to 53 via, and the command fetch timing is controlled.
【0120】例えば、転送制御回路46が行うデータ転
送処理シーケンスは、基本的にはハードウェアだけで処
理を行うことができる。ところが、イニシエータから受
信するコマンドの処理には、ハードウェアだけでは処理
できず、ファームウェアによる処理が必要な場合があ
る。また、データ転送処理シーケンスを行っているとき
であっても、転送データにエラーが生じ、これに対処す
るためのファームウェアによる処理が必要な場合等があ
る。For example, the data transfer processing sequence performed by the transfer control circuit 46 can be basically performed only by hardware. However, processing of a command received from an initiator cannot be processed by hardware alone, and may require processing by firmware. Further, even when the data transfer processing sequence is being performed, an error may occur in the transfer data, and processing by firmware to deal with the error may be required.
【0121】このような場合、CPU31が実行するフ
ァームウェアによる処理は、ハードウェアによる処理に
追いつかない場合があるため、CPU31がコマンド処
理シーケンスを制御する必要がある。In such a case, the processing by the firmware executed by the CPU 31 may not be able to catch up with the processing by the hardware, so that the CPU 31 needs to control the command processing sequence.
【0122】図2,3を参照して説明する。イニシエー
タ11,12のLOGINコマンドの処理が終わってい
るものとする。イニシエータ11は、コマンド制御回路
51のORB_POINTERレジスタR13に対して、BWRQ
パケットを送信する。マルチ制御回路44が、イニシエ
ータ11に対応するコマンド制御回路51にシーケンス
実行許可を与えると、コマンド制御回路51は、イニシ
エータ11に対してコマンドフェッチを行う。パケット
処理回路45は、このときのイニシエータ11からの受
信パケットをコマンド受信バッファ47に格納する。C
PU31はコマンド受信バッファ47のコマンドを読み
出し、実行する。このコマンドは、ファームウェアによ
る処理が必要なコマンドであるとする。This will be described with reference to FIGS. It is assumed that the processing of the LOGIN command of the initiators 11 and 12 has been completed. The initiator 11 sends a BWRQ to the ORB_POINTER register R13 of the command control circuit 51.
Send a packet. When the multi control circuit 44 gives sequence execution permission to the command control circuit 51 corresponding to the initiator 11, the command control circuit 51 performs a command fetch for the initiator 11. The packet processing circuit 45 stores the received packet from the initiator 11 at this time in the command receiving buffer 47. C
The PU 31 reads out the command from the command receiving buffer 47 and executes it. This command is required to be processed by firmware.
【0123】このときCPU31は、制御レジスタ48
を介して、コマンド制御回路52をシーケンス実行許可
待ちにする。CPU31がイニシエータ11のコマンド
を実行中に、イニシエータ12から入力された、例えば
READコマンドのコマンドフェッチ対象のアドレス
は、コマンド制御回路52に格納される。At this time, the CPU 31
, The command control circuit 52 waits for sequence execution permission. While the CPU 31 is executing the command of the initiator 11, the command fetch target address of, for example, a READ command input from the initiator 12 is stored in the command control circuit 52.
【0124】CPU31は、イニシエータ11のコマン
ド処理が終了すると、マルチ制御回路44に対してシー
ケンス実行許可を与え、マルチ制御回路44は、コマン
ド制御回路52に対してシーケンス実行許可を与える。
シーケンス実行許可を得たコマンド制御回路52は、イ
ニシエータ12のコマンドをフェッチする。パケット処
理回路45は、イニシエータ12から受信したパケット
をコマンド受信バッファ47に格納する。CPU31は
コマンド受信バッファ47のコマンドを読み出し、イニ
シエータ12のコマンドを実行する。When the command processing of the initiator 11 is completed, the CPU 31 gives a sequence execution permission to the multi control circuit 44, and the multi control circuit 44 gives a sequence execution permission to the command control circuit 52.
The command control circuit 52 having received the sequence execution permission fetches the command of the initiator 12. The packet processing circuit 45 stores the packet received from the initiator 12 in the command receiving buffer 47. The CPU 31 reads the command in the command receiving buffer 47 and executes the command of the initiator 12.
【0125】以上のように、本変形例によると、コマン
ド処理シーケンスの起動タイミングをCPU31から任
意に制御することができるため、コマンド処理シーケン
スとCPU31の動作との間で同期をとることができ、
CPU31からのシーケンスの管理が容易となる。As described above, according to the present modification, the activation timing of the command processing sequence can be arbitrarily controlled by the CPU 31, so that the command processing sequence and the operation of the CPU 31 can be synchronized.
The sequence management from the CPU 31 is facilitated.
【0126】以上の実施形態では、イニシエータがDV
D−RAMディスクとの間でデータを転送する例につい
て説明したが、他の形式の光ディスク、磁気ディスク等
のデータ記録媒体等との間でデータを転送する場合も同
様である。In the above embodiment, the initiator is the DV
Although the example of transferring data to and from the D-RAM disk has been described, the same applies to the case of transferring data to and from a data recording medium such as an optical disk or a magnetic disk of another format.
【0127】[0127]
【発明の効果】以上のように、本発明によると、複数の
イニシエータを接続した場合でもCPUの負荷を大きく
することがないので、複数のイニシエータを接続し、か
つ、データ転送を高速に行うことができるマルチイニシ
エータ制御装置及び方法を提供することができる。As described above, according to the present invention, even when a plurality of initiators are connected, the load on the CPU is not increased, so that a plurality of initiators are connected and data transfer is performed at high speed. And a multi-initiator control device and method capable of performing the above-described operations.
【図1】本発明の実施形態に係るマルチイニシエータ制
御装置を用いたデータ転送システムのブロック図であ
る。FIG. 1 is a block diagram of a data transfer system using a multi-initiator control device according to an embodiment of the present invention.
【図2】本発明の実施形態に係る図1のマルチイニシエ
ータ制御装置のブロック図である。FIG. 2 is a block diagram of the multi-initiator control device of FIG. 1 according to an embodiment of the present invention.
【図3】図2のマルチ制御回路及びコマンド制御回路の
レジスタについての説明図である。FIG. 3 is an explanatory diagram of registers of a multi control circuit and a command control circuit of FIG. 2;
【図4】アドレス拡張についての説明図である。FIG. 4 is an explanatory diagram of an address extension.
【図5】イニシエータのノード番号の管理方法を示す説
明図である。FIG. 5 is an explanatory diagram showing a method for managing an initiator node number;
【図6】図2のマルチ制御回路におけるコマンド実行処
理のシーケンスを示すフローチャートである。FIG. 6 is a flowchart illustrating a sequence of a command execution process in the multi-control circuit of FIG. 2;
【図7A】図2のマルチイニシエータ制御装置の内部で
使用されるBWRQパケットのフォーマットを示す説明
図である。FIG. 7A is an explanatory diagram showing a format of a BWRQ packet used inside the multi-initiator control device of FIG. 2;
【図7B】図2のマルチイニシエータ制御装置の内部で
使用されるQWRQパケットのフォーマットを示す説明
図である。FIG. 7B is an explanatory diagram showing a format of a QWRQ packet used inside the multi-initiator control device of FIG. 2;
【図7C】図2のマルチイニシエータ制御装置の内部で
使用されるWRSパケットのフォーマットを示す説明図
である。FIG. 7C is an explanatory diagram showing a format of a WRS packet used inside the multi-initiator control device of FIG. 2;
【図7D】図2のマルチイニシエータ制御装置の内部で
使用されるBRRQパケットのフォーマットを示す説明
図である。FIG. 7D is an explanatory diagram showing a format of a BRRQ packet used inside the multi-initiator control device of FIG. 2;
【図7E】図2のマルチイニシエータ制御装置の内部で
使用されるBRRSパケットのフォーマットを示す説明
図である。7E is an explanatory diagram showing a format of a BRRS packet used inside the multi-initiator control device of FIG. 2;
【図8A】IEEE1394バス上のBWRQパケット
のフォーマットを示す説明図である。FIG. 8A is an explanatory diagram showing a format of a BWRQ packet on an IEEE 1394 bus.
【図8B】IEEE1394バス上のQWRQパケット
のフォーマットを示す説明図である。FIG. 8B is an explanatory diagram showing a format of a QWRQ packet on an IEEE 1394 bus.
【図8C】IEEE1394バス上のWRSパケットの
フォーマットを示す説明図である。FIG. 8C is an explanatory diagram showing a format of a WRS packet on an IEEE 1394 bus.
【図8D】IEEE1394バス上のBRRQパケット
のフォーマットを示す説明図である。FIG. 8D is an explanatory diagram showing a format of a BRRQ packet on an IEEE 1394 bus.
【図8E】IEEE1394バス上のBRRSパケット
のフォーマットを示す説明図である。FIG. 8E is an explanatory diagram showing a format of a BRRS packet on an IEEE 1394 bus.
【図9】LOGINコマンドを実行するためのコマンド
処理シーケンスを示す説明図である。FIG. 9 is an explanatory diagram showing a command processing sequence for executing a LOGIN command.
【図10】READコマンドを実行するためのコマンド
処理シーケンスを示す説明図である。FIG. 10 is an explanatory diagram showing a command processing sequence for executing a READ command.
【図11】従来のシーケンス処理装置の構成を示すブロ
ック図である。FIG. 11 is a block diagram illustrating a configuration of a conventional sequence processing device.
1 光ディスクドライブ 2 マルチイニシエータ制御装置 3 DVD−RAMコントローラ 4 ヘッド 5 DVD−RAMディスク 6 DMAバス 11,12,13 イニシエータ(機器) 21,22,23 IEEE1394シリアルバス(伝
送路) 31 CPU 41 物理層コントローラ 42 リンクコア回路 43 パケット・フィルタ 44 マルチ制御回路 45 パケット処理回路 46 転送制御回路 47 コマンド受信バッファ 48 制御レジスタ 51,52,53 コマンド制御回路Reference Signs List 1 optical disk drive 2 multi-initiator control device 3 DVD-RAM controller 4 head 5 DVD-RAM disk 6 DMA bus 11, 12, 13 initiator (device) 21, 22, 23 IEEE 1394 serial bus (transmission path) 31 CPU 41 physical layer controller 42 link core circuit 43 packet filter 44 multi-control circuit 45 packet processing circuit 46 transfer control circuit 47 command receiving buffer 48 control register 51, 52, 53 command control circuit
フロントページの続き Fターム(参考) 5B014 EB01 GD05 GD12 GD22 GD32 GE05 HA07 HA14 5K034 AA02 AA07 DD03 EE11 FF01 MM18 Continued on the front page F term (reference) 5B014 EB01 GD05 GD12 GD22 GD32 GE05 HA07 HA14 5K034 AA02 AA07 DD03 EE11 FF01 MM18
Claims (10)
各々との間でパケットを単位として通信を行うマルチイ
ニシエータ制御装置であって、 送信すべきパケットを前記伝送路に送信する一方、前記
伝送路からパケットを受信し、誤り検出を行って出力す
るリンクコア回路と、 前記リンクコア回路が受信したパケットを解析し、その
結果を出力するパケットフィルタと、 各々、対応する機器との間のコマンド処理シーケンスを
制御する複数のコマンド制御回路と、 前記複数のコマンド制御回路のうちの1つにシーケンス
実行許可を与えるマルチ制御回路と、 前記許可を与えられたコマンド制御回路が出力する情報
を有するパケットを前記送信すべきパケットとして生成
し、前記リンクコア回路に出力して送信させる一方、前
記リンクコア回路が受信して出力したパケットを前記パ
ケットフィルタが出力する解析結果に従って出力するパ
ケット処理回路と、 前記パケット処理回路が出力するパケットに含まれるコ
マンドを実行するCPU(central processing unit)
とを備えたマルチイニシエータ制御装置。1. A multi-initiator control device for communicating with each of a plurality of devices connected via a transmission line in units of packets, wherein the multi-initiator control device transmits a packet to be transmitted to the transmission line. A link core circuit that receives a packet from the transmission path, performs error detection, and outputs the packet; a packet filter that analyzes the packet received by the link core circuit and outputs a result thereof; A plurality of command control circuits for controlling the command processing sequence, a multi-control circuit for granting sequence execution permission to one of the plurality of command control circuits, and information output by the permitted command control circuit. While generating a packet to be transmitted as the packet to be transmitted and outputting the packet to the link core circuit for transmission. CPU but to execute the packet processing circuit for outputting according to the analysis result of the packet filter and output by the received packet is output, a command to the packet processing circuit is included in a packet to be output (central processing unit)
A multi-initiator control device comprising:
御装置において、 前記複数のコマンド制御回路は、それぞれ、 対応する機器が出力し、当該対応する機器との間のコマ
ンド処理シーケンスに必要な情報を格納して、これを前
記シーケンス実行許可が与えられると出力するものであ
り、 前記マルチ制御回路は、 前記リンクコア回路が受信して出力するパケットに含ま
れる、当該パケットを送信した機器との間のコマンド処
理シーケンスに必要な情報を、前記パケットフィルタの
出力に応じて、前記複数のコマンド制御回路のうち当該
機器に対応するものに出力して格納させるものであり、 前記パケット処理回路は、 前記シーケンス実行許可を与えられたコマンド制御回路
が出力する情報を有するパケットを生成して出力し、こ
れに応答して当該コマンド制御回路に対応する機器が出
力したパケットを、受信して出力するものであることを
特徴とするマルチイニシエータ制御装置。2. The multi-initiator control device according to claim 1, wherein each of the plurality of command control circuits outputs information necessary for a command processing sequence between the corresponding device and the corresponding device. The multi-control circuit stores and outputs the sequence execution permission when the sequence execution permission is given. The multi-control circuit is included in a packet received and output by the link core circuit, between the device and the device that transmitted the packet. Information necessary for the command processing sequence of the plurality of command control circuits corresponding to the device in accordance with the output of the packet filter, and stored therein. Generates and outputs a packet having information output by the command control circuit to which the sequence execution permission has been given, and responds to the packet. A multi-initiator control device for receiving and outputting a packet output by a device corresponding to the command control circuit.
御装置において、 前記複数のコマンド制御回路は、それぞれ、 対応する機器から送信されたコマンドフェッチ要求パケ
ットの情報を格納し、前記マルチ制御回路から前記シー
ケンス実行許可が与えられた場合に、当該機器に対して
コマンドフェッチ動作を行うことを特徴とするマルチイ
ニシエータ制御装置。3. The multi-initiator control device according to claim 1, wherein each of said plurality of command control circuits stores information of a command fetch request packet transmitted from a corresponding device, and A multi-initiator control device for performing a command fetch operation on a device when a sequence execution permission is given.
御装置において、 前記複数のコマンド制御回路は、それぞれ、 データ転送処理シーケンスの実行中であっても、対応す
る機器からのコマンドフェッチ要求を受け取ることを特
徴とするマルチイニシエータ制御装置。4. The multi-initiator control device according to claim 3, wherein each of the plurality of command control circuits receives a command fetch request from a corresponding device even during execution of a data transfer processing sequence. A multi-initiator control device characterized by the following.
御装置において、 前記複数のコマンド制御回路は、それぞれ、 コマンド処理シーケンスを行うためのアドレスを格納す
るレジスタを有するものであり、 前記レジスタのアドレスは、当該レジスタが属するコマ
ンド制御回路の対応する機器のノード番号に応じて、前
記複数のコマンド制御回路のうちの基準とするもののレ
ジスタのアドレスを、所定の値を単位としてアドレス拡
張して得られたものであることを特徴とするマルチイニ
シエータ制御装置。5. The multi-initiator control device according to claim 1, wherein each of the plurality of command control circuits has a register for storing an address for performing a command processing sequence, and the address of the register is According to the node number of the device corresponding to the command control circuit to which the register belongs, the address of the register of the plurality of command control circuits as a reference is obtained by expanding the address in units of a predetermined value. A multi-initiator control device characterized in that:
御装置において、 前記マルチ制御回路は、 コマンド処理シーケンスが終了する毎に前記複数の機器
から1つを所定の順で選択して、前記複数のコマンド制
御回路のうち選択された機器に対応したものに前記シー
ケンス実行許可を与えることを特徴とするマルチイニシ
エータ制御装置。6. The multi-initiator control device according to claim 1, wherein the multi-control circuit selects one from the plurality of devices in a predetermined order each time a command processing sequence ends, and A multi-initiator control device which gives the sequence execution permission to a command control circuit corresponding to a selected device.
御装置において、 前記パケット処理回路が当該マルチイニシエータ制御装
置の外部との間で行うデータ転送の制御を行う転送制御
回路を更に備え、 前記パケット処理回路は、 前記パケットフィルタが出力するパケットから転送すべ
きデータを取り出して前記転送制御回路に出力する一
方、前記転送制御回路に転送されて来たデータからパケ
ットを生成して前記リンクコア回路に出力することを特
徴とするマルチイニシエータ制御装置。7. The multi-initiator control device according to claim 1, further comprising: a transfer control circuit that controls data transfer performed by the packet processing circuit with the outside of the multi-initiator control device. The circuit extracts data to be transferred from the packet output by the packet filter and outputs the data to the transfer control circuit, while generating a packet from the data transferred to the transfer control circuit and outputs the packet to the link core circuit. A multi-initiator control device.
御装置において、 前記CPUが前記複数のコマンド制御回路にシーケンス
実行許可を与えることができるように構成されているこ
とを特徴とするマルチイニシエータ制御装置。8. The multi-initiator control device according to claim 1, wherein the CPU is capable of giving sequence execution permission to the plurality of command control circuits. .
御装置において、 前記複数の機器のそれぞれのノード番号と、ノード番号
を識別するためのフィールドにおけるビットの位置とが
対応付けられており、前記機器のそれぞれを、前記フィ
ールドにおけるビットの位置で識別するように構成され
ていることを特徴とするマルチイニシエータ制御装置。9. The multi-initiator control device according to claim 1, wherein a node number of each of the plurality of devices is associated with a bit position in a field for identifying a node number, and , Each of which is configured to be identified by a position of a bit in the field.
の各々との間でパケットを単位として通信を行うマルチ
イニシエータ制御方法であって、 前記複数の機器のうちの1つからコマンドフェッチ要求
を受けたことを記憶しているか否かを判定するステップ
と、 コマンドフェッチ要求を受けたことを記憶していると判
定したときは、当該機器からコマンドをフェッチして実
行するステップとを備え、前記複数の機器から1つを所
定の順で選択することを繰り返し、選択された機 器について前記判定を行うステップと前記コマンドを実
行するステップとを行うマルチイニシエータ制御方法。10. A multi-initiator control method for performing communication on a packet basis with each of a plurality of devices connected via a transmission path, wherein a command fetch request is issued from one of the plurality of devices. Determining whether or not the device has received the command fetch request; and, when determining that the command fetch request has been stored, fetching and executing the command from the device. A multi-initiator control method that repeats selecting one of the plurality of devices in a predetermined order, and performing the determination on the selected device and the step of executing the command.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001366445A JP2002244991A (en) | 2000-12-05 | 2001-11-30 | Multi-initiator control device and method |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000370375 | 2000-12-05 | ||
| JP2000-370375 | 2000-12-05 | ||
| JP2001366445A JP2002244991A (en) | 2000-12-05 | 2001-11-30 | Multi-initiator control device and method |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004230560A Division JP2005018800A (en) | 2000-12-05 | 2004-08-06 | Multi-initiator control apparatus and method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002244991A true JP2002244991A (en) | 2002-08-30 |
Family
ID=26605273
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001366445A Pending JP2002244991A (en) | 2000-12-05 | 2001-11-30 | Multi-initiator control device and method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002244991A (en) |
-
2001
- 2001-11-30 JP JP2001366445A patent/JP2002244991A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3843667B2 (en) | Data transfer control device and electronic device | |
| US6347097B1 (en) | Method and apparatus for buffering received data from a serial bus | |
| CN101937406B (en) | Method and system for driving 1394 devices in VxWorks operating system | |
| KR19990087389A (en) | Asynchronous data pipes for automatically managing asynchronous data delivery between application devices and bus structures | |
| US20050089033A1 (en) | Method, system, and program for constructing a packet | |
| JP3608441B2 (en) | Data transfer control device and electronic device | |
| JP3584789B2 (en) | Data transfer control device and electronic equipment | |
| US20040057448A1 (en) | Information processing system, information processing apparatus, and information processing method | |
| US7164689B2 (en) | Multi-initiator control unit and method | |
| US7127530B2 (en) | Command issuing apparatus for high-speed serial interface | |
| JP3733699B2 (en) | Serial interface circuit | |
| JPH10341247A (en) | Data transmission device, data reception device, data transmission system, and data transmission method | |
| JP3091184B2 (en) | Communication system and communication device | |
| US6457072B1 (en) | System and method for effectively performing physical direct memory access operations | |
| JP3539287B2 (en) | Data transfer control device and electronic equipment | |
| JP2002244991A (en) | Multi-initiator control device and method | |
| JP2000224195A (en) | Data transmission equipment | |
| JP2005018800A (en) | Multi-initiator control apparatus and method | |
| JPH1117710A (en) | Serial interface circuit | |
| JP4582180B2 (en) | Data transmission equipment | |
| US7167940B2 (en) | Data processing method, data processing apparatus, communications device, communications method, communications protocol and program | |
| JP2000250846A (en) | Sequence processing device | |
| JP3105883B2 (en) | Communication device and method | |
| JP3837843B2 (en) | Serial interface circuit | |
| JP3610982B2 (en) | Data transfer control device and electronic device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040329 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040608 |