(57)【特許請求の範囲】
【請求項１】
記憶装置と外部装置との接続を仲介し、前記外部装置が前記記憶装置にアクセスするときには前記外部装置のファイルシステムに前記記憶装置へのアクセスを制御させる情報処理装置において、
前記外部装置から前記情報処理装置へデータ転送の準備ができたか否かを問い合わせる第一のコマンドを受信したときに、接続している前記記憶装置へのアクセスが禁止されているか否かの状態であるアクセス状態が、その前に前記第一のコマンドを受信したときから変化したか否かを判定する判定部と、
前記判定部により前記アクセス状態が変化したと判定された場合に、前記アクセス状態を問い合わせる第二のコマンドを前記外部装置から前記情報処理装置へ送信させるための所定の信号を、前記外部装置へ送信する応答部と、
を備える情報処理装置。
【請求項２】
記憶装置と外部装置との接続を仲介し、前記外部装置が前記記憶装置にアクセスするときには前記外部装置のファイルシステムに前記記憶装置へのアクセスを制御させる情報処理装置において、
前記外部装置からＳＣＳＩコマンド中のTest Unit Readyコマンドを受信したときに、接続している前記記憶装置へのアクセスが禁止されているか否かの状態であるアクセス状態が、その前に前記第一のコマンドを受信したときから変化したか否かを判定する判定部と、
前記判定部により前記アクセス状態が変化したと判定された場合に、ＳＣＳＩコマンド中のMode Senseコマンドを前記外部装置から前記情報処理装置へ送信させるための所定の信号を、前記外部装置へ送信する応答部と、
を備える情報処理装置。
【請求項３】
前記応答部は、前記判定部により前記アクセス状態が変化したと判定されたことに応じてエラーのステータスを通知する信号を前記外部装置へ送信した後に、前記外部装置から受信したエラーの内容を問い合わせる第三のコマンドに対する応答として前記所定の信号を送信する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記第三のコマンドは、ＳＣＳＩコマンド中のRequest Senseコマンドであり、
前記所定の信号は、センスキーを”UNIT ATTENTION”、追加センスコードを”MODE PARAMETER CHANGED”とした信号である、
請求項３記載の情報処理装置。
【請求項５】
記憶装置と、外部装置との接続を仲介し、前記外部装置が前記記憶装置にアクセスするときには前記外部装置のファイルシステムに前記記憶装置へのアクセスを制御させる情報処理装置が行う情報処理方法であって、
前記外部装置から前記情報処理装置へ書き込みの可否を問い合わせる第一のコマンドを受信したときに、接続している前記記憶装置へのアクセスが禁止されているか否かの状態であるアクセス状態が、その前に前記第一のコマンドを受信したときから変化したか否かを判定し、
前記アクセス状態が変化したと判定されたときに、前記アクセス状態を問い合わせる第二のコマンドを前記外部装置から前記情報処理装置へ送信させるための所定の信号を、前記外部装置へ送信する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアクセス経路を有する、情報処理装置の記憶装置へアクセスするための技術に関する。
【背景技術】
【０００２】
従来、記憶装置（装着された記憶媒体を含む）を有しその記憶装置へのアクセス経路を複数有する情報処理装置として、例えば、特許文献１に開示されているデジタルカメラ等が知られている。このデジタルカメラには、メモリカードを装着することができ、その装着されたメモリカードには、デジタルカメラ自体から或いはデジタルカメラに接続されたプリンタからアクセスすることができる。また、同様の情報処理装置として、メモリカードを装着可能なプリンタも知られている。プリンタに装着されたメモリカードには、プリンタ自体から或いはプリンタに接続されたホストコンピュータからアクセスすることができる。ホストコンピュータからプリンタのメモリカードにアクセスするために、プリンタとホストコンピュータは、例えば、ＵＳＢ（Universal Serial Bus）や通信ネットワーク等を介して接続される。
【０００３】
【特許文献１】特開２００６−１５７４２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般に、ＵＳＢでプリンタに接続されたホストコンピュータからプリンタのメモリカードへアクセスする際は、ホストコンピュータが備えるＯＳ（Operating System）（特に、ファイルシステム）が、そのアクセスを主に制御する。従って、例えば、ホストコンピュータからメモリカードへデータの書込みが行われる場合、書込み対象のデータが、ホストコンピュータが備えるファイルシステムのキャッシュに一時的に格納される。
【０００５】
一方、メモリカードへのアクセス経路が複数ある場合、ホストコンピュータからメモリカードへの書込みが必ずしも成功するとは限らない。一般に、排他制御により、メモリカードの記憶領域への複数経路からの同時アクセスは排他的に制限されるので、例えば、プリンタ自体がアクセスしている場合は、ホストコンピュータからのアクセスが禁止されるからである。ＵＳＢでプリンタに接続されたホストコンピュータにおいては（上述のように、ホストコンピュータのＯＳ（特に、ファイルシステム）がメモリカードへのアクセスを制御する）、メモリカード内のアクセス対象の領域がアクセス禁止であった場合、ホストコンピュータのＯＳは、書込みを試みたときにプリンタから受信するエラー通知によって、メモリカードへのアクセスが禁止されていることが知らされる。つまり、ホストコンピュータのＯＳは、キャッシュに書込み対象のデータを格納してプリンタへ書込みのコマンドを送信した後で、メモリカードへのアクセスが禁止されていることを知る。
【０００６】
ここで、ホストコンピュータが備えるＯＳが、或る種のものである場合は、エラー通知を受信してもキャッシュに格納されたデータをフラッシュすることができず、書込みをリトライし続けるといった問題がある。この状態が継続すると、ＯＳが異常処理を開始するため、ホストコンピュータやプリンタの動作が不安定になってしまうことがある。
【０００７】
この問題は、プリンタだけに限らず、複数のアクセス経路を持つ他の種類の周辺機器が備える記憶装置に、ホストコンピュータがアクセスしようとする場合にも、同様に生じ得る。
【０００８】
そこで、本発明の目的は、複数のアクセス経路を持つ情報処理装置の記憶装置へ外部装置がアクセスを行う前に、排他制御によりアクセスが禁止されているか否かをタイミング良く外部装置に通知することにある。
【課題を解決するための手段】
【０００９】
本発明に従う情報処理装置は、記憶装置と、前記記憶装置への複数のアクセス経路とを有し、前記複数のアクセス経路中の特定のアクセス経路には外部装置が接続され、前記外部装置から前記特定のアクセス経路を介して前記記憶装置にアクセスするときには前記外部装置のファイルシステムが前記記憶装置へのアクセスを制御する情報処理装置において、前記外部装置に書込み要求が発生したときに書込みデータが前記外部装置内のキャッシュに格納される前に前記外部装置が前記情報処理装置へ送信することとなっている第一のコマンドを受信したときに、前記特定のアクセス経路を介した前記記憶装置へのアクセスが排他制御により禁止されているか否かの状態であるアクセス状態が、変化したか否かを判定する判定部と、前記判定部により前記アクセス状態が変化したと判定されたときに、前記アクセス状態を前記情報処理装置へ問い合わせる第二のコマンドを前記外部装置から前記情報処理装置へ送信させるための所定の応答を、前記外部装置へ送信する応答部と、を備える。
【００１０】
本発明に係る好適な実施形態では、前記外部装置から前記第一のコマンドを受信したときに、前記アクセス状態がアクセス可能状態である場合は、前記特定のアクセス経路以外の他のアクセス経路を介した前記記憶装置へのアクセスを所定時間一時的に禁止する一時的排他制御部を、更に備える。
を更に備える請求項１記載の情報処理装置。
【００１１】
本発明に係る好適な実施形態では、前記他のアクセス経路からのアクセスを一時的に禁止している間に前記外部装置から前記情報処理装置にデータの読出しが要求された場合は、前記一時的にアクセスを禁止する時間を所定時間延長する一時的排他制御時間延長部を、更に備える。
【００１２】
本発明に係る好適な実施形態では、前記第一のコマンドは、ＳＣＳＩコマンド中のTest Unit Readyコマンドであってもよく、前記第二のコマンドは、ＳＣＳＩコマンド中のMode Senseコマンドであってもよい。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
【００１４】
図１は、本発明の一実施形態に係る情報処理装置の一例としてのプリンタ２とホストコンピュータ１Ａ〜１Ｃとを有するシステム全体の構成を示す図である。
【００１５】
ホストコンピュータ（以下、ホスト）１Ａ〜１Ｃは、いずれも、例えば、ＰＣ（Personal Computer）のような汎用的なコンピュータである。ホスト１Ａ〜１Ｃは、所定の接続方式によりプリンタ２に接続され、プリンタ２に装着されたメモリカード５にアクセスする。ホスト１とプリンタ２間の接続は、例えば、ＵＳＢケーブル３を介したＵＳＢ接続によって、或いはＬＡＮ（Local Area Network）等の通信ネットワーク４を介したネットワーク接続等によって行われる。本実施形態では、ホスト１Ａがプリンタ２とＵＳＢ接続され、ホスト１Ｂ及びホスト１Ｃがプリンタ２とネットワーク接続される。以下、ホスト１Ａ、ホスト１Ｂ、ホスト１Ｃを、それぞれホストＡ、ホストＢ、ホストＣと略記する。尚、同図では、プリンタ２には、一つのホスト（ホストＡのみ）がＵＳＢ接続されているが、複数のホストがＵＳＢ接続されてもよい。
【００１６】
プリンタ２にＵＳＢ接続されるホストＡは、アプリケーション１１と、ＯＳ１２と、ファイルシステム１３（通常、ＯＳ１２の一部であるが、説明の都合上、ＯＳ１２と区別して示す）と、キャッシュ１４と、ＵＳＢホスト１５とを備える。アプリケーション１１は、メモリカード５へのアクセスを行うプログラムである。ファイルシステム１３は、メモリカード５に記憶されたファイルの管理を行うプログラムである。例えば、アプリケーション１１がメモリカード５に所定のファイルの書込みを行う際は、アプリケーション１１は、その書込み要求をＯＳ１２に出す。書込み要求を受けたＯＳ１２は、ファイルシステム１３のファイルの管理機能を利用して、アプリケーション１１から指定された書込み対象のファイルをメモリカード５に書込む。この際、書込み対象のファイルの全部又は一部に相当するデータが、一時的にキャシュ１４に格納される。ＵＳＢホスト１５は、プリンタ２のＵＳＢデバイス２１との間でＳＣＳＩ（Small Computer System Interface）プロトコルに従ったデータ通信を行う。尚、本実施形態では、ホストＡとプリンタ２間の接続方式をＵＳＢ接続としたが、これに代えて、ＳＣＳＩやＡＴＡＰＩ（AT Attachment Packet Interface）やＩＤＥ（Integrated Drive Electronics）等による接続方式が採用されてもよい。
【００１７】
プリンタ２にネットワーク接続されるホストＢ及びホストＣは、アプリケーション１１と、ＯＳ１２と、ネットワークＩ／Ｆ（インタフェース）１６とを備える。アプリケーション１１とＯＳ１２は、ホストＡで説明したものと実質的に同じである。但し、ネットワーク接続の場合は、プリンタ２のメモリカード５内のファイルにアクセスするとき、ファイルシステムとしてプリンタ２側のネットワークファイルシステム２５が利用されるので、図１では、ホストＢ及びＣのファイルシステムの図示を省略してある。例えば、ホストＢがメモリカード５内のファイルに書込みを行うときには、ホストＢのＯＳ１２は、書込み対象のファイルをネットワークＩ／Ｆ１６を介してプリンタ２に送信する。そして、プリンタ２のネットワークファイルシステム２５が、書込み対象のファイルをメモリカード５に書込む。ネットワークＩ／Ｆ１６は、プリンタ２のネットワークＩ／Ｆ２３との間で所定の通信プロトコルに従ったデータ通信を行う。
【００１８】
プリンタ２は、例えば、制御部２６と、メモリカードＩ／Ｆ２７と、ＵＳＢデバイス２１と、ＵＩ（User Interface）２２と、ネットワークＩ／Ｆ２３と、ローカルファイルシステム２４と、ネットワークファイルシステム２５とを備える。
【００１９】
メモリカードＩ／Ｆ２７は、着脱可能な記憶媒体、例えば、ＳＤカードやＵＳＢメモリ等のメモリカード５をプリンタ２に装着するためのインタフェースである。メモリカードＩ／Ｆ２８を介してプリンタ２に装着されたメモリカード５には、プリンタ２自体がＵＩ２２を介してアクセスできる他、上述したように、プリンタ２に接続されたホスト１からもアクセスできる。
【００２０】
本実施形態では、メモリカード５にアクセスするためのアクセス経路として、次の三つが備えられる。即ち、プリンタ２のＵＩ２２からの経路（以下、「ローカル経路」）と、ＵＳＢ接続されたホストＡからの経路（以下、「ＵＳＢ経路」）と、ネットワーク接続されたホストＢ又はホストＣからの経路（以下、「ネットワーク経路」）とである。ＵＳＢ経路及びネットワーク経路を介したメモリカード５へのアクセスについては、上述した通りである。ローカル経路を介してアクセスする場合は、ファイルシステムとしてローカルファイルシステム２４が利用される。また、メモリカード５へのアクセスの指示は、ＵＩ２２を介したユーザ入力によって行われる。
【００２１】
プリンタ２の制御部２６は、例えば、ＣＰＵ（Central Processing Unit）及びプログラムメモリ等を有するマイクロコンピュータであり、プリンタ２全体の制御を行う。例えば、制御部２６は、プリンタ２が有する基本機能の一つである印刷機能を実現するために印刷エンジン（図示しない）を制御する。また、制御部２６は、ホスト１やプリンタ２自体がメモリカード５へアクセスできるようにするために、それぞれのアクセス経路を構成する各部を制御する。更に、制御部２６は、メモリカード５へのアクセスに関する状態（特に、排他制御によってアクセスが禁止されているか否かを示す状態であり、以下、「アクセス状態」）を管理する。アクセス状態の管理は、例えば、制御部２６が、少なくともＵＳＢ経路の各々ごとに、その経路からのアクセスが排他制御により禁止されていない状態（アクセス可能状態）であるか、それともその経路からのアクセスが排他制御により禁止されている状態（アクセス不可状態）であるかを記憶することにより行われる。以下、ホストＡからＵＳＢ経路を介してメモリカード５にアクセスすることが排他制御により禁止されているか否かを示す状態を、「ＵＳＢ経路のアクセス状態」と表記する。排他制御により、メモリカード５への複数経路からの同時アクセスは、排他的に制限されるので、例えば、メモリカード５がローカル経路又はネットワーク経路のいずれかを介してアクセスされている場合は、ＵＳＢ経路のアクセス状態がアクセス不可状態となる。逆に、メモリカード５がローカル経路及びネットワーク経路のいずれを介してもアクセスされていない場合は、ＵＳＢ経路のアクセス状態がアクセス可能状態となる。尚、メモリカード５がいずれのアクセス経路を介してもアクセスされていない場合は、全てのアクセス経路についてのアクセス状態がアクセス可能状態となる。このように、各アクセス経路のアクセス状態は、メモリカード５へのアクセスの状況（全てのアクセス経路を含めたアクセスの状況）に応じて変化する。後述するように、制御部２６は、ＵＳＢで使われるコマンド体系（例えば、ＳＣＳＩプロトコル）における、デバイスにデータ転送の準備ができたか否かを問う所定のコマンド（例えば、Test Unit Readyコマンド）の受信を契機として、ＵＳＢ経路からのアクセス状態をホストＡに通知するが、制御部２６は、この通知したアクセス状態（直近のもの）をも記憶しておく。
【００２２】
上述したように、アクセス状態の管理は、少なくともＵＳＢ経路の各々について行われればよい。ＵＳＢ経路を介したアクセスの制御は、ホスト（本実施形態の場合、ホストＡ）のＯＳが行うので、ホストのＯＳが書込みデータをホストのキャッシュに書込む前にアクセス状態をそのＯＳに知らせたいからである。尚、制御部２６は、ＵＳＢ経路だけでなく、全てのアクセス経路の各々について、アクセス状態を管理してもよい。
【００２３】
以上が、システム全体の構成についての説明である。以下では、プリンタ２とプリンタ２にＵＳＢ接続されたホストＡとの動作について説明する。尚、プリンタ２にＵＳＢ接続されるホストが複数ある場合は、それぞれのホストについて、以下で説明するようなプリンタ２とホストＡとの間で行われる処理を、プリンタ２との間で行うことができる。
【００２４】
図２は、ＵＳＢ接続されたホストＡのＯＳ１２Ａとプリンタ２間の通信の流れを示す図である。
【００２５】
ホストＡのＵＳＢホスト１５とプリンタ２のＵＳＢデバイス２１とがＵＳＢケーブル３により接続されてＵＳＢ接続が確立すると、ホストＡのＯＳ１２Ａからプリンタ２へTest Unit Readyコマンドが送信される（Ｓ１０）。Test
Unit Readyコマンドは、ＳＣＳＩコマンドの一種であり、ホストＡのＯＳ１２Ａが、デバイス（ここでは、プリンタ２）にデータ転送（データの書込みや読出し）の準備ができたか否かの状態等を確認するために、デバイスに対して定期的又は不定期的に送信するコマンドである。Test Unit Readyコマンドを受信したデバイスは、何らかの応答をホストＡへ返す。
【００２６】
プリンタ２にメモリカード５が未装着である場合、プリンタ２は、Test Unit Readyコマンドに対して、メモリカード未装着の通知をホストＡに返す（Ｓ１１、Ｓ１３）。
【００２７】
プリンタ２にメモリカード５が装着された後（Ｓ１４）、Test Unit Readyコマンドを受信すると（Ｓ１５）、プリンタ２は、Test Unit Readyコマンドに対して、メモリカード装着の通知をホストＡに返す（Ｓ１６）。
【００２８】
メモリカード装着の通知を受信したホストＡのＯＳ１２Ａは、ＳＣＳＩコマンドの一種であるMode Senseコマンドをプリンタ２へ送信する（Ｓ１７）。Mode Senseコマンドは、デバイスにそれが持つ種々の動作パラメータ（例えば、記憶装置の動作パラメータ）に関する情報を要求するコマンドである。Mode Senseコマンドを受信したプリンタ２は、ＵＳＢ経路のアクセス状態をホストＡに通知する（Ｓ１８）。
【００２９】
ここで、例えば、ホストＡが受信したＵＳＢ経路のアクセス状態がアクセス可能状態であれば、Ｓ１８以降、ホストＡは、メモリカード５へのアクセスを行うようになる。しかしながら、以後、ＵＳＢ経路のアクセス状態は、メモリカード５へのプリンタ２自体や他のホストＢ、Ｃからのアクセスの状況により変化する。そのため、その後のある時点で書込みを試みた際にアクセスが禁止されていることが知らされたとしても、ホストＡのＯＳ１２Ａは、キャッシュ１４に格納されたデータをフラッシュできず、上述したような問題を生じる。
【００３０】
そこで、本実施形態に係るプリンタ２は、Mode Senseコマンドに応答してＵＳＢ経路のアクセス状態をホストＡに通知した後、ホストＡから定期的又は不定期的に送信されるTest Unit Readyコマンドの受信を契機として、ＵＳＢ経路のアクセス状態が前回から変化したか否かを判定して、判定結果に応じた応答をホストＡに返信する。以下、このような、ＵＳＢ経路のアクセス状態が変化したか否かを判定して応答をホストＡに返信する処理を「アクセス状態確認処理」と呼ぶ。即ち、プリンタ２は、Test Unit Readyコマンドを受信すると（Ｓ１９、Ｓ２１）、アクセス状態確認処理を行う（Ｓ２０、Ｓ２２）。ホストＡのＯＳ１２Ａは、書込み要求が生じたとき、書込みデータをキャッシュ１４に書込む前にTest Unit Readyコマンドをプリンタ２へ送信し、プリンタ２にてアクセス状態確認処理が行われる。これにより、ホストＡのＯＳ１２Ａは、書込みを試みる直前に、メモリカード５へのアクセスが禁止されているか否かを知ることができる。
【００３１】
図３は、アクセス状態確認処理のフローチャートである。
【００３２】
プリンタ２がTest Unit Readyコマンドを受信すると（Ｓ３０）、プリンタ２の制御部２６は、現在のＵＳＢ経路のアクセス状態を判定する（Ｓ３１）。
【００３３】
ＵＳＢ経路のアクセス状態がアクセス可能状態である場合は（Ｓ３１：ＹＥＳ）、制御部２６は、他のアクセス経路（即ち、ローカル経路とネットワーク経路）に対するメモリカード５への一定時間の一時的なアクセス制限（つまり、一時的な排他制御）を開始する（Ｓ３２）（開始後、上記一定時間が経過するとアクセス制限は解除される）。即ち、制御部２６は、一定時間（例えば、５０ｍｓの間）、他のアクセス経路を介したメモリカード５へのアクセスが行われないように制御する。これにより、ホストＡがアクセス状態確認処理によってＵＳＢ経路のアクセス状態がアクセス可能状態であることを知ってから書込みを行うまでの間に、他のアクセス経路を介したアクセスが行われることによってＵＳＢ経路のアクセス状態がアクセス不可状態に変化することを防止することができる。アクセス制限される上記一定時間は、例えば、書込み要求が発生した後にTest Unit Readyコマンドが送信されてから書込みが行われるまでに要するおおよその時間に基づいて、望ましくは、上記一定時間内に上記書込みが完了し、そして書込み完了直後に上記一定時間が満了するように、定めることができる。例えば、Test Unit Readyコマンドが送信される周期が１ｓであり、アクセス制限される時間が５０ｍｓである場合は、Test Unit Readyコマンドが送信されてから５０ｍｓの間は、他のアクセス経路を介したアクセスが禁止され、その間にホストＡからの書込みが完遂され、その５０ｍｓが経過すると、他のアクセス経路を介したアクセスが可能となる。
【００３４】
一方、ＵＳＢ経路のアクセス状態がアクセス不可状態である場合は（Ｓ３１：ＮＯ）、Ｓ３２の処理が行われずに、本処理は、Ｓ３３に移行する。
【００３５】
Ｓ３３では、制御部２６は、ＵＳＢ経路のアクセス状態が、前回のアクセス状態確認処理を行ったときから変化したか否かを判定する。即ち、前回のアクセス状態確認処理においてホストＡに通知されたアクセス状態と、現在のアクセス状態とが同じであるか否かが判定される。
【００３６】
ＵＳＢ経路のアクセス状態が、前回のアクセス状態確認処理を行ったときから変化していない場合は（Ｓ３３：ＮＯ）、プリンタ２は、ステータスを”ＧＯＯＤ”に設定した応答をホストＡに送信する（Ｓ３４）。ステータスが”ＧＯＯＤ”に設定された応答を受信したホストＡは、ＵＳＢ経路のアクセス状態に変化がないことを認識する。
【００３７】
一方、ＵＳＢ経路のアクセス状態が、前回のアクセス状態確認処理を行ったときから変化している場合は（Ｓ３３：ＹＥＳ）、プリンタ２は、ステータスを”ＥＲＲＯＲ”に設定した応答をホストＡに送信する（Ｓ３５）。ステータスが”ＥＲＲＯＲ”に設定された応答を受信したホストＡのＯＳ１２Ａは、ＳＣＳＩコマンドの一種であるRequest Senseコマンドをプリンタ２に送信する。Request Senseコマンドは、”ＥＲＲＯＲ”の具体的内容（つまり、この例では、ＵＳＢ経路のアクセス状態が変化したということ）をデバイスに要求するコマンドである。
【００３８】
Request Senseコマンドを受信したプリンタ２は、センスキーを”UNIT ATTENTION”、追加センスコードを”MODE PARAMETER CHANGED”にそれぞれ設定した応答をホストＡに送信する（Ｓ３６、Ｓ３７）。この応答は、要するに、ＵＳＢ経路のアクセス状態が変化したということをホストＡに知らせている。上記の応答を受信したホストＡは、変化後のＵＳＢ経路のアクセス状態を知るために、Mode Senseコマンドをプリンタ２に送信する。
【００３９】
Mode Senseコマンドを受信したプリンタ２は、図２におけるＳ１７及びＳ１８と同様に、ＵＳＢ経路のアクセス状態をホストＡに通知する（Ｓ３８、Ｓ３９）。
【００４０】
以上の処理が行われることにより、プリンタ２は、Test Unit Readyコマンドの受信を契機に、ＵＳＢ経路のアクセス状態が変化したか否かを、ホストＡに通知することができる。
【００４１】
図４は、ホストＡのＯＳ１２Ａがメモリカード５に書込みを行う際のフローチャートである。
【００４２】
アプリケーション１１Ａから書込み要求が発生すると（Ｓ５０）、ＯＳ１２Ａは、Test Unit Readyコマンドをプリンタ２に送信する（Ｓ５１）。この時点では、ホストＡは、メモリカード５へのアクセスが禁止されていないと認識しているものとする。
【００４３】
Test Unit Readyコマンドを受信したプリンタ２は、アクセス状態確認処理を行う（Ｓ５２）。Ｓ５２により、ＯＳ１２Ａは、ＵＳＢ経路のアクセス状態が変化したか否か（即ち、排他制御によりメモリカード５へのアクセスが禁止されているか否か）を知ることができる。そして、メモリカード５へのアクセスが禁止されていなければ、図３のＳ３２で示した他のアクセス経路に対する一時的なアクセス制限が行われる。
【００４４】
アクセス状態確認処理により（特に、図３のＳ３２以降の処理の結果として）ＯＳ１２Ａがメモリカード５へのアクセスが禁止されていないと知った場合は（Ｓ５３：ＹＥＳ）、ＯＳ１２Ａは、書込み要求に従った書込みを行う（即ち、書込みデータをキャッシュ１４に書込み、そして、書込みコマンドとキャッシュ１４内の書込みデータとをメモリカード５へ転送する）（Ｓ５４）。
【００４５】
一方、メモリカード５へのアクセスが禁止されていると知った場合は（Ｓ５３：ＮＯ）、ＯＳ１２Ａは、書込みを行わずに（従って、キャッシュ１４に書込みデータを書込まずに）、アプリケーション１１Ａにその旨の応答を返して、処理を終了する。
【００４６】
図５は、図４におけるフローチャートの変形例である。
【００４７】
図４のフローでは、Ｓ５３（Ｓ７３に相当）の後すぐに書込みが行われた。しかし、書込みを行う前に、メモリカード５のＦＡＴ（File Allocation Tables）の読出しが行われることがある。この読出しが行われている最中にメモリカード５の内容が他からのアクセスで書き換えられることは、好ましくない。図５のフローは、このことを考慮した改良が加わったもので、以下のような処理が行われる。
【００４８】
Ｓ７３までは、図４と同様である。Ｓ７３の後にＦＡＴの読出しが行われた場合は（Ｓ７４）、プリンタＡの制御部２６は、図３のＳ３２で開始した他のアクセス経路に対する一定時間の一時的なアクセス制限を、更に所定時間延長する（Ｓ７５）。この延長時間は、ＦＡＴの読出しと書込みデータの書込みに要するおおよその時間に基づいて、望ましくは、この一定時間の間にＦＡＴの読出しと書込みデータの書込みが完了され、そして、書込み完了の直後に、この一定時間が満了するように、定められる。
【００４９】
更に読出しが繰返された場合は（Ｓ７６）、プリンタＡの制御部２６は、再び、他のアクセス経路に対する一定時間の一時的なアクセス制限を、所定時間延長する（Ｓ７７）。
【００５０】
最後に、ホストＡは、書込み要求に従った書込みを行う（Ｓ７８）。この書込みは、上記一時的なアクセス制限が行われている間になされることになる。
【００５１】
上述した本発明の幾つかの実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【００５２】
例えば、本実施形態では、プリンタ２に装着された記憶媒体をアクセスの対象としたが、これに代えて、プリンタ２が内蔵する記憶装置をアクセスの対象とすることもできる。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態に係る情報処理装置の一例としてのプリンタとホストコンピュータとを有するシステム全体の構成を示す図である。
【図２】ＵＳＢ接続されたホストＡのＯＳとプリンタ間の通信の流れを示す図である。
【図３】アクセス状態確認処理のフローチャートである。
【図４】ホストＡのＯＳがメモリカードに書込みを行う際のフローチャートである。
【図５】図４におけるフローチャートの変形例である。
【符号の説明】
【００５４】
１…ホストコンピュータ、２…プリンタ、３…ＵＳＢケーブル、４…通信ネットワーク、５…メモリカード
【図１】
0005104143.tif 000002
【図２】
0005104143.tif 000003
【図３】
0005104143.tif 000004
【図４】
0005104143.tif 000005
【図５】
0005104143.tif 000006