JP4276219B2 - Usbストレージデバイスの内部状態設定方法 - Google Patents

Usbストレージデバイスの内部状態設定方法 Download PDF

Info

Publication number
JP4276219B2
JP4276219B2 JP2005232311A JP2005232311A JP4276219B2 JP 4276219 B2 JP4276219 B2 JP 4276219B2 JP 2005232311 A JP2005232311 A JP 2005232311A JP 2005232311 A JP2005232311 A JP 2005232311A JP 4276219 B2 JP4276219 B2 JP 4276219B2
Authority
JP
Japan
Prior art keywords
drive
area
media
host
storage device
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.)
Active
Application number
JP2005232311A
Other languages
English (en)
Other versions
JP2007048073A (ja
Inventor
海平 伊藤
良雄 新見
Original Assignee
株式会社ハギワラシスコム
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社ハギワラシスコム filed Critical 株式会社ハギワラシスコム
Priority to JP2005232311A priority Critical patent/JP4276219B2/ja
Publication of JP2007048073A publication Critical patent/JP2007048073A/ja
Application granted granted Critical
Publication of JP4276219B2 publication Critical patent/JP4276219B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、半導体メモリを用いて情報を記憶するUSBストレージデバイスに関する。
本出願人は、先に、フラッシュメモリの領域を2つに分けて定義し、一方を情報の読み出しのみ可能なCD−ROMユニットとして、もう一方を情報の読み出し、書き込み、削除の可能なディスクユニットとして外部装置に認識させるUSBストレージデバイスについて出願している(特開平2004−54896号/以下「先願1」)。
先願1の実施例に開示された発明は、区分された領域の数とOSが認識するドライブ(デバイス)の数が同じで、OSからすべての領域が認識されてしまう。従って、OSから認識し得る領域を可変にすること、例えば、ユーザAには領域1に入っているアプリケーションソフトのみ使用可能にし、ユーザBには領域2に入っているアプリケーションソフトのみ使用可能にするなど自由度のある使用ができない(問題点1)。
また、USBストレージデバイスを外部装置に装着した際、CD−ROMユニットに格納されているアプリケーションプログラムをオートランさせることができ便利であるが、ディスク領域に即アクセスしたい場合には却って不便でもある(問題点2)。
特開平2004−54896
本発明は、上記問題点に鑑みてなされたものであり、その目的とするところは、より利便性のあるUSBストレージデバイスを提供することにある。
上記課題を解決するため本願では、請求項1乃至3の構成を提供する該構成による作用、効果は、以下の、発明を実施するための最良の形態で自ずと明らかとなろう。
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
[実施例1]
図1は、実施例1のUSBストレージデバイス17(特許請求の範囲に記載のUSBストレージデバイスに相当する)とホスト11(特許請求の範囲に記載のホストシステムに相当する)の概略構成を示すブロック図である。
(1)ホスト11
ホスト11は、一般に広く知られたパーソナルコンピュータであり、ソフトウエアとして、オペレーションシステム12、ディスクドライブドライバ13及びUSBマスストレージクラスドライバ14を備え、ハードウェアとしてUSBホストコントローラ15を少なくとも備える。
オペレーションシステム12は、ホスト11を統括的に制御するソフトウエアであり、例えばWindows(登録商標)やMac
OS X(登録商標)等ある。ディスクドライブドライバ13は、オペレーションシステム12から受け取った記憶装置へのアクセス指令等をSCSIコマンド変換してUSBマスストレージクラスドライバ14に渡すとともに、USBマスストレージクラスドライバ14から指令等を受け取りオペレーションシステム12に渡す。USBマスストレージクラスドライバ14は、USBホストコントローラ15を制御する。USBホストコントローラ15は、図示しないUSBコネクタを備え、他の装置のUSBコネクタとケーブルによって接続されることによって、USB規格に基づいた通信を行うことができるようになっている。なお、ホスト11は、USB規格に基づいた通信を行うことができる機器であれば、パーソナルコンピュータに限らずPDAや携帯電話等であってもよい。
(2)USBストレージデバイス17
USBストレージデバイス17は、USBインターフェース19とコントローラ21とLED23とフラッシュメモリ25とを備える。
(2−1)USBインターフェース19
USBインターフェース19は、USBバス16を介してホスト11と通信を行う機能を担う。USBインターフェース19は、パケット送受信部19aとシリアルパラレル変換部19bとパケット生成分解部19cとUSBバスパワー制御部19dとを備える。パケット送受信部19aは、図示しないUSBコネクタと接続され、USB規格に基づいたパケットを送受信する。シリアルパラレル変換部19bは、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解部19cは、ホスト11と通信を行うためのパケットの生成及びパケットを分解してデータの取り出しを行う。USBバスパワー制御部19dは、ホスト11から供給される電力の管理及びUSBストレージデバイス17の各部位への電力の配分を行う。
(2−2)フラッシュメモリ25
フラッシュメモリ25は、記憶保持動作が不要な半導体メモリであり、データを記憶することができる。記憶したデータは、後述するメモリ制御部21aによって読み出すことが可能である。また、メモリ制御部21aによって書き込み及び削除をすることもできる。
本USBストレージデバイス17は、潜在的にユーザが使用可能な複数の領域を有する。図2はその領域例を表している。ここでは、CD−ROM用のフォーマット、例えば、ISO9660でフォーマットされて構成されている3つの領域と、FATフォーマットでフォーマットされて構成されている1領域の計4領域に区分されて構成されている様子が示されている。FATフォーマットで構成される領域は2以上でもよい。このフラッシュメモリ25には、さらにこれら領域等に関する情報(アドレスや容量などに関する情報)をシステムが管理するための管理領域を有する。
(2−3)コントローラ21
コントローラ21は、メモリ制御部21aとUSBインターフェース制御部21bとメモリ情報記憶部21cとLED制御部21dとを備える。メモリ制御部21aは、フラッシュメモリ25に対してデータの読み出し、書き込み及び削除を実行する。USBインターフェース制御部21bは、前述したUSBインターフェース19の各部を制御する。メモリ情報記憶部21cは、「メディア管理テーブル」と「ドライブ管理テーブル」を記憶する。これについては後述する。LED制御部21dは、フラッシュメモリ25が、ホスト11より書き込み、読み出しや削除されているとき、本デバイスに設けられたLED23を点灯制御するものである。
(2−4)LED23
図1に戻り、LED23は、フラッシュメモリ25に対して情報の読み出し、書き込み及び削除が実行されている際に点灯する発光体である。フラッシュメモリ25に対して情報の読み出し、書き込み及び削除が実行中であることを利用者に示し、これらの実行中にホスト11からUSBストレージデバイス17が抜かれないようにするためのものである。
(a)初期設定
初期設定は、USBストレージデバイス17の製造者や販売者(「特定ユーザ」)、若しくはエンドユーザ(以下、前記特定ユーザとエンドユーザを併せて単に「ユーザ」と言う)がホスト11上で初期設定ソフトウェアを実行した際に、USBストレージデバイス17のコントローラ21でプログラムに基づいて実行される。
以下、初期設定の手順を、ホスト11で実行される初期設定ソフトウエアの操作画面例を用いて説明する。
(手順1)
図3(a)は、メディア数を設定する操作画面例である。ここで、「メディア数」とは、フラッシュメモリ25において、複数に区分され、潜在的にユーザが使用可能な領域数をいう。「メディア」と言う表現を用いているが、これは、後述するドライブ設定との関係で各領域が所定のフォーマットで構成され、以降、該領域が、OSから所定の記録媒体即ちメディアとして認識されることになるからである。
ここでは、メディア数を4と設定した状態を示している。メディア数を4と設定したことにより、フラッシュメモリ25にはユーザデータ領域として、4つに区分された領域が確保されることになる。そしてフラッシュメモリ25に当該4つの領域の情報をシステムが管理するための管理領域が設定される。図3(b)は、管理領域に設定されるテーブル例(メディア管理テーブル)を表している。以下の本実施例において、メディア1として定義される領域を領域1、メディア2として定義される領域を領域2、メディア3として定義される領域を領域3、メディア4として定義される領域を領域4と呼ぶ。また本明細書において、別段の意味を有しない限り、単に「領域」というときは、上記フラッシュメモリ25の区分された領域をいう。
この状態では、メディア数が4という情報のみ記録される。各領域のメディア種別(フォーマット)や、書き込まれるファイルの情報が指定されていないため、それらの情報は書き込まれていない。画面で、「次へ」のボタンをクリックすると、次の手順の操作画面に移行する。
(手順2)
次に、前手順で確立した4つの各領域のメディア設定、即ち、各領域をOSからいかなる種類のメディアとして認識させるかの設定(具体的には各領域を構成するフォーマットの設定)、及び各領域に格納すべきファイルのファイル名を選択する。
図4(a)は操作画面例であり、「選択」ボタンをクリックするとプルダウン式に、設定されるべきメディア種類リストが表示され、そのうちの一つを選択するようになっている。ここでは、メディア1乃至メディア3はCD−ROMメディアとして構成されるべきこと、即ち情報の読み出しのみ可能なCD−ROM用フォーマットで構成されるべきことが指定されており、メディア4はリムーバブルメディア(リムーバブルハードディスクのメディア)として構成すること、即ち、情報の読み出し、書き込み、削除のいずれも可能なディスク用のフォーマットで構成されるべきことが指定されている。
次に、各領域に格納すべきファイル名を選択する。まず「参照」ボタンをクリックすると、ホスト11のドライブごとに格納されているファイル名のリストがプルダウン式に表示され、そのうちの一つを選択するようになっている。画面例では、メディア1(領域1)に対してはホスト11のCドライブに存在するsample.isoという名のファイルを、メディア2(領域2)に対しては同じくホスト11のCドライブのtest.isoという名のファイルを、メディア3(領域3)に対しては、同じくCドライブのtest1.isoという名のファイルを、又、メディア4(領域4)に対しては、同じくDドライブのtest2.binという名のファイルをそれぞれ書き込むべきことが指定されている。
全領域に対してメディア種別(フォーマット)及び格納すべきファイル名が選択されると、管理領域のメディア管理テーブルには図4(b)に示すように各領域に関する情報がコントローラ21により書き込まれる。図では、メディア1の領域は先頭アドレス(論理ブロックアドレス)が0x0000、Lengthが20480byte、メディア種類がCD−ROM、メディア2の領域は先頭アドレスが0x0500、Lengthが20480byte、メディア種類がCD−ROM、メディア3の領域は先頭アドレスが0x0A00、Lengthが20480byte、メディア種類がCD−ROM、メディア4の領域は先頭アドレスが0x0F00、Lengthが5120byte、メディア種類がリムーバブルディスクとして設定されたことを示している。
本例では、各領域の容量(先頭アドレス、Length)は、前記格納指定されたファイルの容量に基づき、コントローラ21が自動的に設定している。この段階で、各領域に指定されたファイルを書き込むこともできるが、各手順において「キャンセル」ボタンで再設定処理がなされることもあるので、後述するように、手順4の終了時に一斉に書き込みすることが好ましい。

(手順3)
次に、ドライブ数を設定する。ここでドライブ数とは、当該USBストレージデバイス17がOSから認識されるドライブの数を意味する。ここで付言すると、手順1において領域は4つに区分されているため、OSに対しては潜在的には最大4つのドライブとして認識させることができるが、ここではドライブ数を3と設定するものとする(図示せず)。そして管理領域には、前記メディア管理テーブルの他に、ドライブ管理テーブルが新たに設定される(後述する図5(b)参照)。
このとき、ドライブ管理テーブルのドライブ1には、ホスト11のUSBマスストレージクラスドライバのSCSIコマンドセットに定義された論理ユニット番号「00」が、ドライブ2には論理ユニット番号「01」が、ドライブ3には論理ユニット番号「10」がそれぞれ割り当てられている。よって、ドライブ数は、論理ユニット数に等しい。ドライブ数が4と設定された場合は、ドライブ4には論理ユニット番号「11」が割り当てられる。尚、図5(b)において、「LUN」とは論理ユニット番号(Logical Unit Number)をいう。
この状態では、ドライブ数が3と指定されているにすぎないため、ドライブ管理テーブルにはドライブ数が3とだけ記録され、その他の具体的な情報は書き込まれない。
(手順4)
次にドライブ設定手順に移行する。ここでいうドライブとは、上記の通り、USBストレージデバイス17がOSから認識されるドライブをいう。これを図5(a)の操作画面例を用いて説明する。ここでは手順3でドライブ数を3と設定していることから、3つの各ドライブをOSにいかなる種類のドライブ(本例ではCD−ROMドライブかリムーバブルドライブ)として認識させるかを先ず設定し、その上で、その設定されたドライブに適合するフォーマットで構成された領域(手順2で既に決定しているメディア即ち領域)のどれを対応付けるかを選択するものである。
ここでは、ドライブ1とドライブ2をCD−ROMドライブとして認識させること、ドライブ3をリムバーブルドライブとして設定した様子が示されている。
次に、各ドライブにマウントされるべきメディアの選択(即ち、各ドライブの論理ユニット番号に対応付けるフラッシュメモリ25の領域)を、手順2において設定したメディア番号(領域番号)の指定により行う。図5(a)の例では、ドライブ1にはメディア1をマウントすること、即ち、論ユニット番号「00」に領域1を対応付けること、ドライブ2にはメディア2をマウントすること、即ち、論理ユニット番号「01」に領域2を対応付けること、ドライブ3にはメディア4をマウントすること、即ち、論理ユニット番号「01」に領域4をそれぞれ対応付けることが選択されている。
そして、「デバイスへ書き込み」ボタンをクリックすると、メディア1乃至4(領域1乃至4)に対し、先の手順2において選択されたファイルが書き込まれる(図6参照)。
このとき、管理領域の「ドライブ管理テーブル」に、設定された状態が確定値として書き込まれる(図5(b)参照)。具体的には、各ドライブごとにマウントしているメディア(そのドライブの論理ユニット番号に対応つけられたメモリの領域)、ドライブの種類(INQUIRY情報)などが書き込まれる。
尚、管理領域に書き込まれた「メディア管理テーブル」と「ドライブ管理テーブル」の内容は、コントローラ21のメモリ情報記憶部21cにも同様に書き込まれて保存される。このとき、ドライブ管理テーブルに記録されている情報は、ホスト11のUSBマスストレージクラスドライバのSCSIコマンドセットに定義された論理ユニット番号「00」「01」「10」に対応する領域として、領域1、領域2、領域4をUSBマスストレージクラスドライバにそれぞれ認識させるための情報となる。これにより、USBマスストレージクラスドライバは、本USBストレージデバイス17を3つの論理ユニットを有するSCSIデバイスとして認識し、OSは3つのドライブとして認識する。
尚、後述するメディア変更、ドライブ変更等により管理領域の内容が変更されると、メモリ情報記憶部21cの内容も同様に変更され、それによりUSBマスストレージクラスドライバは、該更新された情報に基づき本USBストレージデバイス17を認識し、OSもそれに従ったドライブとして認識する。
図7は、前記初期設定後のフラッシュメモリ25内部の各領域とOSの認識状態の対応関係を表したものである。図7において、OSは、メディア1がマウントされたドライブ1をGドライブ、メディア2をマウントしたドライブ2をEドライブとして、メディア4をマウントしたドライブ3をFドライブとして認定したことを表している。GドライブはCD-ROMドライブ1であり、EドライブはCD−ROMドライブ2であり、Fドライブはリムーバブルドライブ1である。
ホスト11のモニターには、ドライブ番号(E:、G:、F:)とドライブの種類を模式的に表したアイコンが表示される。以下、OSが本USBストレージデバイス17を認識するまでの起動処理について説明する。尚初期設定後起動する際は、一旦デバイスをホスト11から外し、再度装着する必要がある。
(b)起動処理
前記初期設定されたUSBストレージデバイス17がホスト11に接続された際に、USBストレージデバイス17のコントローラ21でプログラムに基づいて実行される起動処理について図8のフローチャートを用いて説明する。この起動処理は、USBストレージデバイス17がホスト11に接続されることにより、USBバスパワー制御部19dに電力が供給され、さらにホスト11側でエニュメレーション処理が実行されると開始される。
起動処理を開始すると、ホスト11からの指令に応じて、ディスクリプタと呼ばれるデバイス情報(デフォルトパイプの最大パケットサイズ等)をホスト11に送信する(S110)。
次に、ホスト11から指令に応じて、USBストレージデバイス17のアドレスを設定する(S115)。以降、このアドレス宛のフレームのみを当該USBストレージデバイス17は取得する。
次に、より詳細なデバイス情報をホスト11に送信する(S120)。このデバイス情報としては、エンドポイントに関する情報、クラス、サブクラス、プロトコル等である。
その結果、ホスト11ではUSBマスストレージクラスドライバ14が起動され、図示しないアプリケーションソフトウェアからディスクドライブドライバ13とUSBマスストレージクラスドライバ14とを介してUSBホストコントローラ15を制御するアクセスパスができる。なお、このディスクドライブドライバ13は、MS−DOS(登録商標)時代から、受け継がれているドライバであるため永年の技術が積み重ねられており、安定的な動作が得られるドライバである。
続いて、USBマスストレージクラスドライバ14が、Get Max
Logical Unit Numberコマンドによって論理ユニット番号数を要求するため、USBストレージデバイス17は、メモリ情報記憶部21cから論理ユニット番号数が3であるという情報を読み出して、ホスト11に送信する。
そしてさらに、ディスクドライブドライバ13が、論理ユニット番号ごとにINQUIRYコマンドを発行するため、USBストレージデバイス17は、都度、メモリ情報記憶部21cから、当該論理ユニットのデバイスタイプコード、フォーマット(ドライブ1乃至3にマウントされたメディアのフォーマット)、その他の情報を読み出して、ホスト11に送信する。これらの結果ホスト11は、USBストレージデバイス17を、2つのCD−ROMドライブ(より正確にはCD−ROM用フォーマットから構成される論理ユニット番号「00」及び「01」の2領域)と、1つのリムーバブルドライブ(正確にはディスク用フォーマットで構成された論理ユニット番号「10」の領域)とを有するデバイスと認識する。このときホスト11は各ドライブがマウントしているメディア(各論理ユニット番号に対応付けられている領域)の容量に関する情報(先頭アドレスとLengthの情報)を併せて取得する。
ホスト11との通信が確立されると、フラッシュメモリ25を動作可能にし(S125)、起動処理を終了する。
なお、Windows(登録商標)には、記憶媒体挿入時や記憶媒体接続時にその記憶媒体のルートディレクトリに記憶されたautorun.infという名称のファイル内で指定されたアプリケーションソフトウェアを実行する機能を有しているため、フラッシュメモリ25のCD−ROM領域にそのファイルを記憶させておけば、本USBストレージデバイス17がホスト11に装着された際に特定のソフトウエアを自動実行させることができる。
このようになっていれば、利用者がホスト11の操作に不慣れであっても本USBストレージデバイス17を装着するだけで特定のアプリケーションソフトウェアが自動実行される。
(c)アクセス処理
ホスト11において動作する種々のソフトウエアが、USBストレージデバイス17に対してデータの書き込み、読み出し、削除の実行指令を送ったときに、USBストレージデバイス17のコントローラ21でプログラムに基づいて実行されるアクセス処理について図9のフローチャートを用いて説明する。
まず、S210では、ホスト11から受信した指令の種類によって分岐する。書き込み又は削除の指令であった場合はS215に進み、そうでない場合、すなわち読み出しの指令であった場合はS250に進む。
S215では、書き込み又は削除の指令が論理ユニット番号「10」に対する指令であるか否かによって分岐する。つまり、書き込み及び削除が実行可能な論理ユニットに対するものであるか否かによって分岐する。論理ユニット番号「00」若しくは「01」に対するものであればS245に進み、そうでない場合すなわち論理ユニット番号「10」に対する指令であればS220に進む。
S220では、LED23を点灯させる。続くS225では、ホスト11から指定されたフラッシュメモリ25のブロックにデータを書き込む。またはホスト11から指定されたフラッシュメモリ25のブロックのデータを削除する。なお書き込み又は削除を実行する際は、メモリー情報記憶部21cに記憶されているフラッシュメモリ25の各メディア(領域)毎の物理ブロック番号論理ブロック番号変換テーブル(図示せず)を用い、ホスト11から指定されたブロック番号を論理ブロック番号37としてその論理ブロック番号37に該当する物理ブロック番号39によって特定されたフラッシュメモリ25のブロックに対してデータの書き込み又は削除を実行する。尚ここでいう番号とはアドレスのことである。
続くS230では、LED23を消灯させる。そして、S235ではS225の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらS240に進む。
S240では、S225の処理が正常に完了しなかった旨をホスト11に通知してアクセス処理を終了する。
一方、S215で、書き込み又は削除の指令が論理ユニット番号「00」若しくは「01」に対する指令であると判定された際に進むS245では、許可されていない指令としてホスト11にエラー発生の旨を通知する。
また、S210で読み出しの指令であったと判定されて進むS250では、LED23を点灯させ、続くS255ではホスト11から指定されたフラッシュメモリ25のブロックのデータを読み込み、読み込んだデータをホスト11に送る。なお、データを読み出す際は、メモリ情報記憶部21cに記憶されているフラッシュメモリ25の各メディア(領域)毎の物理ブロック番号論理ブロック番号変換テーブルを用い、ホスト11から指定されたブロック番号を論理ブロック番号37としてその論理ブロック番号37に該当する物理ブロック番号39によって特定されたフラッシュメモリ25のブロックからデータを読み出す。
続くS260では、LED23を消灯させる。そして、S265ではS255の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらS270に進む。
S270では、S255の処理が正常に完了しなかった旨をホスト11に通知してアクセス処理を終了する。
このようにアクセス処理が実行されるため、故意にあるいは誤って消去されると問題のある情報(ソフトウェア、データ)を論理ユニット番号「00」若しくは「01」の領域に記憶させておけば、そのソフトウエアが消去されることを未然に防止できる。尚、上記フローにおいて、書き込み又は削除指令がなされたときに、コントローラ21は、そのコマンドが対象としている論理ユニット番号を根拠に書き込み又は削除指令を実行するか判断している。これはその判断プログラム(サブルーチンプログラム)が、論理ユニット番号に対応付けられている領域のフォーマット(書き込み及び削除が許容されるか)を基に構成されているという事実に基づくものである。
本願USBストレージデバイス17は、後述するメディア変更、ドライブ変更が予定されたものであり、これら変更に伴い、論理ユニット番号に対応付けられる領域のフォーマットが変更される場合がある。
そのときは、該変更に伴い、前記判断用サブルーチンプログラムが変更される。そして、爾後のアクセス処理においては変更されたプログラムに基づき、書き込み、削除の是非の判断がなされる。これにより、情報の読み出し、書き込み、又は削除が有効に実行されるが、このとき、さらに慎重を期すべく、その論理ユニットに対応する領域のフォーマット情報を確認し(書き込み、削除が許容された領域であるかを確認)、当該処理の判断を実行するようにしてもよい。
このようにすれば、消去されると問題のあるソフトウェア、データなどをより安全に保護することができる。なおここでいうフォーマット情報は、その領域が書き込み、削除が許容されたものであるかの判断基準となるものであればよく、その領域を構成する具体的なフォーマットの情報の他、INQUIRY情報中のデバイスタイプコード等、一義的にそのフォーマットを判断できるもの(等価なもの)であればどのような情報でもよく、それらを含む概念として定義される。
(d)メディア変更
次に本発明の特徴であるメディア(領域)変更について詳述する。メディア変更とは、各ドライブにマウントするメディアの入れ替えをいう。具体的には、論理ユニット番号に対応付けする領域の変更である。
(メディア変更方法1)
次にメディア変更を行う方法例1について説明する。本例は、メディア変更ツール(ソフトウエア)をホスト11側にインストールして行うものである。図12(a)に示すように、ホスト11に本USBストレージデバイス17を装着した状態で、前記変更ツールからデバイスに対して変更情報を送り、これを基にコントローラ21がその設定を変更するものである。
図10はメディア(領域)変更ツールの操作画面例である。
図10の左側には、現状の設定内容がユーザの確認のために表示されている。図10の右側は、メディア変更を設定する画面である。画面例では、ドライブ2(CD−ROMドライブ)にマウントするメディアをメディア2からメディア3に変更するとともに、さらに、ドライブ3(リムーバブルドライブ)にマウントしていたメディア4をアンマウントすることが選択されている。図11の「メディア変更」ボタンをクリックすると、該変更が確定する。
以下、本方法例1によるメディア変更の手順(デバイス内部でコントローラ21が実行する処理)について、図13のフローチャートを用いて説明する。尚、OSから見たドライブと該ドライブにマウントされているメディアの関係は、変更前は図11(a)の状態である。
まずSCSIベンダーコマンドにて、ホスト11よりメディア入れ替えをデバイスに通知する。このコマンドには、メディア変更を表すオペレーションコードとともに、どのドライブに対するものであるか、どのメディアに変更するかの情報が含まれる。デバイスはこのコマンドを受けると、このコマンドを解読しメディア変更コマンドであることを認識する(S310)。
そして指示されたメディア変更を実行するために、メディア入れ替えを指示されたドライブにマウントされているメディアをアンマウントする(S320)。即ち、ドライブ2(CD−ROMドライブ2)にマウントしているメディア2をアンマウントするとともに、ドライブ3(リムーバブルディスク1)にマウントされているメディア4をアンマウントする。
次にホスト11はデバイスに対し、一定時間ごとに各ドライブにどのメディアがマウントされているか確認するコマンドを発行している(Test Utility Readyコマンド)。デバイスはこれを受けて、ドライブ2(CD−ROMドライブ2)及びドライブ3(リムーバブルディスク1)にはマウントしているメディアがないことをホスト11に通知する(S330)。
ホスト11はドライブ2とドライブ3にメディアを入れることをコマンドで要求する(Request Senseコマンド)。デバイスはこのコマンドを受領すると、先のコマンドで指示されたメディアの変更を実行する(S340)。即ち、ドライブ2(CD−ROMドライブ2)にメディア3をマウントする。ドライブ3(リムーバブルディスク1)には何もマウントしない。ドライブ2のマウントが終了したらこれをホスト11に通知する(S350)。
これによりホスト11はドライブ3に新たにメディアがマウントされたことを検知し、ドライブ2にRead Capacity/Readコマンドを発行する。デバイスはこのコマンドを受けて、入れ替えたメディアの情報をホスト11に通知する(S360)。そして、メモリ情報記憶部21cにおいて記憶している内容を、変更された内容に基づき更新する(S370)。これでメディア変更処理が完了する。
図11(b)は、変更後のフラッシュメモリ25内部の各領域とOSの認識状態の対応関係を表している。図示するように、CD−ROMドライブ2からメディア2がアンマウントされ、代わりにメディア3がマウントされているので、CD−ROMドライブ2はメディア2との対応関係が解除され新たにメディア3との対応関係が形成されている。さらにリムーバブルドライブ1からメディア4がアンマウントされたので、リムーバブルドライブ1とメディア4の対応関係が解除されている。しかし、リムーバブルドライブ1自体の設定は解除されていないので(即ち論理ユニット番号「10」の設定はそのまま維持されている)、OSは以前同様にリムーバブルドライブ1を認識し、これによりモニターには当該リムーバブルドライブ1を表すアイコンが表示される。但し、マウントしていたメディアの関係は解除されたので、アイコンをクリックしても、何のファイル情報も表示されない。即ちメディア変更後のリムーバブルドライブ1は、メディアのマウントされていない空のドライブとして認識される。
(メディア変更方法例2)
次にメディア変更を行う方法例2について説明する。本方法例2は、デバイスに設けられた手動式スイッチ(外部スイッチ)によりメディアの入れ替えを行うものである。この変更を実行するための構成を図12(b)に示す。
図12(b)に示すように、状態1と状態2に、スライド式スイッチにより切り替え可能になっている。図12(b)において、スイッチが状態1のときは、図11(a)に図示していると同じ設定状態である。これを状態2に変更すると、上記方法例1の場合同様、図11(b)に示す状態に変更されるものとする。図12(b)に示すように、ホスト11に本USBストレージデバイス17を装着した状態で、外部スイッチからデバイスに対してメディア変更を実行すべきことを通知し、これを契機にコントローラ21がその設定を変更するものである。外部スイッチはデバイスのコントローラ21にGPIOなどで接続することができる。
以下、本方法例2によるメディア変更の手順(デバイス内部でコントローラ21が実行する処理)について、図14のフローチャートを用いて説明する。
スイッチが状態2に変更されると、このスイッチの切り替えに伴ってコントローラ21に切り替えを指示する信号が送信され、コントローラ21はスイッチの状態変更を認識する(S410)。するとコントローラ21は予め内蔵しているプログラムに基づき、ドライブ2(CD−ROMドライブ2)にマウントされているメディア2をアンマウントするとともに、ドライブ3(リムーバブルディスク1)にマウントされているメディア4をアンマウントする(S420)。
ホスト11はデバイスに対し、一定時間ごとに各ドライブに、どのメディアがマウントされているか確認するコマンドを発行している(Test Utility Readyコマンド)。デバイスはこれを受けて、ドライブ2とドライブ3にはマウントしているメディアがないことをホスト11に通知する(S430)。
続いてホスト11はデバイスに対し、ドライブ2(CD−ROMドライブ2)とドライブ3(リムーバブルディスク1)にメディアをマウントすることをコマンドで要求する(Request Senseコマンド)。これを受けデバイスは、ドライブ2(CD−ROMドライブ2)にメディア3をマウントする(S440)。ドライブ3(リムーバブルディスク1)には何もマウントしない。マウント処理が終了したらこれをホスト11に通知する(S450)。これによりホスト11は、ドライブ2(CD−ROMドライブ2)に新たにメディアがマウントされたことを検知する。
そしてホスト11は、ドライブ2(CD−ROMドライブ2)にRead Capacity/Readコマンドを発行する。デバイスはこれを受けて、入れ替えたメディアの情報をホスト11に通知する(S460)。そして、メモリ情報記憶部21cにおいて記憶している内容を、変更された内容に基づき更新する(S470)。以上でメディアの入れ替え処理が完了する。
スイッチが状態2から状態1に切り替わったときは、コントローラ21は内蔵している他のプログラムに基づき、スイッチが状態1のときに設定されているメディアマウント状態に復帰する手順を執る。尚、手動式の外部スイッチの変わりに、指紋認証、無線認証、又はFelica認証用の装置をスイッチング手段として用いてもよい。
(e)ドライブ変更
次に、本発明のさらに他の特徴であるドライブ変更について説明する。ドライブ変更とは、本USBストレージデバイス17がOSから認識されるドライブ数の変更やドライブの種類を変更することをいう。以下、ドライブ変更について図面を用いて説明する。
ドライブ変更は、メディア変更の場合同様、図12(a)図12(b)のシステム構成で実行できる。但し、図12(a)のシステム構成の場合は、専用のドライブ変更ツール(ソフトウエア)をホスト11にインストールして実行する。
(ドライブ変更方法1)
以下、ドライブ変更を行う方法例1について説明する。本例は、ドライブ変更ツール(ソフトウエア)をホスト11にインストールして行うものである。
図15はドライブ変更ツール(ソフトウエア)の操作画面例である。図15(a)において、現在設定されているドライブ数が3であることが、ユーザの確認のために表示されている。図15(a)では、このドライブ数を3から1に変更する様子を示している。
ドライブ数1を入力して、「次へ」ボタンをクリックすると、ドライブ数を1にすることが確定し、図15(b)の操作画面に移行する。新たに設定されたドライブ数が1であるから、ここではドライブ1のドライブ設定(ドライブの種類の選定)と、該ドライブ1へマウントするメディアの選択が入力項目となっている。
ドライブ設定において、「選択」ボタンをクリックすると、プルダウン式に、「CD−ROMドライブ」と「リムーバブルドライブ」という2つのメニューが表示される。画面上では、「CD−ROMドライブ」が選択されている。マウントメディア選択においては、「選択」ボタンをクリックすると、同じくプルダウン式に、「メディア1」、「メディア2」、「メディア3」がメニューとして表示される。「メディア4」がメニュー表示されないのは、メディア4はリムーバブルドライブ用のメディアだからである。
画面では、メディア1が選択されている。これは、変更前の状態のCD−ROMドライブ2とリムーバブルドライブ1が削除されたことに等しい。これに対し、CD−ROMドライブ1にマウントするメディアを、メディア2若しくはメディア3に選択してもよい。即ち、ドライブ変更とメディア変更を同時に行うことも可能である。こ本画面例の場合は、メディア変更を行ったCD−ROMドライブが一つだけ存在することになる。ここで、「ドライブ変更」ボタンをクリックすると、先の手順で設定したドライブ変更が確定する。
以下、本方法例1によるドライブ変更の手順について説明する。まずSCSIベンダーコマンドにて、ホスト11よりドライブ変更をデバイスに通知する。
このコマンドには、ドライブ変更を表すオペレーションコードとともに、当該変更がドライブ数の増加かであるか削減であるか、削減であればどのドライブを削除するかの情報が含まれている。本例の場合は、リムーバブルドライブ1を削除せよという内容のコマンドである。このコマンドを受けた後、これを解釈し、リムーバブルディスク1を削除せよという内容のコマンドであることを認識する。
そして、指示されたデバイス変更を実行するために、ドライブ数、即ち論理ユニット数を3から1へ変更する。すると、論理ユニット番号は、「00」のみになり、この論理ユニット番号とメディアの対応関係は変更されていないので、ドライブ2とドライブ3を削除するという内容を、メモリ情報記憶部21cにおいて更新する。これでデバイス内におけるデバイス数の変更処理は終了する。
尚、上記デバイス変更をホスト11に反映させるには、本デバイスをホスト11から一旦抜き取る必要がある。爾後ホスト11が本デバイスを再起動する際には、上述した起動処理に係るコマンドが発行されるが、上記更新された内容は、このコマンドに対する応答や、ホスト11がデバイスにアクセス(情報の読み出しや書き込み)するときに反映される。
図16は、ドライブ変更前と前記手順で変更した後における、フラッシュメモリ25内部の各領域とOSの認識状態の対応関係を表している。図16(a)は変更前、図16(b)は変更後のものである。変更前は、図11(a)と同一である。図16(b)では、ドライブ変更によってメディア1をマウントしているCD−ROMドライブ1のみがOSから認識されるようになったことを示している。即ち、ドライブ数変更により、CD−ROMドライブ2とリムーバブルドライブ1が解除されたため、CD−ROMドライブ2とリムーバブルドライブ1のアイコンがモニターから消失している。
(ドライブ変更方法2)
次にドライブ変更を行う方法例2について説明する。本方法例2は、図12(b)に示すような、デバイスに設けられた手動式スイッチ(外部スイッチ)によりデバイスの変更を行うものである。スイッチが状態1のときは、前述した図16(a)の場合と同じ設定状態であり、スイッチを2の状態に変更すると、図16(b)の状態に変更されるものとする。
以下、本方法例2によるデバイス変更の手順について、外部スイッチが、状態1から状態2に変更される場合について説明する。
スイッチが状態2に切り替えられると、状態2に切り替えられたことを示す信号がコントローラ21に送信される。するとコントローラ21は、該コントローラ21が予め内蔵しているドライブ設定変更プログラムに基づき、論理ユニット数を3から1に変更する。このプログラムには、メディア2をマウントしたCD−ROMドライブ2(ドライブ2)とメディア4をマウントしたリムーバブルドライブ1(ドライブ3)を削除する手順が含まれている。この処理により、メモリ情報記憶部21cのドライブ管理テーブル中、ドライブ2(論理ユニット番号「01」)とドライブ3(論理ユニット番号「10」)を削除する。
これでデバイス内におけるデバイス数の変更処理が終了する。尚、上記デバイス変更をホスト11に反映させるには、本デバイスをホスト11から一旦抜き取る必要がある。爾後ホスト11が本デバイスを再起動する際には、上述した起動処理に係るコマンドが発行されるが、上記更新された内容は、このコマンドに対する応答や、ホスト11がデバイスにアクセス(情報の読み出しや書き込み)するときに反映される。
スイッチが状態2から状態1に切り替わったときは、内蔵する他のプログラムにより、元の状態に復帰する手順が執られる。
(発明の効果)
上記の通り、本発明では、USBストレージデバイス17の記憶領域を複数の領域に区分し、OSに認識させるドライブ数、並びに、該ドライブに前記領域のいずれを対応付けするかをユーザが選択可能に構成したので、区分された領域の数に対してOSに認識させるライブの数を可変にできる。また、OSに認識させ得る領域を可変にすることができ、例えば、ユーザAには領域1に入っているアプリケーションソフトのみ使用可能にし、ユーザBには領域2に入っているアプリケーションソフトのみ使用可能にするなど、より自由度のあるデバイスを提供できる。
また、USBストレージデバイス17を外部装置に装着した際、オートランするCD−ROMドライブの設定を解除し(OSから認識できないようにする)、ディスク領域に即アクセスすることを可能にするなど、より利便性のあるデバイスを提供できる。
(変形例)
また、実施例における操作画面51例で各メディア(領域)に設定するCD−ROMフォーマットは、CDイメージデータのフォーマットとしてISO9660又はHFSの何れかで設定できるが、さらに、Audio
CD、CD TEXT、Mixed CD、Enhanced CD、ビデオCD、ブータブルCD等のフォーマットが選択できるようになっていてもよい。また記録方式も、ディスクアットワンス、トラックアットワンス、セッションアットワンス、パケットライトなどの方式が指定できるようになっていてもよい。また、情報の書き込み、削除を不可とする領域のフォーマットは、CD−ROMのフォーマットの他、情報の読み出しのみを予定したものであれば、DVD−ROM用のフォーマット、その他今後出現するフォーマットでもよい。
また、ユーザが設定するドライブをUSBマスストレージクラスドライバのSCSIコマンドセットに定義された論理ユニット番号として設定したが、仮想HUB(HUBエミュレーションソフト)のデバイス番号に対応させることができることはいうまでもない。
実施例のUSBストレージデバイスの構成を示すブロック図である。 メモリ領域の構成例を表す図である。 (a)はメディア変更の操作画面例(第1ステップ)である。(b)は第1ステップ終了時の管理領域のメディア管理テーブルの内容である。 (a)はメディア変更の操作画面例(第2ステップ)である。(b)は第2ステップ終了時の管理領域のメディア管理テーブルの内容である。 (a)はメディア変更の操作画面例(第4ステップ)である。(b)は第4ステップ終了時の管理領域のメディア管理テーブルとドライブ管理テーブルの内容である。 メディア変更終了時にフラッシュメモリの各領域に指定されたファイルが書き込まれる様子を模式的に表した図である。 メディア変更終了後のフラッシュメモリ内部の各領域とOSの認識状態の対応関係を表した図である。 本発明USBストレージデバイスの起動処理のフローチャートである。 本発明USBストレージデバイスのアクセス処理のフローチャートである。 メディア変更ツールの操作画面例である。 (a)はメディア変更前のフラッシュメモリ内部の各領域とOSの認識状態の対応関係を表した図である。(b)はメディア変更後のフラッシュメモリ内部の各領域とOSの認識状態の対応関係を表した図である。 (a)はメディア変更を行うシステムの第1の構成例である。(b)はメディア変更を行うシステムの第2の構成例2である。 メディア変更方法例1のフローチャートである。 メディア変更方法例2のフローチャートである。 ドライブ変更ツールの操作画面例である。 (a)はドライブ変更前のフラッシュメモリ内部の各領域とOSの認識状態の対応関係を表した図である。(b)はドライブ変更後のフラッシュメモリ内部の各領域とOSの認識状態の対応関係を表した図である。
符号の説明
11…ホスト、12…オペレーションシステム、13…ディスクドライブドライバ、14…USBマスストレージクラスドライバ、15…USBホストコントローラ、16…USBバス、17…USBストレージデバイス、19a…USBインターフェース、19b…シリアルパラレル変換部、19c…パケット生成分解部、19d…USBバスパワー制御部、21…コントローラ、21a…メモリ制御部、21b…USBインターフェース制御部、21c…メモリ情報記憶部、21d…LED制御部、23…LED、25…フラッシュメモリ







Claims (1)

  1. 以下のステップを順に踏んでなる、USBストレージデバイスのコントローラが実行するUSBストレージデバイスの内部状態設定方法;
    ステップ1:ユーザの指定した、USBストレージデバイスに設定すべき少なくとも2以上のユーザ使用領域を、領域番号を付して第1の管理テーブルに記録する。
    ステップ2:ユーザの指定に基づき各領域のフォーマット種別を第1の管理テーブルに記録するとともに、続いてユーザが指定した前記各領域に格納すべきファイルの容量に従って、前記各領域の容量(先頭アドレス、length)を自動的に設定して第1の管理テーブルに記録する。
    ステップ3:ユーザからUSBストレージデバイスがOSから認識されるべきドライブの数、ドライブの種類続いて各ドライブにマウントする領域番号の指定を、ステップ1及びステップ2で指定されている範囲内で受ける。
    ステップ4:ユーザの一括書き込み処理の指示に基づき、ステップ2で指定されたファイルを指定されている領域に実際に格納するとともにステップ3で受けた内容を確定値として第2の管理テーブルに記録する









JP2005232311A 2005-08-10 2005-08-10 Usbストレージデバイスの内部状態設定方法 Active JP4276219B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005232311A JP4276219B2 (ja) 2005-08-10 2005-08-10 Usbストレージデバイスの内部状態設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005232311A JP4276219B2 (ja) 2005-08-10 2005-08-10 Usbストレージデバイスの内部状態設定方法

Publications (2)

Publication Number Publication Date
JP2007048073A JP2007048073A (ja) 2007-02-22
JP4276219B2 true JP4276219B2 (ja) 2009-06-10

Family

ID=37850841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005232311A Active JP4276219B2 (ja) 2005-08-10 2005-08-10 Usbストレージデバイスの内部状態設定方法

Country Status (1)

Country Link
JP (1) JP4276219B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205673A (ja) * 2008-02-01 2009-09-10 Canon Electronics Inc 記憶装置、情報処理装置、端末装置およびコンピュータプログラム
JP2012058912A (ja) 2010-09-07 2012-03-22 Nec Corp 論理ユニット番号管理装置及び論理ユニット番号管理方法並びにそのプログラム

Also Published As

Publication number Publication date
JP2007048073A (ja) 2007-02-22

Similar Documents

Publication Publication Date Title
JP3513147B2 (ja) Usbストレージデバイス及びその制御装置
JP4544188B2 (ja) ドライブ構成設定プログラム
EP1770495A1 (en) Computer system having file management function, storage apparatus and file management method
JP4527348B2 (ja) インタフェース装置、インタフェース装置におけるファームウェアの更新方法、及びそのプログラム
JP2007334911A (ja) 情報処理装置、プログラムおよびダウンロード方法
JP2009512033A (ja) データ・バックアップ・アプリケーションのエミュレーションコンポーネント
JP2005141721A (ja) アプリケーションプログラムの自動インストールシステム、及びその方法
KR20040094334A (ko) 유니버설 시리얼 버스 기억장치 및 그 제어장치
EP1826663A2 (en) Apparatus, method and computer program for processing information
JP3914949B2 (ja) Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム
JP2006079634A5 (ja)
JP4276219B2 (ja) Usbストレージデバイスの内部状態設定方法
JP5314344B2 (ja) 外部記憶装置、起動プログラム切替方法および起動プログラム切替プログラム
JP4429187B2 (ja) 情報処理装置及び撮像装置、並びにシステム
JP3699717B2 (ja) Usbストレージデバイス及びその制御装置
JP2004171536A5 (ja)
TWI497414B (zh) 檔案執行方法及系統
KR20100050098A (ko) 영상처리장치 및 그 제어 방법
JP5129691B2 (ja) メモリカード、並びにメモリカード制御装置およびメモリカード制御方法
JP5164417B2 (ja) ゲームシステム
JP2004164632A (ja) Usbプリンタ及びusbスキャナ
KR100607970B1 (ko) Oa기기 및 그 드라이버 설치/재설치 방법
KR100496506B1 (ko) 표준 ums 통신을 이용한 usb 장치의 확장기능제공방법
JP5888963B2 (ja) 制御システム、制御方法およびプログラム
JP2005092392A (ja) パーソナルコンピュータのリカバリ方法およびusbディスクリプタ書き換えプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090223

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090305

R150 Certificate of patent or registration of utility model

Ref document number: 4276219

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140313

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250