JP2021022080A - メモリ制御装置 - Google Patents

メモリ制御装置 Download PDF

Info

Publication number
JP2021022080A
JP2021022080A JP2019137350A JP2019137350A JP2021022080A JP 2021022080 A JP2021022080 A JP 2021022080A JP 2019137350 A JP2019137350 A JP 2019137350A JP 2019137350 A JP2019137350 A JP 2019137350A JP 2021022080 A JP2021022080 A JP 2021022080A
Authority
JP
Japan
Prior art keywords
data
volatile memory
error
unit
external
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.)
Pending
Application number
JP2019137350A
Other languages
English (en)
Inventor
翔太 秋山
Shota Akiyama
翔太 秋山
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2019137350A priority Critical patent/JP2021022080A/ja
Publication of JP2021022080A publication Critical patent/JP2021022080A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】エラーが発生した場合でも、最新の動作ログデータを不揮発メモリに保存可能な画像形成装置を提供する。【解決手段】通常時は外部不揮発メモリへのコマンドセットの制御は、CPUがすべて行い203、211、外部不揮発メモリに不揮発メモリ部へのデータの書き込みを行う204、212。エラー発生時は、エラー検出部でエラーを検出し、異常時コマンド発行部が外部不揮発メモリに不揮発メモリ部へのデータの書き込みを行うコマンドセットの制御を行う208、209。【選択図】図2

Description

本発明は、ログ取得方法に関する。
印刷装置では印刷に関するデータ(印字枚数、インク残量等)を動作ログデータとして、不揮発性メモリに定期的に保存している。さらに、保存領域を複数に分け、その保存領域に交互に記録することで、データの書き込み中にエラーが発生し、書き込みデータが破損した場合は、それ以前に書き込まれたデータをもとに動作を再開することでエラー発生による動作ログデータの誤ったデータをもとに動作が再開しないような仕組みがとられている。
しかし、エラーが発生すると、最新の動作ログデータは不揮発性メモリに保存できずデータを破棄しているため、再起動後に使用されるエラー発生前のデータと、エラー発生直前の本来の動作ログデータとの間に誤差が発生している。
一方、NANDなどのメモリでは不揮発メモリ部とバッファ部が一体となっているものもある。こうした、不揮発メモリ部と揮発メモリ部が一体となっているメモリにおいて、エラー発生時に動作履歴を不揮発メモリ部に保存する方法が提案されている(特許文献1参照)。
特開2011−65313号公報
動作ログデータはDRAMに格納され、それを定期的に外部不揮発性メモリに保存している。
しかし、従来のメモリ制御では、外部メモリへの読み書きはCPUが制御を行っており、CPUにエラーが発生すると外部メモリへのアクセスができなくなり、DRAMにある最新の動作ログデータを不揮発メモリに保存できず、破棄される。そのため、エラーが発生した場合、エラー発生前の最後に保存された動作ログデータをもとに再起動するので、再起動時の動作ログデータと本来の動作ログデータに誤差が発生する。
また、外部不揮発性メモリの書き込み寿命やデータの書き換え時間などの要因で、頻繁にデータの書き込みを行うことができないため、印刷に関するデータの外部メモリ部への記録は、印字終了時などタイミングを限定して実施している。その結果、エラー発生後、再起動時の動作ログデータと本来の動作ログデータとの誤差が大きくなることがある。こうした誤差の発生が課題である。
本発明は、エラーが発生した場合でも、最新の動作ログデータを不揮発メモリに保存可能な画像形成装置を提供することを目的とする。
上記の目的を達成するために、本発明に係る画像形成装置は、
データを一時的に格納する揮発メモリ部とデータが書き込まれる不揮発メモリ部が一体になっている外部メモリ部と、前記外部メモリに記録するデータを処理するデータ処理部と、前記外部メモリにコマンドやデータを転送するメモリコントロール部と、エラーを検出するエラー検出部と、前記エラー検出部からの信号をもとに前記メモリコントロール部を制御するエラー時コマンド生成部を備え、通常時は前記データ制御部が前記メモリコントロール部を制御して外部メモリ部の揮発メモリ部へのデータの格納と、不揮発メモリ部へのデータの書き込みの両方を行う。エラー発生時には、前記エラー時コマンド生成部が前記メモリコントロール部を制御して、エラー発生前にデータ処理部が揮発メモリに格納したデータを前記不揮発メモリへの書き込みを行う。
本発明に係る画像形成装置によれば、エラー発生時にエラー時コマンド生成部がメモリコントロール部を制御して、外部メモリに書き込みコマンドを発行するため、CPUエラー時でもデータを不揮発メモリ部に書き込むことが可能である。また、高速でアクセス可能な揮発メモリ部に格納されたデータのみを更新するため、頻繁にデータを更新することが可能である。
実施例1における、ブロック図である。 実施例1における、メモリアクセスのフローチャートである。 実施例1における、メモリアクセスのフローチャートである。 実施例1における、通常書き込みアクセスのフローチャートである。 実施例1における、通常読み出しアクセスのフローチャートである。 実施例3における、外部不揮発メモリのブロック図である。 実施例2における、エラー発生後の再起動のフローチャートである。 実施例3における、エラー発生後の再起動のフローチャートである。
以下、本発明を実施するための形態について、図面を参照しながら説明する。
構成のブロック図を図1に示す。
図1においてメモリ制御装置は、CPU100と、BUS101と、エラー検出部102と、エラー時コマンド発行部103と、不揮発メモリコントローラ部120と、揮発メモリ部131と不揮発メモリ部132を有する外部不揮発メモリ130を備える形態をとる。
前記外部不揮発メモリ130は、コマンド、アドレス、データで構成されたコマンドセットを受信すると、コマンドセットの種類に応じて、書き込みデータの前記揮発メモリ部131への格納や、前記揮発メモリ部131内のデータの前記不揮発メモリ132への書き込みや、前記不揮発メモリ132内のデータの前記揮発メモリ部131への格納や、前記揮発メモリ部131内のデータの読み出しや、前記不揮発メモリ内のデータの消去などを行う。
外部不揮発メモリのデータの書き込みのフローチャートを図4に示す。メモリコントローラ部の転送設定(401)を行い、ProgramLoadコマンドセットを外部不揮発メモリに出力する(402)。外部不揮発メモリはコマンドセットを受信すると、揮発メモリ部の指定されたアドレスにデータを格納する(403)。その後、メモリコントローラ部の設定を変更(404)し、ProgramExecuteコマンドセットを不揮発メモリに出力する(405)。外部不揮発メモリはコマンドセットを受信すると、揮発メモリ部に格納されているデータを指定された不揮発メモリ部のアドレスに書き込みを行う(406)。
外部不揮発メモリのデータの読み出しのフローチャートを図5に示す。モリコントローラ部の転送設定(501)を行い、PageReadコマンドセットを外部不揮発メモリに出力する(502)。外部不揮発メモリはコマンドセットを受信すると、不揮発メモリ部の指定されたアドレスのデータを揮発メモリ部に移動させる(503)。その後、メモリコントローラ部の設定を変更(504)し、BufferReadコマンドセットを不揮発メモリに出力する(505)。外部不揮発メモリはコマンドセットを受信すると、揮発メモリ部の指定されたアドレスに格納されているデータを出力する(506)。
CPU100がBUS101を介して不揮発メモリコントローラ部120を制御し、外部不揮発メモリ130にデータの読み出しと書き込みなどを行う。CPU100はBUS_I/F部121を介して、転送コントローラ部122に転送設定を行い、メモリI/F部124は、前記転送コントローラ部112に設定された値に基づいてコマンドとアドレスとデータを前記外部不揮発性メモリ130に出力する。転送バッファ123は、前記外部不揮発メモリに書き込むデータや、前記外部不揮発メモリから読み出したデータが格納される。
外部揮発性メモリ105は処理データや動作ログの一時格納先として揮発性メモリコントローラ104経由で読み書きされる。画像処理部106では取得した画像データに対して状況に応じて最適な、またはユーザによって指定された画像処理を行う。印字制御部107では、前記画像処理部106で処理された画像データを記録媒体に印刷を行う。
エラー検出部102では、エラーを検出したときにエラー時コマンド発行部103に信号を出力する。エラー時コマンド発行部103では、前記エラー検出部102からの信号に基づいて、不揮発メモリ部への書き込みコマンド、不揮発メモリ内の書き込みアドレスで構成されたコマンドセットを前記メモリI/Fを介して前記外部不揮発メモリ130に転送する。
本実施例の特徴は、通常時は外部不揮発メモリ130へのコマンドセットの制御は、CPU100がすべて行う。エラー発生時は、エラー検出部102でエラーを検出し、エラー時コマンド発行部103が外部不揮発メモリ130に不揮発メモリ部132へのデータの書き込みを行うコマンドセットの制御のみを行う。
構成の動作ログの書き込みのフローチャートを図2に示す。
データの更新タイミングになると、外部不揮発メモリに書き込むデータを生成する(201)。転送コントロール部のレジスタに転送するコマンド、アドレス、データなどの値をライトする(202)。CPUにより転送開始信号が出力されたら、転送コントロール部のレジスタに設定された値に基づいて、外部不揮発メモリにコマンドセットを転送する(203)。外部不揮発メモリは受信したコマンドセットで指定されたアドレスにデータを格納する(204)。
不揮発メモリ部まで連続してデータを書き込む場合は、再度、転送コントロール部のレジスタに転送するコマンド、アドレスなどの値をライトする(210)。その後、転送コントロール部のレジスタに設定された値に基づいて、外部不揮発メモリにコマンドセットを転送する(211)。外部不揮発メモリは受信したコマンドセットで指定された不揮発メモリ部のアドレスにデータを書き込む(212)。
揮発メモリ部のデータを更新のみを行い、次のデータの更新までの間にエラーが発生した場合、エラー時コマンド発行部が生成したコマンド、アドレスに基づいて、外部不揮発メモリにコマンドセットを転送する(208)。外部不揮発メモリは受信したコマンドセットで指定された不揮発メモリ部のアドレスにデータを書き込む(209)。
構成の動作ログ以外のデータの読み書きのフローチャートを図3に示す。
直前に格納された動作ログを一度不揮発メモリ部に書き込むために転送コントロール部のレジスタに転送する不揮発メモリ部への書き込みコマンド、不揮発メモリの書き込みアドレスなどの値をライトする(301)。転送コントロール部のレジスタに設定された値に基づいて、外部不揮発メモリにコマンドセットを転送する(302)。外部不揮発メモリは受信したコマンドセットで指定された不揮発メモリ部のアドレスにデータを書き込む(303)。次に、データの転送動作中にエラーが発生して、誤ったデータが書き込まれないように、エラー時コマンド生成部による制御を一度無効にする(304)。その後、実施したい外部不揮発メモリの読み書きを実行する(305)。
外部不揮発メモリへの読み書きが終了後、外部不揮発メモリの揮発メモリ部に格納する動作ログのデータを生成する(306)。続いて、転送コントロール部のレジスタに転送する揮発メモリへの書き込みコマンド、揮発メモリの書き込みアドレス、データなどの値をライトする(307)。転送コントロール部のレジスタに設定された値に基づいて、外部不揮発メモリにコマンドセットを転送する(308)。外部不揮発メモリは受信したコマンドセットで指定されたアドレスにデータを格納する(309)。外部不揮発メモリ内の揮発メモリ部に動作ログの格納が完了したのち、エラー時コマンド生成部による制御を有効にする(310)。
実施例1では、エラー発生時に動作ログを外部不揮発メモリに保存するための基本的な制御の方法を述べた。実施例2では、エラー時に書き込んだデータが正しく書き込まれたかを判断する機能を実現する。
まず、外部不揮発メモリ内の不揮発メモリ部の領域を通常のデータが書き込まれている通常時データ保存領域135と、エラー発生時に動作ログを書き込むエラー時データ保存領域136に分ける。そして、不揮発メモリ部へのデータの書き込みコマンドセット内のアドレス設定により書き込む領域を分ける。CPUの制御のとき(正常時の動作ログの更新による不揮発メモリ部への書き込み)は、通常時データ保存領域135のアドレスを設定し、エラー時コマンド発行部の制御のときは、エラー時データ保存領域136のアドレスを設定してコマンドセットを出力する。
エラー発生後にシステム再起動されたときに通常時データ保存領域135のデータと、エラー時データ保存領域136のデータの比較を行う。動作ログには、印字に関わる動作データである、印字枚数や、インクカウンタ、部品の動作カウンタなどの情報を含んでいる。カウントアップしているカウンタ値は、2つのデータを比較して、これらのカウンタ値が閾値以上離れている場合または、カウンタ値が減少している場合は、エラー時データ保存領域136への書き込みが失敗したと判断する。カウントダウンしているカウンタ値は、2つのデータを比較して、これらのカウンタ値が閾値以下になっている場合または、カウンタ値が増加している場合は、エラー時データ保存領域136への書き込みが失敗したと判断する。
エラー時データ保存領域136に保存されているデータの利用可能かを判断するためカウンタの閾値情報は、印字モードなどから、通常時のデータ更新間隔で、カウンタ値が変化する可能性のある最大変化量を演算して求め、それらの情報を動作ログデータとともに不揮発性メモリ部132に保存しておく。
エラー時データ保存領域136への書き込みが成功したと判断した場合は、エラー時データ保存領域136に保存されているデータをもとに動作を再開する。
エラー時データ保存領域136への書き込みが失敗したと判断した場合は、エラー時データ保存領域136に保存されているデータを無視し、通常時データ保存領域135に保存されているデータをもとに動作を再開する。これにより、エラーの書き込みが失敗した場合に、誤ったデータを使用することを防止することができる。
実施例1では、エラー発生時に動作ログを外部不揮発メモリに保存するための基本的な制御の方法を述べた。実施例3では、外部メモリの不揮発メモリ部への動作ログデータの更新データを送信中にエラーが発生した場合でも、直前の動作ログデータを保持する機能を実現する。
外部不揮発メモリのデータ転送中にエラーが発生した場合、エラー時コマンド生成部は、現在動作中の転送シーケンスを強制終了して、新たにProgramExecuteコマンドセットを発行して、エラー時データ保存領域にデータを格納する。
さらに、外部不揮発メモリの揮発メモリ部に動作ログデータを一時格納するときに、領域を揮発領域A133と揮発領域B134の2つに分け、この2つの領域に動作ログデータを交互に書き込む。揮発領域AとBに格納されているデータは、不揮発メモリ部に移動するコマンドを生成した時に、不揮発メモリ部の領域A137と領域B138のそれぞれに同時に移動される。
揮発領域AまたはBにデータを書き込むときに、最新の動作ログが格納されているのがAとBどちらの領域かを示す情報と、転送が正常に終了したことを示す情報を書き込む。エラー発生後のシステム再起動されたときに、エラー時データ保存領域136に保存されている領域Aと領域Bの転送完了の情報を確認して、転送中にエラーが発生したかを判断する。両方の領域で転送完了の情報がある場合は、最新ログが格納されている領域の情報を確認して、最新ログが格納されている領域のデータをもとに動作を再開する。片方の領域のみ転送完了の情報がある場合は、転送完了の情報がある領域のデータをもとに動作を再開する。両方の領域に転送完了の情報がない場合は、エラー時データ保存領域136のデータは破棄し、通常時データ保存領域135に保存されているデータをもとに動作を再開する。動作ログの更新データの送信中にエラーが発生した場合でも、正しく転送が完了しているデータをもとに動作を再開することができる。
100 CPU、104 揮発メモリコントローラ部、106 画像処理部、
107 印字制御部、120 不揮発メモリコントローラ部

