JP2015022788A - メモリ内のデータを管理するための方法および装置 - Google Patents

メモリ内のデータを管理するための方法および装置 Download PDF

Info

Publication number
JP2015022788A
JP2015022788A JP2014144986A JP2014144986A JP2015022788A JP 2015022788 A JP2015022788 A JP 2015022788A JP 2014144986 A JP2014144986 A JP 2014144986A JP 2014144986 A JP2014144986 A JP 2014144986A JP 2015022788 A JP2015022788 A JP 2015022788A
Authority
JP
Japan
Prior art keywords
memory cell
programmed
cell
state
charge
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.)
Granted
Application number
JP2014144986A
Other languages
English (en)
Other versions
JP2015022788A5 (ja
JP6027059B2 (ja
Inventor
アントワーヌ・クエール
Antoine Khoueir
バルン・ボッディ
Voddi Varun
ロドニー・バージル・ボウマン
Virgil Bowman Rodney
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.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
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 Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of JP2015022788A publication Critical patent/JP2015022788A/ja
Publication of JP2015022788A5 publication Critical patent/JP2015022788A5/ja
Application granted granted Critical
Publication of JP6027059B2 publication Critical patent/JP6027059B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】フラッシュメモリアレイ等のメモリ内のデータを管理するための方法および装置を提供する。
【解決手段】いくつかの実施の形態に従うと、一組のソリッドステート不揮発性メモリセルに、この組の中の各メモリセルが書込により関連する初期プログラム状態になるように、データを書込む。この組の中の選択されたメモリセルのプログラム状態のドリフトを検出し、この選択されたメモリセルを部分的に再プログラムして上記関連する初期プログラム状態に戻す。
【選択図】図9

Description

概要
本開示のさまざまな実施の形態は概してフラッシュメモリアレイ等のメモリ内のデータの管理に関する。
いくつかの実施の形態に従うと、一組のソリッドステート不揮発性メモリセルに、この組の中の各メモリセルが書込により関連する初期プログラム状態になるように、データを書込む。この組の中の選択されたメモリセルのプログラム状態のドリフトを検出し、この選択されたメモリセルを部分的に再プログラムして上記関連する初期プログラム状態に戻す。
さまざまな実施の形態を特徴付ける上記およびその他の特徴は、以下の詳細な説明および添付の図面に鑑みて理解することができる。
さまざまな実施の形態に従う、ホスト装置と通信するように配置されたデータ記憶装置の機能ブロック図を示す。 いくつかの実施の形態に従う、図1のデータ記憶装置のブロック図を示す。 図1の装置で使用することができるフラッシュメモリセル構造を示す。 図3のセルを用いたフラッシュメモリアレイの一部の概略図である。 消去ブロックの代表的なフォーマットを示す。 消去ブロックをガーベジコレクション単位(garbage collection unit)(GCU)になるように配列したものを示す。 図6のメモリセルの電荷密度分布を示す。 図7から選択された分布における電荷ドリフトを示す。 さまざまな実施の形態に従い動作することにより図8の電荷ドリフトを修正するデータ記憶装置の部分再プログラミング回路である。 データ記憶装置の読出/書込/消去回路の読出部である。 読出/書込/消去回路の書込部である。 プログラミングドリフトの評価のために異なる電圧検知しきい値をメモリセルの分布に与える様子を示す。 通常プログラミング動作および部分プログラミング動作それぞれの間に図11の書込部によって与えられる通常プログラミングの増分および部分プログラミングの増分を示す。 部分プログラミングシーケンスである。 いくつかの実施の形態に従う部分プログラミングルーチンのフローチャートである。
詳細な説明
本開示は概して、データ記憶装置のフラッシュメモリアレイ等であるがこれに限定されないメモリモジュールに格納されたデータの管理に関する。
当該技術では多様な不揮発性データ記憶メモリが知られている。いくつかの不揮発性メモリは、フラッシュメモリ、抵抗ランダムアクセスメモリ(RRAM(登録商標))、スピントルクトランスファーランダムアクセスメモリ(STRAM)、相変化ランダムアクセスメモリ(PCRAM)等の、ソリッドステートメモリセルの形態を取る。
これらおよびその他の種類のメモリセルは、半導体構造であり、セルの、プログラムされた電気的、機械的、および/または構造的状態との関連でデータを格納する。プログラム状態が長期間維持されるという点では名目上不揮発性であるが、メモリセルはプログラムされた状態の変化(プログラミングドリフト)を引起すさまざまな影響を受ける可能性がある。こういった影響は、読出ディスターブ(disturb)、書込ディスターブ、電荷ドリフト、温度劣化、減磁、累積する書込/消去サイクル、消耗等を含み得るものであり、時間の経過に伴ってセルのプログラム完全性に影響する可能性がある。
プログラミングドリフトが進行しプログラムされたデータの確実なリカバリを妨げるようになる前に、現在格納されているデータに対してリフレッシュ動作を実行して現在のセルを再プログラムするか、または、データを新たな一組のセルに書込むことが一般的である。メモリセルの中には、データをセルに再び書込む前に、消去動作を挟むことが必要なメモリセルがある。ガーベジコレクション動作は、現在のデータを新たな場所に再度書込み続いて消去を行なうかそうでなければメモリの1ブロックをリセットすることによって、このメモリブロックを、利用できる割当プール(allocation pool)に戻すことを含み得る。
現在のリフレッシュ動作(ガーベジコレクション動作を含むがこれに限定される訳ではない)は、機能するものの、その問題は、データの再書込および必要に応じてメモリセルの消去が行なわれることによって、メモリセルの動作総寿命が短縮する可能性があることである。たとえば、いくつかの種類のフラッシュメモリセルは、わずか約5000書込/消去サイクル後に消耗して使えなくなる。それ以外の種類のメモリセルは、書込および/または消去の繰返しが原因で、同じように消耗し易くなる可能性がある。
ライトアンプリフィケーション(write amplification)は、フラッシュメモリセルを含むソリッドステート不揮発性メモリセルに付随する関連現象である。ライトアンプリフィケーションは一般的に、あるメモリ内に特定のデータセットが書込まれる総回数に関係する。理想的なライトアンプリフィケーション値は1に等しいであろう。なぜなら、1つのデータセットを一旦受けたらそのメモリへの書込みは一度だけであることが最適であるからである。しかしながら実際は、ガーベジコレクションおよびその他のリフレッシュ動作の結果、1つのアレイ内でのデータの移動、再書込、コピーまたは複製が複数回行なわれることが多い。現世代のソリッドステートドライブ(SSD)の中には、典型的なライトアンプリフィケーション値が3以上であるものがある。これは、ホストから受けた各データセットを、受けたときにメモリに最初に書込んだ後、最終的にはさらに少なくとも二回書込むことを意味する。
ライトアンプリフィケーションのレベルが高ければ、メモリの動作寿命が短くなる可能性があり、もしこのメモリ内において異なる場所に同一データの複数のセットが現在存在している場合は新たなデータを収容する能力が低下する可能性もあることが、理解できる。
したがって、本開示のさまざまな実施の形態は概して、ライトアンプリフィケーションを減じるようにソリッドステート不揮発性メモリ内のデータを管理するための装置および方法に関する。以下で説明するように、1ブロックのメモリセルを、初期プログラミング状態にプログラムする。推定または検出されたプログラミングドリフトの結果、上記メモリセルのうちの1つ以上を部分再プログラミングの候補であると識別する。
部分再プログラミングはこの1つ以上のメモリセルに適用される。すなわち、メモリセルに、電荷の小さな増分等のプログラミング力(programming effort)の相対的に小さい増分を与えることによって、このセルを、前に適用されたプログラミング状態に戻す。このセルは、再プログラムされたことを示すために、タイム/日付スタンプまたはその他の表示データでマークしてもよい。このようにして、オーバヘッド時間およびメモリアレイ内でデータを移動させるのに必要なリソースを減じることができ、不必要な消去および書込動作を原因とするメモリアレイの消耗を回避することができる。
いくつかの実施の形態では、部分再プログラミングを、フラッシュメモリ環境内で、フラッシュメモリセルに与えられた電圧しきい値またはフラッシュメモリセルのビットエラーレートを読取ることによって測定された、時間の経過に伴いフラッシュメモリセルが失った電荷の量に基づいて、実行する。次に、このセルを優先的に部分的に再プログラムして元の状態に戻す。これにより、データを新しいフレッシュなブロックにコピーし古いブロックを再利用する必要はなくなる。
この部分再プログラミングは、小さくしたプログラミング電圧、パルス等を用いて実行することができる。フラッシュメモリセル、PCRAMセル、STRAMセル、RRAMセル等を含む、種類が異なるメモリセルを、部分的に再プログラムすることができる。フラッシュメモリセルの場合は、実質上、セルの電圧しきい値をその元のプログラム状態に戻すのに十分な電子だけをフローティングゲートの境界を越えて移動させる。
さらに他の実施の形態では、ルックアップテーブル、または、伝達関数等の他の手法を使用して、所与のメモリセルにとって適切な回復プログラミング力を決定することができる。フラッシュメモリセル内の電荷消失に影響し得る変数は、温度、時間、およびプログラム/消去サイクルを含む。この装置は、これらおよびその他の変数を追跡し、バックグラウンドにおいて部分再プログラミングの適用をスケジュールすることにより、特定の分布許容差の中でプログラミング状態を維持することができる。
さまざまな実施の形態の上記およびその他の特徴は、先ず図1を検討することによって理解できる。図1は、ホスト装置102に結合されたデータ記憶装置100を特徴とするデータ処理システムの簡略化されたブロック図を示している。記憶装置100およびホスト102は各々、任意の適切な形態を取ることができる。いくつかの実施の形態において、ホスト102は、デスクトップコンピュータ、サーバ、携帯型電子機器、スマートフォン、ラップトップコンピュータ、タブレット、ゲーム機等の、ネットワークアクセス可能な計算装置である。記憶装置100は、ホスト102に組込まれてもよく、または、ホストにローカル接続もしくはネットワークを介して接続されることによって、ホスト102に対し揮発性および/または不揮発性メモリデータ記憶機能を提供してもよい。
図2は、いくつかの実施の形態に従う図1の記憶装置102の代表的な構造を示す。この装置102は制御モジュール104とメモリモジュール106とを含む。制御モジュール104は、データ処理システムに対してトップレベルの制御を提供し、メモリモジュール106は、主データ記憶装置を提供する。メモリモジュール106は、制御/メモリモジュール通信インターフェイス105を通して制御モジュール104からメモリモジュール106に対して発せられたコマンドを受信し、処理し、実行するようにされている。
モジュール104、106はそれぞれいくつかの形態を取り得る。ソリッドステートドライブ(SSD)に適用された場合、制御モジュール104およびメモリモジュール106双方を、一体化されたスタンドアローンアセンブリに組込んでもよい。ハイブリッドディスクドライブに適用された場合、メモリモジュール106はフラッシュおよびディスク双方に基づくメモリを含むものであってもよい。メモリカードに適用された場合、制御モジュール機能の一部またはすべてをホスト装置102(図1)に組込んでもよい。
図2に示される代表的な制御モジュール104は、コントローラ108と、インターフェイス(I/F)回路110と、メモリバッファ112とを含む。コントローラ108は、ホスト102とメモリモジュール106との間でのデータ転送を指示することを含めて、装置100に対する全体的な制御機能を提供する。I/F回路108は、ホストとの、およびメモリモジュール106との、インターフェイス通信を提供する。バッファ112は、コントローラ108が使用するプログラミングおよび制御データの記憶場所を提供することができ、かつ、データアクセス動作中のデータの一時記憶領域を提供することができる。図2には具体的に示されていないが、制御モジュール104は、暗号化、エラー検出および訂正、ならびにその他の信号処理機能を含むさらに他の機能を含み得る。
示されているメモリモジュール106は、読出/書込/消去(R/W/E)回路114と、1つ以上のフラッシュメモリアレイ116とを含む。R/W/E回路114は、制御モジュール104からの制御入力に応答してフラッシュメモリアレイ116に対して読出、書込、および消去機能を果たすように動作する。このメモリはフラッシュメモリを利用しているが、これは例示にすぎず限定ではない。なぜなら、複数種類のメモリ(たとえばフラッシュ、RRAM、STRAM、PCRAM等)を備えたハイブリッドシステムを含めて、任意の数の異種のソリッドステート不揮発性メモリを使用できるからである。
フラッシュメモリアレイ116は、図3に概要が示されている個々のフラッシュメモリセル118からなるものであってもよい。フラッシュメモリセル118は、間隔をおいて設けられたn+ドープ領域122を有する半導体基板120上に形成される。ゲート構造124は、このフラッシュセルが一般的なnMOSトランジスタ構成となるように、一対の隣合うドープ領域にまたがっている。隣接するドープ領域122の対各々に、関連するゲート構造124が設けられるように、追加のフラッシュセルを基板上に形成することができる。
ゲート構造124は、導電性ゲート126、128と絶縁性領域130、132を交互に積層したものを提供する。データは、各セル118に、フローティングゲート(FG)として特徴付けられている下部ゲート126上に蓄積された電荷の相対的な量との関連で格納される。
フローティングゲートは、プログラミング動作中、隣接するドープ(ドレインおよびソース)領域122と制御ゲート(CG)として特徴付けられている上部ゲート128とに対する適切な電圧の選択的な印加により、電荷を蓄積する。印加されたこれらの電圧により、半導体基板120のチャネル(CH)部分から絶縁領域130を通してフローティングゲート126に、電荷の制御された移動が生じる。
初期消去状態では、通常、電荷はフローティングゲート上に実質的に蓄積されていないであろう。この状態において、セルは一般的に、制御ゲートに電圧を印加しなくても、チャネルを通したドレイン−ソース間の導通を示す傾向がある。一旦フローティングゲート上に電荷が蓄積すると、十分に高いゲート制御電圧を制御ゲートに印加してその時点でセルが導通しない限り、ドレイン−ソース間の経路は非導通状態であろう。セルのプログラム状態は、一般的にフローティングゲート上に蓄積された電荷の量に対応する、ドレイン−ソース電流がセルを流れるのに必要な制御ゲート電圧のレベルを観察することにより、判別することができる。
セル118は、シングルレベルセル(SLC)として構成してもマルチレベルセル(MLC)として構成してもよい。SLCは1ビットを格納し、通常は論理ビット値1を消去されたセルに割当て(実質的に蓄積電荷はない)論理ビット値0をプログラムされたセルに割当てる(蓄積電荷の選択されたしきい値が存在)。MLCは2ビット等のマルチビットを格納する。一般的に2の格納状態を用いてnビットを格納することができる。通常は、マルチビット論理値11を電荷C0(実質的に蓄積電荷はない)の消去されたセルに割当て、次に残りのマルチビット論理値01、00および10を、より高くなる電荷レベルC1、C2およびC3に順次割当てる。
蓄積電荷をフローティングゲート126から抜くためには、一般的に特別な消去動作が必要である。消去は、相対的に高い電圧を制御ゲートに印加して電荷をフローティングゲートからチャネルに戻るように移動させることによって、行なうことができる。その後データ書込動作中に異なる一組の電圧をセルに印加することによってフローティングゲートに電荷を加えてもよい。
図3の118のようなメモリセルを、メモリモジュール106において、概ね図4に示されるようにメモリセルの行と列からなるアレイとして配置することができる。隣接するセルの各列は、1本以上のビット線(BL)134を介して結合することができる。各行に沿うセル118の制御ゲート128は、個々のワード線(WL)136を介して相互に接続することができる。
図4に示されるメモリセルのアレイを、図5および図6に示されるように消去ブロック140にグループ分けしてもよい。各消去ブロック140は、メモリの個別にアドレス可能なブロックであってもよく、一回で同時に消去できるメモリの最小単位を表わしている。各消去ブロック140は、メモリセルの複数の行142として配置してもよく、各行は、共通のワード線(図4)を共有し、選択された量のユーザデータの記憶場所を提供する。希望に応じてその他の内部配列および相互接続を利用することができる。
ブロックレベルのウェアレベリング(wear leveling)を採用することにより、さまざまなブロック140の消去および書込状態を追跡してもよい。新たに受信したデータを収容するために、必要に応じて新たなブロック割当てて使用する。いくつかの実施の形態では、ブロック140のグループを集めて、一単位として割当てられ、使用され、消去されるより大きなガーベジコレクション単位(GCU)144にしてもよい。GCU144は任意の適切な大きさにすればよい。
少なくともいくつかの実施の形態では、ページと呼ばれることもある固定サイズのデータセットを、一回で各行142に書込む。ページサイズは論理セクタに対応していてもよく、または、複数のユーザセクタを各ページ分のデータに組込んでもよい。セクタは各々、論理ブロックアドレス(LBA)等の、関連する論理アドレスを有してもよい。パリティビットまたはリードソロモン符号等のエラー訂正符号をページレベルで組込むことによって、1ページ分のデータを取出したときにエラーを訂正してもよい。メタデータおよびその他の制御情報は、各消去ブロック140に格納してもよく、または、この目的専用の特定のブロック等の他の場所に格納してもよい。
図7は、図6のアレイのさまざまなフラッシュメモリセル118上に蓄積される電荷のレベルの違いについて、代表的な正規化電荷分布150、152、154および156を示す。
これらの分布は、電圧の大きさを示す共通のx軸158およびセル分布総数を示す共通のy軸159に対してグラフ化されている。
分布150、152、154および156は、名目上の蓄積電荷状態C0<C1<C2<C3の相違を表わしており、MLCのプログラム状態11、01、00および10に対応する。その他の符号化方式を用いてもよい。分布150は状態11にプログラムされたアレイのメモリセル上の電荷量の一例を表わし、分布152は状態01に対応し、分布154は状態00に対応し、分布156は状態10に対応する。分布156におけるセルの蓄積電荷が最も多く、分布150におけるセルの蓄積電荷が最も少ない。
プログラム状態11、01、00および10は、各セルにおけるデータの、異なる2つのページ(ブロック)のデータを表わすものであってもよい。この場合、プログラム状態の最下位ビット(LSB)は第1ページのビット値を与えてもよく、プログラム状態の最上位ビット(MSB)は第2ページのビット値を与えてもよい。
理想的なのは、電荷分布150〜156が重なり合っていないことによって、適切な読出しきい値電圧T1、T2、T3およびT4を印加すると、異なるプログラム状態が区別されることである。しきい値T1は名目上、分布150のメモリセルすべてをソース−ドレイン導通状態にするのに十分であるが分布152、154および156のセルを導通状態にするには不十分な電圧レベルを与える。しきい値T4は概ね、プログラム状態に関係なくすべてのセルを導通状態にするのに十分大きい。
選択されたフラッシュメモリセルのプログラム状態は、この選択セルのためのビット線134(図4)を適切な順方向電圧(たとえば+3V等)にし、残りの非選択ビット線をそれ以外のより低い何らかの基準電圧(たとえば0V)にすることによって、読出すことができる。上記選択セルを含まない行のための非選択ワード線136を最大のしきい値T4にすることによって、選択セル以外の、選択列のセルすべてを、ソース−ドレイン導通状態にすることができる。
その後、選択セルに関連するWL136に1つ以上の読出しきい値電圧を印加してもよく、選択セルのプログラム状態を、ビット線134および選択列のその他のセルに電流が流れるか否かに基づいて、判別してもよい。読出動作はこのようにして、所与の読出しきい値電圧が選択されたセルを導通状態にするのに十分であるか否かを評価し、列に電流を流すのに必要な印加電圧が高いほど、フローティングゲート上の蓄積電荷量は多い。
いくつかの実施の形態では、第1ページのデータを、SLCモードのセルの選択行に沿ってセルに書込む。第1ページのデータは、何らかの順序の論理0と1のビットシーケンスを構成するであろう(たとえば00101111010000100…)。各セルには1ビットが格納されるであろう。論理1を格納すべきセルは、プログラミング力を受けない(または最小プログラミング力を受ける)ことによって、「11」分布150の範囲内の電荷レベルを有することができる。論理0を格納すべきセルは、電荷レベルを「00」分布154の範囲内に引上げるのに十分なプログラミング力を受けるであろう。
格納されたビットシーケンスをSLCから読出す場合、今度は読出しきい値電圧T2を各セルに印加すればよく、格納状態(論理1または0)は、この読出しきい値電圧を印加した結果セルが導通状態になったか否かに基づいて判別すればよい。
次に、第2ページのデータをSLCセルに実質的に上書きすることにより、セルをMLC形態に変換してもよい。先に述べたのと同じく、第2ページのデータは論理0と1のビットシーケンスを構成し、各セルには第2ページのデータのうちの1ビットが格納されるであろう。論理1を格納すべきセルは、それ以上プログラム力を受けないであろう。論理0を格納すべきセルは、次に高い分布に電荷レベルを増分するのに十分な追加の電荷を受けるであろう。
論理1を「11」分布150内のプログラムされたメモリセルに書込む場合、電荷を追加することによってこのセルは「01」分布152に移行するであろう。同様に、論理1を「00」分布154内のプログラムされたメモリセルに書込む場合、電荷を追加することによってこのセルは「10」分布156に移行するであろう。いずれの場合も、プログラムされたセルのLSB(右端のビット)は第1ページのデータのビット値を示し、プログラムされたセルのMSB(左端のビット)は第2ページのデータのビット値を示す。
理想的なのは、分布150〜156が十分な間隔を保っていることにより、異なるしきい値T1〜T4によってセルのプログラム状態を正確に識別できることである。しかしながら、時間の経過に伴い、消耗、読出ディスターブ、書込ディスターブ、温度、電荷ドリフト、製造許容差等のさまざまな影響が、図8において点線で示した分布152のシフトのように、所与の分布内のセルのドリフトを引起す可能性がある。シフトされた分布152のメモリセルのうちのいくつかは、実際のプログラム状態01ではなくプログラム状態11を格納しているものとして検出されるであろうことがわかる。電荷ドリフトの結果、総電荷蓄積量が増加または減少し、図8の分布の右方向のシフトが生じる可能性もある。
図9は、さまざまな実施の形態に従う、メモリセル162内のプログラミングドリフトを修正するように動作可能な部分再プログラミング回路160を示す。フラッシュメモリセルの場合、プログラミングドリフトは、図8に示されるような電荷ドリフトの形態であってもよい。その他、メモリセルは、PCRAMセル、RRAMセル、STRAMセル等の異なる形態を取ってもよく、プログラミングドリフトは、相変化ドリフト、抵抗ドリフト、減磁等の形態であってもよい。
部分再プログラミング回路160は、再プログラミング力をメモリセル162に与えることにより、このセルを以前のプログラム状態に戻す。再プログラミング力は、時間、パルス幅、電荷移動量、印加電界強度等の点で、通常のプログラミング力よりも少ない。このようにして、回路160は、現在のプログラミング状態を「微調整」することによってプログラミング分布を引き締める。
いくつかの実施の形態において、部分再プログラミング回路160は、コントローラ108もしくは読出/書込/消去(R/W/E)回路114の一部を形成するか、または、これらその他の回路とインターフェイスするスタンドアローン回路である。回路160は、検出または推定されたビットエラーレート(BER)、時間情報、温度測定値、累積書込/消去(W/E)回数等を含むいくつかの制御入力を用いることにより、再プログラミング力を与えるべきメモリセル候補を識別してもよい。ルックアップテーブル164は、さまざまな環境条件または状況の下で回路160が特定のセルを再プログラムできるようにするために使用されるプロファイル情報を格納することができる。
図10は、たとえば選択行に沿って1グループのMLCから2ページ(ブロック)のデータを読出すように動作可能な図2の読出/書込/消去回路114の読出部170を示す。コマンドデコーダブロック172は、読出コマンドを処理し、1つ以上のデジタル読出しきい値Tを、デジタルアナログ(DAC)/ドライバ回路174に出力する。これに対し、DAC/ドライバ174は、対応するアナログゲート電圧を(図9のメモリセル162によって表される)各セルに出力する。電源電圧Vsが電源176によって印加される。セルの導通状態は、比較器178と、電源180からの適切な基準電圧Vrを用いることによって、検知される。検知されたデータは、出力バッファ182に与えられ、出力バッファは格納データを別々に格納する(それぞれページ1およびページ2)。
各セルの格納状態の検知には、複数のしきい値が必要であろう。電圧しきい値T2を最初に印加することにより、MSBのページ1のデータの格納状態を検知することができる。次に、電圧しきい値T1およびT3を印加することにより、LSBのページ2のデータの格納状態を検知することができる。しきい値T2がセルを導通状態にした場合は、次にT1を印加することにより、セルが分布150にあるのか152にあるのか判別すればよい。同様に、しきい値T2がセルを導通状態にしなかった場合は、T3の印加によってセルが分布154にあるのか156にあるのか判別されるであろう。
このように、格納状態11、01、00または10を容易に判別することができ、第1(MSB)ビットは第1ページにおけるビットを示し、第2(LSB)ビットは第2ページにおけるビットを示す。上記ステップを各MLCについて繰り返すことにより、第1および第2ページについて、回復されたビットシーケンスが生じるであろう。
セルのプログラミングは、図10に示されるように読出/書込/消去回路114の書込回路部190によって実行することができる。チャージポンプ機構を用いることにより、離散的な量の蓄積電荷が順次選択されたセル162に移動し、それにより、電荷の総蓄積量が所望のプログラミング分布まで引上げられる。
電圧源192は、プログラミング電圧を、キャパシタ194またはその他の電荷蓄積素子に供給する。パワーMOSFETまたはそれ以外の適切な装置の形態であってもよい、選択的に起動されたスイッチ196が周期的に閉じることにより、蓄積された電荷をキャパシタ194から選択されたメモリセル162に移動させる。
図10の読出回路170を用いることにより、電荷の蓄積中に、いくつかのプログラムベリファイ(PV)読出しきい値電圧のうちの1つを、セルに周期的に印加することができる。いくつかの実施の形態において、図11のプログラム処理は、セル162が特定のPV読出しきい値に反応して導通状態になることがなくなるまで、続く。選択されたセルに対するプログラミング処理はその時点で終了する。
図12は、プログラムされたメモリセルの分布について、もう1つの分布曲線198を示す。一連の電圧しきい値の印加により、この分布の大きさおよび形状を判別することができる。図12に示されるように、低い方のベースラインしきい値Vaを、ベースラインしきい値よりもわずかに低いおよびわずかに高い(たとえば+/−5%等)増分されたしきい値(Va−,Va+)とともに印加することによって、分布曲線198の低い方の境界を特徴付けることができる。同様に、高い方のベースラインしきい値Vbとそれに関連する増分されたしきい値Vb−、Vb+を印加することにより、分布曲線198の高い方の境界を特徴付けることができる。
図13は、通常プログラミングおよび部分プログラミング力の間に図11の書込回路190によって与え図10の読出回路170によって検知することができる、大きさが異なるプログラミング増分を示す。書込回路190によって、蓄積された電荷の相対的に大きいプログラミング増分200を与えることにより、メモリセルを初期状態にプログラムしてもよく、次に、書込回路190によって、蓄積された電荷の相対的に小さい再プログラミング増分202を与えることにより、このセルを初期プログラム状態に戻してもよい。
たとえば、再び図7を参照して、初期プログラム状態11の消去されたメモリセルは、蓄積電荷の総量を、電圧V2よって設定されたしきい値と電圧V3によって設定されたしきい値の間のレベルになるまで増加させるための、5または6(5〜6)個の増分200を与えることによって、00状態にプログラムしてもよい。
その後、メモリセルのフローティングゲートから電荷が漏れて電荷の総量がしきい値V2の方向にドリフトすると、蓄積電荷の相対的に小さい部分プログラミング増分202を1つ以上与えることによって、メモリセルを以前のプログラム状態(たとえば蓄積電荷の総量が名目上以前と同一)に戻すことができる。
この部分プログラミングシーケンスは図14に示されている。セルの最初の分布を、分布曲線204によって示される特定の状態にプログラムする。時間の経過に伴い、セルのうちの少なくともいくつかが電荷を失い、曲線206で示されるドリフトされた分布になる。
部分プログラミングの増分202を与えると、曲線208で示されるように分布全体が増す。増分202を引続き与えると、最終の部分プログラミング分布(曲線210)は、名目上元の曲線204と一致するであろう。
図14のメモリセルの部分再プログラミングによって、完全な1サイクルの消去およびプログラミングを回避することにより、セルの消耗を減じメモリモジュール内におけるデータのコピーの総数を減じることができる。
図15は、さまざまな実施の形態に従い実行されるステップを説明する部分再プログラミングルーチン220のフローチャートである。説明のために、ルーチン220を、図2〜図6に示されるフラッシュメモリアレイとの関連で述べる。これは例示であって限定ではない。
ステップ222で、メモリセルを選択状態にプログラムする。これは、希望に応じて、プログラム状態が1ページのデータに対応するかまたは複数ページのデータに対応する、SLC状態またはMLC状態であってもよい。プログラム状態は、図7の分布曲線で表される状態から選択された1つの状態(たとえば11、01、00または10)であってもよい。
選択されたある時間間隔の後、ステップ224で、このセルを部分再プログラミングの候補であると識別する。これはさまざまなやり方で実行できる。メモリセルの保持時間を、このセルが過度の劣化なしでプログラム状態を維持し得る経過時間として計算することができる。セルがそのプログラム状態を維持した実際の時間が計算された保持時間に等しくなるかそれ以上になった場合、このセルを部分再プログラミングの候補としてマークしてもよい。
その代わりに、セルに対して読出動作を行なってもよく、このセルを含むメモリのブロックのビットエラーレート(BER)が予め定められたしきい値を超える場合がある。その他の実施の形態では、このブロックの書込/消去回数が、このセルを評価する必要があることを示す特定のしきい値に達する場合がある。さらに他の実施の形態では、セルおよび/または隣接するセルに対して、読出ディスターブデータの可能性を示すのに十分多い回数の読出動作が行なわれる。その他任意の適切な要因、パラメータ、測定値、またはそれ以外の徴候を用いて、スケジュールに基づく全セルの周期的な再プログラミングを含む、部分再プログラミングの候補として、セルを識別することができる。
次にステップ226で、選択されたメモリセルに対して電圧しきい値テストを実行する。これは、図12に示されるような1つ以上の電圧しきい値を印加してセルのプログラム状態を確認することを含み得る。
セルが十分なプログラミング劣化を示している場合、このルーチンは判定ステップ228からステップ230に進み電荷の1つ以上の増分をこのセルに与える。これは、図11の回路190を用いて図13の小さい増分202を与え、続いてステップ232に示されるように図12の回路180によって適切な読出/プログラムベリファイ電圧しきい値を与えることを含み得る。このプロセスは、判定ステップ234で示されるように、セルが適切なレベルに回復するまで続行される。その後、ステップ236で、このセルは再プログラムされたものとしてマークされる。これは、上記メモリセルの関連メタデータにおける記録を含み得るものであり、セルがいつ再プログラムされたかを示すための日付/タイムスタンプを含んでもよい。その後ルーチンはステップ238で終了する。
本明細書で先に述べた部分再プログラミングを適用することによって、データの再書込および消去の発生頻度の低下が可能であることがわかる。それでもなお必要に応じてガーベジコレクション動作を行なうことはできるが、所与のGCU内のデータは、データリフレッシュが必要な状態ではなく(すなわち十分に古いためにプログラミングドリフトが生じた)、概ね古い(すなわち修正の範囲を超えている)という前提がある。
必ずしもプログラムセルの最初の一組のすべてのセルを再プログラムする訳ではない。むしろ、ビットエラーを示しているセルを評価およびプログラミングの対象とすればよく、残りのセルはそのままにしておけばよい。同様に、プログラミングドリフトが生じる可能性がより高いプログラミング状態のセル(たとえば「10」にプログラムされたセル等)を部分的に再プログラムしてもよく、残りのセルはそのままにしておけばよい。その他の場合は、一行のメモリセルのうちのすべてのセルをプログラミングドリフトについて評価し最悪Xパーセント(たとえば最悪20%等)を部分的に再プログラムし残りのセルはそのままにしておく。
フラッシュメモリセルに関連して本明細書に開示されているさまざまな実施の形態では、ドリフトメカニズムとして電荷レベルの低下を検討してきたが、状況によっては過剰な読出の場合のように電荷の増加が発生することが考えられる。追加量の電荷をゲートに加えるのではなく、プログラミング電圧の他の組を与えて電荷のごく一部をフローティングゲートから抜くように、書込回路を構成することが可能である。同様に、その他の種類のメモリセルに対しては双方向プログラミング調整を適用することもできる。
さまざまな実施の形態の構造および機能の詳細と併せて、本開示のさまざまな実施の形態の数多くの特徴および利点について上記説明の中で述べてきたが、この詳細な説明は例示にすぎず、以下の請求項を表現する用語の広い一般的な意味によって示される全範囲の本開示の原理の中で、詳細事項、特に構成要素の構造および配置を変更してもよいことが、理解されるはずである。

Claims (20)

  1. 一組のソリッドステート不揮発性メモリセルに、前記組の中の各メモリセルが書込により関連する初期プログラム状態になるように、データを書込むステップと、
    前記組の中の選択されたメモリセルのプログラム状態のドリフトを検出するステップと、
    前記選択されたメモリセルを部分的に再プログラムして前記選択されたメモリセルを前記関連する初期プログラム状態に戻すステップとを含み、前記組の中の少なくとも1つのその他のメモリセルは部分的に再プログラムされない、方法。
  2. 前記一組のソリッドステート不揮発性メモリセルは、各フラッシュメモリセルのフローティングゲートに電荷を蓄積することにより1ページ分のデータを同時に格納することによってプログラムされる一行のフラッシュメモリセルを含む、請求項1に記載の方法。
  3. 前記フラッシュメモリセルは各々、2ページ分のデータが前記メモリセルによって格納されるように、マルチレベルセル(MLC)として構成される、請求項2に記載の方法。
  4. 第1の書込パルス幅を与えることによって、各メモリセルを前記関連する初期プログラム状態にプログラムし、その後第2の書込パルス幅を与えることによって、選択されたメモリセルをその関連するプログラム状態に再プログラムし、前記第2の書込パルス幅は前記第1の書込パルス幅よりも短い、請求項1に記載の方法。
  5. 前記プログラム状態のドリフトは、電圧しきい値を選択されたメモリセルに与えることによって検出される、請求項1に記載の方法。
  6. 前記プログラム状態のドリフトは、選択されたメモリセルに関連するビットエラーレート(BER)に応じて検出される、請求項1に記載の方法。
  7. 前記プログラム状態のドリフトは、選択されたメモリセルが前記関連する初期プログラム状態にプログラムされてから経過した時間に応じて検出される、請求項1に記載の方法。
  8. 前記プログラム状態のドリフトは、選択されたメモリセルに関連する温度測定値に応じて検出される、請求項1に記載の方法。
  9. 電荷の複数の増分を与えて前記選択されたメモリセルを前記初期プログラム状態にプログラムし、その後、電荷の、より小さい複数の増分を与えて前記選択されたメモリセルを部分的に再プログラムして前記初期プログラム状態に戻す、請求項1に記載の方法。
  10. 前記メモリセルは、抵抗ランダムアクセスメモリ(RRAM)セル、相変化ランダムアクセスメモリ(PCRAM)セル、またはスピントルクトランスファーランダムアクセスメモリ(STRAM)セルのうちの選択されたいずれか1つである、請求項1に記載の方法。
  11. 前記選択されたメモリセルを、再プログラムされたものとして、前記選択されたメモリセルに関連する制御データにマークするステップをさらに含む、請求項1に記載の方法。
  12. アドレス可能な単位になるように配列されたソリッドステート不揮発性メモリセルのアレイと、
    メモリの選択されたアドレス可能単位に、前記選択されたアドレス可能単位の中の各メモリセルが関連する初期プログラム状態を有するように、データを書込むようにされた書込回路と、
    前記選択されたアドレス可能単位の中のメモリセルのうちの少なくとも1つのプログラム状態のドリフトを検出するように、かつ、前記選択されたアドレス可能単位の中の全メモリセルよりも少ないメモリセルを部分的に再プログラムして前記関連する初期プログラム状態にすることを前記書込回路に指示するようにされた、部分再プログラミング回路とを備える、装置。
  13. 前記選択されたアドレス可能単位は、1行のフラッシュメモリセルであり、前記書込回路は、前記フラッシュメモリセルに電荷の第1の増分を蓄積し移動することによって1ページのデータを前記行に書込み、前記書込回路は、前記電荷の第1の増分よりも小さい電荷の第2の増分を蓄積し移動することによって前記行の前記フラッシュメモリセルを部分的に再プログラムする、請求項12に記載の装置。
  14. 第1の書込パルス幅を与えることによって、各メモリセルを前記関連する初期プログラム状態にプログラムし、その後第2の書込パルス幅を与えることによって、選択されたメモリセルをその関連するプログラム状態に再プログラムし、前記第2の書込パルス幅は前記第1の書込パルス幅よりも短い、請求項12に記載の装置。
  15. 前記プログラム状態のドリフトは、電圧しきい値を選択されたメモリセルに与えることによって検出される、請求項12に記載の装置。
  16. 前記プログラム状態のドリフトは、選択されたメモリセルに関連するビットエラーレート(BER)に応じて検出される、請求項12に記載の装置。
  17. 前記プログラム状態のドリフトは、選択されたメモリセルが前記関連する初期プログラム状態にプログラムされてから経過した時間に応じて検出される、請求項12に記載の装置。
  18. 前記プログラム状態のドリフトは、選択されたメモリセルに関連する温度測定値に応じて検出される、請求項12に記載の装置。
  19. 一単位として消去され割当てられる複数のガーベジコレクション単位(GCU)になるように配列された不揮発性フラッシュメモリセルを含むフラッシュメモリアレイと、
    選択されたGCUからデータを読出し選択されたGCUにデータを書込み選択されたGCUを消去するようにされた、読出/書込/消去(R/W/E)回路と、
    前記選択されたGCUの中のプログラムされた一組のフラッシュメモリセルをプログラミングドリフトが生じたものであると識別し、かつ、前記プログラムされた一組のフラッシュメモリセルを部分的に再プログラムすることで電荷を前記メモリセルに移動させて前記メモリセルを前記選択されたGCUの消去を挟まずにその初期プログラム状態に戻すことを前記R/W/E回路に指示する、部分再プログラミング回路とを備える、装置。
  20. 前記部分再プログラミング回路はさらに、前記部分的に再プログラムする動作の前に1つ以上の電圧しきい値を前記プログラムされた一組のフラッシュメモリセルに与えて各々のプログラム状態を評価することを前記R/W/E回路に指示する、請求項19に記載の装置。
JP2014144986A 2013-07-16 2014-07-15 メモリ内のデータを管理するための方法および装置 Expired - Fee Related JP6027059B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/943,441 2013-07-16
US13/943,441 US9378830B2 (en) 2013-07-16 2013-07-16 Partial reprogramming of solid-state non-volatile memory cells

Publications (3)

Publication Number Publication Date
JP2015022788A true JP2015022788A (ja) 2015-02-02
JP2015022788A5 JP2015022788A5 (ja) 2015-03-12
JP6027059B2 JP6027059B2 (ja) 2016-11-16

Family

ID=52343461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014144986A Expired - Fee Related JP6027059B2 (ja) 2013-07-16 2014-07-15 メモリ内のデータを管理するための方法および装置

Country Status (4)

Country Link
US (1) US9378830B2 (ja)
JP (1) JP6027059B2 (ja)
KR (2) KR20150009478A (ja)
CN (1) CN104332178B (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762620B2 (en) 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9361221B1 (en) * 2013-08-26 2016-06-07 Sandisk Technologies Inc. Write amplification reduction through reliable writes during garbage collection
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9576649B2 (en) * 2015-03-31 2017-02-21 Seagate Technology Llc Charge loss compensation through augmentation of accumulated charge in a memory cell
KR102449337B1 (ko) * 2015-12-14 2022-10-04 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
US10254969B2 (en) * 2016-05-13 2019-04-09 Seagate Technology Llc Data refresh in flash memory
KR102565888B1 (ko) 2016-09-12 2023-08-11 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10262743B2 (en) * 2016-10-25 2019-04-16 Sandisk Technologies Llc Command sequence for first read solution for memory
US9952944B1 (en) 2016-10-25 2018-04-24 Sandisk Technologies Llc First read solution for memory
US10026486B1 (en) 2017-03-06 2018-07-17 Sandisk Technologies Llc First read countermeasures in memory
CN108694979B (zh) * 2017-04-06 2023-08-01 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
US10347315B2 (en) 2017-10-31 2019-07-09 Sandisk Technologies Llc Group read refresh
US10706920B2 (en) 2017-11-02 2020-07-07 Samsung Electronics Co., Ltd. Memory device
KR102467075B1 (ko) * 2017-11-13 2022-11-11 삼성전자주식회사 메모리 장치 및 그의 리클레임 방법
US10446246B2 (en) * 2018-03-14 2019-10-15 Silicon Storage Technology, Inc. Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network
US10733104B2 (en) 2018-08-03 2020-08-04 Micron Technology, Inc. Fast non-volatile storage device recovery techniques
KR102651129B1 (ko) 2018-12-21 2024-03-26 삼성전자주식회사 메모리 장치의 데이터 재기입 방법, 상기 메모리 장치를 제어하는 메모리 컨트롤러 및 상기 메모리 컨트롤러의 제어 방법
KR102161833B1 (ko) * 2018-12-31 2020-10-05 성균관대학교산학협력단 온도 정보를 활용한 멀티 레벨 셀 상변화 메모리 스크러빙 장치
CN114400035A (zh) * 2021-12-02 2022-04-26 长江存储科技有限责任公司 存储器的编程方法、存储器及存储系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058966A (ja) * 2005-08-23 2007-03-08 Renesas Technology Corp 半導体装置
JP2008181628A (ja) * 2007-01-23 2008-08-07 Hynix Semiconductor Inc ナンドフラッシュメモリ装置とそのセル特性改善方法
JP2009151919A (ja) * 2007-12-20 2009-07-09 Samsung Electronics Co Ltd 半導体メモリ装置及びそれの読み出しフェイル分析方法
JP2010039983A (ja) * 2008-08-08 2010-02-18 Renesas Technology Corp 不揮発性メモリ制御方法及び半導体装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815439A (en) 1996-04-30 1998-09-29 Agate Semiconductor, Inc. Stabilization circuits and techniques for storage and retrieval of single or multiple digital bits per memory cell
US6343033B1 (en) * 2000-02-25 2002-01-29 Advanced Micro Devices, Inc. Variable pulse width memory programming
US6424569B1 (en) * 2000-02-25 2002-07-23 Advanced Micro Devices, Inc. User selectable cell programming
US7184307B2 (en) 2001-08-28 2007-02-27 Samsung Electronics Co., Ltd. Flash memory device capable of preventing program disturbance according to partial programming
US6751146B1 (en) * 2003-01-07 2004-06-15 Advanced Micro Devices, Inc. System and method for charge restoration in a non-volatile memory device
JP2004259144A (ja) * 2003-02-27 2004-09-16 Renesas Technology Corp 半導体記憶装置
DE102005009700B4 (de) * 2004-02-26 2009-02-05 Samsung Electronics Co., Ltd., Suwon Programmierverfahren und nichtflüchtiger Speicher
US7325090B2 (en) 2004-04-29 2008-01-29 Sandisk Il Ltd. Refreshing data stored in a flash memory
JP2009536423A (ja) 2006-05-05 2009-10-08 ハネウェル・インターナショナル・インコーポレーテッド 不揮発性メモリをリフレッシュする方法
WO2009042298A1 (en) 2007-09-26 2009-04-02 Rambus Inc. Flash memory refresh
US8938655B2 (en) * 2007-12-20 2015-01-20 Spansion Llc Extending flash memory data retension via rewrite refresh
US8238157B1 (en) * 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
KR20130071686A (ko) * 2011-12-21 2013-07-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9355024B2 (en) * 2012-10-10 2016-05-31 Apple Inc. Systems and methods for nonvolatile memory performance throttling
US9182924B2 (en) * 2013-01-11 2015-11-10 Seagate Technology Llc Modifying logical addressing at a requestor level

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058966A (ja) * 2005-08-23 2007-03-08 Renesas Technology Corp 半導体装置
JP2008181628A (ja) * 2007-01-23 2008-08-07 Hynix Semiconductor Inc ナンドフラッシュメモリ装置とそのセル特性改善方法
JP2009151919A (ja) * 2007-12-20 2009-07-09 Samsung Electronics Co Ltd 半導体メモリ装置及びそれの読み出しフェイル分析方法
JP2010039983A (ja) * 2008-08-08 2010-02-18 Renesas Technology Corp 不揮発性メモリ制御方法及び半導体装置

Also Published As

Publication number Publication date
US9378830B2 (en) 2016-06-28
CN104332178A (zh) 2015-02-04
JP6027059B2 (ja) 2016-11-16
KR20150009478A (ko) 2015-01-26
CN104332178B (zh) 2018-10-19
US20150023097A1 (en) 2015-01-22
KR20160137501A (ko) 2016-11-30

Similar Documents

Publication Publication Date Title
JP6027059B2 (ja) メモリ内のデータを管理するための方法および装置
US8923045B2 (en) Multi-level cell (MLC) update with protected mode capability
US9263158B2 (en) Determining data retention time in a solid-state non-volatile memory
US9263142B2 (en) Programming a memory cell using a dual polarity charge pump
US8838881B2 (en) Transfer command with specified sense threshold vector component
US9424946B2 (en) Non-volatile buffering to enable sloppy writes and fast write verification
US9501400B2 (en) Identification and operation of sub-prime blocks in nonvolatile memory
US9099185B2 (en) Using different programming modes to store data to a memory cell
KR20130088061A (ko) 임계 전압 드리프트 또는 저항 드리프트 내성의 이동 기선 메모리 데이터 부호화를 이용한 멀티레벨 셀(mlc) 메모리의 향상된 데이터 읽기 구현
KR20130088066A (ko) 임계 전압 드리프트 또는 저항 드리프트 내성의 이동 기선 메모리 데이터 부호화를 이용한 멀티레벨 셀(mlc) 메모리의 향상된 데이터 부분 소거 구현
US11145357B2 (en) Memory system, memory controller and method for operating memory system
US9342401B2 (en) Selective in-situ retouching of data in nonvolatile memory
US20120300554A1 (en) Sanitizing a Non-Volatile Memory Through Charge Accumulation
KR20130088069A (ko) 임계 전압 드리프트 또는 저항 드리프트 내성의 이동 기선 메모리 데이터 부호화를 이용한 멀티레벨 셀(mlc) 메모리의 향상된 데이터 쓰기 구현
KR20210079555A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US11315650B2 (en) Memory system, memory controller, and method of operating memory system
US11216208B1 (en) Memory system, memory controller, and operation method of memory system
US20230325273A1 (en) Managing error-handling flows in memory devices
US11693745B2 (en) Error-handling flows in memory devices based on bins
US11061615B2 (en) Memory system, memory controller and operating method thereof
US11544003B2 (en) Memory system, memory controller, and method of operating memory system
US11837307B2 (en) Managing error-handling flows in memory devices
US20240062799A1 (en) Apparatus with non-linear refresh mechanism and methods for operating the same
CN118072777A (zh) 使用部分块处置的功率损耗错误检测

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160909

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: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161013

R150 Certificate of patent or registration of utility model

Ref document number: 6027059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees