(57)【要約】【課題】記憶部に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる装置等を提供する。【解決手段】複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶するリングバッファー１１１と、前記複数のアドレスの配列順序として予め定められた第１順序で、順次前記アドレスを指定し、該指定されたアドレスに対応してリングバッファー１１１に順次データを記憶させる書込処理を実行する書込制御部１１３と、前記書込処理の実行が開始された後の所定の開始タイミングから、前記第１順序とは逆の第２順序で、書込制御部１１３によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータをリングバッファー１１１から順次読み出す読出処理の実行を開始する読出制御部１１４とを備える。【選択図】図２
2014149568.tif 000002
【特許請求の範囲】
【請求項１】
複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶する第１記憶部と、
前記複数のアドレスの配列順序として予め定められた第１順序で、順次前記アドレスを指定し、該指定されたアドレスに対応して前記第１記憶部に順次データを記憶させる書込処理を実行する書込制御部と、
前記書込処理の実行が開始された後の所定の開始タイミングから、前記第１順序とは逆の第２順序で、前記書込制御部によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータを前記第１記憶部から順次読み出す読出処理の実行を開始する読出制御部と
を備え、
前記書込制御部は、前記書込処理において前記第１順序における最後のアドレスを指定して前記データを前記第１記憶部に記憶させた場合、次に指定するアドレスを前記第１順序の最初のアドレスとし、以後前記第１順序で順次前記アドレスを指定し、
前記読出制御部は、前記読出処理において前記第２順序における最後のアドレスを指定して前記データを前記第１記憶部から読出した場合、次に指定するアドレスを前記第２順序の最初のアドレスとし、以後前記第２順序で順次前記アドレスを指定する
記憶制御装置。
【請求項２】
不揮発性の第２記憶部をさらに備え、
前記読出制御部は、前記読出処理によって読み出された前記データを前記第２記憶部に記憶させる
請求項１に記載の記憶制御装置。
【請求項３】
請求項１または２に記載の記憶制御装置と、
予め定められた動作を行う動作部とを備え、
前記データは、前記動作部の前記動作に関する情報であり、
前記書込制御部は、前記書込処理において、前記データを時系列で順次前記第１記憶部に記憶させることにより、前記動作部の動作に関する履歴情報を前記第１記憶部に記憶させる
電子機器。
【請求項４】
前記動作部の異常を検出する異常検出部を更に備え、
前記開始タイミングは、前記異常検出部により異常が検出されたときである
請求項３に記載の電子機器。
【請求項５】
前記動作部は、前記動作として、用紙に画像を形成する
請求項３または４に記載の電子機器。
【請求項６】
複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶する第１記憶部を有するコンピューターに、
前記複数のアドレスの配列順序として予め定められた第１順序で、順次前記アドレスを指定し、該指定されたアドレスに対応して前記第１記憶部に順次データを記憶させる書込処理を実行する書込制御ステップと、
前記書込処理の実行が開始された後の所定の開始タイミングから、前記第１順序とは逆の第２順序で、前記書込制御部によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータを前記第１記憶部から順次読み出す読出処理の実行を開始する読出制御ステップと
を実行させ、
前記書込制御ステップは、前記書込処理において前記第１順序における最後のアドレスを指定して前記データを前記第１記憶部に記憶させた場合、次に指定するアドレスを前記第１順序の最初のアドレスとし、以後前記第１順序で順次前記アドレスを指定し、
前記読出制御ステップは、前記読出処理において前記第２順序における最後のアドレスを指定して前記データを前記第１記憶部から読出した場合、次に指定するアドレスを前記第２順序の最初のアドレスとし、以後前記第２順序で順次前記アドレスを指定する
記憶制御プログラム。
【請求項７】
複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶する第１記憶部を有する電子機器で使用され、
前記複数のアドレスの配列順序として予め定められた第１順序で、順次前記アドレスを指定し、該指定されたアドレスに対応して前記第１記憶部に順次データを記憶させる書込処理を実行する書込制御ステップと、
前記書込処理の実行が開始された後の所定の開始タイミングから、前記第１順序とは逆の第２順序で、前記書込制御部によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータを前記第１記憶部から順次読み出す読出処理の実行を開始する読出制御ステップと
を備え、
前記書込制御ステップは、前記書込処理において前記第１順序における最後のアドレスを指定して前記データを前記第１記憶部に記憶させた場合、次に指定するアドレスを前記第１順序の最初のアドレスとし、以後前記第１順序で順次前記アドレスを指定し、
前記読出制御ステップは、前記読出処理において前記第２順序における最後のアドレスを指定して前記データを前記第１記憶部から読出した場合、次に指定するアドレスを前記第２順序の最初のアドレスとし、以後前記第２順序で順次前記アドレスを指定する
記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置に対するデータの書込み及び読出しを制御する記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法に関するものである。
【背景技術】
【０００２】
近年、画像形成装置や情報処理装置等の電子機器において、機器に含まれる各機能部の動作や状態に関する情報、あるいは機器に含まれるセンサーの検出値を表わす情報などを、ＲＡＭ（Random Access Memory）内のログ（Log）情報を記録する領域（ログ領域）へ、ロギングすることが行われている。ログとは、時間の経過に応じて得られたコンピューターや上記機能部の動作内容または状態等に関する複数の情報（データ）の集合により当該情報の履歴を表わすデータである。ロギングとはログ領域にデータを記録することである。こうしたログが保存されることで、機器の動作に問題や異常が発生した場合に、原因を特定することなどに役立てられることができる。例えば、問題発生時以前のログを解析することで、問題発生の原因や背景を知ることができる。ログには、上記履歴以外にも、センサーの検出値や、異常に関する情報が含まれてもよい。
【０００３】
ログが保存されるメモリーは、データが時系列に書き込まれることで、書込み時点よりも過去のデータを上書きするような構成であってもよい。これは、以下の理由による。ロギングは問題発生時の原因特定等に役立てる目的で行われることから、ログに含まれるデータは、永久的に保存する性質のものではなく、ある所定の期間保存されればよい性質のものであるので、ある所定期間後には消去されてよい。よってログは、当該所定期間後には新しいデータで古いデータを上書きすることができ、ログ領域に要する容量を一定値内に収めることができる利点があるからである。こうしたログが保存されるメモリーとして、リングバッファー（Ring Buffer）が使用される。
【０００４】
リングバッファーとは、あるアドレスＡを先頭とし、あるアドレスＢで末尾となるメモリー領域において、メモリーへの書込みアドレスやメモリーからの読出しアドレスがアドレスＢまで至った場合に、次のアドレスがアドレスＡとされることで、上記メモリー領域の両端を論理的に繋げて、観念的にリング状に構成したバッファーのことである。なお、メモリーへの書込みアドレスやメモリーからの読出しアドレスが先頭のアドレスＡまで遡った場合には、次の遡り先のアドレスは末尾のアドレスＢとされる。
【０００５】
特許文献１には、セクター毎にしかデータの消去が行えないユーザープログラマブルＲＯＭ（Read Only Memory）をリングバッファーとして用いた場合に、効率良くセクターを使用し、消去するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−９６７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
リングバッファーから、例えばフラッシュＲＯＭ等の不揮発性記憶装置（以下、不揮発メモリーとも呼ぶ）へログを保存することが行われている。リングバッファーから不揮発メモリーにログが保存される理由は、異常により電源が遮断されるような場合に、ＲＡＭ内のログが消去された後であっても、ログが不揮発メモリーに保存されていることにより、それを読み出すことで異常の原因を特定することができるからである。
【０００８】
一般に不揮発メモリーへのデータの書込みの速度は、リングバッファー（ＲＡＭ）のデータの書込みの速度や読出しの速度よりも遅い。そのため、リングバッファーからデータが読み出されて、読み出されたデータが不揮発メモリーに書き込まれる場合、リングバッファーからのデータの読み出しの速度は、不揮発メモリーへのデータの書込みの速度によって制限される。そのため、リングバッファーからのデータの読出し速度はリングバッファーのデータの書込みの速度よりも遅くなる。よって、こうした不揮発性記憶装置とリングバッファーとが併用される場合には、必要性の高い重要なデータが、リングバッファーから読み出される前に、新しいデータによって上書きされてしまうおそれがある。上述のようにログは、当該所定期間後には新しいデータで古いデータを上書きすることができる。しかしながら、これも上述のように、ログは問題発生の原因特定等に役立てる目的で保存されるので、問題発生時点およびそれ以前の重要度の高いログが読み出される前に上書きされて無くなってしまうのであれば、ログから問題発生の原因を特定する目的は達成できない。問題発生時点のデータはもとより問題発生時点以前のログは、問題発生に至るまでの経過を示す情報であるため、問題発生の原因特定のために重要度の高い情報である。上記従来技術は、ユーザープログラマブルＲＯＭのリングバッファーにおいて、効率良くセクターを使用し、消去することはできても、上記のような、重要なデータがリングバッファーから読み出される前に、新しいデータによって上書きされてしまう不具合を回避することはできない。
【０００９】
本発明は、上述の事情に鑑みて為された発明であり、その目的は、記憶部に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明にかかる一態様の記憶制御装置は、複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶する第１記憶部と、前記複数のアドレスの配列順序として予め定められた第１順序で、順次前記アドレスを指定し、該指定されたアドレスに対応して前記第１記憶部に順次データを記憶させる書込処理を実行する書込制御部と、前記書込処理の実行が開始された後の所定の開始タイミングから、前記第１順序とは逆の第２順序で、前記書込制御部によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータを前記第１記憶部から順次読み出す読出処理の実行を開始する読出制御部とを備え、前記書込制御部は、前記書込処理において前記第１順序における最後のアドレスを指定して前記データを前記第１記憶部に記憶させた場合、次に指定するアドレスを前記第１順序の最初のアドレスとし、以後前記第１順序で順次前記アドレスを指定し、前記読出制御部は、前記読出処理において前記第２順序における最後のアドレスを指定して前記データを前記第１記憶部から読出した場合、次に指定するアドレスを前記第２順序の最初のアドレスとし、以後前記第２順序で順次前記アドレスを指定する。
【００１１】
この構成により、書込処理が前記第１順序で行われ、前記書込処理の実行が開始された後に、前記読出処理が、前記第１順序とは逆の第２順序で、前記書込制御部によって直前に前記データが保存されたアドレスの後の所定のタイミングから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは最新のデータおよび最新のデータから時間を遡ったデータであり、読出しが開始される以前の動作、状態、または検出値などを把握するのに必要な重要度の高いデータであるので、前記書込制御部によって直前に前記データが保存されたアドレスからデータが保存された順を遡って読出処理を行うことで、前記読出制御部は、そうした重要度の高いデータが前記第１記憶部において上書きされて消去される前に当該データを読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、前記第１記憶部に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御装置を提供できる。
【発明の効果】
【００１２】
以上により、前記書込制御部によって直前にデータが保存されたアドレスからデータが保存された順を遡ってデータの読出処理が行われるので、記憶部に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る画像形成装置の一例である複合機の内部構成を概略的に示す構造図である。
【図２】図１に示す複合機の電気的構成の一例を示すブロック図である。
【図３】本発明の一実施形態に係るリングバッファーと不揮発メモリーの動作を説明する説明図である。
【図４】本発明の一実施形態に係るリングバッファーでの書込処理及び読出処理と不揮発メモリーへの書込み動作を説明するフローチャートである。
【図５】従来技術におけるリングバッファーでの書込処理及び読出処理と不揮発メモリーへの書込み動作を説明する説明図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係る実施の一形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、異なる点のみ説明する。よって同一の符号を付した構成については、特段変更等の説明がない限り、適宜その説明を省略する。
【００１５】
［実施形態１］
図１は、本発明の一実施形態に係る電子機器の一例として、本発明の一実施形態に係る記憶制御装置を備えた複合機の内部構成を概略的に示す構造図である。複合機は、スキャナー、コピー、プリンター、ファクシミリー等の機能を兼ね備えた画像形成装置である。なお、画像形成装置は、複合機に限られず、コピー機、プリンター、ファクシミリー機等であってもよい。また、電子機器は、スマートフォン、タブレット型PC等であっても良い。
【００１６】
この複合機１は、本体部２と、スタックトレイ３と、原稿読取部５と、原稿給送部６とを備えている。スタックトレイ３は、本体部２の左方に配設される。原稿読取部５は、例えば本体部２の上部に配設される。原稿給送部６は、例えば原稿読取部５の上方に配設される。
【００１７】
複合機１のフロント部には、操作パネル部４７が設けられている。操作パネル部４７は、例えばフロント部の形状に対応して略長方形の形状をしている。操作パネル部４７は、表示部４７３と、操作キー部４７６とを備えている。表示部４７３は、例えばタッチパネル機能を有する液晶ディスプレイ等である。操作キー部４７６は、例えばユーザーが画像形成指示を入力するためのスタートキーや、印刷部数等を入力するためのテンキー等の各種キースイッチを有している。
【００１８】
原稿読取部５は、スキャナー部５１と、ガラス等の透明部材により構成された原稿台５２及び原稿読取スリット５３とを備える。スキャナー部５１は、ＣＣＤ（Charge Coupled Device）５１２（図２参照）及び露光ランプ５１１（図２参照）等を含む。スキャナー部５１は、不図示の駆動部によって移動可能に構成される。例えば、原稿台５２に載置された原稿を読み取るときは、スキャナー部５１は、原稿台５２に対向する位置で原稿面に沿って移動され、原稿画像を走査しつつ取得した画像データをメインＣＰＵ１１０へ出力する。また、例えば原稿給送部６により給送された原稿を読み取るときは、スキャナー部５１は、原稿読取スリット５３と対向する位置に移動され、原稿読取スリット５３を介して原稿給送部６による原稿の搬送動作と同期して原稿の画像を取得し、その画像データをメインＣＰＵ１１０へ出力する。なお、原稿読取スリット５３等には、例えば、原稿の紙詰まりを検出するセンサー６００（図２）などが取り付けられている。
【００１９】
原稿読取部５の側部には、例えば装置全体の電源をオン（電力の供給）またはオフ（電力供給の遮断）するメインスイッチＳＷが配設されている。メインスイッチＳＷは、例えばロッカースイッチ等である。なお、メインスイッチＳＷは必ずしも必要ではなく、複合機１が商用電源に接続されることで装置全体の電力が供給されるものであってもよい。
【００２０】
原稿給送部６は、原稿を載置するための原稿載置部６１と、画像読み取り済みの原稿を排出するための原稿排出部６２と、原稿搬送機構６３とを備える。原稿搬送機構６３は、原稿載置部６１に載置された原稿を１枚ずつ繰り出して原稿読取スリット５３に対向する位置へ搬送し、原稿排出部６２へ排出する。なお、原稿排出部６２、原稿搬送機構６３等には、例えば、原稿の紙詰まりや複数枚の原稿の繰り出しを検出するセンサー６０１（図２）などが取り付けられている。
【００２１】
本体部２は、複数の給紙カセット４６１と、給紙カセット４６１から用紙を１枚ずつ繰り出して画像形成部４０へ搬送する給紙ローラー４６２と、給紙カセット４６１から搬出されてきた用紙に画像を形成する画像形成部（動作部の一例）４０とを備える。なお、給紙カセット４６１や給紙ローラー４６２等の周りには、例えば、用紙の紙詰まりや複数枚の用紙の繰り出しを検出するセンサー６０２（図２）などが取り付けられている。
【００２２】
画像形成部４０は、用紙搬送部４１１、光走査装置４２、感光体ドラム４３、現像部４４、転写部４１、及び定着部４５を備えている。
【００２３】
用紙搬送部４１１は、画像形成部４０内の用紙搬送路中に設けられ、給紙ローラー４６２によって搬送されてきた用紙を感光体ドラム４３に供給する搬送ローラー４１２や、用紙をスタックトレイ３又は排出トレイ４８まで搬送する搬送ローラー４６３，４６４等を有している。なお、用紙搬送部４１１や搬送ローラー４１２、４６３，４６４等の周りには、例えば、用紙の紙詰まりや複数枚の用紙の繰り出しを検出するセンサー６０３（図２）などが取り付けられている。
【００２４】
光走査装置４２は、メインＣＰＵ１１０から出力された画像データに基づきレーザー光等を出力して感光体ドラム４３を露光することで、感光体ドラム４３上に静電潜像を形成する。現像部４４は、感光体ドラム４３上の静電潜像をトナー現像してトナー像を形成する。転写部４１は、感光体ドラム４３上のトナー像を用紙に転写する。なお、光走査装置４２には、露光の際に印加する電圧（露光電圧）を検出するセンサー６０４（図２）などが取り付けられている。現像部４４には、静電潜像を現像する際に印加する静電電圧を検出するセンサー６０５（図２）などが取り付けられている。転写部４１には、トナー像を用紙に転写する際に加圧する加圧部の電圧（加圧電圧）や圧力を検出するセンサー６０６（図２）などが取り付けられている。
【００２５】
定着部４５は、トナー像が転写された用紙を加熱してトナー像を用紙に定着させる。定着部４５は、用紙に形成されたトナー像を溶融するための熱ローラー４５２と、この熱ローラー４５２との間で用紙を圧接しつつ搬送する圧ローラー４５１とを含む。定着部４５には、トナー像を溶融するための熱ローラー４５２やヒーター４５３（図２）の温度（定着温度）を検出するセンサー６０７（図２）や、圧ローラー４５１の圧力値を検出するセンサー６０８（図２）などが取り付けられている。
【００２６】
図２は、図１に示す複合機１の電気的構成を示すブロック図である。図２を参照して、図２において新たに記載された構成について説明する。
【００２７】
定着部４５は、上記圧ローラー４５１と、上記熱ローラー４５２と、ヒーター４５３とを含む。ヒーター４５３は、熱ローラー４５２の内部に配設されている。ヒーター４５３は、熱ローラー４５２を加熱することによって、熱ローラー４５２と圧ローラー４５１とでニップされた用紙を加熱する。
【００２８】
メインＣＰＵ１１０は、装置全体の制御を司る。また、メインＣＰＵ１１０は、メインＣＰＵ１１０の電力供給が開始されると、システムリセット信号を出力して、上述の装置に含まれる各部のシステムリセットを行う。メインＣＰＵ１１０は、リングバッファー１１１、不揮発メモリー１１２、書込制御部１１３、読出制御部１１４、および異常検出部１１５の各動作を行う。なお、リングバッファー１１１、不揮発メモリー１１２、書込制御部１１３、および読出制御部１１４は、記憶制御装置１０を構成する。なお本実施形態では、書込制御部１１３および読出制御部１１４は、メインＣＰＵ１１０が各々書込処理および読出処理のソフトウエアを実行することで実現されるが、書込制御部１１３および読出制御部１１４はハードウエアで構成されてもよい。
【００２９】
リングバッファー（第１記憶部の一例）１１１は、複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶するメモリーである。リングバッファー１１１は、上記のメインＣＰＵ１１０や原稿読取部５、画像形成部４０、定着部４５、操作パネル部４７等の機能部の動作内容や状態等に関する情報（データ）の履歴であるログを記憶する。リングバッファー１１１は、ＲＡＭなどから構成される。
【００３０】
リングバッファー１１１にこうしたログが保存されることで、保守作業者が、事後的にＣＰＵ１１０や上記の各機能部の動作内容や状態等を把握したり、解析したりすることができる。例えば、ログは機器の動作に異常が発生した場合に、保守作業者が当該ログを使用して解析することで、原因を特定することなどに役立てることができる。すなわち、例えば問題発生時およびそれ以前のログが解析されることで、問題発生の原因や背景が把握できる。リングバッファー１１１において、現在書込みを行っているアドレスには最も新しいデータが保存されており、そこからアドレスを遡ることで、最新のデータからより古いデータへと遡ることができる。よって、異常が生じた場合、異常発生時の直近で書込みされたアドレスが最も異常との関連性が高い情報であると考えられ、データの重要度が最も高く、また当該アドレスに近いほどより異常との関連性が高い情報であると考えられ、当該アドレスに近いデータほどデータの重要度が高くなる。
【００３１】
ログとして記録される情報（データ）は、画像形成部４０、転写部４１、現像部４４、定着部４５、原稿読取部５、原稿給送部６、操作パネル部４７、給紙カセット４６１や給紙ローラー４６２、および中間転写ベルト等の各機能部（動作部）の各動作に関する情報である。例えば、各機能部の動作状態や、各機能部に配置された温度センサー等の各センサーの検出値や、各センサー及び各機能部における異常に関する情報等である。なお、本実施形態では、中間転写ベルトは使用されていないが、複合機１は、中間転写ベルトを備え、感光体ドラム上に形成されたトナー像を中間転写ベルトに転写し、中間転写ベルト上のトナー像を用紙に転写する画像形成装置であってもよい。以下では、中間転写ベルトが使用される場合も含めて説明する。
【００３２】
上記の各機能部の動作の例としては、光走査装置４２における露光動作、現像部４４における静電潜像を現像する動作、転写部４１におけるトナー像を用紙に転写する加圧等の動作、定着部４５におけるトナー像を溶融する動作などが挙げられる。
【００３３】
また、上記の各機能部における状態としては、例えば、各機能部で使用されているＬＳＩ等の状態レジスター（ステータスレジスター）のビット情報、スキャナー部５１のＣＣＤの温度、光走査装置４２のレーザーの温度、現像部４４における感光体ドラム４３の電位、転写部４１における転写電圧、定着部４５における熱ローラー４５２の温度やヒーター４５３の温度、トナー残量、用紙の残量、および原稿台５２上の残留原稿の有無などが挙げられる。
【００３４】
上記の各センサーの検出値の例としては、光走査装置４２における露光電圧の電圧値、現像部４４における静電電圧の電圧値、転写部４１における転写電圧値、定着部４５における定着温度の温度値などが挙げられる。
【００３５】
上記の各機能部等の異常の例としては、上記の原稿の紙詰まりや複数枚の原稿の繰り出しによる異常、上記の用紙の紙詰まりや複数枚の用紙の繰り出しによる異常、光走査装置４２における露光電圧値の異常、現像部４４における静電電圧値の異常、転写部４１における転写電圧値の異常、定着部４５における定着温度値の異常、中間転写ベルトの蛇行の異常、スイッチ不良、トナー不足等が挙げられる。
【００３６】
なお、異常の検出は、異常検出部１１５が次のようにして行う。例えば、異常検出部１１５は、各温度センサーの検出値が所定の範囲内に含まれない場合には異常として検出し、各電圧値については所定の範囲から外れた範囲外である場合は異常として検出し、各温度値の異常については、例えば所定値よりも高温または低温である場合は異常として検出する。また異常検出部１１５は、中間転写ベルトの蛇行については、ベルトの張力を検出するテンションセンサーの検出値が所定値範囲内でない場合に異常として検出し、スイッチ不良では、チャタリングが検出された場合や所定の時間内に入力がされない場合などに異常として検出する。さらに異常検出部１１５は、トナー不足では、トナー量検出センサーがトナー不足を検出した場合に異常として検出し、原稿や用紙の紙詰まりや複数枚の繰り出しについては、センサーが紙詰まりや枚数が複数枚であることを検出した場合に異常として検出する。
【００３７】
不揮発メモリー（第２記憶部の一例）１１２は、リングバッファー１１１から読み出されたログ等のデータを保存するために使用される。例えば、不揮発メモリー１１２は、異常時において、リングバッファー１１１から異常時を含めそれ以前のデータ（ログ）を保存するために使用される。不揮発メモリー１１２は、例えば、フラッシュＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）等の不揮発性記憶素子が使用されうる。不揮発メモリー１１２にログを保存する理由は、電源が遮断されるような場合があった後でも、ログが不揮発メモリー１１２に残っており、それが読み出されることで異常の原因を特定することができるからである。異常が生じた場合には、電源が遮断されるようなときがあるので、そうした場合に、不揮発メモリー１１２にログを保存することは有用である。
【００３８】
なお、リングバッファー１１１は書込みと読出しが同時に可能であり、不揮発メモリー１１２への書込みと、リングバッファー１１１への書込みは同時に行うことができる。すなわち、リングバッファー１１１は書込みと読出しが同時に可能であるので、リングバッファー１１１へデータの書込みがされながら、リングバッファー１１１からデータが読み出され、当該読み出したデータは、リングバッファー１１１への上述の書込処理と同時に不揮発メモリー１１２へ書き込まれることができる。この構成により、異常時のような緊急の場合であっても、読出制御部１１４が、重要なデータをリングバッファー１１１から読み出して、不揮発メモリー１１２へ書き込みながら、書込制御部１１３は、各機能部の動作ログ、状態ログ等のリングバッファー１１１への書込みを中断することなく並行して行うことができる。
【００３９】
書込制御部１１３は、前記複数のアドレスの配列順序として予め定められた第１順序で、順次前記アドレスを指定し、該指定されたアドレスに対応してリングバッファー１１１に順次データを記憶させる書込処理を実行する。第１順序は、アドレスの順番（昇順、降順など）によるものだけでなくてよく、また任意の順序を取りうるが、本実施形態では、ＲＡＭ上の所定の位置に配置された、リングバッファー１１１の先頭のアドレスから末尾のアドレスへ向けた連続した順序である。最初の書込みアドレスは、リングバッファー１１１の先頭のアドレスである。本実施形態では、書込みアドレスはインクリメントされる。
【００４０】
なお、リングバッファー１１１への書込みなので、前記書込制御部は、前記第１順序における最後のアドレスを指定して前記データをリングバッファー１１１に記憶させた場合には、次に前記第１順序の最初のアドレスから順次前記アドレスを指定して前記書込処理を実行する。すなわち、書込みアドレスは、リングバッファー１１１の末尾のアドレス（第１順序における最後のアドレス）へ到達すると先頭のアドレス（第１順序の最初のアドレス）へ移る。
【００４１】
読出制御部１１４は、前記書込処理の実行が開始された後の所定の開始タイミングから、前記第１順序とは逆の第２順序で、書込制御部１１３によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータをリングバッファー１１１から順次読み出す読出処理を実行する。第２順序は前記第１順序とは逆の順序であるので、本実施形態では、読出しの向きは、リングバッファーの末尾のアドレスから先頭のアドレスへ向けた連続した順序である。最初の読出しアドレスは、任意に取りうるが、本実施形態では異常情報の保存のため、異常が発生した時点またはその直前に書込制御部１１３が書込みを行ったアドレスが開始のアドレスである。その理由は、異常が発生した時点またはその直前に書込制御部１１３が書込みをしたアドレスから遡ったアドレスほど、より異常との関連性が高い情報であると考えられ、データの重要度が高いからである。すなわち、本実施形態における所定の開始タイミングは、異常が発生した時点、具体的には異常検出部１１５により異常が検出されたときである。なお本実施形態では、読出しアドレスはデクリメントされる。
【００４２】
また、読出制御部１１４は、上記読出処理によって読み出されたデータを不揮発メモリー１１２に記憶させる動作も行う。
【００４３】
よって、上記読出処理により、後述のように異常が発生した時点からデータが保存された順を遡ってデータを確保する場合には、読出し速度が書込み速度よりも遅くても、問題発生時点およびそれ以前の重要度の高い必要度の高いログが上書きされる前に、当該ログが保存できる。
【００４４】
なお、リングバッファーからの読出しなので、前記読出制御部１１４は、前記第２順序における最後のアドレスを指定して前記データをリングバッファー１１１から読出した場合には、次に前記第２順序の最初のアドレスから順次前記アドレスを指定して前記読出処理を実行する。すなわち、読出しアドレスは、リングバッファー１１１の先頭のアドレス（第２順序における最後のアドレス）へ到達すると末尾のアドレス（第２順序の最初のアドレス）へ移る。
【００４５】
このような読出処理を行う理由は、次のとおりである。一般に不揮発メモリーへのデータの書込みの速度は、リングバッファー（ＲＡＭ）のデータの書込みの速度や読出しの速度よりも遅い。そのため、リングバッファーからデータが読出されて、読み出されたデータが不揮発メモリーに書き込まれる場合、リングバッファーからのデータの読み出しの速度は、不揮発メモリーへのデータの書込みの速度によって制限される。そのため、リングバッファーからのデータの読出し速度はリングバッファーのデータの書込みの速度よりも遅くなる。よって、こうした不揮発性メモリーとリングバッファーとが併用される場合には、必要なログがリングバッファーから読み出される前に、新しいデータによって上書きされてしまう不具合が生じてしまう。ログは、所定期間（例えば、保守作業者等が異常や不具合の把握や解析等のために履歴が必要とされる期間等）後には、新しいデータで古いデータを上書きすることができる。しかしながら、既に述べたようにログは問題発生時の原因特定等に役立てる目的で保存されるので、問題発生時点およびそれ以前の重要度の高い必要度の高いログが読み出される前にログが上書きされてなくなってしまうのであれば、ログから問題発生の原因を特定する目的は達成できないからである。
【００４６】
なお、こうした不具合を解消するためにリングバッファー１１１と不揮発性記憶装置１１２との間に別途のメモリー（以下、コピー用バッファーとも呼ぶ）が設けられ、一定量のログが周期的にコピー用バッファーへコピーして保管され、コピー用バッファーのデータが不揮発性記憶装置１１２へ記憶される手法が考えられる。しかし、この場合、コピー用バッファーが設けられることにより、部品点数の増加、構成の複雑化、及びコスト増加等が発生する。
【００４７】
しかし、図２に示す記憶制御装置１０は、リングバッファー１１１からのデータの読出し順序を書込処理における第１順序とは逆向きの第２順序とすることで、少なくとも異常が発生した時刻及びそれよりも遡った時刻におけるログを、上述のコピー用バッファーを別途に設けることなく、不揮発メモリー１１２に記憶することができる。よって、本実施形態では、リングバッファー１１１と不揮発メモリー１１２の間には、コピー用バッファーは必要無い。
【００４８】
図２に示す複合機１は、予め定められた動作を行う動作部である原稿読取部５、画像形成部４０、定着部４５、操作パネル部４７等の機能部を備え、上述のように、書込制御部１１３は、これらの機能部の動作に関するログを時系列で順次前記複数のデータとしてリングバッファー１１１への書込処理を実行する。
【００４９】
異常検出部１１５は、上記の各センサー及び各機能部の異常を検出する。上記の各機能部の異常の内容例や検出の仕方については、上述したとおりである。
【００５０】
図３を使用して、異常が生じた場合に異常検出部１１５が異常を検出して、リングバッファー１１１から不揮発メモリー１１２（図中ではＦｌａｓｈＲｏｍ）へログが保存される動作を説明する。同図では縦方向にリングバッファー１１１と不揮発メモリー１１２であるフラッシュＲＯＭが模式的に並べて記載され、横方向は時間の経過を表わしている。すなわち、図３（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）の順に時間が経過している。リングバッファー１１１と不揮発メモリー１１２の矩形状の各模式図は、縦に複数アドレス分の保存領域が示されている。なお、縦に上から順に、アドレス番号が０から１２まで便宜上ふられている。なお説明上、リングバッファー１１１と不揮発メモリー１１２の各々には１３のアドレス分の領域しか示されていないが、容量は任意に取りうる。リングバッファー１１１と不揮発メモリー１１２の矩形状の各模式図には、ハッチングが施されている部分と施されていない部分とが存在するが、ハッチングが施されている部分は（書込制御部１１３や読出制御部１１４により）データが書き込まれたメモリー部分であり、施されていない部分はデータが書き込まれていないメモリー部分である。
【００５１】
書込みポインタ（図中では、ｗｒｉｔｅＰｏｓ）は、データを書き込んだ先のアドレスである上記書込みアドレスに対して、下記のように一つ次のアドレスを指し示している。また、読出しポインタ（図中では、ｆｌａｓｈＰｏｓ）は、データの読出し元のアドレスである上記読出しアドレスに対して、下記のようにアドレス順で一つ前のアドレス（第２順序においては一つ次のアドレス）を指し示している。
【００５２】
リングバッファー１１１では、書込みポインタが指し示すアドレスを指定してデータを書き込む書込処理により最新データが書き込まれると、書込制御部１１３が書込みポインタを一つ加算して次のアドレスへと書込み先を移す。以後、書込制御部１１３が、リングバッファー１１１に最新データを書き込んだ後、その都度書込みポインタを１ずつ加算してゆき、書込みポインタがリングバッファー１１１の末尾のアドレスへ到達すると、書込制御部１１３は、書込みポインタが指し示すアドレスを指定してリングバッファー１１１に最新データを書き込んだ後に、書込みポインタを先頭のアドレスへと戻す。
【００５３】
一方、リングバッファー１１１からの読出しについては、読出処理により、読出制御部１１４が読出しポインタが指し示すアドレスを指定してリングバッファー１１１からデータを読み出してから、不揮発メモリー１１２へ当該データを書き込み、読出しポインタを次へ移動させる。なお、読出しポインタは、書込みポインタが加算されるのとは逆の向きに一つ減算される。以後、読出制御部１１４が、リングバッファー１１１からデータを読み出した後、その都度読出しポインタを１ずつ減算してゆき、読出しポインタがリングバッファー１１１の先頭のアドレスへ到達すると、読出制御部１１４は、読出しポインタが指し示すアドレスのデータを読み出した後に、読出しポインタを末尾のアドレスへと移す。なお、読出処理は書込処理と並行して行われる。
【００５４】
図３（ａ）は、異常検出部１１５が異常を検出した時刻のリングバッファー１１１と不揮発メモリー１１２の状態を示している。不揮発メモリー１１２の中は未だ保存データは無く、空である。書込みポインタは、書込制御部１１３によって、異常が発生した時刻直近の最新データが格納されているアドレス（アドレス７）の次のアドレスであるアドレス８にセットされている。一方、読出しポインタは、読出制御部１１４によって、異常が発生した時刻直近の最新データの位置であるアドレス７にセットされる。
【００５５】
ここで、図３を用いた説明と並行して、図４のフローチャートも使用して、書込制御部１１３のリングバッファー１１１への書込処理と、読出制御部１１４のリングバッファー１１１からの読出処理および不揮発メモリー１１２への書込み動作について説明する。
【００５６】
書込制御部１１３のリングバッファー１１１への書込処理が開始されて、書込制御部１１３が処理をステップＳ１００へ移行させる。ステップＳ１００では、通常のロギング動作として書込制御部１１３がｗｒｉｔｅＰｏｓでアドレスを指定してリングバッファー１１１へ最新データを書き込む書込処理を行い、書込制御部１１３が処理を次のステップＳ２００へ移行させる。
【００５７】
ステップＳ２００では、書込制御部１１３が、ｗｒｉｔｅＰｏｓをインクリメント（１加算）する。なお、このインクリメントによって、ｗｒｉｔｅＰｏｓがリングバッファー１１１の末尾のアドレス（１２）の次のアドレスとなる場合には、書込制御部１１３は、ｗｒｉｔｅＰｏｓを先頭のアドレス（０）へと戻す。次に、書込制御部１１３が処理をステップＳ３００へ移行させる。
【００５８】
ステップＳ３００では、異常検出部１１５が、上記の各センサー及び各機能部の異常を検出する。異常検出部１１５が上記の各機能部等において異常を検出した場合は（ステップＳ３００でＹＥＳ）、異常検出部１１５が処理をステップＳ４００へ遷移させる。異常検出部１１５が異常を検出しなかった場合は（ステップＳ３００でＮＯ）、異常検出部１１５が処理をステップＳ１００へ移行させる。なお、異常が検出された後は、ステップＳ３００からステップＳ１００へ戻る分岐は行われず、異常検出部１１５が処理を継続してステップＳ３００からステップＳ４００へ移行させ続ける。
【００５９】
ステップＳ４００〜７００では、異常検出部１１５が異常の発生を検出したので（ステップＳ３００でＹＥＳ）、読出制御部１１４は、当該異常発生時のデータおよび異常発生時以前のデータをリングバッファー１１１から読み出して、不揮発メモリー１１２へ記憶する動作を行う。
【００６０】
以下では、ステップＳ４００〜７００を詳細に説明する。なお、異常発生時のデータとは、直近で書込制御部１１３がリングバッファー１１１へ書込処理したデータのことである。よって、ステップＳ３００において、読出制御部１１４は、異常検出部１１５が異常を検出した時点のｗｒｉｔｅＰｏｓの指し示すアドレスの一つ前のアドレスにｆｌａｓｈＰｏｓをセットする（図３（ａ））。異常検出発生時以降では、読出制御部１１４がｆｌａｓｈＰｏｓでアドレスを指定してリングバッファー１１１からデータを読み出す読出処理を開始する。
【００６１】
ステップＳ４００では、読出制御部１１４がリングバッファー１１１からｆｌａｓｈＰｏｓが指し示すアドレスのデータの読出処理を行い、読出制御部１１４が処理を次のステップＳ５００へ移行させる。
【００６２】
ステップＳ５００では、読出制御部１１４がリングバッファー１１１から読み出した上記データを不揮発メモリー１１２へ記憶させる。読出制御部１１４が処理を次のステップＳ６００へ移行させる。
【００６３】
ステップＳ６００では、読出制御部１１４が、ｆｌａｓｈＰｏｓをデクリメント（１減算）する。なお、このデクリメントによって、ｆｌａｓｈＰｏｓがリングバッファー１１１の先頭のアドレスの一つ前のアドレスとなる場合には、書込制御部１１３は、ｆｌａｓｈＰｏｓを末尾のアドレスへと戻す。読出制御部１１４が処理を次のステップＳ７００へ移行させる。
【００６４】
図３によると、図３（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）と時間が経過することで、書込制御部１１３は、書込みポインタをインクリメント（ステップＳ２００）しながらリングバッファー１１１にデータを書き込み（ステップＳ１００）、ログが記憶される（図３（ｂ）、（ｃ））。一方、読出制御部１１４は、読出しポインタをデクリメント（ステップＳ６００）しながらリングバッファー１１１からデータを読み出し（ステップＳ４００）、不揮発メモリー１１２へ異常時直近のデータおよびそれ以前のデータを保存し、不揮発メモリー１１２へログが記憶される（図３（ｂ）、（ｃ））。なお、図３（ｃ）から（ｄ）へ移るときに、書込みポインタはリングバッファー１１１の末尾のアドレス（アドレス１２）へ到達した状態となり、この状態で書込制御部１１３が次の最新データを書き込むため、書込制御部１１３が書込みポインタを先頭のアドレスへ戻している。
【００６５】
図３（ｄ）までに、リングバッファー１１１には６つのデータが書込まれており、不揮発メモリー１１２へは異常時およびそれ以前のデータが３データ分保存されている。なお、この間にｗｒｉｔｅＰｏｓが６つ進んでいるのに対し、ｆｌａｓｈＰｏｓが３しか遡っておらず、ｗｒｉｔｅＰｏｓの書込み速度は、読出し速度の略倍程度速い。
【００６６】
図４に戻って、ステップＳ７００では、メインＣＰＵ１１０が、「ｗｒｉｔｅＰｏｓ−１」の値と「ｆｌａｓｈＰｏｓ」の値が等しいかを判断する。ｗｒｉｔｅＰｏｓとｆｌａｓｈＰｏｓが等しいときに、次に、読出制御部１１４が当該アドレスのデータを読み出す前に書込制御部１１３が当該アドレスに最新データを書き込むか、読出制御部１１４が当該アドレスのデータを読み出して書込制御部１１３が既に最新データを書き込んでいるアドレスへ移るかした場合には、不揮発メモリー１１２へ記憶せねばならないログは書込制御部１１３が最新データをリングバッファー１１１に書き込むことで上書きされて消去されてしまっている。その場合、ｗｒｉｔｅＰｏｓとｆｌａｓｈＰｏｓとの関係は「ｆｌａｓｈＰｏｓ＝ｗｒｉｔｅＰｏｓ−１」となっている。そこでメインＣＰＵ１１０は、「ｆｌａｓｈＰｏｓ＝ｗｒｉｔｅＰｏｓ−１」の場合にはログの不揮発メモリー１１２への保存を終了すると判断し（ステップＳ７００でＹＥＳ）、メインＣＰＵ１１０は処理をステップＳ８００へ移行させる。「ｆｌａｓｈＰｏｓ＝ｗｒｉｔｅＰｏｓ−１」ではない場合は（ステップＳ７００でＮＯ）、メインＣＰＵ１１０は処理をステップＳ１００へ移行させる。
【００６７】
図３によると、図３（ｅ）において、ｗｒｉｔｅＰｏｓとｆｌａｓｈＰｏｓが同じアドレスであるアドレス４となっている。ｗｒｉｔｅＰｏｓとｆｌａｓｈＰｏｓが同じアドレスのとき、読出制御部１１４が当該アドレスのデータを読み出す前に書込制御部１１３が当該アドレスに最新データを書き込むか、読出制御部１１４が当該アドレスのデータを読み出して書込制御部１１３が既に最新データを書き込んでいるアドレスへ移るかした場合（すなわち「ｆｌａｓｈＰｏｓ＝ｗｒｉｔｅＰｏｓ−１」）には、不揮発メモリー１１２へ確保せねばならないログは、書込制御部１１３が最新データをリングバッファー１１１に書き込むことで上書きされて消去されてしまっているので、読出制御部１１４はリングバッファー１１１からの読出しを行わず、読出制御部１１４は、不揮発メモリー１１２への書込みも行わず、ログの不揮発メモリー１１２への書込み動作は終了する。
【００６８】
図４のステップＳ８００において、読出制御部１１４は、リングバッファー１１１からの読出処理およびログの不揮発メモリー１１２への保存動作を終了する。
【００６９】
次に、図５を使用して、もし仮に読出しアドレスの変化する方向と、書込みアドレスの変化する方向が同方向であった場合に生じる課題について説明する。なお、図５に示される動作は、本実施形態にかかる記憶制御装置１０の動作とは異なるが、便宜上、書込制御部１１３に対応する構成を書込制御部と称し、読出制御部１１４に対応する構成を読出制御部と称することとする。図５は、こうした場合におけるリングバッファーでの書込処理及び読出処理と、不揮発メモリーへの書込み動作を説明するための説明図である。図３で説明した動作と異なる点を中心に説明する。同図では縦方向にリングバッファーと不揮発メモリーであるフラッシュＲＯＭ（図中ではＦｌａｓｈＲｏｍ）が模式的に並べて記載され、横方向は時間の経過を表わしている。すなわち、図５（ａ）、（ｂ）、（ｃ）の順に時間が経過している。リングバッファーと不揮発メモリーの矩形状の各模式図は、縦に複数アドレス分の保存領域が示されている。なお、縦に上から順に、アドレス番号が０から１２まで便宜上ふられている。
【００７０】
書込制御部は、リングバッファーに最新データを書き込む書込処理を行う。よって、書込制御部は、最新データを書き込んだ後、書込みポインタ（図中では、ｗｒｉｔｅＰｏｓ）を一つ加算して次のアドレスへと書込み先を移す。一方、読出制御部がリングバッファーからの読出しを並行して行うが、図５に記載の技術は以下のような動作を行う。
【００７１】
読出制御部は、リングバッファーからの読出しにおいて、読出しポインタ（図中では、ｆｌａｓｈＰｏｓ）が指し示すデータを読み出してから、不揮発メモリーへ当該データを書き込み、読出しポインタをインクリメントさせる。ただし、読出しポインタのアドレス変更は書込みポインタと同じ向きであり、読出しポインタは加算される。以後、読出制御部がリングバッファーからデータを読み出した後、その都度読出制御部は読出しポインタを加算してゆき、読出しポインタがリングバッファーの末尾のアドレスへ到達すると、読出制御部は、読出しポインタが指し示すアドレスのデータを読み出した後に、読出しポインタを先頭のアドレスへと移す。このように、図５に記載の技術の読出しポインタの移動の向きおよび移動の仕方は、書込処理の場合と同様である。
【００７２】
図５（ａ）では、書込みポインタは最新データが格納されているアドレス（アドレス８）の次のアドレスであるアドレス９にセットされている。一方、不揮発メモリーの中は未だ保存データは無く、空であり、読出しポインタは、アドレス０にセットされている。なお、図５では、課題を説明する上から、読出しポインタは、異常が発生した時刻からの読出しとはなっておらず、読出しポインタはアドレス０から開始される。
【００７３】
図５（ａ）から（ｂ）、（ｃ）と時間が経過する。図５（ｂ）では、書込みポインタは、リングバッファーの末尾のアドレス（アドレス１２）へ到達した状態である。次の最新データがアドレス１２へ書き込まれた場合には、書込制御部は、次の書込みポインタを先頭のアドレスへ戻す。なお、図５（ａ）から（ｂ）への間に、読出制御部が不揮発メモリーへデータを１データ分保存し、書込制御部は、リングバッファーに３データ分書込みを行っている。よって、書込み速度は、読出し速度の略３倍程度速い。
【００７４】
図５（ｃ）において、ｗｒｉｔｅＰｏｓがｆｌａｓｈＰｏｓが同じアドレスであるアドレス２となっている。ｗｒｉｔｅＰｏｓとｆｌａｓｈＰｏｓが同じアドレスとなり、読出制御部が当該アドレスのデータを読み出す前に書込制御部が当該アドレスに最新データを書き込んだ場合、不揮発メモリーへ確保せねばならないログは書込制御部が最新データをリングバッファーに書き込むことで上書きされて消去されてしまっているので、読出制御部はリングバッファーからの読出しを行わず、また読出制御部は不揮発メモリーへの書込みも行わず、当該ログの不揮発メモリーへの書込み動作は終了する。なお、書込制御部が最新データを書き込むことで上書きして消去する前に、読出制御部が当該アドレスのデータを読み出すケースがありうるが、ｗｒｉｔｅＰｏｓの書込み速度は、読出し速度より速いので、読出制御部が当該アドレスのデータを読み出す前に書込制御部が当該アドレスに最新データを書き込む場合がその後に発生する。
【００７５】
以上のように、図５を用いて説明した技術では、書込み速度は、読出し速度よりも速く、また書込みポインタのアドレスの変更する向きと読出しポインタのアドレスの変更する向きが同じである。よって、異常発生時からデータをリングバッファーのデータを読み出して不揮発メモリーに書き込む場合、本実施形態と比べて、異常発生時より過去のデータである異常発生時以前のデータが十分に不揮発メモリーに書き込むことができない。それは、次の理由による。書込みポインタのアドレスの変更する向きと読出しポインタのアドレスの変更する向きが同じであるから、異常発生時以前のデータを読み出すためには、読出しポインタの開始アドレス（読出し開始タイミング）が異常発生時以前のいずれかのタイミングに定められて、読出しポインタのインクリメントが行われることとなる。しかし、開始アドレスによっては、書込み速度が読出し速度よりも速いので、書込みポインタが読出しポインタを追い越し、そうした場合には異常発生時のデータおよびその直近付近のデータが書込処理により上書きされて消去されており、当該データを不揮発メモリーに書き込むことができないからである。
【００７６】
本実施形態の記憶制御装置１０および電子機器１では、上記の構成により、書込制御部１１３によって書込制御が前記第１順序で行われ、読出制御部１１４によって読出処理が、前記書込処理の実行が開始された後の所定の開始タイミングから、前記第１順序とは逆の第２順序で書込制御部１１３によって直前に前記データが保存されたアドレスから順次前記アドレスを指定して行われる。このことにより、例えば読出し速度が書込み速度よりも遅いような場合であっても、当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部１１３によって直前に前記データが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部１１４は、そうした重要度の高いログが上書きされる前に、当該ログを読み出して保存することができる。すなわち、不揮発メモリー１１２にリングバッファー１１１のデータを保存する場合などにおいて、アクセス速度の遅い不揮発メモリー１１２へリングバッファー１１１から読出したデータを書き込む際に、リングバッファー１１１からの読出し速度がその不揮発メモリー１１２の遅いアクセス速度の制限を受けることで、当該読出し速度がリングバッファー１１１への書込み速度よりも遅くなるような場合であっても、必要なログが上書きされる前に、当該ログを保存できる記憶制御装置および電子機器を提供できる。
【００７７】
なお、本実施形態は、読出制御部１１４がリングバッファー１１１から読み出したデータを不揮発メモリー１１２に記憶させる例に限らない。例えば、複合機１は、公衆回線やＬＡＮ（Local Area Network）等の通信回線に接続可能な通信回路部を備えていてもよい。そして、読出制御部１１４は、リングバッファー１１１から読み出したデータを通信回線を介して装置の外部へ送信してもよい。この場合、転送速度の低い通信網等に対して読出制御部１１４が読出したデータを送信するために、リングバッファー１１１の読出し速度がその遅い転送速度に制限されて、当該読出し速度がリングバッファー１１１の書込み速度よりも遅くなる。そのような場合であっても、上記と同様に必要なログが上書きされる前に、当該ログを保存することができる。
【００７８】
上述の記憶制御装置１０および電子機器１は、不揮発性の第２記憶部たる不揮発メモリー１１２をさらに備え、読出制御部１１４は、読出処理によって読み出されたデータを不揮発メモリー１１２に記憶させることで、上記効果に加えて、複合機１の電源が遮断されるような場合が生じて、第１記憶部たるリングバッファー１１１に存在するデータが消去された後でも、当該データが不揮発メモリー１１２に残っており、読出制御部１１４は、それを読出して参照することができる。
【００７９】
また、本実施形態は、書込処理および読出処理により、リングバッファー１１１と不揮発性記憶装置１１２との間に緩衝用の別途のメモリー（コピー用バッファー）を設ける必要なく、必要なログが上書きされる前に、当該ログを保存できる記憶制御装置および電子機器を提供できる。よって、別途にメモリーが設けられたために生じる、部品点数の増加、構成の複雑化、及びコスト増加等が回避できる。
【００８０】
上述の構成により、電子機器１は、上記の各効果を有する記憶制御装置１０を備えていることから、書込処理が前記第１順序で行われ、書込処理の実行が開始された後に、読出処理が、前記第１順序とは逆の第２順序で、書込制御部１１３によって直前にデータが保存されたアドレスから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部１１３によって直前にデータが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部１１４は、そうした重要度の高いデータがリングバッファー１１１において上書きされて消去される前に当該データを読出制御部１１４が読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、リングバッファー１１１に記憶された重要度の高いデータが上書きされる前に、当該データを読み出すことができ、さらに保存することができる電子機器１を提供できる。
【００８１】
電子機器１は、上記動作部の異常を検出する異常検出部１１５を更に備え、開始タイミングは、異常検出部１１５により異常が検出されたときであることで、上記効果に加えて、上記動作部の異常発生時、さらには異常発生時以前のデータをリングバッファー１１１から読み出すことができる。異常を解消するためには、異常発生時と異常発生時から遡ったデータが重要となってくる。それらのデータを解析することで、異常発生時の装置の動作や状態が把握され、また、その異常に至るまでの装置の動作や状態が把握されるからである。このように電子機器１は、開始タイミングを異常検出部１１５により異常が検出されたときとすることで、読出制御部１１４はそれら重要な異常発生時と異常発生時から遡ったデータを読出し保存することができ、さらに不揮発メモリー１１２へ保存等をすることができる。
【００８２】
上述の電子機器は用紙に画像を形成する画像形成部を備えた画像形成装置（複合機１）であり、この構成により複合機１は、上記の効果を奏することから、書込処理が前記第１順序で行われ、書込処理の実行が開始された後に、読出処理が、前記第１順序とは逆の第２順序で、書込制御部１１３によって直前にデータが保存されたアドレスから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部１１３によって直前にデータが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部１１４は、そうした重要度の高いデータがリングバッファー１１１において上書きされて消去される前に当該データを読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、リングバッファー１１１に記憶された重要度の高いデータが上書きされる前に、読出制御部１１４は当該データを読み出すことができ、さらに保存することができる。なお、前記開始タイミングが異常検出部１１５により異常が検出されたときである場合、リングバッファー１１１に記憶されたデータは当該異常への関連性の高い重要度の高いデータである。これにより、複合機１のメンテナンス時に役立つ情報が消去されずに残り、当該メンテナンスが容易となる。
【００８３】
また、この構成により、複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶するリングバッファー１１１を有するコンピューターで実行される記憶制御プログラムでは、書込処理が前記第１順序で行われ、書込処理の実行が開始された後に、読出処理が、前記第１順序とは逆の第２順序で、書込制御部１１３によって直前にデータが保存されたアドレスから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部１１３によって直前にデータが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部１１４は、そうした重要度の高いデータがリングバッファー１１１において上書きされて消去される前に当該データを読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、読出制御部１１４は、リングバッファー１１１に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御プログラムを提供できる。
【００８４】
また、この構成により、複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶するリングバッファー１１１を有する電子機器１で使用される記憶制御方法では、書込処理が前記第１順序で行われ、書込処理の実行が開始された後に、読出処理が、前記第１順序とは逆の第２順序で、書込制御部１１３によって直前にデータが保存されたアドレスから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部１１３によって直前にデータが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部１１４は、そうした重要度の高いデータがリングバッファー１１１において上書きされて消去される前に当該データを読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、読出制御部１１４は、リングバッファー１１１に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御方法を提供できる。
【００８５】
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および／または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。
【符号の説明】
【００８６】
１  複合機
２  本体部
１０  記憶制御装置
４０  画像形成部
４５  定着部
４７  操作パネル部
１１０  メインＣＰＵ部
１１１  リングバッファー
１１２  不揮発メモリー
１１３  書込制御部
１１４  読出制御部
１１５  異常検出部
４５１  圧ローラー
４５２  熱ローラー
４５３  ヒーター
４５４  スイッチング素子
４７３  表示部
４７６  操作キー部
６００、６０１、６０２、６０３、６０４、６０５、６０６、６０７、６０８  センサー
ＳＷ  電源スイッチ
【図１】
2014149568.tif 000003
【図２】
2014149568.tif 000004
【図３】
2014149568.tif 000005
【図４】
2014149568.tif 000006
【図５】
2014149568.tif 000007