(57)【特許請求の範囲】
【請求項１】
自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、
読み出したデータに自己指定のラベルを付加して転送データを含む要求パケットである送信パケットを生成して上記シリアルインタフェースバスに送出し、上記他ノードからの当該送信パケットに対する応答パケットを受信するデータ処理回路を有し、
上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである
シリアルインタフェース回路。
【請求項２】
上記データ処理回路は、読み出しデータを複数のデータに分割し、分割したデータ毎に上記ラベルを付加して送信アシンクロナスパケットとして上記シリアルインタフェースバスに送出する
請求項１記載のシリアルインタフェース回路。
【請求項３】
上記データ処理回路は、上記他ノードからの送信パケットに対する応答パケットを受信し、正常な場合に次の送信パケットを上記シリアルインタフェースバスに送出する
請求項２記載のシリアルインタフェース回路。
【請求項４】
上記データ処理回路は、記憶手段を有し、生成した送信パケットを当該記憶手段に格納し、格納した送信パケットを所定のタイミングで上記シリアルインタフェースバスに送出する
請求項１記載のシリアルインタフェース回路。
【請求項５】
上記データ処理回路は、記憶手段を有し、生成した送信パケットを当該記憶手段に格納し、格納した送信パケットを所定のタイミングで上記シリアルインタフェースバスに送出する
請求項２記載のシリアルインタフェース回路。
【請求項６】
上記データ処理回路は、記憶手段を有し、生成した送信パケットを当該記憶手段に格納し、格納した送信パケットを所定のタイミングで上記シリアルインタフェースバスに送出する
請求項３記載のシリアルインタフェース回路。
【請求項７】
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項１記載のシリアルインタフェース回路。
【請求項８】
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項２記載のシリアルインタフェース回路。
【請求項９】
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項３記載のシリアルインタフェース回路。
【請求項１０】
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項６記載のシリアルインタフェース回路。
【請求項１１】
他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力する分別回路
を有する請求項１０記載のシリアルインタフェース回路。
【請求項１２】
上記分別回路と制御回路との間に受信用記憶手段を有し、  上記分別回路は分別した制御パケットを上記受信用記憶手段に格納し、上記制御回路は、当該受信用記憶手段に格納された制御パケットを読み出す
請求項１１記載のシリアルインタフェース回路。
【請求項１３】
上記制御回路に送信用記憶手段が接続され、当該制御回路は、制御パケットを上記送信用記憶手段に格納し、
上記送信用記憶手段に格納された送信用制御パケットを所定のタイミングで上記シリアルインタフェースバスに送出する回路を
有する請求項１２記載のシリアルインタフェース回路。
【請求項１４】
自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、
他ノードのデータを自ノードへ転送する場合に、自己指定のラベルを付加した要求パケットを生成して上記シリアルインタフェースバスに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出して転送するデータ処理回路を有し、
上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである
シリアルインタフェース回路。
【請求項１５】
上記データ処理回路は、データをパケット化して転送できるように、ラベルを指定した複数の要求パケットを生成して上記シリアルインタフェースバスに送出する
請求項１４記載のシリアルインタフェース回路。
【請求項１６】
上記データ処理回路は、上記他ノードからの送信パケットに対する応答パケットを受信し、正常な場合に次の要求パケットを上記シリアルインタフェースバスに送出する
請求項１５記載のシリアルインタフェース回路。
【請求項１７】
上記データ処理回路は、第１の記憶手段および第２の記憶手段を有し、生成した要求パケットを当該第１の記憶手段に格納し、格納した要求パケットを所定のタイミングで上記シリアルインタフェースバスに送出し、受信したデータを上記第２の記憶手段に格納し、格納した受信データを所定のタイミングで転送する
請求項１４記載のシリアルインタフェース回路。
【請求項１８】
上記データ処理回路は、第１の記憶手段および第２の記憶手段を有し、生成した送信パケットを当該第１の記憶手段に格納し、格納した送信パケットを所定のタイミングで上記シリアルインタフェースバスに送出し、受信したデータを上記第２の記憶手段に格納し、格納した受信データを所定のタイミングで転送する
請求項１５記載のシリアルインタフェース回路。
【請求項１９】
上記データ処理回路は、第１の記憶手段および第２の記憶手段を有し、生成した送信パケットを当該第１の記憶手段に格納し、格納した送信パケットを所定のタイミングで上記シリアルインタフェースバスに送出し、受信したデータを上記第２の記憶手段に格納し、格納した受信データを所定のタイミングで転送する
請求項１６記載のシリアルインタフェース回路。
【請求項２０】
他ノードからの制御パケットを受け、当該制御パケットの内容が他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項１４記載のシリアルインタフェース回路。
【請求項２１】
他ノードからの制御パケットを受け、当該制御パケットの内容が他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項１５記載のシリアルインタフェース回路。
【請求項２２】
他ノードからの制御パケットを受け、当該制御パケットの内容が他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項１６記載のシリアルインタフェース回路。
【請求項２３】
他ノードからの制御パケットを受け、当該制御パケットの内容が他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項１９記載のシリアルインタフェース回路。
【請求項２４】
他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力する分別回路
を有する請求項２３記載のシリアルインタフェース回路。
【請求項２５】
上記分別回路と制御回路との間に受信用記憶手段を有し、  上記分別回路は分別した制御パケットを上記受信用記憶手段に格納し、上記制御回路は、当該受信用記憶手段に格納された制御パケットを読み出す
請求項２４記載のシリアルインタフェース回路。
【請求項２６】
上記制御回路に送信用記憶手段が接続され、当該制御回路は、制御パケットを上記送信用記憶手段に格納し、
上記送信用記憶手段に格納された送信用制御パケットを所定のタイミングで上記シリアルインタフェースバスに送出する回路を
有する請求項２５記載のシリアルインタフェース回路。
【請求項２７】
自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、
読み出したデータに自己指定のラベルを付加して転送データを含む要求パケットである送信パケットを生成して上記シリアルインタフェースバスに送出し、上記他ノードからの当該送信パケットに対する応答パケットを受信し、他ノードのデータを自ノードへ転送する場合に、自己指定のラベルを付加した要求パケットを生成して上記シリアルインタフェースバスに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出して転送するデータ処理回路を有し、
上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである
シリアルインタフェース回路。
【請求項２８】
上記データ処理回路は、読み出しデータを複数のデータに分割し、分割したデータ毎に上記ラベルを付加して送信アシンクロナスパケットとして上記シリアルインタフェースバスに送出し、他ノードのデータを自ノードへ転送する場合にはデータをパケット化して転送できるように、ラベルを指定した複数の要求パケットを生成して上記シリアルインタフェースバスに送出する
請求項２７記載のシリアルインタフェース回路。
【請求項２９】
上記データ処理回路は、上記他ノードからの送信パケットに対する応答パケットを受信し、正常な場合に次の送信パケットを上記シリアルインタフェースバスに送出する
請求項２８記載のシリアルインタフェース回路。
【請求項３０】
上記データ処理回路は、第１の記憶手段および第２の記憶手段を有し、生成した送信パケットを当該第１の記憶手段に格納し、格納した送信パケットを所定のタイミングで上記シリアルインタフェースバスに送出し、受信したデータを上記第２の記憶手段に格納し、格納した受信データを所定のタイミングで転送する
請求項２７記載のシリアルインタフェース回路。
【請求項３１】
上記データ処理回路は、第１の記憶手段および第２の記憶手段を有し、生成した送信パケットを当該第１の記憶手段に格納し、格納した送信パケットを所定のタイミングで上記シリアルインタフェースバスに送出し、受信したデータを上記第２の記憶手段に格納し、格納した受信データを所定のタイミングで転送する
請求項２８記載のシリアルインタフェース回路。
【請求項３２】
上記データ処理回路は、第１の記憶手段および第２の記憶手段を有し、生成した送信パケットを当該第１の記憶手段に格納し、格納した送信パケットを所定のタイミングで上記シリアルインタフェースバスに送出し、受信したデータを上記第２の記憶手段に格納し、格納した受信データを所定のタイミングで転送する
請求項２９記載のシリアルインタフェース回路。
【請求項３３】
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すとき、および他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項２７記載のシリアルインタフェース回路。
【請求項３４】
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すとき、および他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項２８記載のシリアルインタフェース回路。
【請求項３５】
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すとき、および他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項２９記載のシリアルインタフェース回路。
【請求項３６】
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すとき、および他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路
を有する請求項３２記載のシリアルインタフェース回路。
【請求項３７】
他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力する分別回路
を有する請求項３６記載のシリアルインタフェース回路。
【請求項３８】
上記分別回路と制御回路との間に受信用記憶手段を有し、  上記分別回路は分別した制御パケットを上記受信用記憶手段に格納し、上記制御回路は、当該受信用記憶手段に格納された制御パケットを読み出す
請求項３７記載のシリアルインタフェース回路。
【請求項３９】
上記制御回路に送信用記憶手段が接続され、当該制御回路は、制御パケットを上記送信用記憶手段に格納し、
上記送信用記憶手段に格納された送信用制御パケットを所定のタイミングで上記シリアルインタフェースバスに送出する回路を
有する請求項３８記載のシリアルインタフェース回路。
【請求項４０】
自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットおよびアイソクロナスパケットの送受信を行うシリアルインタフェース回路であって、
読み出したデータに自己指定のラベルを付加して転送データを含む要求パケットである送信パケットを生成して上記シリアルインタフェースバスに送出するデータ処理回路と、
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すときに、上記データ処理回路を起動させる制御回路と、
他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力し、アイソクロナスのストリームパケットデータの場合にはアプリケーション側に出力する分別回路とを有し、
上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである
シリアルインタフェース回路。
【請求項４１】
上記分別回路は、応答パケットの判別は上記ラベルに基づいて行い、ストリームパケットデータの出力は、チャネル毎に対応した異なるアプリケーション側に対して行う
請求項４０記載のシリアルインタフェース回路。
【請求項４２】
自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットおよびアイソクロナスパケットの送受信を行うシリアルインタフェース回路であって、
他ノードのデータを自ノードへ転送する場合に、自己指定のラベルを付加した要求パケットを生成して上記シリアルインタフェースバスに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出して転送するデータ処理回路と、
他ノードからの制御パケットを受け、当該制御パケットの内容が他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路と、
他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力し、アイソクロナスのストリームパケットデータの場合にはアプリケーション側に出力する分別回路とを有し、
上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである
シリアルインタフェース回路。
【請求項４３】
上記分別回路は、応答パケットの判別は当該応答パケットに付加された上記ラベルおよび所定の応答コードに基づいて行い、ストリームパケットデータの出力は、チャネル毎に対応した異なるアプリケーション側に対して行う
請求項４２記載のシリアルインタフェース回路。
【請求項４４】
自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットおよびアイソクロナスパケットの送受信を行うシリアルインタフェース回路であって、
読み出したデータに自己指定のラベルを付加して転送データを含む要求パケットである送信パケットを生成して上記シリアルインタフェースバスに送出し、他ノードのデータを自ノードへ転送する場合に、自己指定のラベルを付加した要求パケットを生成して上記シリアルインタフェースバスに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出して転送するデータ処理回路と、
他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すとき、および他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路と、
他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力し、アイソクロナスのストリームパケットデータの場合にはアプリケーション側に出力する分別回路とを有し、
上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである
シリアルインタフェース回路。
【請求項４５】
上記ラベルは、ＩＥＥＥ１３９４規格に基づくトランザクションラベルである
請求項１〜４４のいずれか一に記載のシリアルインタフェース回路。
【請求項４６】
自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路の信号処理方法であって、
他ノードのデータを自ノードに転送する場合に、自己指定のラベルを付加した要求パケットを生成して上記シリアルインタフェースバスに送出し、
他ノードからのこの要求パケットに対する応答パケットを受信し、
応答パケットからデータ部を取り出す、処理を行い、
上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである
シリアルインタフェース回路の信号処理方法。
【請求項４７】
データをパケット化して転送できるように、ラベルを指定した複数の要求パケットを生成して上記シリアルインタフェースバスに送出する
請求項４６記載のシリアルインタフェース回路の信号処理方法。
【請求項４８】
応答パケットを受けたときに、当該応答パケットに付加された上記ラベルおよび所定の応答コードに基づいて自ノードに対するデータ受信パケットを取り出す
請求項４６記載のシリアルインタフェース回路の信号処理方法。
【請求項４９】
応答パケットを受けたときに、当該応答パケットに付加された上記ラベルおよび所定の応答コードに基づいて自ノードに対するデータ受信パケットを取り出す
請求項４７記載のシリアルインタフェース回路の信号処理方法。
【請求項５０】
上記ラベルは、ＩＥＥＥ１３９４規格に基づくトランザクションラベルである
請求項４６〜４９のいずれか一に記載のシリアルインタフェース回路の信号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルシリアルインタフェース回路に係り、特にＨＤＤ（Ｈard Disk Drive) 、ＤＶＤ(Digital Video Disk)−ＲＯＭ、ＣＤ(Compact Disk)−ＲＯＭ、テープストリーマ(Tape Streamer) 等のストレージ装置に接続するシリアルインタフェース回路およびその信号処理方法に関するものである。
【０００２】
【従来の技術】
近年、マルチメディア・データ転送のためのインタフェースとして、高速データ転送、リアルタイム転送を実現するＩＥＥＥ（The Institute of Electrical and Electronic Engineers) １３９４、Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｉｒｉａｌ  Ｂｕｓが規格化された。
【０００３】
このＩＥＥＥ１３９４シリアルインタフェースのデータ転送においては、ネットワーク内で行われる転送動作をサブアクションと呼び、２つのサブアクションが規定されている。
一つは、従来のRequest,Acknowledgeの要求、受信確認を行うアシンクロナス（Asynchronous) 転送であり、他の一つはあるノードから１２５μｓに１回必ずデータが送られるアイソクロナス(Isochronous) 転送である。
【０００４】
このように、２つの転送モードを有するＩＥＥＥ１３９４シリアルインタフェースでのデータは、パケット単位で転送が行われるが、ＩＥＥＥ１３９４規格では、取り扱う最小データの単位は１クワドレット(quadlet) （＝４バイト＝３２ビット）である。
【０００５】
ＩＥＥＥ１３９４規格では、通常、コンピュータデータは、図５に示すように、アシンクロナス転送を用いて行われる。
アシンクロナス転送は、図５（ａ）に示すように、バスを獲得するためのアービトレーション（ａｒｂ）、データを転送するパケットトランスミッション、およびアクノリッジメント（ａｃｋ）の３つの遷移状態をとる。
【０００６】
そして、パケットトランスミッションの実行は、図５（ｂ）に示すようなフォーマットで行われる。
転送パケットの第１クワドレットは、１６ビットのデスティネーションＩＤ(destination ID)領域、６ビットのトランザクション・ラベルｔｌ(transaction label) 領域、２ビットのリトライ・コードｒｔ(retry code)領域、４ビットのトランザクション・コードｔｃｏｄｅ(transanction code) 領域、および４ビットのプライオリティｐｒｉ(priority)領域から構成されている。
デスティネーションＩＤ領域はこのノードのバスナンバーとノードナンバー、プライオリティ領域は優先レベルを示す。
【０００７】
第２クワドレットおよび第３クワドレットは、１６ビットのソースＩＤ(source ID) 領域、および４８ビットのデスティネーション・オフセット(destination
offset)領域により構成されている。
ソースＩＤ領域はこのパケットを送ったノードＩＤを示し、デスティネーション・オフセット領域はハイ(High)およびロー(Low) の連続した領域からなり、デスティネーション・ノードのアドレス空間のアドレスを示す。
【０００８】
第４クワドレットは、１６ビットのデータ長(data length) 領域、および１６ビットのイクステンディド・トランザクション・コード(extended tcode)領域に構成されている。
データ長領域は受信したパケットのバイト数を示し、イクステンディド tcode領域はｔｃｏｄｅがロック・トランザクション(Lock transaction)の場合、このパケットのデータが行う実際のロック動作(Lock Action) を示す領域である。
【０００９】
データフィールド領域(data field)の前のクワドレットに付加されたヘッダＣＲＣ（header CRC) 領域は、パケットヘッダの誤り検出符号である。
また、データ領域(data field)の後のクワドレットに付加されたデータＣＲＣ（data CRC) 領域は、データフィールドの誤り検出符号である。
【００１０】
また、図６はアイソクロナス通信用パケットの基本構成例を示す図である。
図６に示すように、アイソクロナス通信のパケットは、第１クワドレットが１３９４ヘッダ(Header)、第２クワドレットがヘッダＣＲＣ(Header-CRC)、第３クワドレットがＣＩＰヘッダ１（CIP-Header1)、第４クワドレットがＣＩＰヘッダ２（CIP-Header2)、第５クワドレットがソースパケットヘッダ（ＳＰＨ）で、第６クワドレット以降がデータ領域である。そして、最後のクワドレットがデータＣＲＣ(Data-CRC)である。
【００１１】
１３９４ヘッダは、データ長を表すdata-lengt、このパケット転送されるチャネルの番号（０〜６３のいずれか）を示すchannel 、処理のコードを表すtcode 、および各アプリケーションで規定される同期コードｓｙにより構成されている。
ヘッダＣＲＣは、パケットヘッダの誤り検出符号である。
【００１２】
ＣＩＰヘッダ１は、送信ノード番号のためのＳＩＤ(Source node ID)領域、データブロックの長さのためのＤＢＳ(Data Block Size) 領域、パケット化におけるデータの分割数のためのＦＮ(Fraction Number) 領域、パディングデータのクワドレット数のためのＱＰＣ(Quadlet Padding Count) 領域、ソースパケットヘッダの有無を表すフラグのためのＳＰＨ領域、アイソクロナスパケットの数を検出するカウンタのためのＤＢＣ（Data Block Continuty Counter）領域により構成されている。
なお、ＤＢＳ領域は、１アイソクロナスパケットで転送するクワドレット数を表す。
【００１３】
ＣＩＰヘッダ２は、転送されるデータの種類を表す信号フォーマットのためのＦＭＴ領域、および信号フォーマットに対応して利用されるＦＤＦ(Format Dependent Field)領域により構成されている。
【００１４】
ＳＰＨヘッダは、トランスポートストリームパケットが到着した時刻に固定の遅延値を加えた値が設定されるタイムスタンプ領域を有している。
また、データＣＲＣは、データフィールドの誤り検出符号である。
【００１５】
【発明が解決しようとする課題】
ところで、上述したように、アシンクロナス転送で行われる通常のコンピュータデータの転送では、そのプロトコルとして、ＳＢＰ−２(Serial Bus Protocol-2) が用いられる。
このプロトコルによると、ストレージデバイス(Storage Device)であるターゲット(Target)からホストコンピュータ(Host Computer) であるイニシエータ(Initiator) にデータを転送するときは、ストレージデバイスからホストコンピュータのメモリへデータを書き込む形で、またホストコンピュータからターゲットにデータを転送するときは、ストレージデバイスがホストコンピュータのメモリのデータを読み出す形で転送が行われる。
【００１６】
しかしながら、ストレージデバイスに格納される、あるいはストレージデバイスから読み出される大容量のデータをＩＥＥＥ１３９４規格のパケットにして、送受信するための、いわゆるトランザクション・レイヤ(Transaction Layer) をコントロールする処理系回路システムが未だ確立されていない。
また、アシンクロナス転送およびアイソクロナス転送を実現する回路システムにおいては、データの内容に応じて円滑な受信処理を行うように構成することも必要である。
【００１７】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、大容量のデータを所定の規格に合わせてたパケットにして送受信することができ、また、円滑な送受信処理を行うことができるシリアルインタフェース回路およびその信号処理方法を提供することにある。
【００１８】
【課題を解決するための手段】
上記目的を達成するため、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、読み出したデータに自己指定のラベルを付加して転送データを含む要求パケットである送信パケットを生成して上記シリアルインタフェースバスに送出し、上記他ノードからの当該送信パケットに対する応答パケットを受信するデータ処理回路を有し、上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである。
【００１９】
また、本発明では、他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すときに、上記データ処理回路を起動させる制御回路を有する。
【００２０】
また、本発明では、他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力する分別回路を有する。
【００２１】
また、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路であって、他ノードのデータを自ノードへ転送する場合に、自己指定のラベルを付加した要求パケットを生成して上記シリアルインタフェースバスに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出して転送するデータ処理回路を有し、上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである。
【００２２】
また、本発明では、他ノードからの制御パケットを受け、当該制御パケットの内容が他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路を有する。
【００２３】
また、本発明では、他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力する分別回路を有する。
【００２４】
また、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットおよびアイソクロナスパケットの送受信を行うシリアルインタフェース回路であって、読み出したデータに自己指定のラベルを付加して転送データを含む要求パケットである送信パケットを生成して上記シリアルインタフェースバスに送出するデータ処理回路と、他ノードからの制御パケットを受け、当該制御パケットの内容が自ノードから他ノードへのデータ転送要求を示すときに、上記データ処理回路を起動させる制御回路と、他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力し、アイソクロナスのストリームパケットデータの場合にはアプリケーション側に出力する分別回路とを有し、上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである。
【００２５】
本発明では、上記分別回路は、応答パケットの判別は上記ラベルに基づいて行い、ストリームパケットデータの出力は、チャネル毎に対応した異なるアプリケーション側に対して行う。
【００２６】
また、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットおよびアイソクロナスパケットの送受信を行うシリアルインタフェース回路であって、他ノードのデータを自ノードへ転送する場合に、自己指定のラベルを付加した要求パケットを生成して上記シリアルインタフェースバスに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出して転送するデータ処理回路と、他ノードからの制御パケットを受け、当該制御パケットの内容が他ノードのデータの自ノードへの転送要求を示すときに、上記データ処理回路を起動させる制御回路と、他ノードからシリアルインタフェースバスを転送されたパケットを受信し、受信パケットが上記制御パケットの場合には上記制御回路に出力し、上記送信パケットに対する応答パケットの場合には上記データ処理回路に出力し、アイソクロナスのストリームパケットデータの場合にはアプリケーション側に出力する分別回路とを有し、上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである。
【００２７】
また、本発明では、上記分別回路は、応答パケットの判別は当該応答パケットに付加された上記ラベルおよび所定の応答コードに基づいて行い、ストリームパケットデータの出力は、チャネル毎に対応した異なるアプリケーション側に対して行う。
【００３１】
また、本発明は、自ノードとシリアルインタフェースバスを介して接続された他ノード間でアシンクロナスパケットの送受信を行うシリアルインタフェース回路の信号処理方法であって、他ノードのデータを自ノードに転送する場合に、自己指定のラベルを付加した要求パケットを生成して上記シリアルインタフェースバスに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出す、処理を行い、上記ラベルは、上記自ノードと他ノード間の要求と応答に関するトランザクションラベルであり、両ノード間のパケット転送において同じトランザクションであることを認識させるためのラベルである。
【００３２】
また、本発明の方法では、応答パケットを受けたときに、当該応答パケットに付加された上記ラベルおよび所定の応答コードに基づいて自ノードに対するデータ受信パケットを取り出す。
【００３３】
本発明の回路によれば、たとえば自ノードから他ノードへのストレージデバイスのデータの他ノードへの転送要求の場合には、データ処理回路によりストレージデバイスのデータが読み出される。そして、読み出したデータに自己指定のラベルが付加され送信アシンクロナスパケットとしてシリアルインタフェースバスに送出される。
また、本発明では、制御回路が、自ノードから他ノードへのデータ転送要求を示す制御パケットを受けたときに、データ処理回路が起動される。
そして、分別回路において、他ノードからシリアルインタフェースバスを転送されたパケットが受信され、受信パケットが制御パケットの場合には制御回路に出力され、送信パケットに対する応答パケットの場合にはデータ処理回路に出力される。
【００３４】
また、本発明の回路によれば、他ノードのデータを自ノードへ転送する場合には、データ処理回路により、自己指定のラベルを付加した要求パケットを生成され、シリアルインタフェースバスに送出される。
そして、他ノードからのこの要求パケットに対する応答パケットが受信されると、応答パケットからデータ部が取り出され、たとえばストレージデバイスへ転送される。
【００３５】
また、アシンクロナス通信のみならずアイソクロナス通信にも適用した本発明の回路によれば、分別回路において、他ノードからシリアルインタフェースバスを転送されたパケットが受信される。
そして、受信パケットが制御パケットの場合には制御回路に出力され、送信パケットに対する応答パケットの場合にはデータ処理回路に出力され、アイソクロナスのストリームパケットデータの場合にはアプリケーション側に出力される。また、分別回路では、応答パケットの判別は当該応答パケットに付加された上記ラベルおよび所定の応答コードに基づいて行われ、ストリームパケットデータの出力は、チャネル毎に対応した異なるアプリケーション側に対して行われる。
【００３６】
また、本発明の回路によれば、分別回路において、受信したパケットの供給先情報に基づいて当該受信パケットの供給先が分別され、該当する供給先に出力される。
たとえば、受信パケットがアシンクロナスパケットである場合には、トランザクションラベルおよびトランザクションコード情報に基づいて供給先の分別が行われる。
また、受信パケットがアイソクロナスパケットである場合には、トランザクションラベルおよびチャネル情報に基づいて供給先の分別が行われる。
【００３７】
本発明の方法によれば、他ノードのデータを自ノードに転送する場合に、自己指定のラベルを付加した要求パケットが生成されてシリアルインタフェースバスに送出される。そして、他ノードからのこの要求パケットに対する応答パケットを受信したとき、当該応答パケットに付加されたラベルおよび所定の応答コードに基づいて自ノードに対するデータ受信パケットが取り出され、応答パケットからデータ部が取り出される。
【００３８】
【発明の実施の形態】
第１実施形態
図１は、本発明に係るＩＥＥＥ１３９４シリアルインタフェース回路の第１の実施形態を示すブロック構成図である。
なお、このシリアルインタフェース回路は、アシンクロナス通信で扱われるコンピュータデータの転送を行うことを目的として構成されている。このため、図１においては、アイソクロナス通信系回路の具体的な構成は図示していない。
【００３９】
このシリアルインタフェース回路は、リンク／トランザクション・レイヤ集積回路１０、フィジカル・レイヤ回路２０、ストレージデバイスとしての図示しないハードディスクドライバ（ＨＤＤ）のコントローラ３０、ホストコンピュータとしてのローカルプロセッサ４０により構成されている。
【００４０】
リンク／トランザクション・レイヤ集積回路１０は、リンク・レイヤ回路１００およびトランザクション・レイヤ回路１２０が集積化されて構成され、ローカルプロセッサ４０の制御の下、アシンクロナス転送の制御、並びにフィジカル・レイヤ回路２０の制御を行う。
【００４１】
リンク・レイヤ回路１００は、図１に示すように、リンクコア(Link Core))１０１、ＣＰＵインタフェース回路（Sub-CPU I/F ）１０２、アシンクロナス通信で用いられる送信用ＦＩＦＯ（AT-FIFO:First-In First-Out) １０３、受信用ＦＩＦＯ（AR-FIFO)１０４、受信パケットを判別する分別回路(DeMux) １０５、セルフＩＤ用リゾルバ(Resolver)１０６、およびコントロールレジスタ（Control Registers 、以下ＣＲという）１０７により構成されている。
【００４２】
リンクコア１０１は、コマンドやコンピュータデータが転送されるアシンクロナス通信用パケットおよびアイソクロナス通信用パケットの送信回路、受信回路、これらパケットのＩＥＥＥ１３９４シリアルバスＢＳを直接ドライブするフィジカル・レイヤ回路２０とのインタフェース回路、１２５μｓ毎にリセットされるサイクルタイマ、サイクルモニタやＣＲＣ回路から構成されている。
また、図示しないハードディスクから読み出され、トランザクション・レイヤ回路１２０で所定の送信パケットとして生成されたコンピュータデータの送信処理等を行う。
なお、図１では、上述したように、アイソクロナス通信系のＦＩＦＯ等は省略している。
【００４３】
ＣＰＵインタフェース回路１０２は、ローカルプロセッサ４０と送信用ＦＩＦＯ１０３、受信用ＦＩＦＯ１０４とのアシンクロナス通信用パケットの書き込み、読み出し等の調停、並びに、ローカルプロセッサ４０とＣＲ１０７との各種データの送受信の調停を行う。
たとえば、イニシエータとしてのホストコンピュータからＩＥＥＥ１３９４インタフェースバスＢＳを送信され、受信用ＦＩＦＯに格納されたストレージデバイスとしてのハードディスクのコントロール用コマンドをローカルプロセッサ４０に伝送する。そして、ローカルプロセッサ４０からは、コンピュータデータを送受信するためにトランザクション・レイヤ回路１２０を起動させるためのデータがＣＰＵインタフェース１０２を通してＣＲ１０７にセットされる。
【００４４】
送信用ＦＩＦＯ１０３には、ＩＥＥＥ１３９４シリアルバスＢＳに伝送させるアシンクロナス通信用パケットが格納され、格納データはリンクコア１０１に与えられる。
【００４５】
また、受信用ＦＩＦＯ１０４は、ＩＥＥＥ１３９４シリアルバスＢＳを伝送されてきたアシンクロナス通信用パケット、たとえばストレージデバイスとしてのハードディスクのコントロール用コマンド等が、分別回路１０５により格納される。
【００４６】
分別回路１０５は、リンクコア１０１を介したアシンクロナス通信用パケットの第１クワドレッドにあるトランザクションコードｔｃｏｄｅ(Transaction code)およびトランザクションラベルｔｌ(Transaction label) をチェックし、イニシエータであるホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別を行い、応答パケットのみをトランザクション・レイヤ回路１２０に入力させ、その他のパケットを受信用ＦＩＦＯ１０４に格納する。
【００４７】
なお、分別のチェックに用いられるトランザクションラベルｔｌは共通に「ａ」にセットされ、ｔｃｏｄｅ(Transaction code)は、書き込み(Write) の要求（request)および応答(Response)、読み出し(Read)の要求（Read request) および応答(Read Response) で異なるデータがセットされる。
具体的には、ｔｃｏｄｅは、書き込み要求（Write request)でクワドレット書き込み(Quadlet Write) の場合には「０」、ブロック書き込み(Block Write) の場合には「１」にセットされる。
また、書き込み応答(Write Response)の場合には「２」にセットされる。
読み出し要求（Read request) でクワドレット読み出し(Quadlet Read)の場合には「４」、ブロック読み出し(Block Read)の場合には「５」にセットされる。また、読み出し応答(Read Response) の場合には「６／７」にセットされる。
【００４８】
リゾルバ１０６は、ＩＥＥＥ１３９４シリアルバスＢＳを伝送されてきたセルフＩＤパケットを解析し、ＣＲ１０７に格納する。また、エラーチェック、ノード数のカウント等の機能も有する。
【００４９】
トランザクション・レイヤ回路１２０は、コンピュータ周辺機器（本実施形態ではハードディスク）のデータをＳＢＰ−２(Serial Bus Protocol-2) 規格に基づいて、アシンクロナスパケットとして自動的に送信、受信をする機能を備えている。
また、トランザクション・レイヤ回路１２０は、リトライ(Retry) 機能並びにスプリットタイムアウト(Split Timeout) 検出機能を備えている。
リトライ機能は、要求パケットを送信した後、ack busy* のＡｃｋコードが返ってきた場合、該当する要求パケットを再送信する機能である。パケットを再送信する場合、送信パケットの第１クワドレッドにある２ビットのｒｔ領域を「００」から「０１」にセットしてから送信する。
スプリットタイムアウト(Split Timeout) 検出機能は、応答パケットが返ってくるまでのタイムアウトを検出する機能である。
【００５０】
このトランザクション・レイヤ回路１２０は、トランスポートデータインタフェース回路１２１、要求パケット生成回路(SBPreq)１２２、応答パケットデコード回路（SBPRsp) １２３、要求用ＦＩＦＯ（Request FIFO:ADPTF) １２４、応答用ＦＩＦＯ(Response FIFO:ADPRF) １２５、およびトランザクションコントローラ１２６により構成されている。
そして、要求パケット生成回路(SBPreq)１２２、応答パケットデコード回路（SBPRsp) １２３、要求用ＦＩＦＯ（Request FIFO:ADPTF) １２４、応答用ＦＩＦＯ(Response FIFO:ADPRF) １２５、およびトランザクションコントローラ１２６によりデータ処理回路ＡＤＰが構成される。
【００５１】
トランスポートデータインタフェース回路１２１は、ＨＤＤコントローラ３０と要求パケット生成回路１２２、応答パケットデコード回路１２３とのデータの送受信の調停を行う。
【００５２】
要求パケット生成回路１２２は、リンク・レイヤ回路１００のＣＲ１０７からデータ転送起動の指示を受けると、送信（書き込み）の場合、ＳＢＰ−２規格に従ってトランスポートデータインタフェース回路１２１を介して得た図示しないハードディスクに記録されたコンピュータデータをパケットに分けられるように１個以上のデータに分け、トランザクションラベルｔｌ（＝ａ）を指定した１３９４ヘッダを付加して要求用ＦＩＦＯ１２４に格納する。
また、受信（読み出し）の場合には、ＳＢＰ−２規格に従って、指定されたアドレス、データ長分の１３９４ブロック読み出し要求コマンド(Block read Request Command)を１個以上のトランザクションラベルｔｌ（＝ａ）等を指定し、パケット化して要求用ＦＩＦＯ１２４に格納する。
【００５３】
応答パケットデコード回路１２３は、受信時に応答用ＦＩＦＯ１２５に格納された応答パケットデータを読み出し、応答パケットから１３９４ヘッダを取り除き、読み出しデータを所定のタイミングでトランスポートデータインタフェース回路１２１を介してＨＤＤコントローラ３０に出力する。
【００５４】
要求用ＦＩＦＯ１２４には、送信（書き込み）の場合、パケット化された送信データが格納され、受信（読み出し）の場合には、１３９４ブロック読み出し要求コマンドが格納される。
【００５５】
応答用ＦＩＦＯ１２５には、ホストコンピュータ側から１３９４シリアルバスＢＳを伝送されてきた受信データが格納される。
【００５６】
トランザクションコントローラ１２６は、送信時に要求用ＦＩＦＯ１２４に格納されたパケット化された送信データ、および受信時に要求用ＦＩＦＯ１２４に格納された１３９４ブロック読み出し要求コマンドを読み出し、リンク・レイヤコア回路１００のリンクコア１０１への出力制御を行う。
また、送信時に、リンク・レイヤ回路１００の分別回路１０５からの応答パケットを受けて、そのリトライコードｒｃｏｄｅをＣＲ１０７に書き込み、受信時には分別回路１０５からの応答パケットから１３９４ヘッダを取り除き、パケットデータを応答用ＦＩＦＯ１２５に格納する。
【００５７】
次に、上記構成において、ＳＢＰ−２規格で決められたパケットを転送する場合のコンピュータデータの送信および受信動作を説明する。
【００５８】
まず、送信動作、すなわち、ターゲットであるハードディスクからイニシエータであるホストコンピュータにデータを転送するときであって、ストレージデバイス（ハードディスク）からホストコンピュータのメモリへデータを書き込む動作を行う場合について説明する。
【００５９】
ホストコンピュータから１３９４シリアルバスＢＳを転送されてきたＳＢＰ−２規格に基づいたＯＲＢ(Operation Request Block) 等のパケットデータがフィジカル・レイヤ回路２０、リンク・レイヤ回路１００のリンクコア１０１を介して分別回路１０５に入力される。
【００６０】
分別回路１０５では、受信パケットを受けてホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別が行われる。
そしてこの場合、その他のパケットであることから受信データが受信用ＦＩＦＯ１０４に格納される。
受信用ＦＩＦＯ１０４に格納されたＯＲＢ等の受信データは、ＣＰＵインタフェース回路１０２を介してローカルプロセッサ４０に入力される。
ローカルプロセッサ４０では、ＣＰＵインタフェース回路１０２を介してＯＲＢの内容に従ってＣＲ１０７のトランザクション・レイヤ回路用レジスタの初期化が行われる。
これにより、トランザクション・レイヤ回路１２０が起動される。
【００６１】
起動されたトランザクション・レイヤ回路１２０では、要求パケット生成回路１２２において、トランスポートインタフェース１２１を介してＨＤＤコントローラ３０に対してのデータの要求が始められる。
要求に応じ、トランスポートインタフェース１２１を介して送られたきた送信データは、要求パケット生成回路１２２においてＳＢＰ−２規格に従ってパケットに分けられるように１個以上のデータに分けられ、トランザクションラベルｔｌ（＝ａ）等が指定された１３９４ヘッダが付加されて自動的に要求用ＦＩＦＯ１２４に格納される。
【００６２】
要求用ＦＩＦＯ１２４に１つの１３９４パケットサイズ以上のデータが格納されると、そのデータはトランザクションコントローラ１２６によりリンク・レイヤ回路１００のリンクコア１０１に送られる。
そして、リンクコア１０１によって、フィジカル・レイヤ回路２０を介して１３９４シリアルバスＢＳに対しアービトレーションが掛けられる。
これにより、バスの獲得ができたならば、転送データを含む書き込み要求パケット(Write Request Packet)がフィジカル・レイヤ回路２０、１３９４シリアルバスＢＳを介してホストコンピュータに送信される。
【００６３】
送信後、ホストコンピュータから書き込み要求パケットに対するＡｃｋコードと、場合によっては書き込み応答パケット(Write Response Packet) が送られてきて、フィジカル・レイヤ回路２０、リンク・レイヤ回路１００のリンクコア１０１を介して分別回路１０５に入力される。
【００６４】
分別回路１０５では、受信パケットのトランザクションコードｔｃｏｄｅおよびトランザクションラベルｔｌのチェックが行われ、ホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であると判別されると、その応答パケットがトランザクション・レイヤ回路１２０のトランザクションコントローラ１２６に入力される。
【００６５】
トランザクションコントローラ１２６では、入力された応答パケットのＡｃｋコードと応答コード(Response code) が正常ならば次のデータのリンクコア１０１への送出が行われる。
以上の動作が繰り返されて、コンピュータデータのホストコンピュータのメモリへの書き込み（送信）動作が行われる。
【００６６】
以上の送信に関するトランザクション・レイヤ回路１２０の動作の概略を図２に示す。
【００６７】
次に、受信動作、すなわち、ホストコンピュータからターゲットにデータを転送するときであって、ストレージデバイス（ハードディスク）がホストコンピュータのメモリのデータを読み出す動作を行う場合について説明する。
【００６８】
ホストコンピュータから１３９４シリアルバスＢＳを転送されてきたＳＢＰ−２規格に基づいたＯＲＢ等のパケットデータがフィジカル・レイヤ回路２０、リンク・レイヤ回路１００のリンクコア１０１を介して分別回路１０５に入力される。
【００６９】
分別回路１０５では、受信パケットを受けてホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別が行われる。
そしてこの場合、その他のパケットであることから受信データが受信用ＦＩＦＯ１０４に格納される。
受信用ＦＩＦＯ１０４に格納されたＯＲＢ等の受信データは、ＣＰＵインタフェース回路１０２を介してローカルプロセッサ４０に入力される。
ローカルプロセッサ４０では、ＣＰＵインタフェース回路１０２を介してＯＲＢの内容に従ってＣＲ１０７のトランザクション・レイヤ回路用レジスタの初期化が行われる。
これにより、トランザクション・レイヤ回路１２０が起動される。
【００７０】
起動されたトランザクション・レイヤ回路１２０では、要求パケット生成回路１２２において、ＳＢＰ−２規格に従って、指定されたアドレス、データ長分の１３９４ブロック読み出し要求コマンド(Block read Request Command)がパケット化されて要求用ＦＩＦＯ１２４に格納される。
【００７１】
要求用ＦＩＦＯ１２４に格納された読み出し要求コマンドパケットは、トランザクションコントローラ１２６によりリンク・レイヤ回路１００のリンクコア１０１に送られる。
そして、リンクコア１０１によって、フィジカル・レイヤ回路２０を介して１３９４シリアルバスＢＳに対しアービトレーションが掛けられる。
これにより、バスの獲得ができたならば、読み出し要求パケット(Read Request Packet) がフィジカル・レイヤ回路２０、１３９４シリアルバスＢＳを介してホストコンピュータに送信される。
【００７２】
送信後、ホストコンピュータから読み出し要求パケットに対するＡｃｋコードと、指定されたデータ長分のデータを含んだ読み出し応答パケット（Read Response Packet) が送られてきて、フィジカル・レイヤ回路２０、リンク・レイヤ回路１００のリンクコア１０１を介して分別回路１０５に入力される。
【００７３】
分別回路１０５では、受信パケットのトランザクションコードｔｃｏｄｅおよびトランザクションラベルｔｌのチェックが行われ、ホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であると判別されると、その応答パケットがトランザクション・レイヤ回路１２０のトランザクションコントローラ１２６に入力される。
【００７４】
トランザクションコントローラ１２６では、分別回路１０５からの応答パケットデータが応答用ＦＩＦＯ１２５に格納される。
応答用ＦＩＦＯ１２５に格納されたデータは、応答パケットデコード回路１２３によって読み出されて１３９４ヘッダが取り除かれ、所定のタイミングでトランスポートデータインタフェース回路１２１を介してＨＤＤコントローラ３０に出力される。
以上の動作が繰り返されて、コンピュータデータのストレージデバイス（ハードディスク）への書き込み（受信）動作が行われる。
【００７５】
以上の受信に関するトランザクション・レイヤ回路１２９の動作の概略を図３に示す。
【００７６】
以上説明したように、本第１の実施形態によれば、ストレージデバイスが接続され、ストレージデバイスのデータを読み出し、自己指定のトランザクションラベルを付加して送信アシンクロナスパケットとしてシリアルインタフェースバスＢＳに送出し、他ノードのデータを当該ストレージデバイスへ転送する場合に、自己指定のラベルを付加した要求パケットを生成してシリアルインタフェースバスＢＳに送出し、他ノードからのこの要求パケットに対する応答パケットを受信し、応答パケットからデータ部を取り出してストレージデバイスへ転送するデータ処理回路としてのトランザクション・レイヤ回路１２０を設けたので、ストレージデバイスに格納される、あるいはストレージデバイスから読み出される大容量のデータをＳＢＰ−２規格に合わせてたＩＥＥＥ１３９４パケットにして送受信することができ、ＩＥＥＥ１３９４シリアルバスインタフェースのアシンクロナス  パケットを用いて大容量のデータ転送を実現することができる。
そして、ＳＢＰ−２規格に基づいたＯＲＢのフェッチ、データ転送、イニシエータへのステイタス送信といったシーケンスを簡略化でき、ディスクドライバ、テープストリーマ等のコンピュータ周辺機器のデータをＩＥＥＥ１３９４シリアルバスに接続する際に最適な設計が可能となる。
【００７７】
さらに、トランザクション・レイヤ回路１２０に要求用ＦＩＦＯ１２４および応答用ＦＩＦＯ１２５を設けるとともに、リンク・レイヤ回路１００に送信用ＦＩＦＯ１０３および受信用ＦＩＦＯ１０４を設けたので、要求用ＦＩＦＯ１２４および応答用ＦＩＦＯ１２５によるデータのやりとりと並列して、データ以外の通常の１３９４パケットの送受信を行うことできる。
【００７８】
また、リンクコア１０１を介したアシンクロナス通信用パケットの第１クワドレッドにあるトランザクションコードｔｃｏｄｅ(Transaction code)およびトランザクションラベルｔｌ(Transaction label) をチェックし、イニシエータであるホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別を行い、応答パケットのみをトランザクション・レイヤ回路１２０に入力させ、その他のパケットを受信用ＦＩＦＯ１０４に格納する分別回路１０５を設けたので、たとえばトランザクション・レイヤ回路１２０側で致命的なエラーがおきてデータの読み出し／書き込み動作が止まってしまったとしても、データの次の入力されてくるコマンドの読み出しができなることがなく、データの読み出し／書き込みの状況にかかわりなくコマンドの受信を円滑に行うことができる利点がある。
【００７９】
第２実施形態
図４は、本発明に係るＩＥＥＥ１３９４シリアルインタフェース回路の第２の実施形態を示すブロック構成図である。
【００８０】
図４において、１０ａはリンク／トランザクションレイヤ集積回路、２０はフィジカル・レイヤ回路２０、３０はＨＤＤコントローラ、４０はローカルプロセッサ、５０ａ，５０ｂはＭＰＥＧトランスポータ(Moving Picture Experts Group Transporter)をそれぞれ示している。
【００８１】
リンク／トランザクションレイヤ集積回路１０ａは、リンク・レイヤ回路１００ａおよびトランザクション・レイヤ回路１２０に構成されている。
そして、リンク・レイヤ回路１００ａは、リンクコア１０１、ＣＰＵインタフェース回路１０２、アシンクロナス送信用ＦＩＦＯ１０３、アシンクロナス受信用ＦＩＦＯ１０４、分別回路１０５ａ、リゾルバ１０６、コントロールレジスタ（ＣＲ）１０７、アプリケーションインタフェース回路１０８ａ，１０８ｂ、アイソクロナス送信用ＦＩＦＯ１０９、およびアイソクロナス受信用ＦＩＦＯ１１０ａ，１１０ｂにより構成されている。
【００８２】
また、トランザクション・レイヤ回路１２０は、図１と同様に、トランスポートデータインタフェース回路１２１、要求パケット生成回路(SBPreq)１２２、応答パケットデコード回路（SBPRsp) １２３、要求用ＦＩＦＯ（Request FIFO:ADPTF) １２４、応答用ＦＩＦＯ(Response FIFO:ADPRF) １２５、およびトランザクションコントローラ１２６により構成されている。
【００８３】
本第２の実施形態が上記第１の実施形態と異なる点は、リンク／トランザクションレイヤ回路がアシンクロナス通信のデータおよび通常の１３９４パケットを取り扱うだけでなく、アイソクロナス通信用データをも取り扱うようにしたことにある。
【００８４】
具体的には、リンク／トランザクションレイヤ回路１０ａのリンク・レイヤ回路１００ａにおける分別回路１０５ａが、図１の場合と同様に、リンクコア１０１を介したアシンクロナス通信用パケットのトランザクションコードｔｃｏｄｅ(Transaction code)およびトランザクションラベルｔｌ(Transaction label) をチェックし、イニシエータであるホストコンピュータからターゲットであるトランザクション・レイヤ回路に対しての応答パケット(Response Packet) であるかその他のパケットであるかの分別を行い、応答パケットのみをトランザクション・レイヤ回路１２０に入力させ、その他のパケットを受信用ＦＩＦＯ１０４に格納するとともに、アイソクロナス通信用パケットを受信した場合には、その１３９４パケットのヘッダ情報の中のｔｃｏｄｅとパケット転送されるチャネルの番号（０〜６３のいずれか）を示すチャネル(channel) をデコードして、チャネルに対応して設けられた受信用ＦＩＦＯ１０８ａ，１０８ｂに選択的に格納するようするように構成されている。
【００８５】
また、アプリケーションインタフェース回路(API/F) １０８ａは、ＭＰＥＧトランスポータ５０ａと送信用ＦＩＦＯ１０９および受信用ＦＩＦＯ１１０ａとのクロック信号や制御信号等を含むＭＰＥＧトランスポートストリームデータの送受信の調停を行う。
【００８６】
アプリケーションインタフェース回路１０８ｂは、ＭＰＥＧトランスポータ５０ｂと送信用ＦＩＦＯ１０９および受信用ＦＩＦＯ１１０ｂとのクロック信号や制御信号等を含むＭＰＥＧトランスポートストリームデータの送受信の調停を行う。
【００８７】
以上の構成においては、たとえばアイソクロナス通信用パケットを受信した場合には、分別回路１０５ａにおいてその１３９４パケットのヘッダ情報の中のｔｃｏｄｅとパケット転送されるチャネルの番号（０〜６３のいずれか）を示すチャネル(channel) がデコードされ、チャネルに対応して設けられた受信用ＦＩＦＯ１１０ａ，１１０ｂに選択的に格納される。
そして、アプリケーションインタフェース回路１０８ａまたは１０８ｂを介してＭＰＥＧトランスポータ５０ａまたは５０ｂとのＭＰＥＧトランスポートストリームデータの送受信が行われる。
【００８８】
本第２の実施形態においても、上述した第１の実施形態の効果と同様の効果を得ることができる。
【００８９】
なお、上述した各実施形態においては、リンク・レイヤ回路１００，１００ａにおいて、分別回路１０５，１５０ａを、リンクコア１０１と各受信用ＦＩＦＯ１０４，１１０ａ，１１０ｂとの間に設けた回路構成を例に説明したが、本発明が、たとえば受信側ＦＩＦＯのインタフェース回路へのデータ出力側に設ける回路構成にも適用できることはいうまでもない。
【００９０】
【発明の効果】
以上説明したように、本発明によれば、大容量のデータを所定の規格に合わせてたパケットにして送受信することができ、また、円滑な送受信処理を行うことができるシリアルインタフェース回路を実現することができる。
【図面の簡単な説明】
【図１】本発明に係るＩＥＥＥ１３９４シリアルインタフェース回路の第１の実施形態を示すブロック構成図である。
【図２】本発明に係るトランザクション・レイヤ回路における送信動作の概略を示す図である。
【図３】本発明に係るトランザクション・レイヤ回路における受信動作の概略を示す図である。
【図４】本発明に係るＩＥＥＥ１３９４シリアルインタフェース回路の第２の実施形態を示すブロック構成図である。
【図５】ＩＥＥＥ１３９４規格のアシンクロナス転送を説明するための図である。
【図６】アイソクロナス通信用パケットの基本構成例を示す図である。
【符号の説明】
１０，１０ａ…リンク／トランザクションレイヤ集積回路、２０…フィジカル・レイヤ回路、３０…ＨＤＤコントローラ、４０…ローカルプロセッサ、５０ａ，５０ｂ…ＭＰＥＧトランスポータ、１００，１００ａ…リンク・レイヤ回路、１０１…リンクコア、１０２…ＣＰＵインタフェース回路、１０３…アシンクロナス送信用ＦＩＦＯ、１０４…アシンクロナス受信用ＦＩＦＯ、１０５，１０５ａ…分別回路、１０６…リゾルバ、１０７…コントロールレジスタ、１０８ａ，１０８ｂ…アプリケーションインタフェース回路、１０９…アイソクロナス送信用ＦＩＦＯ、１１０ａ，１１０ｂ…アイソクロナス受信用ＦＩＦＯ、１２０…トランザクション・レイヤ回路、１２１…トランスポートデータインタフェース回路、１２１…要求パケット生成回路、１２３…応答パケットデコード回路、１２４…要求用ＦＩＦＯ、１２５…応答用ＦＩＦＯ、１２６…トランザクションコントローラ。
【図１】
0003785747.tif 000002
【図２】
0003785747.tif 000003
【図３】
0003785747.tif 000004
【図４】
0003785747.tif 000005
【図５】
0003785747.tif 000006
【図６】
0003785747.tif 000007