(57)【要約】【課題】  予め記憶されている情報が誤って消去されることのない読み出し専用の記憶領域を有すると共に、コンピュータウィルス等の不正なハッキングから保護された記憶領域も有するＵＳＢストレージデバイスを提供する。【解決手段】  ＵＳＢストレージデバイスの半導体メモリの記憶領域を、少なくとも第１の領域と第２の領域に分けて定義し、第１の領域は、論理ユニット番号に対応させたＳＣＳＩ標準コマンドでアクセス可能な情報の読み出しのみ実行可能な領域とし、第２の領域は、オペレーティングシステムから不可視の領域であって、専用のコマンド体系でのみアクセス可能に構成する。【選択図】  図３
2005266934.tif 000002
【特許請求の範囲】
【請求項１】
ディスクドライブドライバを含む所定のオペレーティングシステムによって制御されると共に、所定のアプリケーションソフトウェア、ＵＳＢマスストレージクラスドライバ、及びＵＳＢホストコントローラを具備する上位装置へ接続して用いられるＵＳＢストレージデバイスであって、
フラッシュメモリの記憶領域を少なくとも第１の領域と第２の領域に分けて定義してなる記憶手段と、
前記上位装置とＵＳＢプロトコルに基づいた通信を行う通信手段と、
前記通信手段を介して受け取ったコマンドに基づいて、前記記憶手段に対して情報の読み出し、書き込み又は削除を実行する制御手段と、
を備え、
前記制御手段は、
前記第１の領域を、前記上位装置が有するＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された一の論理ユニット番号に対応する情報の読み出しのみを実行可能なユニットとして前記ＵＳＢマスストレージクラスドライバに認識させるための当該第１の領域のフォーマット情報を記憶しており、
前記ディスクドライブドライバからの指令に従って、前記第１の領域のフォーマット情報を前記ＵＳＢマスストレージクラスドライバに供給して、そのＵＳＢマスストレージクラスドライバに、当該ＵＳＢストレージデバイスを情報の読み出しのみ可能な論理ユニットを有する一つのＳＣＳＩデバイスとして認識させると共に、
前記第１の領域に対しては、前記上位装置から受け取った前記ＳＣＳＩコマンドセットの標準コマンドに基づいて情報の読み出しのみを実行し、
前記第２の領域に対しては、当該第２の領域にアクセスするための専用のコマンドに基づきアクセス可能に構成されてなることを特徴とするＵＳＢストレージデバイス。
【請求項２】
情報の読み出し、書き込み、削除が可能な領域を第２の領域として有し、前記上位装置で発行された専用のコマンド体系でアクセス可能に構成したことを特徴とする、請求項１記載のＵＳＢストレージデバイス。
【請求項３】
管理領域のベンダーユニーク情報記憶領域を第２の領域として有し、前記上位装置で発行された専用のコマンド体系によって、当該第２の領域に記憶されている情報の読み出しが可能であることを特徴とする、請求項１または２記載のＵＳＢストレージデバイス。
【請求項４】
第２の領域として、ユーザーが情報の読み出し、書き込み、削除が可能な領域と管理領域のベンダーユニーク情報記憶領域をそれぞれ別個に有し、管理領域のベンダーユニーク情報記憶領域に記憶されているＩＤ情報を用いてその上位装置で使用可能か否かの認証を行い、これに成功したときに限り、前記専用のコマンド体系で前記情報の読み出し、書き込み削除が可能な第２の領域へのアクセスが可能に構成してなることを特徴とする、請求項２を引用する請求項３記載のＵＳＢストレージデバイス。
【請求項５】
本ＵＳＢストレージデバイスを上位装置に接続した際、前記第１の領域に記憶されているソフトウェアを自動実行させるように構成してなることを特徴とする、請求項１乃至４いずれか１項記載のＵＳＢストレージデバイス。
【請求項６】
ＵＳＢストレージデバイスに搭載される制御装置であって、
ＵＳＢストレージデバイスが接続されるべき上位装置が有するＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号に対応し、ＵＳＢストレージデバイスに設けられた記憶装置の第1の領域を、情報の読み出しのみ実行可能なユニットとして前記ＵＳＢマスストレージクラスドライバに認識させるための当該領域のフォーマット情報と、上位装置が前記記憶装置の第２の領域に対してアクセスするベンダー専用のコマンドを解釈する手段を有し、
上位装置のディスクドライブドライバによるコマンドの発行に応答して、前記上位装置のＵＳＢマスストレージクラスドライバに前記フォーマット情報を供給して、前記ＵＳＢマスストレージクラスドライバに当該制御装置が搭載されたＵＳＢストレージデバイスを前記情報の読み出しのみを実行可能な論理ユニットを有するＳＣＳＩデバイスとして認識させるともに、
前記上位装置から受け取ったＳＣＳＩ標準コマンドによって前記第1の領域のデータの読み出しを行い、前記上位装置から受け取った前記第２の領域アクセス用の専用のコマンドによって前記第２の領域へのアクセスを実行することを特徴とする制御装置。
【請求項７】
前記専用のコマンドは、ＵＳＢマスストレージクラスドライバから発行されるＳＣＳＩベンダーコマンドであり、該コマンドで、データの読み出し、書き込み、削除が可能な前記第２の領域へのアクセスを実行することを特徴とする、請求項６記載の制御装置。
【請求項８】
前記専用のコマンドは、上位装置でＧｅｔ  Ｄｅｖｉｃｅ  Ｓｅｒｉａｌ  Ｎｕｍｂｅｒ  ＡＰＩがコールされてディスクドライブドライバから発行されるＩＮＱＵＩＲＹコマンドであり、該コマンドが複数回繰り返し発行されて、管理領域の製造シリアル番号を記憶した第２の領域に記憶されている２５３Ｂｙｔｅ以上の情報を２５２Ｂｙｔｅ以下の情報に分割して順に読み出すことを特徴とする、請求項６記載の制御装置。
【請求項９】
前記専用のコマンドは、Ｇｅｎｅｒｉｃ  Ｒｅａｄコマンドを用い、管理領域中のオペレーティングシステムが使用しない第２の領域の所定の論理ブロックアドレスに記憶されているベンダーユニーク情報を読み出すものであって、該コマンドが、はじめに、予め定められたセクターにアクセスして当該セクターに記憶されている以降順にアクセスすべき暗号化されている論理ブロックアドレスを読み出し、これが解読されて後、当該解読された論理ブロックアドレスに順にアクセスしたことを条件に、最終にアクセスした論理ブロックアドレスからベンダーユニーク情報を読み出すものであることを特徴とする、請求項６記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリを用いて情報を記憶するＵＳＢストレージデバイス及びその制御装置に関する。
【背景技術】
【０００２】
近年、ＵＳＢポートを有するコンピュータに対して挿抜可能であり、様々な情報を記憶することができるＵＳＢストレージデバイスが広く普及している。このようなＵＳＢストレージデバイスに対して使用者は、フレキシブルディスク（ＦＤ）やハードディスク（ＨＤ）と同様に、情報の読み出し、書き込み及び削除を行うことが可能である。このため、ＵＳＢストレージデバイスに記憶させておいた重要な情報を、使用者が誤って消去してしまうという可能性があった。
【０００３】
そこで、本出願人は先の出願（特許文献１参照）において、使用者が誤って、或いは故意に重要な情報を消去してしまうことを防止したＵＳＢストレージデバイスを提案した。このＵＳＢストレージデバイスは、記憶領域をＣＤ−ＲＯＭ領域とディスク領域という二種類の領域に分けて定義し、それらの領域のフォーマット情報を外部装置（例えばパーソナルコンピュータ）に送信することにより、外部装置のＵＳＢマスストレージクラスドライバにＣＤ−ＲＯＭ領域を読み出し専用の領域として認識させ、ディスク領域を読み出し、書き込み及び削除が実行可能な領域として認識させる。なお、このＵＳＢストレージデバイスは、ＣＤ−ＲＯＭ領域及びディスク領域共に、外部装置のＵＳＢマスストレージクラスドライバを介してＳＣＳＩコマンドによって外部装置からアクセス可能に構成されているが、特に、外部装置からＣＤ−ＲＯＭ領域に対する書き込み指令や削除指令を受け取った場合にはそれらの指令を実行しないように構成されている。
【０００４】
このようなＵＳＢストレージデバイスであれば、ＣＤ−ＲＯＭ領域に予め記憶されている情報が誤って、あるいは故意に消去されることはない。したがって、特にコマーシャル情報などをＣＤ−ＲＯＭ領域に記憶させて頒布するような場合に好適である。
【特許文献１】特開２００４−５４８９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、このようなＵＳＢストレージデバイスは、ディスク領域に対してＵＳＢマスストレージクラスドライバを介してＳＣＳＩコマンドによって自由にアクセスできるようになっているため、このディスク領域に記憶されている情報に対応したコマンドを用いれば、市販のアプリケーションソフトウェアによって、誰でもこのディスク領域にアクセス（情報の書き込み、読み出し、削除）できてしまうという問題がある。さらに違法なハッキングやコンピュータウィルスプログラムにより、ディスク領域に記憶された情報が不正に削除されたり改竄されたりしてしまうという問題がある。
【０００６】
本発明はこのような問題に鑑みなされたものであり、オペレーティングシステムから不可視であって、違法なハッキングやコンピュータウィルスに容易に攻撃されない、セキュリティ性の高いＵＳＢストレージデバイスを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するためになされた請求項１に記載のＵＳＢストレージデバイスは、ディスクドライブドライバを含む所定のオペレーティングシステムによって制御されると共に、所定のアプリケーションソフトウェア、ＵＳＢマスストレージクラスドライバ、及びＵＳＢホストコントローラを具備する上位装置へ接続して用いられるＵＳＢストレージデバイスであって、フラッシュメモリの記憶領域を少なくとも第１の領域と第２の領域に分けて定義してなる記憶手段と、上位装置とＵＳＢプロトコルに基づいた通信を行う通信手段と、通信手段を介して受け取ったコマンドに基づいて、記憶手段に対して情報の読み出し、書き込み又は削除を実行する制御手段と、を備える。そして、制御手段は、第１の記憶を、上位装置が有するＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された一の論理ユニット番号に対応する情報の読み出しのみを実行可能なユニットとしてＵＳＢマスストレージクラスドライバに認識させるための当該第１の領域のフォーマット情報を記憶しており、ディスクドライブドライバからの指令に従って、第１の領域のフォーマット情報をＵＳＢマスストレージクラスドライバに供給して、そのＵＳＢマスストレージクラスドライバに、当該ＵＳＢストレージデバイスを情報の読み出しのみ可能な論理ユニットを有する一つのＳＣＳＩデバイスとして認識させると共に、第１の領域に対しては、上位装置から受け取ったＳＣＳＩコマンドセットの標準コマンドに基づいて情報の読み出しのみを実行し、第２の領域に対しては、当該第２の領域にアクセスするための専用のコマンドに基づきアクセス可能に構成される。
【０００８】
このようなＵＳＢストレージデバイスであれば、上位装置が有するオペレーティングシステムは、論理ユニット番号に対応付けされている領域を情報の読み出しのみを実行可能な論理ユニットとして認識し、論理ユニット番号に対応付けされていない領域、もしくは管理領域については認識しない。つまり、オペレーティングシステムは第１の領域を認識しＳＣＳＩ標準コマンドでその情報を読み出し可能であるが、第２の領域は認識できないため、専用のコマンドを用いない限りその情報を読み出すことはできない。
【０００９】
したがって、請求項１に記載のＵＳＢストレージデバイスは、オペレーティングシステム標準のアプリケーションソフトウェアで情報の読み出し可能な第１の領域と、専用のコマンドでしかアクセスを受け付けずコンピュータウィルスプログラムや違法なハッキングから保護された第２の領域とを有するＵＳＢストレージデバイスを提供できる。
【００１０】
なお、情報の読み出し、書き込み、削除が可能な領域を第２の領域として有し、上位装置で発行された専用のコマンド体系でアクセス可能にＵＳＢストレージデバイスを構成してもよい（請求項２）。ここで言う「専用のコマンド体系」というのは、第２の領域にアクセスするために上位装置で発行される体系的な一連のコマンドを言う。
【００１１】
また、管理領域のベンダーユニーク情報記憶領域を第２の領域として有し、上位装置で発行された専用のコマンド体系によって、当該第２の領域に記憶されている情報の読み出しが可能に構成してもよい（請求項３）。
【００１２】
さらに、第２の領域として、ユーザーが情報の読み出し、書き込み、削除が可能な領域と管理領域のベンダーユニーク情報記憶領域をそれぞれ別個に有し、管理領域のベンダーユニーク情報記憶領域に記憶されているＩＤ情報を用いてその上位装置で使用可能か否かの認証を行い、これに成功したときに限り、専用のコマンド体系で情報の読み出し、書き込み削除が可能な第２の領域へのアクセスが可能に構成してもよい（請求項４）。このようになっていれば、第２の領域のセキュリティ性がさらに向上する。
【００１３】
また、本ＵＳＢストレージデバイスを上位装置に接続した際、第１の領域に記憶されているソフトウェアを自動実行させるように構成してもよい（請求項５）。このようになっていれば、ＵＳＢストレージデバイスが上位装置に装着された際に上位装置がソフトウェアを自動実行する。
【００１４】
また、上記課題を解決するためになされた請求項６に記載の制御装置は、ＵＳＢストレージデバイスに搭載される制御装置であって、ＵＳＢストレージデバイスが接続されるべき上位装置が有するＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号に対応し、ＵＳＢストレージデバイスに設けられた記憶装置の第1の領域を、情報の読み出しのみ実行可能なユニットとしてＵＳＢマスストレージクラスドライバに認識させるための当該領域のフォーマット情報と、上位装置が記憶装置の第２の領域に対してアクセスするベンダー専用のコマンドを解釈する手段を有し、上位装置のディスクドライブドライバによるコマンドの発行に応答して、上位装置のＵＳＢマスストレージクラスドライバにフォーマット情報を供給して、ＵＳＢマスストレージクラスドライバに当該制御装置が搭載されたＵＳＢストレージデバイスを情報の読み出しのみを実行可能な論理ユニットを有するＳＣＳＩデバイスとして認識させるともに、上位装置から受け取ったＳＣＳＩ標準コマンドによって第１の領域のデータの読み出しを行い、上位装置から受け取った第２の領域アクセス用の専用のコマンドによって第２の領域へのアクセスを実行する。
【００１５】
このような制御装置によれば、上位装置に対し、当該制御装置が搭載されたＵＳＢストレージデバイスを、情報の読み出しのみを実行可能な論理ユニットを有するＳＣＳＩデバイスとして認識させるとともに、記憶手段の第１の領域は、上位装置から受け取ったＳＣＳＩ標準コマンドによってそのデータの読み出しを行うことができる。第２の領域はオペレーティングシステムから不可視の領域となり、かつ、上位装置から受け取った当該第２の領域アクセス用の専用のコマンドによってそのアクセスが可能となる。この第２の領域は、例えば、論理ユニット番号の設定されないディスク領域（情報の読み出し、書き込み、削除が可能な領域）、及び/又は、記憶手段の管理領域のベンダーユニーク情報記憶領域（情報の読み出しのみが可能な領域）で構成される。したがって、第２の領域は、コンピュータウィルスやハッキングなどの不正アクセスに有効に対応でき、セキュリティ機能の高いＵＳＢストレージデバイスを提供できる。
【００１６】
ところで、専用のコマンドは、ＵＳＢマスストレージクラスドライバから発行されるＳＣＳＩベンダーコマンドであり、該コマンドで、データの読み出し、書き込み、削除が可能な第２の領域へのアクセスを実行するものであるとよい（請求項７）。
【００１７】
また、専用のコマンドは、上位装置でＧｅｔ  Ｄｅｖｉｃｅ  Ｓｅｒｉａｌ  Ｎｕｍｂｅｒ  ＡＰＩがコールされてディスクドライブドライバから発行されるＩＮＱＵＩＲＹコマンドであり、該コマンドが複数回繰り返し発行されて、管理領域の製造シリアル番号を記憶した第２の領域に記憶されている２５３Ｂｙｔｅ以上の情報を２５２Ｂｙｔｅ以下の情報に分割して順に読み出すものであるとよい（請求項８）。
【００１８】
このような専用のコマンドを制御装置が実行可能であれば、例えばＷｉｎｄｏｗｓ（登録商標）２０００やＷｉｎｄｏｗｓ（登録商標）ＸＰ等のオペレーティングシステムの一般ユーザーが第２の領域に記憶されている２５３Ｂｙｔｅを超える大きさのデータを読み出すことができる。
【００１９】
また、専用のコマンドは、Ｇｅｎｅｒｉｃ  Ｒｅａｄコマンドを用い、管理領域中のオペレーティングシステムが使用しない第２の領域の所定の論理ブロックアドレスに記憶されているベンダーユニーク情報を読み出すものであって、該コマンドが、はじめに、予め定められたセクターにアクセスして当該セクターに記憶されている以降順にアクセスすべき暗号化されている論理ブロックアドレスを読み出し、これが解読されて後、当該解読された論理ブロックアドレスに順にアクセスしたことを条件に、最終にアクセスした論理ブロックアドレスからベンダーユニーク情報を読み出すものであるとよい（請求項９）。
【００２０】
このような専用のコマンドを制御装置が実行可能であれば、ベンダーユニーク情報のセキュリティ性が向上する。
【発明を実施するための最良の形態】
【００２１】
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００２２】
図１は、ホスト１０（特許請求の範囲に記載の上位装置に相当する）と、実施例のＵＳＢストレージデバイス１７の概略構成を示すブロック図である。
１．ホスト１０の構成の説明
ホスト１０は、一般に広く知られたパーソナルコンピュータであり、ソフトウェアとして、オペレーティングシステム１１、第１領域読み出し用ソフトウェア１２、第２領域アクセス用ソフトウェア１３、ＵＳＢマスストレージクラスドライバ１４を少なくとも備え、ハードウェアとしてＵＳＢホストコントローラ１５を少なくとも備える。
【００２３】
オペレーティングシステム１１は、ホスト１０を統括的に制御するソフトウェアであり、具体的には例えばＷｉｎｄｏｗｓ（登録商標）やＭａｃ(登録商標）ＯＳ  Ｘ等のソフトウェアである。
【００２４】
第１領域読み出し用ソフトウェア１２は、オペレーティングシステム１１によって提供されたアクセス手法によってＵＳＢストレージデバイス１７の後述する第１の領域（ＣＤ−ＲＯＭ領域）に記憶されているイメージデータの読み出しを実行可能なソフトウェアである。
【００２５】
第２領域アクセス用ソフトウェア１３は、ＵＳＢストレージデバイス１７の後述する第２の領域に対し、その領域の性質に従って、そこに記憶されている情報の読み出しや書き込み、あるいは削除（これらを「アクセス」という）を行う専用のソフトウェアである。
【００２６】
第１領域読み出し用ソフトウェア１２と第２領域アクセス用ソフトウェア１３は、特許請求範囲の「アプリケーションソフトウェア」に該当する。
ＵＳＢマスストレージクラスドライバ１４は、オペレーティングシステム１１（オペレーティングシステムが有するディスクドライブドライバを含む）から受け取ったコマンドに基づいて、その対応するＳＣＳＩコマンドに変換し、ＵＳＢホストコントローラ１５を制御してそのＳＣＳＩコマンドをＵＳＢストレージデバイス１７に送信する。また、逆にＵＳＢストレージデバイス１７から受け取ったＳＣＳＩコマンドをオペレーティングシステム１１（正確には、オペレーティングシステムが有するディスクドライブドライバ）が認識可能なコマンドに変換して当該オペレーティングシステム１１に渡す。
【００２７】
ＵＳＢホストコントローラ１５は、図示しないＵＳＢコネクタを備え、他の装置のＵＳＢコネクタとケーブルによって接続されることによって、ＵＳＢ規格に基づいた通信を行うことができるようになっている。なお、ホスト１０は、ＵＳＢ規格に基づいた通信を行うことができる機器であれば、パーソナルコンピュータに限らずＰＤＡや携帯電話等であってもよい。
【００２８】
２．ＵＳＢストレージデバイス１７の構成の説明
ＵＳＢストレージデバイス１７は、ＵＳＢインターフェース１９とコントローラ２１とＬＥＤ２３とフラッシュメモリ２５とを備える。
【００２９】
（１）ＵＳＢインターフェース１９
ＵＳＢインターフェース１９は、特許請求の範囲に記載の通信手段に相当し、ＵＳＢバス１６を介してホスト１０と通信を行う機能を担う。ＵＳＢインターフェース１９は、パケット送受信部１９ａとシリアルパラレル変換部１９ｂとパケット生成分解部１９ｃとＵＳＢバスパワー制御部１９ｄとを備える。パケット送受信部１９ａは、図示しないＵＳＢコネクタと接続され、ＵＳＢ規格に基づいたパケットを送受信する。シリアルパラレル変換部１９ｂは、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解部１９ｃは、ホスト１０と通信を行うためのパケットの生成及びパケットを分解してデータの取り出しを行う。ＵＳＢバスパワー制御部１９ｄは、ホスト１０から供給される電力の管理及びＵＳＢストレージデバイス１７の各部位への電力の配分を行う。
【００３０】
（２）コントローラ２１
コントローラ２１は、特許請求の範囲に記載の制御手段若しくは制御装置に相当し、メモリ制御部２１ａとＵＳＢインターフェース制御部２１ｂとメモリ情報記憶部２１ｃとＬＥＤ制御部２１ｄとを備える。メモリ制御部２１ａは、フラッシュメモリ２５に対してデータの読み出し、書き込み及び削除を実行する。ＵＳＢインターフェース制御部２１ｂは、前述したＵＳＢインターフェース１９の各部を制御する。メモリ情報記憶部２１ｃは、フラッシュメモリ２５の領域に関する情報を記憶する。この情報について、図２のデータ表を用いて説明する。
【００３１】
図２に示すように、メモリ情報記憶部２１ｃは、論理ユニット番号、フォーマット、論理ブロック番号及び物理ブロック番号の対応関係を、領域（ＣＤ−ＲＯＭ領域とディスク領域）毎に備えたものである。論理ユニット番号は、論理ユニットを識別するための番号であり、本実施例の場合、第１の領域であるＣＤ−ＲＯＭ領域についてのみ「０」として設定されており、第２の領域であるディスク領域については「設定なし」である。フォーマットは、その領域のフォーマットを表し、本実施例では、ＣＤ−ＲＯＭ領域については「ＩＳＯ９６６０」であり、ディスク領域については「ディスクフォーマット」である。また、論理ブロック番号というのは、ホスト１０がアクセスする際にその領域に対応するファイル管理システムによって定まるブロック番号を意味し、物理ブロック番号というのは、フラッシュメモリ２５の実ブロック番号を意味する（この「番号」というのはアドレスのことである。）この論理ブロック番号と物理ブロック番号の対応関係は領域毎に定義されている。
【００３２】
なお、フラッシュメモリ２５の物理ブロック番号と論理ブロック番号との対応付けは、メモリ情報記憶部２１ｃが記憶する情報によって管理されている。このため、メモリ制御部２１ａが記憶する情報を変更することにより、物理ブロック番号と論理ブロック番号とは自由に対応付けを行うことができる。
【００３３】
なお、第２の領域のフォーマットを専用フォーマットにしてもよい。専用フォーマットとは、ＩＳＯなどの国際標準規格に準拠したものや、ＦＡＴやＨＦＳなどの広く知られた標準的なフォーマットではなく、ＵＳＢストレージデバイス１７のベンダー独自のフォーマットを意味する。また、さらにディスク領域を増やし、コマンド体系によって、使い分けられるようになっていてもよい（例えば、後述するフラグを「１０」、「１１」・・にする）。
【００３４】
（３）ＬＥＤ２３
図１に戻り、ＬＥＤ２３は、フラッシュメモリ２５に対してデータの読み出し、書き込み又は削除が実行されている際に点灯する発光体である。フラッシュメモリ２５に対してデータの読み出し、書き込み又は削除が実行中であることを利用者に示し、これらの実行中にホスト１０からＵＳＢストレージデバイス１７が抜かれないようにするためのものである。
【００３５】
（４）フラッシュメモリ２５
フラッシュメモリ２５は、不揮発性の半導体メモリであり、特許請求の範囲に記載の記憶手段に相当する。このフラッシュメモリ２５について、図３の領域構成図を用いて説明する。なお、このような領域構成は、コントローラ２１のメモリ情報記憶部２１ｃが記憶する情報によって実現される。
【００３６】
図３に示すように、フラッシュメモリ２５は、論理ユニット番号（ＬＵＮ）が０でありオペレーティングシステム１１から可視である第１の領域と、オペレーティングシステム１１から不可視である第２の領域とに大きく分かれる。
【００３７】
このうち第１の領域は、ＣＤ−ＲＯＭ領域としてオペレーティングシステム１１に認識される。第２の領域は、論理ユニット番号が設定されないディスク領域、及び/または、この記憶手段の管理領域で構成し得る。なお、ＣＤ−ＲＯＭ領域とディスク領域とについて、本実施例ではユーザー領域と呼ぶ。
【００３８】
３．各処理の説明
（１）起動処理
ＵＳＢストレージデバイス１７がホスト１０に接続された際に、ＵＳＢストレージデバイス１７のコントローラ２１において実行される本ＵＳＢストレージデバイス１７の起動処理について図４のフローチャートを用いて説明する。なお、本処理は、コントローラ２１に記憶されたプログラムに基づいて実行される。また、本処理は、ＵＳＢストレージデバイス１７がホスト１０に接続されることにより、ＵＳＢバスパワー制御部１９ｄに電力が供給され、さらにホスト１０側でエニュメレーション処理が実行されると開始される。
【００３９】
コントローラ２１は本処理の実行が開始されると、ホスト１０からの指令に応じて、ディスクリプタと呼ばれるデバイス情報（デフォルトパイプの最大パケットサイズ等）をホスト１０に送信する（Ｓ１１０）。
【００４０】
次に、ホスト１０からの指令に応じて、ＵＳＢストレージデバイス１７のアドレスを設定する（Ｓ１１５）。以降、このアドレス宛のフレームのみを当該ＵＳＢストレージデバイス１７は取得する。
【００４１】
次に、より詳細なデバイス情報をホスト１０に送信する（Ｓ１２０）。このデバイス情報としては、エンドポイントに関する情報、クラス、サブクラス、プロトコル等である。
その結果、ホスト１０ではＵＳＢマスストレージクラスドライバ１４が起動され、第１領域読み込み用ソフトウェア１２からオペレーティングシステム１１及びＵＳＢマスストレージクラスドライバ１４を介してＵＳＢホストコントローラ１５を制御するアクセスパスができる。
【００４２】
また、ＵＳＢマスストレージクラスドライバ１４が、Ｇｅｔ Ｍａｘ Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒコマンドによって、このデバイスの論理ユニット番号数を要求するため、コントローラ２１は、メモリ情報記憶部２１ｃに記憶されている論理ユニット数が１（１つの論理ユニットのみ有する）という情報を読み出して、ホスト１０に送信する。そしてさらに、ディスクドライブドライバがＩＮＱＵＩＲＹコマンドを発行するため、コントローラ２１は、メモリ情報記憶部２１ｃに記憶されている、論理ユニット番号が設定されている領域のフォーマット情報を読み出してホスト１０に送信する。これらの結果、ホスト１０は、ＵＳＢストレージデバイス１７を、ＩＳＯ９６６０フォーマットから構成される論理ユニット番号「０」の領域を有するＳＣＳＩデバイスと認識する。
【００４３】
ホスト１０との通信が確立されると、フラッシュメモリ２５を動作可能にし（Ｓ１２５）、デバイスの起動処理を終了する。
なお、Ｗｉｎｄｏｗｓ（登録商標）には、記憶媒体挿入時や記憶媒体接続時にその記憶媒体のルートディレクトリに記憶されたａｕｔｏｒｕｎ．ｉｎｆという名称のファイル内で指定されたアプリケーションソフトウェアを実行する機能を有しているため、フラッシュメモリ２５のＣＤ−ＲＯＭ領域にそのファイルを記憶させておけば、ＵＳＢストレージデバイス１７がホスト１０に装着された際に上記ファイル内で指定されたアプリケーションソフトウェアを自動実行させることができる。
【００４４】
このようになっていれば、利用者がホスト１０の操作に不慣れであってもＵＳＢストレージデバイス１７を装着するだけで特定のアプリケーションソフトウェアが自動実行されるため、例えば販促品として広く一般に配布した場合に販促を担うアプリケーションソフトウェアを確実に実行させることができ、販促効果が高まる。
【００４５】
（２）第１の領域へのアクセス処理
次に、ホスト１０において動作する第１領域読み出し用ソフトウェア１２が、ＵＳＢストレージデバイス１７に対してデータの読み出しコマンドを送ると、コントローラ２１は、ＳＣＳＩ標準コマンドで指定された内容を実行する。なお、本処理は、コントローラ２１に記憶されたプログラムに基づいて実行される。
【００４６】
まず、第１領域読み出し用ソフトウェア１２がＣＤ−ＲＯＭ領域へデータの読み込み要求を行ってデータを取得する流れについて説明する。ここで、ホスト１０におけるドライブレターの対応状態は、ドライブレターＡに対応するものがフレキシブルディスクドライブであり、ドライブレターＢに対応するものがＣＤ−ＲＯＭドライブ（実物としてのＣＤ−ＲＯＭのドライブ）、ドライブレターＣに対応するものがハードディスクであり、ドライブレターＤに対応するものが、本ＵＳＢストレージデバイス１７のＣＤ−ＲＯＭ論理ユニットであるとする。
【００４７】
第１領域読み出し用ソフトウェア１２が、Ｄドライブに対して、ユーザーが指定したファイルの読み込み要求をオペレーティングシステム１１に対して行うと、オペレーティングシステム１１はファイルアロケーションテーブル等を参照してＤドライブがＬＵＮ＝０であるＣＤ−ＲＯＭ論理ユニットであることを認識する（上記Ｂドライブのものとは別個のものとして認識される）。そして、オペレーティングシステム１１は、ＵＳＢマスストレージクラスドライバ１４に対してＬＵＮ＝０を指定して第１領域読み出し用ソフトウェア１２から指定されたデータの読み込み要求を行う。この要求を受けたＵＳＢマスストレージクラスドライバ１４は、ＵＳＢホストコントローラ１５を制御し、ＳＣＳＩコマンドセットの標準コマンド（ＬＵＮ＝０を指定した例えばＲｅａｄ(10)コマンド）をＵＳＢストレージデバイス１７へ送信させる。
【００４８】
ＵＳＢホストコントローラ１５がＵＳＢストレージデバイス１７から要求したデータを受け取ると、ＵＳＢマスストレージクラスドライバ１４に、その受け取ったデータを渡し、ＵＳＢマスストレージクラスドライバ１４は、受け取ったデータをさらにオペレーティングシステム１１に渡す。ＵＳＢマスストレージクラスドライバ１４からデータを受け取ったオペレーティングシステム１１は、受け取ったデータを第１領域読み出し用ソフトウェア１２に渡す。こうして、ユーザーは、ＣＤ−ＲＯＭ領域に記憶されている所望のデータを読み出すことができる。
【００４９】
ＳＣＳＩ標準コマンドとしては、例えば、上記Ｒｅａｄ(10)コマンドを使用できる。この具体的なコマンドフォーマットは、図５（ａ）に示すように、最初の１バイトにオペレーションコード（Ｒｅａｄ(10)コマンドの場合は28h）が入り、次の１バイトにこの命令の対象論理ユニット番号（ＬＵＮ＝０）が入り、次の４バイトに論理ブロック番号が入り、１バイト空けて次の２バイトに転送データ長が入るという構成である。
【００５０】
ここで、「論理ブロック番号」というのは、上位装置がＣＤ−ＲＯＭ領域からデータを読み出す際に指定する番号(アドレス)である。１回の当該コマンドで読み出されるデータ量は、「転送データ長」で決定される。そして、必要な全データが読み出されるまで、このコマンドが繰り返し発行される。
【００５１】
本実施例のようにＳＣＳＩ標準コマンドでＣＤ−ＲＯＭ領域にのみアクセスする場合は、当該領域はデータの読み出しのみが予定されたものであるから、オペレーティングシステム１１はＣＤ−ＲＯＭ領域に対する書き込み指令を受け付けないように構成されている。したがって、本実施例には存在しないが、所定の論理ユニット番号（例えばＬＵＮ＝１）に対応する書き込みも可能なディスク領域が存在する場合、ＳＣＳＩ標準コマンドであるＷｒｉｔｅ(10)コマンドを使用して当該ディスク領域に情報の書き込みを実行できる。尚、その具体的なコマンドフォーマットは、図５（ｂ）に示すように、最初の１バイトにオペレーションコード（2Ah）が入り、次の１バイトにこの命令の対象論理ユニット番号（ＬＵＮ＝１）が入り、次の４バイトに論理ブロック番号が入り、１バイト空けて次の２バイトに転送データ長が入るという構成である。
【００５２】
（３）第２の領域へのアクセス処理
次に、ホスト１０において動作する第２領域アクセス用ソフトウェア１３が、ＵＳＢストレージデバイス１７に対してデータの読み出しなどのアクセスコマンドを送ると、コントローラ２１は、当該第２の領域にアクセスする専用のコマンド体系で指令された内容を実行する。なお、本処理は、コントローラ２１に記憶されたプログラムに基づいて実行される。
【００５３】
ここで、第２領域アクセス用ソフトウェア１３がディスク領域へデータの読み込み要求を行ってデータを取得する流れについて説明する。なお、ディスク領域は、論理ユニット番号に対応せず、オペレーティングシステムからは読めないようになっているため、ドライブレターは発行されない。
【００５４】
第２領域アクセス用ソフトウェア１３は、ユーザーの指令に従ったＲＥＡＤ要求を行い、そのコマンドを受け取ったオペレーティングシステム１１はそのままＵＳＢマスストレージクラスドライバ１４に渡す。このコマンドを受けたＵＳＢマスストレージクラスドライバ１４は、ＵＳＢホストコントローラ１５を制御し、ＬＵＮ＝０を指定したＶ＿Ｒｅａｄ(10)コマンドをＵＳＢストレージデバイス１７へ送信させる。
【００５５】
そして、ＵＳＢホストコントローラ１５がＵＳＢストレージデバイス１７から要求したデータを受け取ると、ＵＳＢマスストレージクラスドライバ１４に受け取ったデータを渡し、ＵＳＢマスストレージクラスドライバ１４は受け取ったデータをさらにオペレーティングシステム１１に渡す。ＵＳＢマスストレージクラスドライバ１４からデータを受け取ったオペレーティングシステム１１は、受け取ったデータを第２領域アクセス用ソフトウェア１３に渡す。
【００５６】
Ｖ＿Ｒｅａｄ(10)の具体的なコマンドフォーマットは、図５（ｃ）に示すように、最初の１バイトにオペレーションコード（Ｖ＿Ｒｅａｄ(10)コマンドの場合は一例としてXXh）が入り、次の１バイトにこの命令が発行される本ＵＳＢストレージデバイス１７の論理ユニット番号（ＬＵＮ＝０）が入り、次の４バイトに論理ブロック番号が入り、１バイト空けて次の２バイトに転送データ長が入るという構成である。なお、オペレーションコードを標準コマンドと同じにし、ＳＣＳＩベンダーコマンドとして機能するためのフラグを２バイト目に追加するようにしてもよい（図５（ｅ））。
【００５７】
ところで、これらのＳＣＳＩベンダーコマンドは、ＳＣＳＩ標準コマンドと同様にＬＵＮ＝０が設定されるようになっているが、これは、本実施例の場合、ＬＵＮ＝１の論理ユニットが存在せず、第２の領域にアクセスする場合も、ＬＵＮ＝０の本ＵＳＢストレージデバイス１７を指定してコマンドを発行する必要があるためである。このとき、本ＵＳＢストレージデバイスは自己に対するコマンドとして解釈し、当該コマンドのオペレーションコードを解釈してフラッシュメモリ２５に対するコマンド処理へ移行する。即ち、デバイスのコントローラ２１は、コマンドがベンダーコマンドである場合は、ディスク領域に対してそのコマンド内容を実行する。フラグが付されている場合も同じである。なお、ホスト１０のＵＳＢマスストレージクラスドライバ１４が、ＬＵＮの設定されていないベンダーコマンドも問題なく透過するのであれば、第２の領域にアクセスする際にはベンダーコマンド中のＬＵＮ＝０は設定されていなくてもよい。またオペレーションコードをベンダーコマンド固有のもので構成する場合（図５（ｃ））、コントローラ２１はそのオペレーションコードの意味を解釈する手段を有する必要があり、オペレーションコードをＳＣＳＩ標準コマンドと同じにする場合は（図５（ｅ））、フラグの意味を解釈する手段を有する必要がある。
【００５８】
なお上記では詳述していないが、上記ＳＣＳＩベンダーコマンドは、上位装置において、ＡＳＰＩマネージャーから所定のＡＰＩ（SendASPI32コマンド）をコールして発行される。
【００５９】
また、図５（ｄ）に示すＶ＿Ｗｒｉｔｅ（10）コマンドで、第２の領域へ所定の情報を書き込むことができる（固有のオペレーションコードを有する）。さらにＳＣＳＩベンダーコマンドを、図５（ｆ）に示すようにそのオペレーションコードをＳＣＳＩ標準コマンドのＷｒｉｔｅ（10）と同じにし、図５（ｅ）のＶ＿Ｒｅａｄ（10）同様、ベンダーコマンドであることを示すフラグを２Ｂｙｔｅ目に追加して、書き込み用のベンダーコマンドとして使用するようにしてもよい。
【００６０】
上記論理ユニット番号が設定されていないディスク領域からなる第２の領域にアクセスするコマンド（ＳＣＳＩベンダーコマンド）は、特許請求範囲の「当該第２の領域にアクセスする専用のコマンド」に該当する。
【００６１】
なお、Ｗｉｎｄｏｗｓ（登録商標）２０００,Ｗｉｎｄｏｗｓ（登録商標）ＸＰでは、Ａｄｍｉｎｉｓｔｒａｔｏｒ以外は、ベンダーコマンドを自由に発行することが出来ない。よって、上記方法による第２の領域の情報の読み出し、書き込み、削除は、Ｗｉｎｄｏｗｓ（登録商標）２０００,Ｗｉｎｄｏｗｓ（登録商標）ＸＰ以降のオペレーティングシステムにおいては、Ａｄｍｉｎｉｓｔｒａｔｏｒのみが実行可能な方法である。
【００６２】
そこで、以下、Ｗｉｎｄｏｗｓ（登録商標）２０００,Ｗｉｎｄｏｗｓ（登録商標）ＸＰ以降のオペレーティングシステムにおいて、Ａｄｍｉｎｉｓｔｒａｔｏｒ以外の一般ユーザーが実行可能な、特定領域にアクセスするためのコマンド体系について説明する。
【００６３】
（４）  第２の領域への一般ユーザーのアクセス方法
以下、ＵＳＢストレージデバイス１７の起動後、フラッシュメモリ２５の管理領域である、製造シリアル番号記憶領域にベンダーが記憶させたベンダーユニーク情報（２５３バイト以上のデータの場合を含む）を、一般ユーザーが当該ホスト１０で取得（読み出し）する手順について説明する。
【００６４】
（第１の方法）
ＵＳＢストレージデバイス１７内の処理（ホスト１０からのコマンドの解釈、およびその実行）は、前述したコントローラ２１が行うものである。
【００６５】
本方法の特徴は、（１）ホスト１０側より「Get Device Serial Number ＡＰＩ」を複数回コールすることにある。ＡＰＩ（Application Program  Interface）は、オペレーティングシステム１１がアプリケーションに対して公開しているプログラムインターフェースで、第２領域アクセス用ソフトウェア１３（前述した実施例のものとは当然異なる）は、基本的に、すべての処理をこのＡＰＩを経由して行うものである。現在一般的なオペレーティングシステムのＡＰＩは関数の形式をとっており、アプリケーションからは、適当なパラメータ（引数）を指定して、ＡＰＩの関数を呼び出している。
【００６６】
そして、（２）ＡＰＩコール毎にＳＣＳＩ標準コマンドであるＩＮＱＵＩＲＹコマンド（ページコード80ｈ）で製造シリアル番号の読み出し指令を発行する。
また、（３）当該コマンドの発行毎に、ＳＣＳＩデバイスから製造シリアル番号として記憶されているデータを２５２Ｂｙｔｅ以下のデータに分割して順次応答させる。
【００６７】
（４）全応答が終了して後、分割して応答されたデータを応答された順にシリアルに接続し、２５３バイト以上のオリジナルデータを取得するものである。
より具体的には、ＡＰＩコール毎に、ＩＮＱＵＩＲＹコマンドで、ＳＣＳＩデバイスから応答させるべき内容を、「応答順位」、「応答される製造シリアル番号のデータ長」、「実際の製造シリアル番号のデータ」の順に、それぞれそのバイト数とともに指定して読み出し指令を実行する。このことを下記に詳しく説明する。
【００６８】
今、デバイス内に記憶されている製造シリアル番号が２５３バイト以上であると仮定する。このＳＣＳＩデバイスに対して、ホストからＡＰＩコール毎にＩＮＱＵＩＲＹコマンドで、“Ｉｎｄｅｘ”（応答順位）、“Ｌｅｎｇｔｈ”（応答される製造シリアル番号のデータ長）、“Ｄａｔａ”（実際の製造シリアル番号データ）の順に、また、それぞれのデータ長を、“Ｉｎｄｅｘ”は１Ｂｙｔｅ、“Ｌｅｎｇｔｈ”は１Ｂｙｔｅ、
“Ｄａｔａ”（実際の製造シリアル番号データ）は２５２Ｂｙｔｅ以内と定義し、これに準拠したフォーマットで返答するよう指令する。
【００６９】
最初の“Ｉｎｄｅｘ”は、製造シリアル番号が２５３バイト以上の場合、複数のＡＰＩコール、即ち、複数回のＩＮＱＵＩＲＹコマンドの発行を行うため、いま返答されたベンダーユニーク情報が何番目の応答かを示すためのものである。この“Ｉｎｄｅｘ”は、最初の応答を「１」とし、順に一つずつ値を加算させ、最後の応答である場合には“Ｉｎｄｅｘ”で「０」を応答させる。これは、当該応答に属する製造シリアル番号のデータが２５２バイト未満（最後の応答）であることをコントローラ２１が確認したときの応答である。“Ｉｎｄｅｘ”が「０」であることにより、ホスト１０は当該応答が最終であることを確認できる。このとき“Ｄａｔａ”には、当該応答における製造シリアル番号の最終データが割り当てられる。
【００７０】
こうして得られた情報より、ホスト１０は、各応答で得られた製造シリアル番号が、その“Ｌｅｎｇｔｈ”で指定した長さと一致するか（最終応答を除き）を確認し、“Ｉｎｄｅｘ”「１」から「２」「３」・・「最終値（０）」までに得られた製造シリアル番号データ（“Ｄａｔａ”の内容）をシリアルに接続する。これにより得られた結果が、オリジナルな製造シリアル番号（ベンダーユニーク情報）である。
【００７１】
以下、ホスト１０への応答例を説明する。
例えば、６４Ｂｙｔｅの製造シリアル番号を一度に応答する場合は、表１のようになる。
【００７２】
【表１】
2005266934.tif 000003
【００７３】
この表１で、Ｉｎｄｅｘが「０」であることから、製造シリアル番号の読み出しがこれの１回のみで完結したことを示す。又、Ｌｅｎｇｔｈが６４とあるのは、本応答に属する製造シリアル番号のデータが６４Ｂｙｔｅであることを示す。尚、実際のホスト１０に対する返答は、バイナリーコードで行われ得る。
【００７４】
次に、６４Ｂｙｔｅの製造シリアル番号を、１６Ｂｙｔｅ毎に４回に分けて応答する場合は表２のようになる。
【００７５】
【表２】
2005266934.tif 000004
【００７６】
この製造シリアル番号は、ベンダーが各ＳＣＳＩデバイスにその製品固有の番号（ベンダーユニーク情報）に割り当てるため、デバイスのコントローラ２１は当該シリアル番号を、当該デバイス（あるいはその使用者）のＩＤ番号として使用することができる。そのため、ＵＳＢストレージデバイスのユーザーは、当該ＳＣＳＩデバイスの製造シリアル番（ＩＤ情報）を個人認証用の情報として使用することができる。
【００７７】
また、この領域の容量は、ベンダーが自由に決定できるため、ベンダーである企業ユーザーが専用の書き込みソフトウェアを使用して、製造シリアル番号（ＩＤ番号）の他、任意の情報、例えば、社員や会員のみが閲覧すべき文書やデータを記憶させておくことができる。
【００７８】
上記管理領域の製造シリアル番号記憶領域である第２の領域にアクセスするコマンド（コントローラ２１が直接受けるもの）は、特許請求範囲の「当該第２の領域にアクセスする専用のコマンド」に該当する。
【００７９】
また、上述した、ＳＣＳＩ標準コマンドセットの論理ユニット番号に対応しない、情報の読み出し、書き込み、削除が可能な第２の領域にその専用のコマンドでアクセスする際、コントローラ２１で管理領域のベンダーユニーク情報記憶領域からＩＤ番号を読み出して認証を行なわせ（上位装置から送られる認証用情報との同定）、認証が成功した場合のみ、専用のコマンドで当該領域の情報にアクセス可能に構成してもよい。即ち、第２の領域として、ＳＣＳＩ標準コマンドセットの論理ユニット番号に対応しない、情報の読み出し、書き込み、削除が可能な領域と、管理領域のベンダーユニーク情報記憶領域の両者を設け、それそれ、その専用のコマンド体系でそれら領域にアクセス可能に構成するものである。こうすれば、ＳＣＳＩ標準コマンドセットの論理ユニット番号に対応しない、情報の読み出し、書き込み、削除が可能な領域へのアクセスに対し、一層のセキュリティ効果を発揮できる。
【００８０】
（第２の方法）
次に、前述のＷｉｎｄｏｗｓ（登録商標）２０００、Ｗｉｎｄｏｗｓ（登録商標）ＸＰの他、Ｍａｃ（登録商標）ＯＳ  Ｘを含むＯＳ環境下で使用されるＳＣＳＩデバイスから、ベンダーユニーク情報を取得する方法について説明する（一般ユーザーも可能）。
【００８１】
Ｍａｃ（登録商標）ＯＳ  Ｘからは、ＵＳＢマスストレージデバイスのリムーバブルディスクに対して、アプリケーションから直接ＳＣＳＩコマンドを発行できない。しかし、「Ｇｅｎｅｒｉｃ  Ｒｅａｄコマンド」は自由に使用できるため、オペレーティングシステム１１が使用しないセクターの所定のアドレスにベンダーユニーク情報を記憶しておき、このＧｅｎｅｒｉｃ  Ｒｅａｄコマンドを用い、当該記憶領域に記憶されている情報をホスト１０で読み出すものである。通常は、この管理領域には、通常意味のないデータが書かれているか、または物理的に存在しないため、通常のホスト１０の読み出し指令に対してはエラーステータスが返答されるものである。
【００８２】
そこで、この管理領域の記憶アドレスとは異なる他のアドレスに、記憶アドレスを最終として以降順にアクセスすべき論理ブロックアドレスを暗号化して記憶しておき、それを復号化（暗号解読）し、これに順にアクセスして、記憶アドレスからそこに記憶されているベンダーユニーク情報を読み出すものである。尚、この記憶領域はストレージデバイスの論理領域に対して物理的に存在する必要はなく、デバイスプログラムの中に仮想的に存在してもよい。
【００８３】
以下、具体例を示す。
今、オペレーティングシステム１１がストレージとして使用する領域がＬＢＡ（論理ブロックアドレス）で、０から１００００とした場合、ＬＢＡ１５０００に、以降順にアクセスすべき論理ブロックアドレスを暗号化したデータを記憶しておく。今そのアドレスを、２７０００、１０００１、１８８８８、４３０００とする（この例では暗号化はしていないものとする）。最終アドレスであるＬＢＡ４３０００にはベンダーユニーク情報を記憶しておく。
（正しい手順）
（１）ＬＢＡ１５０００を読み出す。２７０００、１０００１、１８８８８、４３０００の暗号化されたものが読み出される。
（２）暗号を解読する。
（３）ＬＢＡ２７０００を読み出す。データは、ＡＬＬ  ０など意味のないものを返す。
（４）ＬＢＡ１０００１を読み出す。データは、ＡＬＬ  ０など意味のないものを返す。
（５）ＬＢＡ１８８８８を読み出す。データは、ＡＬＬ  ０など意味のないものを返す。
（６）ＬＢＡ４３０００を読み出す。ベンダーユニーク情報を返す。
（７）このアドレスがアクセスされた時点で、再び正規手順でなければ読み出しが不可能な状態にする。
【００８４】
尚、下記に誤った手順について説明すると、
先ず、ＬＢＡ４３０００をいきなり読み出した場合には、エラーステータス  Sector Not Foundを返し、ベンダーユニーク情報の取得ができない。
【００８５】
又、ＬＢＡ１０００１を読み出したときにも、エラーステータス  Sector Not Foundを返す。以下、シーケンシャルに逐次読み出してもすべてエラーステータス  Sector Not Foundを返す。
【００８６】
そして、ＬＢＡ１５０００を読み出した段階で、２７０００、１０００１、１８８８８、４３０００の暗号化されたものが読み出されるが、これを復号化できない限り、このデータは意味のないものになる。
【００８７】
また、ＬＢＡ１５００１を読み出しても、エラーステータス  Sector Not Foundを返す。以下、シーケンシャルに逐次読み出しても、すべてエラーステータス  Sector Not Foundを返す。
【００８８】
なお、Generic Readコマンドの解釈及びその実行は、コントローラ２１が行うが、前述した第１の方法とはその処理プログラムが異なっていることは言うまでもない。
そして復号化プログラムは、コントローラ２１に内蔵することができる。これによって、ＵＳＢストレージデバイス１７内蔵してなるコントローラ２１により、ベンダーが構築したアーキテクチャーに沿った読み出し、並びに暗号解読を行わない限り、ベンダーユニーク情報（ＩＤ情報）の読み取りは不可能な構成とするものである。
【００８９】
本実施形態で述べた、i）ＳＣＳＩ標準コマンドセットの論理ユニット番号に対応しない、情報の読み出し、書き込み、削除が可能な領域、ii）管理領域のベンダーユニーク情報記憶領域(製造シリアル番号記憶領域)、iii）オペレーティングシステムが使用しない管理領域 (製造シリアル番号記憶領域とは異なるもの)の三者とも、特許請求範囲の「第２の領域」に相当する。どれか一つだけでも、あるいは、それらの任意のものを複合して用いてもよい。
【００９０】
上記管理領域のオペレーティングシステムが使用しない管理領域（製造シリアル番号記憶領域とは異なるもの）からなる第２の領域にアクセスするコマンド（コントローラ２１が直接受けるもの）は、特許請求範囲の「当該第２の領域にアクセスする専用のコマンド」に該当する。
【００９１】
また、本願の各実施例で述べた第２の領域にアクセスするために上位装置で発行される一連のコマンドは、特許請求の範囲の「専用のコマンド体系」に該当する。
なお、上記実施例では、ＬＵＮ＝０として設定された領域（第１の領域）をホスト１０のＵＳＢマスストレージクラスドライバ１４にＣＤ−ＲＯＭ領域として認識させるようになっていたが、ＤＶＤ−ＲＯＭ領域として認識させるようになっていてもよい。その際には、そのＤＶＤ−ＲＯＭ領域のフォーマットとしては例えばＵＤＦ（Universal Disk Format）を用いることができる。
【００９２】
また、ホスト１０として、パーソナルコンピュータを例に挙げて説明したが、本発明のＵＳＢストレージデバイスは、産業機械のＣＰＵで制御される基板に実装してもよい。この場合、その基板を制御するＣＰＵが本発明の上位装置に該当する。
【図面の簡単な説明】
【００９３】
【図１】ＵＳＢストレージデバイスの構成を示すブロック図である。
【図２】メモリ情報記憶部に記憶されているデータを説明するためのデータ表である。
【図３】記憶手段の領域構成を説明するための説明図である。
【図４】本ＵＳＢストレージデバイスの起動処理を説明するためのフローチャートである。
【図５】コマンドフォーマットを説明するための説明図である。
【符号の説明】
【００９４】
１０…ホスト、１１…オペレーティングシステム、１２…第１領域読み出し用ソフトウェア、１３…第２領域アクセス用ソフトウェア、１４…ＵＳＢマスストレージクラスドライバ、１５…ＵＳＢホストコントローラ、１６…ＵＳＢバス、１７…ＵＳＢストレージデバイス、１９…ＵＳＢインターフェース、１９ａ…パケット送受信部、１９ｂ…シリアルパラレル変換部、１９ｃ…パケット生成分解部、１９ｄ…ＵＳＢバスパワー制御部、２１…コントローラ、２１ａ…メモリ制御部、２１ｂ…ＵＳＢインターフェース制御部、２１ｃ…メモリ情報記憶部、２１ｄ…ＬＥＤ制御部、２３…ＬＥＤ、２５…フラッシュメモリ。
【図１】
2005266934.tif 000005
【図２】
2005266934.tif 000006
【図３】
2005266934.tif 000007
【図４】
2005266934.tif 000008
【図５】
2005266934.tif 000009