JP2004171536A5 - - Google Patents

Download PDF

Info

Publication number
JP2004171536A5
JP2004171536A5 JP2003365044A JP2003365044A JP2004171536A5 JP 2004171536 A5 JP2004171536 A5 JP 2004171536A5 JP 2003365044 A JP2003365044 A JP 2003365044A JP 2003365044 A JP2003365044 A JP 2003365044A JP 2004171536 A5 JP2004171536 A5 JP 2004171536A5
Authority
JP
Japan
Prior art keywords
usb
information
area
storage device
class driver
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.)
Granted
Application number
JP2003365044A
Other languages
English (en)
Other versions
JP3699717B2 (ja
JP2004171536A (ja
Filing date
Publication date
Application filed filed Critical
Priority to JP2003365044A priority Critical patent/JP3699717B2/ja
Priority claimed from JP2003365044A external-priority patent/JP3699717B2/ja
Publication of JP2004171536A publication Critical patent/JP2004171536A/ja
Publication of JP2004171536A5 publication Critical patent/JP2004171536A5/ja
Application granted granted Critical
Publication of JP3699717B2 publication Critical patent/JP3699717B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

USBストレージデバイス及びその制御装置
本発明は、半導体メモリを用いて情報を記憶するUSBストレージデバイス及びその制御装置に関する。
近年、フラッシュメモリ等を内蔵し、USB(Universal Serial Bus)規格に基づいたインターフェースを備え、USBコネクタ部分を本体に一体化することによってコンパクトな形状を実現した着脱式のUSBストレージデバイスが広く知られている(例えば特許文献1)。このようなUSBストレージデバイスはコンパクトな形状であるため安価に製造でき、内部にコマーシャル等のソフトウェアを書き込んで企業の販促品として利用されている。
このようなUSBストレージデバイスの多くは、ソフトウェアが誤って消去されないようにするため、ライトプロテクトスイッチのような物理的なスイッチを設け、そのスイッチを切り替えることにより、読み込み、書き込み及び消去が可能な状態と読み込みのみが可能な状態とを切り替えられるようにしている。また、ROM等の元々書き換え不可能なメモリを使用して完全に書き込み及び消去をできないようにする場合もある。
しかし、このようにROM等を用いて使用者が情報を書き込めないようにしてしまうと、使用目的が限られてしまい使い勝手が悪かった。また、ソフトウェアの実行時に一時ファイルやデータ等が書き込めずに、ソフトウェア自体の機能が制限される場合もあった。一方、上述したライトプロテクトスイッチを用いる場合は、使用者が意識しない物理的要因によってライトプロテクトスイッチが解除されてしまい、意図しない書き込みや消去が実行される場合もあり得た。
そこで、このような問題を解決するために特許文献2に記載のような技術が考えられている。これは、書き換え可能型の可搬型メディアに対して、仮想的に書き換え禁止領域や読み込み禁止領域を設けてハイブリッドな構成にするものである。
特開2000−259275号公報 特開平10−289159号公報
ところが、特許文献2に記載の技術をUSBストレージデバイスに適用することを考えた場合、具体的な実現方法としては次のような方法が考えられる。
一つは、USBストレージデバイスに、内部的に2つのUSBストレージデバイス(うち一方のUSBストレージデバイスは削除及び書き込みを制限)とそれらを接続したハブとを備えることにより実現する方法である。しかし、このようなUSBストレージデバイスは、内部に実質的に2つのUSBストレージデバイスを備えるため、構成が複雑になるといった問題があった。また、ホストでは、USBストレージデバイスが接続された際に、まずHUBデバイスとして認識し、その後、内蔵されたUSBストレージデバイスの数だけ、マスストレージクラスドライバの初期化が必要になるため、接続時の処理に時間がかかるといった問題もあった。
また一つは、USB規格におけるエンドポイントの数を増やすことによって実現する方法も考えられる。しかし、このような方法を用いた場合は、USBストレージデバイスが備えるコントローラにエンドポイントの数分だけFIFOバッファが必要になる。また、最近では、FIFOバッファを多数実装しない仮想エンドポイントなる技法を用いたコン
トローラもあるが、何れの場合もコントローラが複雑になり、コスト増を招く要因となっていた。
本発明は、このような問題に鑑みなされたものであり、記憶済みのソフトウェアが誤って消去されることを防止するという機能ができるだけ単純な構成で実現されたUSBストレージデバイス及びその制御装置を提供することを目的とする。
上記課題を解決するためになされた請求項1に記載のUSBストレージデバイスは、所定のオペレーションシステムによって制御されると共に少なくともディスクドライブドライバ、USBマスストレージクラスドライバ及びUSBホストコントローラを具備する外部装置への着脱が可能なUSBストレージデバイスであって、フラッシュメモリの記憶領域を、第1の領域と第2の領域とに分けて定義してなる記憶手段と、外部装置とUSBプロトコルに基づいた通信を行う通信手段と、通信手段を介して、記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段と、を備える。
制御手段は、第1と第2の領域を、USBマスストレージクラスドライバにそれぞれ所定の種類のデバイスとして認識させるための情報を記憶し、ディスクドライブドライバからの指令に従って、前記認識させるための情報をUSBマスストレージクラスドライバに供給して、当該USBマスストレージクラスドライバに、本USBストレージデバイスの前記各領域を、それぞれ異なる種類のデバイスとして認識させるとともに、外部装置から受け取った指令と前記認識させるための情報とに基づいて、第1の領域と第2の領域に対して、それぞれ許容されているアクセス処理を実行する。
このため、例えば「所定の種類のデバイスとして認識させるための情報」を、情報の読み出し、書き込み及び削除を実行可能なディスクデバイスとして認識させるための情報と、情報の読み出しのみを実行可能なCD−ROMデバイスとして認識させるための情報とによって構成すれば(請求項2)、販促品として本発明のUSBストレージデバイスを利用した場合に、誤って消去されると問題のあるソフトウェアをCD−ROMデバイスに対応する領域に記憶させておくことにより、外部装置(例えばパーソナルコンピュータ)から当該領域に対する削除指令を受け取った場合でも制御手段がその指令を実行しないため、ソフトウェアが消去されることや改変されることを防止できる。
また、ディスクデバイスに対応する領域に対してはプロテクトスイッチ等を切り替えることなく利用者等が任意に情報を書き込むことができるため使い勝手もよい。
なお、ディスクデバイスに対応する領域を例えばFAT(File Allocation Table)フォーマット、CD−ROMデバイスに対応する領域を例えばISO9660フォーマットで構成しておくとよい。このように構成しておけば、外部装置のオペレーションシステムがそのフォーマットを認識し、ディスクデバイスに対応する領域への読み出し、書き込み及び削除指令は発行するが、CD−ROMデバイスに対応するの領域への書き込み指令や削除指令の発行を制限する。その上、何らかの理由で外部装置がCD−ROMデバイスに対応する領域への書き込み指令や削除指令を発行したとしても、本発明のUSBストレージデバイスであれば制御手段がその指令を実行しないため、確実にCD−ROMデバイスに対応するの領域に記憶されたソフトウェアを保護することができる。
また、本発明のUSBストレージデバイスは、前記第1と第2の領域を、USBマスストレージクラスドライバにそれぞれ所定のデバイスとして認識させるための情報を保持している。このため、USBマスストレージクラスドライバは、本USBストレージデバイスの前記各領域をそれぞれ異なる種類のデバイスとして認識する。
したがって、このような領域の管理を、USB規格におけるエンドポイントの数を増やすことによって実現する場合と比べてUSBストレージデバイスのコントローラを単純化することができる。なぜならエンドポイントの数分だけコントローラはFIFOバッファを備えることが必要だからである。
また、USBストレージデバイスに、内部的に2種類のUSBストレージデバイスとそれらを接続したハブとを備えることにより実現させる方法と比べても、本発明のUSBス
トレージデバイスは構成が単純である。また、本発明のUSBストレージデバイスであれば、ホストのオペレーションシステムが行うUSBマスストレージクラスドライバのイニシャライズ処理も1度で済むため、ホストのオペレーションシステムがUSBストレージデバイスを認識するまでの時間も短い。
ところで、USBストレージデバイスの記憶手段のアドレス体系と、外部装置のオペレーションシステムが管理しているアドレス体系とが一致していればよいが、種々の事情により一致させることが難しい場合も考えられる。そのような場合は、請求項3に記載のように、制御手段は、前記領域毎に、その領域における論理ブロック番号と記憶手段の物理ブロック番号との対応関係を管理すると共に、当該対応関係を前記認識させるための情報と共に記憶し、この記憶している対応関係に基づき、情報の読み出し、書き込み又は削除を実行するようになっているとよい。なお、ここで言うブロック番号は、上述したアドレスと同意である。
このようになっていれば、USBストレージデバイスの記憶手段のアドレス体系と、外部装置のオペレーションシステムが管理しているアドレス体系とを異なるものにして、書き込み等の制御を行うことができる。
また、記憶手段の第2の領域にはどのようなプログラムやデータが記憶されていてもよいが、請求項4に記載のように、第2の領域にはアプリケーションプログラムが予め記憶されており、本USBストレージデバイスが外部装置に装着された際に、アプリケーションプログラムが自動実行されるように構成されているとよい。具体的には例えば、外部装置のオペレーションシステムがWindows(登録商標)であるときは、第2の領域に何らかのアプリケーションプログラムを記憶させておき、更に第2の領域のルートディレクトリに記憶されたautorun.infという名称のファイルに当該アプリケーションソフトウエアを指定しておけばよい。
このようになっていれば、USBストレージデバイスが外部装置に装着された際に外部装置がアプリケーションプログラムを自動実行する。
また、上記課題を解決するためになされた請求項5に記載のUSBストレージデバイスが搭載する制御装置は、USBストレージデバイスに設けられたフラッシュメモリーからなる記憶手段の第1の領域と第2の領域とを、当該USBストレージデバイスが装着されて用いられる外部装置のUSBマスストレージクラスドライバにそれぞれ所定の種類のデバイスとして認識させるための情報を記憶し、外部装置のディスクドライブドライバによるコマンドの発行に応答して、外部装置のUSBマスストレージクラスドライバへ前記認識させるための情報を供給して、USBマスストレージクラスドライバに、当該制御装置が搭載されたUSBストレージデバイスの前記各領域を、異なる種類のデバイスとして認識させるとともに、外部装置から受け取った指令と前記認識させるための情報とに基づいて、第1の領域と第2の領域に対して、それぞれ許容されているアクセス処理を実行する。
また、請求項6に記載の制御装置は、第1の領域を情報の読み出し、書き込み及び削除を実行可能なディスクデバイスとして、第2の領域を情報の読み出しのみを実行可能なCD−ROMデバイスとして、USBマスストレージクラスドライバに認識させるための情報を記憶し、ディスクドライブドライバによるコマンドの発行に応答して、USBマスストレージクラスドライバへ前記認識させるための情報を供給して、USBマスストレージクラスドライバに当該制御装置が搭載されたUSBストレージデバイスの前記各領域をディスクデバイス及びCD−ROMデバイスという異なる2つの種類のデバイスとして認識させるとともに、外部装置から受け取った指令と認識させるための情報とに基づいて、第1の領域に対しては情報の読み出し、書き込み又は削除を実行し、第2の領域に対しては情報の読み出しのみを実行する。
請求項7に記載の制御装置は、前記領域毎に、その領域における論理ブロック番号と記憶手段の物理ブロック番号との対応関係を管理すると共に、当該対応関係を前記認識させるための情報と共に記憶し、この記憶している対応関係に基づき、情報の読み出し、書き込み又は削除を実行する。
これら請求項5〜請求項7に記載の各制御装置は、請求項1〜請求項3に記載の各USBストレージデバイスと同様の効果を奏する。
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
[実施例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)コントローラ21
コントローラ21は、特許請求の範囲に記載の制御手段に相当し、メモリ制御部21aとUSBインターフェース制御部21bとメモリ情報記憶部21cとLED制御部21dとを備える。メモリ制御部21aは、フラッシュメモリ25に対してデータの読み出し、書き込み及び削除を実行する。USBインターフェース制御部21bは、前述したUSBインターフェース19の各部を制御する。メモリ情報記憶部21cは、フラッシュメモリ25の領域に関する情報を記憶する。この情報について図2のデータ例を用いてこの情報について説明する。
図2に示すように、メモリ情報記憶部21cは、論理ユニット番号31とフォーマット33と書き込み削除可否フラグ35と論理ブロック番号37と物理ブロック番号39とを備える。論理ユニット番号31は論理ユニットを識別するための番号であり、「0」と「1」とが存在する。フォーマット33は、論理ユニット番号31に対応し、その論理ユニットのフォーマットを表す。データ例では、論理ユニット番号「0」は「FAT」フォーマットであり、論理ユニット番号「1」は「ISO9660」フォーマットである。書き込み削除可否フラグ35は、論理ユニット番号31に対応し、その論理ユニットに対して情報の書き込み及び削除の実行可否を表すフラグである。データ例では、論理ユニット番号「0」は「可」であり、論理ユニット番号「1」は「不可」である。論理ブロック番号37は、ホスト11によって指定されるブロック番号であり、論理ユニット毎に定義されている。
このように、フラッシュメモリ25の実ブロック番号である物理ブロック番号39と論理ブロック番号37との対応づけは、メモリ制御部21aによって管理されている。このため、物理ブロック番号39と論理ブロック番号37とは自由に対応付けを行うことができる。また、論理ユニット番号「0」のフォーマットをISO9660にし、論理ユニット番号「1」のフォーマットをFATにしてもよい。また、更に論理ユニットを増やし、ユーザーやアプリケーションによって使い分けられるようになっていてもよい。
(2−3)LED23
図1に戻り、LED23は、フラッシュメモリ25に対して情報の読み出し、書き込み及び削除が実行されている際に点灯する発光体である。フラッシュメモリ25に対して情報の読み出し、書き込み及び削除が実行中であることを利用者に示し、これらの実行中にホスト11からUSBストレージデバイス17が抜かれないようにするためのものである。
(2−4)フラッシュメモリ25
フラッシュメモリ25は、記憶保持動作が不要な半導体メモリであり、データを記憶することができる。記憶したデータは、メモリ制御部21aによって読み出すことが可能である。また、メモリ制御部21aによって書き込み及び削除をすることもできる。フラッシュメモリ25は、特許請求の範囲に記載の記憶手段に相当する。
(a)起動処理
USBストレージデバイス17がホスト11に接続された際に、USBストレージデバ
イス17のコントローラ21でプログラムに基づいて実行される起動処理について図3のフローチャートを用いて説明する。この起動処理は、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から論理ユニット番号数が2であるという情報を読み出して、ホスト11に送信する。そしてさらに、ディスクドライブドライバ13がINQUIRYコマンドを発行するため、USBストレージデバイス17は、メモリ情報記憶部21cから論理ユニットのフォーマットに関する情報を読み出して、ホスト11に送信する。これらの結果、ホスト11は、USBストレージデバイス17を、FATフォーマットから構成される論理ユニット番号「0」の領域とISO9660フォーマットから構成される論理ユニット番号「1」の領域とを有するデバイスと認識する。
ホスト11との通信が確立されると、フラッシュメモリ25を動作可能にし(S125)、起動処理を終了する。
なお、Windows(登録商標)には、記憶媒体挿入時や記憶媒体接続時にその記憶媒体のルートディレクトリに記憶されたautorun.infという名称のファイル内で指定されたアプリケーションソフトウェアを実行する機能を有しているため、フラッシュメモリ25の論理ユニット番号「1」の領域にそのファイルを記憶させておけば、本USBストレージデバイス17がホスト11に装着された際に特定のソフトウェアを自動実行させることができる。
このようになっていれば、利用者がホスト11の操作に不慣れであっても本USBストレージデバイス17を装着するだけで特定のアプリケーションソフトウェアが自動実行されるため、例えば販促品として広く一般に配布した場合に販促を担うアプリケーションソフトウェアを確実に実行させることができ、販促効果が高まる。
(b)アクセス処理
ホスト11において動作する種々のソフトウェアが、USBストレージデバイス17に対してデータの書き込み、読み出し、削除の実行指令を送ったときに、USBストレージデバイスのコントローラ21でプログラムに基づいて実行されるアクセス処理について図
4のフローチャートを用いて説明する。
まず、S210では、ホスト11から受信した指令の種類によって分岐する。書き込み又は削除の指令であった場合はS215に進み、そうでない場合、すなわち読み出しの指令であった場合はS250に進む。
S215では、書き込み又は削除の指令が論理ユニット番号「1」に対する指令であるか否かによって分岐する。つまり、書き込み及び削除が実行可能な論理ユニットに対するものであるか否かによって分岐する。論理ユニット番号「1」に対するものであればS245に進み、そうでない場合すなわち論理ユニット番号「0」に対する指令であればS220に進む。
S220では、LED23を点灯させる。続くS225では、ホスト11から指定されたフラッシュメモリ25のブロックにデータを書き込む。またはホスト11から指定されたフラッシュメモリ25のブロックのデータを削除する。なお書き込み又は削除を実行する際は、メモリ情報記憶部21cに記憶されているフラッシュメモリ25の領域に関する情報(図2参照)を用い、ホスト11から指定されたブロック番号を論理ブロック番号37としてその論理ブロック番号37に該当する物理ブロック番号39によって特定されたフラッシュメモリ25のブロックに対してデータの書き込み及び削除を実行する。
続くS230では、LED23を消灯させる。そして、S235ではS225の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらS240に進む。
S240では、S225の処理が正常に完了しなかった旨をホスト11に通知してアクセス処理を終了する。
一方、S215で、書き込み又は削除の指令が論理ユニット番号「1」に対する指令であると判定された際に進むS245では、許可されていない指令としてホスト11にエラー発生の旨を通知する。
また、S210で読み込みの指令であったと判定されて進むS250では、LED23を点灯させ、続くS255ではホスト11から指定されたフラッシュメモリ25のブロックのデータを読み込み、読み込んだデータをホスト11に送る。なお、データを読み込む際は、メモリ情報記憶部21cに記憶されているフラッシュメモリ25の領域に関する情報(図2参照)を用い、ホスト11から指定されたブロック番号を論理ブロック番号37としてその論理ブロック番号37に該当する物理ブロック番号39によって特定されたフラッシュメモリ25のブロックからデータを読み込む。
続くS260では、LED23を消灯させる。そして、S265ではS255の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらS270に進む。
S270では、S255の処理が正常に完了しなかった旨をホスト11に通知して通知してアクセス処理を終了する。
このようにアクセス処理が実行されるため、例えば販促品としてUSBストレージデバイス17を利用した場合、誤って消去されると問題のあるソフトウェアを論理ユニット番号「1」の領域に記憶させておけば、そのソフトウェアが消去されることを防止できる。
また、USBストレージデバイス17は、USBマスストレージクラスドライバ14のSCSIコマンドセットに定義された論理ユニット番号に対応する領域として論理ユニッ
ト番号「0」の領域と論理ユニット番号「1」の領域とをUSBマスストレージクラスドライバに認識させるための情報をメモリ情報記憶部21cに保持している。このため、USBマスストレージクラスドライバ14は、USBストレージデバイス17を2つの論理ユニットを有する一つのSCSIデバイスとして認識する。
したがって、このような領域の管理を、USB規格におけるエンドポイントの数を増やすことによって実現する場合と比べてコントローラ21を単純化することができる。なぜならエンドポイントの数分だけコントローラ21はFIFOバッファを備えることが必要だからである。また、USBストレージデバイス17に、2種類のUSBストレージデバイスとそれらを接続したハブとを内蔵させて実現させる方法と比べても、USBストレージデバイス17は構成が単純である。また、USBストレージデバイス17であれば、ホスト11が行うUSBマスストレージクラスドライバ14のイニシャライズ処理も1度で済むため、ホスト11がUSBストレージデバイス17を認識するまでの時間も短い。また、ホスト11のオペレーションシステムは、2領域を有する1つのSCSIデバイスとしてUSBストレージデバイス17を管理できるため、複数のデバイスを管理する場合と比べて様々な処理を単純化して実行でき、動作も安定する。
(c)初期化処理
初期化処理は、USBストレージデバイス17の製造者や販売者等(以下「特定ユーザー」と言う)が初期化を行うことを目的として、ホスト11上で初期化ソフトウェアを実行して後述する書き込みボタン66を押下した際に、USBストレージデバイス17のコントローラ21でプログラムに基づいて実行される。
初期化処理を説明する前に、ホスト11で実行される初期化ソフトウェアについて図5の操作画面51を用いて説明する。操作画面51では、特定ユーザーがUSBストレージデバイス17に関する様々なパラメータを設定することができる。
テキストボックス53は、論理ユニット番号「0」に対応するものであり、情報の読み出し、書き込み及び削除を実行することができる領域(ディスク領域)の容量を入力するためのテキストボックスである。テキストボックス55は、論理ユニット番号「1」に対応するものであり、情報の読み出しのみを実行することができる領域(CD−ROM領域)の容量を入力するためのテキストボックスである。このテキストボックス53とテキストボックス55とに入力した値の合計が全容量である16以下になるよう特定ユーザーは入力しなければならない。
テキストボックス57は、USB規格で定義されたシリアル番号を入力するためのテキストボックスである。ホスト11はこのシリアル番号によってデバイスを見分けることができる。
テキストボックス59は、固有IDを入力するためのテキストボックスである。固有IDというのは、USB規格で定義されたものではなく、本実施例のUSBストレージデバイス17に独自のものであり、この固有IDをライセンスキーとすることで、不正コピーなどによるコンテンツの不正起動を防止に用いたり、固有IDを認証キーや会員向けサービスに利用したりすることもできる。固有IDは、16バイト以上612バイト以下の16進データである。なお、テキストボックス59の右端の上下ボタンが押下されることにより、表示しきれないデータを順次表示するように操作画面51は構成されている。
テキストボックス61は、CD−ROM領域に書き込むファイル名を入力するためのテキストボックスである。複数ファイルのファイル名を入力できるようになっていてもよい。
参照ボタン63は、テキストボックス61へのファイル名入力を支援するダイアログボックスを表示させるためのボタンである。表示されたダイアログボックスの中から特定ユーザーがファイル名を選択すると、その選択したファイルがテキストボックス61に表示されるようになっている。
フォーマット選択ボタン64は、CDイメージデータのフォーマットを選択するためのダイアログボックスを表示させるためのボタンである。表示されたダイアログボックスの中からISO9660又はHFSの何れかの形式が選択できるようになっている。
書き込みボタン66は、特定ユーザーが操作画面51で設定した設定情報をUSBストレージデバイス17に書き込む処理を開始させるためのボタンである。
キャンセルボタン67は、特定ユーザーが操作画面51で設定した設定情報をUSBストレージデバイス17に書き込むことをせずに操作画面51を閉じるためのボタンである。
次に、USBストレージデバイス17のコントローラ21で実行される初期化処理について図6のフローチャートを用いて説明する。実行が開始されるとまず、ホスト11から送られる設定情報を受信する(S310)。この設定情報は、上述した操作画面51で設定された設定情報である。そして次に、受信した設定情報に基づいてメモリ情報記憶部21cのデータを更新する(S315)。
続いて、受信した設定情報に基づいてフラッシュメモリ25の論理ユニット番号「1」の領域にデータを書き込み(S320)、初期化処理は終了する。本来は、論理ユニット番号「1」の領域にはデータを書き込むことはできないが、初期化処理の際のみ、書き込むことができるように構成されている。なお、書き込むデータは、上述したテキストボックス61で設定したファイルである(図5参照)。
このような初期化処理によって特定ユーザーの事情に合わせて、領域の容量の変更や、シリアル番号の設定や、固有IDの設定や、CD−ROM領域に予めファイルを記憶させておくことが実行できる。
[実施例2]
図7は、実施例2のインクジェットプリンタ71(特許請求の範囲に記載のUSBストレージデバイスに相当する)とホスト11(特許請求の範囲に記載の外部装置に相当する)との概略構成を示すブロック図である。なお、実施例1と同様の部分は、実施例1を説明する際に使用した符号と同一の符号を付すことにより説明を省略する。
インクジェットプリンタ71は、USBインターフェース19とコントローラ21とフラッシュメモリ25とMPU73と印字ヘッド75とアクチュエータ77とを備える。このうちUSBインターフェース19が特許請求の範囲に記載の通信手段に相当し、コントローラ21が制御手段に相当し、フラッシュメモリ25が記憶手段に相当する
MPU73は、USBインターフェース19及びコントローラ21を介してホスト11と通信を行うと共に、図示しない各種センサからの情報に基づいて印字ヘッド75及びアクチュエータ77の動作を制御する。なお、実施例2では、コントローラ21とMPU73とは別構成としているが、それらの機能の一部及び全部をMPU73に移行させてもよい。
印字ヘッド75は、インクノズルを有し、インクノズルから所定の色のインクを吐出させ、印刷用紙にインクを定着させることができる。
アクチュエータ77は、図示しないフィードローラモータ、紙送りローラモータ、印字ヘッド駆動モータ等から構成され、これらを適切に動作させることにより、印刷用紙の位置及び印字ヘッド75の位置関係を調整して所望の印刷結果が得られるようにする。
フラッシュメモリ25の論理ユニット番号「1」の領域(CD−ROM領域)には、印刷するデータをホスト11で扱うためのアプリケーションソフトウェアが予め格納されており、ホスト11はそのようなアプリケーションソフトウェアを有していなくても、フラッシュメモリ25のCD−ROM領域から読み込むことにより使用することができる。
これに対して、従来は、印刷機能を提供するドライバプログラム、印刷管理ソフトウェアなどをホスト11が有していない場合には、別途CD−ROMやフレキシブルディスクなどの媒体から取り込むか、インターネット等からダウンロードしてインストールする必要があった。そのため、CD−ROMやフレキシブルディスクのドライブを通常有していないPDAなどは、それらの媒体から取り込むことは困難であった。このような点で、実施例2のインクジェットプリンタ71は、従来と比べて優位な効果を有する。
また、アプリケーションソフトウェアはフラッシュメモリ25のCD−ROM領域に格納されるため、エンドユーザーによって誤って消去されてしまうおそれがない。また、ディスク領域(論理ユニット番号「0」の領域)には、印刷するための印刷データを格納することにより、ディスク領域を介して複数のホスト11で印刷データを共有することも可能になる。このような点でも、実施例2のインクジェットプリンタ71は、従来と比べて優位な効果を有する。
また、実施例1で述べたような固有IDを実装してその固有IDを認証キーとして用いるようにすれば、特定のユーザーのみがインクジェットプリンタ71を使用できるようにしたり、特定のユーザーのみがCD−ROM領域に格納されたアプリケーションソフトウェア利用できるようにしたりすることができる。
[実施例3]
図8は、実施例3のスキャナ81(特許請求の範囲に記載のUSBストレージデバイスに相当する)とホスト11(特許請求の範囲に記載の外部装置に相当する)との概略構成を示すブロック図である。なお、実施例1と同様の部分は、実施例1を説明する際に使用した符号と同一の符号を付すことにより説明を省略する。
スキャナ81は、USBインターフェース19とコントローラ21とフラッシュメモリ25とMPU83とCCD85とアクチュエータ97とを備える。このうちUSBインターフェース19が特許請求の範囲に記載の通信手段に相当し、コントローラ21が制御手段に相当し、フラッシュメモリ25が記憶手段に相当する
MPU83は、USBインターフェース19及びコントローラ21を介してホスト11と通信を行うと共に、CCD85及びアクチュエータ87の動作を制御する。なお、実施例3では、コントローラ21とMPU83とは別構成としているが、それらの機能の一部及び全部をMPU83に分担させてもよい。
CCD85は、光情報を電気信号に変換する半導体素子であり、任意の対象物を画像データとして読み取って出力することができる。
アクチュエータ87は、図示しない光源駆動モータやCCD駆動モータ等から構成され、これらが適切に動作することにより、任意の対象物の所望の範囲の画像データを得ることができる。
フラッシュメモリ25の論理ユニット番号「1」の領域(CD−ROM領域)には、するデータをホスト11で扱うためのアプリケーションソフトウェアが予め格納されており、ホスト11はそのようなアプリケーションソフトウェアを有していなくても、フラッシュメモリ25のCD−ROM領域から読み込むことにより使用することができる。
これに対して、従来は、スキャナ81の制御機能を提供するドライバプログラム、画像データの加工ソフトウェアなどをホスト11が有していない場合には、別途CD−ROMやフレキシブルディスクなどの媒体から取り込むか、インターネット等からダウンロードしてインストールする必要があった。そのため、CD−ROMやフレキシブルディスクのドライブを通常有していないPDAなどにおいては、それらの媒体から取り込むのは困難であった。このような点で、実施例3のスキャナ81は、従来と比べて優位な効果を有す
る。
また、アプリケーションソフトウェアはフラッシュメモリ25のCD−ROM領域に格納されるため、エンドユーザーによって誤って消去されてしまうおそれがないとともに、ディスク領域(論理ユニット番号「0」の領域)には、画像データを格納することにより、ディスク領域を介して複数のホスト11で画像データを共有することも可能になる。このような点でも、実施例3のスキャナ81は、従来と比べて優位な効果を有する。
以上、実施例を3つ説明したが、他の実施例について説明する。
実施例2のインクジェットプリンタ71や実施例3のスキャナ81の技術思想をUSBインターフェースを有する他の装置に適用してもよい。具体的には、デジタルカメラ、携帯端末、スピーカー、キーボード、マウス、モデム装置、ハンドセット、カードアダプタ等に適用してもよい。これらに適用しても上記実施例と同様の効果が得られる。
また、実施例1の操作画面51(図5参照)は、CDイメージデータのフォーマットとしてISO9660又はHFSの何れかの形式が選択できるようになっていたが、さらに、Audio CD、CD TEXT、Mixed CD、Enhanced CD、ビデオCD、ブータブルCD等フォーマットが選択できるようになっていてもよい。また、記録方式も、ディスクアットワンス、トラックアットワンス、セッションアットワンス、パケットライトなどの方式が指定できるようになっていてもよい。
実施例のUSBストレージデバイスの構成を示すブロック図である。 メモリ情報記憶部に記憶されているデータ例である。 起動処理を説明するためのフローチャートである。 アクセス処理を説明するためのフローチャートである。 初期化ソフトウェアの操作画面を説明するための画面例である。 初期化処理を説明するためのフローチャートである。 実施例のインクジェットプリンタの構成を示すブロック図である。 実施例のスキャナの構成を示すブロック図である。
符号の説明
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…フラッシュメモリ、71…インクジェットプリンタ、73…MPU、75…印字ヘッド、77…アクチュエータ、81…スキャナ、83…MPU、85…CCD、87…アクチュエータ。

Claims (7)

  1. 所定のオペレーションシステムによって制御されると共に少なくともディスクドライブドライバ、USBマスストレージクラスドライバ及びUSBホストコントローラを具備する外部装置への着脱が可能なUSBストレージデバイスであって、
    フラッシュメモリの記憶領域を、第1の領域と第2の領域とに分けて定義してなる記憶手段と、
    前記外部装置とUSBプロトコルに基づいた通信を行う通信手段と、
    前記通信手段を介して、前記記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段と、
    を備え、
    前記制御手段は、
    前記第1と第2の領域を、USBマスストレージクラスドライバにそれぞれ所定の種類のデバイスとして認識させるための情報を記憶し、
    前記ディスクドライブドライバからの指令に従って、前記認識させるための情報を前記USBマスストレージクラスドライバに供給して、当該USBマスストレージクラスドライバに、本USBストレージデバイスの前記各領域を、それぞれ異なる種類のデバイスとして認識させるとともに、
    前記外部装置から受け取った指令と前記認識させるための情報とに基づいて、前記第1の領域と前記第2の領域に対して、それぞれ許容されているアクセス処理を実行することを特徴とするUSBストレージデバイス。
  2. 請求項1に記載のUSBストレージデバイスにおいて、
    前記認識させるための情報は、前記第1の領域を情報の読み出し、書き込み及び削除を実行可能なディスクデバイスとして、前記第2の領域を情報の読み出しのみを実行可能なCD−ROMデバイスとして認識させるための情報であり、
    前記制御手段は、
    前記ディスクドライブドライバからの指令に従って、前記認識させるための情報を前記USBマスストレージクラスドライバに供給して、当該USBマスストレージクラスドライバに、本USBストレージデバイスの前記各領域を前記ディスクデバイス及び前記CD−ROMデバイスという異なる2つの種類のデバイスとして認識させるとともに、
    前記外部装置から受け取った指令と前記認識させるための情報とに基づいて、前記第1の領域に対しては情報の読み出し、書き込み又は削除を実行し、前記第2の領域に対しては情報の読み出しのみを実行することを特徴とするUSBストレージデバイス。
  3. 請求項1又は請求項2に記載のUSBストレージデバイスにおいて、
    前記制御手段は、前記領域毎に、その領域における論理ブロック番号と前記記憶手段の物理ブロック番号との対応関係を管理すると共に、当該対応関係を前記認識させるための情報と共に記憶し、この記憶している対応関係に基づき、情報の読み出し、書き込み又は削除を実行することを特徴とするUSBストレージデバイス。
  4. 請求項1乃至請求項3の何れかに記載のUSBストレージデバイスにおいて、
    前記第2の領域にはアプリケーションプログラムが予め記憶されており、本USBストレージデバイスが外部装置に装着された際に、前記アプリケーションプログラムが自動実行されるように構成されていることを特徴とするUSBストレージデバイス。
  5. USBストレージデバイスに搭載される制御装置であって、
    前記USBストレージデバイスに設けられたフラッシュメモリーからなる記憶手段の第1の領域と第2の領域とを、当該USBストレージデバイスが装着されて用いられる外部装置のUSBマスストレージクラスドライバにそれぞれ所定の種類のデバイスとして認識させるための情報を記憶し、
    前記外部装置のディスクドライブドライバによるコマンドの発行に応答して、前記外部装置のUSBマスストレージクラスドライバへ前記認識させるための情報を供給して、前記USBマスストレージクラスドライバに、当該制御装置が搭載されたUSBストレージデバイスの前記各領域を、それぞれ異なる種類のデバイスと認識させるとともに、
    前記外部装置から受け取った指令と前記認識させるための情報とに基づいて、前記第1の領域と前記第2の領域に対して、それぞれ許容されているアクセス処理を実行することを特徴とする制御装置。
  6. 請求項5に記載の制御装置において、
    当該制御装置は、
    前記第1の領域を情報の読み出し、書き込み及び削除を実行可能なディスクデバイスとして、第2の領域を情報の読み出しのみを実行可能なCD−ROMデバイスとして、前記USBマスストレージクラスドライバに認識させるための情報を記憶し、
    ディスクドライブドライバによるコマンドの発行に応答して、前記USBマスストレージクラスドライバへ前記認識させるための情報を供給して、前記USBマスストレージクラスドライバに当該制御装置が搭載された前記USBストレージデバイスの前記各領域を前記ディスクデバイス及び前記CD−ROMデバイスという異なる2つの種類デバイスとして認識させるとともに、
    前記外部装置から受け取った指令と前記認識させるための情報とに基づいて、前記第1の領域に対しては情報の読み出し、書き込み又は削除を実行し、前記第2の領域に対しては情報の読み出しのみを実行することを特徴とする制御装置。
  7. 請求項6に記載の制御装置において、
    当該制御装置は、前記領域毎に、その領域における論理ブロック番号と前記記憶手段の物理ブロック番号との対応関係を管理すると共に、当該対応関係を前記認識させるための情報と共に記憶し、この記憶している対応関係に基づき、情報の読み出し、書き込み又は削除を実行することを特徴とする制御装置。
JP2003365044A 2002-05-29 2003-10-24 Usbストレージデバイス及びその制御装置 Expired - Lifetime JP3699717B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003365044A JP3699717B2 (ja) 2002-05-29 2003-10-24 Usbストレージデバイス及びその制御装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002155684 2002-05-29
JP2003365044A JP3699717B2 (ja) 2002-05-29 2003-10-24 Usbストレージデバイス及びその制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003125464A Division JP3513147B2 (ja) 2002-05-29 2003-04-30 Usbストレージデバイス及びその制御装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2004084862A Division JP4242798B2 (ja) 2002-05-29 2004-03-23 Usbストレージデバイス及びその制御装置
JP2005092148A Division JP2005243046A (ja) 2002-05-29 2005-03-28 Usbストレージデバイス及びプログラム

Publications (3)

Publication Number Publication Date
JP2004171536A JP2004171536A (ja) 2004-06-17
JP2004171536A5 true JP2004171536A5 (ja) 2005-08-18
JP3699717B2 JP3699717B2 (ja) 2005-09-28

Family

ID=32715521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003365044A Expired - Lifetime JP3699717B2 (ja) 2002-05-29 2003-10-24 Usbストレージデバイス及びその制御装置

Country Status (1)

Country Link
JP (1) JP3699717B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4421999B2 (ja) * 2004-08-03 2010-02-24 株式会社日立製作所 Worm機能付きデータマイグレーションを実行するストレージ装置、ストレージシステム及びデータ移動方法
JP2006163111A (ja) * 2004-12-09 2006-06-22 Nippon Avionics Co Ltd プレゼンテーションシステム
JP2008186220A (ja) * 2007-01-30 2008-08-14 Oyo Denshi:Kk リムーバブルメモリユニット
JP5026908B2 (ja) * 2007-10-05 2012-09-19 株式会社応用電子 スティックサーバ
JP4544356B2 (ja) * 2008-02-21 2010-09-15 ブラザー工業株式会社 プリンター
US8289548B2 (en) * 2008-02-21 2012-10-16 Brother Kogyo Kabushiki Kaisha Printer having first and second memory regions and non-transitory computer-readable recording medium storing control program of printer
US8493600B2 (en) * 2010-12-14 2013-07-23 Microsoft Corporation Multi-layered printer driver model
JP5491548B2 (ja) * 2012-01-31 2014-05-14 株式会社ユニテックス 情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体
CN107145805B (zh) * 2017-03-21 2020-01-17 芯海科技(深圳)股份有限公司 一种flash/mtp内部数据防误擦写的实现方法
CN108629927A (zh) * 2017-03-23 2018-10-09 惠尔丰(中国)信息***有限公司 一种低内存打印机的内存的优化方法

Similar Documents

Publication Publication Date Title
JP3513147B2 (ja) Usbストレージデバイス及びその制御装置
KR100954933B1 (ko) 유니버설 시리얼 버스 스토리지장치 및 그 제어장치
US7068386B2 (en) Image processing system, image data processing method, and storage medium
JP3914949B2 (ja) Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム
JP2010044579A (ja) 周辺装置、プログラム、およびドライバインストールシステム
JP2007514217A (ja) データ処理装置とコンピュータとの間のデータ交換方法
JP2006079634A5 (ja)
JP2005141721A (ja) アプリケーションプログラムの自動インストールシステム、及びその方法
JP2004252936A (ja) 情報処理装置及びその制御方法、プログラム、記録媒体
JP3699717B2 (ja) Usbストレージデバイス及びその制御装置
JP2004171536A5 (ja)
JP2005266934A (ja) Usbストレージデバイス及びその制御装置
US20080079991A1 (en) Information processing apparatus device driver deletion method and storage medium storing control program for executing the method
JP4551643B2 (ja) Usbプリンタ及びusbスキャナ
JP4242798B2 (ja) Usbストレージデバイス及びその制御装置
JP2007086905A (ja) 通信システム、情報処理装置、周辺装置、及び通信方法
JP4087788B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2006293638A (ja) 情報処理装置及び周辺装置
JP2005243046A (ja) Usbストレージデバイス及びプログラム
JP4276219B2 (ja) Usbストレージデバイスの内部状態設定方法
JP2005243046A5 (ja)
JP2004213604A (ja) 記憶モジュールを周辺装置に内蔵させるプラグアンドプレイ接続構造及びその方法
JP2008201001A (ja) 印刷装置及び制御方法
US8675223B2 (en) Image forming device, image forming system and computer readable medium for installing related software to another device
JP2004213275A (ja) データ処理装置