(57)【要約】  例えば、ＵＳＢホスト［１］１０ａおよびＵＳＢホスト［２］１０ｂからなる複数のＵＳＢホストと、メモリカード等の外部メディア１３が接続され、前記複数のＵＳＢホストにそれぞれＵＳＢケーブル１２ａ，１２ｂで接続可能なＵＳＢリーダライタ１１とを設け、ＵＳＢリーダライタ１１内のソフトウエア等に、一方のＵＳＢホストから前記外部メディア１３に対する書き込み処理中は他方のＵＳＢホストからの書き込み要求を拒否する機能などを備えることによって、前記複数のＵＳＢホストによる前記外部メディア１３の共有アクセスを実現する。【特許請求の範囲】
【請求項１】
複数のＵＳＢホストと、外部記憶媒体としての機能を含んだＵＳＢファンクションとを有し、前記複数のＵＳＢホストと前記ＵＳＢファンクションとの間でＵＳＢプロトコルに基づくデータ転送を行うＵＳＢストレージシステムであって、
前記ＵＳＢファンクションは、前記複数のＵＳＢホストが前記ＵＳＢファンクションに接続された状態で、前記複数のＵＳＢホストが前記ＵＳＢファンクションの前記外部記憶媒体に対して共有アクセスを行うことを可能にする機能を有することを特徴とするＵＳＢストレージシステム。
【請求項２】
請求項１記載のＵＳＢストレージシステムにおいて、
前記共有アクセスを行うことを可能にする機能は、前記複数のＵＳＢホストの中の一つのＵＳＢホストが前記外部記憶媒体に対して書き込みの処理を実行している間は、前記複数のＵＳＢホストの中の他のＵＳＢホストから発生した書き込み要求を拒否する機能を含むことを特徴とするＵＳＢストレージシステム。
【請求項３】
請求項１記載のＵＳＢストレージシステムにおいて、
前記複数のＵＳＢホストは、第１のＵＳＢホストと第２のＵＳＢホストを含み、
前記共有アクセスを行うことを可能にする機能は、前記第１のＵＳＢホストが発生した前記外部記憶媒体に対する第１の書き込み要求の対応処理中に、前記第２のＵＳＢホストから前記外部記憶媒体に対する第２の書き込み要求が発生した場合に、前記第２のＵＳＢホストに対して前記第２の書き込み要求の拒否を通知し、前記第１の書き込み要求の対応処理を継続する機能を含むことを特徴とするＵＳＢストレージシステム。
【請求項４】
請求項１〜３のいずれか１項に記載のＵＳＢストレージシステムにおいて、
前記外部記憶媒体としての機能は、メモリカードによって実現されることを特徴とするＵＳＢストレージシステム。
【請求項５】
複数のＵＳＢホストと、外部記憶媒体としての機能を含んだＵＳＢファンクションとを有するＵＳＢストレージシステムであって、
前記ＵＳＢファンクションは、
前記複数のＵＳＢホストが接続される複数のＵＳＢコネクタ端子と、
前記複数のＵＳＢホストとの間でＵＳＢプロトコルに基づくデータ転送を行う機能と、
前記外部記憶媒体との間で所定のプロトコルに基づくデータ転送を行う機能と、
前記ＵＳＢプロトコルと前記所定のプロトコルとを相互に変換する機能とを有し、
さらに、前記複数のＵＳＢホストの中の一つのＵＳＢホストが前記外部記憶媒体に対して書き込みの処理を実行しいている間は、前記複数のＵＳＢホストの中の他のＵＳＢホストから発生した書き込み要求を拒否する機能を備えることを特徴とするＵＳＢストレージシステム。
【請求項６】
請求項５記載のＵＳＢストレージシステムにおいて、
前記書き込み要求を拒否する機能は、前記ＵＳＢファンクションが備えたコンピュータによるプログラム処理によって実現され、
前記プログラム処理は、
前記一つのＵＳＢホストからの前記外部記憶媒体に対する書き込み要求を受け付けた際にオペレーションフラグを設定するステップと、
前記受け付けた書き込み要求の処理を終了した際に前記オペレーションフラグを解除するステップと、
前記オペレーションフラグが設定されている間に前記他のＵＳＢホストからの書き込み要求が発生した際に、前記発生した書き込み要求の拒否を前記他のＵＳＢホストに対して通知するステップとを含むことを特徴とするＵＳＢストレージシステム。
【請求項７】
請求項６記載のＵＳＢストレージシステムにおいて、
前記書き込み要求の拒否を通知するステップは、リクエストセンスコマンドのデータを用いて行われることを特徴とするＵＳＢストレージシステム。
【請求項８】
複数のＵＳＢホストに接続される複数のＵＳＢコネクタ端子と、外部記憶メディアに接続されるメディアコネクタ端子とを備え、ＵＳＢプロトコルに基づいて前記複数のＵＳＢホストとの間のデータ転送が可能なＵＳＢストレージデバイスであって、
前記複数のＵＳＢコネクタ端子に前記複数のＵＳＢホストが接続され、なおかつ前記メディアコネクタ端子に前記外部記憶メディアが接続された状態で、前記複数のＵＳＢホストが前記外部記憶メディアに対して共有アクセスを行うことを可能にする機能を有することを特徴とするＵＳＢストレージデバイス。
【請求項９】
請求項８記載のＵＳＢストレージデバイスにおいて、
前記外部記憶メディアは、メモリカードであることを特徴とするＵＳＢストレージデバイス。
【請求項１０】
請求項８記載のＵＳＢストレージデバイスにおいて、
前記メディアコネクタ端子を複数備え、
前記複数のメディアコネクタ端子には、同種類または異種類の複数のメモリカードが接続されることを特徴とするＵＳＢストレージデバイス。
【請求項１１】
請求項１０記載のＵＳＢストレージデバイスにおいて、
前記複数のＵＳＢコネクタ端子と前記複数のメディアコネクタ端子との間の接続を任意に設定可能にするブリッジ機能を有することを特徴とするＵＳＢストレージデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ストレージシステムおよびＵＳＢストレージデバイスに関し、特に、複数のホストに接続して用いられるＵＳＢストレージシステムおよびＵＳＢストレージデバイスに適用して有効な技術に関するものである。
【背景技術】
【０００２】
本発明者が検討したところによれば、ＵＳＢストレージシステムの技術に関しては、以下のような技術が考えられる。【０００３】
近年、プラグアンドプレイ機能などによる使用の容易さやＵＳＢ２．０規格によるデータ転送速度の向上により、メモリカード、フロッピーディスク（登録商標）などの外部メディアをリムーバブルディスクとして扱うＵＳＢストレージデバイス（以下、ＵＳＢリーダライタと呼ぶ）が数多く存在している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、前記のようなＵＳＢストレージシステムの技術について、本発明者が検討した結果、以下のようなことが明らかとなった。【０００５】
近年のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）の低価格化にともない、複数のＰＣを使用するユーザーが増えている。このような中、ＵＳＢストレージシステムの構成としては、通常、図１０に示すようなものが挙げられる。図１０は、本発明の前提として検討した技術のＵＳＢストレージシステムにおいて、その構成の一例を示す概略図であり、（ａ）〜（ｃ）は、それぞれ異なる構成例を示すものである。【０００６】
まず、図１０（ａ）では、ＵＳＢケーブル１０２によってＵＳＢホストＰＣ１００に接続されたＵＳＢリーダライタ１０１ａが、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードまたはフロッピーディスクといった１個の外部メディアを挿入可能となっている。図１０（ｂ）では、図１０（ａ）と同様に接続されたＵＳＢリーダライタ１０１ｂが、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ（登録商標））カード、ＳＤメモリカードおよびメモリースティック（登録商標）といった種類の異なる複数個の外部メディア[１]，[２]，…，[Ｎ]を挿入可能となっている。図１０（ｃ）では、図１０（ａ）と同様に接続されたＵＳＢリーダライタ１０１ｃが、ＭＭＣ（ＭｕｌｔｉＭｅｄｉａＣａｒｄ（登録商標））カード等からなる同種の複数個の外部メディア[１]，[２]，…，[Ｎ]を挿入可能となっている。【０００７】
ただし、いずれの構成においても、ＵＳＢホストＰＣと外部メディアの対応関係は、１対１または１対多となっている。したがって、例えば、複数のＰＣを使用するユーザーが、ある外部メディアを複数のＰＣ（ＵＳＢホストＰＣ）で使用する場合には、例えば、図１１に示すような作業が行われる。【０００８】
図１１は、本発明の前提として検討した技術のＵＳＢストレージシステムにおいて、特定の外部メディアを複数のＵＳＢホストＰＣで使用する場合の作業内容を説明するための図である。すなわち、ＵＳＢホストＰＣ[１]１１０ａで外部メディアを使用後、ＵＳＢホストＰＣ[１]１１０ａに接続されているＵＳＢケーブル１１２を抜き（Ｓ１１０）、ＵＳＢホストＰＣ[２]にＵＳＢケーブル１１２を接続する（Ｓ１１１）という作業が行われる。【０００９】
このように、複数のＰＣで特定の外部メディアを使用する際には、ユーザーがＵＳＢケーブルの再接続といった面倒な作業を行う必要がある。そして、ＵＳＢケーブルを再接続する度に、プラグアンドプレイによるＵＳＢネットワークの再構成とメモリカード等の外部メディアの初期化が必要となり、時間や電力が無駄に消費される。【００１０】
そこで、本発明の目的は、複数のホストによって使用される際に、時間的な効率を向上されることが可能なＵＳＢストレージシステムおよびＵＳＢストレージデバイスを提供することにある。【００１１】
また、本発明の他の目的は、複数のホストによって使用される際に、省電力化を図ることが可能なＵＳＢストレージシステムおよびＵＳＢストレージデバイスを提供することにある。【００１２】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。【００１４】
本発明によるＵＳＢストレージシステムは、複数のＵＳＢホストと、外部記憶媒体としての機能を含んだＵＳＢファンクションとを有し、ＵＳＢファンクションと複数のＵＳＢホストとの間でＵＳＢプロトコルに基づくデータ転送を行うものである。そして、前記ＵＳＢファンクションは、複数のＵＳＢホストがＵＳＢファンクションに接続された状態で、複数のＵＳＢホストがＵＳＢファンクションの外部記憶媒体に対して共有アクセスを行うことを可能にする機能を有するものとなっている。【００１５】
これによって、外部記憶媒体としてのＵＳＢファンクションを複数のＵＳＢホストで使用する際に、ＵＳＢケーブルの再接続やそれに伴う初期化といった作業および処理が不要となり、時間的な効率が向上し、また、省電力化を図ることも可能となる。【００１６】
ここで、前記共有アクセスを行うことを可能にする機能は、例えば、複数のＵＳＢホストの中の一つのＵＳＢホストがＵＳＢファンクションの外部記憶媒体に対して書き込みの処理を実行している間は、複数のＵＳＢホストの中の他のＵＳＢホストから発生した書き込み要求を拒否する機能を含むものとなっている。【００１７】
これによって、外部記憶媒体としてのＵＳＢファンクションに記憶されたデータが、複数のＵＳＢホストからの書き込みによって破壊することなどを防止することが可能になる。【００１８】
また、前記複数のＵＳＢホストは、第１のＵＳＢホストと第２のＵＳＢホストを含み、前記共有アクセスを行うことを可能にする機能は、第１のＵＳＢホストが発生したＵＳＢファンクションの外部記憶媒体に対する第１の書き込み要求の対応処理中に、第２のＵＳＢホストから当該外部記憶媒体に対する第２の書き込み要求が発生した場合に、第２のＵＳＢホストに対して第２の書き込み要求の拒否を通知し、第１の書き込み要求の対応処理を継続する機能を含むものとなっている。【００１９】
なお、ＵＳＢファンクションの外部記憶媒体としての機能は、例えばメモリカードなどによって実現されるものである。これによって、従来、ＵＳＢケーブルを再接続する毎に必要となっていたメモリカードの初期化処理などが削減でき、時間的な効率が向上し、省電力化を図ることが可能になる。【００２０】
また、本発明によるＵＳＢストレージシステムは、複数のＵＳＢホストと、外部記憶媒体としての機能を含んだＵＳＢファンクションとを有し、前記ＵＳＢファンクションは、複数のＵＳＢホストが接続される複数のＵＳＢコネクタ端子と、複数のＵＳＢホストとの間でＵＳＢプロトコルに基づくデータ転送を行う機能と、ＵＳＢファンクションの外部記憶媒体との間で所定のプロトコルに基づくデータ転送を行う機能と、ＵＳＢプロトコルと前記所定のプロトコルとを相互に変換する機能とを備え、さらに、複数のＵＳＢホストの中の一つのＵＳＢホストがＵＳＢファンクションの外部記憶媒体に対して書き込みの処理を実行しいている間は、他のＵＳＢホストから発生した書き込み要求を拒否する機能を備えるものとなっている。【００２１】
ここで、前記書き込み要求を拒否する機能は、ＵＳＢファンクションが備えたコンピュータによるプログラム処理によって実現され、このプログラム処理は、前記一つのＵＳＢホストからの前記外部記憶媒体に対する書き込み要求を受け付けた際にオペレーションフラグを設定するステップと、この受け付けた書き込み要求の処理を終了した際にオペレーションフラグを解除するステップと、オペレーションフラグが設定されている間に前記他のＵＳＢホストからの書き込み要求が発生した際に、この発生した書き込み要求の拒否を前記他のＵＳＢホストに対して通知するステップとを含むものとなっている。すなわち、ソフトウエアに前記書き込み要求を拒否する機能を追加することで、複数のＵＳＢホストによる外部記憶媒体の共有を容易に実現することが可能になる。なお、前記書き込み要求の拒否を通知するステップは、例えば、リクエストセンスコマンドのデータを用いて行うことができる。【００２２】
また、本発明のＵＳＢストレージデバイスは、複数のＵＳＢホストに接続される複数のＵＳＢコネクタ端子と、外部記憶メディアに接続されるメディアコネクタ端子とを備え、ＵＳＢプロトコルに基づいて前記複数のＵＳＢホストとの間のデータ転送が可能なものであり、そして、前記複数のＵＳＢコネクタ端子に複数のＵＳＢホストが接続され、なおかつ前記メディアコネクタ端子に外部記憶メディアが接続された状態で、複数のＵＳＢホストが外部記憶メディアに対して共有アクセスを行うことを可能にする機能を有するものとなっている。【００２３】
なお、前記外部記憶メディアとしては、例えばメモリカードが挙げられる。また、前記ＵＳＢストレージデバイスは、前記メディアコネクタ端子を複数備え、この複数のメディアコネクタ端子に対して、同種類または異種類の複数のメモリカードが接続される構成にしてもよい。また、前記ＵＳＢストレージデバイスに、前記複数のＵＳＢコネクタ端子と前記複数のメディアコネクタ端子との間の接続を任意に設定可能にするブリッジ機能を備えることも可能である。
【発明の効果】
【００２４】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。【００２５】
外部記憶媒体としての機能を備えたＵＳＢファンクション内に、複数のＵＳＢホストによる前記外部記憶媒体の共有アクセスを可能にする機能を設けることで、複数のＵＳＢホストによって前記外部記憶媒体を使用する際の時間的な効率を向上されることが可能になり、また、省電力化を図ることが可能になる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施の形態によるＵＳＢストレージシステムにおいて、そのシステム構成の一例を示す概略図である。
【図２】図１のＵＳＢストレージシステムにおいて、ＵＳＢホストの論理構成の一例を示す図である。
【図３】図１のＵＳＢストレージシステムにおいて、ＵＳＢリーダライタの論理構成の一例を示す図である。
【図４】図１のＵＳＢストレージシステムにおいて、ＵＳＢリーダライタの外形の一例を示す斜視図である。
【図５】図３のＵＳＢリーダライタにおいて、その動作概要の一例を示す説明図である。
【図６】図３のＵＳＢリーダライタにおいて、インタフェースソフトの処理の一例を示す処理フロー図である。
【図７】図１のシステム構成において、その動作の一例を説明する処理フロー図である。
【図８】本発明の一実施の形態によるＵＳＢストレージシステムにおいて、図１を拡張したシステム構成の一例を示す概略図である。
【図９】本発明の一実施の形態によるＵＳＢストレージシステムにおいて、複数の外部メディアを複数のＵＳＢホストで共有可能にする構成の一例を示す概略図である。
【図１０】本発明の前提として検討した技術のＵＳＢストレージシステムにおいて、その構成の一例を示す概略図であり、（ａ）〜（ｃ）は、それぞれ異なる構成例を示すものである。
【図１１】本発明の前提として検討した技術のＵＳＢストレージシステムにおいて、特定の外部メディアを複数のＵＳＢホストＰＣで使用する場合の作業内容を説明するための図である。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。【００２８】
図１は、本発明の一実施の形態によるＵＳＢストレージシステムにおいて、そのシステム構成の一例を示す概略図である。図１に示すＵＳＢストレージシステムは、例えばＵＳＢホスト［１］１０ａおよびＵＳＢホスト［２］１０ｂからなる複数のＵＳＢホストと、複数のＵＳＢホストにそれぞれＵＳＢケーブル１２ａ，１２ｂで接続され、ＵＳＢファンクションとなるＵＳＢリーダライタ１１から構成される。ＵＳＢホストは、その代表的なものにパーソナルコンピュータなどが挙げられる。【００２９】
ＵＳＢリーダライタ１１は、外部記憶媒体としての機能を備えたＵＳＢストレージデバイスであり、例えば、メモリカードやフロッピーディスクなどの外部メディア（外部記憶メディア）１３を接続することが可能となっている。なお、図１において、ＵＳＢホストは３台以上でも適用可能であるが、簡略化のため以降では、ＵＳＢホストは２台であるとして説明する。【００３０】
ＵＳＢホスト［１］１０ａとＵＳＢホスト［２］１０ｂは、それぞれ、図２に示すような構成となっている。図２は、図１のＵＳＢストレージシステムにおいて、ＵＳＢホストの論理構成の一例を示す図である。図２に示すＵＳＢホストは、上位階層から下位階層に向けてアプリケーション層と、システムソフトウエア層と、ハードウエア層が設けられている。【００３１】
アプリケーション層は、アプリケーションソフトウエア２０を含んでいる。アプリケーションソフトウエア２０の一般的な例としては、例えばフォルダやファイルの操作を行う機能を備えたエクスプローラや、音楽データの再生機能等を備えたオーディオプレーヤーなどが挙げられる。ＵＳＢ転送を行う際、アプリケーション層は、システムソフトウエア層との間でデータの送受信を行う。【００３２】
システムソフトウエア層は、ハードウエア層を管理し、アプリケーション層又はハードウエア層との間の送受信データに対して、ＵＳＢプロトコルに基づく変換などを行う。そして、このような処理を行うソフトウエアとして、システムソフトウエア層は、ＵＳＢマスストレージクラスドライバ２１ａと、ＵＳＢバスドライバ２１ｂとを含んでいる。【００３３】
ＵＳＢマスストレージクラスドライバ２１ａは、ＵＳＢマスストレージクラスという規格で定義されたコマンドトランスポート、データトランスポート、ステータストランスポートの管理などを行う。ＵＳＢバスドライバ２１ｂは、トランザクションの管理などＵＳＢの各クラスに共通な処理を行う。【００３４】
ハードウエア層は、ＵＳＢホストコントローラ２２を含んでいる。ＵＳＢホストコントローラ２２は、ＵＳＢケーブル２３を介してＵＳＢリーダライタと電気的に接続され、ＵＳＢリーダライタの接続検出やＵＳＢリーダライタとの間のパケット送受信といったＵＳＢホストの電気的信号の処理を行うハードウエアである。【００３５】
一方、ＵＳＢリーダライタ１１は、図３および図４に示すような構成となっている。図３は、図１のＵＳＢストレージシステムにおいて、ＵＳＢリーダライタの論理構成の一例を示す図である。図４は、図１のＵＳＢストレージシステムにおいて、ＵＳＢリーダライタの外形の一例を示す斜視図である。【００３６】
図３に示すＵＳＢリーダライタは、例えば、ＵＳＢファンクションモジュール［１］（以下、ＵＳＢモジュール［１］）３０およびＵＳＢファンクションモジュール［２］（以下、ＵＳＢモジュール［２］）３１からなる２個のＵＳＢファンクションモジュールと、外部メディアモジュール３２と、インタフェースソフトウエア（以下、インタフェースソフト）３３などを含んでいる。【００３７】
ＵＳＢモジュール［１］３０は、ソフトウエアであるＵＳＢマスストレージクラスファームウエア［１］３０ａと、ハードウエアであるＵＳＢファンクションコントローラ［１］３０ｂを含み、ＵＳＢケーブル１２ａによってＵＳＢホスト[１]などに接続される。ＵＳＢモジュール［２］３１も同様に、ＵＳＢマスストレージクラスファームウエア［２］３１ａとＵＳＢファンクションコントローラ［２］３１ｂを含み、ＵＳＢケーブル１２ｂによってＵＳＢホスト[２]などに接続される。外部メディアモジュール３２は、ソフトウエアである外部メディアファームウエア３２ａと、ハードウエアである外部メディアホストコントローラ３２ｂを含み、外部メディア１３に接続される。【００３８】
また、これらの構成は、ＵＳＢホストの論理構成と同様に、アプリケーション層と、システムソフトウエア層と、ハードウエア層に分けることができる。このような論理構成で分類すると、アプリケーション層には、インタフェースソフト３３が含まれる。インタフェースソフト３３は、ＵＳＢモジュール［１］３０，［２］３１と外部メディアモジュール３２との間のデータ転送の制御などを担うソフトウエアである。【００３９】
そして、インタフェースソフト３３は、更に、一方のＵＳＢモジュールから外部メディア１３への書き込み要求の対応処理中に、他方のＵＳＢモジュールから書き込み要求が発生した場合の対応処理などを行う機能を備えている。なお、インタフェースソフト３３は、例えば、ＵＳＢリーダライタが備えたＲＯＭ等に格納され、インタフェースソフト３３の実行は、例えば、ＵＳＢリーダライタが備えたマイクロコンピュータおよびＲＡＭ等によって行われる。また、後述するシステムソフトウエア層の各種ソフトウエアもこれと同様である。【００４０】
システムソフトウエア層には、ＵＳＢマスストレージクラスファームウエア［１］３０ａ，［２］３１ａと、外部メディアファームウエア３２ａとが含まれる。ＵＳＢマスストレージクラスファームウエア［１］３０ａ（または［２］３１ａ）は、ＵＳＢファンクションコントローラ［１］３０ｂ（または［２］３１ｂ）の制御や、ＵＳＢマスストレージクラスに固有の処理などを行う。外部メディアファームウエア３２ａは、外部メディア１３のトランザクション管理や外部メディアホストコントローラ３２ｂの制御などを行う。【００４１】
ハードウエア層には、ＵＳＢファンクションコントローラ［１］３０ｂ，［２］３１ｂと、外部メディアホストコントローラ３２ｂとが含まれる。ＵＳＢファンクションコントローラ［１］３０ｂ，［２］３１ｂは、パケット送受信などＵＳＢファンクションの電気的信号の処理を行う。外部メディアホストコントローラ３２ｂは、外部メディア１３へのコマンド送信、外部メディア１３からのレスポンス受信、外部メディア１３とのデータ送受信などといった電気的信号の処理を行う。【００４２】
そして、このようなＵＳＢリーダライタは、例えば図４に示すような外形を備えている。図４に示すＵＳＢリーダライタは、例えば、筐体４０に、２つのＵＳＢコネクタ[１]４１ａ，[２]４１ｂと、外部メディアコネクタ（外部メディアスロット）４２が設けられている。ＵＳＢコネクタ[１]４１ａ，[２]４１ｂは、ＵＳＢファンクション用のコネクタ形状であり、それぞれ、ＵＳＢケーブル１２ａ，１２ｂによってＵＳＢホスト[１]，[２]に接続される。また、外部メディアコネクタ４２には、メモリカードまたはフロッピーディスクといった外部メディアが挿入および接続される。【００４３】
以上のようなシステム構成において、本発明の特徴は、ＵＳＢホスト［１］とＵＳＢホスト［２］による外部メディアの共有アクセスを実現することである。そして、この実現のために、図３で述べたように、ＵＳＢリーダライタに複数のＵＳＢモジュールを設け、更に、インタフェースソフトを用いて、複数のＵＳＢモジュールから同時に処理要求が発生した場合の調停機能を実現させている。以下、このインタフェースソフトの調停機能の詳細について説明する。【００４４】
ＵＳＢホストからＵＳＢリーダライタに向けた要求には、外部メディアのメモリにデータを書き込む要求（以下、書き込み要求）、外部メディアのメモリからデータを読み出す要求（以下、読み出し要求）、及びＵＳＢリーダライタの状態や情報を取得する要求（以下、状態取得要求）がある。【００４５】
ＵＳＢホストが２台になっても、ＵＳＢホストの要求、及び要求に対するＵＳＢリーダライタの対応処理が時間的に重ならない場合や、重なっても外部メディアのメモリ内容を変更しない場合は特に問題は発生しない。つまり、読み出し要求と状態取得要求では、ＵＳＢリーダライタのインタフェースソフトで互いの要求や外部メディアから読み出したデータが重ならないような排他制御をすればよく、外部メディアの記憶データが破壊されるなどの重大な問題は発生しない。ＵＳＢホストが２台となり問題が発生するのは、ＵＳＢリーダライタが、あるＵＳＢホストからの書き込み要求処理中に、他のＵＳＢホストから書き込み要求が発生した場合である。そこで、例えば、次のような動作によりこの問題を回避する。【００４６】
ＵＳＢリーダライタは、あるＵＳＢホスト（ＵＳＢホスト［２］とする）からの書き込み要求の対応処理中に、他のＵＳＢホスト（ＵＳＢホスト［１］とする）から書き込み要求が送られてきた場合は、ＵＳＢホスト［１］の要求を拒否し、ＵＳＢホスト［２］からの書き込み要求の対応処理を継続する。つまり、図５に示すような動作概要となる。【００４７】
図５は、図３のＵＳＢリーダライタにおいて、その動作概要の一例を示す説明図である。図５において、ＵＳＢリーダライタ内のインタフェースソフト３３は、ＵＳＢモジュール［２］３１から書き込み要求［２］を受信すると、受付応答をＵＳＢモジュール［２］３１に返すとともに、外部メディアモジュール３２に書き込み要求［２］に対応するデータを送る。そして、このＵＳＢモジュール［２］３１からの書き込み要求対応処理中に、ＵＳＢモジュール［１］３０から書き込み要求を受信すると、インタフェースソフト３３は、ＵＳＢモジュール［１］３０に対し、仮想的に外部メディア１３がオペレーション状態であることを伝達し、ＵＳＢホスト［１］からの要求を拒否する。【００４８】
この動作概要は、より具体的には、例えば図６に示すような処理フローによって実現される。図６は、図３のＵＳＢリーダライタにおいて、インタフェースソフトの処理の一例を示す処理フロー図である。まず、インタフェースソフト３３は、外部メディア１３の接続後、あるいはＵＳＢケーブル１２ａ（または１２ｂ）の接続後に起動し（Ｓ６０１）、イベント待ち状態となる。インタフェースソフト３３が受信するイベントには、ＵＳＢモジュール（ＵＳＢモジュール［１］３０またはＵＳＢモジュール［２］３１）からのリード要求とライト要求、及び外部メディアモジュール３２からのリード完了通知（インタフェースソフト３３のリード要求に対応したリード完了通知）とライト完了通知（インタフェースソフト３３のライト要求に対応したライト完了通知）がある。【００４９】
イベント待ち状態で、ＵＳＢモジュール[１]３０（または[２]３１）からリード要求があると（Ｓ６０２）、そのリード要求の内容を解析しリード識別情報を作成する（Ｓ６０３）。リード識別情報は、複数のリード要求が重なったとき、それらのリード要求を識別するのに使用する。リード識別情報は、リード要求ＩＤ、要求先のＵＳＢモジュールを識別するＵＳＢモジュール番号、リードアドレス、リードサイズから構成される。リード識別情報作成後、外部メディアモジュール３２にリード要求を行う（Ｓ６０４）。次いで、イベント待ち状態に移行する。【００５０】
イベント待ち状態で、ＵＳＢモジュール[１]３０（または[２]３１）からライト要求があると（Ｓ６０５）、オペレーション状態フラグがＯＮであるか否かを判定する（Ｓ６０６）。オペレーション状態フラグは、外部メディア１３への書き込み処理中であることを示すフラグで、外部メディア１３への書き込み処理が重ならないように排他制御するのに使用し、初期値はＯＦＦである。【００５１】
オペレーション状態フラグがＯＮであると、オペレーション状態通知を作成し、対応するＵＳＢモジュール[１]３０（または[２]３１）に送信することで、書き込み要求を拒否する（Ｓ６０７）。一方、オペレーション状態フラグがＯＦＦであると、オペレーション状態フラグをＯＮにする（Ｓ６０８）。その後、外部メディアモジュール３２にライト要求を行う（Ｓ６０９）。次いで、イベント待ち状態に移行する。【００５２】
イベント待ち状態で、外部メディアモジュール３２からリード完了通知があると（Ｓ６１０）、そのＩＤとリード識別情報を解析し（Ｓ６１１）、対応するＵＳＢモジュール[１]３０（または[２]３１）に、対応するリードデータを送信する（Ｓ６１２）。次いで、イベント待ち状態に移行する。【００５３】
イベント待ち状態で、外部メディアモジュール３２からライト完了通知があると（Ｓ６１３）、オペレーション状態フラグをＯＦＦにし、書き込み処理中であることを解除する（Ｓ６１４）。次いで、イベント待ち状態に移行する。【００５４】
イベント待ち状態で、外部メディア１３の状態をチェックし（Ｓ６１５）、外部メディア１３が取り外されていれば処理を終了する。また、取り外されていなければ、イベント待ち状態を継続する。【００５５】
以上、これまでに述べたようなシステム構成およびその動作等によって、複数のＵＳＢホストで外部メディアを共有して使用することが可能となる。そして、これによって、例えば下記（１），（２）のような効果を得ることができる。【００５６】
（１）特定の外部メディアを複数のＵＳＢホストで使用する際に、ユーザーがＵＳＢケーブルを逐次接続するといった面倒な作業をする必要がなくなる。また、複数のＵＳＢホストを接続しても、ＵＳＢやメモリカードなどのプラグアンドプレイという特徴に対応したＵＳＢリーダライタを実現できる。【００５７】
（２）ＵＳＢケーブルを逐次接続する必要がなくなり、ＵＳＢのネットワークの再構成とＳＤメモリカードなどの外部メディアの再度の初期化が省略できる。その結果、時間的な効率が向上し、また、省電力化を図ることも可能となる。【００５８】
次に、図１のシステム全体としての動作の一例を図７を用いて説明する。図７は、図１のシステム構成において、その動作の一例を説明する処理フロー図である。図７においては、図１のＵＳＢホスト［２］１０ｂがデータ書き込み中に、ＵＳＢホスト［１］１０ａがデータ書き込み要求をＵＳＢリーダライタ１１に送信した場合の処理を例として説明する。また、ここでは、一般的に知られているＵＳＢマスストレージ規格に準じたデータ転送を行うものとする。なお、以下においては、図７内の処理番号に対応させて説明を行う。【００５９】
（１）ＵＳＢホスト［２］１０ｂは、ＵＳＢマスストレージクラスで定義されたライト［２］要求ＣＢＷ（Ｃｏｍｍａｎｄ  Ｂｌｏｃｋ  Ｗｒａｐｐｅｒ）をＵＳＢリーダライタ１１に発行する。なお、ＣＢＷとは、ＵＳＢマスストレージクラスで定義され、ＵＳＢホストがＵＳＢファンクションに要求するコマンドやそれに関連した内容を格納するパケットである。【００６０】
（２）ＵＳＢリーダライタ１１は、ライト［２］要求ＣＢＷを受信すると、ライトアドレスやデータ数を解析する。また、ライト［２］要求ＣＢＷを外部メディア１３固有の命令形式に変換する。すなわち、プロトコル変換を行う。【００６１】
（３）変換完了後、ＵＳＢリーダライタ１１は、外部メディア１３に、前記固有の命令形式に変換されたライト［２］コマンドを発行する。【００６２】
（４）外部メディア１３は、ライト［２］コマンドを受信すると、ライトアドレスやデータ数を解析する。【００６３】
（５）ＵＳＢホスト［２］１０ｂは、ＵＳＢマスストレージクラスで定義された形式でライト［２］データを、ＵＳＢリーダライタ１１に送信する。【００６４】
（６）ＵＳＢリーダライタ１１は、ライト［２］データを受信すると、ライト［２］データを外部メディア１３固有のデータ形式に変換する。すなわち、プロトコル変換を行う。【００６５】
（７）変換完了後、ＵＳＢリーダライタ１１は、外部メディア１３に対し、変換されたライト［２］データを送信する。【００６６】
（８）外部メディア１３は、変換されたライト［２］データを受信するとそれを自身のメモリに書き込む。【００６７】
（１’）ここで、ＵＳＢホスト［１］１０ａは、外部メディア１３のメモリにデータを書き込むため、ＵＳＢマスストレージクラスで定義されたライト［１］ＣＢＷをＵＳＢリーダライタ１１に発行する。【００６８】
（２’）ＵＳＢリーダライタ１１は、ライト［１］要求ＣＢＷを受信するが、ＵＳＢホスト［２］１０ｂのライト［２］要求の対応処理中のため、ＵＳＢホスト［１］１０ａに対してライト［１］要求の拒否を行う。すなわち、前述したインタフェースソフト３３の処理によって、外部メディア１３が仮想的にオペレーション状態であることを通知するオペレーション状態通知を作成する。【００６９】
ここでは、オペレーション状態通知の作成方法の一例として、ＵＳＢマスストレージクラスのＳＣＳＩコマンドで定義されたリクエストセンス（Ｒｅｑｕｅｓｔ  Ｓｅｎｓｅ）コマンドのデータの中で、ＡＳＣ（Ａｄｄｉｔｉｏｎａｌ  Ｓｅｎｓｅ  Ｃｏｄｅ）に０４’ｈを、ＡＳＣＱ（Ａｄｄｉｔｉｏｎａｌ  Ｓｅｎｓｅ  Ｃｏｄｅ  Ｑｕａｌｉｆｉｅｒ）に０７’ｈを設定する。なお、リクエストセンスコマンドのデータとは、ＵＳＢホストがＵＳＢリーダライタに対してリクエストセンスコマンドを発生した際に、ホストに向けて返信されるデータである。【００７０】
（３’）オペレーション状態通知作成完了後、ＵＳＢリーダライタ１１は、当該オペレーション状態通知（ここではリクエストセンスコマンドのデータ）をＵＳＢホスト［１］１０ａに対して送信する。【００７１】
（４’）ＵＳＢホスト［１］１０ａは、オペレーション状態通知を受信すると、外部メディア１３のメモリにはデータを書き込めない状態であることを認識し、上位のアプリケーション等に通知する。【００７２】
（９）外部メディア１３は、変換されたライト［２］データの書き込みが全て完了すると、完了したことをＵＳＢリーダライタ１１に通知する。【００７３】
（１０）ＵＳＢリーダライタ１１は、完了通知を受信すると、それをライト［２］完了ＣＳＷ（Ｃｏｍｍａｎｄ  Ｓｔａｔｕｓ  Ｗｒａｐｐｅｒ）に変換する。なお、ＣＳＷとは、ＵＳＢマスストレージクラスで定義され、ＵＳＢホストがＵＳＢファンクションからＣＢＷに対する実行結果を取得する際に使用するパケットである。【００７４】
（１１）変換完了後、ＵＳＢリーダライタ１１は、ＵＳＢホスト［２］１０ｂにライト［２］完了ＣＳＷを送信する。【００７５】
（１２）ＵＳＢホスト［２］１０ｂは、ライト［２］完了ＣＳＷを受信すると、ライト動作が終了したことを認識し、ライト動作が完了する。【００７６】
以上のようなシステム構成および動作によって、ＵＳＢマスストレージ規格に準じたデータ転送により、外部メディアを複数のホストによって共有することが可能になる。【００７７】
ところで、これまでの説明においては、１つの外部メディアを複数のＵＳＢホストで共有する場合を例としたが、これに限らず、図８に示すように複数の外部メディアを複数のＵＳＢホストで共有することも可能である。【００７８】
図８は、本発明の一実施の形態によるＵＳＢストレージシステムにおいて、図１を拡張したシステム構成の一例を示す概略図である。図８においては、ＵＳＢリーダライタ８２にＮ台のＵＳＢホスト［１］８０ａ，［２］８０ｂ，…，［Ｎ］８０ｎが接続され、更に、ＵＳＢリーダライタ８２には、Ｎ個の外部メディア［１］８３ａ，［２］８３ｂ，…，［Ｎ］８３ｎが挿入されている。【００７９】
通常のＵＢＳストレージシステムにおいては、図１０で述べたように１台のＵＳＢホストから異種または同種のＮ個の外部メディアにアクセスすることが可能となっている。したがって、ＵＳＢリーダライタ８２に対してＮ台のＵＳＢホストを接続すると、ＣＦカード、ＳＤメモリカードおよびメモリースティックといった異種のＮ個の外部メディアをＮ台のＵＳＢホストで共有することが可能になる。また、勿論、同種のＮ個の外部メディアでも同様である。これによって、通常のＵＢＳストレージシステムと比較して、接続作業および初期設定動作などの効率をＮ倍化することが可能になる。【００８０】
また、図９に示すように、ＵＳＢリーダライタ内にブリッジ機能を加えることによって、複数の外部メディアを複数のＵＳＢホストで共有することも可能である。図９は、本発明の一実施の形態によるＵＳＢストレージシステムにおいて、複数の外部メディアを複数のＵＳＢホストで共有可能にする構成の一例を示す概略図である。図９に示すＵＳＢリーダライタは、例えば、複数のＵＳＢコネクタ［１］９０ａ，［２］９０ｂ，…，［Ｎ］９０ｎと、複数の外部メディアコネクタ［１］９１ａ，［２］９１ｂ，…，［Ｎ］９１ｎとを備え、更にこれら複数のＵＳＢコネクタ［１］９０ａ〜［Ｎ］９０ｎと複数の外部メディアコネクタ［１］９１ａ〜［Ｎ］９１ｎとの間の接続を任意に設定可能にするブリッジ機能９２を有するものとなっている。【００８１】
このブリッジ機能９２は、例えば、複数のＵＳＢコネクタ［１］９０ａ〜［Ｎ］９０ｎと複数の外部メディアコネクタ［１］９１ａ〜［Ｎ］９１ｎのそれぞれに対してディップスイッチを設けたり、または、ＵＳＢリーダライタ上のインタフェースソフト３３に選択機能を付加することなどで実現可能となる。【００８２】
このような構成を用いることで、ＵＳＢホストと外部メディアとの接続を、１対１、１対Ｎ、Ｎ対１、またはＮ対Ｎ等のように任意に選択することが可能になる。また、別の観点として、例えば、１つの外部メディアを複数のＵＳＢホストで共有する際に、従来において必要であったＵＳＢケーブルの再接続作業をディップスイッチのＯＮ／ＯＦＦ作業に置換することが可能となる。【００８３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８４】
本発明のＵＳＢストレージシステムは、ＵＳＢファンクションが、ＳＤメモリカードおよびメモリスティック等の各種メモリカードに対応したＵＳＢリーダライタである場合のシステムに適用して特に有益なものであり、さらに、これに限らずフロッピーディスクやハードディスクに対応したＵＳＢリーダライタを備えたシステムに広く適用可能である。
【図１】
2006038260.tif 000002
【図２】
2006038260.tif 000003
【図３】
2006038260.tif 000004
【図４】
2006038260.tif 000005
【図５】
2006038260.tif 000006
【図６】
2006038260.tif 000007
【図７】
2006038260.tif 000008
【図８】
2006038260.tif 000009
【図９】
2006038260.tif 000010
【図１０】
2006038260.tif 000011
【図１１】
2006038260.tif 000012
【手続補正書】
【提出日】平成18年7月28日(2006.7.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】請求の範囲
【請求項１】複数のＵＳＢホストと、外部記憶媒体としての機能を含んだＵＳＢファンクションとを有し、前記複数のＵＳＢホストと前記ＵＳＢファンクションとの間でＵＳＢプロトコルに基づくデータ転送を行うＵＳＢストレージシステムであって、
前記ＵＳＢファンクションは、前記複数のＵＳＢホストが前記ＵＳＢファンクションに接続された状態で、前記複数のＵＳＢホストが前記ＵＳＢファンクションの前記外部記憶媒体に対して共有アクセスを行うことを可能にする第１機能を有し、
前記複数のＵＳＢホストは、第１のＵＳＢホストと第２のＵＳＢホストを含み、
前記第１機能は、前記第１のＵＳＢホストが発生した前記外部記憶媒体に対する第１の書き込み要求の対応処理中に、前記第２のＵＳＢホストから前記外部記憶媒体に対する第２の書き込み要求が発生した場合に、前記第２のＵＳＢホストに対して前記第２の書き込み要求の拒否を通知し、前記第１の書き込み要求の対応処理を継続する第２機能を含むことを特徴とするＵＳＢストレージシステム。
【請求項２】（削除）
【請求項３】（削除）
【請求項４】請求項１記載のＵＳＢストレージシステムにおいて、
前記外部記憶媒体としての機能は、メモリカードによって実現されることを特徴とするＵＳＢストレージシステム。
【請求項５】複数のＵＳＢホストと、外部記憶媒体としての機能を含んだＵＳＢファンクションとを有するＵＳＢストレージシステムであって、
前記ＵＳＢファンクションは、
前記複数のＵＳＢホストが接続される複数のＵＳＢコネクタ端子と、
前記複数のＵＳＢホストとの間でＵＳＢプロトコルに基づくデータ転送を行う第１機能と、
前記外部記憶媒体との間で所定のプロトコルに基づくデータ転送を行う第２機能と、
前記ＵＳＢプロトコルと前記所定のプロトコルとを相互に変換する第３機能と、
前記複数のＵＳＢホストが前記ＵＳＢファンクションに接続された状態で前記複数のＵＳＢホストの中の一つのＵＳＢホストが前記外部記憶媒体に対して書き込みの処理を実行しいている間は、前記複数のＵＳＢホストの中の他のＵＳＢホストから発生した書き込み要求を拒否する第４機能とを有し、
前記第４機能は、前記ＵＳＢファンクションが備えたコンピュータによるプログラム処理によって実現され、
前記プログラム処理は、
前記一つのＵＳＢホストからの前記外部記憶媒体に対する書き込み要求を受け付けた際にオペレーションフラグを設定する第１ステップと、
前記受け付けた書き込み要求の処理を終了した際に前記オペレーションフラグを解除する第２ステップと、
前記オペレーションフラグが設定されている間に前記他のＵＳＢホストからの書き込み要求が発生した際に、前記発生した書き込み要求の拒否を前記他のＵＳＢホストに対して通知する第３ステップとを含むことを特徴とするＵＳＢストレージシステム。
【請求項６】（削除）
【請求項７】請求項５記載のＵＳＢストレージシステムにおいて、
前記第３ステップは、リクエストセンスコマンドのデータを用いて行われることを特徴とするＵＳＢストレージシステム。
【請求項８】複数のＵＳＢホストに接続される複数のＵＳＢコネクタ端子と、外部記憶メディアに接続されるメディアコネクタ端子とを備え、ＵＳＢプロトコルに基づいて前記複数のＵＳＢホストとの間のデータ転送が可能なＵＳＢストレージデバイスであって、
前記複数のＵＳＢコネクタ端子に前記複数のＵＳＢホストが接続され、なおかつ前記メディアコネクタ端子に前記外部記憶メディアが接続された状態で、前記複数のＵＳＢホストが前記外部記憶メディアに対して共有アクセスを行うことを可能にする第１機能を有し、
前記第１機能は、前記複数のＵＳＢホストのいずれかとなる第１のＵＳＢホストが発生した前記外部記憶メディアに対する第１の書き込み要求の対応処理中に、前記複数のＵＳＢホストの他のいずれかとなる第２のＵＳＢホストから前記外部記憶メディアに対する第２の書き込み要求が発生した場合に、前記第２のＵＳＢホストに対して前記第２の書き込み要求の拒否を通知し、前記第１の書き込み要求の対応処理を継続する第２機能を含むことを特徴とするＵＳＢストレージデバイス。
【請求項９】  請求項８記載のＵＳＢストレージデバイスにおいて、
前記外部記憶メディアは、メモリカードであることを特徴とするＵＳＢストレージデバイス。
【請求項１０】  請求項８記載のＵＳＢストレージデバイスにおいて、
前記メディアコネクタ端子を複数備え、
前記複数のメディアコネクタ端子には、同種類または異種類の複数のメモリカードが接続されることを特徴とするＵＳＢストレージデバイス。
【国際調査報告】
2006038260.tif 000013
2006038260.tif 000014
2006038260.tif 000015
2006038260.tif 000016