JP3733699B2 - シリアルインタフェース回路 - Google Patents
シリアルインタフェース回路 Download PDFInfo
- Publication number
- JP3733699B2 JP3733699B2 JP16481197A JP16481197A JP3733699B2 JP 3733699 B2 JP3733699 B2 JP 3733699B2 JP 16481197 A JP16481197 A JP 16481197A JP 16481197 A JP16481197 A JP 16481197A JP 3733699 B2 JP3733699 B2 JP 3733699B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- serial interface
- circuit
- storage means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
Description
【発明の属する技術分野】
本発明は、ディジタルシリアルインタフェース回路に係り、特にHDD(Hard Disk Drive) 、DVD(Digital Video Disk)−ROM、CD(Compact Disk)−ROM、テープストリーマ(Tape Streamer) 等のストレージ装置に接続するシリアルインタフェース回路およびその信号処理方法に関するものである。
【0002】
【従来の技術】
近年、マルチメディア・データ転送のためのインタフェースとして、高速データ転送、リアルタイム転送を実現するIEEE(The Institute of Electrical and Electronic Engineers) 1394、High Performance Sirial Busが規格化された。
【0003】
このIEEE1394シリアルインタフェースのデータ転送においては、ネットワーク内で行われる転送動作をサブアクションと呼び、2つのサブアクションが規定されている。
一つは、従来のRequest,Acknowledge の要求、受信確認を行うアシンクロナス(Asynchronous) 転送であり、他の一つはあるノードから125μsに1回必ずデータが送られるアイソクロナス(Isochronous) 転送である。
【0004】
このように、2つの転送モードを有するIEEE1394シリアルインタフェースでのデータは、パケット単位で転送が行われるが、IEEE1394規格では、取り扱う最小データの単位は1クワドレット(quadlet) (=4バイト=32ビット)である。
【0005】
IEEE1394規格では、通常、コンピュータデータは、図4に示すように、アシンクロナス転送を用いて行われる。
アシンクロナス転送は、図4(a)に示すように、バスを獲得するためのアービレーション(arb)、データを転送するパケットトランスミッション、およびアクノリッジメント(ack)の3つの遷移状態をとる。
【0006】
そして、パケットトランスミッションの実行は、図4(b)に示すようなフォーマットで行われる。
転送パケットの第1クワドレットは、16ビットのデスティネーションID(destination ID)領域、6ビットのトランザクション ラベルtl(transaction label) 領域、2ビットのリトライ コードrt(retry code)領域、4ビットのトランザクション コードtcode(transanction code) 領域、および4ビットのプライオリティpri(priority)領域から構成されている。
デスティネーションID領域はこのノードのバスナンバーとノードナンバー、プライオリティ領域は優先レベルを示す。
【0007】
第2クワドレットおよび第3クワドレットは、16ビットのソースID(source ID) 領域、および48ビットのデスティネーション・オフセット(destination offset)領域により構成されている。
ソースID領域はこのパケットを送ったノードIDを示し、デスティネーション オフセット領域はハイ(High)およびロー(Low) の連続した領域からなり、デスティネーション・ノードのアドレス空間のアドレスを示す。
【0008】
第4クワドレットは、16ビットのデータ長(data length) 領域、および16ビットのイクステンディド・トランザクション・コード(extended tcode)領域に構成されている。
データ長領域は受信したパケットのバイト数を示し、イクステンディド tcode領域はtcodeがロック・トランザクション(Lock transaction)の場合、このパケットのデータが行う実際のロック動作(Lock Action) を示す領域である。
【0009】
データフィールド領域(data field)の前のクワドレットに付加されたヘッダCRC(header CRC) 領域は、パケットヘッダの誤り検出符号である。
また、データ領域(data field)の後のクワドレットに付加されたデータCRC(data CRC) 領域は、データフィールドの誤り検出符号である。
【0010】
【発明が解決しようとする課題】
ところで、上述したように、アシンクロナス転送で行われる通常のコンピュータデータの転送では、そのプロトコルとして、SBP−2(Serial Bus Protocol-2) が用いられる。
このプロトコルによると、ストレージデバイス(Storage Device)であるターゲット(Target)からホストコンピュータ(Host Computer) であるイニシエータ(Initiator) にデータを転送するときは、ストレージデバイスからホストコンピュータのメモリへデータを書き込む形で、またホストコンピュータからターゲットにデータを転送するときは、ストレージデバイスがホストコンピュータのメモリのデータを読み出す形で転送が行われる。
【0011】
しかしながら、ストレージデバイスに格納される、あるいはストレージデバイスから読み出される大容量のデータをIEEE1394規格のパケットにして、送受信するための、いわゆるトランザクション・レイヤ(Transaction Layer) をコントロールする処理系回路システムが未だ確立されていない。
【0012】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、大容量のデータを所定の規格に合わせてたパケットにして送受信することができ、また、円滑な送受信処理をことができるシリアルインタフェース回路を提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、記憶手段と、他ノードのデータを自ノードへ転送する場合に、転送すべきデータサイズを含む要求パケットを生成する送信パケット生成回路と、上記要求パケットで要求するデータのサイズと上記記憶手段の残り容量とを比較する比較手段と、上記比較手段の比較の結果、記憶手段の残り容量が要求データサイズ以上で有る場合に上記要求パケットを上記シリアルインタフェースバスに送出し、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部を上記記憶手段に記憶させるデータ処理回路とを有する。
【0014】
また、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、第1の記憶手段と、第2の記憶手段と、他ノードのデータを自ノードへ転送する場合に、転送すべきデータサイズを含む要求パケットを生成し、上記第1の記憶手段に記憶する送信パケット生成回路と、上記要求パケットで要求するデータのサイズと上記第2の記憶手段の残り容量とを比較する比較手段と、上記比較手段の比較の結果、第2の記憶手段の残り容量が要求データサイズ以上で有る場合に上記要求パケットを上記シリアルインタフェースバスに送出し、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部を上記第2の記憶手段に記憶させるデータ処理回路とを有する。
【0015】
また、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、記憶手段と、他ノードのデータを自ノードへ転送する場合に、転送すべきデータサイズを含む要求パケットを生成する送信パケット生成回路と、上記要求パケットで要求可能な最大のデータサイズを求める最大サイズ算出回路と、上記最大サイズ算出回路で求めた最大データサイズと上記記憶手段の残り容量とを比較する比較手段と、上記比較手段の比較の結果、記憶手段の残り容量が最大データサイズ以上で有る場合に上記要求パケットを上記シリアルインタフェースバスに送出し、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部を上記記憶手段に記憶させるデータ処理回路とを有する。
【0016】
また、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、第1の記憶手段と、第2の記憶手段と、他ノードのデータを自ノードへ転送する場合に、転送すべきデータサイズを含む要求パケットを生成し、上記第1の記憶手段に記憶する送信パケット生成回路と、上記要求パケットで要求可能な最大のデータサイズを求める最大サイズ算出回路と、上記最大サイズ算出回路で求めた最大データサイズと上記第2の記憶手段の残り容量とを比較する比較手段と、上記比較手段の比較の結果、第2の記憶手段の残り容量が最大データサイズ以上で有る場合に上記要求パケットを上記シリアルインタフェースバスに送出し、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部を上記第2の記憶手段に記憶させるデータ処理回路とを有する。
【0017】
本発明の回路によれば、他ノードから自ノードへデータを転送する場合には、送信パケット生成回路により転送すべきデータサイズを含む要求パケットが生成されて、データ処理回路に入力(または第1の記憶手段に格納)される。
比較手段において要求パケットで要求するデータのサイズと記憶手段(または第2の記憶手段)の残り容量とが比較される。
比較の結果、記憶手段(または第2の記憶手段)の残り容量が要求データサイズ以上で有る場合に、データ処理回路から要求パケットがシリアルインタフェースバスに送出される。
そして、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部が記憶手段(または第2の記憶手段)に記憶される。
【0018】
また、本発明の回路によれば、他ノードから自ノードへデータを転送する場合には、送信パケット生成回路によりデータをパケット化して転送できるように、転送すべきデータサイズを含む要求パケットが生成されて、データ処理回路に入力(または第1の記憶手段に格納)される。
また、最大サイズ算出回路で、要求パケットで要求可能な最大のデータサイズを求められ、比較手段に入力される。
比較手段においては、最大データサイズと記憶手段(または第2の記憶手段)の残り容量とが比較される。
比較の結果、記憶手段(または第2の記憶手段)の残り容量が最大データサイズ以上で有る場合に、データ処理回路から要求パケットがシリアルインタフェースバスに送出される。
そして、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部が記憶手段(または第2の記憶手段)に記憶される。
【0019】
【発明の実施の形態】
図1は、本発明に係るIEEE1394シリアルインタフェース回路の一実施形態を示すブロック構成図である。
なお、このシリアルインタフェース回路は、アシンクロナス通信で扱われるコンピュータデータの転送を行うことを目的として構成されている。このため、図1においては、アイソクロナス通信系回路の具体的な構成は図示していない。
【0020】
このシリアルインタフェース回路は、リンク/トランザクション・レイヤ集積回路10、フィジカル・レイヤ回路20、ストレージデバイスとしての図示しないハードディスクドライバ(HDD)のコントローラ30、ホストコンピュータとしてのローカルプロセッサ40により構成されている。
【0021】
リンク/トランザクション・レイヤ集積回路10は、リンク・レイヤ回路100およびトランザクション・レイヤ回路120が集積化されて構成され、ローカルプロセッサ40の制御の下、アシンクロナス転送の制御、並びにフィジカル・レイヤ回路20の制御を行う。
【0022】
リンク・レイヤ回路100は、図1に示すように、リンクコア(Link Core))101、CPUインタフェース回路(Sub-CPU I/F )102、アシンクロナス通信で用いられる送信用FIFO(AT-FIFO:First-In First-Out) 103、受信用FIFO(AR-FIFO)104、受信パケットを判別する分別回路(DeMux) 105、セルフID用リゾルバ(Resolver)106、およびコントロールレジスタ(Control Registers 、以下CRという)107により構成されている。
【0023】
リンクコア101は、コマンドやコンピュータデータが転送されるアシンクロナス通信用パケットおよびアイソクロナス通信用パケットの送信回路、受信回路、これらパケットのIEEE1394シリアルバスBSを直接ドライブするフィジカル・レイヤ回路20とのインタフェース回路、125μs毎にリセットされるサイクルタイマ、サイクルモニタやCRC回路から構成されている。
また、図示しないハードディスクから読み出され、トランザクション・レイヤ回路120で所定の送信パケットとして生成されたコンピュータデータの送信処理等を行う。
たとえば、後述するトランザクション・レイヤ回路120のトランザクションコントローラ126から送るべきデータがある旨の知らせを受けるとフィジカル・レイヤ回路20を経由して1394シリアルバスのアービトレーションを行いバスを確保する。
なお、図1では、上述したように、アイソクロナス通信系のFIFO等は省略している。
【0024】
CPUインタフェース回路102は、ローカルプロセッサ40と送信用FIFO103、受信用FIFO104とのアシンクロナス通信用パケットの書き込み、読み出し等の調停、並びに、ローカルプロセッサ40とCR107との各種データの送受信の調停を行う。
たとえば、イニシエータとしてのホストコンピュータからIEEE1394インタフェースバスBSを送信され、受信用FIFOに格納されたストレージデバイスとしてのハードディスクのコントロール用コマンドをローカルプロセッサ40に伝送する。
そして、ローカルプロセッサ40からは、コンピュータデータを送受信するためにトランザクション・レイヤ回路120を起動させるためのデータがCPUインタフェース102を通してCR107にセットされる。
【0025】
さらに、ローカルプロセッサ40からは、後述するようにトランザクション・レイヤ回路120における他ノードから自ノードへデータを転送する読み出し(受信)動作時に、応答パケットの最大データ長を計算するための最大データ長を指定するための4ビットの最大長データ(max-payload) がCPUインタフェース102を通してCR107にセットされる。
この最大長データは、トランザクション・レイヤ回路120の後述する要求パケット生成回路122に供給される。
【0026】
送信用FIFO103には、IEEE1394シリアルバスBSに伝送させるアシンクロナス通信用パケットが格納され、格納データはリンクコア101に与えられる。
【0027】
また、受信用FIFO104は、IEEE1394シリアルバスBSを伝送されてきたアシンクロナス通信用パケット、たとえばストレージデバイスとしてのハードディスクのコントロール用コマンド等が、分別回路105により格納される。
【0028】
分別回路105は、リンクコア101を介したアシンクロナス通信用パケットの第1クワドレッドにあるトランザクションコードtcode(Transaction code)およびトランザクションラベルtl(Transaction label) をチェックし、イニシエータであるホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別を行い、応答パケットのみをトランザクション・レイヤ回路120に入力させ、その他のパケットを受信用FIFO104に格納する。
【0029】
なお、分別のチェックに用いられるトランザクションラベルtlは共通に「a」にセットされ、tcode(Transaction code)は、書き込み(Write) の要求(request)および応答(Response)、読み出し(Read)の要求(Read request) および応答(Read Response) で異なるデータがセットされる。
具体的には、tcodeは、書き込み要求(Write request)でクワドレット書き込み(Quadlet Write) の場合には「0」、ブロック書き込み(Block Write) の場合には「1」にセットされる。
また、書き込み応答(Write Response)の場合には「2」にセットされる。
読み出し要求(Read request) でクワドレット読み出し(Quadlet Read)の場合には「4」、ブロック読み出し(Block Read)の場合には「5」にセットされる。
また、読み出し応答(Read Response) の場合には「6/7」にセットされる。
【0030】
リゾルバ106は、IEEE1394シリアルインタフェースバスBSを伝送されてきたセルフIDパケットを解析し、CR107に格納する。また、エラーチェック、ノード数のカウント等の機能も有する。
【0031】
トランザクション・レイヤ回路120は、コンピュータ周辺機器(本実施形態ではハードディスク)のデータをSBP−2(Serial Bus Protocol-2) 規格に基づいて、アシンクロナスパケットとして自動的に送信、受信をする機能を備えている。
また、トランザクション・レイヤ回路120は、リトライ(Retry) 機能並びにスプリットタイムアウト(Split Timeout) 検出機能を備えている。
リトライ機能は、要求パケットを送信した後、ack busy* のAckコードが返ってきた場合、該当する要求パケットを再送信する機能である。パケットを再送信する場合、送信パケットの第1クワドレッドにある2ビットのrt領域を「00」から「01」にセットしてから送信する。
スプリットタイムアウト(Split Timeout) 検出機能は、応答パケットが返ってくるまでのタイムアウトを検出する機能である。
【0032】
このトランザクション・レイヤ回路120は、トランスポートデータインタフェース回路121、要求パケット生成回路(SBPreq)122、応答パケットデコード回路(SBPRsp)123、要求用FIFO(Request FIFO:ADPTF)124、応答用FIFO(Response FIFO:ADPRF) 125、およびトランザクションコントローラ126により構成されている。
そして、要求パケット生成回路122、応答パケットデコード回路123、要求用FIFO124、応答用FIFO125、およびトランザクションコントローラ126によりデータ処理回路ADPが構成される。
【0033】
トランスポートデータインタフェース回路121は、HDDコントローラ30と要求パケット生成回路122、応答パケットデコード回路123とのデータの送受信の調停を行う。
【0034】
要求パケット生成回路122は、リンク・レイヤ回路100のCR107からデータ転送起動の指示を受けると、送信(書き込み)の場合、SBP−2規格に従ってトランスポートデータインタフェース回路121を介して得た図示しないハードディスクに記録されたコンピュータデータをパケットに分けられるように1個以上のデータに分け、トランザクションラベルtl(=a)等を指定した1394ヘッダを付加して要求用FIFO124に格納する。
また、受信(読み出し)の場合には、SBP−2規格に従って、指定されたアドレス、データ長分の1394ブロック読み出し要求コマンド(Block read Request Command)を1個以上のトランザクションラベルtl(=a)等を指定し、データ長を含むパケットにして要求用FIFO124に格納する。
さらに、この受信時には、CR107にて指定される最大長データmax-payload を受けて送信する要求パケットに対する応答パケットの最大データ長を計算し、最大データ長(バイト)maxpl を示す12ビットの信号S122をトランザクションコントローラ126に出力する。
この最大データ長(バイト)maxpl は次式に基づいて求められる。
【0035】
【数1】
maxpl =2(max,Payload+2)
【0036】
応答パケットデコード回路123は、受信時に応答用FIFO125に格納された応答用パケットデータを読み出し、1394ヘッダを取り除いたデータを所定のタイミングでトランスポートデータインタフェース回路121を介してHDDコントローラ30に出力する。
【0037】
要求用FIFO124は、送信(書き込み)時にはパケット化された送信データが格納され、受信(読み出し)の場合には、1394ブロック読み出し要求コマンドが格納される。
なお、要求用FIFO124は、送るべきデータを記憶しているときは、その旨を示すたとえばローレベル(「0」)でアクティブの信号EMTをトランザクションコントローラ126に出力する。
【0038】
応答用FIFO125は、受信(読み出し)の場合には、ホストコンピュータ側から1394シリアルバスBSを伝送されてきた受信データが格納される。
なお、応答用FIFO125は、残りの記憶容量を示す信号S125をトランザクションコントローラ126に出力する。
【0039】
トランザクションコントローラ126は、送信時に要求用FIFO124に格納されたパケット化された送信データ、および受信時に要求用FIFO124に格納された1394ブロック読み出し要求コマンド(要求パケット)のリンク・レイヤコア回路100のリンクコア101への出力制御を行う。
また、受信時には、要求パケット生成回路122から受けた信号S122で与えられる最大データ長(バイト)maxpl と応答用FIFO125から受けた信号S125で示される応答用FIFO125の残り記憶容量とを比較し、残り記憶容量が最大データ長maxpl 以上の場合に、要求パケットをリンクコア101に出力し、要求パケットの送信を行わせる。
一方、残り記憶容量が最大データ長maxpl より小さい場合には、送るべき要求パケットで要求され、その応答パケットとして送られてくるデータ長の方が長く応答用FIFO125の既記憶データが破壊されるおそれがあることから、要求パケットのリンクコア101への出力を、残り記憶容量が最大データ長maxpl 以上になるまで停止する。すなわち、要求パケットの他ノードへの送信を一時停止する。
また、送信時に、リンク・レイヤ回路100の分別回路105からの応答パケットを受けて、そのリトライコードrcodeをCR107に書き込み、受信時には分別回路105からの応答パケットを応答用FIFO125に格納する。
【0040】
次に、上記構成において、SBP−2規格で決められたパケットを転送する場合のコンピュータデータの送信および受信動作を説明する。
【0041】
まず、送信動作、すなわち、ターゲットであるハードディスクからイニシエータであるホストコンピュータにデータを転送するときであって、ストレージデバイス(ハードディスク)からホストコンピュータのメモリへデータを書き込む動作を行う場合について説明する。
【0042】
ホストコンピュータから1394シリアルバスBSを転送されてきたSBP−2規格に基づいたORB(Operation Request Block) 等のパケットデータがフィジカル・レイヤ回路20、リンク・レイヤ回路100のリンクコア101を介して分別回路105に入力される。
【0043】
分別回路105では、受信パケットを受けてホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別が行われる。
そしてこの場合、その他のパケットであることから受信データが受信用FIFO104に格納される。
受信用FIFO104に格納されたORB等の受信データは、CPUインタフェース回路102を介してローカルプロセッサ40に入力される。
ローカルプロセッサ40では、CPUインタフェース回路102を介してORBの内容に従ってCR107のトランザクション・レイヤ回路用レジスタの初期化が行われる。
これにより、トランザクション・レイヤ回路120が起動される。
【0044】
起動されたトランザクション・レイヤ回路120では、要求パケット生成回路122において、トランスポートインタフェース121を介してHDDコントローラ30に対してのデータの要求が始められる。
要求に応じ、トランスポートインタフェース121を介して送られたきた送信データは、要求パケット生成回路122においてSBP−2規格に従ってパケットに分けられるように1個以上のデータに分けられ、トランザクションラベルtl(=a)等が指定された1394ヘッダが付加されて自動的に要求用FIFO124に格納される。
【0045】
要求用1FIFO124に1つの1394パケットサイズ以上のデータが格納されると、そのデータはトランザクションコントローラ126によりリンク・レイヤ回路100のリンクコア101に送られる。
そして、リンクコア101によって、フィジカル・レイヤ回路20を介して1394シリアルバスBSに対しアービトレーションが掛けられる。
これにより、バスの獲得ができたならば、転送データを含む書き込み要求パケット(Write Request Packet)がフィジカル・レイヤ回路20、1394シリアルバスBSを介してホストコンピュータに送信される。
【0046】
送信後、ホストコンピュータから書き込み要求パケットに対するAckコードと、場合によっては書き込み応答パケット(Write Response Packet) が送られてきて、フィジカル・レイヤ回路20、リンク・レイヤ回路100のリンクコア101を介して分別回路105に入力される。
【0047】
分別回路105では、受信パケットのトランザクションコードtcodeおよびトランザクションラベルtlのチェックが行われ、ホストコンピュータからターゲットであるトランザクション・レイヤ回路120に対しての応答パケット(Response Packet) であると判別されると、その応答パケットがトランザクション・レイヤ回路120のトランザクションコントローラ126に入力される。
【0048】
トランザクションコントローラ126では、入力された応答パケットのAckコードと応答コード(Response code) が正常ならば次のデータのリンクコア101への送出が行われる。
以上の動作が繰り返されて、コンピュータデータのホストコンピュータのメモリへの書き込み(送信)動作が行われる。
【0049】
以上の送信に関するトランザクション・レイヤ回路120の動作の概略を図2に示す。
【0050】
次に、受信動作、すなわち、ホストコンピュータからターゲットにデータを転送するときであって、ストレージデバイス(ハードディスク)がホストコンピュータのメモリのデータを読み出す動作を行う場合について説明する。
【0051】
ホストコンピュータから1394シリアルバスBSを転送されてきたSBP−2規格に基づいたORB等のパケットデータがフィジカル・レイヤ回路20、リンク・レイヤ回路100のリンクコア101を介して分別回路105に入力される。
【0052】
分別回路105では、受信パケットを受けてホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別が行われる。
そしてこの場合、その他のパケットであることから受信データが受信用FIFO104に格納される。
受信用FIFO104に格納されたORB等の受信データは、CPUインタフェース回路102を介してローカルプロセッサ40に入力される。
ローカルプロセッサ40では、CPUインタフェース回路102を介してORBの内容に従ってCR107のトランザクション・レイヤ回路用レジスタの初期化が行われる。
これにより、トランザクション・レイヤ回路120が起動される。
【0053】
また、この初期化と並行して、ローカルプロセッサ40からは、要求パケットで指定される応答パケットに含まれる最大データ長を計算するための最大データ長を指定するための4ビットの最大長データ(max-payload) がCPUインタフェース102を通してCR107にセットされる。
この最大長データは、トランザクション・レイヤ回路120の要求パケット生成回路122に供給される。
【0054】
起動されたトランザクション・レイヤ回路120では、要求パケット生成回路122において、SBP−2規格に従って、指定されたアドレス、データ長分の1394ブロック読み出し要求コマンド(Block read Request Command)がパケット化され、要求パケットして要求用FIFO124に格納される。
さらに、要求パケット生成回路122においては、CR107にて指定される最大長データmax-payload を受けて送信する要求パケットに対する応答パケットの最大データ長が計算され、最大データ長(バイト)maxpl を示す12ビットの信号S122がトランザクションコントローラ126に出力される。
【0055】
トランザクションコントローラ126においては、要求パケット生成回路122から受けた信号S122で与えられる最大データ長maxpl と応答用FIFO125から受けた信号S125で示される応答用FIFO125の残り記憶容量とが比較される。
比較の結果、残り記憶容量が最大データ長maxpl 以上の場合に、要求パケットがリンクコア101に出力される。
一方、残り記憶容量が最大データ長maxpl より小さい場合には、送るべき要求パケットで要求され、その応答パケットとして送られてくるデータ長の方が長く応答用FIFO125の既記憶データが破壊されるおそれがあることから、要求パケットのリンクコア101への出力が、残り記憶容量が最大データ長maxpl 以上になるまで、要求パケットの他ノードへの送信が一時停止される。
【0056】
上述したように、残り記憶容量が最大データ長maxpl 以上の場合に、要求用FIFO124に格納された読み出し要求コマンドパケットは、トランザクションコントローラ126によりリンク・レイヤ回路100のリンクコア101に送られる。
そして、リンクコア101によって、フィジカル・レイヤ回路20を介して1394シリアルバスBSに対しアービトレーションが掛けられる。
これにより、バスの獲得ができたならば、読み出し要求パケット(Read Request Packet) がフィジカル・レイヤ回路20、1394シリアルバスBSを介してホストコンピュータに送信される。
【0057】
送信後、ホストコンピュータから読み出し要求パケットに対するAckコードと、指定されたデータ長分のデータを含んだ読み出し応答パケット(Read Response Packet) が送られてきて、フィジカル・レイヤ回路20、リンク・レイヤ回路100のリンクコア101を介して分別回路105に入力される。
【0058】
分別回路105では、受信パケットのトランザクションコードtcodeおよびトランザクションラベルtlのチェックが行われ、ホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であると判別されると、その応答パケットがトランザクション・レイヤ回路120のトランザクションコントローラ126に入力される。
【0059】
トランザクションコントローラ126では、分別回路105からの応答パケットデータが応答用FIFO125に格納される。
応答用FIFO125に格納されたデータは、応答パケットデコード回路123によって読み出され、1394ヘッダが取り除かれて所定のタイミングでトランスポートデータインタフェース回路121を介してHDDコントローラ30に出力される。
以上の動作が繰り返されて、コンピュータデータのストレージデバイス(ハードディスク)への書き込み(受信)動作が行われる。
【0060】
以上の受信に関するトランザクション・レイヤ回路129の動作の概略を図3に示す。
【0061】
以上説明したように、本第1の実施形態によれば、ストレージデバイスが接続され、ストレージデバイスのデータを読み出し、自己指定のトランザクションラベルを付加して送信アシンクロナスパケットとしてシリアルインタフェースバスBSに送出し、他ノードのデータを当該ストレージデバイスへ転送する場合に、自己指定のラベルを付加した要求パケットを生成してシリアルインタフェースバスBSに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出してストレージデバイスへ転送するデータ処理回路としてのトランザクション・レイヤ回路120を設けたので、ストレージデバイスに格納される、あるいはストレージデバイスから読み出される大容量のデータをSBP−2規格に合わせてたIEEE1394パケットにして送受信することができ、IEEE1394シリアルバスインタフェースのアシンクロナス パケットを用いて大容量のデータ転送を実現することができる。
そして、SBP−2規格に基づいたORBのフェッチ、データ転送、イニシエータへのステイタス送信といったシーケンスを簡略化でき、ディスクドライバ、テープストリーマ等のコンピュータ周辺機器のデータをIEEE1394シリアルバスに接続する際に最適な設計が可能となる。
【0062】
また、受信動作時には、要求パケット生成回路122において、要求パケットを生成するとともに、送信する要求パケットに対する応答パケットの最大データ長を計算し、信号S122としてトランザクションコントローラ126に出力し、要求パケット生成回路122から受けた信号S122で与えられる最大データ長maxpl と応答用FIFO125から受けた信号S125で示される応答用FIFO125の残り記憶容量とを比較し、残り記憶容量が最大データ長maxpl 以上の場合に、要求パケットの送信を行わせ、残り記憶容量が最大データ長maxpl より小さい場合には、送るべき要求パケットで要求され、その応答パケットとして送られてくるデータ長の方が長く応答用FIFO125の既記憶データが破壊されるおそれがあることから、要求パケットのリンクコア101への出力を、残り記憶容量が最大データ長maxpl 以上になるまで、要求パケットの他ノードへの送信を一時停止するようにしたので、受信するに十分なFIFO容量を確保して、自ノードが送信した要求パケットに対する応答パケットを受けることができる利点がある。
【0063】
さらに、トランザクション・レイヤ回路120に要求用FIFO124および応答用FIFO125を設けるとともに、リンク・レイヤ回路100に送信用FIFO103および受信用FIFO104を設けたので、要求用FIFO124および応答用FIFO125によるデータのやりとりと並列して、データ以外の通常の1394パケットの送受信を行うことできる。
【0064】
また、リンクコア101を介したアシンクロナス通信用パケットの第1クワドレッドにあるトランザクションコードtcode(Transaction code)およびトランザクションラベルtl(Transaction label) をチェックし、イニシエータであるホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別を行い、応答パケットのみをトランザクション・レイヤ回路120に入力させ、その他のパケットを受信用FIFO104に格納する分別回路105を設けたので、たとえばトランザクション・レイヤ回路120側で致命的なエラーがおきてデータの読み出し/書き込み動作が止まってしたっても、データの次の入力されてくるコマンドの読み出しができなることがなく、データの読み出し/書き込みの状況にかかわりなくコマンドの受信を円滑に行うことができる利点がある。
【0065】
なお、上述した実施形態では、受信時に送信する要求パケットに対する応答パケットの最大データ長を計算し、この最大データ長maxpl と応答用FIFO125から受けた信号S125で示される応答用FIFO125の残り記憶容量とを比較して、要求パケットの送信をするか一時停止するかを判断するように構成したが、たとえば、要求パケットに含まれるデータ長データDLをトランザクションコントローラ126で読み出して、このデータ長データDLと応答用FIFO125の残り記憶容量とを要求パケット毎に比較して、その要求パケットの送信をするか一時停止するかを判断するように構成することも可能である。
このような構成においても、上述したと同様な構成を得ることができる。
【0066】
【発明の効果】
以上説明したように、本発明によれば、大容量のデータを所定の規格に合わせてたパケットにして送受信することができ、また、円滑な送受信処理を行うことができる。
また、受信するに十分な記憶容量を確保して、自ノードが送信した要求パケットに対する応答パケットを受けることができる利点がある。
【図面の簡単な説明】
【図1】本発明に係るIEEE1394シリアルインタフェース回路の一実施形態を示すブロック構成図である。
【図2】本発明に係るトランザクション・レイヤ回路における送信動作の概略を示す図である。
【図3】本発明に係るトランザクション・レイヤ回路における受信動作の概略を示す図である。
【図4】IEEE1394規格のアシンクロナス転送を説明するための図である。
【符号の説明】
10…リンク/トランザクションレイヤ集積回路、20…フィジカル・レイヤ回路、30…HDDコントローラ、40…ローカルプロセッサ、100,100a…リンク・レイヤ回路、101…リンクコア、102…CPUインタフェース回路、103…アシンクロナス送信用FIFO、104…アシンクロナス受信用FIFO、105,105a…分別回路、106…リゾルバ、107…コントロールレジスタ、120…トランザクション・レイヤ回路、121…トランスポートデータインタフェース回路、121…要求パケット生成回路、123…応答パケットデコード回路、124…要求用FIFO、125…応答用FIFO、126…トランザクションコントローラ。
Claims (8)
- 自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、
記憶手段と、
他ノードのデータを自ノードへ転送する場合に、転送すべきデータサイズを含む要求パケットを生成する送信パケット生成回路と、
上記要求パケットで要求するデータのサイズと上記記憶手段の残り容量とを比較する比較手段と、
上記比較手段の比較の結果、記憶手段の残り容量が要求データサイズ以上で有る場合に上記要求パケットを上記シリアルインタフェースバスに送出し、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部を上記記憶手段に記憶させるデータ処理回路と
を有するシリアルインタフェース回路。 - 自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、
第1の記憶手段と、
第2の記憶手段と、
他ノードのデータを自ノードへ転送する場合に、転送すべきデータサイズを含む要求パケットを生成し、上記第1の記憶手段に記憶する送信パケット生成回路と、
上記要求パケットで要求するデータのサイズと上記第2の記憶手段の残り容量とを比較する比較手段と、
上記比較手段の比較の結果、第2の記憶手段の残り容量が要求データサイズ以上で有る場合に上記要求パケットを上記シリアルインタフェースバスに送出し、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部を上記第2の記憶手段に記憶させるデータ処理回路と
を有するシリアルインタフェース回路。 - 送信パケット生成回路は、他ノードのデータを自ノードへ転送する場合にはデータをパケット化して転送できるように、転送すべきデータサイズを含む複数の要求パケットを生成して上記シリアルインタフェースバスに送出する
請求項1記載のシリアルインタフェース回路。 - 送信パケット生成回路は、他ノードのデータを自ノードへ転送する場合にはデータをパケット化して転送できるように、転送すべきデータサイズを含む複数の要求パケットを生成して上記シリアルインタフェースバスに送出する
請求項2記載のシリアルインタフェース回路。 - 自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、
記憶手段と、
他ノードのデータを自ノードへ転送する場合に、転送すべきデータサイズを含む要求パケットを生成する送信パケット生成回路と、
上記要求パケットで要求可能な最大のデータサイズを求める最大サイズ算出回路と、
上記最大サイズ算出回路で求めた最大データサイズと上記記憶手段の残り容量とを比較する比較手段と、
上記比較手段の比較の結果、記憶手段の残り容量が最大データサイズ以上で有る場合に上記要求パケットを上記シリアルインタフェースバスに送出し、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部を上記記憶手段に記憶させるデータ処理回路と
を有するシリアルインタフェース回路。 - 自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、
第1の記憶手段と、
第2の記憶手段と、
他ノードのデータを自ノードへ転送する場合に、転送すべきデータサイズを含む要求パケットを生成し、上記第1の記憶手段に記憶する送信パケット生成回路と、
上記要求パケットで要求可能な最大のデータサイズを求める最大サイズ算出回路と、
上記最大サイズ算出回路で求めた最大データサイズと上記第2の記憶手段の残り容量とを比較する比較手段と、
上記比較手段の比較の結果、第2の記憶手段の残り容量が最大データサイズ以上で有る場合に上記要求パケットを上記シリアルインタフェースバスに送出し、他ノードからの当該要求パケットに対する応答パケットを受信したときに、応答パケットの少なくともデータ部を上記第2の記憶手段に記憶させるデータ処理回路と
を有するシリアルインタフェース回路。 - 送信パケット生成回路は、他ノードのデータを自ノードへ転送する場合にはデータをパケット化して転送できるように、転送すべきデータサイズを含む複数の要求パケットを生成して上記シリアルインタフェースバスに送出する
請求項5記載のシリアルインタフェース回路。 - 送信パケット生成回路は、他ノードのデータを自ノードへ転送する場合にはデータをパケット化して転送できるように、転送すべきデータサイズを含む複数の要求パケットを生成して上記シリアルインタフェースバスに送出する
請求項6記載のシリアルインタフェース回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16481197A JP3733699B2 (ja) | 1997-06-20 | 1997-06-20 | シリアルインタフェース回路 |
US09/097,851 US6445718B1 (en) | 1997-06-20 | 1998-06-15 | Serial interface circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16481197A JP3733699B2 (ja) | 1997-06-20 | 1997-06-20 | シリアルインタフェース回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1117743A JPH1117743A (ja) | 1999-01-22 |
JP3733699B2 true JP3733699B2 (ja) | 2006-01-11 |
Family
ID=15800376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16481197A Expired - Lifetime JP3733699B2 (ja) | 1997-06-20 | 1997-06-20 | シリアルインタフェース回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6445718B1 (ja) |
JP (1) | JP3733699B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3543648B2 (ja) | 1998-10-27 | 2004-07-14 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3148733B2 (ja) * | 1999-02-26 | 2001-03-26 | 株式会社神戸製鋼所 | 信号処理装置及び信号処理システム |
JP2001045031A (ja) * | 1999-08-03 | 2001-02-16 | Seiko Epson Corp | 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体 |
JP3843667B2 (ja) * | 1999-10-15 | 2006-11-08 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3400772B2 (ja) | 2000-04-25 | 2003-04-28 | 松下電器産業株式会社 | パケット送受信処理装置 |
US7281065B1 (en) * | 2000-08-17 | 2007-10-09 | Marvell International Ltd. | Long latency interface protocol |
GB0129614D0 (en) * | 2001-12-11 | 2002-01-30 | Nokia Corp | Asynchronous serial data interface |
JP4098987B2 (ja) * | 2002-01-31 | 2008-06-11 | 富士通株式会社 | インターフェース変換システム及びデータ転送方法 |
US6834319B1 (en) * | 2002-03-21 | 2004-12-21 | Advanced Micro Devices, Inc. | Tunnel device for an input/output node of a computer system |
US6968490B2 (en) * | 2003-03-07 | 2005-11-22 | Intel Corporation | Techniques for automatic eye-degradation testing of a high-speed serial receiver |
US9489009B2 (en) | 2014-02-20 | 2016-11-08 | Samsung Electronics Co., Ltd. | System on chip, bus interface and method of operating the same |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5117486A (en) * | 1989-04-21 | 1992-05-26 | International Business Machines Corp. | Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor |
US5416907A (en) * | 1990-06-15 | 1995-05-16 | Digital Equipment Corporation | Method and apparatus for transferring data processing data transfer sizes |
DE69631182T2 (de) * | 1995-04-28 | 2004-08-19 | Matsushita Electric Industrial Co., Ltd., Kadoma | Datenübertragungsverfahren |
JP3301682B2 (ja) * | 1995-08-11 | 2002-07-15 | 松下電器産業株式会社 | パケット出力装置 |
US5799209A (en) * | 1995-12-29 | 1998-08-25 | Chatter; Mukesh | Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration |
KR100212084B1 (ko) * | 1996-09-21 | 1999-08-02 | 윤종용 | 시리얼 인터페이스 회로 |
JPH10229410A (ja) * | 1997-02-14 | 1998-08-25 | Canon Inc | データ処理装置、電子機器および通信システム |
US5943690A (en) * | 1997-04-07 | 1999-08-24 | Sony Corporation | Data storage apparatus and method allocating sets of data |
US6032204A (en) * | 1998-03-09 | 2000-02-29 | Advanced Micro Devices, Inc. | Microcontroller with a synchronous serial interface and a two-channel DMA unit configured together for providing DMA requests to the first and second DMA channel |
-
1997
- 1997-06-20 JP JP16481197A patent/JP3733699B2/ja not_active Expired - Lifetime
-
1998
- 1998-06-15 US US09/097,851 patent/US6445718B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6445718B1 (en) | 2002-09-03 |
JPH1117743A (ja) | 1999-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070180336A1 (en) | Multi-initiator control unit and method | |
JP3543647B2 (ja) | データ転送制御装置及び電子機器 | |
JP3584789B2 (ja) | データ転送制御装置及び電子機器 | |
JP3733699B2 (ja) | シリアルインタフェース回路 | |
JP3608441B2 (ja) | データ転送制御装置及び電子機器 | |
JP3785747B2 (ja) | シリアルインタフェース回路およびその信号処理方法 | |
JP3539287B2 (ja) | データ転送制御装置及び電子機器 | |
US7346714B2 (en) | Notification of completion of communication with a plurality of data storage areas | |
JP3837843B2 (ja) | シリアルインタフェース回路 | |
JPH1117710A (ja) | シリアルインタフェース回路 | |
JP3494042B2 (ja) | データ転送制御装置及び電子機器 | |
JPH1117773A (ja) | シリアルインタフェース回路 | |
JPH1117775A (ja) | シリアルインタフェース回路 | |
JP4582180B2 (ja) | データ伝送装置 | |
JP2000224195A (ja) | データ伝送装置 | |
JPH11308300A (ja) | シリアルインタフェース回路 | |
JPH11308301A (ja) | シリアルインタフェース回路 | |
JPH1117767A (ja) | シリアルインタフェース回路 | |
JPH1117774A (ja) | シリアルインタフェース回路 | |
JP4062829B2 (ja) | シリアルインタフェース回路 | |
JP3610982B2 (ja) | データ転送制御装置及び電子機器 | |
JP2002244991A (ja) | マルチイニシエータ制御装置及びその方法 | |
JP2005018800A (ja) | マルチイニシエータ制御装置及びその方法 | |
JP2002366508A (ja) | データ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050707 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051010 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091028 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091028 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101028 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101028 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111028 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111028 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121028 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121028 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131028 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |