JPWO2006038260A1 - Usbストレージシステムおよびusbストレージデバイス - Google Patents
Usbストレージシステムおよびusbストレージデバイス Download PDFInfo
- Publication number
- JPWO2006038260A1 JPWO2006038260A1 JP2006539091A JP2006539091A JPWO2006038260A1 JP WO2006038260 A1 JPWO2006038260 A1 JP WO2006038260A1 JP 2006539091 A JP2006539091 A JP 2006539091A JP 2006539091 A JP2006539091 A JP 2006539091A JP WO2006038260 A1 JPWO2006038260 A1 JP WO2006038260A1
- Authority
- JP
- Japan
- Prior art keywords
- usb
- function
- hosts
- host
- storage system
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
例えば、USBホスト[1]10aおよびUSBホスト[2]10bからなる複数のUSBホストと、メモリカード等の外部メディア13が接続され、前記複数のUSBホストにそれぞれUSBケーブル12a,12bで接続可能なUSBリーダライタ11とを設け、USBリーダライタ11内のソフトウエア等に、一方のUSBホストから前記外部メディア13に対する書き込み処理中は他方のUSBホストからの書き込み要求を拒否する機能などを備えることによって、前記複数のUSBホストによる前記外部メディア13の共有アクセスを実現する。
Description
本発明は、USB(Universal Serial Bus)ストレージシステムおよびUSBストレージデバイスに関し、特に、複数のホストに接続して用いられるUSBストレージシステムおよびUSBストレージデバイスに適用して有効な技術に関するものである。
本発明者が検討したところによれば、USBストレージシステムの技術に関しては、以下のような技術が考えられる。
近年、プラグアンドプレイ機能などによる使用の容易さやUSB2.0規格によるデータ転送速度の向上により、メモリカード、フロッピーディスク(登録商標)などの外部メディアをリムーバブルディスクとして扱うUSBストレージデバイス(以下、USBリーダライタと呼ぶ)が数多く存在している。
ところで、前記のようなUSBストレージシステムの技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
近年のPC(Personal Computer)の低価格化にともない、複数のPCを使用するユーザーが増えている。このような中、USBストレージシステムの構成としては、通常、図10に示すようなものが挙げられる。図10は、本発明の前提として検討した技術のUSBストレージシステムにおいて、その構成の一例を示す概略図であり、(a)〜(c)は、それぞれ異なる構成例を示すものである。
まず、図10(a)では、USBケーブル102によってUSBホストPC100に接続されたUSBリーダライタ101aが、SD(Secure Digital)メモリカードまたはフロッピーディスクといった1個の外部メディアを挿入可能となっている。図10(b)では、図10(a)と同様に接続されたUSBリーダライタ101bが、CF(CompactFlash(登録商標))カード、SDメモリカードおよびメモリースティック(登録商標)といった種類の異なる複数個の外部メディア[1],[2],…,[N]を挿入可能となっている。図10(c)では、図10(a)と同様に接続されたUSBリーダライタ101cが、MMC(MultiMediaCard(登録商標))カード等からなる同種の複数個の外部メディア[1],[2],…,[N]を挿入可能となっている。
ただし、いずれの構成においても、USBホストPCと外部メディアの対応関係は、1対1または1対多となっている。したがって、例えば、複数のPCを使用するユーザーが、ある外部メディアを複数のPC(USBホストPC)で使用する場合には、例えば、図11に示すような作業が行われる。
図11は、本発明の前提として検討した技術のUSBストレージシステムにおいて、特定の外部メディアを複数のUSBホストPCで使用する場合の作業内容を説明するための図である。すなわち、USBホストPC[1]110aで外部メディアを使用後、USBホストPC[1]110aに接続されているUSBケーブル112を抜き(S110)、USBホストPC[2]にUSBケーブル112を接続する(S111)という作業が行われる。
このように、複数のPCで特定の外部メディアを使用する際には、ユーザーがUSBケーブルの再接続といった面倒な作業を行う必要がある。そして、USBケーブルを再接続する度に、プラグアンドプレイによるUSBネットワークの再構成とメモリカード等の外部メディアの初期化が必要となり、時間や電力が無駄に消費される。
そこで、本発明の目的は、複数のホストによって使用される際に、時間的な効率を向上されることが可能なUSBストレージシステムおよびUSBストレージデバイスを提供することにある。
また、本発明の他の目的は、複数のホストによって使用される際に、省電力化を図ることが可能なUSBストレージシステムおよびUSBストレージデバイスを提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明によるUSBストレージシステムは、複数のUSBホストと、外部記憶媒体としての機能を含んだUSBファンクションとを有し、USBファンクションと複数のUSBホストとの間でUSBプロトコルに基づくデータ転送を行うものである。そして、前記USBファンクションは、複数のUSBホストがUSBファンクションに接続された状態で、複数のUSBホストがUSBファンクションの外部記憶媒体に対して共有アクセスを行うことを可能にする機能を有するものとなっている。
これによって、外部記憶媒体としてのUSBファンクションを複数のUSBホストで使用する際に、USBケーブルの再接続やそれに伴う初期化といった作業および処理が不要となり、時間的な効率が向上し、また、省電力化を図ることも可能となる。
ここで、前記共有アクセスを行うことを可能にする機能は、例えば、複数のUSBホストの中の一つのUSBホストがUSBファンクションの外部記憶媒体に対して書き込みの処理を実行している間は、複数のUSBホストの中の他のUSBホストから発生した書き込み要求を拒否する機能を含むものとなっている。
これによって、外部記憶媒体としてのUSBファンクションに記憶されたデータが、複数のUSBホストからの書き込みによって破壊することなどを防止することが可能になる。
また、前記複数のUSBホストは、第1のUSBホストと第2のUSBホストを含み、前記共有アクセスを行うことを可能にする機能は、第1のUSBホストが発生したUSBファンクションの外部記憶媒体に対する第1の書き込み要求の対応処理中に、第2のUSBホストから当該外部記憶媒体に対する第2の書き込み要求が発生した場合に、第2のUSBホストに対して第2の書き込み要求の拒否を通知し、第1の書き込み要求の対応処理を継続する機能を含むものとなっている。
なお、USBファンクションの外部記憶媒体としての機能は、例えばメモリカードなどによって実現されるものである。これによって、従来、USBケーブルを再接続する毎に必要となっていたメモリカードの初期化処理などが削減でき、時間的な効率が向上し、省電力化を図ることが可能になる。
また、本発明によるUSBストレージシステムは、複数のUSBホストと、外部記憶媒体としての機能を含んだUSBファンクションとを有し、前記USBファンクションは、複数のUSBホストが接続される複数のUSBコネクタ端子と、複数のUSBホストとの間でUSBプロトコルに基づくデータ転送を行う機能と、USBファンクションの外部記憶媒体との間で所定のプロトコルに基づくデータ転送を行う機能と、USBプロトコルと前記所定のプロトコルとを相互に変換する機能とを備え、さらに、複数のUSBホストの中の一つのUSBホストがUSBファンクションの外部記憶媒体に対して書き込みの処理を実行しいている間は、他のUSBホストから発生した書き込み要求を拒否する機能を備えるものとなっている。
ここで、前記書き込み要求を拒否する機能は、USBファンクションが備えたコンピュータによるプログラム処理によって実現され、このプログラム処理は、前記一つのUSBホストからの前記外部記憶媒体に対する書き込み要求を受け付けた際にオペレーションフラグを設定するステップと、この受け付けた書き込み要求の処理を終了した際にオペレーションフラグを解除するステップと、オペレーションフラグが設定されている間に前記他のUSBホストからの書き込み要求が発生した際に、この発生した書き込み要求の拒否を前記他のUSBホストに対して通知するステップとを含むものとなっている。すなわち、ソフトウエアに前記書き込み要求を拒否する機能を追加することで、複数のUSBホストによる外部記憶媒体の共有を容易に実現することが可能になる。なお、前記書き込み要求の拒否を通知するステップは、例えば、リクエストセンスコマンドのデータを用いて行うことができる。
また、本発明のUSBストレージデバイスは、複数のUSBホストに接続される複数のUSBコネクタ端子と、外部記憶メディアに接続されるメディアコネクタ端子とを備え、USBプロトコルに基づいて前記複数のUSBホストとの間のデータ転送が可能なものであり、そして、前記複数のUSBコネクタ端子に複数のUSBホストが接続され、なおかつ前記メディアコネクタ端子に外部記憶メディアが接続された状態で、複数のUSBホストが外部記憶メディアに対して共有アクセスを行うことを可能にする機能を有するものとなっている。
なお、前記外部記憶メディアとしては、例えばメモリカードが挙げられる。また、前記USBストレージデバイスは、前記メディアコネクタ端子を複数備え、この複数のメディアコネクタ端子に対して、同種類または異種類の複数のメモリカードが接続される構成にしてもよい。また、前記USBストレージデバイスに、前記複数のUSBコネクタ端子と前記複数のメディアコネクタ端子との間の接続を任意に設定可能にするブリッジ機能を備えることも可能である。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
外部記憶媒体としての機能を備えたUSBファンクション内に、複数のUSBホストによる前記外部記憶媒体の共有アクセスを可能にする機能を設けることで、複数のUSBホストによって前記外部記憶媒体を使用する際の時間的な効率を向上されることが可能になり、また、省電力化を図ることが可能になる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
図1は、本発明の一実施の形態によるUSBストレージシステムにおいて、そのシステム構成の一例を示す概略図である。図1に示すUSBストレージシステムは、例えばUSBホスト[1]10aおよびUSBホスト[2]10bからなる複数のUSBホストと、複数のUSBホストにそれぞれUSBケーブル12a,12bで接続され、USBファンクションとなるUSBリーダライタ11から構成される。USBホストは、その代表的なものにパーソナルコンピュータなどが挙げられる。
USBリーダライタ11は、外部記憶媒体としての機能を備えたUSBストレージデバイスであり、例えば、メモリカードやフロッピーディスクなどの外部メディア(外部記憶メディア)13を接続することが可能となっている。なお、図1において、USBホストは3台以上でも適用可能であるが、簡略化のため以降では、USBホストは2台であるとして説明する。
USBホスト[1]10aとUSBホスト[2]10bは、それぞれ、図2に示すような構成となっている。図2は、図1のUSBストレージシステムにおいて、USBホストの論理構成の一例を示す図である。図2に示すUSBホストは、上位階層から下位階層に向けてアプリケーション層と、システムソフトウエア層と、ハードウエア層が設けられている。
アプリケーション層は、アプリケーションソフトウエア20を含んでいる。アプリケーションソフトウエア20の一般的な例としては、例えばフォルダやファイルの操作を行う機能を備えたエクスプローラや、音楽データの再生機能等を備えたオーディオプレーヤーなどが挙げられる。USB転送を行う際、アプリケーション層は、システムソフトウエア層との間でデータの送受信を行う。
システムソフトウエア層は、ハードウエア層を管理し、アプリケーション層又はハードウエア層との間の送受信データに対して、USBプロトコルに基づく変換などを行う。そして、このような処理を行うソフトウエアとして、システムソフトウエア層は、USBマスストレージクラスドライバ21aと、USBバスドライバ21bとを含んでいる。
USBマスストレージクラスドライバ21aは、USBマスストレージクラスという規格で定義されたコマンドトランスポート、データトランスポート、ステータストランスポートの管理などを行う。USBバスドライバ21bは、トランザクションの管理などUSBの各クラスに共通な処理を行う。
ハードウエア層は、USBホストコントローラ22を含んでいる。USBホストコントローラ22は、USBケーブル23を介してUSBリーダライタと電気的に接続され、USBリーダライタの接続検出やUSBリーダライタとの間のパケット送受信といったUSBホストの電気的信号の処理を行うハードウエアである。
一方、USBリーダライタ11は、図3および図4に示すような構成となっている。図3は、図1のUSBストレージシステムにおいて、USBリーダライタの論理構成の一例を示す図である。図4は、図1のUSBストレージシステムにおいて、USBリーダライタの外形の一例を示す斜視図である。
図3に示すUSBリーダライタは、例えば、USBファンクションモジュール[1](以下、USBモジュール[1])30およびUSBファンクションモジュール[2](以下、USBモジュール[2])31からなる2個のUSBファンクションモジュールと、外部メディアモジュール32と、インタフェースソフトウエア(以下、インタフェースソフト)33などを含んでいる。
USBモジュール[1]30は、ソフトウエアであるUSBマスストレージクラスファームウエア[1]30aと、ハードウエアであるUSBファンクションコントローラ[1]30bを含み、USBケーブル12aによってUSBホスト[1]などに接続される。USBモジュール[2]31も同様に、USBマスストレージクラスファームウエア[2]31aとUSBファンクションコントローラ[2]31bを含み、USBケーブル12bによってUSBホスト[2]などに接続される。外部メディアモジュール32は、ソフトウエアである外部メディアファームウエア32aと、ハードウエアである外部メディアホストコントローラ32bを含み、外部メディア13に接続される。
また、これらの構成は、USBホストの論理構成と同様に、アプリケーション層と、システムソフトウエア層と、ハードウエア層に分けることができる。このような論理構成で分類すると、アプリケーション層には、インタフェースソフト33が含まれる。インタフェースソフト33は、USBモジュール[1]30,[2]31と外部メディアモジュール32との間のデータ転送の制御などを担うソフトウエアである。
そして、インタフェースソフト33は、更に、一方のUSBモジュールから外部メディア13への書き込み要求の対応処理中に、他方のUSBモジュールから書き込み要求が発生した場合の対応処理などを行う機能を備えている。なお、インタフェースソフト33は、例えば、USBリーダライタが備えたROM等に格納され、インタフェースソフト33の実行は、例えば、USBリーダライタが備えたマイクロコンピュータおよびRAM等によって行われる。また、後述するシステムソフトウエア層の各種ソフトウエアもこれと同様である。
システムソフトウエア層には、USBマスストレージクラスファームウエア[1]30a,[2]31aと、外部メディアファームウエア32aとが含まれる。USBマスストレージクラスファームウエア[1]30a(または[2]31a)は、USBファンクションコントローラ[1]30b(または[2]31b)の制御や、USBマスストレージクラスに固有の処理などを行う。外部メディアファームウエア32aは、外部メディア13のトランザクション管理や外部メディアホストコントローラ32bの制御などを行う。
ハードウエア層には、USBファンクションコントローラ[1]30b,[2]31bと、外部メディアホストコントローラ32bとが含まれる。USBファンクションコントローラ[1]30b,[2]31bは、パケット送受信などUSBファンクションの電気的信号の処理を行う。外部メディアホストコントローラ32bは、外部メディア13へのコマンド送信、外部メディア13からのレスポンス受信、外部メディア13とのデータ送受信などといった電気的信号の処理を行う。
そして、このようなUSBリーダライタは、例えば図4に示すような外形を備えている。図4に示すUSBリーダライタは、例えば、筐体40に、2つのUSBコネクタ[1]41a,[2]41bと、外部メディアコネクタ(外部メディアスロット)42が設けられている。USBコネクタ[1]41a,[2]41bは、USBファンクション用のコネクタ形状であり、それぞれ、USBケーブル12a,12bによってUSBホスト[1],[2]に接続される。また、外部メディアコネクタ42には、メモリカードまたはフロッピーディスクといった外部メディアが挿入および接続される。
以上のようなシステム構成において、本発明の特徴は、USBホスト[1]とUSBホスト[2]による外部メディアの共有アクセスを実現することである。そして、この実現のために、図3で述べたように、USBリーダライタに複数のUSBモジュールを設け、更に、インタフェースソフトを用いて、複数のUSBモジュールから同時に処理要求が発生した場合の調停機能を実現させている。以下、このインタフェースソフトの調停機能の詳細について説明する。
USBホストからUSBリーダライタに向けた要求には、外部メディアのメモリにデータを書き込む要求(以下、書き込み要求)、外部メディアのメモリからデータを読み出す要求(以下、読み出し要求)、及びUSBリーダライタの状態や情報を取得する要求(以下、状態取得要求)がある。
USBホストが2台になっても、USBホストの要求、及び要求に対するUSBリーダライタの対応処理が時間的に重ならない場合や、重なっても外部メディアのメモリ内容を変更しない場合は特に問題は発生しない。つまり、読み出し要求と状態取得要求では、USBリーダライタのインタフェースソフトで互いの要求や外部メディアから読み出したデータが重ならないような排他制御をすればよく、外部メディアの記憶データが破壊されるなどの重大な問題は発生しない。USBホストが2台となり問題が発生するのは、USBリーダライタが、あるUSBホストからの書き込み要求処理中に、他のUSBホストから書き込み要求が発生した場合である。そこで、例えば、次のような動作によりこの問題を回避する。
USBリーダライタは、あるUSBホスト(USBホスト[2]とする)からの書き込み要求の対応処理中に、他のUSBホスト(USBホスト[1]とする)から書き込み要求が送られてきた場合は、USBホスト[1]の要求を拒否し、USBホスト[2]からの書き込み要求の対応処理を継続する。つまり、図5に示すような動作概要となる。
図5は、図3のUSBリーダライタにおいて、その動作概要の一例を示す説明図である。図5において、USBリーダライタ内のインタフェースソフト33は、USBモジュール[2]31から書き込み要求[2]を受信すると、受付応答をUSBモジュール[2]31に返すとともに、外部メディアモジュール32に書き込み要求[2]に対応するデータを送る。そして、このUSBモジュール[2]31からの書き込み要求対応処理中に、USBモジュール[1]30から書き込み要求を受信すると、インタフェースソフト33は、USBモジュール[1]30に対し、仮想的に外部メディア13がオペレーション状態であることを伝達し、USBホスト[1]からの要求を拒否する。
この動作概要は、より具体的には、例えば図6に示すような処理フローによって実現される。図6は、図3のUSBリーダライタにおいて、インタフェースソフトの処理の一例を示す処理フロー図である。まず、インタフェースソフト33は、外部メディア13の接続後、あるいはUSBケーブル12a(または12b)の接続後に起動し(S601)、イベント待ち状態となる。インタフェースソフト33が受信するイベントには、USBモジュール(USBモジュール[1]30またはUSBモジュール[2]31)からのリード要求とライト要求、及び外部メディアモジュール32からのリード完了通知(インタフェースソフト33のリード要求に対応したリード完了通知)とライト完了通知(インタフェースソフト33のライト要求に対応したライト完了通知)がある。
イベント待ち状態で、USBモジュール[1]30(または[2]31)からリード要求があると(S602)、そのリード要求の内容を解析しリード識別情報を作成する(S603)。リード識別情報は、複数のリード要求が重なったとき、それらのリード要求を識別するのに使用する。リード識別情報は、リード要求ID、要求先のUSBモジュールを識別するUSBモジュール番号、リードアドレス、リードサイズから構成される。リード識別情報作成後、外部メディアモジュール32にリード要求を行う(S604)。次いで、イベント待ち状態に移行する。
イベント待ち状態で、USBモジュール[1]30(または[2]31)からライト要求があると(S605)、オペレーション状態フラグがONであるか否かを判定する(S606)。オペレーション状態フラグは、外部メディア13への書き込み処理中であることを示すフラグで、外部メディア13への書き込み処理が重ならないように排他制御するのに使用し、初期値はOFFである。
オペレーション状態フラグがONであると、オペレーション状態通知を作成し、対応するUSBモジュール[1]30(または[2]31)に送信することで、書き込み要求を拒否する(S607)。一方、オペレーション状態フラグがOFFであると、オペレーション状態フラグをONにする(S608)。その後、外部メディアモジュール32にライト要求を行う(S609)。次いで、イベント待ち状態に移行する。
イベント待ち状態で、外部メディアモジュール32からリード完了通知があると(S610)、そのIDとリード識別情報を解析し(S611)、対応するUSBモジュール[1]30(または[2]31)に、対応するリードデータを送信する(S612)。次いで、イベント待ち状態に移行する。
イベント待ち状態で、外部メディアモジュール32からライト完了通知があると(S613)、オペレーション状態フラグをOFFにし、書き込み処理中であることを解除する(S614)。次いで、イベント待ち状態に移行する。
イベント待ち状態で、外部メディア13の状態をチェックし(S615)、外部メディア13が取り外されていれば処理を終了する。また、取り外されていなければ、イベント待ち状態を継続する。
以上、これまでに述べたようなシステム構成およびその動作等によって、複数のUSBホストで外部メディアを共有して使用することが可能となる。そして、これによって、例えば下記(1),(2)のような効果を得ることができる。
(1)特定の外部メディアを複数のUSBホストで使用する際に、ユーザーがUSBケーブルを逐次接続するといった面倒な作業をする必要がなくなる。また、複数のUSBホストを接続しても、USBやメモリカードなどのプラグアンドプレイという特徴に対応したUSBリーダライタを実現できる。
(2)USBケーブルを逐次接続する必要がなくなり、USBのネットワークの再構成とSDメモリカードなどの外部メディアの再度の初期化が省略できる。その結果、時間的な効率が向上し、また、省電力化を図ることも可能となる。
次に、図1のシステム全体としての動作の一例を図7を用いて説明する。図7は、図1のシステム構成において、その動作の一例を説明する処理フロー図である。図7においては、図1のUSBホスト[2]10bがデータ書き込み中に、USBホスト[1]10aがデータ書き込み要求をUSBリーダライタ11に送信した場合の処理を例として説明する。また、ここでは、一般的に知られているUSBマスストレージ規格に準じたデータ転送を行うものとする。なお、以下においては、図7内の処理番号に対応させて説明を行う。
(1)USBホスト[2]10bは、USBマスストレージクラスで定義されたライト[2]要求CBW(Command Block Wrapper)をUSBリーダライタ11に発行する。なお、CBWとは、USBマスストレージクラスで定義され、USBホストがUSBファンクションに要求するコマンドやそれに関連した内容を格納するパケットである。
(2)USBリーダライタ11は、ライト[2]要求CBWを受信すると、ライトアドレスやデータ数を解析する。また、ライト[2]要求CBWを外部メディア13固有の命令形式に変換する。すなわち、プロトコル変換を行う。
(3)変換完了後、USBリーダライタ11は、外部メディア13に、前記固有の命令形式に変換されたライト[2]コマンドを発行する。
(4)外部メディア13は、ライト[2]コマンドを受信すると、ライトアドレスやデータ数を解析する。
(5)USBホスト[2]10bは、USBマスストレージクラスで定義された形式でライト[2]データを、USBリーダライタ11に送信する。
(6)USBリーダライタ11は、ライト[2]データを受信すると、ライト[2]データを外部メディア13固有のデータ形式に変換する。すなわち、プロトコル変換を行う。
(7)変換完了後、USBリーダライタ11は、外部メディア13に対し、変換されたライト[2]データを送信する。
(8)外部メディア13は、変換されたライト[2]データを受信するとそれを自身のメモリに書き込む。
(1’)ここで、USBホスト[1]10aは、外部メディア13のメモリにデータを書き込むため、USBマスストレージクラスで定義されたライト[1]CBWをUSBリーダライタ11に発行する。
(2’)USBリーダライタ11は、ライト[1]要求CBWを受信するが、USBホスト[2]10bのライト[2]要求の対応処理中のため、USBホスト[1]10aに対してライト[1]要求の拒否を行う。すなわち、前述したインタフェースソフト33の処理によって、外部メディア13が仮想的にオペレーション状態であることを通知するオペレーション状態通知を作成する。
ここでは、オペレーション状態通知の作成方法の一例として、USBマスストレージクラスのSCSIコマンドで定義されたリクエストセンス(Request Sense)コマンドのデータの中で、ASC(Additional Sense Code)に04’hを、ASCQ(Additional Sense Code Qualifier)に07’hを設定する。なお、リクエストセンスコマンドのデータとは、USBホストがUSBリーダライタに対してリクエストセンスコマンドを発生した際に、ホストに向けて返信されるデータである。
(3’)オペレーション状態通知作成完了後、USBリーダライタ11は、当該オペレーション状態通知(ここではリクエストセンスコマンドのデータ)をUSBホスト[1]10aに対して送信する。
(4’)USBホスト[1]10aは、オペレーション状態通知を受信すると、外部メディア13のメモリにはデータを書き込めない状態であることを認識し、上位のアプリケーション等に通知する。
(9)外部メディア13は、変換されたライト[2]データの書き込みが全て完了すると、完了したことをUSBリーダライタ11に通知する。
(10)USBリーダライタ11は、完了通知を受信すると、それをライト[2]完了CSW(Command Status Wrapper)に変換する。なお、CSWとは、USBマスストレージクラスで定義され、USBホストがUSBファンクションからCBWに対する実行結果を取得する際に使用するパケットである。
(11)変換完了後、USBリーダライタ11は、USBホスト[2]10bにライト[2]完了CSWを送信する。
(12)USBホスト[2]10bは、ライト[2]完了CSWを受信すると、ライト動作が終了したことを認識し、ライト動作が完了する。
以上のようなシステム構成および動作によって、USBマスストレージ規格に準じたデータ転送により、外部メディアを複数のホストによって共有することが可能になる。
ところで、これまでの説明においては、1つの外部メディアを複数のUSBホストで共有する場合を例としたが、これに限らず、図8に示すように複数の外部メディアを複数のUSBホストで共有することも可能である。
図8は、本発明の一実施の形態によるUSBストレージシステムにおいて、図1を拡張したシステム構成の一例を示す概略図である。図8においては、USBリーダライタ82にN台のUSBホスト[1]80a,[2]80b,…,[N]80nが接続され、更に、USBリーダライタ82には、N個の外部メディア[1]83a,[2]83b,…,[N]83nが挿入されている。
通常のUBSストレージシステムにおいては、図10で述べたように1台のUSBホストから異種または同種のN個の外部メディアにアクセスすることが可能となっている。したがって、USBリーダライタ82に対してN台のUSBホストを接続すると、CFカード、SDメモリカードおよびメモリースティックといった異種のN個の外部メディアをN台のUSBホストで共有することが可能になる。また、勿論、同種のN個の外部メディアでも同様である。これによって、通常のUBSストレージシステムと比較して、接続作業および初期設定動作などの効率をN倍化することが可能になる。
また、図9に示すように、USBリーダライタ内にブリッジ機能を加えることによって、複数の外部メディアを複数のUSBホストで共有することも可能である。図9は、本発明の一実施の形態によるUSBストレージシステムにおいて、複数の外部メディアを複数のUSBホストで共有可能にする構成の一例を示す概略図である。図9に示すUSBリーダライタは、例えば、複数のUSBコネクタ[1]90a,[2]90b,…,[N]90nと、複数の外部メディアコネクタ[1]91a,[2]91b,…,[N]91nとを備え、更にこれら複数のUSBコネクタ[1]90a〜[N]90nと複数の外部メディアコネクタ[1]91a〜[N]91nとの間の接続を任意に設定可能にするブリッジ機能92を有するものとなっている。
このブリッジ機能92は、例えば、複数のUSBコネクタ[1]90a〜[N]90nと複数の外部メディアコネクタ[1]91a〜[N]91nのそれぞれに対してディップスイッチを設けたり、または、USBリーダライタ上のインタフェースソフト33に選択機能を付加することなどで実現可能となる。
このような構成を用いることで、USBホストと外部メディアとの接続を、1対1、1対N、N対1、またはN対N等のように任意に選択することが可能になる。また、別の観点として、例えば、1つの外部メディアを複数のUSBホストで共有する際に、従来において必要であったUSBケーブルの再接続作業をディップスイッチのON/OFF作業に置換することが可能となる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明のUSBストレージシステムは、USBファンクションが、SDメモリカードおよびメモリスティック等の各種メモリカードに対応したUSBリーダライタである場合のシステムに適用して特に有益なものであり、さらに、これに限らずフロッピーディスクやハードディスクに対応したUSBリーダライタを備えたシステムに広く適用可能である。
Claims (11)
- 複数のUSBホストと、外部記憶媒体としての機能を含んだUSBファンクションとを有し、前記複数のUSBホストと前記USBファンクションとの間でUSBプロトコルに基づくデータ転送を行うUSBストレージシステムであって、
前記USBファンクションは、前記複数のUSBホストが前記USBファンクションに接続された状態で、前記複数のUSBホストが前記USBファンクションの前記外部記憶媒体に対して共有アクセスを行うことを可能にする機能を有することを特徴とするUSBストレージシステム。 - 請求項1記載のUSBストレージシステムにおいて、
前記共有アクセスを行うことを可能にする機能は、前記複数のUSBホストの中の一つのUSBホストが前記外部記憶媒体に対して書き込みの処理を実行している間は、前記複数のUSBホストの中の他のUSBホストから発生した書き込み要求を拒否する機能を含むことを特徴とするUSBストレージシステム。 - 請求項1記載のUSBストレージシステムにおいて、
前記複数のUSBホストは、第1のUSBホストと第2のUSBホストを含み、
前記共有アクセスを行うことを可能にする機能は、前記第1のUSBホストが発生した前記外部記憶媒体に対する第1の書き込み要求の対応処理中に、前記第2のUSBホストから前記外部記憶媒体に対する第2の書き込み要求が発生した場合に、前記第2のUSBホストに対して前記第2の書き込み要求の拒否を通知し、前記第1の書き込み要求の対応処理を継続する機能を含むことを特徴とするUSBストレージシステム。 - 請求項1〜3のいずれか1項に記載のUSBストレージシステムにおいて、
前記外部記憶媒体としての機能は、メモリカードによって実現されることを特徴とするUSBストレージシステム。 - 複数のUSBホストと、外部記憶媒体としての機能を含んだUSBファンクションとを有するUSBストレージシステムであって、
前記USBファンクションは、
前記複数のUSBホストが接続される複数のUSBコネクタ端子と、
前記複数のUSBホストとの間でUSBプロトコルに基づくデータ転送を行う機能と、
前記外部記憶媒体との間で所定のプロトコルに基づくデータ転送を行う機能と、
前記USBプロトコルと前記所定のプロトコルとを相互に変換する機能とを有し、
さらに、前記複数のUSBホストの中の一つのUSBホストが前記外部記憶媒体に対して書き込みの処理を実行しいている間は、前記複数のUSBホストの中の他のUSBホストから発生した書き込み要求を拒否する機能を備えることを特徴とするUSBストレージシステム。 - 請求項5記載のUSBストレージシステムにおいて、
前記書き込み要求を拒否する機能は、前記USBファンクションが備えたコンピュータによるプログラム処理によって実現され、
前記プログラム処理は、
前記一つのUSBホストからの前記外部記憶媒体に対する書き込み要求を受け付けた際にオペレーションフラグを設定するステップと、
前記受け付けた書き込み要求の処理を終了した際に前記オペレーションフラグを解除するステップと、
前記オペレーションフラグが設定されている間に前記他のUSBホストからの書き込み要求が発生した際に、前記発生した書き込み要求の拒否を前記他のUSBホストに対して通知するステップとを含むことを特徴とするUSBストレージシステム。 - 請求項6記載のUSBストレージシステムにおいて、
前記書き込み要求の拒否を通知するステップは、リクエストセンスコマンドのデータを用いて行われることを特徴とするUSBストレージシステム。 - 複数のUSBホストに接続される複数のUSBコネクタ端子と、外部記憶メディアに接続されるメディアコネクタ端子とを備え、USBプロトコルに基づいて前記複数のUSBホストとの間のデータ転送が可能なUSBストレージデバイスであって、
前記複数のUSBコネクタ端子に前記複数のUSBホストが接続され、なおかつ前記メディアコネクタ端子に前記外部記憶メディアが接続された状態で、前記複数のUSBホストが前記外部記憶メディアに対して共有アクセスを行うことを可能にする機能を有することを特徴とするUSBストレージデバイス。 - 請求項8記載のUSBストレージデバイスにおいて、
前記外部記憶メディアは、メモリカードであることを特徴とするUSBストレージデバイス。 - 請求項8記載のUSBストレージデバイスにおいて、
前記メディアコネクタ端子を複数備え、
前記複数のメディアコネクタ端子には、同種類または異種類の複数のメモリカードが接続されることを特徴とするUSBストレージデバイス。 - 請求項10記載のUSBストレージデバイスにおいて、
前記複数のUSBコネクタ端子と前記複数のメディアコネクタ端子との間の接続を任意に設定可能にするブリッジ機能を有することを特徴とするUSBストレージデバイス。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2004/014357 WO2006038260A1 (ja) | 2004-09-30 | 2004-09-30 | Usbストレージシステムおよびusbストレージデバイス |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPWO2006038260A1 true JPWO2006038260A1 (ja) | 2008-07-31 |
Family
ID=36142351
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006539091A Pending JPWO2006038260A1 (ja) | 2004-09-30 | 2004-09-30 | Usbストレージシステムおよびusbストレージデバイス |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPWO2006038260A1 (ja) |
| WO (1) | WO2006038260A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011008402A (ja) * | 2009-06-24 | 2011-01-13 | Canon Inc | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6063146B2 (ja) * | 2012-04-27 | 2017-01-18 | 株式会社バッファローメモリ | 外部記憶装置 |
| US10042784B2 (en) * | 2014-10-13 | 2018-08-07 | Microchip Technology Incorporated | Side channel access through USB streams |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05210642A (ja) * | 1992-01-31 | 1993-08-20 | Sharp Corp | 共有ファイルを利用するデータ処理システム |
| JPH086890A (ja) * | 1994-06-23 | 1996-01-12 | Fujitsu Ltd | 入出力制御システム |
| JPH1131099A (ja) * | 1997-07-10 | 1999-02-02 | Oki Business:Kk | データベースのデータ管理方法 |
| JP2000194649A (ja) * | 1998-12-28 | 2000-07-14 | Toshiba Corp | 電子機器接続方法および電子機器接続装置 |
| JP2003304368A (ja) * | 2002-04-09 | 2003-10-24 | Canon Inc | 記録制御装置及び該装置における制御方法 |
| JP2004295407A (ja) * | 2003-03-26 | 2004-10-21 | Olympus Corp | Usbハブ装置 |
-
2004
- 2004-09-30 JP JP2006539091A patent/JPWO2006038260A1/ja active Pending
- 2004-09-30 WO PCT/JP2004/014357 patent/WO2006038260A1/ja active Application Filing
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05210642A (ja) * | 1992-01-31 | 1993-08-20 | Sharp Corp | 共有ファイルを利用するデータ処理システム |
| JPH086890A (ja) * | 1994-06-23 | 1996-01-12 | Fujitsu Ltd | 入出力制御システム |
| JPH1131099A (ja) * | 1997-07-10 | 1999-02-02 | Oki Business:Kk | データベースのデータ管理方法 |
| JP2000194649A (ja) * | 1998-12-28 | 2000-07-14 | Toshiba Corp | 電子機器接続方法および電子機器接続装置 |
| JP2003304368A (ja) * | 2002-04-09 | 2003-10-24 | Canon Inc | 記録制御装置及び該装置における制御方法 |
| JP2004295407A (ja) * | 2003-03-26 | 2004-10-21 | Olympus Corp | Usbハブ装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011008402A (ja) * | 2009-06-24 | 2011-01-13 | Canon Inc | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2006038260A1 (ja) | 2006-04-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4898056B2 (ja) | スマートカードとホストステーションとの間の通信の方法 | |
| US7739449B2 (en) | Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program | |
| US7568053B2 (en) | USB composite device, USB communication system, and USB communication method | |
| JP4799417B2 (ja) | ホストコントローラ | |
| US8135871B2 (en) | Computer system and control method of the same | |
| US20030172219A1 (en) | Multi-interface memory card and adapter module for the same | |
| US20070094472A1 (en) | Method for persistent mapping of disk drive identifiers to server connection slots | |
| US11055499B2 (en) | Card device, host device, and communication method | |
| JPH1153485A (ja) | コンピュータシステム、記憶装置、変換システム、及び記録媒体 | |
| JP2003178269A (ja) | パッシブフラッシュメディアアダプタシステム | |
| US6779052B2 (en) | Electronic apparatus, system and method for controlling communication among devices coupled through different interfaces | |
| CN116827797A (zh) | PCIe带宽分配方法及服务器 | |
| CN112380151A (zh) | 一种NVMe-oF异构存储系统及访问方法 | |
| JPWO2006038260A1 (ja) | Usbストレージシステムおよびusbストレージデバイス | |
| CN112380152A (zh) | 一种NVMe-oF异构存储访问控制器及访问方法 | |
| US20060117170A1 (en) | Controller having auto-run function | |
| JP4757482B2 (ja) | 記憶装置及び記憶装置制御方法 | |
| TWM240645U (en) | Micro flash memory card with an USB interface | |
| US6625676B1 (en) | Small computer system with interface control and method of operating same | |
| CN100520756C (zh) | 管理存储卡插入或拔出读卡器的方法和所述方法中使用的设备 | |
| JP2004062347A (ja) | Usbデバイスおよびusbシステム | |
| CN113971146B (zh) | 具自动更新固件功能的usb集线装置及具有该usb集线装置的主机系统 | |
| CN1808384A (zh) | 具自动执行功能的控制器 | |
| JPH10303948A (ja) | 通信装置およびその方法 | |
| US8307145B2 (en) | Method and system for connecting multiple IDE devices to a USB apparatus using a single USB-to-IDE adapter |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100406 |