JP5820830B2 - 記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法 - Google Patents

記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法 Download PDF

Info

Publication number
JP5820830B2
JP5820830B2 JP2013016395A JP2013016395A JP5820830B2 JP 5820830 B2 JP5820830 B2 JP 5820830B2 JP 2013016395 A JP2013016395 A JP 2013016395A JP 2013016395 A JP2013016395 A JP 2013016395A JP 5820830 B2 JP5820830 B2 JP 5820830B2
Authority
JP
Japan
Prior art keywords
address
data
read
order
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013016395A
Other languages
English (en)
Other versions
JP2014149568A (ja
Inventor
浩次 藤井
浩次 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2013016395A priority Critical patent/JP5820830B2/ja
Priority to US14/170,278 priority patent/US9262121B2/en
Publication of JP2014149568A publication Critical patent/JP2014149568A/ja
Application granted granted Critical
Publication of JP5820830B2 publication Critical patent/JP5820830B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Facsimiles In General (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、記憶装置に対するデータの書込み及び読出しを制御する記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法に関するものである。
近年、画像形成装置や情報処理装置等の電子機器において、機器に含まれる各機能部の動作や状態に関する情報、あるいは機器に含まれるセンサーの検出値を表わす情報などを、RAM(Random Access Memory)内のログ(Log)情報を記録する領域(ログ領域)へ、ロギングすることが行われている。ログとは、時間の経過に応じて得られたコンピューターや上記機能部の動作内容または状態等に関する複数の情報(データ)の集合により当該情報の履歴を表わすデータである。ロギングとはログ領域にデータを記録することである。こうしたログが保存されることで、機器の動作に問題や異常が発生した場合に、原因を特定することなどに役立てられることができる。例えば、問題発生時以前のログを解析することで、問題発生の原因や背景を知ることができる。ログには、上記履歴以外にも、センサーの検出値や、異常に関する情報が含まれてもよい。
ログが保存されるメモリーは、データが時系列に書き込まれることで、書込み時点よりも過去のデータを上書きするような構成であってもよい。これは、以下の理由による。ロギングは問題発生時の原因特定等に役立てる目的で行われることから、ログに含まれるデータは、永久的に保存する性質のものではなく、ある所定の期間保存されればよい性質のものであるので、ある所定期間後には消去されてよい。よってログは、当該所定期間後には新しいデータで古いデータを上書きすることができ、ログ領域に要する容量を一定値内に収めることができる利点があるからである。こうしたログが保存されるメモリーとして、リングバッファー(Ring Buffer)が使用される。
リングバッファーとは、あるアドレスAを先頭とし、あるアドレスBで末尾となるメモリー領域において、メモリーへの書込みアドレスやメモリーからの読出しアドレスがアドレスBまで至った場合に、次のアドレスがアドレスAとされることで、上記メモリー領域の両端を論理的に繋げて、観念的にリング状に構成したバッファーのことである。なお、メモリーへの書込みアドレスやメモリーからの読出しアドレスが先頭のアドレスAまで遡った場合には、次の遡り先のアドレスは末尾のアドレスBとされる。
特許文献1には、セクター毎にしかデータの消去が行えないユーザープログラマブルROM(Read Only Memory)をリングバッファーとして用いた場合に、効率良くセクターを使用し、消去するための技術が開示されている。
特開平11−96775号公報
リングバッファーから、例えばフラッシュROM等の不揮発性記憶装置(以下、不揮発メモリーとも呼ぶ)へログを保存することが行われている。リングバッファーから不揮発メモリーにログが保存される理由は、異常により電源が遮断されるような場合に、RAM内のログが消去された後であっても、ログが不揮発メモリーに保存されていることにより、それを読み出すことで異常の原因を特定することができるからである。
一般に不揮発メモリーへのデータの書込みの速度は、リングバッファー(RAM)のデータの書込みの速度や読出しの速度よりも遅い。そのため、リングバッファーからデータが読み出されて、読み出されたデータが不揮発メモリーに書き込まれる場合、リングバッファーからのデータの読み出しの速度は、不揮発メモリーへのデータの書込みの速度によって制限される。そのため、リングバッファーからのデータの読出し速度はリングバッファーのデータの書込みの速度よりも遅くなる。よって、こうした不揮発性記憶装置とリングバッファーとが併用される場合には、必要性の高い重要なデータが、リングバッファーから読み出される前に、新しいデータによって上書きされてしまうおそれがある。上述のようにログは、当該所定期間後には新しいデータで古いデータを上書きすることができる。しかしながら、これも上述のように、ログは問題発生の原因特定等に役立てる目的で保存されるので、問題発生時点およびそれ以前の重要度の高いログが読み出される前に上書きされて無くなってしまうのであれば、ログから問題発生の原因を特定する目的は達成できない。問題発生時点のデータはもとより問題発生時点以前のログは、問題発生に至るまでの経過を示す情報であるため、問題発生の原因特定のために重要度の高い情報である。上記従来技術は、ユーザープログラマブルROMのリングバッファーにおいて、効率良くセクターを使用し、消去することはできても、上記のような、重要なデータがリングバッファーから読み出される前に、新しいデータによって上書きされてしまう不具合を回避することはできない。
本発明は、上述の事情に鑑みて為された発明であり、その目的は、記憶部に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法を提供することである。
本発明にかかる一態様の記憶制御装置は、複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶する第1記憶部と、前記複数のアドレスの配列順序として予め定められた第1順序で、順次前記アドレスを指定し、該指定されたアドレスに対応して前記第1記憶部に順次データを記憶させる書込処理を実行する書込制御部と、前記書込処理の実行が開始された後の所定の開始タイミングから、前記第1順序とは逆の第2順序で、前記書込制御部によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータを前記第1記憶部から順次読み出す読出処理の実行を開始する読出制御部とを備え、前記書込制御部は、前記書込処理において前記第1順序における最後のアドレスを指定して前記データを前記第1記憶部に記憶させた場合、次に指定するアドレスを前記第1順序の最初のアドレスとし、以後前記第1順序で順次前記アドレスを指定し、前記読出制御部は、前記読出処理において前記第2順序における最後のアドレスを指定して前記データを前記第1記憶部から読出した場合、次に指定するアドレスを前記第2順序の最初のアドレスとし、以後前記第2順序で順次前記アドレスを指定し、前記読出制御部は、前記読出処理において前記データの読み出し元の前記アドレスの、前記第2順序において一つ次の前記アドレスを指し示す読出しポインタが、前記書込処理において前記データを書き込んだ先の前記アドレスを指し示す場合、前記読出処理を終了する
この構成により、書込処理が前記第1順序で行われ、前記書込処理の実行が開始された後に、前記読出処理が、前記第1順序とは逆の第2順序で、前記書込制御部によって直前に前記データが保存されたアドレスの後の所定のタイミングから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは最新のデータおよび最新のデータから時間を遡ったデータであり、読出しが開始される以前の動作、状態、または検出値などを把握するのに必要な重要度の高いデータであるので、前記書込制御部によって直前に前記データが保存されたアドレスからデータが保存された順を遡って読出処理を行うことで、前記読出制御部は、そうした重要度の高いデータが前記第1記憶部において上書きされて消去される前に当該データを読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、前記第1記憶部に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御装置を提供できる。
以上により、前記書込制御部によって直前にデータが保存されたアドレスからデータが保存された順を遡ってデータの読出処理が行われるので、記憶部に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法を提供することができる。
本発明の一実施形態に係る画像形成装置の一例である複合機の内部構成を概略的に示す構造図である。 図1に示す複合機の電気的構成の一例を示すブロック図である。 本発明の一実施形態に係るリングバッファーと不揮発メモリーの動作を説明する説明図である。 本発明の一実施形態に係るリングバッファーでの書込処理及び読出処理と不揮発メモリーへの書込み動作を説明するフローチャートである。 従来技術におけるリングバッファーでの書込処理及び読出処理と不揮発メモリーへの書込み動作を説明する説明図である。
以下、本発明に係る実施の一形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、異なる点のみ説明する。よって同一の符号を付した構成については、特段変更等の説明がない限り、適宜その説明を省略する。
[実施形態1]
図1は、本発明の一実施形態に係る電子機器の一例として、本発明の一実施形態に係る記憶制御装置を備えた複合機の内部構成を概略的に示す構造図である。複合機は、スキャナー、コピー、プリンター、ファクシミリー等の機能を兼ね備えた画像形成装置である。なお、画像形成装置は、複合機に限られず、コピー機、プリンター、ファクシミリー機等であってもよい。また、電子機器は、スマートフォン、タブレット型PC等であっても良い。
この複合機1は、本体部2と、スタックトレイ3と、原稿読取部5と、原稿給送部6とを備えている。スタックトレイ3は、本体部2の左方に配設される。原稿読取部5は、例えば本体部2の上部に配設される。原稿給送部6は、例えば原稿読取部5の上方に配設される。
複合機1のフロント部には、操作パネル部47が設けられている。操作パネル部47は、例えばフロント部の形状に対応して略長方形の形状をしている。操作パネル部47は、表示部473と、操作キー部476とを備えている。表示部473は、例えばタッチパネル機能を有する液晶ディスプレイ等である。操作キー部476は、例えばユーザーが画像形成指示を入力するためのスタートキーや、印刷部数等を入力するためのテンキー等の各種キースイッチを有している。
原稿読取部5は、スキャナー部51と、ガラス等の透明部材により構成された原稿台52及び原稿読取スリット53とを備える。スキャナー部51は、CCD(Charge Coupled Device)512(図2参照)及び露光ランプ511(図2参照)等を含む。スキャナー部51は、不図示の駆動部によって移動可能に構成される。例えば、原稿台52に載置された原稿を読み取るときは、スキャナー部51は、原稿台52に対向する位置で原稿面に沿って移動され、原稿画像を走査しつつ取得した画像データをメインCPU110へ出力する。また、例えば原稿給送部6により給送された原稿を読み取るときは、スキャナー部51は、原稿読取スリット53と対向する位置に移動され、原稿読取スリット53を介して原稿給送部6による原稿の搬送動作と同期して原稿の画像を取得し、その画像データをメインCPU110へ出力する。なお、原稿読取スリット53等には、例えば、原稿の紙詰まりを検出するセンサー600(図2)などが取り付けられている。
原稿読取部5の側部には、例えば装置全体の電源をオン(電力の供給)またはオフ(電力供給の遮断)するメインスイッチSWが配設されている。メインスイッチSWは、例えばロッカースイッチ等である。なお、メインスイッチSWは必ずしも必要ではなく、複合機1が商用電源に接続されることで装置全体の電力が供給されるものであってもよい。
原稿給送部6は、原稿を載置するための原稿載置部61と、画像読み取り済みの原稿を排出するための原稿排出部62と、原稿搬送機構63とを備える。原稿搬送機構63は、原稿載置部61に載置された原稿を1枚ずつ繰り出して原稿読取スリット53に対向する位置へ搬送し、原稿排出部62へ排出する。なお、原稿排出部62、原稿搬送機構63等には、例えば、原稿の紙詰まりや複数枚の原稿の繰り出しを検出するセンサー601(図2)などが取り付けられている。
本体部2は、複数の給紙カセット461と、給紙カセット461から用紙を1枚ずつ繰り出して画像形成部40へ搬送する給紙ローラー462と、給紙カセット461から搬出されてきた用紙に画像を形成する画像形成部(動作部の一例)40とを備える。なお、給紙カセット461や給紙ローラー462等の周りには、例えば、用紙の紙詰まりや複数枚の用紙の繰り出しを検出するセンサー602(図2)などが取り付けられている。
画像形成部40は、用紙搬送部411、光走査装置42、感光体ドラム43、現像部44、転写部41、及び定着部45を備えている。
用紙搬送部411は、画像形成部40内の用紙搬送路中に設けられ、給紙ローラー462によって搬送されてきた用紙を感光体ドラム43に供給する搬送ローラー412や、用紙をスタックトレイ3又は排出トレイ48まで搬送する搬送ローラー463,464等を有している。なお、用紙搬送部411や搬送ローラー412、463,464等の周りには、例えば、用紙の紙詰まりや複数枚の用紙の繰り出しを検出するセンサー603(図2)などが取り付けられている。
光走査装置42は、メインCPU110から出力された画像データに基づきレーザー光等を出力して感光体ドラム43を露光することで、感光体ドラム43上に静電潜像を形成する。現像部44は、感光体ドラム43上の静電潜像をトナー現像してトナー像を形成する。転写部41は、感光体ドラム43上のトナー像を用紙に転写する。なお、光走査装置42には、露光の際に印加する電圧(露光電圧)を検出するセンサー604(図2)などが取り付けられている。現像部44には、静電潜像を現像する際に印加する静電電圧を検出するセンサー605(図2)などが取り付けられている。転写部41には、トナー像を用紙に転写する際に加圧する加圧部の電圧(加圧電圧)や圧力を検出するセンサー606(図2)などが取り付けられている。
定着部45は、トナー像が転写された用紙を加熱してトナー像を用紙に定着させる。定着部45は、用紙に形成されたトナー像を溶融するための熱ローラー452と、この熱ローラー452との間で用紙を圧接しつつ搬送する圧ローラー451とを含む。定着部45には、トナー像を溶融するための熱ローラー452やヒーター453(図2)の温度(定着温度)を検出するセンサー607(図2)や、圧ローラー451の圧力値を検出するセンサー608(図2)などが取り付けられている。
図2は、図1に示す複合機1の電気的構成を示すブロック図である。図2を参照して、図2において新たに記載された構成について説明する。
定着部45は、上記圧ローラー451と、上記熱ローラー452と、ヒーター453とを含む。ヒーター453は、熱ローラー452の内部に配設されている。ヒーター453は、熱ローラー452を加熱することによって、熱ローラー452と圧ローラー451とでニップされた用紙を加熱する。
メインCPU110は、装置全体の制御を司る。また、メインCPU110は、メインCPU110の電力供給が開始されると、システムリセット信号を出力して、上述の装置に含まれる各部のシステムリセットを行う。メインCPU110は、リングバッファー111、不揮発メモリー112、書込制御部113、読出制御部114、および異常検出部115の各動作を行う。なお、リングバッファー111、不揮発メモリー112、書込制御部113、および読出制御部114は、記憶制御装置10を構成する。なお本実施形態では、書込制御部113および読出制御部114は、メインCPU110が各々書込処理および読出処理のソフトウエアを実行することで実現されるが、書込制御部113および読出制御部114はハードウエアで構成されてもよい。
リングバッファー(第1記憶部の一例)111は、複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶するメモリーである。リングバッファー111は、上記のメインCPU110や原稿読取部5、画像形成部40、定着部45、操作パネル部47等の機能部の動作内容や状態等に関する情報(データ)の履歴であるログを記憶する。リングバッファー111は、RAMなどから構成される。
リングバッファー111にこうしたログが保存されることで、保守作業者が、事後的にCPU110や上記の各機能部の動作内容や状態等を把握したり、解析したりすることができる。例えば、ログは機器の動作に異常が発生した場合に、保守作業者が当該ログを使用して解析することで、原因を特定することなどに役立てることができる。すなわち、例えば問題発生時およびそれ以前のログが解析されることで、問題発生の原因や背景が把握できる。リングバッファー111において、現在書込みを行っているアドレスには最も新しいデータが保存されており、そこからアドレスを遡ることで、最新のデータからより古いデータへと遡ることができる。よって、異常が生じた場合、異常発生時の直近で書込みされたアドレスが最も異常との関連性が高い情報であると考えられ、データの重要度が最も高く、また当該アドレスに近いほどより異常との関連性が高い情報であると考えられ、当該アドレスに近いデータほどデータの重要度が高くなる。
ログとして記録される情報(データ)は、画像形成部40、転写部41、現像部44、定着部45、原稿読取部5、原稿給送部6、操作パネル部47、給紙カセット461や給紙ローラー462、および中間転写ベルト等の各機能部(動作部)の各動作に関する情報である。例えば、各機能部の動作状態や、各機能部に配置された温度センサー等の各センサーの検出値や、各センサー及び各機能部における異常に関する情報等である。なお、本実施形態では、中間転写ベルトは使用されていないが、複合機1は、中間転写ベルトを備え、感光体ドラム上に形成されたトナー像を中間転写ベルトに転写し、中間転写ベルト上のトナー像を用紙に転写する画像形成装置であってもよい。以下では、中間転写ベルトが使用される場合も含めて説明する。
上記の各機能部の動作の例としては、光走査装置42における露光動作、現像部44における静電潜像を現像する動作、転写部41におけるトナー像を用紙に転写する加圧等の動作、定着部45におけるトナー像を溶融する動作などが挙げられる。
また、上記の各機能部における状態としては、例えば、各機能部で使用されているLSI等の状態レジスター(ステータスレジスター)のビット情報、スキャナー部51のCCDの温度、光走査装置42のレーザーの温度、現像部44における感光体ドラム43の電位、転写部41における転写電圧、定着部45における熱ローラー452の温度やヒーター453の温度、トナー残量、用紙の残量、および原稿台52上の残留原稿の有無などが挙げられる。
上記の各センサーの検出値の例としては、光走査装置42における露光電圧の電圧値、現像部44における静電電圧の電圧値、転写部41における転写電圧値、定着部45における定着温度の温度値などが挙げられる。
上記の各機能部等の異常の例としては、上記の原稿の紙詰まりや複数枚の原稿の繰り出しによる異常、上記の用紙の紙詰まりや複数枚の用紙の繰り出しによる異常、光走査装置42における露光電圧値の異常、現像部44における静電電圧値の異常、転写部41における転写電圧値の異常、定着部45における定着温度値の異常、中間転写ベルトの蛇行の異常、スイッチ不良、トナー不足等が挙げられる。
なお、異常の検出は、異常検出部115が次のようにして行う。例えば、異常検出部115は、各温度センサーの検出値が所定の範囲内に含まれない場合には異常として検出し、各電圧値については所定の範囲から外れた範囲外である場合は異常として検出し、各温度値の異常については、例えば所定値よりも高温または低温である場合は異常として検出する。また異常検出部115は、中間転写ベルトの蛇行については、ベルトの張力を検出するテンションセンサーの検出値が所定値範囲内でない場合に異常として検出し、スイッチ不良では、チャタリングが検出された場合や所定の時間内に入力がされない場合などに異常として検出する。さらに異常検出部115は、トナー不足では、トナー量検出センサーがトナー不足を検出した場合に異常として検出し、原稿や用紙の紙詰まりや複数枚の繰り出しについては、センサーが紙詰まりや枚数が複数枚であることを検出した場合に異常として検出する。
不揮発メモリー(第2記憶部の一例)112は、リングバッファー111から読み出されたログ等のデータを保存するために使用される。例えば、不揮発メモリー112は、異常時において、リングバッファー111から異常時を含めそれ以前のデータ(ログ)を保存するために使用される。不揮発メモリー112は、例えば、フラッシュROM、EEPROM(Electrically Erasable Programmable ROM)等の不揮発性記憶素子が使用されうる。不揮発メモリー112にログを保存する理由は、電源が遮断されるような場合があった後でも、ログが不揮発メモリー112に残っており、それが読み出されることで異常の原因を特定することができるからである。異常が生じた場合には、電源が遮断されるようなときがあるので、そうした場合に、不揮発メモリー112にログを保存することは有用である。
なお、リングバッファー111は書込みと読出しが同時に可能であり、不揮発メモリー112への書込みと、リングバッファー111への書込みは同時に行うことができる。すなわち、リングバッファー111は書込みと読出しが同時に可能であるので、リングバッファー111へデータの書込みがされながら、リングバッファー111からデータが読み出され、当該読み出したデータは、リングバッファー111への上述の書込処理と同時に不揮発メモリー112へ書き込まれることができる。この構成により、異常時のような緊急の場合であっても、読出制御部114が、重要なデータをリングバッファー111から読み出して、不揮発メモリー112へ書き込みながら、書込制御部113は、各機能部の動作ログ、状態ログ等のリングバッファー111への書込みを中断することなく並行して行うことができる。
書込制御部113は、前記複数のアドレスの配列順序として予め定められた第1順序で、順次前記アドレスを指定し、該指定されたアドレスに対応してリングバッファー111に順次データを記憶させる書込処理を実行する。第1順序は、アドレスの順番(昇順、降順など)によるものだけでなくてよく、また任意の順序を取りうるが、本実施形態では、RAM上の所定の位置に配置された、リングバッファー111の先頭のアドレスから末尾のアドレスへ向けた連続した順序である。最初の書込みアドレスは、リングバッファー111の先頭のアドレスである。本実施形態では、書込みアドレスはインクリメントされる。
なお、リングバッファー111への書込みなので、前記書込制御部は、前記第1順序における最後のアドレスを指定して前記データをリングバッファー111に記憶させた場合には、次に前記第1順序の最初のアドレスから順次前記アドレスを指定して前記書込処理を実行する。すなわち、書込みアドレスは、リングバッファー111の末尾のアドレス(第1順序における最後のアドレス)へ到達すると先頭のアドレス(第1順序の最初のアドレス)へ移る。
読出制御部114は、前記書込処理の実行が開始された後の所定の開始タイミングから、前記第1順序とは逆の第2順序で、書込制御部113によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータをリングバッファー111から順次読み出す読出処理を実行する。第2順序は前記第1順序とは逆の順序であるので、本実施形態では、読出しの向きは、リングバッファーの末尾のアドレスから先頭のアドレスへ向けた連続した順序である。最初の読出しアドレスは、任意に取りうるが、本実施形態では異常情報の保存のため、異常が発生した時点またはその直前に書込制御部113が書込みを行ったアドレスが開始のアドレスである。その理由は、異常が発生した時点またはその直前に書込制御部113が書込みをしたアドレスから遡ったアドレスほど、より異常との関連性が高い情報であると考えられ、データの重要度が高いからである。すなわち、本実施形態における所定の開始タイミングは、異常が発生した時点、具体的には異常検出部115により異常が検出されたときである。なお本実施形態では、読出しアドレスはデクリメントされる。
また、読出制御部114は、上記読出処理によって読み出されたデータを不揮発メモリー112に記憶させる動作も行う。
よって、上記読出処理により、後述のように異常が発生した時点からデータが保存された順を遡ってデータを確保する場合には、読出し速度が書込み速度よりも遅くても、問題発生時点およびそれ以前の重要度の高い必要度の高いログが上書きされる前に、当該ログが保存できる。
なお、リングバッファーからの読出しなので、前記読出制御部114は、前記第2順序における最後のアドレスを指定して前記データをリングバッファー111から読出した場合には、次に前記第2順序の最初のアドレスから順次前記アドレスを指定して前記読出処理を実行する。すなわち、読出しアドレスは、リングバッファー111の先頭のアドレス(第2順序における最後のアドレス)へ到達すると末尾のアドレス(第2順序の最初のアドレス)へ移る。
このような読出処理を行う理由は、次のとおりである。一般に不揮発メモリーへのデータの書込みの速度は、リングバッファー(RAM)のデータの書込みの速度や読出しの速度よりも遅い。そのため、リングバッファーからデータが読出されて、読み出されたデータが不揮発メモリーに書き込まれる場合、リングバッファーからのデータの読み出しの速度は、不揮発メモリーへのデータの書込みの速度によって制限される。そのため、リングバッファーからのデータの読出し速度はリングバッファーのデータの書込みの速度よりも遅くなる。よって、こうした不揮発性メモリーとリングバッファーとが併用される場合には、必要なログがリングバッファーから読み出される前に、新しいデータによって上書きされてしまう不具合が生じてしまう。ログは、所定期間(例えば、保守作業者等が異常や不具合の把握や解析等のために履歴が必要とされる期間等)後には、新しいデータで古いデータを上書きすることができる。しかしながら、既に述べたようにログは問題発生時の原因特定等に役立てる目的で保存されるので、問題発生時点およびそれ以前の重要度の高い必要度の高いログが読み出される前にログが上書きされてなくなってしまうのであれば、ログから問題発生の原因を特定する目的は達成できないからである。
なお、こうした不具合を解消するためにリングバッファー111と不揮発性記憶装置112との間に別途のメモリー(以下、コピー用バッファーとも呼ぶ)が設けられ、一定量のログが周期的にコピー用バッファーへコピーして保管され、コピー用バッファーのデータが不揮発性記憶装置112へ記憶される手法が考えられる。しかし、この場合、コピー用バッファーが設けられることにより、部品点数の増加、構成の複雑化、及びコスト増加等が発生する。
しかし、図2に示す記憶制御装置10は、リングバッファー111からのデータの読出し順序を書込処理における第1順序とは逆向きの第2順序とすることで、少なくとも異常が発生した時刻及びそれよりも遡った時刻におけるログを、上述のコピー用バッファーを別途に設けることなく、不揮発メモリー112に記憶することができる。よって、本実施形態では、リングバッファー111と不揮発メモリー112の間には、コピー用バッファーは必要無い。
図2に示す複合機1は、予め定められた動作を行う動作部である原稿読取部5、画像形成部40、定着部45、操作パネル部47等の機能部を備え、上述のように、書込制御部113は、これらの機能部の動作に関するログを時系列で順次前記複数のデータとしてリングバッファー111への書込処理を実行する。
異常検出部115は、上記の各センサー及び各機能部の異常を検出する。上記の各機能部の異常の内容例や検出の仕方については、上述したとおりである。
図3を使用して、異常が生じた場合に異常検出部115が異常を検出して、リングバッファー111から不揮発メモリー112(図中ではFlashRom)へログが保存される動作を説明する。同図では縦方向にリングバッファー111と不揮発メモリー112であるフラッシュROMが模式的に並べて記載され、横方向は時間の経過を表わしている。すなわち、図3(a)、(b)、(c)、(d)、(e)の順に時間が経過している。リングバッファー111と不揮発メモリー112の矩形状の各模式図は、縦に複数アドレス分の保存領域が示されている。なお、縦に上から順に、アドレス番号が0から12まで便宜上ふられている。なお説明上、リングバッファー111と不揮発メモリー112の各々には13のアドレス分の領域しか示されていないが、容量は任意に取りうる。リングバッファー111と不揮発メモリー112の矩形状の各模式図には、ハッチングが施されている部分と施されていない部分とが存在するが、ハッチングが施されている部分は(書込制御部113や読出制御部114により)データが書き込まれたメモリー部分であり、施されていない部分はデータが書き込まれていないメモリー部分である。
書込みポインタ(図中では、writePos)は、データを書き込んだ先のアドレスである上記書込みアドレスに対して、下記のように一つ次のアドレスを指し示している。また、読出しポインタ(図中では、flashPos)は、データの読出し元のアドレスである上記読出しアドレスに対して、下記のようにアドレス順で一つ前のアドレス(第2順序においては一つ次のアドレス)を指し示している。
リングバッファー111では、書込みポインタが指し示すアドレスを指定してデータを書き込む書込処理により最新データが書き込まれると、書込制御部113が書込みポインタを一つ加算して次のアドレスへと書込み先を移す。以後、書込制御部113が、リングバッファー111に最新データを書き込んだ後、その都度書込みポインタを1ずつ加算してゆき、書込みポインタがリングバッファー111の末尾のアドレスへ到達すると、書込制御部113は、書込みポインタが指し示すアドレスを指定してリングバッファー111に最新データを書き込んだ後に、書込みポインタを先頭のアドレスへと戻す。
一方、リングバッファー111からの読出しについては、読出処理により、読出制御部114が読出しポインタが指し示すアドレスを指定してリングバッファー111からデータを読み出してから、不揮発メモリー112へ当該データを書き込み、読出しポインタを次へ移動させる。なお、読出しポインタは、書込みポインタが加算されるのとは逆の向きに一つ減算される。以後、読出制御部114が、リングバッファー111からデータを読み出した後、その都度読出しポインタを1ずつ減算してゆき、読出しポインタがリングバッファー111の先頭のアドレスへ到達すると、読出制御部114は、読出しポインタが指し示すアドレスのデータを読み出した後に、読出しポインタを末尾のアドレスへと移す。なお、読出処理は書込処理と並行して行われる。
図3(a)は、異常検出部115が異常を検出した時刻のリングバッファー111と不揮発メモリー112の状態を示している。不揮発メモリー112の中は未だ保存データは無く、空である。書込みポインタは、書込制御部113によって、異常が発生した時刻直近の最新データが格納されているアドレス(アドレス7)の次のアドレスであるアドレス8にセットされている。一方、読出しポインタは、読出制御部114によって、異常が発生した時刻直近の最新データの位置であるアドレス7にセットされる。
ここで、図3を用いた説明と並行して、図4のフローチャートも使用して、書込制御部113のリングバッファー111への書込処理と、読出制御部114のリングバッファー111からの読出処理および不揮発メモリー112への書込み動作について説明する。
書込制御部113のリングバッファー111への書込処理が開始されて、書込制御部113が処理をステップS100へ移行させる。ステップS100では、通常のロギング動作として書込制御部113がwritePosでアドレスを指定してリングバッファー111へ最新データを書き込む書込処理を行い、書込制御部113が処理を次のステップS200へ移行させる。
ステップS200では、書込制御部113が、writePosをインクリメント(1加算)する。なお、このインクリメントによって、writePosがリングバッファー111の末尾のアドレス(12)の次のアドレスとなる場合には、書込制御部113は、writePosを先頭のアドレス(0)へと戻す。次に、書込制御部113が処理をステップS300へ移行させる。
ステップS300では、異常検出部115が、上記の各センサー及び各機能部の異常を検出する。異常検出部115が上記の各機能部等において異常を検出した場合は(ステップS300でYES)、異常検出部115が処理をステップS400へ遷移させる。異常検出部115が異常を検出しなかった場合は(ステップS300でNO)、異常検出部115が処理をステップS100へ移行させる。なお、異常が検出された後は、ステップS300からステップS100へ戻る分岐は行われず、異常検出部115が処理を継続してステップS300からステップS400へ移行させ続ける。
ステップS400〜700では、異常検出部115が異常の発生を検出したので(ステップS300でYES)、読出制御部114は、当該異常発生時のデータおよび異常発生時以前のデータをリングバッファー111から読み出して、不揮発メモリー112へ記憶する動作を行う。
以下では、ステップS400〜700を詳細に説明する。なお、異常発生時のデータとは、直近で書込制御部113がリングバッファー111へ書込処理したデータのことである。よって、ステップS300において、読出制御部114は、異常検出部115が異常を検出した時点のwritePosの指し示すアドレスの一つ前のアドレスにflashPosをセットする(図3(a))。異常検出発生時以降では、読出制御部114がflashPosでアドレスを指定してリングバッファー111からデータを読み出す読出処理を開始する。
ステップS400では、読出制御部114がリングバッファー111からflashPosが指し示すアドレスのデータの読出処理を行い、読出制御部114が処理を次のステップS500へ移行させる。
ステップS500では、読出制御部114がリングバッファー111から読み出した上記データを不揮発メモリー112へ記憶させる。読出制御部114が処理を次のステップS600へ移行させる。
ステップS600では、読出制御部114が、flashPosをデクリメント(1減算)する。なお、このデクリメントによって、flashPosがリングバッファー111の先頭のアドレスの一つ前のアドレスとなる場合には、書込制御部113は、flashPosを末尾のアドレスへと戻す。読出制御部114が処理を次のステップS700へ移行させる。
図3によると、図3(a)、(b)、(c)、(d)、(e)と時間が経過することで、書込制御部113は、書込みポインタをインクリメント(ステップS200)しながらリングバッファー111にデータを書き込み(ステップS100)、ログが記憶される(図3(b)、(c))。一方、読出制御部114は、読出しポインタをデクリメント(ステップS600)しながらリングバッファー111からデータを読み出し(ステップS400)、不揮発メモリー112へ異常時直近のデータおよびそれ以前のデータを保存し、不揮発メモリー112へログが記憶される(図3(b)、(c))。なお、図3(c)から(d)へ移るときに、書込みポインタはリングバッファー111の末尾のアドレス(アドレス12)へ到達した状態となり、この状態で書込制御部113が次の最新データを書き込むため、書込制御部113が書込みポインタを先頭のアドレスへ戻している。
図3(d)までに、リングバッファー111には6つのデータが書込まれており、不揮発メモリー112へは異常時およびそれ以前のデータが3データ分保存されている。なお、この間にwritePosが6つ進んでいるのに対し、flashPosが3しか遡っておらず、writePosの書込み速度は、読出し速度の略倍程度速い。
図4に戻って、ステップS700では、メインCPU110が、「writePos−1」の値と「flashPos」の値が等しいかを判断する。writePosとflashPosが等しいときに、次に、読出制御部114が当該アドレスのデータを読み出す前に書込制御部113が当該アドレスに最新データを書き込むか、読出制御部114が当該アドレスのデータを読み出して書込制御部113が既に最新データを書き込んでいるアドレスへ移るかした場合には、不揮発メモリー112へ記憶せねばならないログは書込制御部113が最新データをリングバッファー111に書き込むことで上書きされて消去されてしまっている。その場合、writePosとflashPosとの関係は「flashPos=writePos−1」となっている。そこでメインCPU110は、「flashPos=writePos−1」の場合にはログの不揮発メモリー112への保存を終了すると判断し(ステップS700でYES)、メインCPU110は処理をステップS800へ移行させる。「flashPos=writePos−1」ではない場合は(ステップS700でNO)、メインCPU110は処理をステップS100へ移行させる。
図3によると、図3(e)において、writePosとflashPosが同じアドレスであるアドレス4となっている。writePosとflashPosが同じアドレスのとき、読出制御部114が当該アドレスのデータを読み出す前に書込制御部113が当該アドレスに最新データを書き込むか、読出制御部114が当該アドレスのデータを読み出して書込制御部113が既に最新データを書き込んでいるアドレスへ移るかした場合(すなわち「flashPos=writePos−1」)には、不揮発メモリー112へ確保せねばならないログは、書込制御部113が最新データをリングバッファー111に書き込むことで上書きされて消去されてしまっているので、読出制御部114はリングバッファー111からの読出しを行わず、読出制御部114は、不揮発メモリー112への書込みも行わず、ログの不揮発メモリー112への書込み動作は終了する。
図4のステップS800において、読出制御部114は、リングバッファー111からの読出処理およびログの不揮発メモリー112への保存動作を終了する。
次に、図5を使用して、もし仮に読出しアドレスの変化する方向と、書込みアドレスの変化する方向が同方向であった場合に生じる課題について説明する。なお、図5に示される動作は、本実施形態にかかる記憶制御装置10の動作とは異なるが、便宜上、書込制御部113に対応する構成を書込制御部と称し、読出制御部114に対応する構成を読出制御部と称することとする。図5は、こうした場合におけるリングバッファーでの書込処理及び読出処理と、不揮発メモリーへの書込み動作を説明するための説明図である。図3で説明した動作と異なる点を中心に説明する。同図では縦方向にリングバッファーと不揮発メモリーであるフラッシュROM(図中ではFlashRom)が模式的に並べて記載され、横方向は時間の経過を表わしている。すなわち、図5(a)、(b)、(c)の順に時間が経過している。リングバッファーと不揮発メモリーの矩形状の各模式図は、縦に複数アドレス分の保存領域が示されている。なお、縦に上から順に、アドレス番号が0から12まで便宜上ふられている。
書込制御部は、リングバッファーに最新データを書き込む書込処理を行う。よって、書込制御部は、最新データを書き込んだ後、書込みポインタ(図中では、writePos)を一つ加算して次のアドレスへと書込み先を移す。一方、読出制御部がリングバッファーからの読出しを並行して行うが、図5に記載の技術は以下のような動作を行う。
読出制御部は、リングバッファーからの読出しにおいて、読出しポインタ(図中では、flashPos)が指し示すデータを読み出してから、不揮発メモリーへ当該データを書き込み、読出しポインタをインクリメントさせる。ただし、読出しポインタのアドレス変更は書込みポインタと同じ向きであり、読出しポインタは加算される。以後、読出制御部がリングバッファーからデータを読み出した後、その都度読出制御部は読出しポインタを加算してゆき、読出しポインタがリングバッファーの末尾のアドレスへ到達すると、読出制御部は、読出しポインタが指し示すアドレスのデータを読み出した後に、読出しポインタを先頭のアドレスへと移す。このように、図5に記載の技術の読出しポインタの移動の向きおよび移動の仕方は、書込処理の場合と同様である。
図5(a)では、書込みポインタは最新データが格納されているアドレス(アドレス8)の次のアドレスであるアドレス9にセットされている。一方、不揮発メモリーの中は未だ保存データは無く、空であり、読出しポインタは、アドレス0にセットされている。なお、図5では、課題を説明する上から、読出しポインタは、異常が発生した時刻からの読出しとはなっておらず、読出しポインタはアドレス0から開始される。
図5(a)から(b)、(c)と時間が経過する。図5(b)では、書込みポインタは、リングバッファーの末尾のアドレス(アドレス12)へ到達した状態である。次の最新データがアドレス12へ書き込まれた場合には、書込制御部は、次の書込みポインタを先頭のアドレスへ戻す。なお、図5(a)から(b)への間に、読出制御部が不揮発メモリーへデータを1データ分保存し、書込制御部は、リングバッファーに3データ分書込みを行っている。よって、書込み速度は、読出し速度の略3倍程度速い。
図5(c)において、writePosがflashPosが同じアドレスであるアドレス2となっている。writePosとflashPosが同じアドレスとなり、読出制御部が当該アドレスのデータを読み出す前に書込制御部が当該アドレスに最新データを書き込んだ場合、不揮発メモリーへ確保せねばならないログは書込制御部が最新データをリングバッファーに書き込むことで上書きされて消去されてしまっているので、読出制御部はリングバッファーからの読出しを行わず、また読出制御部は不揮発メモリーへの書込みも行わず、当該ログの不揮発メモリーへの書込み動作は終了する。なお、書込制御部が最新データを書き込むことで上書きして消去する前に、読出制御部が当該アドレスのデータを読み出すケースがありうるが、writePosの書込み速度は、読出し速度より速いので、読出制御部が当該アドレスのデータを読み出す前に書込制御部が当該アドレスに最新データを書き込む場合がその後に発生する。
以上のように、図5を用いて説明した技術では、書込み速度は、読出し速度よりも速く、また書込みポインタのアドレスの変更する向きと読出しポインタのアドレスの変更する向きが同じである。よって、異常発生時からデータをリングバッファーのデータを読み出して不揮発メモリーに書き込む場合、本実施形態と比べて、異常発生時より過去のデータである異常発生時以前のデータが十分に不揮発メモリーに書き込むことができない。それは、次の理由による。書込みポインタのアドレスの変更する向きと読出しポインタのアドレスの変更する向きが同じであるから、異常発生時以前のデータを読み出すためには、読出しポインタの開始アドレス(読出し開始タイミング)が異常発生時以前のいずれかのタイミングに定められて、読出しポインタのインクリメントが行われることとなる。しかし、開始アドレスによっては、書込み速度が読出し速度よりも速いので、書込みポインタが読出しポインタを追い越し、そうした場合には異常発生時のデータおよびその直近付近のデータが書込処理により上書きされて消去されており、当該データを不揮発メモリーに書き込むことができないからである。
本実施形態の記憶制御装置10および電子機器1では、上記の構成により、書込制御部113によって書込制御が前記第1順序で行われ、読出制御部114によって読出処理が、前記書込処理の実行が開始された後の所定の開始タイミングから、前記第1順序とは逆の第2順序で書込制御部113によって直前に前記データが保存されたアドレスから順次前記アドレスを指定して行われる。このことにより、例えば読出し速度が書込み速度よりも遅いような場合であっても、当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部113によって直前に前記データが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部114は、そうした重要度の高いログが上書きされる前に、当該ログを読み出して保存することができる。すなわち、不揮発メモリー112にリングバッファー111のデータを保存する場合などにおいて、アクセス速度の遅い不揮発メモリー112へリングバッファー111から読出したデータを書き込む際に、リングバッファー111からの読出し速度がその不揮発メモリー112の遅いアクセス速度の制限を受けることで、当該読出し速度がリングバッファー111への書込み速度よりも遅くなるような場合であっても、必要なログが上書きされる前に、当該ログを保存できる記憶制御装置および電子機器を提供できる。
なお、本実施形態は、読出制御部114がリングバッファー111から読み出したデータを不揮発メモリー112に記憶させる例に限らない。例えば、複合機1は、公衆回線やLAN(Local Area Network)等の通信回線に接続可能な通信回路部を備えていてもよい。そして、読出制御部114は、リングバッファー111から読み出したデータを通信回線を介して装置の外部へ送信してもよい。この場合、転送速度の低い通信網等に対して読出制御部114が読出したデータを送信するために、リングバッファー111の読出し速度がその遅い転送速度に制限されて、当該読出し速度がリングバッファー111の書込み速度よりも遅くなる。そのような場合であっても、上記と同様に必要なログが上書きされる前に、当該ログを保存することができる。
上述の記憶制御装置10および電子機器1は、不揮発性の第2記憶部たる不揮発メモリー112をさらに備え、読出制御部114は、読出処理によって読み出されたデータを不揮発メモリー112に記憶させることで、上記効果に加えて、複合機1の電源が遮断されるような場合が生じて、第1記憶部たるリングバッファー111に存在するデータが消去された後でも、当該データが不揮発メモリー112に残っており、読出制御部114は、それを読出して参照することができる。
また、本実施形態は、書込処理および読出処理により、リングバッファー111と不揮発性記憶装置112との間に緩衝用の別途のメモリー(コピー用バッファー)を設ける必要なく、必要なログが上書きされる前に、当該ログを保存できる記憶制御装置および電子機器を提供できる。よって、別途にメモリーが設けられたために生じる、部品点数の増加、構成の複雑化、及びコスト増加等が回避できる。
上述の構成により、電子機器1は、上記の各効果を有する記憶制御装置10を備えていることから、書込処理が前記第1順序で行われ、書込処理の実行が開始された後に、読出処理が、前記第1順序とは逆の第2順序で、書込制御部113によって直前にデータが保存されたアドレスから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部113によって直前にデータが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部114は、そうした重要度の高いデータがリングバッファー111において上書きされて消去される前に当該データを読出制御部114が読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、リングバッファー111に記憶された重要度の高いデータが上書きされる前に、当該データを読み出すことができ、さらに保存することができる電子機器1を提供できる。
電子機器1は、上記動作部の異常を検出する異常検出部115を更に備え、開始タイミングは、異常検出部115により異常が検出されたときであることで、上記効果に加えて、上記動作部の異常発生時、さらには異常発生時以前のデータをリングバッファー111から読み出すことができる。異常を解消するためには、異常発生時と異常発生時から遡ったデータが重要となってくる。それらのデータを解析することで、異常発生時の装置の動作や状態が把握され、また、その異常に至るまでの装置の動作や状態が把握されるからである。このように電子機器1は、開始タイミングを異常検出部115により異常が検出されたときとすることで、読出制御部114はそれら重要な異常発生時と異常発生時から遡ったデータを読出し保存することができ、さらに不揮発メモリー112へ保存等をすることができる。
上述の電子機器は用紙に画像を形成する画像形成部を備えた画像形成装置(複合機1)であり、この構成により複合機1は、上記の効果を奏することから、書込処理が前記第1順序で行われ、書込処理の実行が開始された後に、読出処理が、前記第1順序とは逆の第2順序で、書込制御部113によって直前にデータが保存されたアドレスから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部113によって直前にデータが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部114は、そうした重要度の高いデータがリングバッファー111において上書きされて消去される前に当該データを読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、リングバッファー111に記憶された重要度の高いデータが上書きされる前に、読出制御部114は当該データを読み出すことができ、さらに保存することができる。なお、前記開始タイミングが異常検出部115により異常が検出されたときである場合、リングバッファー111に記憶されたデータは当該異常への関連性の高い重要度の高いデータである。これにより、複合機1のメンテナンス時に役立つ情報が消去されずに残り、当該メンテナンスが容易となる。
また、この構成により、複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶するリングバッファー111を有するコンピューターで実行される記憶制御プログラムでは、書込処理が前記第1順序で行われ、書込処理の実行が開始された後に、読出処理が、前記第1順序とは逆の第2順序で、書込制御部113によって直前にデータが保存されたアドレスから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部113によって直前にデータが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部114は、そうした重要度の高いデータがリングバッファー111において上書きされて消去される前に当該データを読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、読出制御部114は、リングバッファー111に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御プログラムを提供できる。
また、この構成により、複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶するリングバッファー111を有する電子機器1で使用される記憶制御方法では、書込処理が前記第1順序で行われ、書込処理の実行が開始された後に、読出処理が、前記第1順序とは逆の第2順序で、書込制御部113によって直前にデータが保存されたアドレスから開始される。当該読出しが開始されたアドレスおよびそれ以前のデータは重要度の高いデータであるので、書込制御部113によって直前にデータが保存されたアドレスからデータが保存された順を遡って読出処理が行われることで、読出制御部114は、そうした重要度の高いデータがリングバッファー111において上書きされて消去される前に当該データを読み出すことができる。よって、読出し速度が書込み速度よりも遅いような場合であっても、読出制御部114は、リングバッファー111に記憶された重要度の高いデータが上書きされる前に、当該データを保存できる記憶制御方法を提供できる。
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および/または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。
1 複合機
2 本体部
10 記憶制御装置
40 画像形成部
45 定着部
47 操作パネル部
110 メインCPU部
111 リングバッファー
112 不揮発メモリー
113 書込制御部
114 読出制御部
115 異常検出部
451 圧ローラー
452 熱ローラー
453 ヒーター
454 スイッチング素子
473 表示部
476 操作キー部
600、601、602、603、604、605、606、607、608 センサー
SW 電源スイッチ

Claims (7)

  1. 複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶する第1記憶部と、
    前記複数のアドレスの配列順序として予め定められた第1順序で、順次前記アドレスを指定し、該指定されたアドレスに対応して前記第1記憶部に順次データを記憶させる書込処理を実行する書込制御部と、
    前記書込処理の実行が開始された後の所定の開始タイミングから、前記第1順序とは逆の第2順序で、前記書込制御部によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータを前記第1記憶部から順次読み出す読出処理の実行を開始する読出制御部と
    を備え、
    前記書込制御部は、前記書込処理において前記第1順序における最後のアドレスを指定して前記データを前記第1記憶部に記憶させた場合、次に指定するアドレスを前記第1順序の最初のアドレスとし、以後前記第1順序で順次前記アドレスを指定し、
    前記読出制御部は、前記読出処理において前記第2順序における最後のアドレスを指定して前記データを前記第1記憶部から読出した場合、次に指定するアドレスを前記第2順序の最初のアドレスとし、以後前記第2順序で順次前記アドレスを指定し、
    前記読出制御部は、前記読出処理において前記データの読み出し元の前記アドレスの、前記第2順序において一つ次の前記アドレスを指し示す読出しポインタが、前記書込処理において前記データを書き込んだ先の前記アドレスを指し示す場合、前記読出処理を終了する記憶制御装置。
  2. 不揮発性の第2記憶部をさらに備え、
    前記読出制御部は、前記読出処理によって読み出された前記データを前記第2記憶部に記憶させる
    請求項1に記載の記憶制御装置。
  3. 請求項1または2に記載の記憶制御装置と、
    予め定められた動作を行う動作部とを備え、
    前記データは、前記動作部の前記動作に関する情報であり、
    前記書込制御部は、前記書込処理において、前記データを時系列で順次前記第1記憶部に記憶させることにより、前記動作部の動作に関する履歴情報を前記第1記憶部に記憶させる
    電子機器。
  4. 前記動作部の異常を検出する異常検出部を更に備え、
    前記開始タイミングは、前記異常検出部により異常が検出されたときである
    請求項3に記載の電子機器。
  5. 前記動作部は、前記動作として、用紙に画像を形成する
    請求項3または4に記載の電子機器。
  6. 複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶する第1記憶部を有するコンピューターに、
    前記複数のアドレスの配列順序として予め定められた第1順序で、順次前記アドレスを指定し、該指定されたアドレスに対応して前記第1記憶部に順次データを記憶させる書込処理を実行する書込制御ステップと、
    前記書込処理の実行が開始された後の所定の開始タイミングから、前記第1順序とは逆の第2順序で、前記書込制御部によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータを前記第1記憶部から順次読み出す読出処理の実行を開始する読出制御ステップと
    を実行させ、
    前記書込制御ステップは、前記書込処理において前記第1順序における最後のアドレスを指定して前記データを前記第1記憶部に記憶させた場合、次に指定するアドレスを前記第1順序の最初のアドレスとし、以後前記第1順序で順次前記アドレスを指定し、
    前記読出制御ステップは、前記読出処理において前記第2順序における最後のアドレスを指定して前記データを前記第1記憶部から読出した場合、次に指定するアドレスを前記第2順序の最初のアドレスとし、以後前記第2順序で順次前記アドレスを指定し、
    前記読出制御ステップは、前記読出処理において前記データの読み出し元の前記アドレスの、前記第2順序において一つ次の前記アドレスを指し示す読出しポインタが、前記書込処理において前記データを書き込んだ先の前記アドレスを指し示す場合、前記読出処理を終了する記憶制御プログラム。
  7. 複数のアドレスを有し、前記複数のアドレスに対応して複数のデータを記憶する第1記憶部を有する電子機器で使用され、
    前記複数のアドレスの配列順序として予め定められた第1順序で、順次前記アドレスを指定し、該指定されたアドレスに対応して前記第1記憶部に順次データを記憶させる書込処理を実行する書込制御ステップと、
    前記書込処理の実行が開始された後の所定の開始タイミングから、前記第1順序とは逆の第2順序で、前記書込制御部によって直前に前記データが保存されたアドレスから順次前記アドレスを指定し、該指定されたアドレスに対応するデータを前記第1記憶部から順次読み出す読出処理の実行を開始する読出制御ステップと
    を備え、
    前記書込制御ステップは、前記書込処理において前記第1順序における最後のアドレスを指定して前記データを前記第1記憶部に記憶させた場合、次に指定するアドレスを前記第1順序の最初のアドレスとし、以後前記第1順序で順次前記アドレスを指定し、
    前記読出制御ステップは、前記読出処理において前記第2順序における最後のアドレスを指定して前記データを前記第1記憶部から読出した場合、次に指定するアドレスを前記第2順序の最初のアドレスとし、以後前記第2順序で順次前記アドレスを指定し、
    前記読出制御ステップは、前記読出処理において前記データの読み出し元の前記アドレスの、前記第2順序において一つ次の前記アドレスを指し示す読出しポインタが、前記書込処理において前記データを書き込んだ先の前記アドレスを指し示す場合、前記読出処理を終了する記憶制御方法。
JP2013016395A 2013-01-31 2013-01-31 記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法 Active JP5820830B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013016395A JP5820830B2 (ja) 2013-01-31 2013-01-31 記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法
US14/170,278 US9262121B2 (en) 2013-01-31 2014-01-31 Storage control device, electronic apparatus, storage medium, and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013016395A JP5820830B2 (ja) 2013-01-31 2013-01-31 記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法

Publications (2)

Publication Number Publication Date
JP2014149568A JP2014149568A (ja) 2014-08-21
JP5820830B2 true JP5820830B2 (ja) 2015-11-24

Family

ID=51224298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013016395A Active JP5820830B2 (ja) 2013-01-31 2013-01-31 記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法

Country Status (2)

Country Link
US (1) US9262121B2 (ja)
JP (1) JP5820830B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160080991A1 (en) * 2014-09-15 2016-03-17 Nokia Solutions And Networks Oy GERAN Frequency Based Insight Delivery To Mobile Devices
JP6324533B2 (ja) * 2014-11-26 2018-05-16 三菱電機株式会社 車両用制御装置および車両制御方法
US11588783B2 (en) * 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10078448B2 (en) * 2015-07-08 2018-09-18 Samsung Electronics Co., Ltd. Electronic devices and memory management methods thereof
US10090067B1 (en) 2017-05-30 2018-10-02 Seagate Technology Llc Data storage device with rewritable in-place memory
US11328210B2 (en) 2017-12-29 2022-05-10 Micron Technology, Inc. Self-learning in distributed architecture for enhancing artificial neural network
US11094148B2 (en) 2018-06-18 2021-08-17 Micron Technology, Inc. Downloading system memory data in response to event detection
JP7119744B2 (ja) * 2018-08-10 2022-08-17 京セラドキュメントソリューションズ株式会社 画像形成装置
US11410475B2 (en) * 2019-01-31 2022-08-09 Micron Technology, Inc. Autonomous vehicle data recorders
US11373466B2 (en) 2019-01-31 2022-06-28 Micron Technology, Inc. Data recorders of autonomous vehicles
CN110164394B (zh) * 2019-06-04 2021-08-06 Tcl华星光电技术有限公司 时序控制器及时序控制板

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196775A (ja) 1997-09-26 1999-04-09 Daikin Ind Ltd データ格納方法、データ格納装置及びコンテナ用冷凍装置
JP3944992B2 (ja) * 1998-02-17 2007-07-18 ソニー株式会社 再生装置および再生方法
JP2002032127A (ja) * 2000-06-30 2002-01-31 Molex Inc モータ制御装置、システム、及び方法
US7716395B2 (en) * 2006-12-29 2010-05-11 Intel Corporation Low latency mechanism for data transfers between a media controller and a communication device
JP2012252636A (ja) * 2011-06-06 2012-12-20 Fuji Electric Co Ltd トレース情報管理装置、トレース情報管理方法、およびトレース情報管理プログラム

Also Published As

Publication number Publication date
JP2014149568A (ja) 2014-08-21
US20140215119A1 (en) 2014-07-31
US9262121B2 (en) 2016-02-16

Similar Documents

Publication Publication Date Title
JP5820830B2 (ja) 記憶制御装置、電子機器、記憶制御プログラム、および記憶制御方法
JP4310713B2 (ja) 画像形成装置
JP2006308913A (ja) 画像形成装置、画像形成装置制御方法、及び、記録媒体
JP6005621B2 (ja) 画像形成装置
JP2018026758A (ja) 画像形成装置
US9360815B2 (en) Image forming apparatus, work support method of image forming apparatus, storage medium and program
JP6300469B2 (ja) 画像形成装置、画像形成装置の制御方法、及びコンピュータプログラム
CN103905680B (zh) 图像形成装置和图像形成方法
JP2008180768A (ja) 画像形成装置
JP2007310074A (ja) 画像形成装置及びプログラム
US20140325010A1 (en) Electronic apparatus and log information transfer method
JP6178741B2 (ja) 電子機器
CN105467791A (zh) 图像形成装置
CN104301573A (zh) 图像形成装置
US20210067648A1 (en) Image forming apparatus and control method
JP2007232988A (ja) 表示制御装置、これを用いた画像形成装置及び画像形成システム
JP6171510B2 (ja) 画像形成装置、操作案内方法、プログラム
JP2009265434A (ja) 画像形成装置
JP5868031B2 (ja) 画像処理装置、画像処理装置の制御方法及び画像処理装置のコンピュータに実行させるためのプログラム
US10863051B2 (en) Image forming apparatus which detects an overrun
JP2014138265A (ja) 画像形成装置
JP2005297324A (ja) 画像形成装置
JP2009053935A (ja) 情報処理装置及び履歴情報管理プログラム
JP5383350B2 (ja) 情報処理装置
JP2010131932A (ja) 画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141218

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150105

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150908

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151005

R150 Certificate of patent or registration of utility model

Ref document number: 5820830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150