Claims (6)

  1. CPUと、画像データを処理する画像処理部と、印字に関わる制御を行う印字制御部と、処理データを一時的に格納する外部揮発メモリと、前記外部揮発メモリを制御する揮発メモリコントローラ部と、データを格納する揮発メモリ部とデータが書き込まれる不揮発メモリ部が一体になっている外部不揮発メモリと、前記外部揮発メモリを制御する不揮発メモリコントロール部と、エラーを検出するエラー検出部と、前記エラー検出部からの信号をもとに前記メモリコントロール部を制御するエラー時コマンド生成部を備えるシステムにおいて、通常時は前記データ制御部が前記メモリコントロール部を制御し、前記揮発メモリ部へのデータの格納と、前記不揮発メモリ部へのデータの書き込みを行い、エラー発生時には、前記エラー時コマンド生成部が前記メモリコントロール部を制御して、前記揮発メモリに格納されているデータを前記不揮発メモリへの書き込みを行うことを特徴とする画像形成装置。
  2. 外部メモリ部に保存するデータは、画像形成装置の動作ログであることを特徴とする請求項1に記載のメモリ制御装置を備えた画像形成装置。
  3. 前記不揮発メモリ部は、通常時データ保存領域と、エラー時データ保存領域に区別し、通常時はデータを通常時データ領域に保存し、エラー時はエラー時データ領域に保存することを特徴とする請求項1又は請求項2に記載の画像形成装置。
  4. 動作ログは、カウンタ値を含み、エラー時データ保存領域に保存されている動作ログのデータと通常時データ保存領域に保存されている動作ログのデータを比較して、閾値より離れていた場合は、エラー時データ保存領域に保存されている動作ログのデータを無視することを特徴とする請求項1乃至請求項3の何れか一項に記載の画像形成装置。
  5. 前記エラー検出部は、ウオッチドックタイマ(WDT)を監視し、WDTエラーを検出したときにエラー発生信号を前記エラー時コマンド生成部に出力することを特徴とする請求項1乃至請求項4の何れか一項に記載の画像形成装置。
  6. 前記エラー検出部は、電源電圧を監視し、電圧低下を検出したときにエラー発生信号を前記エラー時コマンド生成部に出力することを特徴とする請求項1乃至請求項5の何れか一項に記載の画像形成装置。
JP2019137350A 2019-07-26 2019-07-26 メモリ制御装置 Pending JP2021022080A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019137350A JP2021022080A (ja) 2019-07-26 2019-07-26 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019137350A JP2021022080A (ja) 2019-07-26 2019-07-26 メモリ制御装置

Publications (1)

Publication Number Publication Date
JP2021022080A true JP2021022080A (ja) 2021-02-18

Family

ID=74574197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019137350A Pending JP2021022080A (ja) 2019-07-26 2019-07-26 メモリ制御装置

Country Status (1)

Country Link
JP (1) JP2021022080A (ja)

Similar Documents

Publication Publication Date Title
JP4722839B2 (ja) メモリ制御回路、不揮発性記憶装置及びメモリ制御方法
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
TWI473117B (zh) 具資料修正功能之快閃記憶體儲存裝置
TWI389122B (zh) 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器
US7971014B2 (en) Information processing apparatus and data recovering method
US6516440B1 (en) Printer and a control method for saving data from volatile to nonvolatile memory in the printer
US20150212957A1 (en) Supply Assembly Of Imaging Device, Chip Thereon, And Method For Updating Slave Address
TWI473103B (zh) 快閃記憶體儲存裝置及其不良儲存區域的判定方法
JP2016118815A (ja) 不揮発性メモリ装置
JP2012240397A (ja) 印刷装置及びその制御方法
JP2010086009A (ja) 記憶装置およびメモリ制御方法
JP4956230B2 (ja) メモリコントローラ
JP2010204851A (ja) 記憶装置及び情報処理装置
JP2004220068A (ja) メモリカード及びメモリへのデータ書き込み方法
JP5306745B2 (ja) フラッシュメモリの管理方法及びフラッシュメモリデバイス
JP4661369B2 (ja) メモリコントローラ
JP2021022080A (ja) メモリ制御装置
JP2020021523A (ja) 情報処理装置
US20090210758A1 (en) Method for reducing data error when flash memory storage device using copy back command
JP2004341783A (ja) データ記憶方法、及びデータ記憶装置
CN108614779A (zh) 用于NANDflash存储设备的数据处理方法、NANDflash存储设备
CN110134322B (zh) 运用dram的储存装置及其相关数据处理方法
JP3823532B2 (ja) プリンタにおける不揮発性メモリへの書き込み制御方法及びプリンタ
JP4479775B2 (ja) 車両制御装置およびプログラム
JP4811415B2 (ja) データ処理装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20191125