(57)【要約】【課題】複数の論理ユニットの全てに対して設定ファイルの検索を行うことができ、また、応答に時間のかかる論理ユニットが新たに市場に出てきた場合でも、容易に対応することができる周辺装置を提供することを目的とする。【解決手段】複数の論理ユニットを具備する外部ストレージ機器が、周辺装置に接続された場合、固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また、上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在する場合、タイムアウト時間を設定することを特徴とする周辺装置である。【選択図】図３
2010039970.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理ユニットを具備する外部ストレージ機器が、周辺装置に接続された場合、固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また、上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在すれば、タイムアウト時間を設定することを特徴とする周辺装置。
【請求項２】
請求項１において、
上記固体情報取得要求に対して固体情報を返却しない論理ユニットに対して、固体情報取得コマンドを繰り返し送信する送信手段と；
上記タイムアウト時間を経過した後は、上記固体情報取得要求に対して固体情報を返却した論理ユニットのみに対して、読み書きする読み書き手段と；
を有することを特徴とする周辺装置。
【請求項３】
複数の論理ユニットを具備するストレージ機器が接続された場合、複数の論理ユニットのそれぞれに対して、接続に必要な固体情報を要求するコマンドを送信する固体情報取得コマンド送信手段と；
複数の論理ユニットを具備する外部ストレージ機器が接続された場合、固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在すれば、任意のタイムアウト時間を設定するタイムアウト時間設定手段と；
上記固体情報取得要求に対して固体情報を返却しない論理ユニットに対して、上記固体情報取得コマンドを繰り返し送信する送信手段と；
上記タイムアウト時間を経過した後は、上記固体情報取得要求に対して固体情報を返却した論理ユニットのみに対して、アプリケーションに読み書きさせることを許可する許可手段と；
を有することを特徴とする周辺装置。
【請求項４】
複数の論理ユニットを具備するストレージ機器が接続された場合、複数の論理ユニットのそれぞれに対して、接続に必要な固体情報を要求するコマンドを送信し、接続された外部ストレージ機器が保持する複数の論理ユニットの全てについて、リード処理、またはライト処理を実行する必要があるアプリケーションを有する周辺装置において、
複数の論理ユニットを具備する外部ストレージ機器が接続された場合、固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在すれば、任意のタイムアウト時間を設定することを特徴とする周辺装置。
【請求項５】
請求項１〜請求項４のいずれか１項において、
上記ストレージ機器に記憶された情報を読み取る読取手段を有し、
周辺装置の設定を行うための設定情報が上記ストレージ機器に記憶され、上記読取手段によって読み取られた上記設定情報に基づいて設定することを特徴とする周辺装置。
【請求項６】
請求項１〜請求項４のいずれか１項において、
上記外部ストレージ機器が着脱可能であり、上記外部ストレージ機器の論理ユニット数に応じて、上記タイムアウト時間を変化させることを特徴とする周辺装置。
【請求項７】
請求項１〜請求項４のいずれか１項において、
上記タイムアウト時間が経過する前に、上記周辺装置に固体情報を要求するコマンドに、全ての論理ユニットが固体情報を返却した際は、直ちに全ての論理ユニットに対する読み書き、及びアプリケーションによる指定を許可することを特徴とする周辺装置。
【請求項８】
請求項１〜請求項４のいずれか１項において、
上記タイムアウト時間が終了した後に、ユーザインタフェースを用いて、外部ストレージが接続された旨を、ユーザに通知することを特徴とする周辺装置。
【請求項９】
複数の論理ユニットを具備する外部ストレージ機器が、周辺装置に接続された場合、固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また、上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在すれば、タイムアウト時間を設定することを特徴とする周辺装置接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置及び周辺装置接続方法に関し、詳しくは、ＵＳＢメモリ等の外部ストレージ機器を、着脱自在に接続する周辺装置及び周辺装置接続方法に関する。
【０００２】
本発明は、周辺装置である複合型プリンタのうちで、特に、コピー、プリンタ、ファクシミリ、インターネットファクシミリ、及び、これらの機能のうちで、少なくとも１つの機能を有する複合型プリンタに関する。
【背景技術】
【０００３】
従来、ＵＳＢメモリやＵＳＢフラッシュメモリと呼ばれる外部記憶装置（以下、「ＵＳＢメモリ」という）が様々な用途で、幅広く使用されている。
【０００４】
ＵＳＢメモリとのＩＦ（インタフェース）を具備し、アプリケーション等を用いて、画像をＵＳＢメモリに保存する装置が知られている（たとえば、特許文献１参照）。
【０００５】
ＵＳＢメモリから設定情報を読み取り、上記設定情報を用いて、本体装置を設定する装置が知られている（たとえば、特許文献２参照）。
【０００６】
また、近年ＵＳＢメモリは、大容量化、多機能化が進み、１つのＵＳＢメモリに複数の論理ユニット（ＬｏｇｉｃａｌＵｎｉｔ）を具備するＵＳＢメモリが様々、存在し、市場においても販売されている（たとえば、特許文献３参照）。
【０００７】
複数の論理ユニットを具備するＵＳＢメモリは、論理的に独立した複数のメモリとして扱うことができる。
【０００８】
また、複合型プリンタ等の周辺装置も高機能化し、様々なアプリケーションをユーザに提供している。
【特許文献１】特開２００６−１５７１４０号公報
【特許文献２】特開２００７−２１９９０９号公報
【特許文献３】特開２００６−７９６３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、様々なＵＳＢメモリが数多く存在するが故に、動作が遅いものや、動作が不安定なＵＳＢメモリも珍しくはない。
【００１０】
複数の論理ユニットを持つＵＳＢメモリ内の全ての論理ユニットを用いて実行するアプリケーションや、全ての論理ユニットを参照してファイル等を探すアプリケーションでは、動作が遅いか、正常に動作しないＵＳＢメモリが接続された場合を考慮していない。
【００１１】
たとえば、ユーザが、周辺機器の設定情報を、外部ストレージに予め保存し、この外部ストレージを周辺機器に接続すると、周辺機器が外部ストレージから設定情報を読み出し、周辺機器の設定を変更する機能は、既に存在している。
【００１２】
このような機能を持つ周辺機器において、複数論理ユニットを有する外部ストレージ機器のいずれかの論理ユニットに、ユーザが設定情報を保存した状態で、上記外部ストレージ機器を周辺機器に接続した場合、次の問題がある。つまり、複数論理ユニット内のいずれかの論理ユニットに、ユーザが入れた周辺機器設定ファイルを、周辺機器が確実に発見するためには、次の処理が必要である。つまり、全ての論理ユニットがセクター情報や最大論理アドレス値などの固有情報要求に正しく応答することを待ち、その後に、全ての論理ユニットを検索する必要がある。
【００１３】
しかし、その際に固有情報要求に対する応答が遅い場合や、応答しない論理ユニットが存在する場合に、検索時間が非常に長くなり、または、検索を実行できないという問題がある。
【００１４】
また、全ての論理ユニットが固有情報要求に正しく返してこなくても、検索の実施ができるようにし、応答の遅い論理ユニットが存在すると、検索を実施するタイミングによっては、検索結果が変わる可能性があるという問題がある。
【００１５】
本発明は、複数の論理ユニットの全てに対して設定ファイルの検索を行うことができ、また、応答に時間のかかる論理ユニットがある場合でも、容易に対応することができる周辺装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、複数の論理ユニットを具備する外部ストレージ機器が、周辺装置に接続された場合、固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また、上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在すれば、タイムアウト時間を設定することを特徴とする周辺装置である。
【発明の効果】
【００１７】
本発明によれば、複数の論理ユニットの全てに対して設定ファイルの検索を行うことができ、また、タイムアウト時間を調整するので、応答に時間のかかる論理ユニットがある場合でも、容易に対応することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１９】
複数の論理ユニットを有する外部ストレージ機器が接続された際に、次のようにする。つまり、少なくとも１つの固体情報取得要求に、固体情報を返却しない論理ユニットが存在し、また少なくとも１つの上記固体情報取得要求に、固体情報を返却した論理ユニットが存在すれば、任意のタイムアウト時間を設定する。
【００２０】
上記論理ユニットは、具体的には、ＳＣＳＩ規格における最大ＬＵＮ（ＬｏｇｉｃａｌＵｎｉｔＮｕｍｂｅｒ）であり、ホスト機器は、各論理ユニットとＳＣＳＩプロトコルとを用いて通信し、データの転送、ステータスの取得を行う。なお、上記ＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅである。
【００２１】
外部ストレージ機器は、具体的には、ＵＳＢメモリ、ＨＤＤ、メモリカードを接続した状態のカードリーダである。
【００２２】
固体情報取得要求は、たとえば、ＳＣＳＩコマンドにおいて、ＲｅａｄＣａｐａｃｉｔｙコマンド、ＭｏｄｅＳｅｎｓｅコマンドであり、各論理ユニットに対し送信するＳＣＳＩ規定のコマンドである。固体情報取得要求は、ホストである周辺装置が、デバイスである外部ストレージ機器に対して送信するコマンドである。
【００２３】
上記ＲｅａｄＣａｐａｃｉｔｙコマンド、ＭｏｄｅＳｅｎｓｅコマンドの返答としてデバイスは、固体情報を返却する。上記固体情報は、セクター情報、最大論理アドレス値、ライトプロテクトの有無などのＲｅａｄ／Ｗｒｉｔｅに必須の情報である。
【００２４】
ただし、固体情報取得手段は、上記ＲｅａｄＣａｐａｃｉｔｙ／ＭｏｄｅＳｅｎｓｅコマンドに限定するものではない。
【００２５】
ＳＣＳＩコマンドにおいて、各種コマンドを受けたデバイスは、要求されたデータを返却するとともに、通信成功したか否かの情報も返却する。
【００２６】
固体情報を取得できない条件は、なんらかの理由で通信が成功しない場合、コマンドに応答してこない場合等である。
【００２７】
固有情報を取得できない論理アドレスに対しては、Ｒｅａｄ／Ｗｒｉｔｅアクセスを行わない。このために、外部ストレージ機器に保存されている情報のリード、外部ストレージ機器へのライト処理を実行できない。
【００２８】
実施例１において、周辺装置と外部ストレージ機器との間における通信は、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）と呼ばれるインタフェースが用いられる。通信プロトコルは、いわゆるＳＣＳＩ規格で定義されているプロトコルを用いる。ＳＣＳＩ規格は、主としてＳＣＳＩ−２を示す。
【００２９】
図１は、本発明の実施例１である複合型プリンタ１０と、ＵＳＢメモリ２とを示す図である。
【００３０】
複合型プリンタ１０は、周辺装置の例である外部ストレージを着脱可能なプリンタである。ＵＳＢメモリ２は、内部的に複数の論理ユニットを具備するメモリである。
【００３１】
まず、複合型プリンタ１０の構成について説明する。
【００３２】
複合型プリンタ１０は、印字した原稿の排紙機構３と、着脱可能なＵＳＢ機器とのＩＦ部であるＵＳＢホスト部４と、表示部５と、印刷する紙を搭載する給紙部６と、操作部７とを有する。また、複合型プリンタ１０は、ＬＡＮ接続が可能なＩＦ部や、ＦＡＸ機能を具備している。
【００３３】
複合型プリンタ１０には、ＰＣ等の外部機器によりプリンタ設定ファイルが保存されたＵＳＢメモリが接続される。その状態で、ユーザによる操作部７の操作に応じてプリンタのファイル検索アプリケーションを選択し、実行する。これによって、プリンタがＵＳＢメモリ内の設定ファイルを発見し、設定ファイルに含まれている設定情報に従って、本体の設定を変更する。この本体の設定は、具体的には、ＦＡＸ設定や、ネットワーク設定である。
【００３４】
また、ここではユーザが操作部７を操作してファイル検索アプリケーションを実行させているが、ファイル検索機能の開始方法はこれに限定するものではない。たとえば、ＵＳＢメモリが接続されると自動的にファイル検索機能を実行するようにしてもよい。
【００３５】
また、実施例１では、ファイル検索を例として示すが、ファイル検索のみではなく、複数の論理ユニットの情報を使用するアプリケーションにも適用することができる。
【００３６】
ＵＳＢメモリ２は、内部的に複数の論理ユニットを有する。
【００３７】
論理ユニットは、ＳＣＳＩにおけるＬＵＮ（ＬｏｇｉｃａｌＵｎｉｔＮｕｍｂｅｒ）である。
【００３８】
複合型プリンタ１０、ＵＳＢメモリ２は、共にＵＳＢマスストレージクラス、及びＳＣＳＩコマンドに対応しているコントローラを具備し、ＳＣＳＩ通信を実現する。
【００３９】
また、複合型プリンタ１０には、複数の論理ユニットを具備するストレージ機器が接続された場合、複数の論理ユニットのそれぞれに対して、接続に必要な固体情報を要求するコマンドを送信する固体情報取得コマンド送信手段が設けられている。
【００４０】
複数の論理ユニットを具備する外部ストレージ機器が接続された場合、次の条件を満たせば、任意のタイムアウト時間を設定するタイムアウト時間設定手段が、複合型プリンタ１０に設けられている。上記条件は、上記固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在するという条件である。
【００４１】
さらに、複合型プリンタ１０には、上記固体情報取得要求に対して固体情報を返却しない論理ユニットに対して、上記固体情報取得コマンドを繰り返し送信する送信手段が設けられている。しかも、複合型プリンタ１０には、上記タイムアウト時間を経過した後は、上記固体情報取得要求に対して固体情報を返却した論理ユニットのみに対して、アプリケーションに読み書きさせることを許可する許可手段が設けられている。
【００４２】
そして、上記アプリケーションは、接続された外部ストレージ機器が保持する複数の論理ユニットの全てについて、リード処理、またはライト処理を実行し、周辺装置に設けられている。
【００４３】
加えて、上記外部ストレージ機器が着脱可能であり、複合型プリンタ１０は、上記外部ストレージ機器の論理ユニット数に応じて、上記タイムアウト時間を変化させる。また、複合型プリンタ１０は、上記タイムアウト時間が終了した後に、ユーザインタフェースを用いて、外部ストレージが接続された旨を、ユーザに通知する。
【００４４】
なお、複合型プリンタ１０に、ストレージ機器に記憶された情報を読み取る読取手段が設けられている。
【００４５】
次に、接続時の処理と、使用するＳＣＳＩコマンドとについて説明する。
【００４６】
図２は、接続時の処理と、使用するＳＣＳＩコマンドとを示す図である。
【００４７】
図２の左側が、ホスト装置である複合型プリンタであり、図２の右側が、デバイス装置であるＵＳＢメモリである。図２の上から下の順番で、コマンドを送受信する。
【００４８】
接続時に、ホストである複合型プリンタ１０と、デバイスであるＵＳＢメモリ２との間で、エナミュレーションと呼ばれる初期識別処理を実施する。つまり、ホストは、デバイスがマスストレージクラスのデバイスであることを認識し、しかも、ＳＣＳＩコマンドに対応することを認識する。
【００４９】
その後に、図２に記載してあるＳＣＳＩコマンドでの通信を開始する。
【００５０】
Ｓ０：ＧｅｔＭａｘＬｕｎコマンドは、ホストよりデバイスに送信されるコマンドであり、論理ユニット数の問い合わせコマンドである。
【００５１】
図２において、外部ストレージ機器の論理ユニット数を２つとしている。
【００５２】
Ｓ１：Ｓ０を受けたデバイスが送信するＧｅｔＭａｘＬｕｎに対する応答コマンドである。これを受けることによって、ホストは、デバイスの論理ユニット数を取得する。
【００５３】
Ｓ２：Ｉｎｑｕｉｒｙコマンドは、ホストから、指定論理ユニット（実施例１では論理ユニット番号０の論理ユニットに送信している）に対して送信されるコマンドであり、論理ユニットのデバイスタイプを要求するコマンドである。
【００５４】
Ｓ３：Ｉｎｑｕｉｒｙコマンドに対する応答コマンドであり、この応答コマンドを受けることで、ホストは論理ユニットのデバイスタイプを取得する。
【００５５】
通常のＵＳＢメモリは、デバイスタイプＤｉｒｅｃｔＡｃｃｅｓｓＭｅｍｏｒｙＤｅｖｉｃｅが返却される。
【００５６】
Ｓ４：Ｓ２と同じコマンドであり、ここでは論理ユニット番号１の論理ユニットに対してのコマンドであり、デバイスタイプを要求する。
【００５７】
Ｓ５：上記Ｓ３と同じ応答コマンドであり、ここでは論理ユニット番号１の論理ユニットから送られる。この応答コマンドを受けることで、ホストは論理ユニット番号１の論理ユニットのデバイスタイプを取得する。
【００５８】
Ｓ６：ＴｅｓｔＵｎｉｔＲｅａｄｙコマンドは、ホストより指定論理ユニット（論理ユニット番号０の論理ユニット）に対して送信する、状態問い合わせコマンドである。
【００５９】
Ｓ７：ＴｅｓｔＵｎｉｔＲｅａｄｙコマンドの応答コマンドである。ホストは、本コマンドを受け、論理ユニット番号０の論理ユニットの状態が準備完了状態か否かの情報を取得する。
【００６０】
Ｓ８：ＲｅａｄＣａｐａｃｉｔｙコマンドは、指定論理ユニットのセクターサイズ情報や最大アドレス値などの固有情報を要求するコマンドである。
【００６１】
Ｓ９：ＲｅａｄＣａｐａｃｉｔｙコマンドの応答コマンドである。論理ユニット番号０の論理ユニットのセクターサイズ情報や最大アドレス値などの固有情報を返却する。
【００６２】
Ｓ１０：ＭｏｄｅＳｅｎｓｅコマンドは、論理ユニット番号０の論理ユニットのライトプロテクト情報などの固有情報を要求するコマンドである。
【００６３】
Ｓ１１：ＭｏｄｅＳｅｎｓｅコマンドの応答コマンドである。論理ユニット番号０の論理ユニットのライトプロテクト情報などの固有情報を返却する。
【００６４】
Ｓ１２〜Ｓ１７：Ｓ６〜Ｓ１１と同じコマンドのやり取りをする。唯一の違いは、ホストの通信相手が、論理ユニット番号１の論理ユニットに対して行っている点である。
【００６５】
図２に示すホストが送信する各種コマンドは、デバイス側の準備ができていなければ、エラー応答をするので、通常、ホストは、固体情報を取得するために、取得できるまで定期的にコマンドを出し続ける。
【００６６】
固体情報を取得しなければ、Ｗｒｉｔｅコマンド、Ｒｅａｄコマンドを実施できない。
【００６７】
当然、上記ファイル検索等も、固体情報を取得できていない論理ユニットに対しては行えない。上記固有情報は、実施例１におけるＳＣＳＩコマンドに限定するものではなく、固有情報を返却する全てのＳＣＳＩコマンドである。
【００６８】
次に、実施例１において、タイマ処理の実施条件と実施方法とについて説明する。
【００６９】
図３は、実施例１において、タイマ処理の実施条件と実施方法とを示すフローチャートである。
【００７０】
接続した後に、図２のＳ５（Ｉｎｑｕｉｒｙコマンド応答コマンド受信後に、図３のＳＴＡＲＴから、固体情報取得処理）が始まる。
【００７１】
Ｓ２０：初期値０は、複合型プリンタがコマンドを送り、論理ユニット番号が０から始まることである。
【００７２】
実施例１では、たとえば２つの論理ユニットを有する場合、論理ユニット番号０から１の順番で通信する。ＳＣＳＩ規格でいうＬｏｇｉｃａｌＵｎｉｔＮｕｍｂｅｒは、０から始まるので、２つの論理ユニットを有する場合、論理ユニット番号は、それぞれ０、１である。
【００７３】
接続時は、Ｓ２０で、論理ユニット番号０に対する通信から始まる。Ｓ２１〜Ｓ３０の処理を、全て論理ユニット番号０から実行する。
【００７４】
本実施例は、どの論理ユニットがどのコマンドに正しく応答したかということと、取得したデータとを、Ｓ２４、Ｓ２８で記録保持し、Ｓ２１、Ｓ２５、Ｓ３０では、この情報が記録されているか否かを参照する。
【００７５】
Ｓ２１で、既に論理ユニット０番から、ＲｅａｄＣａｐａｃｉｔｙ情報を取得したか否かを判定する。接続後に、最初のＳ２１で判断処理であれば、未だに取得できていないと判断すると、取得していないので、Ｓ２２へ進む。
【００７６】
Ｓ２２で、上記ＲｅａｄＣａｐａｃｉｔｙコマンドを送信する。Ｓ２３で、ＲｅａｄＣａｐａｃｉｔｙコマンドの応答コマンドを正常に受信できたか否かを判断する。正常に受信できれば（Ｓ２３でＹＥＳ）、Ｓ２４で、上記のように、取得データを内部で記録保持する。またこのとき、データの取得が完了したことを示す情報を保存する。
【００７７】
一方、正常に受信できなければ（Ｓ２３でＮＯ）、取得データが無いので、内部に記憶保持しない。このとき、論理ユニット番号０のデータの取得が失敗したという情報を記録保持してもよい。
【００７８】
Ｓ２５〜Ｓ２８は、上記Ｓ２１〜Ｓ２４において、コマンドの種類が異なるのみである。
【００７９】
Ｓ２９で、タイマ起動中でタイマ時間満了したか否かを判定する。タイマ起動中で時間が満了すれば、無条件でタイマを止め、ＥＮＤへ向かい、処理を終了する。
【００８０】
Ｓ３０で、全ての論理ユニットのＲｅａｄＣａｐａｃｉｔｙとＭｏｄｅｓｅｎｓｅで取得する固体情報を、共に取得できたか否かを判断する。この判断は、Ｓ２４、Ｓ２８で記憶された、データの取得が完了したことを示す情報に基づき判断される。またはＳ２３、Ｓ２７でＮＯのときに、データの取得が失敗したという情報を記録保持する場合には、この情報に基づき判断してもよい。
【００８１】
たとえば、２つの論理ユニットを有する外部ストレージ機器を接続した後に、初めてＳ３０を判断した場合、論理ユニット番号０に対する処理のみで、論理ユニット番号１に対して固有情報取得コマンドを送る処理を行っていないので、Ｓ３１へ進む。Ｓ３１で、実施例１であるタイマ起動条件を満たすか否かを判定する。
【００８２】
タイマ起動条件は、次の条件である。複数の論理ユニットを有する外部ストレージ機器が接続された際に、次の場合であれば、任意のタイムアウト時間を設けた。つまり、少なくとも１つの上記固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また少なくとも１つの上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在する場合に、任意のタイムアウト時間を設けた。
【００８３】
Ｓ３１で、タイマ起動条件を満たしていると判断したら、Ｓ３２で、タイマ起動する。
【００８４】
このタイマ起動は、プリンタ内部のシステムが保持するシステムタイマ等を用いる。
【００８５】
そして、Ｓ３４で、次の論理ユニットへ移行し、次のＳ２１から始まる処理は、全て次の論理ユニット番号に対して行う。たとえば２つの論理ユニットを有する場合、論理ユニット番号０から、１の順番で進み、１まで行ったら０へ戻る。
【００８６】
たとえば、２つの論理ユニットを持つ外部ストレージが接続されている場合、まず、論理ユニット番号０に対して、Ｓ２１〜Ｓ２８の処理を行う。その後に、Ｓ３４で、論理ユニット番号１に対して行うように指示を受けるので、次は、論理ユニット１に対して、Ｓ２１〜Ｓ２８の処理を行い、固有情報を取得する。
【００８７】
全ての論理ユニットの固有情報を取得できれば、また、Ｓ２９の条件を満足すれば、Ｓ３３へ進む。Ｓ３３では、タイマが起動されている場合にはタイマを停止させて処理を終了する。
【００８８】
終了した後は、アプリケーションに対し、外部ストレージ機器が接続されたことを通知し、以後は、ユーザ操作によって、上記ファイル検索機能を行えるように許可し、本体の表示部において、外部ストレージが接続された旨を表示する。
【００８９】
本発明は、複数の論理ユニットを有するＵＳＢメモリにおいて、正しく応答しないか、応答に時間がかかる場合に、１つでも固体情報を取得できた論理ユニットが存在すれば、Ｓ３１の条件を満たし、Ｓ３２において、タイマを起動する。
【００９０】
そして、未だに取得できない論理ユニットに対して、固体情報取得コマンドを、Ｓ２１〜Ｓ２８のフロー処理で送信し、取得を試みる。タイマ満了前に取得できれば、Ｓ３０の条件から、ＥＮＤへ進む。また、固体情報を取得できない場合であっても、タイマ満了すれば、Ｓ２９の条件よりＥＮＤへ進む。
【００９１】
そしてＥＮＤに進んだ際、本実施例であれば、固体情報を取得できた論理ユニットのみに対してファイル検索の実施を、ユーザに許可する。この許可を通知するために、図３のＥＮＤ処理時には、図１の表示部５を用いてユーザに通知するようにしてもよい。
【００９２】
また、ユーザがファイル検索アプリケーションを開始するのは、本実施例のようにＵＳＢメモリ接続後に限定するものではなく、アプリケーション実施中にＵＳＢメモリを接続して、上記タイムアウト処理を実施するようにしてもよい。
【００９３】
ファイル検索の実施許可を通知された後に、ユーザは、図１記載の操作部７を用いて、ファイル検索アプリケーションを実施し、ファイル検索を実行する。この際に、ファイル検索アプリケーションは、固体情報を取得できた論理ユニットに対してのみ、ファイル検索を実施する。
【００９４】
上記タイムアウト処理後に、どの論理ユニットが固体情報を取得できたかという判断には、上述した図３のＳ２４、Ｓ２８で保存される記録情報を用いればよい。したがって、この記録情報には、固体情報の取得が完了されたという情報に加え、その論理ユニット番号が記録される。
【００９５】
また、上記記録情報に加え、図３のＥＮＤ後にデバイスが送信するＳＣＳＩコマンドの応答結果も引き続き記録情報として記録し続けてもよい。その際に、上記固体情報コマンドや前述のＳ７のＴｅｓｔＵｎｉｔＲｅａｄｙコマンドを定期的に送信し続けてもよい。そして、図３のＥＮＤ後に、固定情報を取得した論理ユニットの状態が準備状態（ＮＯＴ  ＲＥＡＤＹ）等の通信不能状態に陥った場合も、その情報を記録情報として保存しておけばよい。
【００９６】
このように上記タイムアウト処理後にも継続して上記記録情報に各論理ユニットの状態の情報を保持することで、各論理ユニットの状態を正確に把握することができる。そして、本実施例のファイル検索アプリケーション実施時には、上記記録情報に基づいて固定情報を取得できていて、且つＳＣＳＩのＲＥＡＤ、ＷＲＩＴＥコマンドを送信できる状態の論理ユニットのみにファイル検索を実施すれば有効である。
【００９７】
つまり、上記実施例では、タイムアウト時間を設け、たとえば、複数の論理ユニットのうちで、応答が遅いか、応答しない論理ユニットについて、タイムアウト時間の間だけ、繰り返し固定情報取得要求を行う。タイムアウト時間を経過しても要求に応答しなければ、その論理ユニットは正常に動作していないとみなし、正しく応答している論理ユニットのみに対して、アプリケーションからのアクセスを許可し、ファイルを検索することができる。
【００９８】
タイムアウト時間は、動作が正常な論理ユニットであれば、確実に固定情報取得要求を返す時間であり、しかもユーザがストレスを感じないと思われる程度の時間を設定すればよい。
【００９９】
上記実施例によって、複数の論理ユニットの全てに対して設定ファイルの検索を行うことができ、また、タイムアウト時間を調整するので、応答に時間のかかる論理ユニットがある場合でも、容易に対応することができる。
【０１００】
また、上記実施例では、上記タイムアウトを設ける条件が、複数の論理ユニットを有する外部ストレージを接続したときではなく、少なくとも１つの論理ユニットが固有情報取得要求に正しく応答したときである。したがって、装置としての通電後の立ち上がりが遅いか、接続時の初期化処理に時間がかかる外部ストレージの論理ユニットを、正常に動作していないと誤判定する恐れが無く、動作が不安定な論理ユニットのみを正確に検知することができる。
【０１０１】
上記実施例によれば、複数の論理ユニットを有する外部ストレージデバイスの着脱が可能な周辺装置であって、複数の論理ユニットを使用するアプリケーションにおいて、正常に動作しない外部ストレージを考慮した処理の実装が容易である。
【０１０２】
また、上記実施例において、手段を工程に置き換えれば、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、複数の論理ユニットを具備する外部ストレージ機器が、周辺装置に接続された場合、次の条件で、タイムアウト時間を設定する周辺装置接続方法の例である。上記条件は、固体情報取得要求に対して固体情報を返却しない論理ユニットが存在し、また、上記固体情報取得要求に対して固体情報を返却した論理ユニットが存在するという条件である。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施例１である周辺装置の例である外部ストレージ着脱可能な複合型プリンタ１０と、外部ストレージ装置の例である内部的に複数の論理ユニットを具備するＵＳＢメモリ２とを示す図である。
【図２】接続時の処理と、使用するＳＣＳＩコマンドとを示す図である。
【図３】実施例１において、タイマ処理の実施条件と実施方法とを示すフローチャートである。
【符号の説明】
【０１０４】
１０…複合型プリンタ、
２…複数の論理ユニットを有するＵＳＢメモリ、
３…排紙機構、
４…ＵＳＢホスト部、
５…表示部、
６…給紙部、
７…操作部。
【図１】
2010039970.tif 000003
【図２】
2010039970.tif 000004
【図３】
2010039970.tif 000005