(57)【要約】【課題】記憶済みのソフトウェアが誤って消去されることを防止するという機能ができるだけ単純な構成で実現されたＵＳＢストレージデバイスを提供する。【解決手段】記憶領域を、データの読み出し、書き込み及び削除を実行可能な領域と読み出しのみ実行可能な領域とに分け、これらの領域を、ホストが有するＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号に対応する領域として、ＵＳＢマスストレージクラスドライバに認識させるための情報を保持する。この情報は、論理ユニット番号３１とフォーマット３３と書き込み削除可否フラグ３５と論理ブロック番号３７と物理ブロック番号３９とから構成される。この結果、ＵＳＢマスストレージクラスドライバは、２つの論理ユニットを有する一つのＳＣＳＩデバイスとしてＵＳＢストレージデバイスを認識する。【選択図】図２
2006079634.tif 000002
【特許請求の範囲】
【請求項１】
外部装置への着脱が可能なＵＳＢストレージデバイスであって、
半導体メモリを用いて情報を記憶する記憶手段と、
前記外部装置とＵＳＢプロトコルに基づいた通信を行う通信手段と、
前記通信手段を介して前記外部装置から受け取った指令に基づいて、前記記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段と、
を備え、
前記制御手段は、前記記憶手段を第１の領域と第２の領域とに分け、前記第１の領域に対しては前記指令に基づいて情報の読み出し、書き込み及び削除を実行し、前記第２の領域に対しては前記指令に基づいて情報の読み出しのみを実行し、更に、前記外部装置が有するＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号に対応する領域として前記第１及び第２の領域を前記ＵＳＢマスストレージクラスドライバに認識させるための情報を保持し、前記ＵＳＢマスストレージクラスドライバに本ＵＳＢストレージデバイスを２つの論理ユニットを有する一つのＳＣＳＩデバイスとして認識させることを特徴とするＵＳＢストレージデバイス。
【請求項２】
請求項１に記載のＵＳＢストレージデバイスにおいて、
更に、前記通信手段を介して前記外部装置から送られる指令に基づいて印刷を行う印刷手段を備えることを特徴とするＵＳＢストレージデバイス。
【請求項３】
請求項１又は請求項２に記載のＵＳＢストレージデバイスにおいて、
更に、前記通信手段を介して前記外部装置から送られる指令に基づいて任意の対象物を画像データとして読み取るスキャナ手段を備えることを特徴とするＵＳＢストレージデバイス。
【請求項４】
請求項２又は請求項３に記載のＵＳＢストレージデバイスにおいて、
前記印刷手段又は前記スキャナ手段は、前記記憶手段に対する情報の読み出し、書き込み及び削除の少なくとも何れか１つを前記制御手段に指令することを特徴とするＵＳＢストレージデバイス。
【請求項５】
請求項２〜請求項４の何れかに記載のＵＳＢストレージデバイスにおいて、
前記記憶手段は、前記第２の領域に、前記外部装置が当該ＵＳＢストレージデバイスの前記印刷手段又は前記スキャナ手段の少なくとも一方を制御するためのアプリケーションソフトウェアを記憶していることを特徴とするＵＳＢストレージデバイス。
【請求項６】
コンピュータを、請求項１〜請求項５の何れかに記載のＵＳＢストレージデバイスの制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリを用いて情報を記憶するＵＳＢストレージデバイスに関する。
【背景技術】
【０００２】
近年、フラッシュメモリ等を内蔵し、ＵＳＢ（Universal Serial Bus）規格に基づいたインターフェースを備え、ＵＳＢコネクタ部分を本体に一体化することによってコンパクトな形状を実現した着脱式のＵＳＢストレージデバイスが広く知られている（例えば特許文献１）。このようなＵＳＢストレージデバイスはコンパクトな形状であるため安価に製造でき、内部にコマーシャル等のソフトウェアを書き込んで企業の販促品として利用されている。
【０００３】
このようなＵＳＢストレージデバイスの多くは、ソフトウェアが誤って消去されないようにするため、ライトプロテクトスイッチのような物理的なスイッチを設け、そのスイッチを切り替えることにより、読み込み、書き込み及び消去が可能な状態と読み込みのみが可能な状態とを切り替えられるようにしている。また、ＲＯＭ等の元々書き換え不可能なメモリを使用して完全に書き込み及び消去をできないようにする場合もある。
【０００４】
しかし、このようにＲＯＭ等を用いて使用者が情報を書き込めないようにしてしまうと、使用目的が限られてしまい使い勝手が悪かった。また、ソフトウェアの実行時に一時ファイルやデータ等が書き込めずに、ソフトウェア自体の機能が制限される場合もあった。一方、上述したライトプロテクトスイッチを用いる場合は、使用者が意識しない物理的要因によってライトプロテクトスイッチが解除されてしまい、意図しない書き込みや消去が実行される場合もあり得た。
【０００５】
そこで、このような問題を解決するために特許文献２に記載のような技術が考えられている。これは、書き換え可能型の可搬型メディアに対して、仮想的に書き換え禁止領域や読み込み禁止領域を設けてハイブリッドな構成にするものである。
【特許文献１】特開２０００−２５９２７５号公報
【特許文献２】特開平１０−２８９１５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、特許文献２に記載の技術をＵＳＢストレージデバイスに適用することを考えた場合、具体的な実現方法としては次のような方法が考えられる。
一つは、ＵＳＢストレージデバイスに、内部的に２つのＵＳＢストレージデバイス（うち一方のＵＳＢストレージデバイスは削除及び書き込みを制限）とそれらを接続したハブとを備えることにより実現する方法である。しかし、このようなＵＳＢストレージデバイスは、内部に実質的に２つのＵＳＢストレージデバイスを備えるため、構成が複雑になるといった問題があった。また、ホストでは、ＵＳＢストレージデバイスが接続された際に、まずＨＵＢデバイスとして認識し、その後、内蔵されたＵＳＢストレージデバイスの数だけ、マスストレージクラスドライバの初期化が必要になるため、接続時の処理に時間がかかるといった問題もあった。
【０００７】
また一つは、ＵＳＢ規格におけるエンドポイントの数を増やすことによって実現する方法も考えられる。しかし、このような方法を用いた場合は、ＵＳＢストレージデバイスが備えるコントローラにエンドポイントの数分だけＦＩＦＯバッファが必要になる。また、最近では、ＦＩＦＯバッファを多数実装しない仮想エンドポイントなる技法を用いたコン
トローラもあるが、何れの場合もコントローラが複雑になり、コスト増を招く要因となっていた。
【０００８】
本発明は、このような問題に鑑みなされたものであり、記憶済みのソフトウェアが誤って消去されることを防止するという機能ができるだけ単純な構成で実現されたＵＳＢストレージデバイスを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するためになされた請求項１に記載のＵＳＢストレージデバイスは、外部装置への着脱が可能であり、半導体メモリを用いて情報を記憶する記憶手段と、外部装置とＵＳＢプロトコルに基づいた通信を行う通信手段と、通信手段を介して外部装置から受け取った指令に基づいて、記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段とを備える。そして、この制御手段は、記憶手段を第１の領域と第２の領域とに分け、第１の領域に対しては前記指令に基づいて情報の読み出し、書き込み及び削除を実行し、第２の領域に対しては前記指令に基づいて情報の読み出しのみを実行し、更に、外部装置が有するＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号に対応する領域として第１及び第２の領域をＵＳＢマスストレージクラスドライバに認識させるための情報を保持し、ＵＳＢマスストレージクラスドライバに本ＵＳＢストレージデバイスを２つの論理ユニットを有する一つのＳＣＳＩデバイスとして認識させるように構成されている。
【００１０】
このため、例えば販促品として本発明のＵＳＢストレージデバイスを利用した場合に、誤って消去されると問題のあるソフトウェアを第２の領域に記憶させておけば、外部装置（例えばパーソナルコンピュータ）から削除指令を受け取った場合でも制御手段がその指令を実行しないため、ソフトウェアが消去されることや改変されることを防止できる。
【００１１】
一方、第１の領域に対してはプロテクトスイッチ等を切り替えることなく利用者等が任意に情報を書き込むことができるため使い勝手もよい。
なお、第１の領域を例えばＦＡＴ（File Allocation Table）フォーマット、第２の領
域を例えばＩＳＯ９６６０フォーマットで構成しておくとよい。このように構成しておけば、外部装置のオペレーションシステムがそのフォーマットを認識し、第１の領域への読み出し、書き込み及び削除指令は発行するが、第２の領域への書き込み指令や削除指令の発行を制限する。その上、何らかの理由で外部装置が第２の領域への書き込み指令や削除指令を発行したとしても、本発明のＵＳＢストレージデバイスであれば制御手段がその指令を実行しないため、確実に第２の領域に記憶されたソフトウェアを保護することができる。
【００１２】
また、本発明のＵＳＢストレージデバイスは、ＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号に対応する領域として第１及び第２の領域をＵＳＢマスストレージクラスドライバに認識させるための情報を保持している。このため、ＵＳＢマスストレージクラスドライバは、本ＵＳＢストレージデバイスを２つの論理ユニットを有する一つのＳＣＳＩデバイスとして認識する。
【００１３】
したがって、このような領域の管理を、ＵＳＢ規格におけるエンドポイントの数を増やすことによって実現する場合と比べてＵＳＢストレージデバイスのコントローラを単純化することができる。なぜならエンドポイントの数分だけコントローラはＦＩＦＯバッファを備えることが必要だからである。
【００１４】
また、ＵＳＢストレージデバイスに、内部的に２種類のＵＳＢストレージデバイスとそれらを接続したハブとを備えることにより実現させる方法と比べても、本発明のＵＳＢス
トレージデバイスは構成が単純である。また、本発明のＵＳＢストレージデバイスであれば、ホストのオペレーションシステムが行うＵＳＢマスストレージクラスドライバのイニシャライズ処理も１度で済むため、ホストのオペレーションシステムがＵＳＢストレージデバイスを認識するまでの時間も短い。
【００１５】
また、ホストのオペレーションシステムは、２領域を有する１つのＳＣＳＩデバイスとしてＵＳＢストレージデバイスを管理できるため、複数のデバイスを管理する場合と比べて様々な処理を単純化して実行でき、動作も安定する。
【００１６】
ところで、請求項２に記載のように、ＵＳＢストレージデバイスは、更に、通信手段を介して外部装置から送られる指令に基づいて印刷を行う印刷手段を備えるようになっていてもよい。また、請求項３に記載のように、ＵＳＢストレージデバイスは、更に、通信手段を介して外部装置から送られる指令に基づいて任意の対象物を画像データとして読み取るスキャナ手段を備えるようになっていてもよい。
【００１７】
このようなＵＳＢストレージデバイスであれば、ＵＳＢコネクタを１つだけ備えながら、情報記憶機能と共に、印刷機能あるいはスキャナ機能を備えＵＳＢストレージデバイスを実現することができる。
【００１８】
なお、何らかのデータに基づいて出力を行う出力手段の一例として印刷手段を挙げ、何らかのデータの入力を行う入力手段の一例としてスキャナ手段を挙げたが、出力手段や入力手段としてはこれらに限らない。出力手段としては、例えば表示データに基づいて表示を行う表示手段や音声データに基づいて音声出力を行う音声出力手段でもよいし、入力手段としては、例えば利用者が操作した操作情報を入力する操作情報入力手段や音声データの入力を行う音声入力手段でもよい。また、入力手段と出力手段を両方備えるようになっていてもよい。
【００１９】
ところで、このようにＵＳＢストレージデバイスを構成した際には、請求項４に記載のように、印刷手段又はスキャナ手段は、記憶手段に対する情報の読み出し、書き込み及び削除の少なくとも何れか１つを制御手段に指令するようになっているとよい。
【００２０】
このようになっていると、例えば記憶手段の第２の領域に印刷手段を制御するためのプログラムを記憶させておき印刷手段が印刷を行う際にそのプログラムに基づいて印刷手段を動作させたり、外部装置が記憶手段の第１の領域に印刷データを書き込み、その書き込まれた印刷データに基づいて印刷手段に印刷を行わせるといったことが可能になる。また、スキャナ手段が読み取った画像データを記憶手段の第１の領域に記憶させ、外部装置が第１の領域に記憶された画像データを読み取って加工等をするといったことが可能になる。
【００２１】
他にも、請求項５に記載のように、記憶手段は、第２の領域に、外部装置が当該ＵＳＢストレージデバイスの印刷手段又はスキャナ手段の少なくとも一方を制御するためのアプリケーションソフトウェアを記憶しているとよい。ここで言うアプリケーションソフトウェアというのは、ドライバプログラムや管理プログラム等を意味する。
【００２２】
従来、はじめてパーソナルコンピュータでプリンタ装置やスキャナ装置を利用する場合には、ＣＤ−ＲＯＭ等をパーソナルコンピュータにセットしてドライバプログラムを読み込んで設定する必要があった。つまり、ＣＤ−ＲＯＭ等の媒体が必要であり、利用者は常にプリンタ装置やスキャナ装置と一緒にＣＤ−ＲＯＭ等の媒体も管理する必要があり、手間がかかっていた。しかし、請求項５に記載のＵＳＢストレージデバイスであれば、それらのドライバプログラムをはじめとするアプリケーションソフトウェアが予め内部に記憶
されているため、それらを読み込んで設定すればよくなる。つまり、ドライバプログラムが記憶されたＣＤ−ＲＯＭ等の媒体が不要となり、利用者は媒体管理の煩雑さから解放される。
【００２３】
また、請求項６に記載のような、請求項１〜請求項５の何れかに記載のＵＳＢストレージデバイスの制御手段として機能させるプログラムを、ＵＳＢストレージデバイスが内蔵するコンピュータに実行させるようになっていてもよい。このようになっていれば、必用に応じてそのコンピュータにロードして起動することによりＵＳＢストレージデバイスとして機能させることができる。また、プログラムはネットワークを用いて流通させることも可能であるため、機能アップ等も容易である。
【発明を実施するための最良の形態】
【００２４】
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００２５】
［実施例１］
図１は、実施例１のＵＳＢストレージデバイス１７（特許請求の範囲に記載のＵＳＢストレージデバイスに相当する）とホスト１１（特許請求の範囲に記載の外部装置に相当する）の概略構成を示すブロック図である。
【００２６】
（１）ホスト１１
ホスト１１は、一般に広く知られたパーソナルコンピュータであり、ソフトウェアとして、オペレーションシステム１２、ディスクドライブドライバ１３及びＵＳＢマスストレージクラスドライバ１４を備え、ハードウェアとしてＵＳＢホストコントローラ１５を少なくとも備える。
【００２７】
オペレーションシステム１２は、ホスト１１を統括的に制御するソフトウェアであり、例えばＷｉｎｄｏｗｓ（登録商標）やＭａｃ ＯＳ Ｘ（登録商標）等ある。ディスクドライブドライバ１３は、オペレーションシステム１２から受け取った記憶装置へのアクセス指令等をＳＣＳＩコマンド変換してＵＳＢマスストレージクラスドライバ１４に渡すとともに、ＵＳＢマスストレージクラスドライバ１４から指令等を受け取りオペレーションシステム１２に渡す。ＵＳＢマスストレージクラスドライバ１４は、ＵＳＢホストコントローラ１５を制御する。ＵＳＢホストコントローラ１５は、図示しないＵＳＢコネクタを備え、他の装置のＵＳＢコネクタとケーブルによって接続されることによって、ＵＳＢ規格に基づいた通信を行うことができるようになっている。なお、ホスト１１は、ＵＳＢ規格に基づいた通信を行うことができる機器であれば、パーソナルコンピュータに限らずＰＤＡや携帯電話等であってもよい。
【００２８】
（２）ＵＳＢストレージデバイス１７
ＵＳＢストレージデバイス１７は、ＵＳＢインターフェース１９とコントローラ２１とＬＥＤ２３とフラッシュメモリ２５とを備える。
【００２９】
（２−１）ＵＳＢインターフェース１９
ＵＳＢインターフェース１９は、特許請求の範囲に記載の通信手段に相当し、ＵＳＢバス１６を介してホスト１１と通信を行う機能を担う。ＵＳＢインターフェース１９は、パケット送受信部１９ａとシリアルパラレル変換部１９ｂとパケット生成分解部１９ｃとＵＳＢバスパワー制御部１９ｄとを備える。パケット送受信部１９ａは、図示しないＵＳＢコネクタと接続され、ＵＳＢ規格に基づいたパケットを送受信する。シリアルパラレル変換部１９ｂは、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解
部１９ｃは、ホスト１１と通信を行うためのパケットの生成及びパケットを分解してデータの取り出しを行う。ＵＳＢバスパワー制御部１９ｄは、ホスト１１から供給される電力の管理及びＵＳＢストレージデバイス１７の各部位への電力の配分を行う。
【００３０】
（２−２）コントローラ２１
コントローラ２１は、特許請求の範囲に記載の制御手段に相当し、メモリ制御部２１ａとＵＳＢインターフェース制御部２１ｂとメモリ情報記憶部２１ｃとＬＥＤ制御部２１ｄとを備える。メモリ制御部２１ａは、フラッシュメモリ２５に対してデータの読み出し、書き込み及び削除を実行する。ＵＳＢインターフェース制御部２１ｂは、前述したＵＳＢインターフェース１９の各部を制御する。メモリ情報記憶部２１ｃは、フラッシュメモリ２５の領域に関する情報を記憶する。この情報は、特許請求の範囲に記載の「ＵＳＢマスストレージクラスドライバのＳＣＳＩコマンドセットに定義された論理ユニット番号に対応する領域として前記第１及び第２の領域を前記ＵＳＢマスストレージクラスドライバに認識させるための情報」に相当する。図２のデータ例を用いてこの情報について説明する。
【００３１】
図２に示すように、メモリ情報記憶部２１ｃは、論理ユニット番号３１とフォーマット３３と書き込み削除可否フラグ３５と論理ブロック番号３７と物理ブロック番号３９とを備える。論理ユニット番号３１は論理ユニットを識別するための番号であり、「０」と「１」とが存在する。フォーマット３３は、論理ユニット番号３１に対応し、その論理ユニットのフォーマットを表す。データ例では、論理ユニット番号「０」は「ＦＡＴ」フォーマットであり、論理ユニット番号「１」は「ＩＳＯ９６６０」フォーマットである。書き込み削除可否フラグ３５は、論理ユニット番号３１に対応し、その論理ユニットに対して情報の書き込み及び削除の実行可否を表すフラグである。データ例では、論理ユニット番号「０」は「可」であり、論理ユニット番号「１」は「不可」である。論理ブロック番号３７は、ホスト１１によって指定されるブロック番号であり、論理ユニット毎に定義されている。
【００３２】
このように、フラッシュメモリ２５の実ブロック番号である物理ブロック番号３９と論理ブロック番号３７との対応づけは、メモリ制御部２１ａによって管理されている。このため、物理ブロック番号３９と論理ブロック番号３７とは自由に対応付けを行うことができる。また、論理ユニット番号「０」のフォーマットをＩＳＯ９６６０にし、論理ユニット番号「１」のフォーマットをＦＡＴにしてもよい。また、更に論理ユニットを増やし、ユーザーやアプリケーションによって使い分けられるようになっていてもよい。
【００３３】
（２−３）ＬＥＤ２３
図１に戻り、ＬＥＤ２３は、フラッシュメモリ２５に対して情報の読み出し、書き込み及び削除が実行されている際に点灯する発光体である。フラッシュメモリ２５に対して情報の読み出し、書き込み及び削除が実行中であることを利用者に示し、これらの実行中にホスト１１からＵＳＢストレージデバイス１７が抜かれないようにするためのものである。
【００３４】
（２−４）フラッシュメモリ２５
フラッシュメモリ２５は、記憶保持動作が不要な半導体メモリであり、データを記憶することができる。記憶したデータは、メモリ制御部２１ａによって読み出すことが可能である。また、メモリ制御部２１ａによって書き込み及び削除をすることもできる。フラッシュメモリ２５は、特許請求の範囲に記載の記憶手段に相当する。
【００３５】
（ａ）起動処理
ＵＳＢストレージデバイス１７がホスト１１に接続された際に、ＵＳＢストレージデバ
イス１７のコントローラ２１でプログラムに基づいて実行される起動処理について図３のフローチャートを用いて説明する。この起動処理は、ＵＳＢストレージデバイス１７がホスト１１に接続されることにより、ＵＳＢバスパワー制御部１９ｄに電力が供給され、さらにホスト１１側でエニュメレーション処理が実行されると開始される。
【００３６】
起動処理を開始すると、ホスト１１からの指令に応じて、ディスクリプタと呼ばれるデバイス情報（デフォルトパイプの最大パケットサイズ等）をホスト１１に送信する（Ｓ１１０）。
【００３７】
次に、ホスト１１から指令に応じて、ＵＳＢストレージデバイス１７のアドレスを設定する（Ｓ１１５）。以降、このアドレス宛のフレームのみを当該ＵＳＢストレージデバイス１７は取得する。
【００３８】
次に、より詳細なデバイス情報をホスト１１に送信する（Ｓ１２０）。このデバイス情報としては、エンドポイントに関する情報、クラス、サブクラス、プロトコル等である。
その結果、ホスト１１ではＵＳＢマスストレージクラスドライバ１４が起動され、図示しないアプリケーションソフトウェアからディスクドライブドライバ１３とＵＳＢマスストレージクラスドライバ１４とを介してＵＳＢホストコントローラ１５を制御するアクセスパスができる。なお、このディスクドライブドライバ１３は、ＭＳ−ＤＯＳ（登録商標）時代から、受け継がれているドライバであるため永年の技術が積み重ねられており、安定的な動作が得られるドライバである。
【００３９】
続いて、ＵＳＢマスストレージクラスドライバ１４が、Ｇｅｔ Ｍａｘ Ｌｏｇｉｃａｌ
Ｕｎｉｔ  Ｎｕｍｂｅｒコマンドによって論理ユニット番号数を要求するため、ＵＳＢストレージデバイス１７は、メモリ情報記憶部２１ｃから論理ユニット番号数が２であるという情報を読み出して、ホスト１１に送信する。そしてさらに、ディスクドライブドライバ１３がＩＮＱＵＩＲＹコマンドを発行するため、ＵＳＢストレージデバイス１７は、メモリ情報記憶部２１ｃから論理ユニットのフォーマットに関する情報を読み出して、ホスト１１に送信する。これらの結果ホスト１１は、ＵＳＢストレージデバイス１７を、ＦＡＴフォーマットから構成される論理ユニット番号「０」の領域とＩＳＯ９６６０フォーマットから構成される論理ユニット番号「１」の領域とを有するデバイスと認識する。
【００４０】
ホスト１１との通信が確立されると、フラッシュメモリ２５を動作可能にし（Ｓ１２５）、起動処理を終了する。
なお、Ｗｉｎｄｏｗｓ（登録商標）には、記憶媒体挿入時や記憶媒体接続時にその記憶媒体のルートディレクトリに記憶されたａｕｔｏｒｕｎ．ｉｎｆという名称のファイル内で指定されたアプリケーションソフトウェアを実行する機能を有しているため、フラッシュメモリ２５の論理ユニット番号「１」の領域にそのファイルを記憶させておけば、本ＵＳＢストレージデバイス１７がホスト１１に装着された際に特定のソフトウェアを自動実行させることができる。
【００４１】
このようになっていれば、利用者がホスト１１の操作に不慣れであっても本ＵＳＢストレージデバイス１７を装着するだけで特定のアプリケーションソフトウェアが自動実行されるため、例えば販促品として広く一般に配布した場合に販促を担うアプリケーションソフトウェアを確実に実行させることができ、販促効果が高まる。
【００４２】
（ｂ）アクセス処理
ホスト１１において動作する種々のソフトウェアが、ＵＳＢストレージデバイス１７に対してデータの書き込み、読み出し、削除の実行指令を送ったときに、ＵＳＢストレージデバイスのコントローラ２１でプログラムに基づいて実行されるアクセス処理について図
４のフローチャートを用いて説明する。
【００４３】
まず、Ｓ２１０では、ホスト１１から受信した指令の種類によって分岐する。書き込み又は削除の指令であった場合はＳ２１５に進み、そうでない場合、すなわち読み出しの指令であった場合はＳ２５０に進む。
【００４４】
Ｓ２１５では、書き込み又は削除の指令が論理ユニット番号「１」に対する指令であるか否かによって分岐する。つまり、書き込み及び削除が実行可能な論理ユニットに対するものであるか否かによって分岐する。論理ユニット番号「１」に対するものであればＳ２４５に進み、そうでない場合すなわち論理ユニット番号「０」に対する指令であればＳ２２０に進む。
【００４５】
Ｓ２２０では、ＬＥＤ２３を点灯させる。続くＳ２２５では、ホスト１１から指定されたフラッシュメモリ２５のブロックにデータを書き込む。またはホスト１１から指定されたフラッシュメモリ２５のブロックのデータを削除する。なお書き込み又は削除を実行する際は、メモリ情報記憶部２１ｃに記憶されているフラッシュメモリ２５の領域に関する情報（図２参照）を用い、ホスト１１から指定されたブロック番号を論理ブロック番号３７としてその論理ブロック番号３７に該当する物理ブロック番号３９によって特定されたフラッシュメモリ２５のブロックに対してデータの書き込み及び削除を実行する。
【００４６】
続くＳ２３０では、ＬＥＤ２３を消灯させる。そして、Ｓ２３５ではＳ２２５の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらＳ２４０に進む。
【００４７】
Ｓ２４０では、Ｓ２２５の処理が正常に完了しなかった旨をホスト１１に通知してアクセス処理を終了する。
一方、Ｓ２１５で、書き込み又は削除の指令が論理ユニット番号「１」に対する指令であると判定された際に進むＳ２４５では、許可されていない指令としてホスト１１にエラー発生の旨を通知する。
【００４８】
また、Ｓ２１０で読み込みの指令であったと判定されて進むＳ２５０では、ＬＥＤ２３を点灯させ、続くＳ２５５ではホスト１１から指定されたフラッシュメモリ２５のブロックのデータを読み込み、読み込んだデータをホスト１１に送る。なお、データを読み込む際は、メモリ情報記憶部２１ｃに記憶されているフラッシュメモリ２５の領域に関する情報（図２参照）を用い、ホスト１１から指定されたブロック番号を論理ブロック番号３７としてその論理ブロック番号３７に該当する物理ブロック番号３９によって特定されたフラッシュメモリ２５のブロックからデータを読み込む。
【００４９】
続くＳ２６０では、ＬＥＤ２３を消灯させる。そして、Ｓ２６５ではＳ２５５の処理が正常に完了したか否かによって分岐する。正常に完了していればアクセス処理を終了し、正常に完了していなかったらＳ２７０に進む。
【００５０】
Ｓ２７０では、Ｓ２５５の処理が正常に完了しなかった旨をホスト１１に通知して通知してアクセス処理を終了する。
このようにアクセス処理が実行されるため、例えば販促品としてＵＳＢストレージデバイス１７を利用した場合、誤って消去されると問題のあるソフトウェアを論理ユニット番号「１」の領域に記憶させておけば、そのソフトウェアが消去されることを防止できる。
【００５１】
また、ＵＳＢストレージデバイス１７は、ＵＳＢマスストレージクラスドライバ１４のＳＣＳＩコマンドセットに定義された論理ユニット番号に対応する領域として論理ユニッ
ト番号「０」の領域と論理ユニット番号「１」の領域とをＵＳＢマスストレージクラスドライバに認識させるための情報をメモリ情報記憶部２１ｃに保持している。このため、ＵＳＢマスストレージクラスドライバ１４は、ＵＳＢストレージデバイス１７を２つの論理ユニットを有する一つのＳＣＳＩデバイスとして認識する。
【００５２】
したがって、このような領域の管理を、ＵＳＢ規格におけるエンドポイントの数を増やすことによって実現する場合と比べてコントローラ２１を単純化することができる。なぜならエンドポイントの数分だけコントローラ２１はＦＩＦＯバッファを備えることが必要だからである。また、ＵＳＢストレージデバイス１７に、２種類のＵＳＢストレージデバイスとそれらを接続したハブとを内蔵させて実現させる方法と比べても、ＵＳＢストレージデバイス１７は構成が単純である。また、ＵＳＢストレージデバイス１７であれば、ホスト１１が行うＵＳＢマスストレージクラスドライバ１４のイニシャライズ処理も１度で済むため、ホスト１１がＵＳＢストレージデバイス１７を認識するまでの時間も短い。また、ホスト１１のオペレーションシステムは、２領域を有する１つのＳＣＳＩデバイスとしてＵＳＢストレージデバイス１７を管理できるため、複数のデバイスを管理する場合と比べて様々な処理を単純化して実行でき、動作も安定する。
【００５３】
（ｃ）初期化処理
初期化処理は、ＵＳＢストレージデバイス１７の製造者や販売者等（以下「特定ユーザー」と言う）が初期化を行うことを目的として、ホスト１１上で初期化ソフトウェアを実行して後述する書き込みボタン６６を押下した際に、ＵＳＢストレージデバイス１７のコントローラ２１でプログラムに基づいて実行される。
【００５４】
初期化処理を説明する前に、ホスト１１で実行される初期化ソフトウェアについて図５の操作画面５１を用いて説明する。操作画面５１では、特定ユーザーがＵＳＢストレージデバイス１７に関する様々なパラメータを設定することができる。
【００５５】
テキストボックス５３は、論理ユニット番号「０」に対応するものであり、情報の読み出し、書き込み及び削除を実行することができる領域（ディスク領域）の容量を入力するためのテキストボックスである。テキストボックス５５は、論理ユニット番号「１」に対応するものであり、情報の読み出しのみを実行することができる領域（ＣＤ−ＲＯＭ領域）の容量を入力するためのテキストボックスである。このテキストボックス５３とテキストボックス５５とに入力した値の合計が全容量である１６以下になるよう特定ユーザーは入力しなければならない。
【００５６】
テキストボックス５７は、ＵＳＢ規格で定義されたシリアル番号を入力するためのテキストボックスである。ホスト１１はこのシリアル番号によってデバイスを見分けることができる。
【００５７】
テキストボックス５９は、固有ＩＤを入力するためのテキストボックスである。固有ＩＤというのは、ＵＳＢ規格で定義されたものではなく、本実施例のＵＳＢストレージデバイス１７に独自のものであり、この固有ＩＤをライセンスキーとすることで、不正コピーなどによるコンテンツの不正起動を防止に用いたり、固有ＩＤを認証キーや会員向けサービスに利用したりすることもできる。固有ＩＤは、１６バイト以上６１２バイト以下の１６進データである。なお、テキストボックス５９の右端の上下ボタンが押下されることにより、表示しきれないデータを順次表示するように操作画面５１は構成されている。
【００５８】
テキストボックス６１は、ＣＤ−ＲＯＭ領域に書き込むファイル名を入力するためのテキストボックスである。複数ファイルのファイル名を入力できるようになっていてもよい。
【００５９】
参照ボタン６３は、テキストボックス６１へのファイル名入力を支援するダイアログボックスを表示させるためのボタンである。表示されたダイアログボックスの中から特定ユーザーがファイル名を選択すると、その選択したファイルがテキストボックス６１に表示されるようになっている。
【００６０】
フォーマット選択ボタン６４は、ＣＤイメージデータのフォーマットを選択するためのダイアログボックスを表示させるためのボタンである。表示されたダイアログボックスの中からＩＳＯ９６６０又はＨＦＳの何れかの形式が選択できるようになっている。
【００６１】
書き込みボタン６６は、特定ユーザーが操作画面５１で設定した設定情報をＵＳＢストレージデバイス１７に書き込む処理を開始させるためのボタンである。
キャンセルボタン６７は、特定ユーザーが操作画面５１で設定した設定情報をＵＳＢストレージデバイス１７に書き込むことをせずに操作画面５１を閉じるためのボタンである。
【００６２】
次に、ＵＳＢストレージデバイス１７のコントローラ２１で実行される初期化処理について図６のフローチャートを用いて説明する。実行が開始されるとまず、ホスト１１から送られる設定情報を受信する（Ｓ３１０）。この設定情報は、上述した操作画面５１で設定された設定情報である。そして次に、受信した設定情報に基づいてメモリ情報記憶部２１ｃのデータを更新する（Ｓ３１５）。
【００６３】
続いて、受信した設定情報に基づいてフラッシュメモリ２５の論理ユニット番号「１」の領域にデータを書き込み（Ｓ３２０）、初期化処理は終了する。本来は、論理ユニット番号「１」の領域にはデータを書き込むことはできないが、初期化処理の際のみ、書き込むことができるように構成されている。なお、書き込むデータは、上述したテキストボックス６１で設定したファイルである（図５参照）。
【００６４】
このような初期化処理によって特定ユーザーの事情に合わせて、領域の容量の変更や、シリアル番号の設定や、固有ＩＤの設定や、ＣＤ−ＲＯＭ領域に予めファイルを記憶させておくことが実行できる。
【００６５】
［実施例２］
図７は、実施例２のインクジェットプリンタ７１（特許請求の範囲に記載のＵＳＢストレージデバイスに相当する）とホスト１１（特許請求の範囲に記載の外部装置に相当する）との概略構成を示すブロック図である。なお、実施例１と同様の部分は、実施例１を説明する際に使用した符号と同一の符号を付すことにより説明を省略する。
【００６６】
インクジェットプリンタ７１は、ＵＳＢインターフェース１９とコントローラ２１とフラッシュメモリ２５とＭＰＵ７３と印字ヘッド７５とアクチュエータ７７とを備える。このうちＵＳＢインターフェース１９が特許請求の範囲に記載の通信手段に相当し、コントローラ２１が制御手段に相当し、フラッシュメモリ２５が記憶手段に相当する。また、ＭＰＵ７３と印字ヘッド７５とアクチュエータ７７とが特許請求の範囲に記載の印刷手段に相当する。
【００６７】
ＭＰＵ７３は、ＵＳＢインターフェース１９及びコントローラ２１を介してホスト１１と通信を行うと共に、図示しない各種センサからの情報に基づいて印字ヘッド７５及びアクチュエータ７７の動作を制御する。なお、実施例２では、コントローラ２１とＭＰＵ７３とは別構成としているが、それらの機能の一部及び全部をＭＰＵ７３に移行させてもよい。
【００６８】
印字ヘッド７５は、インクノズルを有し、インクノズルから所定の色のインクを吐出させ、印刷用紙にインクを定着させることができる。
アクチュエータ７７は、図示しないフィードローラモータ、紙送りローラモータ、印字ヘッド駆動モータ等から構成され、これらを適切に動作させることにより、印刷用紙の位置及び印字ヘッド７５の位置関係を調整して所望の印刷結果が得られるようにする。
【００６９】
フラッシュメモリ２５の論理ユニット番号「１」の領域（ＣＤ−ＲＯＭ領域）には、印刷するデータをホスト１１で扱うためのアプリケーションソフトウェアが予め格納されており、ホスト１１はそのようなアプリケーションソフトウェアを有していなくても、フラッシュメモリ２５のＣＤ−ＲＯＭ領域から読み込むことにより使用することができる。
【００７０】
これに対して、従来は、印刷機能を提供するドライバプログラム、印刷管理ソフトウェアなどをホスト１１が有していない場合には、別途ＣＤ−ＲＯＭやフレキシブルディスクなどの媒体から取り込むか、インターネット等からダウンロードしてインストールする必要があった。そのため、ＣＤ−ＲＯＭやフレキシブルディスクのドライブを通常有していないＰＤＡなどは、それらの媒体から取り込むことは困難であった。このような点で、実施例２のインクジェットプリンタ７１は、従来と比べて優位な効果を有する。
【００７１】
また、アプリケーションソフトウェアはフラッシュメモリ２５のＣＤ−ＲＯＭ領域に格納されるため、エンドユーザーによって誤って消去されてしまうおそれがない。また、ディスク領域（論理ユニット番号「０」の領域）には、印刷するための印刷データを格納することにより、ディスク領域を介して複数のホスト１１で印刷データを共有することも可能になる。このような点でも、実施例２のインクジェットプリンタ７１は、従来と比べて優位な効果を有する。
【００７２】
また、実施例１で述べたような固有ＩＤを実装してその固有ＩＤを認証キーとして用いるようにすれば、特定のユーザーのみがインクジェットプリンタ７１を使用できるようにしたり、特定のユーザーのみがＣＤ−ＲＯＭ領域に格納されたアプリケーションソフトウェア利用できるようにしたりすることができる。
【００７３】
［実施例３］
図８は、実施例３のスキャナ８１（特許請求の範囲に記載のＵＳＢストレージデバイスに相当する）とホスト１１（特許請求の範囲に記載の外部装置に相当する）との概略構成を示すブロック図である。なお、実施例１と同様の部分は、実施例１を説明する際に使用した符号と同一の符号を付すことにより説明を省略する。
【００７４】
スキャナ８１は、ＵＳＢインターフェース１９とコントローラ２１とフラッシュメモリ２５とＭＰＵ８３とＣＣＤ８５とアクチュエータ９７とを備える。このうちＵＳＢインターフェース１９が特許請求の範囲に記載の通信手段に相当し、コントローラ２１が制御手段に相当し、フラッシュメモリ２５が記憶手段に相当する。また、ＭＰＵ７３とＣＣＤ８５とアクチュエータ８７とが特許請求の範囲に記載のスキャナ手段に相当する。
【００７５】
ＭＰＵ８３は、ＵＳＢインターフェース１９及びコントローラ２１を介してホスト１１と通信を行うと共に、ＣＣＤ８５及びアクチュエータ８７の動作を制御する。なお、実施例３では、コントローラ２１とＭＰＵ８３とは別構成としているが、それらの機能の一部及び全部をＭＰＵ８３に分担させてもよい。
【００７６】
ＣＣＤ８５は、光情報を電気信号に変換する半導体素子であり、任意の対象物を画像データとして読み取って出力することができる。
アクチュエータ８７は、図示しない光源駆動モータやＣＣＤ駆動モータ等から構成され、これらが適切に動作することにより、任意の対象物の所望の範囲の画像データを得ることができる。
【００７７】
フラッシュメモリ２５の論理ユニット番号「１」の領域（ＣＤ−ＲＯＭ領域）には、するデータをホスト１１で扱うためのアプリケーションソフトウェアが予め格納されており、ホスト１１はそのようなアプリケーションソフトウェアを有していなくても、フラッシュメモリ２５のＣＤ−ＲＯＭ領域から読み込むことにより使用することができる。
【００７８】
これに対して、従来は、スキャナ８１の制御機能を提供するドライバプログラム、画像データの加工ソフトウェアなどをホスト１１が有していない場合には、別途ＣＤ−ＲＯＭやフレキシブルディスクなどの媒体から取り込むか、インターネット等からダウンロードしてインストールする必要があった。そのため、ＣＤ−ＲＯＭやフレキシブルディスクのドライブを通常有していないＰＤＡなどにおいては、それらの媒体から取り込むのは困難であった。このような点で、実施例3のスキャナ８１は、従来と比べて優位な効果を有す
る。
【００７９】
また、アプリケーションソフトウェアはフラッシュメモリ２５のＣＤ−ＲＯＭ領域に格納されるため、エンドユーザーによって誤って消去されてしまうおそれがないとともに、ディスク領域（論理ユニット番号「０」の領域）には、画像データを格納することにより、ディスク領域を介して複数のホスト１１で画像データを共有することも可能になる。このような点でも、実施例３のスキャナ８１は、従来と比べて優位な効果を有する。
【００８０】
以上、実施例を３つ説明したが、他の実施例について説明する。
実施例２のインクジェットプリンタ７１や実施例３のスキャナ８１の技術思想をＵＳＢインターフェースを有する他の装置に適用してもよい。具体的には、デジタルカメラ、携帯端末、スピーカー、キーボード、マウス、モデム装置、ハンドセット、カードアダプタ等に適用してもよい。これらに適用しても上記実施例と同様の効果が得られる。
【００８１】
また、実施例１の操作画面５１（図５参照）は、ＣＤイメージデータのフォーマットとしてＩＳＯ９６６０又はＨＦＳの何れかの形式が選択できるようになっていたが、さらに、Ａｕｄｉｏ ＣＤ、ＣＤ ＴＥＸＴ、Ｍｉｘｅｄ ＣＤ、Ｅｎｈａｎｃｅｄ ＣＤ、ビデオＣＤ、ブータブルＣＤ等フォーマットが選択できるようになっていてもよい。また、記録方式も、ディスクアットワンス、トラックアットワンス、セッションアットワンス、パケットライトなどの方式が指定できるようになっていてもよい。
【図面の簡単な説明】
【００８２】
【図１】実施例のＵＳＢストレージデバイスの構成を示すブロック図である。
【図２】メモリ情報記憶部に記憶されているデータ例である。
【図３】起動処理を説明するためのフローチャートである。
【図４】アクセス処理を説明するためのフローチャートである。
【図５】初期化ソフトウェアの操作画面を説明するための画面例である。
【図６】初期化処理を説明するためのフローチャートである。
【図７】実施例のインクジェットプリンタの構成を示すブロック図である。
【図８】実施例のスキャナの構成を示すブロック図である。
【符号の説明】
【００８３】
１１…ホスト、１２…オペレーションシステム、１３…ディスクドライブドライバ、１４…ＵＳＢマスストレージクラスドライバ、１５…ＵＳＢホストコントローラ、１６…ＵＳＢバス、１７…ＵＳＢストレージデバイス、１９ａ…ＵＳＢインターフェース、１９ｂ
…シリアルパラレル変換部、１９ｃ…パケット生成分解部、１９ｄ…ＵＳＢバスパワー制御部、２１…コントローラ、２１ａ…メモリ制御部、２１ｂ…ＵＳＢインターフェース制御部、２１ｃ…メモリ情報記憶部、２１ｄ…ＬＥＤ制御部、２３…ＬＥＤ、２５…フラッシュメモリ、７１…インクジェットプリンタ、７３…ＭＰＵ、７５…印字ヘッド、７７…アクチュエータ、８１…スキャナ、８３…ＭＰＵ、８５…ＣＣＤ、８７…アクチュエータ
【図１】
2006079634.tif 000003
【図２】
2006079634.tif 000004
【図３】
2006079634.tif 000005
【図４】
2006079634.tif 000006
【図５】
2006079634.tif 000007
【図６】
2006079634.tif 000008
【図７】
2006079634.tif 000009
【図８】
2006079634.tif 000010