JP2022040515A - フラッシュメモリおよびプログラミング方法 - Google Patents

フラッシュメモリおよびプログラミング方法 Download PDF

Info

Publication number
JP2022040515A
JP2022040515A JP2020145274A JP2020145274A JP2022040515A JP 2022040515 A JP2022040515 A JP 2022040515A JP 2020145274 A JP2020145274 A JP 2020145274A JP 2020145274 A JP2020145274 A JP 2020145274A JP 2022040515 A JP2022040515 A JP 2022040515A
Authority
JP
Japan
Prior art keywords
program
program pulse
sacrificial
pulse
voltage
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.)
Pending
Application number
JP2020145274A
Other languages
English (en)
Inventor
勝 矢野
Masaru Yano
利章 竹下
Toshiaki Takeshita
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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics 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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to JP2020145274A priority Critical patent/JP2022040515A/ja
Priority to TW110125093A priority patent/TWI758206B/zh
Priority to CN202110817738.7A priority patent/CN114121093A/zh
Priority to KR1020210109265A priority patent/KR102646459B1/ko
Priority to US17/462,006 priority patent/US11798628B2/en
Publication of JP2022040515A publication Critical patent/JP2022040515A/ja
Priority to JP2022118488A priority patent/JP7309304B2/ja
Pending legal-status Critical Current

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • 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
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5644Multilevel memory comprising counting devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】 改善されたISPPによりメモリセルのプログラムを行う半導体記憶装置を提供する。【解決手段】 本発明のNAND型フラッシュメモリのプログラム方法は、メモリセルアレイのページを選択し、選択したページにISPPによるプログラムパルスを印加するステップを含む。ISPPにより印加されるプログラムパルスは、少なくとも最初のプログラムパルスによってプログラムベリファイが不合格となる犠牲的なプログラムパルスと、他のプログラムパルスのいずれの増加分よりも大きい増加分を持つ最後のプログラムパルスとを含む。【選択図】 図5

Description

