JP2004220343A - Memory device - Google Patents
Memory device Download PDFInfo
- Publication number
- JP2004220343A JP2004220343A JP2003007259A JP2003007259A JP2004220343A JP 2004220343 A JP2004220343 A JP 2004220343A JP 2003007259 A JP2003007259 A JP 2003007259A JP 2003007259 A JP2003007259 A JP 2003007259A JP 2004220343 A JP2004220343 A JP 2004220343A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage unit
- area
- storage
- writing
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、データ保存の信頼性を高めるために、同種のデータが2つの記憶ブロックに書き込まれる方式のメモリ装置に関する。
【0002】
【従来の技術】
従来、画像形成装置等には、その動作状態に関する各種データを記憶するためにEEPROM等の不揮発性のメモリ装置(例えば、フラッシュROM等)が備えられている。このメモリ装置には、通常時に各種データが記憶される通常記憶領域と、データ保存状態に異常が発生した時のためのデータ復旧用バックアップ記憶領域の2つの記憶領域が設けられており、データ更新時には同一のデータが上記2つの記憶領域のそれぞれに書き込まれるようになっている。
【0003】
また、先行技術文献には、第1のメモリ301に書き込まれたデータを、所定のタイミングで、制御プログラムが記憶されている第2のメモリ300に書き込んでおき、必要に応じて当該データを第1のメモリ301に書き込むことで、データ保存の信頼性を高めるようにしたメモリ装置も提案されている(例えば、特許文献1参照)。
【0004】
【特許文献1】
特開平11−31107号公報
【0005】
【発明が解決しようとする課題】
しかしなから、データ更新時に通常記憶領域とバックアップ記憶領域の両方にデータが書き込まれるメモリ装置は、当該2つの領域のいずれに対してもデータ書き込み回数が多くなり、2つの領域のいずれも寿命が短くなって、結局はメモリ装置全体の寿命が短くなるという問題がある。
【0006】
また、上記特許文献1に示されたメモリ装置は、第1のメモリ301が破壊された場合に、第2のメモリ300に記憶されているデータを利用して容易にデータを修復できるが、EEPROM等の不揮発性のメモリ装置からなる第1のメモリ301は、何度もデータ書き込みを繰り返すことで書き込み耐久回数の限界に達すると使用ができなくなることに変わりはない。メモリの長寿命化の観点からはデータ書き込み回数を低減させることが好ましいが、この特許文献1に示されたメモリ装置では、かかる問題点が解決されていない。
【0007】
本発明は、上述した問題点を解決するためになされたものであり、データ保存の信頼性を保持しつつ、寿命が延長されたメモリ装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するために請求項1に記載の発明は、同種のデータが保存される2つの記憶ブロックを有する記憶部と、
データ更新時には前記記憶ブロックの一方に保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むデータ書き込み制御手段と
を備えたメモリ装置である。
【0009】
この構成では、データ更新時に、2つの記憶ブロックのうち、1つの記憶ブロックのみを使用してデータを書き込むようにし、従来のように同一データを両方の記憶ブロックに書き込むことは行わないので、データ更新時における各記憶ブロックへの書き込み回数が2分の1に低減する。これにより、各記憶ブロックの寿命を2倍に延ばすことができるので、データ保存の信頼性を保持しつつ、メモリ装置全体としてその寿命を2倍に延ばすことができる。この構成では、最新データが記憶されている記憶ブロック側に異常が生じた場合は最新データを復旧できないことになるが、データ更新が短時間内に頻繁に行われるデータを保持するときにはその差は微少であり、悪影響がない。
【0010】
また、請求項2に記載の発明は、請求項1に記載のメモリ装置であって、前記データ書き込み制御手段は、前記いずれかの記憶ブロックに対してデータ更新の必要が生じたときは所定時間経過を待ち、この所定時間内に複数のデータを更新する必要が生じた場合には、この記憶ブロックに対する複数のデータの更新を一度の書き込みで実行するものである。
【0011】
この構成によれば、所定時間内に複数のデータ更新の必要が生じた場合には、記憶ブロックに対する複数のデータの更新を一度の書き込みによって行うため、記憶ブロックに対するデータ書き込み回数を低減することができる。
【0012】
また、請求項3に記載の発明は、請求項1又は請求項2に記載のメモリ装置であって、前記記憶部として使用される領域が、データ更新頻度の低い記憶部として使用される低頻度書き換え領域と、データ更新頻度の高い記憶部として使用される高頻度書き換え領域とからなり、
前記データ書き込み制御手段は、前記低頻度書き換え領域内の記憶部に対しては、データ更新時に保存対象データを記憶部内の2つの記憶ブロックにそれぞれ同時に書き込み、前記高頻度書き込み領域内の記憶部に対しては、データ更新時に記憶部内の各記憶ブロック領域のいずれかに保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むものである。
【0013】
この構成によれば、前回のデータ書き込み時から最新データ書き込み時までの時間間隔が空くと想定される低頻度書き換え領域の記憶部には、データ更新時に2つの記憶領域にデータを同時に書き込んでデータを保持して、両方の記録ブロックに保存されているデータの内容は常に同じ内容にしているので、前回のデータ書き込み時から最新データ書き込み時までの時間間隔が空いた場合であっても、いずれかの記憶ブロックに異常が発生した時に、他方の記録ブロックに保存されているデータを用いて復旧したデータの信頼性が高められる。しかも、低頻度書き換え領域の記憶部はデータ書き込み回数が少ないので、記録ブロックの寿命を縮めてしまうという問題もない。その一方、高頻度書き換え領域の記憶部には、データ更新時に、2つの記憶ブロックのうち、1つの記憶ブロックのみを使用してデータを書き込むことによって、データ更新時における各記憶ブロックへの書き込み回数を2分の1に低減して、各記憶ブロック及びメモリ装置の寿命を2倍に延ばすことができる。
【0014】
また、請求項4に記載の発明は、請求項1乃至請求項3のいずれかに記載のメモリ装置であって、前記記憶部として使用する領域以外の空き領域を備え、
前記データ書き込み制御手段は、前記記憶部への書き込み回数がデータ書き込み耐久回数の限界に達した場合には、それまで記憶部として使用していた領域に代えて、前記空き領域を新たな記憶部として用いるものである。
【0015】
この構成によれば、1つの記憶部への書き込み回数がデータ書き込み耐久回数の限界に達したときは、空き領域を新たな記憶部としてデータを保存するので、当該メモリ装置全体としての使用期間を伸ばすことができる。
【0016】
また、請求項5に記載の発明は、請求項1乃至請求項3のいずれかに記載のメモリ装置であって、前記記憶部として使用する領域以外の空き領域を備え、
前記データ書き込み制御手段は、前記記憶部への書き込み回数がデータ書き込み耐久回数のn分の1に達した場合には、それまで記憶部として使用していた領域に代えて前記空き領域を新たな記憶部として使用し、空き領域が無くなったときは、以前に記憶部として使用されていた領域であって、現在は記憶部として使用されていない領域を空き領域として新たな記憶部に使用し、同一の領域をn回まで記憶部として繰り返し使用するものである。
【0017】
この構成によれば、記憶部への書き込み回数がデータ書き込み耐久回数のn分の1に達すると、記憶部として使用される領域が別の領域に移るので、全ての領域においてデータ書き込み回数が耐久回数に達するまでメモリ装置を使用することができ、メモリ装置の寿命を更に延ばすことができる。
【0018】
すなわち、データ書き込み回数が耐久回数の限界に達するまで記憶部が他の領域に移らない制御を行うと、例えば、データ書き込みの保証回数が約10万回として設定されているメモリが、不具合により実際のデータ書き込み耐久回数が約7万回となってしまった場合には、他の領域がデータ書き込み可能であるにも拘わらず、現在記憶部として使用されている領域へのデータ書き込み回数が約7万回に達すると、その時点でメモリ装置が寿命に至るが、上記請求項5に記載の発明のように、データ書き込み回数が耐久回数の限界に達する前に、記憶部として使用する領域が次々に他の領域に移るようにすれば、全ての領域におけるデータ書き込み回数が約7万回に達するまでメモリ装置を使用することができるので、メモリ装置の寿命を更に延ばすことが可能となる。
【0019】
【発明の実施の形態】
以下、本発明の一実施形態に係るメモリ装置について図面を参照して説明する。図1は本発明に係るメモリ装置の概略構成を示すブロック図である。本発明に係るメモリ装置1は、フラッシュROM5に対するデータの書き込み及び読み出し等の制御を行う制御部(データ書き込み制御手段)2と、このデータ書き込み及び読み出しのための制御プログラム等が記憶されているROM3と、制御部2の作業領域として用いられるRAM4と、データをブロックごとに繰り返して消去及び書き込み可能であって、電源オン又はオフに拘わらず内容保持が必要なデータを記憶するフラッシュROM5と、所定時間の経過をカウントするタイマ6とを有している。これらはバス7によって接続されており、データの書き込み及び読み出しや各種動作制御に必要なデータ転送が可能に構成されている。
【0020】
図2はフラッシュROM5へのデータ書き込み例を概念的に示した図であり、(a)はデータ書き込み前の状態を示す図、(b)はデータ書き込み後の状態を示す図、(c)は更なるデータ書き込みを行った状態を示す図、図3はデータ更新処理の第1実施形態を示すフローチャートである。フラッシュROM5には、第1記憶ブロック51及び第2記憶ブロック52からなる記憶部50が設けられている。これら第1記憶ブロック51及び第2記憶ブロック52には同一のデータが保存され、互いに他の記憶領域をバックアップする役割を果たす。これら第1記憶ブロック51及び第2記憶ブロック52のそれぞれに、2種類のデータ(データ1及びデータ2)を書き込んで保存する場合について説明する。
【0021】
フラッシュROM5の初期状態において(図2(a))、データを書き換える必要が生じた場合は(S1でYES)、第1記憶ブロック51又は第2記憶ブロック52のいずれかにデータの書き込みを行う(S2)。例えば、データ1の数値を‘2’に書き換える必要が生じた場合に、第1記憶ブロック51のみに対してデータ1を‘2’とする書き込みを行い、第2記憶ブロック52に対してはデータの書き込みは行わない(図2(b))。
【0022】
更にデータを書き換える必要が生じた場合(S3でYES)、前回データが書き込まれていない方の記憶ブロックにデータの書き込みが行われる(S4)。例えば、データ2を‘3’に書き換える必要が生じた場合は、前回データが書き込まれていない方の第2記憶ブロック52に、データ1を‘2’,データ2を‘3’に書き換える処理が行われる(図2(c))。すなわち、前回第1記憶ブロック51に書き込んだ内容(データ1=2)に、今回書き換えの必要がある内容(データ2=3)を反映した内容のデータを第2記憶ブロック52に書き込む。
【0023】
その後、更にデータを書き換える必要が生じた場合には、記憶部50のデータ書き込み回数が所定値(書き込み耐久回数の限界の数値)に達しているかが判断され(S5)、データ書き込み回数が所定値に達するまでは、前回データ書き込みが行われていない方の記憶ブロックを最新のデータ内容に書き換える処理を繰り返す(S5でNO)。データ書き込み回数が所定値に達した場合は(S5でYES)、処理を終了する。
【0024】
次に、フラッシュROM5へのデータ更新処理の第2実施形態を説明する。図4はフラッシュROM5へのデータ書き込みの第2実施形態の例を概念的に示した図であり、(a)はデータ書き込み前の状態を示す図、(b)(c)は所定時間経過前のデータ書き込み待ちの状態を示す図、(d)は所定時間経過後にデータ書き込みを行った状態を示す図である。図5はデータ更新処理の第2実施形態を示すフローチャートである。
【0025】
この実施形態では、フラッシュROM5へのデータ書き込みは、データ更新の必要が生じた時点から所定時間が経過するまで待ち、所定時間が経過した時点でデータ更新の必要が生じている各データをまとめて一度に書き込むものである。なお、記憶部50の第1記憶ブロック51及び第2記憶ブロック52のうち、前回データ書き込みが行われていない方の記憶領域のみを最新のデータ内容に書き換える処理を行う点は上記第1実施形態と同様である。
【0026】
例えば、次にデータ書き込みを行う記憶領域が第1記憶領域の場合であるとすると、図4(a)に示すように、第1記憶ブロック51にデータ1が‘0’,データ2が‘3’として記憶されているときにデータ1を‘1’に更新する必要が生じると(S11でYES)、当該データ更新の必要が生じた時点からタイマ6による時間計測を開始する(S12)。即座にはデータ1を‘1’に書き換える処理は行わない(図4(b))。
【0027】
そして、当該更新の必要が生じた時点から所定時間(即座にデータ書き込みを行わなくても不具合の生じないと想定される時間、例えば、画像形成装置における印刷枚数を記憶させる場合は数秒間とする等)が経過した時点で(S13でYES)、データを最新の内容に書き換える処理を行うが(S14)、この所定時間内に別個にデータ更新の必要が生じていた場合は(例えば、図4(c)に示すように、データ2を‘8’に更新)、これらデータ1を‘1’に書き換える処理及びデータ2を‘8’に書き換える処理を併せて一度の書き込みによって行う(図4(d))。この第2実施形態によるデータ書き込み処理によれば、所定時間内に生じた複数のデータ更新処理を一度の書き込みで行うため、記憶領域へのデータ書き込み回数を低減させることができる。
【0028】
次に、フラッシュROM5のデータ更新処理の第3実施形態を説明する。図6は書き換え頻度別にフラッシュROM5の記憶領域を区分した状態を示す図、図7はデータ更新処理の第3実施形態を示すフローチャートである。フラッシュROM5は、低頻度でデータの書き込みが行われる低頻度書き換え領域501と、高頻度でデータの書き込みが行われる高頻度書き換え領域502とに区分される。記憶部50は低頻度書き換え領域501及び高頻度書き換え領域502のそれぞれの中に設けられている。
【0029】
例えば、フラッシュROM5の番地0x0000から番地0x1000までの領域を低頻度書き換え領域501とし、番地0x1001から番地0xffffまでの領域を高頻度書き換え領域502として設定する。上記低頻度で書き換えられるデータの例としては、メモリ装置1が備えられている画像形成装置の製造番号や定着装置の定着温度の設定データ等があげられる。これらのデータは画像形成装置の寿命に至るまで殆ど更新されないので、これら更新の機会が殆ど無いデータを低頻度記憶領域501に記憶させるようにする。
【0030】
データ更新の必要が生じた場合(S21でYES)、当該更新の必要のあるデータの書き込みを、低頻度書き換え領域501又は高頻度書き換え領域502のいずれに設けられている記憶部50に行うかが判断される(S22)。低頻度書き換え領域501内の記憶部50にデータ更新の必要が生じている場合は(S22で低頻度書換領域)、従来のデータ書き込み処理と同様に、保存対象となる同一のデータが第1記憶ブロック51及び第2記憶ブロック52のそれぞれに同時に書き込まれる(S23)。高頻度書き込み領域502内の記憶部50にデータ更新の必要が生じている場合は(S22で高頻度書換領域)、保存対象となるデータは第1記憶ブロック51及び第2記憶ブロック52のいずれか一方にのみ書き込まれ、新たにデータ更新の必要が生じた場合には、第1記憶ブロック51及び第2記憶ブロック52のうち、前回データが書き込まれていない方の記憶領域に最新のデータ内容が書き込まれる処理が行われる(S24)。すなわち、第1実施形態に示したデータ書き込み処理と同様の書き込み処理が行われる。
【0031】
なお、上記のように低頻度書き換え領域501及び高頻度書き換え領域502に区分されたフラッシュROM5において、上記第2実施形態に示したデータ書き込み処理と同様に、データ更新の必要が生じた時から所定時間経過後に複数のデータ書き換えをまとめて一度の書き込みで行うようにしてもよい。
【0032】
次に、フラッシュROM5のデータ更新処理の第4実施形態を説明する。図8は第4実施形態に用いられるフラッシュROM5の領域区分を示す図、図9はフラッシュROM5内の管理データ記憶領域の内容を示す図、図10はデータ更新処理の第4実施形態を示すフローチャートである。
【0033】
この実施形態に係るフラッシュROM5は、低頻度でデータの書き込みが行われる低頻度書き換え領域501と、高頻度でデータの書き込みが行われる高頻度書き換え領域502と、各種の管理用データが記憶される管理データ記憶領域503とに区分される。例えば、図8に示すように、フラッシュROM5の記憶領域の番地0x0000から0x0fffまでを低頻度書き換え領域501とし、0x1000から0x10ffまでを管理データ記憶領域503とし、0x1100から0xffffまでを高頻度書き換え領域502として割り当てる。
【0034】
高頻度書き換え領域502は、必要量の記憶部50を確保した上で、その数倍分の容量からなる空き領域を有するものとされる。この空き領域は、記憶部50の第1記憶ブロック51又は第2記憶ブロック52へのデータ書き込み回数が所定回数(データ書き込み耐久回数のn分の1となる回数、例えば、書き込み耐久回数が約10万回のときに1000回など)に達した場合に、それまで記憶部50として使用していた領域に代えて、新たに記憶部50として使用される領域である。この空き領域の容量を、データ書き込み耐久回数と、データ更新回数(予測値)とに基づいて決定すれば、メモリ装置1全体の寿命を所望の期間に設定することが可能である。
【0035】
また、管理データ管理領域503には、高頻度書き換え領域502として使用される領域の先頭番地及び最終番地と、記憶部50へのデータ書き込み回数が上記所定回数に達した場合に新たな記憶部50として使用する候補領域の番地と、記憶部50として現在使用中の領域のインデックス番地(先頭番地)のデータが記憶されている。
【0036】
例えば、図9に示すように、管理データ記憶領域503の番地0x1000〜番地0x10ffを2つの領域に区分し、番地0x1000〜番地0x107fを記憶部50の管理データが記憶される通常記憶領域とし、番地0x1080〜番地0x10ffを通常記憶領域と同様の管理データが記憶される復旧用の記憶領域に設定する。そして、通常記憶領域においては、番地0x1000〜0x1001に高頻度書き換え領域502の先頭番地が記憶され、番地0x1002〜0x1003に高頻度書き換え領域502の最終番地が記憶されている。番地0x1004〜番地0x1005には、記憶部50内のいずれかの記録ブロックへのデータ書き込み回数が所定回数に達したときに、次に新たな記憶部として使用する候補領域の番地が記憶されている。また、番地0x1006〜0x1007、番地0x1008〜0x1009、番地0x100a〜0x100b、番地0x100c〜0x100d、番地0x100e〜0x100fは、現在記憶部50として使用されている領域の番地がそれぞれ記憶されている。なお、番地0x1080〜0x10ffの復旧用の記憶領域にも同様のデータが記憶され、通常記憶領域と同様のデータ書き込みが行われるようになっている。
【0037】
具体的なデータ書き込み処理について図10を参照して説明する。あるデータについて更新の必要が生じた場合、当該データの書き込まれる記憶部50が、高頻度書き換え領域502内の記憶部50であるか否かが判断される(S31)。当該記憶部50が低頻度書き換え領域501内の記憶部50である場合は(S31でNO)、記憶部50内の第1記憶ブロック51及び第2記憶ブロック52の両方に最新のデータが書き込まれ(S32)、処理は終了する。
【0038】
更新すべきデータの書き込まれる記憶部50が、高頻度書き換え領域502内の記憶部50である場合は(S31でYES)、所定時間(上記第2実施形態で示した時間と同様)が経過するまで当該記憶部50へのデータの書き込みが控えられる(S33)。所定時間に達すると(S33でYES)、当該記憶部50内の第1記憶ブロック51又は第2記憶ブロック52に対するデータ書き込み回数が所定回数を超えているか否かが判断される(S34)。当該記憶部50の第1記憶ブロック51又は第2記憶ブロック52に対するデータ書き込み回数がいずれも所定回数を超えていない場合は(S34でNO)、前回データが書き込まれていない方の記憶ブロックに、所定時間内にデータ更新の必要が発生した複数のデータがまとめて一度に書き込まれる(S35)。
【0039】
S34において、記憶部50の第1記憶ブロック51又は第2記憶ブロック52のいずれかに対するデータ書き込み回数が、上述した所定回数(データ書き込み耐久回数のn分の1となる回数、例えば、書き込み耐久回数が約10万回のときに1000回など)を超えている場合は(S34でYES)、管理データ記憶領域503から、次に新たな記憶部50として使用する候補領域を示すインデックス番地が読み出され(S36)、この読み出したインデックス番地が示す領域を新たな記憶部50として書き込み対象のデータが書き込まれる(S37)。この場合、新たな記憶部50に対しては最初のデータ書き込みとなるので、新たな記憶部50の第1記憶ブロック51及び第2記憶ブロック52の両方に当該データが書き込まれる。そして、それまで管理データ記憶領域503に記憶されていた記憶部50として使用中の領域を示すインデックス番地が、S37で新たに記憶部50とした領域を示すインデックス番地に書き換えられる(S38)。
【0040】
続いて、次に記憶部50として使用する新たな候補領域を示すインデックス番地が検索される(S39)。すなわち、高頻度書き換え領域502の先頭番地から最終番地(これらの番地は管理データ記憶領域503に記憶されている)に向かって順に、記憶部50として現在使用されておらず、過去にも使用されたことがない領域を示すインデックス番地を検索する。また、高頻度書き換え領域502の最終番地まで検索しても、未使用の領域を示すインデックス番地が見つからない場合は先頭番地に戻り、この先頭番地から最終番地に向かって順に、過去に記憶部50として使用された経緯はあるが、現在は記憶部50として使用されていない領域を示すインデックス番地(データ書き込み回数が耐久回数に達していない領域)を探し出す。そして、管理データ記憶領域503に記憶されている、次の記憶部50として使用する候補領域を示すインデックス番地が、当該検索によって見つけ出したインデックス番地に書き換えられる(S40)。これにより、次にデータ書き込み回数が所定回数に達した記憶部50が発生した場合に、このインデックス番地に基づいて新たな記憶部50として使用する領域を特定することができる。
【0041】
また、このS39及びS40の記憶部50として使用する新たな候補領域のインデックス番地の検索及び書き換え処理は、記憶部50へのデータ書き込み回数がデータ書き込み耐久回数に達するまで行われる。すなわち、データ書き込み耐久回数のn分の1を上記所定回数として記憶部を別の領域に移す場合、同一の領域がn回まで記憶部として繰り返し使用される。
【0042】
なお、本発明は上記実施の形態の構成に限られず種々の変形が可能である。例えば、上記実施の形態の図10に示したデータ書き込み処理では、記憶部50へのデータ書き込み回数が、データ書き込み耐久回数のn分の1を上記所定回数として記憶部50を別の領域に移すようにしているが、記憶部50へのデータ書き込み回数が、書き込み耐久回数の限界に達した場合に、記憶部50を別の領域に移すようにしてもよい。
【0043】
また、上記実施形態では、フラッシュROM5へのデータ書き込みを例にして説明しているが、本発明はデータ書き込み回数に限界があるメモリであれば、フラッシュROM以外のメモリにも適用可能である。
【0044】
【発明の効果】
以上のように請求項1に記載の発明によれば、データ更新時には、2つの記憶ブロックのうち、1つの記憶ブロックのみを使用してデータを書き込むようにし、従来のように同一データを両方の記憶ブロックに書き込むことは行わないので、データ更新時における各記憶ブロックへの書き込み回数が2分の1に低減する。これにより、各記憶ブロックの寿命を2倍に延ばすことができるので、データ保存の信頼性を保持しつつ、メモリ装置全体としてその寿命を2倍に延ばすことができる。
【0045】
また、請求項2に記載の発明によれば、所定時間内に複数のデータ更新の必要が生じた場合には、記憶ブロックに対する複数データの更新を一度の書き込みによって行うため、記憶ブロックに対するデータ書き込み回数を低減することができる。
【0046】
また、請求項3に記載の発明によれば、前回のデータ書き込み時から最新データ書き込み時までの時間間隔が空くと想定される低頻度書き換え領域の記憶部には、データ更新時に2つの記憶領域にデータを同時に書き込んでデータを保持して、両方の記録ブロックに保存されているデータの内容は常に同じ内容にしているので、前回のデータ書き込み時から最新データ書き込み時までの時間間隔が空いた場合であっても、いずれかの記憶ブロックに異常が発生した時に、他方の記録ブロックに保存されているデータを用いて復旧したデータの信頼性が高められる。しかも、低頻度書き換え領域の記憶部はデータ書き込み回数が少ないので、記録ブロックの寿命を縮めてしまうという問題もない。その一方、高頻度書き換え領域の記憶部には、データ更新時に、2つの記憶ブロックのうち、1つの記憶ブロックのみを使用してデータを書き込むことによって、データ更新時における各記憶ブロックへの書き込み回数を2分の1に低減して、各記憶ブロック及びメモリ装置の寿命を2倍に延ばすことができる。
【0047】
また、請求項4に記載の発明によれば、1つの記憶部への書き込み回数がデータ書き込み耐久回数の限界に達したときは、空き領域を新たな記憶部としてデータを保存するので、当該メモリ装置全体としての使用期間を伸ばすことができる。
【0048】
また、請求項5に記載の発明によれば、記憶部への書き込み回数がデータ書き込み耐久回数のn分の1に達すると、記憶部として使用される領域が別の領域に移るので、全ての領域においてデータ書き込み回数が耐久回数に達するまでメモリ装置を使用することができ、メモリ装置の寿命を更に延ばすことができる。
【0049】
すなわち、データ書き込み回数が耐久回数の限界に達するまで記憶部が他の領域に移らない制御を行うと、例えば、データ書き込みの保証回数が約10万回として設定されているメモリが、不具合により実際のデータ書き込み耐久回数が約7万回となってしまった場合には、他の領域がデータ書き込み可能であるにも拘わらず、現在記憶部として使用されている領域へのデータ書き込み回数が約7万回に達すると、その時点でメモリ装置が寿命に至るが、上記請求項5に記載の発明のように、データ書き込み回数が耐久回数の限界に達する前に、記憶部として使用する領域が次々に他の領域に移るようにすれば、全ての領域におけるデータ書き込み回数が約7万回に達するまでメモリ装置を使用することができるので、メモリ装置の寿命を更に延ばすことが可能となる。
【図面の簡単な説明】
【図1】本発明に係るメモリ装置の概略構成を示すブロック図である。
【図2】フラッシュROMへのデータ書き込み例を概念的に示した図であり、(a)はデータ書き込み前の状態を示す図、(b)はデータ書き込み後の状態を示す図、(c)は更なるデータ書き込みを行った状態を示す図である。
【図3】データ更新処理の第1実施形態を示すフローチャートである。
【図4】フラッシュROMへのデータ書き込みの第2実施形態の例を概念的に示した図であり、(a)はデータ書き込み前の状態を示す図、(b)(c)は所定時間経過前のデータ書き込み待ちの状態を示す図、(d)は所定時間経過後にデータ書き込みを行った状態を示す図である。
【図5】データ更新処理の第2実施形態を示すフローチャートである。
【図6】書き換え頻度別にフラッシュROMの記憶領域を区分した状態を示す図である。
【図7】データ更新処理の第3実施形態を示すフローチャートである。
【図8】第4実施形態に用いられるフラッシュROMの領域区分を示す図である。
【図9】フラッシュROM内の管理データ記憶領域の内容を示す図である。
【図10】データ更新処理の第4実施形態を示すフローチャートである。
【符号の説明】
1 メモリ装置
2 制御部
50 記憶部
51 第1記憶ブロック
52 第2記憶ブロック
501 低頻度記憶領域
502 高頻度記憶領域
503 管理データ記憶領域[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a memory device in which the same type of data is written to two storage blocks in order to increase the reliability of data storage.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, an image forming apparatus or the like is provided with a non-volatile memory device (for example, a flash ROM or the like) such as an EEPROM for storing various data relating to the operation state. This memory device is provided with two storage areas: a normal storage area for storing various data in a normal state, and a backup storage area for data recovery when an abnormality occurs in the data storage state. Sometimes the same data is written to each of the two storage areas.
[0003]
Further, in the prior art document, the data written in the first memory 301 is written at a predetermined timing in the second memory 300 storing the control program, and the data is stored in the second memory 300 as necessary. Also, a memory device has been proposed in which the reliability of data storage is improved by writing data into the first memory 301 (for example, see Patent Document 1).
[0004]
[Patent Document 1]
JP-A-11-31107
[0005]
[Problems to be solved by the invention]
However, in a memory device in which data is written to both the normal storage area and the backup storage area at the time of data update, the number of times of writing data to both of the two areas is large, and the life of both of the two areas is long. As a result, there is a problem that the life of the entire memory device is shortened.
[0006]
Further, the memory device disclosed in Patent Document 1 can easily recover data using the data stored in the second memory 300 when the first memory 301 is destroyed. The first memory 301 composed of a non-volatile memory device such as that described above cannot be used when the limit of the endurance of writing is reached by repeating data writing many times. From the viewpoint of extending the life of the memory, it is preferable to reduce the number of times of data writing. However, the memory device disclosed in Patent Document 1 does not solve such a problem.
[0007]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and has as its object to provide a memory device having an extended life while maintaining the reliability of data storage.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to claim 1 includes a storage unit having two storage blocks in which the same type of data is stored;
Data write control means for writing data to be stored in one of the storage blocks at the time of data update, and writing data to be stored to a storage block to which data has not been previously written at the time of new data update;
Is a memory device provided with.
[0009]
In this configuration, when updating data, data is written using only one of the two storage blocks, and the same data is not written to both storage blocks as in the conventional case. The number of times of writing to each storage block at the time of updating is reduced to half. As a result, the life of each memory block can be doubled, so that the life of the memory device as a whole can be doubled while maintaining the reliability of data storage. In this configuration, the latest data cannot be recovered if an abnormality occurs on the storage block side where the latest data is stored. However, when data that is frequently updated in a short time is held, the difference is Minor, no adverse effects.
[0010]
According to a second aspect of the present invention, in the memory device according to the first aspect, the data write control unit is configured to perform a predetermined time period when a data update is required for any one of the storage blocks. When a certain period of time elapses and a plurality of data need to be updated within the predetermined time, the updating of the plurality of data to this storage block is executed by one writing.
[0011]
According to this configuration, when it becomes necessary to update a plurality of data within a predetermined time, the updating of the plurality of data to the storage block is performed by writing once, so that the number of times of writing data to the storage block can be reduced. it can.
[0012]
According to a third aspect of the present invention, in the memory device according to the first or second aspect, the area used as the storage unit is a low-frequency area used as a storage unit with a low data update frequency. A rewrite area and a high-frequency rewrite area used as a storage unit with a high data update frequency;
The data writing control means simultaneously writes the storage target data into the two storage blocks in the storage unit at the time of data update for the storage unit in the low-frequency rewrite area, and writes the data to the storage unit in the high-frequency write area. On the other hand, when data is updated, the storage target data is written to any of the storage block areas in the storage unit, and when new data is updated, the storage target data is written to the storage block to which the previous data has not been written.
[0013]
According to this configuration, data is simultaneously written to two storage areas at the time of data update in the storage unit of the low-frequency rewrite area in which a time interval from the previous data writing to the latest data writing is assumed to be long. And the contents of the data stored in both recording blocks are always the same, so even if there is a time interval from the last data write to the latest data write, When an abnormality occurs in one of the storage blocks, the reliability of the data restored using the data stored in the other recording block is improved. In addition, since the number of times of data writing is small in the storage unit in the low-frequency rewrite area, there is no problem that the life of the recording block is shortened. On the other hand, by writing data to only the storage block of the two storage blocks at the time of data update, the number of times of writing to each storage block at the time of data update is updated. Can be reduced by half, and the life of each storage block and memory device can be doubled.
[0014]
According to a fourth aspect of the present invention, there is provided the memory device according to any one of the first to third aspects, further comprising a free area other than an area used as the storage unit,
When the number of times of writing to the storage unit reaches the limit of the number of durable data writes, the data writing control unit replaces the empty area with a new storage unit instead of the area previously used as the storage unit. Is used.
[0015]
According to this configuration, when the number of times of writing to one storage unit reaches the limit of the durable number of times of data writing, the data is stored as a new storage unit with an empty area, so that the usage period of the entire memory device is reduced. Can be stretched.
[0016]
According to a fifth aspect of the present invention, there is provided the memory device according to any one of the first to third aspects, further comprising an empty area other than an area used as the storage unit,
When the number of times of writing to the storage unit has reached 1 / n of the number of durable times of data writing, the data writing control unit replaces the empty region with a new one instead of the area previously used as the storage unit. When used as a storage unit and there is no free space, an area that was previously used as a storage unit and is not currently used as a storage unit is used as a free space as a new storage unit, The same area is repeatedly used as a storage unit up to n times.
[0017]
According to this configuration, when the number of times of writing to the storage unit reaches 1 / n of the number of times of durable data writing, the area used as the storage unit is shifted to another area. The memory device can be used up to the number of times, and the life of the memory device can be further extended.
[0018]
That is, if control is performed so that the storage unit does not move to another area until the number of times of data writing reaches the limit of the number of endurance times, for example, a memory in which the guaranteed number of times of data writing is set to about 100,000 times is When the data write endurance count of the data storage area reaches about 70,000 times, the data write count for the area currently used as the storage unit is reduced to about 70, even though data can be written to other areas. When the number of times reaches 10,000, the memory device reaches the end of its life. However, as in the invention according to the fifth aspect, before the number of times of data writing reaches the limit of the number of endurance times, the area used as the storage unit is successively increased. If the area is moved to another area, the memory device can be used until the number of times of data writing in all the areas reaches about 70,000 times, so that the life of the memory device is further improved. It can be extended to become.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a memory device according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a schematic configuration of a memory device according to the present invention. A memory device 1 according to the present invention includes a control unit (data write control means) 2 for controlling writing and reading of data to and from a
[0020]
2A and 2B are diagrams conceptually illustrating an example of data writing to the
[0021]
In the initial state of the flash ROM 5 (FIG. 2A), if it is necessary to rewrite the data (YES in S1), the data is written to either the
[0022]
If it is necessary to further rewrite the data (YES in S3), the data is written to the storage block in which the previous data has not been written (S4). For example, when it becomes necessary to rewrite
[0023]
Thereafter, if it is necessary to further rewrite the data, it is determined whether the number of times of writing data in the
[0024]
Next, a description will be given of a second embodiment of the process of updating the data in the
[0025]
In this embodiment, data writing to the
[0026]
For example, assuming that the next storage area in which data is to be written is the first storage area, data 1 is “0” and
[0027]
Then, a predetermined time from the time when the necessity of the update occurs (a time period in which it is assumed that no trouble occurs even if the data is not immediately written, for example, a few seconds when the number of prints in the image forming apparatus is stored). (S13: YES), the data is updated to the latest contents (S14), but if the data needs to be updated separately within this predetermined time (see, for example, FIG. 4). As shown in (c), the
[0028]
Next, a third embodiment of the data update processing of the
[0029]
For example, the area from the address 0x0000 to the address 0x1000 of the
[0030]
When the data needs to be updated (YES in S21), it is determined whether the writing of the data that needs to be updated is performed in the
[0031]
In the
[0032]
Next, a fourth embodiment of the data update processing of the
[0033]
The
[0034]
The high-
[0035]
The management
[0036]
For example, as shown in FIG. 9, address 0x1000 to address 0x10ff of the management
[0037]
A specific data write process will be described with reference to FIG. When it is necessary to update certain data, it is determined whether or not the
[0038]
If the
[0039]
In S34, the number of times of data writing to either the
[0040]
Subsequently, an index address indicating a new candidate area to be next used as the
[0041]
The search and rewrite processing of the index address of the new candidate area used as the
[0042]
Note that the present invention is not limited to the configuration of the above embodiment, and various modifications are possible. For example, in the data writing process shown in FIG. 10 of the above embodiment, the number of times of data writing to the
[0043]
Further, in the above embodiment, the data writing to the
[0044]
【The invention's effect】
As described above, according to the first aspect of the present invention, when updating data, data is written using only one of the two storage blocks, and the same data is written to both of the two storage blocks as in the related art. Since data is not written to the storage block, the number of times of writing to each storage block at the time of updating data is reduced to half. As a result, the life of each memory block can be doubled, so that the life of the memory device as a whole can be doubled while maintaining the reliability of data storage.
[0045]
According to the second aspect of the present invention, when a plurality of data needs to be updated within a predetermined time, a plurality of data is updated in the storage block by writing once, so that the data writing to the storage block is performed. The number of times can be reduced.
[0046]
According to the third aspect of the present invention, the storage unit of the low-frequency rewrite area, which is assumed to have a long time interval from the last data write to the latest data write, has two storage areas at the time of data update. Since the data is simultaneously written and held, and the contents of the data stored in both recording blocks are always the same, the time interval from the last data writing to the latest data writing is open. Even in this case, when an abnormality occurs in one of the storage blocks, the reliability of the data recovered using the data stored in the other recording block can be improved. In addition, since the number of times of data writing is small in the storage unit in the low-frequency rewrite area, there is no problem that the life of the recording block is shortened. On the other hand, by writing data to only the storage block of the two storage blocks at the time of data update, the number of times of writing to each storage block at the time of data update is updated. Can be reduced by half, and the life of each storage block and memory device can be doubled.
[0047]
According to the fourth aspect of the present invention, when the number of times of writing to one storage unit reaches the limit of the durable number of times of data writing, data is stored as a new storage unit in an empty area. The use period of the entire apparatus can be extended.
[0048]
According to the fifth aspect of the present invention, when the number of times of writing to the storage unit reaches 1 / n of the durable number of data writing, the area used as the storage unit moves to another area. The memory device can be used until the number of times of data writing reaches the endurance number in the area, and the life of the memory device can be further extended.
[0049]
That is, if control is performed so that the storage unit does not move to another area until the number of times of data writing reaches the limit of the number of endurance times, for example, a memory in which the guaranteed number of times of data writing is set to about 100,000 times is When the data write endurance count of the data storage area reaches about 70,000 times, the data write count for the area currently used as the storage unit is reduced to about 70, even though data can be written to other areas. When the number of times reaches 10,000, the memory device reaches the end of its life. However, as in the invention according to the fifth aspect, before the number of times of data writing reaches the limit of the number of endurance times, the area used as the storage unit is successively increased. If the area is moved to another area, the memory device can be used until the number of times of data writing in all the areas reaches about 70,000 times, so that the life of the memory device is further improved. It can be extended to become.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a memory device according to the present invention.
2A and 2B are diagrams conceptually illustrating an example of data writing to a flash ROM, where FIG. 2A illustrates a state before data writing, FIG. 2B illustrates a state after data writing, and FIG. FIG. 7 is a diagram showing a state in which further data writing has been performed.
FIG. 3 is a flowchart illustrating a first embodiment of a data update process.
FIGS. 4A and 4B are diagrams conceptually showing an example of a second embodiment of writing data to a flash ROM, where FIG. 4A shows a state before data writing, and FIGS. FIG. 9D is a diagram illustrating a state of waiting for previous data writing, and FIG. 9D is a diagram illustrating a state of performing data writing after a predetermined time has elapsed.
FIG. 5 is a flowchart showing a second embodiment of the data update process.
FIG. 6 is a diagram showing a state where storage areas of a flash ROM are classified according to rewriting frequency.
FIG. 7 is a flowchart illustrating a third embodiment of the data update process.
FIG. 8 is a diagram showing area divisions of a flash ROM used in a fourth embodiment.
FIG. 9 is a diagram showing contents of a management data storage area in a flash ROM.
FIG. 10 is a flowchart showing a fourth embodiment of the data update process.
[Explanation of symbols]
1 Memory device
2 Control unit
50 storage unit
51 1st memory block
52 Second memory block
501 Infrequent storage area
502 High-frequency storage area
503 Management data storage area
Claims (5)
データ更新時には前記記憶ブロックの一方に保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むデータ書き込み制御手段と
を備えたことを特徴とするメモリ装置。A storage unit having two storage blocks in which the same type of data is stored;
Data write control means for writing data to be stored in one of the storage blocks when updating data, and writing data to be stored in a storage block to which data has not been previously written when updating new data. Memory device.
前記データ書き込み制御手段は、前記低頻度書き換え領域内の記憶部に対しては、データ更新時に保存対象データを記憶部内の2つの記憶ブロックにそれぞれ同時に書き込み、前記高頻度書き込み領域内の記憶部に対しては、データ更新時に記憶部内の各記憶ブロック領域のいずれかに保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むことを特徴とする請求項1又は請求項2に記載のメモリ装置。The area used as the storage unit includes a low-frequency rewrite area used as a storage unit with a low data update frequency, and a high-frequency rewrite area used as a storage unit with a high data update frequency.
The data writing control means simultaneously writes the storage target data into the two storage blocks in the storage unit at the time of data update for the storage unit in the low-frequency rewrite area, and writes the data to the storage unit in the high-frequency write area. On the other hand, at the time of data update, the storage target data is written to any of the storage block areas in the storage unit, and at the time of new data update, the storage target data is written to the storage block to which the previous data has not been written. The memory device according to claim 1 or 2, wherein
前記データ書き込み制御手段は、前記記憶部への書き込み回数がデータ書き込み耐久回数の限界に達した場合には、それまで記憶部として使用していた領域に代えて、前記空き領域を新たな記憶部として用いることを特徴とする請求項1乃至請求項3のいずれかに記載のメモリ装置。An empty area other than the area used as the storage unit is provided,
When the number of times of writing to the storage unit reaches the limit of the number of durable data writes, the data writing control unit replaces the empty area with a new storage unit instead of the area previously used as the storage unit. 4. The memory device according to claim 1, wherein the memory device is used as a memory device.
前記データ書き込み制御手段は、前記記憶部への書き込み回数がデータ書き込み耐久回数のn分の1に達した場合には、それまで記憶部として使用していた領域に代えて前記空き領域を新たな記憶部として使用し、空き領域が無くなったときは、以前に記憶部として使用されていた領域であって、現在は記憶部として使用されていない領域を空き領域として新たな記憶部に使用し、同一の領域をn回まで記憶部として繰り返し使用することを特徴とする請求項1乃至請求項3のいずれかに記載のメモリ装置。An empty area other than the area used as the storage unit is provided,
When the number of times of writing to the storage unit has reached 1 / n of the number of durable times of data writing, the data writing control unit replaces the empty region with a new one instead of the area previously used as the storage unit. When used as a storage unit and there is no free space, an area that was previously used as a storage unit and is not currently used as a storage unit is used as a free space as a new storage unit, 4. The memory device according to claim 1, wherein the same area is repeatedly used as a storage unit up to n times.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003007259A JP2004220343A (en) | 2003-01-15 | 2003-01-15 | Memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003007259A JP2004220343A (en) | 2003-01-15 | 2003-01-15 | Memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004220343A true JP2004220343A (en) | 2004-08-05 |
Family
ID=32897412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003007259A Pending JP2004220343A (en) | 2003-01-15 | 2003-01-15 | Memory device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004220343A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009116195A1 (en) * | 2008-03-21 | 2009-09-24 | Kabushiki Kaisha Toshiba | Data updating method, memory system and memory device |
CN112053652A (en) * | 2019-06-05 | 2020-12-08 | 联咏科技股份有限公司 | Time schedule controller device and data read-write method |
-
2003
- 2003-01-15 JP JP2003007259A patent/JP2004220343A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009116195A1 (en) * | 2008-03-21 | 2009-09-24 | Kabushiki Kaisha Toshiba | Data updating method, memory system and memory device |
US8527730B2 (en) | 2008-03-21 | 2013-09-03 | Kabushiki Kaisha Toshiba | Data updating method, memory system and memory device |
CN112053652A (en) * | 2019-06-05 | 2020-12-08 | 联咏科技股份有限公司 | Time schedule controller device and data read-write method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7783851B2 (en) | Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices | |
JP3544859B2 (en) | Secondary storage device using nonvolatile semiconductor memory | |
JP5035636B2 (en) | Moving sectors in blocks in flash memory | |
US7774390B2 (en) | Apparatus for collecting garbage block of nonvolatile memory according to power state and method of collecting the same | |
KR100377301B1 (en) | Use of erasable non-volatile memory for storage of changing information | |
JP4215746B2 (en) | Information processing apparatus and life monitoring method | |
TWI436369B (en) | Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same | |
JP2010020586A (en) | Data processing device | |
JP2008033801A (en) | Memory data management device | |
JP2000222292A (en) | Data managing method utilizing flash memory | |
JP4586469B2 (en) | MEMORY CONTROL DEVICE, MEMORY CONTROL METHOD, PROGRAM | |
JP4488048B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP4235646B2 (en) | Memory controller and flash memory system | |
JP2009093528A (en) | Memory data management apparatus | |
JP2004220343A (en) | Memory device | |
JP5929398B2 (en) | Nonvolatile semiconductor memory device and control method thereof | |
JP5521477B2 (en) | Memory control device | |
JP2007094767A (en) | Memory controller and memory control method | |
JP4019306B2 (en) | Recording method to EEPROM | |
JP2002334586A (en) | Information storing method using flash memory and information storing program | |
JP2008225922A (en) | Nonvolatile storage device | |
JP2014112419A (en) | Mobile terminal apparatus, software update method, operation control method, and program | |
JP2007219793A (en) | Writing method of flash memory | |
JP2008065646A (en) | Flash memory control system and control method thereof | |
JP2005222531A (en) | Data recording apparatus and data recording method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050310 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080801 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080826 |