JP3599048B2 - データ転送制御システム、電子機器、プログラム及びデータ転送制御方法 - Google Patents

データ転送制御システム、電子機器、プログラム及びデータ転送制御方法 Download PDF

Info

Publication number
JP3599048B2
JP3599048B2 JP2002217595A JP2002217595A JP3599048B2 JP 3599048 B2 JP3599048 B2 JP 3599048B2 JP 2002217595 A JP2002217595 A JP 2002217595A JP 2002217595 A JP2002217595 A JP 2002217595A JP 3599048 B2 JP3599048 B2 JP 3599048B2
Authority
JP
Japan
Prior art keywords
port
electronic device
bus reset
access right
data transfer
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 - Fee Related
Application number
JP2002217595A
Other languages
English (en)
Other versions
JP2004064257A (ja
Inventor
信一郎 藤田
裕之 金井
朋宏 内田
巳広 野々山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2002217595A priority Critical patent/JP3599048B2/ja
Priority to CNB031461131A priority patent/CN1241126C/zh
Priority to US10/625,625 priority patent/US7395365B2/en
Publication of JP2004064257A publication Critical patent/JP2004064257A/ja
Application granted granted Critical
Publication of JP3599048B2 publication Critical patent/JP3599048B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送制御システム、電子機器、プログラム及びデータ転送制御方法に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
近年、IEEE1394と呼ばれるインターフェース規格が脚光を浴びている。そして、このIEEE1394のトランザクション層の一部の機能を含む上位のプロトコルとして、SBP−2(Serial Bus Protocol−2)と呼ばれるプロトコルが提案されている。このSBP−2(広義にはSBP)は、SCSI(SPC−2)のコマンドセットをIEEE1394のプロトコル上で利用可能にするために提案されたものである。このSBP−2を用いれば、既存のSCSI規格対応の電子機器で使用されていたコマンドセットに最小限の変更を加えて、IEEE1394規格の電子機器に使用できるようになる。従って、電子機器の設計や開発を容易化できる。
【0003】
さて、このSBP−2では、イニシエータとなる電子機器(例えばパーソナルコンピュータ)とターゲットとなる電子機器(例えばストレージデバイス)の間では、ピア・ツー・ピアでデータ転送が行われる。従って、イニシエータがターゲットに対してログインしてアクセス権を獲得した後は、そのイニシエータがターゲットのアクセス権(SBP−2におけるアクセス権)を専有することになる。このため、そのターゲットに対しては他の電子機器はアクセスできなくなる。
【0004】
一方、ノート型のパーソナルコンピュータ(以下、適宜PCと呼ぶ)などでは、その機能を拡張するための拡張機器(拡張用の電子機器)が別売されることがある。この拡張機器には、ハードディスクドライブ(HDD)、CDドライブなどのストレージデバイスやIEEE1394、USBなどの各種インターフェースが設けられている。そして、ユーザは、ノート型PCと拡張機器をドッキングすることで、拡張機器が有する種々の機能(ストレージデバイス、ポート)を利用できるようになる。これにより、ノート型PCの本体から、拡張機器が備える拡張機能を省くことが可能になり、ノート型PCの軽量化、コンパクト化を図れる。
【0005】
しかしながら、このような拡張機器とノート型PCとを接続した際に、この拡張機器に対するアクセス権(バス使用権)を他のPCが獲得してしまうと、拡張機器の拡張機能をユーザが利用できなくなってしまうという事態が生じる。
【0006】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、所望の電子機器にアクセス権を優先的に獲得させることができるデータ転送制御システム、電子機器、プログラム及びデータ転送制御方法を提供することにある。
【0007】
【課題を解決するための手段】
本発明は、バスを介してデータ転送を行うためのデータ転送制御システムであって、第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行うポート制御部と、ノードのトポロジ情報をクリアするバスリセットを発行するバスリセット発行部とを含み、前記ポート制御部が、第2のポートをディスエーブル状態に設定し、前記バスリセット発行部がバスリセットを発行し、第1のポートに接続される第1の電子機器にアクセス権を獲得させるデータ転送制御システムに関係する。
【0008】
本発明では、バスリセットが発行される前に、第2のポートがディスエーブル状態に設定される。そして、第2のポートがディスエーブル状態に設定された後にバスリセットが発行されるため、第2のポートに接続される第2の電子機器にアクセス権を奪われてしまう事態を防止できる。これにより、第1のポートに接続される第1の電子機器にアクセス権(第1のポートのバス使用権)を優先的に獲得させること(第1の電子機器に優先的にログインさせること)が可能になる。
【0009】
また本発明では、前記ポート制御部が、バスリセットが発行されて第1のポートに接続される第1の電子機器がアクセス権を獲得した後に、第2のポートをイネーブル状態に設定してもよい。
【0010】
このようにすれば、データ転送制御システムが組み込まれる電子機器と第1の電子機器との間で第1のプロトコル(例えばSBP−2、SBP)のデータ転送を実現しながら、第1の電子機器と第2の電子機器との間で第2のプロトコル(例えばIPover1394)のデータ転送を実現することが可能になる。
【0011】
また本発明では、第2のポートがイネーブル状態に設定された後、第2のポートに接続される第2の電子機器がサスペンド状態であることが検出された場合に、サスペンド状態をレジュームするためのパケットを第2の電子機器に転送するための処理を行うパケット処理部を含んでもよい。
【0012】
このようにすれば、第2のポートがディスエーブル状態になることでサスペンド状態に移行してしまった第2の電子機器との間で、データ転送を行うことが可能になる。
【0013】
また本発明では、前記バスリセット発行部が、サスペンド状態をレジュームするためのパケットが転送された後に、バスリセットを発行してもよい。
【0014】
このようにバスリセットが発行されることで、ノードのトポロジ情報がクリアされて、第2の電子機器を新たなノードとして追加することなどが可能になる。
【0015】
また本発明では、前記ポート制御部が、第2のポートがイネーブル状態に設定された後、第1のポートに接続される第1の電子機器がアクセス権を失った場合には、第2のポートを、再度、ディスエーブル状態に設定してもよい。
【0016】
ここで第1の電子機器がアクセス権を失う場合とは、例えば、第1の電子機器がリブートされた場合、第1のポートのケーブルが外れた場合、或いは第1の電子機器のソフトウェア処理によるアンプラグが行われた場合などである。
【0017】
また本発明は、バスを介してデータ転送を行うためのデータ転送制御システムであって、第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行うポート制御部を含み、前記ポート制御部が、データ転送制御システムの電源がオンになった場合に、第2のポートをディスエーブル状態に設定するデータ転送制御システムに関係する。
【0018】
本発明によれば、データ転送制御システム(データ転送制御システムが組み込まれる電子機器)の電源がオンになったことを条件(電源がオンになった後)に、第2のポートがディスエーブル状態に設定される(第1のポートはイネーブル状態になる)。これにより、第2のポートに接続される第2の電子機器にアクセス権を奪われてしまう事態を防止でき、第1のポートに接続される第1の電子機器にアクセス権を優先的に獲得させることが可能になる。
【0019】
また本発明では、第1の電子機器のポートが第1のポートに接続された場合に、データ転送制御システムの電源がオンになってもよい。
【0020】
このようにすれば、第1の電子機器のポートが第1のポートに接続された場合(データ転送制御システムが組み込まれる電子機器と第1の電子機器とが接続された場合)に、第1の電子機器にアクセス権を優先的に獲得させることが可能になる。
【0021】
なお、本発明では、IEEE1394に準拠したデータ転送を行うことができる。
【0022】
また本発明は、第1のポートに接続される第1の電子機器の機能を拡張するための電子機器であって、上記のいずれかのデータ転送制御システムと、第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートとを含む電子機器に関係する。
【0023】
また本発明では、前記ポート制御部が、第1の電子機器のポートが第1のポートに接続され、電子機器の電源がオンになった場合に、第2のポートをディスエーブル状態に設定してもよい。
【0024】
また本発明は、第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行うポート制御部と、ノードのトポロジ情報をクリアするバスリセットを発行するバスリセット発行部として、データ転送制御システムを機能させるプログラムであって、前記ポート制御部が、第2のポートをディスエーブル状態に設定し、前記バスリセット発行部がバスリセットを発行し、第1のポートに接続される第1の電子機器にアクセス権を獲得させるプログラムに関係する。
【0025】
また本発明は、第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行うポート制御部として、データ転送制御システムを機能させるプログラムであって、前記ポート制御部が、データ転送制御システムの電源がオンになった場合に、第2のポートをディスエーブル状態に設定するプログラムに関係する。
【0026】
また本発明は、バスを介してデータ転送を行うためのデータ転送制御方法であって、第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行い、第2のポートをディスエーブル状態に設定し、第2のポートがディスエーブル状態に設定された後に、ノードのトポロジ情報をクリアするバスリセットを発行し、第1のポートに接続される第1の電子機器にアクセス権を獲得させるデータ転送制御方法に関係する。
【0027】
また本発明は、バスを介してデータ転送を行うためのデータ転送制御方法であって、第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行い、データ転送制御システムの電源がオンになった場合に、第2のポートをディスエーブル状態に設定するデータ転送制御方法に関係する。
【0028】
【発明の実施の形態】
以下、本発明の実施形態について詳細に説明する。
【0029】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0030】
1.IEEE1394、SBP−2
1.1 層構造
図1に、IEEE1394、SBP−2の層構造(プロトコル・スタック)を簡略化して示す。
【0031】
IEEE1394(IEEE1394−1995、P1394a、P1394b等)のプロトコルは、トランザクション層、リンク層、物理層により構成される。
【0032】
トランザクション層は、上位層にトランザクション単位のインターフェース(サービス)を提供し、下層のリンク層が提供するインターフェースを通して、リードトランザクション、ライトトランザクション、ロックトランザクション等のトランザクションを実施する。
【0033】
ここで、リードトランザクションでは、応答ノードから要求ノードにデータが転送される。一方、ライトトランザクションでは、要求ノードから応答ノードにデータが転送される。またロックトランザクションでは、要求ノードから応答ノードにデータが転送され、応答ノードがそのデータに処理を施して要求ノードに返信する。
【0034】
リンク層は、アドレッシング、データチェック、パケット送受信のためのデータフレーミング、アイソクロナス転送のためのサイクル制御などを提供する。
【0035】
物理層は、リンク層により使用されるロジカルシンボルの電気信号への変換や、バスの調停や、バスの物理的インターフェースを提供する。
【0036】
SBP−2(Serial Bus Protocol−2)は、SCSI(SPC−2)のコマンドセットをIEEE1394(広義には第1のインターフェース規格)のプロトコル上で利用可能にするために提案されたものである。このSBP−2(広義にはSBP)は、図1に示すように、IEEE1394のトランザクション層の一部の機能を含む上位のプロトコルである。
【0037】
1.2 SBP−2の処理
図2に、SBP−2(広義には第1のインターフェース規格の上位の第1のプロトコル)の処理の全体についてのフローチャートを示す。
【0038】
図2に示すように、SBP−2では、まず、接続機器の確認を行うためのコンフィギュレーションROMのリード処理が行われる(ステップT1)。
【0039】
次に、イニシエータ(例えばパーソナルコンピュータ)が、ターゲット(例えばストレージデバイス)に対するアクセス権(リクエスト開始の許可。バスの使用権)を獲得するためのログイン処理が行われる(ステップT2)。具体的には、イニシエータにより作成されたログインORB(Operation Request Block)を用いてログイン処理が行われる。
【0040】
次に、フェッチエージェントの初期化が行われる(ステップT3)。そして、コマンドブロックORB(ノーマルコマンドORB)を用いてコマンド処理が行われ(ステップT4)、最後に、ログアウトORBを用いてログアウト処理が行われる(ステップT5)。
【0041】
ここで、ステップT4のコマンド処理においては、図3のA1に示すように、イニシエータがライト要求パケットを転送して(ライト要求トランザクションを発行して)、ターゲットのドアベルレジスタをリングする。すると、A2に示すように、ターゲットがリード要求パケットを転送し、イニシエータが対応するリード応答パケットを返す。これにより、イニシエータが作成したORB(コマンドブロックORB)が、ターゲットのデータバッファ(パケットバッファ)にフェッチされる。そして、ターゲットは、フェッチされたORBに含まれるコマンドを解析する。
【0042】
そして、ORBに含まれるコマンドがSCSIのライトコマンドであった場合には、A3に示すように、ターゲットがリード要求パケットをイニシエータに転送し、イニシエータが対応するリード応答パケットを返す。これにより、イニシエータのデータバッファに格納されているデータがターゲットに転送される。そして、例えばターゲットがストレージデバイスであった場合には、転送されたデータがストレージデバイスに書き込まれる。
【0043】
一方、ORBに含まれるコマンドがSCSIのリードコマンドであった場合には、図4のB1に示すように、ターゲットは、一連のライト要求パケットをイニシエータに転送する。これにより、例えばターゲットがストレージデバイスであった場合には、ストレージデバイスから読み出されたデータが、イニシエータのデータバッファに転送されることになる。
【0044】
このSBP−2によれば、ターゲットは、自身が都合の良いときに要求パケットを転送して(トランザクションを発行して)、データを送受信できる。従って、イニシエータとターゲットが同期して動く必要がなくなるため、データ転送効率を高めることができる。
【0045】
1.3 IPover1394
IEEE1394の上位プロトコルとしては、ストレージデバイスやプリンタのデータの転送に最適なSBP−2以外にも、映像や音声のデータの転送に最適なAV/Cコマンドが提案されている。また、IEEE1394バス上で、インターネットプロトコル(IP)のパケットを転送するものとしてIPover1394と呼ばれるプロトコルも提案されている。
【0046】
図5に、IPover1394(広義には第1のインターフェース規格の上位の第2のプロトコル)の層構造(プロトコルスタック)を示す。IPover1394層は、IEEE1394層の上位であり、TCP(Transmission Control
Protocol)層、IP(Internet Protocol)層の下位に位置する。
【0047】
このIPover1394では、IPパケットをIEEE1394で転送するための仕様を定めている。即ち、アプリケーションデータにTCPヘッダとIPヘッダを付加することで得られるIPパケットを、送信側で複数の1394パケットに分割し、受信側で再構築(フラグメンテーション)する。
【0048】
また、IPover1394では、ARP(Address Resolution Protocol)と呼ばれるプロトコルを採用する。このARPでは、送信ノードは、ディスネーションとなるIPアドレスを含むARP要求をブロードキャスト(アシンクロナスストリーム)する。すると、受信ノードは、自分のリンク情報を含むARP応答を返送する。そして送信ノードは、そのリンクアドレス宛にIPパケットを送信(アシンクロナスライト)する。
【0049】
このIPover1394によれば、事前にデータ転送経路を確保する必要がなく、パケットの1つ1つが宛先情報(IPアドレス)を持つため、中継装置(ルータ)によるpacket−byーpacketの中継が可能になる。
【0050】
1.4 バスリセット
IEEE1394では、電源が投入されたり、途中でデバイスの抜き差しが発生すると、バスリセットが発生(発行)する。即ち、各ノードは、ポートの電圧変化を監視している。そして、バスに新たなノードが接続されるなどしてポートの電圧に変化が生じると、この変化を検知したノードは、バス上の他のノードに対して、バスリセットが発生したことを知らせる。また、各ノードの物理層は、バスリセットが発生したことをリンク層に伝える。
【0051】
そして、このようにバスリセットが発生すると、図6に示すようなトポロジの情報(ノードID等)がクリアされる。そして、その後、トポロジー情報が自動的に再設定される。即ち、バスリセット後、ツリー識別、自己識別が行われる。その後、アイソクロナスリソースマネージャ、サイクルマスタ、バスマネージャ等の管理ノードが決定される。そして、通常のパケット転送が再開される。
【0052】
このようにIEEE1394では、バスリセット後にトポロジ情報が自動的に再設定されるため、電子機器のケーブルを自由に抜き差しできるようになり、いわゆるホットプラグを実現できる。
【0053】
なお、トランザクションの途中でバスリセットが発生した場合には、そのトランザクションはキャンセルされる。そして、キャンセルされたトランザクションを発行した要求ノードは、トポロジー情報が再設定された後に、要求パケットを再度転送する。また、応答ノードは、バスリセットによりキャンセルされたトランザクションの応答パケットを要求ノードに返送してはならない。
【0054】
1.5 拡張機器(拡張用の電子機器。オプション機器)
図7(A)に示すように、ノート型パーソナルコンピュータPC1(広義には電子機器)などでは、その機能を拡張するための拡張機器EP(広義には電子機器)が用意されることがある。この拡張機器EPには、ハードディスクドライブ(HDD)やCD(CD−R、CD−RW)の読み出し・書き込みを行うCDドライブ(広義にはストレージデバイス)や、ポートP1、P2(コネクタ)が設けられている。
【0055】
図7(A)において、PC1を拡張機器EPにドッキングすると、PC1に設けられた図示しないポートと拡張機器EPのポートP1が接続されると共に、拡張機器EPの電源がオンになる。そしてポートP1には、IEEE1394のデータ転送に必要な端子が設けられているため、PC1と拡張機器EPとの間でのIEEE1394(SBP−2)によるデータ転送が可能になる。これにより、PC1がハードディスクやCDにアクセスして、データを読み出したり、書き込んだりすることが可能になる。
【0056】
また、ポートP2には、IEEE1394を利用したLAN(ローカルエリアネットワーク)により、例えばホストコンピュータPC2(広義には電子機器)が接続される。このようなLAN接続を行うことで、ノート型パーソナルコンピュータPC1とホストコンピュータPC2との間で、IEEE1394(IPover1394)を用いたデータ転送も可能になる。
【0057】
一方、図7(B)では、EP−1、EP−2は、PDA(Personal Digital Assistant。広義には電子機器)であるPC1−1、PC1−2の拡張機器として使用されている。
【0058】
例えば、PC1−1を所持して外出し、外出先でデータをPC1−1の内蔵HDD(ハードディスクドライブ。広義にはストレージデバイス)に記憶させる。そして、外出先から戻り、PC1−1を拡張機器EP−1にドッキングさせる。すると、PC1−1のポートとEP−1のポートP1が接続されると共にEP−1の電源がオンになる。これにより、PC1−1の内蔵HDDに格納されるデータを、ポートP1、P2を介して、IEEE1394によりLAN接続されたホストコンピュータPC2に転送できる。そして、外出先で得られたデータをホストコンピュータPC2で管理できるようになる。
【0059】
さて、図7(A)、(B)では、図8(A)に示すように、EP(電子機器)のポートP1(第1のポート)はPC1(第1の電子機器)のポートPAに接続される。また、EPのポートP2(第2のポート)はPC2(第2の電子機器)のポートPBに接続される。そして、これらのポート間ではIEEE1394によるデータ転送が行われる。
【0060】
SBP−2仕様では、1つのターゲットに対して複数のイニシエータがログインするとコントロールに矛盾が生じる場合がある。例えば、2台のPCから同時に1台のHDDにアクセスする場合などである。そこで、従来は、図2で説明したように、イニシエータがターゲットにログインしてアクセス権を獲得すると、ログアウトが行われるまで、そのイニシエータがそのターゲットへのアクセス権を専有することとしていた。
【0061】
例えば図8(B)において、イニシエータであるPC1が、ターゲットであるEPにログインすると、PC1は、EPへのアクセス権(SBP−2におけるアクセス権)を専有する。従って、例えばPC1がログアウトするまで、PC1とEPとの間でピア・ツー・ピアのデータ転送が行われるようになる。
【0062】
ところが、図8(A)の接続の場合に、PC1とPC2のいずれがアクセス権を獲得するかは、電子機器EPが有するデータ転送制御システムの調停回路等により決められる。従って、接続のタイミング等によっては、電子機器EPのアクセス権をPC2に奪われてしまい、PC1はEPに対するSBP−2のアクセス権を獲得できない事態が生じる。
【0063】
このような事態が生じると、PC1の拡張機器として機能するはずの電子機器EPを、PC1が使用できないことになり、ユーザの利便性が悪化する。
【0064】
一方、PC1とPC2との間では、図5で説明したIPover1394のデータ転送経路も確保する必要がある。
【0065】
2.全体構成
以上のような課題を解決するデータ転送制御システム及びこれを含む電子機器の全体構成例を図9に示す。なお、以下では、イニシエータとの間でデータ転送を行うターゲットがストレージデバイス(CDドライブ、DVDドライブ、HDDドライブ等)である場合について例にとり説明するが、本発明はこれに限定されない。
【0066】
電子機器EPは、データ転送制御システム10とストレージデバイス12(広義にはデバイス)を有する。また、外部の電子機器PC1、PC2(ノート型PC、PDA、ホストコンピュータ等)のポートPA、PBと接続するためのポートP1、P2を有する。
【0067】
なお、電子機器EPには、図示しないシステムCPU、システムメモリ(ROM、RAM)、操作部、或いは信号処理デバイス等を含めることができる。
【0068】
データ転送制御システム10は、物理層(PHY)回路14、リンク層回路20、SBP−2回路22、インターフェース回路30、バッファ管理回路38、バケットバッファ40(データバッファ)を含む。また、CPU42、フラッシュメモリ44(EEPROM)を含む。また、フラッシュメモリ44にその処理モジュール(プログラム)が記憶され、CPU42(広義にはプロセッサ)により実行されるファームウェア50を含む。なお、本実施形態のデータ転送制御システム10は、図9に示す全ての回路ブロック、機能ブロックを含む必要はなく、その一部を省略してもよい。
【0069】
物理層回路14は、図1の物理層のプロトコルをハードウェアにより実現するための回路であり、リンク層回路20により使用されるロジカルシンボルを電気信号に変換する機能を有する。
【0070】
物理層回路14が含む制御レジスタ16は、物理層回路14が行う種々の処理を制御するためのレジスタである。物理層回路14が含むポート制御回路18は、ポート(ノードにおける物理層において、他のノードとの物理的な接続を供給するもの)P1、P2の制御を行う回路である。
【0071】
リンク(&トランザクション)層回路20は、図1のリンク層のプロトコルやトランザクション層のプロトコルの一部をハードウェアにより実現するための回路であり、ノード間でのパケット転送のための各種サービスを提供する。
【0072】
これらの物理層回路14、リンク層回路20の機能により、IEEE1394に準拠したデータ転送を、BUS1(第1のバス)を介して他の電子機器PC1、PC2との間で行うことが可能になる。
【0073】
SBP−2回路22(転送実行回路)は、SBP−2のプロトコルの一部やトランザクション層の一部をハードウェアにより実現する回路である。このSBP−2回路22の機能により、転送データを一連のパケットに分割し、分割された一連のパケットを連続転送する処理が可能になる。
【0074】
インターフェース回路30は、ストレージデバイス12とのインターフェース処理を行う回路である。このインターフェース回路30の機能により、ATA(AT Attachment)、ATAPI(ATA Packet Interface)に準拠したデータ転送を、BUS2(第2のバス)を介してストレージデバイス12との間で行うことが可能になる。
【0075】
そして、図9のように物理層回路14、リンク層回路20、インターフェース回路30を設けることで、IEEE1394(広義には第1のインターフェース規格)とATA(IDE)/ATAPI(広義には第2のインターフェース規格)の変換ブリッジ機能をデータ転送制御システム10に持たせることが可能になる。
【0076】
インターフェース回路30が含むDMAコントローラ32は、BUS2を介してストレージデバイス12との間でDMA(Direct Memory Access)転送を行うための回路である。
【0077】
バッファ管理回路38は、パケットバッファ40とのインターフェースを管理する回路である。バッファ管理回路38は、バッファ管理回路38の制御のためのレジスタ、パケットバッファ40へのバス接続を調停する調停回路、各種の制御信号を生成するシーケンサなどを含む。
【0078】
パケットバッファ40(パケットメモリ、データバッファ)は、パケット(転送データ)を一時的に格納するためのバッファであり、SRAM、SDRAM、或いはDRAMなどのハードウェアにより構成される。なお、本実施形態では、パケットバッファ40は、ランダムアクセス可能なパケット記憶部として機能する。また、パケットバッファ40を、データ転送制御システム10に内蔵せずに、外付けにしてもよい。
【0079】
CPU42(広義にはプロセッサ)は、装置全体の制御やデータ転送の制御を行うものである。
【0080】
フラッシュメモリ44(EEPROM)は、電気的にデータの書き換えが可能な不揮発性メモリである。このフラッシュメモリ44には、ファームウェア50の処理モジュール(プログラム)が記憶される。
【0081】
ファームウェア50は、CPU42上で動作する種々の処理モジュール(処理ルーチン)を含むプログラムであり、トランザクション層等のプロトコルは、このファームウェア50と、ハードウェアであるCPU42等により実現される。
【0082】
ファームウェア50(F/W)は、コミュニケーション部52、マネージメント部60、ストレージタスク部70、フェッチ部80、ダウンローダ部90を含む。なお、ファームウェア50は、これらの全ての機能ブロックを含む必要はなく、その一部を省略してもよい。
【0083】
ここで、コミュニケーション部52は、物理層回路14、リンク層回路20などのハードウェアとの間のインターフェースとして機能する処理モジュールである。
【0084】
マネージメント部60(マネージメントエージェント)は、ログイン、リコネクト、ログアウト、リセット等の管理を行う処理モジュールである。例えばイニシエータがターゲットにログインを要求した場合には、まず、このマネージメント部60が、このログイン要求を受け付けることになる。
【0085】
ストレージタスク部70は、後段のアプリケーション層(上層)であるストレージデバイス12との間でデータ転送処理を行うための処理モジュールである。
【0086】
フェッチ部80(フェッチエージェント、コマンドブロックエージェント)は、コマンドブロックORBが含むコマンドを実行するための処理モジュールである。フェッチ部80は、単一の要求しか扱うことができないマネージメント部60とは異なり、イニシエータからの要求により自身がフェッチしたORBのリンクリストも扱うことができる。
【0087】
ダウンローダ部90は、フラッシュメモリ44に記憶されるファームウェア50の処理モジュール等の更新を行うための処理モジュールである。
【0088】
コミュニケーション部52は、ポート制御部54、バスリセット発行部56、パケット処理部58を含む。
【0089】
ここでポート制御部54は、電子機器PC1を接続するためのポートP1(第1のポート)、電子機器PC2を接続するためのポートP2(第2のポート)の制御を行う。
【0090】
より具体的にはポート制御部54は、P1、P2のポート状態(ディスエーブル、ディスコネクト、サスペンド、レジューム、アクティブ)を制御する。このポート制御は、ポート制御部54(ファームウェア)と、物理層回路14が含むポート制御回路18(ハードウェア)の機能により実現される。
【0091】
なお、図9では、2つのポートしか設けられていないが、3つ以上のポートを設けてもよい。また、ポート状態(ディスエーブル、ディスコネクト、サスペンド、レジューム、アクティブ)については、P1394a規格において定義されている。
【0092】
バスリセット発行(発生)部56は、ノードのトポロジ情報をクリアするバスリセット(バスリセットコマンド)を発行する。
【0093】
より具体的にはバスリセット発行部56は、バスリセットを発行(発生)すべきと判断した場合には、例えば物理層回路14が含む制御レジスタ16のバスリセット発行用のビットに1をセットする。すると、物理層回路14のポート制御回路18等により、BUS1上にバスリセットが発生する。
【0094】
そして本実施形態では、BUS1に接続される電子機器にアクセス権を獲得させるためのバスリセット(電子機器にログインを促すためのバスリセット)を、バスリセット発行部56が発行する前に、ポート制御部54が、ポートP2をディスエーブル状態(IEEE1394で定義されるディスエーブル状態)に設定する。より具体的には、データ転送制御システム10(電子機器EP)の電源がオンになった後、バスリセット発行部56がアクセス権獲得のためのバスリセットを発行する前に、ポートP2をディスエーブル状態に設定する。
【0095】
これにより、ポートP1についてはイネーブル状態(バス信号のステートを検出できるポート状態。リセット、ツリー識別、自己識別、或いは調停フェーズに参加できるポート状態。アクティブ状態。ディスエーブル以外のポート状態)に設定される一方で、ポートP2についてはディスエーブル状態(他のポートとの物理的な接続はあるが、信号を生成しないと共に信号を検出できなくなるポート状態。バス信号を送信せず、受信しないポート状態)に設定されるようになる。従って、ポートP1に接続される電子機器PC1(ノート型PC又はPDA等)は、ポートP2に接続される電子機器PC2(ホストコンピュータ等)に優先して、ターゲットとなる電子機器EPに対するアクセス権(ログインをする権利)を獲得できる。この結果、イニシエータとなる電子機器PC1は、ターゲットとなる電子機器EPとの間で、SBP−2に準拠したピア・ツー・ピア(peer to peer)のデータ転送を専有して行うことが可能になる。
【0096】
バスリセットが発行されてポートP1に接続される電子機器PC1がアクセス権を獲得すると、ポート制御部54は、ポートP2をイネーブル(アクティブ)状態に設定する。そして、ポートP2がイネーブル状態に設定された後、ポートP2の電子機器PC2がサスペンド状態であることが検出された場合に、パケット処理部58は、このサスペンド状態をレジュームするためのパケットをPC2に転送する。そして、このレジュームパケットが転送された後に、バスリセット発行部56がバスリセットを再び発行することで、図2で説明したIPover1394に準拠したデータ転送を、PC1、PC2間で行うことが可能になる。
【0097】
3.処理の詳細
次に、本実施形態の処理の詳細について図10、図11のフローチャート等を用いて説明する。
【0098】
データ転送制御システム10(電子機器EP)の電源がオンになると、ポートP1、P2が共にイネーブル状態に設定される(ステップS1)。或いは、電源オンと同時にポートP1、P2が共にイネーブル状態となる。また、リンク層回路20がディスエーブル状態(非動作状態)に設定される(ステップS2)。
【0099】
より具体的には図12(A)に示すように、電子機器PC1と電子機器EPが接続されると(図7(A)、(B)参照)、電子機器EP(PC1の拡張機器)の電源がオンになり、EPに組み込まれるデータ転送制御システム10(転送制御IC)の電源がオンになる(この時、バスリセットも発生する)。すると、ポート状態(ステート)を記憶するレジスタ(Dフリップフロップ、メモリ等)がパワーオンリセットにより初期化されて、イネーブル(アクティブ)状態を示すようになる。
【0100】
次に、ポートP2がディスエーブル状態に設定される(ステップS3)。この場合に、ステップS1によりポートP1がイネーブル状態に設定されているため、結局、図12(B)に示すように、ポートP1はイネーブル状態に設定される一方で、ポートP2はディスエーブル状態に設定されるようになる。このポート状態の設定は、ポート制御回路18とポート制御部54により行われる。
【0101】
次に、データ転送制御システム10(物理層回路14)の初期化処理が終了したか否かが判断され(ステップS4)、終了した場合にはリンク層回路20がイネーブル状態に設定され、動作を開始する(ステップS5)。
【0102】
次に、図12(C)に示すように、ポートP1に接続される電子機器PC1にログイン(アクセス権獲得)を促すためのバスリセットが、バスリセット発行部56により発行(発生)される(ステップS6)。すると、図13(A)に示すように、ポートP1に接続される電子機器PC1(ノート型PC又はPDA等)が電子機器EP(拡張機器)にログインする(ステップS7)。そしてこのログインが成功すると、イニシエータとなるPC1とターゲットとなるEPの間で、SBP−2に準拠したデータ転送を行えるようになる。
【0103】
この場合に、ポートP2はディスエーブル状態に設定されているため、ポートP2に接続される電子機器PC2(ホストコンピュータ)はバスリセットを認識できない。このため、ポートP2のPC2がEPにログインすることが防止され、ログイン(アクセス権獲得)の競合が起きないようになる。これにより、PC1がEPに確実にログインできるようになる。この結果、親である電子機器PC1は、子(拡張機器)である電子機器EPのストレージデバイス12を専有して使えるようになり、ユーザの利便性を向上できる。
【0104】
PC1のログインが成功すると、図13(B)に示すように、ポートP2のステートがディスエーブル状態からイネーブル状態に変更される(ステップS8)。そして、電子機器PC2がサスペンド状態(Connected=1、Bias=0)か否かが判断され(ステップS9)、サスペンド状態の場合には、図13(C)に示すようにレジュームパケットがEPからPC2に転送される(ステップS10)。
【0105】
即ち、ポートP2がディスエーブル状態に設定されると、このポートP2に接続される電子機器PC2がサスペンド状態に移行してしまう場合がある。
【0106】
そこで本実施形態では、サスペンド状態に移行したPC2(物理層回路)をアクティブ状態に移行させるために、レジュームパケットをPC2に転送している。
【0107】
但し、このレジュームパケットは、P1394a規格において新たに定義されたパケットである。従って、電子機器PC2がP1394aの規格に準拠していなかった場合には、ポートP2がディスエーブル状態になっても電子機器PC2はサスペンド状態に移行しないため、レジュームパケットの転送は不要になる。このため本実施形態では、図11のステップS9、S10に示すように、PC2がサスペンド状態であると判断された場合に限って、PC2にレジュームパケットを転送している。これにより、PC2がP1394a規格に準拠していた場合のみならず、準拠していなかった場合にも、適正に対処できる。
【0108】
次に、図14(A)に示すように、バスリセット発行部56によりバスリセットが発行される(ステップS11)。これにより、PC1に対してリコネクトを促すと共にPC2に対してログインを促す。
【0109】
そして、図14(B)に示すように、PC1がEPに対してリコネクトを試みると、このリコネクトは成功する(ステップS12)。一方、図14(C)に示すように、PC2がEPに対してログインを試みると、PC1がEPに既にリコネクトしているため、PC2のログインは失敗に終わる(ステップS13)。
【0110】
即ち、SBP−2においては、バスリセットの発生前にログインしていたイニシエータは、バスリセットの発生後、一定期間の間は、優先的にそのターゲットに対してリコネクトできる。そして、そのイニシエータがターゲットにリコネクトしなかった場合に、他のイニシエータ(電子機器)は、そのターゲットにログインできる。
【0111】
本実施形態では、このSBP−2のリコネクト処理の仕組みを上手く活用して、電子機器EPへのアクセス権の適切な管理を実現している。
【0112】
即ち、図10のステップS8でポートP2をイネーブル状態に設定し、電子機器PC2を新たなノードとして追加するためには、ノードのトポロジ情報をクリアする必要があり、バスリセットの発行が必要になる。ところが、このバスリセットの発行により、EPに対するアクセス権をPC2に奪われてしまうと、ユーザの利便性が阻害される。
【0113】
この点、本実施形態では、図11のステップS11のタイミングでバスリセットを発行しているため、SBP−2のリコネクト処理の仕組みにより、バスリセット後にPC1が優先的にEPのアクセス権を獲得できる。
【0114】
しかも、バスリセットによりノードのトポロジ情報がクリアされるため、電子機器PC2は新たなノードとして認識されるようになる。従って、図15(A)に示すように、PC1、EP間でのSBP−2によるデータ転送のみならず、PC1、PC2間でのIPover1394(図5参照)によるデータ転送も可能になる。この結果、図7(B)で説明したように、PC1で得られたデータを、サーバであるPC2に転送して管理することなどが可能になる。
【0115】
次に、図11のステップS14に示すように、バスリセットが発生したか否かが判断される。そして、バスリセットが発生した場合には、図15(B)に示すように、ログアウトされたか否か(広義には、ポートP1に接続されるPC1がEPに対するアクセス権を失ったか否か)が判断される(ステップS15)。
【0116】
ここで、図11のステップS15の「ログアウト」は、PC1のソフトウェア処理によりアンプラグが行われた場合、ポートP1のケーブルが外された場合、PC1の電源がオフ(リブート、省電力モード)になることで強制ログアウトが行われた場合を含む。
【0117】
また、ステップS14でバスリセットが発生したか否かを判断している理由は以下の通りである。
【0118】
即ち、ステップS13のPC2のログイン失敗の後も、PC1は、ストレージデバイス12にアクセス(リード、ライト)を行っている。従って、PC1によるストレージデバイス12へのアクセス中にバスリセットが発生した場合には、PC1はログアウトしないため、ステップS14、S15、S12というように処理が移行し、PC1がリコネクト処理を行う。そして、PC1は、このリコネクト処理に成功すると、ストレージデバイス12へのアクセスを継続できる。
【0119】
一方、PC1がログアウトされた場合、即ち、PC1がアンプラグされた場合やケーブルが外された場合やPC1の電源がオフになった場合には、必ずバスリセットが発生する。従って、まず、ステップS14でバスリセットの発生の有無を判断し、バスリセットが発生した場合に、ステップS15でPC1がログアウトしたか否かを判断すればよいことになる。
【0120】
そして、ステップS15でログアウトされたと判断された場合には、ポートP2をイネーブル状態からディスエーブル状態に戻す(ステップS16)。この時、ポートP1はイネーブル状態のままになる。
【0121】
次に、バスリセットが発生したか否かを判断する(ステップS17)。ステップS15でログアウトされているのでバスリセットが発生するはずだからである。そして、バスリセットが発生すると、ポートP1へのログインか否かを判断する(ステップS18)。そして、ポートP1へのログインではない場合にはステップS17に戻り、ポートP1へのログインである場合には図10のステップS7に移行する。
【0122】
このようにすれば、例えば、電子機器PC1がリブートされた場合や、PC1省電力モード(サスペンド、ハイパネート)に移行した場合や、ポートP1のケーブルが外された場合等に適正に対処できるようになる。
【0123】
即ち、PC1がリブート(電源オン)されると、PC1は強制的にログアウトすることになり、EPに対するアクセス権を失う。この場合に、ポートP2がイネーブル状態のままであると、PC1のログインとPC2のログインの競合が生じる。このため、リブート後に、PC1がEPのアクセス権(ログイン)を獲得できなくなるおそれがある。
【0124】
この場合に、図15(C)に示すように、ポートP2をディスエーブル状態に戻しておけば、PC1がEPのアクセス権を優先的に獲得できるようになる(優先的にログインできるようになる)。従って、PC1のリブート時等に、PC2にアクセス権を奪われてしまう事態を防止できる。
【0125】
以上のように本実施形態によれば、図10、図11に示すような順番で、ポート状態の設定処理、バスリセットの発行処理、レジュームパケットの転送処理等を行うことで、様々な状況の変化が生じた場合にも、電子機器EPに対するアクセス権をPC1に確実に専有させることができる。また、PC1の識別番号(GUID)をEPに記憶させるというような作業も不要になる。従って、ユーザの利便性を向上でき、拡張機器への組み込みに最適なデータ転送制御システムを提供できる。
【0126】
4.パケットフォーマット
図16(A)、(B)、図17(A)、(B)に、図10、図11の処理で使用される種々のパケットのフォーマットを示す。
【0127】
図16(A)、(B)、図17(A)は、ログインORB、リコネクトORB、ログアウトORBのパケットのフォーマットである。これらのパケットは、SBP−2で定義されるパケットである。これらのパケットを利用することで、図2、図10、図11で説明したログイン処理、リコネクト処理、ログアウト処理を実現できる。
【0128】
図17(B)は、図11のステップS10で使用されるレジュームパケットのフォーマットである。このパケットは、P1394aにより、拡張PHYパケットの1つとして定義されている。
【0129】
図17(B)において、phy_IDは、当該パケットを送信した物理ノードの識別番号である。また、typeは、拡張PHYパケットのタイプを示す情報である。このレジュームパケットを転送することで、サスペンド状態等であった電子機器(ノード)を、レジューム状態に移行させることが可能になる。なお、レジュームパケットは、ブロードキャストであり、このレジュームパケットに対する応答は不要である。
【0130】
5.物理層回路
図18に、物理層回路14の構成例を示す。なお、物理層回路14は、図18の回路ブロックを全て含む必要はなく、その一部を省略してもよい。
【0131】
リンクインターフェース回路200は、リンク層回路20とのインターフェース処理を行う回路である。リンクインターフェース回路200は、リンクパワーステータス信号LPS、システムクロックSCLK、リンク層回路20からのリクエスト信号LREQ、双方向制御信号CTL[0:1]、双方向データ信号D[0:7]、バスマネージャ・コンテンダー/リンクオン信号BCLKON等を用いて、インターフェース処理を行う。これらの信号の意味についてはP1394a規格に定義されている。
【0132】
なお、XRSTは、パワーオンリセット信号であり、電源の投入時にアクティブになる信号である。
【0133】
エンコーダ/デコーダ202は、DS−LINK(Data−Strobe Link)と呼ばれる符号化方式でのデータのエンコード、デコード処理を行う回路である。即ち、IEEE1394では、データとストローブという2対の差動信号を用いて半2重でデータ転送を行う。
【0134】
CPS検出回路210は、ケーブルパワーステータスCPSを検出する回路であり、TPバイアス生成回路212は、TPBIAS1、TPBIAS2を生成して供給する回路である。
【0135】
バイアス電圧/電流生成回路214は、端子R0、R1に接続される外部基準抵抗を用いて、バイアス電圧等を生成し、トランスミッタ&レシーバ216、218に供給する回路である。
【0136】
トランスミッタ&レシーバ216は、ポートP1用の2組のツイストペアの信号TPA1、TPB1を用いて、データの送受信処理を行う回路である。トランスミッタ&レシーバ218は、ポートP2用の2組のツイストペアの信号TPA2、TPB2を用いて、データの送受信処理を行う回路である。なお、ポートを更に増やす場合には、その増やしたポート用のトランスミッタ&レシーバを更に設ければよい。
【0137】
クロック生成回路219(PLL)は、システムクロック等の内部クロックを生成する回路である。
【0138】
制御回路220は、物理層回路14の全体を制御する回路であり、調停回路15、制御レジスタ16、ポート制御回路18などを含む。
【0139】
調停回路15は、ノード間におけるバスの使用権の調停処理を行う回路である。この調停処理は、サブアクションギャップ、アービトレーション・リセットギャップにおいて行われる。なお、IEEE1394の通常の非同期アクセス方式では、競合しているノードに対してアクセスできる機会が均等に与えられている。
【0140】
制御レジスタ16は、物理層回路14に対するコマンド等を設定するためのレジスタであり、メモリ又はDフリップフロップ等により構成される。例えば、バスリセットを発行する場合には、この制御レジスタ16のバスリセット発行用のビットに1をセットすればよい。また、ポートP1、P2のステート制御も、この制御レジスタ16を用いて行うことができる。
【0141】
ポート制御回路18は、ポートP1、P2(広義には複数のポート)を制御するための回路である。このポート制御回路18は、図9のファームウエア50のポート制御部54からの指示にしたがってポートP1、P2を制御する。
【0142】
ここでポートの状態(ステート)としては、P1394a(IEEE−1394a−2000)で定義されるように、以下のものがある。
(1)ディスエーブル状態
ディスエーブル状態のポートは、TPA/TPB、TPBIASに信号を出力しない。またTPA/TPB、BIASに入力される信号を検出しない。ケーブルの接続状態に変化があると、トランスミッタ&レシーバ216、218に含まれるコネクト検出回路がこれを検出し、リンク層回路20にインタラプトを出力する。このコネクト検出回路は、ケーブルの接続状態を検出するための回路であり、そのポートがTPBIASを出力してない期間において動作する(有効になる)。
(2)ディスコネクト状態
ディスコネクト状態のポートは、他のノードの物理層回路との物理的なケーブル接続が無く、TPA/TPB、TPBIASに信号を出力しない。またTPA/TPB、BIASに入力される信号を検出しない。
(3)サスペンド状態
サスペンド状態のポートは、他のノードの物理層回路との物理的なケーブル接続はあるが、TPA/TPB、TPBIASに信号を出力しない。またTPA/TPBに入力される信号を検出しない。このサスペンド状態のポートでは、トランスミッタ&レシーバ216、218に含まれるバイアス検出回路及びコネクト検出回路のみが動作する。
(4)レジューム状態
レジューム状態のポートには、他のノードの物理層回路との物理的なケーブル接続があり、TPBIASに信号を出力している。また、BIASを検出すると、所定期間の経過後、アクティブ状態に遷移する。レジューム期間では、TPA/TPBに入力される信号を検出しない。
(5)アクティブ状態
アクティブ(イネーブル)状態のポートは、他のノードの物理層回路との物理的なケーブル接続があり、TPA/TPB、TPBIASに信号を出力する。またTPA/TPB、BIASに入力される信号を検出する。
【0143】
このような種々の状態(ステート)がP1394aで定義されたのは、物理層回路のパワー・セービングを実現するためである。本実施形態では、このようにパワー・セービング用に定義されたディスエーブル状態を有効利用して、電子機器EPのアクセス権をPC1に優先的に獲得させることに成功している。
【0144】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0145】
例えば、明細書中の記載において広義な用語(第1のインターフェース規格、第2のインターフェース規格、第1のインターフェース規格の上位の第1のプロトコル、第1のインターフェース規格の上位の第2のプロトコル、電子機器、ストレージデバイス、デバイス、プロセッサ等)として引用された用語(IEEE1394、ATA/ATAPI、SBP−2、IPover1394、拡張機器・ノート型パーソナルコンピュータ・PDA・ホストコンピュータ、CDドライブ・内蔵HDD、ストレージデバイス、CPU等)は、明細書中の他の記載においても広義な用語に置き換えることができる。
【0146】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0147】
また、本発明のデータ転送制御システム、電子機器、物理層回路の構成は、図9、図18に示す構成に限定されず、種々の変形実施が可能である。例えば、これらの各図の各回路ブロック、機能ブロックの一部を省略したり、その接続関係を変更してもよい。また、第2のバス(BUS2)は、ストレージデバイスとは異なるデバイスに接続されていてもよく、ATA/ATAPI以外の規格のバスであってもよい。また、物理層回路とリンク層回路とパケットバッファの接続構成も図9に示す接続構成に限定されない。
【0148】
また本実施形態では、ポート制御部、バスリセット発行部、パケット処理部の機能をファームウェア(プログラム)により実現する場合について説明したが、これらを機能の一部又は全部をハードウェア回路により実現してもよい。
【0149】
また、本発明はIEEE1394におけるバスリセットに特に有用だが、これ以外にも、少なくともノードのトポロジー情報をクリアするようなリセットであれば適用できる。
【0150】
また、本実施形態では、IEEE1394、SBP−2規格でのデータ転送に本発明を適用した場合について説明した。しかしながら本発明は、例えばIEEE1394(P1394a)、SBP−2(SBP)と同様の思想に基づく規格や、IEEE1394、SBP−2を発展させた規格におけるデータ転送にも適用できる。
【図面の簡単な説明】
【図1】IEEE1394、SBP−2の層構造について説明するための図である。
【図2】SBP−2の処理の概略について説明するための図である。
【図3】SBP−2においてデータをイニシエータからターゲットに転送する場合のコマンド処理について説明するための図である。
【図4】SBP−2においてデータをターゲットからイニシエータに転送する場合のコマンド処理について説明するための図である。
【図5】IPover1394の層構造について説明するための図である。
【図6】バスリセットによりクリアされるノードのトポロジ情報について説明するための図である。
【図7】図7(A)、(B)は、拡張機器について説明するための図である。
【図8】図8(A)、(B)、(C)も、拡張機器について説明するための図である。
【図9】本実施形態のデータ転送制御システム、電子機器の構成例を示す図である。
【図10】本実施形態の詳細な処理例について示すフローチャートである。
【図11】本実施形態の詳細な処理例について示すフローチャートである。
【図12】図12(A)、(B)、(C)は、ポートの制御手法について説明するための図である。
【図13】図13(A)、(B)、(C)も、ポートの制御手法について説明するための図である。
【図14】図14(A)、(B)、(C)も、ポートの制御手法について説明するための図である。
【図15】図15(A)、(B)、(C)も、ポートの制御手法について説明するための図である。
【図16】図16(A)、(B)は、本実施形態で使用されるパケットのフォーマットを示す図である。
【図17】図17(A)、(B)も、本実施形態で使用されるパケットのフォーマットを示す図である。
【図18】物理層回路の構成例を示す図である。
【符号の説明】
P1、P2 ポート(第1、第2のポート)
PA、PB ポート
EP 電子機器(拡張機器)
PC1 電子機器(ノート型パーソナルコンピュータ、PDA)
PC2 電子機器(ホストコンピュータ)
BUS1 IEEE1394のバス
BUS2 ATA/ATAPIのバス
10 データ転送制御システム
12 ストレージデバイス
14 物理層回路
16 制御レジスタ
18 ポート制御回路
20 リンク層回路
22 SBP−2回路
30 インターフェース回路
32 DMAコントローラ
38 バッファ管理回路
40 パケットバッファ
42 CPU(プロセッサ)
44 フラッシュメモリ(EEPROM)
50 ファームウェア
52 コミュニケーション部
54 ポート制御部
56 バスリセット発行部
58 パケット処理部
60 マネージメント部
70 ストレージタスク部
80 フェッチ部
90 ダウンローダ部

Claims (9)

  1. バスを介してデータ転送を行うためのデータ転送制御システムであって、
    第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行うポート制御部と、
    ノードのトポロジ情報をクリアするバスリセットを発行するバスリセット発行部と
    パケット処理を行うパケット処理部とを含み、
    前記ポート制御部が、
    第2のポートをディスエーブル状態に設定し、
    前記バスリセット発行部が、
    第2のポートがディスエーブル状態に設定された後にバスリセットを発行して、第1のポートに接続される第1の電子機器にアクセス権を獲得させ
    前記ポート制御部が、
    バスリセットが発行されて第1のポートに接続される第1の電子機器がアクセス権を獲得した後に、第2のポートをイネーブル状態に設定し、
    前記パケット処理部が、
    第2のポートがイネーブル状態に設定された後、第2のポートに接続される第2の電子機器がサスペンド状態であることが検出された場合には、サスペンド状態をレジュームするためのパケットを第2の電子機器に転送するための処理を行うことを特徴とするデータ転送制御システム。
  2. 請求項において、
    前記バスリセット発行部が、
    サスペンド状態をレジュームするためのパケットが転送された後に、バスリセットを発行することを特徴とするデータ転送制御システム。
  3. バスを介してデータ転送を行うためのデータ転送制御システムであって、
    第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行うポート制御部と、
    ノードのトポロジ情報をクリアするバスリセットを発行するバスリセット発行部とを含み、
    前記ポート制御部が、
    第2のポートをディスエーブル状態に設定し、
    前記バスリセット発行部が、
    第2のポートがディスエーブル状態に設定された後にバスリセットを発行して、第1のポートに接続される第1の電子機器にアクセス権を獲得させ
    前記ポート制御部が、
    バスリセットが発行されて第1のポートに接続される第1の電子機器がアクセス権を獲得した後に、第2のポートをイネーブル状態に設定し、第2のポートがイネーブル状態に設定された後、バスリセットが発生したか否かを判断し、バスリセットが発生した場合には、第1のポートに接続される第1の電子機器がアクセス権を失ったか否かを判断し、第1の電子機器がアクセス権を失った場合には、第2のポートを、再度、ディスエーブル状態に設定し、第2のポートがディスエーブル状態に設定された後、バスリセットが発生したか否かを判断し、バスリセットが発生した場合には、アクセス権を失った第1の電子機器がアクセス権の獲得を要求してきたか否かを判断し、第1の電子機器がアクセス権の獲得を要求してきた場合には、第1の電子機器にアクセス権を獲得させることを特徴とするデータ転送制御システム。
  4. 第1のポートに接続される第1の電子機器の機能を拡張するための電子機器であって、
    請求項1乃至3のいずれかのデータ転送制御システムと、
    第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートと、
    を含むことを特徴とする電子機器。
  5. 請求項において、
    前記ポート制御部が、
    第1の電子機器のポートが第1のポートに接続され、電子機器の電源がオンになった場合に、第2のポートをディスエーブル状態に設定することを特徴とする電子機器。
  6. 第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行うポート制御部と、
    ノードのトポロジ情報をクリアするバスリセットを発行するバスリセット発行部と
    パケット処理を行うパケット処理部として、
    データ転送制御システムを機能させるプログラムであって、
    前記ポート制御部が、
    第2のポートをディスエーブル状態に設定し、
    前記バスリセット発行部が、
    第2のポートがディスエーブル状態に設定された後にバスリセットを発行して、第1のポートに接続される第1の電子機器にアクセス権を獲得させ
    前記ポート制御部が、
    バスリセットが発行されて第1のポートに接続される第1の電子機器がアクセス権を獲得した後に、第2のポートをイネーブル状態に設定し、
    前記パケット処理部が、
    第2のポートがイネーブル状態に設定された後、第2のポートに接続される第2の電子機器がサスペンド状態であることが検出された場合には、サスペンド状態をレジュームするためのパケットを第2の電子機器に転送するための処理を行うことを特徴とするプログラム。
  7. 第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行うポート制御部と、
    ノードのトポロジ情報をクリアするバスリセットを発行するバスリセット発行部として、
    データ転送制御システムを機能させるプログラムであって、
    前記ポート制御部が、
    第2のポートをディスエーブル状態に設定し、
    前記バスリセット発行部が、
    第2のポートがディスエーブル状態に設定された後にバスリセットを発行して、第1のポートに接続される第1の電子機器にアクセス権を獲得させ
    前記ポート制御部が、
    バスリセットが発行されて第1のポートに接続される第1の電子機器がアクセス権を獲得した後に、第2のポートをイネーブル状態に設定し、第2のポートがイネーブル状態に設定された後、バスリセットが発生したか否かを判断し、バスリセットが発生した場合には、第1のポートに接続される第1の電子機器がアクセス権を失ったか否かを判断し、第1の電子機器がアクセス権を失った場合には、第2のポートを、再度、ディスエーブル状態に設定し、第2のポートがディスエーブル状態に設定された後、バスリセットが発生したか否かを判断し、バスリセットが発生した場合には、アクセス権を失った第1の電子機器がアクセス権の獲得を要求してきたか否かを判断し、第1の電子機器がアクセス権の獲得を要求してきた場合には、第1の電子機器にアクセス権を獲得させることを特徴とするプログラム。
  8. バスを介してデータ転送を行うためのデータ転送制御方法であって、
    第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行い、第2のポートをディスエーブル状態に設定し、
    第2のポートがディスエーブル状態に設定された後に、ノードのトポロジ情報をクリアするバスリセットを発行して、第1のポートに接続される第1の電子機器にアクセス権を獲得させ、
    バスリセットが発行されて第1のポートに接続される第1の電子機器がアクセス権を獲得した後に、第2のポートをイネーブル状態に設定し、
    第2のポートがイネーブル状態に設定された後、第2のポートに接続される第2の電子機器がサスペンド状態であることが検出された場合には、サスペンド状態をレジュームするためのパケットを第2の電子機器に転送するための処理を行うことを特徴とするデータ転送制御方法。
  9. バスを介してデータ転送を行うためのデータ転送制御方法であって、
    第1の電子機器を接続するための第1のポートと第2の電子機器を接続するための第2のポートを含む複数のポートの制御を行い、第2のポートをディスエーブル状態に設定し、
    第2のポートがディスエーブル状態に設定された後に、ノードのトポロジ情報をクリアするバスリセットを発行して、第1のポートに接続される第1の電子機器にアクセス権を獲得させ、
    バスリセットが発行されて第1のポートに接続される第1の電子機器がアクセス権を獲得した後に、第2のポートをイネーブル状態に設定し、第2のポートがイネーブル状態に設定された後、バスリセットが発生したか否かを判断し、バスリセットが発生した場合には、第1のポートに接続される第1の電子機器がアクセス権を失ったか否かを判断し、第1の電子機器がアクセス権を失った場合には、第2のポートを、再度、ディスエーブル状態に設定し、第2のポートがディスエーブル状態に設定された後、バスリセットが発生したか否かを判断し、バスリセットが発生した場合には、アクセス権を失った第1の電子機器がアクセス権の獲得を要求してきたか否かを判断し、第1の電子機器がアクセス権の獲得を要求してきた場合には、第1の電子機器にアクセス権を獲得させることを特徴とするデータ転送制御方法。
JP2002217595A 2002-07-26 2002-07-26 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法 Expired - Fee Related JP3599048B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002217595A JP3599048B2 (ja) 2002-07-26 2002-07-26 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
CNB031461131A CN1241126C (zh) 2002-07-26 2003-07-22 数据传输控制系统及方法
US10/625,625 US7395365B2 (en) 2002-07-26 2003-07-24 Data transfer control system, electronic instrument, program, and data transfer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002217595A JP3599048B2 (ja) 2002-07-26 2002-07-26 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法

Publications (2)

Publication Number Publication Date
JP2004064257A JP2004064257A (ja) 2004-02-26
JP3599048B2 true JP3599048B2 (ja) 2004-12-08

Family

ID=31711482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002217595A Expired - Fee Related JP3599048B2 (ja) 2002-07-26 2002-07-26 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法

Country Status (3)

Country Link
US (1) US7395365B2 (ja)
JP (1) JP3599048B2 (ja)
CN (1) CN1241126C (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070571A (ja) 2002-08-05 2004-03-04 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP3714420B2 (ja) * 2002-08-13 2005-11-09 セイコーエプソン株式会社 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
JP3982520B2 (ja) * 2004-06-02 2007-09-26 コニカミノルタビジネステクノロジーズ株式会社 アクセス管理システムおよび方法、画像形成装置、およびコンピュータプログラム
US7831748B2 (en) * 2004-08-10 2010-11-09 Microsoft Corporation Extended USB protocol with selective broadcast mechanism
JP4239930B2 (ja) * 2004-08-19 2009-03-18 セイコーエプソン株式会社 データ転送制御システム、電子機器及びプログラム
US7971080B2 (en) * 2007-08-24 2011-06-28 Cisco Technology, Inc. Power savings for a network device
US8041859B2 (en) * 2007-11-05 2011-10-18 Honywell International Inc. Apparatus and method for connectivity in networks capable of non-disruptively disconnecting peripheral devices
US20090122725A1 (en) * 2007-11-09 2009-05-14 Honeywell International Inc. Robust networks for non-disruptively disconnecting peripheral devices
US8817698B2 (en) * 2009-10-18 2014-08-26 Intel Corporation Device, system and method of selectively aborting reception of wireless communication packets
JP6168052B2 (ja) * 2012-05-31 2017-07-26 株式会社ニコン 移動電子機器およびプログラム
EP2819343B1 (en) * 2013-06-25 2016-12-07 Airbus Operations GmbH Inherent power-over-data bus signaling for secure operating mode switching
CN104298516B (zh) * 2013-07-18 2017-12-08 京瓷办公信息系统株式会社 电子设备以及挂起控制方法
CN112612224B (zh) * 2020-12-04 2024-07-23 中国航空工业集团公司成都飞机设计研究所 一种便携式1394总线拓扑定制和扩展设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100311020B1 (ko) * 1998-08-17 2001-12-20 윤종용 네트웍간 데이터 전송 방법
US6272644B1 (en) * 1999-01-06 2001-08-07 Matsushita Electrical Industrial Co., Ltd. Method for entering powersave mode of USB hub
US6445678B1 (en) * 1999-12-07 2002-09-03 Intel Corporation Method and apparatus for implementing leaf node proxy in a network
JP3376981B2 (ja) 1999-12-24 2003-02-17 日本電気株式会社 接続制御機器ならびに物理層lsiおよび接続制御システム
JP2001184295A (ja) * 1999-12-27 2001-07-06 Toshiba Corp 周辺装置および計算機システム

Also Published As

Publication number Publication date
CN1241126C (zh) 2006-02-08
US20040034720A1 (en) 2004-02-19
US7395365B2 (en) 2008-07-01
CN1480854A (zh) 2004-03-10
JP2004064257A (ja) 2004-02-26

Similar Documents

Publication Publication Date Title
US5919261A (en) Methods and apparatus for controlling operation of a link layer controller based upon a state of connection between multiple electronic apparatus
TW552780B (en) USB communication control apparatus, USB communication system and USB communication control method
JP3599048B2 (ja) データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
US11467909B1 (en) Peripheral component interconnect express interface device and operating method thereof
JP2003044184A (ja) データ処理装置及び電力制御方法
JP2000209220A (ja) コンピュ―タ、ネットワ―ク制御装置、およびこれらを用いたシステム並びにリモ―ト起動方法
US20240248819A1 (en) Peripheral component interconnect express device and operating method thereof
US6757772B2 (en) Interface device, node, interface system, method for controlling bus reset and computer program product for controlling bus reset
US11797468B2 (en) Peripheral component interconnect express device and computing system including the same
WO2014023247A1 (zh) 嵌入式设备和基于该设备进行数据通信的控制方法
JP2004070570A (ja) データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
WO2001047195A1 (en) Data transfer controller, information storage medium, and electronic apparatus
CN111737183A (zh) 一种服务器及一种i2c总线的通信故障处理方法和系统
JP3714420B2 (ja) データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
US20060017811A1 (en) Communication system, electronic apparatus, control apparatus, and computer-readable storage medium
WO2002056547A1 (fr) Système et dispositif d'acheminement par commutation
JP2001119404A (ja) データ転送制御装置及び電子機器
JP2004258856A (ja) データ転送制御システム、電子機器、及びデータ転送制御方法
JP2003046511A (ja) 情報処理装置と情報処理方法、及び情報処理システム、並びに記憶媒体
JP2000174794A (ja) 通信制御装置及び方法
JP2005115545A (ja) データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
US20230315672A1 (en) Interface device and computing system including the same
US8171185B2 (en) Electronic device and communication method
JP2004194220A (ja) データ通信装置、デジタルビデオカメラ、データ通信装置の制御方法、記録媒体およびプログラム
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20040331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040519

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20040519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040802

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: 20040824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040906

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees