説明

データ処理装置、データ処理方法、制御プログラムおよびそのプログラムを記録した記録媒体

【課題】着脱可能な記録媒体のファイルシステムの修復に関して効率的かつ適切に判断を行い、正常なファイルシステムを効率よく維持することができるデータ処理装置等を提供する。
【解決手段】所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部を有し、装着部に装着された記録媒体にデータを書き込むデータ処理装置が、装着部への記録媒体の着脱を検出する着脱検出部と、着脱検出部が記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶する書き込み状態記憶部と、着脱検出部が記録媒体の装着を検出した場合に、書き込み状態記憶部が記憶した状態に基づいて、装着された記録媒体に構築されたファイルシステムについて修復に関する診断を行う必要があるか否かを判断する修復診断判断部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
データ処理装置、データ処理方法、制御プログラムおよびそのプログラムを記録する記録媒体に関する。
【背景技術】
【0002】
近年、可搬性に優れたリムーバブルメモリとして、パーソナルコンピュータ(以下、PCという)、プリンタ、スキャナなどのUSB(Universal Serial Bus)インターフェイスに直接着脱することができるUSBメモリが広く用いられてきている。USBメモリでは、内蔵するメモリの記憶領域上にFAT(File Allocation Tables)と呼ばれるファイルシステムを構築して、記録したデータを管理している。FATファイルシステムでは、記録したデータを管理する管理テーブルと、記録したデータとを別々の領域に記録しており、管理テーブルを参照することにより所望のデータにアクセスすることができる。また、データを書き込む際には、データ領域にデータを記録すると共に管理テーブルを更新するようにして、書き込んだデータを管理する。
【0003】
ここで、管理テーブルと、実際に記憶しているデータとの整合が取れなくなってしまうことがある。特に、USBインターフェイスは、装着されたPCなどの機器が起動した状態でUSB機器を抜き差しする、いわゆる活線挿抜に対応する仕様となっているので、USBメモリにデータを書き込み中に関わらず、ユーザが誤ってUSBメモリを抜いてしまったり、抜けてしまうことがある。
【0004】
データの書き込み中にUSBメモリが抜けた場合、データの書き込みが強制的に中断されてしまうので、管理テーブルとデータ領域に記憶されているデータとの論理的整合が取れなくなり、ファイルシステムに記憶したデータを正しく読み取ることができなくなる。また、実際には記憶されていないデータのために管理テーブル上で記憶領域が確保されて、使用可能な記憶領域が減少してしまうこともある。
【0005】
こうした不具合を回避するため、Windows(登録商標)などのOSでは、ファイルシステムを修復・診断する機能が標準で与えられており、ユーザからの指示に従ってファイルシステムの修復・診断を実行するようになっている。ファイルシステムの診断を実行すると修復する必要があるか否かが分かる。ファイルシステムの修復を実行するとファイルシステムの不具合を解消し、整合のとれた正常なファイルシステムに戻すことができる。
【0006】
しかし、ユーザにとっては、いつ、ファイルシステムを修復すべきかが分からないので、修復する必要がないときに修復・診断の処理を行ってしまったり、修復する必要があることに気付かずに、整合のとれていないファイルシステムのまま使用し続けることがあった。
【0007】
そこで、特許文献1に記載の技術では、ファイルシステムにアクセスしたときに、前回の計算機システムのシステム終了時の状態に応じて、ファイルシステムの修復を実行するようにしている。これによれば、システムが異常終了したときには、データの書き込みが途中で強制終了されてファイルシステムに不具合が生じる可能性が高いので、ファイルシステムの修復が必要と判断することができる。
【0008】
また、USBメモリなどの着脱可能な記録媒体について、ファイルシステムの修復が必要であるか否かを特定のタイミングで判断することもある。例えば、特許文献2に記載の技術では、システムの起動時にメモリの修復が必要であるかを判断している。特許文献3に記載の技術では、メモリの装着時に判断している。特許文献4に記載の技術では、メモリに記憶されたファイルにアクセスした時に判断している。
【特許文献1】特開平5−2519号公報
【特許文献2】特開2003−85056号公報
【特許文献3】特開2003−304438号公報
【特許文献4】特開平8−227372号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1に記載の技術では、システムの終了時の状態から判断しているので、システムを起動したまま着脱することができるUSBメモリなどの記録媒体に構築されたファイルシステムに適用することはできない。また、特許文献2に記載の技術においても、システムの起動時(電源ON時)に判断しているので、同様に、システムを起動したまま着脱する記録媒体のファイルシステムには適切でない。
【0010】
また、特許文献3及び4の技術では、特定のタイミングで常に診断処理をして修復の必要性を判断しているので、修復する必要性が低いときにも比較的時間を要する診断処理を行ってしまうことになる。そのため、システムの起動が遅くなったり、特定のタイミングで当該処理にシステムのリソースが割かれたりし、正常なファイルシステムを効率よく維持することができない。
【0011】
そこで、本発明は、着脱可能な記録媒体のファイルシステムの修復に関して効率的かつ適切に判断を行い、正常なファイルシステムを効率よく維持することができるデータ処理装置、データ処理方法、制御プログラムおよびそのプログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明は、所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部を有し、前記装着部に装着された記録媒体にデータを書き込むデータ処理装置であって、前記装着部への前記記録媒体の着脱を検出する着脱検出部と、前記着脱検出部が前記記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶する書き込み状態記憶部と、前記着脱検出部が前記記録媒体の装着を検出した場合に、前記書き込み状態記憶部が記憶した状態に基づいて、前記装着された記録媒体に構築されたファイルシステムについて修復に関する診断を行う必要があるか否かを判断する修復診断判断部と、を備えることを特徴とする。
【0013】
この構成によれば、着脱検出部が記録媒体の抜き出しを検出した場合、抜き出されたときにデータを書き込んでいた状態から、装着された記録媒体に構築されたファイルシステムを診断する必要があるか否かを判断するので、修復する必要があるか否かを適切に判断することができる。なお、読み出し中および読み出しも書き込みも行っていないときに記録媒体が抜き出された場合は、ファイルシステムに不整合は生じないので、ファイルシステムの修復または診断は不要であると適切に判断することができる。さらに、修復の必要がない場合に無駄な診断を行わないことにより、ファイルシステムの起動を早くすることができる。
【0014】
ここで、前記書き込み状態記憶部は、前記記録媒体にデータを書き込み中に前記記録媒体が前記装着部から抜き出されたか否かを示す情報を記憶し、前記修復診断判断部は、前記書き込み状態記憶部が記憶した情報を参照して、前記記録媒体にデータを書き込み中に、前記記録媒体が前記装着部から抜き出された場合に、前記装着部に装着された記録媒体のファイルシステムに修復に関する診断が必要と判断することが好ましい。
【0015】
このようにすれば、書き込み状態記憶部に記憶された情報を参照することにより、データを書き込み中に装着部から抜き出された記録媒体についてファイルシステムの修復診断が必要と判断するので、修復診断を行う必要があるか否かを適切に判断することができる。
【0016】
ここで、前記書き込み状態記憶部は、前記記録媒体にデータを書き込み中に前記記録媒体が前記装着部から抜き出されたことを検出した場合に、前記抜き出された記録媒体を識別するための識別情報を記憶し、前記修復診断判断部は、前記書き込み状態記憶部が記憶した識別情報と、前記装着された記録媒体の識別情報とが一致する場合に、前記装着部に装着された記録媒体のファイルシステムに修復に関する診断が必要と判断することが好ましい。
【0017】
このようにすれば、記録媒体がデータ書き込み中に装着部から抜き出された場合に、抜き出された記録媒体の識別情報を記憶しておき、記録媒体が装着されたときには、記憶した識別情報と装着された記録媒体の識別情報とが一致する場合に、記録媒体に構築されたファイルシステムを診断する。データ書き込み中に抜き出された記録媒体を診断して必要があれば修復し、他の記録媒体が装着されても修復が必要と判断しないので、修復する必要があるか否かを記録媒体ごとに適切に判断することができる。
【0018】
ここで、前記書き込み状態記憶部は、更に、前記記録媒体にデータを書き込み中に前記記録媒体が前記装着部から抜き出されたことを検出した場合に、前記記録媒体に書き込み中であったファイルのファイル名を記憶することが好ましい。
【0019】
ここで、前記書き込み状態記憶部は、前記記録媒体にデータを書き込み中に前記記録媒体が前記装着部から抜き出されたことを検出した場合に、前記記録媒体に書き込み中であったファイルのファイル名を記憶し、前記修復診断判断部は、前記書き込み状態記憶部が記憶したファイル名と、前記装着部に装着された記録媒体に記憶されているファイルのファイル名とが一致する場合に、前記装着部に装着された記録媒体のファイルシステムに修復に関する診断が必要と判断することが好ましい。
【0020】
このようにすれば、装着部に装着された記録媒体へのファイルの書き込み中に記録媒体
が抜き出された場合に、書き込み中であったファイル名に一致するファイル名のファイルを記憶している記録媒体だけを修復するので、修復する必要があるか否かを記録媒体ごとに適切に判断することができる。
【0021】
ここで、前記診断が必要であると判断された記録媒体のファイルシステムを診断する、または、診断及び修復する、ファイルシステム診断修復部を、更に備えることが好ましい。
【0022】
このようにすれば、診断する必要があると判断された記録媒体のファイルシステムを診断して必要であれば修復することにより、正常なファイルシステムを効率的に維持することができる。
【0023】
ここで、前記診断が必要であると判断された記録媒体の、前記書き込み状態記憶部が記憶したファイル名に一致するファイル名を有するファイルのデータについて、診断する、または、診断及び修復する、ファイルシステム診断修復部を、更に備えることが好ましい。
【0024】
このようにすれば、記録媒体が抜き出されたときに書き込んでいたファイルのデータを修復するので、正常なファイルシステムをさらに効率的に維持することができる。
【0025】
なお、書き込み中に記録媒体が抜き出されたときに書き込んでいたファイルを削除することによってファイルシステムを修復してもよい。この場合は、より簡易にファイルシステムを効率的に維持することができる。
【0026】
ここで、更に、前記修復に関するメッセージをユーザに通知するメッセージ通知部を備えることが好ましい。
【0027】
また、本発明の別の側面は、所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部を有し、前記装着部に装着された記録媒体にデータを書き込むデータ処理装置が、前記装着部への前記記録媒体の着脱を検出する着脱検出部と、前記着脱検出部が前記記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶する書き込み状態記憶部と、前記着脱検出部が前記記録媒体の装着を検出した場合に、前記書き込み状態記憶部が記憶した状態に基づいて、前記装着された記録媒体に構築されたファイルシステムについて修復を行う必要があるか否かを判断する修復判断部と、を備えることである。
【0028】
このようにすれば、従来のように、毎回、時間を要する診断処理を行わなくても、修復の必要性を適確に判断することができる。
【0029】
また、本発明は、方法の発明とすることもできる。すなわち、本発明のデータ処理方法は、所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部に装着された記録媒体にデータを書き込むデータ処理方法であって、前記装着部への前記記録媒体の着脱を検出する着脱検出工程と、前記記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶する書き込み状態記憶工程と、前記記録媒体の装着を検出した場合に、前記記憶した状態に基づいて、前記装着された記録媒体に構築されたファイルシステムについて修復に関する診断を行う必要があるか否かを判断する修復診断判断工程と、を備えることを特徴とする。
【0030】
さらに、本発明は、プログラムまたはそのプログラムを記憶した記録媒体とすることもできる。すなわち、本発明のプログラムは、所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部に装着された記録媒体にデータを書き込むための制御プログラムであって、前記装着部を備えるデータ処理装置の制御部に、前記装着部への前記記録媒体の着脱を検出する着脱検出工程と、前記記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶部に記憶する書き込み状態記憶工程と、前記記録媒体の装着を検出した場合に、記憶した状態に基づいて、前記装着された記録媒体に構築されたファイルシステムについて修復に関する診断を行う必要があるか否かを判断する修復診断判断工程と、を実行させることを特徴とする。また、このプログラムを記録した記録媒体としては、フレキシブルディスクやCD−ROM、ICカード、メ
モリカードなど、コンピュータが読み取り可能な種々の媒体を利用することができる。
【発明を実施するための最良の形態】
【0031】
(第1の実施形態)
以下、本発明に係る第1の実施形態について図面を参照して説明する。
【0032】
図1は、第1の実施形態のプリンタのハードウェア構成を示した図である。図1に示すように、プリンタ1は、各種の処理を行うデータ処理装置10と、データ処理装置10から印刷データを受け取って画像を印刷する印刷エンジン11と、を備えている。また、プリンタ1にはホストコンピュータ2が接続されている。
【0033】
データ処理装置10は、CPU20、RAM21、ROM22、ホストコンピュータ2とのインターフェイスであるホストI/F23、USBI/F24、USBコントローラ25、エンジンI/F26およびユーザI/F27を有している。データ処理装置10の各構成は相互にデータ授受可能に接続されている。
【0034】
また、図1に示すように、プリンタ1には、USBI/F24を介して、スキャナ3、内部に読み書き可能な不揮発性のフラッシュメモリを備えた記録媒体であるUSBメモリ(記録媒体)4などのUSB機器がユーザの必要に応じ適宜接続されるよう構成されている。
【0035】
CPU20は、データ処理装置10が行う各種の処理を制御する部分である。ROM22は、フラッシュROM、EEPROMなどデータを読み書き可能な不揮発性のメモリである。RAM21は、各種の処理のワーキングメモリとして用いられる汎用のメモリであり、ホストコンピュータ2から送信された印刷対象のデータなどが記憶される。
【0036】
USBI/F(装着部)24は、スキャナ3やUSBメモリ4などの機器が実際に接続されるコネクタ部分であり、外部のUSB機器が着脱自在に接続される。USBI/F24に接続された機器とデータ処理装置10とは、コネクタ内のデータを送受信するデータ線、データ処理装置10からUSB機器に電源を供給する電源供給線などを介して電気的に接続される。
【0037】
USBコントローラ25は、USBI/F24に接続された機器とのデータの送受信を制御している。
【0038】
USBI/F24に装着されたUSBメモリ4は、USBI/F24に備わる電源供給線より供給された電源を受けてメモリ装置として駆動する。そして、USBコントローラ25がデータ線を通じてUSBメモリ4にデータを送受信することにより、データ処理装置10はUSBメモリ4に記憶されているデータに対して、読み込み・書き込みなどの処理を行う。
【0039】
また、USBコントローラ25は、USBI/F24に備わる電源供給線の電圧を監視しており、USBメモリ4を着脱により生じる電源供給線の電圧変動により、USB機器の着脱を検出する。USB機器の着脱を検出すると、USBコントローラ25は着脱があった旨の着脱信号をCPU20に送信し、CPU20は着脱信号を受け取ると、後述する割り込み処理を実行する。なお、着脱信号では、装着されたときの信号と抜き出されたときの信号とは区別されている。
【0040】
さらに、USBコントローラ25は、USBI/F24に接続された機器からUSB機器の識別情報を読み出し、プリンタ内のRAM21やROM22に記憶させる処理も行う。識別情報としては、例えば、製品名、メーカ名、製造番号などの情報がある。
【0041】
エンジンI/F26は、データ処理装置10と印刷エンジン11とのインターフェイスを司る部分である。エンジンI/F26には、図示していないが、データを一時的に格納するメモリが備えられ、RAM21から読み出した印刷対象データをいったん内部のメモリに蓄積して、描画処理、色変換処理、ハーフトーン処理などの処理(データ解析・イメージ生成)を施し、生成した印刷データを印刷エンジン11に送信する。
【0042】
また、ユーザI/F27は、当該プリンタ1のユーザとのインターフェースであり、操作パネル、表示パネル等で構成される。
【0043】
なお、ホストI/F23、USBコントローラ25およびエンジンI/F26は、具体
的には、ASIC(Application Specific Integrated Circuit)で構成されている。
【0044】
次に、USBメモリ4のファイルシステムについて説明する。本実施形態に係るUSBメモリ4にはファイルシステムとしてはFATファイルシステムが用いられている。図2に示すように、FATファイルシステムにおけるファイルシステムFSは、FAT、ルートディレクトリおよびデータ領域から構成される。
【0045】
データ領域は、多数のクラスタから構成され、クラスタ番号が順番に付与されている。クラスタは、記録したデータを管理するための処理単位であり、1つのクラスタに記録することができるデータ容量は予め決められている。1クラスタより大きいデータ容量を有するファイルについては、複数のクラスタに分けてデータが記録される。
【0046】
ルートディレクトリには、記憶しているファイルのファイル名、作成日時、ファイル容量およびそのファイルのデータを記憶しているクラスタの先頭のクラスタ番号が記録されている。
【0047】
FATは、ファイルとして格納したデータが、どのクラスタにどのような順番に格納れているかを管理する管理テーブルである。FATには、データを格納したクラスタごとにレコードが記録されている。レコードには、次のデータを格納しているクラスタの番号が格納され、データが格納された最後のクラスタに対応するレコードには、最終クラスタであることを示すコードが格納されている。
【0048】
ファイルのデータの読み出しは、まず、ルートディレクトリからファイルを記録している先頭クラスタを読み出し、先頭クラスタ以降のクラスタについてはFATのレコードを辿ってファイルの最終クラスタまでデータを順番に読み出すことにより行う。
【0049】
一方、ファイルを書き込む際には、データが記録されていないクラスタにファイルのデータを記録すると共に、記録したファイルのデータに対応するルートディレクトリおよびFATを更新することにより、FAT、ルートディレクトリおよびデータ領域間の整合をとっている。
【0050】
以上に、述べたように、ファイルシステムFSは、FAT、ルートディレクトリおよびデータ領域に論理的整合が取れている場合に正常に機能するものであり、さもなければ、正しいデータにアクセスすることができない。
【0051】
とりわけ、ファイルシステムFSにデータを書き込んでいる最中に、ファイルシステムFSへのアクセスが遮断されると、FAT、ルートディレクトリおよびデータ領域間の整合が壊れる。換言すると、ファイルシステムFSが構築されているUSBメモリ4が、データ書き込み中にUSBI/F24から抜き出されると、USBメモリ4のファイルシステムFSは正しく機能しなくなってしまう。
【0052】
そこで、本発明のデータ処理装置10は、データの書き込み中に抜き出されたUSBメモリ4について、ファイルシステムFSの論理的整合を正す、修復処理を行う。
【0053】
次に、データ処理装置10の機能構成について説明する。図3は、データ処理装置10の機能構成を示した図である。図3に示すように、データ処理装置10は、USBデバイスドライバ(USBメモリ制御部)30、書き込み状態記憶部40、印刷ジョブ受信制御部50、印刷ジョブのデータ解析・イメージ生成部60、および印刷制御部70を備える。
【0054】
さらに、USBデバイスドライバ30は、USBデバイス着脱検出部31、USBメモリ識別情報読み出し・記憶制御部32、USBメモリへの書き込み/読み出し制御部33、障害発生情報制御部34、USBメモリ修復診断判断部35、USBメモリファイルシステム診断・修復部36、および、USBメモリファイルシステムの修復に関するメッセージ通知部37を備えている。
【0055】
USBデバイスドライバ30は、USB機器の識別情報からUSB機器を識別して、接続されたUSB機器がUSBメモリ4などの記録媒体であれば、記録媒体に構築されたファイルシステムを認識して、ファイルシステムへのアクセスを制御する。また、USBI/F24にUSB機器が着脱されたときに、その着脱を検出する。さらに、本データ処理装置10の特徴である、USBメモリ4に構築されたファイルシステムの修復に関する判断に係る処理を司る。なお、本USBデバイスドライバ30は、前述したCPU20、RAM21、ROM22、USBI/F24、およびUSBコントローラ25等で構成される。
【0056】
USBデバイス着脱検出部31は、USBI/F24にUSB機器が着脱されたときに、その着脱を検出する部分である。USBメモリ識別情報読み出し・記憶制御部32は、USBI/F24にUSBメモリ4が装着された際に、そのUSBメモリ4の識別情報、すなわち、「製造番号」、「メーカ名」、「製品名」などの固有情報を、USBメモリ4から読み出し、書き込み状態記憶部40の所定の領域に記憶する部分である。
【0057】
USBメモリへの書き込み/読み出し制御部33は、装着されたUSBメモリ4に構築されたファイルシステムを認識して、ファイルシステムへのアクセスを制御する部分である。また、USBメモリ4へのファイルの書き込み時における書き込み状態記憶部40の制御もここが行う。また、障害発生情報制御部34は、USBメモリ4へのファイルの書き込み中に当該USBメモリ4が抜き出されてしまったことを知らせる障害発生情報を書き込み状態記憶部40に記憶する部分である。
【0058】
USBメモリ修復診断判断部35は、USBメモリ4がUSBI/F24に装着されたときに、データ処理装置10の書き込み状態記憶部40の情報に基づき、当該USBメモリ4のファイルシステムFSについて修復に関する診断処理を行なう必要があるか否かを判断する。
【0059】
USBメモリファイルシステム診断・修復部36は、前記USBメモリ修復診断判断部35により診断が必要であると判断された場合に、USBメモリ4のファイルシステムFSの診断処理を実行し、その結果、修復が必要である場合に、当該ファイルシステムFSの修復処理を行う。
【0060】
USBメモリファイルシステムの修復に関するメッセージ通知部37は、USBデバイスドライバ30が、装着されたUSBメモリ4のファイルシステムFSに修復のための診断が必要だと判断した場合に、ユーザI/F27にファイルシステムFSの診断が必要であることを通知する。また、当該診断処理中や修復処理中に、それぞれ、処理中である旨のメッセージを通知する。
【0061】
書き込み状態記憶部40は、USBデバイスドライバ30が、USBメモリ4にデータを書き込み中に、USBメモリ4が抜き出されたかどうかを示す情報を保持する。当該記憶部に含まれる、一つの領域として、書き込み中情報領域を備える。本領域に収める情報は、「0」か「1」かの1ビットのフラグであり、書き込み中であれば「1」、書き込みが終了したか書き込み中でないときには「0」であるよう制御される。
【0062】
また、次の領域として、障害発生情報領域を備える。本領域に収める情報も「0」か「1」かの1ビットのフラグであり、USBメモリ4が抜き出されたときに、上記書き込み中情報が「1」であれば「1」を保持する。すなわち、障害発生情報は、データの書き込み中にUSBメモリ4が抜き出されたか否かの状態を示した情報である。本情報の初期値は「0」とし、本情報が不要となった時点でも「0」とするように制御する。
【0063】
さらに、書き込み状態記憶部40には、USBメモリ4の固有情報用の領域を備えてもよい。具体的には、その時点でプリンタ1に装着されているUSBメモリ4の固有情報を記憶する領域(装着メモリ部)と、USBメモリ4が書き込み中に抜き出されたときに、当該USBメモリ4の固有情報をリストとして保持する領域(USBメモリリスト部)が備えられる。なお、書き込み状態記憶部40は、ROM22、RAM21等で構成される。
【0064】
印刷ジョブ受信制御部50、印刷ジョブのデータ解析・イメージ生成部60、および印刷制御部70は、それぞれ、本プリンタ1が印刷要求を受けた際に、当該印刷ジョブをホストコンピュータ2などから受信する処理を司る部分、受信した印刷ジョブのデータを解析しイメージデータを生成する部分、および、生成されたデータに基づいて印刷エンジン11に印刷指示を行なう部分である。これらは、CPU20、RAM21、ROM22、ホストI/F23、およびエンジンI/F26等で構成される。
【0065】
なお、図3に示したデータ処理装置10の構成は、CPU20が、ROM22に格納された制御プログラムを読み出して、実行することにより処理を行うようにしている。すなわち、CPU20が制御プログラムを実行することにより、データ処理装置10の各構成が機能する。この制御プログラムは、予めROM22に格納されていることとしてもよいし、例えば、USBメモリ4やメモリカードなどのコンピュータ読み取り可能な記録媒体によって外部から供給され、ROM22に格納されるものとしてもよい。
【0066】
次に、データ処理装置10が行う処理について、フローチャートに従って詳細に説明する。図4は、USBメモリ4にデータを書き込む処理の流れを例示したフローチャートである。例えば、ホストコンピュータ2から、印刷JOBのファイルを印刷するとともにUSBメモリ4に保存する指示がなされたり、ユーザI/F27から、スキャナ3が取り込んだ画像データファイルを、USBメモリ4に書き込む指示が与えられると、USBデバイスドライバ30がファイル書き込み処理を開始する。
【0067】
まず、ステップS10では、実際のデータ書き込みに先立って、USBメモリへの書き込み/読み出し制御部33が、書き込み状態記憶部40の書き込み中情報領域に、データの書き込み中であることを示す書き込み中情報を設定する。具体的には、書き込み中情報として、書き込み中であることを表す「1」のフラグをRAM21に格納する。なお、本実施形態では、各種情報およびフラグをRAM21の所定の領域に格納するものとして説明するが、ROM22またはハードディスク(図示なし)などの不揮発性のメモリに格納するようにしてもよい。
【0068】
次に、ステップS11では、USBメモリへの書き込み/読み出し制御部33は、USBメモリ4のファイルシステムFSにアクセスして、書き込み対象のファイルのデータを書き込む。
【0069】
そして、ステップS11−1では、USBメモリへの書き込み/読み出し制御部33がファイルを書き込みながら書き込み中エラーが発生したか否かを監視する。具体的には、当該書き込み処理が、所定の単位毎に複数回の処理で実行されるので、毎回、その単位データの書き込みが問題なく完了したか否かにより、書き込み中エラーが発生したか否かを判断する。そして、書き込みが正常に完了せずエラー発生と判断した場合には、処理がステップS12に移行する。
【0070】
次に、ステップS12では、USBメモリへの書き込み/読み出し制御部33は、書き込み中エラーが発生した原因が、USBメモリ4への書き込み中に当該メモリの抜き出しがあったことによるものであるか否かを判断する。ここでは、後述する障害発生情報を参照して障害発生情報のフラグが「1」である場合(Yes)、書き込み中にメモリの抜き出しがあったと判断してステップS13に処理が移行する。なお、USBメモリ4への書き込み中に当該メモリの抜き出しがあった場合には、前述の通り、USBメモリ4のファイルシステムFSに障害が発生する可能性が高いと判断される。
【0071】
なお、障害発生情報は、後述する(割り込み)処理において設定される。障害発生情報は、書き込み中情報が「1」のときにUSBメモリ4が抜き取られたとき、USBデバイスドライバ30により「1」にセットされる情報である。本情報が「1」であれば、USBメモリ4のファイルシステムに障害が発生した可能性が高いことを示す。
【0072】
ステップS13では、USBメモリへの書き込み/読み出し制御部33は、書き込み中情報のフラグを「1」のままとし、障害発生情報を「0」に初期化して、図4に示す書き込み処理を終了する。
【0073】
一方、ステップS11−1において、エラーが発生していないときには、ステップS11−2に移行し、USBメモリへの書き込み/読み出し制御部33は、書き込むデータが残っているときには、ステップS11の処理に戻る。書き込むデータがなければ、無事に書き込み対象ファイルの全データがUSBメモリ4に書き込まれたことになり、ステップS14に移行する。ステップS14では、データの書き込み中に障害が発生することなく、書き込み処理を終えたので、書き込み中情報のフラグを「0」に初期化して、図4の書き込み処理を終了する。
【0074】
また、ステップS12で、エラーが発生しているもののUSBメモリ4が抜き出されていないときにはステップS15に移行する。この場合には、上記エラーの原因として、例えば、メモリオーバーや、書き込み禁止のUSBメモリ4であったなどが考えられる。そして、この場合には、その旨のエラーメッセージをユーザI/F27へ通知するなどのエラー処理を実行する。また、ここでは、USBメモリ4内のFATシステムには矛盾は生じないため、USBメモリへの書き込み/読み出し制御部33は、書き込み中情報フラグを「0」に戻したのち、ファイル書き込み処理を終了する。
【0075】
次に、USBメモリ4が抜き出されたときの(割り込み)処理について説明する。USBメモリ4が抜き出された場合、前記USBデバイス着脱検出部が、USBメモリ4が抜き出されたことを検出すると(着脱検出工程)、前記障害発生情報制御部34は、割り込み処理を実行する。以下、図5に示したフローチャートに従って説明する。
【0076】
USBメモリ4が抜き出されたときの割り込み処理が開始されると、まず、ステップS20で、書き込み状態記憶部40から、すなわち、RAM21の所定の領域から、書き込み中情報を読み出す。
【0077】
次に、ステップS21では、書き込み中にUSBメモリ4が抜けたか否かを判断する。前述したステップS10では、書き込み中であることを示すフラグを「1」としたので、書き込み中情報のフラグが「1」であれば書き込み中にUSBメモリ4が抜き出されたと判断して(Yes)、ステップS22に移行する。フラグが「1」でなければ(No)、USBメモリ4が抜き出されたのは書き込み中ではないと判断して、割り込み処理を終了する。
【0078】
ステップS22では、データの書き込み中にUSBメモリ4が抜き出されファイルシステムFSに障害が発生している可能性が高いことを示す障害発生情報を記憶する。障害発生情報としては、具体的には、障害が発生した可能性が高いことを表す「1」のフラグを、RAM21の所定の領域に格納する。ステップS22の処理を終了すると、割り込み処理を終了する。
【0079】
ここで、ファイル書き込み処理中に、USBメモリ4が抜き出されたときの割り込み処理が発生した場合は、割り込み処理を終えるとファイル書き込み処理に戻って、CPU20は、割り込まれたときに行っていた処理の続きの処理を行う。例えば、ファイル書き込み処理におけるデータ書き込みの処理中(ステップS11)にUSBメモリ4が抜き出された場合、書き込み中情報のフラグが「1」の状態で割り込み処理が実行されるので、割り込み処理では障害発生情報のフラグとして「1」を設定する。割り込み処理を終了すると、障害発生情報のフラグが「1」の状態で、ファイル書き込み処理に戻り、ステップS11においてUSBメモリ4が抜き出されて、データを書き込むことができなくなっているので、次のステップS12に進む。ステップS12では、障害発生情報が「1」であるので、ステップS13に進み、書き込み中情報のフラグが「1」の状態で、ファイル書き込み処理を終了する。
【0080】
一方、USBメモリ4にデータを書き込んでいないときにUSBメモリ4が抜き出された場合、書き込み中情報のフラグは初期値「0」であるので、割り込み処理では障害発生情報は初期値である「0」のフラグのまま割り込み処理を終了する。
【0081】
次に、USBメモリ4などのUSB機器が装着されたときに行う処理について説明する。USB機器が装着された場合、USBデバイスドライバ30は、USBデバイス着脱検出部31からの着脱信号を受けて、図6に示す割り込み処理を実行する。
【0082】
装着されたときの割り込み処理を開始すると、まず、ステップS30において、USBデバイス着脱検出部31は、USBメモリ4の識別情報を参照して、装着された機器がUSBメモリ4か否かを判断する。装着された機器がUSBメモリ4であれば(Yes)、ステップS31に進む。装着された機器がUSBメモリ4でなければ(No)、割り込み処理を終了する。
【0083】
次に、ステップS31では、USBメモリ修復診断判断部35がデータ書き込み中にUSBメモリ4が抜き出されたか否かを判断する。ここでは、CPU20が、RAM21から書き込み中情報のフラグの値を読み出し、書き込み中情報のフラグが「1」であれば(Yes)、データ書き込み中にUSBメモリ4が抜き出されたので、装着されたUSBメモリ4のファイルシステムFSについて、修復に関する診断を行う必要があると判断して、ステップS31−1に進む。一方、読み出した書き込み中情報のフラグが「0」であれば(No)、データ書き込み中にUSBメモリ4が抜き出されていないのでファイルシステムFSを修復する必要がないと判断して、処理を終了する。
【0084】
ステップS31−1では、USBメモリファイルシステム診断・修復部36が、装着されたUSBメモリ4のファイルシステムFSについて診断処理を実行する。その結果、ファイルシステムFSに論理的不整合が生じているなどファイルシステムFSの修復が必要であると判断された場合には(ステップS31−2のYes)、ステップS32に進む。一方、診断結果が修復の必要性がないことを示す場合には(ステップS31−2のNo)、ステップS33に進む。
【0085】
ステップS32では、USBメモリファイルシステム診断・修復部36は、USBメモリ4のファイルシステムFSを修復する。具体的には、CPU20は、USBメモリ4のファイルシステムFSにアクセスして、FAT、ルートディレクトリおよびデータ領域間に論理的整合が取れていないデータを整合の取れたデータに書き換えることにより、ファイルシステムFSを修復する。
【0086】
次に、ステップS33では、USBメモリファイルシステム診断・修復部36は、書き込み中情報のフラグを「0」に初期化して、割り込み処理を終了する。
【0087】
なお、ステップS10、ステップS14、およびステップS15は書き込み状態記憶工程に、ステップS30は着脱検出工程、ステップS31は修復診断判断工程、に相当する。
【0088】
以上のようにして、データ処理装置10は、データの書き込み中にUSBI/F24から抜き出されたUSBメモリ4が、再びUSBI/F24に装着されたときに、ファイルシステムFSの修復がなされるようにしている。また、読み出し中に記録媒体が抜き出された場合は、ファイルシステムに不整合は生じないので、ファイルシステムの修復または診断を行っていない。
【0089】
以下、第1の実施形態における効果を記載する。
(1)データの書き込み中にUSBI/F24から抜き出されたUSBメモリ4のファイルシステムFSについて、修復のための診断を行う必要があると判断するので、ファイルシステムFSを修復する必要があるUSBメモリ4を正確に知ることができる。
(2)データの書き込み中にUSBI/F24から抜き出されて、ファイルシステムFSに不具合が発生した可能性の高いUSBメモリ4に絞って修復のための診断処理をしている。したがって、正常なファイルシステムFSを効率的に維持することができる。
(3)USBメモリ修復診断判断部35およびUSBメモリファイルシステム診断・修復部36が修復する必要があるファイルシステムFSを判断しているので、ユーザが判断することなく、USBメモリ4のファイルシステムを適切な状態に維持することができる。
(4)USBメモリ4をプリンタ1に装着したときに、ファイルシステムFSの修復のための診断を行う必要があるか否かを判断するので、プリンタ1など装置が起動中に着脱が行われる記憶媒体について適切なタイミングで上記診断を行うことができる。
【0090】
以上、本発明の一実施形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施することもできる。以下、変形例を挙げて説明する。
【0091】
(変形例1)
当該変形例は、データを書き込み中にUSBメモリ4が抜き出された場合に、その状態を、前述した書き込み中情報ではなく、抜き出されたUSBメモリ4の識別情報で示そうとするものである。従って、ここでは、USBメモリ4が抜き出されたときに、USBメモリ4自体の識別情報を記録するようにする。
【0092】
図7は、USBメモリ4にデータを書き込む際の処理を例示したフローチャートである。
図4に基づいて説明した場合と同様に、例えば、ホストコンピュータ2から、印刷JOBのファイルを印刷するとともにUSBメモリ4に保存する指示がなされたり、ユーザI/F27から、スキャナ3が取り込んだ画像データファイルを、USBメモリ4に書き込む指示が与えられると、USBデバイスドライバ30がファイル書き込み処理を開始する。
【0093】
まず、ステップS40では、USBメモリへの書き込み/読み出し制御部33が、USBメモリ4のファイルシステムFSにアクセスして、書き込み対象のファイルのデータを書き込む。
【0094】
そして、ステップS41では、USBメモリへの書き込み/読み出し制御部33がファイルを書き込みながら書き込み中エラーが発生したか否かを監視する。具体的には、当該書き込み処理が、所定の単位毎に複数回の処理で実行されるので、毎回、その単位データの書き込みが問題なく完了したか否かにより、書き込み中エラーが発生したか否かを判断する。そして、書き込みが正常に完了せずエラー発生と判断した場合には、処理がステップS43に移行する。
【0095】
次に、ステップS43では、USBメモリへの書き込み/読み出し制御部33は、書き込み中エラーが発生した原因が、USBメモリ4への書き込み中に当該メモリの抜き出しがあったことによるものであるか否かを判断する。具体的には、前述したUSBデバイス着脱検出部31によって当該USBメモリ4の抜き出しが検出されるので、USBメモリへの書き込み/読み出し制御部33が、そのときの状態をUSBデバイス着脱検出部31に問い合わせることにより、上記判断がなされる。
【0096】
そして、書き込み中にメモリの抜き出しがあったと判断した場合には(Yes)、ステップS45に処理が移行する。なお、この場合には、前述の通り、USBメモリ4のファイルシステムFSに障害が発生する可能性が高いと判断される。
【0097】
ステップS45では、USBメモリへの書き込み/読み出し制御部33は、当該書き込み中に抜き出されたUSBメモリ4の識別情報(固有情報)を、前述した書き込み状態記憶部40のUSBメモリリスト部に書き込む。具体的には、後述するUSBメモリ4の装着時の処理において、装着したUSBメモリ4の識別情報が、書き込み状態記憶部40の、その時点でプリンタ1に装着されているUSBメモリ4の固有情報を記憶する領域(装着メモリ部)に書き込まれているので、その固有情報をUSBメモリリスト部に書き込む。
【0098】
図8は、そのUSBメモリリスト部を例示した図である。ここに示す例では、USBメモリ4の「製造番号」、「メーカー名」、および「製品名」の固有情報を当該メモリの識別情報として、書き込み状態情報Iとしてリスト形式で記録している。なお、この識別情報として用いる固有情報は一例であって、記録する固有情報は、これらのうちのいずれかの一つ又は二つでも良いし、他の情報を用いてもよい。
【0099】
このようにして、USBメモリリスト部への書き込みが行われると、図7に示す書き込み処理を終了する。
【0100】
一方、ステップS41において、エラーが発生していないときには、ステップS42に移行し、USBメモリへの書き込み/読み出し制御部33は、書き込むデータが残っているときには、ステップS40の処理に戻る。書き込むデータがなければ、無事に書き込み対象ファイルの全データがUSBメモリ4に書き込まれたことになり、図7の書き込み処理を終了する。
【0101】
また、ステップS43で、エラーが発生しているもののUSBメモリ4が抜き出されていないときにはステップS44に移行する。この場合には、前述の通り、上記エラーの原因として、例えば、メモリオーバーや、書き込み禁止のUSBメモリ4であったなどが考えられるが、USBメモリへの書き込み/読み出し制御部33は、その旨のエラーメッセージをユーザI/F27へ通知するなどのエラー処理を実行する。そして、当該ファイル書き込み処理を終了する。
【0102】
次に、変形例1における、USBメモリ4などのUSB機器が装着されたときの処理について説明する。USB機器が装着された場合、USBデバイスドライバ30は、USBデバイス着脱検出部31からの着脱信号を受けて、図9に示す割り込み処理を実行する。
【0103】
装着されたときの割り込み処理を開始すると、まず、ステップS50において、USBデバイス着脱検出部31は、USBメモリ4の識別情報を参照して、装着された機器がUSBメモリ4か否かを判断する。装着された機器がUSBメモリ4であれば(Yes)、ステップS51に進む。装着された機器がUSBメモリ4でなければ(No)、割り込み処理を終了する。
【0104】
次に、ステップS51では、USBメモリ識別情報読み出し・記憶制御部32が、装着されているUSBメモリ4の識別情報(前述した固有情報)を読み出して、前述した書き込み状態記憶部40の装着メモリ部に書き込む。
【0105】
次にステップS52では、USBメモリ修復診断判断部35が、装着されたUSBメモリ4がデータ書き込み中に抜き出されたものであるか否かを判断する。具体的には、上記装着メモリ部に書き込まれている固有情報を読み出し、その情報と一致する情報が、前述したUSBメモリリスト部に保存されているか否かをチェックする。換言すれば、当該読み出した固有情報とUSBメモリリスト部に保存されている固有情報とで一致するものがあるか否かをチェックする。
【0106】
その結果、一致するものがあれば(Yes)、すなわち、装着されたUSBメモリ4の識別情報がUSBメモリリスト部に保存されていれば、ステップS53に移行する。一方、一致するものがなければ(No)、割り込み処理を終了する。
【0107】
そして、ステップS53に移行した場合には、装着されているUSBメモリ4は、ファイル(データ)を書き込み中に抜き出されているので、修復の必要性が高く、修復のための診断を行う必要がある。従って、USBメモリファイルシステムの修復に関するメッセージ通知部37は、ユーザI/F27に、修復のための診断を行う必要がある旨のメッセージを通知する。その結果、ユーザI/F27の表示パネル等に当該メッセージが表示される。
【0108】
そして、ステップS54では、表示されたメッセージに対して、ユーザI/F27の操作ボタン等を用いたユーザの応答がなされるが、それが修復(のための診断)を希望するものである場合には(Yes)、ステップS55に進む。一方、修復を希望しない場合には(No)、割り込み処理を終了する。なお、ユーザが修復を希望しなかった場合には、後述するステップS58に進み、USBメモリリスト部から当該USBメモリ4の固有情報を削除してもよい。この場合には、削除する前に、ユーザに対して「今後、同様の確認はしないでよいですか?」などのメッセージを表示して、削除の確認を行うようにすることがより望ましい。確認が得られて、USBメモリリスト部から削除されると、再度、当該USBメモリ4について書き込み中の抜き出しが起こらない限り、修復のための診断が必要である旨の前記メッセージは表示されないようになる。
【0109】
ステップS55では、USBメモリファイルシステム診断・修復部36が、装着されたUSBメモリ4のファイルシステムFSについて診断処理を実行する。また、USBメモリファイルシステムの修復に関するメッセージ通知部37は、診断中である旨のメッセージをユーザI/F27に通知し、当該メッセージがユーザに表示される。一般的に、この診断処理には比較的長い時間を要するので、当該メッセージの表示は有効的である。
【0110】
その結果、ファイルシステムFSに論理的不整合が生じているなどファイルシステムFSの修復が必要であると判断された場合には(ステップS56のYes)、ステップS57に進む。一方、診断結果が修復の必要性がないことを示す場合には(ステップS56のNo)、ステップS58に進む。
【0111】
ステップS57では、USBメモリファイルシステム診断・修復部36が、前述の通り、USBメモリ4のファイルシステムFSを修復する。また、USBメモリファイルシステムの修復に関するメッセージ通知部37は、修復中である旨のメッセージをユーザI/F27に通知し、当該メッセージがユーザに表示される。
【0112】
次に、ステップS58では、USBメモリファイルシステム診断・修復部36は、USBメモリリスト部から当該USBメモリ4の固有情報を削除して、割り込み処理を終了する。
【0113】
なお、上記ステップS56において、修復が必要であるか否かの診断結果をユーザに表示するようにしても良い。さらに、修復が必要であるとの診断結果であった場合に、修復するか否か、対象のファイルを修復するかそれとも削除するかなど、対処法をユーザに選択させても良い。
【0114】
また、上記ステップS53のメッセージ通知を行わなくても良い。この場合には、ユーザに確認することなく、診断処理(ステップS55)に移行する。
【0115】
以上説明したように、変形例1では、USBメモリリスト部に残された「製造番号」、「メーカ名」、「製品名」などの固有情報と一致するUSBメモリ4についてのみ修復の対象とされる。従って、複数個のUSBメモリ4が接続されうる使用環境であっても、書き込み中に抜かれたUSBメモリ4についてのみ修復のための処理が行われ、修復する必要があるファイルシステムFSがより正確に判断され、ファイルシステムFSを正常に維持するための処理をより効率的に行うことができる。
【0116】
また、変形例1では、図5に基づいて説明したUSBメモリ4が抜き出されたときの割り込み処理は不要であり、第1の実施形態の場合よりも冗長性のない効率的な制御を行うことができる。なお、第1の実施形態の場合にも、この変形例1のように、USBメモリ4にデータを書き込み中にエラーが発生した際の、当該メモリが抜き出されたか否かの判断を、そのときに、USBメモリへの書き込み/読み出し制御部33がUSBデバイス着脱検出部31に問い合わせることにより行っても良い。
【0117】
また、変形例1では、修復のための診断処理の必要性、診断処理中であること、および修復処理中であることがユーザに報知されるので、ユーザは、使用するUSBメモリ4の状況、処理状態を正しく理解することができ、処理完了を安心して待つことができる。なお、これらのユーザへの通知は、この変形例1の場合に限られるものではなく、第1の実施形態の場合などにも適用することができる。
【0118】
(変形例2)
データを書き込み中にUSBメモリ4が外されたときに、書き込み中であったファイルの名称を記録するようにしてもよい。例えば、図10に示すように、書き込み中にメモリが抜かれることにより障害が発生した可能性の高いファイル名を、書き込み状態記憶部40にファイルを記録したパスと共に書き込み状態情報Iとして記録しておく。
【0119】
この記録したファイル名は、まず、診断および修復の対象を限定する意味で使用することができる。前述した第1の実施形態、変形例1において、メモリを再接続した際に、診断処理の必要が有ると判断された場合に、その後の診断処理、修復処理において、当該記憶したファイル名により修復する必要があるファイル名を知ることができるので、当該記録したパスにあるファイルだけを処理の対象とすることができる。したがって、修復や診断に要する処理時間をより短くすることができる。なお、当該ファイルを削除することによってファイルシステムを修復してもよい。
【0120】
また、USBメモリ4を装着した際の、診断処理が必要であるか否かの判断を、この記録したファイル名だけで行っても良い。すなわち、装着時に、書き込み状態情報Iのファイル名と一致するファイルを記録した記録媒体であれば、診断処理の必要があると判断するようにすることができる。かかる場合には、このファイル名を、第1の実施形態における書き込み中情報、変形例1におけるメモリの識別情報の代替とすることができる。
【0121】
更にまた、メモリ装着時における修復診断の必要性の判断を、第1の実施形態においては、書き込み中情報とこのファイル名で行い、変形例1においてはメモリの識別情報とこのファイル名で行うようにしてもよい。これにより、ファイルシステムFSに修復が必要なUSBメモリ4をより確実に判断することが可能である。
【0122】
(変形例3)前記実施形態では、記録媒体としてUSBメモリを例にして説明した。記録媒体としては、これに限られることなく、メモリカードなどのリムーバブルメモリでもよい。また、USBを介して接続されるハードディスク装置などの外部記憶装置に対応することもできる。もっとも、インターフェイスとしてもUSBに限られることなく、例えば、IEEE1394などの様々なインターフェイスであってもよい。
【0123】
(変形例4)図6に示した処理において、ファイルシステムFSの診断のみを行って修復を行わないようにしてもよい。
【0124】
(変形例5)前記実施形態では、プリンタ1に含まれるデータ処理装置について説明した。本発明のデータ処理装置は、パーソナルコンピュータ、スキャナ、ファックス、デジタルビデオカメラ、テレビなど様々な機器に適用することができる。
【0125】
(変形例6)前記実施形態では、CPU20が制御プログラムを実行することにより、データ処理装置10としての機能を実現する例について説明した。第6の変形例として、上述したデータ処理装置10の機能を、ASICなどのハードウェア回路により実現するとしてもよい。もちろん、一部の機能をハードウェア回路にもたせて、ハードウェア回路がもたない機能をソフトウェアによって実現するようにしてもよい。
【0126】
なお、前記実施形態では、メモリの装着時に、書き込み中情報などに基づいて、診断処理の必要性を判断した。ただし、診断処理の必要性があると判断される場合は、書き込み中にメモリが抜き出された場合であるので、そのメモリのファイルシステムFSを修復する必要がある可能性が極めて高く、従って、上記書き込み中情報などに基づく判断は、そのメモリの修復の必要性の判断と見ることもできる。このように見た場合には、前記診断処理は、修復対象を探索する処理となり、この診断処理と実際の修復処理を合わせた処理を修復として表現してもよい。このように表現すれば、前述の実施形態は、USBメモリ修復診断判断部35が修復判断部として、修復の必要性を判断し、USBメモリファイルシステム診断・修復部36が修復部として修復を実行するということになる。
【図面の簡単な説明】
【0127】
【図1】プリンタのハードウェア構成を示した図。
【図2】USBメモリのファイルシステムを説明する図。
【図3】データ処理装置の構成を示した図。
【図4】データを書き込む処理の流れを例示したフローチャート。
【図5】USBメモリが抜かれたときの割り込み処理を示すフローチャート。
【図6】USB機器が装着されたときの割り込み処理を示すフローチャート。
【図7】変形例1におけるデータを書き込む際の処理を例示したフローチャート。
【図8】USBメモリリスト部を例示した図。
【図9】変形例1のUSB機器が装着されたときの処理を示すフローチャート。
【図10】ファイル名を記録した書き込み状態情報Iを例示した図。
【符号の説明】
【0128】
1…プリンタ、2…ホストコンピュータ、3…スキャナ、4…記録媒体としてのUSBメモリ、10…データ処理装置、11…印刷エンジン、20…CPU、21…RAM、22…記憶部としてのROM、23…ホストインターフェイス、24…装着部としてのUSBインターフェイス、25…USBコントローラ、26…エンジンインターフェイス、27…ユーザインターフェイス、30…USBデバイスドライバ(USBメモリ制御部)、31…着脱検出部としてのUSBデバイス着脱検出部、32…USBメモリ識別情報読み出し・記憶制御部、33…USBメモリへの書き込み/読み出し制御部、34…障害発生情報制御部、35…USBメモリ修復診断判断部(修復診断判断部)、36…USBメモリファイルシステム診断・修復部(ファイルシステム診断修復部)、37…USBメモリファイルシステムの修復に関するメッセージ通知部(メッセージ通知部)、40…書き込み状態記憶部、FS…ファイルシステム、I…書き込み状態情報

