(57)【要約】  コンピュータプロセッサハードウェアは、不揮発性メモリシステムにおける複数の記憶セルの領域においえ記憶されたデータが無効データを記憶しているという通知を受信する。  上記通知に応答して、コンピュータプロセッサハードウェアは、上記領域を、無効データを記憶しているとしてマーキングする。  コンピュータプロセッサハードウェアは、複数の記憶セルにおける無効データを置換データで上書きすること関連付けられる消去滞留時間（つまり、１または複数のセルが消去状態に設定されている時間）の大きさを制御する。  例えば、複数の記憶セルのそれぞれを再プログラムするべく、データマネージャは複数の記憶セルを消去し、次にその複数の記憶セルを置換データでプログラムしなければいけない。  データ管理ロジックは、不揮発性メモリシステムの寿命を拡大するべく、消去滞留時間が時間閾値以下であるように制御する。
2016525240.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶しているという通知を受信することに応答して、前記領域を、無効データを記憶しているとしてマーキングする段階と、前記複数の記憶セルの領域が、後に前記複数の記憶セルにおける前記無効データを置換データで上書きすることに関連付けられる消去状態にある時間を制御する段階と、を備える方法。
【請求項２】
前記時間を制御する段階は、前記領域において前記複数の記憶セルの前記無効データを消去する動作を遅延させ、前記無効データを置換データで置き換える段階を備え、遅延させられた前記動作は、前記時間を予め定められた時間閾値未満に減少させる、請求項１に記載の方法。
【請求項３】
前記無効データを消去する動作を遅延させる段階は、前記不揮発性メモリシステムにおける記憶空間の必要性を監視する段階と、前記不揮発性メモリシステムにおける前記置換データを記憶する必要があることを検出することに応答して記憶領域における前記無効データを消去する段階と、を備える、請求項２に記載の方法。
【請求項４】
前記無効データを消去する段階の後に、前記複数の記憶セルが消去状態に設定されている時間が、予め定められた時間閾値未満であることを保証するべく、前記領域の前記複数の記憶セルにおける前記置換データの記憶を開始する段階をさらに備える、請求項２または３に記載の方法。
【請求項５】
前記時間を制御する段階は、前記複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を減少させる段階を備え、前記固有電荷損失の速度は、前記複数の記憶セルにおける前記置換データの記憶に先立って前記複数の記憶セルの設定が消去状態に設定されている時間に依存している、請求項２に記載の方法。
【請求項６】
前記無効データの上書きに関連付けられる前記時間を制御する段階は、前記複数の記憶セルの設定を、前記複数の記憶セルを消去するコマンドを受信するまで、前にプログラムされた前記無効データを記憶する状態において維持する段階と、前記複数の記憶セルの消去された前記領域を予備帯域として指定する段階と、を備え、前記コマンドは、前記不揮発性メモリシステムにおいて予備帯域が、新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることを検出したことに応答して受信される、請求項１または２に記載の方法。
【請求項７】
前記複数の記憶セルにおける前記無効データを修正するコマンドを受信する段階と、前記コマンドの受信に応答して、前記領域における前記複数の記憶セルの設定の全て未満の部分が、前記無効データが破損する非消去状態内にあるように修正する段階をさらに備える、請求項１に記載の方法。
【請求項８】
前記複数の記憶セルの前記設定の全て未満の部分を前記非消去状態に修正する段階は、前記無効データを利用不可にするべく、前記領域における第１グループのセルの設定を第１非消去状態から第２非消去状態に変更する段階を備える、請求項７に記載の方法。
【請求項９】
前記複数の記憶セルに関連付けられる消去閾値を増加させる段階と、前記複数の記憶セルの設定が、増加した消去閾値によって定義される範囲内におさまるように修正する段階とをさらに備える、請求項１または７または８に記載の方法。
【請求項１０】
前記無効データを破壊するべく前記領域の部分的消去を実行する段階をさらに備える、請求項１または２または７または８に記載の方法。
【請求項１１】
前記時間を制御する段階は、前記無効データを破壊するべく前記複数の記憶セルの前記領域を消去する段階と、前記複数の記憶セルの前記領域を、前記置換データで一時的データを上書きする段階に先立って、前記一時的データでプログラミングする段階とを備える、請求項１に記載の方法。
【請求項１２】
前記時間を制御する段階は、前記複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を減少させる段階を備える、請求項１または１１に記載の方法。
【請求項１３】
前記時間を制御する段階は、前記時間が閾値以下であるように制御する段階を備える、請求項１または１１に記載の方法。
【請求項１４】
前記領域をマーキングする段階は、前記領域において予め定められた位置で記憶されたデータを、前記領域が無効データを含むことを示すべく修正する段階を備え、前記予め定められた位置における前記データの設定を、前記領域が無効データを記憶していることを判断するべく利用する段階をさらに備える、請求項１に記載の方法。
【請求項１５】
複数の不揮発性メモリデバイスを含む不揮発性メモリシステムと、
前記不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶しているという通知を受信したことに応答して、前記領域を無効データを記憶しているとしてマーキングし、前記領域が消去状態に設定されている時間を制御するように構成された処理ロジックとを備え、前記消去状態は、前記複数の記憶セルにおける前記無効データを後に置換データで上書きすることに関連付けられる、
データを記憶するための装置。
【請求項１６】
前記処理ロジックは、前記領域において前記複数の記憶セルにおける前記無効データを消去する動作を遅延させ、前記無効データを前記置換データで置き換えるようにさらに構成されており、遅延させられた前記動作は、前記時間を予め定められた時間閾値以下に減少させる、請求項１５に記載の装置。
【請求項１７】
前記処理ロジックは、前記不揮発性メモリシステムにおける記憶空間の必要性をモニタリングし、前記不揮発性メモリシステムに前記置換データを記憶する必要があることを検出したことに応答して記憶領域における前記無効データを消去するようにさらに構成されている、請求項１６に記載の装置。
【請求項１８】
前記処理ロジックは、前記無効データを消去した後に、前記複数の記憶セルが前記消去状態に設定されている時間が予め定められた時間閾値以下であるということを保証するべく、前記領域の前記複数の記憶セルへの前記置換データの記憶を開始するようにさらに構成されている、請求項１５または１７に記載の装置。
【請求項１９】
前記処理ロジックは、前記複数の記憶セルに記憶された置換データに関連付けられる固有電荷損失の速度を減少させるようにさらに構成され、前記固有電荷損失の速度は、前記複数の記憶セルの設定が、前記複数の記憶セルへの前記置換データの記憶に先立って前記消去状態に設定されている時間に依存している、請求項１６に記載の装置。
【請求項２０】
前記処理ロジックは、前記複数の記憶セルを消去するコマンドを受信するまで、前記複数の記憶セルの設定を、前にプログラムされた、前記無効データを記憶する状態に維持するようにさらに構成され、前記コマンドは、前記不揮発性メモリシステムにおける予備帯域が、新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることを検出したことに応答して受信される、請求項１５または１９に記載の装置。
【請求項２１】
請求項１５または１６または１７または１９に記載の装置を備えるコンピュータシステムであって、前記処理ロジックと通信し前記メモリシステムに対応する前記データを記憶するように構成されたホストコンピュータプロセッサハードウェアをさらに備える、コンピュータシステム。
【請求項２２】
前記不揮発性メモリシステムは、コンピュータシステムがアクセスを有するソリッドステートドライブである、請求項１５または１６または１７または１９に記載の装置を備えるコンピュータシステム。
【請求項２３】
前記ソリッドステートドライブにおいて記憶された対応する前記データに少なくとも部分的に基づいて画像をレンダリングするためのディスプレイスクリーンをさらに備える、請求項２２に記載のコンピュータシステム。
【請求項２４】
複数の命令が記憶されたコンピュータ可読ストレージハードウェアであって、前記複数の命令は、コンピュータプロセッサハードウェアによって実行されると、前記コンピュータプロセッサハードウェアに、不揮発性メモリシステムにおける複数の記憶セルの領域に記憶されたデータが無効データを記憶しているという通知を受信したことに応答して、前記領域を無効データを記憶しているとしてマーキングすることと、前記複数の記憶セルにおける前記無効データを後に置換データで上書きすることに関連付けられる、前記複数の記憶セルの領域が消去状態に設定されている時間を制御することと、を備える複数の動作を実行させる、コンピュータ可読ストレージハードウェア。
【請求項２５】
前記時間を制御することは、前記領域に前記複数の記憶セルの前記無効データを消去する動作を遅延させること、および前記無効データを前記置換データで置き換えることを有し、遅延させられた前記動作は、前記時間を予め定められた時間閾値以下に減少させる、請求項２４に記載のコンピュータ可読ストレージハードウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、概して、メモリにおけるデータ管理に関する。
【背景技術】
【０００２】
コンピュータシステムは、長い間、データを記憶するべくデバイスを用いてきた。例えば、従来のハードディスクドライブ（ＨＤＤ）は、迅速に回転するディスクを用いてデジタル情報を記憶し、取得するために用いられるデータ記憶デバイスである。そのようなディスクは、それぞれのデータを持続的に記憶する磁性材料によって被覆されている。それぞれのディスクが回転すると、磁気ヘッドがディスクの表面における磁性材料からデータを読み込み、そこにデータを書き込む。
【０００３】
データを記憶するための他のタイプの従来技術は、ソリッドステートドライブである。その名称が示唆するように、ソリッドステートドライブは、持続的にデータを記憶するように構成された１または複数のソリッドステートデバイスまたは集積回路を含む。ソリッドステートドライブにおいて、実際に移動する部分はない。
【０００４】
ソリッドステートドライブにおける不揮発性メモリに記憶されたデータへのアクセスは、電子回路インタフェースを用いて実行される。
【０００５】
回転ディスクドライブの代わりにソリッドステートドライブを使用することの普及の１つの理由は、その速度である。例えば、不揮発性メモリにおけるデータへのアクセスは、通常、ディスク（例えば、物理的に回転する記憶媒体）に記憶されたデータへのアクセスよりもはるかに速い。ディスクドライブストレージと対照的に、不揮発性メモリを用いることの不都合な点は、コストである。例えば、メモリにデータを記憶するためのビット毎のコストは、ＨＤＤの磁気媒体ディスクにデータを記憶するためのビット毎のコストより大幅に高くなり得る。
【０００６】
メモリシステムは、通常、情報の複数のビットを記憶するべく多くの記憶セルを含む。上記メモリシステムの適切な管理および複数のそれぞれの記憶セルは、寿命および実用性に関して重要である。多くの記憶要素の特定の管理は、早期の故障を起こし得る。
【０００７】
不揮発性メモリシステムにおける複数の記憶セルは、通常、再利用され得る。例えば、不揮発性メモリデバイスにおける複数の記憶セルの領域は、最初にデータのセットを記憶するようにプログラムされ得る。データのセットに上書きするべく、複数の記憶セルの領域はまず消去されなければいけない。新たなデータが、次に、複数の記憶セルの領域に書き込まれる。
【図面の簡単な説明】
【０００８】
【図１】従来の技術に従って、複数のメモリセルにおけるデータ記憶の性能における劣化を図示する実例図である。
【図２】従来の技術に従って、ＲＷＢマージンの損失を図示する実例図である。
【図３】本明細書における実施形態に係る不揮発性メモリシステムを図示する実例図である。
【図４】本明細書における実施形態に係る不揮発性メモリシステムにおける複数の記憶セルの管理を示す実例図である。
【図５】本明細書における実施形態に係る複数の記憶セルにデータを記憶することにおいて、減少した性能劣化を示す実例図である。
【図６】本明細書における実施形態に係る複数の記憶セルにおけるデータの部分的な消去を示す実例図である。
【図７】本明細書における実施形態に係る１または複数の方法を実行するべく用いられ得るコンピュータアーキテクチャを示す実例図である。
【図８】本明細書における実施形態に係る方法を示す例フローチャートである。
【図９】本明細書における実施形態に係るそれぞれのコンピュータシステムにおけるメモリの使用を示す実例図である。
【発明を実施するための形態】
【０００９】
１つの従来のアプリケーションに従って、データマネージャは、不揮発性メモリ（ＮＡＮＤメモリ技術などの）の領域における複数の記憶セルが現在無効データを記憶しているという通知を受信することができる。その通知に応答して、データマネージャは、複数の記憶セルを後のプログラミングに対して利用可能にするべく、複数の記憶セルの領域を即座に消去する。複数の記憶セルの消去された領域は、次に、キュー（待ち行列）に配置される。システムがデータを記憶するべく追加のリソースを必要とするとき、データマネージャは、新たなデータを記憶するべく、前に消去された領域を割り当てる。
【００１０】
本明細書において説明される特定の実施形態は、不揮発性メモリにおける記憶セルが消去状態にある時間の長さが、それぞれの記憶セルが後続のデータを記憶する能力に悪影響を与える可能性があるという発見に少なくとも部分的に基づいている。不揮発性メモリデバイスにおける複数の記憶セルは、非消去タイプのデータを用いて続いて再度プログラムされるのに先立って消去状態に設定される。
【００１１】
不揮発性メモリデバイスにおける全てのセルは、記憶デバイスの通常の使用の間、経時的に、いくらかの固有電荷損失および読み込みウィンドウ量（ＲＷＢ）の減少を起こしやすい。概して、固有電荷損失は、プログラミングパルスの後の浮遊ゲートからの複数の電子のリークである。プログラミングの結果としてトラップされた電荷は、最初に、不揮発性メモリデバイスセルの閾値電圧（Ｖｔ）が浮遊ゲート電圧より高く見えるようにする。しかし、プログラミング後のこれらの電子のリークは、通常、閾値電圧においてシフトを生じさせる。ＲＷＢは、複数の調節閾値状態（図１に関してより詳細に説明される）の間の複数の端部マージンの合計を表す。
【００１２】
不揮発性メモリデバイスにおける複数のセルが長期間消去状態にあるとき、その固有電荷損失の速度は、それらのセルにおいて続いて記憶されるデータに対して増加する。それらのセルに対するＲＷＢマージンの劣化の速度もまた、複数の記憶セルをよりも長い消去滞留時間にさらした結果として減少させられる。
【００１３】
特定の例において、不揮発性メモリシステムは、拡張期間において、より高くされた複数の温度（電力供給されずに摂氏３５度よりも高い温度など）にさらされ得る。上述のように、経時的な固有電荷損失の速度およびＲＷＢマージン劣化量は、複数のセルが消去状態にある時間の長さに依存するであろう。高温度にさらされた複数の記憶セルが前に長期間、消去状態にあった場合、不揮発性メモリシステムは、より大きい速度の固有電荷損失およびＲＷＢマージンのより大きな劣化を起こしやすい。
【００１４】
本明細書における１つの実施形態は、不揮発性メモリシステムにおける複数の記憶セルが消去状態にある時間を制御する段階を含む。例えば、一実施形態において、データマネージャは、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが、無効データを記憶しているという通知を受信する。上記通知に応答して、データマネージャは、上記領域を、無効データを記憶しているとしてマーキングする。データマネージャは、複数の記憶セルにおける無効データを置換データで上書きすることに関連付けられる、セルが消去状態に設定されている時間を制御する。例えば、それぞれの複数の記憶セルを再プログラムするべく、データマネージャは、複数の記憶セルを消去し、その複数の記憶セルを次に置換データでプログラムする。１つの非限定的な例示的実施形態において、データマネージャは、複数の記憶セルの寿命を延長し、データを記憶するそれらの能力を高めるべく、複数のセルが消去状態にある時間が閾値時間の値未満であるように制御する。
【００１５】
従って、複数の記憶セルにそれぞれの新たなデータを書き込むべく無効データを即座に消去し、かなり長い時間待つ代わりに、本明細書の複数の実施形態は、複数の記憶セルにおいて無効データを消去する動作の時間が、複数の記憶セルを置換データで再度プログラムする時間により近くなるように遅延させる段階を含む。本明細書において説明されるように複数のセルが消去状態にある時間を減らす段階は、固有電荷損失の速度および続いて記憶される置換データに対しＲＷＢマージンが低下する速度を減少させる。従って、本明細書における複数の実施形態は、それぞれの不揮発性メモリシステムにおける複数の記憶セルに関連する性能を保持する段階を含む。ここで、より具体的に、図１は、従来の技術に従って、複数のメモリセルにおいてデータを記憶する性能の劣化を図示する実例図である。
【００１６】
グラフ１１０―１に示されるように、最初に、不揮発性メモリデバイスの複数の記憶セルは、Ｌ０、Ｌ１、Ｌ２、およびＬ３の異なるレベルでプログラムされる。  非限定的例を用いて、上記複数の記憶セルのそれぞれは、２ビットの情報を記憶することが可能なマルチレベルＮＡＮＤセルもしくは単一レベルＮＡＮＤセル記憶要素であり得る。
【００１７】
値がそれぞれのセルに書き込まれるとき、電荷が浮遊ゲートに適用される。異なる量の電荷が、異なるビットの設定をセルに書き込むべくそれぞれのセルに適用される。例えば、セル毎に２ビットのマルチレベルセルデバイスを仮定すれば、第１の充電量がそれぞれのセルをビット値の１１に設定するべく加えられ、第２の充電量がそれぞれのセルをビット値の１０に設定するべく加えられ、第３の充電量がそれぞれのセルをビット値の０１に設定するべく加えられ、第４の充電量がそれぞれのセルをビット値の００に設定するべく加えられる。電圧Ｖｔ（セルの状態を読み込むときの）は、それぞれのセルの設定および印加された電荷に応じて変化する。
【００１８】
Ｒ０の範囲内にあるセルのＶｔの読み込みは、そのセルがビット値１１に設定されていることを示し、Ｒ１範囲内にあるセルのＶｔの読み込みは、そのセルがビット値１０に設定されていることを示し、Ｒ２の範囲内にあるセルのＶｔの読み込みは、そのセルがビット値０１に設定されていることを示し、Ｒ３の範囲内にあるセルのＶｔの読み込みは、そのセルがビット値００に設定されていることを示す。
【００１９】
セルに対して検出されたＶｔ（閾値電圧）レベル（プログラミングの間にトラップされた電荷の量を表わす）は、それぞれのセルが、そのセルの後の読み込みにおいてプログラムされる対応する状態を示す。  例えば、グラフ１１０―１におけるレベルＬ０は、データ＝１１でプログラムされたメモリデバイスにおける複数のセルに対するＶｔの分布を表し、レベルＬ１は、データ＝１０でプログラムされたメモリデバイスにおける複数のセルに対するＶｔの分布を表わし、レベルＬ２は、データ＝０１でプログラムされたメモリデバイスにおける複数のセルのＶｔの分布を表わし、レベルＬ３は、データ＝００でプログラムされたメモリデバイスの複数のセルに対するＶｔの分布を表わす。
【００２０】
読み込まれるとき、レベルＬ０（例えば、データ値１１）にプログラムされた全ての記憶セルは、それぞれのＶｔをＲ０の範囲内で生成し、レベルＬ１（例えば、データ値１０）にプログラムされた全ての記憶セルはそれぞれのＶｔをＲ１の範囲内に有し、レベルＬ２（例えば、データ値０１）でプログラムされた全ての記憶セルは、それぞれのＶｔをＲ２の範囲内に有し、レベルＬ３（例えば、データ値００）にプログラムされた全ての記憶セルは、それぞれのＶｔをＲ３の範囲内に有する。  各々の電圧Ｖｔは、セルの状態を読み込むそれぞれの回路によって検出される電圧レベルを表す。
【００２１】
この例において、グラフ１１０―１が、プログラミング直後、複数の異なるロジックレベルに設定された複数のメモリセルの初期状態の分布を示すと想定されたい。さらにこの例において、複数のメモリセルは、前に、例えば数日よりもはるかに長い間などの長時間消去状態にさらされていたと想定する。言い換えると、グラフ１１０―１に示すように初期状態にプログラムされるに先立って、複数のメモリセルは消去され、かなりの時間消去状態に残される（つまり、全ての記憶セルは数日間レベルＬ０の消去状態に設定されていたと想定されたい）。
【００２２】
グラフ１１０―２は、複数の記憶セルを過度に長く消去状態において維持した結果として生じる記憶性能の劣化を示す。最初に、複数の設定の分布は、グラフ１１０―１に示される通りである。しかし、前述のとおり複数の記憶セルが長期間消去状態にあったことから、複数の設定は経時的に低下する。より具体的には、固有電荷損失の速度は、長い時間消去状態にあった結果としてより大きく、ＲＢＷマージンの低下の速度も同様に、より大きい。
【００２３】
この例において、経時的に、固有電荷損失によりレベルＬ０、Ｌ１、Ｌ２、およびＬ３においてプログラムされた複数のセルに対するＶｔ分布の集約は、グラフ１１０―１からグラフ１１０―２へと左へシフトする。この例において、ピークＰＩは、グラフ１１０―１におけるレベルＬ１でのピーク分布を表わし、ピークΡΓは、グラフ１１０―２におけるレベルＬ１でのピーク分布を表わす。示されるように、ピークΡΓは、ピークＰＩに関してシフトされる。ＰＩとΡΓとの間の差は、シフトの量を表す。
【００２４】
さらに、経時的に、Ｖｔ分布はグラフ１１０―１に示すような初期状態からグラフ１１０―２に示すような複数の分布に幅が拡張される。例えば、複数の記憶セルのプログラミングの初期状態におけるＲＷＢマージンは、グラフ１１０―１におけるＥ０、ＥＬ、Ｅ２、Ｅ３、Ｅ４およびＥ５の範囲の合計に等しい。複数のレベル間の十分に大きいマージンは、どのレベルにそれぞれの記憶セルが設定されているか区別することが可能であることを保証する。言及したように、経時的に、複数の記憶セルはこの例において実質的に長い時間消去状態にあったことから、記憶セルに関連する分布は経時的に低下する。つまり、上述のようなシフトに加えてグラフ１１０―２に示されるように、異なるレベルＬ０、Ｌ１、Ｌ２、およびＬ３に対するＶｔ分布のそれぞれは、ＲＷＢマージンが、複数の記憶セルに対する適切な設定を判断することが困難であるかまたはもはや可能でないかもしれないポイントまで減少するように、幅が拡大する。
【００２５】
例えば、最初にグラフ１１０―１におけるレベルＬ１にプログラムされた記憶セルは、グラフ１１０―２に示されるように分布のシフト及び／または幅の拡大により、レベルＬ０に設定されるように見えてよい。逆に、グラフ１１０―１におけるレベルＬ０に最初にプログラムされた記憶セルは、グラフ１１０―２に示されるように分布のシフト及び／または幅の拡大によりレベルＬ１に設定されるように見えるなどである。従って、グラフ１１０―２に示されるような、長い時間消去状態にあることによって生じる記憶性能の劣化は望ましくない。図２は、従来の技術に係るＲＷＢマージンの理論的な損失を図示する実例図である。
【００２６】
グラフ２１０に示されるように、ライン２２０は、ＲＷＢマージンが消去状態において費やした時間の結果として経時的に低下する程度を示す。グラフ２１０のｘ軸は、それぞれの記憶セルに対する消去状態にある時間を秒で表わし、グラフ２１０のｙ軸は、ＲＷＢマージンの損失をミリボルト（ｍＶ）で表わす。全ての記憶セルが消去状態にある間増加した時間に対し、ＲＷＢマージンはより小さい値に低下し、上述のように記憶データを読み込むことをより難しくする。複数のＲＷＢマージンはかなり低下し得ることから、障害ビットの数は、それぞれのエラー訂正コードまたはそれぞれの不揮発性メモリシステムにおける他の好適なデータ修正メカニズムを用いて訂正されることができない。従って、消去状態において費やされた過度な時間は、記憶データの壊滅的な損失を起こし得る。
【００２７】
図３は、本明細書における実施形態に係る不揮発性メモリシステムにおけるメモリデバイスのコンフィギュレーションを図示する実例図である。
【００２８】
示されるように、例のメモリシステム１００は、データを記憶するべくデータ管理ロジック１４０およびメモリデバイス１１０―Ａ、メモリデバイス１１０―Ｂ、メモリデバイス１１０―Ｃなどの１または複数のメモリデバイス等（集合的に、メモリデバイス１１０）を含む。メモリシステム１００は、複数のメモリデバイス１００のうち任意の適切な数のストリングを含むことができる。
【００２９】
メモリシステム１００は、複数のメモリデバイスを含むソリッドステートドライブ（ＳＳＤ）などの装置の一部であってよい。本明細書において説明されたように、データストライピングの技術（例えば、データのストリングの部分が複数のデバイスのそれぞれにおいて記憶されている）が、データを記憶するべく用いられ得る。
【００３０】
本明細書において説明されるように、メモリシステム１００及び／またはデータ管理ロジック１４０は、好適な機能（例えば、データアクセス、パリティ情報の生成、メモリ修復（適切にデータを記憶することが可能でなくなった複数の記憶セルからなるブロックのリタイアしたものなど）、データ訂正、消去状態において費やされた時間の制御等）のいずれかを実行するべくハードウェア、ソフトウェア、ファームウェア等を含み得ることに注意されたい。
【００３１】
図１において開示された複数のリソースのそれぞれは、いかなる適切なタイプのリソースでもあり得ることに注意されたい。例えば、メモリデバイス１１０（例えば、ＮＡＮＤフラッシュ、ＮＯＲフラッシュ、磁気抵抗ランダムアクセスメモリ、強誘電体ランダムアクセスメモリ、３次元クロスポイントメモリ等）は、データを記憶するべく、１または複数の記憶面（例えば、当該デバイスを奇数および偶数の複数のブロックから成る２つの物理的平面に分割する２面アーキテクチャ）を含むことができる。
【００３２】
データ管理ロジック１４０及び／または関連する複数の構成要素は、ＡＳＩＣ（Ａｐｐｌｉｃａｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（特定用途向け集積回路））、複数のコンピュータプロセッサハードウェア実行命令、ファームウェア、ハードウェア、ソフトウェア、ハードウェアおよびソフトウェアのハイブリッドおよびその他などの任意の適切なタイプのリソースを介して実行され得る。
【００３３】
非限定的な例を用いて、複数のメモリデバイス１１０のそれぞれは、それぞれのデータを記憶するべく、複数の記憶セルを含むことができる。例えば、メモリデバイス１１０‐Ａは、ブロック１２０‐Ａ１、ブロック１２０‐Ａ２、ブロック１２０‐Ａ３などを含み、メモリデバイス１１０‐Ｂは、ブロック１２０‐Ｂ１、ブロック１２０‐Ｂ２、ブロック１２０‐Ｂ３などを含み、メモリデバイス１１０‐Ｃは、ブロック１２０‐Ｃｌ、ブロック１２０‐Ｃ２、ブロック１２０‐Ｃ３などを含む。
【００３４】
各ブロックは、複数のページを含み、ブロックにおける各ページは、それぞれのデータを記憶するべく複数の記憶セルを含む。一例として、領域２１０‐２は、複数のメモリデバイス１１０にわたって記憶されたビット情報のストリングなどのページ２４５‐Ｘを含む。
【００３５】
示されるように、メモリシステム１００における各領域（または帯域）は、複数のメモリデバイス１１０からの複数のブロックのストライプを含むことができる。この非限定的な例示的実施形態において、領域２１０―１は、ブロック１２０―Ａ１、ブロック１２０―Ｂ１、ブロック１２０―Ｃｌ等を含み、領域２１０―２は、ブロック１２０―Ａ２、ブロック１２０―Ｂ２、ブロック１２０―Ｃ２等を含み、領域２１０―３は、ブロック１２０―Ａ３、ブロック１２０―Ｂ３、ブロック１２０―Ｃ３等を含む、などである。
【００３６】
１つの非限定的な例示的実施形態において、各ブロックにおける複数のメモリ要素は、複数のマルチレベルセルであるように構成され、各記憶要素は、言及されたように、データの複数のビットを記憶することが可能である。言及されたように、実施形態に応じて、各セルは、１または複数ビットのデータを、ビット・パー・セル（ｂｉｔ‐ｐｅｒ‐ｃｅｌｌ）モード設定（例えば、マルチレベルセルＭＬＣ、単一レベルセルＳＬＣ等）に応じて記憶することが可能であってよい。
【００３７】
従って、メモリデバイス１１０における複数の記憶リソースは、領域２１０―１、領域２１０―２、領域２１０―３等を含む複数の領域に分割され得る。一実施形態において、領域２１０―１は第１帯域を表し、領域２１０―２は第２帯域を表し、領域２１０―３は第３帯域を表す、などである。
【００３８】
任意の定められた時間に複数の領域２１０（またはその一部分）のうち１または複数に記憶されたデータは、任意の数の理由によってさらなる使用からリタイアさせられ得る。例えば、それぞれの帯域におけるデータは、メモリにおける複数の位置にわたって記憶された関連データが性能上の理由で互いに隣り合わせになっているなどの異なるやり方でより良好に記憶されているかが決定されるデフラグメンテーション解析を実行した結果として無効であるとしてリタイアさせられてもよく、それぞれの帯域におけるデータは、そのデータがもはや必要でない等を示す、ユーザによって実行される削除動作の結果として無効であるとしてリタイアさせられてもよい。
【００３９】
それぞれの領域に記憶されたデータがもはや有効でないという通知を受信すると、データ管理ロジック１４０は、リスト３２０におけるデータの新たにリタイアした領域のＩＤを記憶する。この例示的実施形態において、リスト３２０は、領域２１０―５、領域２１０―６、…領域２１０―２がリタイアされており、全てが無効データ（例えば、そのデータがもはや全く有用でない）を記憶していることを示す。
【００４０】
リスト３２０に含まれることによって示されるように無効データを有するそれぞれの複数領域を即座に消去するのではなく、本明細書における複数の実施形態は、それぞれの領域内の複数の記憶セルを、それらがリタイアさせられたかあるいは無効データとして分類された後に消去する動作を遅延させる段階を含む。
【００４１】
この例では、データ管理ロジック１４０は、メモリシステム１００における複数の記憶セルのそれぞれの領域２１０―２に記憶されたデータが、今では無効データを記憶しているという通知を受信すると想定されたい。上記通知の受信に応答して、データ管理ロジック１４０が、領域２１０―２を、無効データを記憶しているとしてマーキングする。これは、リスト３２０における領域２１０―２のＩＤを記憶する段階を含み得る。それに加えてあるいは代替的に、本明細書におけるさらなる複数の実施形態は、リタイアした領域において記憶されたデータはもはや有効でないまたは有用なデータでないことを示すべく、その中に記憶されたデータの少なくとも一部を修正する段階を含んでもよい。
【００４２】
上記領域が無効データを記憶しているとマーキングされた後しばらく経つと、データ管理ロジック１４０は、領域２１０における複数の記憶セルの全てまたはその一部に置換データを書き込む。増加した記憶性能を提供し、過度なＲＷＢおよび固有電荷損失劣化を回避するべく、データ管理ロジック１４０は、複数の記憶セルが、領域２１０―２の複数の記憶セルにおけるそれぞれの置換データで後に上書きされる前に、消去状態に設定されている時間を制御する。
【００４３】
本明細書中で説明されるように、１つの実施形態は、領域２１０―２において複数の記憶セルにおける無効データを消去する動作を遅延させ、その無効データを置換データで置き換える段階を含む。例えば、データ管理ロジック１４０は、複数の記憶セルが消去状態にある時間を予め定められた時間閾値より低く低減するべく、その消去動作（複数の記憶セルにおける置換データを書き込むことに先立って必要とされる）を遅らせる。
【００４４】
複数の領域においてデータを上書きする後の過程の全てにわたって、消去滞留時間を予め定められた時間閾値以下に低減する段階は、メモリシステム１００がそれの有用寿命にわたってある特定のレベルの性能を提供するであろうことを保証する。
【００４５】
図４は、本明細書における複数の実施形態に係る不揮発性メモリシステムにおける複数の記憶セルの管理を図示する実例図である。
【００４６】
任意の定められた時間において、複数の領域２１０のうち１つも書き込み状態４１０によって表わされるように有効データを記憶することができない、あるいは複数の領域２１０のうち１または複数が書き込み状態４１０によって表わされるように有効データを記憶することができる。言い換えると、書き込み状態４１０は、有効データを記憶するメモリシステム１００の部分を表わす。
【００４７】
前述のとおり、メモリシステム１００において記憶されたデータの特定の複数の領域は、最終的に、無効となり得る。状態４２０は、リタイアされており今では無効データを記憶している複数の領域を表わす。領域がリタイアされているまたは無効データ状態４２０に置かれていることの検出に応答して、データ管理ロジック１４０は、リスト３２０における無効データを含む領域のＩＤを記憶する。リタイアされた領域をマーキングするまたはタグ付けするべくいかなる適切な方法が用いられてもよい。
【００４８】
一実施形態において、複数の新たな領域がデータ管理ロジック１４０により受信される置換データ４９０を記憶するべく必要とされることから、データ管理ロジック１４０は、消去機能４３０の実行を開始する。例えば、現在の領域４５０が領域２１０―３であって、領域２１０―４が予備領域４４０であると想定されたい。現在の領域４５０（領域２１０―３）のプログラミングが完了した後、データ管理ロジック１４０は、その領域２１０―３を書き込み状態４１０に設定する。以下に説明されるように、領域２１０―３は、その領域２１０―３において新たなデータを書き込むための空いている記憶セルがもはや存在しないことからまたは時間が生じることから、リタイアし得る。本明細書において説明されるように、メモリの領域は、消去することができ、次に特定の時間帯の内で書き込むことができる。上記時間帯が満了した後、上記領域は、そのデータを書き込むのにもはや利用可能でない書き込み状態４１０にリタイアさせられてよい。上記領域は、その全体領域が有効データで書き込みされていないにもかかわらず、リタイアさせられてよい。従って、領域の消去時間は、上記時間帯未満である。さらなる詳細が以下において説明される。領域２１０―４における複数の記憶セルは、その領域２１０―４がリスト３２０から予備領域４４０として割り当てられたとき消去機能４３０によって消去状態に設定されることに注意されたい。
【００４９】
予備領域４４０における空きを埋めるべく（領域２１０―４は現在の領域４５０に移動させられたことから）、データ管理ロジック１４０は、消去機能４３０をリスト３２０において次に利用可能な領域（例えば、領域２１０―５）に適用する。消去機能４３０のアプリケーションは、それぞれの領域における実質的に全ての記憶セルを消去状態に消去する段階を含む。領域２１０―４を現在の領域４５０として指定した後に、データ管理ロジック１４０は、領域２１０―５（消去状態にある）を予備領域４４０として指定する。
【００５０】
一実施形態において、データ管理ロジック１４０は、領域２１０―４を現在の領域４５０として設定する時間でタイマ５５５を開始させ、その間に、利用可能な置換データ４９０はどれも領域２１０―４に記憶される。タイマ５５５は、領域２１０―４が現在の領域４５０として指定されており、新たに受信されたデータ４９０を記憶するべくデータ管理ロジック１４０によって用いられている時間を追跡する。
【００５１】
データ管理ロジック１４０は、特定の時間フレーム内における領域２１０―４内の全ての記憶セルをプログラムするべく、十分な量の置換データ４９０を受信しない可能性がある。現在の領域４５０は最近消去されたことを思い出されたい。また、消去滞留時間（つまり、それぞれの領域における複数の記憶セルが有効データで書き込まれるに先立って消去状態に設定される時間）を低減することは望ましくないことも思い出されたい。一実施形態において、タイマ５５５が、領域２１０―４が現在の領域４５０に設定された後、１．５日などの時間閾値に達したことを検出することに応答して、且つ領域２１０―４における全ての記憶セルが完全に新たな置換データ４９０で書き込まれたかに関わらず、データ管理ロジック１４０は、領域２１０―４を書き込み状態４１０にリタイヤさせる。領域２１０―４を書き込み状態４１０にリタイアさせる段階（それを現在の領域４５０として無期限に残すこととは対照的に）は、領域２１０―４が追加のデータを書き込むのにもはや利用可能でないことを意味する。これは領域２１０―４に対する消去滞留時間を閾値下で保持する。例えば、領域２１０―４は多くて１．５日の間（時間の閾値）予備領域４４０として消去状態において記憶され、領域２１０―４は多くて１．５日の間（時間の閾値）現在の領域４５０として消去状態において記憶される。従って、この例示的実施形態において、領域２１０―４は最大３日間消去状態にある。
【００５２】
一実施形態において、消去された複数の記憶セルの一部は（そのような消去された記憶セルが、領域２１０―４が現在の領域４５０であるとき書き込まれない場合）、現在の領域４５０が書き込み状態４１０にリタイアさせられる直前に非消去値（０１、１０、または００などの値）でプログラムされる。従って、書き込み状態４１０にリタイアされた複数の領域は、消去値（データ値１１など）で完全に埋められていない。これは、領域２１０―４における複数の記憶セルが消去状態に留まる時間を制限する。
【００５３】
領域２１０―４をリスト３２０（キューなどの）から予備領域４４０へ、そして現在の領域４５０へ移すことに基づいて、領域２１０―４における複数の記憶セルには、上述のように最大３日まで消去滞留時間が発生する。より具体的に、領域２１０―４は、予備領域４４０に多くても１．５日の間存在し、領域２１０―４は現在の領域４５０に多くても１．５日の間存在する。従って、領域２１０―４における複数の記憶セルの全てまたはその一部には、最大３日、消去滞留時間が発生し得る。同様のやり方で、複数の領域のそれぞれには、最大３日、消去滞留時間が発生し得る。当然のことながら、最大消去滞留時間は３日である必要はなく、いかなる適切な値であってよい。
【００５４】
また、データ管理ロジック１４０は領域２１０―３および領域２１０―４のそれぞれの記憶セルにおいてデータ４９０を即座に記憶するように構成され得ることから、複数の領域は、最大時間、消去状態に存在しなくてよいことに注意されたい。そのような場合、領域毎の消去滞留時間は、３日よりもはるかに短い。消去滞留時間は、およそ１秒未満である。
【００５５】
このように消去滞留時間を制御することは、領域２１０―４（および他の複数の領域）の複数の記憶セルにおいて記憶された置換データ４９０に関連する固有電荷損失の速度およびＲＷＢマージン損失の速度を減少させる。言及されたように、固有電荷損失の速度おおよびＲＷＢマージン損失の速度は、領域２１０―４における複数の記憶セルの複数の設定が、複数の記憶セルにおける置換データの記憶に先立って消去状態に設定される時間に依存する。言及されたように、領域２１０―３（現在の領域４５０として指定されている場合）は、タイムアウト発生に先立って置換データ４９０で埋めることが可能である。そのような場合、データ管理ロジックは、予備領域４４０を新たな現在の領域４５０として選択しシフトする。そうすることで、データ管理ロジック１４０は、リスト３２０示すように、複数の領域のそれぞれにおける無効データを消去する動作を遅らせる。データ管理ロジック１４０は、メモリシステム１００において置換データ４９０を記憶するべく、新たな記憶空間に対する必要性をモニタリングするように構成され得る。
【００５６】
リスト３２０に明記されているように、それぞれのリタイアした複数の領域における無効データを即座に消去することの代替として、データ管理ロジック１４０は、置換データ４９０を記憶する必要性があることから、複数の記憶領域における無効データを消去するように構成され得る。言い換えると、データ管理ロジック１４０は、消去機能４３０が複数の記憶セルを消去するためのコマンドを受信するまで、前にプログラムされた、無効データを記憶する状態において複数の記憶セルの設定を維持する。前述のとおり、データ管理ロジック１４０から消去機能４３０により受信されたコマンドは、予備帯域（予備領域４４０など）が新たに受信されたデータを記憶するための現在の帯域（現在の領域４５０など）として再割り当てされていると検出することに応答して、受信され得る。データ管理ロジック１４０は、複数の記憶セルの新たに消去された領域を予備領域４４０として指定する。
【００５７】
現在の領域４５０および予備領域４４０は、いかなる数の領域も含むことができることに注意されたい。例えば、データ管理ロジック１４０は、置換データ４９０を記憶するべく、いつ複数の領域が必要とされるか、および何個の領域が必要とされるかを検出することが可能であってよい。そのような例において、データ管理ロジック１４０は、複数の領域を消去する速度を制御し、これらの複数の領域を予備領域として利用可能にするように構成され得る。
【００５８】
予備領域４４０において利用可能な少なくとも１つの領域を有することは、メモリシステム１００において置換データ４９０を記憶するときにデータ管理ロジック１４０が遅らされないことを保証する。例えば、予備領域４４０が現在の領域４５０へ移行したとき、データ管理ロジック１４０は、次の領域が必要とされる前に消去されるように、新たな領域を予備領域４４０として消去する段階を開始する。一実施形態において、領域の消去時間は３から１０ミリ秒である。領域または帯域における複数の記憶セルの設定を修正するためのプログラム時間は、約１秒であってよい。図５は、本明細書における複数の実施形態に従って、減少した、複数の記憶セルにデータを記憶する性能劣化を図示する実例図である。
【００５９】
上述のように図１とは対照的に、図５は、本明細書における複数の実施形態に係る複数のセルが消去状態に設定されている時間を遅延させること及び／またはその時間を減少させることの実用性を示す。示されるように、複数の記憶セルは、消去されることにより、ある程度の劣化を起こす可能性がある。例えば、複数の記憶セルはグラフ５１０―１に示されるように、分布を有する複数の値で書き込まれたと想定されたい。グラフ５１０―２は、ある時間の経過後の複数の記憶セルの状態を示す。グラフ５１０―２において、グラフ５１０―１に関して複数の分布の左へのわずかなシフトがある。しかし、示されるように、短縮された消去滞留時間は、複数の記憶セルに図１に示されるような、長い消去滞留時間が発生するときよりはるかに遅い速度で、記憶されたデータの劣化が生じることを保証する。
【００６０】
図６は、本明細書における複数の実施形態に従って複数の記憶セルにおけるデータの部分的な消去を図示する実例図である。
【００６１】
消去機能４３０を介して消去されるに先立って無効データへのアクセスを防止するかあるいはそれを破壊することが望ましい場合があり得る。  本明細書で説明されるように、リスト３２０における複数の領域の待ち行列は、それぞれの領域が無効データをかなりの時間記憶する結果になり得る。
【００６２】
無効データがリタイアさせられリスト３２０に移動させられた後にそれを破壊する１つの方法は、領域が１００％無効データを記憶しているという通知を受信したときその無効データを破壊するべく、複数の記憶セルのそれぞれの領域におけるデータを消去することである。上記データを利用不可にするべく、本明細書の複数の実施形態は、上記領域を消去する段階および一時的なデータを持つ複数の記憶セルの領域をプログラミングする段階を含んでよい。言及されたように、リタイアさせられている領域のＩＤは、かなりの時間、リスト３２０に留まっていてよい。一実施形態に従って、上記領域のＩＤがリスト３２０における待ち行列にある間に無効データを記憶する代わりに、それぞれの領域は、新たなデータ４９０で続いて上書きされるのに先立って一時的なデータを記憶する。この実施形態は、一時的なデータを持つリタイアした領域において複数の記憶セルを事前にプログラミングする追加の動作を必要とすることから、メモリシステム１００の寿命に影響し得る。上記一時的なデータは続いて消去され、置換データ４９０で上書きされる。上記一時的なデータは、グラフ５１０―１に示されるようなデータと同様の分布を有することができる。
【００６３】
無効データを破壊する他のやり方は、新たにリタイアされた領域のいわゆる部分的な消去を実行することである。そのような場合、データ管理ロジック１４０は、領域における複数の記憶セルの少なくとも一部を複数の非消去状態（例えば、レベルＬ０以外の複数の状態）にプログラムする。
【００６４】
さらなる例として、グラフ６１０―１は、領域における複数の記憶セルに関連する例の分布を示す。グラフ６１０―１は、破壊されるべき領域における無効データの複数の設定を表わしていると想定されたい。一実施形態において、データ管理ロジック１４０は、複数の記憶セルに関連する消去閾値ＴＥＶＩを、グラフ６１０―１における値ＰＶ２（またはＴＥＶＩよりも大きい任意の他の好適な値）におよそ等しくなるべく増加させる。言い換えると、データ管理ロジック１４０は、グラフ６１０―２に示されるように、消去閾値をＴＥＶ２に設定する。データ管理ロジック１４０は、次に、新たにリタイアされた領域における複数の記憶セルの複数のビット設定が、増加させた消去閾値（変更された消去閾値ＴＥＶ２）によって定義される範囲内に入るべく、修正する。元の消去閾値ＴＥＶＩは、グラフ６１０―１に示されるように、複数の記憶セルに関連する複数の元の設定を定義するための基礎として用いられた。
【００６５】
データ管理ロジック１４０は、グラフ６１０―２に示されるように複数の設定の分布を生成するべく領域における複数の記憶セルの設定を修正する。この新たな分布は、新たにリタイアされた領域における十分な数の記憶セルをレベルＬ０の外における複数の非消去状態に設定する段階を含む。このタイプの消去は、複数の記憶セルにおける無効データを、その無効データがもはや利用可能でないように破壊する。さらに、上記分布が効果的に消去状態（例えばレベルＬ０）および少なくとも非消去状態（レベルＬ１、範囲ＥＬ、範囲Ｅ２など）の全域にわたっていることから、複数の記憶セルの領域は前述のとおり、消去状態における長い時間によって実質的に影響を受けない。言い換えると、グラフ６１０―２に示されるように、変更された複数の記憶セルにおける複数の設定の分布は十分にそれぞれ異なっていることから、拡張された期間変更されなくても複数の記憶セルに対して有害ではない。
【００６６】
それぞれの領域における複数の記憶セルの全てまたはその一部は、無効データがもはやアクセス可能でないように部分的に消去され得ることに注意されたい。
【００６７】
上記の実施形態を考慮し、本明細書におけるさらなる実施形態は、複数の記憶セルにおける無効データへのアクセスおよびそのようなデータの使用を防止するべく、そのようなデータを修正するコマンドを受信する段階を含む。上記コマンドの受信に応答して、データ管理ロジック１４０は、上記領域における複数のデータセルの複数の設定の全て未満の部分を、無効データが破損されるかまたは破壊される非消去状態に修正する。言い換えると、元のデータはそれの元の状態から修正される。グラフ６１０―１におけるレベルＬ２及び／またはレベルＬ３に前に設定された複数の記憶セルの一部分またはグループは、グラフ６１０―２におけるレベルＬ１（非消去状態）及び／またはでベルＬ０のまわりの複数のＶｔ設定に変更される。
【００６８】
より具体的な例として、複数の記憶セルの領域は、グラフ６１０―１によって描写されるように、記憶セル＃１＝１１（消去状態）、記憶セル＃２＝１０（非消去状態）、記憶セル＃３＝００（非消去状態）、記憶セル＃４＝１０（非消去状態）、記憶セル＃５＝１１（消去状態）、記憶セル＃６＝００（非消去状態）、記憶セル＃７＝０１（非消去状態）、記憶セル＃８＝００（非消去状態）などのオリジナルデータのシーケンスなどを含んでよい。
【００６９】
リタイアさせられている領域に応答して、データ管理ロジック１４０は上述のように、データを利用可能でなくするべく、部分的消去を介して複数の状態を修正すると想定されたい。グラフ６１０―２によって描写されるような領域は、部分的な消去の適用後、記憶セル＃１＝１１（消去状態）記憶セル＃２＝１０（非消去状態）、記憶セル＃３＝１０（非消去状態）、記憶セル＃４＝１０（非消去状態）、記憶セル＃５＝１１（消去状態）、記憶セル＃６＝１０（非消去状態）、記憶セル＃７＝１０（非消去状態）、記憶セル＃８＝１１（消去状態）などのデータのシーケンスを記憶するように構成された複数の記憶セルなどを含んでもよい。
【００７０】
本明細書において説明されたような部分的消去の結果として、新たにリタイアされた領域における特定の複数の記憶セルは、Ｅ０、ＥＬ、Ｅ２、およびＥ３の範囲の間などの閾値に設定され得ることに注意されたい。
【００７１】
前述のとおり、無効データの領域における第１グループの複数のセルの複数の設定を第１非消去状態（レベルＬ２及び／またはレベルＬ３など）から第２非消去状態（レベルＬ１など）へ変更する段階は、無効データを利用可能でなくする。複数の記憶セルにおけるデータの複数の設定の修正は、また、複数の記憶セルが拡張された期間の間、グラフ６１０―２に示されるような状態において維持されることから、その複数の記憶セルに損傷を与えるという問題を回避する。言い換えると、複数のセルにグラフ６１０―２における複数の設定に設定されている場合、長い消去滞留時間は発生しない。
【００７２】
最終的に、複数の記憶セルのリタイアした、部分的に消去された領域（グラフ６１０―２における複数の設定によって表わされる設定）がリスト３２０において次に予備領域４４０として指定されることになっている。そのような例において、消去機能４３０は領域における全ての記憶セルを、消去閾値ＴＥＶＩに従ってレベルＬ０（消去状態）内にあるように消去する。言及されたように、データ管理ロジック１４０は次に、複数の記憶セルのそれぞれの領域に、それが続いて現在の領域４５０として指定される場合、書き込む（プログラムする）。しかし、上記領域の複数の記憶セルにおいて置換データ４９０を再び記憶するとき、データ管理ロジック１４０は、複数のセルのそれぞれが、記憶されるべき置換データに応じて適切なレベルＬ０、Ｌ１、Ｌ２、またはＬ３内にあるように設定することに注意されたい。従って、上記領域における複数の記憶セルの後の読み込みで、複数の記憶セルは複数の状態のうち１つに設定される。
【００７３】
図４を再び参照すると、リスト３２０は、データが予期されない電力故障時に回復できるように不揮発性メモリデバイスにおいて記憶できることに注意されたい。しかし、特定の実施形態において、リスト３２０はそれぞれの電力故障時に破損する可能性があることに注意されたい。
言い換えると、電力故障はリスト３２０の完全な損失になり得る。なぜならば、そのリストは揮発性メモリに記憶されているからである。
【００７４】
メモリシステム１００の可能な電力故障を考慮し、本明細書における１つの実施形態は、それぞれの領域が無効データを含むことを示すべく、無効データの１または複数の領域にマーキングする段階を含む。例えば、領域が無効状態４２０にリタイアさせられていることを検出すると、データ管理ロジック１４０は、それぞれ領域が無効データを含んでいることを示すべく、異なる複数の領域において予め定められた位置で記憶されたデータを修正するように構成され得る。電力故障の発生に続いて、後の電源起動時に、データ管理ロジック１４０は、それぞれの対応する領域が有効または無効データを記憶しているか判断するべく、それぞれの領域において予め定められた位置におけるデータの複数の設定にアクセスし、利用するように構成され得る。無効データを記憶している複数の領域に関しては、データ管理ロジック１４０は、リスト３２０における複数の領域のＩＤを含み、上述のようなやり方で動作する。無効データを含むリスト３２０におけるそのような複数の領域は、複数の論理アドレスをデータが記憶されているメモリにおいて対応する複数の物理的位置にマッピングすることを可能にする論理‐物理表を作成するべく用いられない。
【００７５】
本明細書における複数の実施形態は、起動後に予め定められた位置で読み込みを試みるとき、それに続く読み込みエラーが生じることを保証するべく、その予め定められた位置でデータを修正する段階を含んでよい。  一実施形態において、電力が復旧された後のデータ管理ロジックによる後の読み込みエラーは、それぞれの領域が無効データを含むことを示す。
【００７６】
上述にように、本明細書における他の実施形態は、それぞれの帯域にける全てまたは一部分（最後のページまたはワード線など）が部分的に消去されるいわゆる部分的消去または破損（後続のリードを失敗させるようにする（ｆａｉｌ  ｓｕｂｓｅｑｕｅｎｔ  ｒｅａｄ））を実行する段階を含んでよい。グラフ６１０―２の部分的な消去状態において、メモリシステム１００を含むそれぞれのコンピュータデバイスの後の起動時に、データ管理ロジック１４０は、部分的に消去された領域におけるそれぞれのページから読み込むことを試みるように構成されてよい。データ管理ロジック１４０が予め定められたレベルＬ０、Ｌ１、Ｌ２、およびＬ３に従ってそのようなデータを読み込むことを試みみるとき、ＥＣＣ（エラー訂正コード）読み込みエラーまたはパリティエラーが生じ、従ってその領域（または帯域）が無効データを含むことを示す。
【００７７】
電力故障の後に復旧するためのさらにもう１つの方法は、メモリシステム１００に関連するＬ２Ｐ（論理‐物理（Ｌｏｇｉｃａｌ  ｔｏ  Ｐｈｙｓｉｃａｌ））マッピングを再構成する段階を含んでよい。例えば、領域における全てのブロックは、（それらが無効データを記憶する場合であっても）最初有効データを記憶すると仮定される。それぞれの帯域の各々に記憶されたデータは、複数のＬ２Ｐマッピングにおける少なくとも１つの論理ブロックアドレス（ＬＢ  Ａ）が、それぞれの領域における位置（ブロックなど）を指しているかどうか判断するべく用いられ得る。Ｌ２Ｐマッピングを形成するとき、帯域における複数のブロックのいずれかを指す論理ブロックアドレスポインタが見出されない場合、次にその帯域（例えば、領域）は無効データを含むことが決定される。全ての無効データを有しているあらゆる領域のＩＤが、次にリスト３２０において含まれる。
【００７８】
さらに他の実施形態に従って、データ管理ロジック１４０は、現在の領域４５０の第１ページなどの指定された領域において、リスト３２０における複数の領域のＩＤのコピーを記憶するように構成されてよい。例えば、一実施形態において、データ管理ロジック１４０は、領域を現在の領域４５０として指定すると、第１ページなどの現在の領域４５０の予め定められた位置においてＩＤ（リスト３２０）を記憶する。
【００７９】
現在の領域４５０における複数のＩＤを第１ページに記憶した後、メモリシステム１００には、メモリデバイス１１０が事前の通知無しに全体的に電力が停止される電力故障が発生すると想定されたい。例えば、現在の領域４５０が受信されたデータを記憶するべくデータ管理ロジック１４０によって用いられる間に、予期されない電力故障が生じ得る。電力が復元されると、後のシステム起動において、データ管理ロジック１４０（または他の好適なリソース）は、領域２１０のどれが、電力故障に先立って、直前のデータ管理ロジック１４０によって用いられた現在の領域４５０として指定されたかを特定するように構成され得ることを想定されたい。
【００８０】
システムの再起動に続いて、いかなる好適な方法が直前の現在の領域４５０を判断するべく用いられてもよい。例えば、一実施形態において、電力故障に先立ってデータ管理ロジック１４０は、リスト３２０における複数のＩＤを現在の領域４５０の指定されたページ（第１ページなど）の中に記憶する。電力故障が生じることから、データ管理ロジック１４０は現在の領域４５０の最後のページに書き込むことが不可能である。よって、現在の領域４５０の最後のページは未だに消去状態にある。予備領域４４０における全てのページは消去状態に設定されていることに注意されたい。現在の領域４５０は、以前は予備領域４４０であり消去状態にあった。
【００８１】
電力故障の後、およびメモリシステム１００の復旧後、データ管理ロジック１４０は、メモリシステム１００における各領域の最後のページの状態を読み込む。各領域の最後のページの読み込みに基づいて、データ管理ロジック１４０は、２つの候補領域（直前の現在の領域４５０および直前の予備領域４４０）をおそらく直前の現在の領域４５０であるとして特定する。２つの候補の領域は、消去されたデータの最後のページを含む。データ管理ロジック１４０は、どちらが直前の現在の領域４５０であるか判断するべく２つの候補領域の第１ページを読み込む。例えば、第１ページが書き込まれている２つの候補における領域のうち１つが直前の現在の領域４５０であった領域である。データ管理ロジック１４０は、現在の領域４５０の第１ページにリスト３２０を書き込むことを思い出されたい。他の候補領域（前の予備領域４４０）は、消去データのページを有するであろう。従って、前の現在の領域４５０は、第１ページにおける書き込みデータおよび最後のページにおける消去データを含む、部分的にだけ書き込まれた帯域として識別可能であろう。予備領域４４０は、消去データの第１ページおおび消去データの最後のページを含むであろう。そのような場合、上記領域は、電力故障の前は、前の予備領域４４０であったと決定される。
【００８２】
電力損失に先立って現在の領域４５０として指定された特定の帯域（または領域）を識別した後、データ管理ロジック１４０（または他の好適なリソース）は読み出しを行い、現在の領域４５０の対応する第１ページからリスト３２０を再生成し、次にそのリストにおけるそのような領域（例えば、領域２１０―５、２１０―６、２１０―１２等）をＬ２Ｐ表構成から除外する。従って、リスト３２０は揮発性メモリにおいて記憶され電力故障において喪失するかもしれないにもかかわらず、本明細書における複数の実施形態は、現在の領域４５０において記憶されたデータに基づいてリスト３２０を再生成する段階を含んでもよい。図７は、本明細書における複数の実施形態に従って、本明細書で説明されるような複数の動作のいずれかを実行するためのコンピュータシステムの例示的なブロック図である。
【００８３】
コンピュータシステム８５０は、データ管理ロジック１４０に関して複数の動作のいずれかを実行するように構成されてよい。
【００８４】
示されるように、本実施例のコンピュータシステム８５０は、デジタル情報が記憶され取得され得る物理的な非一時的なタイプの媒体など（つまり、物理的ハードウェア記憶媒体の任意のタイプ）のコンピュータ可読記憶媒体８１２、プロセッサ８１３（つまり、１つ又は複数のプロセッサデバイス）、Ｉ／Ｏインタフェース８１４、通信インタフェース８１７等を結合させる相互接続８１１を含んでもよい。
【００８５】
示されるように、Ｉ／Ｏインタフェース８１４は、コンピュータシステム８５０にメモリデバイス２２０において記憶されたデータへの接続性を提供する。
【００８６】
コンピュータ可読記憶媒体８１２は、メモリ、光ストレージ、ハードドライブ、フロッピー（登録商標）ディスクその他等のいかなる物理的または有形の１または複数のハードウェア記憶デバイスであってよい。一実施形態において、コンピュータ可読記憶媒体８１２（例えばコンピュータ可読ハードウェアストレージ）は、複数の命令及び／またはデータを記憶する。
【００８７】
一実施形態において、通信インタフェース８１７は、コンピュータシステム８５０およびそれぞれのプロセッサ８１３が、複数の遠隔ソースから情報を取得して他のコンピュータと通信を行うべく、ネットワーク１９０などのリソースを介して通信を行うことを可能にする。Ｉ／Ｏインタフェース８１４は、プロセッサ８１３がメモリデバイス２２０などの保管場所から記憶された情報を取得することを可能にする。
【００８８】
示されるように、コンピュータ可読記憶媒体８１２はプロセッサ８１３によって実行されるデータ管理アプリケーション１４０―１（例えば、ソフトウェア、ファームウェア等）でエンコードされている。データ管理アプリケーション１４０―１は、本明細書において説明されるような複数の動作のいずれかを実装するべく複数の命令を含むように構成されてもよい。
【００８９】
１つの実施形態の動作中、プロセッサ８１３は、コンピュータ可読記憶媒体８１２を起動し、コンピュータ可読記憶媒体８１２に記憶されたデータ管理アプリケーション１４０―１における複数の命令を動作させ、実行し、解釈、あるいは実施するべく、それに相互接続８１１の使用を介してアクセスする。
【００９０】
データ管理アプリケーション１４０―１の実行は、プロセッサ８１３におけるデータ管理処理１４０―２などの処理機能を生成する。言い換えると、プロセッサ８１３に関連するデータ管理処理１４０―２は、コンピュータシステム８５０におけるプロセッサ８１３内のまたはプロセッサ８１３においてデータ管理アプリケーション１４０―１を実行することの１または複数の側面を表わす。
【００９１】
当業者は、コンピュータシステム８５０が、データ管理アプリケーション１４０―１を実行するべく、他の複数の処理及び／または複数のハードウェアリソース、複数のソフトウェアリソース等の割り当ておよび使用を制御するオペレーティングシステムなどの複数のソフトウェアおよびハードウェア構成要素を含んでもよいことを理解するであろう。
【００９２】
複数の異なる実施形態に従って、コンピュータシステム８５０は、モバイルコンピュータ、パーソナルコンピュータシステム、無線デバイス、基地局、電話デバイス、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブックコンピュータ、メインフレームコンピュータシステム、ハンドヘルドコンピュータ、ワークステーション、ネットワークコンピュータ、アプリケーションサーバ、記憶デバイス、カメラなどの家電機器、カムコーダ、セットトップボックス、モバイルデバイス、動画、ゲームコンソール、ハンドヘルド動画ゲームデバイス、スイッチなどの周辺機器、モデム、ルータ、または概して任意のタイプの演算または電子デバイスを含むがそれらに限定されない様々なタイプのデバイスのいずれかを含んでもよいことに注意されたい。
【００９３】
複数の異なるリソースによってサポートされる機能が、ここで図８におけるフローチャートを介して説明される。以下の複数のフローチャートにおいて処理する段階は、任意の好適な順序で実行してよいことに注意されたい。
【００９４】
図８は、複数の実施形態に係る例示的な方法を図示するフローチャート８００である。上述のように、複数の概念に関していくらかの重複があることに注意されたい。
【００９５】
処理ブロック８１０において、データ管理ロジック１４０は、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが、無効データを記憶しているという通知を受信する。
【００９６】
処理ブロック８２０において、上記通知に応答してデータ管理ロジック１４０は、上記領域を、無効データを記憶しているとしてマーキングする。
【００９７】
処理ブロック８３０において、データ管理ロジック１４０は、複数の記憶セルにおける無効データを置換データで上書きする段階に関連して複数の記憶セルが消去状態にある時間を制御する。非限定的な例を用いて、データ管理ロジック１４０は、複数の記憶セルがそれぞれの置換データでプログラムされるとき、複数の記憶セルを消去する時間がより近くなるべくそれを消去する段階を遅らせる。
【００９８】
図９は、本明細書における複数の実施形態に係るそれぞれのコンピュータシステムにおけるメモリシステムの使用を図示する実例図である。
【００９９】
示されるように、コンピュータシステム１１００は、ホストプロセッサリソース１１２０およびメモリシステム１００を含んでよい。ホストプロセッサリソース１１２０は、１つ又は複数のプロセッサデバイスなどのコンピュータプロセッサハードウェアであるかまたはそれを含んでよい。非限定的例を用いて、コンピュータシステム１１００は、データを記憶するべくメモリシステム１００を用いて、パーソナルコンピュータ、携帯電話、モバイルデバイス、カメラその他などの任意の適切なタイプのリソースであってよい。
【０１００】
一実施形態において、メモリシステム１００は、データを記憶するべく用いられるソリッドステートドライブである。ホストプロセッサリソース１１２０は、インタフェース１０１１を介してメモリシステム１００にアクセスする。インタフェース１０１１は、複数のデータ転送を可能にする任意の好適なリンクであってよい。例えば、インタフェース１０１１は、ＳＣＳＩ（スモールコンピュータシステムインタフェース（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ））、ＳＡＳ（シリアルアタッチドＳＣＳＩ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ））、ＳＡＴＡ（シリアルアドバンスドテクノロジアタッチメント（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ））、ＵＳＢ（ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ））、ＰＣＩｅ（周辺機器相互接続エクスプレス（Ｐｅｒｉｐｈｅｒａｌ Ｃｏｍｐｏｎｅｎｔ Ｉｎｔｅｒｃｏｎｎｅｃｔ Ｅｘｐｒｅｓｓ））バス等であってよい。
【０１０１】
インタフェース１０１１を介し、コンピュータシステム１１００のホストプロセッサリソース１１２０は、メモリシステム１００からデータを取得し、そこにデータを記憶することが可能である。
【０１０２】
一例として、ホストプロセッサリソース１１２０はチェックアウトステーション１１００を操作しているユーザからの入力１０５によって特定されるそれぞれの機能を実行するよう要求を受信すると想定されたい。ホストプロセッサリソース１１２０は、機能を実行し、その機能は、特定された論理アドレスでのデータの検索のためのデータ管理ロジック１４０へインタフェース１０１１を通して要求を送信する段階を含んでもよい。他の複数の機能を実行する段階に加えて、データ管理ロジック１４０は、メモリシステム１００における適切な物理アドレスに論理アドレスをマッピングし、不揮発性メモリデバイス２２０からデータを取得するように構成され得る。メモリシステム１００から適切なデータを取得する段階の後に、データ管理ロジック１４０は、取得したデータをホストプロセッサリソース１１２０へ送信し、データに対する要求を満たす。
【０１０３】
１つの非限定的な例示的実施形態において、ホストプロセッサリソースは、データ管理ロジック１４０から受信されたデータに応じてディスプレイスクリーン１３０上の画像の表示を開始する。
【０１０４】
さらなる例として、ホストプロセッサリソース１１２０は、ユーザからの入力１０５によって特定されたようにそれぞれ機能を実行するよう要求を受信してよいことに注意されたい。ホストプロセッサリソース１１２０は、ホストプロセッサリソース１１２０によって特定されるように論理アドレスでデータを記憶するべく上記機能を実行し、データ管理ロジック１４０と通信する。上記要求を受信することに応答して、データ管理ロジック１４０は、論理アドレスを適切な物理アドレスにマッピングし、受信されたデータを不揮発性メモリデバイス２２０の対応する位置において記憶する。
【０１０５】
前述のとおり、データ管理ロジック１４０は、メモリシステム１００における複数の記憶セルのプログラミングに関連して消去滞留時間を管理するように構成され得る。前述のとおり、エラー訂正情報が損傷したデータを修復するべく用いられることから、特定の量の劣化は許容可能であってよい。しかし、消去滞留時間を減らすことは、メモリシステム１００の有用寿命を実質的に増加させる。
【０１０６】
開示される複数の例示的実施形態の複数の異なる変形
本明細書において説明される第１の例示的実施形態は方法を備え、当該方法は、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶しているという通知を受信する段階応答して、その領域を、無効データを記憶しているとしてマーキングする段階と、後に複数の記憶セルにおける無効データを置換データで上書きする段階に関連して、その複数の記憶セルの領域が消去状態にある時間を制御する段階と、を備える。第１の例示的実施形態は、以下のさらなる複数の実施形態を生成するべく、以下の複数の特徴のうち１つまたは複数のいずれかに伴って実装され得る。
【０１０７】
一実施形態において、上記時間は、複数の記憶セルが、後に置換データで上書する段階の前に消去状態に設定されている時間を表す。上記時間を制御する段階は、上記領域における複数の記憶セルにおいて無効データを消去する段階の動作を遅延させる段階と、上記無効データを置換データで置き換える段階とを含み、その遅延された動作は、上記時間を予め定められた時間閾値以下に減少させる。
【０１０８】
本明細書におけるさらなる実施形態は、複数の記憶セルの領域を消去する時間の実質的に前後でタイマを開始する段階と、当該タイマを監視する段階と、当該タイマが閾値時間値に到達するのに先立って置換データを記憶するべく、複数の記憶セルの消去された領域を利用する段階と、を含む。
【０１０９】
さらなる複数の実施形態によると、無効データを消去する動作を遅延させる段階は、不揮発性メモリシステムにおける記憶空間の必要性を監視する段階、および不揮発性メモリシステムにおいて置換データを記憶する必要があることを検出することに応答して、その記憶領域における無効データを消去する段階を含む。
【０１１０】
さらに他の方法実施形態に従って、無効データを消去した後において、本明細書における実施形態は、複数の記憶セルが消去状態に設定されている時間が予め定められた時間閾値未満にあることを保証するべく、領域の複数の記憶セルにおける置換データの記憶を開始する段階を含む。
【０１１１】
時間を制御する段階が、さらに複数の記憶セルに記憶された置換データに関連付けられる固有電荷損失の速度を減少させる段階を含んでよい。置換データに関連付けられる固有電荷損失の速度は、複数の記憶セルの設定が、その複数の記憶セルにおける置換データの記憶に先立って消去状態に設定された時間に依存する。
【０１１２】
さらなる複数の実施形態において、無効データの上書きに関連する時間を制御する段階は、前にプログラムされた無効データを記憶する状態にある複数の記憶セルの設定をその複数の記憶セルを消去するコマンドを受信するまで維持する段階、および複数の記憶セルの消去された領域を予備帯域であるとして指定する段階を含み、そのコマンドは、不揮発性メモリシステムにおける予備帯域が新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることを検出するとそれに応答して受信される。他の実施形態によると、固有電荷損失を減少させるべく領域における複数の記憶セルの設定を制御する段階は、複数の記憶セルにおける無効データを修正するコマンドを受信する段階、およびそのコマンドの受信に応答して、その領域における複数のデータセルの設定の全て未満の部分を、無効データが破損する非消去状態に修正する段階を含む。
【０１１３】
複数のデータセルの設定の全て未満の部分を非消去状態に修正する段階は、無効データを利用不可にするべく、領域における第１グループのセルの複数の設定を第１非消去状態から第２非消去状態に変更する段階を含む。
【０１１４】
上記時間を制御する段階はさらに、消去滞留時間を時間閾値未満に減少させるべく、領域において複数の記憶セルにおける第２の非消去データを消去する動作を遅延させ、その第２の非消去データを置換データで置き換える段階と、を含む。
【０１１５】
本明細書における複数のさらなる方法の実施形態は、無効データを破壊するべく、領域の部分的消去を実行する段階を含んでよく、その領域における複数の記憶セルの少なくとも一部は、非消去状態に設定され得る。
【０１１６】
さらなる複数の実施形態によると、時間を制御する段階は、無効データを破壊するべく複数の記憶セルの領域を消去する段階と、一時的データを置換データで上書きすることに先立って、その一時的データで複数の記憶セルの領域をプログラミングする段階とを含んでよい。
【０１１７】
前述のとおり、方法に係る複数の実施形態は、無効データを記憶しているとして上記領域をマーキングする段階を含んでよい。上記領域をマーキングする段階はさらに、その領域において予め定められた位置で記憶されたデータを、その領域が無効データを含むことを示すべく修正する段階を含んでよい。方法に係る複数の実施形態はさらに、領域が無効データを記憶していることを判断するべく、その予め定められた位置でデータの複数の設定を利用する段階を含んでよい。
【０１１８】
本明細書で説明されるように第２の例示的実施形態は装置を含み、当該装置は、複数の不揮発性メモリデバイスを含む不揮発性メモリシステムと、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶しているという通知を受信し、その通知に応答して、その領域を、無効データを記憶しているとしてマーキングし、その領域が、複数の記憶セルにおける無効データを後に置換データで上書きする段階に関連付けられる、消去状態に設定されている時間を制御するように構成された処理ロジックと、を備える。
【０１１９】
第２の例示的実施形態は、以下の複数のさらなる実施形態を生成するべく、次の複数の特徴のうち１つまたは複数のいずれかに伴って実装されてよい。
【０１２０】
一実施形態において、時間は、複数の記憶セルが後に置換データで上書きする前に消去状態に設定されている時間を表わす。処理ロジックは、領域における複数の記憶セルにおいて無効データを消去しその無効データを置換データに置き換える動作を遅延させるようにさらに構成され得る。その遅延された動作は、時間を予め定められた時間閾値未満に減少させる。
【０１２１】
さらなる複数の実施形態によると、処理ロジックは、不揮発性メモリシステムにおける記憶空間の必要性をモニタリングし、その不揮発性メモリシステムに置換データを記憶する必要があることを検出することに応答して、記憶領域における無効データを消去するようにさらに構成されている。
【０１２２】
よりさらなる複数の実施形態において、処理ロジックは、無効データの消去後、領域の複数の記憶セルが消去状態に設定されている時間が予め定められた時間閾値未満であることを保証するべく、その領域の複数の記憶セルにおいて置換データの記憶を開始するようにさらに構成されている。
【０１２３】
他の例示的実施形態において、処理ロジックは、複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を低減するようにさらに構成されており、その固有電荷損失の速度は、複数の記憶セルの設定が、その複数の記憶セルにおける置換データの記憶に先立って消去状態に設定されている時間に依存する。
【０１２４】
さらなる実施形態において、処理ロジックは、複数の記憶セルの設定を、その複数の記憶セルを消去するコマンドを受信するまで、前にプログラムされた無効データを記憶する状態において維持するようにさらに構成され、そのコマンドは、不揮発性メモリシステムにおける予備帯域が、新たに受信されたデータを記憶する現在の帯域として再割り当てされているという検出に応答して受信される。
【０１２５】
処理ロジックは、複数の記憶セルにおける無効データを修正するコマンドを受信し、そのコマンドの受信に応答して、領域における複数のデータセルの設定の全て未満の部分を非消去状態に修正するようにさらに構成され得る。
【０１２６】
さらなる複数の実施形態によると、処理ロジックは、無効データを利用不可にするべく、領域における第１グループのセルの複数の設定を、第１非消去状態から第２消去状態に変更するようにさらに構成され得る。
【０１２７】
さらなる複数の実施形態によると、処理ロジックは、時間を時間閾値未満に低減し、領域における複数の記憶セルにおいて第２非消去データを消去する動作を遅延させ、その第２非消去データを置換データで置き換えるようにさらに構成され得る。
【０１２８】
さらなる複数の実施形態において、処理ロジックは、無効データを破壊するべく領域の部分的消去を実行するようにさらに構成され、領域における複数の記憶セルの少なくとも一部は複数の非消去状態に設定される。一実施形態において、処理ロジックは、無効データを破壊するべく複数の記憶セルの領域を消去し、複数の記憶セルの領域を、一時的データを置換データで上書きすることに先立って、一時的データでプログラムするようにさらに構成されている。
【０１２９】
コンピュータシステムが、当該装置を含むように構成されてよい。そのようなコンピュータシステムは、処理ロジックと通信し、メモリシステムにおいて対応するデータを記憶するように構成されたホストコンピュータプロセッサハードウェアを含むように構成され得る。
【０１３０】
本明細書において説明されるように不揮発性メモリシステムは、コンピュータシステムがアクセスを有するソリッドステートドライブであってよい。
【０１３１】
本明細書において説明されるようにコンピュータシステムは、さらに、ソリッドステートドライブに記憶された対応するデータに少なくとも部分的に基づいた画像をレンダリングするためのディスプレイスクリーンを含んでよい。
【０１３２】
本明細書において説明されるように第３の例示的実施形態は、複数の命令が記憶されたコンピュータ可読ストレージハードウェア（コンピュータ可読記憶媒体）を含み、当該複数の命令は、コンピュータプロセッサハードウェアによって実行されるとき、そのコンピュータプロセッサハードウェアに１または複数の動作を実行させる。上記複数の動作は、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶するという通知の受信に応答して、その領域を、無効データを記憶しているとしてマーキングする段階と、複数の記憶セルにおける無効データを後に置換データで上書きする段階に関連して複数の記憶セルの領域が消去状態にある時間を制御する段階とを含んでよい。
【０１３３】
第３の例示的実施形態は、以下のさらなる複数の実施形態を生成するべく、次の複数の特徴のうち１つまたは複数のいずれかに伴って実装されてよい。
【０１３４】
他のコンピュータ可読記憶媒体の実施形態によると、時間は、複数の記憶セルが、後に置換データで上書きする段階の前に消去状態に設定されている時間を表わす。  時間を制御する段階は、領域における複数の記憶セルにおいて無効データを消去する動作を遅延させ、無効データを置換データで置き換える段階を含み、遅延された動作は、時間を予め定められた時間閾値未満に減らす。
【０１３５】
他の実施形態によると、コンピュータ可読記憶媒体は、不揮発性メモリシステムにおける記憶空間の必要性を監視することと、不揮発性メモリシステムにおける置換データを記憶する必要性の検出に応答して記憶領域における無効データを消去することとの動作をサポートする複数の命令を含む。
【０１３６】
他の実施形態によると、コンピュータ可読記憶媒体は、無効データの消去の後に、複数の記憶セルが消去状態に設定されている時間が予め定められた時間閾値未満であることを保証するべく、領域の複数の記憶セルにおいて置換データの記憶を開始する段階の複数の動作をサポートする複数の命令を含む。
【０１３７】
他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルに記憶された置換データに関連付けられる固有電荷損失の速度を減らすことの複数の動作をサポートする複数の命令を含み、当該固有電荷損失の速度は、複数の記憶セルの設定が、その複数の記憶セルにおける置換データの記憶に先立って消去状態に設定されている時間に依存する。
【０１３８】
他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルの設定を、前にプログラムされた無効データを記憶する状態において、複数の記憶セルを消去するコマンドを受信するまで維持すること、および複数の記憶セルの消去された領域が、予備帯域であるとして指定することの複数の動作をサポートする複数の命令を含み、上記コマンドは、不揮発性メモリシステムにおける予備帯域が、新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることの検出に応答して受信される。
【０１３９】
他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルにおける無効データを修正するコマンドを受信すること、およびそのコマンドの受信に応答して、領域における複数の記憶セルの設定の全て未満の部分を、無効データが破損する非消去状態内にあるように修正することの複数の動作をサポートする複数の命令を含む。
【０１４０】
他の実施形態によると、コンピュータ可読記憶媒体は、領域における第１グループのセルの複数の設定を、無効データを利用不可にするべく、第１非消去状態から第２非消去状態へと変更する段階の複数の動作をサポートする複数の命令を含む。
【０１４１】
他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルに関連する消去閾値を増加させること、および複数の記憶セルの設定が、増加した消去閾値によって定義される範囲内におさまるようにその複数の記憶セルの設定を修正することの複数の動作をサポートする複数の命令を含む。
【０１４２】
他の実施形態によると、コンピュータ可読記憶媒体は、無効データを破壊するべく領域の部分的消去を実行する段階の複数の動作をサポートする複数の命令を含む。
【０１４３】
他の実施形態によると、コンピュータ可読記憶媒体は、無効データを破壊するべく複数の記憶セルの領域を消去すること、および置換データで一時的データを上書きすることに先立ってその一時的データで複数の記憶セルの領域をプログラミングすることの複数の動作をサポートする複数の命令を含む。他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を減らす段階の複数の動作をサポートする複数の命令を含む。他の実施形態によると、コンピュータ可読記憶媒体は、時間が閾値未満であるように制御する段階の複数の動作をサポートする複数の命令を含む。
【０１４４】
他の実施形態によると、コンピュータ可読記憶媒体は、領域において予め定められた位置で記憶されたデータを、その領域が無効データを含むことを示すべく修正する段階、および領域が無効データを記憶していると判断するべく、その予め定められた位置でデータの複数の設定を利用する段階の複数の動作をサポートする複数の命令を含む。
【０１４５】
本明細書において説明されるように第４の例示的実施形態は、時間を管理するシステムを含み、当該システムは、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶しているという通知を受信するための手段と、当該通知に応答してその領域を、無効データを記憶しているとしてマーキングする手段と、後に複数の記憶セルにおける無効データを置換データで上書きすることに関連付けられる、その複数の記憶セルの領域が消去状態に設定されている時間を制御する手段とを備える。
【０１４６】
第４の例示的実施形態は、以下のさらなる複数の実施形態を生成するべく、以下の複数の特徴のうち１つまたは複数のいずれかに伴って実装され得る。
【０１４７】
１または複数の例示的実施形態において、時間は、複数の記憶セルを後に置換データで上書きする前に、その複数の記憶セルが消去状態に設定されている時間を表わす。上記時間を制御する段階は、上記領域における複数の記憶セルにおいて無効データを消去する段階の動作を遅延させることと、無効データを置換データで置き換えることとを含み、その遅延された動作は、上記時間を予め定められた時間閾値未満に減少させる。
【０１４８】
１または複数の例示的実施形態において、当該システムは、不揮発性メモリシステムにおける記憶空間に対する必要性を監視する手段と、不揮発性メモリシステムにおける置換データを記憶する必要性の検出に応答して、記憶領域における無効データを消去する手段とをさらに備える。
【０１４９】
１または複数の例示的実施形態において、当該システムは、無効データの消去後、領域の複数の記憶セルが消去状態に設定されている時間が予め定められた時間閾値未満であることを保証するべく、その領域の複数の記憶セルにおいて置換データの記憶を開始する手段をさらに備える。
【０１５０】
１または複数の例示的実施形態において、当該システムは、複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を低減する手段をさらに備え、その固有電荷損失の速度は、複数の記憶セルの設定が、その複数の記憶セルにおける置換データの記憶に先立って消去状態に設定されている時間に依存する。
【０１５１】
１または複数の例示的実施形態において、当該システムは、前にプログラムされた、無効データを記憶する状態にある複数の記憶セルの設定をその複数の記憶セルを消去するコマンドを受信するまで維持する手段、および複数の記憶セルの消去された領域を予備帯域であるとして指定する手段をさらに備え、そのコマンドは、不揮発性メモリシステムにおける予備帯域が新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることを検出することに応答して受信される。
【０１５２】
１または複数の例示的実施形態において、当該システムは、複数の記憶セルにおける無効データを修正するためのコマンドを受信する手段、および領域における複数の記憶セルの設定の全て未満の部分が、無効データが、コマンドの受信に応答して破損する非消去状態内にあるように、その領域における複数の記憶セルの設定を修正する手段をさらに備える。
【０１５３】
１または複数の例示的実施形態において、当該システムは、無効データを利用不可にするべく、領域における第１グループのセルの複数の設定を、第１非消去状態から第２消去状態に変更する手段をさらに備える。
【０１５４】
１または複数の例示的実施形態において、当該システムは、複数の記憶セルに関連付けられる消去閾値を増加させる手段と、複数の記憶セルの設定が増加した消去閾値によって定義される範囲内におさまるように複数の記憶セルの設定を修正する手段とをさらに備える。
【０１５５】
１または複数の例示的実施形態において、当該システムは、無効データを破壊するべく、領域の部分的消去を実行する手段をさらに備える。
【０１５６】
本明細書において説明されるような複数のリソースのいずれも、本明細書において開示される複数の方法動作のいずれかまたは全てを実行及び／またはサポートするべく、１または複数のコンピュータ化されたデバイス、コンピュータシステム、サーバ、基地局、無線通信機器、通信管理システム、ワークステーション、ハンドヘルドまたはラップトップコンピュータ等を含んでよい。言い換えると、１または複数のコンピュータ化されたデバイスまたはプロセッサは、複数の異なる実施形態を実行するべく、本明細書に説明されるように動作するようにプログラムされ及び／または構成され得る。
【０１５７】
本明細書におけるさらなる他の複数の実施形態は、本明細書において開示されるような複数の動作を実行するべく、ソフトウェアプログラム、ファームウェア、ロジック等を含む。そのような一実施形態は、複数のソフトウェア命令が後の実行のためにエンコードされた非一時的コンピュータ可読記憶媒体（つまり、任意のコンピュータ可読ハードウェア記憶媒体）を含むコンピュータプログラム製品を備える。複数の命令は、１つ又は複数のプロセッサを有するコンピュータ化されたデバイスにおいて実行されるとき、そのプロセッサが本明細書において開示されるような複数の動作を実行するようにプログラムする及び／またはそのプロセッサが本明細書において開示されるような複数の動作を実行するようにする。  そのような装置は、光学媒体（例えばＣＤ‐ＲＯＭ）、フロッピー（登録商標）ディスク、ハードディスク、メモリなどの非一時的コンピュータ可読記憶媒体、または、１または複数のＲＯＭ、ＲＡＭ、ＰＲＯＭなどにおけるファームウェアまたはショートコードなどの他の媒体において配置またはエンコードされたソフトウェア、ファームウェア、コード、複数の命令、データ（例えば、複数のデータ構成）など、または特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ））などにおけるロジックとして提供され得る。ソフトウェアまたはファームウェア、あるいはその他のそのような複数の構成が、コンピュータ化されたデバイスにインストールされ、本明細書において説明される技術を、コンピュータ化されたデバイスに実行させることができる。
【０１５８】
従って、本明細書における複数の実施形態は、本明細書において説明されたような複数の動作をサポートする装置、方法、システム、コンピュータプログラム製品などを対象とする。
【０１５９】
１つの実施形態は、１または複数の不揮発性メモリデバイスを含むメモリシステムにおいてデータを管理するべく記憶された複数の命令、ロジック等を有するコンピュータ可読記憶媒体及び／またはシステムを含む。複数の命令、及び／またはロジックは、それぞれのコンピュータの少なくとも１つのプロセッサデバイスにより実行されるとき、当該少なくとも１つのプロセッサデバイスが、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが、無効データを記憶しているという通知を受信し、その通知に応答して、領域が無効データを記憶しているとしてマーキングするようにし、複数の記憶セルにおける無効データを置換データで上書きすることに関連付けられる時間を制御するようにする。
【０１６０】
本明細書において説明されるような処理はいずれも、いかなる好適な順序で実行されてもよいことに注意されたい。
【０１６１】
本明細書で説明されるような装置、システム、方法、装置、コンピュータ可読記憶媒体上の複数の命令等は、ソフトウェアプログラム、ファームウェア、ソフトウェア、ファームウェア、及び／またはハードウェアのハイブリッドとして、またはプロセッサデバイス内、オペレーティングシステム内、またはソフトウェアアプリケーション内などでハードウェア単体として、厳密に実施され得ることを理解されたい。
【０１６２】
さらに、本明細書における異なる複数の特徴、技術、構成等のそれぞれは、本開示の異なる位置において説明されてよいが、好適な場合、複数の概念のそれぞれが互いに独立して、または互いに組み合わせて任意選択的に実行できることが意図されていることに注意されたい。開示された複数の特徴のいかなる変形も可能である。
【０１６３】
従って、本明細書中で説明されるような１または複数の実施形態は、多くの異なるやり方で具現化され見解され得る。
【０１６４】
本明細書における複数の技術は、１または複数の不揮発性メモリデバイスを含む複数のメモリシステムにおける使用によく適していることにさらに注意されたい。しかし、本明細書の実施形態は、そのような適用における利用に限定されず、本明細書で説明される技術は、他の適用についても同様によく適していることは注意されるべきである。
【０１６５】
望ましい実施形態を参照して詳細が具体的に示され記載されたが、形態および詳細における様々な変更が、添付の請求項によって定義されるように、本願の精神および範囲から逸脱せずになされてよいことが、当業者によって理解されるであろう。  そのような変形は、本願の範囲に含まれることを目的としている。  このように、上記の本願の複数の実施形態の説明は限定することを意図するものではない。  むしろ、本明細書における複数の実施形態に対する限定はいずれも、以下の請求項に表される。
【図１】
2016525240.tif 000003
【図２】
2016525240.tif 000004
【図３】
2016525240.tif 000005
【図４】
2016525240.tif 000006
【図５】
2016525240.tif 000007
【図６】
2016525240.tif 000008
【図７】
2016525240.tif 000009
【図８】
2016525240.tif 000010
【図９】
2016525240.tif 000011
【国際調査報告】
2016525240.tif 000012
2016525240.tif 000013