JP2010535395A - 動的に調整可能なソフトプログラム検証電圧レベルを有する不揮発性メモリおよびそのための方法 - Google Patents

動的に調整可能なソフトプログラム検証電圧レベルを有する不揮発性メモリおよびそのための方法 Download PDF

Info

Publication number
JP2010535395A
JP2010535395A JP2010520016A JP2010520016A JP2010535395A JP 2010535395 A JP2010535395 A JP 2010535395A JP 2010520016 A JP2010520016 A JP 2010520016A JP 2010520016 A JP2010520016 A JP 2010520016A JP 2010535395 A JP2010535395 A JP 2010535395A
Authority
JP
Japan
Prior art keywords
voltage level
block
soft
soft program
program
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
JP2010520016A
Other languages
English (en)
Other versions
JP2010535395A5 (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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of JP2010535395A publication Critical patent/JP2010535395A/ja
Publication of JP2010535395A5 publication Critical patent/JP2010535395A5/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3409Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step

Abstract

不揮発性メモリ(10)の消去動作は、消去動作の実行対象となるブロック(14、16、または18)を選択することと、選択されたブロックを消去することと、選択されたブロックに対応する試験データを受け取ることと、試験データに基づいてソフトプログラム検証電圧レベルを決定することと、ソフトプログラム検証電圧レベルを用いて消去済みの選択されたブロックをソフトプログラミングすることとを含む。不揮発性メモリ(10)は、複数のブロックと、複数のブロックの各々に対応する試験データを記憶する試験ブロック(20)と、複数のブロックと試験ブロックとに結合され、複数のブロックのうちの特定ブロックがソフトプログラミングされているとき、特定ブロックの試験データに基づいて特定ブロックに対するソフトプログラム検証電圧レベルを決定するフラッシュ制御部(30)とを含む。
【選択図】図1

Description

本開示は、概してメモリに関し、具体的には、動的に調整可能なソフトプログラム検証電圧レベルを有する不揮発性メモリに関する。
フラッシュメモリセルは、フローティングゲートに電荷を蓄える一種の不揮発性メモリ(NVM)セルである。フローティングゲート表面の電荷の量はセルの閾値電圧(Vt)、すなわちセルにより記憶される論理状態を決定する。セルがプログラムまたは消去されるたびに、電子がフローティングゲートにあるいはフローティングゲートから移動する。フローティングゲートは、電荷が永久に蓄えられるように電気的に隔絶されている。
しかし、形状の縮小につれ、プログラムおよび消去のサイクリングの増加に伴ってフラッシュビットセルのgm(gm=ΔIds/ΔVgs)の低下がより顕著になり、部品の耐用期間を通じて列リークをより適切に管理する必要性が生じる。このgm低下に対処するために、消去されたセルのVt分布の制限を厳しくすべくソフトプログラムが導入されている。しかし、このソフトプログラミングは、フラッシュメモリの消去時間を増加させてシステム性能の低下をもたらす。
本発明の実施形態に従うフラッシュメモリを示すブロック図。 本発明の実施形態に従う図1のフラッシュメモリの試験ブロックの一部を示すブロック図。 本発明の実施形態に従う図1のフラッシュメモリの試験ブロックの一部を示すブロック図。 本発明の実施形態に従う図1のフラッシュメモリの消去動作を実行する方法を示すフローチャート。 本発明の実施形態に従う図1のフラッシュメモリの動作中の様々なVt分布を示すグラフ。
以下、本発明の一例を説明するが、添付図は本発明を限定するものではない。添付図では同様の参照符号は類似の要素を示している。図の要素は、簡単かつ明確にするために示されているものであって、必ずしも一定の縮尺で描かれていない。
前述の通り、フラッシュメモリの形状が縮小するにつれて、プログラムおよび消去のサイクリングの増加に伴ってgmの低下がより顕著になり、消去時間の増加をもたらす。さらに、このgmの低下は、典型的に少ないサイクル数を必要とするコード記憶に用いられるフラッシュメモリに比べて、典型的に多いサイクル数を必要とするデータ記憶アプリケーションに用いられるフラッシュメモリにとってより厄介な問題である。たとえば、データ記憶アプリケーションでは、フラッシュメモリの耐用期間中に100,000回ものサイクルの実行が必要とされる場合があるのに対し、コード記憶では、フラッシュメモリの耐用期間を通じて1000サイクルしか必要とされない場合がある。したがって、より少ないサイクル数しか必要としない場合のフラッシュメモリに比べてより多いサイクル数を必要とする場合のフラッシュメモリのビットセルの場合は、ソフトプログラミング中により制限の厳しいVt分布を実現する必要がある。本発明の一実施形態では、実行されるサイクル数に応じて、動的に調整可能なソフトプログラム検証電圧レベルを導入する。すなわち、調整可能なソフトプログラム検証電圧レベルを用いることによって、消去セルのVt分布に厳しい制限が必要でなくなるため、少ないサイクル数しか必要としないフラッシュメモリブロックの消去時間を、より低いソフトプログラム検証電圧レベルを用いることによって改善することができる。一方、多いサイクル数を必要とするフラッシュメモリブロックでは、より多いサイクル数に起因する過大な列リークを十分に除去するために、消去セルのより厳しいVt分布を保証するより高いソフトプログラム検証電圧レベルを用いることができる。
本明細書で用いられる用語「バス」は、データ、アドレス、制御、またはステータスなど、1つまたは複数の様々な情報を転送するために用い得る複数の信号または導体を指して使用されている。本明細書で説明する導体は、単一導体、複数の導体、一方向性導体、または双方向性導体であることに関して図示または説明されうる。ただし、実施形態によって、導体の実装が変わる場合がある。たとえば、双方向性導体よりもむしろ独立した一方向性導体が用いられる場合もあり、逆も同様である。また、複数の導体が多数の信号を直列に、あるいは時分割して転送する単一導体で置き換えられてもよい。同様に、多数の信号を伝達する単一導体は、これらの信号の一部を伝達する数多くの導体に分割されてもよい。したがって、信号の転送に関しては多くの選択肢が存在する。
図1は、本発明の実施形態に従うフラッシュメモリ10をブロック図形式で示す。図1では、明確かつ簡単にするために、本発明の実施形態の説明に役立つ回路のみが示されている。フラッシュメモリ10は、フラッシュメモリセルのアレイ12、フラッシュ制御部30、レジスタ42および44、レジスタデコードロジック50、メモリデコードおよびセンスロジックおよび書込みバッファ52、チャージポンプ54、および基準電圧発生器36を含む。フラッシュメモリセルのアレイ12は、メモリブロック14、16、18、および試験ブロック20を含む。フラッシュ制御部30は、互いに結合されたソフトプログラム検証電圧計算器32と閾値記憶回路31とを含む。基準電圧発生器36は、ソフトプログラム基準電圧38を含む。
ブロック14、16、18、20の各々は、複数のフラッシュメモリセルを含む。フラッシュメモリセルは、ワードラインおよびビットラインを有するマトリクス状に配置される。メモリセルは、ワードラインとビットラインの交点に接続されており、ワードラインに接続された制御ゲートと、ビットラインに接続されたドレイン端子と、ブロック内にあるすべての他のメモリセルソース端子に接続されたソース端子とを含む。メモリセルは電荷蓄積領域を有する。電荷蓄積領域は、電気的に隔絶されており、一部の実施形態においてフローティングゲートとして知られる。電荷蓄積領域は、ポリシリコンから作られてもよく、たとえば、ナノ結晶または窒化物など、他の電荷蓄積材料を含んでもよい。図示された実施形態において、メモリ10は、たとえば、マイクロプロセッサコアなど、他の回路部品とともに集積回路に組み込まれる。他の実施形態において、メモリ10は、「スタンドアロン」メモリ集積回路として実装されてもよい。
メモリ10は、「アドレス」と表示された複数のアドレス信号を受け取る複数の入力端子を有する。これらのアドレス信号は、たとえば、行アドレス信号、列アドレス信号、およびブロック選択信号を含む。メモリデコードおよびセンスロジックおよび書込みバッファ52は、メモリ10の読取り動作中およびプログラム動作中に行アドレス信号および列アドレス信号を受け取る複数の入力端子を有する。メモリデコードおよびセンスロジックおよび書込みバッファ52はまた、消去動作中に行アドレス信号および列アドレス信号を受け取るフラッシュ制御部30に結合される。一般に、メモリデコードおよびセンスロジックおよび書込みバッファ52は、センスアンプや、行デコーダおよび列デコーダや、フラッシュアレイのブロック12に書き込まれるデータを保持する書込みバッファなどの入出力回路を含む。「データ」と表示されたデータ信号は、メモリデコードおよびセンスロジックおよび書込みバッファ52、フラッシュ制御部30、ならびにレジスタデコードロジック50の各々から、あるいはこれら各々に送られる。プロセッサ(図示せず)が、データ信号「データ」を提供しかつ/または受け取るように結合される、あるいはアドレス信号「アドレス」を提供するように結合される。プロセッサは、メモリ10と同じ集積回路に実装されてもよく、あるいは独立した集積回路に実装されてもよい。
メモリブロック14、16、および18は、行アドレス情報および列アドレス情報を受け取ることに応答してデータを送出および受取るメモリデコードおよびセンスロジックおよび書込みバッファ52と双方向結合されている。図示された実施形態において、フラッシュメモリ10の読取り動作およびプログラム動作は、従来型のものであり、詳しく説明しない。なお、簡単かつ明確にするために、メモリ10の読取りおよびプログラミングに必要な回路のすべてが図1に示されているわけではないことに留意されたい。読取り動作またはプログラム動作のための通常のアクセス中に、メモリブロック14、16、および18は、ブロック14、16、および18のうちの1つまたは複数のブロック内のメモリセルを選択するためのアドレス情報を受け取る。データは、読取り動作中には選択されたメモリセルによって提供され、書込み動作中には選択されたメモリセルによって受け取られる。
一実施形態において、動作対象となるフラッシュアレイ12の記憶場所はアレイアドレスによって選択され、ここでは、ブロック選択レジスタ44がアドレス信号「アドレス」に基づいて現在のブロックをフラッシュ制御部30に示す。レジスタデコードロジック50は、アドレス信号「アドレス」およびデータ信号「データ」を受け取り、ブロック選択レジスタ44およびモード制御レジスタ42に記憶される適切な情報を提供する。モード制御レジスタ42は、フラッシュメモリ10の現在のモードを基準電圧発生器36およびフラッシュ制御部30に示し、ここで、現在のモードは、たとえば、プログラム、消去、ソフトプログラムなどを示す。
消去動作はフラッシュ制御部30内の回路によって制御される。フラッシュ制御部30は、ブロック14、16、および18、ならびに試験ブロック20にアレイアドレスを提供する出力と、チャージポンプ制御信号をチャージポンプ54に提供する出力と、ソフトプログラム検証電圧制御信号を提供する出力とを有する。図1の実施形態において、フラッシュ制御部30は、ソフトプログラム検証電圧制御信号を出力するソフトプログラム検証電圧計算器32を含む。また、フラッシュ制御部30は、ソフトプログラム検証電圧制御信号を提供するためにソフトプログラム検証電圧計算器32で用いられる1つまたは複数の所定の閾値を記憶する閾値記憶回路31を含む。プログラム動作、消去動作、またはプログラムおよび消去動作の両方の電圧(パルス電圧および検証電圧を含む)を発生するために、チャージポンプ54が用いられる。ポンプ制御信号は、いずれのチャージポンプ54がイネーブルされているかを示すもので、ここでは、フラッシュ制御部30が、たとえば、モード制御レジスタ42によって示されるモードに基づいてポンプ制御信号を提供してもよい。また、チャージポンプ54が発生する電圧は、基準電圧発生器36によって提供される基準電圧に基づいて発生される。基準電圧発生器36は、複数のソフトプログラム基準電圧38を含んでおり、ソフトプログラム中に、これらのソフトプログラム基準電圧38のうちの1つがソフトプログラム検証電圧制御信号によって選択されてチャージポンプ54への基準電圧として提供されるようになっている。同様に、モード制御レジスタ42によって示される他の動作中に、基準電圧発生器36は、チャージポンプ54への提供に適した基準電圧を発生する。
試験ブロック20は、ユーザがアクセス不能であることを除いて、メモリブロック14、16、および18と基本的に同様に機能する。試験データは試験ブロック20からフラッシュ制御部30に提供され、更新データはフラッシュ制御部30から試験ブロック20に提供される。試験ブロック20は、試験情報、ロット番号、識別番号、冗長性マッピング、トリムオプション、およびメモリ10のメーカーにとって有用なその他の情報を記憶するために用いられてもよい。さらに、ブロック20は他の情報を記憶する場所を含んでいてもよく、その例が図2および3に示されている。
図2は、一実施形態に従う試験ブロック20の一部を示すもので、ここでは、試験ブロック20はフラッシュアレイ12の各ブロックの試験情報を記憶するいくつかの記憶場所60〜62を含む。したがって、図1に示すように、N+1個のブロックがある場合、図2に示す試験ブロック20の一部はN+1の場所を含んでいてもよい。図2の各場所は、ブロックサイズ、プログラム/消去(P/E)カウント、およびフラッシュアレイ12の対応するブロックに対する基準乗数を示す。たとえば、場所60に記憶されるブロックサイズ、P/Eサイクルカウント、および基準乗数はすべてフラッシュアレイ12のブロック14に対応していてもよく、場所61に記憶されるブロックサイズ、P/Eサイクルカウント、および基準乗数はすべてフラッシュアレイ12のブロック16に対応していてもよい。
図3は、別の実施形態に従う試験ブロック20の一部を示しているものであり、ここで、試験ブロック20はフラッシュアレイ12の各ブロックの試験情報を記憶するいくつもの記憶場所66〜68を含む。したがって、図1に示すようにN+1個のブロックがある場合、図3に示される試験ブロック20の一部はN+1の場所を含んでいてもよい。図2の各場所は、フラッシュアレイ12の対応するブロックに関するブロックP/Eサイクル仕様を示す。従って、一実施形態において、ブロックP/Eサイクル仕様は、いくつもの予想サイクル、または予想サイクルのレベルを示していてもよい。たとえば、一実施形態において、P/Eサイクル仕様は、多いP/Eサイクル数が予想される(データを記憶するブロックの場合など)、あるいは少ないP/Eサイクル数が予想される(コードを記憶する場合など)などを示し得る。
図4は、フラッシュメモリ10で実行される消去動作の例を示す。処理70はブロック72で始まり、ここでは、消去動作の実行対象となるブロックがアレイ12から選択される。この選択されたブロックの識別は、たとえば図1のブロック選択レジスタ44に記憶されうる。この後、処理はブロック74に進み、ここで、選択されたブロックは、所定のプログラム検証電圧レベルに満たない(fail)各セルをプログラミングすることによってプログラムされる。たとえば、選択されたブロックの各セルは、適切なアレイアドレスを発生することによってフラッシュ制御部30によってアクセスされる。プログラム検証電圧レベルに満たない各セルは、比較的短い持続時間のプログラムパルスを用いて段階的に徐々にプログラムされうる。これらのプログラムパルスの電圧は、チャージポンプ54によってパルス電圧として提供されてもよい。一実施形態において、モード制御レジスタ42は、アドレス信号「アドレス」およびデータ信号「データ」としてプログラムされ、プログラムが実行されていることを示す。このように、基準電圧発生器36は、モード制御レジスタ42内のこの情報を用いて、プログラムパルス電圧が発生さるようにチャージポンプ54に基準電圧の適切な値を提供する。各プログラムパルスの印加後、Vtが十分に増加しているかどうかを確認するために検証ステップを利用してチェックしてもよい。検証ステップのプログラム検証電圧は、アレイ12への検証電圧としてチャージポンプ54によって提供されてもよく、ここで、パルス電圧に関しては、検証ステップで適切なプログラム検証電圧が提供されるように基準電圧発生器36がチャージポンプ54に適切な基準電圧を提供する。プログラムステップおよび検証ステップは、選択されたブロック内のセルのすべてがプログラム検証電圧レベルを満たす(pass)まで(すなわち、いずれのセルも検証ステップに対して消去応答を示さなくなるまで)繰り返される。
図5は、プログラミング後(分布90)、消去後(分布92)、およびソフトプログラミング後(分布94)のブロック内のフラッシュセルのVt分布を示す。したがって、分布90を参照すると、選択されたブロック内のセルの各々は、選択されたブロック内のセルのすべてがプログラム検証電圧レベルを満たすまで(たとえば、プログラム検証電圧レベルよりも高くなるまで)プログラムされる。分布90におけるセルのいずれもプログラム検証レベルの左側に位置する場合、これらはプログラムされているものとしてではなくプログラムされていないものとして読み取られる場合がある。図示された実施形態において、プログラムされたセルが記憶された論理レベル0を表しており、消去されたセルが記憶された論理レベル1を表している。ただし、代替的に、プログラムされたセルが記憶された論理レベル1を表していてもよく、消去されたセルが記憶された論理レベル0を表していてもよい。
再び図4を参照すると、各セルをプログラミングすることによって選択されたブロックをプログラミングした後、処理はブロック76に進み、ここで、すべてのセルが所定の消去確認電圧レベルを満たすまで消去パルスを印加することによって、選択されたブロックが消去される。消去検証電圧レベルに満たない各セルは比較的短い持続時間の消去パルスを用いて段階的に徐々に消去されうる。これらの消去パルスの電圧は、チャージポンプ54によってパルス電圧として提供されてもよい。一実施形態において、モード制御レジスタ42は、アドレス信号「アドレス」およびデータ信号「データ」としてプログラムされ、消去が実行されていることを示す。このようにして、基準電圧発生器36は、モード制御レジスタ42内のこの情報を用いて、消去パルス電圧が発生さるようにチャージポンプ54に基準電圧の適切な値を提供する。各消去パルスの印加後、Vtが十分に減少しているかどうかを確認するために、検証ステップを利用してチェックしてもよい。検証ステップの消去検証電圧は、アレイ12への検証電圧としてチャージポンプ54によって提供されてもよく、ここで、パルス電圧に関しては、検証ステップで適切な消去検証電圧が提供されるように基準電圧発生器36がチャージポンプ54に適切な基準電圧を提供する。消去ステップおよび検証ステップは、いずれのセルも検証ステップに対して非消去応答を示さなくなるまで繰り返される。
したがって、図5の分布92を参照すると、選択されたブロック内のセルの各々は、選択されたブロック内のセルのすべてが消去検証電圧レベルを満たすまで(たとえば、消去検証電圧レベルよりも低くなるまで)消去される。分布92におけるセルのいずれも消去検証電圧レベルの右側に位置する場合、これらは消去されているものとしてではなく消去されていないものとして読み取られる場合がある。したがって、この時点では、セルのすべてが消去されている。しかし、過大な列リークを除去するために、消去されたVt分布はソフトプログラムを実行することによって圧縮される。セルのソフトプログラムは、必要に応じて、セルのプログラムよりも低いゲート電圧でプログラムされる。一例において、セルは、一方の電流電極を0Vに、他方の電流電極を5Vに、制御電極を9Vに設定することによってプログラムされ、ここで、セルは、一方の電流電極を0Vに、他方の電流電極を5Vに、制御電極を3Vに設定することによってソフトプログラムされる。このように、図5の分布94など、得られる分布は分布92よりも圧縮されており(かつ、Vt=0Vから遠く離れている)、ここで、選択されたブロックをソフトプログラミングした後、ブロック内のすべてのセルは、ソフトプログラム検証電圧レベルよりも大きいが消去検証電圧レベルよりも依然として小さいVtを有する。(ソフトプログラミングは、ブロック78、80、82、および84を参照して以下でさらに詳しく説明する。)したがって、図示された実施形態において、消去検証電圧はプログラム検証電圧よりも小さく、ソフトプログラム検証電圧は消去検証電圧よりも小さく、ここで、通常の読取り検証電圧は消去検証電圧とプログラム検証電圧の間に位置する。
特定のブロックに対して実現する必要のあるVt分布の制限の厳しさは、たとえば、この特定ブロックの耐用期間を通じて実行されるプログラム/消去(P/E)サイクル数、ブロックサイズなどの要因に依存する。たとえば、数多くのサイクルが実行される可能性がある場合、より制限の厳しいVt分布が必要とされることがあり、この場合、この制限のより厳しいVt分布を実現するためにより高いソフトプログラム検証電圧レベルが用いられうる。しかし、数少ないサイクル数が実行される可能性がある場合、制限のより緩やかなVt分布が受け入れられる場合がある。この場合、より低いソフトプログラム検証レベルで十分な場合がある。より低いソフトプログラム検証レベルが用いられる場合があるこれらのブロックでは、ソフトプログラムを実行するのに必要なパルスはより少なくて済む。このように、可能であれば、低いソフトプログラム検証電圧レベルを用いることによって、総合的な消去性能を向上することができる。
したがって、図4のフローチャートを再び参照すると、ブロック76で選択されたブロックを消去した後、処理はブロック78に進み、ここで、試験データは、選択されたブロックに対応する所定の試験ブロック位置から取り込まれる。この試験データは、フラッシュ制御部30によって、たとえば、試験ブロック20から試験信号「試験データ」で受け取られうる。代替的には、この試験データは、フラッシュ制御部30によって、メモリデコードおよびセンスロジックおよび書込みバッファ52ならびにデータ信号「データ」で受け取られうる。試験データは、たとえば、ブロックサイズ、P/Eサイクルカウント、基準乗数、ブロックP/Eサイクル仕様などの1つまたは複数を含んでいてもよい。図2の例において、試験ブロック20は、アレイ12の各試験ブロックに対応する1つの記憶場所(場所60〜61の各々など)を含む。図2の例において、各記憶場所は、アレイ12の対応するブロックのブロックサイズ、P/Eサイクルカウント、および基準乗数を記憶する。図3の例において、各記憶場所は、アレイ12の対応するブロックのブロックP/Eサイクル仕様を記憶する。別の実施形態は、図2および3の例より多いまたは少ない情報や異なる情報を含んでいてもよい。
ブロック78の後、処理はブロック80に進み、ここで、選択されたブロックに対応する試験データが用いられて、ブロック82で選択されたブロックに対して実行されるソフトプログラミングのソフトプログラム検証電圧レベルが決定される。一実施形態において、ソフトプログラム検証電圧レベルは、センスアンプ(たとえば、図1のメモリデコードおよびセンスロジックおよび書込みバッファ52に位置する)が消去されたビットとプログラムされたビットを正確に識別するように、すべての列のリーク電流(すなわち、Vgs=0Vにおける電流)が一定値以下であるように設定される。したがって、一実施形態において、ソフトプログラム検証電圧計算器32は、試験データを用いてソフトプログラム検証電圧制御信号としてソフトプログラム基準電圧38の1つを選択する。この後、選択されたソフトプログラム基準電圧は、チャージポンプ54がアレイ12の選択されたブロックに対応する適切なソフトプログラム検証電圧を提供しうるようにチャージポンプ54に基準電圧として提供される。したがって、一実施形態において、ソフトプログラム基準電圧38は、2種類以上の対応するソフトプログラム検証電圧を発生するために用いることができる2種類以上の異なるソフトプログラム基準電圧を記憶する。このように、たとえば、適切なソフトプログラム基準電圧を選択することによって、ソフトプログラム検証電圧計算器32は、用いられるソフトプログラム検証電圧レベルを決定する。あるいは、ソフトプログラム検証電圧計算器32または基準電圧発生器36は、所望のソフトプログラム検証電圧レベルに対応するソフトプログラム基準電圧レベルを直接的に計算するか、または別の方法で決定することができる。さらに他の実施形態において、ソフトプログラム検証電圧計算器32は、他の方法を用いて、試験データに基づいてソフトプログラム検証電圧レベルを選択または決定してもよい。したがって、消去動作が実行される各選択されたブロックには、たとえば、ソフトプログラム検証電圧計算器32によって決定されるようなカスタマイズされたソフトプログラム検証電圧レベルを用いることができる。たとえば、Vt分布のような制限の厳しさを必要としないアレイ12内のブロックには、より低いソフトプログラム検証電圧レベルを用いることができる。
図2の実施形態では、ソフトプログラム検証電圧計算器32は、ソフトプログラム検証電圧レベルを決定するために選択されたブロックに対してP/Eサイクルカウントを用い、ここで、P/Eサイクルカウントは選択されたブロックで既に実行済みのP/Eサイクル数を示す。たとえば、特定のP/Eサイクル数が既に実行されている場合(すなわち、P/Eサイクルカウントが閾値記憶回路31に記憶されている可能性のある第1の所定の閾値を超える場合)、より高いソフトプログラム検証電圧レベルが用いられてもよい。しかし、P/Eサイクルカウントが依然として第1の所定の閾値に達していない場合、より低いソフトプログラム検証電圧レベルが依然として用いられうる。このように、ソフトプログラム検証電圧計算器32は、動作中にソフトプログラム検証電圧レベルを動的に調整することができる。すなわち、P/Eサイクルカウント(または、P/Eサイクルカウントの関数)が第1の閾値に達しているかどうかに基づいて異なるソフトプログラム基準電圧を選択することによって、異なるソフトプログラム検証電圧がチャージポンプ54によって発生されうる。
さらに、全列リークはブロックの列に沿ったあらゆるビットからのすべての電流の和であるため、ブロックサイズも全列リークに影響を与える。ビット数はブロックサイズとともに増加するので、列リークもブロックサイズとともに増加する。したがって、一実施形態において、ソフトプログラム検証電圧レベルを決定する際にP/Eサイクルカウントに加えてブロックサイズが考慮される。たとえば、より小さいブロックは、より多くのP/Eサイクル数を処理することができる一方で、さらに、より大きいブロックに比べて十分に制限の厳しいVt分布を維持する。一実施形態において、受け取られるP/Eサイクルカウントおよびブロックサイズの関数は、ソフトプログラム検証電圧レベルを決定するために、記憶された所定の閾値に対して比較される。代替的な実施形態において、受け取られたP/Eサイクルカウント、ブロックサイズ、および基準乗数の関数は、ソフトプログラム検証電圧レベルを決定するために、所定の閾値に対して比較するために用いられてもよい。基準乗数は、フラッシュメモリ10の設計に基づいて特徴付けられ、各ブロックに対して同じであってもよく、ブロックサイズによって異なる値を有していてもよい。たとえば、一実施形態において、ソフトプログラム検証電圧計算器32は、「P/Eサイクルカウント*ブロックサイズ*基準乗数」に等しいソフトプログラム検証値を計算することができ、ここで、ソフトプログラム検証電圧レベルを決定する(さらに、それに応じて、ソフトプログラム検証電圧制御信号を提供する)ためにこのソフトプログラム検証値は1つまたは複数の異なる閾値と比較される。たとえば、1つの所定の閾値が用いられる場合、ソフトプログラム検証値が1つの所定の閾値よりも大きいとき第1のソフトプログラム検証電圧レベルが決定されてもよく、ソフトプログラム検証値が1つの所定の閾値よりも小さいか、これに等しいとき第2のソフトプログラム電圧検証レベルが決定されてもよい。
図3の実施形態では、ソフトプログラム検証電圧計算器32は、ソフトプログラム電圧検証レベルを決定するために選択されたブロックのブロックP/Eサイクル仕様を用いる。たとえば、P/Eサイクル仕様は、対応するブロックがその耐用期間にわたって実行される数多くのP/Eサイクル数を有することが予想されるか、あるいは少ないP/Eサイクル数を有することが予想されるかを示してもよく、ここで、前者の場合、ソフトプログラム検証電圧計算器32は後者の場合よりも高いソフトプログラム検証電圧が用いられるべきであると判定する。あるいは、ブロックP/Eサイクル仕様は、実行されることが予想されるサイクル数の任意数の異なるレベルの1つを示してもよく、各レベル(たとえば、少ない、中程度の、数多いP/Eサイクル数が耐用期間にわたって実行されることが予想される)は異なるソフトプログラム検証電圧レベルに対応する。したがって、この実施形態において、ソフトプログラム検証電圧計算器32は、1つまたは複数の所定の閾値を比較してソフトプログラム検証電圧レベルを決定するために、選択されたブロックの受け取られたP/Eサイクル仕様に基づいてソフトプログラム検証値を計算してもよい。
したがって、ソフトプログラム検証電圧計算器32は、1つまたは複数の所定の閾値(たとえば、閾値記憶回路31に記憶された)を用いてもよく、この場合、受け取られた試験データに基づいて、ソフトプログラム検証値は決定されて1つまたは複数の閾値と比較されうる。したがって、これらの1つまたは複数の閾値の各々は、ソフトプログラム検証電圧として提供されうる1つまたは複数の異なるソフトプログラム検証電圧レベルに対応していてもよい。ソフトプログラム検証値は、任意の種類の試験データに基づくことができ、1つまたは複数のパラメータの関数でありえる。たとえば、ソフトプログラム検証値は、選択されたブロックに対するP/Eサイクルカウントそのものに等しくなりえるものであり、P/Eサイクルカウント、ブロックサイズ、および基準乗数の関数など、2つ以上のパラメータの関数となりえる。別の例として、ソフトプログラム検証値は、特定のブロックのP/Eサイクル仕様に基づくことができる。
図4のフローチャートを再び参照すると、処理はブロック80から82に進み、ここで、選択されたブロックは、決定されたソフトプログラム検証電圧(ブロック80で事前に決定された)に満たない各セルをソフトプログラミングすることによってソフトプログラムされる。たとえば、選択されたブロックの各セルは、フラッシュ制御部30によって適切なアレイアドレスを発生することによってアクセスされうる。一実施形態において、ソフトプログラム検証電圧に満たない各セルは、比較的短い持続時間のソフトプログラムパルスを用いて段階的に徐々にソフトプログラムされうる。これらのプログラムパルスの電圧は、チャージポンプ54によってパルス電圧として提供されてもよい。一実施形態において、モード制御レジスタ42は、アドレス信号「アドレス」およびデータ信号「データ」としてプログラムされ、プログラムが実行されていることを示す。このように、基準電圧発生器36は、モード制御レジスタ42内のこの情報を用いて、ソフトプログラムパルス電圧が発生されるように基準電圧の適切な値をチャージポンプ54に提供することができる。各ソフトプログラムパルスを印加した後、Vtが十分に増加しているかどうかを判定すべくVtをチェックするために検証ステップが用いられる。検証ステップのソフトプログラム検証電圧は、選択されたブロックに対して受け取られた「試験データ」に基づいて、選択されたブロックに対してソフトプログラム検証電圧計算器32によって決定されるソフトプログラム検証電圧レベルに対応する。ソフトプログラムおよび検証ステップは、選択されたブロック内のセルのすべてがソフトプログラム検証電圧レベルを満たすまで繰り返される。
この後、処理はブロック84に進み、ここで、選択されたブロックに対応する試験データが更新される。たとえば、図2の実施形態では、選択されたブロックに対応するP/Eサイクルカウントが更新される。すなわち、P/Eサイクルカウントは、インクリメントされて、選択されたブロックに対して別のP/Eサイクルが実行されたばかりであることを表す。この後、試験ブロック20内の所定の試験ブロック位置は、この更新されたP/Eサイクルカウントを用いてプログラムされる。一実施形態において、このP/Eサイクルカウントは、フラッシュ制御部30によって更新され、フラッシュ制御部30によって更新信号「更新データ」で試験ブロック20に提供される。あるいは、更新されたP/Eサイクルカウントは、フラッシュ制御部30によって、試験ブロック20にプログラムされるデータ信号「データ」でメモリデコードおよびセンスロジックおよび書込みバッファ52の書込みバッファに提供されうる。図3の実施形態の場合など、別の実施形態において、対応する試験データの更新は不要であり、したがって、ブロック84は処理70に存在しない場合がある。
この後、処理は判定ひし形86に進み、ここで、アレイ12にさらに選択すべきブロックがあるかどうかが判定される。選択すべきブロックがない場合は、処理70は終了する。選択すべきブロックがあれば、消去動作の実行対象となる次のブロックが選択されて処理がブロック74に戻る。なお、この次のブロックでは、この次のブロックに対応する試験ブロック20に記憶された試験データに基づいて、ブロック82のソフトプログラムに対して異なるソフトプログラム電圧検証レベルが用いられてもよい。
なお、プログラミングおよび消去用の検証電圧およびパルス電圧として用いられる実際の値は、当技術分野で周知のように、特定のフラッシュメモリの設計に基づいて選択される。ソフトプログラム検証電圧計算器32によって用いられる記憶された閾値の値は、ソフトプログラム検証値を決定するために用いられている型関数(type functions)および試験データの種類に依存する可能性があり、したがって、実施形態によって変化する可能性があり、対応するソフトプログラム検証電圧レベルに対して用いられる電圧値は特定のフラッシュメモリの設計に基づいて選択されうる。
したがって、現在では、アレイ12の各ブロックに対して記憶された試験データが選択されたブロックのソフトプログラミング中に用いられるソフトプログラム検証電圧レベルを動的に調整するためにどのように用いられうるかを理解することができる。すなわち、ソフトプログラム検証電圧レベルは、様々な理由から様々な要因に基づいて調整されうる。たとえば、異なるソフトプログラム検証電圧レベルが、ブロックサイズと、現在までに実行されているP/Eサイクル数とに少なくとも部分的に基づいて、選択、または決定、または発生されうる。別の例において、異なるソフトプログラム検証電圧レベルが特定のブロックの耐用期間にわたって実行されることが予想されるP/Eサイクル数(すなわち、その特定のブロックの特定のP/Eサイクル仕様)に基づいて、選択、または決定、または発生されうる。他の例において、適切なソフトプログラム検証電圧レベルを動的に決定するために他種の情報が用いられうる。したがって、任意数の異なるソフトプログラム検証電圧レベルが、メモリ10の設計、必要性、および用途に応じて用いられうる。特定のブロックの試験データに基づいて決定される可能性のある調整可能なソフトプログラム検証電圧レベルを用いることにより、アレイ12のすべてに対する最悪のケースのブロックを包含する単一のソフトプログラム検証電圧レベルをアレイ12のすべてのブロックに用いる必要がなくなる。このように、アレイ12内の一部のブロックは、低いソフトプログラム検証電圧レベルを用い、これによって消去動作のソフトプログラム部分の時間を節約することができる場合がある。
一実施形態において、不揮発性メモリの消去動作を実行する方法は、消去動作の実行対象となるブロックを選択すること、選択されたブロックを消去すること、選択されたブロックに対応する試験データを受け取ること、試験データに基づいてソフトプログラム検証電圧レベルを決定すること、ソフトプログラム検証電圧レベルを用いて消去済みの選択されたブロックをソフトプログラミングすることを含む。
さらなる実施形態において、ソフトプログラム検証電圧レベルを決定することは、複数のソフトプログラム検証電圧レベルからソフトプログラム検証電圧レベルを選択することを含む。
別のさらなる実施形態において、ソフトプログラム検証電圧レベルを決定することは、ソフトプログラム基準電圧を決定すること、ソフトプログラム基準電圧を用いて、ソフトプログラム検証電圧レベルを有するソフトプログラム検証電圧を発生することを含む。
別のさらなる実施形態において、消去済みの選択されたブロックをソフトプログラミングすることは、消去済みの選択されたブロックのセルがソフトプログラム検証電圧レベルに満たないことを判定すること、ソフトプログラム電圧パルスを当該セルに印加すること、当該セルがソフトプログラム検証電圧レベルを満たしているかあるいは満たしていないかを判定することを含む。また、さらなる実施形態において、選択されたブロックを消去することは、選択されたブロックの各セルが所定の消去検証電圧レベルを満たすまで当該各セルに消去パルスを印加することを含み、ここでソフトプログラム検証電圧レベルは消去検証電圧レベル未満である。さらに、さらなる実施形態において、方法は、選択されたブロックを消去することに先立って、所定のプログラム検証電圧レベルを満たしていない選択されたブロックの各セルをプログラミングすることを含み、ここで消去検証電圧レベルはプログラム検証電圧レベル未満である。
別のさらなる実施形態において、試験データは、選択されたブロックに対するプログラム/消去サイクルカウントを含み、ソフトプログラム検証電圧レベルはプログラム/消去サイクルカウントに少なくとも部分的に基づいて決定される。また、さらなる実施形態において、方法は、選択されたブロックに対するプログラム/消去サイクルカウントを更新すること、更新されたプログラム/消去サイクルカウントを記憶することをさらに含む。また、別のさらなる実施形態において、試験データは、選択されたブロックに対するブロックサイズをさらに含み、ソフトプログラム検証電圧レベルはプログラム/消去サイクルカウントおよびブロックサイズに少なくとも部分的に基づいて決定される。
別のさらなる実施形態において、試験データは、選択されたブロックで実行されることが予想されるプログラム/消去サイクル数を示し、ソフトプログラム検証電圧レベルは、選択されたブロックで実行されることが予想されるプログラム/消去サイクル数に少なくとも部分的に基づいて決定される。
別の実施形態において、不揮発性メモリの消去動作を実行する方法は、消去動作の実行対象となるブロックを選択すること、選択されたブロックを消去すること、選択されたブロックに対応するプログラム/消去サイクルカウントを受け取ること、プログラム/消去サイクルカウントに少なくとも部分的に基づいてソフトプログラム検証電圧レベルを決定すること、ソフトプログラム検証電圧レベルを用いて、消去済みの選択されたブロックをソフトプログラミングすることを含む。
別の実施形態のさらなる実施形態において、方法は、プログラム/消去サイクルカウントを増加すること、増加されたプログラム/消去サイクルカウントを記憶することをさらに含む。また、さらなる実施形態において、方法は、選択されたブロックで第2の消去動作を実行することを含み、当該選択されたブロックで第2の消去動作を実行することは、選択されたブロックを消去すること、選択されたブロックに対応する増加されたプログラム/消去サイクルカウントを受け取ること、増加されたプログラム/消去サイクルカウントに少なくとも部分的に基づいて、ソフトプログラム検証電圧レベルとは異なる第2のソフトプログラム検証電圧レベルを決定すること、第2のソフトプログラム検証電圧レベルを用いて、消去済みの選択されたブロックをソフトプログラミングすることをさらに含む。
別の実施形態の別のさらなる実施形態において、ソフトプログラム検証電圧レベルを決定することは、選択されたブロックのプログラム/消去サイクルカウントとブロックサイズとに少なくとも部分的に基づいてソフトプログラム検証電圧レベルを決定することを含む。
別の実施形態の別のさらなる実施形態において、消去済みの選択されたブロックをソフトプログラミングすることは、消去済みの選択されたブロックのセルがソフトプログラム検証電圧レベルを満たしていないことを判定すること、ソフトプログラム電圧パルスを当該セルに印加すること、当該セルがソフトプログラム検証電圧レベルを満たしているかあるいは満たしていないかを判定することを含む。また、さらなる実施形態において、選択されたブロックを消去することは、選択されたブロックの各セルが所定の消去検証電圧レベルを満たすまで消去パルスを当該各セルに印加することを含み、ここでソフトプログラム検証電圧レベルは消去検証電圧レベル未満である。
さらに別の実施形態において、不揮発性メモリは、複数のブロックと、複数のブロックの各々に対応する試験データを記憶する試験ブロックと、複数のブロックおよび試験ブロックに結合され、複数のブロックのうちの特定のブロックがソフトプログラムされているとき当該特定のブロックの試験データに基づいて当該特定のブロックに対するソフトプログラム検証電圧レベルを決定するフラッシュ制御部とを含む。
さらに別の実施形態のさらなる実施形態において、記憶される試験データは、複数のブロックの各々に対するプログラム/消去サイクルカウントを記憶する。
さらに別の実施形態の別のさらなる実施形態において、記憶される試験データは、複数のブロックの各々で実行されることが予想されるプログラム/消去サイクル数を示す。
さらに別の実施形態の別のさらなる実施形態において、不揮発性メモリは、複数のブロックに結合され、特定のブロックがソフトプログラムされているとき、決定されたソフトプログラム検証電圧レベルを有するソフトプログラム検証電圧を特定のブロックに供給するチャージポンプをさらに含む。
本発明を実現する装置は大部分が当業者に周知の電子部品および回路から構成されているので、本発明の基本的概念を理解し評価するために、かつ本発明の教示が曖昧化したり本発明の教示から逸れたりしないためにも、先の例示のように回路の詳細については必要とされる範囲を超えては説明されていない。
本発明を特定の導電型すなわち特定の電位の極性に関して説明したが、当業者は導電型および電位の極性を反転してもよいことを理解する。
上記実施形態の一部は、様々なフラッシュメモリ設計を用いて適宜実現されてもよい。たとえば、図1および図1の説明では、例示的なフラッシュメモリアーキテクチャを説明したが、この例示的なアーキテクチャは本発明の種々の形態を説明する上での一例に過ぎない。言うまでもなく、アーキテクチャの記述は、説明を目的として簡略化されたものであって、本発明に従って用いられる可能性のある多くの異なるタイプの適切なアーキテクチャおよび設計の1つにすぎない。論理ブロック間の境界は単なる例示的なものであり、代替的な実施形態では論理ブロックや回路要素を統合してもよく、あるいは機能性を種々の論理ブロックや回路要素に別途分担させてもよいことを当業者は認識し得る。
したがって、本明細書で説明したアーキテクチャは単なる例示的なものであり、実際に同じ機能性を実現する多くの他のアーキテクチャも実施されることが理解される。概念的および限定的な意味で、同じ機能性を実現するための任意の構成部品の配列は、所望の機能性が実現されるように効果的な「関連付け」が行なわれる。それゆえ、特定の機能性を実現するために本明細書において結合される任意の2つの構成部品は、アーキテクチャや中間構成部品に関係なく所望の機能性が実現されるように相互に「関連付けられる」ものと見なされる。また、このように関連付けられた任意の2つの構成部品は、所望の機能性を実現するために相互に「動作可能に接続される」あるいは「動作可能に結合される」ものと見なされる。
また、たとえば一実施形態において、メモリ10の図示された要素は、たとえば、マイクロプロセッサコアなど、他の回路構成部品とともに集積回路に組み込まれる。他の実施形態において、メモリ10は、「スタンドアロン」のメモリ集積回路として実装されてもよい。さらに、たとえば、メモリ10またはその一部は、物理的回路のソフト表現またはコード表現、あるいは物理的回路に変換可能な論理的表現のソフト表現またはコード表現であってもよい。したがって、メモリ10は、任意の適切なタイプのハードウェア記述言語で具体化されてもよい。
さらに、上記動作の機能性の境界は単なる例示的なものであることを当業者は認識し得る。多数の動作の機能性は単一動作に結合されてもよく、単一動作の機能性は別の動作に分配されてもよく、これらの両方が行なわれてもよい。さらに、代替的な実施形態は、特定動作の多数のインスタンスを含んでいてもよく、動作の順序は様々な他の実施形態において変更されてもよい。
本発明を特定の実施形態に関して本明細書で説明したが、以下の特許請求の範囲に記述された本発明の範囲から逸脱することなく様々な変形および変更が可能である。たとえば、異なる種類の試験データが試験ブロック20に記憶されてもよく、この記憶された試験データは異なる方法で体系化されてもよい。また、ソフトプログラム検証値は、試験データの別の関数を用いて決定されてもよく、ソフトプログラム検証電圧レベルを決定するために任意数の閾値との比較を行ってもよい。即ち、明細書および図は限定的ではなく例示的であると見なされるべきで、こうしたすべての変形が本発明の範囲内に含まれることが意図されている。特定の実施形態に関連して本明細書で説明されたすべての利益、利点、または問題の解決方法は、特許請求の範囲の一部または全部の特徴ないしは要素、必須な特徴ないしは要素、あるいは本質的な特徴ないしは要素と解釈されるものではない。
本明細書で用いられる用語「結合される」は、直接結合または機械的結合に限定されるものではない。別段の記載がない限り、「第1の」および「第2の」などの用語は、このような用語が説明する要素を適宜区別するために用いられる。したがって、これらの用語は、このような要素の時間的、その他の優先順位付けを示すことを必ずしも目的とするものではない。

Claims (20)

  1. 不揮発性メモリの消去動作を実行する方法であって、
    消去動作の実行対象となるブロックを選択すること、
    前記選択されたブロックを消去すること、
    前記選択されたブロックに対応する試験データを受け取ること、
    前記試験データに基づいてソフトプログラム検証電圧レベルを決定すること、
    前記ソフトプログラム検証電圧レベルを用いて前記消去済みの選択されたブロックをソフトプログラミングすること、
    を備える方法。
  2. 前記ソフトプログラム検証電圧レベルを決定することは、複数のソフトプログラム検証電圧レベルから前記ソフトプログラム検証電圧レベルを選択することを含む、請求項1に記載の方法。
  3. 前記ソフトプログラム検証電圧レベルを決定することは、
    ソフトプログラム基準電圧を決定すること、
    前記ソフトプログラム基準電圧を用いて前記ソフトプログラム検証電圧レベルを有するソフトプログラム検証電圧を発生すること、
    を含む、請求項1に記載の方法。
  4. 前記消去済みの選択されたブロックをソフトプログラミングすることは、
    前記消去済みの選択されたブロックのセルが前記ソフトプログラム検証電圧レベルを満たしていないことを判定すること、
    前記セルにソフトプログラム電圧パルスを印加すること、
    前記セルが前記ソフトプログラム検証電圧レベルを満たしているかあるいは満たしていないかを判定すること、
    を含む、請求項1に記載の方法。
  5. 前記選択されたブロックを消去することは、前記選択されたブロックの各セルが所定の消去検証電圧レベルを満たすまで当該各セルに消去パルスを印加することを含み、前記ソフトプログラム検証電圧レベルは前記消去検証電圧レベル未満である、請求項4に記載の方法。
  6. 前記選択されたブロックを消去することに先立って、所定のプログラム検証電圧レベルを満たしていない前記選択されたブロックの各セルをプログラミングすることをさらに備え、前記消去検証電圧レベルは前記プログラム検証電圧レベル未満である、請求項5に記載の方法。
  7. 前記試験データは、前記選択されたブロックに対するプログラム/消去サイクルカウントを含み、前記ソフトプログラム検証電圧レベルは前記プログラム/消去サイクルカウントに少なくとも部分的に基づいて決定される、請求項1に記載の方法。
  8. 前記選択されたブロックに対する前記プログラム/消去サイクルカウントを更新すること、
    前記更新されたプログラム/消去サイクルカウントを記憶すること、
    をさらに備える請求項7に記載の方法。
  9. 前記試験データは、前記選択されたブロックに対するブロックサイズをさらに含み、前記ソフトプログラム検証電圧レベルは前記プログラム/消去サイクルカウントおよび前記ブロックサイズに少なくとも部分的に基づいて決定される、請求項7に記載の方法。
  10. 前記試験データは、前記選択されたブロックで実行されることが予想されるプログラム/消去サイクル数を示し、前記ソフトプログラム検証電圧レベルは、前記選択されたブロックで実行されることが予想される前記プログラム/消去サイクル数に少なくとも部分的に基づいて決定される、請求項1に記載の方法。
  11. 不揮発性メモリの消去動作を実行する方法であって、
    消去動作の実行対象となるブロックを選択すること、
    前記選択されたブロックを消去すること、
    前記選択されたブロックに対応するプログラム/消去サイクルカウントを受け取ること、
    前記プログラム/消去サイクルカウントに少なくとも部分的に基づいてソフトプログラム検証電圧レベルを決定すること、
    前記ソフトプログラム検証電圧レベルを用いて前記消去済みの選択されたブロックをソフトプログラミングすること、
    を備える方法。
  12. 前記プログラム/消去サイクルカウントを増加すること、
    前記増加されたプログラム/消去サイクルカウントを記憶すること、
    をさらに備える請求項11に記載の方法。
  13. 前記選択されたブロックで第2の消去動作を実行することをさらに備え、当該選択されたブロックで第2の消去動作を実行することは、
    前記選択されたブロックを消去すること、
    前記選択されたブロックに対応する前記増加されたプログラム/消去サイクルカウントを受け取ること、
    前記増加されたプログラム/消去サイクルカウントに少なくとも部分的に基づいて、前記ソフトプログラム検証電圧レベルとは異なる第2のソフトプログラム検証電圧レベルを決定すること、
    前記第2のソフトプログラム検証電圧レベルを用いて前記消去済みの選択されたブロックをソフトプログラミングすること、
    を含む、請求項12に記載の方法。
  14. 前記ソフトプログラム検証電圧レベルを決定することは、前記選択されたブロックの前記プログラム/消去サイクルカウントおよびブロックサイズに少なくとも部分的に基づいて前記ソフトプログラム検証電圧レベルを決定することを含む、請求項11に記載の方法。
  15. 前記消去済みの選択されたブロックをソフトプログラミングすることは、
    前記消去済みの選択されたブロックのセルが前記ソフトプログラム検証電圧レベルを満たしていないことを判定すること、
    前記セルにソフトプログラム電圧パルスを印加すること、
    前記セルが前記ソフトプログラム検証電圧レベルを満たしているかあるいは満たしていないかを判定すること、
    を含む、請求項11に記載の方法。
  16. 前記選択されたブロックを消去することは、
    前記選択されたブロックの各セルが所定の消去検証電圧レベルを満たすまで当該各セルに消去パルスを印加することを含み、前記ソフトプログラム検証電圧レベルは前記消去検証電圧レベル未満である、請求項15に記載の方法。
  17. 不揮発性メモリであって、
    複数のブロックと、
    前記複数のブロックの各々に対応する試験データを記憶する試験ブロックと、
    前記複数のブロックと前記試験ブロックとに結合され、前記複数のブロックのうちの特定のブロックがソフトプログラムされているとき、前記特定のブロックの前記試験データに基づいて前記特定のブロックに対するソフトプログラム検証電圧レベルを決定するフラッシュ制御部と、
    を備える不揮発性メモリ。
  18. 前記記憶された試験データは、前記複数のブロックの各々に対するプログラム/消去サイクルカウントを記憶する、請求項17に記載の不揮発性メモリ。
  19. 前記記憶された試験データは、前記複数のブロックの各々で実行されるプログラム/消去サイクルの予想される回数を示す、請求項17に記載の不揮発性メモリ。
  20. 前記複数のブロックに結合され、前記特定のブロックがソフトプログラミングされているとき、前記決定されたソフトプログラム検証電圧レベルを有するソフトプログラム検証電圧を前記特定のブロックに供給するチャージポンプをさらに備える請求項17に記載の不揮発性メモリ。
JP2010520016A 2007-07-31 2008-06-17 動的に調整可能なソフトプログラム検証電圧レベルを有する不揮発性メモリおよびそのための方法 Pending JP2010535395A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/831,168 US7649782B2 (en) 2007-07-31 2007-07-31 Non-volatile memory having a dynamically adjustable soft program verify voltage level and method therefor
PCT/US2008/067222 WO2009017889A1 (en) 2007-07-31 2008-06-17 Non-volatile memory having a dynamically adjustable soft program verify voltage level and method therefor

Publications (2)

Publication Number Publication Date
JP2010535395A true JP2010535395A (ja) 2010-11-18
JP2010535395A5 JP2010535395A5 (ja) 2011-07-21

Family

ID=40304707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010520016A Pending JP2010535395A (ja) 2007-07-31 2008-06-17 動的に調整可能なソフトプログラム検証電圧レベルを有する不揮発性メモリおよびそのための方法

Country Status (5)

Country Link
US (1) US7649782B2 (ja)
JP (1) JP2010535395A (ja)
KR (1) KR101206178B1 (ja)
TW (1) TWI457928B (ja)
WO (1) WO2009017889A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014044786A (ja) * 2012-08-28 2014-03-13 Freescale Semiconductor Inc ソフトプログラミングを使用する不揮発性メモリ(nvm)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8391070B2 (en) * 2008-12-02 2013-03-05 Spansion Llc Moving program verify level for programming of memory
US7483311B2 (en) * 2006-02-07 2009-01-27 Micron Technology, Inc. Erase operation in a flash memory device
US8189396B2 (en) 2006-12-14 2012-05-29 Mosaid Technologies Incorporated Word line driver in a hierarchical NOR flash memory
NZ562200A (en) * 2007-10-04 2008-11-28 Arc Innovations Ltd Method and system for updating a stored data value in a non-volatile memory
US8755229B1 (en) 2009-06-23 2014-06-17 Micron Technology, Inc. Limiting flash memory over programming
JP2011164994A (ja) * 2010-02-10 2011-08-25 Toshiba Corp メモリシステム
US8482987B2 (en) 2010-09-02 2013-07-09 Macronix International Co., Ltd. Method and apparatus for the erase suspend operation
US8427877B2 (en) * 2011-02-11 2013-04-23 Freescale Semiconductor, Inc. Digital method to obtain the I-V curves of NVM bitcells
US8526240B2 (en) * 2011-08-17 2013-09-03 Ememory Technology Inc. Flash memory and memory cell programming method thereof
WO2013100958A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Cycling endurance extending for memory cells of a non-volatile memory array
US8929142B2 (en) 2013-02-05 2015-01-06 Sandisk Technologies Inc. Programming select gate transistors and memory cells using dynamic verify level
US8995198B1 (en) 2013-10-10 2015-03-31 Spansion Llc Multi-pass soft programming
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
US20150270004A1 (en) * 2014-03-20 2015-09-24 Elite Semiconductor Memory Technology Inc. Method for Performing Erase Operation in Non-Volatile Memory
CN105006252A (zh) * 2014-04-17 2015-10-28 晶豪科技股份有限公司 抹除非易失性存储器的方法
US10825529B2 (en) 2014-08-08 2020-11-03 Macronix International Co., Ltd. Low latency memory erase suspend operation
US9401217B2 (en) 2014-08-27 2016-07-26 Freescale Semiconductor, Inc. Flash memory with improved read performance
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
US9563373B2 (en) 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
KR102452994B1 (ko) 2016-09-06 2022-10-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10269439B2 (en) 2017-03-28 2019-04-23 Western Digital Technologies, Inc. Post write erase conditioning
KR102569820B1 (ko) * 2018-10-25 2023-08-24 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN111863089B (zh) * 2019-04-24 2022-07-19 华邦电子股份有限公司 存储器装置及非易失性存储器的控制方法
US11705206B2 (en) 2021-08-17 2023-07-18 Sandisk Technologies Llc Modifying program and erase parameters for single-bit memory cells to improve single-bit/multi-bit hybrid ratio

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002025279A (ja) * 2000-07-05 2002-01-25 Sharp Corp 不揮発性半導体メモリ装置の消去方法
JP2003242787A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2007102923A (ja) * 2005-10-04 2007-04-19 Toshiba Corp 不揮発性半導体記憶装置およびそのデータ消去方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5521867A (en) 1993-12-01 1996-05-28 Advanced Micro Devices, Inc. Adjustable threshold voltage conversion circuit
US5963477A (en) 1997-12-09 1999-10-05 Macronix International Co., Ltd. Flash EPROM erase algorithm with wordline level retry
US6496417B1 (en) * 1999-06-08 2002-12-17 Macronix International Co., Ltd. Method and integrated circuit for bit line soft programming (BLISP)
JP3802763B2 (ja) 2001-01-29 2006-07-26 シャープ株式会社 不揮発性半導体メモリ装置およびその消去方法
US6614695B2 (en) 2001-08-24 2003-09-02 Micron Technology, Inc. Non-volatile memory with block erase
US6684173B2 (en) * 2001-10-09 2004-01-27 Micron Technology, Inc. System and method of testing non-volatile memory cells
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US7230854B2 (en) * 2005-08-01 2007-06-12 Sandisk Corporation Method for programming non-volatile memory with self-adjusting maximum program loop

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002025279A (ja) * 2000-07-05 2002-01-25 Sharp Corp 不揮発性半導体メモリ装置の消去方法
JP2003242787A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2007102923A (ja) * 2005-10-04 2007-04-19 Toshiba Corp 不揮発性半導体記憶装置およびそのデータ消去方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014044786A (ja) * 2012-08-28 2014-03-13 Freescale Semiconductor Inc ソフトプログラミングを使用する不揮発性メモリ(nvm)

Also Published As

Publication number Publication date
TW200910350A (en) 2009-03-01
US20090034339A1 (en) 2009-02-05
KR101206178B1 (ko) 2012-11-29
US7649782B2 (en) 2010-01-19
WO2009017889A1 (en) 2009-02-05
KR20100053539A (ko) 2010-05-20
TWI457928B (zh) 2014-10-21

Similar Documents

Publication Publication Date Title
JP2010535395A (ja) 動的に調整可能なソフトプログラム検証電圧レベルを有する不揮発性メモリおよびそのための方法
US10372342B2 (en) Multi-level cell solid state device and method for transferring data between a host and the multi-level cell solid state device
CA2675565C (en) Non-volatile memory with dynamic multi-mode operation
TWI402849B (zh) 用於控制記憶體之系統及方法
US7640389B2 (en) Non-volatile memory having a multiple block erase mode and method therefor
US7663933B2 (en) Memory controller
US5930167A (en) Multi-state non-volatile flash memory capable of being its own two state write cache
KR101285576B1 (ko) 비휘발성 메모리를 프로그래밍/소거하기 위한 방법 및 장치
US9019770B2 (en) Data reading method, and control circuit, memory module and memory storage apparatus and memory module using the same
US8274840B2 (en) Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same
US9496041B2 (en) Memory programming method, memory control circuit unit and memory storage device
US6335882B1 (en) Nonvolatile semiconductor memory device capable of erasing blocks despite variation in erasing characteristic of sectors
JP2009507327A (ja) 不揮発性メモリをプログラム/消去する方法及び装置
US9240224B2 (en) Non-volatile memory (NVM) with variable verify operations
KR20100004771A (ko) 공통 소스 라인 전압을 제어하는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템
JP5280027B2 (ja) 半導体装置及びその制御方法
JP2010033637A (ja) 不揮発性半導体記憶装置
KR20150045642A (ko) 반도체 장치 및 그 동작 방법
CN108511018B (zh) 半导体存储装置以及数据读出方法
US8854887B2 (en) Nonvolatile memory device and method of programming the same
KR20080024370A (ko) 낸드 플래시 메모리 장치 및 그 초기화 방법
JP4170261B2 (ja) 不揮発性半導体記憶装置及びそのデータ書込み若しくは消去方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110602

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110602

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120228

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130422

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130924