【特許請求の範囲】
【請求項1】
所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部を有し、前記装着部に装着された記録媒体にデータを書き込むデータ処理装置であって、
前記装着部への前記記録媒体の着脱を検出する着脱検出部と、
前記着脱検出部が前記記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶する書き込み状態記憶部と、
前記着脱検出部が前記記録媒体の装着を検出した場合に、前記書き込み状態記憶部が記憶した状態に基づいて、前記装着された記録媒体に構築されたファイルシステムについて修復に関する診断を行う必要があるか否かを判断する修復診断判断部と、を備えることを特徴とするデータ処理装置。
【請求項2】
請求項1に記載のデータ処理装置であって、
前記書き込み状態記憶部は、前記記録媒体にデータを書き込み中に前記記録媒体が前記装着部から抜き出されたか否かを示す情報を記憶し、
前記修復診断判断部は、前記書き込み状態記憶部が記憶した情報を参照して、前記記録媒体にデータを書き込み中に、前記記録媒体が前記装着部から抜き出された場合に、前記装着部に装着された記録媒体のファイルシステムに修復に関する診断が必要と判断することを特徴とするデータ処理装置。
【請求項3】
請求項1に記載のデータ処理装置であって、
前記書き込み状態記憶部は、前記記録媒体にデータを書き込み中に前記記録媒体が前記装着部から抜き出されたことを検出した場合に、前記抜き出された記録媒体を識別するための識別情報を記憶し、
前記修復診断判断部は、前記書き込み状態記憶部が記憶した識別情報と、前記装着された記録媒体の識別情報とが一致する場合に、前記装着部に装着された記録媒体のファイルシステムに修復に関する診断が必要と判断することを特徴とするデータ処理装置。
【請求項4】
請求項1に記載のデータ処理装置であって、
前記書き込み状態記憶部は、前記記録媒体にデータを書き込み中に前記記録媒体が前記装着部から抜き出されたことを検出した場合に、前記記録媒体に書き込み中であったファイルのファイル名を記憶し、
前記修復診断判断部は、前記書き込み状態記憶部が記憶したファイル名と、前記装着部に装着された記録媒体に記憶されているファイルのファイル名とが一致する場合に、前記装着部に装着された記録媒体のファイルシステムに修復に関する診断が必要と判断することを特徴とするデータ処理装置。
【請求項5】
請求項2あるいは請求項3において、
前記書き込み状態記憶部は、更に、前記記録媒体にデータを書き込み中に前記記録媒体が前記装着部から抜き出されたことを検出した場合に、前記記録媒体に書き込み中であったファイルのファイル名を記憶することを特徴とするデータ処理装置。
【請求項6】
請求項2乃至請求項4のいずれかに記載のデータ処理装置であって、
前記診断が必要であると判断された記録媒体のファイルシステムを診断する、または、診断及び修復する、ファイルシステム診断修復部を、更に備えることを特徴とするデータ処理装置。
【請求項7】
請求項4あるいは請求項5に記載のデータ処理装置であって、
前記診断が必要であると判断された記録媒体の、前記書き込み状態記憶部が記憶したファイル名に一致するファイル名を有するファイルのデータについて、診断する、または、診断及び修復する、ファイルシステム診断修復部を、更に備えることを特徴とするデータ処理装置。
【請求項8】
請求項1乃至請求項7のいずれかに記載のデータ処理装置であって、更に、
前記修復に関するメッセージをユーザに通知するメッセージ通知部を備えることを特徴とするデータ処理装置。
【請求項9】
所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部を有し、前記装着部に装着された記録媒体にデータを書き込むデータ処理装置であって、
前記装着部への前記記録媒体の着脱を検出する着脱検出部と、
前記着脱検出部が前記記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶する書き込み状態記憶部と、
前記着脱検出部が前記記録媒体の装着を検出した場合に、前記書き込み状態記憶部が記憶した状態に基づいて、前記装着された記録媒体に構築されたファイルシステムについて修復を行う必要があるか否かを判断する修復判断部と、を備えることを特徴とするデータ処理装置。
【請求項10】
所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部に装着された記録媒体にデータを書き込むデータ処理方法であって、
前記装着部への前記記録媒体の着脱を検出する着脱検出工程と、
前記記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶する書き込み状態記憶工程と、
前記記録媒体の装着を検出した場合に、前記記憶した状態に基づいて、前記装着された記録媒体に構築されたファイルシステムについて修復に関する診断を行う必要があるか否かを判断する修復診断判断工程と、を備えることを特徴とするデータ処理方法。
【請求項11】
所定のファイルシステムが構築された記録媒体を着脱可能に装着する装着部に装着された記録媒体にデータを書き込むための制御プログラムであって、
前記装着部を備えるデータ処理装置の制御部に、
前記装着部への前記記録媒体の着脱を検出する着脱検出工程と、
前記記録媒体の抜き出しを検出した場合に、抜き出されたときにデータを書き込んでいた状態を記憶部に記憶する書き込み状態記憶工程と、
前記記録媒体の装着を検出した場合に、記憶した状態に基づいて、前記装着された記録媒体に構築されたファイルシステムについて修復に関する診断を行う必要があるか否かを判断する修復診断判断工程と、を実行させることを特徴とする制御プログラム。
【請求項12】
請求項11に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2007−80246(P2007−80246A)
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願番号】特願2006−165894(P2006−165894)
【出願日】平成18年6月15日(2006.6.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】