JP6096882B2 - フラッシュメモリブロックの適応的なプログラミングまたは消去 - Google Patents

フラッシュメモリブロックの適応的なプログラミングまたは消去 Download PDF

Info

Publication number
JP6096882B2
JP6096882B2 JP2015504651A JP2015504651A JP6096882B2 JP 6096882 B2 JP6096882 B2 JP 6096882B2 JP 2015504651 A JP2015504651 A JP 2015504651A JP 2015504651 A JP2015504651 A JP 2015504651A JP 6096882 B2 JP6096882 B2 JP 6096882B2
Authority
JP
Japan
Prior art keywords
block
pulse
voltage
age
determining
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
JP2015504651A
Other languages
English (en)
Other versions
JP2015512552A (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.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor 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 Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of JP2015512552A publication Critical patent/JP2015512552A/ja
Application granted granted Critical
Publication of JP6096882B2 publication Critical patent/JP6096882B2/ja
Active 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
    • 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
    • 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
    • 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

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

[0001] 本明細書に記載される実施形態は、概して、フラッシュメモリなどの不揮発性メモリに関する。
[0002] フラッシュメモリは、電力を使用せずに記憶された情報を維持するため、「不揮発性」であるとみなされる。そのようなものとして、フラッシュメモリは、例えばリムーバブル記憶装置およびモバイルコンピュータデバイスを含む多くのタイプの装置向けに、普及が進んできた。消去不可能(OTP;One Time Programmable)な他の不揮発性メモリと異なり、フラッシュメモリは、メモリコントローラによって上書きすることができる。典型的に、データは、フラッシュメモリの内容を消去した後、フラッシュメモリの一部分(例えば、フラッシュメモリのブロック)が全体として記憶されるべきデータを表すように特定のセルに書き込むことによって、フラッシュメモリ内に記憶される。実用において、フラッシュメモリの内容を消去するには、フラッシュメモリに電圧が印加される。フラッシュメモリブロックを消去し、ブロック内の選択的なセルにプログラムするプロセスは、「プログラム/消去サイクル」または「P/Eサイクル」と呼ばれる。
[0003] フラッシュメモリの理想的な特性の一部は、このフラッシュメモリが多くのP/Eサイクルを経るほど劣化する傾向にある。例えば、フラッシュメモリは、電力がなければ無限に長い時間にわたってその内容を記憶することができないことがある。さらに、フラッシュメモリのプログラム特性および消去特性もまた劣化し得る。具体的に、フラッシュメモリは、メモリの内容を消去するために、より高い電圧が必要になり得る。
[0004] 本明細書に記載される実施形態は、フラッシュメモリブロックを適応的にプログラムまたは消去するための方法、システム、およびコンピュータ可読媒体を含む。一実施形態において、フラッシュメモリのブロックの内容をプログラムまたは消去する方法が提供される。この方法は、フラッシュメモリのブロックの古さに基づいてパルスの電圧を決定することと、ブロックの少なくとも一部分にパルスを出力することと、を含む。パルスは、ブロックをプログラムまたは消去するのに使用される。
[0005] 別の実施形態では、フラッシュメモリのブロックの内容をプログラムまたは消去するためのシステムが提供される。このシステムは、プロセッサと、このプロセッサと通信するメモリと、を備える。メモリは、プロセッサが、ブロックの古さに基づいてパルスの電圧を決定し、かつ、ブロックの少なくとも一部分にパルスを出力するように指示するための複数の処理命令を記憶する。パルスは、ブロックをプログラムまたは消去するのに使用される。
[0006] さらに別の実施形態では、コンピュータ可読媒体が提供される。このコンピュータ可読媒体は、フラッシュメモリのブロックの内容をプログラムまたは消去する方法を実行するために、1つ以上のプロセッサによって実行される1つ以上のシーケンスの1つ以上の命令を保持する。命令は、1つ以上のプロセッサにより実行されると、この1つ以上のプロセッサに、ブロックの古さに基づいてパルスの電圧を決定させ、かつ、ブロックの少なくとも一部分にパルスを出力させる。パルスは、ブロックをプログラムまたは消去するのに使用される。
[0007] これらおよび他の効果および特徴は、以下に記載する本発明の詳細な説明を考慮してより容易に明らかになるであろう。なお、発明の概要および要旨の欄は、発明者によって意図される本発明の1つ以上の全てではなない例示的な実施形態を記載し得る。
[0008] 本明細書に組み込まれ、かつ本明細書の一部を形成する添付の図面は、本発明を例示し、以下の説明と共に、本発明の原理をさらに説明し、かつ関連技術の当業者が本発明を成し、使うことができるようにするものである。
[0009] 図1は、フラッシュメモリブロックを消去するための静的なパルス列を示す。 [0010] 図2は、本発明の一実施形態に係るフラッシュメモリシステムのブロック図である。 [0011] 図3は、本発明の一実施形態に係る、フラッシュメモリのブロックを適応的にプログラムまたは消去するためのステップの例を提供するフローチャートである。 [0012] 図4は、本発明の一実施形態に係るパルス列を示すプロットの例である。 [0013] 図5は、本発明の一実施形態に係る静的および適応的な技術の作用を示すプロットである。 [0013] 図6は、本発明の一実施形態に係る静的および適応的な技術の作用を示すプロットである。
[0014] 本発明のいくつかの実施形態を添付の図面を参照して以下に説明する。図面において、同様の参照番号は同一の要素または機能的に類似の要素を示す。さらに、参照番号の左端の数字は、その参照番号が初めて登場する図面を示す。
[0015] 発明の概要欄および要旨欄ではなく、「発明を実施するための形態」欄が、請求の範囲を解釈するのに使用されることが意図されていることを理解されたい。発明の概要欄および要旨欄は、発明者によって意図される本発明の1つ以上の全てではない例示的な実施形態について記載し得るため、本発明および添付の請求の範囲をいかようにも限定することを意図していない。
[0016] フラッシュメモリは、典型的に、フローティングポリシリコンゲートまたは電荷トラップ層であり得る(これらに限定されない)「記憶ノード」内に電荷が蓄えられる不揮発性メモリである。セルをプログラムするためには、比較的高い電圧が(メモリのワードラインを介して)トランジスタのコントロールゲートに印加され、これにより、電荷が記憶ノード内に蓄積される。セルは、比較的中間の電圧を(メモリのワードラインを介して)コントロールゲートに印加し、セルが電流を伝導しているか否かを決定することにより、読み取られる。一実施形態において、記憶ノードは、コントロールゲートと酸化物層との間に介挿される。したがって、記憶ノード上に蓄積された電荷は、効果的にセルの閾値電圧を増加する。理想的には、セルがプログラムされた後、セルの閾値電圧は、読取動作中に印加された中間電圧よりも高くなることにより、読取動作中に測定可能な2つの異なる状態(つまり、伝導状態と非伝導状態)を作り出す。
[0017] フラッシュメモリのセルは、典型的には、プログラミング電圧とは逆の極性を有する比較的高い電圧をセルのコントロールゲートに印加することにより消去される。消去動作は、フラッシュメモリセルのウェルに高電圧を印加することによっても遂行され得る。そうすることで、記憶ノード上に存在する電荷は除去され、セルは、読取動作中に中間電圧が印加されると電流を伝導する。したがって、プログラム状態では、セルは0(非伝導)の論理値を有し、消去状態では、セルは1(伝導)の論理値を有する。
[0018] フラッシュメモリは、通常、多数のサイズが固定されたメモリブロックから構成される。例えば、各ブロックは、1メガビット(Mbit)のサイズを有するが、これに限定されない。本明細書では、他のブロックサイズも可能であり、かつ想定されている。論理0は、ブロックの選択的なビットまたは「ランダム」なビットにプログラムされ得る。しかし、論理1は、ブロック全体を消去することによってのみ、ブロックへ書き込むことができる。したがって、データをフラッシュメモリブロックに書き込む際、たいていの場合は、二つの動作が完了されなくてはならない。まず、(例えば、ブロックの各セルに論理1を書き込むことにより)ブロックが消去される。次に、ブロックの特定のセルに論理0を書き込むことにより、このブロックを特定の状態へとプログラムする。この消去動作とプログラム動作の対は、「P/Eサイクル」と呼ばれる。万一、書込みコマンドが論理1から論理0への移行のみを必要としている場合には、この書込みコマンドは、代わりに、プログラム動作のみとして実現され得る。
[0019] フラッシュメモリブロックは、無限に繰り返すことができるのが理想的である。つまり、フラッシュメモリブロックは、同一の電圧レベルを使用して、無限回数プログラムおよび消去することができるとよい。しかし、実際は、フラッシュメモリブロックの性能は劣化する。例えば、ブロックが多くのP/Eサイクルに曝されるほど、ブロックを構成するセルは電荷を捕捉する傾向がある。これらの捕捉された電荷により、セルの消去には、より高い電圧レベルの電圧を要するようになる。
[0020] フラッシュメモリのブロックを消去するために、通常、メモリコントローラによって電圧パルス列がブロックに出力される。図1は、フラッシュメモリブロックを消去するのに使用される静的なパルス列の一例を示すプロット100を示している。図1に示すように、パルス列は、Vの電圧を有するパルス、Vの電圧を有するパルス、およびVの電圧を有するパルスの3組のパルスを含む。列内の各パルス後、メモリコントローラは、ブロック内のセルの全てが消去されたかどうかを決定する。例えば、メモリコントローラは、セルの閾値電圧を所定の電圧と比較して、ブロックが消去されたか否かを決定することができる。ブロックが消去されたことが確認されると、このブロックに追加のパルスは出力されない。ブロックの消去が確認されない場合、列内の次のパルスがブロックに出力される。
[0021] したがって、図1の例に示すように、電圧Vを有する3つのパルスで成功しない場合は、パルスの電圧がVまで増加される。これらの3つのパルスが成功しない場合は、電圧はVまで増加される。各電圧レベルの値と各電圧レベルのパルス数は、静的である。つまり、従来は、電圧レベルと各電圧のパルス数の両方があらかじめ決められ、変化しない。
[0022] 図1に示した静的なアプローチでは、通常、ブロックは最終的には消去されるが、初期のパルスのいくつかは「無駄になる」。すなわち、パルス列の初期のパルスのいくつかは、フラッシュメモリブロックのセルの状態に大きな影響を及ぼさないことがある。例えば、図1を参照すると、ブロックの大半のセルが、消去に電圧Vのパルスを要するほどに十分な電荷を補足している場合、電圧VおよびVのパルスはブロックのセルの状態に対して大きな影響を及ぼさない可能性があり。これらの無駄になったパルスは、ブロックを消去するのに要する時間を増大させ得る。ブロックが古くなるほど、つまり、ブロックが経るP/Eサイクルが多くなるほど、適正な電圧を有するパルスがブロックに出力されるまでに多くのパルスを要するようになる。したがって、無駄になるパルスの数は増加し、その結果、消去動作が基本的な性能要件(例えば、5ミリ秒または他の規定された時間での消去など)を満たせなくなることもあり得る。
[0023] 本明細書に記載される実施形態では、フラッシュメモリブロックをプログラムまたは消去するための適応的な技術が提供される。例えば、一実施形態において、ブロックの「古さ」を決定することができ、この古さを使用してパルス列の第1パルスの電圧を決定および設定することができる。実施形態において、フラッシュメモリブロックの「古さ」は、ブロックが劣化した程度を表す。古さは、ブロックの使用状態の基準でもある。フラッシュメモリブロックの古さは、このブロックが経たP/Eサイクル数の関数であることが多い。したがって、古さは、しばしばP/Eサイクルとして定量化される。しかし、以下で述べるように、他の基準を使用してフラッシュメモリブロックの古さを定量化することもできる。プログラムまたは消去される個々のフラッシュメモリブロックにパルス列を適応させることにより、本明細書に記載される技術は、フラッシュメモリブロックをプログラムまたは消去するのに要する時間を大幅に短縮することができる。
[0024] 図2は、本発明の一実施形態に係るフラッシュメモリシステム200のブロック図を示す。システム200は、メモリコントローラ210およびフラッシュメモリ220を備える。メモリコントローラ210は、プロセッサ212と、リードオンリメモリ(ROM)214と、電圧発生器216とを備える。一実施形態において、メモリコントローラ210は、プロセッサ212、ROM214、および電圧発生器216備えたマイクロコントローラとして実現され得る。
[0025] 図2の例において、フラッシュメモリ220は、8つのブロック222a〜222h(一括して「ブロック222」と呼ぶ)を含むが、当業者には当然のことながら、フラッシュメモリ220は、任意サイズのブロックを任意数含むことができる。各ブロックは、情報の個々のビットを記憶するセルを含む。例えば、これらのセルは、フローティングゲートMOSトランジスタとして実現され得るが、これに限られない。図2に示される実施形態において、ROM214は、参照テーブル218を記憶し得る。それに加えて、またはその代わりに、ブロック222のあるブロックが参照テーブル218を記憶してもよい。さらに、当業者には認識されるように、図2はメモリコントローラ210に含まれた電圧発生器216を示すが、電圧発生器216はメモリコントローラ210とは別に実現されてもよい。システム200の動作は、フローチャート300を参照して、以下にさらに詳細に説明される。
[0026] フラッシュメモリシステム200は、不揮発性メモリを必要とする周知のまたは将来的に開発されるあらゆるシステム、サブシステム、デバイスまたはモジュール(コンピュータ、スマートフォン、電化製品、消費者製品、組込みシステム、モバイル機器、通信システム/デバイスなどを含むが、これらに限定されない)、ならびに任意の他のデータ処理モジュール、ならびに該データ処理モジュールを備えたシステムに含まれ得る。本発明の実施形態はこれらに向けたものであることを理解されたい。
[0027] 図3は、本発明の一実施形態に係る、不揮発性(例えば、フラッシュ)メモリのブロックを適応的にプログラムまたは消去するためのステップの例を提供するフローチャート300を示す。当業者には、以下の説明に基づき、他の構造上および動作上の実施形態も明らかになるであろう。図3に示されるステップは、必ずしも図示の順序で起こらなくてもよい。図3のステップを、以下に詳細に説明する。
[0028] ステップS302において、ブロックの古さが決定される。例えば、図2において、メモリコントローラ210は、フラッシュメモリ220のブロック222aの古さを決定することができる。一実施形態では、メモリコントローラ210は、試験パルスをブロック222aに出力し、ブロック222aでその結果を測定することによって、ブロック222aの古さを決定することができる。ブロック222aで結果を測定する例として、ブロック222aが試験パルスを受信した後に、ブロック222aのセル閾値電圧を分析することが挙げられる。以下では、ブロック222aのセルの閾値電圧を分析する2つの異なる実施形態例が提供される。第1実施形態では、複数の異なる所定電圧は、これらの所定電圧のうちの1つ以上をブロック222aのワードラインに印加することによって、セルの閾値電圧と比較される。第2実施形態では、所定電圧がブロック222aのワードラインに印加され、所定電圧よりも高い閾値電圧を有するセルのカウント数が(例えば、電流を伝導しないセルを決定することにより)決定される。これらの実施形態のそれぞれについて、以下でさらに詳細に説明する。当業者には当然のことながら、本発明の範囲と精神を逸脱することなく、フラッシュメモリブロックにおいて試験パルスの効果を測定する他の技術を使用してもよい。
[0029] なお、セルの閾値電圧は、セルが電流を伝導するためにこのセルに印加されなくてはならない電圧である。例えば、ブロック222aのセルがフローティングゲートMOSトランジスタとして実現される実施形態では、セルの閾値電圧は、電流を伝導するためにコントロールゲートに印加されなくてはならない電圧である。上述したように、フローティングゲートMOSトランジスタでは、トランジスタの閾値電圧の値は、トランジスタのフローティングゲート上の電荷の存在に基づいて変化する。
[0030] ブロック222aのセルの閾値電圧を分析する第1実施形態では、メモリコントローラ210は、ブロック222aのセルの閾値電圧を複数の所定電圧と比較し得る。一実施形態において、ROMメモリ214またはブロック222のうちのあるブロック(例えば、ブロック222b)は、本明細書ではVp1、Vp2、Vp3(ここで、Vp1<Vp2<Vp3)と称する3つの所定電圧を記憶し得る。本実施形態では、メモリコントローラ210は、セルの閾値電圧が、例えば、Vp1未満、Vp1〜Vp2の間、Vp2〜Vp3の間、Vp3より大きいなどの範囲のうち、いずれの範囲に該当するかを決定することができる。一実施形態において、各範囲にブロックの古さが割り当てられる。したがって、閾値電圧がどの範囲に該当するかを決定することにより、本発明の本実施形態は、ブロック222aの古さを決定することができる。一実施形態において、メモリコントローラ210は、参照テーブル218に含まれる情報を使用して、決定された範囲を特定の古さにマップすることができる。あるいは、閾値電圧が該当する範囲自体を使用して、ブロック222aの古さを定量化してもよい。
[0031] 複数の所定電圧をセルの閾値電圧と比較する際、一実施形態では、メモリコントローラ210は、所定電圧の探索を実行して、それらの電圧のいずれがブロック222aの全ての閾値電圧よりも大きく、それらの電圧のいずれがブロック222aの全ての閾値電圧以下であるかを決定する。一実施形態において、探索は二分探索であってよい。例えば、メモリコントローラ210は、Vp2から探索を始め、Vp2との比較結果に基づいて、ブロック222aのセルの閾値電圧をVp1またはVp3のいずれかと比較することができる。
[0032] 一実施形態において、セルの閾値電圧と所定電圧との比較を実行するために、メモリコントローラ210は、所定電圧をブロック222aのワードラインに出力し得る。ブロック222aの各セルがフローティングゲートMOSトランジスタとして実現される実施形態では、ワードラインはセルのコントロールゲートに接続される。したがって、ワードラインに特定の電圧を印加し、どのセルが電流を伝導しているかを決定することにより、メモリコントローラ210は、どのセルが所定電圧よりも高い閾値電圧を有し、どのセルが所定電圧以下の閾値電圧を有するかを決定することができる。
[0033] 複数の所定電圧は、フラッシュメモリブロックの性能劣化のモデルまたはフラッシュメモリブロックの劣化に関する実際の実験に基づいて、決定することができる。一実施形態において、複数の所定電圧は、メモリコントローラ210のROMメモリ214またはブロック222の別のブロックに(例えば、製造時に)記憶され得る。
[0034] ブロック222aのセルの閾値電圧を分析する第2実施形態では、ブロック222aのセルの閾値電圧を複数の所定電圧と比較する代わりに、メモリコントローラ210は、所定電圧より高い(あるいは、同等に、所定電圧より低い)閾値電圧を有するセルの数に基づいて古さを決定してもよい。そのようなセルのカウント数が決定されると、メモリコントローラ210は、参照テーブル218内の情報を使用して、そのカウント数を特定の古さの値にマップすることができる。あるいは、特定の閾値(つまり、カウント数)よりも大きい(または、小さい)閾値電圧を有するセルの数自体を使用して、ブロック222aの古さを定量化してもよい。さらに、上述したように、読取り動作中、メモリコントローラ210は、ブロック222aのワードライン上に比較的中間の電圧を出力し、どのセルが電流を伝導しているかを決定し得る。したがって、一実施形態では、所定電圧は、読取り動作中にワードラインに印加された電圧であり得る。
[0035] 別の実施形態では、ブロック222aの古さは、ブロック222aが経たP/Eサイクルの数を決定することによって、決定することができる。例えば、メモリコントローラ210がブロック222aに対してP/Eサイクルを実行するたびに、メモリコントローラ210はカウンタをインクリメントすることができる。カウンタは、指定された複数のセル内に記憶され得る。指定された複数のセルは、ブロック222a、別のブロック(例えばブロック222b)、またはブロック222の以外に配置される複数のセル内に含まれ得る。他の実施形態において、指定された複数のセルは、上記の組み合わせ(例えば、ブロック222a、別のブロック、およびブロック222以外に配置される複数のセルのうちの1つ以上の組み合わせ)に含まれ得る。
[0036] ブロック222aに書き込む前に、メモリコントローラ210は、指定された複数のセルの内容にアクセスすることにより、ブロック222aの古さを決定することができる。それに加えて、あるいはその代わりに、メモリコントローラ210は、ブロック222aを消去するために使用された前回のパルス列の第1パルスの電圧および/またはブロック222aを消去するのに要した時間(またはパルスカウント)を書き込むことができる。さらに別の実施形態では、前回のP/Eサイクル中に使用されたパルス列の最終パルスの電圧が記憶され得る。上述したように、ブロックが古くなるほど、ブロックを消去するのに要する電圧が大きくなり、結果としてパルス列が長くなることが多い。したがって、パルス列の第1パルスの電圧および前回のP/Eサイクル中にブロック222aを消去するのに要した時間も使用して、ブロック222aの古さを定量化することができる。例えば、ブロック222aの古さの適応的なプログラムおよび消去を可能にするために、ブロック222bの古さも記憶され得る。例えば、ブロック222aの一部分を使用してブロック222bの古さを記憶することができる。
[0037] 図3のフローチャート300に戻り、ステップ304では、ブロックの古さに基づき、パルス列の初期パルスの電圧が決定される。例えば、図2において、メモリコントローラ210は、ブロック222aの決定された古さに基づき、パルス列の第1パルスの電圧を決定することができる。例えば、メモリコントローラ210は、参照テーブル218を使用し、ブロック222aの古さをパルス列の最初のパルスの電圧にマップすることができる。例えば、参照テーブル218内の情報は、モデル化によりまたは実験により決定されたフラッシュメモリブロックの特性を使用して決定され、所与の古さを有するブロックを消去するのに要する電圧レベルを決定することができる。例えば、製造プロセスの試験段階中に、ブロック222はテストされ得る。結果として得られたテストデータは、予め定義されたモデルと組み合わされ、所与の古さを有するブロックを消去するのに要する電圧レベルを決定することができる。
[0038] ステップ306において、パルス列は、ブロックの少なくとも一部分に出力される。例えば、図2において、メモリコントローラ210は、ブロック222aの少なくとも一部分にパルス列を出力することができる。一実施形態において、プログラミング動作中、パルス列は、プログラム対象であるブロック222aの特定部分に出力され得る。一方、消去動作中、パルス列は、ブロック222a全体に出力され得る。
[0039] 一実施形態では、パルス列内の第1パルスは、ステップ304で決定された電圧を有する。一実施形態において、メモリコントローラ210のプロセッサ212は、第1パルスが決定された電圧を有するようにパルス列を生成するべく電圧発生器216を制御することができる。一実施形態では、電圧発生器は、電圧発生器216内の制御回路および/またはプロセッサ212によって制御され得る多くの電圧調整器を備えてもよい。
[0040] 一実施形態において、パルス列の他のパルスの電圧レベルも、ブロック222aの古さに基づいてインクリメントされる。例えば、第1パルスの後、メモリコントローラ210がブロック222aの内容が完全に消去されていないと判断すると、メモリコントローラは、第1パルスと同一の電圧レベルを有する別のパルスを出力することができる。第1パルスの電圧レベルを有する所定数のパルスがブロック222aの内容を完全に消去できなかった時は、メモリコントローラ210は、第1パルスの電圧レベルからインクリメントした電圧を有する別のパルスを出力し得る。電圧レベルのインクリメント値は、静的であっても、適応的であってもよい。例えば、メモリコントローラ210は、ブロック222aの古さに基づいて、インクリメントの値を決定することができる。電圧レベルに対する追加のインクリメントも、静的または適応的に決定され得る。さらに、各電圧レベルのパルス数もまた、静的または適応的に決定され得る。つまり、特定電圧レベルでのパルス数は、静的(例えば、ROM214に記憶される)であってもよく、またはブロック222aの古さに基づきメモリコントローラ210によって決定されてもよい。例えば、参照テーブル218は、一連のパルスのパルス数をブロック222aの古さに基づいて特定する情報を記憶し得る。
[0041] 上述したように、メモリコントローラ210は、ステップ302〜306の1つ以上を完了し得る。一実施形態において、メモリコントローラ210のROM214には、メモリコントローラ210がステップ302〜306を完了することを可能にするコンピュータプログラムおよび/またはアルゴリズムが記憶され得る。別の実施形態では、コンピュータプログラムおよび/またはアルゴリズムは、他のコンピュータプログラム/アルゴリズム製品に記憶され得る。他のタイプの他のコンピュータプログラム/アルゴリズムの例には、一次記憶装置(例えば、任意のタイプのランダムアクセスメモリ)二次記憶装置(例えば、ハードドライブ、フロッピー(登録商標)ディスク、CDTOM,ZIPディスク、テープ、磁気記憶装置、および光記憶装置、MEMS、ナノ技術により記憶装置など)が含まれるが、これらに限定されない。別の実施形態では、メモリコントローラ210は、例えばプログラマブル論理によって、ハードウェア状態の機械として実現され得る。
[0042] 図4は、本発明の一実施形態に従い、メモリコントローラ210によって生成され得るパルス列の一例を示すプロット400である。図4に示すように、メモリコントローラ210は、最初に試験パルス402を生成し得る。フローチャート300のステップ302を参照して上述したように、試験パルスを使用してブロック222aの古さを決定することができる。ブロック222aの古さに基づき、メモリコントローラ210は、パルス列の第1パルスの電圧がVからV へと(例えば、図1に図示された従来の静的なパルス列で使用された値だけ)増加されるべきであることを決定し得る。図4に示すように、メモリコントローラ210は、ΔVの値だけ、第1パルスの電圧を効果的に増加する。こうすることで、メモリコントローラ210は、パルス列の第1パルスが無駄になる可能性を減少させる。一実施形態では、V は、V(つまり、静的な方法における第2組のパルスの電圧)に等しくてもよい。さらに、図4に示すように、パルス列の残りのパルスも(必要であれば)、V の値へとΔVだけ、または、静的もしくは適応的に決定された他の値だけ、増加してもよい。
[0043] 図5は、本発明の一実施形態に従い、上述した静的な方法とは反対に、フローチャート300において具体化された適応的な方法を使用する効果を示すプロット510〜540を示している。プロット510および520は、それぞれ、フローチャート300において具体化された適応的な方法と従来の静的な方法を使用した、比較的新しいブロックの消去を示している。プロット510および520に示すように、静的および適応的な方法は、ほぼ等しく効果的に動作する。確かに、ブロックが「新しい」場合、例えば、ブロックが比較的少ない数のP/Eサイクルしか経ていない場合、図示例では、適応的な方法と静的な方法の初期パルスの電圧は同様になる。したがって、本例では、これら2つの方法は、同様の性能を示すことになる。
[0044] プロット530および540は、それぞれ、適応的な方法と静的な方法を使用した比較的古いブロックの消去を示している。ブロックの古さを決定すると、VではなくV の電圧を有するパルスで適応的な方法が開始する。プロット530に示すように、このようにすることで、電圧V でパルスの印加後、消去されずに残るセルの数に中間的な減少をもたらす。逆に、プロット540に示すように、静的な方法を使用すると、第2および第3のパルスは、消去されずに残るセルの数をあまり減少させないため、実質上無駄になる。確かに、第3パルスにより、適応的な方法は略ブロック全体を消去する一方、静的な方法は同一レベルの消去に到達するにはほぼ8パルス要する。したがって、図5の例において示されるプロット510〜540は、比較的古いフラッシュメモリブロックについて、図3を参照して上述した適応的な方法が、ブロックを消去するのに要するパルスの数を減少させ、それによりブロックを消去するのに要する時間を短縮することを示している。
[0045] 図6は、本発明の一実施形態に従い、図3で具体化された適応的な方法の効果をさらに説明するプロット600および610を示す。プロット600および610は、所与のブロックが経たP/Eサイクルの数の関数として異なるパルスの電圧を示している。プロット600は静的な方法を使用した場合を、プロット610は適応的な方法を使用した場合を示す。プロット600に示すように、静的な方法におけるパルスの電圧は、VからVへと静的に増加する。すなわち、各電圧レベルにおけるパルス数は一定である(つまり、図6の実施形態では、各レベルで2パルス)。さらに、プロット600は、各パルス後に行われる検証も示している。例えば、プロット600に示すように、ブロックがCサイクルに到達する前は、ブロックを消去するのに1パルスのみを要する。しかし、ブロックが古くなるほど、ブロックの消去には多くのパルスを要するようになる。確かに、ブロックがCサイクル経ると、ブロックを消去するには6パルス必要になる。この時点で、第1パルス(例えば、電圧レベルVの第1および第2パルスと、電圧レベルVの第3および第4パルス)は、ブロックの状態に大きな影響を与えないため、無駄である。
[0046] プロット600を参照して説明した静的な方法とは反対に、プロット610に示される適応的な技術は、パルス列における第1パルス以降のパルスの値をVからVに調節することができる。具体的に、プロット610に示されるように、ブロックがCサイクル経ると、ブロックを消去するのに第2パルスが必要となる。しかし、ブロックがCサイクル経ると、パルス列の第1パルスの電圧はVまで増加され、ブロックを消去するのに1パルスのみが必要となる。同様に、ブロックがCサイクルに達すると、ブロックを消去するのに再び第2パルスが必要となる。しかし、ブロックがCサイクル経ると、第1パルスの電圧は、ブロックの古さに基づいて再びインクリメントされる。このように、適応的な技術は、ブロックの古さに基づいて第1パルスで電圧レベルVに到達することができる。逆に、プロット600に示すように、ブロックの古さに関わらず、第5パルスまでは、電圧レベルVには到達しない。
[0047] 当業者には当然のことながら、プロット600および610は、本明細書において例示のみを目的として提供されており、特許請求の範囲を限定することを意図していない。例えば、別の実施形態では、サイクルC〜Cの相対関係は変わり得る。例えば、適応的な方法では、適応的な方法の第1パルスの電圧は、ブロックがCおよびCサイクルを経る前にインクリメントされてもよい。このような実施形態では、ブロックがCまたはCに到達すると、ブロックを消去するのに2パルスは必要なくなる。より一般的には、パルス列の特定のパルスの電圧レベルは、ブロックを消去するのに追加のパルスが必要になる前にインクリメントされる。
[0048] 上述した実施形態は、フラッシュメモリのブロックの消去に焦点を当てている。しかし、当業者は、本明細書の開示に基づき、この適応的な技術がメモリのブロックをプログラムする際にも使用することができることを理解するであろう。例えば、セルをプログラムするのに使用される電圧は、フラッシュメモリブロックの古さに基づいて決定され得る。
[0049] また、本明細書において、いくつかの実施形態をフラッシュメモリに関連して説明してきたが、本発明はこれらの例に限定されない。本発明は、他のタイプのコンピュータメモリにも適用可能である。
[0050] 本発明は、特定の機能と、それらの機能同士の関係の実現を例示した機能的なビルディングブロックを使用して説明してきた。これらの機能的なビルディングブロックの境界は、本明細書において、説明の便宜上任意に規定されている。特定の機能と、それら機能の関係が適切に実行される限り、別の境界が規定されてもよい。
[0051] 特定の実施形態の前記説明は、本発明の一般的な性質を完全に明らかにしているため、当業者の知識を適用することによって、他者が、本発明の一般概念から逸脱することなく、過度な実験を必要とせずに、その特定の実施形態を容易に変形および/または適応させることができる。したがって、そのような適応および変形は、本明細書において提示した教示および説明に基づき、開示された実施形態の均等物の意味および範囲に含まれることが意図されている。当然のことながら、本明細書における言い回しまたは用語使いは、限定でなく説明を目的としたものであり、そのような本明細書の用語使いまたは言い回しは、当業者によって、教示および説明を考慮して解釈されることになる。
[0052] 本発明の広さおよび範囲は、上述した例示的な実施形態のいずれによっても限定されるべきでなく、以下の請求の範囲およびその均等物に従ってのみ規定されるべきである。
[0053] 本出願の請求の範囲は、いずれの関連出願の請求の範囲とも異なる。したがって、出願人は、本出願に関して、いずれの関連出願の特許請求の範囲の放棄も撤回する。したがって、審査官は、そのような従前の放棄および回避させられた引用文献のいずれも再考を要することを承知されたい。さらに、審査官は、本出願においてなされた放棄を、いずれの関連出願にも適用して解釈されるべきでないことを承知されたい。

Claims (14)

  1. 不揮発性メモリのブロックの古さを、前記ブロックに出力される試験電圧パルスの結果に少なくとも基づいて決定することと、
    前記ブロックの前記古さに基づき、同一パルス列内の複数のパルスの電圧および数を決定することと、
    前記ブロックの少なくとも一部分をプログラムするために、前記ブロックの少なくとも一部分に前記パルスを出力し、または、前記ブロックを消去するために、前記ブロックの全体に前記パルスを出力することと、を含む、
    方法。
  2. 前記ブロックの前記古さを決定することは、前記試験電圧パルスを前記ブロックに出力することを含む請求項1に記載の方法。
  3. 前記ブロックの前記古さを決定することは、さらに、前記ブロックのセルの閾値電圧を複数の所定電圧と比較することを含む、請求項2に記載の方法。
  4. 前記ブロックの前記古さを決定することは、さらに、前記複数の所定電圧のうちのいずれが、全ての前記閾値電圧以下であるかを決定することを含む、請求項3に記載の方法。
  5. 前記ブロックの前記古さを決定することは、さらに、所定の閾値電圧よりも大きい閾値電圧を有する前記ブロックのセルの数を含むカウント数を決定することを含む、請求項2に記載の方法。
  6. 前記出力することは、前記パルスを生成するように電圧発生器を制御することを含む、請求項1に記載の方法。
  7. 前記出力することは、前記パルスを含む複数のパルスを出力することを含む、請求項1に記載の方法。
  8. フラッシュメモリのブロックの内容をプログラムまたは消去するように動作可能なモジュールを備えるシステムであって、
    プロセッサと、
    前記プロセッサと通信するメモリと、を備え、
    前記メモリは、前記プロセッサが、
    前記ブロックの古さを、前記ブロックに出力される試験電圧パルスの結果に少なくとも基づいて決定し、
    前記ブロックの前記古さに基づき、同一パルス列内の複数のパルスの電圧および数を決定し、かつ、
    前記ブロックの少なくとも一部分をプログラムするために、前記ブロックの少なくとも一部分に前記パルスを出力し、または、前記ブロックを消去するために、前記ブロックの全体に前記パルスを出力するように指示するための複数の処理命令を記憶する、
    システム。
  9. 前記モジュールはマイクロコントローラを備え、前記マイクロコントローラが前記プロセッサおよび前記メモリを含む、請求項8に記載のシステム。
  10. 前記メモリは指定された複数のセルを備える、請求項8に記載のシステム。
  11. 前記プロセッサは、さらに、前記ブロックに前記試験電圧パルスを出力するように動作可能である、請求項10に記載のシステム。
  12. 前記プロセッサは、さらに、前記ブロックのセルの閾値電圧を、複数の所定電圧と比較するように動作可能である、請求項10に記載のシステム。
  13. 方法を実行するために1つ以上のプロセッサによって実行される1つ以上のシーケンスの1つ以上の命令を記憶したコンピュータ可読媒体であって、前記方法は、
    不揮発性メモリのブロックの古さを、前記ブロックに出力される試験電圧パルスの結果に少なくとも基づいて決定することと、
    前記ブロックの前記古さに基づき、同一パルス列内の複数のパルスの電圧および数を決定することと、
    前記ブロックの少なくとも一部分をプログラムするために、前記ブロックの少なくとも一部分に前記パルスを出力し、または、前記ブロックを消去するために、前記ブロックの全体に前記パルスを出力することと、を含む、
    コンピュータ可読媒体。
  14. 前記方法は、前記試験電圧パルスを前記ブロックに出力することを含む、請求項13に記載のコンピュータ可読媒体。
JP2015504651A 2012-04-02 2013-04-01 フラッシュメモリブロックの適応的なプログラミングまたは消去 Active JP6096882B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/437,324 2012-04-02
US13/437,324 US8724388B2 (en) 2012-04-02 2012-04-02 Adaptively programming or erasing flash memory blocks
PCT/US2013/034778 WO2013151919A1 (en) 2012-04-02 2013-04-01 Adaptively progrmaming or erasing flash memory blocks

Publications (2)

Publication Number Publication Date
JP2015512552A JP2015512552A (ja) 2015-04-27
JP6096882B2 true JP6096882B2 (ja) 2017-03-15

Family

ID=49234844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015504651A Active JP6096882B2 (ja) 2012-04-02 2013-04-01 フラッシュメモリブロックの適応的なプログラミングまたは消去

Country Status (6)

Country Link
US (1) US8724388B2 (ja)
JP (1) JP6096882B2 (ja)
KR (1) KR101556611B1 (ja)
CN (1) CN104221091B (ja)
TW (1) TWI607442B (ja)
WO (1) WO2013151919A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7719876B2 (en) 2008-07-31 2010-05-18 Unity Semiconductor Corporation Preservation circuit and methods to maintain values representing data in one or more layers of memory
US10643700B2 (en) 2015-10-29 2020-05-05 Micron Technology, Inc. Apparatuses and methods for adjusting write parameters based on a write count
CN108089994B (zh) * 2018-01-04 2021-06-01 威盛电子股份有限公司 存储装置以及数据保存方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002208286A (ja) * 2001-01-09 2002-07-26 Sharp Corp 不揮発性半導体記憶装置
US6515909B1 (en) 2001-10-05 2003-02-04 Micron Technology Inc. Flash memory device with a variable erase pulse
US6891758B2 (en) 2003-05-08 2005-05-10 Micron Technology, Inc. Position based erase verification levels in a flash memory device
US7483311B2 (en) 2006-02-07 2009-01-27 Micron Technology, Inc. Erase operation in a flash memory device
US7586795B2 (en) * 2006-03-20 2009-09-08 Cypress Semiconductor Corporation Variable reference voltage circuit for non-volatile memory
US7397703B2 (en) * 2006-03-21 2008-07-08 Freescale Semiconductor, Inc. Non-volatile memory with controlled program/erase
JP2007323716A (ja) * 2006-05-31 2007-12-13 Renesas Technology Corp 半導体集積回路
JP4950296B2 (ja) * 2006-09-12 2012-06-13 サンディスク コーポレイション 初期プログラミング電圧のトリミング中に消去/書き込みサイクルを減らす不揮発性メモリおよび方法
KR100851853B1 (ko) * 2006-11-22 2008-08-13 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
KR100960479B1 (ko) * 2007-12-24 2010-06-01 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
KR101454817B1 (ko) 2008-01-11 2014-10-30 삼성전자주식회사 반도체 메모리 장치 및 그것의 마모도 관리 방법
US8036035B2 (en) * 2009-03-25 2011-10-11 Micron Technology, Inc. Erase cycle counter usage in a memory device
JP2010244665A (ja) 2009-04-09 2010-10-28 Renesas Electronics Corp フラッシュメモリおよびその消去方法
US7907449B2 (en) * 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
JP2011065687A (ja) * 2009-09-15 2011-03-31 Toshiba Corp 不揮発性半導体記憶装置
US8550405B2 (en) * 2009-09-29 2013-10-08 Busek Company, Inc. Solar powered spacecraft power system for a hall effect thruster
JP5484233B2 (ja) * 2010-07-16 2014-05-07 株式会社日立製作所 フラッシュメモリ劣化判定装置およびフラッシュメモリの劣化判定方法

Also Published As

Publication number Publication date
WO2013151919A8 (en) 2014-01-16
KR20140134721A (ko) 2014-11-24
CN104221091B (zh) 2018-03-06
TW201349241A (zh) 2013-12-01
WO2013151919A1 (en) 2013-10-10
US8724388B2 (en) 2014-05-13
KR101556611B1 (ko) 2015-10-02
JP2015512552A (ja) 2015-04-27
TWI607442B (zh) 2017-12-01
US20130258775A1 (en) 2013-10-03
CN104221091A (zh) 2014-12-17

Similar Documents

Publication Publication Date Title
JP5583185B2 (ja) 不揮発性半導体メモリ
KR100885782B1 (ko) 차지 트랩형 불휘발성 메모리 장치 및 그 프로그램 방법
US9082503B2 (en) Semiconductor memory device and method of operating the same
US8274840B2 (en) Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same
US20100008145A1 (en) Method of programming nonvolatile memory device
JP2005506653A (ja) メモリセルを消去するための方法
US9312024B2 (en) Flash memory device having efficient refresh operation
JP5804584B1 (ja) Nand型フラッシュメモリのプログラム方法
US20210312960A1 (en) Memory devices with improved refreshing operation
JP6096882B2 (ja) フラッシュメモリブロックの適応的なプログラミングまたは消去
WO2024032560A1 (zh) 用于过擦除修复的方法和存储装置
US9478294B2 (en) Dummy memory erase or program method protected against detection
US9042186B2 (en) Solid state drive and data erasing method thereof
JP2010033637A (ja) 不揮発性半導体記憶装置
JP2009070531A (ja) 半導体装置及びその制御方法
CN111863089B (zh) 存储器装置及非易失性存储器的控制方法
TWI594248B (zh) 記憶體裝置的刷新方法以及可調整刷新操作頻率的記憶體裝置
KR20100027781A (ko) 불휘발성 메모리 장치의 소거 방법 및 그를 이용한 동작 방법
CN110838320A (zh) 一种存储器的编程方法和系统
CN110838321A (zh) 一种存储器的编程方法和系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141127

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141127

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20141127

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150417

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150907

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151020

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20160118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160219

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170216

R150 Certificate of patent or registration of utility model

Ref document number: 6096882

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250