(57)【要約】      （修正有）【課題】メモリの消去回数の平均化の効率を向上させる。【解決手段】メモリストレージ装置の制御方法は、ホストにおいて更新データを前記メモリストレージ装置内への書き込みに適用し、メモリストレージ装置は、前記更新データを格納するための複数の物理ブロックのストレージスペースを提供する。前記制御方法は、先ず、書き込もうとする更新データはホットデータであるか否かを判断し、最後に、判断結果に基づいてホットデータではない、更新の少ないデータを消去回数の高い物理ブロック内に搬送する。【選択図】図８
2010027026.tif 000002
【特許請求の範囲】
【請求項１】
ファイルシステムの複数のロジカルブロックに対応する複数の物理ブロックのストレージスペースを提供するメモリストレージ装置の制御方法であって、
所定のロジカルブロックのアドレスを記録したホットデータリストを提供するステップと、
内部に保存されたアドレスが前記複数のロジカルブロック中の一つに指向しているソース指標レジスタを提供するステップと、
更新データの書き込み動作を実行し、前記データを保存するロジカルブロックアドレスを前記ホットデータリスト内に保存させるステップと、
前記ソース指標レジスタが指向しているロジカルブロックは前記ホットデータリスト内の複数の所定ロジカルブロック中の一つであるか否かを対比するステップと、
対比結果に基づいて、前記ソース指標レジスタが指向しているロジカルブロックを調整するステップと、を含むメモリストレージ装置の制御方法。
【請求項２】
さらに、消去された物理ブロックのアドレスを記録するための消去完了リストを提供するステップと、
データ配置された物理ブロックのアドレスを記録するための配分完了リストを提供するステップと、を含むことを特徴とする請求項１に記載のメモリストレージ装置の制御方法。
【請求項３】
さらに、前記消去完了リストから累計消去回数の最も少ない物理ブロックを選出するステップと、
前記更新データを原始データとともに前記累計消去回数の最も少ない物理ブロック内に書き込むステップと、
選出された前記累計消去回数の最も少ない物理ブロックのアドレスを前記消去完了リストから削除するステップと、
選出された前記累計消去回数の最も少ない物理ブロックのアドレスを前記配分完了リスト内に記録するステップと、を含むことを特徴とする請求項２に記載のメモリストレージ装置の制御方法。
【請求項４】
前記対比結果に基づいて前記ソース指標レジスタを調整するステップにおいて、
対比結果がＹＥＳであれば、他のロジカルブロックに指向させるように前記ソース指標レジスタを調整するステップと、
対比結果がＮＯであれば、前記更新データの原始データを保存する物理ブロックを削除するステップと、消去された物理ブロックの累計消去回数が閾値より大きいか否かを判断するステップとを実行するステップと、を含むことを特徴とする請求項３に記載のメモリストレージ装置の制御方法。
【請求項５】
前記消去された物理ブロックの累計消去回数が閾値より大きいか否かを判断するステップの後に、さらに、閾値より大きいと判断すると、スタティック消去回数平均化工程を行い、前記ソース指標レジスタが指向しているロジカルブロックに対応する物理ブロック内のデータを前記消去された物理ブロック内に格納するステップを、含むことを特徴とする請求項４に記載のメモリストレージ装置の制御方法。
【請求項６】
前記閾値は、全ての物理ブロックの平均消去回数と予め設定された閾値ずれ値の累計であることを特徴とする請求項４に記載のメモリストレージ装置の制御方法。
【請求項７】
前記消去完了リスト中のアドレスデータ順序は、指向された物理ブロックの累計消去回数に応じて大から小、或いは小から大へ配列されていることを特徴とする請求項２に記載のメモリストレージ装置の制御方法。
【請求項８】
メモリストレージ装置であって、
ファイルシステムのロジカルブロックに対応する複数の物理ブロックのストレージスペースを有するストレージ手段と、
ホットデータを格納する所定のロジカルブロックのアドレスを記録するホットデータリストと、
内部に保存されたアドレスが前記複数のロジカルブロックの中の一つに指向しているソース指標レジスタと、を含み、
前記ソース指標レジスタが指向しているロジカルブロックは、ホットデータリスト内の所定のロジカルブロックに基づいて調整されることを特徴とするメモリストレージ装置。
【請求項９】
レジスタ手段は、さらに、消去された物理ブロックのアドレスを記録するための消去完了リストと、
データ配置された物理ブロックのアドレスを記録するための配分完了リストと、を含むことを特徴とする請求項８に記載のメモリストレージ装置。
【請求項１０】
制御手段は、さらに、ホストに接続され、前記ホストと前記メモリストレージ装置との間の指令及びデータの伝送インターフェースとして機能を果たすシステムインターフェースと、
前記システムインターフェースに接続され、前記更新データを一時的に格納するデータ伝送バッファと、
前記ホストが前記装置に下した指令を実行するマイクロプロセサと、
前記データ伝送バッファと前記ストレージ手段との間に接続され、前記マイクロプロセサによりデータをストレージ手段へ伝送するように制御されるメモリインターフェースと、を含むことを特徴とする請求項８に記載のメモリストレージ装置。
【請求項１１】
前記ソース指標レジスタは、前記マイクロプロセサにより指向しているロジカルブロックを調整することを特徴とする請求項１０に記載のメモリストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリストレージ装置の制御方法に係り、特に、メモリの消去回数の平均化（Wear-leveling）の制御方法に関わるものである。
【背景技術】
【０００２】
NAND型フラッシュメモリをストレージ媒介とする不揮発性メモリストレージ装置は、その体積が小さく、省電力、静かで、耐震などの利点を有するので、現在、複数の異なる形態でホスト（すなわち、様々な電子装置）に幅広く適用されている。例えば、ネットワークサーバや、ノートパソコン、ＭＰ３プレイヤー、一般の卓上型コンピュータ、デジタルカメラ等に適用されている。
【０００３】
図１は、従来のメモリストレージ装置の具体的な実施例一を示すシステム構造図である。図１に示すように、メモリストレージ装置１３は、制御手段１３１及びストレージ手段１３３を含み、ストレージ手段１３３は、フラッシュメモリからなりデータを記憶するもので、制御手段１３１は、ホスト１１に接続し、ホストから下した指令を受信して動作し、かつ指令に指定された作業に合わせてデータアクセス動作を行い、ホストから入力したデータをストレージ手段１３３に記憶するか、或いは、ストレージ手段１３３からホストが求めるデータを読み取った後にバックして伝送するものである。
【０００４】
ストレージ手段１３３において複数の物理ブロック（Physical Block）を含んだ物理ストレージスペースが提供されてデータをアクセスし、物理ブロックは、それぞれ元の記憶データが搬送された後の消去動作によって累計消去回数（Accumulated Erase Count）が増加され、その損耗程度が使用可能寿命（Useable Life Cycle）に接近すると、データ格納の信頼性（Reliability of Data Retention）が徐々に劣化し（gradually degraded）、データを正確かつ信頼的に記録できなくなるとともに、ストレージ装置は、ストレージ手段中の一部の物理ブロックの劣化によって故障が発生する事態を招いてしまう。そのため、各物理ブロック間の累計消去回数の差異を低下させるために、消去回数平均化技術（Wear-leveling Technique）によりそれぞれの物理ブロックを均等に使用するようにさせる。これによって、物理ブロックの一部を集中して使用し過ぎて、使用寿命制限に直ぐに達し、他の物理ブロックが十分に使用される前に、ストレージ装置が正確なデータを信頼的に保証できなくなることを避ける。
【０００５】
現在提供されている消去回数の平均化技術は、大体ダイナミック消去回数平均化及びスタティック消去回数平均化の２種類に分けられている。ダイナミック消去回数平均化は、物理ブロック内に記録・格納されたデータを変更、更新する時に、消去された物理ブロックのうちから累計消去回数の最も低いものを選んで更新後のデータを格納する。内容が更新・変更されたダイナミックデータだけはアクセス位置が調整されるので、ダイナミック消去回数平均化技術と称される。
【０００６】
スタティック消去回数平均化は、物理ブロック内に記録・格納されたデータが変更、更新されないが、データが配置された物理ブロックにおいて、累計消去回数の最高及び最低の差が予め設定された閾値に達すると、スタティック消去回数平均化作業を行い始める。スタティック消去回数平均化を実行する時に、コントローラは、累計消去回数の最も低い物理ブロック中のデータを累計消去回数の最も高い消去された物理ブロック中に搬送するとともに、累計消去回数の最も低い物理ブロックを消去する。よって、スタティックデータが使用する物理ブロックの位置を変更でき、前に長期間に亘ってスタティックデータに占められ、累計消去回数が低くなる物理ブロックを開放し、後続に更新データを書き込む時に使用され、ひいてスタティックデータが使用する物理ブロックの位置を調整し、スタティック消去回数平均化の効果を実現する。
【０００７】
しかしながら、上記の消去回数平均化作業は、大量の時間及び資源を消費して総消去回数の低い物理ブロックを探し出す必要がある。また、ダイナミック消去回数平均化作業は、データ更新されたブロックのみ消去回数平均化するため、なお消去回数不均一の欠点があるので、如何にして消去回数平均化の効率を向上させるかは、この技術分野において解決しようとする課題である。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
此れに鑑みて、メモリストレージ装置の使用寿命を効率的に向上させるため、本発明に提出したメモリストレージ装置の制御方法は、データ更新位置を追跡することによりメモリ消去回数平均化作業方式を選択して、より信頼できかつ効率的な方法で物理ストレージスペース中の消去回数不均一の問題を改善できるように望んでいる。
【０００９】
そのため、本発明は、更新データをメモリ内に配置する時に、消去回数平均化の目的を達し、ひいてメモリシステムの寿命を向上させ、ストレージ資源の無駄使いを防ぐとともに、メモリ消去回数平均化作業を簡易化させ、メモリのデータストレージ効率を向上するメモリストレージ装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るメモリストレージ装置及びその制御方法は、データのホストから前記メモリストレージ装置内への書き込みに適用し、ホストのファイルシステムは、複数のロジカルブロックを有するストレージスペースを提供し、メモリストレージ装置は、ファイルシステムのロジカルブロックに対応する複数の物理ブロックのストレージスペースを提供する。前記ストレージ装置は、さらに、ホットデータリストとソース指標レジスタを備え、ホットデータリストには複数の所定ロジカルブロックアドレス（LBA）が記録されている。ソース指標レジスタは、その内部に格納されたアドレスがロジカルブロックに指向され、スタティック消去回数平均化時のデータソースブロックとする。前記制御方法は、先ず、更新データの書き込み動作を実行する予定と判断すれば、ダイナミック消去回数平均化工程を実行するステップと、続いて、前記更新データがストレージされたロジカルブロックアドレスをホットデータリスト内に加えるステップと、その後、ソース指標レジスタのロジカルブロックアドレスがホットデータリスト内に入っているか否かを対比するステップと、最後に、対比結果に基づいて指向するロジカルブロックを変更するようにソース指標レジスタを調整し、ひいてストレージ装置はスタティック消去回数平均化を行う時に、ホットデータリスト内に現れなかったロジカルブロックアドレスに対応して格納する内容は、消去回数のより高い物理ブロック内に優先的に搬送されるように確保するステップと、を含む。
【００１１】
本発明の具体的な実施例では、消去動作を実行しようと判断すると、消去された物理ブロックの消去回数が閾値よりも大きいか否かを判断し、大きいと判断すれば、スタティック消去回数平均化工程を行い、ソース指標レジスタが指向しているロジカルブロックに対応する物理ブロック内のデータを消去回数のより高い物理ブロック内に搬送する。
【００１２】
本発明は、さらに、ホストにデータをアクセスするために適用されたメモリストレージ装置を掲示し、その中、ホストのファイルシステムは、複数のロジカルブロックを有するストレージスペースを提供する。前記メモリストレージ装置は、ストレージ手段と制御手段とを含む。ストレージ手段は、複数の物理ブロックのストレージスペースを含んでデータをアクセスし、制御手段は、ホストとストレージ手段との間に接続され、レジスタ手段及びマイクロプロセサを含む。マイクロプロセサはレジスタ手段に接続され、レジスタ手段は、ホットデータリストとソース指標レジスタとを含む。ホットデータリストは、複数の所定のホットデータを格納したロジカルブロックアドレスを記録し、ソース指標レジスタ内部に格納されたアドレスは、ファイルシステムが提供した複数のロジカルブロックの中の一つに指向される。ホストがデータ更新指令を発して更新データをストレージ手段に書き込むと、ホットデータリストは、この更新データのロジカルブロックアドレスを記録し、その後、マイクロプロセサは、ソース指標レジスタに一時格納されたロジカルブロックがホットデータリスト内に格納された所定のロジカルブロックアドレスと同じか否かを対比し、対比結果に基づいて、ソース指標レジスタの内容を選択的に調整し、或いは、スタティック消去回数平均化工程を実行し、ひいて、非ホットデータを元の格納の物理ブロックから消去回数のより高い物理ブロック内に搬送させる。
【００１３】
本発明の具体的な実施例では、前記ソース指標レジスタは、ソース指標レジスタが次のロジカルブロックに順次に指向されるように、マイクロプロセサにより調整される。
【００１４】
以上の略述及び後続の詳細な説明や添付図面は、いずれも、本発明が所定の目的を達成するため採択した方式や、手段及び効果をより詳しく説明するためのものである。以下に、本発明に関わる他の目的および利点について、後続の説明及び図面に述べられる。
【発明の効果】
【００１５】
本発明のメモリストレージ装置及びその制御方法は、ホットデータリスト及びソース指標レジスタの管理によって、長期間に更新されていないスタティックデータを正確に識別し、かつ、このような長期間に更新されていないスタティックデータを消去回数の最も高い物理ブロック内に移送して、スタティックデータに占用された物理ブロックを開放し、累計消去回数の高い物理ブロックが引き続き損耗されることを防ぐことができるので、消去回数平均化工程をより確実に実行でき、フラッシュメモリストレージ装置の使用寿命をより効率的に発揮できる。
【図面の簡単な説明】
【００１６】
【図１】図１は、従来のメモリストレージ装置の具体的な実施例一を示すシステム構造図である。
【図２】図２は、本発明に係るメモリストレージ装置の具体的な実施例一を示すシステム構造図である。
【図３Ａ】図３Ａは、本発明に係るロジカル／物理ブロック変換の一具体実施例を示す図である。
【図３Ｂ】図３Ｂは、本発明に係るストレージスペース管理のデータ構造を示す図である。
【図４Ａ】図４Ａは、本発明に係るデータ処理の一具体実施例を示す図である。
【図４Ｂ】図４Ｂは、本発明に係るデータ処理の一具体実施例を示す図である。
【図５Ａ】図５Ａは、本発明に係るデータ処理の一具体実施例を示す図である。
【図５Ｂ】図５Ｂは、本発明に係るデータ処理の一具体実施例を示す図である。
【図６Ａ】図６Ａは、本発明に係るデータ処理の一具体実施例を示す図である。
【図６Ｂ】図６Ｂは、本発明に係るデータ処理の一具体実施例を示す図である。
【図７Ａ】図７Ａは、本発明に係るデータ処理の一具体実施例を示す図である。
【図７Ｂ】図７Ｂは、本発明に係るデータ処理の一具体実施例を示す図である。
【図８】図８は、本発明に係るメモリストレージ装置の制御方法の一具体実施例のフローチャートである。
【図９】図９は、本発明に係るメモリストレージ装置の制御方法の一具体実施例のフローチャートである。
【発明を実施するための形態】
【００１７】
本発明は、消去回数平均化メモリストレージ装置の制御方法及びその方法を用いるメモリストレージ装置の構造を主な技術特徴とする。以下に必要な内部システム構造およびそのフローチャートのみ掲示するが、当該分野における通常の技術者が、以下に提示された素子の他、メモリストレージ装置中に他の必要な素子をも勿論含まれていることを承知できるので、本実施例に掲示されたものに限られるわけではない。
【００１８】
まず、図２は、本発明に係るメモリストレージ装置の具体的な実施例の一つを示すシステム構造図である。図２に示すように、メモリストレージ装置２３はホスト２１に接続し、ホスト２１から下された指令を受けてデータの読み取り、書き込みまたはストレージブロックの消去動作を行う。
【００１９】
メモリストレージ装置２３は、ストレージ手段２３３と制御手段２３１とを含む。ストレージ手段２３３は、フラッシュメモリからなり、ホスト２１が格納を要求するデータをストレージし、制御手段２３１は、ホスト２１とストレージ手段２３３との間に接続され、ホスト２１から下された指令を受け取る。上記の指令は書込み指令または読取り指令で、書込み指令は、ロジカルアドレスに対応するデータをストレージ手段２３３内に書き込み、読取り指令は、ロジカルアドレスに対応するデータをストレージ手段２３３から読み取る。
【００２０】
制御手段２３１は、システムインターフェース２３１１、データ伝送バッファ２３１３、メモリインターフェース２３１５、マイクロプロセサ２３１７、及びレジスタ手段２３１９を含む。システムインターフェース２３１１は、ホスト２１に接続し、ホスト２１とメモリストレージ装置２３の間の指令及びデータの伝送インターフェースとして機能を果たす。データ伝送バッファ２３１３は、システムインターフェース２３１１に接続し、データを一時的に格納するためのものである。メモリインターフェース２３１５は、データ伝送バッファ２３１３とストレージ手段２３３との間に接続され、マイクロプロセサ２３１７によりデータを伝送するように制御される。マイクロプロセサ２３１７は、レジスタ手段２３１９に接続し、メモリストレージ装置２３内のそれぞれの素子の動作状態を制御する。
【００２１】
本発明の具体的な実施例では、ストレージ手段２３３は、シングルレベルセル（SLC）、相変化メモリ（PCM）、強誘電体メモリ（FeRAM）、磁気抵抗メモリ（MRAM）、またはマルチレベルセル（MLC）からなる群の組み合わせの一つである。
【００２２】
ロジカル／物理アドレスの対応関係をより理解するため、図３Ａを参照して説明する。図３Ａは本発明に係るロジカル／物理ブロック変換の一具体実施例を示す図である。関連するシステム構造については図２を合せて参照すること。図３Ａに示すように、ホスト２１のファイルシステム及びストレージ手段２３３は、それぞれ、ロジカルストレージスペース３１及び物理ストレージスペース３５を提供してデータをアクセスし、ロジカルストレージスペース３１は、複数のロジカルブロックＬＢＡ０〜ＬＢＡｎに区分され、物理ストレージスペース３５も複数の物理ブロックＰＢＡ０〜ＰＢＡｎに区分され、Ｌ２Ｐ変換テーブル（Logical to Physical Translation Table）３３によりロジカルブロックＬＢＡ０〜ＬＢＡｎ及び物理ブロックＰＢＡ０〜ＰＢＡｎの対応関係を記録する。
【００２３】
図３Ｂは、本発明に係るストレージスペース管理のデータ構造を示す図である。図３Ｂに示すように、物理ストレージスペース３５の使用状況を管理し易くするために、レジスタ手段２３１９中に特に消去完了リスト２３１９１、配分完了リスト２３１９３、ホットデータリスト２３１９５、及びソース指標レジスタ２３１９７が格納されている。消去完了リスト２３１９１は、消去された物理ブロックＰＢＡｉのアドレスを記録し、一具体実施例では、消去完了リスト２３１９１は、消去された物理ブロックＰＢＡｉの累計消去回数に基づいて、消去された物理ブロックＰＢＡｉのアドレスを小から大へと（或いは、大から小でもかまわない）テーブル内に順次に記録する。図３Ｂを参照すると、物理ブロックＰＢＡ５の消去回数が最も小さく、右へ寄るほどその物理ブロックＰＢＡｉの消去回数が大きくなる。消去回数の多いか少ないかを順次で表示する他、消去完了リストは、他に一欄を増加して個々の消去された物理ブロックＰＢＡｉの消去回数を記録しても良く、本実施例に限られるべきではない。
【００２４】
本発明の具体的な実施例では、消去完了リスト２３１９１、配分完了リスト２３１９３、ホットデータリスト２３１９５、及びソース指標レジスタ２３１９７が、制御手段２３１外部のＲＡＭ内に格納または設置されても良い。その内容がメモリストレージ装置２３の電源オフによって失ってしまうことを避けるため、制御手段２３１は、その内容をストレージ手段２３３内に複写し、かつ、メモリストレージ装置２３を起動する時にロードする。
【００２５】
配分完了リスト２３１９３は、データを配置した物理ブロックＰＢＡｉのアドレスを記録し、ホットデータリスト２３１９５は、複数の所定のロジカルブロックのアドレスを記録し、該所定のロジカルブロックは、常に更新されているデータ（即ち、ホットデータ）を保存するロジカルブロックＬＢＡｉである。ソース指標レジスタ２３１９７の内部に保存されたアドレスは、データが保存されたロジカルブロックＬＢＡｉに順次に指向し、一番目のロジカルブロックＬＢＡ０にデータが保存されると、ソース指標レジスタ２３１９７は、ロジカルブロックＬＢＡ０のアドレスを保存する。
【００２６】
続いて、図４Ａ〜図７Ｂは、本発明に係るデータ処理の一具体実施例を示す図であり、ロジカルブロックＬＢＡ０に保存された更新データを書き込む時に行っている消去回数平均化処理方式を説明する。まず、図３Ａを参照すると、原始データがロジカルブロックＬＢＡ０に保存され、Ｌ２Ｐ変換テーブル３３の対応関係から、該原始データが実際に物理ブロックＰＢＡ２に格納されていることが分かる。その後、該原始データに対しデータ更新動作を行おうとすると、制御手段２３１は、消去完了リスト２３１９１のうちから累計消去回数の最も少ない物理ブロックＰＢＡ５を選び出して、更新データ及び現在物理ブロックＰＢＡ２に保存された原始データを格納する。続いて、図４Ａ、図４Ｂに示すように、マイクロプロセサ２３１７は、前記動作に基づいて物理ブロックＰＢＡ５を消去完了リスト２３１９１から削除して配分完了リスト２３１９３内に記録し、さらに、更新データ動作が発生したロジカルブロックＬＢＡ０のアドレスをホットデータリスト２３１９５内に記録する。
【００２７】
ホットデータリスト２３１９５を更新した後、マイクロプロセサ２３１７は、ソース指標レジスタ２３１９７が指向しているロジカルブロックＬＢＡｉがホットデータリスト２３１９５中の所定のロジカルブロックであるか否かを検査し、図５Ａ、図５Ｂに示すように、ソース指標レジスタ２３１９７が指向しているロジカルブロックＬＢＡ０は、更新したホットデータリスト２３１９５内に記録されているため、ソース指標レジスタ２３１９７は、次のロジカルブロックＬＢＡ１に順次に指向し、そして、ホットデータリスト２３１９５の所定のロジカルブロックと対比する。この手順は、ソース指標レジスタ２３１９７が指向しているロジカルブロックＬＢＡのアドレスがホットデータリスト２３１９５内に記録されていないと確認するまで繰り返して行う。続いて、原始データが保存された物理ブロックＰＢＡ２を消去し、さらに、累計消去回数の大きさに応じて物理ブロックＰＢＡ２を消去完了リスト２３１９１中の適当な位置に配置する。本実施例の場合、物理ブロックＰＢＡ２の消去回数が物理ブロックＰＢＡ３と物理ブロックＰＢＡｎとの間にあるので、消去完了リスト２３１９１が消去された物理ブロックのアドレスを格納する順次は、図５Ｂに示される。
【００２８】
メモリストレージ装置２３の中に閾値が特に定義されている。何れか一つの消去された物理ブロックＰＢＡｉの累計消去回数が閾値より大きくなると、ストレージ手段２３３中に消去した回数の高すぎる物理ブロックＰＢＡｉがあることを示しているので、消去回数平均化工程を行い常に更新されていないデータを消去回数の高すぎる物理ブロックＰＢＡｉ内に搬送し、該物理ブロックＰＢＡｉが消去され過ぎることを避ける。具体的な実施例では、閾値ＥＣは、全ての物理ブロックＰＢＡｉの平均消去回数ＥＣavgと予め設定された閾値ずれ値ＥＣthの合計であり、システムは、閾値ずれ値ＥＣthの大きさのみを調整すれば、スタティック消去回数平均化工程が実行される頻度を容易に調整でき、そのうち、閾値ずれ値ＥＣthを拡大すると、消去回数平均化工程を実行する頻度が低下し、逆にも同様である。
【００２９】
そのため、物理ブロックＰＢＡ２を消去した後に、マイクロプロセサ２３１７は、該ブロックの累計消去回数に１を加算するとともに平均消去回数ＥＣavgを更新して、次に物理ブロックＰＢＡ２の消去回数が更新した閾値より大きいか否かを判断し、大きいと判断された場合は、消去回数平均化を実行する条件に達したことを示し、スタティック消去回数平均化工程を実行する。
【００３０】
物理ブロックＰＢＡ２が消去回数平均化を実行する条件に達し、かつ、ソース指標レジスタ２３１９７が指向している所定のロジカルブロックＬＢＡ１のアドレスがホットデータリスト２３１９５内に現れていないとすれば、ロジカルブロックＬＢＡ１内のデータが常に更新されておらず、消去回数の高すぎる物理ブロックＰＢＡ２内に搬送されるべきと判定し、物理ブロックＰＢＡ２がより多くの消去損耗を受けることを避ける。そのため、図６Ａ、図６Ｂに示すように、マイクロプロセサ２３１７は、ソース指標レジスタ２３１９７が指向しているロジカルブロックＬＢＡ１に対応する物理ブロックＰＢＡ４内に格納されたデータを物理ブロックＰＢＡ２内に複写し、そして物理ブロックＰＢＡ４を消去し、さらに、物理ブロックＰＢＡ２を消去完了リスト２３１９１から削除して配分完了リスト２３１９３内に移送する。
【００３１】
図７Ａ、図７Ｂに示すように、前記消去回数平均化工程の後に、Ｌ２Ｐ変換テーブル３３を更新して、ロジカルブロックＬＢＡ１が物理ブロックＰＢＡ２に対応するようにさせ、同時に、物理ブロックＰＢＡ４が消去され他のデータの書き込みに提供されるので、該ブロックＰＢＡ４の累計消去回数及び平均消去回数ＥＣavgをも更新する必要がある。
【００３２】
その後、ソース指標レジスタ２３１９７は、次のロジカルブロックＬＢＡ２に順次に指向し、ソース指標レジスタ２３１９７が指向しているロジカルブロックＬＢＡｉがホットデータリスト２３１９５内に入っておらず、且つ消去回数平均化を実行する条件に達しなくなるまで、前記のホットデータリスト２３１９５との対比の検査工程を繰り返して行い、完全な消去回数平均化処理の完了となる。
【００３３】
最後に、図８及び図９は、本発明に係るメモリストレージ装置の制御方法の一具体実施例のフローチャートである。そのうち関連のシステム構造及びデータ処理方式については図２〜図７Ｂを同時に参照すること。図８に示すように、該制御方法は以下の工程を含む。
【００３４】
先ず、メモリストレージ装置２３を起動し（ステップＳ９０１）、かつ、消去完了リスト２３１９１、配分完了リスト２３１９３、ホットデータリスト２３１９５、及びソース指標レジスタ２３１９７の内容をレジスタ手段２３１９内にロードし（ステップＳ９０３）、初期化起動作業が終了した後に、メモリストレージ装置２３は待機状態に入り（ステップＳ９０５）、ホスト２１が指令を下すのを待ち、メモリストレージ装置はシステムインターフェース２３１１を介してホスト２１が下した指令を受けると（ステップＳ９０７）、制御手段２３１は、該指令が更新データの書き込み指令であるか否かを判断し（ステップＳ９０９）、即ちホスト２１端から更新データをストレージ手段２３３内に書き込むか否かを判断し、更新データの書き込み指令でない場合、該指令の関連作業を実行し（ステップＳ９１１）、逆の場合、ダイナミック消去回数平均化工程を実行し始め、消去完了リスト２３１９１のうちから累計消去回数の最も少ない物理ブロックを選出し（ステップＳ９１３）、次に、選出された物理ブロック内に更新データを書き込み（ステップＳ９１５）、その後、マイクロプロセサ２３１７は上記動作に基づいて消去完了リスト２３１９１、配分完了リスト２３１９３及びホットデータリスト２３１９５を更新し（ステップＳ９１７）、更新データのロジカルブロックアドレスをホットデータリスト２３１９５内に記録し、そのうちの一つの所定ロジカルブロックとなる（ステップＳ９１３〜Ｓ９１７は、図３Ａ、図４Ａ、図４Ｂを参照する）。
【００３５】
次に、マイクロプロセサ２３１７は、ソース指標レジスタ２３１９７が指向しているロジカルブロックが、ホットデータリスト２３１９５中の所定のロジカルブロックであるか否かを判断し（ステップＳ９１９）、ＹＥＳであれば、ソース指標レジスタ２３１９７が次のロジカルブロックに順次に指向されるように調整した後に（ステップＳ９２１）、さらにホットデータリスト２３１９５と対比し、逆の場合において、ソース指標レジスタ２３１９７が指向しているロジカルブロックはホットデータリスト２３１９５中に入っていないと、現在ソース指標レジスタ２３１９７が指向しているロジカルブロック中に保存されたデータは常に更新されていないはずであることを示し、消去回数のより高い物理ブロック内に置くことが適切であると判断し、且つストレージ手段２３３内において無効データに占用されている物理ブロックがあるか否かを検査し（ステップＳ９２３）、ＮＯであれば、待機状態に戻り次の指令を待ち（ステップＳ９０５）、ＹＥＳであれば、消去作業を実行し（ステップＳ９２５）、無効データに占用されている物理ブロックを消去する（ステップＳ９１９〜Ｓ９２５は、図５Ａ、図５Ｂを参照する）。
【００３６】
無効データに占用されている物理ブロックを消去する作業が完了した後に、該物理ブロックの累計消去回数及び全ての物理ブロックの平均消去回数ＥＣavgを累計し（ステップＳ９２７）、その後、消去された物理ブロックの消去回数が所定の閾値より大きいか否かを判断し（ステップＳ９２９）、ＮＯであれば、前記ブロックを消去する動作に基づいて消去完了リスト２３１９１を更新した後に（ステップＳ９３１）、待機状態に戻り（ステップＳ９０５）、逆に、ステップＳ９２９ではＹＥＳと判断すれば、消去回数平均化作業を起動する要求に達したことが示され、ひいて消去回数平均化工程を行う（ステップＳ９３３）。
【００３７】
消去回数平均化作業を起動すると、マイクロプロセサ２３１７は、ソース指標レジスタ２３１９７が指向しているロジカルブロックに対応する物理ブロック（以下に、Ｓｉでこの物理ブロックを示す）内のデータを物理ブロックＳｊ内に複写し（ステップＳ１００１）、変更したブロック対応関係に基づいてＬ２Ｐ変換テーブル３３を更新し（ステップＳ１００３）、その後、物理ブロックＳｊアドレスを配分完了リスト２３１９３内に加入する（ステップＳ１００５）（ステップＳ９２７〜Ｓ１００５は、図６Ａ、図６Ｂを参照する）。
【００３８】
物理ブロックＳｉ内のデータが物理ブロックＳｊ内に搬送され格納されたので、直ちに物理ブロックＳｉを消去し（ステップＳ１００７）、他の新たなデータの書き込みに用いられ、消去作業の後に、物理ブロックＳｉの消去回数を累計し、及び全ての物理ブロックの平均消去回数を算出し（ステップＳ１００９）、物理ブロックＳｉアドレスを消去完了リスト２３１９１内に加入する（ステップＳ１０１１）。
【００３９】
上記の作業を完了すると、マイクロプロセサ２３１７は、ソース指標レジスタ２３１９７が次のロジカルブロックに指向するように調整し（ステップＳ１０１３）、現在ソース指標レジスタ２３１９７が指向しているロジカルブロックはホットデータリスト２３１９５中に入っているか否かを対比し（ステップＳ１０１５）、入っている場合、ソース指標レジスタ２３１９７を順次に移動するとともにステップＳ１０１５の対比工程を繰り返して行う。ソース指標レジスタ２３１９７が指向しているロジカルブロックが、ホットデータリスト２３１９５中に入っておらず、所定のロジカルブロックに指向されると、消去回数平均化工程を終了し（ステップＳ１０１７）、待機状態に戻る（ステップＳ１００７〜Ｓ１０１７は、図７Ａ、図７Ｂを参照する）。
【００４０】
このように、制御手段２３１は、配分完了リスト２３１９３のうち累計消去回数の最も少ない物理ブロック内に記録されたユーザのデータを、複写により消去完了リスト２３１９１中の累計消去回数の最も多い物理ブロック内に移送する。よって、長期間に亘って更新されていないデータが使用する物理ブロックを変更し開放することができ、配分完了リスト２３１９３から消去回数の低い物理ブロックを消去完了リスト２３１９１内に移送させ、後続に更新データを書き込むときに使用され、ひいて消去回数平均化の効果を効率的に達することができる。
【００４１】
以上の実施例での詳細な説明によって、本発明のメモリストレージ装置及びその制御方法は、ホットデータリスト及びソース指標レジスタの管理によって、長期間に更新されていないスタティックデータを正確に識別し、かつ、このような長期間に更新されていないスタティックデータを消去回数の最も高い物理ブロック内に移送して、スタティックデータに占用された物理ブロックを開放し、累計消去回数の高い物理ブロックが引き続き損耗されることを防ぐことができるので、本発明は、消去回数平均化工程をより確実に実行でき、フラッシュメモリストレージ装置の使用寿命をより効率的に発揮できる。
【００４２】
本発明は、以下の利点を備える。
【００４３】
１、ダイナミック消去回数平均化作業を行う時に、消去回数平均化工程を実行するか否かを制御することによって、制御手段が他に暇な時間を利用してダイナミック消去回数平均化作業を実行する必要はなく、大量のシステム資源が消費される欠点を避けることができる。
【００４４】
２、ダイナミック消去回数平均化作業を実行する時に、消去完了リスト中から累計消去回数の低い物理ブロックを優先的に選択して更新データを記録し、消去回数平均化を累計する速度を速くさせ、かつ、更新データのロジカルブロックがホットデータリスト中に入っているか否かを判断することで、該更新データが非ホットデータであるため消去回数が閾値に達する物理ブロックに搬送すべきか否かを決定し、ホットデータがスタティック消去回数平均化作業において累計消去回数の高い物理ブロック内に複写されることが避けられる他、消去完了リスト中から累計消去回数の高い物理ブロックを探し出して非ホットデータを格納する作業工程を大幅に簡易化することができ、ひいて作業時間を短縮し、コントローラの負荷及びメモリへの負担を低下できる。
【００４５】
３、データ書き込み及びダイナミック消去回数平均化作業を実行して、無効データが物理ブロックを占用することによって消去作業が発生した時に、消去された物理ブロックの累計消去回数が消去回数平均化作業を起動する起動値に達したか否かを同時に検査する。このように、消去回数平均化作業を起動する判断工程を簡易化することができ、統計分析或いは物理ブロックの累計消去回数を対比検査に必要とする作業工程や、作業時間および制御手段に発生した負荷並びにメモリへの負担を無くすことができる。
【００４６】
４、直接にソース指標レジスタでロジカルブロックアドレス配布の始め位置から最大のストレージスペースの終了位置まで順次に累進する循環方式によって、ホットデータが占用するロジカルブロックを避けて、消去回数平均化作業を実行する時に累計消去回数の低い物理ブロックを選択する。このように、配分完了リストから累計消去回数の低い物理ブロックを探し出して該物理ブロック中のデータを搬送する作業工程を大幅に簡易化することができ、作業時間を短縮し、コントローラ負荷及びメモリへの負担を低下させる他、全てのロジカルブロックでのユーザデータの保存記録位置を効率的に調整できる。
【００４７】
５、閾値ずれ値ＥＣthの大きさを調整することにより、消去回数平均化作業実行頻度、目標平均化程度を調整する目的を容易に達成できる。すなわち、閾値ずれ値ＥＣthを拡大すると、消去回数平均化工程実行頻度が低く、累計消去回数は均等でなく、閾値ずれ値ＥＣthを縮小すると、スタティック消去回数平均化工程実行頻度が高く、累計消去回数は均等になる。
【００４８】
しかし、前記の説明は、単に本発明の好ましい具体的な実施例の詳細説明及び図面に過ぎず、本発明の特許請求の範囲を限定するものではなく、本発明の主張する範囲は、下記の特許請求の範囲に基づくべき、いずれの当該分野における通常の知識を有する専門家が本発明の分野の中で、適当に変更や修飾などを実施できるが、それらの実施が本発明の主張範囲内に含まれるべきことは言うまでもないことである。
【符号の説明】
【００４９】
１１  ホスト
１３  メモリストレージ装置
１３１  制御手段
１３３  ストレージ手段
２１  ホスト
２３  メモリストレージ装置
２３１  制御手段
２３３  ストレージ手段
２３１１  システムインターフェース
２３１３  データ伝送バッファ
２３１５  メモリインターフェース
２３１７  マイクロプロセサ
２３１９  レジスタ手段
２３１９１  消去完了リスト
２３１９３  配分完了リスト
２３１９５  ホットデータリスト
２３１９７  ソース指標レジスタ
３１  ロジカルストレージスペース
３３  Ｌ２Ｐ変換テーブル
３５  物理ストレージスペース
ＬＢＡ０〜ＬＢＡｎ  ロジカルブロック
ＰＢＡ０〜ＰＢＡｎ、Ｓｉ、Ｓｊ  物理ブロック
ＥＣ  閾値
ＥＣavg  平均消去回数
ＥＣth  閾値ずれ値
Ｓ９０１〜Ｓ９３３  各ステップフロー
Ｓ１００１〜Ｓ１０１７  各ステップフロー
【図１】
2010027026.tif 000003
【図２】
2010027026.tif 000004
【図３Ａ】
2010027026.tif 000005
【図３Ｂ】
2010027026.tif 000006
【図４Ａ】
2010027026.tif 000007
【図４Ｂ】
2010027026.tif 000008
【図５Ａ】
2010027026.tif 000009
【図５Ｂ】
2010027026.tif 000010
【図６Ａ】
2010027026.tif 000011
【図６Ｂ】
2010027026.tif 000012
【図７Ａ】
2010027026.tif 000013
【図７Ｂ】
2010027026.tif 000014
【図８】
2010027026.tif 000015
【図９】
2010027026.tif 000016