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

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

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

<>
  • 特許-ダンプ処理装置及び画像形成装置 図1
  • 特許-ダンプ処理装置及び画像形成装置 図2
  • 特許-ダンプ処理装置及び画像形成装置 図3
  • 特許-ダンプ処理装置及び画像形成装置 図4
  • 特許-ダンプ処理装置及び画像形成装置 図5
  • 特許-ダンプ処理装置及び画像形成装置 図6
  • 特許-ダンプ処理装置及び画像形成装置 図7
  • 特許-ダンプ処理装置及び画像形成装置 図8
  • 特許-ダンプ処理装置及び画像形成装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-05
(45)【発行日】2022-09-13
(54)【発明の名称】ダンプ処理装置及び画像形成装置
(51)【国際特許分類】
   G06F 11/07 20060101AFI20220906BHJP
   G06F 1/30 20060101ALI20220906BHJP
   G03G 21/00 20060101ALI20220906BHJP
【FI】
G06F11/07 178
G06F11/07 140P
G06F1/30
G03G21/00 500
【請求項の数】 4
(21)【出願番号】P 2018082426
(22)【出願日】2018-04-23
(65)【公開番号】P2019191820
(43)【公開日】2019-10-31
【審査請求日】2021-02-08
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】青木 龍太
【審査官】河合 弘明
(56)【参考文献】
【文献】特開2007-323380(JP,A)
【文献】特開2010-122784(JP,A)
【文献】特開2012-194930(JP,A)
【文献】特開2010-026791(JP,A)
【文献】国際公開第2016/117022(WO,A1)
【文献】米国特許第6272551(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 1/30
G03G 21/00
(57)【特許請求の範囲】
【請求項1】
オペレーティングシステムの異常時に対象データを所定の記憶装置に記憶させるダンプ処理装置であって、
前記対象データを分割して複数の分割データを生成する分割データ生成部と、
前記分割データを識別するヘッダ情報を生成するヘッダ情報生成部と、
前記分割データの正当性を判断するためのチェックサムを生成するチェックサム生成部と、
前記ヘッダ情報を前記分割データの書込み開始前に前記記憶装置に書き込み、前記チェックサムを前記分割データの書込み完了後に前記記憶装置に書き込む書込み部と、
全ての前記対象データの書込みが完了したか否かを示す情報を含む管理情報を生成する管理情報生成部と、
を備え、
前記書込み部は、前記管理情報を前記記憶装置に書き込み、
さらに、前記記憶装置から読み出された、前記対象データに基づくダンプファイルに含まれる前記管理情報、前記ヘッダ情報、及び前記チェックサムに基づいて、前記ダンプファイルの正当性を判断する正当性判断部を備え、
前記正当性判断部は、
前記管理情報が、全ての前記対象データの書込みが完了したことを示す場合には、前記ダンプファイルは正当であると判断し、
前記管理情報が、全ての前記対象データの書込みが完了したことを示していない場合には、前記ヘッダ情報及び前記チェックサムが存在し、且つ前記チェックサムが正当な値である場合に、当該ヘッダ情報及び当該チェックサムに対応する前記分割データは正当であると判断する、
ダンプ処理装置。
【請求項2】
前記管理情報は、前記対象データの書込み先を示す情報及び前記対象データのデータサイズを示す情報を更に含む、
請求項1に記載のダンプ処理装置。
【請求項3】
前記正当性判断部は、前記ヘッダ情報及び前記チェックサムが存在し、且つ前記チェックサムが正当な値である場合に、当該ヘッダ情報及び当該チェックサムに対応する前記分割データは正当であると判断する、
請求項に記載のダンプ処理装置。
【請求項4】
請求項1~のいずれか1項に記載のダンプ処理装置と、
画像を形成する画像形成部と、
を備える画像形成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ダンプ処理装置及び画像形成装置に関する。
【背景技術】
【0002】
OS(Operating System)上でアプリケーションを動作させる装置において、OSの異常、いわゆるカーネルパニックが発生した際に、メインメモリに記憶されているログデータ等をHDD(Hard Disk Drive)等の外部記憶装置に書き込むダンプ処理が行われる。ダンプ処理により外部記憶装置に書き込まれたデータ(ダンプファイル)は、後に障害解析用のデータ等として利用される。しかし、ダンプ処理の実行中に電源断が発生すると、データの書込みが中断され、ダンプファイルの正当性を保証することができなくなる。
【0003】
データ書込み時における電源断に対処することを目的として、例えば、ガベージコレクション処理において、固定長のデータ単位の書込み完了時にフラグを発行し、復帰後にフラグを参照することにより、データの書込み完了を判断する技術が開示されている(特許文献1)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来技術のように、データの書込み完了時に発行される情報(フラグ、チェックサム等)を参照することにより、書き込まれたダンプファイルの正当性をある程度判断することができる。しかしながら、カーネルパニック発生時に実行されるダンプ処理においては、メインメモリ内のログデータ等の対象データを様々なデータ長に分割して書き込む場合がある。このような場合、書込み完了時に発行されるチェックサム等の情報のみを用いてダンプファイルの正当性を判断すると、データの書込み開始に関する情報を十分に取得することができないため、ダンプファイルの正当性を正確に判断することができない場合がある。
【0005】
本発明は、上記に鑑みてなされたものであって、カーネルパニック発生時におけるダンプファイルの正当性を正確に判断できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明の一形態は、オペレーティングシステムの異常時に対象データを所定の記憶装置に記憶させるダンプ処理装置であって、前記対象データを分割して複数の分割データを生成する分割データ生成部と、前記分割データを識別するヘッダ情報を生成するヘッダ情報生成部と、前記分割データの正当性を判断するためのチェックサムを生成するチェックサム生成部と、前記ヘッダ情報を前記分割データの書込み開始前に前記記憶装置に書き込み、前記チェックサムを前記分割データの書込み完了後に前記記憶装置に書き込む書込み部と、全ての前記対象データの書込みが完了したか否かを示す情報を含む管理情報を生成する管理情報生成部と、を備え、前記書込み部は、前記管理情報を前記記憶装置に書き込み、さらに、前記記憶装置から読み出された、前記対象データに基づくダンプファイルに含まれる前記管理情報、前記ヘッダ情報、及び前記チェックサムに基づいて、前記ダンプファイルの正当性を判断する正当性判断部を備え、前記正当性判断部は、前記管理情報が、全ての前記対象データの書込みが完了したことを示す場合には、前記ダンプファイルは正当であると判断し、前記管理情報が、全ての前記対象データの書込みが完了したことを示していない場合には、前記ヘッダ情報及び前記チェックサムが存在し、且つ前記チェックサムが正当な値である場合に、当該ヘッダ情報及び当該チェックサムに対応する前記分割データは正当であると判断する、ことを特徴とする。
【発明の効果】
【0007】
本発明によれば、カーネルパニック発生時におけるダンプファイルの正当性を正確に判断することが可能となる。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る画像形成装置のハードウェア構成例を示すブロック図である。
図2図2は、実施形態に係る画像形成装置のソフトウェアレイヤ構成例を示す図である。
図3図3は、実施形態に係るコントローラの機能構成例を示すブロック図である。
図4図4は、実施形態に係るダンプ処理の全体的な処理例を示すフローチャートである。
図5図5は、実施形態に係るダンプファイルのデータ構造例を示す図である。
図6図6は、実施形態に係るログ管理情報を更新する際の処理例を示すフローチャートである。
図7図7は、実施形態に係るダンプ処理において複数のデータブロックを含むログ202を書き込む際の処理例を示すフローチャートである。
図8図8は、実施形態に係るデータブロックの書込み時における電源断の影響を概念的に例示する図である。
図9図9は、実施形態に係る正当性判断処理の例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、ダンプ処理装置及び画像形成装置の実施形態を詳細に説明する。以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には当業者が容易に想到できるもの、実質的に同一のもの、及びいわゆる均等の範囲のものが含まれる。以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更、及び組み合わせを行うことができる。
【0010】
図1は、実施形態に係る画像形成装置1のハードウェア構成例を示すブロック図である。画像形成装置1は、カーネルパニック発生時にダンプファイルを所定の記憶装置に記憶させるダンプ処理を実行するコントローラ11(ダンプ処理装置)を含む装置の一例である。本実施形態に係る画像形成装置1は、コントローラ11、操作部12、エンジン13(画像形成部)、及びHDD14を含む。
【0011】
コントローラ11は、画像形成装置1全体の制御を司るユニットであり、CPU(Central Processing Unit)21、ASIC(Application Specific Integrated Circuit)22、DRAM(Dynamic Random Access Memory)23、SSD(Solid State Drive)24、NVRAM(Non-Volatile Random Access Memory)25、USB・I/F(Universal Serial Bus Interface)26、及びSDカードI/F27を含む。
【0012】
CPU21は、例えばSoC(System on Chip)の形態を有する集積回路であり、DRAM23、操作部12、HDD14、USB・I/F26、及びASIC22と接続している。DRAM23は、メインメモリとして利用される揮発性メモリである。操作部12は、ユーザの操作を受け付け、ユーザに情報を提供するユーザインターフェースであり、例えばキーパッド、タッチパネル、スピーカ等を利用して構成される。HDD14は、大容量の外部記憶装置である。USB・I/F26は、各種の外部機器と接続可能なインターフェースであり、例えばUSBメモリ28等と接続する。
【0013】
ASIC22は、特定用途向けの集積回路であり、画像処理、各種I/Fの機能を実現させるための処理等を行う。ASIC22は、CPU21、SSD24、NVRAM25、SDカードI/F27、及びエンジン13と接続している。SSD24は、主にシステム起動用プログラムの格納先として利用される記憶装置である。NVRAM25は、主にユーザデータの管理等に利用される比較的小容量の不揮発性メモリである。SDカードI/F27は、外部メモリであるSDカード29と接続するインターフェースである。エンジン13は、ASIC22からの制御信号に基づいて、例えば電子写真プロセス、インクジェット方式等を利用して、実際に印刷処理を行う機構である。
【0014】
図2は、実施形態に係る画像形成装置1のソフトウェアレイヤ構成例を示す図である。本実施形態に係る画像形成装置1のソフトウェアレイヤは、アプリケーション層51、サービス層52、及びOS層53を含む。
【0015】
アプリケーション層51は、最上位の層であり、OSを利用するユーザが作成したアプリケーションを含む。アプリケーション層51に致命的エラーが発生した場合には、アプリケーション層51はOSのファイルシステム等の機能を利用して自らダンプ処理を行うことができる。
【0016】
サービス層52は、OS上で動作するアプリケーションの一種であるが、常駐して何らかの機能を提供することを目的とする点でアプリケーション層51とは異なっている。サービス層52の致命的エラーが結果的にカーネルパニックを引き起こす可能性はあるが、サービス層52はOS上で動作するアプリケーションの一種であるため、OSのファイルシステム等の機能を利用して自らダンプ処理を行うことができる。
【0017】
OS層53は、最下位の層であり、アプリケーション層51及びサービス層52に対してファイルシステム等の機能を提供する。OS層53に致命的エラーが発生すると、カーネルパニックと呼ばれる状態に陥り、OS層53はダンプ処理(パニックダンプ)を行ってリブートする。このとき、ファイルシステム等の機能を提供するOS層53自体がエラーを起こしているため、上位2つの層51,52におけるダンプ処理とは異なり、ファイルシステムをそのまま利用した動作を保証することができない。そのため、パニックダンプを行う際には、ファイルシステムを利用せず、HDD14等の所定の記憶装置のドライバを直接制御して生データを書き込む等の処理が必要となる。
【0018】
図3は、実施形態に係るコントローラ11の機能構成例を示すブロック図である。コントローラ11は、ダンプ処理部101、書込み部102、読出し部103、及び正当性判断部104を含む。
【0019】
ダンプ処理部101は、カーネルパニック発生時にDRAM23等に記憶されているログデータ等の対象データをHDD14に書き込むダンプ処理を行う。ダンプ処理により、HDD14には対象データに基づくダンプファイル110が記憶される。ダンプ処理部101は、CPU21、CPU21を制御するプログラム等の協働により構成され得る。
【0020】
ダンプ処理部101は、分割データ生成部111、ヘッダ情報生成部112、チェックサム生成部113、ログ種別情報生成部114、及びログ管理情報生成部115を含む。
【0021】
分割データ生成部111は、ダンプ処理の対象となる対象データ(本実施形態においては、カーネルパニック発生時にDRAM23に記憶されていたログデータ)を分割し、複数の分割データを生成する。
【0022】
ヘッダ情報生成部112は、分割データ生成部111により生成された分割データを識別するヘッダ情報を生成する。
【0023】
チェックサム生成部113は、分割データ生成部111により生成された分割データの正当性を判断するために算出された値であるチェックサムを生成する。チェックサムの算出方法は特に限定されるものではなく、周知又は新規な算出方法を適宜利用することができる。
【0024】
ログ種別情報生成部114は、ダンプ処理の対象となるログデータを構成するログの種別を示すログ種別情報を生成する。ログの種別は使用条件に応じて適宜選択されるべきものであるが、例えば、デバイスドライバのログ、カーネルデバッガのコマンド結果のログ等であり得る。
【0025】
ログ管理情報生成部115は、ログデータの書込みを管理するためのログ管理情報(管理情報)を生成する。ログ管理情報は、ログデータ全体の書込みが完了したか否かを示す情報(完了フラグ)を含む。ログ管理情報のデータ構造は使用条件に応じて適宜選択されるべきものであるが、例えば、完了フラグの他、ログの書込み先を示す情報、ログのデータサイズを示す情報等を含んでもよい。
【0026】
書込み部102は、ダンプ処理部101により生成されたデータをHDD14に書き込む。ダンプ処理部101により生成されたデータには、分割データ、ヘッダ情報、チェックサム、ログ種別情報、及びログ管理情報が含まれる。書込み部102は、CPU21、CPU21を制御するプログラム等の協働により構成され得る。
【0027】
読出し部103は、HDD14に書き込まれたダンプファイル110を読み出す。読出し部103は、CPU21、CPU21を制御するプログラム等の協働により構成され得る。
【0028】
正当性判断部104は、読出し部103により読み出されたダンプファイル110の正当性を判断する正当性判断処理を行う。正当性判断部104は、ヘッダ情報及びチェックサムに基づいて分割データの正当性を判断する。具体的には、ヘッダ情報及びチェックサムの両方が存在し、且つチェックサムが正当な値である場合に、当該ヘッダ情報及びチェックサムに対応する分割データは正当であると判断される。換言すれば、チェックサムが正当な値であっても、ヘッダ情報が存在しない場合には、当該チェックサムに対応する分割データは正当であるとは判断されない。正当性判断部104は、CPU21、CPU21を制御するプログラム等の協働により構成され得る。
【0029】
図4は、実施形態に係るダンプ処理の全体的な処理例を示すフローチャートである。カーネルパニックが発生すると、ダンプ処理部101は、HDD14の状態をチェックする(S101)。HDD14の状態のチェック方法は特に限定されるべきものではないが、例えばハードウェア認識処理、空き容量検査処理等を利用することができる。HDD14が使用可能な状態である場合(S102:Yes)、使用可能なHDD14に対象データを書き込むダンプ処理を行う(S103)。一方、HDD14が使用不可能である場合(S102:No)、ダンプ処理は実行されない。
【0030】
図5は、実施形態に係るダンプファイル110のデータ構造例を示す図である。本実施形態に係るダンプファイル110は、ログ管理情報201と、複数のログ202(202A,202B)とを含んでいる。ここでは、1つのダンプファイル110が2つのログ202A,202Bを含んでいる例を示す。
【0031】
ログ管理情報201は、各ログ202A,202Bの書込みが完了したか否かを示す完了フラグ、各ログ202A,202BのLBA(Logical Block Addressing)オフセット値、各ログ202A,202Bのサイズ等を含む。
【0032】
各ログ202A,202Bは、ログの種別毎に分けられている。ログの種別は、例えば、デバイスドライバのログ、カーネルデバッガのコマンド結果のログ等であり得る。各ログ202A,202Bのデータサイズは、ログの種別に応じて異なる。なお、ログの数及び種別はこれに限られるものではなく、使用条件に応じて適宜選択されるべきものである。
【0033】
各ログ202A,202Bは、ログの種別を示すログ種別情報211(211A,211B)と、複数のデータブロック212(212A~212F)とを含んでいる。本例では、第1のログ202Aが3つのデータブロック212A~212Cを含み、第2のログ202Bが3つのデータブロック212D~212Fを含んでいる。
【0034】
ログ種別情報211は、ログの種別毎に一意に割り当てられた情報(値)である。パニックダンプ後、ログ種別情報211を追うことにより、正常な箇所までサルベージすることができる。
【0035】
各データブロック212(212A~212F)は、分割データ221(221A~221F)と、ヘッダ情報222(222A~222F)と、チェックサム223(223A~223F)とを含んでいる。
【0036】
分割データ221は、ダンプ処理の対象となるログデータ(対象データ)を分割したデータである。データの分割方法は特に限定されるべきものではないが、例えばログデータに含まれる終端文字を基準としてデータを分割する方法等を用いることができる。各分割データ221A~221Fのデータサイズは一致していなくてもよい。図5において、各分割データ221A~221Fに対応する各矩形の上下方向(下位アドレスから上位アドレスへの方向)の長さがそれぞれ異なっているが、これは各分割データ221A~221Fのデータサイズが異なっていることを示している。
【0037】
ヘッダ情報222は、分割データ221を識別するための情報であり、分割データ221の直前(本例では下位アドレス側)に書き込まれている。例えば、第1のログ202Aの第1のデータブロック212Aに含まれるヘッダ情報222Aは、第1のデータブロック212Aに含まれる分割データ221Aを識別し、第1のログ202Aの第2のデータブロック212Bに含まれるヘッダ情報222Bは、第2のデータブロック212Bに含まれる分割データ221Bを識別する。他のヘッダ情報222C~222Fについても同様である。
【0038】
チェックサム223は、分割データ221の正当性(信頼性)を判断するために算出された情報(値)であり、分割データ221の直後(本例では上位アドレス側)に書き込まれている。例えば、第1のログ22Aの第1のデータブロック212Aに含まれるチェックサム223Aは、第1のデータブロック212Aに含まれる分割データ221Aの正当性を示し、第1のログ202Aの第2のデータブロック212Bに含まれるチェックサム223Bは、第2のデータブロック212Bに含まれる分割データ221Bの正当性を示す。他のチェックサム223C~222Fについても同様である。
【0039】
図6は、実施形態に係るログ管理情報201を更新する際の処理例を示すフローチャートである。ここでは、図5に示すようにダンプファイル110が2つのログ202A,202Bを含む場合について説明する。
【0040】
カーネルパニック発生時におけるダンプ処理が開始し、書込み部102が第1のログ202AをHDD14に書き込むと(S201)、ログ管理情報生成部115は、書込み部102を介して、ログ管理情報201を第1のログ202Aの書込みが完了したことを示す内容に更新する(第1のログ202Aに対応する完了フラグを立てる)(S202)。その後、書込み部102が第2のログ202BをHDD14に書き込むと(S203)、ログ管理情報生成部115は、書込み部102を介して、ログ管理情報201を第2のログ202Bの書込みが完了したことを示す内容に更新する(第2のログ202Bに対応する完了フラグを立てる)(S204)。
【0041】
上記処理により、ログ管理情報201を各ログ202A,202Bの書込みが完了しているか否かを示す状態に保つことができる。
【0042】
図7は、実施形態に係るダンプ処理において複数のデータブロック212を含むログ202を書き込む際の処理例を示すフローチャートである。ここでは、第1のログ202Aを書き込む場合について説明する。第1のログ202Aの書込みが開始すると、ログ種別情報生成部114は、第1のログ202Aの種別を示す第1のログ種別情報211Aを書き込む(S301)。その後、ヘッダ情報生成部112は、第1の分割データ221Aを識別する第1のヘッダ情報222Aを書き込む(S302)。その後、分割データ生成部111は、第1の分割データ221Aを書き込む(S303)。その後、チェックサム生成部113は、第1の分割データ221Aの正当性を判断するためのチェックサム223Aを書き込む(S304)。これにより、第1のヘッダ情報222A、第1の分割データ221A、及び第1のチェックサム223Aが下位アドレスから上位アドレスへ順番に配列された第1のデータブロック212Aが構成される。
【0043】
その後、第1のログ202Aに含まれる全てのデータブロック212が書き込まれたか否かが判断される(S305)。全てのデータブロック212が書き込まれた場合(S305:Yes)、第1のログ202Aの書込みを終了する。一方、全てのデータブロック212が書き込まれてはいない場合(S305:No)、未だ書き込まれていないデータブロック212B,212Cについて、ステップS302~S304の処理が繰り返される。第2のログ202Bについても、上記と同様の処理により書込みが行われる。これにより、図5に示すようなデータ構造を有するダンプファイル110が生成される。
【0044】
上述したように、本実施形態に係る正当性判断部104(図3参照)は、チェックサム223だけでなくヘッダ情報222にも基づいて、分割データ221の正当性を判断する。すなわち、正当性判断部104は、カーネルパニックからの復帰後に上記データ構造を有するダンプファイル110をHDD14から読み出し、各分割データ221A~221Fについて、それぞれヘッダ情報222A~222F及びチェックサム223A~223Fが存在するか否か、且つ各チェックサム223A~223Fが正当な値であるか否かを検証する。これにより、ダンプファイル110の正当性を分割データ221毎に正確に判断することが可能となる。
【0045】
ここで、ログデータの書込み時(ダンプファイル110の生成時)における電源断による影響について考察する。図8は、実施形態に係るデータブロック212の書込み時における電源断の影響を概念的に例示する図である。図8において、4つのパターン301~304が示されている。
【0046】
第1のパターン301は、データブロック212の書込み時に電源断が生じなかった場合を示している。この場合、ヘッダ情報222、分割データ221、及びチェックサム223は正常に書き込まれ、ヘッダ情報222及びチェックサム223の両方が存在するという条件は満たされるため、チェックサム223の値が正常であれば分割データ221の正当性が保証される。
【0047】
第2のパターン302は、ヘッダ情報222の書込み中に電源断が生じた場合を示している。この場合、ヘッダ情報222は完全には書き込まれず、分割データ221及びチェックサム223は全く書き込まれない。そのため、判断対象となる分割データ221が存在しないこととなり、分割データ221の正当性は当然保証されない。
【0048】
第3のパターン303は、分割データ211の書込み中に電源断が生じた場合を示している。この場合、分割データ221は完全には書き込まれず、チェックサム223は全く書き込まれない。そのため、分割データ221及びチェックサム223の両方が存在するという条件が満たされず、分割データ221の正当性は保証されない。
【0049】
第4のパターン304は、チェックサム223の書込み中に電源断が生じた場合を示している。この場合、チェックサム223は完全には書き込まれない。そのため、分割データ221及びチェックサム223の両方が存在するという条件が満たされず、分割データ221の正当性は保証されない。
【0050】
図9は、実施形態に係る正当性判断処理の例を示すフローチャートである。正当性判断処理は、カーネルパニックからの復帰後にHDD14から読み出されたダンプファイル110に対して実行される。
【0051】
先ず、正当性判断部104は、ログ管理情報201に完了フラグ(ログデータ全体の書込みが完了したことを示すフラグ)が含まれているか否かを判断する(S401)。ログ管理情報201に完了フラグが含まれている場合(S401:Yes)、正当性判断部104は、当該ダンプファイル110を有効(正当)と判断する(S402)。
【0052】
ログ管理情報201に完了フラグが含まれていない場合(S401:No)、正当性判断部104は、ヘッダ情報222が書き込まれているか否かを判断する(S403)。ヘッダ情報222が書き込まれている場合(S403:Yes)、正当性判断部104は、チェックサム223が正常に書き込まれているか否か(チェックサム223が書き込まれており且つ正常な値を示しているか否か)を判断する(S404)。チェックサム223が正常に書き込まれている場合(S404:Yes)、正当性判断部104は、当該ヘッダ情報222及びチェックサム223に対応する分割データ221を有効と判断する(S405)。その後、正当性判断部104は、未判断のデータブロック212(分割データ221)があるか否かを判断し(S407)、未判断のデータブロック212がある場合(S407:Yes)にはステップS403を再度実行し、未判断のデータブロック212がない場合(S407:No)には本フローを終了する。
【0053】
一方、ヘッダ情報222が書き込まれていない場合(S403:No)又はチェックサム223が書き込まれていない場合(S404:No)、正当性判断部104は、判断対象となっている分割データ221を無効(正当でない)と判断し(S406)、ステップS407を実行する。
【0054】
上記処理によれば、ダンプファイル110の正当性をヘッダ情報222及びチェックサム223に基づいて分割データ221毎に判断することができる。
【0055】
上記コントローラ11(画像形成装置1)の機能を実現するプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【0056】
また、プログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、プログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。また、プログラムをROM等に予め組み込んで提供するように構成してもよい。また、プログラムは画像形成装置1に含まれる機能部のうちプログラムにより実現可能な機能を含むモジュール構成となっていてもよい。プログラムにより実現される機能は、記憶媒体からプログラムを読み出して実行することにより主記憶装置にロードされる。すなわち、プログラムにより実現される機能は主記憶装置上に生成される。
【0057】
以上のように、本実施形態によれば、ヘッダ情報222及びチェックサム223に基づいて分割データ221毎に正当性を判断することが可能なダンプファイル110を生成することができる。正当性判断時に、チェックサム223だけでなくヘッダ情報221も参照することにより、分割データ221の書込み開始を検知することができる。そのため、分割データ221のデータ長が一定でない場合であっても、様々な電源断の発生タイミングに対応して、分割データ221の正当性を正確に判断することが可能となる。これにより、カーネルパニック発生時に生成されるダンプファイル110の正当性を正確に判断することが可能となる。
【0058】
以上、本発明の実施形態を説明したが、上記実施形態は例として提示したものであり、発明の範囲を限定することを意図するものではない。この新規な実施形態はその他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更、及び組み合わせを行うことができる。この実施形態及びその変形は発明の範囲及び要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0059】
1 画像形成装置
11 コントローラ(ダンプ処理装置)
12 操作部
13 エンジン(画像形成部)
14 HDD(記憶装置)
21 CPU
22 ASIC
23 DRAM
24 SSD
25 NVRAM
26 USB・I/F
27 SDカードI/F
28 USBメモリ
29 SDカード
51 アプリケーション層
52 サービス層
53 OS層
101 ダンプ処理部
102 書込み部
103 読出し部
104 正当性判断部
110 ダンプファイル
111 分割データ生成部
112 ヘッダ情報生成部
113 チェックサム生成部
114 ログ種別情報生成部
115 ログ管理情報生成部
201 ログ管理情報(管理情報)
202(202A,202B) ログ
211(211A,211B) ログ種別情報
212(212A~212F) データブロック
221(221A~221F) 分割データ
222(222A~222F) ヘッダ情報
223(223A~223F) チェックサム
【先行技術文献】
【特許文献】
【0060】
【文献】特開2004-206381号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9