(57)【特許請求の範囲】
【請求項１】
第１のバスコントローラにより制御される第１バスと、第２のバスコントローラにより制御され前記第１バスより最大転送速度が小さい第２バスと、を含む複数のホストインタフェースと、
着脱可能な記録媒体と接続するためのカードインタフェースと、第１バスと第２バスとを含むデバイスインタフェースと、を含む読取装置が前記複数のホストインタフェースの何れかに接続され、かつ、前記カードインタフェースに着脱可能な記録媒体が接続されている場合、前記着脱可能な記録媒体のデータ転送速度を決定する決定手段と、
前記決定手段により決定されたデータ転送速度が所定の閾値を超える場合に前記接続されたホストインタフェースの第１バスと前記デバイスインタフェースの第１バスとを介して前記読取装置と接続を確立するように制御し、前記データ転送速度が前記所定の閾値以下の場合に前記接続されたホストインタフェースの第２バスと前記デバイスインタフェースの第２バスとを介して前記読取装置と接続を確立するように制御する制御手段と、
を有し、
前記ホストインタフェースの第１バスを介して前記読取装置との接続を確立している状態で、前記記録媒体のデータ転送速度が前記所定の閾値を超えないと判断された場合、前記制御手段は、前記読取装置との前記ホストインタフェースの第１バスを介した接続を一旦切断し、該切断が完了したことに応じて前記読取装置から送信される前記デバイスインタフェースの第１バスを介した接続の要求に対して応答しないことにより、前記デバイスインタフェースの第２バスを介して前記読取装置と再接続するよう制御する
ことを特徴とする通信制御装置。
【請求項２】
前記読取装置が前記ホストインタフェースに接続された場合、前記ホストインタフェースの第１バスを介して前記読取装置との通信を確立した後に、前記カードインタフェースに着脱可能な記録媒体が接続されているか否かを判断する
ことを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記読取装置が前記ホストインタフェースに接続された場合、前記ホストインタフェースの第１バスを介して前記読取装置との通信を確立した後に、前記決定手段は、前記カードインタフェースに接続されている着脱可能な記録媒体のデータ転送速度を決定する
ことを特徴とする請求項１又は２に記載の通信制御装置。
【請求項４】
前記デバイスインタフェースと前記カードインタフェースとは互いに互換性のない規格のインタフェースである
ことを特徴とする請求項１乃至３の何れか１項に記載の通信制御装置。
【請求項５】
前記ホストインタフェースの第１バスを用いる通信と前記ホストインタフェースの第２バスを用いる通信とは、それぞれ独立してコントロールされる
ことを特徴とする請求項１乃至４の何れか１項に記載の通信制御装置。
【請求項６】
前記決定手段は、前記着脱可能な記録媒体に予め格納された転送速度情報を読み取ることにより、前記着脱可能な記録媒体のデータ転送速度を決定する
ことを特徴とする請求項１乃至５の何れか１項に記載の通信制御装置。
【請求項７】
前記決定手段は、前記着脱可能な記録媒体に対してデータの書き込み及び読み出しを実行することにより、前記着脱可能な記録媒体のデータ転送速度を決定する
ことを特徴とする請求項１乃至５の何れか１項に記載の通信制御装置。
【請求項８】
前記ホストインタフェースは、ユニバーサル・シリアル・バス（ＵＳＢ）３．０仕様準拠のインタフェースであり、
前記第１のバスコントローラは、スーパースピード（ＳＳ）コントローラであり、
前記第２のバスコントローラは、非スーパースピード（ＮＳＳ）コントローラである
ことを特徴とする請求項１乃至７の何れか１項に記載の通信制御装置。
【請求項９】
第１のバスコントローラにより制御される第１バスと、第２のバスコントローラにより制御され前記第１バスより最大転送速度が小さい第２バスと、を含む複数のホストインタフェースを有する通信制御装置の制御方法であって、
着脱可能な記録媒体と接続するためのカードインタフェースと、第１バスと第２バスとを含むデバイスインタフェースと、を含む読取装置が  前記複数のホストインタフェースの何れかに接続され、かつ、前記カードインタフェースに着脱可能な記録媒体が接続されている場合、前記着脱可能な記録媒体のデータ転送速度を決定する決定工程と、
前記決定工程により決定されたデータ転送速度が所定の閾値を超える場合に前記接続されたホストインタフェースの第１バスと前記デバイスインタフェースの第１バスとを介して前記読取装置と接続を確立するように制御し、前記データ転送速度が前記所定の閾値以下の場合に前記接続されたホストインタフェースの第２バスと前記デバイスインタフェースの第２バスとを介して前記読取装置と接続を確立するように制御する制御工程と、
を含み、
前記制御工程では、前記ホストインタフェースの第１バスを介して前記読取装置との接続を確立している状態で、前記記録媒体のデータ転送速度が前記所定の閾値を超えないと判断された場合、前記読取装置との前記ホストインタフェースの第１バスを介した接続を一旦切断し、該切断が完了したことに応じて前記読取装置から送信される前記デバイスインタフェースの第１バスを介した接続の要求に対して応答しないことにより、前記デバイスインタフェースの第２バスを介して前記読取装置と再接続するよう制御する
ことを特徴とする通信制御装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の通信制御装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御に関し、特に、独立した複数のデータバスを有するコネクタを介して周辺デバイスを接続する場合の通信制御技術に関するものである。
【背景技術】
【０００２】
近年、次世代高速インタフェースとして最高５Ｇｂｐｓのデータ転送を実現するＵＳＢ３．０（非特許文献１）が開発されている。ＵＳＢ３．０は、Ｓｕｐｅｒ−Ｓｐｅｅｄ（ＳＳ）モード（５Ｇｂｐｓ）モードを含む。そして、ＵＳＢ３．０は、既存のＵＳＢ２．０の３つの転送モードであるＨｉｇｈ−Ｓｐｅｅｄ（４８０Ｍｂｐｓ）モード、Ｆｕｌｌ−Ｓｐｅｅｄ（１２Ｍｂｐｓ）モード、Ｌｏｗ−Ｓｐｅｅｄ（１．５Ｍｂｐｓ）モードも併せてサポートしている。
【０００３】
一般的にＵＳＢのホスト装置のバスアーキテクチャは、１つのホストコントローラから複数のコネクタに分岐する構成をとっている。そして、複数のデバイスが接続されている場合は、ホストコントローラが５Ｇｂｐｓの帯域を接続された複数のデバイスに割り振り帯域を共有することで、当該複数のデバイスそれぞれへのデータ転送を実現している。そのため、複数のデバイスが同時にデータ転送をしている場合、各デバイスに割り振られるデータ転送帯域は少なくなる。
【０００４】
一方、記録媒体のインタフェースの高速化も進んでいる。例えば、ＳＤカード規格のＳＤＸＣ（eXtended Capacity） は複数の転送モードを持ち、最高速の転送モードで２．４Ｇｂｐｓのデータ転送を実現すると言われている。また、既存のＳＤＨＣ（High Capacity）やＳＤとの下位互換もサポートしている。
【０００５】
この場合、図１３に示すように、ＳＤＸＣに対応したカードインタフェース２００２およびＵＳＢ３．０に対応したＳＳコントローラ２００４を備えるデバイス２０００を想定することが出来る。ここで、ＳＤＨＣカードを使用した場合、カードインタフェース２００２の速度は、一般的にＵＳＢ２．０モードの最高速度である４８０Ｍｂｐｓ未満であるため、ＵＳＢホスト機器との接続にＳＳモードを用いる利点は少ない。むしろＵＳＢ２．０モードで接続して、高速転送が必要とされる他のデバイスのためにＳＳモードの帯域を開けておく方がシステムの運用上望ましい。そこで、例えば特許文献１では、周辺装置（デバイス）側に転送手段を切り替える機械的なスイッチを備え、運用方法に応じてユーザがスイッチにより使用するデータ転送手段を選択する技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３２７２４７号公報
【非特許文献】
【０００７】
【非特許文献１】Universal Serial Bus 3.0 Specification, Revision 1.0, November 12, 2008
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の従来技術によれば、高速転送を必要とするかしないかをユーザが判断し、手動でデータ転送手段を切り替える必要がある。そのため、ユーザ操作が煩雑になるといった問題がある。
【０００９】
本発明は上述の問題点に鑑みなされたものであり、独立した複数のデータバスを有するコネクタを介してホスト装置とデバイス装置とを接続する場合のデータ転送をより好適に実行可能とする通信制御技術に関するものである。
【課題を解決するための手段】
【００１０】
上述の１以上の問題点を解決するため、本発明の通信制御装置は以下の構成を備える。すなわち、通信制御装置において、第１のバスコントローラにより制御される第１バスと、第２のバスコントローラにより制御され前記第１バスより最大転送速度が小さい第２バスと、を含む複数のホストインタフェースと、着脱可能な記録媒体と接続するためのカードインタフェースと、第１バスと第２バスとを含むデバイスインタフェースと、を含む読取装置が前記複数のホストインタフェースの何れかに接続され、かつ、前記カードインタフェースに着脱可能な記録媒体が接続されている場合、前記着脱可能な記録媒体のデータ転送速度を決定する決定手段と、前記決定手段により決定されたデータ転送速度が所定の閾値を超える場合に前記接続されたホストインタフェースの第１バスと前記デバイスインタフェースの第１バスとを介して前記読取装置と接続を確立するように制御し、前記データ転送速度が前記所定の閾値以下の場合に前記接続されたホストインタフェースの第２バスと前記デバイスインタフェースの第２バスとを介して前記読取装置と接続を確立するように制御する制御手段と、を有し、前記ホストインタフェースの第１バスを介して前記読取装置との接続を確立している状態で、前記記録媒体のデータ転送速度が前記所定の閾値を超えないと判断された場合、前記制御手段は、前記読取装置との前記ホストインタフェースの第１バスを介した接続を一旦切断し、該切断が完了したことに応じて前記読取装置から送信される前記デバイスインタフェースの第１バスを介した接続の要求に対して応答しないことにより、前記デバイスインタフェースの第２バスを介して前記読取装置と再接続するよう制御する。
【発明の効果】
【００１１】
本発明によれば、独立した複数のデータバスを有するコネクタを介してホスト装置とデバイス装置とを接続する場合のデータ転送をより好適に実行可能とする通信制御技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】ＵＳＢ３．０のバスアーキテクチャを説明する図である。
【図２】ＵＳＢ３．０のケーブルにおける信号線を示す図である。
【図３】ＵＳＢ３．０におけるペリフェラルデバイスの状態遷移図である。
【図４】第１実施形態に係る通信制御装置のブロック図である。
【図５】ＳＳモードで接続するシーケンスを示す図である。
【図６】接続制御を示す動作フローチャートである（ケース１）。
【図７】ＮＳＳモードで接続するシーケンスを示す図である（ケース１）。
【図８】接続制御を示す動作フローチャートである（ケース２）。
【図９】ＮＳＳモードで接続するシーケンスを示す図である（ケース２）。
【図１０】第２実施形態に係る通信制御装置のブロック図である。
【図１１】接続制御を示す動作フローチャートである。
【図１２】ＮＳＳモードで接続するシーケンスを示す図である。
【図１３】ＳＤカードリーダとして構成されたデバイスのブロック図である。
【発明を実施するための形態】
【００１３】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１４】
（第１実施形態）
本発明に係る通信制御装置の第１実施形態として、ユニバーサル・シリアル・バス（ＵＳＢ）３．０仕様準拠のホストコントローラを有する通信制御装置４００（以降、デバイス４００と呼ぶ）を例に挙げて以下に説明する。なお、以下の説明では主に本発明に特有の部分について説明する。なお、ＵＳＢ３．０仕様に関する一般的な詳細動作については、ＵＳＢ３．０仕様書（非特許文献１）を参照することにより理解されるであろう。
【００１５】
＜ＵＳＢ３．０のアーキテクチャ＞
ＵＳＢ３．０のバスアーキテクチャについて説明する。図１はＵＳＢ３．０のバスアーキテクチャを説明する図である。
【００１６】
ホスト装置１００は、スーパースピード（ＳＳ：SuperSpeed）モード接続で使用されるホスト・コントローラ１０２（以下、ＳＳ１０２と呼ぶ）（第１のバスコントローラ）を備えている。また、非スーパースピード（ＮＳＳ：Non-SuperSpeed）モード接続で使用されるホスト・コントローラ１０４（以下、ＮＳＳ１０４と呼ぶ）（第２のバスコントローラ）を備えている。ＮＳＳ１０４は、ＵＳＢ２．０仕様で規定されるＨｉｇｈ−Ｓｐｅｅｄ（ＨＳ）、Ｆｕｌｌ−Ｓｐｅｅｄ（ＦＳ）、Ｌｏｗ−Ｓｐｅｅｄ（ＬＳ）の各モードでのデータ転送を制御する。そして、ＳＳ１０２は、ＵＳＢ３．０仕様で新たに規定されたＳｕｐｅｒ−Ｓｐｅｅｄ（ＳＳ）モードでのデータ転送を制御する。なお、ＳＳ１０２およびＮＳＳ１０４の各コントローラ内には後述するリンク制御部が内蔵されている。また、バス１０６はＳＳ専用バスであり、バス１０８はＮＳＳ専用バスである。なお、
デバイス装置１２０は、ＵＳＢ３．０ペリフェラルデバイスであり、ＳＳ（SuperSpeed）モード接続で使用されるデバイス・ファンクション・コントローラ１２２（以下、ＳＳＦ１２２と呼ぶ）を備えている。また、ＮＳＳ（Non-SuperSpeed）モード接続で使用されるデバイス・ファンクション・コントローラ１２４（以下、ＮＳＳＦ１２４と呼ぶ）を備えている。上述の各ホスト・コントローラと同様に、ＮＳＳＦ１２４は、ＵＳＢ２．０仕様で規定される各モードでのデータ転送を制御し、ＳＳＦ１２２は、Ｓｕｐｅｒ−Ｓｐｅｅｄ（ＳＳ）モードでのデータ転送を制御する。なお、ＳＳＦ１２２およびＮＳＳＦ１２４の各コントローラ内には後述するリンク制御部が内蔵されている。なお、ホスト・コントローラおよびデバイス・ファンクション・コントローラを総称してバスコントローラと呼ぶことにする。
【００１７】
ケーブル１２６はＵＳＢ３．０のケーブルであり、ケーブル１２６内には、ＳＳモード用のデータ信号線とＮＳＳモード用のデータ信号線が独立して存在している。上述したように、ホスト装置１００はＳＳ用のバス１０６（第１バス）とＮＳＳ用のバス１０８（第２バス）を独立して持っている。そのため、例えば、ホスト装置１００は、コネクタ＃３に接続された周辺デバイスとバス１０６でデータ転送中に、接続コネクタの１つであるコネクタ＃１に接続された他の周辺デバイスとバス１０８でデータ転送することが可能である。
【００１８】
また、ＳＳ１０２、ＮＳＳ１０４の各コントローラはそれぞれ複数のコネクタに接続しており、各コントローラに対し複数の周辺デバイスを接続しデータ転送を行うことも可能である。ただし、その場合、接続されたホスト・コントローラがもつ最大データ転送帯域（ＳＳ：５Ｇｂｐｓ、ＮＳＳ：４８０Ｍｂｐｓ）を当該ホスト・コントローラに接続した複数の周辺デバイスで共有することになる。
【００１９】
図２はＵＳＢ３．０のケーブルにおける信号線を示す図である。２００はＵＳＢ３．０ホスト側コネクタを示し、ホスト装置１００のコネクタ＃１〜＃３のいずれかを示す。２０２はＵＳＢ３．０ペリフェラルデバイス側コネクタを示し、デバイス装置１２０のコネクタを示す。
【００２０】
信号線ペア２０６（Ｄ＋、Ｄ−）はＮＳＳ（ＵＳＢ２．０）モード接続で使用する信号線ペアである。つまり、ＮＳＳモードでは、信号線ペア２０６を使い半二重通信が行われる。一方、信号線ペア２０８（ＳＳＴＸ＋、ＳＳＴＸ−）はＳＳモード接続においてホスト装置からデバイス装置の転送に使用する信号線ペアである。また、信号線ペア２１０（ＳＳＲＸ＋、ＳＳＲＸ−）はＳＳモード接続においてデバイス装置からホスト装置の転送に使用する信号線ペアである。つまり、ＳＳモードでは、信号線ペア２０８および信号線ペア２１０を使い全二重通信が行われる。また、信号線２０４（ＶＢＵＳ）、信号線２１２（ＧＮＤ）はＮＳＳモード接続、ＳＳモード接続の双方で使用される信号線である。
【００２１】
図３はＵＳＢ３．０におけるペリフェラルデバイスの状態遷移図である。つまり、デバイス装置１２０が有する状態（ステート）および各状態間の遷移を示している。
【００２２】
状態３００は、信号線２０４（ＶＢＵＳ）の信号が無い状態、すなわちデバイス装置１２０がホスト装置１００と物理的に接続されていない状態を示している。
【００２３】
状態３０２は、デバイス装置１２０のＳＳ信号線がＲｘ．ＤｅｔｅｃｔまたはＰｏｌｌｉｎｇの状態であることを示す。ここで、Ｒｘ．Ｄｅｔｅｃｔとは、ＵＳＢ３．０ホスト側のＳＳリンクと物理的（電気的）に接続されているかを検出する状態である。Ｐｏｌｌｉｎｇとはリンクトレーニングを行っている状態を示す。具体的には、ホスト装置１００とデバイス装置１２０のリンク間でハンドシェイクを行い、通信可能か否かを検出する状態である。
【００２４】
状態３０４は、ホスト装置１００とデバイス装置１２０との間でＳＳ接続が確立された状態を示す。状態３０６は、ホスト装置１００とデバイス装置１２０との間でＮＳＳ（ＵＳＢ２．０）モード接続が確立され、ＳＳリンクがＲｘ．ＤｅｔｅｃｔまたはＰｏｌｌｉｎｇの状態であることを示す。状態３０８は、ホスト装置１００とデバイス装置１２０との間でＮＳＳ（ＵＳＢ２．０）モード接続が確立され、ＳＳリンクが無効になっている状態を示す。
【００２５】
次に状態遷移の条件について説明する。遷移３１０は、ＶＢＵＳが有効になった場合、すなわち、ＵＳＢケーブルによりホスト装置１００とデバイス装置１２０とが接続された場合の遷移を示す。遷移３１２は、ＳＳのリンクがＰｏｌｌｉｎｇからＵ０へ遷移した場合、すなわち、ＳＳリンクでハンドシェイクをし、リンクがアクティブになった場合の遷移を示す。
【００２６】
遷移３１４、遷移３１６、遷移３１８はそれぞれ、Ｒｘ．Ｄｅｔｅｃｔまたはリンクトレーニングがタイムアウトになった場合の遷移を示す。遷移３２０は、ＮＳＳ（ＵＳＢ２．０）リセット信号を受信した場合の遷移を示す。遷移３２２はＳＳリンクがＰｏｌｌｉｎｇからＵ０へ変化した場合、すなわち、ＳＳリンクでハンドシェイクをし、リンクがアクティブになった場合の遷移を示す。
【００２７】
図３から理解されるように、一般的には、ＵＳＢ３．０に対応したホスト装置のコネクタに、ＵＳＢ３．０に対応したデバイス装置を接続した場合、ＳＳバス１０６を介した接続（ＳＳモード接続）が行われる。そして、ＵＳＢ３．０ホスト装置のコネクタに、ＵＳＢ２．０（あるいはＵＳＢ１．１）デバイス装置が接続された場合、ＮＳＳバス１０８を介した接続（ＮＳＳモード接続）が行われる。
【００２８】
＜装置構成＞
図４は、第１実施形態に係るデバイス４００のブロック図である。デバイス４００は、ＳＳモード接続で使用されるコントローラ４０２（以下、ＳＳ４０２と呼ぶ）、ＮＳＳモード接続で使用されるコントローラ４０４（以下、ＮＳＳ４０４と呼ぶ）に接続されたコネクタ４２４（第２インタフェース）を備える。コントローラはそれぞれデータバス４０８に接続されている。なお、以下ではデバイス４００は、コネクタ４２４を介して外部装置であるホスト４２６に接続されるものとする。
【００２９】
接続制御部４１６はＳＳモード、ＮＳＳモードの各モードでの接続を制御する。転送速度判定部４１８は、カードインタフェース４２０（第１インタフェース）を介して接続された記録媒体４２２のデータ転送速度を判定する。なお、記録媒体４２２は着脱可能記録媒体であり、以下の説明ではＳＤ規格に準拠したカード（ＳＤカード）であるものとする。この場合、デバイス４００はいわゆるカードリーダ（読取装置）に相当するものである。
【００３０】
もちろん、本発明はＳＤカードに限定されるものではなく、様々な記録方式の記録媒体が使用可能であり、代表的には半導体メモリ（フラッシュメモリやＲＡＭなど）およびハードディスクドライブがある。また、接続インタフェース規格として、他のメモリカード規格（ＣＦ規格など）を用いてもよい。更には、ＵＳＢインタフェースであってもよい。なお、ＵＳＢインタフェースである場合には、第１実施形態のデバイス４００はＵＳＢハブ（Ｈｕｂ）に相当するものであり、記録媒体は、一般的にはマスストレージクラスのペリフェラルデバイスとして認識される。
【００３１】
ＲＯＭ４１４は、ＣＰＵ４１０が実行する各種の制御プログラム及び各種パラメータを格納する。ＲＡＭ４１２は、ＣＰＵ４１０のプログラム領域及びワーク領域として使用される。ＣＰＵ４１０は、制御プログラムを実行することにより、ＣＰＵバス４０６を介して以上の各部を制御し後述の処理を実行する。なお、通信制御装置４００の制御は１つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。撮像部４４０は、光学レンズ、ＣＣＤなどのセンサ、シャッタ、絞りなどを含む。撮像部４４０は被写体を撮像し、画像データに変換する。変換された画像データはＲＡＭ４１２、カードＩ／Ｆ部４２０を経由して記録媒体４２２に記録される。なお、撮像部４４０は、ＳＳ４０２及びＮＳＳ４０４の制御とは独立に撮像し、記録媒体４２２に画像データを記録することが可能である。つまり、撮像部４４０による撮像及び記録媒体４２２への画像データの記録は、コネクタ４２４にホスト（ＰＣ）４２６が接続されていない場合でも実行可能である。
【００３２】
＜接続制御方法について＞
まず、ＵＳＢ３．０の接続シーケンスについて説明する。図５は、ＳＳモードで接続する際のシーケンスを説明する図である。
【００３３】
ステップＳ５００では、ホスト４２６は、デバイス４００がコネクタを介して接続されると、ＶＢＵＳをＯＮにする。ステップＳ５０２では、デバイス４００はＶＢＵＳ ＯＮを検出し、ステップＳ５０４では、デバイス４００は自身のＳＳリンクがＲｅａｄｙになるまで待つ。
【００３４】
ステップＳ５０６では、デバイス４００は、自身のＳＳのリンクがＲｅａｄｙになると、その旨をホスト４２６に通知する。ステップＳ５０８では、ホスト４２６は、デバイス４００からの通知を受けて、接続コネクタ内の端子を介してデバイス４００とＳＳのリンクが電気的に接続したことを検出する。ステップＳ５１０では、ホスト４２６とデバイス４００の双方で、ＳＳリンク間でリンクの初期化処理を行い、ステップＳ５１２では、ＳＳモード接続が確立する。
【００３５】
以下では、記録媒体４２２とデバイス４００との接続、ホスト４２６とデバイス４００との接続の何れが時間的に先であるかに基づいた２つのユースケースに分けて、第１実施形態に係る接続制御について説明する。
【００３６】
＜ケース１：記録媒体４２２とデバイス４００とを接続した後、ホスト４２６とデバイス４００とを接続する場合。＞
図６は、ケース１における接続制御を示す動作フローチャートである。
【００３７】
ステップＳ６００では、カードインタフェース４２０は、記録媒体４２２が接続されたか監視し、接続された場合はステップＳ６０２に進む。ステップＳ６０２では、転送速度判定部４１８は、カードインタフェース４２０を制御して、記録媒体４２２に対し属性情報取得コマンドを発行する。ステップＳ６０４では、転送速度判定部４１８は、記録媒体４２２が応答した属性情報を取得する。
【００３８】
ステップＳ６０６では、転送速度判定部４１８は、ステップＳ６０４で取得した属性情報に含まれるクラス情報（転送速度情報を示す）に基づいて、記録媒体４２２の転送速度がＵＳＢ２．０の最大転送速度（４８０Ｍｂｐｓ）を超えるか否かを判定する。ＹＥＳの場合はＳ６０８に進み、ホスト４２６とデバイス４００とが接続されたとき、図５で説明したシーケンスに従ってＳＳモードにより接続を行う。一方、ＮＯの場合はＳ６１０に進み、ホスト４２６とデバイス４００とが接続されたとき、図７を参照して後述するシーケンスに従ってＮＳＳ（ＵＳＢ２．０）モードにより接続を行う。
【００３９】
図７は、ケース１におけるＮＳＳ（ＵＳＢ２．０）モードで接続するシーケンスを示す図であり、図６のステップＳ６１０に相当する部分を詳細に記載したものである。
【００４０】
ステップＳ７００では、ホスト４２６は、デバイス４００がコネクタを介して接続されると、ＶＢＵＳをＯＮにする。ステップＳ７０２では、デバイス４００はＶＢＵＳ ＯＮを検出し、ステップＳ７０４では、デバイス４００は自身のＳＳリンクがＲｅａｄｙになるまで待つ。
【００４１】
ステップＳ７０６では、デバイス４００は、ＳＳ４０２を制御して、ＳＳモードの信号線であるＳＳＴＸ２０８及びＳＳＲＸ２１０をハイインピーダンス（Ｈｉ−Ｚ）にする。この動作により、ＳＳモードでの接続は自動的に失敗し、ホスト４２６は、デバイス４００がＳＳモードに未対応のデバイスであると判断する（Ｓ７０８）。
【００４２】
ステップＳ７１０では、デバイス４００は、ＮＳＳ４０４を制御して、ＵＳＢ２．０信号線のＤ＋をプルアップ（電圧をＨｉレベル）する。ステップＳ７１２では、ホスト４２６は、Ｄ＋のプルアップされたことにより、接続コネクタ内の端子を介してデバイス４００との間でＵＳＢ２．０のリンクが電気的に接続したことを検出する。ステップＳ７１４では、ホスト４２６とデバイス４００の双方で、ＮＳＳリンク間でリンクの初期化処理を行い、ステップＳ７１６では、ＮＳＳモード接続が確立する。
【００４３】
＜ケース２：ホスト４２６とデバイス４００とを接続した後、記録媒体４２２とデバイス４００とを接続する場合。＞
図８は、ケース２における接続制御を示す動作フローチャートである。
【００４４】
ステップＳ８００では、ホスト４２６とデバイス４００とが接続されたとき、図５で説明したシーケンスに従ってＳＳモードにより接続を行う。ステップＳ８０２では、カードインタフェース４２０は、記録媒体４２２が接続されたか監視し、接続された場合はステップＳ８０４に進む。ステップＳ８０４では、転送速度判定部４１８は、カードインタフェース４２０を制御して、記録媒体４２２に対し属性情報取得コマンドを発行する。ステップＳ８０６では、転送速度判定部４１８は、記録媒体４２２が応答した属性情報を取得する。
【００４５】
ステップＳ８０８では、転送速度判定部４１８は、ステップＳ８０６で取得した属性情報に含まれるクラス情報に基づいて、記録媒体４２２の転送速度がＵＳＢ２．０の最大転送速度（４８０Ｍｂｐｓ）を超えるか否かを判定する。ＹＥＳの場合はＳ８１０に進み、ホスト４２６とデバイス４００とが接続されたときも継続してＳＳモードにより接続を行う。一方、ＮＯの場合はＳ８１２に進み、ホスト４２６とデバイス４００とが接続されたとき、図９を参照して後述するシーケンスに従ってＮＳＳ（ＵＳＢ２．０）モードにより再接続を行う。
【００４６】
図９は、ケース２におけるＮＳＳ（ＵＳＢ２．０）モードで接続するシーケンスを示す図であり、図８のステップＳ８１２に相当する部分を詳細に記載したものである。
【００４７】
ステップＳ９００では、デバイス４００は、ＳＳ４０２を制御して、ＳＳモードの信号線であるＳＳＴＸ２０８及びＳＳＲＸ２１０をハイインピーダンス（Ｈｉ−Ｚ）にする。この動作により、ＳＳモードでの接続は失敗する。つまり、ステップＳ８００で確立されたＳＳモードでの接続は切断され、ホスト４２６は、デバイス４００はＳＳモードには未対応であると判断する（Ｓ９０２）。
【００４８】
ステップＳ９０４では、デバイス４００は、ＮＳＳ４０４を制御して、ＵＳＢ２．０信号線のＤ＋をプルアップ（電圧をＨｉレベル）する。ステップＳ９０６では、ホスト４２６は、Ｄ＋のプルアップされたことにより、接続コネクタ内の端子を介してデバイス４００との間でＵＳＢ２．０のリンクが電気的に接続したことを検出する。ステップＳ９０８では、ホスト４２６とデバイス４００の双方で、ＮＳＳリンク間でリンクの初期化処理を行い、ステップＳ９１０では、ＮＳＳモード接続が確立する。
【００４９】
以上ケース１および２について説明したように、第１実施形態によれば、デバイス４００に接続された記録媒体４２２のデータ転送速度が所定の閾値以下の場合、ＮＳＳ（ＵＳＢ２．０）モードで接続するよう制御する。これにより、必要なデータ転送速度が所定の閾値（４８０Ｍｂｐｓ）を超える他のデバイスが接続された場合、当該他のデバイスはＳＳモード接続の帯域を占有することが出来る。
【００５０】
（第２実施形態）
第２実施形態では、ホストが、当該ホストとデバイスとの間のＵＳＢ接続モードを決定する形態について説明する。
【００５１】
＜装置構成＞
図１０は、第２実施形態に係る通信制御装置１０００（以降、ホスト１０００と呼ぶ）のブロック図である。ホスト１０００は、ＳＳモード接続で使用されるコントローラ１００２（以下、ＳＳ１００２と呼ぶ）、ＮＳＳモード接続で使用されるホスト・コントローラ１００４（以下、ＮＳＳ１００４と呼ぶ）を備えている。また、コネクタ１０２６〜コネクタ１０３０を備える。コントローラはそれぞれＳＳモード専用データバス１０１０、ＮＳＳ（ＵＳＢ２．０）モード専用データバス１００８に接続されている。
【００５２】
接続制御部１０２０はＳＳモード、ＮＳＳモードの各モードでの接続を制御する。転送速度算出部１０１８は、コネクタ１０２６〜コネクタ１０３０に接続されたデバイスと実際にデータ転送を行い、転送速度を算出する。
【００５３】
記録装置インタフェース１０２２は、例えばＡＴＡインタフェース等の外部記録装置と接続するためのインタフェースである。例えば、コネクタ１０２６を介してデバイス１０３２から読み出したデータをハードディスクドライブ（ＨＤＤ）などの記録媒体１０２４へ記録するためのものである。
【００５４】
ＲＯＭ１０１６は、ＣＰＵ１０１２が実行する各種の制御プログラム及び各種パラメータを記憶する。ＲＡＭ１０１４は、ＣＰＵ１０１２のプログラム領域及びワーク領域として使用される。ＣＰＵ１０１２は、制御プログラムを実行することにより、ＣＰＵバス１００６を介して以上の各部を制御し後述の処理を実行する。なお、ホスト１０００の制御は１つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで、装置全体の制御を行ってもよい。撮像部１０４０は、光学レンズ、ＣＣＤなどのセンサ、シャッタ、絞りなどを含む。撮像部１０４０は被写体を撮像し、画像データに変換する。変換された画像データはＲＡＭ１０１４、記録装置Ｉ／Ｆ部１０２２を経由して記録媒体１０２４に記録される。なお、撮像部１０４０は、ＳＳ１００２及びＮＳＳ１００４の制御とは独立に撮像し、記録媒体１０２４に画像データを記録することが可能である。つまり、撮像部１０４０による撮像及び記録媒体１０２４への画像データの記録は、コネクタ１０２６にデバイス１０３２が接続されていない場合でも実行可能である。
【００５５】
＜接続制御方法について＞
図１１は、第２実施形態における接続制御を示す動作フローチャートである。
【００５６】
ステップＳ１１００では、ホスト１０００とデバイス１０３２とが接続されたとき、図５で説明したシーケンスに従ってＳＳモードにより接続を行う。ステップＳ１１０２では、ホスト１０００は、デバイス１０３２に記録媒体が接続されたか確認し、接続されている場合はステップＳ１１０４に進む。ステップＳ１１０４では、ホスト１０００は、デバイス１０３２に接続された記録媒体の転送速度を測定する。例えば、ホスト１０００は、デバイス１０３２に装着された記録媒体の特定の領域に対し所定サイズのデータの書き込み及び読み出しを実行することにより転送速度を測定する。
【００５７】
ステップＳ１１０６では、ホスト１０００は、ステップＳ１１０４で測定した転送速度がＵＳＢ２．０の最大転送速度（４８０Ｍｂｐｓ）を超えるか否かを判定する。ＹＥＳの場合はＳ１１０８に進み、ホスト１０００とデバイス１０３２とが接続されたときも継続してＳＳモードにより接続を行う。一方、ＮＯの場合はＳ１１１０に進み、ホスト１０００とデバイス１０３２とが接続されたとき、図１２を参照して後述するシーケンスに従ってＮＳＳ（ＵＳＢ２．０）モードにより再接続を行う。
【００５８】
図１２は、第２実施形態におけるＮＳＳ（ＵＳＢ２．０）モードで接続するシーケンスを示す図であり、図１１のステップＳ１１１０に相当する部分を詳細に記載したものである。
【００５９】
ステップＳ１２００では、ホスト１０００はＶＢＵＳを一旦ＯＦＦにする。この動作により、ＳＳモードでの接続は失敗する。つまり、ステップＳ１１００で確立されたＳＳモードでの接続は切断される（Ｓ１２０２）。ステップＳ１２０４では、ホスト１０００はＶＢＵＳを再びＯＮにする。ステップＳ１２０６では、デバイス１０３２はＶＢＵＳ ＯＮを検出し、ステップＳ１２０８では、デバイス１０３２は自身のＳＳリンクがＲｅａｄｙになるまで待つ。
【００６０】
ステップＳ１２１０では、デバイス１０３２は、自身のＳＳのリンクがＲｅａｄｙになると、その旨をホスト１０００に通知する。ステップＳ１２１２では、ホスト１０００は、デバイス１０３２との接続をＮＳＳ（ＵＳＢ２．０）モード接続にするために、デバイス１０３２のＳＳリンクとのハンドシェイク（接続要求）に応答しないようにＳＳ１００２を制御する。これにより、当該ハンドシェイクはタイムアウトすることになる。そのため、ステップＳ１２１４では、デバイス１０３２は、ホスト１０００がＳＳに未対応であると判定し、ＮＳＳ（ＵＳＢ２．０）モードで接続するために、Ｄ＋をプルアップする。ステップＳ１２１６では、ホスト１０００は、Ｄ＋プルアップにより、ＮＳＳ（ＵＳＢ２．０）が電気的に接続したことを検出する。ステップＳ１２１８では、ホスト１０００とデバイス１０３２の双方で、ＮＳＳリンク間でリンクの初期化処理を行い、ステップＳ１２２０では、ＮＳＳモード接続が確立する。
【００６１】
以上説明したように、第２実施形態によれば、ホスト１０００に接続されたデバイス１０３２に接続された記録媒体のデータ転送速度が所定の閾値（４８０Ｍｂｐｓ）以下の場合、ＮＳＳ（ＵＳＢ２．０）モードで接続するよう制御する。これにより、必要なデータ転送速度が所定の閾値（４８０Ｍｂｐｓ）を超える他のデバイスがホスト１０００に接続された場合、当該他のデバイスはＳＳモード接続の帯域を占有することが出来る。
【００６２】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005917069.tif 000002
【図２】
0005917069.tif 000003
【図３】
0005917069.tif 000004
【図４】
0005917069.tif 000005
【図５】
0005917069.tif 000006
【図６】
0005917069.tif 000007
【図７】
0005917069.tif 000008
【図８】
0005917069.tif 000009
【図９】
0005917069.tif 000010
【図１０】
0005917069.tif 000011
【図１１】
0005917069.tif 000012
【図１２】
0005917069.tif 000013
【図１３】
0005917069.tif 000014