本発明は、NAND型フラッシュメモリに関し、特に、プログラム方法に関する。
NAND型フラッシュメモリにおいて、プログラムは、フローティングゲートに電子を蓄積させ、メモリセルのしきい値電圧を正方向にシフトさせ、消去は、フローティングゲートから電子を放出させ、メモリセルのしきい値電圧を負方向にシフトさせる。このようなプログラムおよび消去は、メモリセルのしきい値が「0」、「1」の分布幅内に入るように制御されなければならない。また、メモリセルに多ビットを記憶させる場合には、さらにしきい値が「00」、「01」、「10」、「11」の分布幅に入るように制御しなければならない。
メモリセルのしきい値分布を制御するため、メモリセルのプログラムは、ISPP(Incremental Step Pulse Program)方式を用いている。ISPPは、図1に示すように、選択ページにプログラムパルスVpgm0を印加し、このプログラムベリファイで不合格と判定されたメモリセルに、プログラムパルスVpgm0よりも1ステップ電圧だけ高いプログラムパルスVpgm1を印加し、このプログラムベリファイで不合格と判定されたメモリセルに、プログラムパルスVpgm1よりも1ステップ電圧だけ高いプログラムパルスVpgm2を印加する。プログラムパルスを漸次増加させ、ステップ電圧に応じたメモリセルのしきい値を変化させることで、しきい値分布幅の狭帯化を図っている(例えば、特許文献1)。
特許5583185号公報
フラッシュメモリでは、プログラム/消去のサイクル数が増加すると、Gm(トランスコンダクタンス)の劣化が顕著になり、メモリセルに電流が流れ難くなる。言い換えれば、プログラム/消去のサイクル数が増加するにつれ、メモリセルのしきい値が上昇する。メモリセルをプログラムすることは、メモリセルのしきい値を上昇させることであり、サイクル数の増加によってメモリセルのプログラムが容易になる、つまりメモリセルのプログラム速度が速くなる、あるいはプログラムする能力が加速することを意味する。
図2は、プログラム/消去のサイクル特性を示すグラフであり、縦軸は、メモリセルのしきい値、横軸は、プログラム/消去のサイクル数である。上の折れ線は、プログラム状態のメモリセルのしきい値、下の折れ線は、消去状態のメモリセルのしきい値である。ここには、世代の異なる4つの製品についてのサイクル特性が示されている。プログラム/消去のサイクル特性は、例えば、一定電圧を有するプログラムパルスと一定電圧を有する消去パルスとを繰り返し印加することによって得られる。同図に示すように、サイクル回数が1K付近までは、プログラム状態または消去状態のメモリセルのしきい値はほとんど変化しないが、1Kを越えるあたりから、徐々にしきい値が正の方向にシフトしていることがわかる。これは、プログラム/消去のサイクル数が増加するにつれ、ゲート酸化膜に電子がトラップされたり、電子のトンネリングによりゲート酸化膜そのものが劣化することが原因の一つと推測されている。
サイクル数が100K近傍になると、プログラム状態のメモリセルのしきい値は、フレッシュなときのしきい値よりも大幅に上昇し、プログラム速度あるいはプログラム能力が加速される。もし、プログラムベリファイ電圧が同一ならば、サイクル数が100Kのメモリセルは、より低いプログラム電圧でプログラムベリファイが合格されることになる。
図3に、従来のISPPによるプログラムパルスの一例を示す。ここでのプログラムパルスは、均一なステップ電圧(ΔV=0.6V)であり、初期電圧が14.0Vである。ステップ電圧は、メモリセルのしきい値のシフト量を規定し、ステップ電圧を均一にすることで、メモリセルのしきい値のシフト量を制御し、しきい値分布の狭帯化を図っている。例えば、サイクル数が1K未満またはフレッシュなメモリセルは、プログラム電圧が15.2Vでプログラムベリファイが合格するが、サイクル数が100K近傍のメモリセルは、プログラム電圧が14.0Vでプログラムベリファイが合格する。
ISPPによるプログラムは、理想的には、メモリセルのしきい値変化がプログラムパルスの複数回の印加によって制御されることであるが、上記のように、サイクル数の増加によりプログラム速度が加速されたメモリセルは、1回のプログラムパルスでベリファイが合格してしまう。これは、プログラム速度が速いメモリセルにとってプログラム電圧が大きすぎ、しきい値のシフト量が大きくなりすぎ、ISPPにより制御されていないことを意味する。換言すれば、このようなメモリセルのしきい値は、しきい値分布から外れ易くなる。また、プログラム速度が速いメモリセルは、大きなプログラムストレスを受けるため、劣化がさらに進み、プログラム速度がさらに加速されてしまう。その結果、エンデュランス特性(データの書き換え可能な回数)を低下させてしまうことにもなる。
本発明は、このような従来の課題を解決し、改善されたISPPによりプログラムを行う半導体記憶装置を提供することを目的とする。
さらに本発明は、プログラム状態のメモリセルのしきい値分布の狭帯化を図ることができる半導体記憶装置を提供することを目的とする。
本発明に係る半導体記憶装置は、NAND型メモリセルアレイと、前記メモリセルアレイの選択されたページをプログラムするため、ISPPによるプログラムパルスを印加するプログラム手段とを有し、前記プログラム手段により印加されるプログラムパルスは、少なくとも最初のプログラムパルスによってプログラムベリファイが不合格となる犠牲的なプログラムパルスを含む。
ある実施態様では、前記犠牲的なプログラムパルスは、複数のプログラムパルスである。ある実施態様では、前記犠牲的なプログラムパルスは、プログラム/消去のサイクルが一定数に到達したメモリセルが最初のプログラムパルスでプログラムベリファイ合格するときのプログラムパルスよりも低い電圧である。ある実施態様では、前記犠牲的なプログラムパルスが複数のプログラムパルスであるとき、前記犠牲的なプログラムパルス間の第1のステップ電圧は、他のプログラムパルス間の第2のステップ電圧よりも小さい。ある実施態様では、前記プログラム手段により印加される最後のプログラムパルスとその前のプログラムパルスとの間の第3のステップ電圧は、前記第1および第2のステップ電圧よりも大きい。ある実施態様では、前記プログラム手段は、プログラムの回数または消去の回数をカウントするカウント手段を含み、前記プログラム手段は、前記カウント手段によりカウントされた回数に基づき前記犠牲的なプログラムパルスの少なくとも初期電圧を変更する。ある実施態様では、前記プログラム手段は、前記犠牲的なプログラムパルスによって選択ページの一定数以上のメモリセルが合格したか否かを判定し、合格した場合には、次のプログラム動作時に印加する犠牲的なプログラムパルスの少なくとも初期電圧を下げる。
本発明に係るNAND型フラッシュメモリのプログラム方法は、メモリセルアレイの選択されたページをプログラムするため、ISPPによるプログラムパルスを印加するステップを含み、印加されるプログラムパルスは、少なくとも最初のプログラムパルスによってプログラムベリファイが不合格となる犠牲的なプログラムパルスを含む。
ある実施態様では、前記犠牲的なプログラムパルスは、複数のプログラムパルスである。ある実施態様では、前記犠牲的なプログラムパルスは、プログラム/消去のサイクルが一定数に到達したメモリセルが最初のプログラムパルスでプログラムベリファイ合格するときのプログラムパルスよりも低い電圧である。ある実施態様では、前記犠牲的なプログラムパルスが複数のプログラムパルスであるとき、前記犠牲的なプログラムパルス間の第1のステップ電圧は、他のプログラムパルス間の第2のステップ電圧よりも小さい。ある実施態様では、印加される最後のプログラムパルスとその前のプログラムパルスとの間の第3のステップ電圧は、前記第1および第2のステップ電圧よりも大きい。ある実施態様では、プログラム方法はさらに、プログラムの回数または消去の回数をカウントするステップを含み、前記プログラムパルスを印加するステップは、前記カウントされた回数に基づき前記犠牲的なプログラムパルスの少なくとも初期電圧を変更する。ある実施態様では、プログラム方法はさらに、前記犠牲的なプログラムパルスによって選択ページの一定数以上のメモリセルが合格したか否かを判定するステップを含み、合格したと判定された場合には、前記プログラムパルスを印加するステップは、次のプログラム動作時に印加する犠牲的なプログラムパルスの少なくとも初期電圧を下げる。
本発明によれば、少なくとも最初のプログラムパルスによってプログラムベリファイが不合格となるような犠牲的なプログラムパルスを印加するようにしたので、プログラム/消去のサイクル数の増加によりプログラム速度が速いメモリセルであっても、しきい値のシフト量を一定以下に制御し、これにより、プログラム状態のメモリセルのしきい値の狭帯化を図ることができる。また、プログラム速度の速いメモリセルの劣化を抑制し、メモリセルのエンデュランス特性を改善することができる。
従来のフラッシュメモリのISPPによるプログラムを説明する図である。 プログラム/消去サイクルとしきい値変化の関係を示すグラフである。 従来のISPPによるプログラムパルス電圧の具体例を示す図である。 本発明の実施例に係るNAND型フラッシュメモリの構成を示すブロック図である。 本発明の実施例に係るISPPによるプログラムパルス電圧の例示である。 本発明の実施例に係るプログラム動作のシーケンスを説明するフローチャートである。 本発明の第2の実施例に係るNAND型フラッシュメモリの構成を示すブロック図である。 本発明の第2の実施例のプログラム方法を説明するフローチャートである。
次に、本発明に係る半導体記憶装置は、例えば、NAND型フラッシュメモリやそのようなNAND型フラッシュメモリを含む半導体デバイスである。
次に、本発明の実施例について図面を参照して詳細に説明する。図4は、本発明の実施例に係るNAND型フラッシュメモリの構成を示すブロック図である。同図に示すように、本実施例のフラッシュメモリ100は、複数のメモリセルが形成されたメモリセルアレイ110と、外部入出力端子I/Oに接続された入出力バッファ120と、入出力バッファ120からアドレスデータを受け取るアドレスレジスタ130と、入出力バッファ120からコマンドデータ等を受け取り、各部を制御するコントローラ140と、アドレスレジスタ130から行アドレス情報Axを受け取り、行アドレス情報Axのデコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路150と、ワード線選択回路150によって選択されたページの読出しデータを保持したり、選択されたページにプログラムすべきプログラムデータを保持するページバッファ/センス回路160と、アドレスレジスタ130から列アドレス情報Ayを受け取り、列アドレス情報Ayのデコード結果に基づきページバッファ/センス回路160内の列等を選択する列選択回路170と、読出し、プログラムおよび消去等のために必要な種々の電圧(プログラム電圧Vpgm、読出し電圧Vread、消去電圧Vers、パス電圧Vpassなど)を生成する内部電圧発生回路180とを含んで構成される。
メモリアレイ110は、m個のブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を有し、1つのブロックには、複数のNANDストリングが形成される。1つのNANDストリングは、直列に接続された複数のメモリセルと、ビット線側選択トランジスタと、ソース線側選択トランジスタとを含む。NANDストリングは、基板表面に形成される2次元構造であってもよいし、基板表面から垂直方向に形成される3次元構造であってもよい。また、メモリセルは、2値データを記憶するものであっても良いし、多値データを記憶するものであってもよい。
コントローラ140は、ROM/RAMを含むマイクロコントローラあるいはステートマシンによって構成される。ある実施態様では、コントローラ140は、ROMに格納されたプログラムを実行することで、読出し動作、プログラム動作、消去動作等を制御する。
読出し動作では、ビット線に正の電圧を印加し、選択ワード線に例えば0Vを印加し、非選択ワード線にパス電圧を印加し、ビット線側選択トランジスタおよびソース線側選択トランジスタをオンし、共通ソース線に0Vを印加する。
プログラム動作では、選択ワード線に高電圧のプログラム電圧Vpgmを印加し、非選択のワード線に中間電位を印加し、ビット線側選択トランジスタをオンさせ、ソース線側選択トランジスタをオフさせ、「0」または「1」のデータに応じた電圧をビット線に供給する。プログラム動作では、プログラムパルスを印加した後、プログラムベリファイで不合格となったメモリセルには、前回よりも高いステップ電圧のプログラムパルスを印加する、いわゆるISPP方式を用いる。
消去動作では、ブロックを選択し、選択したブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧を印加し、ブロック単位でデータを消去する。
次に、本実施例のプログラム動作について説明する。本実施例によるISPPは、均一なステップ電圧によりプログラム電圧を線形に増加させるのではなく、プログラム/消去のサイクル数によるしきい値の増加量あるいはプログラム能力の加速を考慮し、プログラムパルスの初期電圧およびステップ電圧を改善したプログラムパルスを印加する。
メモリセルの中には、製造上のバラツキ等の要因により、相対的にプログラム速度が速いメモリセル(しきい値のシフト量が大きいメモリセル)、プログラム速度が遅いメモリセル(しきい値のシフト量が小さいメモリセル)が存在する。従来のISPPは、プログラム/消去のサイクル数が少ないかフレッシュな状態を基準にプログラムパルスの初期電圧値およびステップ電圧を設定し、プログラム速度が速いメモリセルやプログラム速度が遅いメモリセルであっても、ISPPによるしきい値制御ができるように、プログラム電圧を段階的に線形に増加させている。しかしながら、プログラム/消去のサイクル数が増加すると、プログラム速度が速いメモリセルは、さらにプログラム速度が加速され、その結果、1回のプログラムパルスでベリファイが合格してしまう。これは、ISPPによるしきい値制御から逸脱するものであり、大きなしきい値分布を生成することになる。
本実施例は、上記のようなプログラム速度が速いメモリセルのISPPによるしきい値制御を可能にするため、1つまたは複数の犠牲的なプログラムパルスをメモリセルに印加する。犠牲的なプログラムパルスは、プログラム速度が速いメモリセルのしきい値を僅かにシフトさせるような初期電圧およびステップ電圧を有する。言い換えれば、プログラム速度が速いメモリセルが少なくとも1回のプログラムパルスの印加でベリファイが合格しないような初期電圧およびステップ電圧である。他方、そのような犠牲的なプログラムパルスを含めることで、最終的にプログラムパルスが到達する電圧レベルが小さくなり過ぎると、本来であればベリファイで合格すべきプログラム速度が遅いメモリセルが不合格になるおそれがある。このため、少なくとも最後に印加するプログラムパルスのステップ電圧を大きくし、プログラム速度が遅いメモリセルがベリファイで不合格になるのを抑制する。
図5は、本実施例によるISPPのプログラムパルスの一例を示している。ここでは、6回のプログラムパルスでベリファイが合格することを前提している。同図において、P_FASTは、プログラム速度が速いメモリセルにとってベリファイが合格しないような初期電圧およびステップ電圧を含む犠牲的なプログラムパルスである。P_SLOWは、プログラム速度が遅いメモリセルにとってベリファイが合格するようなステップ電圧を有するプログラムパルスである。P_NORMALは、プログラム速度が標準的なメモリセルにとってベリファイが合格するようなステップ電圧を有するプログラムパルスである。
従来の図3に示すISPPでは、プログラム/消去のサイクル数が100K近傍に到達したとき、プログラム速度が速いメモリセルは、例えば、最初の14.0Vでベリファイが合格する。これに対処するため、図5に示すISPPでは、プログラムパルスP_FASTの初期電圧を13.0V、ステップ電圧を0.5Vに設定する。この初期電圧およびステップ電圧は、図3に示すプログラムパルスの初期電圧およびステップ電圧よりも小さい。その結果、プログラム速度が速いメモリセルは、最初のプログラムパルスでベリファイが合格せず、おそらく3つ目の14.0Vのプログラムパルスを印加したときにベリファイが合格するはずである。
プログラム速度が標準的なメモリセルは、プログラムパルスP_FASTよりも高いプログラム電圧およびステップ電圧を有するプログラムパルスP_NORMALが印加されたときにベリファイが合格するはずである。
プログラムパルスP_SLOWのステップ電圧は2.0Vであり、最後に大きなプログラム電圧が印加されるように設定される。その結果、プログラム速度が遅いメモリセルは、プログラムパルスP_SLOWを印加されたときにベリファイが合格するはずである。プログラムパルスP_SLOWは、プログラムパルスP_NORMALよりもステップ電圧が2Vも大きく、かつ、プログラム電圧(18V)も図3に示すプログラム電圧(17V)よりも大きい。このようなプログラムパルスP_SLOWを印加することで、プログラム速度が遅いメモリセルには大きなプログラムストレスが印加され、プログラムが加速される。
このように本実施例のISPPによるプログラムパルスは、初期電圧およびステップ電圧が低く緩やかに増加するプログラムパルスP_FASTから始まり、次に、ステップ電圧を幾分大きくしたプログラムパルスP_NORMALとなり、最後に、ステップ電圧を非常に大きくしたプログラムパルスP_SLOWとなる。本実施例のプログラムパルスの初期電圧やステップ電圧の設定は、実際にデバイスのサイクルテストを実施し、そのサイクルテストの結果から得られたプログラム/消去のサイクル数としきい値との関係(例えば、図2に示すグラフ)に基づき決定することができる。
また、NAND型フラッシュメモリは、通常、動作電圧や動作タイミング等のパラメータを設定するための設定情報をフューズメモリに格納している。パワーオン動作時、フューズメモリから読み出した設定情報がコンフィギュレーションレジスタ等にロードされ、コントローラ140は、コンフィギュレーションレジスタにセットされた設定情報に基づきISPPの初期電圧やステップ電圧を設定する。フューズメモリは、例えば、メモリセルアレイ110のユーザーによって使用されない領域に設けられる。
図6は、本実施例のプログラム動作を示すフローチャートである。コントローラ140は、外部からプログラムコマンド、アドレスおよびプログラムすべきデータを入出力バッファ120を介して受け取ると(S100)、プログラムシーケンスを開始する。選択ページのワード線には、ワード線選択回路150によりプログラムパルスが印加され、ビット線には、ページバッファ/センス回路160によりプログラムすべきデータに応じた電圧が設定され、選択ページにプログラムパルスが印加される(S110)。次に、選択ページにプログラムパルスが印加されると、プログラムベリファイが行われる(S120)。選択ページの全てのメモリセルのプログラムが合格した場合には(S130)、プログラムが終了される。
一方、プログラムが不合格のメモリセルがある場合には(S130)、プログラムパルスの印加回数がNMAXに到達したか否かが判定される(S140)。ここで、NMAXとは、プログラムに許容される最大時間またはプログラムに許容される最大のプログラムパルスの印加回数を意味する。通常、プログラムディスターブの観点から、同一ページに連続してプログラムすることが許される回数(NOP(Number of Program))には制限がある。
プログラムパルスの印加回数がNMAXに到達した場合には、プログラム失敗のステータスが外部のホスト装置に通知されるとともに、当該ブロックがバッドブロックとして管理される。NMAXに到達していなければ、ISPPに従いプログラムパルスがインクリメントされ、すなわち前回のプログラムパルスよりもΔVだけ大きなステップ電圧を有するプログラムパルスが内部電圧発生回路180によって生成され(S150)、このプログラムパルスが選択ページに印加される(S110)。既にベリファイが合格しているメモリセルのビット線にはプログラム禁止電圧が印加される。
次に、本発明の第2の実施例について説明する。上記実施例では、プログラム/消去のサイクル数の増加によるしきい値のシフト量あるいはプログラム速度の加速を考慮してISPPのプログラムパルスを予め設定するようにしたが、第2の実施例は、プログラム/消去のサイクル数に応じて動的にISPPのプログラムパルスを変更する。
第2の実施例では、フラッシュメモリ100Aは、図7に示すように、プログラム/消去のサイクル数をカウントするカウンタ190を備える。コントローラ140は、プログラム動作および消去動作を実施するたびに、カウンタ190を1つインクリメントする。あるいは、カウンタ190がプログラム用のカウンタと消去用のカウンタとを備えている場合には、コントローラ140は、プログラム動作を行うときにプログラム用のカウンタを1つインクリメントし、消去動作を行うときに消去用のカウンタを1つインクリメントする。そして、コントローラ140は、カウンタ190のカウント値が予め決められた数に到達したとき、プログラム/消去のサイクル数に応じたISPPのプログラムパルスに設定を変更する。
図8は、本実施例のプログラム動作示すフローチャートである。プログラム/消去のサイクル数がカウンタ190によってカウントされ(S200)、コントローラ140は、カウント値が一定数に到達したことを検出すると(S210)、コンフィギュレーションレジスタにセットされている設定情報を書換え(S220)、プログラムパルスの初期電圧、ステップ電圧の変更を行う(S230)。例えば、プログラム/消去のサイクル数が一定数未満のとき、ISPPによるプログラムパルスは、図3に示すようにステップ電圧が均一であり、初期電圧が14.0V、最終の電圧が17.0Vに設定される。プログラム/サイクル数が一定数に到達すると、ISPPによるプログラムパルスは、図5に示すように、プログラム速度が速いメモリセルがベリファイで合格しないような初期電圧およびステップ電圧を有するプログラムパルスP_FAST、プログラム速度が標準的なメモリセルがベリファイで合格するようなプログラムパルスP_NORMAL、プログラム速度が遅いメモリセルがベリファイで合格するような大きなステップ電圧を有するプログラムパルスP_SLOWに変更される。
上記した第2の実施例では、ISPPによるプログラムパルスの設定を動的に2段階で変更する例を示したが、これに限らず、プログラム/消去のサイクル数を多段階(例えば、3段階や4段階)でモニターし、多段階のサイクル数にそれぞれ到達したときにプログラムパルスの設定を変更するようにしてもよい。さらにプログラム/消去のサイクル数をブロック単位でカウントするようにし、ブロック単位でISPPによるプログラムパルスの設定を変更するようにしてもよい。ブロック間でサイクル数にバラツキがある場合には、ブロック毎にISPPによるプログラムパルスの設定を変更することは有効である。
次に、本発明の第3の実施例について説明する。第3の実施例は、第1の実施例や第2の実施例で設定されたISPPによるP_FASTの初期電圧を最適化することに関する。第3の実施例では、プログラムベリファイにおいて、プログラムパルスP_FASTの範囲である犠牲的なプログラムパルスによって選択ページの全てのデータが合格したか否かを判定し、全てのデータ(メモリセル)が合格した場合には、レジスタにフラグをセットする。犠牲的なプログラムパルスによって全てのデータが合格するということは、プログラムパルスP_FASTの初期電圧が高すぎ、犠牲的なプログラムパルスが機能していないことを意味する。
プログラム動作の開始時、コントローラ140は、レジスタにフラグがセットされているか否かを判定し、フラグがセットされている場合には、プログラムパルスP_FASTの初期電圧を一定電圧だけ下げる(例えば、図5の例で言えば、初期電圧を13.0Vから12.0Vに1Vだけ下げる)。これにより、選択ページの全てのデータが犠牲的なプログラムパルスによって合格しないようにする。他方、レジスタにフラグがセットされていない場合には、予め設定されたプログラムパルスP_FASTが印加される。
このように本実施例によれば、犠牲的なプログラムパルスの印加によって選択ページの全てのデータが合格する場合には、プログラムパルスP_FASTの初期電圧を下げることでプログラムパルスP_FASTの最適化を図ることができる。なお、上記の例では、プログラムパルスP_FASTによって全てのデータが合格したときにフラグをセットしたが、これ以外にも、例えば、プログラムパルスP_FASTの最初に印加するプログラムパルスによって選択ページの中の一定数以上(例えば、過半数以上)のデータが合格した場合には(最終的に全てのデータがベリファイ合格したとき)、フラグをセットするようにしてもよい。また、上記の例では、プログラムパルスP_FASTの初期電圧を下げるようにしたが、プログラムパルスP_FASTの中の複数のプログラムパルスの電圧を下げるようにしてもよい。
上記実施例では、プログラムパルスが最大で6回印加する例を示したが、これは一例であり、これよりも多い数または少ない数のプログラムパルスの印加であってもよい。また、図3や図5に示すプログラムパルスの電圧やステップ電圧は単なる例示であることに留意すべきである。
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された発明の要旨の範囲内において、種々の変形・変更が可能である。
100:フラッシュメモリ 110:メモリセルアレイ
120:入出力バッファ 130:アドレスレジスタ
140:コントローラ 150:ワード線選択回路
160:ページバッファ/センス回路 170:列選択回路
180:内部電圧発生回路 190:カウンタ

Claims (14)

  1. NAND型メモリセルアレイと、
    前記メモリセルアレイの選択されたページをプログラムするため、ISPPによるプログラムパルスを印加するプログラム手段とを有し、
    前記プログラム手段により印加されるプログラムパルスは、少なくとも最初のプログラムパルスによってプログラムベリファイが不合格となるような犠牲的なプログラムパルスを含む、半導体記憶装置。
  2. 前記犠牲的なプログラムパルスは、複数のプログラムパルスを含む、請求項1に記載の半導体記憶装置。
  3. 前記犠牲的なプログラムパルスは、プログラム/消去のサイクルが一定数に到達したメモリセルが最初のプログラムパルスでプログラムベリファイ合格するときのプログラムパルスよりも低い電圧である、請求項1または2に記載の半導体記憶装置。
  4. 前記犠牲的なプログラムパルスが複数のプログラムパルスであるとき、前記犠牲的なプログラムパルス間の第1のステップ電圧は、他のプログラムパルス間の第2のステップ電圧よりも小さい、請求項1ないし3いずれか1つに記載の半導体記憶装置。
  5. 前記プログラム手段により印加される最後のプログラムパルスとその前のプログラムパルスとの間の第3のステップ電圧は、前記第1および第2のステップ電圧よりも大きい、請求項4に記載の半導体記憶装置。
  6. 前記プログラム手段は、プログラムの回数または消去の回数をカウントするカウント手段を含み、前記プログラム手段は、前記カウント手段によりカウントされた回数に基づき前記犠牲的なプログラムパルスの少なくとも初期電圧を変更する、請求項1に記載の半導体記憶装置。
  7. 前記プログラム手段は、前記犠牲的なプログラムパルスによって選択ページの一定数以上のメモリセルが合格したか否かを判定し、合格した場合には、次のプログラム動作時に印加する犠牲的なプログラムパルスの少なくとも初期電圧を下げる、請求項1に記載の半導体記憶装置。
  8. NAND型フラッシュメモリのプログラム方法であって、
    メモリセルアレイの選択されたページをプログラムするため、ISPPによるプログラムパルスを印加するステップを含み、
    印加されるプログラムパルスは、少なくとも最初のプログラムパルスによってプログラムベリファイが不合格となる犠牲的なプログラムパルスを含む、プログラム方法。
  9. 前記犠牲的なプログラムパルスは、複数のプログラムパルスである、請求項8に記載のプログラム方法。
  10. 前記犠牲的なプログラムパルスは、プログラム/消去のサイクルが一定数に到達したメモリセルが最初のプログラムパルスでプログラムベリファイ合格するときのプログラムパルスよりも低い電圧である、請求項8または9に記載のプログラム方法。
  11. 前記犠牲的なプログラムパルスが複数のプログラムパルスであるとき、前記犠牲的なプログラムパルス間の第1のステップ電圧は、他のプログラムパルス間の第2のステップ電圧よりも小さい、請求項8ないし10いずれか1つに記載のプログラム方法。
  12. 印加される最後のプログラムパルスとその前のプログラムパルスとの間の第3のステップ電圧は、前記第1および第2のステップ電圧よりも大きい、請求項11に記載のプログラム方法。
  13. プログラム方法はさらに、プログラムの回数または消去の回数をカウントするステップを含み、前記プログラムパルスを印加するステップは、前記カウントされた回数に基づき前記犠牲的なプログラムパルスの少なくとも初期電圧を変更する、請求項8に記載のプログラム方法。
  14. プログラム方法はさらに、前記犠牲的なプログラムパルスによって選択ページの一定数以上のメモリセルが合格したか否かを判定するステップを含み、合格したと判定された場合には、前記プログラムパルスを印加するステップは、次のプログラム動作時に印加する犠牲的なプログラムパルスの少なくとも初期電圧を下げる、請求項8に記載のプログラム方法。
JP2020145274A 2020-08-31 2020-08-31 フラッシュメモリおよびプログラミング方法 Pending JP2022040515A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2020145274A JP2022040515A (ja) 2020-08-31 2020-08-31 フラッシュメモリおよびプログラミング方法
TW110125093A TWI758206B (zh) 2020-08-31 2021-07-08 半導體儲存裝置以及編程方法
CN202110817738.7A CN114121093A (zh) 2020-08-31 2021-07-20 半导体存储装置以及编程方法
KR1020210109265A KR102646459B1 (ko) 2020-08-31 2021-08-19 반도체 기억 장치 및 프로그래밍 방법
US17/462,006 US11798628B2 (en) 2020-08-31 2021-08-31 Semiconductor memory apparatus adopting new ISPP method with sacrificial programming pulse and programming method thereof
JP2022118488A JP7309304B2 (ja) 2020-08-31 2022-07-26 フラッシュメモリおよびプログラミング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020145274A JP2022040515A (ja) 2020-08-31 2020-08-31 フラッシュメモリおよびプログラミング方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022118488A Division JP7309304B2 (ja) 2020-08-31 2022-07-26 フラッシュメモリおよびプログラミング方法

Publications (1)

Publication Number Publication Date
JP2022040515A true JP2022040515A (ja) 2022-03-11

