説明

USBプリンタ及びUSBスキャナ

【課題】 記憶済みのソフトウェアが誤って消去されることを防止するという機能ができるだけ単純な構成で実現されたUSBプリンタを提供する。
【解決手段】 USBプリンタに搭載したフラッシュメモリ25を2つの領域に分け、これらの領域を、ホスト11が有するUSBマスストレージクラスドライバのSCSIコマンドセットに定義された論理ユニット番号に対応し、データの読み出し、書き込み及び削除を実行可能なディスク領域と、読み出しのみ実行可能なCD−ROM領域とに分けてコントローラ21が管理する。この結果、コントローラ21は、ホスト11からたとえCD−ROM領域に対する書き込み指令や削除指令が発行されたとしても、その指令を実行しない。したがって、CD−ROM領域のソフトウェアは誤って消去されることはない。

【選択図】 図7

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

【特許請求の範囲】
【請求項1】
外部装置への着脱が可能なUSBストレージデバイスであって、
半導体メモリを用いて情報を記憶する記憶手段と、
前記外部装置とUSBプロトコルに基づいた通信を行う通信手段と、
前記通信手段を介して前記外部装置から受け取った指令に基づいて、前記記憶手段に対して情報の読み出し、書き込み及び削除を実行する制御手段と、
を備え、
前記制御手段は、前記記憶手段を第1の領域と第2の領域とに分け、前記第1の領域に対しては前記指令に基づいて情報の読み出し、書き込み及び削除を実行し、前記第2の領域に対しては前記指令に基づいて情報の読み出しのみを実行し、更に、前記外部装置が有するUSBマスストレージクラスドライバのSCSIコマンドセットに定義された論理ユニット番号に対応する領域として前記第1及び第2の領域を前記USBマスストレージクラスドライバに認識させるための情報を保持し、前記USBマスストレージクラスドライバに本USBストレージデバイスを2つの論理ユニットを有する一つのSCSIデバイスとして認識させることを特徴とするUSBストレージデバイス。
【請求項2】
請求項1に記載のUSBストレージデバイスにおいて、
更に、前記通信手段を介して前記外部装置から送られる指令に基づいて印刷を行う印刷手段を備えることを特徴とするUSBストレージデバイス。
【請求項3】
請求項1又は請求項2に記載のUSBストレージデバイスにおいて、
更に、前記通信手段を介して前記外部装置から送られる指令に基づいて任意の対象物を画像データとして読み取るスキャナ手段を備えることを特徴とするUSBストレージデバイス。
【請求項4】
請求項2又は請求項3に記載のUSBストレージデバイスにおいて、
前記印刷手段又は前記スキャナ手段は、前記記憶手段に対する情報の読み出し、書き込み及び削除の少なくとも何れか1つを前記制御手段に指令することを特徴とするUSBストレージデバイス。
【請求項5】
請求項2〜請求項4の何れかに記載のUSBストレージデバイスにおいて、
前記記憶手段は、前記第2の領域に、前記外部装置が当該USBストレージデバイスの前記印刷手段又は前記スキャナ手段の少なくとも一方を制御するためのアプリケーションソフトウェアを記憶していることを特徴とするUSBストレージデバイス。
【請求項6】
コンピュータを、請求項1〜請求項5の何れかに記載のUSBストレージデバイスの制御手段として機能させるためのプログラム。

【図1】
image rotate



【図2】
image rotate



【図3】
image rotate



【図4】
image rotate



【図5】
image rotate



【図6】
image rotate



【図7】
image rotate



【図8】
image rotate


【公開番号】特開2004−164632(P2004−164632A)
【公開日】平成16年6月10日(2004.6.10)
【国際特許分類】
【出願番号】特願2003−365043(P2003−365043)
【出願日】平成15年10月24日(2003.10.24)
【分割の表示】特願2003−125464(P2003−125464)の分割
【原出願日】平成15年4月30日(2003.4.30)
【出願人】(594096966)株式会社ハギワラシスコム (32)
【Fターム(参考)】