(57)【要約】【課題】データ保存の信頼性を保持しつつ、寿命が延長されたメモリ装置を提供する。【解決手段】同種のデータを保存する領域として第１記憶ブロック５１及び第２記憶ブロック５２を有する記憶部５０に対して、データ更新時には第１記憶ブロック５１又は第２記憶ブロック５２の一方に保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込む。【選択図】        図２
2004220343.tif 000002
【特許請求の範囲】
【請求項１】
同種のデータが保存される２つの記憶ブロックを有する記憶部と、
データ更新時には前記記憶ブロックの一方に保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むデータ書き込み制御手段と
を備えたことを特徴とするメモリ装置。
【請求項２】
前記データ書き込み制御手段は、前記いずれかの記憶ブロックに対してデータ更新の必要が生じたときは所定時間経過を待ち、この所定時間内に複数のデータを更新する必要が生じた場合には、この記憶ブロックに対する複数のデータの更新を一度の書き込みで実行することを特徴とする請求項１に記載のメモリ装置。
【請求項３】
前記記憶部として使用される領域が、データ更新頻度の低い記憶部として使用される低頻度書き換え領域と、データ更新頻度の高い記憶部として使用される高頻度書き換え領域とからなり、
前記データ書き込み制御手段は、前記低頻度書き換え領域内の記憶部に対しては、データ更新時に保存対象データを記憶部内の２つの記憶ブロックにそれぞれ同時に書き込み、前記高頻度書き込み領域内の記憶部に対しては、データ更新時に記憶部内の各記憶ブロック領域のいずれかに保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むことを特徴とする請求項１又は請求項２に記載のメモリ装置。
【請求項４】
前記記憶部として使用する領域以外の空き領域を備え、
前記データ書き込み制御手段は、前記記憶部への書き込み回数がデータ書き込み耐久回数の限界に達した場合には、それまで記憶部として使用していた領域に代えて、前記空き領域を新たな記憶部として用いることを特徴とする請求項１乃至請求項３のいずれかに記載のメモリ装置。
【請求項５】
前記記憶部として使用する領域以外の空き領域を備え、
前記データ書き込み制御手段は、前記記憶部への書き込み回数がデータ書き込み耐久回数のｎ分の１に達した場合には、それまで記憶部として使用していた領域に代えて前記空き領域を新たな記憶部として使用し、空き領域が無くなったときは、以前に記憶部として使用されていた領域であって、現在は記憶部として使用されていない領域を空き領域として新たな記憶部に使用し、同一の領域をｎ回まで記憶部として繰り返し使用することを特徴とする請求項１乃至請求項３のいずれかに記載のメモリ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ保存の信頼性を高めるために、同種のデータが２つの記憶ブロックに書き込まれる方式のメモリ装置に関する。
【０００２】
【従来の技術】
従来、画像形成装置等には、その動作状態に関する各種データを記憶するためにＥＥＰＲＯＭ等の不揮発性のメモリ装置（例えば、フラッシュＲＯＭ等）が備えられている。このメモリ装置には、通常時に各種データが記憶される通常記憶領域と、データ保存状態に異常が発生した時のためのデータ復旧用バックアップ記憶領域の２つの記憶領域が設けられており、データ更新時には同一のデータが上記２つの記憶領域のそれぞれに書き込まれるようになっている。
【０００３】
また、先行技術文献には、第１のメモリ３０１に書き込まれたデータを、所定のタイミングで、制御プログラムが記憶されている第２のメモリ３００に書き込んでおき、必要に応じて当該データを第１のメモリ３０１に書き込むことで、データ保存の信頼性を高めるようにしたメモリ装置も提案されている（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開平１１−３１１０７号公報
【０００５】
【発明が解決しようとする課題】
しかしなから、データ更新時に通常記憶領域とバックアップ記憶領域の両方にデータが書き込まれるメモリ装置は、当該２つの領域のいずれに対してもデータ書き込み回数が多くなり、２つの領域のいずれも寿命が短くなって、結局はメモリ装置全体の寿命が短くなるという問題がある。
【０００６】
また、上記特許文献１に示されたメモリ装置は、第１のメモリ３０１が破壊された場合に、第２のメモリ３００に記憶されているデータを利用して容易にデータを修復できるが、ＥＥＰＲＯＭ等の不揮発性のメモリ装置からなる第１のメモリ３０１は、何度もデータ書き込みを繰り返すことで書き込み耐久回数の限界に達すると使用ができなくなることに変わりはない。メモリの長寿命化の観点からはデータ書き込み回数を低減させることが好ましいが、この特許文献１に示されたメモリ装置では、かかる問題点が解決されていない。
【０００７】
本発明は、上述した問題点を解決するためになされたものであり、データ保存の信頼性を保持しつつ、寿命が延長されたメモリ装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために請求項１に記載の発明は、同種のデータが保存される２つの記憶ブロックを有する記憶部と、
データ更新時には前記記憶ブロックの一方に保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むデータ書き込み制御手段と
を備えたメモリ装置である。
【０００９】
この構成では、データ更新時に、２つの記憶ブロックのうち、１つの記憶ブロックのみを使用してデータを書き込むようにし、従来のように同一データを両方の記憶ブロックに書き込むことは行わないので、データ更新時における各記憶ブロックへの書き込み回数が２分の１に低減する。これにより、各記憶ブロックの寿命を２倍に延ばすことができるので、データ保存の信頼性を保持しつつ、メモリ装置全体としてその寿命を２倍に延ばすことができる。この構成では、最新データが記憶されている記憶ブロック側に異常が生じた場合は最新データを復旧できないことになるが、データ更新が短時間内に頻繁に行われるデータを保持するときにはその差は微少であり、悪影響がない。
【００１０】
また、請求項２に記載の発明は、請求項１に記載のメモリ装置であって、前記データ書き込み制御手段は、前記いずれかの記憶ブロックに対してデータ更新の必要が生じたときは所定時間経過を待ち、この所定時間内に複数のデータを更新する必要が生じた場合には、この記憶ブロックに対する複数のデータの更新を一度の書き込みで実行するものである。
【００１１】
この構成によれば、所定時間内に複数のデータ更新の必要が生じた場合には、記憶ブロックに対する複数のデータの更新を一度の書き込みによって行うため、記憶ブロックに対するデータ書き込み回数を低減することができる。
【００１２】
また、請求項３に記載の発明は、請求項１又は請求項２に記載のメモリ装置であって、前記記憶部として使用される領域が、データ更新頻度の低い記憶部として使用される低頻度書き換え領域と、データ更新頻度の高い記憶部として使用される高頻度書き換え領域とからなり、
前記データ書き込み制御手段は、前記低頻度書き換え領域内の記憶部に対しては、データ更新時に保存対象データを記憶部内の２つの記憶ブロックにそれぞれ同時に書き込み、前記高頻度書き込み領域内の記憶部に対しては、データ更新時に記憶部内の各記憶ブロック領域のいずれかに保存対象データを書き込み、新たなデータ更新時には前回データが書き込まれていない方の記憶ブロックに保存対象データを書き込むものである。
【００１３】
この構成によれば、前回のデータ書き込み時から最新データ書き込み時までの時間間隔が空くと想定される低頻度書き換え領域の記憶部には、データ更新時に２つの記憶領域にデータを同時に書き込んでデータを保持して、両方の記録ブロックに保存されているデータの内容は常に同じ内容にしているので、前回のデータ書き込み時から最新データ書き込み時までの時間間隔が空いた場合であっても、いずれかの記憶ブロックに異常が発生した時に、他方の記録ブロックに保存されているデータを用いて復旧したデータの信頼性が高められる。しかも、低頻度書き換え領域の記憶部はデータ書き込み回数が少ないので、記録ブロックの寿命を縮めてしまうという問題もない。その一方、高頻度書き換え領域の記憶部には、データ更新時に、２つの記憶ブロックのうち、１つの記憶ブロックのみを使用してデータを書き込むことによって、データ更新時における各記憶ブロックへの書き込み回数を２分の１に低減して、各記憶ブロック及びメモリ装置の寿命を２倍に延ばすことができる。
【００１４】
また、請求項４に記載の発明は、請求項１乃至請求項３のいずれかに記載のメモリ装置であって、前記記憶部として使用する領域以外の空き領域を備え、
前記データ書き込み制御手段は、前記記憶部への書き込み回数がデータ書き込み耐久回数の限界に達した場合には、それまで記憶部として使用していた領域に代えて、前記空き領域を新たな記憶部として用いるものである。
【００１５】
この構成によれば、１つの記憶部への書き込み回数がデータ書き込み耐久回数の限界に達したときは、空き領域を新たな記憶部としてデータを保存するので、当該メモリ装置全体としての使用期間を伸ばすことができる。
【００１６】
また、請求項５に記載の発明は、請求項１乃至請求項３のいずれかに記載のメモリ装置であって、前記記憶部として使用する領域以外の空き領域を備え、
前記データ書き込み制御手段は、前記記憶部への書き込み回数がデータ書き込み耐久回数のｎ分の１に達した場合には、それまで記憶部として使用していた領域に代えて前記空き領域を新たな記憶部として使用し、空き領域が無くなったときは、以前に記憶部として使用されていた領域であって、現在は記憶部として使用されていない領域を空き領域として新たな記憶部に使用し、同一の領域をｎ回まで記憶部として繰り返し使用するものである。
【００１７】
この構成によれば、記憶部への書き込み回数がデータ書き込み耐久回数のｎ分の１に達すると、記憶部として使用される領域が別の領域に移るので、全ての領域においてデータ書き込み回数が耐久回数に達するまでメモリ装置を使用することができ、メモリ装置の寿命を更に延ばすことができる。
【００１８】
すなわち、データ書き込み回数が耐久回数の限界に達するまで記憶部が他の領域に移らない制御を行うと、例えば、データ書き込みの保証回数が約１０万回として設定されているメモリが、不具合により実際のデータ書き込み耐久回数が約７万回となってしまった場合には、他の領域がデータ書き込み可能であるにも拘わらず、現在記憶部として使用されている領域へのデータ書き込み回数が約７万回に達すると、その時点でメモリ装置が寿命に至るが、上記請求項５に記載の発明のように、データ書き込み回数が耐久回数の限界に達する前に、記憶部として使用する領域が次々に他の領域に移るようにすれば、全ての領域におけるデータ書き込み回数が約７万回に達するまでメモリ装置を使用することができるので、メモリ装置の寿命を更に延ばすことが可能となる。
【００１９】
【発明の実施の形態】
以下、本発明の一実施形態に係るメモリ装置について図面を参照して説明する。図１は本発明に係るメモリ装置の概略構成を示すブロック図である。本発明に係るメモリ装置１は、フラッシュＲＯＭ５に対するデータの書き込み及び読み出し等の制御を行う制御部（データ書き込み制御手段）２と、このデータ書き込み及び読み出しのための制御プログラム等が記憶されているＲＯＭ３と、制御部２の作業領域として用いられるＲＡＭ４と、データをブロックごとに繰り返して消去及び書き込み可能であって、電源オン又はオフに拘わらず内容保持が必要なデータを記憶するフラッシュＲＯＭ５と、所定時間の経過をカウントするタイマ６とを有している。これらはバス７によって接続されており、データの書き込み及び読み出しや各種動作制御に必要なデータ転送が可能に構成されている。
【００２０】
図２はフラッシュＲＯＭ５へのデータ書き込み例を概念的に示した図であり、（ａ）はデータ書き込み前の状態を示す図、（ｂ）はデータ書き込み後の状態を示す図、（ｃ）は更なるデータ書き込みを行った状態を示す図、図３はデータ更新処理の第１実施形態を示すフローチャートである。フラッシュＲＯＭ５には、第１記憶ブロック５１及び第２記憶ブロック５２からなる記憶部５０が設けられている。これら第１記憶ブロック５１及び第２記憶ブロック５２には同一のデータが保存され、互いに他の記憶領域をバックアップする役割を果たす。これら第１記憶ブロック５１及び第２記憶ブロック５２のそれぞれに、２種類のデータ（データ１及びデータ２）を書き込んで保存する場合について説明する。
【００２１】
フラッシュＲＯＭ５の初期状態において（図２（ａ））、データを書き換える必要が生じた場合は（Ｓ１でＹＥＳ）、第１記憶ブロック５１又は第２記憶ブロック５２のいずれかにデータの書き込みを行う（Ｓ２）。例えば、データ１の数値を‘２’に書き換える必要が生じた場合に、第１記憶ブロック５１のみに対してデータ１を‘２’とする書き込みを行い、第２記憶ブロック５２に対してはデータの書き込みは行わない（図２（ｂ））。
【００２２】
更にデータを書き換える必要が生じた場合（Ｓ３でＹＥＳ）、前回データが書き込まれていない方の記憶ブロックにデータの書き込みが行われる（Ｓ４）。例えば、データ２を‘３’に書き換える必要が生じた場合は、前回データが書き込まれていない方の第２記憶ブロック５２に、データ１を‘２’，データ２を‘３’に書き換える処理が行われる（図２（ｃ））。すなわち、前回第１記憶ブロック５１に書き込んだ内容（データ１＝２）に、今回書き換えの必要がある内容（データ２＝３）を反映した内容のデータを第２記憶ブロック５２に書き込む。
【００２３】
その後、更にデータを書き換える必要が生じた場合には、記憶部５０のデータ書き込み回数が所定値（書き込み耐久回数の限界の数値）に達しているかが判断され（Ｓ５）、データ書き込み回数が所定値に達するまでは、前回データ書き込みが行われていない方の記憶ブロックを最新のデータ内容に書き換える処理を繰り返す（Ｓ５でＮＯ）。データ書き込み回数が所定値に達した場合は（Ｓ５でＹＥＳ）、処理を終了する。
【００２４】
次に、フラッシュＲＯＭ５へのデータ更新処理の第２実施形態を説明する。図４はフラッシュＲＯＭ５へのデータ書き込みの第２実施形態の例を概念的に示した図であり、（ａ）はデータ書き込み前の状態を示す図、（ｂ）（ｃ）は所定時間経過前のデータ書き込み待ちの状態を示す図、（ｄ）は所定時間経過後にデータ書き込みを行った状態を示す図である。図５はデータ更新処理の第２実施形態を示すフローチャートである。
【００２５】
この実施形態では、フラッシュＲＯＭ５へのデータ書き込みは、データ更新の必要が生じた時点から所定時間が経過するまで待ち、所定時間が経過した時点でデータ更新の必要が生じている各データをまとめて一度に書き込むものである。なお、記憶部５０の第１記憶ブロック５１及び第２記憶ブロック５２のうち、前回データ書き込みが行われていない方の記憶領域のみを最新のデータ内容に書き換える処理を行う点は上記第１実施形態と同様である。
【００２６】
例えば、次にデータ書き込みを行う記憶領域が第１記憶領域の場合であるとすると、図４（ａ）に示すように、第１記憶ブロック５１にデータ１が‘０’，データ２が‘３’として記憶されているときにデータ１を‘１’に更新する必要が生じると（Ｓ１１でＹＥＳ）、当該データ更新の必要が生じた時点からタイマ６による時間計測を開始する（Ｓ１２）。即座にはデータ１を‘１’に書き換える処理は行わない（図４（ｂ））。
【００２７】
そして、当該更新の必要が生じた時点から所定時間（即座にデータ書き込みを行わなくても不具合の生じないと想定される時間、例えば、画像形成装置における印刷枚数を記憶させる場合は数秒間とする等）が経過した時点で（Ｓ１３でＹＥＳ）、データを最新の内容に書き換える処理を行うが（Ｓ１４）、この所定時間内に別個にデータ更新の必要が生じていた場合は（例えば、図４（ｃ）に示すように、データ２を‘８’に更新）、これらデータ１を‘１’に書き換える処理及びデータ２を‘８’に書き換える処理を併せて一度の書き込みによって行う（図４（ｄ））。この第２実施形態によるデータ書き込み処理によれば、所定時間内に生じた複数のデータ更新処理を一度の書き込みで行うため、記憶領域へのデータ書き込み回数を低減させることができる。
【００２８】
次に、フラッシュＲＯＭ５のデータ更新処理の第３実施形態を説明する。図６は書き換え頻度別にフラッシュＲＯＭ５の記憶領域を区分した状態を示す図、図７はデータ更新処理の第３実施形態を示すフローチャートである。フラッシュＲＯＭ５は、低頻度でデータの書き込みが行われる低頻度書き換え領域５０１と、高頻度でデータの書き込みが行われる高頻度書き換え領域５０２とに区分される。記憶部５０は低頻度書き換え領域５０１及び高頻度書き換え領域５０２のそれぞれの中に設けられている。
【００２９】
例えば、フラッシュＲＯＭ５の番地０ｘ００００から番地０ｘ１０００までの領域を低頻度書き換え領域５０１とし、番地０ｘ１００１から番地０ｘｆｆｆｆまでの領域を高頻度書き換え領域５０２として設定する。上記低頻度で書き換えられるデータの例としては、メモリ装置１が備えられている画像形成装置の製造番号や定着装置の定着温度の設定データ等があげられる。これらのデータは画像形成装置の寿命に至るまで殆ど更新されないので、これら更新の機会が殆ど無いデータを低頻度記憶領域５０１に記憶させるようにする。
【００３０】
データ更新の必要が生じた場合（Ｓ２１でＹＥＳ）、当該更新の必要のあるデータの書き込みを、低頻度書き換え領域５０１又は高頻度書き換え領域５０２のいずれに設けられている記憶部５０に行うかが判断される（Ｓ２２）。低頻度書き換え領域５０１内の記憶部５０にデータ更新の必要が生じている場合は（Ｓ２２で低頻度書換領域）、従来のデータ書き込み処理と同様に、保存対象となる同一のデータが第１記憶ブロック５１及び第２記憶ブロック５２のそれぞれに同時に書き込まれる（Ｓ２３）。高頻度書き込み領域５０２内の記憶部５０にデータ更新の必要が生じている場合は（Ｓ２２で高頻度書換領域）、保存対象となるデータは第１記憶ブロック５１及び第２記憶ブロック５２のいずれか一方にのみ書き込まれ、新たにデータ更新の必要が生じた場合には、第１記憶ブロック５１及び第２記憶ブロック５２のうち、前回データが書き込まれていない方の記憶領域に最新のデータ内容が書き込まれる処理が行われる（Ｓ２４）。すなわち、第１実施形態に示したデータ書き込み処理と同様の書き込み処理が行われる。
【００３１】
なお、上記のように低頻度書き換え領域５０１及び高頻度書き換え領域５０２に区分されたフラッシュＲＯＭ５において、上記第２実施形態に示したデータ書き込み処理と同様に、データ更新の必要が生じた時から所定時間経過後に複数のデータ書き換えをまとめて一度の書き込みで行うようにしてもよい。
【００３２】
次に、フラッシュＲＯＭ５のデータ更新処理の第４実施形態を説明する。図８は第４実施形態に用いられるフラッシュＲＯＭ５の領域区分を示す図、図９はフラッシュＲＯＭ５内の管理データ記憶領域の内容を示す図、図１０はデータ更新処理の第４実施形態を示すフローチャートである。
【００３３】
この実施形態に係るフラッシュＲＯＭ５は、低頻度でデータの書き込みが行われる低頻度書き換え領域５０１と、高頻度でデータの書き込みが行われる高頻度書き換え領域５０２と、各種の管理用データが記憶される管理データ記憶領域５０３とに区分される。例えば、図８に示すように、フラッシュＲＯＭ５の記憶領域の番地０ｘ００００から０ｘ０ｆｆｆまでを低頻度書き換え領域５０１とし、０ｘ１０００から０ｘ１０ｆｆまでを管理データ記憶領域５０３とし、０ｘ１１００から０ｘｆｆｆｆまでを高頻度書き換え領域５０２として割り当てる。
【００３４】
高頻度書き換え領域５０２は、必要量の記憶部５０を確保した上で、その数倍分の容量からなる空き領域を有するものとされる。この空き領域は、記憶部５０の第１記憶ブロック５１又は第２記憶ブロック５２へのデータ書き込み回数が所定回数（データ書き込み耐久回数のｎ分の１となる回数、例えば、書き込み耐久回数が約１０万回のときに１０００回など）に達した場合に、それまで記憶部５０として使用していた領域に代えて、新たに記憶部５０として使用される領域である。この空き領域の容量を、データ書き込み耐久回数と、データ更新回数（予測値）とに基づいて決定すれば、メモリ装置１全体の寿命を所望の期間に設定することが可能である。
【００３５】
また、管理データ管理領域５０３には、高頻度書き換え領域５０２として使用される領域の先頭番地及び最終番地と、記憶部５０へのデータ書き込み回数が上記所定回数に達した場合に新たな記憶部５０として使用する候補領域の番地と、記憶部５０として現在使用中の領域のインデックス番地（先頭番地）のデータが記憶されている。
【００３６】
例えば、図９に示すように、管理データ記憶領域５０３の番地０ｘ１０００〜番地０ｘ１０ｆｆを２つの領域に区分し、番地０ｘ１０００〜番地０ｘ１０７ｆを記憶部５０の管理データが記憶される通常記憶領域とし、番地０ｘ１０８０〜番地０ｘ１０ｆｆを通常記憶領域と同様の管理データが記憶される復旧用の記憶領域に設定する。そして、通常記憶領域においては、番地０ｘ１０００〜０ｘ１００１に高頻度書き換え領域５０２の先頭番地が記憶され、番地０ｘ１００２〜０ｘ１００３に高頻度書き換え領域５０２の最終番地が記憶されている。番地０ｘ１００４〜番地０ｘ１００５には、記憶部５０内のいずれかの記録ブロックへのデータ書き込み回数が所定回数に達したときに、次に新たな記憶部として使用する候補領域の番地が記憶されている。また、番地０ｘ１００６〜０ｘ１００７、番地０ｘ１００８〜０ｘ１００９、番地０ｘ１００ａ〜０ｘ１００ｂ、番地０ｘ１００ｃ〜０ｘ１００ｄ、番地０ｘ１００ｅ〜０ｘ１００ｆは、現在記憶部５０として使用されている領域の番地がそれぞれ記憶されている。なお、番地０ｘ１０８０〜０ｘ１０ｆｆの復旧用の記憶領域にも同様のデータが記憶され、通常記憶領域と同様のデータ書き込みが行われるようになっている。
【００３７】
具体的なデータ書き込み処理について図１０を参照して説明する。あるデータについて更新の必要が生じた場合、当該データの書き込まれる記憶部５０が、高頻度書き換え領域５０２内の記憶部５０であるか否かが判断される（Ｓ３１）。当該記憶部５０が低頻度書き換え領域５０１内の記憶部５０である場合は（Ｓ３１でＮＯ）、記憶部５０内の第１記憶ブロック５１及び第２記憶ブロック５２の両方に最新のデータが書き込まれ（Ｓ３２）、処理は終了する。
【００３８】
更新すべきデータの書き込まれる記憶部５０が、高頻度書き換え領域５０２内の記憶部５０である場合は（Ｓ３１でＹＥＳ）、所定時間（上記第２実施形態で示した時間と同様）が経過するまで当該記憶部５０へのデータの書き込みが控えられる（Ｓ３３）。所定時間に達すると（Ｓ３３でＹＥＳ）、当該記憶部５０内の第１記憶ブロック５１又は第２記憶ブロック５２に対するデータ書き込み回数が所定回数を超えているか否かが判断される（Ｓ３４）。当該記憶部５０の第１記憶ブロック５１又は第２記憶ブロック５２に対するデータ書き込み回数がいずれも所定回数を超えていない場合は（Ｓ３４でＮＯ）、前回データが書き込まれていない方の記憶ブロックに、所定時間内にデータ更新の必要が発生した複数のデータがまとめて一度に書き込まれる（Ｓ３５）。
【００３９】
Ｓ３４において、記憶部５０の第１記憶ブロック５１又は第２記憶ブロック５２のいずれかに対するデータ書き込み回数が、上述した所定回数（データ書き込み耐久回数のｎ分の１となる回数、例えば、書き込み耐久回数が約１０万回のときに１０００回など）を超えている場合は（Ｓ３４でＹＥＳ）、管理データ記憶領域５０３から、次に新たな記憶部５０として使用する候補領域を示すインデックス番地が読み出され（Ｓ３６）、この読み出したインデックス番地が示す領域を新たな記憶部５０として書き込み対象のデータが書き込まれる（Ｓ３７）。この場合、新たな記憶部５０に対しては最初のデータ書き込みとなるので、新たな記憶部５０の第１記憶ブロック５１及び第２記憶ブロック５２の両方に当該データが書き込まれる。そして、それまで管理データ記憶領域５０３に記憶されていた記憶部５０として使用中の領域を示すインデックス番地が、Ｓ３７で新たに記憶部５０とした領域を示すインデックス番地に書き換えられる（Ｓ３８）。
【００４０】
続いて、次に記憶部５０として使用する新たな候補領域を示すインデックス番地が検索される（Ｓ３９）。すなわち、高頻度書き換え領域５０２の先頭番地から最終番地（これらの番地は管理データ記憶領域５０３に記憶されている）に向かって順に、記憶部５０として現在使用されておらず、過去にも使用されたことがない領域を示すインデックス番地を検索する。また、高頻度書き換え領域５０２の最終番地まで検索しても、未使用の領域を示すインデックス番地が見つからない場合は先頭番地に戻り、この先頭番地から最終番地に向かって順に、過去に記憶部５０として使用された経緯はあるが、現在は記憶部５０として使用されていない領域を示すインデックス番地（データ書き込み回数が耐久回数に達していない領域）を探し出す。そして、管理データ記憶領域５０３に記憶されている、次の記憶部５０として使用する候補領域を示すインデックス番地が、当該検索によって見つけ出したインデックス番地に書き換えられる（Ｓ４０）。これにより、次にデータ書き込み回数が所定回数に達した記憶部５０が発生した場合に、このインデックス番地に基づいて新たな記憶部５０として使用する領域を特定することができる。
【００４１】
また、このＳ３９及びＳ４０の記憶部５０として使用する新たな候補領域のインデックス番地の検索及び書き換え処理は、記憶部５０へのデータ書き込み回数がデータ書き込み耐久回数に達するまで行われる。すなわち、データ書き込み耐久回数のｎ分の１を上記所定回数として記憶部を別の領域に移す場合、同一の領域がｎ回まで記憶部として繰り返し使用される。
【００４２】
なお、本発明は上記実施の形態の構成に限られず種々の変形が可能である。例えば、上記実施の形態の図１０に示したデータ書き込み処理では、記憶部５０へのデータ書き込み回数が、データ書き込み耐久回数のｎ分の１を上記所定回数として記憶部５０を別の領域に移すようにしているが、記憶部５０へのデータ書き込み回数が、書き込み耐久回数の限界に達した場合に、記憶部５０を別の領域に移すようにしてもよい。
【００４３】
また、上記実施形態では、フラッシュＲＯＭ５へのデータ書き込みを例にして説明しているが、本発明はデータ書き込み回数に限界があるメモリであれば、フラッシュＲＯＭ以外のメモリにも適用可能である。
【００４４】
【発明の効果】
以上のように請求項１に記載の発明によれば、データ更新時には、２つの記憶ブロックのうち、１つの記憶ブロックのみを使用してデータを書き込むようにし、従来のように同一データを両方の記憶ブロックに書き込むことは行わないので、データ更新時における各記憶ブロックへの書き込み回数が２分の１に低減する。これにより、各記憶ブロックの寿命を２倍に延ばすことができるので、データ保存の信頼性を保持しつつ、メモリ装置全体としてその寿命を２倍に延ばすことができる。
【００４５】
また、請求項２に記載の発明によれば、所定時間内に複数のデータ更新の必要が生じた場合には、記憶ブロックに対する複数データの更新を一度の書き込みによって行うため、記憶ブロックに対するデータ書き込み回数を低減することができる。
【００４６】
また、請求項３に記載の発明によれば、前回のデータ書き込み時から最新データ書き込み時までの時間間隔が空くと想定される低頻度書き換え領域の記憶部には、データ更新時に２つの記憶領域にデータを同時に書き込んでデータを保持して、両方の記録ブロックに保存されているデータの内容は常に同じ内容にしているので、前回のデータ書き込み時から最新データ書き込み時までの時間間隔が空いた場合であっても、いずれかの記憶ブロックに異常が発生した時に、他方の記録ブロックに保存されているデータを用いて復旧したデータの信頼性が高められる。しかも、低頻度書き換え領域の記憶部はデータ書き込み回数が少ないので、記録ブロックの寿命を縮めてしまうという問題もない。その一方、高頻度書き換え領域の記憶部には、データ更新時に、２つの記憶ブロックのうち、１つの記憶ブロックのみを使用してデータを書き込むことによって、データ更新時における各記憶ブロックへの書き込み回数を２分の１に低減して、各記憶ブロック及びメモリ装置の寿命を２倍に延ばすことができる。
【００４７】
また、請求項４に記載の発明によれば、１つの記憶部への書き込み回数がデータ書き込み耐久回数の限界に達したときは、空き領域を新たな記憶部としてデータを保存するので、当該メモリ装置全体としての使用期間を伸ばすことができる。
【００４８】
また、請求項５に記載の発明によれば、記憶部への書き込み回数がデータ書き込み耐久回数のｎ分の１に達すると、記憶部として使用される領域が別の領域に移るので、全ての領域においてデータ書き込み回数が耐久回数に達するまでメモリ装置を使用することができ、メモリ装置の寿命を更に延ばすことができる。
【００４９】
すなわち、データ書き込み回数が耐久回数の限界に達するまで記憶部が他の領域に移らない制御を行うと、例えば、データ書き込みの保証回数が約１０万回として設定されているメモリが、不具合により実際のデータ書き込み耐久回数が約７万回となってしまった場合には、他の領域がデータ書き込み可能であるにも拘わらず、現在記憶部として使用されている領域へのデータ書き込み回数が約７万回に達すると、その時点でメモリ装置が寿命に至るが、上記請求項５に記載の発明のように、データ書き込み回数が耐久回数の限界に達する前に、記憶部として使用する領域が次々に他の領域に移るようにすれば、全ての領域におけるデータ書き込み回数が約７万回に達するまでメモリ装置を使用することができるので、メモリ装置の寿命を更に延ばすことが可能となる。
【図面の簡単な説明】
【図１】本発明に係るメモリ装置の概略構成を示すブロック図である。
【図２】フラッシュＲＯＭへのデータ書き込み例を概念的に示した図であり、（ａ）はデータ書き込み前の状態を示す図、（ｂ）はデータ書き込み後の状態を示す図、（ｃ）は更なるデータ書き込みを行った状態を示す図である。
【図３】データ更新処理の第１実施形態を示すフローチャートである。
【図４】フラッシュＲＯＭへのデータ書き込みの第２実施形態の例を概念的に示した図であり、（ａ）はデータ書き込み前の状態を示す図、（ｂ）（ｃ）は所定時間経過前のデータ書き込み待ちの状態を示す図、（ｄ）は所定時間経過後にデータ書き込みを行った状態を示す図である。
【図５】データ更新処理の第２実施形態を示すフローチャートである。
【図６】書き換え頻度別にフラッシュＲＯＭの記憶領域を区分した状態を示す図である。
【図７】データ更新処理の第３実施形態を示すフローチャートである。
【図８】第４実施形態に用いられるフラッシュＲＯＭの領域区分を示す図である。
【図９】フラッシュＲＯＭ内の管理データ記憶領域の内容を示す図である。
【図１０】データ更新処理の第４実施形態を示すフローチャートである。
【符号の説明】
１      メモリ装置
２      制御部
５０    記憶部
５１    第１記憶ブロック
５２    第２記憶ブロック
５０１  低頻度記憶領域
５０２  高頻度記憶領域
５０３  管理データ記憶領域
【図１】
2004220343.tif 000003
【図２】
2004220343.tif 000004
【図３】
2004220343.tif 000005
【図４】
2004220343.tif 000006
【図５】
2004220343.tif 000007
【図６】
2004220343.tif 000008
【図７】
2004220343.tif 000009
【図８】
2004220343.tif 000010
【図９】
2004220343.tif 000011
【図１０】
2004220343.tif 000012