JP2016162022A - 情報処理装置およびメモリー管理プログラム - Google Patents

情報処理装置およびメモリー管理プログラム Download PDF

Info

Publication number
JP2016162022A
JP2016162022A JP2015037710A JP2015037710A JP2016162022A JP 2016162022 A JP2016162022 A JP 2016162022A JP 2015037710 A JP2015037710 A JP 2015037710A JP 2015037710 A JP2015037710 A JP 2015037710A JP 2016162022 A JP2016162022 A JP 2016162022A
Authority
JP
Japan
Prior art keywords
area
actual data
data
update information
recorded
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.)
Granted
Application number
JP2015037710A
Other languages
English (en)
Other versions
JP5982025B1 (ja
Inventor
豊田 隆司
Takashi Toyoda
隆司 豊田
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 JP2015037710A priority Critical patent/JP5982025B1/ja
Priority to US15/001,760 priority patent/US9875065B2/en
Priority to CN201610049269.8A priority patent/CN105930095B/zh
Application granted granted Critical
Publication of JP5982025B1 publication Critical patent/JP5982025B1/ja
Publication of JP2016162022A publication Critical patent/JP2016162022A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】不揮発性半導体メモリを長寿命化できる情報処理装置の提供。【解決手段】データが記録される第1データ領域と、その領域に記録されたデータを更新する更新データを含む更新情報が記録される第1履歴領域を有する揮発性メモリと、複数ブロックを有し、データの書込時にブロック単位で初期化され、ブロック毎にデータが記録される第2データ領域を有する不揮発性半導体メモリと、第1履歴領域に記録された更新情報が書写される第2履歴領域を有する記憶部と、第1データ領域内のデータを更新データで更新するとき、対応する更新情報を第1履歴領域に記録し、特定タイミングで第1履歴領域に記録されている更新情報を纏め、纏めた更新情報を第2履歴領域に書写し、書写し後第1履歴領域を初期化し、第2履歴領域が満杯時、第1データ領域のデータを対応する第2データ領域に書写し、書写し後第1履歴領域及び第2履歴領域を初期化するプロセッサを備える。【選択図】図9

Description

本発明は、書き込み回数に上限がある不揮発性半導体メモリーを備えた情報処理装置および当該情報処理装置で動作するメモリー管理プログラムに関する。
情報処理装置、特に組込み機器や画像形成装置(MPF、Multifunction Peripheral)では、機器や装置で利用する少量のデータを、電源断の状態でも保持するために、EEPROM(Electrically Erasable Programmable Read-Only Memory)が用いられてきた。
EEPROMは、DRAM(Dynamic Random Access Memory)などにより構成された揮発性メモリー上にある少量のデータを待避させるための不揮発性半導体メモリーとして使われることが多い。
例えば、揮発性メモリーから不揮発性半導体メモリーへデータを書き込む制御の最適化技術として、特許文献1に開示された技術では、データを書き込みタイミングごとにグループ化し、特定のタイミングで書き込むべきデータのみを不揮発性半導体メモリーに書き込むことで、書き込みに要する時間の短縮化を図っている。
また、不揮発性半導体メモリーでは、ページ単位でのデータの書き込みに先だって、ブロック単位でのデータの消去(初期化)が行われる。初期化の回数(書き込みの回数)にはメモリーの構造上上限があるため、特定のブロックに書き込みが集中しないように均等な書き込みを行うためのウェアレベリングの技術が開発されてきている。
例えば、NAND型フラッシュメモリー(登録商標)の特性に最適化された、ジャーナル機能を有しウェアレベリングを行うファイルシステムとして、JFFS2(Journaling Flash File System, version 2)がある。JFFS2はLinux(登録商標)用のファイルシステムであり、組込み機器に多く使われている。
特開2000−35922号公報
上述したようにウェアレベリングの技術は開発されてきているが、まだ充分とは言えなかった。
以上のような事情に鑑み、本発明の目的は、不揮発性半導体メモリーへの書き込み量を削減することにより書き込み回数を低減させ、不揮発性半導体メモリーを長寿命化できる情報処理装置および当該情報処理装置で動作するメモリー管理プログラムを提供することにある。
上記目的を達成するため、本発明の一形態に係る情報処理装置は、実データが記録される第1の実データ領域と、前記第1の実データ領域に記録された前記実データを更新するための更新データを含む更新情報が記録される第1の履歴領域とを有する揮発性のメモリーと、複数のブロックを有し、前記実データの書き込み時に前記ブロック単位で初期化が行われ、前記ブロックごとに、前記実データが記録される第2の実データ領域を有する不揮発性半導体メモリーと、前記第1の履歴領域に記録された前記更新情報が書き写される第2の履歴領域を有する記憶部と、前記第1の実データ領域内の前記実データを前記更新データで更新するとき、対応する更新情報を前記第1の履歴領域に記録し、特定のタイミングで、前記第1の履歴領域に記録されている前記更新情報をまとめ、前記まとめた更新情報を前記第2の履歴領域に書き写し、書き写し後、前記第1の履歴領域を初期化し、前記第2の履歴領域が一杯になったとき、前記第1の実データ領域内の前記実データを対応する前記第2の実データ領域に書き写し、書き写し後、前記第1の履歴領域および前記第2の履歴領域を初期化するプロセッサーとを備える。そのため、不揮発性半導体メモリーへの書き込み量を削減することにより書き込み回数を低減させ、不揮発性半導体メモリーを長寿命化できる。
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記更新情報は、更新する前記実データを識別するデータ識別子を含み、前記プロセッサーは、前記まとめた更新情報を複数のページの前記第2の履歴領域に書き写す際に、前記書き写す更新情報に含まれるデータ識別子と、前記書き写しが行われる第2の履歴領域に既に記録されている更新情報に含まれるデータ識別子とが一致するとき、前記データ識別子が一致した、書き写す更新情報により、前記書き写しが行われる第2の履歴領域に既に記録されている、前記データ識別子が一致した更新情報を上書きする構成でもよい。
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記記憶部は、ハードディスクドライブであってもよい。
上記目的を達成するため、本発明の一形態に係るメモリー管理プログラムは、実データが記録される第1の実データ領域と、前記第1の実データ領域に記録された前記実データを更新するための更新データを含む更新情報が記録される第1の履歴領域とを有する揮発性のメモリー上の前記第1の実データ領域内の前記実データを前記更新データで更新するとき、対応する更新情報を前記第1の履歴領域に記録し、特定のタイミングで、前記第1の履歴領域に記録されている前記更新情報をまとめ、前記まとめた更新情報を、前記第1の履歴領域に記録された前記更新情報が書き写される第2の履歴領域を有する記憶部上の前記第2の履歴領域に書き写し、書き写した後、前記第1の履歴領域を初期化し、前記第2の履歴領域が一杯になったとき、前記第1の実データ領域内の前記実データを、複数のブロックを有し、前記実データの書き込み時に前記ブロック単位で初期化が行われ、前記ブロックごとに、前記実データが記録される第2の実データ領域を有する不揮発性半導体メモリー上の、対応する前記第2の実データ領域に書き写し、書き写し後、前記第1の履歴領域および前記第2の履歴領域を初期化する手順をコンピューターに実行させる。
以上のように、本発明によれば、不揮発性半導体メモリーへの書き込み量を削減することにより書き込み回数を低減させ、不揮発性半導体メモリーを長寿命化できる。
本発明の一実施形態にかかる画像形成装置10の構成図である。 制御部11の構成図である。 RAM33の構成例を示す構成図である。 履歴記録領域に記録される更新情報の構成例を示す図である。 EEPROM34の構成例を示す構成図である。 記憶部21の構成例を示す構成図である。 画像形成装置10を起動した際の、EEPROM34、記憶部21、およびRAM33間でのデータ処理の流れを説明する図である。 RAM33上にある実データをCPU31が更新する際の処理の流れについて説明する図である。 特定のタイミングでRAM33上にあるデータを記憶部21へ記憶させる際の処理の流れについて説明するための図である。 リフレッシュ処理の流れを説明するための図である。 追記する更新情報が多いと1つの履歴記録領域21aには書き込みきれず、次の履歴記録領域21bにも書き込まなければならない様子を示す図である。 書き込みカウンターを参照することにより、最新の更新情報のみを抽出して記憶部21に書き込む様子を示す図である。 1つ目の履歴記録領域21aでは足りず、2つ目の履歴記録領域21bにも更新情報の追記が行われる様子を示す図である。 データIDが一致した更新情報を上書きする様子を示す図である。
以下、図面を参照しながら、本発明の実施形態を説明する。なお、以下の説明では、本発明にかかる情報処理装置の例として、画像形成装置の制御部を用いて説明する。また、本実施形態では、書き込み回数に上限があり、ブロック単位で初期化が行われる不揮発性半導体メモリーの例として、EEPROMを主に想定している。以下の説明では、この不揮発性半導体メモリーをEEPROMとして示し、説明する。
<第1の実施形態>
[画像形成装置の構成]
最初に、本発明の一実施形態にかかる画像形成装置の構成について説明する。図1は、本発明の一実施形態にかかる画像形成装置10の構成図である。
画像形成装置10は、制御部11(情報処理装置)を備える。制御部11は、画像形成装置10の全体的な動作制御を司る。制御部11の構成については後述する。
制御部11は、画像読取部12、画像処理部13、画像メモリー14、画像形成部15、操作部18、ファクシミリ通信部19、ネットワークインターフェイス部20、記憶部21等と接続されている。制御部11は、接続されている上記各部(ブロック)の動作制御や、各ブロックとの間での信号又はデータの送受信を行う。
制御部11は、ユーザーから、操作部18またはネッワーク接続されたPC等を通じて入力されるジョブの実行指示に従って、スキャナー機能、印刷機能、コピー機能、およびファクシミリ送受信機能などの各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。
画像読取部12は、原稿から画像を読み取る。
画像処理部13は、画像読取部12で読み取られた画像の画像データを必要に応じて画像処理する。例えば、画像処理部13は、画像読取部12により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
画像メモリー14は、画像読取部12による読み取りで得られた原稿画像のデータを一時的に記憶したり、画像形成部15での印刷対象となるデータを一時的に記憶したりする領域である。
画像形成部15は、画像読取部12で読み取られた画像データ等の画像形成を行う。
操作部18は、画像形成装置10が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたLCD(Liquid Crystal Display)等の表示部18aを備えている。
ファクシミリ通信部19は、図示しない符号化/復号化部、変復調部、およびNCU(Network Control Unit)を備え、公衆電話回線網を用いてのファクシミリの送信を行う。
ネットワークインターフェイス部20は、LANボード等の通信モジュールから構成され、ネットワークインターフェイス部20に接続されたLAN等を介して、ローカルエリア内の装置(サーバー、PC等の外部機器)と種々のデータの送受信を行う。
記憶部21は、画像読取部12によって読み取られた原稿画像等を記憶したり、後述する更新情報を記憶する領域として利用されたりする。記憶部21は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などの大容量の記憶装置である。本実施形態では、書き込み回数の制限がないHDDを主に想定している。
以上、本発明の一実施形態にかかる画像形成装置10の構成を説明した。
[制御部の構成]
次に、上述した制御部11の構成について説明する。図2は、制御部11の構成図である。
図2に示すように、制御部11は、CPU(Central Processing Unit)31、ROM(Read Only Memory)32、RAM(Random Access Memory、揮発性のメモリー)33、およびEEPROM34を有し、これら各ブロックがバス35を介して接続されている。RAM33およびEEPROM34の内部構成については後述する。
ROM32は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを固定的に記憶する。RAM33は、CPU31の作業用領域として用いられ、OS(Operating System)、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
EEPROM34は、データの書き込みに先だって、ブロック単位での初期化が必要であり、かつ初期化の回数に上限がある不揮発性半導体メモリーである。
CPU31は、ROM32や記憶部21に記憶されたプログラムにしたがって、各部を適宜制御するプロセッサーである。
以上、制御部11の構成について説明した。
[RAMの構成]
次に、RAM33の構成について説明する。図3は、RAM33の構成例を示す構成図である。
図3に示すように、RAM33は、CPU31で実行されるプログラムを展開したり、プログラム実行時のワーキングメモリーとしたりするプログラム展開領域33pと、プログラムで用いる変数の値を保持する実データ記録領域33a、33b、および33c(第1の実データ領域)と、履歴記録領域33d(第1の履歴領域、後述)とに分けられている。領域の分割は、論理的に行われてもよいし、物理的に行われてもよい。
なお、実データ記録領域は3つの領域から構成されているが、これはあくまで例であり、幾つの領域から構成されていてもよい。
例えば、画像形成装置10で印刷した枚数をカウントするための印刷カウンターの変数名をPCNTとし、実データ記録領域33aが、PCNTの値を保持するために使用されるとし、これまでに100枚の印刷が行われているとすると、実データ記録領域33aには値「100」が保持されている。
そして、画像形成装置10で紙2枚の印刷が行われ、実データ記録領域33aの印刷カウンターPCNTの値が、「100」から「102」に変更されると、CPU31は、履歴記録領域33dに、例えば、「PCNT,102,1」のような更新情報が記録される。
履歴記録領域33dに記録される更新情報は、更新に用いられた更新データ(上記では「102」)を含んで、データID、更新データ、書き込みカウントの3項目から構成されている。書き込みカウントとは、リフレッシュ処理(後述)が行われてから何回目のデータ更新が行われたかを示すカウンターである。
CPU31は、履歴記録領域33dのデータID「PCNT」の更新情報が複数あった場合でも、書き込みカウンターの値が最も大きい物を選択することにより、変数PCNTの最新の更新の値を知ることが出来る。
例えば、画像形成装置10において、さらに3枚の印刷が行われたとすると、実データ記録領域33aの印刷カウンターPCNTの値が、「102」から「105」に変更され、履歴記録領域33dでは、1行目の「PCNT,102,1」のエントリーの次に、「PCNT,105,2」のエントリーが書き加えられる(図4参照)。
なお、図4では、3行目のエントリーとして、例えば実データ記録領域33cに保持される、画像形成装置10の状態を表す変数STATに、「OK」の値が、1回目の更新データとして書き込まれたことも示している。
なお、上記の説明では、説明を分かり易くするために、1つの実データ記録領域33aに1つの変数印刷カウンターPCNTの値だけが保持されるとしたが、実際には、この構成に限らず、1つの実データ記録領域に複数の変数の値が保持されていてもよい。
また、本発明にかかる情報処理装置は、組込み機器などの制御部を想定しており、カウンターなどの各変数の名前(データID)や、そのデータ長、保持されるメモリーアドレスなどは、予め機器の設計者に把握され、決められていることが好ましい。
なお、プログラム展開領域33pは、本発明のポイントではないので、以下の説明では、この部分を省略して図示する。
以上、RAM33の構成について説明した。
[EEPROM34の構成について]
次に、EEPROM34の構成について説明する。図5は、EEPROM34の構成例を示す構成図である。
図5の例では、EEPROM34は、3つのブロック34a、34b、および34cから構成されている。EEPROM34へのデータ書き込みの際には、書き込みに先立って、ブロック単位での初期化が必要である。また、初期化回数には上限がある。
ブロック34aには、実データ記録領域341a(第2の実データ領域)が設けられている。
ブロック34bには、実データ記録領域341b(第2の実データ領域)が設けられている。
ブロック34cには、実データ記録領域341c(第2の実データ領域)が設けられている。
上記3つの領域の分割は、論理的に行われてもよいし、物理的に行われてもよい。
実データ記録領域33aの内容に対応するものが、実データ記録領域341aに記録されている。
また、実データ記録領域33bの内容に対応するものが、実データ記録領域341bに記録されており、実データ記録領域33cの内容に対応するものが、実データ記録領域341cに記録されている。
すなわち、実データ記録領域33a、実データ記録領域33b、および実データ記録領域33cの容量と、実データ記録領域341a、実データ記録領域341b、および実データ記録領域341cの容量は、同一であってもよい。
以上、EEPROM34の構成について説明した。
[記憶部21の構成]
次に、記憶部21の構成について説明する。図6は、記憶部21の構成例を示す構成図である。なお、記憶部21には、上述したとおり、様々な情報を記憶させることが出来るが、ここでは、更新情報を記憶する領域に関してのみ説明する。
記憶部21には、更新情報を記憶する領域として、履歴記録領域21a、21b、および21c(第2の履歴領域)が設けられている。
履歴記録領域21a、21b、および21cには、図4に示したものと同様に更新情報が記録される。履歴記録領域21a、21b、および21cへの更新情報の記録の仕方については後述する。
ここで注意すべき点は、例えば、実データ記録領域33aが印刷カウンターPCNTの値を保持するために割り当てられている場合、実データ記録領域341aも印刷カウンターPCNTの値を保持するために割り当てられるが、履歴記録領域21aには、印刷カウンターPCNTの更新情報が記録されているとは限らず、画像形成装置10の状態を表す変数STATの更新情報が記録されることもあり得るという点である。
なお、履歴記録領域21a、21b、および21cそれぞれの容量は、履歴記録領域33dの容量よりも大きいことが好ましい(理由は後述)。
以上、記憶部21の構成について説明した。
[起動時の処理の流れ]
次に、画像形成装置10を起動した際の、EEPROM34、記憶部21、およびRAM33間でのデータ処理の流れを説明する。図7は、画像形成装置10を起動した際の、EEPROM34、記憶部21、およびRAM33間でのデータ処理の流れを説明する図である。
まず、画像形成装置10の起動前には、RAM33上にはデータが無く、全てのデータ(実データおよび更新情報)は、EEPROM34および記憶部21にある。
例えば、印刷カウンターPCNTの値「100」が実データ記録領域341aにあり、印刷カウンターPCNTの更新情報「PCNT,102,1」が履歴記録領域21bにあり、同じく更新情報「PCNT,105,2」が履歴記録領域21cにある。
画像形成装置10が起動されると、RAM33の初期化後、まず、実データ記録領域341a、実データ記録領域341b、および実データ記録領域341cの内容が、それぞれ対応する実データ記録領域33a、33b、および33cにコピーされる。
その後、履歴記録領域21a、履歴記録領域21b、および履歴記録領域21cに記録されている更新情報のうち、最新のものが、実データ記録領域33a、33b、および33c上のデータに上書きされる。
以上の処理により、RAM33の、実データ記録領域33a、33b、および33cには、最新の実データが保持された状態になる。
以上、画像形成装置10を起動した際の、EEPROM34、記憶部21、およびRAM33間でのデータ処理の流れを説明した。
[RAM上の実データの更新処理の流れ]
次に、RAM33上にある実データをCPU31が更新する際の処理の流れについて説明する。図8は、RAM33上にある実データをCPU31が更新する際の処理の流れについて説明する図である。
例えば、実データ記録領域33a上の印刷カウンターPCNTの値が「100」から「102」に更新されると、上述したように、履歴記録領域33dに、更新情報「PCNT,102,1」が記録される。なお、これらの処理は図8で(1)で示すものである。
このように、実データ記録領域33a、33b、および33cのいずれかにある実データに更新処理が発生すると、そのたびに、履歴記録領域33dに更新情報が追加して記録される。なお、これらの処理は図8で、(1)、(2)、および(3)で示すものである。
実データの更新に伴う処理は、通常、RAM33に対する更新のみで終了し、EEPROM34および記憶部21に対する書き込み処理は行われない。
EEPROM34への書き込みをRAM33の更新の度には行わないことにより、EEPROM34への書き込み回数を減らし、EEPROM34の寿命を延ばすことが出来る。
また、記憶部21への書き込みをRAM33の更新の度には行わないことにより、記憶部21への書き込みに要する時間を減らし、CPU31における処理効率を向上させることが出来る。
以上、RAM33上にある実データをCPU31が更新する際の処理の流れについて説明した。
[記憶部21への書き込み処理の流れ]
次に、特定のタイミングでRAM33上にあるデータをEEPROM34へ書き込む際の処理の流れについて説明する。図9は、特定のタイミングでRAM33上にあるデータを記憶部21へ記憶させる際の処理の流れについて説明するための図である。
なお、ここでいう特定のタイミングとは、タイマーをトリガーとした周期的なものや、画像形成装置10のシャットダウンなどの際に一括書き込み命令が実行された場合、ある特定の実データが更新された場合、履歴記録領域33dが一杯になった場合などである。
まず、特定のタイミングになると、CPU31は、履歴記録領域33d内の更新情報をまとめ、まとめた更新情報を記憶部21上の履歴記録領域21a、21b、または21cのいずれかに書き込む。書き込む際には、既に書き込まれている更新情報に追記する形で書き込みが行われる。
履歴記録領域21a、21b、または21cに書き込む順序は、予め定められている。例えば、履歴記録領域21aに書き込み、次いで履歴記録領域21b、21cと書き込み、また元に戻り、履歴記憶領域21aに書き込むというように巡回的に書き込んでもよい。
なお、まとめた更新情報を書き込む際、ある履歴記録領域に書き切れなかった場合、次の書き込みに用いる履歴記憶領域へ残りの書き込みを行う。
書き込み完了後、CPU31は、履歴記録領域33d内の更新データをクリア(消去)する。
上記の処理でのポイントは、RAM33からEEPROM34への実データの書き込みは行わず、まとめられた更新データのみを記憶部21の特定の履歴記録領域21a、21b、または21cに書き込むことである。
この構成を採ることにより、EEPROM34への書き込み回数を減らすことが出来る。
以上、特定のタイミングでRAM33上にあるデータを記憶部21へ記憶させる際の処理の流れについて説明した。
[リフレッシュ処理の流れ]
次に、リフレッシュ処理の流れについて説明する。図10は、リフレッシュ処理の流れを説明するための図である。
なお、リフレッシュ処理とは、上述した特定のタイミングにおいて、記憶部21の1つの履歴記録領域が一杯になっており、履歴記録領域33dに記録されている更新情報を、一杯になった履歴記録領域に書き写せないときに行われる処理である。
リフレッシュ処理では、RAM33上の実データ記録領域33a、33b、および33c内の実データを、対応するEEPROM34上の実データ記録領域341a、実データ記録領域341b、および実データ記録領域341cに上書きする(図10で(1)で示す)。
RAM33上の実データ記録領域33a、33b、および33c内の実データは最新の状態にあるので、EEPROM34上の実データ記録領域341a、実データ記録領域341b、および実データ記録領域341c内の実データも最新の状態になる。
そのため、実データを最新の状態にするための更新情報は不要になるので、RAM33上の履歴記録領域33d内の更新情報をクリアし(図10で(2)で示す)、そして記憶部21の履歴記録領域21a、履歴記録領域21b、および履歴記録領域21c内の更新情報をクリア(図10で(3)で示す)する。
以上、リフレッシュ処理の流れについて説明した。
<第2の実施形態>
次に、第2の実施形態にかかる画像形成装置10aについて説明する。画像形成装置10aは、画像形成装置10の制御部11が行う処理を一部改良したものである。
以下の説明では、改良可能な点とその改良方法を、2つ挙げて説明する。なお、改良方法は、制御部11が行う処理を一部変更するものであり、画像形成装置10aの構成や制御部11の構成自体には変更が無いので、各部の符号は第1の実施形態と同じ符号を使用し、構成に関する説明は省略する。
[改良可能な点と改良方法(その1)]
まず、第1の実施形態の画像形成装置10において、改良可能な第1の点と、その改良方法について説明する。
例えば、印刷カウンターPCNTに対するデータの更新が頻繁に起こり、RAM33上の履歴記録領域33dに、印刷カウンターPCNTに関する更新情報が6個溜まっていた状態で記憶部21に記憶させるタイミングが来たとする。
この場合、第1の実施形態の画像形成装置10の制御部11では、すべての更新情報をまとめ、まとめた更新情報を記憶部21の履歴記録領域に追記していた。例えば、図11に示すように、追記する更新情報が多いと1つの履歴記録領域342aには書き込みきれず(図11で(1)で示す)、次の履歴記録領域342bにも書き込まなければならなかった(図11で(2)で示す)。
そこで、第2の実施形態の画像形成装置10aの制御部11では、まとめた更新情報を記憶部21に記憶させる際のデータ量を削減することを考える。
すなわち、画像形成装置10aの制御部11は、特定のタイミングで更新情報を、履歴記録部33dから、履歴記録領域21a、履歴記録領域21b、または履歴記録領域21cに書き込むために更新情報をまとめる際に、データIDごとに、最新の更新情報のみを抽出してからまとめる。
例えば、上記の、印刷カウンターPCNTの更新情報が6個ある例では、書き込みカウンターを参照することにより、6個のうち最新の更新情報のみを抽出する。そのため、この例では、記憶部21に記憶させる更新情報を6分の1に削減することが出来る(図12の(1)参照)。
以上、第1の実施形態の画像形成装置10において、改良可能な第1の点と、その改良方法について説明した。
[改良可能な点と改良方法(その2)]
まず、第1の実施形態の画像形成装置10において、改良可能な第2の点と、その改良方法について説明する。
例えば、図13に示すように、記憶部21の各履歴記録領域21a、21b、および21cには、それぞれ4つの更新情報を記録する容量があるとする。そして、今回の書き込みタイミングで、1つ目の履歴記録領域21aから書き込みを開始するとする。また、履歴記録領域21aには、以前書き込まれた更新情報が2エントリー分既に書き込まれ、追記できる空エントリーは2つだけであるとする。
この状態で、RAM33上の履歴記録領域33dから4つの更新情報が追記されると、1つ目の履歴記録領域21aでは足りず、2つ目の履歴記録領域21bにも更新情報の追記が行われる。
そこで、第2の実施形態の画像形成装置10aの制御部11では、記憶部21の履歴記録領域に、RAM33上の更新情報を単純に追記するのではなく、これから書き込む記憶部21の履歴記録領域に既に書き込んである更新情報を、一度読み出す。そして読み出した更新情報と同じデータIDの更新情報があれば、その同じ更新情報で、既にある更新情報を上書きする。
例えば、図13に示したものと同じ前提とした場合、図14に示すように、書き込む更新情報と既にある更新情報とでデータIDが一致する「STAT」および「PCNT」の実データに関しては、追記するのではなく、既にある古い更新情報「PCNT,98,3」および「STAT,NG,2」を上書きする形で書き込みが行われる。
そのため、この例では、RAM33上の履歴記録領域33dにある4つの更新情報全てを1つ目の履歴記録領域21aに書き込むことが出来る。すなわち、書き込みが行われる領域の容量を減らすことが出来る。
以上、第1の実施形態の画像形成装置10において、改良可能な第2の点と、その改良方法について説明した。
[補足事項]
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、不揮発性半導体メモリーとしてNOR型フラッシュメモリー(登録商標)やNAND型フラッシュメモリー(登録商標)を用いて、本発明を実施することも可能である。
10 … 画像形成装置
11 … 制御部
12 … 画像読取部
13 … 画像処理部
14 … 画像メモリー
15 … 画像形成部
18 … 操作部
18a… 表示部
19 … ファクシミリ通信部
20 … ネットワークインターフェイス部
21 … 記憶部
21a、21b、21c … 履歴記録領域
31 … CPU
32 … ROM
33 … RAM
33a、33b、33c … 実データ記録領域
33d… 履歴記録領域
33p… プログラム展開領域
34 … EEPROM
34a、34b、34c … ブロック
341a、341b、341c … 実データ記録領域
35 … バス

Claims (4)

  1. 実データが記録される第1の実データ領域と、前記第1の実データ領域に記録された前記実データを更新するための更新データを含む更新情報が記録される第1の履歴領域とを有する揮発性のメモリーと、
    複数のブロックを有し、前記実データの書き込み時に前記ブロック単位で初期化が行われ、前記ブロックごとに、前記実データが記録される第2の実データ領域を有する不揮発性半導体メモリーと、
    前記第1の履歴領域に記録された前記更新情報が書き写される第2の履歴領域を有する記憶部と、
    前記第1の実データ領域内の前記実データを前記更新データで更新するとき、対応する更新情報を前記第1の履歴領域に記録し、
    特定のタイミングで、前記第1の履歴領域に記録されている前記更新情報をまとめ、前記まとめた更新情報を前記第2の履歴領域に書き写し、書き写し後、前記第1の履歴領域を初期化し、
    前記第2の履歴領域が一杯になったとき、前記第1の実データ領域内の前記実データを対応する前記第2の実データ領域に書き写し、書き写し後、前記第1の履歴領域および前記第2の履歴領域を初期化する
    プロセッサーと
    を備えた情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記更新情報は、
    更新する前記実データを識別するデータ識別子を含み、
    前記プロセッサーは、
    前記まとめた更新情報を複数のページの前記第2の履歴領域に書き写す際に、前記書き写す更新情報に含まれるデータ識別子と、前記書き写しが行われる第2の履歴領域に既に記録されている更新情報に含まれるデータ識別子とが一致するとき、
    前記データ識別子が一致した、書き写す更新情報により、前記書き写しが行われる第2の履歴領域に既に記録されている、前記データ識別子が一致した更新情報を上書きする
    情報処理装置。
  3. 請求項1又は2に記載の情報処理装置であって、
    前記記憶部は、ハードディスクドライブである
    情報処理装置。
  4. 実データが記録される第1の実データ領域と、前記第1の実データ領域に記録された前記実データを更新するための更新データを含む更新情報が記録される第1の履歴領域とを有する揮発性のメモリー上の前記第1の実データ領域内の前記実データを前記更新データで更新するとき、対応する更新情報を前記第1の履歴領域に記録し、
    特定のタイミングで、前記第1の履歴領域に記録されている前記更新情報をまとめ、前記まとめた更新情報を、前記第1の履歴領域に記録された前記更新情報が書き写される第2の履歴領域を有する記憶部上の前記第2の履歴領域に書き写し、書き写した後、前記第1の履歴領域を初期化し、
    前記第2の履歴領域が一杯になったとき、前記第1の実データ領域内の前記実データを、複数のブロックを有し、前記実データの書き込み時に前記ブロック単位で初期化が行われ、前記ブロックごとに、前記実データが記録される第2の実データ領域を有する不揮発性半導体メモリー上の、対応する前記第2の実データ領域に書き写し、書き写し後、前記第1の履歴領域および前記第2の履歴領域を初期化する
    手順をコンピューターに実行させるメモリー管理プログラム。
JP2015037710A 2015-02-27 2015-02-27 情報処理装置およびメモリー管理プログラム Expired - Fee Related JP5982025B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015037710A JP5982025B1 (ja) 2015-02-27 2015-02-27 情報処理装置およびメモリー管理プログラム
US15/001,760 US9875065B2 (en) 2015-02-27 2016-01-20 Information processing device that extends service life of non-volatile semiconductor memory and recording medium
CN201610049269.8A CN105930095B (zh) 2015-02-27 2016-01-25 信息处理装置和存储器管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015037710A JP5982025B1 (ja) 2015-02-27 2015-02-27 情報処理装置およびメモリー管理プログラム

Publications (2)

Publication Number Publication Date
JP5982025B1 JP5982025B1 (ja) 2016-08-31
JP2016162022A true JP2016162022A (ja) 2016-09-05

Family

ID=56798907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015037710A Expired - Fee Related JP5982025B1 (ja) 2015-02-27 2015-02-27 情報処理装置およびメモリー管理プログラム

Country Status (3)

Country Link
US (1) US9875065B2 (ja)
JP (1) JP5982025B1 (ja)
CN (1) CN105930095B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282105B2 (en) 2017-01-20 2019-05-07 International Business Machines Corporation Extending shelf life of non-volatile memory devices
CN108694016B (zh) * 2017-04-10 2021-06-08 联合汽车电子有限公司 模拟eeprom数据分析***及方法
JP6787490B2 (ja) * 2017-06-20 2020-11-18 京セラドキュメントソリューションズ株式会社 メモリーシステム及び電子機器
JP6886110B2 (ja) * 2017-07-13 2021-06-16 富士通株式会社 情報処理装置及びプログラム
CN111198775B (zh) * 2019-12-19 2023-07-18 潍柴动力股份有限公司 修正eeprom存储状态异常的方法、***和机动车
CN111462689B (zh) * 2020-04-22 2021-07-06 深圳市华星光电半导体显示技术有限公司 寿命数据处理子***及寿命补偿***
CN114371816A (zh) * 2021-12-14 2022-04-19 深圳市凯迪仕智能科技有限公司 一种数据存储方法及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110308A (ja) * 1997-10-01 1999-04-23 Nec Eng Ltd 電源断時のデータバックアップ方式

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
EP0957447B1 (en) * 1998-05-14 2007-10-31 Seiko Epson Corporation Control method of saving data from volatile to nonvolatile memory in a printer
JP3826617B2 (ja) 1998-05-14 2006-09-27 セイコーエプソン株式会社 不揮発性メモリを備えたプリンタ、及びそのプリンタにおける不揮発性メモリへの書き込み制御方法
JP4489500B2 (ja) * 2004-05-26 2010-06-23 株式会社日立製作所 バックアップ方法、バックアップシステム、ディスク制御装置、及びバックアッププログラム
US8090691B2 (en) * 2004-08-13 2012-01-03 Computer Associates Think, Inc. System and method for variable block logging with log-ahead buffers
US9286198B2 (en) * 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8301833B1 (en) * 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
CN101282207B (zh) * 2008-06-05 2012-06-27 成都市华为赛门铁克科技有限公司 数据更新的记录方法、装置和数据备份***
JP5376983B2 (ja) * 2009-02-12 2013-12-25 株式会社東芝 メモリシステム
US9563555B2 (en) * 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
CN103544097B (zh) * 2013-10-21 2016-04-13 广东威创视讯科技股份有限公司 嵌入式***的日志存储方法、***及日志读取方法和***

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110308A (ja) * 1997-10-01 1999-04-23 Nec Eng Ltd 電源断時のデータバックアップ方式

Also Published As

Publication number Publication date
US20160253097A1 (en) 2016-09-01
JP5982025B1 (ja) 2016-08-31
CN105930095B (zh) 2019-01-01
CN105930095A (zh) 2016-09-07
US9875065B2 (en) 2018-01-23

Similar Documents

Publication Publication Date Title
JP5982025B1 (ja) 情報処理装置およびメモリー管理プログラム
US9507584B2 (en) Electronic device including a memory technology device
JP6875808B2 (ja) 情報処理装置
US9684853B2 (en) Image forming apparatus that writes data from volatile memory to non-volatile memory
JP2017142776A (ja) 寿命管理装置および寿命管理方法
JP5751121B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN110688141A (zh) 固件更新方法
JP6004923B2 (ja) 情報処理装置及びその制御方法とプログラム
JP2008158991A (ja) Nand型フラッシュメモリの制御システム
KR102123701B1 (ko) 네트워크 부트 시스템
JP6168661B2 (ja) 電子機器
JP6579324B2 (ja) 画像形成装置およびデータ処理プログラム
JP6410055B2 (ja) 画像形成装置およびデータ処理プログラム
JP2010009553A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6168660B2 (ja) 電子機器
JP2013045285A (ja) 情報処理装置、画像形成装置およびプログラム
JP6124836B2 (ja) 電子機器およびメモリー管理方法
JP2013003984A (ja) 情報処理装置、画像形成装置、およびプログラム
US10956090B2 (en) Memory system and electronic apparatus
JP2020080120A (ja) 情報処理装置、情報処理装置の更新方法、及び、情報処理装置の更新プログラム
US20170160964A1 (en) Electronic device and non-transitory computer readable storage medium
JP7443786B2 (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
JP2006126987A (ja) 画像処理装置
JP2006344022A (ja) 機器及びプログラム起動方法
JP2018092417A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160603

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160603

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160622

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: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160729

R150 Certificate of patent or registration of utility model

Ref document number: 5982025

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees