(57)【要約】【課題】  情報の読み出しのみ可能なＣＤ−ＲＯＭ領域と情報の読み出し、書き込み、削除のいずれも可能なディスク領域を有するＵＳＢストレージデバイスにおいて、より自由度のあるデバイスを提供すること。【解決手段】ＵＳＢストレージデバイスの記憶領域を３つ以上の領域に区分し、ＯＳに設定させるドライブ数、並びに、該ドライブに前記領域のいずれを対応付けするかをユーザが選択可能に構成する。ドライブのうち一つをＣＤ−ＲＯＭドライブとする。さらにリムーバブルドライブを設定してもよい。【選択図】  図８
2007048073.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢストレージデバイスの記憶領域を３つ以上の領域に区分し、ＯＳに認識させるドライブ数、並びに、該ドライブに前記領域のいずれを対応付けするかをユーザが選択可能に構成したことを特徴とするＵＳＢストレージデバイス。
【請求項２】
少なくとも一つのドライバはＣＤ−ＲＯＭドライブであることを特徴とする請求項１記載のＵＳＢストレージデバイス。
【請求項３】
リムーバブルディスクドライブをさらに有することを特徴とする請求項２記載のＵＳＢストレージデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリを用いて情報を記憶するＵＳＢストレージデバイスに関する。
【背景技術】
【０００２】
本出願人は、先に、フラッシュメモリの領域を２つに分けて定義し、一方を情報の読み出しのみ可能なＣＤ−ＲＯＭユニットとして、もう一方を情報の読み出し、書き込み、削除の可能なディスクユニットとして外部装置に認識させるＵＳＢストレージデバイスについて出願している（特開平２００４−５４８９６号/以下「先願１」）。
【０００３】
先願１の実施例に開示された発明は、区分された領域の数とＯＳが認識するドライブ（デバイス）の数が同じで、ＯＳからすべての領域が認識されてしまう。従って、ＯＳから認識し得る領域を可変にすること、例えば、ユーザＡには領域１に入っているアプリケーションソフトのみ使用可能にし、ユーザＢには領域２に入っているアプリケーションソフトのみ使用可能にするなど自由度のある使用ができない（問題点１）。
【０００４】
また、ＵＳＢストレージデバイスを外部装置に装着した際、ＣＤ−ＲＯＭユニットに格納されているアプリケーションプログラムをオートランさせることができ便利であるが、ディスク領域に即アクセスしたい場合には却って不便でもある（問題点２）。
【０００５】
【特許文献１】特開平２００４−５４８９６
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記問題点に鑑みてなされたものであり、その目的とするところは、より利便性のあるＵＳＢストレージデバイスを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するためになされた請求項１に記載のＵＳＢストレージデバイスは、ＵＳＢストレージデバイスの記憶領域を３つ以上の領域に区分し、ＯＳに設定させるドライブ数、並びに、該ドライブに前記領域のいずれを対応付けするかをユーザが選択可能に構成した。
【発明を実施するための最良の形態】
【０００８】
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【０００９】
［実施例１］
図１は、実施例１のＵＳＢストレージデバイス１７（特許請求の範囲に記載のＵＳＢストレージデバイスに相当する）とホスト１１（特許請求の範囲に記載の外部装置に相当する）の概略構成を示すブロック図である。
【００１０】
（１）ホスト１１
ホスト１１は、一般に広く知られたパーソナルコンピュータであり、ソフトウエアとして、オペレーションシステム１２、ディスクドライブドライバ１３及びＵＳＢマスストレージクラスドライバ１４を備え、ハードウェアとしてＵＳＢホストコントローラ１５を少なくとも備える。
【００１１】
オペレーションシステム１２は、ホスト１１を統括的に制御するソフトウエアであり、例えばＷｉｎｄｏｗｓ（登録商標）やＭａｃ
ＯＳ Ｘ（登録商標）等ある。ディスクドライブドライバ１３は、オペレーションシステム１２から受け取った記憶装置へのアクセス指令等をＳＣＳＩコマンド変換してＵＳＢマスストレージクラスドライバ１４に渡すとともに、ＵＳＢマスストレージクラスドライバ１４から指令等を受け取りオペレーションシステム１２に渡す。ＵＳＢマスストレージクラスドライバ１４は、ＵＳＢホストコントローラ１５を制御する。ＵＳＢホストコントローラ１５は、図示しないＵＳＢコネクタを備え、他の装置のＵＳＢコネクタとケーブルによって接続されることによって、ＵＳＢ規格に基づいた通信を行うことができるようになっている。なお、ホスト１１は、ＵＳＢ規格に基づいた通信を行うことができる機器であれば、パーソナルコンピュータに限らずＰＤＡや携帯電話等であってもよい。
【００１２】
（２）ＵＳＢストレージデバイス１７
ＵＳＢストレージデバイス１７は、ＵＳＢインターフェース１９とコントローラ２１とＬＥＤ２３とフラッシュメモリ２５とを備える。
【００１３】
（２−１）ＵＳＢインターフェース１９
ＵＳＢインターフェース１９は、特許請求の範囲に記載の通信手段に相当し、ＵＳＢバス１６を介してホスト１１と通信を行う機能を担う。ＵＳＢインターフェース１９は、パケット送受信部１９ａとシリアルパラレル変換部１９ｂとパケット生成分解部１９ｃとＵＳＢバスパワー制御部１９ｄとを備える。パケット送受信部１９ａは、図示しないＵＳＢコネクタと接続され、ＵＳＢ規格に基づいたパケットを送受信する。シリアルパラレル変換部１９ｂは、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解部１９ｃは、ホスト１１と通信を行うためのパケットの生成及びパケットを分解してデータの取り出しを行う。ＵＳＢバスパワー制御部１９ｄは、ホスト１１から供給される電力の管理及びＵＳＢストレージデバイス１７の各部位への電力の配分を行う。
【００１４】
（２−２）フラッシュメモリ２５
フラッシュメモリ２５は、記憶保持動作が不要な半導体メモリであり、データを記憶することができる。記憶したデータは、後述するメモリ制御部２１ａによって読み出すことが可能である。また、メモリ制御部２１ａによって書き込み及び削除をすることもできる。フラッシュメモリ２５は、特許請求の範囲に記載の記憶手段に相当する。
【００１５】
本ＵＳＢストレージデバイス１７は、潜在的にユーザが使用可能な複数の領域を有する。図２はその領域例を表している。ここでは、ＣＤ−ＲＯＭ用のフォーマット、例えば、ＩＳＯ９６６０でフォーマットされて構成されている３つの領域と、ＦＡＴフォーマットでフォーマットされて構成されている１領域の計４領域に区分されて構成されている様子が示されている。ＦＡＴフォーマットで構成される領域は２以上でもよい。このフラッシュメモリ２５には、さらにこれら領域等に関する情報（アドレスや容量などに関する情報）をシステムが管理するための管理領域を有する。
【００１６】
（２−３）コントローラ２１
コントローラ２１は、特許請求の範囲に記載の制御手段に相当し、メモリ制御部２１ａとＵＳＢインターフェース制御部２１ｂとメモリ情報記憶部２１ｃとＬＥＤ制御部２１ｄとを備える。メモリ制御部２１ａは、フラッシュメモリ２５に対してデータの読み出し、書き込み及び削除を実行する。ＵＳＢインターフェース制御部２１ｂは、前述したＵＳＢインターフェース１９の各部を制御する。メモリ情報記憶部２１ｃは、「メディア管理テーブル」と「ドライブ管理テーブル」を記憶する。これについては後述する。ＬＥＤ制御部２１ｄは、フラッシュメモリ２５が、ホスト１１より書き込み、読み出しや削除されているとき、本デバイスに設けられたＬＥＤ２３を点灯制御するものである。
【００１７】
（２−４）ＬＥＤ２３
図１に戻り、ＬＥＤ２３は、フラッシュメモリ２５に対して情報の読み出し、書き込み及び削除が実行されている際に点灯する発光体である。フラッシュメモリ２５に対して情報の読み出し、書き込み及び削除が実行中であることを利用者に示し、これらの実行中にホスト１１からＵＳＢストレージデバイス１７が抜かれないようにするためのものである。
【００１８】
（ａ）初期設定
初期設定は、ＵＳＢストレージデバイス１７の製造者や販売者（「特定ユーザ」）、若しくはエンドユーザ（以下、前記特定ユーザとエンドユーザを併せて単に「ユーザ」と言う）がホスト１１上で初期設定ソフトウェアを実行した際に、ＵＳＢストレージデバイス１７のコントローラ２１でプログラムに基づいて実行される。
【００１９】
以下、初期設定の手順を、ホスト１１で実行される初期設定ソフトウエアの操作画面例を用いて説明する。
【００２０】
（手順１）
図３（ａ）は、メディア数を設定する操作画面例である。ここで、「メディア数」とは、フラッシュメモリ２５において、複数に区分され、潜在的にユーザが使用可能な領域数をいう。「メディア」と言う表現を用いているが、これは、後述するドライブ設定との関係で各領域が所定のフォーマットで構成され、以降、該領域が、ＯＳから所定の記録媒体即ちメディアとして認識されることになるからである。
【００２１】
ここでは、メディア数を４と設定した状態を示している。メディア数を４と設定したことにより、フラッシュメモリ２５にはユーザデータ領域として、４つに区分された領域が確保されることになる。そしてフラッシュメモリ２５に当該４つの領域の情報をシステムが管理するための管理領域が設定される。図３（ｂ）は、管理領域に設定されるテーブル例（メディア管理テーブル）を表している。以下の本実施例において、メディア１として定義される領域を領域１、メディア２として定義される領域を領域２、メディア３として定義される領域を領域３、メディア４として定義される領域を領域４と呼ぶ。また本明細書において、別段の意味を有しない限り、単に「領域」というときは、上記フラッシュメモリ２５の区分された領域をいう。
【００２２】
この状態では、メディア数が４という情報のみ記録される。各領域のメディア種別（フォーマット）や、書き込まれるファイルの情報が指定されていないため、それらの情報は書き込まれていない。画面で、「次へ」のボタンをクリックすると、次の手順の操作画面に移行する。
【００２３】
（手順２）
次に、前手順で確立した４つの各領域のメディア設定、即ち、各領域をＯＳからいかなる種類のメディアとして認識させるかの設定（具体的には各領域を構成するフォーマットの設定）、及び各領域に格納すべきファイルのファイル名を選択する。
【００２４】
図４（ａ）は操作画面例であり、「選択」ボタンをクリックするとプルダウン式に、設定されるべきメディア種類リストが表示され、そのうちの一つを選択するようになっている。ここでは、メディア１乃至メディア３はＣＤ−ＲＯＭメディアとして構成されるべきこと、即ち情報の読み出しのみ可能なＣＤ−ＲＯＭ用フォーマットで構成されるべきことが指定されており、メディア４はリムーバブルメディア（リムーバブルハードディスクのメディア）として構成すること、即ち、情報の読み出し、書き込み、削除のいずれも可能なディスク用のフォーマットで構成されるべきことが指定されている。
【００２５】
次に、各領域に格納すべきファイル名を選択する。まず「参照」ボタンをクリックすると、ホスト１１のドライブごとに格納されているファイル名のリストがプルダウン式に表示され、そのうちの一つを選択するようになっている。画面例では、メディア１（領域１）に対してはホスト１１のＣドライブに存在するｓａｍｐｌｅ．ｉｓｏという名のファイルを、メディア２（領域２）に対しては同じくホスト１１のＣドライブのｔｅｓｔ.ｉｓｏという名のファイルを、メディア３（領域３）に対しては、同じくＣドライブのｔｅｓｔ１．ｉｓｏという名のファイルを、又、メディア４（領域４）に対しては、同じくＤドライブのｔｅｓｔ．ｂｉｎという名のファイルをそれぞれ書き込むべきことが指定されている。
【００２６】
全領域に対してメディア種別（フォーマット）及び格納すべきファイル名が選択されると、管理領域のメディア管理テーブルには図４（ｂ）に示すように各領域に関する情報がコントローラ２１により書き込まれる。図では、メディア１の領域は先頭アドレス（論理ブロックアドレス）が０ｘ００００、Ｌｅｎｇｔｈが２０４８０ｂｙｔｅ、メディア種類がＣＤ−ＲＯＭ、メディア２の領域は先頭アドレスが０ｘ０５００、Ｌｅｎｇｔｈが２０４８０ｂｙｔｅ、メディア種類がＣＤ−ＲＯＭ、メディア３の領域は先頭アドレスが０ｘ０Ａ００、Ｌｅｎｇｔｈが２０４８０ｂｙｔｅ、メディア種類がＣＤ−ＲＯＭ、メディア４の領域は先頭アドレスが０ｘ０Ｆ００、Ｌｅｎｇｔｈが５１２０ｂｙｔｅ、メディア種類がリムーバブルディスクとして設定されたことを示している。
【００２７】
本例では、各領域の容量（先頭アドレス、Ｌｅｎｇｔｈ）は、前記格納指定されたファイルの容量に基づき、コントローラ２１が自動的に設定している。この段階で、各領域に指定されたファイルを書き込むこともできるが、各手順において「キャンセル」ボタンで再設定処理がなされるもあるので、後述するように、手順４の終了時に一斉に書き込みすることが好ましい。
画面で、「次へ」のボタンをクリックすると、次の手順の操作画面に移行する。
【００２８】
（手順３）
次に、ドライブ数を設定する。ここでドライブ数とは、当該ＵＳＢストレージデバイス１７がＯＳから認識されるドライブの数を意味する。ここで付言すると、手順１において領域は４つに区分されているため、ＯＳに対しては潜在的には最大４つのドライブとして認識させることができるが、図５（ａ）の操作画面例では、ドライブ数が３と設定された状態を示している。そして管理領域には、前記メディア管理テーブルの他に、ドライブ管理テーブルが新たに設定される（図５（ｂ）参照）。
【００２９】
このとき、ドライブ管理テーブルのドライブ１には、ホスト１１のＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号「００」が、ドライブ２には論理ユニット番号「０１」が、ドライブ３には論理ユニット番号「１０」がそれぞれ割り当てられている。よって、ドライブ数は、論理ユニット数に等しい。ドライブ数が４と設定された場合は、ドライブ４には論理ユニット番号「１１」が割り当てられる。尚、図５（ｂ）において、「ＬＵＮ」とは論理ユニット番号（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）をいう。
【００３０】
この状態では、ドライブ数が３と指定されているにすぎないため、ドライブ管理テーブルにはドライブ数が３とだけ記録され、その他の具体的な情報は書き込まれない。画面で、「次へ」のボタンをクリックすると、次の手順の操作画面に移行する。
【００３１】
（手順４）
次にドライブ設定手順に移行する。ここでいうドライブとは、上記の通り、ＵＳＢストレージデバイス１７がＯＳから認識されるドライブをいう。これを図６（ａ）の操作画面例を用いて説明する。ここでは手順３でドライブ数を３と設定していることから、３つの各ドライブをＯＳにいかなる種類のドライブ（本例ではＣＤ−ＲＯＭドライブかリムーバブルドライブ）として認識させるかを先ず設定し、その上で、その設定されたドライブに適合するフォーマットで構成された領域（手順２で既に決定しているメディア即ち領域）のどれを対応付けるかを選択するものである。
【００３２】
ここでは、ドライブ１とドライブ２をＣＤ−ＲＯＭドライブとして認識させること、ドライブ３をリムバーブルドライブとして設定された様子が示されている。
【００３３】
次に、各ドライブにマウントされるべきメディアの選択（即ち、各ドライブの論理ユニット番号に対応付けるフラッシュメモリ２５の領域）を、手順２において設定したメディア番号（領域番号）の指定により行う。図６（ａ）の例では、ドライブ１にはメディア１をマウントすること、即ち、論ユニット番号「００」に領域１を対応付けること、ドライブ２にはメディア２をマウントすること、即ち、論理ユニット番号「０１」に領域２を対応付けること、ドライブ３にはメディア４をマウントすること、即ち、論理ユニット番号「０１」に領域４をそれぞれ対応付けることが選択されている。
【００３４】
そして、「デバイスへ書き込み」ボタンをクリックすると、メディア１乃至４（領域１乃至４）に対し、先の手順２において選択されたファイルが書き込まれる（図７参照）。
【００３５】
このとき、管理領域の「ドライブ管理テーブル」に、設定された状態が確定値として書き込まれる（図６（ｂ）参照）。具体的には、各ドライブごとにマウントしているメディア（そのドライブの論理ユニット番号に対応つけられたメモリーの領域）、ドライブの種類（ＩＮＱＵＩＲＹ情報）などが書き込まれる。
【００３６】
尚、管理領域に書き込まれた「メディア管理テーブル」と「ドライブ管理テーブル」の内容は、コントローラ２１のメモリ情報記憶部２１ｃにも同様に書き込まれて保存される。このとき、ドライブ管理テーブルに記録されている情報は、ホスト１１のＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号「００」「０１」「１０」に対応する領域として、領域１、領域２、領域４をＵＳＢマスストレージクラスドライバにそれぞれ認識させるための情報となる。これにより、ＵＳＢマスストレージクラスドライバは、本ＵＳＢストレージデバイス１７を３つの論理ユニットを有するＳＣＳＩデバイスとして認識し、ＯＳは３つのドライバとして認識する。
【００３７】
尚、後述するメディア変更、ドライブ変更等により管理領域の内容が変更されると、メモリ情報記憶部２１ｃの内容も同様に変更され、それによりＵＳＢマスストレージクラスドライバは、該更新された情報に基づき本ＵＳＢストレージデバイス１７を認識し、ＯＳもそれに従ったドライブとして認識する。
【００３８】
図８は、前記初期設定後のフラッシュメモリ２５内部の各領域とＯＳの認識状態の対応関係を表したものである。図８において、ＯＳは、メディア１がマウントされたドライブ１をＧドライブ、
メディア２をマウントしたドライブ２をＥドライブとして、メディア４をマウントしたドライブ３をＦドライブとして認定したことを表している。ＧドライブはＣＤ-ＲＯＭドライブ１であり、ＥドライブはＣＤ−ＲＯＭドライブ２であり、Ｆドライブはリムーバブルドライブ１である。
【００３９】
ホスト１１のモニターには、ドライブ番号（Ｅ：、Ｇ：、Ｆ：）とドライブの種類を模式的に表したアイコンが表示される。以下、ＯＳが本ＵＳＢストレージデバイス１７を認識するまでの起動処理について説明する。尚初期設定後起動する際は、一旦デバイスをホスト１１から外し、再度装着する必要がある。
【００４０】
（ｂ）起動処理
前記初期設定されたＵＳＢストレージデバイス１７がホスト１１に接続された際に、ＵＳＢストレージデバイス１７のコントローラ２１でプログラムに基づいて実行される起動処理について図９のフローチャートを用いて説明する。この起動処理は、ＵＳＢストレージデバイス１７がホスト１１に接続されることにより、ＵＳＢバスパワー制御部１９ｄに電力が供給され、さらにホスト１１側でエニュメレーション処理が実行されると開始される。
【００４１】
起動処理を開始すると、ホスト１１からの指令に応じて、ディスクリプタと呼ばれるデバイス情報（デフォルトパイプの最大パケットサイズ等）をホスト１１に送信する（Ｓ１１０）。
【００４２】
次に、ホスト１１から指令に応じて、ＵＳＢストレージデバイス１７のアドレスを設定する（Ｓ１１５）。以降、このアドレス宛のフレームのみを当該ＵＳＢストレージデバイス１７は取得する。
【００４３】
次に、より詳細なデバイス情報をホスト１１に送信する（Ｓ１２０）。このデバイス情報としては、エンドポイントに関する情報、クラス、サブクラス、プロトコル等である。
【００４４】
その結果、ホスト１１ではＵＳＢマスストレージクラスドライバ１４が起動され、図示しないアプリケーションソフトウェアからディスクドライブドライバ１３とＵＳＢマスストレージクラスドライバ１４とを介してＵＳＢホストコントローラ１５を制御するアクセスパスができる。なお、このディスクドライブドライバ１３は、ＭＳ−ＤＯＳ（登録商標）時代から、受け継がれているドライバであるため永年の技術が積み重ねられており、安定的な動作が得られるドライバである。
【００４５】
続いて、ＵＳＢマスストレージクラスドライバ１４が、Ｇｅｔ Ｍａｘ
Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒコマンドによって論理ユニット番号数を要求するため、ＵＳＢストレージデバイス１７は、メモリ情報記憶部２１ｃから論理ユニット番号数が３であるという情報を読み出して、ホスト１１に送信する。
【００４６】
そしてさらに、ディスクドライブドライバ１３が、論理ユニット番号ごとにＩＮＱＵＩＲＹコマンドを発行するため、ＵＳＢストレージデバイス１７は、都度、メモリ情報記憶部２１ｃから、当該論理ユニットのデバイスタイプコード、フォーマット（ドライブ１乃至３にマウントされたメディアのフォーマット）、その他の情報を読み出して、ホスト１１に送信する。これらの結果ホスト１１は、ＵＳＢストレージデバイス１７を、２つのＣＤ−ＲＯＭドライブ（より正確にはＣＤ−ＲＯＭ用フォーマットから構成される論理ユニット番号「００」及び「０１」の２領域）と、１つのリムーバブルドライブ（正確にはディスク用フォーマットで構成された論理ユニット番号「１０」の領域）とを有するデバイスと認識する。このときホスト１１は各ドライブがマウントしているメディア（各論理ユニット番号に対応付けられている領域）の容量に関する情報（先頭アドレスとＬｅｎｇｔｈの情報）を併せて取得する。
【００４７】
ホスト１１との通信が確立されると、フラッシュメモリ２５を動作可能にし（Ｓ１２５）、起動処理を終了する。
【００４８】
なお、Ｗｉｎｄｏｗｓ（登録商標）には、記憶媒体挿入時や記憶媒体接続時にその記憶媒体のルートディレクトリに記憶されたａｕｔｏｒｕｎ．ｉｎｆという名称のファイル内で指定されたアプリケーションソフトウェアを実行する機能を有しているため、フラッシュメモリ２５のＣＤ−ＲＯＭ領域にそのファイルを記憶させておけば、本ＵＳＢストレージデバイス１７がホスト１１に装着された際に特定のソフトウエアを自動実行させることができる。
【００４９】
このようになっていれば、利用者がホスト１１の操作に不慣れであっても本ＵＳＢストレージデバイス１７を装着するだけで特定のアプリケーションソフトウェアが自動実行される。
【００５０】
（ｃ）アクセス処理
ホスト１１において動作する種々のソフトウエアが、ＵＳＢストレージデバイス１７に対してデータの書き込み、読み出し、削除の実行指令を送ったときに、ＵＳＢストレージデバイス１７のコントローラ２１でプログラムに基づいて実行されるアクセス処理について図１０のフローチャートを用いて説明する。
【００５１】
まず、Ｓ２１０では、ホスト１１から受信した指令の種類によって分岐する。書き込み又は削除の指令であった場合はＳ２１５に進み、そうでない場合、すなわち読み出しの指令であった場合はＳ２５０に進む。
【００５２】
Ｓ２１５では、書き込み又は削除の指令が論理ユニット番号「１０」に対する指令であるか否かによって分岐する。つまり、書き込み及び削除が実行可能な論理ユニットに対するものであるか否かによって分岐する。論理ユニット番号「００」若しくは「０１」に対するものであればＳ２４５に進み、そうでない場合すなわち論理ユニット番号「１０」に対する指令であればＳ２２０に進む。
【００５３】
Ｓ２２０では、ＬＥＤ２３を点灯させる。続くＳ２２５では、ホスト１１から指定されたフラッシュメモリ２５のブロックにデータを書き込む。またはホスト１１から指定されたフラッシュメモリ２５のブロックのデータを削除する。なお書き込み又は削除を実行する際は、メモリ情報記憶部２１ｃに記憶されているフラッシュメモリ２５の各メディア（領域）毎の物理ブロック番号論理ブロック番号変換テーブル（図示せず）を用い、ホスト１１から指定されたブロック番号を論理ブロック番号３７としてその論理ブロック番号３７に該当する物理ブロック番号３９によって特定されたフラッシュメモリ２５のブロックに対してデータの書き込み又は削除を実行する。尚ここでいう番号とはアドレスのことである。
【００５４】
続くＳ２３０では、ＬＥＤ２３を消灯させる。そして、Ｓ２３５ではＳ２２５の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらＳ２４０に進む。
【００５５】
Ｓ２４０では、Ｓ２２５の処理が正常に完了しなかった旨をホスト１１に通知してアクセス処理を終了する。
【００５６】
一方、Ｓ２１５で、書き込み又は削除の指令が論理ユニット番号「００」若しくは「０１」に対する指令であると判定された際に進むＳ２４５では、許可されていない指令としてホスト１１にエラー発生の旨を通知する。
【００５７】
また、Ｓ２１０で読み出しの指令であったと判定されて進むＳ２５０では、ＬＥＤ２３を点灯させ、続くＳ２５５ではホスト１１から指定されたフラッシュメモリ２５のブロックのデータを読み込み、読み込んだデータをホスト１１に送る。なお、データを読み出す際は、メモリ情報記憶部２１ｃに記憶されているフラッシュメモリ２５の各メディア（領域）毎の物理ブロック番号論理ブロック番号変換テーブルを用い、ホスト１１から指定されたブロック番号を論理ブロック番号３７としてその論理ブロック番号３７に該当する物理ブロック番号３９によって特定されたフラッシュメモリ２５のブロックからデータを読み出す。
【００５８】
続くＳ２６０では、ＬＥＤ２３を消灯させる。そして、Ｓ２６５ではＳ２５５の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらＳ２７０に進む。
【００５９】
Ｓ２７０では、Ｓ２５５の処理が正常に完了しなかった旨をホスト１１に通知してアクセス処理を終了する。
【００６０】
このようにアクセス処理が実行されるため、故意にあるいは誤って消去されると問題のある情報（ソフトウェア、データ）を論理ユニット番号「００」若しくは「０１」の領域に記憶させておけば、そのソフトウエアが消去されることを未然に防止できる。尚、上記フローにおいて、書き込み又は削除指令がなされたときに、コントローラ２１は、そのコマンドが対象としている論理ユニット番号を根拠に書き込み又は削除指令を実行するか判断している。これはその判断プログラム（サブルーチンプログラム）が、論理ユニット番号に対応付けられている領域のフォーマット（書き込み及び削除が許容されるか）を基に構成されているという事実に基づくものである。
【００６１】
本願ＵＳＢストレージデバイス１７は、後述するメディア変更、ドライブ変更が予定されたものであり、これら変更に伴い、論理ユニット番号に対応付けられる領域のフォーマットが変更される場合がある。
【００６２】
そのときは、該変更に伴い、前記判断用サブルーチンプログラムが変更される。そして、爾後のアクセス処理においては変更されたプログラムに基づき、書き込み、削除の是非の判断がなされる。これにより、情報の読み出し、書き込み、又は削除が有効に実行されるが、このとき、さらに慎重を期すべく、その論理ユニットに対応する領域のフォーマット情報を確認し（書き込み、削除が許容された領域であるかを確認）、当該処理の判断を実行するようにしてもよい。
【００６３】
このようにすれば、消去されると問題のあるソフトウェア、データなどをより安全に保護することができる。なおここでいうフォーマット情報は、その領域が書き込み、削除が許容されたものであるかの判断基準となるものであればよく、その領域を構成する具体的なフォーマットの情報の他、ＩＮＱＵＩＲＹ情報中のデバイスタイプコード等、一義的にそのフォーマットを判断できるもの（等価なもの）であればどのような情報でもよく、それらを含む概念として定義される。
【００６４】
（ｄ）メディア変更  
次に本発明の特徴であるメディア(領域)変更について詳述する。メディア変更とは、各ドライブにマウントするメディアの入れ替えをいう。具体的には、論理ユニット番号に対応付けする領域の変更である。
【００６５】
（メディア変更方法１）
次にメディア変更を行う方法例１について説明する。本例は、メディア変更ツール（ソフトウエア）をホスト１１側にインストールして行うものである。図１３（ａ）に示すように、ホスト１１に本ＵＳＢストレージデバイス１７を装着した状態で、前記変更ツールからデバイスに対して変更情報を送り、これを基にコントローラ２１がその設定を変更するものである。
図１１はメディア（領域）変更ツールの操作画面例である。
【００６６】
図１１の左側には、現状の設定内容がユーザの確認のために表示されている。図１１の右側は、メディア変更を設定する画面である。画面例では、ドライブ２（ＣＤ−ＲＯＭドライブ）にマウントするメディアをメディア２からメディア３に変更するとともに、さらに、ドライブ３（リムーバブルドライブ）にマウントしていたメディア４をアンマウントすることが選択されている。図１１の「メディア変更」ボタンをクリックすると、該変更が確定する。
【００６７】
以下、本方法例１によるメディア変更の手順（デバイス内部でコントローラ２１が実行する処理）について、図１４のフローチャートを用いて説明する。尚、ＯＳから見たドライブと該ドライブにマウントされているメディアの関係は、変更前は図１２（ａ）の状態である。
【００６８】
まずＳＣＳＩベンダーコマンドにて、ホスト１１よりメディア入れ替えをデバイスに通知する。このコマンドには、メディア変更を表すオペレーションコードとともに、どのドライブに対するものであるか、どのメディアに変更するかの情報が含まれる。デバイスはこのコマンドを受けると、このコマンドを解読しメディア変更コマンドであることを認識する（Ｓ３１０）。
【００６９】
そして指示されたメディア変更を実行するために、メディア入れ替えを指示されたドライブにマウントされているメディアをアンマウントする（Ｓ３２０）。即ち、ドライブ２（ＣＤ−ＲＯＭドライブ２）にマウントしているメディア２をアンマウントするとともに、ドライブ３（リムーバブルディスク１）にマウントされているメディア４をアンマウントする。
【００７０】
次にホスト１１はデバイスに対し、一定時間ごとに各ドライブにどのメディアがマウントされているか確認するコマンドを発行している（Ｔｅｓｔ  Ｕｔｉｌｉｔｙ  Ｒｅａｄｙコマンド）。デバイスはこれを受けて、ドライブ２（ＣＤ−ＲＯＭドライブ２）及びドライブ３（リムーバブルディスク１）にはマウントしているメディアがないことをホスト１１に通知する（Ｓ３３０）。
【００７１】
ホスト１１はドライブ２とドライブ３にメディアを入れることをコマンドで要求する（Ｒｅｑｕｅｓｔ  Ｓｅｎｓｅコマンド）。デバイスはこのコマンドを受領すると、先のコマンドで指示されたメディアの変更を実行する（Ｓ３４０）。即ち、ドライブ２（ＣＤ−ＲＯＭドライブ２）にメディア３をマウントする。ドライブ３（リムーバブルディスク１）には何もマウントしない。ドライブ２のマウントが終了したらこれをホスト１１に通知する（Ｓ３５０）。
【００７２】
これによりホスト１１はドライブ３に新たにメディアがマウントされたことを検知し、ドライブ２にＲｅａｄ  Ｃａｐａｃｉｔｙ／Ｒｅａｄコマンドを発行する。デバイスはこのコマンドを受けて、入れ替えたメディアの情報をホスト１１に通知する（Ｓ３６０）。そして、メモリ情報記憶部２１ｃにおいて記憶している内容を、変更された内容に基づき更新する（Ｓ３７０）。これでメディア変更処理が完了する。
【００７３】
図１２（ｂ）は、変更後のフラッシュメモリ２５内部の各領域とＯＳの認識状態の対応関係を表している。図示するように、ＣＤ−ＲＯＭドライブ２からメディア２がアンマウントされ、代わりにメディア３がマウントされているので、ＣＤ−ＲＯＭドライブ２はメディア２との対応関係が解除され新たにメディア３との対応関係が形成されている。さらにリムーバブルドライブ１からメディア４がアンマウントされたので、リムーバブルドライブ１とメディア４の対応関係が解除されている。しかし、リムーバブルドライブ１自体の設定は解除されていないので（即ち論理ユニット番号「１０」の設定はそのまま維持されている）、ＯＳは以前同様にリムーバブルドライブ１を認識し、これによりモニターには当該リムーバブルドライブ１を表すアイコンが表示される。但し、マウントしていたメディアの関係は解除されたので、アイコンをクリックしても、何のファイル情報も表示されない。即ちメディア変更後のリムーバブルドライブ１は、メディアのマウントされていない空のドライブとして認識される。
【００７４】
（メディア変更方法例２）
次にメディア変更を行う方法例２について説明する。本方法例２は、デバイスに設けられた手動式スイッチ（外部スイッチ）によりメディアの入れ替えを行うものである。この変更を実行するための構成を図１３（ｂ）に示す。
【００７５】
図１３（ｂ）に示すように、状態１と状態２に、スライド式スイッチにより切り替え可能になっている。図１３（ｂ）において、スイッチが状態１のときは、図１２（ａ）に図示していると同じ設定状態である。これを状態２に変更すると、上記方法例１の場合同様、図１２（ｂ）に示す状態に変更されるものとする。図１３（ｂ）に示すように、ホスト１１に本ＵＳＢストレージデバイス１７を装着した状態で、外部スイッチからデバイスに対してメディア変更を実行すべきことを通知し、これを契機にコントローラ２１がその設定を変更するものである。外部スイッチはデバイスのコントローラ２１にＧＰＩＯなどで接続することができる。
【００７６】
以下、本方法例２によるメディア変更の手順（デバイス内部でコントローラ２１が実行する処理）について、図１５のフローチャートを用いて説明する。
【００７７】
スイッチが状態２に変更されると、このスイッチの切り替えに伴ってコントローラ２１に切り替えを指示する信号が送信され、コントローラ２１はスイッチの状態変更を認識する（Ｓ４１０）。するとコントローラ２１は予め内蔵しているプログラムに基づき、ドライブ２（ＣＤ−ＲＯＭドライブ２）にマウントされているメディア２をアンマウントするとともに、ドライブ３（リムーバブルディスク１）にマウントされているメディア４をアンマウントする（Ｓ４２０）。
【００７８】
ホスト１１はデバイスに対し、一定時間ごとに各ドライブに、どのメディアがマウントされているか確認するコマンドを発行している（Ｔｅｓｔ  Ｕｔｉｌｉｔｙ  Ｒｅａｄｙコマンド）。デバイスはこれを受けて、ドライブ２とドライブ３にはマウントしているメディアがないことをホスト１１に通知する（Ｓ４３０）。
【００７９】
続いてホスト１１はデバイスに対し、ドライブ２（ＣＤ−ＲＯＭドライブ２）とドライブ３（リムーバブルディスク１）にメディアをマウントすることをコマンドで要求する（Ｒｅｑｕｅｓｔ  Ｓｅｎｓｅコマンド）。これを受けデバイスは、ドライブ２（ＣＤ−ＲＯＭドライブ２）にメディア３をマウントする（Ｓ４４０）。ドライブ３（リムーバブルディスク１）には何もマウントしない。マウント処理が終了したらこれをホスト１１に通知する（Ｓ４５０）。これによりホスト１１は、ドライブ２（ＣＤ−ＲＯＭドライブ２）に新たにメディアがマウントされたことを検知する。
【００８０】
そしてホスト１１は、ドライブ２（ＣＤ−ＲＯＭドライブ２）にＲｅａｄ  Ｃａｐａｃｉｔｙ／Ｒｅａｄコマンドを発行する。デバイスはこれを受けて、入れ替えたメディアの情報をホスト１１に通知する（Ｓ４６０）。そして、メモリ情報記憶部２１ｃにおいて記憶している内容を、変更された内容に基づき更新する（Ｓ４７０）。以上でメディアの入れ替え処理が完了する。
【００８１】
スイッチが状態２から状態１に切り替わったときは、コントローラ２１は内蔵している他のプログラムに基づき、スイッチが状態１のときに設定されているメディアマウント状態に復帰する手順を執る。尚、手動式の外部スイッチの変わりに、指紋認証、無線認証、又はＦｅｌｉｃａ認証用の装置をスイッチング手段として用いてもよい。
【００８２】
（ｅ）ドライブ変更
次に、本発明のさらに他の特徴であるドライブ変更について説明する。ドライブ変更とは、本ＵＳＢストレージデバイス１７がＯＳから認識されるドライブ数の変更やドライブの種類を変更することをいう。以下、ドライブ変更について図面を用いて説明する。
【００８３】
ドライブ変更は、メディア変更の場合同様、図１３（ａ）、図１３（ｂ）のシステム構成で実行できる。但し、図１３（ａ）のシステム構成の場合は、専用のドライブ変更ツール（ソフトウエア）をホスト１１にインストールして実行する。
【００８４】
（ドライブ変更方法１）
以下、ドライブ変更を行う方法例１について説明する。本例は、ドライブ変更ツール（ソフトウエア）をホスト１１にインストールして行うものである。
【００８５】
図１７はドライブ変更ツール（ソフトウエア）の操作画面例である。図１７（ａ）において、現在設定されているドライブ数が３であることが、ユーザの確認のために表示されている。図１７（ａ）では、このドライブ数を３から１に変更する様子を示している。
【００８６】
ドライブ数１を入力して、「次へ」ボタンをクリックすると、ドライブ数を１にすることが確定し、図１７（ｂ）の操作画面に移行する。新たに設定されたドライブ数が１であるから、ここではドライブ１のドライブ設定（ドライブの種類の選定）と、該ドライブ１へマウントするメディアの選択が入力項目となっている。
【００８７】
ドライブ設定において、「選択」ボタンをクリックすると、プルダウン式に、「ＣＤ−ＲＯＭドライブ」と「リムーバブルドライブ」という２つのメニューが表示される。画面上では、「ＣＤ−ＲＯＭドライブ」が選択されている。マウントメディア選択においては、「選択」ボタンをクリックすると、同じくプルダウン式に、「メディア１」、「メディア２」、「メディア３」がメニューとして表示される。「メディア４」がメニュー表示されないのは、メディア４はリムーバブルドライブ用のメディアだからである。
【００８８】
画面では、メディア１が選択されている。これは、変更前の状態のＣＤ−ＲＯＭドライブ２とリムーバブルドライブ１が削除されたことに等しい。これに対し、ＣＤ−ＲＯＭドライブ１にマウントするメディアを、メディア２若しくはメディア３に選択してもよい。即ち、ドライブ変更とメディア変更を同時に行うことも可能である。こ本画面例の場合は、メディア変更を行ったＣＤ−ＲＯＭドライブが一つだけ存在することになる。ここで、「ドライブ変更」ボタンをクリックすると、先の手順で設定したドライブ変更が確定する。
【００８９】
以下、本方法例１によるドライブ変更の手順について説明する。まずＳＣＳＩベンダーコマンドにて、ホスト１１よりドライブ変更をデバイスに通知する。
【００９０】
このコマンドには、ドライブ変更を表すオペレーションコードとともに、当該変更がドライブ数の増加かであるか削減であるか、削減であればどのドライブを削除するかの情報が含まれている。本例の場合は、リムーバブルドライブ１を削除せよという内容のコマンドである。このコマンドを受けた後、これを解釈し、リムーバブルディスク１を削除せよという内容のコマンドであることを認識する。
【００９１】
そして、指示されたデバイス変更を実行するために、ドライブ数、即ち論理ユニット数を３から１へ変更する。すると、論理ユニット番号は、「００」のみになり、この論理ユニット番号とメディアの対応関係は変更されていないので、ドライブ２とドライブ３を削除するという内容を、メモリ情報記憶部２１ｃにおいて更新する。これでデバイス内におけるデバイス数の変更処理は終了する。
【００９２】
尚、上記デバイス変更をホスト１１に反映させるには、本デバイスをホスト１１から一旦抜き取る必要がある。爾後ホスト１１が本デバイスを再起動する際には、上述した起動処理に係るコマンドが発行されるが、上記更新された内容は、このコマンドに対する応答や、ホスト１１がデバイスにアクセス（情報の読み出しや書き込み）するときに反映される。
【００９３】
図１８は、ドライブ変更前と前記手順で変更した後における、フラッシュメモリ２５内部の各領域とＯＳの認識状態の対応関係を表している。図１８（ａ）は変更前、図１８（ｂ）は変更後のものである。変更前は、図１２（ａ）と同一である。図１８（ｂ）では、ドライブ変更によってメディア１をマウントしているＣＤ−ＲＯＭドライブ１のみがＯＳから認識されるようになったことを示している。即ち、ドライブ数変更により、ＣＤ−ＲＯＭドライブ２とリムーバブルドライブ１が解除されたため、ＣＤ−ＲＯＭドライブ２とリムーバブルドライブ１のアイコンがモニターから消失している。
【００９４】
（ドライブ変更方法２）
次にドライブ変更を行う方法例２について説明する。本方法例２は、図１３（ｂ）に示すような、デバイスに設けられた手動式スイッチ（外部スイッチ）によりデバイスの変更を行うものである。スイッチが状態１のときは、前述した図１８（ａ）の場合と同じ設定状態であり、スイッチを２の状態に変更すると、図１８（ｂ）の状態に変更されるものとする。
【００９５】
以下、本方法例２によるデバイス変更の手順について、外部スイッチが、状態１から状態２に変更される場合について説明する。
【００９６】
スイッチが状態２に切り替えられると、状態２に切り替えられたことを示す信号がコントローラ２１に送信される。するとコントローラ２１は、該コントローラ２１が予め内蔵しているドライブ設定変更プログラムに基づき、論理ユニット数を３から１に変更する。このプログラムには、メディア２をマウントしたＣＤ−ＲＯＭドライブ２（ドライブ２）とメディア４をマウントしたリムーバブルドライブ１（ドライブ３）を削除する手順が含まれている。この処理により、メモリ情報記憶部２１ｃのドライブ管理テーブル中、ドライブ２（論理ユニット番号「０１」）とドライブ３（論理ユニット番号「１０」）を削除する。
【００９７】
これでデバイス内におけるデバイス数の変更処理が終了する。尚、上記デバイス変更をホスト１１に反映させるには、本デバイスをホスト１１から一旦抜き取る必要がある。爾後ホスト１１が本デバイスを再起動する際には、上述した起動処理に係るコマンドが発行されるが、上記更新された内容は、このコマンドに対する応答や、ホスト１１がデバイスにアクセス（情報の読み出しや書き込み）するときに反映される。
【００９８】
スイッチが状態２から状態１に切り替わったときは、内蔵する他のプログラムにより、元の状態に復帰する手順が執られる。
【００９９】
（発明の効果）
上記の通り、本発明では、ＵＳＢストレージデバイス１７の記憶領域を複数の領域に区分し、ＯＳに認識させるドライブ数、並びに、該ドライブに前記領域のいずれを対応付けするかをユーザが選択可能に構成したので、区分された領域の数に対してＯＳに認識させるライブの数を可変にできる。また、ＯＳに認識させ得る領域を可変にすることができ、例えば、ユーザＡには領域１に入っているアプリケーションソフトのみ使用可能にし、ユーザＢには領域２に入っているアプリケーションソフトのみ使用可能にするなど、より自由度のあるデバイスを提供できる。
【０１００】
また、ＵＳＢストレージデバイス１７を外部装置に装着した際、オートランするＣＤ−ＲＯＭドライブの設定を解除し（ＯＳから認識できないようにする）、ディスク領域に即アクセスすることを可能にするなど、より利便性のあるデバイスを提供できる。
【０１０１】
（変形例）
また、実施例における操作画面５１例で各メディア（領域）に設定するＣＤ−ＲＯＭフォーマットは、ＣＤイメージデータのフォーマットとしてＩＳＯ９６６０又はＨＦＳの何れかで設定できるが、さらに、Ａｕｄｉｏ
ＣＤ、ＣＤ ＴＥＸＴ、Ｍｉｘｅｄ ＣＤ、Ｅｎｈａｎｃｅｄ ＣＤ、ビデオＣＤ、ブータブルＣＤ等のフォーマットが選択できるようになっていてもよい。また記録方式も、ディスクアットワンス、トラックアットワンス、セッションアットワンス、パケットライトなどの方式が指定できるようになっていてもよい。また、情報の書き込み、削除を不可とする領域のフォーマットは、ＣＤ−ＲＯＭのフォーマットの他、情報の読み出しのみを予定したものであれば、ＤＶＤ−ＲＯＭ用のフォーマット、その他今後出現するフォーマットでもよい。
【０１０２】
また、ユーザが設定するドライブをＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号として設定したが、仮想ＨＵＢ（ＨＵＢエミュレーションソフト）のデバイス番号に対応させることができることはいうまでもない。
【図面の簡単な説明】
【０１０３】
【図１】実施例のＵＳＢストレージデバイスの構成を示すブロック図である。
【図２】メモリ領域の構成例を表す図である。
【図３】（ａ）はメディア変更の操作画面例（第１ステップ）である。（ｂ）は第１ステップ終了時の管理領域のメディア管理テーブルの内容である。
【図４】（ａ）はメディア変更の操作画面例（第２ステップ）である。（ｂ）は第２ステップ終了時の管理領域のメディア管理テーブルの内容である。
【図５】（ａ）はメディア変更の操作画面例（第３ステップ）である。（ｂ）は第３ステップ終了時の管理領域のメディア管理テーブルとドライブ管理テーブルの内容である。
【図６】（ａ）はメディア変更の操作画面例（第４ステップ）である。（ｂ）は第４ステップ終了時の管理領域のメディア管理テーブルとドライブ管理テーブルの内容である。
【図７】メディア変更終了時にフラッシュメモリの各領域に指定されたファイルが書き込まれる様子を模式的に表した図である。
【図８】メディア変更終了後のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。
【図９】本発明ＵＳＢストレージデバイスの起動処理のフローチャートである。
【図１０】本発明ＵＳＢストレージデバイスのアクセス処理のフローチャートである。
【図１１】メディア変更ツールの操作画面例である。
【図１２】（ａ）はメディア変更前のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。（ｂ）はメディア変更後のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。
【図１３】（ａ）はメディア変更を行うシステムの第１の構成例である。（ｂ）はメディア変更を行うシステムの第２の構成例２である。
【図１４】メディア変更方法例１のフローチャートである。
【図１５】メディア変更方法例２のフローチャートである。
【図１６】ドライブ変更ツールの操作画面例である。
【図１７】（ａ）はドライブ変更前のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。（ｂ）はドライブ変更後のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。
【符号の説明】
【０１０４】
１１…ホスト、１２…オペレーションシステム、１３…ディスクドライブドライバ、１４…ＵＳＢマスストレージクラスドライバ、１５…ＵＳＢホストコントローラ、１６…ＵＳＢバス、１７…ＵＳＢストレージデバイス、１９ａ…ＵＳＢインターフェース、１９ｂ…シリアルパラレル変換部、１９ｃ…パケット生成分解部、１９ｄ…ＵＳＢバスパワー制御部、２１…コントローラ、２１ａ…メモリ制御部、２１ｂ…ＵＳＢインターフェース制御部、２１ｃ…メモリ情報記憶部、２１ｄ…ＬＥＤ制御部、２３…ＬＥＤ、２５…フラッシュメモリ
【図１】
2007048073.tif 000003
【図２】
2007048073.tif 000004
【図３】
2007048073.tif 000005
【図４】
2007048073.tif 000006
【図５】
2007048073.tif 000007
【図６】
2007048073.tif 000008
【図７】
2007048073.tif 000009
【図８】
2007048073.tif 000010
【図９】
2007048073.tif 000011
【図１０】
2007048073.tif 000012
【図１１】
2007048073.tif 000013
【図１２】
2007048073.tif 000014
【図１３】
2007048073.tif 000015
【図１６】
2007048073.tif 000016
【図１７】
2007048073.tif 000017
【図１４】
2007048073.tif 000018
【図１５】
2007048073.tif 000019
【手続補正書】
【提出日】平成17年10月28日(2005.10.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
以下のステップを順に踏んでなる、ＵＳＢストレージデバイスの内部状態設定方法；
（１）ＵＳＢストレージデバイスの記憶領域において、ユーザが使用可能な領域の数設定すること、
（２）前記設定された各領域を複数種のフォーマットのうちいずれのフォーマットで構成するか設定すること、
（３）前記フォーマットされた領域に格納すべきファイルの名称を指定すること、
（４）前記フォーマット設定済みの各領域をＯＳに対しドライブとして認識させるか否か指定すること。
【請求項２】
ホストシステムからの指令に基づき、当該ＵＳＢストレージデバイスに以下の全てを実行可能に構成されてなることを特徴とするＵＳＢストレージデバイス内に設けて使用されるコントローラ；
（１）ＵＳＢストレージデバイスの記憶領域に指定された数のユーザ使用領域を構成すること、
（２）前記設定された各領域を、複数種のフォーマットのうち指定された種類のフォーマットで構成すること、
（３）前記フォーマットされた各領域に、指定されたファイルを格納すること、
（４）前記フォーマット設定済みの各領域をＯＳに対しドライブとして認識させるか否かを指定された内容に沿って設定すること。
【請求項３】
請求項２のコントローラを具備してなることを特徴とするＵＳＢストレージデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリを用いて情報を記憶するＵＳＢストレージデバイスに関する。
【背景技術】
【０００２】
本出願人は、先に、フラッシュメモリの領域を２つに分けて定義し、一方を情報の読み出しのみ可能なＣＤ−ＲＯＭユニットとして、もう一方を情報の読み出し、書き込み、削除の可能なディスクユニットとして外部装置に認識させるＵＳＢストレージデバイスについて出願している（特開平２００４−５４８９６号/以下「先願１」）。
【０００３】
先願１の実施例に開示された発明は、区分された領域の数とＯＳが認識するドライブ（デバイス）の数が同じで、ＯＳからすべての領域が認識されてしまう。従って、ＯＳから認識し得る領域を可変にすること、例えば、ユーザＡには領域１に入っているアプリケーションソフトのみ使用可能にし、ユーザＢには領域２に入っているアプリケーションソフトのみ使用可能にするなど自由度のある使用ができない（問題点１）。
【０００４】
また、ＵＳＢストレージデバイスを外部装置に装着した際、ＣＤ−ＲＯＭユニットに格納されているアプリケーションプログラムをオートランさせることができ便利であるが、ディスク領域に即アクセスしたい場合には却って不便でもある（問題点２）。
【０００５】
【特許文献１】特開平２００４−５４８９６
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記問題点に鑑みてなされたものであり、その目的とするところは、より利便性のあるＵＳＢストレージデバイスを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため本願では、請求項1乃至３の構成を提供する。該構成による作用、効果は、以下の、発明を実施するための最良の形態で自ずと明らかとなろう。
【発明を実施するための最良の形態】
【０００８】
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【０００９】
［実施例１］
図１は、実施例１のＵＳＢストレージデバイス１７（特許請求の範囲に記載のＵＳＢストレージデバイスに相当する）とホスト１１（特許請求の範囲に記載のホストシステムに相当する）の概略構成を示すブロック図である。
【００１０】
（１）ホスト１１
ホスト１１は、一般に広く知られたパーソナルコンピュータであり、ソフトウエアとして、オペレーションシステム１２、ディスクドライブドライバ１３及びＵＳＢマスストレージクラスドライバ１４を備え、ハードウェアとしてＵＳＢホストコントローラ１５を少なくとも備える。
【００１１】
オペレーションシステム１２は、ホスト１１を統括的に制御するソフトウエアであり、例えばＷｉｎｄｏｗｓ（登録商標）やＭａｃ
ＯＳ Ｘ（登録商標）等ある。ディスクドライブドライバ１３は、オペレーションシステム１２から受け取った記憶装置へのアクセス指令等をＳＣＳＩコマンド変換してＵＳＢマスストレージクラスドライバ１４に渡すとともに、ＵＳＢマスストレージクラスドライバ１４から指令等を受け取りオペレーションシステム１２に渡す。ＵＳＢマスストレージクラスドライバ１４は、ＵＳＢホストコントローラ１５を制御する。ＵＳＢホストコントローラ１５は、図示しないＵＳＢコネクタを備え、他の装置のＵＳＢコネクタとケーブルによって接続されることによって、ＵＳＢ規格に基づいた通信を行うことができるようになっている。なお、ホスト１１は、ＵＳＢ規格に基づいた通信を行うことができる機器であれば、パーソナルコンピュータに限らずＰＤＡや携帯電話等であってもよい。
【００１２】
（２）ＵＳＢストレージデバイス１７
ＵＳＢストレージデバイス１７は、ＵＳＢインターフェース１９とコントローラ２１とＬＥＤ２３とフラッシュメモリ２５とを備える。
【００１３】
（２−１）ＵＳＢインターフェース１９
ＵＳＢインターフェース１９は、ＵＳＢバス１６を介してホスト１１と通信を行う機能を担う。ＵＳＢインターフェース１９は、パケット送受信部１９ａとシリアルパラレル変換部１９ｂとパケット生成分解部１９ｃとＵＳＢバスパワー制御部１９ｄとを備える。パケット送受信部１９ａは、図示しないＵＳＢコネクタと接続され、ＵＳＢ規格に基づいたパケットを送受信する。シリアルパラレル変換部１９ｂは、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解部１９ｃは、ホスト１１と通信を行うためのパケットの生成及びパケットを分解してデータの取り出しを行う。ＵＳＢバスパワー制御部１９ｄは、ホスト１１から供給される電力の管理及びＵＳＢストレージデバイス１７の各部位への電力の配分を行う。
【００１４】
（２−２）フラッシュメモリ２５
フラッシュメモリ２５は、記憶保持動作が不要な半導体メモリであり、データを記憶することができる。記憶したデータは、後述するメモリ制御部２１ａによって読み出すことが可能である。また、メモリ制御部２１ａによって書き込み及び削除をすることもできる。
【００１５】
本ＵＳＢストレージデバイス１７は、潜在的にユーザが使用可能な複数の領域を有する。図２はその領域例を表している。ここでは、ＣＤ−ＲＯＭ用のフォーマット、例えば、ＩＳＯ９６６０でフォーマットされて構成されている３つの領域と、ＦＡＴフォーマットでフォーマットされて構成されている１領域の計４領域に区分されて構成されている様子が示されている。ＦＡＴフォーマットで構成される領域は２以上でもよい。このフラッシュメモリ２５には、さらにこれら領域等に関する情報（アドレスや容量などに関する情報）をシステムが管理するための管理領域を有する。
【００１６】
（２−３）コントローラ２１
コントローラ２１は、メモリ制御部２１ａとＵＳＢインターフェース制御部２１ｂとメモリ情報記憶部２１ｃとＬＥＤ制御部２１ｄとを備える。メモリ制御部２１ａは、フラッシュメモリ２５に対してデータの読み出し、書き込み及び削除を実行する。ＵＳＢインターフェース制御部２１ｂは、前述したＵＳＢインターフェース１９の各部を制御する。メモリ情報記憶部２１ｃは、「メディア管理テーブル」と「ドライブ管理テーブル」を記憶する。これについては後述する。ＬＥＤ制御部２１ｄは、フラッシュメモリ２５が、ホスト１１より書き込み、読み出しや削除されているとき、本デバイスに設けられたＬＥＤ２３を点灯制御するものである。
【００１７】
（２−４）ＬＥＤ２３
図１に戻り、ＬＥＤ２３は、フラッシュメモリ２５に対して情報の読み出し、書き込み及び削除が実行されている際に点灯する発光体である。フラッシュメモリ２５に対して情報の読み出し、書き込み及び削除が実行中であることを利用者に示し、これらの実行中にホスト１１からＵＳＢストレージデバイス１７が抜かれないようにするためのものである。
【００１８】
（ａ）初期設定
初期設定は、ＵＳＢストレージデバイス１７の製造者や販売者（「特定ユーザ」）、若しくはエンドユーザ（以下、前記特定ユーザとエンドユーザを併せて単に「ユーザ」と言う）がホスト１１上で初期設定ソフトウェアを実行した際に、ＵＳＢストレージデバイス１７のコントローラ２１でプログラムに基づいて実行される。
【００１９】
以下、初期設定の手順を、ホスト１１で実行される初期設定ソフトウエアの操作画面例を用いて説明する。
【００２０】
（手順１）
図３（ａ）は、メディア数を設定する操作画面例である。ここで、「メディア数」とは、フラッシュメモリ２５において、複数に区分され、潜在的にユーザが使用可能な領域数をいう。「メディア」と言う表現を用いているが、これは、後述するドライブ設定との関係で各領域が所定のフォーマットで構成され、以降、該領域が、ＯＳから所定の記録媒体即ちメディアとして認識されることになるからである。
【００２１】
ここでは、メディア数を４と設定した状態を示している。メディア数を４と設定したことにより、フラッシュメモリ２５にはユーザデータ領域として、４つに区分された領域が確保されることになる。そしてフラッシュメモリ２５に当該４つの領域の情報をシステムが管理するための管理領域が設定される。図３（ｂ）は、管理領域に設定されるテーブル例（メディア管理テーブル）を表している。以下の本実施例において、メディア１として定義される領域を領域１、メディア２として定義される領域を領域２、メディア３として定義される領域を領域３、メディア４として定義される領域を領域４と呼ぶ。また本明細書において、別段の意味を有しない限り、単に「領域」というときは、上記フラッシュメモリ２５の区分された領域をいう。
【００２２】
この状態では、メディア数が４という情報のみ記録される。各領域のメディア種別（フォーマット）や、書き込まれるファイルの情報が指定されていないため、それらの情報は書き込まれていない。画面で、「次へ」のボタンをクリックすると、次の手順の操作画面に移行する。
【００２３】
（手順２）
次に、前手順で確立した４つの各領域のメディア設定、即ち、各領域をＯＳからいかなる種類のメディアとして認識させるかの設定（具体的には各領域を構成するフォーマットの設定）、及び各領域に格納すべきファイルのファイル名を選択する。
【００２４】
図４（ａ）は操作画面例であり、「選択」ボタンをクリックするとプルダウン式に、設定されるべきメディア種類リストが表示され、そのうちの一つを選択するようになっている。ここでは、メディア１乃至メディア３はＣＤ−ＲＯＭメディアとして構成されるべきこと、即ち情報の読み出しのみ可能なＣＤ−ＲＯＭ用フォーマットで構成されるべきことが指定されており、メディア４はリムーバブルメディア（リムーバブルハードディスクのメディア）として構成すること、即ち、情報の読み出し、書き込み、削除のいずれも可能なディスク用のフォーマットで構成されるべきことが指定されている。
【００２５】
次に、各領域に格納すべきファイル名を選択する。まず「参照」ボタンをクリックすると、ホスト１１のドライブごとに格納されているファイル名のリストがプルダウン式に表示され、そのうちの一つを選択するようになっている。画面例では、メディア１（領域１）に対してはホスト１１のＣドライブに存在するｓａｍｐｌｅ．ｉｓｏという名のファイルを、メディア２（領域２）に対しては同じくホスト１１のＣドライブのｔｅｓｔ.ｉｓｏという名のファイルを、メディア３（領域３）に対しては、同じくＣドライブのｔｅｓｔ１．ｉｓｏという名のファイルを、又、メディア４（領域４）に対しては、同じくＤドライブのｔｅｓｔ．ｂｉｎという名のファイルをそれぞれ書き込むべきことが指定されている。
【００２６】
全領域に対してメディア種別（フォーマット）及び格納すべきファイル名が選択されると、管理領域のメディア管理テーブルには図４（ｂ）に示すように各領域に関する情報がコントローラ２１により書き込まれる。図では、メディア１の領域は先頭アドレス（論理ブロックアドレス）が０ｘ００００、Ｌｅｎｇｔｈが２０４８０ｂｙｔｅ、メディア種類がＣＤ−ＲＯＭ、メディア２の領域は先頭アドレスが０ｘ０５００、Ｌｅｎｇｔｈが２０４８０ｂｙｔｅ、メディア種類がＣＤ−ＲＯＭ、メディア３の領域は先頭アドレスが０ｘ０Ａ００、Ｌｅｎｇｔｈが２０４８０ｂｙｔｅ、メディア種類がＣＤ−ＲＯＭ、メディア４の領域は先頭アドレスが０ｘ０Ｆ００、Ｌｅｎｇｔｈが５１２０ｂｙｔｅ、メディア種類がリムーバブルディスクとして設定されたことを示している。
【００２７】
本例では、各領域の容量（先頭アドレス、Ｌｅｎｇｔｈ）は、前記格納指定されたファイルの容量に基づき、コントローラ２１が自動的に設定している。この段階で、各領域に指定されたファイルを書き込むこともできるが、各手順において「キャンセル」ボタンで再設定処理がなされるもあるので、後述するように、手順４の終了時に一斉に書き込みすることが好ましい。
画面で、「次へ」のボタンをクリックすると、次の手順の操作画面に移行する。
【００２８】
（手順３）
次に、ドライブ数を設定する。ここでドライブ数とは、当該ＵＳＢストレージデバイス１７がＯＳから認識されるドライブの数を意味する。ここで付言すると、手順１において領域は４つに区分されているため、ＯＳに対しては潜在的には最大４つのドライブとして認識させることができるが、ここではドライブ数を３と設定するものとする（図示せず）。そして管理領域には、前記メディア管理テーブルの他に、ドライブ管理テーブルが新たに設定される（後述する図５（ｂ）参照）。
【００２９】
このとき、ドライブ管理テーブルのドライブ１には、ホスト１１のＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号「００」が、ドライブ２には論理ユニット番号「０１」が、ドライブ３には論理ユニット番号「１０」がそれぞれ割り当てられている。よって、ドライブ数は、論理ユニット数に等しい。ドライブ数が４と設定された場合は、ドライブ４には論理ユニット番号「１１」が割り当てられる。尚、図５（ｂ）において、「ＬＵＮ」とは論理ユニット番号（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）をいう。
【００３０】
この状態では、ドライブ数が３と指定されているにすぎないため、ドライブ管理テーブルにはドライブ数が３とだけ記録され、その他の具体的な情報は書き込まれない。
【００３１】
（手順４）
次にドライブ設定手順に移行する。ここでいうドライブとは、上記の通り、ＵＳＢストレージデバイス１７がＯＳから認識されるドライブをいう。これを図５（ａ）の操作画面例を用いて説明する。ここでは手順３でドライブ数を３と設定していることから、３つの各ドライブをＯＳにいかなる種類のドライブ（本例ではＣＤ−ＲＯＭドライブかリムーバブルドライブ）として認識させるかを先ず設定し、その上で、その設定されたドライブに適合するフォーマットで構成された領域（手順２で既に決定しているメディア即ち領域）のどれを対応付けるかを選択するものである。
【００３２】
ここでは、ドライブ１とドライブ２をＣＤ−ＲＯＭドライブとして認識させること、ドライブ３をリムバーブルドライブとして設定した様子が示されている。
【００３３】
次に、各ドライブにマウントされるべきメディアの選択（即ち、各ドライブの論理ユニット番号に対応付けるフラッシュメモリ２５の領域）を、手順２において設定したメディア番号（領域番号）の指定により行う。図５（ａ）の例では、ドライブ１にはメディア１をマウントすること、即ち、論ユニット番号「００」に領域１を対応付けること、ドライブ２にはメディア２をマウントすること、即ち、論理ユニット番号「０１」に領域２を対応付けること、ドライブ３にはメディア４をマウントすること、即ち、論理ユニット番号「０１」に領域４をそれぞれ対応付けることが選択されている。
【００３４】
そして、「デバイスへ書き込み」ボタンをクリックすると、メディア１乃至４（領域１乃至４）に対し、先の手順２において選択されたファイルが書き込まれる（図６参照）。
【００３５】
このとき、管理領域の「ドライブ管理テーブル」に、設定された状態が確定値として書き込まれる（図５（ｂ）参照）。具体的には、各ドライブごとにマウントしているメディア（そのドライブの論理ユニット番号に対応つけられたメモリの領域）、ドライブの種類（ＩＮＱＵＩＲＹ情報）などが書き込まれる。
【００３６】
尚、管理領域に書き込まれた「メディア管理テーブル」と「ドライブ管理テーブル」の内容は、コントローラ２１のメモリ情報記憶部２１ｃにも同様に書き込まれて保存される。このとき、ドライブ管理テーブルに記録されている情報は、ホスト１１のＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号「００」「０１」「１０」に対応する領域として、領域１、領域２、領域４をＵＳＢマスストレージクラスドライバにそれぞれ認識させるための情報となる。これにより、ＵＳＢマスストレージクラスドライバは、本ＵＳＢストレージデバイス１７を３つの論理ユニットを有するＳＣＳＩデバイスとして認識し、ＯＳは３つのドライバとして認識する。
【００３７】
尚、後述するメディア変更、ドライブ変更等により管理領域の内容が変更されると、メモリ情報記憶部２１ｃの内容も同様に変更され、それによりＵＳＢマスストレージクラスドライバは、該更新された情報に基づき本ＵＳＢストレージデバイス１７を認識し、ＯＳもそれに従ったドライブとして認識する。
【００３８】
図７は、前記初期設定後のフラッシュメモリ２５内部の各領域とＯＳの認識状態の対応関係を表したものである。図７において、ＯＳは、メディア１がマウントされたドライブ１をＧドライブ、メディア２をマウントしたドライブ２をＥドライブとして、メディア４をマウントしたドライブ３をＦドライブとして認定したことを表している。ＧドライブはＣＤ-ＲＯＭドライブ１であり、ＥドライブはＣＤ−ＲＯＭドライブ２であり、Ｆドライブはリムーバブルドライブ１である。
【００３９】
ホスト１１のモニターには、ドライブ番号（Ｅ：、Ｇ：、Ｆ：）とドライブの種類を模式的に表したアイコンが表示される。以下、ＯＳが本ＵＳＢストレージデバイス１７を認識するまでの起動処理について説明する。尚初期設定後起動する際は、一旦デバイスをホスト１１から外し、再度装着する必要がある。
【００４０】
（ｂ）起動処理
前記初期設定されたＵＳＢストレージデバイス１７がホスト１１に接続された際に、ＵＳＢストレージデバイス１７のコントローラ２１でプログラムに基づいて実行される起動処理について図８のフローチャートを用いて説明する。この起動処理は、ＵＳＢストレージデバイス１７がホスト１１に接続されることにより、ＵＳＢバスパワー制御部１９ｄに電力が供給され、さらにホスト１１側でエニュメレーション処理が実行されると開始される。
【００４１】
起動処理を開始すると、ホスト１１からの指令に応じて、ディスクリプタと呼ばれるデバイス情報（デフォルトパイプの最大パケットサイズ等）をホスト１１に送信する（Ｓ１１０）。
【００４２】
次に、ホスト１１から指令に応じて、ＵＳＢストレージデバイス１７のアドレスを設定する（Ｓ１１５）。以降、このアドレス宛のフレームのみを当該ＵＳＢストレージデバイス１７は取得する。
【００４３】
次に、より詳細なデバイス情報をホスト１１に送信する（Ｓ１２０）。このデバイス情報としては、エンドポイントに関する情報、クラス、サブクラス、プロトコル等である。
【００４４】
その結果、ホスト１１ではＵＳＢマスストレージクラスドライバ１４が起動され、図示しないアプリケーションソフトウェアからディスクドライブドライバ１３とＵＳＢマスストレージクラスドライバ１４とを介してＵＳＢホストコントローラ１５を制御するアクセスパスができる。なお、このディスクドライブドライバ１３は、ＭＳ−ＤＯＳ（登録商標）時代から、受け継がれているドライバであるため永年の技術が積み重ねられており、安定的な動作が得られるドライバである。
【００４５】
続いて、ＵＳＢマスストレージクラスドライバ１４が、Ｇｅｔ Ｍａｘ
Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒコマンドによって論理ユニット番号数を要求するため、ＵＳＢストレージデバイス１７は、メモリ情報記憶部２１ｃから論理ユニット番号数が３であるという情報を読み出して、ホスト１１に送信する。
【００４６】
そしてさらに、ディスクドライブドライバ１３が、論理ユニット番号ごとにＩＮＱＵＩＲＹコマンドを発行するため、ＵＳＢストレージデバイス１７は、都度、メモリ情報記憶部２１ｃから、当該論理ユニットのデバイスタイプコード、フォーマット（ドライブ１乃至３にマウントされたメディアのフォーマット）、その他の情報を読み出して、ホスト１１に送信する。これらの結果ホスト１１は、ＵＳＢストレージデバイス１７を、２つのＣＤ−ＲＯＭドライブ（より正確にはＣＤ−ＲＯＭ用フォーマットから構成される論理ユニット番号「００」及び「０１」の２領域）と、１つのリムーバブルドライブ（正確にはディスク用フォーマットで構成された論理ユニット番号「１０」の領域）とを有するデバイスと認識する。このときホスト１１は各ドライブがマウントしているメディア（各論理ユニット番号に対応付けられている領域）の容量に関する情報（先頭アドレスとＬｅｎｇｔｈの情報）を併せて取得する。
【００４７】
ホスト１１との通信が確立されると、フラッシュメモリ２５を動作可能にし（Ｓ１２５）、起動処理を終了する。
【００４８】
なお、Ｗｉｎｄｏｗｓ（登録商標）には、記憶媒体挿入時や記憶媒体接続時にその記憶媒体のルートディレクトリに記憶されたａｕｔｏｒｕｎ．ｉｎｆという名称のファイル内で指定されたアプリケーションソフトウェアを実行する機能を有しているため、フラッシュメモリ２５のＣＤ−ＲＯＭ領域にそのファイルを記憶させておけば、本ＵＳＢストレージデバイス１７がホスト１１に装着された際に特定のソフトウエアを自動実行させることができる。
【００４９】
このようになっていれば、利用者がホスト１１の操作に不慣れであっても本ＵＳＢストレージデバイス１７を装着するだけで特定のアプリケーションソフトウェアが自動実行される。
【００５０】
（ｃ）アクセス処理
ホスト１１において動作する種々のソフトウエアが、ＵＳＢストレージデバイス１７に対してデータの書き込み、読み出し、削除の実行指令を送ったときに、ＵＳＢストレージデバイス１７のコントローラ２１でプログラムに基づいて実行されるアクセス処理について図９のフローチャートを用いて説明する。
【００５１】
まず、Ｓ２１０では、ホスト１１から受信した指令の種類によって分岐する。書き込み又は削除の指令であった場合はＳ２１５に進み、そうでない場合、すなわち読み出しの指令であった場合はＳ２５０に進む。
【００５２】
Ｓ２１５では、書き込み又は削除の指令が論理ユニット番号「１０」に対する指令であるか否かによって分岐する。つまり、書き込み及び削除が実行可能な論理ユニットに対するものであるか否かによって分岐する。論理ユニット番号「００」若しくは「０１」に対するものであればＳ２４５に進み、そうでない場合すなわち論理ユニット番号「１０」に対する指令であればＳ２２０に進む。
【００５３】
Ｓ２２０では、ＬＥＤ２３を点灯させる。続くＳ２２５では、ホスト１１から指定されたフラッシュメモリ２５のブロックにデータを書き込む。またはホスト１１から指定されたフラッシュメモリ２５のブロックのデータを削除する。なお書き込み又は削除を実行する際は、メモリー情報記憶部２１ｃに記憶されているフラッシュメモリ２５の各メディア（領域）毎の物理ブロック番号論理ブロック番号変換テーブル（図示せず）を用い、ホスト１１から指定されたブロック番号を論理ブロック番号３７としてその論理ブロック番号３７に該当する物理ブロック番号３９によって特定されたフラッシュメモリ２５のブロックに対してデータの書き込み又は削除を実行する。尚ここでいう番号とはアドレスのことである。
【００５４】
続くＳ２３０では、ＬＥＤ２３を消灯させる。そして、Ｓ２３５ではＳ２２５の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらＳ２４０に進む。
【００５５】
Ｓ２４０では、Ｓ２２５の処理が正常に完了しなかった旨をホスト１１に通知してアクセス処理を終了する。
【００５６】
一方、Ｓ２１５で、書き込み又は削除の指令が論理ユニット番号「００」若しくは「０１」に対する指令であると判定された際に進むＳ２４５では、許可されていない指令としてホスト１１にエラー発生の旨を通知する。
【００５７】
また、Ｓ２１０で読み出しの指令であったと判定されて進むＳ２５０では、ＬＥＤ２３を点灯させ、続くＳ２５５ではホスト１１から指定されたフラッシュメモリ２５のブロックのデータを読み込み、読み込んだデータをホスト１１に送る。なお、データを読み出す際は、メモリ情報記憶部２１ｃに記憶されているフラッシュメモリ２５の各メディア（領域）毎の物理ブロック番号論理ブロック番号変換テーブルを用い、ホスト１１から指定されたブロック番号を論理ブロック番号３７としてその論理ブロック番号３７に該当する物理ブロック番号３９によって特定されたフラッシュメモリ２５のブロックからデータを読み出す。
【００５８】
続くＳ２６０では、ＬＥＤ２３を消灯させる。そして、Ｓ２６５ではＳ２５５の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらＳ２７０に進む。
【００５９】
Ｓ２７０では、Ｓ２５５の処理が正常に完了しなかった旨をホスト１１に通知してアクセス処理を終了する。
【００６０】
このようにアクセス処理が実行されるため、故意にあるいは誤って消去されると問題のある情報（ソフトウェア、データ）を論理ユニット番号「００」若しくは「０１」の領域に記憶させておけば、そのソフトウエアが消去されることを未然に防止できる。尚、上記フローにおいて、書き込み又は削除指令がなされたときに、コントローラ２１は、そのコマンドが対象としている論理ユニット番号を根拠に書き込み又は削除指令を実行するか判断している。これはその判断プログラム（サブルーチンプログラム）が、論理ユニット番号に対応付けられている領域のフォーマット（書き込み及び削除が許容されるか）を基に構成されているという事実に基づくものである。
【００６１】
本願ＵＳＢストレージデバイス１７は、後述するメディア変更、ドライブ変更が予定されたものであり、これら変更に伴い、論理ユニット番号に対応付けられる領域のフォーマットが変更される場合がある。
【００６２】
そのときは、該変更に伴い、前記判断用サブルーチンプログラムが変更される。そして、爾後のアクセス処理においては変更されたプログラムに基づき、書き込み、削除の是非の判断がなされる。これにより、情報の読み出し、書き込み、又は削除が有効に実行されるが、このとき、さらに慎重を期すべく、その論理ユニットに対応する領域のフォーマット情報を確認し（書き込み、削除が許容された領域であるかを確認）、当該処理の判断を実行するようにしてもよい。
【００６３】
このようにすれば、消去されると問題のあるソフトウェア、データなどをより安全に保護することができる。なおここでいうフォーマット情報は、その領域が書き込み、削除が許容されたものであるかの判断基準となるものであればよく、その領域を構成する具体的なフォーマットの情報の他、ＩＮＱＵＩＲＹ情報中のデバイスタイプコード等、一義的にそのフォーマットを判断できるもの（等価なもの）であればどのような情報でもよく、それらを含む概念として定義される。
【００６４】
（ｄ）メディア変更  
次に本発明の特徴であるメディア(領域)変更について詳述する。メディア変更とは、各ドライブにマウントするメディアの入れ替えをいう。具体的には、論理ユニット番号に対応付けする領域の変更である。
【００６５】
（メディア変更方法１）
次にメディア変更を行う方法例１について説明する。本例は、メディア変更ツール（ソフトウエア）をホスト１１側にインストールして行うものである。図１２（ａ）に示すように、ホスト１１に本ＵＳＢストレージデバイス１７を装着した状態で、前記変更ツールからデバイスに対して変更情報を送り、これを基にコントローラ２１がその設定を変更するものである。
図１０はメディア（領域）変更ツールの操作画面例である。
【００６６】
図１０の左側には、現状の設定内容がユーザの確認のために表示されている。図１０の右側は、メディア変更を設定する画面である。画面例では、ドライブ２（ＣＤ−ＲＯＭドライブ）にマウントするメディアをメディア２からメディア３に変更するとともに、さらに、ドライブ３（リムーバブルドライブ）にマウントしていたメディア４をアンマウントすることが選択されている。図１１の「メディア変更」ボタンをクリックすると、該変更が確定する。
【００６７】
以下、本方法例１によるメディア変更の手順（デバイス内部でコントローラ２１が実行する処理）について、図１３のフローチャートを用いて説明する。尚、ＯＳから見たドライブと該ドライブにマウントされているメディアの関係は、変更前は図１１（ａ）の状態である。
【００６８】
まずＳＣＳＩベンダーコマンドにて、ホスト１１よりメディア入れ替えをデバイスに通知する。このコマンドには、メディア変更を表すオペレーションコードとともに、どのドライブに対するものであるか、どのメディアに変更するかの情報が含まれる。デバイスはこのコマンドを受けると、このコマンドを解読しメディア変更コマンドであることを認識する（Ｓ３１０）。
【００６９】
そして指示されたメディア変更を実行するために、メディア入れ替えを指示されたドライブにマウントされているメディアをアンマウントする（Ｓ３２０）。即ち、ドライブ２（ＣＤ−ＲＯＭドライブ２）にマウントしているメディア２をアンマウントするとともに、ドライブ３（リムーバブルディスク１）にマウントされているメディア４をアンマウントする。
【００７０】
次にホスト１１はデバイスに対し、一定時間ごとに各ドライブにどのメディアがマウントされているか確認するコマンドを発行している（Ｔｅｓｔ  Ｕｔｉｌｉｔｙ  Ｒｅａｄｙコマンド）。デバイスはこれを受けて、ドライブ２（ＣＤ−ＲＯＭドライブ２）及びドライブ３（リムーバブルディスク１）にはマウントしているメディアがないことをホスト１１に通知する（Ｓ３３０）。
【００７１】
ホスト１１はドライブ２とドライブ３にメディアを入れることをコマンドで要求する（Ｒｅｑｕｅｓｔ  Ｓｅｎｓｅコマンド）。デバイスはこのコマンドを受領すると、先のコマンドで指示されたメディアの変更を実行する（Ｓ３４０）。即ち、ドライブ２（ＣＤ−ＲＯＭドライブ２）にメディア３をマウントする。ドライブ３（リムーバブルディスク１）には何もマウントしない。ドライブ２のマウントが終了したらこれをホスト１１に通知する（Ｓ３５０）。
【００７２】
これによりホスト１１はドライブ３に新たにメディアがマウントされたことを検知し、ドライブ２にＲｅａｄ  Ｃａｐａｃｉｔｙ／Ｒｅａｄコマンドを発行する。デバイスはこのコマンドを受けて、入れ替えたメディアの情報をホスト１１に通知する（Ｓ３６０）。そして、メモリ情報記憶部２１ｃにおいて記憶している内容を、変更された内容に基づき更新する（Ｓ３７０）。これでメディア変更処理が完了する。
【００７３】
図１１（ｂ）は、変更後のフラッシュメモリ２５内部の各領域とＯＳの認識状態の対応関係を表している。図示するように、ＣＤ−ＲＯＭドライブ２からメディア２がアンマウントされ、代わりにメディア３がマウントされているので、ＣＤ−ＲＯＭドライブ２はメディア２との対応関係が解除され新たにメディア３との対応関係が形成されている。さらにリムーバブルドライブ１からメディア４がアンマウントされたので、リムーバブルドライブ１とメディア４の対応関係が解除されている。しかし、リムーバブルドライブ１自体の設定は解除されていないので（即ち論理ユニット番号「１０」の設定はそのまま維持されている）、ＯＳは以前同様にリムーバブルドライブ１を認識し、これによりモニターには当該リムーバブルドライブ１を表すアイコンが表示される。但し、マウントしていたメディアの関係は解除されたので、アイコンをクリックしても、何のファイル情報も表示されない。即ちメディア変更後のリムーバブルドライブ１は、メディアのマウントされていない空のドライブとして認識される。
【００７４】
（メディア変更方法例２）
次にメディア変更を行う方法例２について説明する。本方法例２は、デバイスに設けられた手動式スイッチ（外部スイッチ）によりメディアの入れ替えを行うものである。この変更を実行するための構成を図１２（ｂ）に示す。
【００７５】
図１２（ｂ）に示すように、状態１と状態２に、スライド式スイッチにより切り替え可能になっている。図１２（ｂ）において、スイッチが状態１のときは、図１１（ａ）に図示していると同じ設定状態である。これを状態２に変更すると、上記方法例１の場合同様、図１１（ｂ）に示す状態に変更されるものとする。図１２（ｂ）に示すように、ホスト１１に本ＵＳＢストレージデバイス１７を装着した状態で、外部スイッチからデバイスに対してメディア変更を実行すべきことを通知し、これを契機にコントローラ２１がその設定を変更するものである。外部スイッチはデバイスのコントローラ２１にＧＰＩＯなどで接続することができる。
【００７６】
以下、本方法例２によるメディア変更の手順（デバイス内部でコントローラ２１が実行する処理）について、図１４のフローチャートを用いて説明する。
【００７７】
スイッチが状態２に変更されると、このスイッチの切り替えに伴ってコントローラ２１に切り替えを指示する信号が送信され、コントローラ２１はスイッチの状態変更を認識する（Ｓ４１０）。するとコントローラ２１は予め内蔵しているプログラムに基づき、ドライブ２（ＣＤ−ＲＯＭドライブ２）にマウントされているメディア２をアンマウントするとともに、ドライブ３（リムーバブルディスク１）にマウントされているメディア４をアンマウントする（Ｓ４２０）。
【００７８】
ホスト１１はデバイスに対し、一定時間ごとに各ドライブに、どのメディアがマウントされているか確認するコマンドを発行している（Ｔｅｓｔ  Ｕｔｉｌｉｔｙ  Ｒｅａｄｙコマンド）。デバイスはこれを受けて、ドライブ２とドライブ３にはマウントしているメディアがないことをホスト１１に通知する（Ｓ４３０）。
【００７９】
続いてホスト１１はデバイスに対し、ドライブ２（ＣＤ−ＲＯＭドライブ２）とドライブ３（リムーバブルディスク１）にメディアをマウントすることをコマンドで要求する（Ｒｅｑｕｅｓｔ  Ｓｅｎｓｅコマンド）。これを受けデバイスは、ドライブ２（ＣＤ−ＲＯＭドライブ２）にメディア３をマウントする（Ｓ４４０）。ドライブ３（リムーバブルディスク１）には何もマウントしない。マウント処理が終了したらこれをホスト１１に通知する（Ｓ４５０）。これによりホスト１１は、ドライブ２（ＣＤ−ＲＯＭドライブ２）に新たにメディアがマウントされたことを検知する。
【００８０】
そしてホスト１１は、ドライブ２（ＣＤ−ＲＯＭドライブ２）にＲｅａｄ  Ｃａｐａｃｉｔｙ／Ｒｅａｄコマンドを発行する。デバイスはこれを受けて、入れ替えたメディアの情報をホスト１１に通知する（Ｓ４６０）。そして、メモリ情報記憶部２１ｃにおいて記憶している内容を、変更された内容に基づき更新する（Ｓ４７０）。以上でメディアの入れ替え処理が完了する。
【００８１】
スイッチが状態２から状態１に切り替わったときは、コントローラ２１は内蔵している他のプログラムに基づき、スイッチが状態１のときに設定されているメディアマウント状態に復帰する手順を執る。尚、手動式の外部スイッチの変わりに、指紋認証、無線認証、又はＦｅｌｉｃａ認証用の装置をスイッチング手段として用いてもよい。
【００８２】
（ｅ）ドライブ変更
次に、本発明のさらに他の特徴であるドライブ変更について説明する。ドライブ変更とは、本ＵＳＢストレージデバイス１７がＯＳから認識されるドライブ数の変更やドライブの種類を変更することをいう。以下、ドライブ変更について図面を用いて説明する。
【００８３】
ドライブ変更は、メディア変更の場合同様、図１２（ａ）、図１２（ｂ）のシステム構成で実行できる。但し、図１２（ａ）のシステム構成の場合は、専用のドライブ変更ツール（ソフトウエア）をホスト１１にインストールして実行する。
【００８４】
（ドライブ変更方法１）
以下、ドライブ変更を行う方法例１について説明する。本例は、ドライブ変更ツール（ソフトウエア）をホスト１１にインストールして行うものである。
【００８５】
図１５はドライブ変更ツール（ソフトウエア）の操作画面例である。図１５（ａ）において、現在設定されているドライブ数が３であることが、ユーザの確認のために表示されている。図１５（ａ）では、このドライブ数を３から１に変更する様子を示している。
【００８６】
ドライブ数１を入力して、「次へ」ボタンをクリックすると、ドライブ数を１にすることが確定し、図１５（ｂ）の操作画面に移行する。新たに設定されたドライブ数が１であるから、ここではドライブ１のドライブ設定（ドライブの種類の選定）と、該ドライブ１へマウントするメディアの選択が入力項目となっている。
【００８７】
ドライブ設定において、「選択」ボタンをクリックすると、プルダウン式に、「ＣＤ−ＲＯＭドライブ」と「リムーバブルドライブ」という２つのメニューが表示される。画面上では、「ＣＤ−ＲＯＭドライブ」が選択されている。マウントメディア選択においては、「選択」ボタンをクリックすると、同じくプルダウン式に、「メディア１」、「メディア２」、「メディア３」がメニューとして表示される。「メディア４」がメニュー表示されないのは、メディア４はリムーバブルドライブ用のメディアだからである。
【００８８】
画面では、メディア１が選択されている。これは、変更前の状態のＣＤ−ＲＯＭドライブ２とリムーバブルドライブ１が削除されたことに等しい。これに対し、ＣＤ−ＲＯＭドライブ１にマウントするメディアを、メディア２若しくはメディア３に選択してもよい。即ち、ドライブ変更とメディア変更を同時に行うことも可能である。こ本画面例の場合は、メディア変更を行ったＣＤ−ＲＯＭドライブが一つだけ存在することになる。ここで、「ドライブ変更」ボタンをクリックすると、先の手順で設定したドライブ変更が確定する。
【００８９】
以下、本方法例１によるドライブ変更の手順について説明する。まずＳＣＳＩベンダーコマンドにて、ホスト１１よりドライブ変更をデバイスに通知する。
【００９０】
このコマンドには、ドライブ変更を表すオペレーションコードとともに、当該変更がドライブ数の増加かであるか削減であるか、削減であればどのドライブを削除するかの情報が含まれている。本例の場合は、リムーバブルドライブ１を削除せよという内容のコマンドである。このコマンドを受けた後、これを解釈し、リムーバブルディスク１を削除せよという内容のコマンドであることを認識する。
【００９１】
そして、指示されたデバイス変更を実行するために、ドライブ数、即ち論理ユニット数を３から１へ変更する。すると、論理ユニット番号は、「００」のみになり、この論理ユニット番号とメディアの対応関係は変更されていないので、ドライブ２とドライブ３を削除するという内容を、メモリ情報記憶部２１ｃにおいて更新する。これでデバイス内におけるデバイス数の変更処理は終了する。
【００９２】
尚、上記デバイス変更をホスト１１に反映させるには、本デバイスをホスト１１から一旦抜き取る必要がある。爾後ホスト１１が本デバイスを再起動する際には、上述した起動処理に係るコマンドが発行されるが、上記更新された内容は、このコマンドに対する応答や、ホスト１１がデバイスにアクセス（情報の読み出しや書き込み）するときに反映される。
【００９３】
図１６は、ドライブ変更前と前記手順で変更した後における、フラッシュメモリ２５内部の各領域とＯＳの認識状態の対応関係を表している。図１６（ａ）は変更前、図１６（ｂ）は変更後のものである。変更前は、図１１（ａ）と同一である。図１６（ｂ）では、ドライブ変更によってメディア１をマウントしているＣＤ−ＲＯＭドライブ１のみがＯＳから認識されるようになったことを示している。即ち、ドライブ数変更により、ＣＤ−ＲＯＭドライブ２とリムーバブルドライブ１が解除されたため、ＣＤ−ＲＯＭドライブ２とリムーバブルドライブ１のアイコンがモニターから消失している。
【００９４】
（ドライブ変更方法２）
次にドライブ変更を行う方法例２について説明する。本方法例２は、図１２（ｂ）に示すような、デバイスに設けられた手動式スイッチ（外部スイッチ）によりデバイスの変更を行うものである。スイッチが状態１のときは、前述した図１６（ａ）の場合と同じ設定状態であり、スイッチを２の状態に変更すると、図１６（ｂ）の状態に変更されるものとする。
【００９５】
以下、本方法例２によるデバイス変更の手順について、外部スイッチが、状態１から状態２に変更される場合について説明する。
【００９６】
スイッチが状態２に切り替えられると、状態２に切り替えられたことを示す信号がコントローラ２１に送信される。するとコントローラ２１は、該コントローラ２１が予め内蔵しているドライブ設定変更プログラムに基づき、論理ユニット数を３から１に変更する。このプログラムには、メディア２をマウントしたＣＤ−ＲＯＭドライブ２（ドライブ２）とメディア４をマウントしたリムーバブルドライブ１（ドライブ３）を削除する手順が含まれている。この処理により、メモリ情報記憶部２１ｃのドライブ管理テーブル中、ドライブ２（論理ユニット番号「０１」）とドライブ３（論理ユニット番号「１０」）を削除する。
【００９７】
これでデバイス内におけるデバイス数の変更処理が終了する。尚、上記デバイス変更をホスト１１に反映させるには、本デバイスをホスト１１から一旦抜き取る必要がある。爾後ホスト１１が本デバイスを再起動する際には、上述した起動処理に係るコマンドが発行されるが、上記更新された内容は、このコマンドに対する応答や、ホスト１１がデバイスにアクセス（情報の読み出しや書き込み）するときに反映される。
【００９８】
スイッチが状態２から状態１に切り替わったときは、内蔵する他のプログラムにより、元の状態に復帰する手順が執られる。
【００９９】
（発明の効果）
上記の通り、本発明では、ＵＳＢストレージデバイス１７の記憶領域を複数の領域に区分し、ＯＳに認識させるドライブ数、並びに、該ドライブに前記領域のいずれを対応付けするかをユーザが選択可能に構成したので、区分された領域の数に対してＯＳに認識させるライブの数を可変にできる。また、ＯＳに認識させ得る領域を可変にすることができ、例えば、ユーザＡには領域１に入っているアプリケーションソフトのみ使用可能にし、ユーザＢには領域２に入っているアプリケーションソフトのみ使用可能にするなど、より自由度のあるデバイスを提供できる。
【０１００】
また、ＵＳＢストレージデバイス１７を外部装置に装着した際、オートランするＣＤ−ＲＯＭドライブの設定を解除し（ＯＳから認識できないようにする）、ディスク領域に即アクセスすることを可能にするなど、より利便性のあるデバイスを提供できる。
【０１０１】
（変形例）
また、実施例における操作画面５１例で各メディア（領域）に設定するＣＤ−ＲＯＭフォーマットは、ＣＤイメージデータのフォーマットとしてＩＳＯ９６６０又はＨＦＳの何れかで設定できるが、さらに、Ａｕｄｉｏ
ＣＤ、ＣＤ ＴＥＸＴ、Ｍｉｘｅｄ ＣＤ、Ｅｎｈａｎｃｅｄ ＣＤ、ビデオＣＤ、ブータブルＣＤ等のフォーマットが選択できるようになっていてもよい。また記録方式も、ディスクアットワンス、トラックアットワンス、セッションアットワンス、パケットライトなどの方式が指定できるようになっていてもよい。また、情報の書き込み、削除を不可とする領域のフォーマットは、ＣＤ−ＲＯＭのフォーマットの他、情報の読み出しのみを予定したものであれば、ＤＶＤ−ＲＯＭ用のフォーマット、その他今後出現するフォーマットでもよい。
【０１０２】
また、ユーザが設定するドライブをＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号として設定したが、仮想ＨＵＢ（ＨＵＢエミュレーションソフト）のデバイス番号に対応させることができることはいうまでもない。
【図面の簡単な説明】
【０１０３】
【図１】実施例のＵＳＢストレージデバイスの構成を示すブロック図である。
【図２】メモリ領域の構成例を表す図である。
【図３】（ａ）はメディア変更の操作画面例（第１ステップ）である。（ｂ）は第１ステップ終了時の管理領域のメディア管理テーブルの内容である。
【図４】（ａ）はメディア変更の操作画面例（第２ステップ）である。（ｂ）は第２ステップ終了時の管理領域のメディア管理テーブルの内容である。
【図５】（ａ）はメディア変更の操作画面例（第４ステップ）である。（ｂ）は第４ステップ終了時の管理領域のメディア管理テーブルとドライブ管理テーブルの内容である。
【図６】メディア変更終了時にフラッシュメモリの各領域に指定されたファイルが書き込まれる様子を模式的に表した図である。
【図７】メディア変更終了後のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。
【図８】本発明ＵＳＢストレージデバイスの起動処理のフローチャートである。
【図９】本発明ＵＳＢストレージデバイスのアクセス処理のフローチャートである。
【図１０】メディア変更ツールの操作画面例である。
【図１１】（ａ）はメディア変更前のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。（ｂ）はメディア変更後のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。
【図１２】（ａ）はメディア変更を行うシステムの第１の構成例である。（ｂ）はメディア変更を行うシステムの第２の構成例２である。
【図１３】メディア変更方法例１のフローチャートである。
【図１４】メディア変更方法例２のフローチャートである。
【図１５】ドライブ変更ツールの操作画面例である。
【図１６】（ａ）はドライブ変更前のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。（ｂ）はドライブ変更後のフラッシュメモリ内部の各領域とＯＳの認識状態の対応関係を表した図である。
【符号の説明】
【０１０４】
１１…ホスト、１２…オペレーションシステム、１３…ディスクドライブドライバ、１４…ＵＳＢマスストレージクラスドライバ、１５…ＵＳＢホストコントローラ、１６…ＵＳＢバス、１７…ＵＳＢストレージデバイス、１９ａ…ＵＳＢインターフェース、１９ｂ…シリアルパラレル変換部、１９ｃ…パケット生成分解部、１９ｄ…ＵＳＢバスパワー制御部、２１…コントローラ、２１ａ…メモリ制御部、２１ｂ…ＵＳＢインターフェース制御部、２１ｃ…メモリ情報記憶部、２１ｄ…ＬＥＤ制御部、２３…ＬＥＤ、２５…フラッシュメモリ
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図２】
2007048073.tif 000020
【図４】
2007048073.tif 000021
【図５】
2007048073.tif 000022
【図６】
2007048073.tif 000023
【図７】
2007048073.tif 000024
【図８】
2007048073.tif 000025
【図９】
2007048073.tif 000026
【図１０】
2007048073.tif 000027
【図１１】
2007048073.tif 000028
【図１５】
2007048073.tif 000029
【図１６】
2007048073.tif 000030
【図１】
2007048073.tif 000031
【図３】
2007048073.tif 000032
【図１２】
2007048073.tif 000033
【図１３】
2007048073.tif 000034
【図１４】
2007048073.tif 000035