JP2004220343A - Memory device - Google Patents

Memory device Download PDF

Info

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
Application number
JP2003007259A
Other languages
Japanese (ja)
Inventor
Mutsumi Tanonaka
睦 田野中
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 Corp
Kyocera Document Solutions Inc
Original Assignee
Kyocera Corp
Kyocera Mita Corp
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 Corp, Kyocera Mita Corp filed Critical Kyocera Corp
Priority to JP2003007259A priority Critical patent/JP2004220343A/en
Publication of JP2004220343A publication Critical patent/JP2004220343A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory device whose life is extended while the reliability of data storage of the device is maintained. <P>SOLUTION: A storage part 50 is provided with a first storage block 51 and a second storage block 52 as an area for storing data of the same kind, and when the data are updated, the data to be stored are written in either the first storage block 51 or the second storage block 52, and when data are newly updated, the data to be stored are written in the other storage block where the previous data are not written. <P>COPYRIGHT: (C)2004,JPO&NCIPI

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 flash ROM 5, and a ROM 3 for storing a control program and the like for writing and reading data. A RAM 4 used as a work area of the control unit 2, a flash ROM 5 for storing data that can be repeatedly erased and written for each block and whose contents need to be retained regardless of whether the power is on or off, A timer 6 for counting the passage of time. These are connected by a bus 7 so that data transfer required for data writing and reading and various operation controls can be performed.
[0020]
2A and 2B are diagrams conceptually illustrating an example of data writing to the flash ROM 5, in which FIG. 2A illustrates a state before data writing, FIG. 2B illustrates a state after data writing, and FIG. FIG. 3 is a diagram showing a state in which further data writing is performed, and FIG. 3 is a flowchart showing a first embodiment of the data updating process. The flash ROM 5 includes a storage unit 50 including a first storage block 51 and a second storage block 52. The same data is stored in the first storage block 51 and the second storage block 52, and plays a role of backing up another storage area. A case where two types of data (data 1 and data 2) are written and stored in each of the first storage block 51 and the second storage block 52 will be described.
[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 first storage block 51 or the second storage block 52 ( S2). For example, when it is necessary to rewrite the numerical value of data 1 to “2”, data 1 is written to “2” only in the first storage block 51, and data is written to the second storage block 52. Is not performed (FIG. 2B).
[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 data 2 to “3”, the process of rewriting data 1 to “2” and data 2 to “3” is performed in the second storage block 52 in which the data has not been previously written. (FIG. 2C). That is, the data that has been written to the first storage block 51 (data 1 = 2) and the data that needs to be rewritten this time (data 2 = 3) is written to the second storage block 52.
[0023]
Thereafter, if it is necessary to further rewrite the data, it is determined whether the number of times of writing data in the storage unit 50 has reached a predetermined value (a numerical value of the limit of the number of times of endurance of writing) (S5). Until the number of data blocks reaches the value, the process of rewriting the storage block in which data has not been written last time to the latest data content is repeated (NO in S5). If the number of times of data writing has reached the predetermined value (YES in S5), the process ends.
[0024]
Next, a description will be given of a second embodiment of the process of updating the data in the flash ROM 5. FIGS. 4A and 4B are diagrams conceptually showing an example of the second embodiment of writing data to the flash ROM 5, in which FIG. 4A shows a state before data writing, and FIGS. FIG. 7D is a diagram showing a state of waiting for data writing, and FIG. 7D is a diagram showing a state of writing data after a predetermined time has elapsed. FIG. 5 is a flowchart showing a second embodiment of the data update process.
[0025]
In this embodiment, data writing to the flash ROM 5 waits until a predetermined time elapses from the time when the necessity of data update occurs, and collects each data that needs to be updated at the time when the predetermined time elapses. Write at once. The first embodiment differs from the first embodiment in that, of the first storage block 51 and the second storage block 52 of the storage unit 50, only the storage area in which data has not been written previously is rewritten to the latest data content. Is the same as
[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 data 2 is “3” in the first storage block 51 as shown in FIG. If it is necessary to update the data 1 to '1' when the data is stored as' (YES in S11), the timer 6 starts measuring the time from the time when the data needs to be updated (S12). The process of immediately rewriting data 1 to "1" is not performed (FIG. 4B).
[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 data 2 is updated to “8”), the process of rewriting the data 1 to “1” and the process of rewriting the data 2 to “8” are performed by one write (FIG. 4 ( d)). According to the data writing process according to the second embodiment, a plurality of data updating processes occurring within a predetermined time are performed by one writing, so that the number of times of writing data to the storage area can be reduced.
[0028]
Next, a third embodiment of the data update processing of the flash ROM 5 will be described. FIG. 6 is a diagram showing a state in which storage areas of the flash ROM 5 are divided according to rewriting frequency, and FIG. 7 is a flowchart showing a third embodiment of the data update process. The flash ROM 5 is divided into a low-frequency rewrite area 501 in which data is written at a low frequency and a high-frequency rewrite area 502 in which data is written at a high frequency. The storage unit 50 is provided in each of the low-frequency rewrite area 501 and the high-frequency rewrite area 502.
[0029]
For example, the area from the address 0x0000 to the address 0x1000 of the flash ROM 5 is set as the low-frequency rewrite area 501, and the area from the address 0x1001 to the address 0xffff is set as the high-frequency rewrite area 502. Examples of the data that is rewritten infrequently include the serial number of the image forming apparatus provided with the memory device 1 and the setting data of the fixing temperature of the fixing device. Since these data are hardly updated until the life of the image forming apparatus, these data having almost no chance of updating are stored in the low-frequency storage area 501.
[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 storage unit 50 provided in the low-frequency rewrite area 501 or the high-frequency rewrite area 502. It is determined (S22). If it is necessary to update the data in the storage unit 50 in the low-frequency rewriting area 501 (the low-frequency rewriting area in S22), the same data to be saved is stored in the first storage as in the conventional data writing process. Data is simultaneously written to each of the block 51 and the second storage block 52 (S23). If it is necessary to update the data in the storage unit 50 in the high-frequency write area 502 (the high-frequency rewrite area in S22), the data to be saved is one of the first storage block 51 and the second storage block 52. When data is written to only one of them and a new data update needs to be performed, the latest data content is stored in the storage area of the first storage block 51 and the second storage block 52 to which the previous data has not been written. The writing process is performed (S24). That is, a write process similar to the data write process described in the first embodiment is performed.
[0031]
In the flash ROM 5 divided into the low-frequency rewrite area 501 and the high-frequency rewrite area 502 as described above, a predetermined time is set when data need to be updated, similarly to the data write processing described in the second embodiment. After a lapse of time, a plurality of data rewrites may be collectively performed by one write.
[0032]
Next, a fourth embodiment of the data update processing of the flash ROM 5 will be described. FIG. 8 is a diagram showing the area division of the flash ROM 5 used in the fourth embodiment, FIG. 9 is a diagram showing the contents of a management data storage area in the flash ROM 5, and FIG. 10 is a flowchart showing a fourth embodiment of the data update process. It is.
[0033]
The flash ROM 5 according to this embodiment stores a low-frequency rewrite area 501 in which data is written at a low frequency, a high-frequency rewrite area 502 in which data is written at a high frequency, and various types of management data. It is divided into a management data storage area 503. For example, as shown in FIG. 8, addresses 0x0000 to 0x0fff of the storage area of the flash ROM 5 are defined as a low-frequency rewrite area 501, addresses 0x1000 to 0x10ff are defined as a management data storage area 503, and addresses 0x1100 to 0xffff are defined as a high-frequency rewrite area 502. Assign as
[0034]
The high-frequency rewrite area 502 has a free area having a capacity several times as large as a required amount of the storage unit 50. This free area is the number of times that the number of times of data writing to the first storage block 51 or the second storage block 52 of the storage unit 50 is a predetermined number (the number of times that the data writing endurance is 1 / n; When the number of times reaches 1000 times (for example, 1000 times), the area is newly used as the storage unit 50 instead of the area used as the storage unit 50 until then. If the capacity of this free area is determined based on the data write endurance count and the data update count (predicted value), it is possible to set the lifetime of the entire memory device 1 to a desired period.
[0035]
The management data management area 503 includes a start address and an end address of an area used as the high-frequency rewrite area 502 and a new storage unit 50 when the number of times of writing data to the storage unit 50 reaches the predetermined number. And the data of the index address (head address) of the currently used area as the storage unit 50 are stored.
[0036]
For example, as shown in FIG. 9, address 0x1000 to address 0x10ff of the management data storage area 503 is divided into two areas, and addresses 0x1000 to 0x107f are set as a normal storage area where the management data of the storage unit 50 is stored. Address 0x1080 to address 0x10ff is set as a recovery storage area in which management data similar to the normal storage area is stored. In the normal storage area, the top address of the high-frequency rewrite area 502 is stored at addresses 0x1000 to 0x1001, and the last address of the high-frequency rewrite area 502 is stored at addresses 0x1002 to 0x1003. Addresses 0x1004 to 0x1005 store addresses of candidate areas to be used next as new storage units when the number of times of writing data to any of the recording blocks in the storage unit 50 reaches a predetermined number. . The addresses 0x1006 to 0x1007, the addresses 0x1008 to 0x1009, the addresses 0x100a to 0x100b, the addresses 0x100c to 0x100d, and the addresses 0x100e to 0x100f store the addresses of the areas currently used as the storage unit 50, respectively. Note that similar data is also stored in the recovery storage area at addresses 0x1080 to 0x10ff, and the same data writing as in the normal storage area is performed.
[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 storage unit 50 to which the data is written is the storage unit 50 in the high-frequency rewrite area 502 (S31). If the storage unit 50 is the storage unit 50 in the low-frequency rewrite area 501 (NO in S31), the latest data is written to both the first storage block 51 and the second storage block 52 in the storage unit 50. (S32), the process ends.
[0038]
If the storage unit 50 in which the data to be updated is written is the storage unit 50 in the high-frequency rewrite area 502 (YES in S31), a predetermined time (same as the time described in the second embodiment) elapses. Until then, writing of data to the storage unit 50 is refrained (S33). When the predetermined time has been reached (YES in S33), it is determined whether the number of times of writing data to the first storage block 51 or the second storage block 52 in the storage unit 50 exceeds the predetermined number (S34). If the number of times of data writing to the first storage block 51 or the second storage block 52 of the storage unit 50 does not exceed the predetermined number of times (NO in S34), the storage block to which the previous data has not been written is A plurality of pieces of data that need to be updated within a predetermined time are written together at once (S35).
[0039]
In S34, the number of times of data writing to either the first storage block 51 or the second storage block 52 of the storage unit 50 is equal to the predetermined number (the number of times equal to 1 / n of the number of times of data writing endurance, for example, the number of times of writing endurance). If the number exceeds 100,000 times (eg, 1000 times) (YES in S34), an index address indicating a candidate area to be next used as a new storage unit 50 is read from the management data storage area 503. Then, data to be written is written in the area indicated by the read index address as a new storage unit 50 (S37). In this case, since the first data is written to the new storage unit 50, the data is written to both the first storage block 51 and the second storage block 52 of the new storage unit 50. Then, the index address indicating the area being used as the storage unit 50 that has been stored in the management data storage area 503 until then is rewritten to the index address indicating the area newly set as the storage unit 50 in S37 (S38).
[0040]
Subsequently, an index address indicating a new candidate area to be next used as the storage unit 50 is searched (S39). In other words, in order from the first address to the last address (these addresses are stored in the management data storage area 503) of the high-frequency rewrite area 502, they are not currently used as the storage unit 50 but are used in the past. A search is made for an index address indicating an area that has never been found. Further, if an index address indicating an unused area is not found even when the search is performed up to the last address of the high-frequency rewrite area 502, the control returns to the first address, and the storage unit 50 is stored in the past in order from the first address to the last address. An index address (an area where the number of times of data writing has not reached the endurance number) that indicates an area that is not currently used as the storage unit 50 is searched for, although there is a history of being used. Then, the index address indicating the candidate area to be used as the next storage unit 50 stored in the management data storage area 503 is rewritten to the index address found by the search (S40). Accordingly, when the storage unit 50 in which the number of times of data writing has reached the predetermined number occurs next time, an area to be used as a new storage unit 50 can be specified based on the index address.
[0041]
The search and rewrite processing of the index address of the new candidate area used as the storage unit 50 in S39 and S40 is performed until the number of times of data writing to the storage unit 50 reaches the endurance of data writing. That is, when the storage unit is moved to another area with 1 / n of the durable number of data writing set as the predetermined number of times, the same area is repeatedly used as the storage unit up to n times.
[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 storage unit 50 is set to 1 / n of the durable number of data writing, and the storage unit 50 is moved to another area as the predetermined number of times. However, the storage unit 50 may be moved to another area when the number of times of writing data to the storage unit 50 reaches the limit of the number of times of endurance of writing.
[0043]
Further, in the above embodiment, the data writing to the flash ROM 5 has been described as an example, but the present invention can be applied to a memory other than the flash ROM as long as the memory has a limited number of times of data writing.
[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)

同種のデータが保存される2つの記憶ブロックを有する記憶部と、
データ更新時には前記記憶ブロックの一方に保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むデータ書き込み制御手段と
を備えたことを特徴とするメモリ装置。
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.
前記データ書き込み制御手段は、前記いずれかの記憶ブロックに対してデータ更新の必要が生じたときは所定時間経過を待ち、この所定時間内に複数のデータを更新する必要が生じた場合には、この記憶ブロックに対する複数のデータの更新を一度の書き込みで実行することを特徴とする請求項1に記載のメモリ装置。The data writing control unit waits for a predetermined time to elapse when the data update is required for any of the storage blocks, and when it is necessary to update a plurality of data within the predetermined time, 2. The memory device according to claim 1, wherein the updating of the plurality of data in the storage block is performed by one write. 前記記憶部として使用される領域が、データ更新頻度の低い記憶部として使用される低頻度書き換え領域と、データ更新頻度の高い記憶部として使用される高頻度書き換え領域とからなり、
前記データ書き込み制御手段は、前記低頻度書き換え領域内の記憶部に対しては、データ更新時に保存対象データを記憶部内の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.
JP2003007259A 2003-01-15 2003-01-15 Memory device Pending JP2004220343A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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