IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7031327情報処理装置、情報処理方法、およびプログラム
<>
  • 特許-情報処理装置、情報処理方法、およびプログラム 図1
  • 特許-情報処理装置、情報処理方法、およびプログラム 図2
  • 特許-情報処理装置、情報処理方法、およびプログラム 図3
  • 特許-情報処理装置、情報処理方法、およびプログラム 図4
  • 特許-情報処理装置、情報処理方法、およびプログラム 図5
  • 特許-情報処理装置、情報処理方法、およびプログラム 図6
  • 特許-情報処理装置、情報処理方法、およびプログラム 図7
  • 特許-情報処理装置、情報処理方法、およびプログラム 図8
  • 特許-情報処理装置、情報処理方法、およびプログラム 図9
  • 特許-情報処理装置、情報処理方法、およびプログラム 図10
  • 特許-情報処理装置、情報処理方法、およびプログラム 図11
  • 特許-情報処理装置、情報処理方法、およびプログラム 図12
  • 特許-情報処理装置、情報処理方法、およびプログラム 図13
  • 特許-情報処理装置、情報処理方法、およびプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-28
(45)【発行日】2022-03-08
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
   G06F 16/18 20190101AFI20220301BHJP
   G06F 12/00 20060101ALI20220301BHJP
   G06F 3/06 20060101ALI20220301BHJP
   G06F 3/08 20060101ALI20220301BHJP
