(57)【要約】【課題】非管理者使用モード下でもストレージデバイスにデバイスベンダーコマンドを発信できる、ＵＳＢストレージデバイスとその制御方法の提供。【解決手段】本発明のＵＳＢストレージデバイスとその制御方法は、データ保存ができると共にＵＳＢを介して電子デバイスとデータ交換が可能であり、このＵＳＢストレージデバイスのメモリ内に予め少なくとも１つの制御ファイルを含む制御ファイルフォルダを保存し、前記制御ファイル内には前記ストレージデバイスの制御コマンドに対応するコマンドデータを予め保存し、電子デバイスがユニバーサルシリアルバスを介して制御ファイルにアクセスするとき、ストレージデバイスのコントローラが予め保存されたコマンドデータに基づきアクセスされる制御ファイルに対応する制御コマンドを実行し、これにより、管理者権限のないユーザでもこのストレージデバイスにデバイスベンダーコマンドを発し、デバイスのあらゆる機能にアクセスでき利用することを可能にする。【選択図】図２
2007220063.tif 000002
【特許請求の範囲】
【請求項１】
データ保存ができると共に、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を介して電子デバイスとデータ交換ができるストレージデバイスであって、前記ストレージデバイスが、メモリとコントローラを含み、そのうち、前記メモリ内部に予め少なくとも１つの制御ファイルを含む制御ファイルフォルダを保存し、前記制御ファイル内に前記ストレージデバイスの制御コマンドに対応するコマンドデータを予め保存し、前記コントローラが前記メモリと前記ユニバーサルシリアルバス間のデータ伝送を制御し、そのうち、前記電子デバイスが前記ユニバーサルシリアルバスを介して前記制御ファイルにアクセスするとき、前記コントローラが予め保存されたコマンドデータに基づきアクセスされる制御ファイルに対応する制御コマンドを実行する、ストレージデバイス。
【請求項２】
前記制御コマンドが前記ストレージデバイスのデバイスベンダーコマンド（Ｖｅｎｄｏｒ  Ｃｏｍｍａｎｄ）である、請求項１に記載のストレージデバイス。
【請求項３】
電子デバイスのユニバーサルシリアルバスを介してストレージデバイスを制御する方法であって、前記ストレージデバイスのメモリ内に少なくとも１つの制御ファイルを含む制御ファイルフォルダを予め保存し、前記制御ファイルに前記ストレージデバイスの制御コマンドに対応するコマンドデータを予め保存し、前記電子デバイスのユニバーサルシリアルバスを介して前記少なくとも１つの制御ファイルにアクセスし、前記ストレージデバイスのコントローラに予め保存されたコマンドデータに基づきアクセスされる制御ファイルに対応する制御コマンドを実行させる、という手順を含む、電子デバイスのユニバーサルシリアルバスを介するストレージデバイス制御方法。
【請求項４】
前記制御コマンドが前記ストレージデバイスのデバイスベンダーコマンド（Ｖｅｎｄｏｒ  Ｃｏｍｍａｎｄ）である、請求項３に記載の電子デバイスのユニバーサルシリアルバスを介するストレージデバイス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＵＳＢストレージデバイスとその制御方法に関し、詳細には、管理者権限の与えられていない使用モード下でデバイスベンダーコマンドを発することができる、ＵＳＢストレージデバイスとその制御方法に関する。
【背景技術】
【０００２】
一般にマイクロソフトのウィンドウズ（登録商標）（Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ）オペレーティングシステム下では、管理者でない身分のユーザはＵＳＢマスストレージデバイスシステム（ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ）にデバイスベンダーコマンド（Ｖｅｎｄｏｒ  Ｃｏｍｍａｎｄ）を発する権限が与えられておらず、通常は管理者（Ａｄｍｉｎｉｓｔｒａｔｏｒ）しかデバイスベンダーコマンドをＵＳＢデバイス内のコントローラに実行させることができない。マイクロソフトのウィンドウズオペレーティングシステム下では、管理者の身分のユーザは通常デバイスベンダーコマンドを発することができ、そのコマンドの伝送フローはＳＣＩＳ  Ｐａｓｓ  Ｔｈｒｏｕｇｈの方法を使用してディスクドライバ（Ｄｉｓｋ  Ｄｒｉｖｅｒ）にコマンドを伝え、さらにＵＳＢドライバ（ＵＳＢ  Ｄｒｉｖｅｒ）を介してコマンドをストレージデバイス内のコントローラ（Ｃｏｎｔｒｏｌｌｅｒ）に伝送し、デバイスベンダーコマンドが要求する動作を実行させる。但し、管理者でない身分のユーザはこのコマンドを発する権限がない。図１に従来技術におけるＵＳＢストレージデバイスに対するデバイスベンダーコマンド伝送の制御フロー図を示す。管理者は直接ディスクドライバに対しデバイスベンダーコマンドを発し、ＵＳＢドライバにストレージデバイスを駆動させることができ、即ちＵＳＢを介してストレージデバイスのコントローラとデータ交換を行い、メモリデータの保存または読み取りの機能を達成することができるが、管理者でない場合は直接ディスクドライバに対しデバイスベンダーコマンドを発することができない。
【０００３】
しかしながら、現在の絶え間ない新製品の発売と機能の多様化が求められるＵＳＢストレージデバイスにおいては、管理者でない身分のユーザがコンピュータ上でＵＳＢストレージデバイスの制御の権限がない場合、多くの機能の実行における制限と問題が生じ、そのため管理者でない身分のユーザがコンピュータ上で数多くの特殊な機能を実行することができなくなってしまう。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の従来技術の欠点に鑑みて、本発明はデータ保存ができると共に、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を介して電子デバイスとデータ交換ができ、管理者でない使用モード下でもストレージデバイスにデバイスベンダーコマンドを発することができる、ＵＳＢストレージデバイスとその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述の目的を達するため、本発明のストレージデバイスは、データ保存ができると共に、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を介して電子デバイスとデータ交換ができ、前記ストレージデバイスは、メモリとコントローラを含み、前記メモリ内部に少なくとも１つの制御ファイルを含む制御ファイルフォルダを予め保存し、前記制御ファイル内に前記ストレージデバイスの制御コマンドに対応するコマンドデータを予め保存しておき、前記コントローラは前記メモリとユニバーサルシリアルバス間のデータ伝送を制御し、そのうち、電子デバイスが前記ユニバーサルシリアルバスを介して前記制御ファイルにアクセスするとき、前記コントローラが予め保存されたコマンドデータに基づきアクセスされる制御ファイルに対応する制御コマンドを実行する。
【０００６】
本発明の電子デバイスのユニバーサルシリアルバスを介するストレージデバイスの制御方法は、前記ストレージデバイスのメモリ内に予め少なくとも１つの制御ファイルを含む制御ファイルフォルダを保存し、前記制御ファイルにストレージデバイスの制御コマンドに対応するコマンドデータを予め保存し、前記電子デバイスのユニバーサルシリアルバスを介して少なくとも１つの前記制御ファイルにアクセスし、ストレージデバイスの前記コントローラが予め保存されたコマンドデータに基づきアクセスされる制御ファイルに対応する制御コマンドを実行する、という手順を含む。
【０００７】
この方法により、管理者権限のないユーザでもストレージデバイスに対してデバイスベンダーコマンド（Ｖｅｎｄｏｒ  Ｃｏｍｍａｎｄ）を発し、デバイスのあらゆる機能にアクセスし利用することができるようにする。
【発明を実施するための最良の形態】
【０００８】
図２に本発明のＵＳＢストレージデバイスに対するデバイスベンダーコマンド発信の制御フロー図を示す。図２に示すように、本発明のストレージデバイス１は、データ保存ができると共に、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を介して上述の電子デバイスとするコンピュータ２とデータ交換ができ、このストレージデバイスは、メモリとコントローラを含み、前記メモリはフラッシュメモリとすることができ、その内部に少なくとも１つの制御ファイルを含む制御ファイルフォルダを予め保存し、前記制御ファイル内に前記ストレージデバイスの制御コマンドに対応するコマンドデータを予め保存し、前記コントローラは前記メモリと前記ユニバーサルシリアルバス間のデータ伝送を制御することができる。
【０００９】
図２に示すように、このうちコンピュータ２はＵＳＢを介して上述の本発明のストレージデバイス１に接続することができ、このコンピュータ２のファイルシステムのファイルフォルダ内に前記ストレージデバイス１内の制御ファイルフォルダに対応する制御ファイルフォルダ画像を形成する。マイクロソフトのウィンドウズオペレーティングシステム下では、管理者身分のユーザはデバイスベンダーコマンドを発することができ、このコマンドの伝送フローはＳＣＩＳ  Ｐａｓｓ  Ｔｈｒｏｕｇｈの方法を使用してコマンドをディスクドライバ（Ｄｉｓｋ  Ｄｒｉｖｅｒ）に伝送し、さらにＵＳＢドライバ（ＵＳＢ  Ｄｒｉｖｅｒ）を介してコマンドをストレージデバイス内のコントローラ（Ｃｏｎｔｒｏｌｌｅｒ）に伝送し、デバイスベンダーコマンドが要求する動作を実行する。このため、管理者は直接ディスクドライバに対しデバイスベンダーコマンドを発し、ＵＳＢドライバにストレージデバイス１を駆動させることができ、即ち、ＵＳＢを介してストレージデバイスのコントローラとデータ交換し、ストレージデバイス１のメモリデータの保存または読み取り機能を達することができる。このほか、管理者でないモード下では、ユーザはファイルシステムのファイルフォルダ内の制御ファイルフォルダ画像を介して制御ファイルの読み取り／書き込みを行い、コンピュータ２にユニバーサルシリアルバスを介してストレージデバイス１の制御ファイルにアクセスさせ、このとき、コントローラは予め保存されたコマンドデータに基づきアクセスされる制御ファイルに対応する制御コマンドを実行する。
【００１０】
上述のストレージデバイス１の制御ファイルフォルダは特殊なファイルフォルダ（Ｆｉｌｅ  Ｓｙｓｔｅｍ  Ｆｏｌｄｅｒ）であり、その内容は前記ＵＳＢデバイス内のデバイスベンダーコマンドとファイル間の対応関係に用いることができ、管理者でない身分のユーザがコンピュータ２のホスト端で関連のデバイスベンダーコマンドを発したいとき、前記コマンドに対応する制御ファイルの読み取り／書き込みを行うことができ、この読み取り／書き込みの要求が直接ストレージデバイス１のコントローラに伝えられ、コントローラに前記コマンドの動作を実行させることができる。
【００１１】
上述の本発明の電子デバイスのユニバーサルシリアルバスを介するストレージデバイスの制御方法は、例えば、コンピュータ２のコンピュータ上のプログラムとして管理者でない身分下にあるとき、プログラムを介してＵＳＢマスストレージデバイスのＩｎｑｕｉｒｙ文字列を得たい場合、コンピュータ２内のファイルシステムのファイルフォルダの制御ファイルフォルダ画像により、事前にフォーマット済みのストレージデバイス１内からＩｎｑｕｉｒｙコマンドに相対するファイルがＩｎｑｕｉｒｙ．ｄａｔであり、且つ、前記ファイルのアドレスが０ｘ００ＦＦであることを知ることができる。プログラムを介してＩｎｑｕｉｒｙ値を得たいときは、Ｉｎｑｕｉｒｙ．ｄａｔファイルを読み取り、オペレーティングシステムがこのファイル読み取り要求をＲｅａｄ１０コマンドに変換し且つアドレスは０ｘ００ＦＦであるとストレージデバイス１に伝送する。ストレージデバイス１が０ｘ００ＦＦのＲｅａｄ１０の要求を受け取ると、このコマンドがＩｎｑｕｉｒｙ文字列の値を要求していると判断し、Ｉｎｑｕｉｒｙ文字列を返す。プログラムがこの返された値を受け取ると、ストレージデバイス１のＩｎｑｕｉｒｙ文字列を得ることができる。このため、管理者でない身分のユーザでも制御ファイルフォルダを介して前記制御コマンドに対応する制御ファイルを読み取ることができ、直接ストレージデバイス１に対しコントローラに実行したい制御作業を行わせることができる。
【図面の簡単な説明】
【００１２】
【図１】従来技術におけるＵＳＢストレージデバイスに対するデバイスベンダーコマンド発信の制御フロー図である。
【図２】本発明におけるＵＳＢストレージデバイスに対するデバイスベンダーコマンド発信の制御フロー図である。
【符号の説明】
【００１３】
１  ストレージデバイス
２  コンピュータ
【図１】
2007220063.tif 000003
【図２】
2007220063.tif 000004