(57)【要約】【課題】リクレーム処理時間を増大させることなく、消去回数の少ないブロックを消去され易くする不揮発性メモリの消去回数平準化方法を得る。【解決手段】ブロックのデータを消去する処理が行われ書き込み可能なブロックが再生成される不揮発性メモリにあって、消去回数の少ないブロックにある有効データの内の単位データ分を、消去回数の多いブロックにコピーし、上記消去回数の少ないブロックにあるコピーされた上記単位データ分を無効データ化する操作を繰り返すことにより、上記消去回数の多いブロックに有効データがコピーされ、上記消去回数の多いブロックを消去され難くすると共に、上記消去回数の少ないブロックにある有効データがコピーされて無効データ化されていくことで、上記消去回数の少ないブロックを消去され易くするようにした。【選択図】        図１
2004296014.tif 000002
【特許請求の範囲】
【請求項１】
ブロックのデータを消去する処理が行われ書き込み可能なブロックが再生成される不揮発性メモリにあって、
消去回数の少ないブロックにある有効データの内の単位データ分を、消去回数の多いブロックにコピーし、上記消去回数の少ないブロックにあるコピーされた上記単位データ分を無効データ化する操作を繰り返すことにより、
上記消去回数の多いブロックに有効データがコピーされ、上記消去回数の多いブロックを消去され難くすると共に、上記消去回数の少ないブロックにある有効データがコピーされて無効データ化されていくことで、上記消去回数の少ないブロックを消去され易くするようにした不揮発性メモリの消去回数平準化方法。
【請求項２】
上記単位データは、ブロックの一つの物理セクタにあるデータである請求項１記載の不揮発性メモリの消去回数平準化方法。
【請求項３】
ブロックを消去する上記処理をトリガとして起床され、アイドル時に上記操作が繰り返えされるようにした請求項１又は請求項２記載の不揮発性メモリの消去回数平準化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、文字データや画像データなどのデータを記憶する書き込み可能な不揮発性メモリの消去回数平準化方法に関するものである。
【０００２】
【従来の技術】
近年、携帯電話機、またはＰＤＡ（  Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ  ）と呼ばれる携帯情報端末などに代表される機器では、データを記憶させるための記憶装置にフラッシュメモリが用いられる。フラッシュメモリは、データを電気的に消去可能で、かつ書き込み可能な不揮発性メモリの一種類であり、電力の供給の有無に拘わらず、記憶内容を保持することができる。消去可能であって書き込み可能な不揮発性メモリには、他にＥＰＲＯＭおよびＥＥＰＲＯＭが挙げられる。フラッシュメモリでは、データの消去は、たとえば１６ｋバイトまたは６４ｋバイトからなるブロック単位で行われる。消去後、ブロックは初期状態に戻り、このときブロックのビットはすべて１である。データの書き込みはバイト単位で行うことができる。データを書き込む場合、フラッシュメモリに記憶されたデータを消去することなく書き込む上書きは、ビットを１から０に書換えるときだけ行うことができる。ビットを０から１に書換えるとき、上書きができないので、そのブロックのデータを消去してブロック全体を初期状態に戻した後、ブロックに記憶させるべきデータを書き込む必要がある。
【０００３】
フラッシュメモリは、各ブロックの消去回数に予め制限がある。現行のフラッシュメモリでは、消去の最大可能回数はたとえば１０万回である。フラッシュメモリ内の複数のブロックのうちのいずれか１つのブロックの消去回数が最大可能回数を越えたとき、そのフラッシュメモリは以後使用することができなくなる可能性がある。従って、製品寿命を保つためには、個々のブロックごとの消去回数を平準化させ、特定のブロックのみが過剰に消去され続けることを避ける必要がある。
【０００４】
従来のブロック消去回数の平準化方法は、消去回数の平準化をリクレーム処理（新たな空き領域を作るため、あるブロックについて、そのブロックに含まれる有効データを予備ブロックにコピーした上で消去する処理）の一部として実現している。すなわち、リクレーム対象のブロックとして消去回数の少ないブロックを選択している（例えば、特許文献１、特許文献２参照。）。
【０００５】
【特許文献１】
特開平８−１６４８２号公報
【特許文献２】
特開平１０−３２０９８４号公報
【０００６】
【発明が解決しようとする課題】
本来、リクレーム処理において、最も多くの空き領域を作る方法は、消去対象ブロックとして有効データが最も少ないブロックを選択することである。また、このとき、リクレーム処理時間も最も短くなる。それに対し、従来方法では、消去対象ブロックとして消去回数の少ないブロックを選ぶため、コピーしなければならない有効データが必然的に多くなる。その結果、リクレーム処理時間が増大するばかりでなく、リクレーム処理の結果として作成される空き領域も減ることから、より短い時間で次のリクレーム処理開始を余儀なくされる。ある決まった時間までに処理を完了する必要のある実時間システムにおいては、最悪の状況においても制限時間を守れるようシステムを設計する必要がある。同一のシステムリソースを仮定すると、従来方法は、リクレーム処理時に最も有効データの少ないブロックを選ぶ方法に比べ、より緩い制限時間しか満足できないこととなる。ゆえに、従来方法は実時間システム向きでないといえる。
【０００７】
この発明は上記のような問題点を解消するためになされたもので、リクレーム処理時間を増大させることなく、消去回数の少ないブロックを消去され易くする不揮発性メモリの消去回数平準化方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
この発明に係わる不揮発性メモリの消去回数平準化方法は、ブロックのデータを消去する処理が行われ書き込み可能なブロックが再生成される不揮発性メモリにあって、消去回数の少ないブロックにある有効データの内の単位データ分を、消去回数の多いブロックにコピーし、上記消去回数の少ないブロックにあるコピーされた上記単位データ分を無効データ化する操作を繰り返すことにより、上記消去回数の多いブロックに有効データがコピーされ、上記消去回数の多いブロックを消去され難くすると共に、上記消去回数の少ないブロックにある有効データがコピーされて無効データ化されていくことで、上記消去回数の少ないブロックを消去され易くするようにしたものである。
【０００９】
【発明の実施の形態】
実施の形態１．
図１はこの発明の実施の形態１である不揮発性メモリの消去回数平準化方法を説明する図である。図１において、フラッシュメモリ１０は、ブロック番号１，２，・・・，ａ，・・・，ｂ，・・・，ｎで、例えば３２個のブロック２０を有している。全ブロックのうちの少なくとも１つのブロックは、予備ブロックとして用いられ、予備状態のブロック以外の残余のブロックが、通常状態のブロックとしてデータの記憶に用いられる。各ブロック２０には、例えば、３２個の物理セクタを有しており、先頭の物理セクタは管理データを記録するために用いられる。フラッシュメモリ１０のブロック２０毎の消去回数は、ブロック番号１，２，・・・，ａ，・・・，ｂ，・・・，ｎに対応して、消去回数ｅ（１），ｅ（２），・・・，ｅ（ａ），・・・，ｅ（ｂ），・・・，ｅ（ｎ）として記憶しておく。
【００１０】
図２はこの発明の実施の形態１である不揮発性メモリの消去回数平準化方法を説明するフローチャートである。図２において、消去回数平準化タスクが起動（スタート）すると、まず他タスクからの起床指示を待つ（ステップＳ０）。消去回数平準化タスクへの起床指示は、ブロック消去回数に変化が発生した時、すなわち、ブロック消去が行われた時に行われる。ここで、図１（ａ），（ｂ）のブロック番号ｂのブロックが消去され、ブロック番号ｂの消去回数ｅ（ｂ）が更新され、ブロック消去が発生すると、消去回数平準化タスクに起床指示がなされる。起床した平準化タスクは、まず実行フラグをセットする（ステップＳ１）。次に実行フラグのチェックを行い、セットされていれば（ステップＳ２のセット）、起床した消去回数平準化タスクは、システムの状態をチェックし（ステップＳ３）、システムがアクティブであれば、一定時間待ちを行い（ステップＳ４）、アイドル状態となるのを待つ。
【００１１】
システムがアイドル状態となると（ステップＳ３のアイドル）、ブロック消去回数を比較し、平準化処理を行うか判断する。消去回数の少ないブロック番号ａの消去回数ｅ（ａ）（例えば、消去回数の少ない順で、有効データが存在するブロック）と消去回数の多いブロック番号ｂの消去回数ｅ（ｂ）（例えば、消去回数の多い順で、書き込み可能な空き領域が存在するブロック）との差がしきい値を超えて、平準化処理の実行判定が成立すると、（ステップＳ５の成立）、平準化処理を行う。すなわち、ブロック番号ａの有効データの内の単位データ分（例えば、一つの物理セクタ或いは数物理セクタにあるデータ）を、ブロック番号ｂにコピーする（ステップＳ６）｛図１の（ｃ）｝。コピーされたブロック番号ａの有効データ中の該当単位データは、ブロック番号ａの先頭の物理セクタの管理データに無効データとして印される｛図１の（ｄ）｝。これが終わると、再びステップＳ３に戻り、システムの状態をチェックし、実行判定が成立するまで繰り返す。このようにして、消去回数の少ないブロック番号ａにある有効データを単位データ分ごと、逐次、消去回数の多いブロック番号ｂにコピーしていく。
【００１２】
コピー可能な有効データが無くなるか、消去回数の差の条件が成立しなくなると（ステップＳ５の成立せず）、実行フラグリセットを行い（ステップＳ７）、起床指示待ち（ステップＳ０）初期状態に戻る。
【００１３】
このようにして、平準化処理をリクレーム処理中に実行するのではなく、システムのアイドル中に実行する。また、平準化処理をシステムのアイドル時にのみ実行するために、この処理はリクレーム処理と独立した消去回数平準化タスクとして実装される。
【００１４】
システムに実装されているリクレーム処理（新たな空き領域を作るため、あるブロックについて、そのブロックに含まれる有効データを空き領域のある予備ブロックにコピーした上で消去する処理）は、消去対象ブロックを、消去回数の少ないブロックにするか、あるいは、有効データの少ないブロックにするか、など存在し得るが、消去対象ブロックがいずれであろうとも、上述したこの発明の消去回数平準化タスクは、有効に作用する。
【００１５】
すなわち、消去対象ブロックを、消去回数の少ないブロックにするリクレーム処理の場合は、この発明の消去回数平準化タスクの適用により、消去回数の少ないブロックの有効データが少なくなっており、そのブロックにリクレーム処理を行えば、リクレーム処理時間を増大させることなく、消去回数の少ないブロックを消去させることができる。また、消去対象ブロックを、有効データが少ないブロックにするリクレーム処理の場合は、この発明の消去回数平準化タスクの適用により、消去回数の少ないブロックの有効データが少なくなっているため、そのブロックがリクレーム処理を受ける割合が増え、結果として、リクレーム処理時間を増大させることなく、消去回数の少ないブロックを消去させ易くすることができる。
【００１６】
言い換えれば、消去回数の多いブロックには、一般的に、よく書き換えられるデータが含まれる。一方、消去回数の少ないブロックには、一般的に、あまり書き換えられないデータが含まれる。従って、消去回数の多いブロックに、あまり書き換えられないデータをコピーすれば、そのブロックはそれ以降消去されにくくなる。一方、消去回数の少ないブロックは、有効データが少なくなるため、消去対象ブロックとして選ばれやすくなり、消去されやすくなる。このように、システムが個々のデータの書き換え頻度を意識せずとも、自然に書き換え頻度に応じてデータをブロック間移動させることができる。また、リクレーム処理においては、消去回数を意識することなく、最も有効データの少ないブロックを消去対象ブロックとして選択することもできる。その結果として、リクレーム処理時間を常に最短に維持できるばかりでなく、書き換え可能な空き領域を最も多く再生成できる。さらに、平準化処理でデータをコピーする際は、単位データをコピーする毎にシステムのアイドル・ビジー状態をチェックし、システムがビジー状態であれば、平準化処理を中断する。この結果、平準化処理が他の動作を妨げることを防ぐことができる。
【００１７】
【発明の効果】
以上説明したように、この発明の不揮発性メモリの消去回数平準化方法によれば、ブロックのデータを消去する処理が行われ書き込み可能なブロックが再生成される不揮発性メモリにあって、消去回数の少ないブロックにある有効データの内の単位データ分を、消去回数の多いブロックにコピーし、上記消去回数の少ないブロックにあるコピーされた上記単位データ分を無効データ化する操作を繰り返すことにより、上記消去回数の多いブロックに有効データがコピーされ、上記消去回数の多いブロックを消去され難くすると共に、上記消去回数の少ないブロックにある有効データがコピーされて無効データ化されていくことで、上記消去回数の少ないブロックを消去され易くするようにしたので、リクレーム処理時間を増大させることなく、消去回数の少ないブロックを消去され易くすることができる。
【図面の簡単な説明】
【図１】この発明の実施の形態１である不揮発性メモリの消去回数平準化方法を説明する図である。
【図２】この発明の実施の形態１である不揮発性メモリの消去回数平準化方法を説明するフローチャートである。
【符号の説明】
１０  フラッシュメモリ            ２０  ブロック。
【図１】
2004296014.tif 000003
【図２】
2004296014.tif 000004