Family

ID=80357764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020145274A Pending JP2022040515A (ja) 2020-08-31 2020-08-31 フラッシュメモリおよびプログラミング方法

Country Status (5)

Country Link
US (1) US11798628B2 (ja)
JP (1) JP2022040515A (ja)
KR (1) KR102646459B1 (ja)
CN (1) CN114121093A (ja)
TW (1) TWI758206B (ja)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11134879A (ja) * 1997-10-30 1999-05-21 Toshiba Corp 不揮発性半導体記憶装置
US20030235080A1 (en) * 2002-06-20 2003-12-25 Toshitake Yaegashi Nonvolatile semiconductor memory device
JP2004023044A (ja) * 2002-06-20 2004-01-22 Toshiba Corp 不揮発性半導体記憶装置
US20050248992A1 (en) * 2004-05-06 2005-11-10 Sang-Won Hwang Method and device for programming control information
JP2005322248A (ja) * 2004-05-06 2005-11-17 Samsung Electronics Co Ltd 半導体メモリ装置の制御情報をプログラムするための方法と装置
US20070253256A1 (en) * 2006-05-01 2007-11-01 Micron Technology, Inc. Memory voltage cycle adjustment
US20090285028A1 (en) * 2008-05-13 2009-11-19 Hynix Semiconductor Inc. Method of programming nonvolatile memory device
US20100124122A1 (en) * 2008-11-14 2010-05-20 Byoung Kwan Jeong Method of operating nonvolatile memory device
US20110161571A1 (en) * 2009-12-28 2011-06-30 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device
US20130159610A1 (en) * 2011-12-16 2013-06-20 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory device related method of operation
JP2013125574A (ja) * 2011-12-16 2013-06-24 Samsung Electronics Co Ltd 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5741110Y2 (ja) 1978-12-04 1982-09-09
JPH11110977A (ja) 1997-10-06 1999-04-23 Sony Corp 不揮発性半導体記憶装置
JP4071967B2 (ja) * 2002-01-17 2008-04-02 株式会社ルネサステクノロジ 不揮発性半導体記憶装置及びそのデータ消去方法
US20050235080A1 (en) * 2004-04-16 2005-10-20 Mohamad El-Batal Speed matching data storage system
US7339834B2 (en) * 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
KR100719368B1 (ko) 2005-06-27 2007-05-17 삼성전자주식회사 플래시 메모리 장치의 적응적 프로그램 방법 및 장치
KR100909961B1 (ko) * 2006-10-10 2009-07-29 삼성전자주식회사 프로그램 전압 발생 회로 및 방법, 그리고 이를 이용한불휘발성 메모리 장치
KR101263818B1 (ko) * 2007-06-19 2013-05-14 삼성전자주식회사 플래시 메모리 소자의 프로그램 방법
KR100891405B1 (ko) * 2007-09-27 2009-04-02 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
KR100933857B1 (ko) * 2007-11-09 2009-12-24 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
KR101068496B1 (ko) * 2008-11-14 2011-09-29 주식회사 하이닉스반도체 불휘발성 메모리 장치의 소거방법 및 프로그램 방법
KR101575851B1 (ko) 2009-03-13 2015-12-10 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법
KR20110001101A (ko) * 2009-06-29 2011-01-06 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그것의 동작 방법
KR101662309B1 (ko) * 2010-02-08 2016-10-04 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101205084B1 (ko) * 2010-07-09 2012-11-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법
KR101222063B1 (ko) * 2011-02-28 2013-01-15 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작방법
US8638607B2 (en) * 2011-10-06 2014-01-28 Micron Technology, Inc. Disturb verify for programming memory cells
US9082489B2 (en) 2012-01-13 2015-07-14 Stec, Inc. Programming algorithm for improved flash memory endurance and retention
JP5583185B2 (ja) * 2012-10-12 2014-09-03 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体メモリ
KR102007007B1 (ko) * 2012-12-10 2019-08-02 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR102137075B1 (ko) 2013-09-10 2020-07-23 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법
US9792999B2 (en) * 2015-10-30 2017-10-17 SK Hynix Inc. Adaptive scheme for incremental step pulse programming of flash memory
JP6238378B2 (ja) * 2016-02-09 2017-11-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
JP6249504B1 (ja) * 2016-08-24 2017-12-20 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US10366769B2 (en) * 2017-01-26 2019-07-30 Samsung Electronics Co., Ltd. Nonvolatile memory device and programming method for fast and slow cells thereof
TWI663600B (zh) 2017-09-08 2019-06-21 旺宏電子股份有限公司 編程非揮發性記憶體的方法及記憶體系統
JP6588116B2 (ja) * 2018-02-26 2019-10-09 ウィンボンド エレクトロニクス コーポレーション レベルシフタ

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11134879A (ja) * 1997-10-30 1999-05-21 Toshiba Corp 不揮発性半導体記憶装置
US20030235080A1 (en) * 2002-06-20 2003-12-25 Toshitake Yaegashi Nonvolatile semiconductor memory device
JP2004023044A (ja) * 2002-06-20 2004-01-22 Toshiba Corp 不揮発性半導体記憶装置
US20050248992A1 (en) * 2004-05-06 2005-11-10 Sang-Won Hwang Method and device for programming control information
JP2005322248A (ja) * 2004-05-06 2005-11-17 Samsung Electronics Co Ltd 半導体メモリ装置の制御情報をプログラムするための方法と装置
US20070253256A1 (en) * 2006-05-01 2007-11-01 Micron Technology, Inc. Memory voltage cycle adjustment
US20090285028A1 (en) * 2008-05-13 2009-11-19 Hynix Semiconductor Inc. Method of programming nonvolatile memory device
JP2009283117A (ja) * 2008-05-23 2009-12-03 Hynix Semiconductor Inc 不揮発性メモリ装置のプログラム方法
US20100124122A1 (en) * 2008-11-14 2010-05-20 Byoung Kwan Jeong Method of operating nonvolatile memory device
US20110161571A1 (en) * 2009-12-28 2011-06-30 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device
US20130159610A1 (en) * 2011-12-16 2013-06-20 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory device related method of operation
JP2013125574A (ja) * 2011-12-16 2013-06-24 Samsung Electronics Co Ltd 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法

Also Published As

Publication number Publication date
CN114121093A (zh) 2022-03-01
TWI758206B (zh) 2022-03-11
TW202211247A (zh) 2022-03-16
KR20220029399A (ko) 2022-03-08
US20220068393A1 (en) 2022-03-03
US11798628B2 (en) 2023-10-24
KR102646459B1 (ko) 2024-03-12

Similar Documents

Publication Publication Date Title
US8339864B2 (en) Method of programming nonvolatile memory device
JP5583185B2 (ja) 不揮発性半導体メモリ
US7808829B2 (en) Flash memory device capable of overcoming fast program/slow erase phenomenon and erase method thereof
KR100967004B1 (ko) 플래시 메모리 장치의 동작 제어 방법
JP2008117471A (ja) 不揮発性半導体記憶装置及び不揮発性メモリシステム
US8000154B2 (en) Non-volatile memory device and method of controlling a bulk voltage thereof
US20220328105A1 (en) Semiconductor device and erasing method
JP7309304B2 (ja) フラッシュメモリおよびプログラミング方法
TWI740780B (zh) 半導體儲存裝置以及讀出方法
JP2022040515A (ja) フラッシュメモリおよびプログラミング方法
US8854887B2 (en) Nonvolatile memory device and method of programming the same
TWI829321B (zh) 半導體裝置及反及型快閃記憶體的抹除方法
US20100226171A1 (en) Method of programming nonvolatile memory device
KR100192567B1 (ko) 불휘발성반도체메모리장치의프로그램전압발생장치및소거전압발생장치
KR20100138543A (ko) 불휘발성 메모리 소자의 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220511