【FI】
G06F16/18 100
G06F12/00 597U
G06F3/06 304P
G06F3/06 306Z
G06F3/08 C
【請求項の数】 9
(21)【出願番号】P 2018010713
(22)【出願日】2018-01-25
(65)【公開番号】P2019128834
(43)【公開日】2019-08-01
【審査請求日】2020-10-23
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】南向 智広
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開平04-329424(JP,A)
【文献】特開2017-142776(JP,A)
【文献】特開2016-095578(JP,A)
【文献】特開2008-077669(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/10-16/188
G06F 12/00
G06F 3/06- 3/08
(57)【特許請求の範囲】
【請求項1】
不揮発性の第1の記憶部に対して書込または削除を行うたびに、揮発性の第2の記憶部に記憶された、ファイルのファイル名と書込回数を含むファイル情報とを対応付けた管理情報における、書込削除対象の前記ファイルの前記書込回数を更新する更新部と、
前記管理情報を前記第1の記憶部に記憶する記憶制御部と、
前記第1の記憶部へのアクセスに関するエラーが発生した場合、前記管理情報に基づいて、前記エラーに関する前記ファイルを示すエラー情報を出力する出力制御部と、
を備え
前記出力制御部は、
前記エラーが前記第1の記憶部に記憶された前記ファイルのファイルオープンエラーである場合、前記第2の記憶部に記憶された前記管理情報に基づいた前記エラー情報を出力する、
情報処理装置。
【請求項2】
前記出力制御部は、
前記管理情報における、ファイルオープン対象の前記ファイルの前記ファイル名および該ファイル名に対応する前記ファイル情報を、前記エラー情報として出力する、
請求項に記載の情報処理装置。
【請求項3】
前記出力制御部は、
前記エラーが前記第1の記憶部のマウントエラーである場合、前記第1の記憶部に記憶された前記管理情報に基づいた前記エラー情報を出力する、
請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記出力制御部は、
前記エラーが前記マウントエラーである場合、前記管理情報における所定条件を満たす前記ファイル情報を、前記エラー情報として出力する、
請求項に記載の情報処理装置。
【請求項5】
前記出力制御部は、
前記エラーが前記マウントエラーである場合、前記管理情報に付与されたマジックナンバーを前記第1の記憶部から検索することによって、前記第1の記憶部に記憶された前記管理情報を特定し、該管理情報における前記所定条件を満たす前記ファイル情報を、前記エラー情報として出力する、
請求項に記載の情報処理装置。
【請求項6】
前記ファイル情報は、対応する前記ファイル名のファイルの作成日、該ファイルの最終更新日、該ファイルが削除済か否かを示す削除フラグ、の少なくとも1つと、前記書込回数と、を含む、請求項1~請求項の何れか1項に記載の情報処理装置。
【請求項7】
前記記憶制御部は、
情報処理装置の動作終了時、または、省電力モードへの移行時に、前記管理情報を前記第1の記憶部に記憶する、
請求項1~請求項の何れか1項に記載の情報処理装置。
【請求項8】
不揮発性の第1の記憶部に対して書込または削除を行うたびに、揮発性の第2の記憶部に記憶された、ファイルのファイル名と書込回数を含むファイル情報とを対応付けた管理情報における、書込削除対象の前記ファイルの前記書込回数を更新する更新ステップと、
前記管理情報を前記第1の記憶部に記憶する記憶ステップと、
前記第1の記憶部へのアクセスに関するエラーが発生した場合、前記管理情報に基づいて、前記エラーに関する前記ファイルを示すエラー情報を出力する出力制御ステップと、
を含み、
前記出力制御ステップは、
前記エラーが前記第1の記憶部に記憶された前記ファイルのファイルオープンエラーである場合、前記第2の記憶部に記憶された前記管理情報に基づいた前記エラー情報を出力する、
情報処理方法。
【請求項9】
不揮発性の第1の記憶部に対して書込または削除を行うたびに、揮発性の第2の記憶部に記憶された、ファイルのファイル名と書込回数を含むファイル情報とを対応付けた管理情報における、書込削除対象の前記ファイルの前記書込回数を更新する更新ステップと、
前記管理情報を前記第1の記憶部に記憶する記憶ステップと、
前記第1の記憶部へのアクセスに関するエラーが発生した場合、前記管理情報に基づいて、前記エラーに関する前記ファイルを示すエラー情報を出力する出力制御ステップと、
コンピュータに実行させるためのプログラムであって、
前記出力制御ステップは、
前記エラーが前記第1の記憶部に記憶された前記ファイルのファイルオープンエラーである場合、前記第2の記憶部に記憶された前記管理情報に基づいた前記エラー情報を出力する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
外部メモリとして用いられるNAND型フラッシュメモリは、物理的な制約として、ブロックごとに書き換え回数に一定の制限がある。これを超えた場合、書き込まれたデータが正常に読めなくなるデータ化けや正常に書込みができない状態となる。そこで、このような状態を防ぐための技術が開示されている。
【0003】
例えば、特許文献1には、フラッシュメモリに対する積算書込量を管理することで、フラッシュメモリの寿命を判定する技術が開示されている。また、特許文献2には、データ保存に関連するファイル管理情報を不揮発性ランダムアクセスメモリに保持し、正常動作終了時に該ファイル管理情報をフラッシュメモリに記憶することで、フラッシュメモリの書換え頻度を抑制する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、書込んだデータ量や書込回数を特定することは可能であるが、外部メモリへのアクセスに関するエラーが、外部メモリの何れのファイルを要因とするものかを特定することは困難であった。すなわち、従来では、外部メモリへのアクセスに関するエラーの要因となったファイルに関する情報を、提供することは困難であった。
【0005】
本発明は、上記に鑑みてなされたものであって、外部メモリへのアクセスに関するエラーの要因となったファイルに関する情報を、提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、情報処理装置は、不揮発性の第1の記憶部に対して書込または削除を行うたびに、揮発性の第2の記憶部に記憶された、ファイルのファイル名と書込回数を含むファイル情報とを対応付けた管理情報における、書込削除対象の前記ファイルの前記書込回数を更新する更新部と、前記管理情報を前記第1の記憶部に記憶する記憶制御部と、前記第1の記憶部へのアクセスに関するエラーが発生した場合、前記管理情報に基づいて、前記エラーに関する前記ファイルを示すエラー情報を出力する出力制御部と、を備える。前記出力制御部は、前記エラーが前記第1の記憶部に記憶された前記ファイルのファイルオープンエラーである場合、前記第2の記憶部に記憶された前記管理情報に基づいた前記エラー情報を出力する。
【発明の効果】
【0007】
本発明によれば、外部メモリへのアクセスに関するエラーの要因となったファイルに関する情報を、提供することができる。
【図面の簡単な説明】
【0008】
図1図1は、画像形成装置のハードウェア構成例を示すブロック図である。
図2図2は、フラッシュメモリの内部構成の一例の説明図である。
図3図3は、FATファイルシステムの一例の説明図である。
図4図4は、FAT内のクラスタ識別子の一例の説明図である。
図5図5は、第1の記憶部へのアクセスに関するソフトウェアの一例の説明図である。
図6図6は、画像形成装置の機能的構成の一例を示す模式図である。
図7図7は、管理情報のデータ構成の一例を示す模式図である。
図8図8は、情報処理の手順の一例を示すフローチャートである。
図9図9は、初期化処理の手順の一例を示すフローチャートである。
図10図10は、書込処理の手順の一例を示すフローチャートである。
図11図11は、削除処理の手順の一例を示すフローチャートである。
図12図12は、エラー処理の手順の一例を示すフローチャートである。
図13図13は、解析処理の手順の一例を示すフローチャートである。
図14図14は、終了処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に添付図面を参照しながら、本実施の形態に係る情報処理装置、情報処理方法、およびプログラムの具体的な実施の形態について詳しく説明する。以下で示す実施の形態は、本実施の形態に係る情報処理装置、情報処理方法、およびプログラムを、画像形成装置(「機器」の一態様)の一機能として実現した例である。ただし、本発明はこの例に限らず、画像形成装置以外の機器の機能として、あるいは機器から独立した装置として実現することも可能である。
【0010】
図1は、本実施の形態の画像形成装置10のハードウェア構成例を示すブロック図である。本実施の形態の画像形成装置10は、コントローラ12と、出力部14と、エンジン22と、第1の記憶部24と、とを備える。出力部14、エンジン22、および第1の記憶部24と、コントローラ12と、はデータや信号を授受可能に接続されている。
【0011】
コントローラ12は、画像形成装置10の動作を制御する制御装置である。コントローラ12は、例えば、制御基板上に、CPU(Central Processing Unit)32、DRAM(Dynamic Random Access Memory)30、ASIC(Application Specific Integrated Circuit)34、SSD36、NVRAM(Non-Volatile Random Access Memory)38、USBポート40およびSDカードスロット42などの各種電子部品を実装した構成である。
【0012】
CPU32は、画像形成装置10の動作を制御するための各種プログラムを実行する演算装置である。DRAM30は、例えばCPU32がプログラムの実行時にワークエリアとして利用するメモリである。ASIC34は、各種の画像処理を実行したり各種の入出力インタフェース機能を実現したりする集積回路である。SSD36は、例えばシステム起動用のプログラムを格納する。NVRAM38は、画像形成装置10の電源がオフしても記憶しておく必要のある各種データを記憶する、書き換え制限のない不揮発性メモリである。
【0013】
DRAM30およびNVRAM38は、第2の記憶部31の一例である。第2の記憶部31は、揮発性のメモリである。すなわち、第2の記憶部31は、画像形成装置10に実装された、書き換え制限のない揮発性メモリである。
【0014】
なお、以下では、DRAM30およびNVRAM38を総称して説明する場合には、単に、第2の記憶部31と称して説明する。
【0015】
USBポート40は、USBメモリ26をコントローラ12に接続するためのインタフェースである。SDカードスロット42は、SDカード28をコントローラ12に接続するためのインタフェースである。
【0016】
USBメモリ26およびSDカード28は、画像形成装置10に対して外付けで接続されるフラッシュメモリである。USBメモリ26およびSDカード28は、第1の記憶部24の一例である。第1の記憶部24は、不揮発性のメモリであり、コントローラ12に対して外付けで接続される外部メモリの一例である。
【0017】
なお、本実施の形態では、USBメモリ26およびSDカード28を総称して説明する場合には、単に、第1の記憶部24と称して説明する。
【0018】
出力部14は、各種情報を出力する。出力部14は、例えば、情報の表示機能、情報を示す音声の出力機能、および外部装置への通信機能の少なくとも1つを有する。本実施の形態では、出力部14は、オペレーションパネル16と、スピーカ18と、通信部20と、を含む。
【0019】
オペレーションパネル16は、各種の情報を表示する機能と、ユーザによる各種の入力操作を受け付ける機能と、を有する。スピーカ18は、情報を示す音声を出力する。通信部20は、ネットワーク等を介して外部装置と情報を通信する。
【0020】
エンジン22は、コントローラ12による制御のもとで原稿の読み取りを行うスキャナエンジンや、コントローラ12による制御のもとで記録媒体などに画像形成を行うプロッタエンジンなどを含む。
【0021】
本実施の形態の画像形成装置10は、フラッシュメモリである第1の記憶部24へのアクセスに関するエラーを、管理する(詳細後述)。
【0022】
図2は、フラッシュメモリの内部構成の一例の説明図である。フラッシュメモリの記憶領域は、複数のブロック(図2ではBlock0からBlock1023)に分かれている。各ブロックは、複数のページ(図2ではpage0からpage63)から構成されている。フラッシュメモリに対するデータの書込みはページ単位で行われ、データの消去はブロック単位で行われる。また、データの上書きを行うことはできず、データが書込まれたブロックに新たなデータを書込む場合には、そのブロックのデータを一旦消去してからでないと新たなデータの書込みができない。
【0023】
このため、フラッシュメモリには、書込を制御する制御用の構成部が必要となる。このような構成部は、書込対象のデータ(ファイル)をページ単位にまとめて書込み、書込みのためのブロック消去およびデータの移動、等の制御を行う。第1の記憶部24への書込回数は、書込対象のデータの性質に依存することから書込量と書込回数は一致しないが、書込量の約2~3倍程度となることが多い。このため、第1の記憶部24への書込回数は、第1の記憶部24へのアクセスに関するエラー解析のパラメータとして、実用に耐えうるものであるといえる。
【0024】
なお、USBメモリ26やSDカード28などの第1の記憶部24で用いられるファイルシステムは、例えば、FAT(File Allocation Table)ファイルシステムである。FATファイルシステムは、データをクラスタ単位で管理し、そのマッピング情報をFATと呼ばれる管理テーブルに記録する方式である。
【0025】
図3は、FATファイルシステムの説明図である。FATファイルシステムにおけるデータの最小書込み単位は、セクタと称される。冒頭のセクタには、マスタ・ブート・レコードと呼ばれる情報が格納される。マスタ・ブート・レコードには、パーティション分割の情報(パーティション・エントリ・テーブル)などを含むディスク(本例ではUSBメモリ26やSDカード28などの第1の記憶部24)全体の情報が格納されている。マスタ・ブート・レコードには、通常利用での書込は行われない。パーティションとは、ディスクを分割して使用する場合の分割の単位を示す。
【0026】
冒頭のセクタの次のセクタから19個目のセクタまでは空き領域とされ、20個目のセクタからパーティションが始まる。パーティションの先頭セクタはブートセクタであり、ここにBIOSパラメータ・ブロックなどが含まれる。BIOSパラメータ・ブロックには、パーティションのセクタ数や1つのクラスタを構成するセクタ数、1つのFATのセクタ数など、パーティションの内部構成の情報が格納される。BIOSパラメータ・ブロックには、通常利用での書込は行われない。クラスタは、複数のセクタの集合であり、ファイルは、クラスタ単位で書き込まれる。
【0027】
BIOSパラメータ・ブロックを含むブートセクタ以降に、パーティションにおいて通常利用されるデータ領域が設けられる。このデータ領域には、FAT1およびFAT2の2つのFATと、ルート・ディレクトリ・エントリと、実際にユーザデータ(ファイル)の書き込まれるユーザデータ領域と、が設けられる。
【0028】
FATには、各クラスタとその利用状況が格納される。具体的には、FATは、ユーザデータ領域における各クラスタの状態や次にどのクラスタに繋がるかといった情報を1次元の配列で格納するテーブルである。
【0029】
図4は、FAT内のクラスタ識別子を説明する図である。図中のFAT12、FAT16、およびFAT32は、クラスタ識別子の使用ビット数に基づくFATの分類を示している。FATには、ユーザが利用可能なクラスタ(未使用クラスタおよび有効なユーザデータ・クラスタ)とユーザが利用できない予約クラスタ、クラスタの破損を示す不良クラスタ、クラスタ間の繋ぎの最後を示す最終クラスタが用意され、それぞれ図4に示すクラスタ識別子で識別される。
【0030】
図3に戻り説明を続ける。ルート・ディレクトリ・エントリは、ファイルに関するディレクトリ情報を格納する領域である。ディレクトリ情報には、例えば、ファイル作成日時、データの先頭位置(ファイルの開始クラスタ)などが含まれる。
【0031】
FATファイルシステムは、以上の構成によりユーザデータを管理する。このため、あるファイルに更新を行う場合、次の(1)から(7)に示すような手順を踏むことになる。
(1)ルート・ディレクトリ・エントリからディレクトリ情報を削除
(2)FAT1からクラスタ削除
(3)FAT2からクラスタ削除
(4)ユーザデータ領域にファイル書込み
(5)FAT2にクラスタ追加
(6)FAT1にクラスタ追加
(7)ルート・ディレクトリ・エントリにディレクトリ情報を追加
【0032】
以上の手順から分かるように、FATファイルシステムでデータを管理する構成では、実際にデータ(ファイル)が書き込まれるユーザデータ領域より、FATやルート・ディレクトリ・エントリなどの管理情報側の更新頻度が高い。
【0033】
USBメモリ26やSDカード28などの第1の記憶部24に対する実際のデータ書込み時には、例えば、上述のコントローラ12の動作によって実際のアドレスはばらつくように制御される。
【0034】
しかし、その方式にも様々なアルゴリズムがあり、実際にデータ(ファイル)の書込み制御がどのように行われるかユーザ側で把握することは難しい。また、例えば、空きブロックとの交換動作を主として行う場合もあるため、実際にデータが書き込まれる位置が偏る可能性もある。
【0035】
このため、FATファイルシステムにおいても、書込回数は、第1の記憶部24へのアクセスに関するエラー解析のパラメータとして、有用であるといえる。
【0036】
なお、第1の記憶部24に対するファイルの書込みや読出しは、OS(オペレーションシステム)上で動作するソフトウェアであるデバイスドライバにより行われる。
【0037】
図5は、第1の記憶部24へのアクセスに関するソフトウェアの一例の説明図である。本実施の形態の画像形成装置10では、コントローラ12が、OS12A上で、SDカード28などの第1の記憶部24に対応するデバイスドライバ12Dを動作させる。デバイスドライバ12Dは、第1の記憶部24(ここではSDカード28)用のデバイスドライバである。ファイルシステムドライバ12Cは、上位のアプリケーションからファイルアクセスするためのドライバである。すなわち、ファイルシステムドライバ12Cによって、上位のアプリケーションからデバイスドライバ12Dを介して、SDカード28等の第1の記憶部24に対して、ファイルアクセス(ファイルの書込み、読出し、または削除)が行われる。
【0038】
ここで、上述したように、第1の記憶部24への書込回数は、第1の記憶部24へのアクセスに関するエラー解析のパラメータとして有用であるといえる。しかし、従来では、書込回数の管理がファイルごとになされておらず、第1の記憶部24へのアクセスに関するエラーが、外部メモリの何れのファイルを要因とするものかを特定することは困難であった。すなわち、従来では、外部メモリへのアクセスに関するエラーの要因となったファイルに関する情報を、提供することは困難であった。
【0039】
そこで、本実施の形態の画像形成装置10では、以下の構成とすることで、第1の記憶部24へのアクセスに関するエラーの要因となったファイルに関する情報を、提供する。
【0040】
図6は、本実施の形態の画像形成装置10の機能的構成の一例を示す模式図である。画像形成装置10は、主制御部60を備える。主制御部60は、コントローラ12(図1参照)によって実現する。
【0041】
主制御部60であるコントローラ12には、上述したように、出力部14、エンジン22、および第1の記憶部24が電気的に接続されている。
【0042】
本実施の形態では、第2の記憶部31には、管理情報50が記憶されている。管理情報50は、後述する主制御部60の処理によって、更新される(詳細後述)。第2の記憶部31に記憶された管理情報50は、後述する主制御部60の処理によって、第1の記憶部24へ記憶(コピー)される。
【0043】
図7は、管理情報50のデータ構成の一例を示す模式図である。管理情報50は、ファイル名と、ファイル情報と、を対応づけたものである。管理情報50のデータ形式は、例えば、テーブルやデータベースであるが、これらに限定されない。
【0044】
ファイル名は、ファイルの名称である。ファイル名は、例えば、ファイルの格納場所を含む情報で表される。図7には、ディレクトリ情報を含むファイルパスを、ファイル名として用いた場合を示した。
【0045】
ファイル情報は、少なくとも書込回数を含む。書込回数は、対応するファイル名のファイルの、第1の記憶部24への書込または削除の回数を示す。第1の記憶部24へのファイルの書込には、第1の記憶部24への新たなファイルの書込、および、第1の記憶部24に記憶されているファイルの変更(書換、更新、追記、を含む)が含まれる。
【0046】
なお、ファイル情報は、対応するファイル名のファイルの作成日、該ファイルの最終更新日、該ファイルが削除済か否かを示す削除フラグ、の少なくとも1つと、書込回数と、を含むものであってもよい。
【0047】
また、ファイル情報は、画像形成装置10の省電力モードへの移行回数や、画像形成装置10の動作終了回数を含んでいてもよい。
【0048】
画像形成装置10の動作終了時とは、例えば、画像形成装置10のシャットダウン時である。省電力モードとは、画像形成装置10で動作する機能を最小限にして電力消費を抑制する機能である。画像形成装置10は、所定の条件を満たしたときに、通常の電力モードから省電力モードへ移行する。通常の電力モードとは、省電力モードが解除された状態を示す。
【0049】
図7には、ファイル情報が、書込回数、削除フラグ、作成日、および最終更新日を含む場合を、一例として示した。
【0050】
なお、管理情報50の先頭には、マジックナンバーを予め付与してもよい。本実施の形態では、管理情報50の先頭に、マジックナンバーを予め付与した形態を説明する。マジックナンバーには、予め定めた特定の文字列を用いればよい。
【0051】
図6に戻り説明を続ける。主制御部60は、書込処理部60Aと、更新部60Bと、記憶制御部60Cと、出力制御部60Dと、解析部60Eと、を備える。
【0052】
書込処理部60A、更新部60B、記憶制御部60C、出力制御部60D、および解析部60Eの一部または全ては、例えば、CPU32などのプロセッサ回路にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などの専用の処理回路を用いてハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。処理回路は、物理的に1つであってもよいし、複数であってもよい。
【0053】
例えば、書込処理部60A、更新部60B、記憶制御部60C、出力制御部60D、および解析部60Eの一部または全ては、例えば、コントローラ12のCPU32が、情報処理方法の実行手順をプログラムコードとして記述した所定のプログラムを実行することにより、実現される。
【0054】
書込処理部60Aは、第1の記憶部24に対する書込または削除に関する処理を実行する。すなわち、書込処理部60Aは、上述したファイルシステムドライバ12Cに相当する機能を有する(図5参照)。書込処理部60Aは、SDカード28等の第1の記憶部24に対して、ファイルの書込、読出し、または削除を行う。
【0055】
更新部60Bは、第1の記憶部24に対して書込または削除を行うたびに、第2の記憶部31に記憶された管理情報50における、書込削除対象のファイルの書込回数を更新する。
【0056】
詳細には、更新部60Bは、書込処理部60Aによってファイルが第1の記憶部24へ書込まれると、第2の記憶部31に記憶されている管理情報50における、該ファイルのファイル名に対応する書込回数を、“1”カウントアップする。
【0057】
このとき、書込処理部60Aによってファイルが新たに作成された場合には、更新部60Bは、管理情報50における該ファイル名に対応する作成日を、該ファイルを新たに作成した日に更新する。なお、作成日は、日・時・分・秒など、より詳細なタイミングを示すものであることが好ましい。
【0058】
また、書込処理部60Aによって、第1の記憶部24に記憶されているファイルが更新された場合には、更新部60Bは、管理情報50における該ファイル名に対応する最終更新日を、該ファイルを更新した最新の日に更新する。なお、最終更新日は、日・時・分・秒など、より詳細なタイミングを示すものであることが好ましい。
【0059】
また、更新部60Bは、書込処理部60Aによって、第1の記憶部24に記憶されているファイルが削除されると、第2の記憶部31に記憶されている管理情報50における、該ファイルのファイル名に対応する書込回数を、“1”カウントアップする。
【0060】
そして、更新部60Bは、第2の記憶部31に記憶されている管理情報50における、削除したファイルのファイル名に対応する最終更新日を、該削除したタイミングに更新する。また、更新部60Bは、第2の記憶部31に記憶されている管理情報50における、該ファイルのファイル名に対応する削除フラグとして、削除済を示す“Yes”を書込む。なお、初期状態では、削除フラグは、削除未を示す“No”であるものとして説明する。
【0061】
このようにして、更新部60Bは、第2の記憶部31に対して書込または削除を行うたびに、第2の記憶部31に記憶された管理情報50における、書込削除対象のファイルの書込回数を更新する。
【0062】
次に、記憶制御部60Cについて説明する。記憶制御部60Cは、第2の記憶部31に記憶された管理情報50を、第1の記憶部24へ記憶する。記憶制御部60Cは、所定のタイミングで、第2の記憶部31に記憶された管理情報50に示される情報を、SDカード28にコピーする。この処理によって、第2の記憶部31に記憶されていた管理情報50が、第1の記憶部24に記憶される。言い換えると、第1の記憶部24の管理情報50が、第2の記憶部31に記憶されていた管理情報50によって更新される。
【0063】
なお、記憶制御部60Cは、所定のタイミングごとに、第2の記憶部31に記憶された管理情報50を、第1の記憶部24へ記憶すればよい。
【0064】
例えば、記憶制御部60Cは、画像形成装置10の動作終了時、または、画像形成装置10の省電力モードへの移行時に、第2の記憶部31の管理情報50を、第1の記憶部24に記憶する。
【0065】
出力制御部60Dは、第1の記憶部24へのアクセスに関するエラーが発生した場合、管理情報50に基づいて、エラー情報を出力する。
【0066】
第1の記憶部24へのアクセスに関するエラーとは、主制御部60が第1の記憶部24へアクセスするとき、またはアクセスしたとき、に発生するエラーを示す。第1の記憶部24へのアクセスに関するエラーは、第1の記憶部24のマウントエラーや、第1の記憶部24に記憶されたファイルのファイルオープンエラーなどである。
【0067】
ファイルオープンエラーは、アプリケーションによる指示により、デバイスドライバ12Dが特定のファイルを利用しようとして、第1の記憶部24における特定のファイルをオープンしようとしたときに、発生するエラーである。
【0068】
マウントエラーは、画像形成装置10への電源供給が開始されたとき(電源ON時)などに、デバイスドライバ12Dが第1の記憶部24へのマウントを実施した際に、ファイルシステムの破損を検知した場合などに発生するエラーである。
【0069】
エラー情報は、上記エラーに関するファイルを示す情報である。
【0070】
出力制御部60Dは、エラー情報を、出力部14へ出力する。例えば、出力制御部60Dは、オペレーションパネル16へエラー情報を出力する。この場合、オペレーションパネル16には、エラー情報が表示される。また、例えば、出力制御部60Dは、スピーカ18へエラー情報を出力する。この場合、スピーカ18は、エラー情報を示す音声を出力する。また、例えば、出力制御部60Dは、通信部20へエラー情報を出力する。この場合、通信部20は、ネットワーク等を介して外部装置へ、エラー情報を送信する。
【0071】
なお、第1の記憶部24へのアクセスに関するエラーが、第1の記憶部24に記憶されたファイルのファイルオープンエラーである場合、出力制御部60Dは、第2の記憶部31に記憶された管理情報50に基づいたエラー情報を出力する。
【0072】
詳細には、ファイルオープンエラーである場合、出力制御部60Dは、第2の記憶部31に記憶された管理情報50における、ファイルオープン対象のファイルのファイル名および該ファイル名に対応するファイル情報を、エラー情報として出力する。
【0073】
一方、第1の記憶部24へのアクセスに関するエラーが、第1の記憶部24のマウントエラーである場合、出力制御部60Dは、第1の記憶部24に記憶された管理情報50に基づいた、エラー情報を出力する。
【0074】
詳細には、第1の記憶部24のマウントエラーである場合、出力制御部60Dは、第1の記憶部24に記憶された管理情報50における、所定条件を満たすファイル情報および該ファイル情報に対応するファイル名を、エラー情報として出力する。
【0075】
所定条件を満たすファイル情報は、例えば、第1の記憶部24に記憶された管理情報50における、最新の最終更新日を含むファイル情報、閾値以上の書込回数を含むファイル情報、書込回数が上位N個(Nは1以上の整数)のファイル情報、などである。なお、所定条件は、予め定めればよい。また、所定条件は、ユーザによるオペレーションパネル16の操作指示などによって、適宜変更可能としてもよい。
【0076】
なお、第1の記憶部24のマウントエラーである場合、第1の記憶部24から管理情報50を検索することが困難な場合がある。このため、この場合、出力制御部60Dは、管理情報50に付与されたマジックナンバーを第1の記憶部24から検索することで、第1の記憶部24に記憶された管理情報50を特定すればよい。そして、出力制御部60Dは、特定した管理情報50における、上記所定条件を満たすファイル情報を、エラー情報として出力すればよい。
【0077】
なお、出力制御部60Dは、第1の記憶部24へのアクセスに関するエラーが発生した場合、第1の記憶部24を書込不可モードに設定してもよい。この設定により、第1の記憶部24への書込を禁止することができる。なお、書込不可モードの設定は、例えば、第1の記憶部24に設けられた物理的なスイッチを切替えることで実現してもよいし、予め定めた所定のフラグを切替えることで実現してもよい。また、第1の記憶部24に対応するデバイスドライバ12Dの設定を書込不可モードとすることで、第1の記憶部24に対する書込みを禁止するように制御してもよい。
【0078】
次に、解析部60Eについて説明する。解析部60Eは、出力制御部60Dが出力したエラー情報を解析し、第1の記憶部24へのアクセスに関するエラーの要因となったファイルアクセスの問題を特定する。
【0079】
解析部60Eは、出力制御部60Dが出力したエラー情報から、最後にアクセスされたファイルのファイル名を特定する。そして、解析部60Eは、特定したファイル名のファイルに対するアクセスについての問題を特定する。例えば、解析部60Eは、特定したファイルへのアクセスの際に、過剰な書込や、電源遮断時に書込のためのアクセスが行われたか、などの問題を特定する。
【0080】
なお、この解析によってファイルアクセスの問題が特定出来なかった場合には、解析部60Eは、出力制御部60Dが出力したエラー情報を読取ることで、書込回数が閾値以上のファイルを特定する。そして、解析部60Eは、特定したファイルに対するアクセスについて、ファイルアクセスの問題を特定する。
【0081】
例えば、解析部60Eは、特定したファイルへのアクセスの際に、過剰な書込や、電源遮断時に書込のためのアクセスが行われたか、などを特定する。この処理によって、解析部60Eは、エラーの要因となったファイルアクセスの問題を特定する。また、書込回数が閾値以上のファイルが1つであった場合には、該ファイルのファイル名に対応する書込回数などのファイル情報から、異常な回数の書込みをしていないか、などを特定する。
【0082】
ここで、従来では、SDカード28のデータ破損時の解析には、困難を極めていた。特に、SDカード28におけるファイルシステムが破損した場合、マウントエラーによってマウントが不可能である。このため、従来では、SDカード28にどのようなファイルが記憶されているのか、また、SDカード28がどのような状態にあるのか、SDカード28に最後にアクセスされたのはいつなのか、などを手作業で解析する必要があった。
【0083】
また、従来では、書込回数の多いファイルなどの情報が不明であることから、破損した可能性のあるファイルを特定することができず、それ以上の解析は困難であった。また、従来では、単純なファイル内でのデータ破損の場合、ファイル自体へのアクセスは可能であるが、ファイルに対応する書込回数などの情報が無く、エラーの要因となったファイルアクセスの問題を特定することは困難であった。
【0084】
一方、本実施の形態では、解析部60Eは、出力制御部60Dから出力されるエラー情報を用いて、解析を行う。エラー情報は、上述したように、管理情報50に基づいて出力された情報であり、エラーに関するファイルを示す情報である。
【0085】
このため、本実施の形態では、解析部60Eは、出力制御部60Dが出力したエラー情報を用いることで、第1の記憶部24へのアクセスに関するエラーの要因となったファイルに関する情報を、容易に特定することができる。
【0086】
次に、本実施の形態の画像形成装置10が実行する、情報処理の手順の一例を説明する。
【0087】
なお、以下の手順の説明では、第1の記憶部24としてSDカード28を用い、第2の記憶部31としてDRAM30を用いた場合を、一例として説明する。
【0088】
図8は、本実施の形態の画像形成装置10が実行する、情報処理の手順の一例を示すフローチャートである。
【0089】
まず、主制御部60は、SDカード28がSDカードスロット42に挿入されたか否かを判断する(ステップS100)。SDカード28が未挿入の状態から挿入された状態へと移行した場合、肯定判断し(ステップS100:Yes)、ステップS102へ進む。ステップS102では、主制御部60は、初期化処理を実行する(ステップS102)(詳細後述)。そして、本ルーチンを終了する。
【0090】
SDカード28が挿入済である場合には、否定判断し(ステップS100:No)、ステップS104へ進む。
【0091】
ステップS104では、書込処理部60Aが、ファイルを第1の記憶部24へ書込むか否かを判断する(ステップS104)。例えば、書込処理部60Aは、アプリケーションからファイルの書込指示を受付けたか否かを判別することで、ステップS104の判断を行う。ステップS104で肯定判断すると(ステップS104:Yes)、ステップS106へ進む。ステップS106では、主制御部60が書込処理を実行する(ステップS106)(詳細後述)。そして、本ルーチンを終了する。
【0092】
ステップS104で否定判断すると(ステップS104:No)、ステップS108へ進む。ステップS108では、書込処理部60Aが、第1の記憶部24へ記憶されたファイルの何れかを削除するか否かを判断する(ステップS108)。例えば、書込処理部60Aは、アプリケーションからファイルの削除指示を受信したか否かを受付けたか否かを判別することで、ステップS108の判断を行う。
【0093】
ステップS108で肯定判断すると(ステップS108:Yes)、ステップS110へ進む。ステップS110では、主制御部60が、削除処理を実行する(ステップS110)(詳細後述)。そして、本ルーチンを終了する。
【0094】
ステップS108で否定判断すると(ステップS108:No)、ステップS112へ進む。
【0095】
ステップS112では、書込処理部60Aが、SDカード28へのアクセスに関するエラーが発生したか否かを判断する(ステップS112)。ステップS112で肯定判断すると(ステップS112:Yes)、ステップS114へ進む。ステップS114では、主制御部60がエラー処理を実行する(ステップS114)(詳細後述)。そして、本ルーチンを終了する。
【0096】
ステップS112で否定判断すると(ステップS112:No)、ステップS116へ進む。ステップS116では、主制御部60が、画像形成装置10の動作終了または省電力モードへの移行を判断する(ステップS116)。例えば、主制御部60は、画像形成装置10の動作終了指示または省電力モードへの移行指示を受付けたか否かを判別することで、ステップS116の判断を行う。画像形成装置10の動作終了指示や省電力モードへの移行指示は、アプリケーションまたはユーザによるオペレーションパネル16の操作指示によって、主制御部60へ通知されるものとすればよい。
【0097】
ステップS116で肯定判断すると(ステップS116:Yes)、ステップS118へ進む。ステップS118では、主制御部60は、後述する終了処理を実行する(ステップS118)(詳細後述)。そして、本ルーチンを終了する。また、ステップS116で否定判断した場合(ステップS116:No)、本ルーチンを終了する。
【0098】
次に、主制御部60が実行する初期化処理(図8のステップS102)の手順を説明する。図9は、初期化処理の手順の一例を示すフローチャートである。
【0099】
書込処理部60Aは、SDカード28がSDカードスロット42に挿入されると、管理情報50がSDカード28内にあるか否かを判断する(ステップS200)。SDカード28内に管理情報50が有る場合(ステップS200:Yes)、後述するステップS204へ進む。
【0100】
SDカード28内に管理情報50が無い場合(ステップS200:No)、ステップS202へ進む。ステップS202では、書込処理部60Aが、新規に管理情報50を生成する(ステップS202)。ステップS202では、書込処理部60Aは、SDカード28内のファイルをすべて検索し、ファイルのファイル名を登録することで、新たな管理情報50を生成する。このとき、書込処理部60Aは、該管理情報50に、マジックナンバーを付与する。そして、ステップS204へ進む。
【0101】
ステップS204では、書込処理部60Aは、ステップS200でSDカード28から読取った管理情報50、または、ステップS202で新たに作成した管理情報50を、DRAM30に記憶する(ステップS204)。そして、本ルーチンを終了する。
【0102】
次に、主制御部60が実行する書込処理(図8のステップS106)の手順を説明する。図10は、書込処理の手順の一例を示すフローチャートである。
【0103】
ファイルの書込指示を受付けると、書込処理部60Aは、SDカード28が書込不可モードであるか否かを判断する(ステップS300)。SDカード28が書込不可モードである場合(ステップS300:Yes)、本ルーチンを終了する。一方、SDカード28が書込不可モードではない場合(ステップS300:No)、ステップS302へ進む。
【0104】
ステップS302では、書込処理部60Aが、書込指示されたファイルを第1の記憶部24へ書込む(ステップS302)。
【0105】
次に、更新部60Bは、DRAM30に記憶されている管理情報50における、該ファイルのファイル名に対応する書込回数を、“1”カウントアップする(ステップS304)。
【0106】
なお、新規のファイルをSDカード28へ書込む場合には、管理情報50に、該ファイルのファイル名が未登録である。このため、この場合、更新部60Bは、DRAM30における管理情報50に、新たなファイル名を追加登録した上で、該ファイル名に対応する書込回数を“1”カウントアップし、対応する作成日を更新すればよい。
【0107】
一方、既にSDカード28へ記憶済のファイルの更新や変更により該ファイルの書込みを行う場合には、管理情報50に、該ファイルのファイル名が登録済である。このため、この場合、更新部60Bは、DRAM30における管理情報50から、書込対象のファイルのファイル名を検索し、検索したファイル名に対応する書込回数をカウントアップすればよい。また、このとき、更新部60Bは、該管理情報50における該ファイル名に対応する最終更新日を更新すればよい。
【0108】
次に、更新部60Bは、DRAM30に記憶されている管理情報50における、該ファイル名に対応する最終更新日を、該ファイルを更新した最新の日に更新する(ステップS306)。そして、本ルーチンを終了する。
【0109】
次に、主制御部60が実行する削除処理(図8のステップS110)の手順を説明する。図11は、削除処理の手順の一例を示すフローチャートである。
【0110】
ファイルの削除指示を受付けると、書込処理部60Aは、SDカード28が書込不可モードであるか否かを判断する(ステップS400)。SDカード28が書込不可モードである場合(ステップS400:Yes)、本ルーチンを終了する。一方、SDカード28が書込不可モードではない場合(ステップS400:No)、ステップS402へ進む。
【0111】
ステップS402では、書込処理部60Aが、削除指示されたファイルを第1の記憶部24から削除する(ステップS402)。
【0112】
次に、更新部60Bは、DRAM30に記憶されている管理情報50における、該ファイルのファイル名に対応する書込回数を、“1”カウントアップする(ステップS404)。
【0113】
次に、更新部60Bは、DRAM30に記憶されている管理情報50における、該ファイル名に対応する最終更新日を、該ファイルを更新した最新の日に更新する(ステップS406)。また、更新部60Bは、DRAM30に記憶されている管理情報50における、該ファイル名に対応する削除フラグとして、削除済を示す“Yes”を書込む(ステップS408)。そして、本ルーチンを終了する。
【0114】
次に、主制御部60が実行するエラー処理(図8のステップS114)の手順を説明する。図12は、エラー処理の手順の一例を示すフローチャートである。
【0115】
まず、出力制御部60Dは、第1の記憶部24へのアクセスに関するエラーが、ファイルオープンエラーであるか否かを判断する(ステップS500)。ファイルオープンエラーの場合(ステップS500:Yes)、ステップS502へ進む。
【0116】
ステップS502では、出力制御部60Dは、ファイルオープン対象のファイルのファイル名および該ファイル名に対応するファイル情報を、DRAM30に記憶された管理情報50から読取る(ステップS502)。すなわち、出力制御部60Dは、SDカード28における、ファイルオープンに失敗したファイルのファイル情報を、DRAM30の管理情報50から読取る。
【0117】
そして、出力制御部60Dは、ファイル名および該ファイル名に対応するステップS502で読取ったファイル情報を、エラー情報として出力部14へ出力する(ステップS504)。
【0118】
このため、出力部14は、ファイルオープンに失敗したファイルの、ファイル名や、書込回数、ファイルの作成日、ファイルの最終更新日、および削除フラグなどを含むファイル情報を、エラー情報として出力することができる。
【0119】
なお、上述したように、ファイル情報は、画像形成装置10の省エネルギーモードへの移行回数や、画像形成装置10の動作終了(すなわちシャットダウン)回数を含んでいてもよい。この場合、更新部60Bは、画像形成装置10が省電力モードへ移行するごとに、管理情報50における移行回数を“1”カウントアップすればよい。また、更新部60Bは、画像形成装置10がシャットダウンするときに、管理情報50における動作終了回数を“1”カウントアップすればよい。
【0120】
この場合、出力部14は、省電力モードへの移行回数や、画像形成装置10の動作終了回数を更に含むファイル情報を、出力部14へ出力することができる。
【0121】
そして、主制御部60は、解析処理を実行し(ステップS516)(詳細後述)、本ルーチンを終了する。
【0122】
一方、第1の記憶部24へのアクセスに関するエラーが、ファイルオープンエラーではない場合(ステップS500:No)、ステップS506へ進む。ステップS506では、出力制御部60Dが、マウントエラーであるか否かを判断する(ステップS506)。
【0123】
ステップS506で否定判断すると(ステップS506:No)、本ルーチンを終了する。一方、ステップS506で肯定判断すると(ステップS506:Yes)、ステップS508へ進む。
【0124】
ステップS508では、出力制御部60Dは、管理情報50に付与されているマジックナンバーを用いて、SDカード28から管理情報50を読取る(ステップS508)。
【0125】
ここで、マウントエラーは、デバイスドライバ12Dが第1の記憶部24へのマウントを実施した際に発生するため、出力制御部60Dは、SDカード28から管理情報50を検索することが出来ない。このため、出力制御部60Dは、管理情報50の先頭に付与されているマジックナンバーを元に、SDカード28全体についてアドレスレベルでの検索を行うことで、管理情報50を特定し、読み取る。
【0126】
次に、出力制御部60Dは、ステップS508でSDカード28から読取った管理情報50における、最新の最終更新日を含むファイル情報および対応するファイル名を読取る(ステップS510)。
【0127】
また、出力制御部60Dは、ステップS508でSDカード28から読取った管理情報50における、書込回数が上位N個(Nは1以上の整数)のファイル情報と対応するファイル名を読取る(ステップS512)。例えば、出力制御部60Dは、書込回数が上位3個のファイル情報と、該ファイル情報に対応するファイル名を読取る。
【0128】
次に、出力制御部60Dは、ステップS510およびステップS512で読取った、ファイル名およびファイル名に対応するファイル情報を、エラー情報として出力部14へ出力する(ステップS514)。
【0129】
このため、マウントエラーが発生した場合、出力部14は、管理情報50における所定条件を満たすファイル情報と、該ファイル情報に対応するファイル名と、をエラー情報として出力することができる。
【0130】
そして、主制御部60は、解析処理を実行し(ステップS516)(詳細後述)、本ルーチンを終了する。
【0131】
次に、解析処理(図12のステップS516)の手順を説明する。図13は、解析処理の手順の一例を示すフローチャートである。
【0132】
まず、解析部60Eは、出力制御部60Dが出力したエラー情報から、最後にアクセスされたファイルを特定する(ステップS700)。次に、解析部60Eは、ステップS700で特定したファイルに対するアクセスについて、ファイルアクセスの問題を特定する(ステップS702)。
【0133】
例えば、解析部60Eは、出力制御部60Dが出力したエラー情報から、最後にアクセスされたファイルのファイル名を特定する。そして、解析部60Eは、特定したファイル名のファイルに対するアクセスについての問題を特定する。例えば、解析部60Eは、特定したファイルへのアクセスの際に、過剰な書込や、電源遮断時に書込のためのアクセスが行われたか、などの問題を特定する。
【0134】
次に、解析部60Eは、ステップS702の処理によってファイルアクセスの問題を特定出来たか否かを判断する(ステップS704)。特定出来た場合(ステップS704:Yes)、後述するステップS710へ進む。特定出来なかった場合(ステップS704:No)、ステップS706へ進む。
【0135】
ステップS706では、解析部60Eは、出力制御部60Dが出力したエラー情報を読取ることで、書込回数が閾値以上のファイルを特定する(ステップS706)。そして、解析部60Eは、ステップS706で特定したファイルに対するアクセスについて、ファイルアクセスの問題を特定する(ステップS708)。
【0136】
例えば、解析部60Eは、特定したファイルへのアクセスの際に、過剰な書込や、電源遮断時に書込のためのアクセスが行われたか、などを特定する。この処理によって、解析部60Eは、エラーの要因となったファイルアクセスの問題を特定する。また、書込回数が閾値以上のファイルが1つであった場合には、該ファイルのファイル名に対応する書込回数などのファイル情報から、異常な回数の書込みをしていないか、などを特定する。
【0137】
そして、ステップS710へ進む。ステップS710では、解析部60Eは、ステップS702またはステップS706の特定結果を、出力制御部60Dを介して出力部14から出力する(ステップS710)。そして、本ルーチンを終了する。
【0138】
次に、主制御部60が実行する終了処理(図8のステップS118)の手順を説明する。図14は、終了処理の手順の一例を示すフローチャートである。
【0139】
主制御部60の記憶制御部60Cは、画像形成装置10の動作終了または省電力モードへの移行を判別すると、SDカード28のアンマウント処理を開始する(ステップS600)。このとき、記憶制御部60Cは、DRAM30の管理情報50を、SDカード28へ記憶する(ステップS602)。
【0140】
上述したように、更新部60Bは、SDカード28に対して書込を行う度に、DRAM30に記憶された管理情報50を更新する。このため、タイミングによっては、DRAM30に記憶された管理情報50に含まれる情報の一部が、SDカード28に記憶されているDRAM30に含まれていない場合がある。そこで、更新部60Bは、DRAM30に記憶されている管理情報50に含まれる情報(ファイル名、ファイル情報)を、SDカード28の管理情報50にコピーすることで、データの同期を行う。この処理によって、SDカード28の管理情報50が、最新の状態に更新される。そして、本ルーチンを終了する。
【0141】
以上説明したように、本実施の形態の画像形成装置10(情報処理装置)は、更新部60Bと、記憶制御部60Cと、出力制御部60Dと、を備える。更新部60Bは、不揮発性の第1の記憶部24に対して書込または削除を行うたびに、揮発性の第2の記憶部31に記憶された、ファイルのファイル名と書込回数を含むファイル情報とを対応付けた管理情報50における、書込削除対象の前記ファイルの書込回数を更新する。記憶制御部60Cは、管理情報50を第1の記憶部24に記憶する。出力制御部60Dは、第1の記憶部24へのアクセスに関するエラーが発生した場合、管理情報50に基づいて、エラーに関するファイルを示すエラー情報を出力する。
【0142】
このように、本実施の形態の画像形成装置10は、第1の記憶部24に対して書込または削除を行うたびに、管理情報50における、書込削除対象のファイルごとに、書込回数を更新する。そして、出力制御部60Dは、管理情報50に基づいて、エラーに関するファイルを示すエラー情報を出力する。
【0143】
従って、本実施の形態の画像形成装置10は、第1の記憶部24(外部メモリ)へのアクセスに関するエラーの要因となったファイルに関する情報を、提供することができる。
【0144】
また、出力制御部60Dは、エラーが第1の記憶部24に記憶されたファイルのファイルオープンエラーである場合、第2の記憶部31に記憶された管理情報50に基づいたエラー情報を出力する。
【0145】
また、出力制御部60Dは、管理情報50における、ファイルオープン対象のファイルのファイル名および該ファイル名に対応するファイル情報を、エラー情報として出力する。
【0146】
出力制御部60Dは、エラーが第1の記憶部24のマウントエラーである場合、第1の記憶部24に記憶された管理情報50に基づいたエラー情報を出力する。
【0147】
出力制御部60Dは、エラーがマウントエラーである場合、管理情報50における所定条件を満たすファイル情報を、エラー情報として出力する。
【0148】
出力制御部60Dは、エラーがマウントエラーである場合、管理情報50に付与されたマジックナンバーを第1の記憶部24から検索することによって、第1の記憶部24に記憶された管理情報50を特定し、該管理情報50における所定条件を満たすファイル情報を、エラー情報として出力する。
【0149】
ファイル情報は、対応するファイル名のファイルの作成日、該ファイルの最終更新日、該ファイルが削除済か否かを示す削除フラグ、の少なくとも1つと、前記書込回数と、を含む。
【0150】
記憶制御部60Cは、画像形成装置10(情報処理装置)の動作終了時、または、省電力モードへの移行時に、前記管理情報を前記第1の記憶部に記憶する。
【0151】
また、本実施の形態の情報処理方法は、不揮発性の第1の記憶部24に対して書込または削除を行うたびに、揮発性の第2の記憶部31に記憶された、ファイルのファイル名と書込回数を含むファイル情報とを対応付けた管理情報50における、書込削除対象のファイルの書込回数を更新するステップと、管理情報50を第1の記憶部24に記憶するステップと、第1の記憶部24へのアクセスに関するエラーが発生した場合、管理情報50に基づいて、エラーに関するファイルを示すエラー情報を出力するステップと、を含む。
【0152】
また、本実施の形態のプログラムは、不揮発性の第1の記憶部24に対して書込または削除を行うたびに、揮発性の第2の記憶部31に記憶された、ファイルのファイル名と書込回数を含むファイル情報とを対応付けた管理情報50における、書込削除対象のファイルの書込回数を更新するステップと、管理情報50を第1の記憶部24に記憶するステップと、第1の記憶部24へのアクセスに関するエラーが発生した場合、管理情報50に基づいて、エラーに関するファイルを示すエラー情報を出力するステップと、をコンピュータに実行させるためのプログラムである。
【0153】
なお、上述した実施の形態における、画像形成装置10(情報処理装置)で実行する上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0154】
また、上述した実施の形態における、画像形成装置10(情報処理装置)の各々で実行されるプログラムは、上記各機能部を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU32(プロセッサ回路)がROMまたはHDDからプログラムを読出して実行することにより、上述した各機能部がRAM(DRAM30、NVRAM38)上にロードされ、上述した各機能部がRAM上に生成されるようになっている。なお、画像形成装置10は、上述した各機能部の一部または全部を、ASIC34やFPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
【0155】
なお、上記には、実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施の形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0156】
10 画像形成装置
14 出力部
24 第1の記憶部
26 USBメモリ
28 SDカード
30 DRAM
31 第2の記憶部
38 NVRAM
60B 更新部
60C 記憶制御部
60D 出力制御部
【先行技術文献】
【特許文献】
【0157】
【文献】特開2017-142776号公報
【文献】特開2013-235358号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14