(57)【要約】  ＵＳＢインタフェースを介してのデータの伝送方法が開示されている。既知のコマンドの第１の組をサポートするインタフェースを有するワークステーションが提供される。ＵＳＢ装置が設けられて前記インタフェースを介して接続し、既知のコマンドの第２の組をサポートし、コマンドの該第２の組はコマンドの第１の組のないいくつかのコマンドを含有する。第１のコマンドは、コマンドの前記第１の組からではなくコマンドの前記第２の組から供給されＵＳＢ装置上で実行される。前記第１のコマンドはワークステーション上で供給される。前記第１のコマンドは、コマンドの前記第１の組にある第２の他のコマンドと結合したデータ内にカプセル化される。前記第１のコマンドは、前記データ内にカプセル化されてそこから抽出される。前記第２の他のコマンドおよび第２の他のコマンドと結合した前記データは、前記インタフェースを介して前記ＵＳＢ装置に送出される。一旦受け取ると、前記第１のコマンドは、前記第２の他のコマンドから抽出され、前記第１のコマンドは前記ＵＳＢ装置上で実行される。【選択図】  図２ａ
2008532144.tif 000002
【特許請求の範囲】
【請求項１】
既知のコマンドの第１の組をサポートするインタフェースを有する第１の装置を提供し、前記インタフェースと接続しかつコマンドの前記第１の組ではないいくつかのコマンドを含む既知のコマンドの第２の組をサポートする第２の装置を提供し、
前記第２の装置上での実行のために、コマンドの前記第１の組からではなくコマンドの前記第２の組からの第１のコマンドを前記第１の装置上に供給し、
前記第１のコマンドを、コマンドの前記第１の組内の第２の他のコマンドと結合したデータ内に、その抽出のためにカプセル化し、
前記第２の他のコマンドおよび前記第２の他のコマンドと結合した前記データを、前記インタフェースを介して前記第２の装置に送出し、
前記第２の他のコマンドから前記第１のコマンドを抽出しかつ前記第１のコマンドを前記第２の装置上で実行する各工程を有するインタフェースを介してデータを伝送する方法。
【請求項２】
前記インタフェースは、ＵＳＢインタフェースである請求項１に記載の方法。
【請求項３】
前記第２の装置は、前記第１のコマンドの実行のためのマイクロコントローラを有する請求項１または請求項２に記載の方法。
【請求項４】
前記第１のコマンドは、レスポンスを決定するためのコマンドであり、そのレスポンスは、前記マイクロコントローラによってそれに続くデータ検索コマンドを見越して格納され、前記レスポンスは、それに続く前記データ検索コマンドに応答して供給される請求項３に記載の方法。
【請求項５】
前記第１のコマンドは、レスポンスを決定するためのコマンドであって、前記コマンドは、前記マイクロコントローラによって、それに続くデータ検索コマンドを受け取るまでは実行されず、前記レスポンスは、それに続く前記データ検索コマンドに応答して決定されかつ供給される請求項３に記載の方法。
【請求項６】
前記レスポンスは、前記装置内のメモリから検索されたデータである請求項５に記載の方法。
【請求項７】
前記レスポンスはセキュリティ・データを含有する請求項４乃至請求項６のいずれかに記載の方法。
【請求項８】
前記レスポンスは、前記マイクロコントローラによって実行された工程を通して決定される請求項４乃至請求項７のいずれかに記載の方法。
【請求項９】
コマンドの前記第１の組は、装置の前記種類に対する標準装置ドライバによってサポートされるコマンドの組である請求項１乃至請求項８のいずれかに記載の方法。
【請求項１０】
装置の前記種類は脱着可能な記憶装置を有する請求項１乃至請求項９のいずれかに記載の方法。
【請求項１１】
前記第１のコマンドのアドレス・フィールドは、前記第３のコマンドのアドレス・フィールドと同じである請求項１乃至請求項１０のいずれかに記載の方法。
【請求項１２】
前記データ内にカプセル化された前記第１のコマンドは、前記第２の他のコマンド内の前記第１のコマンドを識別するための署名を有する請求項１乃至請求項１１のいずれかに記載の方法。
【請求項１３】
実行およびそこからデータ結果を生じるための第１のコマンドを供給し、第２の他のコマンドと結合したデータ内で前記第１のコマンドを符号化し、その実行のために前記第２の他のコマンドおよび結合したデータを送出し、
前記第１のコマンドを前記第２の他のコマンドから抽出して前記第１のコマンドを実行して第１のレスポンス・データを生成し、その実行のためにデータの検索のための第３のコマンドを送出し、
前記第３のコマンドに応答して前記第１のレスポンス・データを供給する各工程を有する方法。
【請求項１４】
供給および符号化が第１の装置上で実行され、抽出および前記第３のコマンドに応答した供給は第２の他の装置上で実行され、かつ、送出は、前記第１の装置と前記第２の他の装置との間で実行される請求項１３に記載の方法。
【請求項１５】
前記第１の装置および前記第２の他の装置は、ＵＳＢポートによって接続されている請求項１３または請求項１４のいずれかに記載の方法。
【請求項１６】
前記第１の装置はワークステーションであり、前記第２の装置は周辺ＵＳＢ装置である請求項１３乃至請求項１５のいずれかに記載の方法。
【請求項１７】
前記周辺ＵＳＢ装置は、ＵＳＢ着脱可能記憶装置である請求項１３乃至請求項１６のいずれかに記載の方法。
【請求項１８】
前記第１のコマンドのアドレス・フィールドは、前記第３のコマンドのアドレス・フィールドと同一である請求項１３乃至請求項１７のいずれかに記載の方法。
【請求項１９】
前記カプセル化されたコマンドは、前記第２の他のコマンド内へのコマンドのカプセル化を識別する署名を有する請求項１３乃至請求項１８のいずれかに記載の方法。
【請求項２０】
既知のコマンドの第１の組をサポートするインタフェースと、
実行中に、コマンドの前記第１の組ではなくコマンドの第２の組からコマンドを供給して他の装置上で実行しかつコマンドの前記第１の組内にある第２の他のコマンドと結合したデータ内での前記第１のコマンドを符号化するためのアプリケーションとを有し、その抽出のためおよび前記第２の他のコマンドおよび第２の他のコマンドと結合したデータの前記インタフェースへの供給のために前記第１のコマンドは前記データ内で符号化される装置。
【請求項２１】
前記インタフェースは、ＵＳＢポートと前記ＵＳＢポートを通してデータを送出しかつ受け取るための装置ドライバとを有する請求項２０に記載の装置。
【請求項２２】
インタフェースと、コマンドを受け取り、前記コマンドから第１のコマンドを抽出し、かつ前記第１のコマンドを実行するためのマイクロコントローラおよびファームウェアとを有する装置。
【請求項２３】
前記インタフェースは、ＵＳＢインタフェース・ポートを有する請求項２２に記載の装置。
【請求項２４】
インタフェースと、
実行中に、実行させてそこからデータ結果を生じさせるために第１のコマンドを供給し、前記第１のコマンドを第２の他のコマンドと結合したデータ内で符号化し、前記第２の他のコマンドおよび前記結合したデータを前記インタフェースに供給し、データ検索用の第３のコマンドを前記インタフェースに供給し、かつ、前記第３のコマンドに応答して、前記第１のコマンドに応答したデータを受け取るアプリケーションとを有する装置。
【請求項２５】
前記インタフェースは、ＵＳＢポートおよび該ＵＳＢポートを介してデータを送出しかつ受け取るための装置ドライバを有する請求項２４に記載の装置。
【請求項２６】
インタフェースと、
第２の他のコマンドと結合したデータ内で符号化され実行させてそこからデータ結果を生じさせカプセル化されたコマンドを受け取り、前記装置からデータの検索を行う第３のコマンドを受け取り、前記カプセル化されたコマンドを抽出し、前記抽出されカプセル化されたコマンドを実行して第１のレスポンス・データを生成し、かつ、前記第３のコマンドに応答して、前記第１のレスポンス・データを供給するためのマイクロコントローラおよびファームウェアとを有する装置。
【請求項２７】
前記インタフェースは、ＵＳＢインタフェース・ポートを有する請求項２６に記載の装置。
【請求項２８】
実行の際に、他の装置で実行させて第２の他のコマンドと結合したデータ内で前記第１のコマンドを符号化するために、コマンドの前記第１の組からではなくコマンドの第２の組からインタフェースによってサポートされたコマンドを供給するためのデータがそこに格納されるとともに、前記第２の他のコマンドはコマンドの前記第１の組内にあり、前記第１のコマンドは、その抽出のためかつ前記第２の他のコマンドおよび第２の他のコマンドと結合したデータを前記インタフェースに供給するために前記データ内で符号化された記録媒体。
【請求項２９】
実行の際に、コマンドを受け取り、前記コマンドから第１のコマンドを抽出し、かつ前記第１のコマンドを実行するためのデータがそこに格納された記録媒体。
【請求項３０】
前記記録媒体は、ＵＳＢ記憶装置を有する請求項２９に記載の記録媒体。
【請求項３１】
前記ＵＳＢ記憶装置は、ＵＳＢフラッシュ・メモリ記憶装置を有する請求項３０に記載の記録媒体。
【請求項３２】
実行の際に、実行およびそこからのデータ結果を生じるための第１のコマンドを供給し、第２の他のコマンドと結合したデータ内で前記第１のコマンドを符号化し、前記第２の他のコマンドおよび前記結合したデータをインタフェースに供給し、データ検索用の第３のコマンドを前記インタフェースに供給し、かつ、前記第３のコマンドに応答して、前記第１のコマンドに応答したデータを受け取るためのデータをそこに格納した記録媒体。
【請求項３３】
実行の際に、第２の他のコマンドと結合したデータ内で符号化されカプセル化されたコマンドを受け取り、前記装置からのデータの検索のための第３のコマンドを受け取り、前記カプセル化されたコマンドを抽出し、前記抽出されカプセル化されたコマンドを実行して第１のレスポンス・データを生成し、かつ、前記第３のコマンドに応答して、前記第１のレスポンス・データを供給するためのデータをそこに格納した記録媒体。
【請求項３４】
前記記録媒体は、ＵＳＢ記憶装置を有する請求項３３に記載の記録媒体。
【請求項３５】
前記ＵＳＢ記憶装置は、ＵＳＢフラッシュ・メモリ記憶装置を有する請求項３４に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００５年３月２日に提出された米国特許出願第１１／０６８，７９１からの出願の利益を請求する。その出願の全内容は参照することによって本出願に含まれている。
本発明は、ユニバーサル・シリアル・バス（ＵＳＢ）装置の分野および上記装置に関するコミュニケーション・コマンドに対するプロトコルに関するものである。
【背景技術】
【０００２】
最近、ユニバーサル・シリアル・バス（ＵＳＢ）の使用が増大している。ＵＳＢポートは、多数の種々の装置に用いられるように順応性がある。ＵＳＢ装置は、プリンタ、スキャナ、キーボード、カメラ、マウス、ジョイスティック、不揮発性メモリ、光学装置等を含む。ＵＳＢポートは、高速データ伝送速度を可能とする場合には、8MB／秒の読取りおよび6MB／秒の書込みの範囲で有効である。
【０００３】
また、種々のフラッシュ・ドライブ・メモリ・スティックが開発され、それはコンパクトであるが128MBから4GBの範囲での大容量の情報を保持する実用的な携帯可能記憶装置である。これらの装置はＵＳＢポートから電力を受けるので更なる電源またはケーブルを必要としない。典型的には、これらのメモリ・スティックは、「プラグ・アンド・プレイ」装置であって、現行の「標準」装置ドライバを用いて、装置ドライバのインストールなしで全てのシステムにおいて同じように作動する。Microsoft（登録商標）Windows XP（登録商標）を用いると、ＵＳＢ装置のプラグが差し込まれたことをコンピュータが検知すると、前記パソコンは自動的にその装置にレスポンス指令信号を送って、その性能および要件を知る。この情報を用いて、前記パソコンは、それから自動的にドライバをロードして、確定した前記性能および前記オペレーティング・システムへの要件をサポートする。これらのドライバは、現行の機能をサポートし、かつサポートされないオペレーションまたは潜在的に問題となるオペレーションを阻止する。後で、前記装置が前記バスからプラグが抜かれた場合には、前記オペレーティング・システムは、前記バスから前記装置をログオフして、そのドライバを前記システムから自動的にアンロードする。
【０００４】
ＵＳＢ装置は、ファームウェアと呼ばれる内部に格納されたソフトウエアとともに販売され、その装置内で実行されかつその制御がされる。このファームウェアは、典型的には不揮発性で、電気的に消去可能で、プログラム可能なメモリ内に格納され、前記装置内のマイクロコントローラによって実行される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＵＳＢ装置に対する標準の一般的な前記装置ドライバは、ある特定のコマンドをサポートしかつ存在しない違法なコマンドを取り除いて前記装置の機能性を定めるので、非標準コマンドの組をもち、または追加の機能性をサポートする装置のための装置ドライバをインストールする必要がある。標準の装置ドライバを用いているが追加の機能性をサポートして、ＵＳＢ装置等と連絡するための方法および装置を提供することは有益である。
【課題を解決するための手段】
【０００６】
本発明によると、インタフェースを通してデータを伝送する方法が提供され、その方法は、既知のコマンドの第１の組をサポートするインタフェースを有する第１の装置を提供し、前記インタフェースと接続しかつコマンドの前記第１の組ではないいくつかのコマンドを含む既知のコマンドの第２の組をサポートする第２の装置を提供し、前記第２の装置上での実行のために、コマンドの前記第１の組ではなくコマンドの前記第２の組からのコマンドを前記第１の装置上に供給し、前記コマンドを、コマンドの前記第１の組内の第２の他のコマンドと結合したデータ内に、その抽出のために符号化し、前記第２の他のコマンドおよび第２の他のコマンドと結合した前記データを、前記インタフェースを介して前記第２の装置に送出し、前記第２の他のコマンドから前記第１のコマンドを抽出しかつ前記第１のコマンドを前記第２の装置上で実行する各工程を有する。
【０００７】
本発明の他の実施の形態によると、方法が提供され、その方法は、実行しかつそこからデータ結果を生じるために第１のコマンドを供給し、前記第１のコマンドを第２の他のコマンドと結合したデータ内で符号化し、実行のために前記第２の他のコマンドおよび結合したデータを送出し、前記第１のコマンドを前記第２の他のコマンドから抽出し、前記第１のコマンドについて実行して第１のレスポンス・データを生成し、データの検索のための第３のコマンドを送出して実行し、前記第３のコマンドに応答して前記第１のレスポンス・データを供給する各工程を有する。
【０００８】
本発明の他の態様によれば、装置が提供され、その装置は、既知のコマンドの第１の組を内部でサポートするインタフェースと、実行の際に、コマンドの前記第１の組ではなくコマンドの第２の組から１のコマンドを他の装置上で実行のために供給し、かつ第２の他のコマンドと結合したデータ内で前記第１のコマンドを符号化し、前記第２の他のコマンドはコマンドの前記第１の組内にあり、前記第１のコマンドは、前記データ内で符号化されて、そこから抽出され、かつ、前記第２の他のコマンドおよび第２の他のコマンドと結合した前記データを前記インタフェースに供給するアプリケーションとを有する。
【０００９】
本発明の他の実施の形態によると、装置が提供され、その装置は、インタフェースと、コマンドを受け取り、前記コマンドから第１のコマンドを抽出し、前記第１のコマンドを実行するマイクロコントローラおよびファームウェアとを有する。
【００１０】
本発明の他の実施の形態によると、装置が提供され、その装置は、インタフェースと、アプリケーションとを有し、そのアプリケーションは、実行中、実行させてそこからデータの結果を生じさせるために第１のコマンドを供給し、前記第１のコマンドを、第２の他のコマンドと結合したデータ内で符号化し、前記第２の他のコマンドおよび前記結合したデータを前記インタフェースに供給し、データを検索する第３のコマンドを前記インタフェースに供給し、かつ、前記第３のコマンドに応答して、前記第１のコマンドに応答したデータを受け取るものである。
【００１１】
本発明の他の実施の形態によると、装置が提供され、その装置は、インタフェースと、マイクロコントローラおよびファームウェアとを有し、前記マイクロコントローラおよびファームウェアは、第２の他のコマンドと結合したデータ内で符号化されカプセル化されたコマンドを受け取り、前記装置からデータを検索する第３のコマンドを受け取り、前記カプセル化されたコマンドを抽出し、前記抽出されカプセル化されたコマンドを実行して第１のレスポンス・データを生成し、かつ、前記第３のコマンドに応答して前記第１のレスポンス・データを供給するものである。
【００１２】
本発明の他の態様によると、記録媒体が提供され、該記録媒体は、実行の際に、他の装置上で実行して第２の他のコマンドと結合したデータ内で前記第１のコマンドを符号化するために、コマンドの第２の組からであって前記第１の組からではないインタフェースによってサポートされたコマンドを供給し、前記第２の他のコマンドはコマンドの前記第１の組内にあり、前記第１のコマンドは前記データ内で符号化されて、抽出されかつ前記第２の他のコマンドおよび第２の他のコマンドと結合した前記データを前記インタフェースに供給するためのデータがそこに格納されている。
【００１３】
本発明の他の実施の形態によると、記録媒体が提供され、該記録媒体は、実行の際に、第１のコマンドを供給して実行してそこからデータ結果を生じ、第２の他のコマンドと結合したデータ内で前記第１のコマンドを符号化し、前記第２の他のコマンドおよび前記結合データをインタフェースに供給し、データの検索を行う第３のコマンドを前記インタフェースに供給し、かつ前記第３のコマンドに応答して、前記第１のコマンドに応答したデータを受け取るためのデータがそこに格納されている。
【００１４】
本発明の他の実施の形態によると、記録媒体が提供され、該記録媒体は、実行の際に、第１のコマンドを供給して実行しかつそこからのデータ結果を生じ、第２の他のコマンドと結合したデータ内で前記第１のコマンドを符号化し、前記第２の他のコマンドおよび前記結合したデータをインタフェースに供給し、データ検索用の第３のコマンドを前記インタフェースに供給し、前記第３のコマンドに応答して、前記第１のコマンドに応答するデータを受け取るためのデータがそこに格納されている。
【００１５】
本発明の他の実施の形態によると、記録媒体が提供され、該記録媒体は、実行の際に、第２の他のコマンドと結合したデータ内で符号化されカプセル化されたコマンドを受け取り、データ検索用の第３のコマンドを前記装置から受け取り、前記カプセル化されたコマンドを抽出し、前記抽出されカプセル化されたコマンドを実行して、第１のレスポンス・データを生成し、該第３のコマンドに応答して、前記第１のレスポンス・データを供給するためのデータがそこに格納されている。
【００１６】
本発明によると、周辺装置が提供され、該周辺装置はそこに格納したデータを有し、該データは、コンピュータのプロセッサによって前記周辺装置と連絡して実行される際に、前記周辺装置との連絡をサポートしかつ周辺装置の特定のオペレーションをサポートする。
【００１７】
好ましくは、前記周辺装置はＵＳＢ記憶装置である。
【００１８】
本発明によると、方法が提供され、その方法は、周辺装置内に格納された前記周辺装置との連絡をサポートするためのアプリケーション・データを実行し、実行の際に、前記アプリケーション・データの実行ではなくかつ前記プロセッサと前記周辺装置との間の連絡に関する前記プロセッサにとって利用不能な少なくとも１のオペレーションを実行する各工程を有する。
【００１９】
本発明の実施例は、次の図面と結びつけて記述されるであろう。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態に係るフラッシュ・ドライブ・メモリ・スティックとパソコンとの間の相互接続性を示す。
【図２ａ】本発明の第１の実施の形態に係る周辺ＵＳＢ装置とホスト・コンピュータとの間のコミュニケーション流れ図を示す。
【図２ｂ】本発明に係る拡張コマンドを送出する工程の間のコマンド・ブロック・ラッパの内容を示す。
【図２ｃ】本発明に係る拡張コマンドを送出する工程の間のデータ・パケットの内容を示す。
【図３ａ】本発明の第１の実施の形態に係る周辺ＵＳＢ装置とホスト・コンピュータとの第のコミュニケーション流れ図を示す。
【図３ｂ】本発明に係る拡張コマンドを送出する工程に応答する間のコマンド・ブロック・ラッパの内容を示す。
【図３ｃ】本発明に係る拡張コマンドを送出する工程に応答する間の前記データ・パケットの内容を示す。
【発明を実施するための最良の形態】
【００２１】
図１は、本発明の実施の形態に係る方法を実行するためのパソコン１０６とフラッシュ・ドライブ・メモリ・スティック１０８との間の相互接続性を示すブロック図である。この図において、ＵＳＢポート１０３を備えたワークステーション１０６が示されている。前記フラッシュ・ドライブ・メモリ・スティック１０８は、前記ＵＳＢ電気的インタフェース１０５および前記ＵＳＢポート１０３を介して前記ワークステーション１０６と接続してその内部に情報を格納する。前記ＵＳＢ電気的インタフェース１０５は、典型的にはケーブルとコネクタとを有し、電気的インタフェース１０５は、前記ＵＳＢの仕様と互換性がある電気信号を受け取りかつ送出する物理インタフェースである。装置ドライバ１０４は、前記ワークステーション１０６での実行中に、アプリケーション・ソフト１０２と前記ＵＳＢポートと接続した装置との間のコミュニケーションの橋渡しとして作動する。そのため、前記ワークステーション１０６のユーザ１１４は、前記フラッシュ・ドライブ・メモリ・スティック１０８に対してデータを送出しかつ受け取ることができる。前記アプリケーション・ソフト１０２は、前記ワークステーション１０６での実行中において、標準のコマンドの組に応じて前記フラッシュ・ドライブ・メモリ・スティック１０８に対してデータを送出しかつ受け取る。標準のサポートされたコマンド以外に対しては、前記アプリケーションは、前記ＵＳＢフラッシュ・ドライブ・メモリ・スティック１０８に対する標準の書込みコマンドの部分を形成するデータ・パケット内にコマンドをカプセル化する。前記カプセル化されたデータを含んでいる前記書込みコマンドは、前記ＵＳＢフラッシュ・ドライブ・メモリ・スティック１０８に供給されるために、前記装置ドライバに供給される。前記装置ドライバ１０４は、このコマンドが受け取り可能な書込みコマンドに見えるように前記ＵＳＢフラッシュ・ドライブ・メモリ・スティックに送る。こうして、追加のコマンドが前記ＵＳＢフラッシュ・ドライブ・メモリ・スティック１０８に対して、前記ＵＳＢハードウェアに特有の装置ドライバのインストールなしで伝達される。
【００２２】
前記フラッシュ・ドライブ・メモリ・スティック１０８の前記データの制御および操作に用いられる新しいコマンドをデータ・パケット内にカプセル化することによって、前記ホスト・コンピュータ１０６に存する前記アプリケーション・ソフト１０２が、新しい前記コマンドを、フラッシュ・ドライブ・メモリ・スティック１０８に対する標準ＵＳＢ装置ドライバ仕様と互換性があるように、効果的に覆い隠す。その代わりとして、前記カプセル化されたデータは、他のデータ伝送コマンド内に格納される。
【００２３】
図１に示す前記フラッシュ・ドライブ・メモリ・スティック１０８は、内部に配置したマイクロコントローラ１１０を有し、前記フラッシュ・ドライブ・メモリ・スティック１０８の前記機能性および制御をサポートする。このマイクロコントローラは、存在する場合には前記ホスト・コンピュータ１０６から受け取ったコマンドおよびカプセル化されたデータ・パケットを抽出しかつ処理するために使用される。前記ホスト・コンピュータ１０６がコマンドを前記装置ドライバ１０４を介して前記マイクロコントローラ１１０に送出する場合、前記マイクロコントローラは、これらのコマンドを処理し、該コマンドに基づいて機能を実行し、かつ、前記標準に応じて前記コマンドの実行を承認する。
【００２４】
本発明によれば、前記標準のＵＳＢ装置ドライバにおいてサポートされていない追加のコマンドの実行が可能である。さらに、装置内の前記ファームウェアをアップグレード（更新）することによって、前記装置が既に最終消費者に出荷された後でも、拡張された機能性、セキュリティ・エラーまたは破壊の修復、開発された異なるソフトウエアのサポート等を可能にする新しいコマンドを追加することができる。例えば、自動フォーマッティング・コマンドをサポートするために、前記ファームウェアは自動フォーマッティング機能を認識しかつサポートしなければならない。それから、前記機能を実行するために、前記フォーマッティング・コマンドは、データ・パケット内にカプセル化され前記アプリケーション・ソフト１０２によって書き込みコマンド内において前記装置ドライバ１０４に送出される。前記装置ドライバは、それから、前記書込みコマンド内における前記コマンド・パケットを、前記フラッシュ・ドライブ・メモリ・スティック１０８へ送出し、そこでは、前記マイクロコントローラ１１０によってそれが抽出される。前記マイクロコントローラは、それから、前記ＵＳＢフラッシュ・ドライブ・メモリ・スティック１０８内において前記コマンドを実行する。希望によっては、前記フラッシュ・ドライブ・メモリ・スティック１０８は、ステータス・データを送出して、オペレーションの結果について前記ホスト・コンピュータ１０６に知らせる。
【００２５】
図２aは、拡張コマンドを送出するためのワークステーション２１８と周辺ＵＳＢ装置２２０との間のコミュニケーションを示す。前記ワークステーション２１８は、コマンド・ブロック・ラッパ２０１を前記ＵＳＢ装置２２０に送出する。前記コマンド・ブロック・ラッパ２０１は図２ｂに示され、コマンド・ブロック・ラッパ・ヘッダ２０２と、ＵＳＢ周辺装置に対する標準装置ドライバでサポートされた書込みコマンド・オペレーション・コードの形式のオペレーション・コード２０４と、論理ブロック・アドレス２０６とを有する。前記コマンド・ブロック・ラッパ２０１に続いて、データ２０８が前記コマンド・ブロック・ラッパ２０１に続く前記周辺ＵＳＢ装置２２０への供給のためにデータ内にカプセル化されたカプセル化データの形式で供給される。
例えば、前記カプセル化データは、例えば、書込みコマンドの実行に応答して、前記論理的ブロック・アドレスに入れられるためのデータとして前記コマンド内にカプセル化される。前記コマンド・ブロック・ラッパは、希望するならば、ＣＲＣ値（巡回冗長検査値）を有する。このコマンド・ブロック・ラッパ２０１は現行のＵＳＢ標準に合致している。
【００２６】
前記アプリケーション・ソフトは、前記拡張コマンド署名２１２を、前記データ・パケット２０８内にカプセル化する。この拡張コマンド署名２１２は、そのパターン配列において概略異なるビット列として生成される。希望するならば、このビット列は、前記周辺ＵＳＢ装置とのハンドシェークを介して決定されて、独自性と同期性を確実にする。さらに希望するならば、このビット列は、乱数発生器を用いて生成され、生成された前記乱数は、ＵＳＢ装置２２０の乱数発生器と同期している。
【００２７】
前記コマンド・ブロック・ラッパ２０１は、前記周辺ＵＳＢ装置２２０への供給のために前記装置ドライバに供給されかつ前記周辺ＵＳＢ装置２２０に供給される。前記データは、それから、前記周辺ＵＳＢ装置２２０への供給のために前記装置ドライバへ供給されかつ前記周辺ＵＳＢ装置２２０に供給される。図２ｃに示すように、前記カプセル化データは、拡張コマンド署名２１２と、拡張コマンド・オペレーション・コード２１４と、拡張コマンド・パラメータ２１６とを有し、前記カプセル化されたコマンドは、前記装置上で拡張コマンドをサポートする前記マイクロコントローラ・コードに知られた内容および形式を有する。ＣＲＣが存在する場合には、前記検査合計は、前記パケットが変質なく受け取られたことを確認するためである。生成された前記数の長さは、前記ビット列が現実の書込みコマンドのための前記データ・パケット内で発生しにくい程度に長い。
【００２８】
前記コマンド・ブロック・ラッパ２０１内で前記原書込みコマンドを受け取ると、前記マイクロコントローラ１１０は、前記フラッシュ・ドライブ・メモリ・スティック１０８のメモリ内に格納すべき前記データを含有する続くデータ２０８を受け取ることを予期する。拡張コマンドにとって、コマンド・ブロック・ラッパ２０１内での前記書込みコマンドに続く前記データ・パケット２０８は、現在、拡張コマンド署名２１２を含有している。前記カプセル化データ内において前記拡張コマンド署名２１２を定義する前記ビット列を検出するには、前記マイクロコントローラ１１０は、拡張コマンドを含むような前記パケットを認識する。前記マイクロコントローラ１１０は、それから、前記拡張コマンド署名２１２に続く前記ビット列を読み取る。前記拡張コマンド・オペレーション・コード２１４は、実行すべき前記拡張コマンドを定義する。前記マイクロコントローラ１１０は、それから、前記拡張コマンド・パラメータ２１６に応じて前記拡張コマンドに基づきオペレーションを実行する。
【００２９】
希望する場合には、前記マイクロコントローラは、パケット抽出機を有する。パケット抽出機は、前記拡張コマンド・オペレーション・コード２１４を前記カプセル化データ２０８から抽出し、それから、前記拡張コマンドとそのパラメータを前記マイクロコントローラの前記アプリケーション・コマンド解釈機への前記受領キューに戻しておく。
【００３０】
前記フラッシュ・ドライブ・メモリ・スティック１０８の前記マイクロコントローラ１１０が、前記拡張オペレーションの実行を完了した場合には、前記マイクロコントローラ１１０は、前記装置ドライバ１０４を介して、前記フラッシュ・ドライブ・メモリ・スティック１０８のステータスが変更されたことを前記ホスト・コンピュータに伝える。例えば、ＡＣＫ（肯定レスポンス）信号が供給されて、前記コマンドが首尾よく実行されたことを知らせる。図２aに、この「書込みステータス・パケット」がコマンド・ステータス・ラッパ２１０として示されている。前記装置ドライバ１０４は、前記コマンドのステータスについての情報を含有するステータス・フィールド（図示せず）を有する前記コマンド・ステータス・ラッパ２１０を読み取る。
【００３１】
残念ながら、複数の拡張コマンドが、コマンドのカプセル化によってサポートされているけれども、基本的なＡＣＫ信号以外のものを前記周辺ＵＳＢ装置２２０から前記ワークステーションへ伝送する機構はない。以下に詳述するのは、前記周辺ＵＳＢ装置２２０からのデータの検索をサポートし、かつ拡張コマンドを用いて検索データを生成する方法である。
【００３２】
図３aは、前記ホスト・コンピュータと、前記フラッシュ・ドライブ・メモリ・スティックのような前記周辺ＵＳＢ装置との間のコミュニケーションの流れ図を示す。この図は、拡張読取りオペレーション、すなわち、標準レスポンス以外のレスポンスが前記周辺ＵＳＢ装置２２０から予測されるオペレーションを、サポートするパケット処理を示す。
【００３３】
前記レスポンス処理は、コマンド・ブロック・ラッパ３０１の形式をもち、前記ホスト・コンピュータ３１８から前記ＵＳＢ装置３２０へ送出された「読取りコマンド」から始まる。前記コマンド・ブロック・ラッパ３０１は、図３ｂにさらに示すように、コマンド・ブロック・ラッパ・ヘッダ３０２と、読取りコマンド用のオペレーション・コードの形式の前記オペレーション・コード３０４と、論理ブロック・アドレス３０６とを有する。ここに記述された前記論理ブロック・アドレス３０６は、前述した書込みコマンドに対する前記論理ブロック・アドレス２０６と同一である。前記コマンド・ブロック・ラッパ・パケット３０１を前記論理ブロック・アドレス３０６とともに受け取ると、前記ＵＳＢ装置内の前記マイクロコントローラは、実行しているデータ・パケット３０８を用いて前の拡張コマンドへのレスポンスを送出することができる。前記マイクロコントローラは、前の拡張コマンドに応答して集まり前記ワークステーション３１８への送出を待っているデータを持っているので、前記マイクロコントローラはそのようなコマンドを予測している。前記アプリケーションは前記データを生成した最初の拡張コマンドを供給したので、前記アプリケーションも前記レスポンスを予測する。前記コマンド・ブロック・ラッパは、希望する場合には、ＣＲＣ値を有する。このコマンド・ブロック・ラッパ３０１は、現行の前記ＵＳＢ標準を満足しているので、一般的なＵＳＢ装置と互換性がある。読取りコマンドの使用は、それによって引き出されたデータの特別なフォーマットの必要性を回避する。
【００３４】
前記ワークステーション３１８による前記コマンド・ブロック・ラッパ３０１の送出は、レスポンス・データ・パケット３０８の形式での前記ＵＳＢ装置３２０からのレスポンスが続く。このレスポンスは、前記拡張コマンドの結果を得るために前記ホスト・コンピュータ３１８によって要求され、その結果はデータ・パケット２０８内でより早く送付される。
【００３５】
図３ｃに示すように、前記データ・パケット３０８は、拡張コマンド・レスポンス・データ３０９を有する。前記データ・パケット３０８は、希望により、ＣＲＣ値を有し、該ＣＲＣ値は、変質なく前記データが受け取られたことを確定するための検査合計を有する。一旦、前記ワークステーション３１８によって受け取られると、前記アプリケーション・ソフト１０２は、それから前記レスポンスを処理する。前記データは拡張コマンド・レスポンス・データとして記述されているけれども、そのデータは拡張コマンドに応答する正規のデータである。代わりに、前記拡張コマンド・レスポンス・データは、セキュリティまたはデータ伝送効率のために処理される。
【００３６】
前記フラッシュ・ドライブ・メモリ・スティック１０８の前記マイクロコントローラ１１０が拡張されたオペレーションを完了する際には、前記マイクロコントローラ１１０は、前記装置ドライバ１０４を通して、前記フラッシュ・ドライブ・メモリ・スティック１０８のステータスが変更されたことを、ＡＣＫ信号の形式の読取りステータス・パケットを送付することによって、前記ホスト・コンピュータに信号で知らせる。このステータス・パケットは、図３aに、コマンド・ステータス・ラッパ３１０として描かれている。前記装置ドライバ１０４は、それから、ステータス・フィールド（図示せず）を有する前記コマンド・ステータス・ラッパ３１０を読み取る。前記ステータス・フィールドは、前記書込みコマンドの完了のステータスについての情報を含有する。もちろん、このコマンド・ステータス・ラッパは、ＵＳＢ標準装置ドライバの予想した結果に従い、現行のＵＳＢ装置ドライバとの互換性を維持するはずである。追加のコマンド・ステータス・ラッパ・データは、希望により、利益がある場合には、前記データ内に含まれる。
【００３７】
本発明の他の実施の形態によれば、本発明の第１の実施の形態で記述された前記方法およびプロトコルは、フラッシュ・ドライブ・メモリ・スティック以外のＵＳＢ装置であって、プリンタ、スキャナ、カメラ、ビデオカメラ等を含みかつそれに限られないものに対して実行される。上述したものと同じ理由により、編集、フォーマッティング、装置構成、装置オプションの設定のような拡張コマンド、および他のデータまたは装置操作をユーザが要求することを、書込みコマンドを送出するコマンド・ブロック・ラッパに続くデータ・パケット内にコマンドをカプセル化することによって可能にする。例えば、このプロトコルは、アプリケーション・ソフトを介して拡張コマンドをユーザが要求することを可能にするが、前記拡張コマンドは、データ・パケット内にカプセル化されるので、このプロトコルは、ホスト・コンピュータの形式でのワークステーションに存在する一般的な装置ドライバと互換性がある。前記コマンドは、それから、前記装置ドライバの更新を必要とせずに、前記ＵＳＢ装置に配置されたマイクロコンピュータによって実行される。
【００３８】
ある実施の形態によれば、前記ワークステーション２１８上での実行のためのアプリケーションは、前記周辺ＵＳＢ装置のメモリ内に格納される。そうであるので、前記周辺ＵＳＢ装置が組み込まれ、標準の装置ドライバにより作動し、かつ、そこに格納されたアプリケーションの使用により完全に制御可能である。ユーザの認証のような拡張機能をサポートするビデオカメラ、デジタルカメラおよびメモリ・スティックのような周辺ＵＳＢ装置の使用のためには、前記周辺装置のメモリ内に前記アプリケーションを格納することは、前記装置が、装置に特有の装置ドライバをそこにインストールすることなく、多数のコンピュータ・システムのいずれにも用いられることを可能とするものである。これは、大変便利で、したがって非常に有益である。
【００３９】
希望する場合には、前記周辺ＵＳＢ装置内に格納された前記アプリケーションは、いくつかの拡張機能をサポートするのみであり、かつ別のアプリケーションが、他の拡張機能をサポートするために必要である。例えば、最初のセットアップ・コマンドが装置の前記所有者のワークステーション上に格納されて、法律的な目的のために装置の追跡に使用する為の所有者情報を格納する。前記装置内の前記アプリケーションは、前記装置の構成を設定するために用いられるが、そのデータを改変することはできない。前記当初のアプリケーションは、それから、そのデータを改変することを求められる。この特徴は、企業（事業）アプリケーションに非常に役に立つ。企業アプリケーションでは、例えば、ＩＴ部門によってのみ実行されるいくつかの機能を持つことが望ましく、しかし、その装置によってだれによっても使用される他の拡張機能をサポートすることが望ましい。
【００４０】
多数の他の実施の形態が、本発明の主旨または範囲から逸脱することなく、構想される。
【符号の説明】
【００４１】
１０２    アプリケーション・ソフト
１０３    ＵＳＢポート
１０４    装置ドライバ
１０５    ＵＳＢ電気的インタフェース
１０６    ホスト・コンピュータ
１０８    ＵＳＢフラッシュ・ドライブ・メモリ・スティック
１１０    マイクロコントローラ
【図１】
2008532144.tif 000003
【図２ａ】
2008532144.tif 000004
【図２ｂ】
2008532144.tif 000005
【図２ｃ】
2008532144.tif 000006
【図３ａ】
2008532144.tif 000007
【図３ｂ】
2008532144.tif 000008
【図３ｃ】
2008532144.tif 000009
【国際調査報告】
2008532144.tif 000010
2008532144.tif 000011
2008532144.tif 000012