JP6112595B2 - メモリシステムにおける消去管理 - Google Patents

メモリシステムにおける消去管理 Download PDF

Info

Publication number
JP6112595B2
JP6112595B2 JP2016521922A JP2016521922A JP6112595B2 JP 6112595 B2 JP6112595 B2 JP 6112595B2 JP 2016521922 A JP2016521922 A JP 2016521922A JP 2016521922 A JP2016521922 A JP 2016521922A JP 6112595 B2 JP6112595 B2 JP 6112595B2
Authority
JP
Japan
Prior art keywords
data
region
cells
invalid data
time
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.)
Active
Application number
JP2016521922A
Other languages
English (en)
Other versions
JP2016525240A (ja
Inventor
ビー. ワクチャウレ、ヨゲシュ
ビー. ワクチャウレ、ヨゲシュ
ジェイ. ペルスター、デイビッド
ジェイ. ペルスター、デイビッド
グオ、シン
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2016525240A publication Critical patent/JP2016525240A/ja
Application granted granted Critical
Publication of JP6112595B2 publication Critical patent/JP6112595B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits

Description

本開示の実施形態は、概して、メモリにおけるデータ管理に関する。
コンピュータシステムは、長い間、データを記憶するべくデバイスを用いてきた。例えば、従来のハードディスクドライブ(HDD)は、迅速に回転するディスクを用いてデジタル情報を記憶し、取得するために用いられるデータ記憶デバイスである。そのようなディスクは、それぞれのデータを持続的に記憶する磁性材料によって被覆されている。それぞれのディスクが回転すると、磁気ヘッドがディスクの表面における磁性材料からデータを読み込み、そこにデータを書き込む。
データを記憶するための他のタイプの従来技術は、ソリッドステートドライブである。その名称が示唆するように、ソリッドステートドライブは、持続的にデータを記憶するように構成された1または複数のソリッドステートデバイスまたは集積回路を含む。ソリッドステートドライブにおいて、実際に移動する部分はない。
ソリッドステートドライブにおける不揮発性メモリに記憶されたデータへのアクセスは、電子回路インタフェースを用いて実行される。
回転ディスクドライブの代わりにソリッドステートドライブを使用することの普及の1つの理由は、その速度である。例えば、不揮発性メモリにおけるデータへのアクセスは、通常、ディスク(例えば、物理的に回転する記憶媒体)に記憶されたデータへのアクセスよりもはるかに速い。ディスクドライブストレージと対照的に、不揮発性メモリを用いることの不都合な点は、コストである。例えば、メモリにデータを記憶するためのビット毎のコストは、HDDの磁気媒体ディスクにデータを記憶するためのビット毎のコストより大幅に高くなり得る。
メモリシステムは、通常、情報の複数のビットを記憶するべく多くの記憶セルを含む。上記メモリシステムの適切な管理および複数のそれぞれの記憶セルは、寿命および実用性に関して重要である。多くの記憶要素の特定の管理は、早期の故障を起こし得る。
不揮発性メモリシステムにおける複数の記憶セルは、通常、再利用され得る。例えば、不揮発性メモリデバイスにおける複数の記憶セルの領域は、最初にデータのセットを記憶するようにプログラムされ得る。データのセットに上書きするべく、複数の記憶セルの領域はまず消去されなければいけない。新たなデータが、次に、複数の記憶セルの領域に書き込まれる。
従来の技術に従って、複数のメモリセルにおけるデータ記憶の性能における劣化を図示する実例図である。 従来の技術に従って、RWBマージンの損失を図示する実例図である。 本明細書における実施形態に係る不揮発性メモリシステムを図示する実例図である。 本明細書における実施形態に係る不揮発性メモリシステムにおける複数の記憶セルの管理を示す実例図である。 本明細書における実施形態に係る複数の記憶セルにデータを記憶することにおいて、減少した性能劣化を示す実例図である。 本明細書における実施形態に係る複数の記憶セルにおけるデータの部分的な消去を示す実例図である。 本明細書における実施形態に係る1または複数の方法を実行するべく用いられ得るコンピュータアーキテクチャを示す実例図である。 本明細書における実施形態に係る方法を示す例フローチャートである。 本明細書における実施形態に係るそれぞれのコンピュータシステムにおけるメモリの使用を示す実例図である。
1つの従来のアプリケーションに従って、データマネージャは、不揮発性メモリ(NANDメモリ技術などの)の領域における複数の記憶セルが現在無効データを記憶しているという通知を受信することができる。その通知に応答して、データマネージャは、複数の記憶セルを後のプログラミングに対して利用可能にするべく、複数の記憶セルの領域を即座に消去する。複数の記憶セルの消去された領域は、次に、キュー(待ち行列)に配置される。システムがデータを記憶するべく追加のリソースを必要とするとき、データマネージャは、新たなデータを記憶するべく、前に消去された領域を割り当てる。
本明細書において説明される特定の実施形態は、不揮発性メモリにおける記憶セルが消去状態にある時間の長さが、それぞれの記憶セルが後続のデータを記憶する能力に悪影響を与える可能性があるという発見に少なくとも部分的に基づいている。不揮発性メモリデバイスにおける複数の記憶セルは、非消去タイプのデータを用いて続いて再度プログラムされるのに先立って消去状態に設定される。
不揮発性メモリデバイスにおける全てのセルは、記憶デバイスの通常の使用の間、経時的に、いくらかの固有電荷損失および読み込みウィンドウ量(RWB)の減少を起こしやすい。概して、固有電荷損失は、プログラミングパルスの後の浮遊ゲートからの複数の電子のリークである。プログラミングの結果としてトラップされた電荷は、最初に、不揮発性メモリデバイスセルの閾値電圧(Vt)が浮遊ゲート電圧より高く見えるようにする。しかし、プログラミング後のこれらの電子のリークは、通常、閾値電圧においてシフトを生じさせる。RWBは、複数の調節閾値状態(図1に関してより詳細に説明される)の間の複数の端部マージンの合計を表す。
不揮発性メモリデバイスにおける複数のセルが長期間消去状態にあるとき、その固有電荷損失の速度は、それらのセルにおいて続いて記憶されるデータに対して増加する。それらのセルに対するRWBマージンの劣化の速度もまた、複数の記憶セルをよりも長い消去滞留時間にさらした結果として減少させられる。
特定の例において、不揮発性メモリシステムは、拡張期間において、より高くされた複数の温度(電力供給されずに摂氏35度よりも高い温度など)にさらされ得る。上述のように、経時的な固有電荷損失の速度およびRWBマージン劣化量は、複数のセルが消去状態にある時間の長さに依存するであろう。高温度にさらされた複数の記憶セルが前に長期間、消去状態にあった場合、不揮発性メモリシステムは、より大きい速度の固有電荷損失およびRWBマージンのより大きな劣化を起こしやすい。
本明細書における1つの実施形態は、不揮発性メモリシステムにおける複数の記憶セルが消去状態にある時間を制御する段階を含む。例えば、一実施形態において、データマネージャは、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが、無効データを記憶しているという通知を受信する。上記通知に応答して、データマネージャは、上記領域を、無効データを記憶しているとしてマーキングする。データマネージャは、複数の記憶セルにおける無効データを置換データで上書きすることに関連付けられる、セルが消去状態に設定されている時間を制御する。例えば、それぞれの複数の記憶セルを再プログラムするべく、データマネージャは、複数の記憶セルを消去し、その複数の記憶セルを次に置換データでプログラムする。1つの非限定的な例示的実施形態において、データマネージャは、複数の記憶セルの寿命を延長し、データを記憶するそれらの能力を高めるべく、複数のセルが消去状態にある時間が閾値時間の値未満であるように制御する。
従って、複数の記憶セルにそれぞれの新たなデータを書き込むべく無効データを即座に消去し、かなり長い時間待つ代わりに、本明細書の複数の実施形態は、複数の記憶セルにおいて無効データを消去する動作の時間が、複数の記憶セルを置換データで再度プログラムする時間により近くなるように遅延させる段階を含む。本明細書において説明されるように複数のセルが消去状態にある時間を減らす段階は、固有電荷損失の速度および続いて記憶される置換データに対しRWBマージンが低下する速度を減少させる。従って、本明細書における複数の実施形態は、それぞれの不揮発性メモリシステムにおける複数の記憶セルに関連する性能を保持する段階を含む。ここで、より具体的に、図1は、従来の技術に従って、複数のメモリセルにおいてデータを記憶する性能の劣化を図示する実例図である。
グラフ110―1に示されるように、最初に、不揮発性メモリデバイスの複数の記憶セルは、L0、L1、L2、およびL3の異なるレベルでプログラムされる。 非限定的例を用いて、上記複数の記憶セルのそれぞれは、2ビットの情報を記憶することが可能なマルチレベルNANDセルもしくは単一レベルNANDセル記憶要素であり得る。
値がそれぞれのセルに書き込まれるとき、電荷が浮遊ゲートに適用される。異なる量の電荷が、異なるビットの設定をセルに書き込むべくそれぞれのセルに適用される。例えば、セル毎に2ビットのマルチレベルセルデバイスを仮定すれば、第1の充電量がそれぞれのセルをビット値の11に設定するべく加えられ、第2の充電量がそれぞれのセルをビット値の10に設定するべく加えられ、第3の充電量がそれぞれのセルをビット値の01に設定するべく加えられ、第4の充電量がそれぞれのセルをビット値の00に設定するべく加えられる。電圧Vt(セルの状態を読み込むときの)は、それぞれのセルの設定および印加された電荷に応じて変化する。
R0の範囲内にあるセルのVtの読み込みは、そのセルがビット値11に設定されていることを示し、R1範囲内にあるセルのVtの読み込みは、そのセルがビット値10に設定されていることを示し、R2の範囲内にあるセルのVtの読み込みは、そのセルがビット値01に設定されていることを示し、R3の範囲内にあるセルのVtの読み込みは、そのセルがビット値00に設定されていることを示す。
セルに対して検出されたVt(閾値電圧)レベル(プログラミングの間にトラップされた電荷の量を表わす)は、それぞれのセルが、そのセルの後の読み込みにおいてプログラムされる対応する状態を示す。 例えば、グラフ110―1におけるレベルL0は、データ=11でプログラムされたメモリデバイスにおける複数のセルに対するVtの分布を表し、レベルL1は、データ=10でプログラムされたメモリデバイスにおける複数のセルに対するVtの分布を表わし、レベルL2は、データ=01でプログラムされたメモリデバイスにおける複数のセルのVtの分布を表わし、レベルL3は、データ=00でプログラムされたメモリデバイスの複数のセルに対するVtの分布を表わす。
読み込まれるとき、レベルL0(例えば、データ値11)にプログラムされた全ての記憶セルは、それぞれのVtをR0の範囲内で生成し、レベルL1(例えば、データ値10)にプログラムされた全ての記憶セルはそれぞれのVtをR1の範囲内に有し、レベルL2(例えば、データ値01)でプログラムされた全ての記憶セルは、それぞれのVtをR2の範囲内に有し、レベルL3(例えば、データ値00)にプログラムされた全ての記憶セルは、それぞれのVtをR3の範囲内に有する。 各々の電圧Vtは、セルの状態を読み込むそれぞれの回路によって検出される電圧レベルを表す。
この例において、グラフ110―1が、プログラミング直後、複数の異なるロジックレベルに設定された複数のメモリセルの初期状態の分布を示すと想定されたい。さらにこの例において、複数のメモリセルは、前に、例えば数日よりもはるかに長い間などの長時間消去状態にさらされていたと想定する。言い換えると、グラフ110―1に示すように初期状態にプログラムされるに先立って、複数のメモリセルは消去され、かなりの時間消去状態に残される(つまり、全ての記憶セルは数日間レベルL0の消去状態に設定されていたと想定されたい)。
グラフ110―2は、複数の記憶セルを過度に長く消去状態において維持した結果として生じる記憶性能の劣化を示す。最初に、複数の設定の分布は、グラフ110―1に示される通りである。しかし、前述のとおり複数の記憶セルが長期間消去状態にあったことから、複数の設定は経時的に低下する。より具体的には、固有電荷損失の速度は、長い時間消去状態にあった結果としてより大きく、RBWマージンの低下の速度も同様に、より大きい。
この例において、経時的に、固有電荷損失によりレベルL0、L1、L2、およびL3においてプログラムされた複数のセルに対するVt分布の集約は、グラフ110―1からグラフ110―2へと左へシフトする。この例において、ピークPIは、グラフ110―1におけるレベルL1でのピーク分布を表わし、ピークΡΓは、グラフ110―2におけるレベルL1でのピーク分布を表わす。示されるように、ピークΡΓは、ピークPIに関してシフトされる。PIとΡΓとの間の差は、シフトの量を表す。
さらに、経時的に、Vt分布はグラフ110―1に示すような初期状態からグラフ110―2に示すような複数の分布に幅が拡張される。例えば、複数の記憶セルのプログラミングの初期状態におけるRWBマージンは、グラフ110―1におけるE0、EL、E2、E3、E4およびE5の範囲の合計に等しい。複数のレベル間の十分に大きいマージンは、どのレベルにそれぞれの記憶セルが設定されているか区別することが可能であることを保証する。言及したように、経時的に、複数の記憶セルはこの例において実質的に長い時間消去状態にあったことから、記憶セルに関連する分布は経時的に低下する。つまり、上述のようなシフトに加えてグラフ110―2に示されるように、異なるレベルL0、L1、L2、およびL3に対するVt分布のそれぞれは、RWBマージンが、複数の記憶セルに対する適切な設定を判断することが困難であるかまたはもはや可能でないかもしれないポイントまで減少するように、幅が拡大する。
例えば、最初にグラフ110―1におけるレベルL1にプログラムされた記憶セルは、グラフ110―2に示されるように分布のシフト及び/または幅の拡大により、レベルL0に設定されるように見えてよい。逆に、グラフ110―1におけるレベルL0に最初にプログラムされた記憶セルは、グラフ110―2に示されるように分布のシフト及び/または幅の拡大によりレベルL1に設定されるように見えるなどである。従って、グラフ110―2に示されるような、長い時間消去状態にあることによって生じる記憶性能の劣化は望ましくない。図2は、従来の技術に係るRWBマージンの理論的な損失を図示する実例図である。
グラフ210に示されるように、ライン220は、RWBマージンが消去状態において費やした時間の結果として経時的に低下する程度を示す。グラフ210のx軸は、それぞれの記憶セルに対する消去状態にある時間を秒で表わし、グラフ210のy軸は、RWBマージンの損失をミリボルト(mV)で表わす。全ての記憶セルが消去状態にある間増加した時間に対し、RWBマージンはより小さい値に低下し、上述のように記憶データを読み込むことをより難しくする。複数のRWBマージンはかなり低下し得ることから、障害ビットの数は、それぞれのエラー訂正コードまたはそれぞれの不揮発性メモリシステムにおける他の好適なデータ修正メカニズムを用いて訂正されることができない。従って、消去状態において費やされた過度な時間は、記憶データの壊滅的な損失を起こし得る。
図3は、本明細書における実施形態に係る不揮発性メモリシステムにおけるメモリデバイスのコンフィギュレーションを図示する実例図である。
示されるように、例のメモリシステム100は、データを記憶するべくデータ管理ロジック140およびメモリデバイス110―A、メモリデバイス110―B、メモリデバイス110―Cなどの1または複数のメモリデバイス等(集合的に、メモリデバイス110)を含む。メモリシステム100は、複数のメモリデバイス100のうち任意の適切な数のストリングを含むことができる。
メモリシステム100は、複数のメモリデバイスを含むソリッドステートドライブ(SSD)などの装置の一部であってよい。本明細書において説明されたように、データストライピングの技術(例えば、データのストリングの部分が複数のデバイスのそれぞれにおいて記憶されている)が、データを記憶するべく用いられ得る。
本明細書において説明されるように、メモリシステム100及び/またはデータ管理ロジック140は、好適な機能(例えば、データアクセス、パリティ情報の生成、メモリ修復(適切にデータを記憶することが可能でなくなった複数の記憶セルからなるブロックのリタイアしたものなど)、データ訂正、消去状態において費やされた時間の制御等)のいずれかを実行するべくハードウェア、ソフトウェア、ファームウェア等を含み得ることに注意されたい。
図1において開示された複数のリソースのそれぞれは、いかなる適切なタイプのリソースでもあり得ることに注意されたい。例えば、メモリデバイス110(例えば、NANDフラッシュ、NORフラッシュ、磁気抵抗ランダムアクセスメモリ、強誘電体ランダムアクセスメモリ、3次元クロスポイントメモリ等)は、データを記憶するべく、1または複数の記憶面(例えば、当該デバイスを奇数および偶数の複数のブロックから成る2つの物理的平面に分割する2面アーキテクチャ)を含むことができる。
データ管理ロジック140及び/または関連する複数の構成要素は、ASIC(Applicaion Specific Inegrated Circuit(特定用途向け集積回路))、複数のコンピュータプロセッサハードウェア実行命令、ファームウェア、ハードウェア、ソフトウェア、ハードウェアおよびソフトウェアのハイブリッドおよびその他などの任意の適切なタイプのリソースを介して実行され得る。
非限定的な例を用いて、複数のメモリデバイス110のそれぞれは、それぞれのデータを記憶するべく、複数の記憶セルを含むことができる。例えば、メモリデバイス110‐Aは、ブロック120‐A1、ブロック120‐A2、ブロック120‐A3などを含み、メモリデバイス110‐Bは、ブロック120‐B1、ブロック120‐B2、ブロック120‐B3などを含み、メモリデバイス110‐Cは、ブロック120‐Cl、ブロック120‐C2、ブロック120‐C3などを含む。
各ブロックは、複数のページを含み、ブロックにおける各ページは、それぞれのデータを記憶するべく複数の記憶セルを含む。一例として、領域210‐2は、複数のメモリデバイス110にわたって記憶されたビット情報のストリングなどのページ245‐Xを含む。
示されるように、メモリシステム100における各領域(または帯域)は、複数のメモリデバイス110からの複数のブロックのストライプを含むことができる。この非限定的な例示的実施形態において、領域210―1は、ブロック120―A1、ブロック120―B1、ブロック120―Cl等を含み、領域210―2は、ブロック120―A2、ブロック120―B2、ブロック120―C2等を含み、領域210―3は、ブロック120―A3、ブロック120―B3、ブロック120―C3等を含む、などである。
1つの非限定的な例示的実施形態において、各ブロックにおける複数のメモリ要素は、複数のマルチレベルセルであるように構成され、各記憶要素は、言及されたように、データの複数のビットを記憶することが可能である。言及されたように、実施形態に応じて、各セルは、1または複数ビットのデータを、ビット・パー・セル(bit‐per‐cell)モード設定(例えば、マルチレベルセルMLC、単一レベルセルSLC等)に応じて記憶することが可能であってよい。
従って、メモリデバイス110における複数の記憶リソースは、領域210―1、領域210―2、領域210―3等を含む複数の領域に分割され得る。一実施形態において、領域210―1は第1帯域を表し、領域210―2は第2帯域を表し、領域210―3は第3帯域を表す、などである。
任意の定められた時間に複数の領域210(またはその一部分)のうち1または複数に記憶されたデータは、任意の数の理由によってさらなる使用からリタイアさせられ得る。例えば、それぞれの帯域におけるデータは、メモリにおける複数の位置にわたって記憶された関連データが性能上の理由で互いに隣り合わせになっているなどの異なるやり方でより良好に記憶されているかが決定されるデフラグメンテーション解析を実行した結果として無効であるとしてリタイアさせられてもよく、それぞれの帯域におけるデータは、そのデータがもはや必要でない等を示す、ユーザによって実行される削除動作の結果として無効であるとしてリタイアさせられてもよい。
それぞれの領域に記憶されたデータがもはや有効でないという通知を受信すると、データ管理ロジック140は、リスト320におけるデータの新たにリタイアした領域のIDを記憶する。この例示的実施形態において、リスト320は、領域210―5、領域210―6、…領域210―2がリタイアされており、全てが無効データ(例えば、そのデータがもはや全く有用でない)を記憶していることを示す。
リスト320に含まれることによって示されるように無効データを有するそれぞれの複数領域を即座に消去するのではなく、本明細書における複数の実施形態は、それぞれの領域内の複数の記憶セルを、それらがリタイアさせられたかあるいは無効データとして分類された後に消去する動作を遅延させる段階を含む。
この例では、データ管理ロジック140は、メモリシステム100における複数の記憶セルのそれぞれの領域210―2に記憶されたデータが、今では無効データを記憶しているという通知を受信すると想定されたい。上記通知の受信に応答して、データ管理ロジック140が、領域210―2を、無効データを記憶しているとしてマーキングする。これは、リスト320における領域210―2のIDを記憶する段階を含み得る。それに加えてあるいは代替的に、本明細書におけるさらなる複数の実施形態は、リタイアした領域において記憶されたデータはもはや有効でないまたは有用なデータでないことを示すべく、その中に記憶されたデータの少なくとも一部を修正する段階を含んでもよい。
上記領域が無効データを記憶しているとマーキングされた後しばらく経つと、データ管理ロジック140は、領域210における複数の記憶セルの全てまたはその一部に置換データを書き込む。増加した記憶性能を提供し、過度なRWBおよび固有電荷損失劣化を回避するべく、データ管理ロジック140は、複数の記憶セルが、領域210―2の複数の記憶セルにおけるそれぞれの置換データで後に上書きされる前に、消去状態に設定されている時間を制御する。
本明細書中で説明されるように、1つの実施形態は、領域210―2において複数の記憶セルにおける無効データを消去する動作を遅延させ、その無効データを置換データで置き換える段階を含む。例えば、データ管理ロジック140は、複数の記憶セルが消去状態にある時間を予め定められた時間閾値より低く低減するべく、その消去動作(複数の記憶セルにおける置換データを書き込むことに先立って必要とされる)を遅らせる。
複数の領域においてデータを上書きする後の過程の全てにわたって、消去滞留時間を予め定められた時間閾値以下に低減する段階は、メモリシステム100がそれの有用寿命にわたってある特定のレベルの性能を提供するであろうことを保証する。
図4は、本明細書における複数の実施形態に係る不揮発性メモリシステムにおける複数の記憶セルの管理を図示する実例図である。
任意の定められた時間において、複数の領域210のうち1つも書き込み状態410によって表わされるように有効データを記憶することができない、あるいは複数の領域210のうち1または複数が書き込み状態410によって表わされるように有効データを記憶することができる。言い換えると、書き込み状態410は、有効データを記憶するメモリシステム100の部分を表わす。
前述のとおり、メモリシステム100において記憶されたデータの特定の複数の領域は、最終的に、無効となり得る。状態420は、リタイアされており今では無効データを記憶している複数の領域を表わす。領域がリタイアされているまたは無効データ状態420に置かれていることの検出に応答して、データ管理ロジック140は、リスト320における無効データを含む領域のIDを記憶する。リタイアされた領域をマーキングするまたはタグ付けするべくいかなる適切な方法が用いられてもよい。
一実施形態において、複数の新たな領域がデータ管理ロジック140により受信される置換データ490を記憶するべく必要とされることから、データ管理ロジック140は、消去機能430の実行を開始する。例えば、現在の領域450が領域210―3であって、領域210―4が予備領域440であると想定されたい。現在の領域450(領域210―3)のプログラミングが完了した後、データ管理ロジック140は、その領域210―3を書き込み状態410に設定する。以下に説明されるように、領域210―3は、その領域210―3において新たなデータを書き込むための空いている記憶セルがもはや存在しないことからまたは時間が生じることから、リタイアし得る。本明細書において説明されるように、メモリの領域は、消去することができ、次に特定の時間帯の内で書き込むことができる。上記時間帯が満了した後、上記領域は、そのデータを書き込むのにもはや利用可能でない書き込み状態410にリタイアさせられてよい。上記領域は、その全体領域が有効データで書き込みされていないにもかかわらず、リタイアさせられてよい。従って、領域の消去時間は、上記時間帯未満である。さらなる詳細が以下において説明される。領域210―4における複数の記憶セルは、その領域210―4がリスト320から予備領域440として割り当てられたとき消去機能430によって消去状態に設定されることに注意されたい。
予備領域440における空きを埋めるべく(領域210―4は現在の領域450に移動させられたことから)、データ管理ロジック140は、消去機能430をリスト320において次に利用可能な領域(例えば、領域210―5)に適用する。消去機能430のアプリケーションは、それぞれの領域における実質的に全ての記憶セルを消去状態に消去する段階を含む。領域210―4を現在の領域450として指定した後に、データ管理ロジック140は、領域210―5(消去状態にある)を予備領域440として指定する。
一実施形態において、データ管理ロジック140は、領域210―4を現在の領域450として設定する時間でタイマ555を開始させ、その間に、利用可能な置換データ490はどれも領域210―4に記憶される。タイマ555は、領域210―4が現在の領域450として指定されており、新たに受信されたデータ490を記憶するべくデータ管理ロジック140によって用いられている時間を追跡する。
データ管理ロジック140は、特定の時間フレーム内における領域210―4内の全ての記憶セルをプログラムするべく、十分な量の置換データ490を受信しない可能性がある。現在の領域450は最近消去されたことを思い出されたい。また、消去滞留時間(つまり、それぞれの領域における複数の記憶セルが有効データで書き込まれるに先立って消去状態に設定される時間)を低減することは望ましくないことも思い出されたい。一実施形態において、タイマ555が、領域210―4が現在の領域450に設定された後、1.5日などの時間閾値に達したことを検出することに応答して、且つ領域210―4における全ての記憶セルが完全に新たな置換データ490で書き込まれたかに関わらず、データ管理ロジック140は、領域210―4を書き込み状態410にリタイヤさせる。領域210―4を書き込み状態410にリタイアさせる段階(それを現在の領域450として無期限に残すこととは対照的に)は、領域210―4が追加のデータを書き込むのにもはや利用可能でないことを意味する。これは領域210―4に対する消去滞留時間を閾値下で保持する。例えば、領域210―4は多くて1.5日の間(時間の閾値)予備領域440として消去状態において記憶され、領域210―4は多くて1.5日の間(時間の閾値)現在の領域450として消去状態において記憶される。従って、この例示的実施形態において、領域210―4は最大3日間消去状態にある。
一実施形態において、消去された複数の記憶セルの一部は(そのような消去された記憶セルが、領域210―4が現在の領域450であるとき書き込まれない場合)、現在の領域450が書き込み状態410にリタイアさせられる直前に非消去値(01、10、または00などの値)でプログラムされる。従って、書き込み状態410にリタイアされた複数の領域は、消去値(データ値11など)で完全に埋められていない。これは、領域210―4における複数の記憶セルが消去状態に留まる時間を制限する。
領域210―4をリスト320(キューなどの)から予備領域440へ、そして現在の領域450へ移すことに基づいて、領域210―4における複数の記憶セルには、上述のように最大3日まで消去滞留時間が発生する。より具体的に、領域210―4は、予備領域440に多くても1.5日の間存在し、領域210―4は現在の領域450に多くても1.5日の間存在する。従って、領域210―4における複数の記憶セルの全てまたはその一部には、最大3日、消去滞留時間が発生し得る。同様のやり方で、複数の領域のそれぞれには、最大3日、消去滞留時間が発生し得る。当然のことながら、最大消去滞留時間は3日である必要はなく、いかなる適切な値であってよい。
また、データ管理ロジック140は領域210―3および領域210―4のそれぞれの記憶セルにおいてデータ490を即座に記憶するように構成され得ることから、複数の領域は、最大時間、消去状態に存在しなくてよいことに注意されたい。そのような場合、領域毎の消去滞留時間は、3日よりもはるかに短い。消去滞留時間は、およそ1秒未満である。
このように消去滞留時間を制御することは、領域210―4(および他の複数の領域)の複数の記憶セルにおいて記憶された置換データ490に関連する固有電荷損失の速度およびRWBマージン損失の速度を減少させる。言及されたように、固有電荷損失の速度おおよびRWBマージン損失の速度は、領域210―4における複数の記憶セルの複数の設定が、複数の記憶セルにおける置換データの記憶に先立って消去状態に設定される時間に依存する。言及されたように、領域210―3(現在の領域450として指定されている場合)は、タイムアウト発生に先立って置換データ490で埋めることが可能である。そのような場合、データ管理ロジックは、予備領域440を新たな現在の領域450として選択しシフトする。そうすることで、データ管理ロジック140は、リスト320示すように、複数の領域のそれぞれにおける無効データを消去する動作を遅らせる。データ管理ロジック140は、メモリシステム100において置換データ490を記憶するべく、新たな記憶空間に対する必要性をモニタリングするように構成され得る。
リスト320に明記されているように、それぞれのリタイアした複数の領域における無効データを即座に消去することの代替として、データ管理ロジック140は、置換データ490を記憶する必要性があることから、複数の記憶領域における無効データを消去するように構成され得る。言い換えると、データ管理ロジック140は、消去機能430が複数の記憶セルを消去するためのコマンドを受信するまで、前にプログラムされた、無効データを記憶する状態において複数の記憶セルの設定を維持する。前述のとおり、データ管理ロジック140から消去機能430により受信されたコマンドは、予備帯域(予備領域440など)が新たに受信されたデータを記憶するための現在の帯域(現在の領域450など)として再割り当てされていると検出することに応答して、受信され得る。データ管理ロジック140は、複数の記憶セルの新たに消去された領域を予備領域440として指定する。
現在の領域450および予備領域440は、いかなる数の領域も含むことができることに注意されたい。例えば、データ管理ロジック140は、置換データ490を記憶するべく、いつ複数の領域が必要とされるか、および何個の領域が必要とされるかを検出することが可能であってよい。そのような例において、データ管理ロジック140は、複数の領域を消去する速度を制御し、これらの複数の領域を予備領域として利用可能にするように構成され得る。
予備領域440において利用可能な少なくとも1つの領域を有することは、メモリシステム100において置換データ490を記憶するときにデータ管理ロジック140が遅らされないことを保証する。例えば、予備領域440が現在の領域450へ移行したとき、データ管理ロジック140は、次の領域が必要とされる前に消去されるように、新たな領域を予備領域440として消去する段階を開始する。一実施形態において、領域の消去時間は3から10ミリ秒である。領域または帯域における複数の記憶セルの設定を修正するためのプログラム時間は、約1秒であってよい。図5は、本明細書における複数の実施形態に従って、減少した、複数の記憶セルにデータを記憶する性能劣化を図示する実例図である。
上述のように図1とは対照的に、図5は、本明細書における複数の実施形態に係る複数のセルが消去状態に設定されている時間を遅延させること及び/またはその時間を減少させることの実用性を示す。示されるように、複数の記憶セルは、消去されることにより、ある程度の劣化を起こす可能性がある。例えば、複数の記憶セルはグラフ510―1に示されるように、分布を有する複数の値で書き込まれたと想定されたい。グラフ510―2は、ある時間の経過後の複数の記憶セルの状態を示す。グラフ510―2において、グラフ510―1に関して複数の分布の左へのわずかなシフトがある。しかし、示されるように、短縮された消去滞留時間は、複数の記憶セルに図1に示されるような、長い消去滞留時間が発生するときよりはるかに遅い速度で、記憶されたデータの劣化が生じることを保証する。
図6は、本明細書における複数の実施形態に従って複数の記憶セルにおけるデータの部分的な消去を図示する実例図である。
消去機能430を介して消去されるに先立って無効データへのアクセスを防止するかあるいはそれを破壊することが望ましい場合があり得る。 本明細書で説明されるように、リスト320における複数の領域の待ち行列は、それぞれの領域が無効データをかなりの時間記憶する結果になり得る。
無効データがリタイアさせられリスト320に移動させられた後にそれを破壊する1つの方法は、領域が100%無効データを記憶しているという通知を受信したときその無効データを破壊するべく、複数の記憶セルのそれぞれの領域におけるデータを消去することである。上記データを利用不可にするべく、本明細書の複数の実施形態は、上記領域を消去する段階および一時的なデータを持つ複数の記憶セルの領域をプログラミングする段階を含んでよい。言及されたように、リタイアさせられている領域のIDは、かなりの時間、リスト320に留まっていてよい。一実施形態に従って、上記領域のIDがリスト320における待ち行列にある間に無効データを記憶する代わりに、それぞれの領域は、新たなデータ490で続いて上書きされるのに先立って一時的なデータを記憶する。この実施形態は、一時的なデータを持つリタイアした領域において複数の記憶セルを事前にプログラミングする追加の動作を必要とすることから、メモリシステム100の寿命に影響し得る。上記一時的なデータは続いて消去され、置換データ490で上書きされる。上記一時的なデータは、グラフ510―1に示されるようなデータと同様の分布を有することができる。
無効データを破壊する他のやり方は、新たにリタイアされた領域のいわゆる部分的な消去を実行することである。そのような場合、データ管理ロジック140は、領域における複数の記憶セルの少なくとも一部を複数の非消去状態(例えば、レベルL0以外の複数の状態)にプログラムする。
さらなる例として、グラフ610―1は、領域における複数の記憶セルに関連する例の分布を示す。グラフ610―1は、破壊されるべき領域における無効データの複数の設定を表わしていると想定されたい。一実施形態において、データ管理ロジック140は、複数の記憶セルに関連する消去閾値TEVIを、グラフ610―1における値PV2(またはTEVIよりも大きい任意の他の好適な値)におよそ等しくなるべく増加させる。言い換えると、データ管理ロジック140は、グラフ610―2に示されるように、消去閾値をTEV2に設定する。データ管理ロジック140は、次に、新たにリタイアされた領域における複数の記憶セルの複数のビット設定が、増加させた消去閾値(変更された消去閾値TEV2)によって定義される範囲内に入るべく、修正する。元の消去閾値TEVIは、グラフ610―1に示されるように、複数の記憶セルに関連する複数の元の設定を定義するための基礎として用いられた。
データ管理ロジック140は、グラフ610―2に示されるように複数の設定の分布を生成するべく領域における複数の記憶セルの設定を修正する。この新たな分布は、新たにリタイアされた領域における十分な数の記憶セルをレベルL0の外における複数の非消去状態に設定する段階を含む。このタイプの消去は、複数の記憶セルにおける無効データを、その無効データがもはや利用可能でないように破壊する。さらに、上記分布が効果的に消去状態(例えばレベルL0)および少なくとも非消去状態(レベルL1、範囲EL、範囲E2など)の全域にわたっていることから、複数の記憶セルの領域は前述のとおり、消去状態における長い時間によって実質的に影響を受けない。言い換えると、グラフ610―2に示されるように、変更された複数の記憶セルにおける複数の設定の分布は十分にそれぞれ異なっていることから、拡張された期間変更されなくても複数の記憶セルに対して有害ではない。
それぞれの領域における複数の記憶セルの全てまたはその一部は、無効データがもはやアクセス可能でないように部分的に消去され得ることに注意されたい。
上記の実施形態を考慮し、本明細書におけるさらなる実施形態は、複数の記憶セルにおける無効データへのアクセスおよびそのようなデータの使用を防止するべく、そのようなデータを修正するコマンドを受信する段階を含む。上記コマンドの受信に応答して、データ管理ロジック140は、上記領域における複数のデータセルの複数の設定の全て未満の部分を、無効データが破損されるかまたは破壊される非消去状態に修正する。言い換えると、元のデータはそれの元の状態から修正される。グラフ610―1におけるレベルL2及び/またはレベルL3に前に設定された複数の記憶セルの一部分またはグループは、グラフ610―2におけるレベルL1(非消去状態)及び/またはでベルL0のまわりの複数のVt設定に変更される。
より具体的な例として、複数の記憶セルの領域は、グラフ610―1によって描写されるように、記憶セル#1=11(消去状態)、記憶セル#2=10(非消去状態)、記憶セル#3=00(非消去状態)、記憶セル#4=10(非消去状態)、記憶セル#5=11(消去状態)、記憶セル#6=00(非消去状態)、記憶セル#7=01(非消去状態)、記憶セル#8=00(非消去状態)などのオリジナルデータのシーケンスなどを含んでよい。
リタイアさせられている領域に応答して、データ管理ロジック140は上述のように、データを利用可能でなくするべく、部分的消去を介して複数の状態を修正すると想定されたい。グラフ610―2によって描写されるような領域は、部分的な消去の適用後、記憶セル#1=11(消去状態)記憶セル#2=10(非消去状態)、記憶セル#3=10(非消去状態)、記憶セル#4=10(非消去状態)、記憶セル#5=11(消去状態)、記憶セル#6=10(非消去状態)、記憶セル#7=10(非消去状態)、記憶セル#8=11(消去状態)などのデータのシーケンスを記憶するように構成された複数の記憶セルなどを含んでもよい。
本明細書において説明されたような部分的消去の結果として、新たにリタイアされた領域における特定の複数の記憶セルは、E0、EL、E2、およびE3の範囲の間などの閾値に設定され得ることに注意されたい。
前述のとおり、無効データの領域における第1グループの複数のセルの複数の設定を第1非消去状態(レベルL2及び/またはレベルL3など)から第2非消去状態(レベルL1など)へ変更する段階は、無効データを利用可能でなくする。複数の記憶セルにおけるデータの複数の設定の修正は、また、複数の記憶セルが拡張された期間の間、グラフ610―2に示されるような状態において維持されることから、その複数の記憶セルに損傷を与えるという問題を回避する。言い換えると、複数のセルにグラフ610―2における複数の設定に設定されている場合、長い消去滞留時間は発生しない。
最終的に、複数の記憶セルのリタイアした、部分的に消去された領域(グラフ610―2における複数の設定によって表わされる設定)がリスト320において次に予備領域440として指定されることになっている。そのような例において、消去機能430は領域における全ての記憶セルを、消去閾値TEVIに従ってレベルL0(消去状態)内にあるように消去する。言及されたように、データ管理ロジック140は次に、複数の記憶セルのそれぞれの領域に、それが続いて現在の領域450として指定される場合、書き込む(プログラムする)。しかし、上記領域の複数の記憶セルにおいて置換データ490を再び記憶するとき、データ管理ロジック140は、複数のセルのそれぞれが、記憶されるべき置換データに応じて適切なレベルL0、L1、L2、またはL3内にあるように設定することに注意されたい。従って、上記領域における複数の記憶セルの後の読み込みで、複数の記憶セルは複数の状態のうち1つに設定される。
図4を再び参照すると、リスト320は、データが予期されない電力故障時に回復できるように不揮発性メモリデバイスにおいて記憶できることに注意されたい。しかし、特定の実施形態において、リスト320はそれぞれの電力故障時に破損する可能性があることに注意されたい。
言い換えると、電力故障はリスト320の完全な損失になり得る。なぜならば、そのリストは揮発性メモリに記憶されているからである。
メモリシステム100の可能な電力故障を考慮し、本明細書における1つの実施形態は、それぞれの領域が無効データを含むことを示すべく、無効データの1または複数の領域にマーキングする段階を含む。例えば、領域が無効状態420にリタイアさせられていることを検出すると、データ管理ロジック140は、それぞれ領域が無効データを含んでいることを示すべく、異なる複数の領域において予め定められた位置で記憶されたデータを修正するように構成され得る。電力故障の発生に続いて、後の電源起動時に、データ管理ロジック140は、それぞれの対応する領域が有効または無効データを記憶しているか判断するべく、それぞれの領域において予め定められた位置におけるデータの複数の設定にアクセスし、利用するように構成され得る。無効データを記憶している複数の領域に関しては、データ管理ロジック140は、リスト320における複数の領域のIDを含み、上述のようなやり方で動作する。無効データを含むリスト320におけるそのような複数の領域は、複数の論理アドレスをデータが記憶されているメモリにおいて対応する複数の物理的位置にマッピングすることを可能にする論理‐物理表を作成するべく用いられない。
本明細書における複数の実施形態は、起動後に予め定められた位置で読み込みを試みるとき、それに続く読み込みエラーが生じることを保証するべく、その予め定められた位置でデータを修正する段階を含んでよい。 一実施形態において、電力が復旧された後のデータ管理ロジックによる後の読み込みエラーは、それぞれの領域が無効データを含むことを示す。
上述にように、本明細書における他の実施形態は、それぞれの帯域にける全てまたは一部分(最後のページまたはワード線など)が部分的に消去されるいわゆる部分的消去または破損(後続のリードを失敗させるようにする(fail subsequent read))を実行する段階を含んでよい。グラフ610―2の部分的な消去状態において、メモリシステム100を含むそれぞれのコンピュータデバイスの後の起動時に、データ管理ロジック140は、部分的に消去された領域におけるそれぞれのページから読み込むことを試みるように構成されてよい。データ管理ロジック140が予め定められたレベルL0、L1、L2、およびL3に従ってそのようなデータを読み込むことを試みみるとき、ECC(エラー訂正コード)読み込みエラーまたはパリティエラーが生じ、従ってその領域(または帯域)が無効データを含むことを示す。
電力故障の後に復旧するためのさらにもう1つの方法は、メモリシステム100に関連するL2P(論理‐物理(Logical to Physical))マッピングを再構成する段階を含んでよい。例えば、領域における全てのブロックは、(それらが無効データを記憶する場合であっても)最初有効データを記憶すると仮定される。それぞれの帯域の各々に記憶されたデータは、複数のL2Pマッピングにおける少なくとも1つの論理ブロックアドレス(LB A)が、それぞれの領域における位置(ブロックなど)を指しているかどうか判断するべく用いられ得る。L2Pマッピングを形成するとき、帯域における複数のブロックのいずれかを指す論理ブロックアドレスポインタが見出されない場合、次にその帯域(例えば、領域)は無効データを含むことが決定される。全ての無効データを有しているあらゆる領域のIDが、次にリスト320において含まれる。
さらに他の実施形態に従って、データ管理ロジック140は、現在の領域450の第1ページなどの指定された領域において、リスト320における複数の領域のIDのコピーを記憶するように構成されてよい。例えば、一実施形態において、データ管理ロジック140は、領域を現在の領域450として指定すると、第1ページなどの現在の領域450の予め定められた位置においてID(リスト320)を記憶する。
現在の領域450における複数のIDを第1ページに記憶した後、メモリシステム100には、メモリデバイス110が事前の通知無しに全体的に電力が停止される電力故障が発生すると想定されたい。例えば、現在の領域450が受信されたデータを記憶するべくデータ管理ロジック140によって用いられる間に、予期されない電力故障が生じ得る。電力が復元されると、後のシステム起動において、データ管理ロジック140(または他の好適なリソース)は、領域210のどれが、電力故障に先立って、直前のデータ管理ロジック140によって用いられた現在の領域450として指定されたかを特定するように構成され得ることを想定されたい。
システムの再起動に続いて、いかなる好適な方法が直前の現在の領域450を判断するべく用いられてもよい。例えば、一実施形態において、電力故障に先立ってデータ管理ロジック140は、リスト320における複数のIDを現在の領域450の指定されたページ(第1ページなど)の中に記憶する。電力故障が生じることから、データ管理ロジック140は現在の領域450の最後のページに書き込むことが不可能である。よって、現在の領域450の最後のページは未だに消去状態にある。予備領域440における全てのページは消去状態に設定されていることに注意されたい。現在の領域450は、以前は予備領域440であり消去状態にあった。
電力故障の後、およびメモリシステム100の復旧後、データ管理ロジック140は、メモリシステム100における各領域の最後のページの状態を読み込む。各領域の最後のページの読み込みに基づいて、データ管理ロジック140は、2つの候補領域(直前の現在の領域450および直前の予備領域440)をおそらく直前の現在の領域450であるとして特定する。2つの候補の領域は、消去されたデータの最後のページを含む。データ管理ロジック140は、どちらが直前の現在の領域450であるか判断するべく2つの候補領域の第1ページを読み込む。例えば、第1ページが書き込まれている2つの候補における領域のうち1つが直前の現在の領域450であった領域である。データ管理ロジック140は、現在の領域450の第1ページにリスト320を書き込むことを思い出されたい。他の候補領域(前の予備領域440)は、消去データのページを有するであろう。従って、前の現在の領域450は、第1ページにおける書き込みデータおよび最後のページにおける消去データを含む、部分的にだけ書き込まれた帯域として識別可能であろう。予備領域440は、消去データの第1ページおおび消去データの最後のページを含むであろう。そのような場合、上記領域は、電力故障の前は、前の予備領域440であったと決定される。
電力損失に先立って現在の領域450として指定された特定の帯域(または領域)を識別した後、データ管理ロジック140(または他の好適なリソース)は読み出しを行い、現在の領域450の対応する第1ページからリスト320を再生成し、次にそのリストにおけるそのような領域(例えば、領域210―5、210―6、210―12等)をL2P表構成から除外する。従って、リスト320は揮発性メモリにおいて記憶され電力故障において喪失するかもしれないにもかかわらず、本明細書における複数の実施形態は、現在の領域450において記憶されたデータに基づいてリスト320を再生成する段階を含んでもよい。図7は、本明細書における複数の実施形態に従って、本明細書で説明されるような複数の動作のいずれかを実行するためのコンピュータシステムの例示的なブロック図である。
コンピュータシステム850は、データ管理ロジック140に関して複数の動作のいずれかを実行するように構成されてよい。
示されるように、本実施例のコンピュータシステム850は、デジタル情報が記憶され取得され得る物理的な非一時的なタイプの媒体など(つまり、物理的ハードウェア記憶媒体の任意のタイプ)のコンピュータ可読記憶媒体812、プロセッサ813(つまり、1つ又は複数のプロセッサデバイス)、I/Oインタフェース814、通信インタフェース817等を結合させる相互接続811を含んでもよい。
示されるように、I/Oインタフェース814は、コンピュータシステム850にメモリデバイス220において記憶されたデータへの接続性を提供する。
コンピュータ可読記憶媒体812は、メモリ、光ストレージ、ハードドライブ、フロッピー(登録商標)ディスクその他等のいかなる物理的または有形の1または複数のハードウェア記憶デバイスであってよい。一実施形態において、コンピュータ可読記憶媒体812(例えばコンピュータ可読ハードウェアストレージ)は、複数の命令及び/またはデータを記憶する。
一実施形態において、通信インタフェース817は、コンピュータシステム850およびそれぞれのプロセッサ813が、複数の遠隔ソースから情報を取得して他のコンピュータと通信を行うべく、ネットワーク190などのリソースを介して通信を行うことを可能にする。I/Oインタフェース814は、プロセッサ813がメモリデバイス220などの保管場所から記憶された情報を取得することを可能にする。
示されるように、コンピュータ可読記憶媒体812はプロセッサ813によって実行されるデータ管理アプリケーション140―1(例えば、ソフトウェア、ファームウェア等)でエンコードされている。データ管理アプリケーション140―1は、本明細書において説明されるような複数の動作のいずれかを実装するべく複数の命令を含むように構成されてもよい。
1つの実施形態の動作中、プロセッサ813は、コンピュータ可読記憶媒体812を起動し、コンピュータ可読記憶媒体812に記憶されたデータ管理アプリケーション140―1における複数の命令を動作させ、実行し、解釈、あるいは実施するべく、それに相互接続811の使用を介してアクセスする。
データ管理アプリケーション140―1の実行は、プロセッサ813におけるデータ管理処理140―2などの処理機能を生成する。言い換えると、プロセッサ813に関連するデータ管理処理140―2は、コンピュータシステム850におけるプロセッサ813内のまたはプロセッサ813においてデータ管理アプリケーション140―1を実行することの1または複数の側面を表わす。
当業者は、コンピュータシステム850が、データ管理アプリケーション140―1を実行するべく、他の複数の処理及び/または複数のハードウェアリソース、複数のソフトウェアリソース等の割り当ておよび使用を制御するオペレーティングシステムなどの複数のソフトウェアおよびハードウェア構成要素を含んでもよいことを理解するであろう。
複数の異なる実施形態に従って、コンピュータシステム850は、モバイルコンピュータ、パーソナルコンピュータシステム、無線デバイス、基地局、電話デバイス、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブックコンピュータ、メインフレームコンピュータシステム、ハンドヘルドコンピュータ、ワークステーション、ネットワークコンピュータ、アプリケーションサーバ、記憶デバイス、カメラなどの家電機器、カムコーダ、セットトップボックス、モバイルデバイス、動画、ゲームコンソール、ハンドヘルド動画ゲームデバイス、スイッチなどの周辺機器、モデム、ルータ、または概して任意のタイプの演算または電子デバイスを含むがそれらに限定されない様々なタイプのデバイスのいずれかを含んでもよいことに注意されたい。
複数の異なるリソースによってサポートされる機能が、ここで図8におけるフローチャートを介して説明される。以下の複数のフローチャートにおいて処理する段階は、任意の好適な順序で実行してよいことに注意されたい。
図8は、複数の実施形態に係る例示的な方法を図示するフローチャート800である。上述のように、複数の概念に関していくらかの重複があることに注意されたい。
処理ブロック810において、データ管理ロジック140は、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが、無効データを記憶しているという通知を受信する。
処理ブロック820において、上記通知に応答してデータ管理ロジック140は、上記領域を、無効データを記憶しているとしてマーキングする。
処理ブロック830において、データ管理ロジック140は、複数の記憶セルにおける無効データを置換データで上書きする段階に関連して複数の記憶セルが消去状態にある時間を制御する。非限定的な例を用いて、データ管理ロジック140は、複数の記憶セルがそれぞれの置換データでプログラムされるとき、複数の記憶セルを消去する時間がより近くなるべくそれを消去する段階を遅らせる。
図9は、本明細書における複数の実施形態に係るそれぞれのコンピュータシステムにおけるメモリシステムの使用を図示する実例図である。
示されるように、コンピュータシステム1100は、ホストプロセッサリソース1120およびメモリシステム100を含んでよい。ホストプロセッサリソース1120は、1つ又は複数のプロセッサデバイスなどのコンピュータプロセッサハードウェアであるかまたはそれを含んでよい。非限定的例を用いて、コンピュータシステム1100は、データを記憶するべくメモリシステム100を用いて、パーソナルコンピュータ、携帯電話、モバイルデバイス、カメラその他などの任意の適切なタイプのリソースであってよい。
一実施形態において、メモリシステム100は、データを記憶するべく用いられるソリッドステートドライブである。ホストプロセッサリソース1120は、インタフェース1011を介してメモリシステム100にアクセスする。インタフェース1011は、複数のデータ転送を可能にする任意の好適なリンクであってよい。例えば、インタフェース1011は、SCSI(スモールコンピュータシステムインタフェース(Small Computer System Interface))、SAS(シリアルアタッチドSCSI(Serial Attached SCSI))、SATA(シリアルアドバンスドテクノロジアタッチメント(Serial Advanced Technology Attachment))、USB(ユニバーサルシリアルバス(Universal Serial Bus))、PCIe(周辺機器相互接続エクスプレス(Peripheral Component Interconnect Express))バス等であってよい。
インタフェース1011を介し、コンピュータシステム1100のホストプロセッサリソース1120は、メモリシステム100からデータを取得し、そこにデータを記憶することが可能である。
一例として、ホストプロセッサリソース1120はチェックアウトステーション1100を操作しているユーザからの入力105によって特定されるそれぞれの機能を実行するよう要求を受信すると想定されたい。ホストプロセッサリソース1120は、機能を実行し、その機能は、特定された論理アドレスでのデータの検索のためのデータ管理ロジック140へインタフェース1011を通して要求を送信する段階を含んでもよい。他の複数の機能を実行する段階に加えて、データ管理ロジック140は、メモリシステム100における適切な物理アドレスに論理アドレスをマッピングし、不揮発性メモリデバイス220からデータを取得するように構成され得る。メモリシステム100から適切なデータを取得する段階の後に、データ管理ロジック140は、取得したデータをホストプロセッサリソース1120へ送信し、データに対する要求を満たす。
1つの非限定的な例示的実施形態において、ホストプロセッサリソースは、データ管理ロジック140から受信されたデータに応じてディスプレイスクリーン130上の画像の表示を開始する。
さらなる例として、ホストプロセッサリソース1120は、ユーザからの入力105によって特定されたようにそれぞれ機能を実行するよう要求を受信してよいことに注意されたい。ホストプロセッサリソース1120は、ホストプロセッサリソース1120によって特定されるように論理アドレスでデータを記憶するべく上記機能を実行し、データ管理ロジック140と通信する。上記要求を受信することに応答して、データ管理ロジック140は、論理アドレスを適切な物理アドレスにマッピングし、受信されたデータを不揮発性メモリデバイス220の対応する位置において記憶する。
前述のとおり、データ管理ロジック140は、メモリシステム100における複数の記憶セルのプログラミングに関連して消去滞留時間を管理するように構成され得る。前述のとおり、エラー訂正情報が損傷したデータを修復するべく用いられることから、特定の量の劣化は許容可能であってよい。しかし、消去滞留時間を減らすことは、メモリシステム100の有用寿命を実質的に増加させる。
開示される複数の例示的実施形態の複数の異なる変形
本明細書において説明される第1の例示的実施形態は方法を備え、当該方法は、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶しているという通知を受信する段階応答して、その領域を、無効データを記憶しているとしてマーキングする段階と、後に複数の記憶セルにおける無効データを置換データで上書きする段階に関連して、その複数の記憶セルの領域が消去状態にある時間を制御する段階と、を備える。第1の例示的実施形態は、以下のさらなる複数の実施形態を生成するべく、以下の複数の特徴のうち1つまたは複数のいずれかに伴って実装され得る。
一実施形態において、上記時間は、複数の記憶セルが、後に置換データで上書する段階の前に消去状態に設定されている時間を表す。上記時間を制御する段階は、上記領域における複数の記憶セルにおいて無効データを消去する段階の動作を遅延させる段階と、上記無効データを置換データで置き換える段階とを含み、その遅延された動作は、上記時間を予め定められた時間閾値以下に減少させる。
本明細書におけるさらなる実施形態は、複数の記憶セルの領域を消去する時間の実質的に前後でタイマを開始する段階と、当該タイマを監視する段階と、当該タイマが閾値時間値に到達するのに先立って置換データを記憶するべく、複数の記憶セルの消去された領域を利用する段階と、を含む。
さらなる複数の実施形態によると、無効データを消去する動作を遅延させる段階は、不揮発性メモリシステムにおける記憶空間の必要性を監視する段階、および不揮発性メモリシステムにおいて置換データを記憶する必要があることを検出することに応答して、その記憶領域における無効データを消去する段階を含む。
さらに他の方法実施形態に従って、無効データを消去した後において、本明細書における実施形態は、複数の記憶セルが消去状態に設定されている時間が予め定められた時間閾値未満にあることを保証するべく、領域の複数の記憶セルにおける置換データの記憶を開始する段階を含む。
時間を制御する段階が、さらに複数の記憶セルに記憶された置換データに関連付けられる固有電荷損失の速度を減少させる段階を含んでよい。置換データに関連付けられる固有電荷損失の速度は、複数の記憶セルの設定が、その複数の記憶セルにおける置換データの記憶に先立って消去状態に設定された時間に依存する。
さらなる複数の実施形態において、無効データの上書きに関連する時間を制御する段階は、前にプログラムされた無効データを記憶する状態にある複数の記憶セルの設定をその複数の記憶セルを消去するコマンドを受信するまで維持する段階、および複数の記憶セルの消去された領域を予備帯域であるとして指定する段階を含み、そのコマンドは、不揮発性メモリシステムにおける予備帯域が新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることを検出するとそれに応答して受信される。他の実施形態によると、固有電荷損失を減少させるべく領域における複数の記憶セルの設定を制御する段階は、複数の記憶セルにおける無効データを修正するコマンドを受信する段階、およびそのコマンドの受信に応答して、その領域における複数のデータセルの設定の全て未満の部分を、無効データが破損する非消去状態に修正する段階を含む。
複数のデータセルの設定の全て未満の部分を非消去状態に修正する段階は、無効データを利用不可にするべく、領域における第1グループのセルの複数の設定を第1非消去状態から第2非消去状態に変更する段階を含む。
上記時間を制御する段階はさらに、消去滞留時間を時間閾値未満に減少させるべく、領域において複数の記憶セルにおける第2の非消去データを消去する動作を遅延させ、その第2の非消去データを置換データで置き換える段階と、を含む。
本明細書における複数のさらなる方法の実施形態は、無効データを破壊するべく、領域の部分的消去を実行する段階を含んでよく、その領域における複数の記憶セルの少なくとも一部は、非消去状態に設定され得る。
さらなる複数の実施形態によると、時間を制御する段階は、無効データを破壊するべく複数の記憶セルの領域を消去する段階と、一時的データを置換データで上書きすることに先立って、その一時的データで複数の記憶セルの領域をプログラミングする段階とを含んでよい。
前述のとおり、方法に係る複数の実施形態は、無効データを記憶しているとして上記領域をマーキングする段階を含んでよい。上記領域をマーキングする段階はさらに、その領域において予め定められた位置で記憶されたデータを、その領域が無効データを含むことを示すべく修正する段階を含んでよい。方法に係る複数の実施形態はさらに、領域が無効データを記憶していることを判断するべく、その予め定められた位置でデータの複数の設定を利用する段階を含んでよい。
本明細書で説明されるように第2の例示的実施形態は装置を含み、当該装置は、複数の不揮発性メモリデバイスを含む不揮発性メモリシステムと、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶しているという通知を受信し、その通知に応答して、その領域を、無効データを記憶しているとしてマーキングし、その領域が、複数の記憶セルにおける無効データを後に置換データで上書きする段階に関連付けられる、消去状態に設定されている時間を制御するように構成された処理ロジックと、を備える。
第2の例示的実施形態は、以下の複数のさらなる実施形態を生成するべく、次の複数の特徴のうち1つまたは複数のいずれかに伴って実装されてよい。
一実施形態において、時間は、複数の記憶セルが後に置換データで上書きする前に消去状態に設定されている時間を表わす。処理ロジックは、領域における複数の記憶セルにおいて無効データを消去しその無効データを置換データに置き換える動作を遅延させるようにさらに構成され得る。その遅延された動作は、時間を予め定められた時間閾値未満に減少させる。
さらなる複数の実施形態によると、処理ロジックは、不揮発性メモリシステムにおける記憶空間の必要性をモニタリングし、その不揮発性メモリシステムに置換データを記憶する必要があることを検出することに応答して、記憶領域における無効データを消去するようにさらに構成されている。
よりさらなる複数の実施形態において、処理ロジックは、無効データの消去後、領域の複数の記憶セルが消去状態に設定されている時間が予め定められた時間閾値未満であることを保証するべく、その領域の複数の記憶セルにおいて置換データの記憶を開始するようにさらに構成されている。
他の例示的実施形態において、処理ロジックは、複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を低減するようにさらに構成されており、その固有電荷損失の速度は、複数の記憶セルの設定が、その複数の記憶セルにおける置換データの記憶に先立って消去状態に設定されている時間に依存する。
さらなる実施形態において、処理ロジックは、複数の記憶セルの設定を、その複数の記憶セルを消去するコマンドを受信するまで、前にプログラムされた無効データを記憶する状態において維持するようにさらに構成され、そのコマンドは、不揮発性メモリシステムにおける予備帯域が、新たに受信されたデータを記憶する現在の帯域として再割り当てされているという検出に応答して受信される。
処理ロジックは、複数の記憶セルにおける無効データを修正するコマンドを受信し、そのコマンドの受信に応答して、領域における複数のデータセルの設定の全て未満の部分を非消去状態に修正するようにさらに構成され得る。
さらなる複数の実施形態によると、処理ロジックは、無効データを利用不可にするべく、領域における第1グループのセルの複数の設定を、第1非消去状態から第2消去状態に変更するようにさらに構成され得る。
さらなる複数の実施形態によると、処理ロジックは、時間を時間閾値未満に低減し、領域における複数の記憶セルにおいて第2非消去データを消去する動作を遅延させ、その第2非消去データを置換データで置き換えるようにさらに構成され得る。
さらなる複数の実施形態において、処理ロジックは、無効データを破壊するべく領域の部分的消去を実行するようにさらに構成され、領域における複数の記憶セルの少なくとも一部は複数の非消去状態に設定される。一実施形態において、処理ロジックは、無効データを破壊するべく複数の記憶セルの領域を消去し、複数の記憶セルの領域を、一時的データを置換データで上書きすることに先立って、一時的データでプログラムするようにさらに構成されている。
コンピュータシステムが、当該装置を含むように構成されてよい。そのようなコンピュータシステムは、処理ロジックと通信し、メモリシステムにおいて対応するデータを記憶するように構成されたホストコンピュータプロセッサハードウェアを含むように構成され得る。
本明細書において説明されるように不揮発性メモリシステムは、コンピュータシステムがアクセスを有するソリッドステートドライブであってよい。
本明細書において説明されるようにコンピュータシステムは、さらに、ソリッドステートドライブに記憶された対応するデータに少なくとも部分的に基づいた画像をレンダリングするためのディスプレイスクリーンを含んでよい。
本明細書において説明されるように第3の例示的実施形態は、複数の命令が記憶されたコンピュータ可読ストレージハードウェア(コンピュータ可読記憶媒体)を含み、当該複数の命令は、コンピュータプロセッサハードウェアによって実行されるとき、そのコンピュータプロセッサハードウェアに1または複数の動作を実行させる。上記複数の動作は、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶するという通知の受信に応答して、その領域を、無効データを記憶しているとしてマーキングする段階と、複数の記憶セルにおける無効データを後に置換データで上書きする段階に関連して複数の記憶セルの領域が消去状態にある時間を制御する段階とを含んでよい。
第3の例示的実施形態は、以下のさらなる複数の実施形態を生成するべく、次の複数の特徴のうち1つまたは複数のいずれかに伴って実装されてよい。
他のコンピュータ可読記憶媒体の実施形態によると、時間は、複数の記憶セルが、後に置換データで上書きする段階の前に消去状態に設定されている時間を表わす。 時間を制御する段階は、領域における複数の記憶セルにおいて無効データを消去する動作を遅延させ、無効データを置換データで置き換える段階を含み、遅延された動作は、時間を予め定められた時間閾値未満に減らす。
他の実施形態によると、コンピュータ可読記憶媒体は、不揮発性メモリシステムにおける記憶空間の必要性を監視することと、不揮発性メモリシステムにおける置換データを記憶する必要性の検出に応答して記憶領域における無効データを消去することとの動作をサポートする複数の命令を含む。
他の実施形態によると、コンピュータ可読記憶媒体は、無効データの消去の後に、複数の記憶セルが消去状態に設定されている時間が予め定められた時間閾値未満であることを保証するべく、領域の複数の記憶セルにおいて置換データの記憶を開始する段階の複数の動作をサポートする複数の命令を含む。
他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルに記憶された置換データに関連付けられる固有電荷損失の速度を減らすことの複数の動作をサポートする複数の命令を含み、当該固有電荷損失の速度は、複数の記憶セルの設定が、その複数の記憶セルにおける置換データの記憶に先立って消去状態に設定されている時間に依存する。
他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルの設定を、前にプログラムされた無効データを記憶する状態において、複数の記憶セルを消去するコマンドを受信するまで維持すること、および複数の記憶セルの消去された領域が、予備帯域であるとして指定することの複数の動作をサポートする複数の命令を含み、上記コマンドは、不揮発性メモリシステムにおける予備帯域が、新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることの検出に応答して受信される。
他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルにおける無効データを修正するコマンドを受信すること、およびそのコマンドの受信に応答して、領域における複数の記憶セルの設定の全て未満の部分を、無効データが破損する非消去状態内にあるように修正することの複数の動作をサポートする複数の命令を含む。
他の実施形態によると、コンピュータ可読記憶媒体は、領域における第1グループのセルの複数の設定を、無効データを利用不可にするべく、第1非消去状態から第2非消去状態へと変更する段階の複数の動作をサポートする複数の命令を含む。
他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルに関連する消去閾値を増加させること、および複数の記憶セルの設定が、増加した消去閾値によって定義される範囲内におさまるようにその複数の記憶セルの設定を修正することの複数の動作をサポートする複数の命令を含む。
他の実施形態によると、コンピュータ可読記憶媒体は、無効データを破壊するべく領域の部分的消去を実行する段階の複数の動作をサポートする複数の命令を含む。
他の実施形態によると、コンピュータ可読記憶媒体は、無効データを破壊するべく複数の記憶セルの領域を消去すること、および置換データで一時的データを上書きすることに先立ってその一時的データで複数の記憶セルの領域をプログラミングすることの複数の動作をサポートする複数の命令を含む。他の実施形態によると、コンピュータ可読記憶媒体は、複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を減らす段階の複数の動作をサポートする複数の命令を含む。他の実施形態によると、コンピュータ可読記憶媒体は、時間が閾値未満であるように制御する段階の複数の動作をサポートする複数の命令を含む。
他の実施形態によると、コンピュータ可読記憶媒体は、領域において予め定められた位置で記憶されたデータを、その領域が無効データを含むことを示すべく修正する段階、および領域が無効データを記憶していると判断するべく、その予め定められた位置でデータの複数の設定を利用する段階の複数の動作をサポートする複数の命令を含む。
本明細書において説明されるように第4の例示的実施形態は、時間を管理するシステムを含み、当該システムは、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが無効データを記憶しているという通知を受信するための手段と、当該通知に応答してその領域を、無効データを記憶しているとしてマーキングする手段と、後に複数の記憶セルにおける無効データを置換データで上書きすることに関連付けられる、その複数の記憶セルの領域が消去状態に設定されている時間を制御する手段とを備える。
第4の例示的実施形態は、以下のさらなる複数の実施形態を生成するべく、以下の複数の特徴のうち1つまたは複数のいずれかに伴って実装され得る。
1または複数の例示的実施形態において、時間は、複数の記憶セルを後に置換データで上書きする前に、その複数の記憶セルが消去状態に設定されている時間を表わす。上記時間を制御する段階は、上記領域における複数の記憶セルにおいて無効データを消去する段階の動作を遅延させることと、無効データを置換データで置き換えることとを含み、その遅延された動作は、上記時間を予め定められた時間閾値未満に減少させる。
1または複数の例示的実施形態において、当該システムは、不揮発性メモリシステムにおける記憶空間に対する必要性を監視する手段と、不揮発性メモリシステムにおける置換データを記憶する必要性の検出に応答して、記憶領域における無効データを消去する手段とをさらに備える。
1または複数の例示的実施形態において、当該システムは、無効データの消去後、領域の複数の記憶セルが消去状態に設定されている時間が予め定められた時間閾値未満であることを保証するべく、その領域の複数の記憶セルにおいて置換データの記憶を開始する手段をさらに備える。
1または複数の例示的実施形態において、当該システムは、複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を低減する手段をさらに備え、その固有電荷損失の速度は、複数の記憶セルの設定が、その複数の記憶セルにおける置換データの記憶に先立って消去状態に設定されている時間に依存する。
1または複数の例示的実施形態において、当該システムは、前にプログラムされた、無効データを記憶する状態にある複数の記憶セルの設定をその複数の記憶セルを消去するコマンドを受信するまで維持する手段、および複数の記憶セルの消去された領域を予備帯域であるとして指定する手段をさらに備え、そのコマンドは、不揮発性メモリシステムにおける予備帯域が新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることを検出することに応答して受信される。
1または複数の例示的実施形態において、当該システムは、複数の記憶セルにおける無効データを修正するためのコマンドを受信する手段、および領域における複数の記憶セルの設定の全て未満の部分が、無効データが、コマンドの受信に応答して破損する非消去状態内にあるように、その領域における複数の記憶セルの設定を修正する手段をさらに備える。
1または複数の例示的実施形態において、当該システムは、無効データを利用不可にするべく、領域における第1グループのセルの複数の設定を、第1非消去状態から第2消去状態に変更する手段をさらに備える。
1または複数の例示的実施形態において、当該システムは、複数の記憶セルに関連付けられる消去閾値を増加させる手段と、複数の記憶セルの設定が増加した消去閾値によって定義される範囲内におさまるように複数の記憶セルの設定を修正する手段とをさらに備える。
1または複数の例示的実施形態において、当該システムは、無効データを破壊するべく、領域の部分的消去を実行する手段をさらに備える。
本明細書において説明されるような複数のリソースのいずれも、本明細書において開示される複数の方法動作のいずれかまたは全てを実行及び/またはサポートするべく、1または複数のコンピュータ化されたデバイス、コンピュータシステム、サーバ、基地局、無線通信機器、通信管理システム、ワークステーション、ハンドヘルドまたはラップトップコンピュータ等を含んでよい。言い換えると、1または複数のコンピュータ化されたデバイスまたはプロセッサは、複数の異なる実施形態を実行するべく、本明細書に説明されるように動作するようにプログラムされ及び/または構成され得る。
本明細書におけるさらなる他の複数の実施形態は、本明細書において開示されるような複数の動作を実行するべく、ソフトウェアプログラム、ファームウェア、ロジック等を含む。そのような一実施形態は、複数のソフトウェア命令が後の実行のためにエンコードされた非一時的コンピュータ可読記憶媒体(つまり、任意のコンピュータ可読ハードウェア記憶媒体)を含むコンピュータプログラム製品を備える。複数の命令は、1つ又は複数のプロセッサを有するコンピュータ化されたデバイスにおいて実行されるとき、そのプロセッサが本明細書において開示されるような複数の動作を実行するようにプログラムする及び/またはそのプロセッサが本明細書において開示されるような複数の動作を実行するようにする。 そのような装置は、光学媒体(例えばCD‐ROM)、フロッピー(登録商標)ディスク、ハードディスク、メモリなどの非一時的コンピュータ可読記憶媒体、または、1または複数のROM、RAM、PROMなどにおけるファームウェアまたはショートコードなどの他の媒体において配置またはエンコードされたソフトウェア、ファームウェア、コード、複数の命令、データ(例えば、複数のデータ構成)など、または特定用途向け集積回路(Application Specific Integrated Circuit(ASIC))などにおけるロジックとして提供され得る。ソフトウェアまたはファームウェア、あるいはその他のそのような複数の構成が、コンピュータ化されたデバイスにインストールされ、本明細書において説明される技術を、コンピュータ化されたデバイスに実行させることができる。
従って、本明細書における複数の実施形態は、本明細書において説明されたような複数の動作をサポートする装置、方法、システム、コンピュータプログラム製品などを対象とする。
1つの実施形態は、1または複数の不揮発性メモリデバイスを含むメモリシステムにおいてデータを管理するべく記憶された複数の命令、ロジック等を有するコンピュータ可読記憶媒体及び/またはシステムを含む。複数の命令、及び/またはロジックは、それぞれのコンピュータの少なくとも1つのプロセッサデバイスにより実行されるとき、当該少なくとも1つのプロセッサデバイスが、不揮発性メモリシステムにおける複数の記憶セルの領域において記憶されたデータが、無効データを記憶しているという通知を受信し、その通知に応答して、領域が無効データを記憶しているとしてマーキングするようにし、複数の記憶セルにおける無効データを置換データで上書きすることに関連付けられる時間を制御するようにする。
本明細書において説明されるような処理はいずれも、いかなる好適な順序で実行されてもよいことに注意されたい。
本明細書で説明されるような装置、システム、方法、装置、コンピュータ可読記憶媒体上の複数の命令等は、ソフトウェアプログラム、ファームウェア、ソフトウェア、ファームウェア、及び/またはハードウェアのハイブリッドとして、またはプロセッサデバイス内、オペレーティングシステム内、またはソフトウェアアプリケーション内などでハードウェア単体として、厳密に実施され得ることを理解されたい。
さらに、本明細書における異なる複数の特徴、技術、構成等のそれぞれは、本開示の異なる位置において説明されてよいが、好適な場合、複数の概念のそれぞれが互いに独立して、または互いに組み合わせて任意選択的に実行できることが意図されていることに注意されたい。開示された複数の特徴のいかなる変形も可能である。
従って、本明細書中で説明されるような1または複数の実施形態は、多くの異なるやり方で具現化され見解され得る。
本明細書における複数の技術は、1または複数の不揮発性メモリデバイスを含む複数のメモリシステムにおける使用によく適していることにさらに注意されたい。しかし、本明細書の実施形態は、そのような適用における利用に限定されず、本明細書で説明される技術は、他の適用についても同様によく適していることは注意されるべきである。
望ましい実施形態を参照して詳細が具体的に示され記載されたが、形態および詳細における様々な変更が、添付の請求項によって定義されるように、本願の精神および範囲から逸脱せずになされてよいことが、当業者によって理解されるであろう。 そのような変形は、本願の範囲に含まれることを目的としている。 このように、上記の本願の複数の実施形態の説明は限定することを意図するものではない。 むしろ、本明細書における複数の実施形態に対する限定はいずれも、以下の請求項に表される。

Claims (26)

  1. 不揮発性メモリシステムにおける複数の記憶セルの領域に記憶されたデータが無効データであるという通知を受信することに応答して、前記領域を、無効データを記憶しているとしてマーキングする段階と、
    前記複数の記憶セルの領域が前記複数の記憶セルの領域内の前記無効データを後に置換データで上書きすることに関連付けられる消去状態にある時間を制御する段階と、を備え
    前記時間を制御する段階は、前記複数の記憶セルの領域内の前記無効データを消去する動作を遅延させ、前記無効データを前記置換データで置き換える段階を含み、遅延させられた前記動作は、前記時間を予め定められた時間閾値以下に減少させる、方法。
  2. 前記時間を制御する段階は前記複数の記憶セルの領域内の前記無効データを消去する段階の後に、消去された前記複数の記憶セルに前記置換データを記憶する段階をさらに含む、請求項1に記載の方法。
  3. 前記無効データを消去する動作を遅延させる段階は、前記不揮発性メモリシステムにおける記憶空間の必要性を監視する段階と、前記不揮発性メモリシステムにおける前記置換データを記憶する必要があることを検出することに応答して記憶領域における前記無効データを消去する段階と、を備える、請求項に記載の方法。
  4. 前記無効データを消去する段階の後に、前記複数の記憶セルが消去状態に設定されている時間が、予め定められた時間閾値未満であることを保証するべく、前記領域の前記複数の記憶セルにおける前記置換データの記憶を開始する段階をさらに備える、請求項に記載の方法。
  5. 前記時間を制御する段階は、前記複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を減少させる段階を備え、前記固有電荷損失の速度は、前記複数の記憶セルにおける前記置換データの記憶に先立って前記複数の記憶セルの設定が消去状態に設定されている時間に依存している、請求項に記載の方法。
  6. 前記無効データの上書きに関連付けられる前記時間を制御する段階は、前記複数の記憶セルの設定を、前記複数の記憶セルを消去するコマンドを受信するまで、前にプログラムされた前記無効データを記憶する状態において維持する段階と、前記複数の記憶セルの消去された前記領域を予備帯域として指定する段階と、を備え、前記コマンドは、前記不揮発性メモリシステムにおいて予備帯域が、新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることを検出したことに応答して受信される、請求項に記載の方法。
  7. 前記複数の記憶セルにおける前記無効データを修正するコマンドを受信する段階と、前記コマンドの受信に応答して、前記領域における前記複数の記憶セルの設定の全て未満の部分が、前記無効データが破損する非消去状態内にあるように修正する段階をさらに備える、請求項1に記載の方法。
  8. 前記複数の記憶セルの前記設定の全て未満の部分を前記非消去状態に修正する段階は、前記無効データを利用不可にするべく、前記領域における第1グループのセルの設定を第1非消去状態から第2非消去状態に変更する段階を備える、請求項7に記載の方法。
  9. 前記複数の記憶セルに関連付けられる消去閾値を増加させる段階と、前記複数の記憶セルの設定が、増加した消去閾値によって定義される範囲内におさまるように修正する段階とをさらに備える、請求項1または7または8に記載の方法。
  10. 前記無効データを破壊するべく前記領域の部分的消去を実行する段階をさらに備える、請求項または7または8に記載の方法。
  11. 前記時間を制御する段階は、前記無効データを破壊するべく前記複数の記憶セルの前記領域を消去する段階と、前記複数の記憶セルの前記領域を、前記置換データで一時的データを上書きする段階に先立って、前記一時的データでプログラミングする段階とを備える、請求項1に記載の方法。
  12. 前記時間を制御する段階は、前記複数の記憶セルにおいて記憶された置換データに関連付けられる固有電荷損失の速度を減少させる段階を備える、請求項1または11に記載の方法。
  13. 前記時間を制御する段階は、前記時間が閾値以下であるように制御する段階を備える、請求項1または11に記載の方法。
  14. 前記領域をマーキングする段階は、前記領域において予め定められた位置で記憶されたデータを、前記領域が無効データを含むことを示すべく修正する段階を備え、前記予め定められた位置における前記データの設定を、前記領域が無効データを記憶していることを判断するべく利用する段階をさらに備える、請求項1に記載の方法。
  15. 複数の不揮発性メモリデバイスを含む不揮発性メモリシステムと、
    前記不揮発性メモリシステムにおける複数の記憶セルの領域に記憶されたデータが無効データであるという通知を受信することに応答して、前記領域を無効データを記憶しているとしてマーキングし、前記領域が消去状態に設定されている時間を制御するように構成された処理ロジックとを備え、
    前記消去状態は、前記複数の記憶セルの領域内の前記無効データを後に置換データで上書きすることに関連付けられ
    前記処理ロジックは、前記複数の記憶セルの領域内の前記無効データを消去する動作を遅延させ、前記無効データを前記置換データで置き換えるようにさらに構成され、遅延させられた前記動作は、前記時間を予め定められた時間閾値以下に減少させる、
    データを記憶するための装置。
  16. 前記処理ロジックは前記複数の記憶セルの領域内の前記無効データを消去した後に、消去された前記複数の記憶セルに前記置換データを記憶する、請求項15に記載の装置。
  17. 前記処理ロジックは、前記不揮発性メモリシステムにおける記憶空間の必要性をモニタリングし、前記不揮発性メモリシステムに前記置換データを記憶する必要があることを検出したことに応答して記憶領域における前記無効データを消去するようにさらに構成されている、請求項15に記載の装置。
  18. 前記処理ロジックは、前記無効データを消去した後に、前記複数の記憶セルが前記消去状態に設定されている時間が予め定められた時間閾値以下であることを保証するべく、前記領域の前記複数の記憶セルへの前記置換データの記憶を開始するようにさらに構成されている、請求項15または17に記載の装置。
  19. 前記処理ロジックは、前記複数の記憶セルに記憶された置換データに関連付けられる固有電荷損失の速度を減少させるようにさらに構成され、前記固有電荷損失の速度は、前記複数の記憶セルの設定が、前記複数の記憶セルへの前記置換データの記憶に先立って前記消去状態に設定されている時間に依存している、請求項15に記載の装置。
  20. 前記処理ロジックは、前記複数の記憶セルを消去するコマンドを受信するまで、前記複数の記憶セルの設定を、前にプログラムされた、前記無効データを記憶する状態に維持するようにさらに構成され、前記コマンドは、前記不揮発性メモリシステムにおける予備帯域が、新たに受信されたデータを記憶するための現在の帯域として再割り当てされていることを検出したことに応答して受信される、請求項15または19に記載の装置。
  21. 請求項15または17または19に記載の装置を備えるコンピュータシステムであって、前記処理ロジックと通信し前記メモリシステムに対応する前記データを記憶するように構成されたホストコンピュータプロセッサハードウェアをさらに備える、コンピュータシステム。
  22. 前記不揮発性メモリシステムは、コンピュータシステムがアクセスを有するソリッドステートドライブである、請求項15または17または19に記載の装置を備えるコンピュータシステム。
  23. 前記ソリッドステートドライブにおいて記憶された対応する前記データに少なくとも部分的に基づいて画像をレンダリングするためのディスプレイスクリーンをさらに備える、請求項22に記載のコンピュータシステム。
  24. コンピュータプロセッサハードウェアによって実行されると、前記コンピュータプロセッサハードウェアに、
    不揮発性メモリシステムにおける複数の記憶セルの領域に記憶されたデータが無効データであるという通知を受信することに応答して、前記領域を無効データを記憶しているとしてマーキングすることと、
    前記複数の記憶セルの領域が、前記複数の記憶セルの領域内の前記無効データを後に置換データで上書きすることに関連付けられる消去状態に設定されている時間を制御することと、を備える複数の動作を実行させ
    前記時間を制御することは、前記複数の記憶セルの領域内の前記無効データを消去する動作を遅延させること、および前記無効データを前記置換データで置き換えることを有し、遅延させられた前記動作は、前記時間を予め定められた時間閾値以下に減少させる、
    プログラム。
  25. 前記時間を制御することは、前記複数の記憶セルの領域内の前記無効データを消去することの後に、消去された前記複数の記憶セルに前記置換データを記憶することをさらに含む、請求項24に記載のプログラム。
  26. 請求項24または25に記載のプログラムが記憶されたコンピュータ可読ストレージハードウェア。
JP2016521922A 2013-07-16 2014-07-16 メモリシステムにおける消去管理 Active JP6112595B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/943,762 US9483397B2 (en) 2013-07-16 2013-07-16 Erase management in memory systems
US13/943,762 2013-07-16
PCT/US2014/046849 WO2015009827A1 (en) 2013-07-16 2014-07-16 Erase management in memory systems

Publications (2)

Publication Number Publication Date
JP2016525240A JP2016525240A (ja) 2016-08-22
JP6112595B2 true JP6112595B2 (ja) 2017-04-12

Family

ID=52344556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016521922A Active JP6112595B2 (ja) 2013-07-16 2014-07-16 メモリシステムにおける消去管理

Country Status (8)

Country Link
US (1) US9483397B2 (ja)
EP (2) EP3022740B1 (ja)
JP (1) JP6112595B2 (ja)
KR (1) KR101686376B1 (ja)
CN (2) CN105340020B (ja)
BR (2) BR122018075830B1 (ja)
RU (1) RU2638006C2 (ja)
WO (1) WO2015009827A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390003B2 (en) * 2013-12-09 2016-07-12 International Business Machines Corporation Retirement of physical memory based on dwell time
US9274866B2 (en) * 2013-12-09 2016-03-01 International Business Machines Corporation Programming non-volatile memory using a relaxed dwell time
US10019179B2 (en) 2015-10-16 2018-07-10 Toshiba Memory Corporation Memory device that writes data into a block based on time passage since erasure of data from the block
JP6765322B2 (ja) * 2017-02-28 2020-10-07 キオクシア株式会社 メモリシステムおよび制御方法
JP6765321B2 (ja) * 2017-02-28 2020-10-07 キオクシア株式会社 メモリシステムおよび制御方法
CN113641629A (zh) * 2017-03-27 2021-11-12 珠海极海半导体有限公司 一种flash存储器的文件写入和读取方法
KR102611345B1 (ko) * 2018-07-31 2023-12-08 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10628076B1 (en) * 2018-10-01 2020-04-21 Micron Technology, Inc. Data erasure in memory sub-systems
CN109920462B (zh) * 2019-03-01 2021-01-22 中国科学院微电子研究所 一种数据写入控制电路和控制方法
JP2020198128A (ja) * 2020-08-31 2020-12-10 キオクシア株式会社 メモリシステム
JP7132291B2 (ja) * 2020-08-31 2022-09-06 キオクシア株式会社 メモリシステムおよび制御方法
US11734193B2 (en) * 2020-12-14 2023-08-22 Micron Technology, Inc. Exclusion regions for host-side memory address translation
CN112908392B (zh) * 2021-02-09 2023-09-15 东芯半导体股份有限公司 控制非易失性存储器参数的控制方法
US11550955B1 (en) * 2021-07-20 2023-01-10 Red Hat, Inc. Automatically anonymizing data in a distributed storage system
CN113835970B (zh) * 2021-10-09 2022-05-10 南阳理工学院 一种计算机存储器优化装置及其优化方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
US5808937A (en) * 1994-12-16 1998-09-15 National Semiconductor Corporation Self-convergent method for programming FLASH and EEPROM memory cells that moves the threshold voltage from an erased threshold voltage range to one of a plurality of programmed threshold voltage ranges
US5860124A (en) * 1996-09-30 1999-01-12 Intel Corporation Method for performing a continuous over-write of a file in nonvolatile memory
JP2004240660A (ja) * 2003-02-05 2004-08-26 Matsushita Electric Ind Co Ltd 不揮発性メモリ装置の制御方法
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7873885B1 (en) * 2004-01-20 2011-01-18 Super Talent Electronics, Inc. SSD test systems and methods
US20060002197A1 (en) 2004-06-30 2006-01-05 Rudelic John C Method and apparatus to detect invalid data in a nonvolatile memory following a loss of power
KR100876084B1 (ko) * 2007-02-13 2008-12-26 삼성전자주식회사 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
US7783845B2 (en) * 2005-11-14 2010-08-24 Sandisk Corporation Structures for the management of erase operations in non-volatile memories
KR100848315B1 (ko) * 2005-12-08 2008-07-24 한국전자통신연구원 이중 저널링을 이용한 데이터 저장 공간 확보 방법
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
JP4461170B2 (ja) * 2007-12-28 2010-05-12 株式会社東芝 メモリシステム
JP2009252255A (ja) * 2008-04-01 2009-10-29 Renesas Technology Corp 不揮発性半導体記憶装置
US7979626B2 (en) * 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US7907449B2 (en) * 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
US8166233B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Garbage collection for solid state disks
TWI457940B (zh) 2009-05-15 2014-10-21 Macronix Int Co Ltd 區塊為基礎快閃記憶體之位元組存取
RU90233U1 (ru) * 2009-08-31 2009-12-27 Федеральное государственное унитарное предприятие "18 Центральный научно-исследовательский институт" Накопитель с контролем местоположения
EP2302636B1 (fr) * 2009-09-21 2014-11-05 STMicroelectronics (Rousset) SAS Procédé de lecture d'une mémoire non volatile au moyen de métadonnées et d'une table de correspondance
US8271719B2 (en) 2009-10-29 2012-09-18 Freescale Semiconductor, Inc. Non-volatile memory controller device and method therefor
US8296506B2 (en) 2009-11-09 2012-10-23 Lite-On It Corporation Method for managing a non-violate memory and computer readable medium thereof
US8677203B1 (en) * 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
TWI489466B (zh) 2011-06-15 2015-06-21 Phison Electronics Corp 記憶體抹除方法、記憶體控制器與記憶體儲存裝置
JP4988054B2 (ja) * 2011-08-12 2012-08-01 株式会社東芝 メモリシステム
US8681554B2 (en) * 2011-08-29 2014-03-25 Hitachi, Ltd. Semiconductor storage device comprising electrically rewritable nonvolatile semiconductor memory
US9274937B2 (en) * 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations

Also Published As

Publication number Publication date
WO2015009827A1 (en) 2015-01-22
EP3022740A4 (en) 2017-03-08
CN110047546B (zh) 2023-04-04
US9483397B2 (en) 2016-11-01
EP3489956A1 (en) 2019-05-29
RU2015154180A (ru) 2017-06-21
JP2016525240A (ja) 2016-08-22
CN110047546A (zh) 2019-07-23
BR122018075830B1 (pt) 2023-11-07
US20150026386A1 (en) 2015-01-22
KR20160003720A (ko) 2016-01-11
EP3489956B1 (en) 2021-09-08
CN105340020A (zh) 2016-02-17
KR101686376B1 (ko) 2016-12-13
EP3022740A1 (en) 2016-05-25
BR112015031202A2 (pt) 2017-07-25
EP3022740B1 (en) 2019-03-06
BR112015031202B1 (pt) 2022-06-14
RU2638006C2 (ru) 2017-12-08
CN105340020B (zh) 2019-08-20

Similar Documents

Publication Publication Date Title
JP6112595B2 (ja) メモリシステムにおける消去管理
US10452532B2 (en) Directed sanitization of memory
US9645894B2 (en) Data storage device and flash memory control method
KR101464338B1 (ko) 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템
JP5405513B2 (ja) メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム
US9996297B2 (en) Hot-cold data separation method in flash translation layer
CN104572489B (zh) 磨损均衡方法及装置
US10372619B2 (en) Data backup method, data recovery method and storage controller
US10503606B2 (en) Data backup method, data recovery method and storage controller
CN111752487B (zh) 一种数据恢复方法、装置及固态硬盘
TWI524183B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
JP2012203443A (ja) メモリシステムおよびメモリシステムの制御方法
TWI501252B (zh) 用於控制保留區的固態儲存系統及其控制方法
JP2019512116A (ja) フラッシュメモリデバイスをリフレッシュする方法および装置
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
CN107193485B (zh) 储存装置、其控制单元、及可用于储存装置的数据储存方法
JP2015053075A (ja) メモリシステム、情報処理装置および記憶装置
JP5649709B2 (ja) メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム
KR20120070408A (ko) 블록을 관리하는 비휘발성 메모리 장치의 제어 방법
US11662940B2 (en) Data storage device and data processing method for restoring MLC/TLC memory to avoid degradation of access performance of a memory device caused by word line short
JP2007304920A (ja) フラッシュメモリ制御方法
JP2016177822A (ja) メモリシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170308

R150 Certificate of patent or registration of utility model

Ref document number: 6112595

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250