JP2006079634A5 - - Google Patents

Download PDF

Info

Publication number
JP2006079634A5
JP2006079634A5 JP2005285284A JP2005285284A JP2006079634A5 JP 2006079634 A5 JP2006079634 A5 JP 2006079634A5 JP 2005285284 A JP2005285284 A JP 2005285284A JP 2005285284 A JP2005285284 A JP 2005285284A JP 2006079634 A5 JP2006079634 A5 JP 2006079634A5
Authority
JP
Japan
Prior art keywords
usb
information
read
storage
area
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
JP2005285284A
Other languages
English (en)
Other versions
JP2006079634A (ja
JP3914949B2 (ja
Filing date
Publication date
Application filed filed Critical
Priority to JP2005285284A priority Critical patent/JP3914949B2/ja
Priority claimed from JP2005285284A external-priority patent/JP3914949B2/ja
Publication of JP2006079634A publication Critical patent/JP2006079634A/ja
Publication of JP2006079634A5 publication Critical patent/JP2006079634A5/ja
Application granted granted Critical
Publication of JP3914949B2 publication Critical patent/JP3914949B2/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ストレージデバイスが装着されて使用されるホスト(「外部装置」ともいう)のOSからは、情報の読み出し、書き込み及び削除が可能なディスクデバイスを有する一つのドライブが存在するものとして認識されていた。
即ち、フラッシュメモリを複数の領域に分けて定義し、これら複数の領域をOSから複数のデバイスが存在するものとして認識させるものはなかった。まして、これら複数の領域をOSからそれぞれ異なる種類のデバイスとして認識させるものはなかった。
また、このようなUSBストレージデバイスの多くは、ソフトウェアが誤って消去されないようにするため、ライトプロテクトスイッチのような物理的なスイッチを設け、そのスイッチを切り替えることにより、読み込み、書き込み及び消去が可能な状態と読み込みのみが可能な状態とを切り替えられるようにしている。また、ROM等の元々書き換え不可能なメモリを使用して完全に書き込み及び消去をできないようにする場合もある。
しかし、このようにROM等を用いて使用者が情報を書き込めないようにしてしまうと、使用目的が限られてしまい使い勝手が悪かった。また、ソフトウェアの実行時に一時ファイルやデータ等が書き込めずに、ソフトウェア自体の機能が制限される場合もあった。一方、上述したライトプロテクトスイッチを用いる場合は、使用者が意識しない物理的要因によってライトプロテクトスイッチが解除されてしまい、意図しない書き込みや消去が実行される場合もあり得た。
そこで、このような問題を解決するために特許文献2に記載のような技術が考えられている。これは、書き換え可能型の可搬型メディアに対して、仮想的に書き換え禁止領域や読み込み禁止領域を設けてハイブリッドな構成にするものである。
しかしながら、USBストレージデバイスにおいて、フラッシュメモリを複数の領域に分けて定義し、このうちの一つを情報の読み出し、書き込み、削除が可能なデバイスとして、他の少なくとも一つの領域を情報の読み出しのみ可能なデバイスとしてOSに認識させるものは存在しなかった。
特開2000−259275号公報 特開平10−289159号公報
ところで、特許文献2に記載の技術をUSBストレージデバイスに適用することを考えた場合、具体的な実現方法としては次のような方法が考えられる。
一つは、USBストレージデバイスに、内部的に2つのUSBストレージデバイス(うち一方のUSBストレージデバイスは削除及び書き込みを制限)とそれらを接続したハブとを備えることにより実現する方法である。しかし、このようなUSBストレージデバイスは、内部に実質的に2つのUSBストレージデバイスを備えるため、構成が複雑になるといった問題があった。また、ホストでは、USBストレージデバイスが接続された際に、まずHUBデバイスとして認識し、その後、内蔵されたUSBストレージデバイスの数だけ、マスストレージクラスドライバの初期化が必要になるため、接続時の処理に時間がかかるといった問題もあった。
また一つは、USB規格におけるエンドポイントの数を増やすことによって実現する方法も考えられる。しかし、このような方法を用いた場合は、USBストレージデバイスが備えるコントローラにエンドポイントの数分だけFIFOバッファが必要になる。また、最近では、FIFOバッファを多数実装しない仮想エンドポイントなる技法を用いたコントローラもあるが、何れの場合もコントローラが複雑になり、コスト増を招く要因となっていた。
本発明は、このような問題に鑑みなされたものであり、その目的は、USBストレージデバイスのフラッシュメモリからなる記憶手段を複数の領域に分けて定義し、これらを、OSから、情報の読み出し、書き込み、削除が可能なデバイス、又は、情報の読み出しのみ可能なデバイスとして認識させることのできるUSBストレージデバイス及びそのコントローラ(制御装置)を提供することにある。そして、結果として、記憶済みのソフトウェアが誤って消去されることを防止するという機能ができるだけ単純な構成で実現されたUSBストレージデバイス及びその制御装置を提供することを目的とする。
上記課題を解決するためになされた請求項1に記載の制御装置は、USBストレージデバイスに搭載される制御装置であって、USBストレージデバイスに設けられたフラッシュメモリからなる記憶手段の第1と第2の領域を、それぞれ、当該USBストレージデバイスが接続されて用いられる外部装置のUSBマスストレージクラスドライバに、情報の読み出し、書き込み、及び削除のいずれも可能なデバイス、又は、情報の読み出しのみ可能なデバイスのいずれかの種類のデバイスとして認識させるためのフォーマット情報を記憶する。そして、制御装置は、外部装置のディスクドライブドライバによるコマンドの発行に応答して、外部装置のUSBマスストレージクラスドライバへ前記フォーマット情報を供給して、USBマスストレージクラスドライバに、前記第1と第2の領域のそれぞれを、前記いずれかの種類のデバイスとして認識させるとともに、外部装置から受け取ったコマンドと前記フォーマット情報とに基づいて、前記第1と第2の領域に対して、情報の読み出し、書き込み、及び削除のうち許容されているものを実行する。
このため、外部装置に装着された一つのUSBストレージデバイスを、情報の読み出し、書き込み、及び削除のいずれも可能なデバイス、又は、情報の読み出しのみ可能なデバイスのいずれかの種類のデバイスを二つ有したデバイスとして扱うことができ、一つのデバイスとしてしか認識させることができない場合に比べ、利便性が増す。
また、上記課題を解決するためになされた請求項2に記載の制御装置は、USBストレージデバイスに搭載される制御装置であって、当該USBストレージデバイスが接続されて用いられる外部装置のUSBマスストレージクラスドライバに、USBストレージデバイスに設けられたフラッシュメモリからなる記憶手段のN個(Nは3以上の整数)の領域を、情報の読み出し書き込み及び削除のいずれも可能なデバイスと情報の読み出しのみ可能なデバイスとをそれぞれ少なくとも一つ含み、前記いずれかの種類のデバイスとして認識させるためのフォーマット情報を記憶する。そして、制御装置は、外部装置のディスクドライブドライバによるコマンドの発行に応答して、外部装置のUSBマスストレージクラスドライバへ前記フォーマット情報を供給して、USBマスストレージクラスドライバに、記憶手段の領域を、情報の読み出し書き込み及び削除のいずれも可能なデバイスと情報の読み出しのみ可能なデバイスとをそれぞれ少なくとも一つ含み、前記いずれかの種類のデバイスとして認識させるとともに、外部装置から受け取ったコマンドと前記フォーマット情報とに基づいて、記憶手段の各領域に対して、情報の読み出し、書き込み、及び削除のうち許容されているものを実行する。
このため、外部装置に装着された一つのUSBストレージデバイスを、情報の読み出し、書き込み、及び削除のいずれも可能なデバイス、又は、情報の読み出しのみ可能なデバイスのいずれかの種類のデバイスを三つ以上有したデバイスとして扱うことができ、一つのデバイスとしてしか認識させることができない場合に比べ、さらに利便性が増す。
また、上記課題を解決するためになされた請求項3に記載のUSBストレージデバイスは、所定のオペレーションシステムによって制御されると共に少なくともディスクドライブドライバ、USBマスストレージクラスドライバ及びUSBホストコントローラを具備する外部装置へ接続されて使用されるUSBストレージデバイスであって、フラッシュメモリの記憶領域を、第1の領域と第2の領域とに分けて定義してなる記憶手段と、外部装置とUSBプロトコルに基づいた通信を行う通信手段と、通信手段を介して、記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段とを備える。そして、制御手段は、前記第1と第2の領域を、それぞれ、情報の読み出し、書き込み、及び削除のいずれも可能なデバイス、又は、情報の読み出しのみ可能なデバイスのいずれかの種類のデバイスとしてUSBマスストレージクラスドライバに認識させるためのフォーマット情報を記憶し、ディスクドライブドライバからのコマンドに従って、前記フォーマット情報をUSBマスストレージクラスドライバに供給して、前記第1と第2の領域のそれぞれを、前記いずれかの種類のデバイスとしてUSBマスストレージクラスドライバに認識させるとともに、外部装置から受け取ったコマンドと前記フォーマット情報とに基づいて、前記第1の領域と前記第2の領域に対して、情報の読み出し、書込み、及び削除のうち許容されているものを実行する。
このため、外部装置に装着された一つのUSBストレージデバイスを、情報の読み出し、書き込み、及び削除のいずれも可能なデバイス、又は、情報の読み出しのみ可能なデバイスのいずれかの種類のデバイスを二つ有したデバイスとして扱うことができ、一つのデバイスとしてしか認識させることができない場合に比べ、利便性が増す。
また、上記課題を解決するためになされた請求項4に記載のUSBストレージデバイスは、所定のオペレーションシステムによって制御されると共に少なくともディスクドライブドライバ、USBマスストレージクラスドライバ及びUSBホストコントローラを具備する外部装置へ接続されて使用されるUSBストレージデバイスであって、フラッシュメモリの記憶領域を、N個(Nは3以上の整数)の領域に分けて定義してなる記憶手段と、外部装置とUSBプロトコルに基づいた通信を行う通信手段と、通信手段を介して、記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段とを備える。そして、制御手段は、フラッシュメモリからなる記憶手段のN個の領域を、情報の読み出し書き込み及び削除のいずれも可能なデバイスと情報の読み出しのみ可能なデバイスとをそれぞれ少なくとも一つ含み、前記いずれかの種類のデバイスとして外部装置のUSBマスストレージクラスドライバに認識させるためのフォーマット情報を記憶し、ディスクドライブドライバによるコマンドの発行に応答して、USBマスストレージクラスドライバへ前記フォーマット情報を供給して、記憶手段の領域を、情報の読み出し書き込み及び削除のいずれも可能なデバイスと情報の読み出しのみ可能なデバイスとをそれぞれ少なくとも一つ含み、前記いずれかの種類のデバイスとしてUSBマスストレージクラスドライバに認識させるとともに、外部装置から受け取ったコマンドと前記フォーマット情報とに基づいて、記憶手段の各領域に対して、情報の読み出し、書き込み、及び削除のうち許容されているものを実行する。
このため、外部装置に装着された一つの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 (4)

  1. USBストレージデバイスに搭載される制御装置であって、
    前記USBストレージデバイスに設けられたフラッシュメモリからなる記憶手段の第1と第2の領域を、それぞれ、当該USBストレージデバイスが接続されて用いられる外部装置のUSBマスストレージクラスドライバに、情報の読み出し、書き込み、及び削除のいずれも可能なデバイス、又は、情報の読み出しのみ可能なデバイスのいずれかの種類のデバイスとして認識させるためのフォーマット情報を記憶し、
    前記外部装置のディスクドライブドライバによるコマンドの発行に応答して、前記外部装置のUSBマスストレージクラスドライバへ前記フォーマット情報を供給して、前記USBマスストレージクラスドライバに、前記第1と第2の領域のそれぞれを、前記いずれかの種類のデバイスとして認識させるとともに、
    前記外部装置から受け取ったコマンドと前記フォーマット情報とに基づいて、前記第1と第2の領域に対して、情報の読み出し、書き込み、及び削除のうち許容されているものを実行することを特徴とする制御装置。
  2. USBストレージデバイスに搭載される制御装置であって、
    当該USBストレージデバイスが接続されて用いられる外部装置のUSBマスストレージクラスドライバに、前記USBストレージデバイスに設けられたフラッシュメモリからなる記憶手段のN個(Nは3以上の整数)の領域を、情報の読み出し書き込み及び削除のいずれも可能なデバイスと情報の読み出しのみ可能なデバイスとをそれぞれ少なくとも一つ含み、前記いずれかの種類のデバイスとして認識させるためのフォーマット情報を記憶し、
    前記外部装置のディスクドライブドライバによるコマンドの発行に応答して、前記外部装置のUSBマスストレージクラスドライバへ前記フォーマット情報を供給して、前記USBマスストレージクラスドライバに、前記記憶手段の領域を、情報の読み出し書き込み及び削除のいずれも可能なデバイスと情報の読み出しのみ可能なデバイスとをそれぞれ少なくとも一つ含み、前記いずれかの種類のデバイスとして認識させるとともに、
    前記外部装置から受け取ったコマンドと前記フォーマット情報とに基づいて、前記記憶手段の各領域に対して、情報の読み出し、書き込み、及び削除のうち許容されているものを実行することを特徴とする制御装置。
  3. 所定のオペレーションシステムによって制御されると共に少なくともディスクドライブドライバ、USBマスストレージクラスドライバ及びUSBホストコントローラを具備する外部装置へ接続されて使用されるUSBストレージデバイスであって、
    フラッシュメモリの記憶領域を、第1の領域と第2の領域とに分けて定義してなる記憶手段と、
    前記外部装置とUSBプロトコルに基づいた通信を行う通信手段と、
    前記通信手段を介して、前記記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段と、
    を備え、
    前記制御手段は、
    前記第1と第2の領域を、それぞれ、情報の読み出し、書き込み、及び削除のいずれも可能なデバイス、又は、情報の読み出しのみ可能なデバイスのいずれかの種類のデバイスとして前記USBマスストレージクラスドライバに認識させるためのフォーマット情報を記憶し、
    前記ディスクドライブドライバからのコマンドに従って、前記フォーマット情報を前記USBマスストレージクラスドライバに供給して、前記第1と第2の領域のそれぞれを、前記いずれかの種類のデバイスとして前記USBマスストレージクラスドライバに認識させるとともに、
    前記外部装置から受け取ったコマンドと前記フォーマット情報とに基づいて、前記第1の領域と前記第2の領域に対して、情報の読み出し、書込み、及び削除のうち許容されているものを実行することを特徴とするUSBストレージデバイス。
  4. 所定のオペレーションシステムによって制御されると共に少なくともディスクドライブドライバ、USBマスストレージクラスドライバ及びUSBホストコントローラを具備する外部装置へ接続されて使用されるUSBストレージデバイスであって、
    フラッシュメモリの記憶領域を、N個(Nは3以上の整数)の領域に分けて定義してなる記憶手段と、
    前記外部装置とUSBプロトコルに基づいた通信を行う通信手段と、
    前記通信手段を介して、前記記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段と、
    を備え、
    前記制御手段は、
    前記フラッシュメモリからなる記憶手段の前記N個の領域を、情報の読み出し書き込み及び削除のいずれも可能なデバイスと情報の読み出しのみ可能なデバイスとをそれぞれ少なくとも一つ含み、前記いずれかの種類のデバイスとして前記外部装置のUSBマスストレージクラスドライバに認識させるためのフォーマット情報を記憶し、
    前記ディスクドライブドライバによるコマンドの発行に応答して、前記USBマスストレージクラスドライバへ前記フォーマット情報を供給して、前記記憶手段の領域を、情報の読み出し書き込み及び削除のいずれも可能なデバイスと情報の読み出しのみ可能なデバイスとをそれぞれ少なくとも一つ含み、前記いずれかの種類のデバイスとして前記USBマスストレージクラスドライバに認識させるとともに、
    前記外部装置から受け取ったコマンドと前記フォーマット情報とに基づいて、前記記憶手段の各領域に対して、情報の読み出し、書き込み、及び削除のうち許容されているものを実行することを特徴とするUSBストレージデバイス。
JP2005285284A 2002-05-29 2005-09-29 Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム Expired - Lifetime JP3914949B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005285284A JP3914949B2 (ja) 2002-05-29 2005-09-29 Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002155684 2002-05-29
JP2005285284A JP3914949B2 (ja) 2002-05-29 2005-09-29 Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005092148A Division JP2005243046A (ja) 2002-05-29 2005-03-28 Usbストレージデバイス及びプログラム

Publications (3)

Publication Number Publication Date
JP2006079634A JP2006079634A (ja) 2006-03-23
JP2006079634A5 true JP2006079634A5 (ja) 2006-09-14
JP3914949B2 JP3914949B2 (ja) 2007-05-16

Family

ID=36158972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005285284A Expired - Lifetime JP3914949B2 (ja) 2002-05-29 2005-09-29 Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム

Country Status (1)

Country Link
JP (1) JP3914949B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265304A (ja) * 2006-03-29 2007-10-11 Brother Ind Ltd 通信システム及びそれに使用する周辺装置
JP2007265300A (ja) * 2006-03-29 2007-10-11 Brother Ind Ltd 通信システム及びそれに使用する周辺装置
JP2007265305A (ja) * 2006-03-29 2007-10-11 Brother Ind Ltd 通信システム及びそれに使用する周辺装置
JP4333765B2 (ja) 2007-03-28 2009-09-16 ブラザー工業株式会社 デバイス制御システム
JP2008245046A (ja) 2007-03-28 2008-10-09 Brother Ind Ltd 複合機、およびデバイス制御システム
JP5033095B2 (ja) * 2008-09-29 2012-09-26 株式会社日立ソリューションズ ストレージ管理媒介サーバ及びその制御方法
JP5617943B2 (ja) * 2013-02-06 2014-11-05 ブラザー工業株式会社 画像読取装置

Similar Documents

Publication Publication Date Title
KR100954933B1 (ko) 유니버설 시리얼 버스 스토리지장치 및 그 제어장치
JP3513147B2 (ja) Usbストレージデバイス及びその制御装置
US7068386B2 (en) Image processing system, image data processing method, and storage medium
JP3914949B2 (ja) Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム
JP2010044579A (ja) 周辺装置、プログラム、およびドライバインストールシステム
JP2006079634A5 (ja)
JP2005141721A (ja) アプリケーションプログラムの自動インストールシステム、及びその方法
JP2008139916A (ja) 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
JP3699717B2 (ja) Usbストレージデバイス及びその制御装置
JP2004171536A5 (ja)
JP2005266934A (ja) Usbストレージデバイス及びその制御装置
JP4551643B2 (ja) Usbプリンタ及びusbスキャナ
JP2008500617A (ja) カードリーダに対するメモリカードのプラグイン又は取り外しを管理する方法及び当該方法を使用する装置
JP4622770B2 (ja) 通信システム、情報処理装置、周辺装置、及び通信方法
JP4242798B2 (ja) Usbストレージデバイス及びその制御装置
JP4087788B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2006293638A (ja) 情報処理装置及び周辺装置
JP2005243046A5 (ja)
JP2005243046A (ja) Usbストレージデバイス及びプログラム
JP6214369B2 (ja) 情報処理装置、プログラム及び制御方法
JP4276219B2 (ja) Usbストレージデバイスの内部状態設定方法
US9921785B2 (en) Electronic apparatus comprising a mode where the electronic apparatus is operated as a storage device for a connected host apparatus
US8675223B2 (en) Image forming device, image forming system and computer readable medium for installing related software to another device
JP2004302870A (ja) メディアリーダ/ライタの書込禁止方法
Meyers et al. Printing, Peripherals, and Bluetooth in Snow Leopard