(57)【要約】【課題】アクセスにおけるエラーの発生を抑制すること。【解決手段】周辺デバイス２０の仮想デバイス部２４は、デバイス部２３に対してＵＳＢ制御部２２ａ〜２２ｄを介したホスト装置のアクセスを制御する。仮想デバイス部２４は、ＵＳＢ制御部２２ａ〜２２ｄのうちの１つをアクティブポート（ＡＰ）に設定し、アクティブポートに対してデバイス部２３のアクセスを許可する。仮想デバイス部２４は、アクティブポートのアクセスの種類を判定し、ライトアクセスの場合に、アクティブポート以外のＵＳＢ制御部２２ａ〜２２ｄに対して、リセット（Ｒｅｓｅｔ）を示す仮想ステータス信号ＡＳａ〜ＡＳｄ（リセットステータス）を出力する。ＵＳＢ制御部２２ａ〜２２ｄは、仮想ステータス信号ＡＳａ〜ＡＳｄに基づいて、バスリセットを発行する。【選択図】図２
2015176458.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置が接続される複数のバス制御部と、
前記ホスト装置によりアクセスされるデバイス部と、
前記複数のバス制御部と前記デバイス部との間に接続され、前記デバイス部のアクセスを制御するアクセス制御部と、
を有し、
前記アクセス制御部は、前記複数のバス制御部のうちの１つのアクティブポートに前記デバイス部のアクセスを許可し、前記アクセスの種類に応じて、前記アクセスの完了後に前記アクティブポート以外のバス制御部に対してリセットステータスを出力し、前記リセットステータスを供給したバス制御部のアクセスを許可し、
前記バス制御部は、前記リセットステータスに基づいてバスリセットを発行すること、
を特徴とする電子デバイス。
【請求項２】
前記アクセス制御部は、前記アクティブポートの前記バス制御部のリクエスト信号を前記デバイス部に出力し、前記デバイス部のステータス信号を前記アクティブポートの前記バス制御部に出力し、前記アクティブポート以外のバス制御部にビジーステータスを出力し、
前記複数のバス制御部は、ビジーステータスに基づいて否定応答信号を出力すること、
を特徴とする請求項１に記載の電子デバイス。
【請求項３】
前記アクセス制御部は、前記複数のバス制御部に対する前記ホスト装置の接続を確認し、前記ホスト装置が接続された前記バス制御部のリクエスト信号に基づいて前記デバイス部に対するアクセスを許可すること、
を特徴とする請求項１また２に記載の電子デバイス。
【請求項４】
前記アクセス制御部は、前記リセットステータスに基づくバスリセットの発行の後、前記ホスト装置との間の接続処理によるコンフィグレーションを確認して前記アクティブポート以外の前記バス制御部にビジーステータスを出力すること、
を特徴とする請求項１〜３のいずれか一項に記載の電子デバイス。
【請求項５】
前記アクセス制御部は、
前記複数のバス制御部に接続され、第１制御信号に応じた前記バス制御部を前記デバイス部に接続し、接続したバス制御部のリクエスト信号に応じてアクティブポートを設定し、前記第１制御信号に応じた複数の切換信号を出力するリクエスト判定部と、
前記第１制御信号を出力し、前記接続したバス制御部に応答開始を指示するポート制御部と、
前記リセットステータスを生成するステータス制御部と、
前記複数のバス制御部にそれぞれ接続され、前記切換信号に応じて前記リセットステータスまたは前記デバイス部のステータス信号を選択する複数の切換スイッチと、
を有すること、を特徴とする請求項１〜４のいずれか一項に記載の電子デバイス。
【請求項６】
複数のホスト装置がアクセスするデバイス部を有する電子デバイスの制御方法であって、
前記ホスト装置が接続される複数のバス制御部のうちの１つのアクティブポートに前記デバイス部に対するアクセスを許可し、
前記アクティブポートのアクセス完了を確認し、
前記アクセスの種類を判定し、
前記アクセスの種類に応じて、前記アクティブポート以外の前記バス制御部に対してリセットステータスを出力し、
前記バス制御部は、前記リセットステータスに基づいてバスリセットを発行すること、
を特徴とする電子デバイスの制御方法。
【請求項７】
前記アクティブポートの前記バス制御部のリクエスト信号を前記デバイス部に出力し、前記デバイス部のステータス信号を前記アクティブポートの前記バス制御部に出力し、前記アクティブポート以外のバス制御部にビジーステータスを出力し、
前記複数のバス制御部は、ビジーステータスに基づいて否定応答信号を出力すること、
を特徴とする請求項６に記載の電子デバイスの制御方法。
【請求項８】
前記複数のバス制御部について、前記ホスト装置の接続を確認し、
前記ホスト装置が接続された前記バス制御部についてアクティブポートを確認すること、
を特徴とする請求項６または７に記載の電子デバイスの制御方法。
【請求項９】
前記リセットステータスに基づくバスリセットの発行の後、前記ホスト装置との間の接続処理によるコンフィグレーションを確認して前記アクティブポート以外の前記バス制御部にビジーステータスを出力すること、
を特徴とする請求項６〜８のいずれか一項に記載の電子デバイスの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
電子デバイス及び電子デバイスの制御方法に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（ＰＣ）等の電子機器は、周辺機器を接続するインタフェースを有している。インタフェースはたとえばＵＳＢ（Universal Serial Bus）である。ＵＳＢ仕様は、１つのホスト装置に対して複数の周辺機器の接続を規定する。
【０００３】
近年、複数のホスト装置において、たとえば、ローカルエリアネットワーク（ＬＡＮ）のように、周辺機器の共有が求められている。このため、複数のホスト装置に対して周辺デバイスを共有可能に接続する接続装置（Ｈｕｂ）が提案されている（たとえば、特許文献１〜３参照）。
【０００４】
たとえば、図９に示す接続装置１００は、疑似ＵＳＢデバイス１０１，１０２、疑似ＵＳＢホスト１０３，１０４、ルーター１０５を備えている。この接続装置１００は、ルーター１０５により、周辺デバイス（単に「デバイス」と表記）１１３，１１４を、ホスト装置１１１，１１２に対して接続する。
【０００５】
また、図１０に示す接続装置１２０は、ハブ１２１、１２２、切換スイッチ１２３，１２４、疑似ＵＳＢデバイス１２５，１２６を備えている。この接続装置１２０は、ハブ１２１，１２２により切換スイッチ１２３，１２４を制御し、ホスト装置１１１，１１２に対して周辺デバイス１１３，１１４または疑似ＵＳＢデバイス１２５，１２６を接続する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２７６１１６号公報
【特許文献２】特開２００２−３４２２５５号公報
【特許文献３】特開２００４−１０２７１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、複数のホスト装置１１１，１１２は、それぞれ周辺デバイス１１３，１１４の情報を管理する。このため、ホスト装置１１１，１１２のアクセスにおいてエラーが発生する場合がある。たとえば、ホスト装置１１１により、周辺デバイス１１３のファイルを削除する。この場合、他のホスト装置１１２における周辺デバイス１１３の情報は、変更されない。このため、ホスト装置１１２が持つ情報に従って周辺デバイス１１３に対してアクセスした場合、そのアクセスの対象であるファイルが周辺デバイス１１３に存在しないため、アクセスに対してエラーが発生する。
【課題を解決するための手段】
【０００８】
本発明の一観点による電子デバイスは、ホスト装置が接続される複数のバス制御部と、前記ホスト装置によりアクセスされるデバイス部と、前記複数のバス制御部と前記デバイス部との間に接続され、前記デバイス部のアクセスを制御するアクセス制御部と、を有し、前記アクセス制御部は、前記複数のバス制御部のうちの１つのアクティブポートに前記デバイス部のアクセスを許可し、前記アクセスの種類に応じて、前記アクセスの完了後に前記アクティブポート以外のバス制御部に対してリセットステータスを出力し、前記リセットステータスを供給したバス制御部のアクセスを許可し、前記バス制御部は、前記リセットステータスに基づいてバスリセットを発行する。
【発明の効果】
【０００９】
本発明の一観点によれば、アクセスにおけるエラーの発生を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】システムの概略説明図である。
【図２】電子装置の概略構成図である。
【図３】ＵＳＢ制御部の処理を示すフローチャートである。
【図４】仮想デバイス部の処理を示すフローチャートである。
【図５】仮想デバイス部の処理を示すフローチャートである。
【図６】仮想デバイス部の処理を示すフローチャートである。
【図７】電子装置の動作説明図である。
【図８】電子装置の動作説明図である。
【図９】比較例の説明図である。
【図１０】比較例の説明図である。
【発明を実施するための形態】
【００１１】
以下、一実施形態を説明する。
図１に示すように、このシステムは、複数（図では４つ）のホスト装置（「ホスト」と表記）１０ａ〜１０ｄと、１つの周辺デバイス（「デバイス」と表記）２０を有している。周辺デバイス２０は、各ホスト装置１０ａ〜１０ｄのそれぞれと接続されている。この周辺デバイス２０は、たとえば記憶装置である。各ホスト装置１０ａ〜１０ｄは、それぞれ周辺デバイス２０をアクセスし、ファイルの格納（Ｗｒｉｔｅ）・参照（Ｒｅａｄ）・消去（Ｄｅｌｅｔｅ）を行う。周辺デバイス２０に格納されたファイルは、全てのホスト装置１０ａ〜１０ｄからアクセス可能である。したがって、各ホスト装置１０ａ〜１０ｄは、周辺デバイス２０に格納されたファイル（データ）を共有する。
【００１２】
図２に示すように、周辺デバイス２０は、複数（図では４つ）のポート２１ａ〜２１ｄ（「Ｐｏｒｔ１」〜「Ｐｏｒｔ４」と表記）を有している。各ポート２１ａ〜２１ｄは、図１に示すホスト装置１０ａ〜１０ｄにそれぞれ例えばケーブルを介して接続される。なお、各ポート２１ａ〜２１ｄは、無線通信によって各ホスト装置１０ａ〜１０ｄと接続されてもよい。
【００１３】
ポート２１ａは、ＵＳＢ制御部（図において、「Ｐｏｒｔ１ＵＳＢ制御」と表記）２２ａに接続されている。同様に、ポート２１ｂ〜２１ｄは、ＵＳＢ制御部２２ｂ〜２２ｄに接続されている。ＵＳＢ制御部２２ａ〜２２ｄは、ＵＳＢ仕様、たとえばマス・ストレージ・クラス・プロトコルに基づいて動作し、ホスト装置１０ａ〜１０ｄとデータ通信する。
【００１４】
ＵＳＢ制御部２２ａ〜２２ｄは、データ信号線ＬＤＴを介してデバイス部２３に接続されている。デバイス部２３は、たとえばハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）などの記憶装置である。各ホスト装置１０ａ〜１０ｄからのデータは、ＵＳＢ制御部２２ａ〜２２ｄとデータ信号線ＬＤＴを介してデバイス部２３に供給される。また、デバイス部２３から出力されるデータは、データ信号線ＬＤＴとＵＳＢ制御部２２ａ〜２２ｄを介してホスト装置１０ａ〜１０ｄへ送信される。
【００１５】
ＵＳＢ制御部２２ａ〜２２ｄとデバイス部２３は、仮想デバイス部２４と接続されている。仮想デバイス部２４は、デバイス部２３に対してＵＳＢ制御部２２ａ〜２２ｄを介したホスト装置１０ａ〜１０ｄのアクセスを制御する。
【００１６】
仮想デバイス部２４は、リクエスト判定部３１、切換スイッチ３２ａ〜３２ｄ、ステータス制御部３３、ポート制御部３４を有している。
ポート制御部３４は、４つのＵＳＢ制御部２２ａ〜２２ｄのうちの１つを選択する。たとえば、ポート制御部３４は、ラウンドロビン方式によってＵＳＢ制御部２２ａ〜２２ｄを順次選択する。選択されたＵＳＢ制御部２２ａ〜２２ｄは、ホスト装置１０ａ〜１０ｄからの要求を確認し、要求に応じたリクエスト信号ＲＱａ〜ＲＱｄを出力する。リクエスト信号ＲＱａ〜ＲＱｄにより、そのリクエスト信号ＲＱａ〜ＲＱｄを出力したＵＳＢ制御部２２ａ〜２２ｄのポート２１ａ〜２１ｄに対して、デバイス部２３に対するアクセスが許可される。このアクセスが許可されたポート及びＵＳＢ制御部をアクティブポート（ＡＰ）と呼ぶ。
【００１７】
また、ポート制御部３４は、選択したＵＳＢ制御部２２ａ〜２２ｄに応じた接続信号ＳＣＮをリクエスト判定部３１に出力する。リクエスト判定部３１には、ＵＳＢ制御部２２ａ〜２２ｄから出力されるリクエスト信号ＲＱａ〜ＲＱｄが供給される。リクエスト判定部３１は、接続信号ＳＣＮに基づいて、選択されたＵＳＢ制御部２２ａ〜２２ｄからのリクエスト信号ＲＱａ〜ＲＱｄに応じた内部リクエスト信号ＲＥＱをデバイス部２３に出力する。
【００１８】
リクエスト判定部３１は、ＵＳＢ制御部２２ａ〜２２ｄに対応する切換スイッチ３２ａ〜３２ｄに接続されている。リクエスト判定部３１は、ＵＳＢ制御部２２ａ〜２２ｄの選択／非選択に応じた切換信号ＣＳａ〜ＣＳｄを切換スイッチ３２ａ〜３２ｄに出力する。
【００１９】
切換スイッチ３２ａ〜３２ｄはそれぞれ、ＵＳＢ制御部２２ａ〜２２ｄに接続された共通端子と、ステータス制御部３３から仮想ステータス信号ＡＳａ〜ＡＳｄがそれぞれ供給される第１の切換端子と、ステータス信号線ＬＳＴに接続されてデバイス部２３からステータス信号ＳＴＳが供給される第２の切換端子とを有している。切換スイッチ３２ａ〜３２ｄは、切換信号ＣＳａ〜ＣＳｄに応答して、共通端子を第１の切換端子または第２の切換端子に接続する。これにより、切換スイッチ３２ａは、切換信号ＣＳａに応じて仮想ステータス信号ＡＳａまたはステータス信号ＳＴＳを選択し、選択した信号と等しいステータス信号ＳＴａを出力する。同様に、切換スイッチ３２ｂ〜３２ｄは、切換信号ＣＳｂ〜ＣＳｄに応じて、ステータス信号ＳＴＳまたは仮想ステータス信号ＡＳｂ〜ＡＳｄを選択し、選択した信号にと等しいステータス信号ＳＴｂ〜ＳＴｄを出力する。ＵＳＢ制御部２２ａ〜２２ｄは、切換スイッチ３２ａ〜３２ｄからのステータス信号ＳＴａ〜ＳＴｄに基づいて動作する。
【００２０】
なお、切換スイッチ３２ａ〜３２ｄのうち、アクティブポート、つまり選択されたＵＳＢ制御部２２ａ〜２２ｄに対応する切換スイッチは、デバイス部２３からのステータス信号ＳＴＳを選択するように制御される。そして、非選択のＵＳＢ制御部２２ａ〜２２ｄに対応する切換スイッチは、ステータス制御部３３からの仮想ステータス信号ＡＳａ〜ＡＳｄを選択するように制御される。したがって、ポート制御部３４により選択されたＵＳＢ制御部２２ａ〜２２ｄから出力されるリクエスト信号ＲＱａ〜ＲＱｄがデバイス部２３に供給されるとともに、そのデバイス部２３から出力されるステータス信号ＳＴＳが、選択されたＵＳＢ制御部２２ａ〜２２ｄに供給される。このように、選択されたＵＳＢ制御部２２ａ〜２２ｄとデバイス部２３とが互いに接続されて通信する。
【００２１】
したがって、ポート制御部３４は、アクティブポート、つまり選択したＵＳＢ制御部２２ａ〜２２ｄをデバイス部２３に接続するように、リクエスト判定部３１に対して接続信号ＳＣＮを出力する。そして、ポート制御部３４により選択されていないＵＳＢ制御部２２ａ〜２２ｄは、ステータス制御部３３からの仮想ステータス信号ＡＳａ〜ＡＳｄに基づいて動作する。
【００２２】
ステータス制御部３３には、デバイス部２３からのステータス信号ＳＴＳが供給される。
ステータス制御部３３は、ステータス信号ＳＴＳに基づいて、ポート制御部３４に対する通知信号ＳＡＫを生成する。たとえば、初期化処理において、ステータス制御部３３は、選択されたＵＳＢ制御部２２ａ〜２２ｄに応じて、ビジー（Ｂｕｓｙ）を示す仮想ステータス信号ＡＳａ〜ＡＳｄ（ビジーステータス）を出力する。リクエスト判定部３１は、初期化処理においてホスト装置１０ａ〜１０ｄから送信されるコンフィグレーション情報に基づいて切換信号ＣＳａ〜ＣＳｄを生成し、仮想ステータス信号ＡＳａ〜ＡＳｄを選択させる。ＵＳＢ制御部２２ａ〜２２ｄは、仮想ステータス信号ＡＳａ〜ＡＳｄに基づいて、ホスト装置１０ａ〜１０ｄからの要求信号（Ｔｏｋｅｎ）に対して否定応答信号ＮＡＫを送信する。これにより、ＵＳＢ制御部２２ａ〜２２ｄは、アクセス許可待ち状態となる。
【００２３】
ステータス制御部３３は、ビジーを示す仮想ステータス信号ＡＳａ〜ＡＳｄを送信した旨の通知信号ＳＡＫを生成する。ポート制御部３４は、通知信号ＳＡＫに基づいて、ホスト装置１０ａ〜１０ｄが接続されたポートの数を認識し、そのポート数（接続ホスト数）をレジスタに格納する。そして、ポート制御部３４は、ホスト装置が接続されたＵＳＢ制御部２２ａ〜２２ｄを選択する。
【００２４】
ステータス制御部３３は、ステータス信号ＳＴＳに基づいて、仮想ステータス信号ＡＳａ〜ＡＳｄを生成する。たとえば、アクティブポート（ＡＰ）に接続されたホスト装置に対してデバイス部２３に対してアクセスが許可される。ステータス制御部３３は、他のホスト装置を排他制御するように仮想ステータス信号ＡＳａ〜ＡＳｄを生成する。たとえば、ビジー（Ｂｕｓｙ）を示す仮想ステータス信号ＡＳａ〜ＡＳｄを生成することで、他のホスト装置からの要求を保留する。そして、アクティブポート（ＡＰ）に接続されたホスト装置のアクセスに応じて、仮想ステータス信号ＡＳａ〜ＡＳｄを生成する。
【００２５】
たとえば、ホスト装置のアクセスが、デバイス部２３に格納されたデータの状態に変更を加える要求の場合、その変更された状態は、他のホスト装置のアクセスに必要な情報となる。各ホスト装置１０ａ〜１０ｄには、デバイス部２３におけるデータの状態が一時的に記憶される。たとえば、ファイルを削除した場合、そのファイルに対する他のホスト装置のアクセスは、ホスト装置にとって意図しないエラーとなる。デバイス部２３の状態に変更を加える要求は、ライト（Ｗｒｉｔｅ）要求、削除（Ｄｅｌｅｔｅ）要求である。ファイルの追加、ファイル（内容）の変更、ファイル名の変更、ファイルの格納位置の変更、等も状態に変更を加える要求に含まれる。
【００２６】
デバイス部２３から出力されるステータス信号ＳＴＳは、これらの要求に対する処理の完了を示す。このため、ステータス制御部３３は、ステータス信号ＳＴＳに基づいて、リセット（Ｒｅｓｅｔ）を示す仮想ステータス信号ＡＳａ〜ＡＳｄ（リセットステータス）を生成する。ＵＳＢ制御部２２ａ〜２２ｄは、リセットを示す仮想ステータス信号ＡＳａ〜ＡＳｄに基づいて、バスリセット（ＢｕｓＲｅｓｅｔ）を発行する。バスリセットにより、ホスト装置１０ａ〜１０ｄとＵＳＢ制御部２２ａ〜２２ｄは、接続処理（エニュメレーション:Enumeration）を実行する。この接続処理によるコンフィグレーションは、ホスト装置１０ａ〜１０ｄからのコンフィグレーション情報の受信、ＵＳＢ仕様、たとえばマス・ストレージ・クラス・プロトコルの動作におけるデバイス部２３の情報の送信を含む。これらの処理において、ホスト装置１０ａ〜１０ｄは、周辺デバイス２０の情報を再取得し、自装置の情報を更新する。たとえば、ファイルが削除された場合、接続処理におけるコンフィグレーションにより、ホスト装置１０ａ〜１０ｄにおける周辺デバイス２０の情報が更新されるため、削除されたファイルに対するアクセスは行われない。これにより、他のホスト装置のアクセスによるエラーの発生が防止される。
【００２７】
次に、図３を参照してＵＳＢ制御部２２ａにおける処理を説明する。なお、他のＵＳＢ制御部２２ｂ〜２２ｄにおける処理はＵＳＢ制御部２２ａと同様であるため、説明を省略する。
【００２８】
先ず、ステップ５１において、ＵＳＢ制御部２２ａは、ポート２１ａに対するホスト装置の接続を確認する。ホスト装置が接続されている場合、ＵＳＢ制御部２２ａは、初期化処理を行う。この初期化処理において、ホスト装置１０ａとＵＳＢ制御部２２ａは、初期の接続処理（エニュメレーション:Enumeration）を行う。ＵＳＢ制御部２２ａは、接続処理におけるホスト装置１０ａの要求に応じて、ディスクリプタ情報の送信や、アドレス等の設定を行う。
【００２９】
次に、ステップ５２において、ＵＳＢの切断を判定する。このＵＳＢの切断は、ケーブルの挿抜や断線等の物理的な切断、ケーブルに対する信号の電気的な変更による一時的な切断を含む。ＵＳＢが切断された場合（判定：ＹＥＳ）、ＵＳＢ制御部２２ａはステップ５１へ移行し、初期化処理を行う。一方、ＵＳＢが切断されていない場合（判定：ＮＯ）、次のステップ５３へ移行する。
【００３０】
ステップ５３において、ＵＳＢ制御部２２ａは、デバイスステータスを確認する。ＵＳＢ制御部２２ａは、仮想デバイス部２４の切換スイッチ３２ａから供給されるステータス信号ＳＴａを確認する。
【００３１】
そして、ステップ５４において、ＵＳＢ制御部２２ａは、確認したステータス信号ＳＴａに基づいて、ＵＳＢプロトコル（ＵＳＢ仕様）にしたがってホスト装置１０ａとの間の通信を制御する。例えば、ＵＳＢ制御部２２ａは、ビジー（Ｂｕｓｙ）を示すステータス信号ＳＴａに基づいて、ホスト装置１０ａからの要求信号（Ｔｏｋｅｎ）に対して否定応答信号ＮＡＫを送信する。また、ＵＳＢ制御部２２ａは、リセット（Ｒｅｓｅｔ）を示すステータス信号ＳＴａに基づいて、バスリセット（ＢｕｓＲｅｓｅｔ）を発行する。そして、ＵＳＢ制御部２２ａは、バスリセットに基づいて実行される接続処理（エニュメレーション:Enumeration）において、上記のステップ５１と同様に、ホスト装置１０ａの要求に応じてディスクリプタ情報の送信やアドレス等の設定を行う。そして、ステップ５２へ移行する。
【００３２】
次に、図４〜図６を参照して仮想デバイス部２４における処理を説明する。各ステップにおいて、先ず概要を示し、次に詳細を説明する。なお、説明の都合上、アクティブポート（ＡＰ）の設定対象をＵＳＢ制御部２２ａとすることがある。
【００３３】
先ず、図４に示すステップ６１において、ポートのリクエストを実デバイスへ接続する。
ポート制御部３４は、先ずＵＳＢ制御部２２ａを選択する。そして、ポート制御部３４は、リクエスト判定部３１に対して接続信号ＳＣＮを出力し、選択したＵＳＢ制御部２２ａを制御信号線ＬＣＴに接続する。これにより、選択したＵＳＢ制御部２２ａのリクエスト信号ＲＱａを内部リクエスト信号ＲＥＱとして実デバイスであるデバイス部２３に対して供給することが可能となる。
【００３４】
そして、ステップ６２において、ポートのステータスを実デバイスへ接続する。
ポート制御部３４は、接続信号ＳＣＮによりリクエスト判定部３１を制御し、切換信号ＣＳａにより切換スイッチ３２ａの接続をデバイス部２３のステータス信号ＳＴＳ側とする。これにより、ＵＳＢ制御部２２ａはデバイス部２３に接続され、デバイス部２３からのステータス信号ＳＴＳがステータス信号ＳＴａとして供給される。
【００３５】
次に、ステップ６３において、ポートのエニュメレーション（Enumeration）を実行する。
ポート制御部３４は、選択したＵＳＢ制御部２２ａに対して応答開始を指示する。ＵＳＢ制御部２２ａの応答開始により、そのＵＳＢ制御部２２ａのポート２１ａに接続されたホスト装置１０ａは、接続処理（エニュメレーション：Enumeration）を実行する。ホスト装置１０ａは、ＵＳＢ制御部２２ａの応答によって接続された機器が有ることを把握し、その機器との間の情報の授受によって接続を図る。機器の接続を確認したホスト装置１０ａは、コンフィグレーション情報を送信する。
【００３６】
次いで、ステップ６４において、ポートのコンフィグレーション（Configuration）を確認する。たとえば、ホスト装置１０ａから受信したコンフィグレーション情報の取り込み、ＵＳＢ仕様、たとえばマス・ストレージ・クラス・プロトコルの動作におけるデバイス部２３の情報の送信を行う。
【００３７】
リクエスト判定部３１は、ホスト装置１０ａから送信されるコンフィグレーション情報を確認する。
そして、ステップ６５において、仮想デバイスステータス制御へ接続する。
【００３８】
リクエスト判定部３１は、確認したコンフィグレーション情報に基づいて、切換信号ＣＳａを出力し、切換スイッチ３２ａを介してＵＳＢ制御部２２ａとステータス制御部３３とを互いに接続する。これにより、ステータス制御部３３から出力される仮想ステータス信号ＡＳａがＵＳＢ制御部２２ａに供給される。
【００３９】
次いで、ステップ６６において、ステータスへビジー（Busy）を設定する。
ステータス制御部３３は、ビジー（Ｂｕｓｙ）を示す仮想ステータス信号ＡＳａを出力する。ＵＳＢ制御部２２ａは、ビジーを示すステータス信号ＳＴａ（仮想ステータス信号ＡＳａ）に基づいて、ホスト装置１０ａからの要求信号（Ｔｏｋｅｎ）に対して否定応答信号ＮＡＫを送信する。この否定応答信号ＮＡＫにより、ＵＳＢ制御部２２ａは、ホスト装置１０ａとの接続を維持し、アクセス待ち状態となる。
【００４０】
そして、ステップ６７において、全ポート（Port）完了を判定する。
ステータス制御部３３は、ポート制御部３４に対して通知信号ＳＡＫによりビジーを示す仮想ステータス信号ＡＳａを出力した旨を通知する。ポート制御部３４は、通知信号ＳＡＫにより、ＵＳＢ制御部２２ａに対するホスト装置１０ａの接続を認識する。そして、ポート制御部３４は、全てのＵＳＢ制御部２２ａ〜２２ｄについて、ホスト装置の接続を確認したか否かを判定する。全てのＵＳＢ制御部２２ａ〜２２ｄについてホスト装置の接続を確認していない場合（判定：ＮＯ）、ステップ６１に移行し、次のＵＳＢ制御部に対する処理を行う。一方、全てのＵＳＢ制御部２２ａ〜２２ｄについてホスト装置の接続を確認した場合（判定：ＹＥＳ）、次のステップ（図５に示すステップ６８）へ移行する。
【００４１】
次に、図５に示すステップ６８において、接続されたホスト装置の数を判定する。
ポート制御部３４は、ステータス制御部３３からの通知信号ＳＡＫに基づいて、接続されたホスト装置の数を判定する。ホスト装置が接続されていない場合（判定：ＮＯ）、処理を終了する。一方、１つ以上のホスト装置が接続されている場合、次のステップ６９へ移行する。
【００４２】
ステップ６９において、アクティブポート（ＡＰ）を確認する。
ポート制御部３４は、ラウンドロビン方式によって上記の処理によってホスト装置が接続された全てのＵＳＢ制御部２２ａ〜２２ｄを順次選択する。
【００４３】
リクエスト判定部３１は、ＵＳＢ制御部２２ａ〜２２ｄについてアクティブポート（ＡＰ）を確認する。例えば、リクエスト判定部３１は、ＵＳＢ制御部２２ａからリクエスト信号ＲＱａが出力されているかを判定し、リクエスト信号ＲＱａが出力されている場合にＵＳＢ制御部２２ａをアクティブポート（ＡＰ）とする。
【００４４】
そして、ステップ７０において、アクティブポート（ＡＰ）設定を判定する。
ステップ６９においてアクティブポート（ＡＰ）を設定した場合（判定：ＹＥＳ）、次のステップ７１へ移行する。一方、設定していない場合（判定：ＮＯ）、ステップ６９へ移行し、次のＵＳＢ制御部について確認を行う。
【００４５】
ポート制御部３４は、ラウンドロビン方式によって巡回的に、ホスト装置１０ａ〜１０ｄが接続されたＵＳＢ制御部２２ａ〜２２ｄを順次選択する。リクエスト判定部３１は、選択されたＵＳＢ制御部についてアクティブポート（ＡＰ）を確認する。このとき、リクエスト判定部３１は、前回アクティブポート（ＡＰ）に設定したポート以外のポートを優先してアクティブポートか否かを確認する。たとえば、ポート制御部３４は、ラウンドロビン方式によって巡回的にＵＳＢ制御部２２ａ〜２２ｄを順次選択する。したがって、直近にてアクティブポートに設定したＵＳＢ制御部の次のＵＳＢ制御部から順次確認する。これにより、ＵＳＢ制御部２２ａ〜２２ｄに対してアクティブポートを設定する割合を平均化する。
【００４６】
ステップ７１において、アクティブポート（ＡＰ）のリクエスト制御を実デバイスへ接続する。
リクエスト判定部３１は、アクティブポート（ＡＰ）に設定したＵＳＢ制御部２２ａを、制御信号線ＬＣＴを介してデバイス部２３に接続する。
【００４７】
次いで、ステップ７２において、アクティブポート（ＡＰ）のステータス制御を実デバイスへ接続する。
リクエスト判定部３１は、アクティブポート（ＡＰ）に設定したＵＳＢ制御部２２ａに対応する切換スイッチ３２ａを切換信号ＣＳａにより制御し、ＵＳＢ制御部２２ａをデバイス部２３に接続する。
【００４８】
このとき、アクティブポート（ＡＰ）に設定したＵＳＢ制御部２２ａ以外のＵＳＢ制御部２２ｂ〜２２ｄは、切換スイッチ３２ｂ〜３２ｄにより仮想デバイス部２４に接続されている。したがって、ＵＳＢ制御部２２ｂ〜２２ｄには、仮想デバイス部２４による仮想ステータス信号ＡＳｂ〜ＡＳｄが供給される。仮想デバイス部２４は、ビジー（Ｂｕｓｙ）を示す仮想ステータス信号ＡＳｂ〜ＡＳｄを出力する。ＵＳＢ制御部２２ｂ〜２２ｄは、仮想ステータス信号ＡＳｂ〜ＡＳｄに基づいて、ホスト装置１０ｂ〜１０ｄからの全ての要求信号（Ｔｏｋｅｎ）に対して否定応答信号ＮＡＫを送信する。この否定応答信号ＮＡＫにより、ＵＳＢ制御部２２ａは、ホスト装置１０ａ〜１０ｄとの接続を維持し、アクセスを排他制御する。
【００４９】
以下、データアクセスに応じて各ステップの処理を説明する。
［データリード］
先ず、リード要求に応じたデータアクセス（データリード）を説明する。
【００５０】
ステップ７３において、ＵＳＢデータアクセスを実施する。
上記のステップ７１により、ＵＳＢ制御部２２ａのリクエスト信号ＲＱａが内部リクエスト信号ＲＥＱとしてデバイス部２３に供給される。デバイス部２３は、リクエスト信号ＲＱａに応じて動作し、ステータス信号ＳＴＳを出力する。このステータス信号ＳＴＳは、切換スイッチ３２ａを介してステータス信号ＳＴａとしてＵＳＢ制御部２２ａに供給される。ＵＳＢ制御部２２ａは、ステータス信号ＳＴａに基づいて、ホスト装置１０ａに対して応答する。つまり、ＵＳＢ制御部２２ａは、図３に示すステップ５３，５４の処理を実行する。これにより、ホスト装置１０ａは、デバイス部２３に対してデータアクセスする。デバイス部２３は、ホスト装置１０ａのデータアクセスに応じてデータを出力する。デバイス部２３からのデータは、データ信号線ＬＤＴ、ＵＳＢ制御部２２ａ、ポート２１ａを介してホスト装置１０ａへ送信される。
【００５１】
ステップ７４において、アクティブポート（ＡＰ）のアクセス完了を確認する。
リクエスト判定部３１は、ＵＳＢ制御部２２ａから出力されるリクエスト信号ＲＱａを解析し、ＵＳＢ制御部２２ａを介して実施されるホスト装置１０ａのアクセス完了を確認する。
【００５２】
そして、ステップ７５において、アクセス完了を判定する。
リクエスト判定部３１は、ホスト装置１０ａによるアクセスが完了したか否かを判定する。アクセスが完了していない場合（判定：ＮＯ）、ステップ７４に移行する。これにより、ステップ７４におけるリクエスト信号ＲＱａの解析は、アクセス終了が検出されるまで継続される。アクセスが完了した場合（判定：ＹＥＳ）、次のステップ７６へ移行する。
【００５３】
ステップ７６において、要求がライト（Ｗｒｉｔｅ）要求か否かを判定する。
リクエスト判定部３１は、ＵＳＢ制御部２２ａのリクエスト信号ＲＱａに基づいて、要求の種類を判定する。この場合、リード要求であるため、ステップ６９へ移行し、次のアクティブポート（ＡＰ）を確認する。
【００５４】
［データライト］
次に、ライト要求に応じたデータアクセス（データライト）を説明する。
上記のステップ７３において、ＵＳＢデータアクセスを実施する。
【００５５】
ＵＳＢ制御部２２ａのリクエスト信号ＲＱａが内部リクエスト信号ＲＥＱとしてデバイス部２３に供給される。ホスト装置１０ａからの書き込みデータは、データ信号線ＬＤＴを介してデバイス部２３に供給される。デバイス部２３は、内部リクエスト信号ＲＥＱに基づいて、供給される書き込みデータを記憶する。そして、デバイス部２３は、書き込み完了を示すステータス信号ＳＴＳを出力する。このステータス信号ＳＴＳに基づいて、ＵＳＢ制御部２２ａにステータス信号ＳＴａが供給される。
【００５６】
ステップ７４において、アクティブポート（ＡＰ）のアクセス完了を確認する。
リクエスト判定部３１は、ＵＳＢ制御部２２ａから出力されるリクエスト信号ＲＱａを解析し、ＵＳＢ制御部２２ａを介して実施されるホスト装置１０ａのアクセス完了を確認する。
【００５７】
そして、ステップ７５において、アクセス完了を判定する。
リクエスト判定部３１は、ホスト装置１０ａによるアクセスが完了したか否かを判定する。アクセスが完了していない場合（判定：ＮＯ）、ステップ７４に移行する。これにより、ステップ７４におけるリクエスト信号ＲＱａの解析は、アクセス終了が検出されるまで継続される。アクセスが完了した場合（判定：ＹＥＳ）、次のステップ７６へ移行する。
【００５８】
ステップ７６において、要求がライト（Ｗｒｉｔｅ）要求か否かを判定する。
リクエスト判定部３１は、ＵＳＢ制御部２２ａのリクエスト信号ＲＱａに基づいて、要求の種類を判定する。この場合、ライト要求であるため、次のステップ（図６のステップ７７）へ移行する。
【００５９】
次に、図６に示すステップ７７において、仮想デバイスステータス制御へ接続する。
リクエスト判定部３１は、アクセス完了に基づいて、アクティブポート（ＡＰ）以外の全てのポートについて、切換スイッチ３２ｂ〜３２ｄを切換信号ＣＳｂ〜ＣＳｄにより制御し、ＵＳＢ制御部２２ｂ〜２２ｄを仮想デバイス部２４に順次接続する。なお、以下のステップの説明において、ＵＳＢ制御部２２ｂに対する処理を説明する。
【００６０】
ステップ７８において、ステータスへリセット（Reset）を設定する。
ステータス制御部３３は、リセット（Ｒｅｓｅｔ）を示す仮想ステータス信号ＡＳｂを出力する。この仮想ステータス信号ＡＳｂは、切換スイッチ３２ｂを介してＵＳＢ制御部２２ｂへと供給される。
【００６１】
ステップ７９において、バスリセット（BusReset）を発行し、ＵＳＢ接続を解除する。
ＵＳＢ制御部２２ｂは、仮想ステータス信号ＡＳｂに基づいて、バスリセット（ＢｕｓＲｅｓｅｔ）を発行し、ホスト装置１０ｂとの間のＵＳＢ接続を解除する。
【００６２】
ステップ８０において、ポートのリクエストを実デバイスへ接続する。
リクエスト判定部３１は、ＵＳＢ制御部２２ｂを、制御信号線ＬＣＴを介してデバイス部２３に接続する。
【００６３】
次いで、ステップ８１において、ポートのステータスを実デバイスへ接続する。
リクエスト判定部３１は、切換スイッチ３２ａを切換信号ＣＳａにより制御し、ＵＳＢ制御部２２ａを仮想デバイス部２４に接続する。
【００６４】
ステップ８２において、ポートのエニュメレーション（Enumeration）を実行する。
ポート制御部３４は、ＵＳＢ制御部２２ｂに対して応答開始を指示する。ＵＳＢ制御部２２ｂの応答開始により、そのＵＳＢ制御部２２ｂのポート２１ｂに接続されたホスト装置１０ｂは、接続処理（エニュメレーション）を実行する。ホスト装置１０ｂは、ＵＳＢ制御部２２ｂの応答によってＵＳＢ制御部２２ｂを接続された機器と判定し、ＵＳＢ制御部２２ｂとの間の情報の授受により接続を図る。ＵＳＢ制御部２２ｂの接続を確認したホスト装置１０ｂは、コンフィグレーション情報をＵＳＢ制御部２２ｂに送信する。
【００６５】
そして、ステップ８３において、ポートのコンフィグレーション（Configuration）を確認する。たとえば、ホスト装置１０ａから受信したコンフィグレーション情報の取り込み、ＵＳＢ仕様、たとえばマス・ストレージ・クラス・プロトコルの動作におけるデバイス部２３の情報の送信を行う。これにより、ホスト装置１０ｂは、接続された機器、すなわちデバイス部２３の情報を取得する。このとき、ホスト装置１０ｂが取得する情報は、デバイス部２３に対してライトアクセスによってデータが格納された後の情報である。したがって、ライトアクセスによって更新されたデバイス部２３の情報がホスト装置１０ｂの情報に反映される。
【００６６】
リクエスト判定部３１は、ホスト装置１０ｂから送信されるコンフィグレーション情報を確認する。
ステップ８４において、仮想デバイスステータス制御へ接続する。
【００６７】
リクエスト判定部３１は、確認したコンフィグレーション情報に基づいて、切換信号ＣＳｂを出力し、切換信号ＣＳｂを介してＵＳＢ制御部２２ｂと仮想デバイス部２４とを互いに接続する。
【００６８】
ステップ８５において、ステータスへビジー（Busy）を設定する。
ステータス制御部３３は、ビジー（Ｂｕｓｙ）を示す仮想ステータス信号ＡＳｂを出力する。ＵＳＢ制御部２２ｂは、ビジーを示すステータス信号ＳＴｂ（仮想ステータス信号ＡＳｂ）に基づいて、ホスト装置１０ｂからの要求信号（Ｔｏｋｅｎ）に対して否定応答信号ＮＡＫを送信する。この否定応答信号ＮＡＫにより、ＵＳＢ制御部２２ｂは、ホスト装置１０ｂとの接続を維持し、アクセス待ち状態となる。
【００６９】
ステップ８６において、アクティブポート（ＡＰ）以外の全ポート（Port）の完了を判定する。
ステータス制御部３３は、ポート制御部３４に対して通知信号ＳＡＫによりビジーを示す仮想ステータス信号ＡＳａｂ出力した旨を通知する。ポート制御部３４は、通知信号ＳＡＫにより、ＵＳＢ制御部２２ｂに対するホスト装置１０ｂの接続を認識する。そして、ポート制御部３４は、アクティブポート（ＡＰ）以外の全てのＵＳＢ制御部２２ｂ〜２２ｄについて、ホスト装置の接続を確認したか否かを判定する。アクティブポート（ＡＰ）以外の全てのＵＳＢ制御部２２ｂ〜２２ｄについてホスト装置の接続を確認していない場合（判定：ＮＯ）、ステップ７７に移行し、次のＵＳＢ制御部に対する処理を行う。一方、全てのＵＳＢ制御部２２ｂ〜２２ｄについてホスト装置の接続を確認した場合（判定：ＹＥＳ）、図５に示すステップ６８へ移行する。
【００７０】
次に、上記の周辺デバイス２０の作用を説明する。
図７に示すように、ホスト装置１０ｄがアクティブポート（ＡＰ）に設定される。このとき、他のホスト装置１０ａ〜１０ｃは、仮想デバイス部２４によってＵＳＢ制御部２２ａ〜２２ｃから送信される否定応答信号ＮＡＫに基づいてアクセス待ち状態にある。
【００７１】
ホスト装置１０ｄは、破線にて示すように、ＵＳＢ制御部２２ｄと仮想デバイス部２４を介してデバイス部２３をアクセスする。たとえば、ホスト装置１０ｄは、デバイス部２３から１つのファイルを削除する。
【００７２】
図８に示すように、ホスト装置１０ｄのアクセスが完了すると、仮想デバイス部２４は、ＵＳＢ制御部２２ｄを介してホスト装置１０ｄに否定応答信号ＮＡＫを出力する。そして、仮想デバイス部２４は、破線にて示すように、他のホスト装置１０ａ〜１０ｃに対して、リセット（Ｒｅｓｅｔ）を示す仮想ステータス信号ＡＳａ〜ＡＳｃを順次出力する。ＵＳＢ制御部２２ａ〜２２ｃは、それぞれバスリセット（ＢｕｓＲｅｓｅｔ）を発行してＵＳＢ接続を一時的に切断する。ホスト装置１０ａ〜１０ｃから送信されたリクエスト信号は、ＵＳＢ接続の切断により破棄される。そして、各ホスト装置１０ａ〜１０ｃは、各ポート２１ａ〜２１ｃに対して再接続される。ホスト装置１０ａ〜１０ｃは、再接続により接続処理（エニュメレーション）を実行する。この接続処理と、クラス動作において、ホスト装置１０ａ〜１０ｃは、デバイス部２３の情報を取得する。これにより、ホスト装置１０ａ〜１０ｃにおける情報が更新される。更新された情報は、ホスト装置１０ａにより削除されたファイルを含まない。したがって、更新された情報により、ホスト装置１０ａ〜１０ｃは無駄なアクセス要求を発行しないため、エラーは発生しない。
【００７３】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）周辺デバイス２０は、ポート２１ａ〜２１ｄを介してホスト装置１０ａ〜１０ｄに接続されるＵＳＢ制御部２２ａ〜２２ｄと、ホスト装置１０ａ〜１０ｄがアクセスするデバイス部２３を有している。ＵＳＢ制御部２２ａ〜２２ｄとデバイス部２３の間には、仮想デバイス部２４が接続されている。仮想デバイス部２４は、デバイス部２３に対してＵＳＢ制御部２２ａ〜２２ｄを介したホスト装置１０ａ〜１０ｄのアクセスを制御する。仮想デバイス部２４は、ＵＳＢ制御部２２ａ〜２２ｄのうちの１つをアクティブポート（ＡＰ）に設定し、そのアクティブポートに対してデバイス部２３のアクセスを許可する。そして、仮想デバイス部２４は、アクティブポートのアクセスの種類を判定し、ライトアクセスの場合に、アクティブポート以外のＵＳＢ制御部２２ａ〜２２ｄに対して、リセット（Ｒｅｓｅｔ）を示す仮想ステータス信号ＡＳａ〜ＡＳｄ（リセットステータス）を出力する。ＵＳＢ制御部２２ａ〜２２ｄは、その仮想ステータス信号ＡＳａ〜ＡＳｄに基づいて、バスリセットを発行する。ＵＳＢ制御部２２ａ〜２２ｄに接続されたホスト装置１０ａ〜１０ｄは、バスリセットに基づいて接続処理（エニュメレーション）と、クラス動作を実行し、デバイス部２３の情報を取得する。このように、ホスト装置１０ａ〜１０ｃは、デバイス部２３の情報を更新する。更新された情報は、ホスト装置１０ａにより削除されたファイルを含まない。したがって、更新された情報により、ホスト装置１０ａ〜１０ｃは無駄なアクセス要求を発行しないため、エラーの発生を抑制することができる。
【００７４】
（２）ＵＳＢ制御部２２ａ〜２２ｄは、リセットを示す仮想ステータス信号ＡＳａ〜ＡＳｄに基づいてバスリセットを発行する。このバスリセットにより、ＵＳＢ接続が一時的に切断される。ホスト装置１０ａ〜１０ｄからの要求は、ＵＳＢ接続の切断により破棄される。したがって、ホスト装置１０ａ〜１０ｄから削除されたファイルに対するアクセス要求があっても、その要求はバスリセットにより破棄されるため、無駄なアクセスを抑制し、エラーの発生を防止することができる。
【００７５】
（３）仮想デバイス部２４は、アクティブポート（例えばＵＳＢ制御部２２ａ）に対してデバイス部２３のアクセスを許可し、アクティブポート以外のＵＳＢ制御部２２ｂ〜２２ｄに対してビジー（Ｂｕｓｙ）を示す仮想ステータス信号ＡＳｂ〜ＡＳｄ（ビジーステータス）を出力する。ＵＳＢ制御部２２ｂ〜２２ｄは、仮想ステータス信号ＡＳｂ〜ＡＳｄに基づいて、否定応答信号ＮＡＫを出力する。これにより、ホスト装置１０ｂ〜１０ｄは、アクセス待ち状態となる。このように、仮想デバイス部２４は、複数のホスト装置１０ａ〜１０ｄのアクセスを容易に排他制御することができる。
【００７６】
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態は、４つのポート２１ａ〜２１ｄを有する周辺デバイス２０を説明したが、ポートの数を、２つ，３つ，５つ以上に適宜変更してもよい。
【００７７】
・上記実施形態における周辺デバイスは、記憶装置を有していればよく、データを記憶する記憶部を含む周辺装置としてもよい。このような周辺装置は、例えばデジタルスチルカメラ、デジタルビデオカメラ、プリンタ、複合機等である。
【符号の説明】
【００７８】
２０  周辺デバイス（電子デバイス）
２１ａ〜２１ｄ  ポート
２２ａ〜２２ｄ  ＵＳＢ制御部（バス制御部）
２３  デバイス部（実デバイス）
２４  仮想デバイス部（アクセス制御部）
３１  リクエスト判定部
３２ａ〜３２ｄ  切換スイッチ
３３  ステータス制御部
３４  ポート制御部
ＲＱａ〜ＲＱｄ  リクエスト信号
ＲＥＱ  内部リクエスト信号
ＳＴＳ  ステータス信号
ＳＴａ〜ＳＴｄ  ステータス信号
ＡＳａ〜ＡＳｄ  仮想ステータス信号
【図１】
2015176458.tif 000003
【図２】
2015176458.tif 000004
【図３】
2015176458.tif 000005
【図４】
2015176458.tif 000006
【図５】
2015176458.tif 000007
【図６】
2015176458.tif 000008
【図７】
2015176458.tif 000009
【図８】
2015176458.tif 000010
【図９】
2015176458.tif 000011
【図１０】
2015176458.tif 000012