JP2008523542A - 初期データを用いる不揮発性メモリのパイプライン形プログラミング - Google Patents

初期データを用いる不揮発性メモリのパイプライン形プログラミング Download PDF

Info

Publication number
JP2008523542A
JP2008523542A JP2007546706A JP2007546706A JP2008523542A JP 2008523542 A JP2008523542 A JP 2008523542A JP 2007546706 A JP2007546706 A JP 2007546706A JP 2007546706 A JP2007546706 A JP 2007546706A JP 2008523542 A JP2008523542 A JP 2008523542A
Authority
JP
Japan
Prior art keywords
data content
programming
data
page
programming operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007546706A
Other languages
English (en)
Other versions
JP4372196B2 (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.)
SanDisk Corp
Original Assignee
SanDisk 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 SanDisk Corp filed Critical SanDisk Corp
Publication of JP2008523542A publication Critical patent/JP2008523542A/ja
Application granted granted Critical
Publication of JP4372196B2 publication Critical patent/JP4372196B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed 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/32Timing circuits

Abstract

本発明は、メモリシステムがプログラミングプロセスを中断し、追加データを含めてそれを再開する手法を提供する。より具体的には、メモリシステムがデータをプログラミング単位としてのセルのグループに同時にプログラムするとき、プログラミングは、そのグループが保持できるデータ内容全体より少ないデータ内容で始まることができる。一実施形態では、本発明は上側データページおよび下側データページの重複プログラミングを可能にし、その場合、メモリが下側論理データページをプログラムし始めると、同じ物理的ページに割り当てられた上側ページのためのデータが受け取られたならば、プログラミングは中断され、そして上側ページおよび下側ページの両方の同時プログラミングで再開される。相補的な実施形態では、1つのページがデータの複数のセクタを含むとき、物理的ページのプログラミングは、対応する論理ページを形成するセクタのうちの全部よりは少ない1つ以上のセクタが受け取られたときに始まることができ、停止され、そのページの追加セクタを含むように再開され得る。

Description

本発明は、不揮発性メモリおよびその操作に関し、特に、プログラミングが開始される時点で完全なデータが当初存在しないときに多状態メモリのプログラミング速度を改善するための技術に関する。
本発明の原理は、種々のタイプの不揮発性メモリ、現存するもの、および開発中の新技術を用いるために熟考されているもの、に応用される。しかし、本発明の実施例は、代表例として、記憶素子がフローティングゲートであるフラッシュ形式の電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)に関して説明される。
現在の商業製品では、普通、フラッシュEEPROMアレイの各フローティングゲート記憶素子はバイナリモードで動作することによって1ビットのデータを記憶し、フローティングゲートトランジスタのしきい値レベルの2つの範囲が記憶レベルとして定義される。フローティングゲートトランジスタのしきい値レベルは、それらのフローティングゲートに蓄積された電荷レベルの範囲に対応する。メモリアレイのサイズの縮小に加えて、各フローティングゲートトランジスタに2ビット以上のデータを蓄積することによってそのようなメモリアレイのデータ蓄積密度をさらに高めることが趨勢となっている。これは、各フローティングゲートトランジスタについて3つ以上のしきい値レベルを記憶状態として定めることにより達成され、今では4つのそのような状態(フローティングゲート記憶素子あたりに2ビットのデータ)が商業製品に含まれている。記憶素子あたりに16状態など、より多くの記憶状態が考えられている。各フローティングゲートメモリトランジスタは、それがその中で実用的に操作され得るしきい値電圧の一定の総範囲(ウィンドウ)を有し、この範囲は、それについて定められた数の状態と、それらを互いに明瞭に区別することを可能にするそれらの状態の間のマージンとに分割される。
各メモリセルに蓄積される状態の数が増えるにつれて、フローティングゲート記憶素子上にプログラムされた電荷レベルにおけるシフトの許容誤差が減少する。各メモリセル記憶素子に記憶される状態の数が増えるにつれて各記憶状態のために指定される電荷の範囲は必然的により狭くされかつ互いにより近くに置かれなければならなくなるので、プログラミングはより高い精度で行われなければならず、蓄積された電荷レベルにおける許容される実際のまたは見かけ上のプログラミング後のシフトの大きさは小さくなる。1つのセルに蓄積された電荷における実際のシフトは、そのセルと或る程度の電気的結合を有する、同じ列または行内のセル、および線またはノードを共有するセルなどの他のセルを読み出し、プログラムおよび消去するときに、乱され得る。
蓄積された電荷における見かけ上のシフトは、記憶素子同士のフィールド結合の故に生じる。この結合の程度は、メモリセルアレイのサイズが小さくされてゆくにつれて、また集積回路製造技術の向上の結果として、必然的に大きくなりつつある。問題は、別々のときにプログラムされた隣り合うセルの2つのセット間で最も顕著に発生する。セルの一方のセットは、データの1つのセットに対応する電荷のレベルをそれらのフローティングゲートに加えるようにプログラムされる。セルの第2のセットがデータの第2のセットでプログラムされた後、セルの第1のセットのフローティングゲートから読み出される電荷レベルは、フローティングゲートの第2のセット上の電荷が第1のセットと結合されていることの効果のために、しばしば、プログラムされたものとは異なるように見える。これは米国特許第5,867,429号(特許文献1)および第5,930,167号(特許文献2)に記載され、これらの特許はその全体が本願明細書において参照により援用されている。これらの特許は、フローティングゲートの2つのセットを互いに物理的に隔離すること、または第1のそれを読み出すときにフローティングゲートの第2のセット上の電荷の効果を考慮に入れることを記述している。さらに、米国特許第5,930,167号(特許文献2)は、データを初めにプログラムするために必要な時間を短縮するために、多状態メモリの部分をキャッシュメモリとして、2状態にまたは縮減されたマージンで、選択的にプログラムする方法を記述している。このデータは、後に読み出されて3つ以上の状態に、または増大されたマージンで、メモリに再プログラムされる。
この効果は種々のタイプのフラッシュEEPROMセルアレイに存在する。1つの設計のNORアレイのメモリセルは隣り合うビット(列)線間に接続され、コントロールゲートはワード(行)線に接続されている。個々のセルは、それと直列に選択トランジスタが形成されるか、或いは形成されていない1つのフローティングゲートトランジスタ、または単一の選択トランジスタにより分離された2つのフローティングゲートトランジスタのいずれかを含む。記憶システムにおけるそのようなアレイとその使用との例が、サンディスク コーポレイションの米国特許第5,095,344号(特許文献3)、第5,172,338号(特許文献4)、第5,602,987号(特許文献5)、第5,663,901号(特許文献6)、第5,430,859号(特許文献7)、第5,657,332号(特許文献8)、第5,712,180号(特許文献9)、第5,890,192号(特許文献10)、および第6,151,248号(特許文献11)、並びに2000年2月17日に出願された米国特許出願第09/505,555号(特許文献12)、および2000年9月22日に出願された米国特許出願第09/667,344号(特許文献13)で説明されている。これらの特許および特許出願は、その全体が本願明細書において参照により援用されている。
1つの設計のNANDアレイは、両端の選択トランジスタを通してビット線と基準電位との間に直列ストリングをなして接続された数個(8個、16個または32個など)のメモリセルを有する。ワード線は、別の直列ストリングをなしてセルのコントロールゲートと接続される。そのようなアレイとその動作との関連する例が、米国特許第5,570,315号(特許文献14)、第5,774,397号(特許文献15)、および第6,046,935号(特許文献16)で説明されている。これらの特許は、その全体が本願明細書において参照により援用されている。簡単に述べれば、(しばしば、入ってくるデータの別々の論理ページからの)2ビットのデータが2ステップで、すなわち初めに1ビットのデータに応じて1つのセルを1つの状態にプログラムし、その後にそのデータが必要とするならば、入ってくるデータの第2のビットに応じてそのセルをそれらの状態のうちの他の1つに再プログラムするステップで、個々のセルの4つの状態のうちの1つにプログラムされる。
これらの特許に記載されているように、これらの多状態(或いはMLC)メモリに記憶されているデータを符号化するための普通の手法は、データの上側ページとデータの下側ページとを共にマルチレベルセルの同じセットに格納することである。この手法には、MLCフラッシュメモリの物理的ページが下側ページデータでプログラムされるのであれば、実際に下側ページデータおよび上側ページデータの両方が同じ物理的ページにプログラムされるときには、ユーザ(コントローラ)はプログラミングが終了して上側ページデータのプログラミングを開始できるようになるまで待たなければならないという短所がある。また、これらの設計では、複数のデータ転送単位に対応する量のデータを含む1つのページにデータを書き込むことも普通である。これは、多数のセクタのページまたは多数のプレーンのページが例えば単一セクタのデータだけでプログラムされるときなどのようにフラッシュメモリが部分的にプログラムされるのであれば、ユーザ(コントローラ)は、同じページの別の部分的プログラミングを開始できるようになるために、プログラミングが終了するまで待たなければならないという短所をもたらす。これらの短所を縮減するか、或いはなくすことができれば不揮発性メモリシステムの性能を改善することができる。
米国特許第5,867,429号 米国特許第5,930,167号 米国特許第5,095,344号 米国特許第5,172,338号 米国特許第5,602,987号 米国特許第5,663,901号 米国特許第5,430,859号 米国特許第5,657,332号 米国特許第5,712,180号 米国特許第5,890,192号 米国特許第6,151,248号 米国特許出願第09/505,555号 米国特許出願第09/667,344号 米国特許第5,570,315号 米国特許第5,774,397号 米国特許第6,046,935号 米国特許第6,522,580号 米国公開特許出願第2003/0112663号 米国特許第6,046,935号 米国特許第6,657,891号 米国特許第5,890,192号 米国特許第6,426,893号 米国特許出願第10/750,157号 米国特許出願第10/750,155号 米国特許第6,643,188号 米国特許出願第10/841,379号 米国特許第5,851,881号 米国特許出願第10/280,352号 論文"マルチレベルNAND EEPROMのための高速で正確なプログラミング方法",VLSI技術に関する1995年のシンポジウムの要約,129〜130頁 チャンら,"真の単一トランジスタ酸化物−窒化物−酸化物EEPROMデバイス",IEEE電子デバイスレターズ,第EDL−8巻,第3号,1987年3月,93〜95頁 ノザキら,"半導体ディスク用途のためのMONOSメモリセルを有する1Mb EEPROM",IEEE固体回路ジャーナル,第26巻,第4号,1991年4月,p497〜501頁 エイタンら、"NROM:新規な局所トラッピング、2ビットの不揮発性メモリセル",IEEE電子デバイスレターズ,第21巻,第11号,2000年11月,543〜545頁 ディマリアら,"Siに富むSIO2 インジェクタとフローティング多結晶ケイ素記憶層を使用する電気的に可変な読み出し専用メモリ",応用物理学ジャーナル52(7),1981年7月,4825〜4842頁 ホリら,"不揮発性メモリ用途のためのSi打ち込みゲート−SiO2絶縁体を有するMOSFET",IEDM92,1992年4月,469〜472頁
手短にかつ一般的に述べると、本発明は、メモリシステムがプログラミングプロセスを中断し、追加データを含めてそれを再開する手法を提供する。より具体的には、メモリシステムがデータをプログラミング単位としてのセルのグループに同時にプログラムするとき、プログラミングは、そのグループが保持できるデータ内容全体より少ないデータ内容で始まることができる。プログラミングが進行している間にそのグループに割り当てられた追加データが到着すれば、プログラミングは中断され、メモリセルの現在の状態が判定される。その追加データは、完了時までまたはそのグループに割り当てられた更なる追加データがメモリに到着するまで、プログラムされるデータに組み込まれ、そしてプログラミングが再開される。これは性能向上を可能にする。なぜならば、追加データのプログラミングは、進行中の部分的内容のプログラミングが完了するまで待つのではなくて、それが到着し次第始まることができるからである。
本発明の1つの副次的態様において、本発明は上側データページおよび下側データページの重複プログラミングを可能にする。マルチパスプログラミングを用いる多状態システムにおいて、メモリの物理的ページに割り当てられた下側論理データページがプログラミングを開始する。同じ物理的ページに割り当てられた上側論理データページがメモリに転送されると、下側ページのプログラミングは中断され、下側ページプログラミングのステータスが確立される。メモリは、その後に多状態プログラミングモードに転換して上側ページデータおよび下側ページデータを同時に書き込む。これは、関連する上側ページを待つことなく下側ページデータが利用可能になり次第下側ページデータがプログラミングを開始することを可能にする。また、これは、第1のプログラミングパスが下側ページにおける書き込みを終えるのを待たずに上側ページが利用可能になり次第上側ページがプログラミングを開始することをも可能にする。
本発明の別の副次的態様において、所与の物理的ページに割り当てられたデータが転送されたならば、たとえそのページを構成するプレーンの全量に満たない量に対応するとしても、物理的ページへのプログラミングが始まることができる。例えば、1つのページが複数のセクタのデータを含むとき、その物理的ページのプログラミングは、対応する論理ページを形成するセクタのうちの全部には満たない1つ以上が受け取られたときに、始まることができる。その部分的ページのプログラミングが始まると、プログラムされつつあるページに割り当てられた追加データ(例えば、追加のセクタ)がメモリに転送されれば、その部分的ページプログラミングは中断され、その部分的ページのステータスが確立される。メモリはその後その追加データを書き込むことに加えてプログラミングを再開する。これは、そのページを完成させるのに必要とされる追加データを待たずに、初めに転送されたデータが、それが利用可能になり次第、プログラミングを開始することを可能にする。それは、追加データが、ページの初めに転送された部分の部分的ページプログラミングが書き込みを終えるのを待たずに、それが転送され次第プログラミングを始めることをも可能にし、パイプライン形の部分的ページプログラミングプロセスをもたらす。さらに、物理的ページはメモリの複数のプレーンに分散され得る。
これらの態様の特定の実施形態は階段プログラミング波形を用いる。追加データが受け取られたとき、階段のレベルと他の関連パラメータとは、その時点までのプログラミングの進捗に応じてリセットされる必要がある。
本発明の付加的な態様、特徴、利点および応用が、添付図面と関連させて検討されるべきである代表的な実施形態についての次の記述に含まれる。
不揮発性メモリシステムの例
図1〜7を参照して、明確な例を提供するために、その中で本発明の種々の態様が実現される特定の不揮発性メモリシステムについて説明する。図1は、フラッシュメモリシステムのブロック図である。マトリックスに配置された複数のメモリセルMを含むメモリセルアレイ1は、列制御回路2、行制御回路3、cソース制御回路4およびc−pウェル制御回路5によって制御される。列制御回路2は、メモリセル(M)に蓄積されているデータを読み出し、プログラミング動作中にメモリセル(M)の状態を判定し、プログラミングを促進するか、或いはプログラミングを抑制するようにビット線(BL)の電位レベルを制御するためにメモリセルアレイ1のビット線(BL)に接続されている。行制御回路3は、ワード線(WL)のうちの1つを選択し、読み出し電圧を印加し、列制御回路2により制御されるビット線電位レベルと結合されたプログラミング電圧を印加し、メモリセル(M)がその上に形成されているp形領域(図3において“c−pウェル”11と称されている)の電圧と結合された消去電圧を印加するようにワード線(WL)に接続されている。cソース制御回路4は、メモリセル(M)に接続された共通ソース線(図2において“cソース”と称されている)を制御する。c−pウェル制御回路5は、c−pウェル電圧を制御する。
メモリセル(M)に格納されたデータは、列制御回路2により読み出され、I/O線およびデータ入出力バッファ6を介して外部I/O線に出力される。メモリセルに格納されるべきプログラムデータは、外部I/O線を介してデータ入出力バッファ6に入力され、列制御回路2に転送される。外部I/O線はコントローラ20に接続される。
フラッシュメモリデバイスを制御するためのコマンドデータは、コントローラ20と接続された外部制御線に接続されたコマンドインターフェイスに入力される。コマンドデータは、どんな動作が要求されているかをフラッシュメモリに知らせる。入力されたコマンドは、列制御回路2、行制御回路3、cソース制御回路4、c−pウェル制御回路5およびデータ入出力バッファ6を制御する状態マシン8に転送される。状態マシン8は、READY/BUSY(レディ/ビジー)またはPASS/FAIL(パス/フェイル)のようなフラッシュメモリのステータスデータを出力できる。
コントローラ20は、パーソナルコンピュータ、デジタルカメラ、または個人用携帯情報端末(PDA)のようなホストシステムと接続されるかまたは接続可能である。メモリアレイ1にデータを格納し或いはメモリアレイ1からデータを読み出すなどのコマンドを開始し、そしてそのようなデータを提供し或いは受け取るのはホストである。コントローラは、そのようなコマンドを、コマンド回路7により解釈され実行され得るコマンド信号に変換する。コントローラは、通例、メモリアレイに書き込まれ或いはメモリアレイから読み出されるユーザデータのためのバッファメモリも含む。代表的なメモリシステムは、コントローラ20を含む1つの集積回路チップ21と、メモリアレイおよび関連する制御回路、入出力回路および状態マシン回路を各々含む1つ以上の集積回路チップ22とを含む。もちろん、システムのメモリアレイとコントローラ回路とを1つ以上の集積回路チップに統合することが趨勢である。メモリシステムは、ホストシステムの一部として組み込まれてよく、或いはホストシステムの差込ソケットに取り外し可能に挿入され得るメモリカードに含まれてもよい。そのようなカードはメモリシステム全体を包含することができ、或いはコントローラおよびメモリアレイは、関連する周辺回路と共に、別々のカードに設けられてもよい。
図2を参照して、メモリセルアレイ1の構造例を説明する。NANDタイプのフラッシュEEPROMが例として記載される。特定の例では、メモリセル(M)は1,024個のブロックに分けられる。各ブロックに蓄積されたデータは同時に消去される。従ってブロックは、同時に消去可能な1つの数のセルの最小単位である。各ブロックにおいて、この例では、偶数列および奇数列に分けられる8,512列がある。ビット線も偶数ビット線(BLe)と奇数ビット線(BLo)とに分けられる。各ゲート電極においてワード線(WL0からWL3まで)に接続された4つのメモリセルが直列に接続されて1つのNANDセルユニットまたはNANDストリングを形成する。NANDセルユニットの1つの端子は、そのゲート電極が第1の選択ゲート線(SGD)に接続されている第1の選択トランジスタを介して対応するビット線(BL)に接続され、他の1つの端子はそのゲート電極が第2の選択ゲート線(SGS)に接続されている第2の選択トランジスタを介してcソースに接続されている。簡略化のために各セルユニットに4つのフローティングゲートトランジスタが含まれるように図に示されているが、より多く(8個、16個或いは32個も)のトランジスタが使用される。
ユーザデータ読み出しおよびプログラミング動作の間、この例では4,256個のセル(M)が同時に選択される。選択されるセル(M)は同じワード線(例えば、WL2)と、同じ種類のビット線(BL)(例えば、偶数ビット線BLe0からBLe4255まで)とを有する。従って、532バイトのデータが同時に読み出されまたはプログラムされ得、データのこのユニットはページと称される。この例では各NANDストリングは4個のセルを含み、センス増幅器あたりに2つのビット線があるので、1つのブロックは少なくとも8ページを記憶することができる。各メモリセル(M)が2ビットのデータを記憶するとき、すなわちマルチレベルセルであるとき、1つのブロックは16ページを記憶する。この実施形態では、メモリセルの各々の記憶素子、この場合にはメモリセルの各々のフローティングゲートは2ビットのユーザデータを記憶する。
図3は、図2に略図示されているタイプのNANDセルユニットの、ビット線(BL)の方向における横断面図を示す。p形半導体基板9の表面に、p形領域c−pウェル11が形成され、このc−pウェルは、このc−pウェルをp形基板から電気的に絶縁するためにn形領域10によって囲まれている。n形領域10は、第1の接点穴(CB)およびn形拡散層12を介して第1の金属MOから成るc−pウェル線に接続されている。p形領域c−pウェル11も第1の接点穴(CB)およびp形拡散層13を介してc−pウェル線に接続されている。c−pウェル線は、c−pウェル制御回路5(図1)に接続される。
各メモリセルは、そのセルに記憶されるデータに対応する量の電荷を蓄積するフローティングゲート(FG)と、ゲート電極を形成するワード線(WL)と、n形拡散層12から成るドレイン電極およびソース電極とを有する。フローティングゲート(FG)は、トンネル酸化膜(14)を介してc−pウェルの表面上に形成されている。ワード線(WL)は、絶縁膜(15)を介してフローティングゲート(FG)上に積み重ねられている。ソース電極は、第2の選択トランジスタ(S)および第1の接点穴(CB)を介して第1の金属(MO)から成る共通ソース線(cソース)に接続される。共通ソース線は、cソース制御回路(4)に接続される。ドレイン電極は、第1の選択トランジスタ(S)、第1の接点穴(CB)、第1の金属(MO)の中間布線および第2の接点穴(V1)を介して第2の金属(M1)から成るビット線(BL)に接続される。ビット線は列制御回路(2)に接続される。
図4および5は、ワード線(WL2)の方向におけるメモリセル(図3の断面4−4)および選択トランジスタ(図3の断面5−5)の横断面図を各々示す。各列は、基板に形成されてシャロー・トレンチ・アイソレーション (shallow trench isolation) (STI)として知られている絶縁材料で満たされたトレンチによって隣接する列から絶縁される。フローティングゲート(FG)はSTIと絶縁膜15とワード線(WL)とによって他のフローティングゲートから分離されている。フローティングゲート(FG)間のスペースは0.1μm程度であり得、フローティングゲート間の容量結合は顕著であり得る。選択トランジスタのゲート電極(SG)は、フローティングゲート(FG)およびワード線(WL)と同じ形成プロセスステップで形成されるので、積み重ねゲート構造を示す。これら2つの選択ゲート線(SG)は、ワード線の端部で互いに電気的に短絡される。
図6の表1は、1つの特定の例において、メモリセルアレイ1を操作するために印加される電圧を要約し、各メモリセルのフローティングゲートは2ビットを記憶し、状態“11”、“10”、“01”、“00”のうちの1つを有する。この表は、読み出しおよびプログラミングのためにワード線“WL2”と“BLe”のビット線とが選択される場合を示す。c−pウェルを20Vの消去電圧に高め、選択されたブロックのワード線(WL)を接地することによって、選択されたブロックのデータが消去される。選択されないブロックのワード線(WL)、ビット線(BL)、選択線(SG)およびcソースの全てはフローティング状態にされるので、これらも、c−pウェルとの容量結合のために殆ど20Vまで高められる。従って、強い電界が選択されたメモリセル(M)のトンネル酸化膜14(図4および5)だけに加わり、トンネル酸化膜14を横断してトンネル電流が流れるので選択されたメモリセルのデータは消去される。消去されたセルは、この例では、4つの可能なプログラムされた状態のうちの1つ、すなわち“11”である。
プログラミング動作中にフローティングゲート(FG)に電子を蓄積するために、選択されたワード線WL2はプログラミングパルスVpgmに接続され、選択されたビット線BLeは接地される。一方、プログラミングが生じるべきでないメモリセル(M)でのプログラミングを禁止するために、対応するビット線BLeは、選択されていないビット線BLoの全てと同じく正電圧Vdd(例えば、3V)に接続される。選択されていないワード線WL0,WL1およびWL3は10Vに接続され、第1の選択ゲート(SGD)はVddに接続され、第2の選択ゲート(SGS)は接地される。その結果、プログラムされるメモリセル(M)のチャネル電位は0Vにセットされる。禁止されているセルのチャネル電位は、ワード線(WL)との容量結合によりチャネル電位が引き上げられる結果として、約6Vに高められる。前述したように、プログラミング中はメモリセル(M)のトンネル酸化膜14だけに強い電界が加わり、トンネル電流がトンネル酸化膜14を横断して消去とは逆の方向に流れ、論理状態は“11”から他の状態“10”、“01”、または“00”のうちの1つに変更される。これらの状態を表すために他の種々の符号化方式を選択することができるので、以降の議論では記号E(消去)、A(最低しきい値・プログラミング状態)、B(Aより高いしきい値)、およびC(最高しきい値・プログラミング状態)が使用される。
読み出し動作およびベリファイ動作では、選択ゲート(SGDおよびSGS)と選択されないワード線(WL0,WL1およびWL3)とは、ビット線と共通ソース線との間の電流がそれらを通過し得ることを保証するために4.5Vの読み出しパス電圧に高められる。選択されたワード線(WL2)は1つの電圧に接続され、その1つのレベルが、関係するメモリセルのしきい値電圧がそのようなレベルに到達したか否かを判定するために、各読み出しおよびベリファイ動作のために指定される。例えば、読み出し(READ)10動作(状態A)では、選択されたワード線WL2は接地されるので、しきい値電圧が0Vより高いか否かが検出される。この読み出しの場合には、読み出しレベルは0Vであると言うことができる。ベリファイ01動作(状態C)では、選択されたワード線WL2は2.4Vに接続されるので、しきい値電圧が2.4Vに達したか否かがベリファイされる。このベリファイの場合には、ベリファイレベルは2.4Vであると言うことができる。
選択されたビット線(BLe)は高レベル、例えば0.7Vにプリチャージされる。しきい値電圧が読み出しレベルまたはベリファイレベルより高ければ、関係するビット線(BLe)の電位レベルは、非導電性メモリセル(M)の故に高レベルを維持する。一方、しきい値電圧が読み出しレベルまたはベリファイレベルより低ければ、関係するビット線(BLe)の電位レベルは、導電性メモリセル(M)の故に低レベル(例えば0.5V未満)に低下する。読み出し動作およびベリファイ動作について以下でさらに詳しく説明する。
図7は、図1の列制御回路2の一部を示す。ビット線の各対(BLeおよびBLo)は、1ビットのデータを各々記憶することのできる2つのデータ記憶(DS1およびDS2)レジスタを含むデータ記憶部分16に接続される。データ記憶部分16は、読み出しまたはベリファイ動作中に選択されたビット線(BL)の電位レベルを感知し、その後にデータをバイナリ式に記憶し、プログラミング動作の間ビット線電圧を制御する。データ記憶部分16は、“EVENBL”および“ODDBL”の信号のうちの一方を選択することによって、選択されたビット線(BL)に選択的に接続される。データ記憶部分16は、読み出しデータを出力しプログラムデータを記憶するためにI/O線にも接続されている。図1に関して前に説明したように、I/O線はデータ入出力バッファ6に接続されている。
記憶素子あたりに2より多い状態を有するメモリシステムの動作
図8Aは、各フローティングゲート記憶素子が各メモリセル(M)に2ビットのデータ、すなわち4つのデータ状態を記憶するときのメモリセルアレイ1についてのしきい値電圧分布を示す。曲線33は、消去された状態(Eデータ状態)であるアレイ1内のセルのしきい値レベルVT の分布を表し、負のしきい値電圧レベルである。AユーザデータおよびBユーザデータを各々記憶したメモリセルのしきい値電圧分布34および35は、0Vと1Vの間および1Vと2Vの間にあるように示されている。曲線36は、Cデータ状態にプログラムされたセルの分布を示し、2Vより高くかつ読み出しパス電圧の4.5Vより低くセットされた最高しきい値電圧レベルである。
単一のメモリセル(M)に記憶される2ビットの各々は、この例において、異なる論理ページからのものである。すなわち、各メモリセルに記憶される2ビットの各ビットは、他方とは異なる論理ページアドレスを有する。図8Aに示されている下側ページビットは、偶数ページアドレス(=0,2,4,...,N/2)が入力されたときにアクセスされ、このNはメモリの論理ページ容量である。上側ページビットは、奇数ページアドレス(=1,3,5,...,[N/2]+1)が入力されたときにアクセスされる。図8Aに示されている符号化の例を用いると、状態Eは“11”状態として表され得、状態Aは“10”状態として表され得、状態Bは“00”状態として表され得、状態Cは“01”状態として表され得、ここで第1の二進数字は上側ページに記憶される値を表し、第2の二進数字は下側ページに記憶される値を表す。
改善された信頼性を提供するためには、個々の分布が引き締まっている(しきい値分布が狭い)ほうがよい。なぜならば、より引き締まった分布はより広い読み取りマージン(それらの間の距離)をもたらすからである。本発明によれば、プログラミング速度の顕著な低下を伴うことなく引き締まったままである。
本願明細書において参照により援用されている論文“マルチレベルNAND EEPROMのための高速で正確なプログラミング方法”,VLSI技術に関する1995年のシンポジウムの要約,129〜130頁 (the article “Fast and Accurate Programming Method for Multi-level NAND EEPROMs", Digest of 1995 Symposium on VLSI Technology, pp. 129-130)(非特許文献1)によれば、大体において、分布を0.2V幅に制限するためには普通の繰り返しプログラミングパルスをステップ間で0.2V増分する必要がある。図9は、現在のプログラミングパルス手法を示す。プログラミング電圧Vpgm波形が示されている。プログラミング電圧Vpgmは多数のパルスに分割されていて、パルスごとに0.2V高められる。Vpgmの始動レベルは、この特定の例では、12Vである。
パルス間の期間には、ベリファイ(読み出し)動作が実行される。すなわち、並列にプログラムされる各セルのプログラムされたレベルは、それがそのレベルへプログラムされるところのベリファイレベルに等しいかまたはそれより高いか判定するために、各プログラミングパルスの間に読み出される。所与のメモリセルのしきい値電圧がベリファイレベルを超えていると判定されたならば、その所与のセルの直列セルユニットが接続されているビット線の電圧を0VからVddに高めることによって、そのビットについてのプログラミングが停止または禁止される。同じページ上の並列にプログラムされるセルのうちの他のセルのプログラミングは、それらがそれらのベリファイレベルに到達するまで、続行される。しきい値電圧がセルの最後のプログラミングパルスの間にベリファイレベルの下からその上へ移るとき、しきい値電圧のシフトは0.2VのVpgmステップサイズに等しい。従って、しきい値電圧は0.2V幅以内に調節される。
図8Bおよび8Cは、前述したタイプのアレイにおいて4状態NANDメモリセルをプログラムする1つの具体的な現在の手法を示す。第1のプログラミングパスにおいて、セルのしきい値レベルは下側論理ページからのビットに従ってセットされる。そのビットが“1”であれば、それは前に消去されたことの結果としてその状態にあるから、何も行われない。しかし、そのビットが“0”であれば、それ以上のプログラミングを禁止するためにベリファイ電圧としてVVAを用いてセルのレベルがAプログラミング済み状態34に高められる。これで第1のプログラミングパスは終了する。
第2のプログラミングパスでは、セルのしきい値レベルは、上側論理ページからそのセルに記憶されるビットに従ってセットされる。“1”ならば、プログラミングは行われない。なぜならば、セルは、下側ページビットのプログラミングに応じて状態33または34の一方であり、その両方が“1”の上側ページビットを有するからである。しかし、その上側ページビットが“0”であれば、そのセルは2回目のプログラミングを受ける。第1のパスの結果としてセルが消去状態すなわちE状態33にとどまれば、そのセルは、図8Cの上側矢印により示されているようにその状態から最高しきい値状態36(状態C)にプログラムされ、それ以上のプログラミングを禁止するベリファイ条件としてVVCが使用される。第1のプログラミングパスの結果としてセルが状態34(状態A)にプログラムされていたならば、図8Cの下側矢印により示されているように、そのセルは、ベリファイ条件としてVVBを用いて第2のパスでその状態から状態35(状態B)にさらにプログラムされる。第2のパスの結果は、第1のパスのプログラミング中に書き込まれた論理値を変更することなく上側ページからの“0”を記憶するように指定された状態にセルをプログラムすることである。この第2のプログラミングサイクル中に、セルのしきい値分布は状態EまたはAにとどまり得、或いは状態BまたはCに移行し得る。同じプログラミングサイクル中に同時に別々のセルに2つの異なる目標しきい値状態が存在するので、各プログラミングパルス後に2つの異なるベリファイレベルVVBおよびVVCが検査されなければならない。或るシステムでは、プログラミングサイクル全体を高速化するためにVVCは後の電圧パルスの間に検査されるだけでよい。
もちろん、メモリが4つより多い状態で操作されるのであれば、メモリセルの確定された電圧しきい値ウィンドウの中に状態数に等しい数の分布がある。さらに、各分布に特定のビットパターンが割り当てられたけれども、別のビットパターンがそのように割り当てられてもよく、その場合には、その間でプログラミングが行われる状態は図8Bおよび8Cに示されているものとは異なり得る。NANDシステムについて背景技術の欄で前に言及された特許において、そのような変形例が幾つか論じられている。さらに、複数状態で操作されるNANDおよび他のタイプのメモリアレイにおける隣接するセルの結合の重要性を低下させるための手法が米国特許第6,522,580号(特許文献17)に記載され、これも、その全体が本願明細書において参照により援用されている。
メモリセルアレイからデータを読み出すために、分布33〜36のうちの隣接するもののほぼ中ほどに位置する電圧VRA,VRBおよびVRCが使用される。これらは、読み出される各セルのしきい値電圧状態と比較されるしきい値電圧である。これは、セルからの測定される電流または電圧を基準電流または電圧と各々比較することによって成し遂げられる。これらの読み出し電圧とプログラムされたしきい値電圧分布との間にはマージンが存在し、従ってこの分布が読み出し電圧VRA,VRBおよびVRCのいずれとも重ならない限りは、前に論じられたように、外乱等からのこの分布のある程度の広がりを許す。しかし、記憶状態分布の数が増えるとこのマージンは縮減され、プログラミングはそのような広がりを防止するために好ましくはより正確に行われる。
前の説明は、2つの論理ページが1つの物理的ページの中に存在するということ、および所与のプログラミングサイクル中に下側論理ページ、上側論理ページの両方ではなくて一方だけがプログラムされるということが想定されている。“マルチレベル不揮発性メモリセルをプログラムし、また抑止する方法およびシステム”という米国公開特許出願第2003/0112663号(特許文献18)は、1つのプログラミング動作中にページの物理的状態の全てをプログラムすることを記載している。図8に示されているセルあたりに4状態の場合には、プログラミング状態A,BまたはCのいずれかにプログラムされるセルは全て前述したように始めに状態Aにプログラムされる。これらの状態のいずれかにプログラムされるべき全てのセルが状態Aに達したとベリファイされた後、上側状態BおよびCのためのデータが図7のデータラッチDS1およびDS2に既に存在するので、プログラミングサイクルは中断や新しいデータの再ロードなしで続行することができ、状態BおよびCにプログラムされるべきセルは状態Bにプログラムされ続け得る。全てのセルがこのレベルに達すると、Cへを必要とするセルだけがその状態へ移行し続けることができる。その特許出願に記載されているように、一定のビット(“高速ビット”)は他(“低速ビット”)より速くプログラムするということが観察され、実際には、状態Aから状態Bへの、また同様に状態Bから状態Cへのプログラミングからの遷移時にワード線電圧の或る程度の低下が望ましい。プログラミング電圧のこの低下を取り入れた代表的な電圧波形が図11に示されている。
図8B〜8Cを用いて特定のプログラミング方式が記載されているが、用いることのできる他の可能なものがある。例えば、米国特許第6,046,935号(特許文献19)は1つのプログラミング方法を記載し、その方法では、第1のプログラミングサイクル中に選択されたセルが状態Eから状態Bにプログラムされる。第2のプログラミングサイクル中に、セルは状態Eから状態Aに、また状態Bから状態Cにプログラムされる。米国特許第6,657,891号(特許文献20)は、状態Bの最初の分布が下側しきい値限界まで広がってもよく、第1のプログラミングサイクルの終了時には最終状態Aと重なってもよく、第2のプログラミングサイクル中に図8Cに示されているその分布に引き締められるに過ぎないということを教示することによって、この方法を巧妙化している。さらに、状態E,A,BおよびCを表すように採用されるバイナリ符号化は、図8A〜Cに示されているものとは異なるように選択されてよい。米国特許第6,046,935号(特許文献19)および第6,657,891号(特許文献20)の両方が、本願明細書において参照により援用されている。
同じページにおける複数のデータ部分の重複プログラミング
前述したように、プログラミングの単位或いは“物理的ページ”は、同時にプログラムされ得るセルから構成される。多状態メモリの場合、各物理的ページは2つ以上の論理ページを記憶することができ、代表的な実施形態は各物理的ページに上側論理ページおよび下側論理ページを格納する。従来技術の2パスのプログラミングプロセスでは、所与の物理的ページに割り当てられた下側ページデータがプログラミング動作をいったん開始したならば、プログラミング動作を成功させるためにプロセスは完了するまでやり通されなければならない。同じ物理的ページに割り当てられた上側ページデータはメモリレジスタ内に存在してもよいけれども、従来技術は、この物理的ページのためのデータ内容の全てを含ませるために第1のプログラミングパスを中断し、後に再開することを許さない。従って、1つの所与の物理的ページにプログラムされるべきデータの全てがメモリ上に存在してもよいが、プログラミングプロセスは完全プログラミングシーケンスに移行できず、上側ページデータは下側ページが第1のパスのプログラミングプロセスを終えるまで待たなければならない。
従来技術において、本願明細書において参照により援用されている米国特許第5,890,192号(特許文献21)および第6,426,893号(特許文献22)により詳しく説明されているように、1つ以上のメモリチップに分散されている、プレーン(またはカッド)として知られている複数の半自律的メモリアレイにおいてプログラミングが同時に実行され得ることも知られている。メモリはバイナリまたは多状態であり得る。この場合、物理的ページは数個のプレーンから成っていて、1つのプログラミング動作はこれらプレーンの各々に1つのセクタ(または他の量のデータ)を同時にプログラムする。その複数のアレイのうちの全部よりは少ない一部のためのデータがメモリに転送されたならば、ページ全体をプログラムするためにメモリはそのページの残りの部分のためのデータを待たなければならない。或いは、メモリは、メモリ自身が持っているデータを部分的ページプログラミング動作でプログラムすることができ、この場合には欠けている部分はプログラムされないかまたはあたかもそのデータがすべて消去された状態であるかのように取り扱われる。そのページに属する追加データがその部分的ページプログラミング中に到着しても、従来技術は、プログラミング動作を中断してその追加データを組み入れて再開することを許さない。
これらの場合の両方とも、物理的ページが包含し得るデータの全量より少ない量のデータでプログラミング動作が開始される点で、類似している。この事情は、物理的ページを水平方向に(プレーンに)または垂直方向に(上側ページおよび下側ページ)に細分することとして概念化され得る。それらの区分のうちの全部よりは少ない区分のためにデータが提供されたとき、利用可能なデータに基づく部分的プログラミングが開始され得る。しかし、物理的ページはプログラミングの1つの単位を形成するので、プログラミングを中断し再開するための備えがなかったならば、後の追加プログラミング動作を用いる以外に追加データを組み入れる方法はない。本発明の主な態様は、この能力を提供する。
上側ページ/下側ページ構成では、これは上側および下側の多状態メモリページの重複プログラミングという結果をもたらす。多数のプレーンの場合には、これはパイプライン形部分的ページプログラミングという結果をもたらす。これら2つの副次的態様の代表的な実施形態では、プログラミングプロセスは、図9に示されているような階段プログラミング波形を使用する。追加データが物理的ページの利用可能な内容未満でのプログラミング動作(下側ページまたは部分的ページプログラミングなど)を受ける物理的ページに対応するとき、プログラミング動作は中断され、セルのデータ内容がベリファイされ、プログラミング動作はリセットされて、その追加データを組み入れて再開される。
上側MLCページおよび下側MLCページの重複プログラミング
背景技術の欄で説明したように、MLCフラッシュメモリの物理的ページが下側ページデータでプログラムされるときには、実際に下側ページデータおよび上側ページデータの両方が結局同じ物理的ページにプログラムされるとき、ユーザ(コントローラ)はプログラミングが終了して上側ページデータのプログラミングを開始できるようになるまで待たなければならない。これが、代表的な4状態セルの実施形態の図10Aに示されている。
図10Aにおいて、第1の行(ホスト転送)はホストからコントローラ20へのデータの転送を示し、第2の行(フラッシュ転送)はその後のこのデータのコントローラからデータ記憶部分16への転送を示す。下側ページとしてプログラムされるべきデータの各セクタ(または他の転送単位)は初めにコントローラに、その後にメモリに転送される。下側ページ全体が転送され終わると、下側ページプログラミングが始まり、ここで図10Aの第3のラインはどのデータがプログラムされるかを示す。下側ページの第1のプログラミングパスは状態Eから状態Aへプログラムするだけなので、この遷移だけがアクティブとして示されている(1E−>Aライン)。E−>Aプログラミングは時点t1で始まり、時点t3で終了する。
下側ページデータがコントローラからメモリに転送された後、上側ページデータがコントローラに、次にフラッシュメモリに転送される。この転送は、下側ページのプログラミングの間に行われ、時点t2で完了する。上側ページデータは時点t2においてチップ上にあるけれども、従来技術は下側ページプログラミングを完了前に終結させてその後に再開することを許さないので、下側ページプログラミングが完了する時点t3までは上側ページデータをプログラムすることはできない。次に、時点t3から、図10Aに示されているように、上側ページデータがプログラムされ始め、A−>B遷移およびE−>C遷移がアクティブとなる。プロセス全体が時点t4において終了する。
本発明の第1の態様によれば、上側ページデータがメモリ上に存在するようになったならば時点t2で下側ページプログラミングは中断される。プロセスは、その後に再開されて、下側ページデータと上側ページデータとを同時にプログラムする。これは、下側ページデータだけのために当てられていた時点t2と時点t3との間のプログラミング時間をなくし、本質的にプログラミング時間をこの量だけ短縮する。
図10Bは、図10Aのプロセスについて付加的な詳細を示している。第1のライン(キャッシュ・ビジー)はデータを転送するためのイネーブル信号に対応する。これがローだった後にハイに転じるとき、プログラミングが実際に完了したことを示すのではなくて、次のデータを保持できるデータレジスタがあることを示す。第2のライン(真ビジー)は、チップ内で実際に起こっていることに対応する。キャッシュ・ビジー信号は、ローになった後に再びハイになって上側ページをロードする前に、ハイになっていてデータの下側ページをロードする。それは、その後、後のデータがロードされるまでローにとどまる。下側ページがロードされると、プログラミングがイネーブルされて下側ページがプログラムされる。データは最低の非消去状態にプログラムされるだけなので、A状態だけがベリファイされることを必要とする。A状態にプログラムされるセルの全てがベリファイするならば(またはパルスの最大数に達したならば)、上側ページのプログラミングが始まる。初めに、E−>C遷移をこうむる状態は、それらのターゲット値に到達するのにより長い時間を要するので、ベリファイはB状態だけについて行われる。結局、pvfyB/Cにより示されているように、BおよびCの両方の状態を検査することが必要になる。B状態のために割り当てられた数のパルスが完了すると、Bターゲット状態を有するセルはロックアウトされて、ターゲット状態としてCを有するセルの全てがベリファイするかまたはパルスの最大数に達するまでC状態だけがベリファイされる。
本発明の第1の態様において、図10Aの時点t2とt3の間の時間(上側ページデータがメモリに転送され終わってはいるがプログラムされてはいない時間)は、多状態メモリにおいて上側ページおよび下側ページの重複プログラミングを許すことによって大部分は除去される。これは、如何なる状況下でもメモリがその最大プログラミング帯域幅でプログラムされることを可能にする。コントローラは、新しいデータで上側ページをプログラムできるようになる前に下側ページプログラミングが完了するのを待たなくてもよい。この方法に基づく、プログラミングをなるべく早く開始する方針は、特にホストがクラスタをなすようにまたは不連続的に書き込みを行う用途における多状態メモリの性能を顕著に向上させることができる。
従来技術の構成では、図10Aの制約は、上側ページデータが転送されるまで下側ページデータをフラッシュメモリのデータレジスタにキャッシングしておき、その後に両方のページを同時にプログラムするキャッシュタイプのコマンドを有するプログラムを用いることによってのみ、回避され得る。この解決策は長い連続的ホスト書き込み動作のために最大プログラミング帯域幅を保つけれども、ホストが小さなクラスタをなすようにまたは不連続的に書き込みを行うのであれば、ゼロまたは役に立たない利点を与える。ホストが長い連続的チャンクをなすデータセクタを書き込まなくて、次のデータ部分が前のものに連続すると期待することが間違っているのであれば、付加的な遅延がもたらされる。
本発明のこの態様において、この方法は、上側ページデータが利用できるようになる前に下側ページのプログラミングを開始することから始まる。上側ページデータが利用可能になったとき、下側ページプログラミングが完了する前にこのプログラミング動作は停止され得る。新しいデータが他の物理的ページに書き込まれるべきであるならば、コントローラは進行中の下側ページプログラミング動作の終了を待つだけでよい。しかし、新しいデータがプログラムされつつある現在の下側ページデータと同じ物理的ページに対応する上側ページデータであるならば、プログラムされつつあるメモリセルのステータスがベリファイされ、その後にメモリのその物理的ページは下側ページデータおよび上側ページデータの両方で並列にプログラムされ得る。その結果として、コントローラは、上側ページのデータを待つ必要がある場合にあり得る性能低下なしでなるべく早く下側ページプログラミングを開始することができる。この方法は図11A〜11Cに略図示されている。
図10Aと同様に、図11Aのプロセスは下側ページデータのホストからコントローラへの、そしてその後のホストからメモリへの転送から始まり、この時点(t1)で下側ページデータのプログラミングが始まる。下側ページデータが転送されると、上側ページデータがメモリに転送され、時点t2で終了する。この時点まで、このプロセスは図12に関して説明したものと本質的に同じである。
データの第2のセットが受け取られたならば、メモリのプログラムされている下側ページと同じ物理的セルに対応する上側ページのためのデータであるのか否かが調べられなければならない。より一般的には、現在プログラムされているものと同じセルのセットに記憶されるデータ状態の追加セットに対応するか否かが調べられる。例えば、1つの物理的ページに3ページが格納されるならば、それはプログラミング中の下側ページに対応する中央のページであり得る。新しい上側ページデータが現在プログラミング中の下側ページに加えられるのが適切であると判定されたときには、“完全シーケンスプログラミング”への変更が開始される。完全シーケンスプログラミングは、2つのバイナリビットが同時にプログラムされることを意味する。これはプログラミング速度を高めるけれども、各プログラミングパルス後に各ビットについてのプログラミングを何時終了するべきかを判定する1つ以上の追加のベリファイステップを必要とし得る。下側ページプログラミングから完全シーケンスプログラミングへの変更を開始するには、幾つかの条件を調べることが必要である。第1に、下側ページプログラミングが実際に完了しているか或いは殆ど完了しているかが判定されなければならない。そうならば、完全シーケンスプログラミングへの変更は起こらず、下側ページプログラミングは普通に完了し、プログラミングは標準的プログラミングアルゴリズムを用いることにより上側ページプログラミングで続行される。第2に、完全シーケンスプログラミングへの変更は、現在のプログラミングベリファイサイクルの完了時にのみ起こる。図9に示されているもののような階段プログラミング電圧波形を用いる実施形態については、プログラミング電圧の新しい開始レベルは時点t2でリセットされる必要があり得る。事情は3つの場合に分類され得る。すなわち、第1の場合には、上側ページデータを受け取った後に下側ページデータプログラミングが完了していることが分かったならば、上側ページデータは、上側ページデータのための標準的な第2のプログラミングパス波形を用いてプログラムされる。第2の場合、上側ページデータが十分早く存在しかつ下側ページ波形が完全シーケンス波形の出発点を超えるほどには進んでいなければ、波形は単調に上昇し続けて完全シーケンス波形に移行することができるが、最大パルス数のカウンタおよび他のパラメータがリセットされる必要があり得る。第3の、下側ページがプログラミングを完了していないがプログラミング電圧波形がその出発完全シーケンス値を超えている場合には、波形は図11Bに示されているように完全シーケンスルーチンを開始するために戻る必要がある。これは、それ以上の下側ページプログラミングから現在ロックアウトされている高速プログラミングビットが第1の完全シーケンスプログラミング電圧パルス後に所望の次のしきい値状態を通り越さないことを保証するために必要である。
図11Bは、図11Aのプロセスのためのプログラミング波形の例を示す。図11Aは、下側ページデータのプログラミング中の或る点での波形を拾い、その物理的ページの中のセルは標準的な第1のパスのパルス/ベリファイサイクルを受けている。イベント時点t2はパルス103またはその後のベリファイ読み出しのあたりで現れると解される。パルス103が偶然に下側ページの第1のプログラミングパスのための最大パルス数に対応するならば、プロセスはその後、上側ページの標準的な第2のプログラミングパスで続行される。パルス103が下側ページの最大パルス数より少なければ、プロセスは多状態プログラミングモードでの完全シーケンスプログラミングに転換する。その最終ターゲット状態としてA状態を持っていて正しくベリファイしたセルはロックアウトし、他の全てのセルはそれ以上のプログラミングを受ける。そのターゲット状態を通り越すのを防止するために、代表的な実施形態は、下側ページの最大値より低い値から完全シーケンス波形を開始する。図11Bにおいて、これは、前のパルス103より低いパルス105として示されている。完全シーケンスプログラミングへの転換時に、幾つかの波形パラメータが変更され得る。開始Vpgm値のほかに、これは最大Vpgm値、パルスの最大数、およびステップサイズを含むが、この例は同じまたはより低いページのステップサイズとしての完全シーケンスのステップサイズを採用している。これらのパラメータは、固定されてもよく、或いは好ましくは設定可能である。
イベントt2がパルス101より前に現れれば、下側ページから完全シーケンスへの転換はパルス振幅が完全シーケンス開始値105に達する前に行われる。この場合、階段はこのレベルに達するまで一定ステップレベルずつ上昇し続けることができて、101と105との間のパルスは除去され、これら2つのパルスは基本的に合体して図9に示されているもののような単一の階段を形成する。下側ページから完全シーケンスへの転換に関連する種々のパラメータもリセットされる。
図11Cは、図10Bの図11Aの実施形態と同等物である。図10Bの場合と同じく、第1のライン(キャッシュ・ビジー)は、データを転送するためのイネーブル信号に対応し、下側ページのロードとその後の上側ページのロードとを示し、この上側ページおよび下側ページは同じ物理的ページに対応する。キャッシュ・ビジー信号は、ローになる前にデータの下側ページをロードするハイであり、その後に再び、上側ページをロードするハイになる。それは、その後、次のデータ(ここでは、次のワード線上の下側ページデータ)がロードされるまでローにとどまる。下側ページがロードされると、プログラミングがイネーブルされて下側ページがプログラムされ、第2のライン(真ビジー)はプログラミングがイネーブルされていることに対応する。
下側ページだけがプログラムされている間、pvfyAにより示されているように、A状態だけがベリファイされなければならない。上側ページデータがロードされると、pvfyA/Bにより示されているようにB状態もベリファイされる。A状態に割り当てられたパルスの数の後、A状態をそのターゲット状態として有するベリファイされていないセルについてプログラミングは停止することができ、それらは誤り訂正方法によって処理され得る。A状態のベリファイが停止されてから或る程度の時間の後、pvfyB/Cにより示されているように、C状態のベリファイがB状態のベリファイに加えられる。B状態のために割り当てられた数のパルスが使用され終わると、pvfyCにより示されているようにC状態だけがベリファイされ続ける。線41は、全てのセルが状態Bでベリファイされて状態Cのプログラミングだけが残っているときに、状態Cについてプログラミングが続行されている間に次のページのための新しいデータが受け取られて現れることができることを示す。これは、プログラミング時間をさらに改善する本発明のもう一つの実施形態である。図8Aにおいて前に参照された状態符号化を仮定すると、状態Bは“00”として表され、状態Cは“01”として表され、そしてプログラミングが続けて行われれば、このセルのための上側ページデータが0であることは分かっている。従って、上側ページバッファレジスタを一時的に解放して次のページのための下側ページデータをこのバッファにロードすることができる(そのデータは、新しいページについてプログラミングが始まるときに下側ページバッファに転送される)。状態Cのその後のプログラミングの間にプログラミング障害があってデータを書き直す必要があったとしても、コントローラはページnのための新しいデータをメモリに転送しなくてもよい。下側ページデータを依然として持っていて、VRBしきい値を用いてセルの状態を単に読み出すことによって上側ページデータを回復することができる(図10Cを参照)。このイベントのとき、エラーがコントローラに報告され、下側ページn+1のための受け取られたデータは捨てられ、ページnのための回復されたデータはコントローラにより指示された新しい記憶位置に書き込まれる。前述した米国特許第6,046,935号(特許文献16)または第6,657,891号(特許文献20)に記載されているような代わりの符号化を用いれば下側ページバッファを解放することができるが、基本原理は同じままである。
パイプライン形部分的ページプログラミング
背景技術の欄で説明したように、フラッシュまたは他のメモリにおいて1つのページが部分的にプログラムされるとき、例えば多数のセクタページまたは多数のプレーンのページが単一のセクタのデータだけでプログラムされるとき、ユーザ(コントローラ)は、同じページの別の部分的プログラミングを開始できるようになるために、プログラミングが終了するまで待たなければならない。このプロセスが図12に示されている。
図12の始めの2つのラインは、転送の単位が完全な上側ページデータまたは下側ページデータではなくて1つのページの部分であることを除いて、図10Aのそれと同様である。プログラムの単位または(プログラミング)ページは、同時にプログラムされ得る転送の複数のそのような単位(この例ではセクタと解される)から成ると考えられる。組み合わされて1つのページをなすこれらのセクタの各々は、メモリの1つの独立した半自律的アレイ、或いはプレーン、に属すると解される。プレーンは、全て同じメモリチップ上に存在することができ、或いは複数のチップに分散され得る。数個のアレイの部分をつなぎ合わせて複合論理構造を形成するプロセスが、共に2003年12月30日に出願された米国特許出願第10/750,157号(特許文献23)および第10/750,155号(特許文献24)により充分に説明され、その両方が本願明細書において参照により援用されている。図12の例は、メモリシステムが部分的ページプログラミングを許すこと、4セクタまでが4プレーンに同時にプログラムされ得ること、対応するセクタがここでは0〜3と称されること、を想定している。本発明のこの態様において、メモリセルはバイナリまたはマルチレベルセルであり得る。マルチレベルデータの場合には、データは、単一論理ページに属する多状態データとして或いは前述した上側ページ/下側ページ構成のような多数のページフォーマットで符号化され得る。最後の場合、このセクションで説明されている本発明のパイプライン形の部分的ページプログラミングの態様は前のセクションで説明された上側ページおよび下側ページの重複プログラミングと組み合され得る。
図12の下側の4つのラインは、どのプレーンが何時どのデータでプログラムされるのかを示す。この例では、ホストはセクタ0,1を順に転送し、メモリはプログラミングを開始する前に両方を蓄積するために待つ。それ以上のデータが到来すると直ぐに示されなければ、或いはシステムが別様にそれ以上のデータを待たないと決定したならば、時点t1でセクタ0,1の部分的ページはプレーン0,1へのプログラミングを開始する。プログラミングは、全てのセルがベリファイするかまたは最大パルス数に達するまで続く。
セクタ0,1の部分的ページがプログラムされている間にこのページに対応するデータの残りの部分が到着し、セクタ2のデータおよびセクタ3のデータが各々時点t2およびt3においてメモリに転送される。従来技術はプログラミングが完了する前にプログラミングを中断し後に再開することに配慮していないので、メモリは、セクタ2,3のデータが第2の部分的プログラミング動作でプレーン2,3にプログラムされ得るようになる前にセクタ0,1が時点t4でプログラミングを終えるのを待たなくてはならない。セクタ2および3をプログラムしている間に、セクタ4〜7が転送され、セクタ2,3の部分的ページプログラミングが終わる時点t5から開始して1つの完全なページとして一緒にプログラムされ得る。これはいろいろなセクタが転送されるタイミングの単なる例に過ぎないということに留意すべきである。より一般的には、これらの考慮事項は、ギャップがあって、1つの完全なページを構成するセクタの全部よりは少ない部分が間を置かずに次々に現れ、その後に、その部分的ページがなおプログラムしている間にそのページに属する追加セクタが到着する場合には、何時でも当てはまる。
セクタ2のためのデータは時点t2で存在し、セクタ3のためのデータは時点t3で存在するのであるが、従来技術によればセクタ0,1の部分的ページはこのページのこれらの追加部分を含むように途中で中断された後に再開されることはできなくて、時点t4で終わらなければならず、その後に第2の部分的ページプログラミングが行われなければならない。本発明の1つの態様は、メモリがどのような状況下でもその最大プログラミング帯域幅でプログラムされ得るようにフラッシュメモリにおいてメモリページのパイプライン形の部分的プログラミングを可能にする方法である。1つの特定の方策は、なるべく早くプログラミングを開始することであり、この方法に基いて、ホストが小さなクラスタをなすようにまたは不連続的に書き込みを行う用途においてシステム性能を顕著に高めることができる。
従来技術におけるこれらの問題に対処するためにいろいろな方法があり、その主要なアイデアはページプログラミングのためになるべく多量のデータを集めることである。この場合、いろいろなセクタのためのデータはそのページのための全てのデータが完全ページプログラミングのために集められるまでコントローラバッファまたはメモリデータレジスタにキャッシングされるので、図12に示されている転送についてはセクタ0〜3の全てが転送されたかまたはホストが不連続的セクタを書き込んでデータが部分的ページプログラミングにより書き込まれるべきであるようになるまで、プログラミングは始まらない。これらの解決策は、長い連続的ホスト書き込み動作の間、最大のプログラミング帯域幅を保つけれども、ホストが小さなクラスタをなすようにまたは不連続的に書き込みを行うのであればゼロまたは役に立たない利点を与える。ホストが長い連続的チャンクをなすデータセクタを書き込まなくて、次のデータ部分が前のものに連続すると期待することが間違っているのであれば、これは付加的な遅延を生じさせる。さらに、この方法は、コントローラが全てのデータをコントローラのバッファに集めるのであれば、より多くのバッファスペースを必要とする。
最初の部分的ページプログラミングは、幾つかのセクタを空白にしたまま、第1のデータ部分で始まる。この最初の部分的ページプログラミングは、次のホストコマンドが受け取られる前に、次のコマンドが連続的セクタ書き込みであるか否かが不明であるときに、始まる。最初の部分的ページプログラミング動作は、その後のコマンドがそのページの空白セクタのためのデータに関するならばその新しいデータ部分が受け取られた直後に完了前に停止され得る。新しいデータが他のページに対応するならば、コントローラは、進行中のプログラミング動作の終了を待つだけでよい。その後にメモリセルのステータスがベリファイされ、そのページはオリジナルデータとその新しいデータとの両方で並列にプログラムされ得る。コントローラが既にプログラムされたセクタのためのデータを含むバッファを解放できるように、メモリは、プログラムされているページの全てのセクタ/プレーンについてのステータスを示すことができる。コントローラは1つのプレーンにおいて次のセクタのプログラミングを他のプレーンにおいて進行中の動作から独立に開始することができ、多数のプレーンメモリは他のプレーンに先んじてプログラミングが完了したプレーンにおいてプログラミングを開始することができる。
これらの種々の副次的態様によれば、コントローラは、後により多くのデータを同じページにプログラムすることを望む場合にありそうな性能ペナルティなしで、始めに部分的プログラミング動作をなるべく早く開始することができる。これは、コントローラが、第1の部分のためのデータを含んでいたデータバッファを、第2の部分のデータプログラミングが完了する前に、解放することをも可能にする。さらに、メモリ構造が許す場合には、コントローラはアクティブでないプレーンでの別のプログラミング動作を開始することができる。
パイプライン形の部分的ページプログラミング動作の第1の実施形態が図13の線図に示されている。図11Aに関して前に論じられたプロセスと同様に、この第1の実施形態は、ページの中断された部分についてプログラミングサイクルが同じ箇所から再開され得ることを想定している。これは、例えば一定パルス振幅を有するパルスプログラミング波形が使用されるとき或いはプログラミングのために一定バイアスが加えられるときには、事実であり得る。各プレーンがそれ自体の階段を持ち得る場合、図9に示されているような階段プログラミング波形にも当てはまり得る。(プレーンの全てが同じ波形を共有する階段プログラミング波形の場合は、以下で図14Aおよび14Bに関して記述される。)
図13において時点t1の前に、セクタ0,1のためのデータがコントローラにより受け取られる。コントローラは、コマンドの実行が成功したこと(書き込みキャッシュがイネーブルされる)およびそれが別のコマンドを実行できることを報告する。セクタ0,1が4プレーンのフラッシュメモリに転送される。その後、部分的ページプログラミングが始まり、プレーン0,1はそれに応じてセクタ0のデータおよびセクタ1のデータでプログラムされ、プレーン2,3は空白データ(FF)でプログラムされるかまたは全くプログラムされない。本発明は4セクタの単一プレーンメモリに適用され、その場合FFがプログラムされるべきである。単一プレーンデバイスにおいてもプログラミング回路はセルのどのグループ(例えば、セクタ)がプログラムされるかということに関する情報を提供できるので、それらのセルのデータを含むバッファが解放され得る。
時点t2で、新しいコマンドによりセクタ2のためのデータが受け取られる(他の例の場合と同じくこれはどのセクタであってもよく、それは後に同じページの一部としてセクタ0および1に書き込まれる)。コントローラはコマンド実行の成功を報告し、セクタ2はフラッシュメモリに転送される。物理的ページプログラミングは停止され、後に全てのセルについて正しいプログラミングモード(例えば、粗または精密)を選択できるように物理的ページの状態がベリファイされる。その後、部分的ページプログラミングが再開され、プレーン0,1,2が対応的にセクタ0,1,2のデータでプログラムされ、プレーン3は空白データ(FF)でプログラムされるかまたは全くプログラムされない。粗/精密プログラミングモードの1つの実施例が、米国特許第6,643,188号(特許文献25)において開示され、本願明細書において参照により援用されている。
時点t3で、セクタ3のためのデータが新しいコマンドにより受け取られる。コントローラは、利用できるデータバッファがないので、コマンド実行の成功を報告しない。セクタ3はフラッシュメモリに転送される。物理的ページプログラミングは再び停止され、後に全てのセルについて正しいプログラミングモードを選択できるように物理的ページの状態がベリファイされる。その後、完全ページプログラミングが始まることができ、そのときプレーン0,1,2,3は対応的にセクタ0,1,2,3のデータでプログラムグされる。
この実施形態では、時点t4で、プレーン0,1へのセクタ0,1のデータのプログラミングは終わり、コントローラはセクタ0,1のためのデータを含んでいたバッファを解放し、コントローラは最後のコマンドの実行の成功を報告する。時点t4の後、時点t5の前に、セクタ4,5のためのデータがコントローラにより受け取られて4プレーンのフラッシュメモリに転送される。メモリが独立プレーンのプログラミングを許すならば、プレーン0,1のプログラミングが始まることができ、そのときプレーン0,1は対応的にセクタ4,5のためのデータでプログラムされ、プレーン2,3は依然として空白データ(FF)でプログラムされるかまたは全くプログラムされない。メモリプレーンが独立にプログラムされ得ないのであれば、物理的ページプログラミングは停止され得、後に全てのセルについて正しいプログラミングモードを選択できるように物理的ページの状態がベリファイされ、全てのプレーンのためのプログラミングがセクタ2,3,4,5のためのデータで開始され得る。
時点t6の前に、プレーン2のプログラミングが終わり、コントローラはセクタ2のためのデータを含んでいたバッファを解放し、コントローラは最後のコマンドの実行の成功を報告する。その後、セクタ6のためのデータがコントローラにより受け取られる。コントローラは、利用できるデータバッファがないので、コマンド実行の成功を報告しない。セクタ6はフラッシュメモリに転送される。メモリが独立プレーンのプログラミングを許すならば、プレーン2のプログラミングがセクタ6のデータで始まり、プレーン0,1,3は各々セクタ4,5,3のデータでプログラミングを再開する。メモリプレーンが独立にプログラムされ得ないのであれば、物理的ページプログラミングは停止されるべきであり、後に全てのセルについて正しいプログラミングモードを選択できるように物理的ページの状態がベリファイされ、全てのプレーンのためのプログラミングがセクタ3,4,5,6のためのデータで開始され得る。
時点t7で、プレーン3のプログラミングは終わり、コントローラはセクタ3のためのデータを有するバッファを解放することができる。セクタ4,5,6のプログラミングがまだ開始されていなければ、部分的ページプログラミングが始まることができ、そのときプレーン0,1,2は対応的にセクタ4,5,6のデータでプログラムされ、プレーン3は空白データ(FF)でプログラムされるかまたは全くプログラムされない。時点t8で、セクタ7のデータが新しいコマンドにより受け取られる。コントローラは、利用できるデータバッファがないのでコマンド実行の成功を報告しない。セクタ7はフラッシュメモリに転送される。物理的ページプログラミングは停止され、後に全てのセルについて正しいプログラミングモードを選択できるようにその状態がベリファイされる。完全プログラミングが始まり、そのときプレーン0,1,2,3は対応的にセクタ4,5,6,7のデータでプログラムされる。
図14Aおよび14Bは、パイプライン形の部分的ページプログラミングのための第2の実施形態を示す。この実施形態は、付け加えられたページの追加部分のためのデータでプログラミングが再開されるときにプログラミングプロセスがリセットされなければならない場合を含む点において図13のそれと異なる。これは、物理的ページのプレーンの全てが同じプログラミング電圧(Vpgm )を共有し、プログラミング波形が図9のそれのような階段である構造において、生じる。この構成では、プレーンのいずれかにおいてワード線のプログラミングサイクルが始まるとそれを不完全に終わらせることができるが、追加データがその物理的ページの他のプレーンに付け加えられるならばVpgm はその新しいデータのためにリセットされなければならない。従って、同じ電荷ポンプがそのワード線全体に供給をするので、その物理的ページの残りの部分においてもリセットされる。この構成では、例えば、セクタ1をプログラムする動作は必ずしも図13に示されているようにセクタ2より前に終わるわけではない。図14Aおよび14Bの実施形態では、プログラミングが中断されるとき、Vpgm はリセットされ、データレジスタは、不完全にプログラムされたセルの状態を読み出すことによってリセットされる。これらの詳細の多くにおいて、図11A〜11Cの実施形態が図10の実施形態に関連するのと全く同様に図14Aおよび14Bの実施形態は図13の実施形態に関連する。
時点t2まで、図14Aのプロセスは図13の場合と同じである。セクタ2のデータが転送されると、パルス/ベリファイプロセスの現在のサイクルは完了され、セルの状態がベリファイされ、プログラミング波形はリセットされる。そのリセットは、時点t2においてVpgm 波形を、それが時点t1で始まったときと同じレベルから、開始させる。パルスの最大数などの、プロセスに関連する適切なパラメータもリセットされる。従って、セクタ3のためのデータが充分早く到着しなければ、セクタ0,1のプログラミングはセクタ2のプログラミングと共にt7より早いどこかの時点で終了する。
しかし、この例では、セクタ3のデータが到着して時点t3で転送される。プレーン0〜2の部分的ページのプログラミングは中断され、プログラミングプロセスは時点t2の場合と同じく再びリセットされ、プログラミングは完全ページで再開する。そのリセットの故に、完全ページは時点t7で終わる。これは、データが利用できるようになり次第各セクタのプログラミングがパイプライン形の部分的ページプロセスで始まることを可能にする。セクタ2,3の両方がプログラミングを開始するために時点t4まで待つのではなくて、これらは各々t2およびt3から開始することができる。
セクタ0〜3がプログラムされている間に、セクタ4,5が時点t5まで転送され、セクタ6は時点t6まで転送される。第1のページが時点t7で終了すると、第1のページと同じプロセスに従って各々のセクタデータ4〜6でのプレーン0〜2の部分的ページプログラミングが始まる。これは、セクタ0〜3がプログラミングを終える前にバッファスペースが利用可能であることを想定している。そうでなければ、この第1のページのプログラミングが終了し次第、セクタ4〜6がイベント時点t4後に転送される。それらがメモリ上に存在すれば、プレーン0〜2へのセクタ4〜6の部分的ページのプログラミングが始まる。セクタ7のデータが到着したとき、プレーン0〜2の部分的ページプログラミングは中断され、プロセスはリセットされ、イベント時点t8において完全ページプログラミングが再開する。
図14Bは、時点t1から時点t5付近の何処かの時点までの図14Aのプロセスのための代表的な波形である。このVpgm 波形は、図9のそれを目指すように開始し、プレーン0,1の部分的(物理的)ページにプログラムされるべきセクタ0,1の部分的(論理的)ページのために使用される。セクタ2のための追加データはパルス201と関連するパルス/ベリファイサイクルの何処かの時点で現れる。プログラミングは中断され、セルの状態が判定され、プログラミングはリセットされてセクタ0〜2のために再開される。同様に、そのページのための残りのデータがパルス205に関連するパルス/ベリファイサイクルの何処かの時点で現れたとき、部分的ページプログラミングは中断されて207において完全ページで再開され、そして以降、いまや標準的な完全ページプログラミングプロセスで同様である。
前述した実施形態の全てにおいて、上側MLCページおよび下側MLCページのパイプライン形部分的ページプログラミングおよび重複プログラミングの両方について(すなわち、同じページにおけるデータ部分の重複プログラミングの“水平”の実施例および“垂直”の実施例の両方について)、“現在のプログラミング動作”または、より簡単には、“同時にプログラムする”という言い方は、1つのページの中の全てのデータのための全てのプログラミングパルスが完全に同時に起こることを必ずしも示唆しないことに留意するべきである。これは、1つのページが複数のプレーンにわたる場合(“メタページ”)にも当てはまる。例えば、1つのメタページが複数のチップにわたる場合、最初のチップにおけるプログラミング動作のプログラミングパルスが先に開始され、その後に第2のチップにおける同じプログラミング動作のためのものが開始されてよい。このような広範囲にわたるメタページは、或るマルチチップ並列構成で便宜上用いられる。これらが利益を提供できる領域は、アドレス変換である、1つのメタページの複数の部分のプログラミングが同時ではない場合、複数のプログラミングのために充分なデータが集められているならば、プログラミングパルスを短い時間を置いて次々に開始させることが出来る場合にオーバーヘッドを最小にするとき(極端な場合、メモリチップの中でデータが1ビットずつプログラムされ得る)、および/または電力消費を最小にするときを含む。
誘電体記憶素子の代替使用
フラッシュEEPROMメモリセルの前述した例は、電荷記憶素子として伝導性フローティングゲートを利用するタイプのセルに関して説明してきた。しかし、本発明の種々の態様は、本願明細書において参照により援用されている2004年5月7日に出願された米国特許出願第10/841,379号(特許文献26)に記載されている種々のメモリ技術と関連して使用され得る。例えば、本発明は、フローティングゲートの代わりに個々のメモリセルにおいて記憶素子として電荷捕獲誘電体を使用するシステムにおいても実施され得る。誘電体記憶素子はセルのチャネル領域内で伝導性コントロールゲートと基板との間に挟まれる。この誘電体はフローティングゲートと同じサイズおよび位置を有する個々の素子に分離され得るけれども、そのようにすることは、電荷がそのような誘電体によって局所的に捕獲されるので、普通は不要である。電荷捕獲誘電体は、選択トランジスタ等により占められる領域を除いてアレイ全体に広がることができる。
誘電体記憶素子メモリセルは次の技術論文および特許に一般的に説明されている。すなわち、チャンら,“真の単一トランジスタ酸化物−窒化物−酸化物EEPROMデバイス”,IEEE電子デバイスレターズ,第EDL−8巻,第3号,1987年3月,93〜95頁 (Chan et al., “A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device," IEEE Electron Device Letters, Vol. EDL-8, No. 3, March 1987, pp. 93-95)(非特許文献2)、ノザキら,“半導体ディスク用途のためのMONOSメモリセルを有する1Mb EEPROM”,IEEE固体回路ジャーナル,第26巻,第4号,1991年4月,497〜501頁 (Nozaki et al., “A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application,” IEEE Journal of Solid State Circuits, Vol. 26, No. 4, April 1991, pp. 497-501) (非特許文献3)、エイタンら、“NROM:新規な局所トラッピング、2ビットの不揮発性メモリセル”,IEEE電子デバイスレターズ,第21巻,第11号,2000年11月,543〜545頁 (Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, Vol. 21, No. 11, November 2000, pp. 543-545) (非特許文献4)、および米国特許第5,851,881号(特許文献27)である。これらの論文および特許は、その全体が本願明細書において参照により援用されている。
実用的な電荷捕獲誘電体材料および構成が2つある。1つは、最初に基板上に成長した二酸化ケイ素、その上に堆積された窒化ケイ素、およびその窒化ケイ素層上に成長しかつ/または堆積された酸化ケイ素のもう一つの層を有する3層誘電体(“ONO”)である。第2のものは、ゲートと半導体基板表面との間に挟まれたケイ素に富む二酸化ケイ素の単一の層である。この後者の材料は、次の2つの論文で説明されている。すなわち、ディマリアら,“Siに富むSIO2 インジェクタとフローティング多結晶ケイ素記憶層を使用する電気的に可変な読み出し専用メモリ”,応用物理学ジャーナル52(7),1981年7月,4825〜4842頁 (DiMaria et al., “Electrically-alterable read-only-memory using Si-rich SIO2 injectors and a floating polycrystalline silicon storage layer," J. Appl. Phys. 52(7), July 1981, pp. 4825-4842)(非特許文献5)、およびホリら,“不揮発性メモリ用途のためのSi打ち込みゲート−SiO2絶縁体を有するMOSFET”,IEDM92,1992年4月,469〜472頁 (Hori et al., “A MOSFET with Si-implanted Gate-SiO2 Insulator for Nonvolatile Memory Applications," IEDM92, April 1992, pp. 469-472) (非特許文献6)である。誘電体記憶素子は、2002年10月25日に出願された米国特許出願第10/280,352号(特許文献28)においてさらに論じられ、本願明細書において参照により援用されている。
本発明は特定の例とその変形例とに関して説明してきたが、本発明が添付されている特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
本発明の種々の態様が実施されると記載される不揮発性メモリシステムのブロック図である。 メモリセルアレイがNANDタイプのものであるときの図1のメモリアレイの現存する回路および組織を示す。 半導体基板上に形成されたNANDタイプのメモリアレイの、列に沿っての横断面図を示す。 図3のメモリアレイの、その断面4−4において描かれた横断面図である。 図3のメモリアレイの、その断面5−5において描かれた横断面図である。 図2〜5のNANDメモリセルアレイの動作電圧の例の表1を提供する。 図2〜5のNANDメモリセルアレイの他の特徴を示す。 4状態で操作されたときの図2〜5のNANDメモリセルアレイのしきい値電圧の現在の分布例を示す。 図2〜5のメモリセルアレイをプログラムするための多状態手法を示す電圧しきい値レベル分布である。 図2〜5のメモリセルアレイをプログラムするための多状態手法を示す電圧しきい値レベル分布である。 図2〜5のメモリセルアレイで使用され得るプログラミング電圧信号の例を示す。 従来技術で実行される上側MLCページおよび下側MLCページのプログラミングを表す。 従来技術で実行される上側MLCページおよび下側MLCページのプログラミングを表す。 上側MLCページおよび下側MLCページのプログラミングを重ねるためのプロセスの第1の実施形態を表す。 上側MLCページおよび下側MLCページのプログラミングを重ねるためのプロセスの第1の実施形態を表す。 上側MLCページおよび下側MLCページのプログラミングを重ねるためのプロセスの第1の実施形態を表す。 従来技術で実行され得る部分的ページプログラミングを表す。 パイプライン形部分的ページプログラミングプロセスの第1の実施形態を示す。 パイプライン形部分的ページプログラミングプロセスの第2の実施形態を示す。 パイプライン形部分的ページプログラミングプロセスの第2の実施形態を示す。

Claims (37)

  1. プログラミング動作中、1つの物理的ページを成すように形成された複数の多状態記憶ユニットにデータが書き込まれる、不揮発性メモリをプログラムする方法において、
    1つの物理的ページに割り当てられた第1のデータ内容を受け取るステップであって、前記第1のデータ内容が前記物理的ページの記憶ユニットに格納可能なデータ内容の全てよりは少ないデータ内容を特定するステップと、
    前記物理的ページへの前記第1のデータ内容のプログラミング動作を始めるステップと、
    前記第1のデータ内容を受け取るステップの後、前記第1のデータ内容のプログラミング動作を完了する前に、前記物理的ページの前記記憶ユニットのための追加のデータ内容を受け取るステップと、
    前記追加のデータ内容を受け取るステップの後、前記第1のデータ内容のプログラミング動作を完了する前に、前記第1のデータ内容のプログラミング動作を中断するステップと、
    前記物理的ページへの前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始めるステップと、
    を含む不揮発性メモリをプログラムする方法。
  2. 請求項1記載の方法において、
    前記第1のデータ内容は、下側データページであり、前記追加の内容は上側データページである方法。
  3. 請求項1記載の方法において、
    前記第1のデータ内容のプログラミング動作を中断する前に、前記追加のデータ内容が前記第1のデータ内容と同じ物理的ページに割り当てられていることを判定するステップをさらに含む方法。
  4. 請求項1記載の方法において、
    前記第1のデータ内容のプログラミング動作を中断した後、前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始める前に、前記物理的ページの前記記憶ユニットの状態をベリファイするステップをさらに含む方法。
  5. 請求項4記載の方法において、
    前記第1のデータ内容のプログラミング動作を中断した後、前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始める前に、1つ以上のプログラミングパラメータをリセットするステップをさらに含む方法。
  6. 請求項5記載の方法において、
    前記プログラミング動作は、マグニチュードが増大するパルスの系列を含むプログラミング波形を使用する方法。
  7. 請求項6記載の方法において、
    前記1つ以上のプログラミングパラメータは、前記プログラミング波形の振幅を含む方法。
  8. 請求項6記載の方法において、
    前記1つ以上のプログラミングパラメータは、パルスの最大数を含む方法。
  9. 請求項6記載の方法において、
    前記第1のデータ内容のプログラミング動作を中断した後、前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始める前に、前記物理的ページの前記記憶ユニットの状態をベリファイする動作をさらに含み、前記プログラミングパラメータは前記記憶ユニットの前記状態に基づいてセットされる方法。
  10. 請求項1記載の方法において、
    前記物理的ページへの前記第1のデータ内容のプログラミング動作は、前記物理的ページの特定されていないデータ内容のために空白データを書き込むことを含む方法。
  11. 請求項1記載の方法において、
    前記第1のデータ内容を受け取るステップの後、前記物理的ページへの前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を完了する前に、前記メモリの前記物理的ページの外側の部分で別のプログラミング動作を開始するステップをさらに含む方法。
  12. プログラミング動作中、複数の記憶ユニットを有する物理的ページにデータが書き込まれる、不揮発性メモリをプログラムする方法において、
    物理的ページに割り当てられた第1のデータ内容を受け取るステップであって、前記第1のデータ内容が前記物理的ページを形成する前記記憶ユニットのうちの全てよりは少ない記憶ユニットのためのデータ内容を特定するステップと、
    前記物理的ページへの前記第1のデータ内容のプログラミング動作を始めるステップと、
    前記第1のデータ内容を受け取るステップの後、前記第1のデータ内容のプログラミング動作を完了する前に、前記物理的ページの、前記第1のデータ内容によりデータが特定されていない1つ以上の追加の記憶ユニットのための追加のデータ内容を受け取るステップと、
    前記追加のデータ内容を受け取るステップの後、前記第1のデータ内容のプログラミング動作を完了する前に、前記第1のデータ内容のプログラミング動作を中断するステップと、
    その後、前記物理的ページへの前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始めるステップと、
    を含む不揮発性メモリをプログラムする方法。
  13. 請求項12記載の方法において、
    前記ページは複数のセクタを含み、前記第1のデータ内容は前記ページの1つ以上で全部よりは少ないセクタを含み、前記追加のデータ内容は前記ページの1つ以上のセクタを含む方法。
  14. 請求項12記載の方法において、
    前記物理的ページは、前記不揮発性メモリの複数のプレーンに分散されている方法。
  15. 請求項12記載の方法において、
    前記第1のデータ内容のプログラミング動作を中断する前に、前記追加のデータ内容が前記第1のデータ内容と同じ物理的ページに割り当てられていることを判定するステップをさらに含む方法。
  16. 請求項12記載の方法において、
    前記第1のデータ内容のプログラミング動作を中断した後、前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始める前に、前記物理的ページの前記記憶ユニットの状態をベリファイするステップをさらに含む方法。
  17. 請求項16記載の方法において、
    前記物理的ページの前記記憶ユニットの状態をベリファイした後、前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始める前に、1つ以上のプログラミングパラメータをリセットするステップをさらに含む方法。
  18. 請求項17記載の方法において、
    前記プログラミング動作は、マグニチュードが増大するパルスの系列を含むプログラミング波形を使用する方法。
  19. 請求項18記載の方法において、
    前記1つ以上のプログラミングパラメータは、前記プログラミング波形の振幅を含む方法。
  20. 請求項18記載の方法において、
    前記1つ以上のプログラミングパラメータは、パルスの最大数を含む方法。
  21. 請求項12記載の方法において、
    前記物理的ページへの前記第1のデータ内容のプログラミング動作は、データが特定されていない前記物理的ページの前記記憶ユニットのために空白データを書き込むことを含む方法。
  22. 請求項12記載の方法において、
    前記第1のデータ内容を受け取るステップの後、前記物理的ページへの前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を完了する前に、前記メモリの前記物理的ページの外側の部分で別のプログラミング動作を開始するステップをさらに含む方法。
  23. プログラミング動作中、複数の記憶ユニットにデータが書き込まれる、不揮発性メモリをプログラムする方法において、
    前記複数の記憶ユニットに割り当てられた第1のデータ内容を受け取るステップであって、前記記憶ユニットが含むことのできるデータ内容の全てよりは少ないデータ内容のためのデータ内容を前記第1のデータ内容が特定するステップと、
    前記複数の記憶ユニットへの前記第1のデータ内容のプログラミング動作を始めるステップと、
    前記第1のデータ内容を受け取るステップの後、前記第1のデータ内容のプログラミング動作を完了する前に、前記複数の記憶ユニットに含まれ得る追加のデータ内容を受け取るステップと、
    前記追加のデータ内容を受け取るステップの後、前記第1のデータ内容のプログラミング動作を完了する前に、前記第1のデータ内容のプログラミング動作を中断するステップと、
    その後、前記複数の記憶ユニットへの前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始めるステップと、
    を含む不揮発性メモリをプログラムする方法。
  24. 請求項23記載の方法において、
    前記複数の記憶ユニットは多状態記憶ユニットであり、複数の論理ページを記憶する物理的ページを成すように形成され、前記第1のデータ内容は前記複数のページのうちの全てよりは少ないページのためのデータ内容を特定する方法。
  25. 請求項23記載の方法において、
    前記第1のデータ内容は前記記憶ユニットのうちの全てよりは少ない記憶ユニットのためのデータ内容を特定し、前記追加のデータ内容は前記記憶ユニットのうちの前記第1のデータ内容によりデータが特定されていない1つ以上の追加の記憶ユニットのためのデータ内容を特定する方法。
  26. 請求項23に記載の方法において、
    前記第1のデータ内容のプログラミング動作を中断した後、前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始める前に、前記複数の記憶ユニットの状態をベリファイするステップをさらに含む方法。
  27. 請求項26記載の方法において、
    前記複数の記憶ユニットの状態をベリファイした後、前記第1のデータ内容および前記追加のデータ内容の同時プログラミング動作を始める前に、1つ以上のプログラミングパラメータをリセットするステップをさらに含む方法。
  28. 請求項27記載の方法において、
    前記プログラミング動作は、マグニチュードが増大するパルスの系列を含むプログラミング波形を使用する方法。
  29. 請求項28記載の方法において、
    前記1つ以上のプログラミングパラメータは、前記プログラミング波形の振幅を含む方法。
  30. 請求項28記載の方法において、
    前記1つ以上のプログラミングパラメータは、パルスの最大数を含む方法。
  31. 請求項23記載の方法において、
    前記複数の記憶ユニットへの前記第1のデータ内容のプログラミング動作は、前記記憶ユニットの特定されていないデータ内容のために空白データを書き込むことを含む方法。
  32. 請求項23記載の方法において、
    前記第1のデータ内容を受け取るステップの後、前記複数の記憶ユニットへの前記第1データ内容および前記追加のデータ内容の同時プログラミング動作を完了する前に、前記複数の記憶ユニットを含まない前記メモリの部分で別のプログラミング動作を開始するステップをさらに含む方法。
  33. 1つの物理的ページを成すように形成された複数の記憶ユニットに複数のデータバッファから同時にデータをプログラムすることのできる、不揮発性メモリを操作する方法において、
    データが前記複数のバッファから前記物理的ページに書き込まれるプログラミング動作を実行するステップと、
    前記複数のバッファのうちの、全てよりは少ない1つ以上のバッファに対応する記憶ユニットのデータ内容が首尾良く書き込まれているかをベリファイする動作と、
    前記複数のバッファのうち、内容が首尾良く書き込まれているとベリファイされた記憶ユニットに対応するもの以外のバッファに対応する記憶ユニットのために前記プログラミング動作を続行するステップと、
    前記プログラミング動作を続行するステップと同時に、内容が首尾良く書き込まれているとベリファイされた記憶ユニットに対応するバッファに新しいデータ内容を受け取るステップと、
    を含む不揮発性メモリを操作する方法。
  34. 請求項33記載の方法において、
    前記記憶ユニットは、バイナリデータを記憶する方法。
  35. 請求項33記載の方法において、
    前記記憶ユニットは、多状態データを記憶する方法。
  36. 請求項33記載の方法において、
    前記物理的ページは、前記不揮発性メモリの複数のプレーンに分散されている方法。
  37. 請求項33記載の方法において、
    前記バッファの各々は、データの1つ以上のセクタを記憶する方法。
JP2007546706A 2004-12-14 2005-11-28 初期データを用いる不揮発性メモリのパイプライン形プログラミング Expired - Fee Related JP4372196B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/013,125 US7120051B2 (en) 2004-12-14 2004-12-14 Pipelined programming of non-volatile memories using early data
PCT/US2005/043020 WO2006065518A1 (en) 2004-12-14 2005-11-28 Pipelined programming of non-volatile memories using early data

Publications (2)

Publication Number Publication Date
JP2008523542A true JP2008523542A (ja) 2008-07-03
JP4372196B2 JP4372196B2 (ja) 2009-11-25

Family

ID=36583610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007546706A Expired - Fee Related JP4372196B2 (ja) 2004-12-14 2005-11-28 初期データを用いる不揮発性メモリのパイプライン形プログラミング

Country Status (10)

Country Link
US (3) US7120051B2 (ja)
EP (1) EP1829045B1 (ja)
JP (1) JP4372196B2 (ja)
KR (1) KR101193584B1 (ja)
CN (1) CN100543878C (ja)
AT (1) ATE475185T1 (ja)
DE (1) DE602005022487D1 (ja)
IL (1) IL183833A0 (ja)
TW (1) TWI413125B (ja)
WO (1) WO2006065518A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008091011A (ja) * 2006-09-29 2008-04-17 Hynix Semiconductor Inc フラッシュメモリ素子とそのプログラム方法
JP2012507803A (ja) * 2008-10-30 2012-03-29 マイクロン テクノロジー, インク. メモリ・デバイスにおけるデータ転送およびプログラミング
JP2015212992A (ja) * 2014-05-01 2015-11-26 株式会社東芝 半導体記憶装置
JP2018041523A (ja) * 2016-09-07 2018-03-15 東芝メモリ株式会社 半導体記憶装置
KR20180137601A (ko) * 2014-05-06 2018-12-27 마이크론 테크놀로지, 인크. 다중 메모리 동작을 수행하기 위한 장치 및 방법
US10600484B2 (en) 2017-12-20 2020-03-24 Silicon Storage Technology, Inc. System and method for minimizing floating gate to floating gate coupling effects during programming in flash memory

Families Citing this family (330)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687158B2 (en) * 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
US7881133B2 (en) * 2003-11-11 2011-02-01 Samsung Electronics Co., Ltd. Method of managing a flash memory and the flash memory
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7298648B2 (en) * 2004-11-19 2007-11-20 Samsung Electronics Co., Ltd. Page buffer and multi-state nonvolatile memory device including the same
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
KR100890672B1 (ko) * 2005-02-03 2009-03-26 가부시끼가이샤 도시바 불휘발성 반도체 기억 장치 및 그 동작 방법
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
KR100713984B1 (ko) * 2005-09-15 2007-05-04 주식회사 하이닉스반도체 멀티-플레인 구조를 갖는 비휘발성 메모리 장치의 프로그램방법
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7301817B2 (en) * 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
JP4960378B2 (ja) 2005-12-06 2012-06-27 サンディスク コーポレイション 不揮発性メモリの読み出し外乱を低減する方法
US7355888B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Apparatus for programming non-volatile memory with reduced program disturb using modified pass voltages
US7355889B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
US7365018B2 (en) * 2005-12-28 2008-04-29 Sandisk Corporation Fabrication of semiconductor device for flash memory with increased select gate width
JP4233563B2 (ja) * 2005-12-28 2009-03-04 パナソニック株式会社 多値データを記憶する不揮発性半導体記憶装置
CN101395673B (zh) 2006-03-03 2011-09-21 桑迪士克股份有限公司 对浮动栅极耦合具有补偿的非易失性存储装置的读取操作
EP1833058B1 (en) * 2006-03-10 2010-08-11 STMicroelectronics Srl Method for programming/erasing a non volatile memory cell device, in particular for flash type memories
WO2007131127A2 (en) * 2006-05-05 2007-11-15 Sandisk Corporation Merging queued memory operation in a non-volatile memory
WO2007131062A2 (en) 2006-05-05 2007-11-15 Sandisk Corporation Non-volatile memory with background data latch caching during read operations and methods therefor
KR101202537B1 (ko) * 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
KR101375955B1 (ko) 2006-05-12 2014-03-18 애플 인크. 메모리 디바이스 내의 왜곡 추정 및 상쇄
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
WO2008097320A2 (en) * 2006-06-01 2008-08-14 Virginia Tech Intellectual Properties, Inc. Premixing injector for gas turbine engines
US7586784B2 (en) * 2006-06-09 2009-09-08 Micron Technology, Inc. Apparatus and methods for programming multilevel-cell NAND memory devices
US7391650B2 (en) * 2006-06-16 2008-06-24 Sandisk Corporation Method for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7342831B2 (en) * 2006-06-16 2008-03-11 Sandisk Corporation System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7349261B2 (en) * 2006-06-19 2008-03-25 Sandisk Corporation Method for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
US7492633B2 (en) * 2006-06-19 2009-02-17 Sandisk Corporation System for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7486561B2 (en) * 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US20070297247A1 (en) * 2006-06-26 2007-12-27 Gerrit Jan Hemink Method for programming non-volatile memory using variable amplitude programming pulses
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US7567461B2 (en) 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7440326B2 (en) 2006-09-06 2008-10-21 Sandisk Corporation Programming non-volatile memory with improved boosting
EP2070090B1 (en) 2006-09-08 2014-01-08 SanDisk Technologies Inc. Pseudo random and command driven bit compensation for the cycling effects in flash memory and methods therefor
US7606966B2 (en) * 2006-09-08 2009-10-20 Sandisk Corporation Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US7734861B2 (en) 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
DE102007046401B4 (de) 2006-09-22 2023-08-24 Samsung Electronics Co., Ltd. Nichtflüchtiges Halbleiterspeichersystem und zugehöriges Verfahren zum Durchführen einer Programmieroperation
US7977186B2 (en) * 2006-09-28 2011-07-12 Sandisk Corporation Providing local boosting control implant for non-volatile memory
US7705387B2 (en) * 2006-09-28 2010-04-27 Sandisk Corporation Non-volatile memory with local boosting control implant
US7450426B2 (en) * 2006-10-10 2008-11-11 Sandisk Corporation Systems utilizing variable program voltage increment values in non-volatile memory program operations
US7474561B2 (en) * 2006-10-10 2009-01-06 Sandisk Corporation Variable program voltage increment values in non-volatile memory program operations
US7616490B2 (en) * 2006-10-17 2009-11-10 Sandisk Corporation Programming non-volatile memory with dual voltage select gate structure
US7586157B2 (en) * 2006-10-17 2009-09-08 Sandisk Corporation Non-volatile memory with dual voltage select gate structure
US7691710B2 (en) * 2006-10-17 2010-04-06 Sandisk Corporation Fabricating non-volatile memory with dual voltage select gate structure
KR100830580B1 (ko) * 2006-10-20 2008-05-21 삼성전자주식회사 플래시 메모리 장치를 포함한 메모리 시스템의 데이터 복원방법
CN101601094B (zh) 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7596031B2 (en) 2006-10-30 2009-09-29 Sandisk Corporation Faster programming of highest multi-level state for non-volatile memory
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7468911B2 (en) * 2006-11-02 2008-12-23 Sandisk Corporation Non-volatile memory using multiple boosting modes for reduced program disturb
US7440323B2 (en) * 2006-11-02 2008-10-21 Sandisk Corporation Reducing program disturb in non-volatile memory using multiple boosting modes
US7696035B2 (en) * 2006-11-13 2010-04-13 Sandisk Corporation Method for fabricating non-volatile memory with boost structures
US7508703B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Non-volatile memory with boost structures
US7508710B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Operating non-volatile memory with boost structures
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8019940B2 (en) 2006-12-06 2011-09-13 Fusion-Io, Inc. Apparatus, system, and method for a front-end, distributed raid
US7623387B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Non-volatile storage with early source-side boosting for reducing program disturb
US7623386B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Reducing program disturb in non-volatile storage using early source-side boosting
KR100801035B1 (ko) * 2006-12-14 2008-02-04 삼성전자주식회사 멀티 레벨 셀의 프로그램 방법, 페이지 버퍼 블록 및 이를포함하는 불휘발성 메모리 장치
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7570520B2 (en) * 2006-12-27 2009-08-04 Sandisk Corporation Non-volatile storage system with initial programming voltage based on trial
US7551482B2 (en) * 2006-12-27 2009-06-23 Sandisk Corporation Method for programming with initial programming voltage based on trial
US7701765B2 (en) * 2006-12-28 2010-04-20 Micron Technology, Inc. Non-volatile multilevel memory cell programming
US7468919B2 (en) * 2006-12-30 2008-12-23 Sandisk Corporation Biasing non-volatile storage based on selected word line
US7554853B2 (en) * 2006-12-30 2009-06-30 Sandisk Corporation Non-volatile storage with bias based on selective word line
US7468920B2 (en) 2006-12-30 2008-12-23 Sandisk Corporation Applying adaptive body bias to non-volatile storage
US7525843B2 (en) * 2006-12-30 2009-04-28 Sandisk Corporation Non-volatile storage with adaptive body bias
US7583535B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Biasing non-volatile storage to compensate for temperature variations
US7583539B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Non-volatile storage with bias for temperature compensation
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US7660166B2 (en) * 2007-01-31 2010-02-09 Sandisk Il Ltd. Method of improving programming precision in flash memory
US7738295B2 (en) * 2007-01-31 2010-06-15 Micron Technology, Inc. Programming a non-volatile memory device
KR100819102B1 (ko) * 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
US20080189473A1 (en) * 2007-02-07 2008-08-07 Micron Technology, Inc Mlc selected multi-program for system management
KR100866957B1 (ko) * 2007-02-08 2008-11-05 삼성전자주식회사 데이터 프로그램 시간을 단축시킨 불휘발성 메모리 장치 및그 구동방법
US20080205140A1 (en) * 2007-02-26 2008-08-28 Aplus Flash Technology, Inc. Bit line structure for a multilevel, dual-sided nonvolatile memory cell array
DE102007011638A1 (de) * 2007-03-09 2008-09-11 Giesecke & Devrient Gmbh Verfahren zum Einschreiben von Daten in einen Speicher eines tragbaren Datenträgers
US8369141B2 (en) * 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
US7532516B2 (en) * 2007-04-05 2009-05-12 Sandisk Corporation Non-volatile storage with current sensing of negative threshold voltages
US7606076B2 (en) * 2007-04-05 2009-10-20 Sandisk Corporation Sensing in non-volatile storage using pulldown to regulated source voltage to remove system noise
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US7606071B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Compensating source voltage drop in non-volatile storage
US7606072B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Non-volatile storage with compensation for source voltage drop
US7440327B1 (en) 2007-04-25 2008-10-21 Sandisk Corporation Non-volatile storage with reduced power consumption during read operations
US7606079B2 (en) * 2007-04-25 2009-10-20 Sandisk Corporation Reducing power consumption during read operations in non-volatile storage
US7460404B1 (en) * 2007-05-07 2008-12-02 Sandisk Corporation Boosting for non-volatile storage using channel isolation switching
US7463522B2 (en) * 2007-05-07 2008-12-09 Sandisk Corporation Non-volatile storage with boosting using channel isolation switching
US7577026B2 (en) * 2007-05-07 2009-08-18 Sandisk Corporation Source and drain side early boosting using local self boosting for non-volatile storage
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US7619931B2 (en) * 2007-06-26 2009-11-17 Micron Technology, Inc. Program-verify method with different read and verify pass-through voltages
US7471567B1 (en) 2007-06-29 2008-12-30 Sandisk Corporation Method for source bias all bit line sensing in non-volatile storage
CN101796590B (zh) * 2007-06-29 2013-01-30 桑迪士克科技股份有限公司 具有源极偏压全位线感测的非易失性存储器
US7545678B2 (en) * 2007-06-29 2009-06-09 Sandisk Corporation Non-volatile storage with source bias all bit line sensing
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8044705B2 (en) 2007-08-28 2011-10-25 Sandisk Technologies Inc. Bottom plate regulation of charge pumps
US7876638B2 (en) 2007-09-11 2011-01-25 Micron Technology, Inc. Storing operational information in an array of memory cells
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7577034B2 (en) * 2007-09-26 2009-08-18 Sandisk Corporation Reducing programming voltage differential nonlinearity in non-volatile storage
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009063450A2 (en) * 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US7688638B2 (en) * 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US7586362B2 (en) * 2007-12-12 2009-09-08 Sandisk Corporation Low voltage charge pump with regulation
US7586363B2 (en) 2007-12-12 2009-09-08 Sandisk Corporation Diode connected regulation of charge pumps
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
JP2009193620A (ja) * 2008-02-13 2009-08-27 Toshiba Corp 不揮発性半導体記憶装置
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7986554B2 (en) * 2008-03-19 2011-07-26 Sandisk Technologies Inc. Different combinations of wordline order and look-ahead read to improve non-volatile memory performance
US7915664B2 (en) * 2008-04-17 2011-03-29 Sandisk Corporation Non-volatile memory with sidewall channels and raised source/drain regions
US8051240B2 (en) * 2008-05-09 2011-11-01 Sandisk Technologies Inc. Compensating non-volatile storage using different pass voltages during program-verify and read
US7957197B2 (en) * 2008-05-28 2011-06-07 Sandisk Corporation Nonvolatile memory with a current sense amplifier having a precharge circuit and a transfer gate coupled to a sense node
US20090302930A1 (en) * 2008-06-09 2009-12-10 Feng Pan Charge Pump with Vt Cancellation Through Parallel Structure
US7969235B2 (en) 2008-06-09 2011-06-28 Sandisk Corporation Self-adaptive multi-stage charge pump
US7855913B2 (en) * 2008-06-10 2010-12-21 Micron Technology, Inc. Dynamically configurable MLC state assignment
US8710907B2 (en) 2008-06-24 2014-04-29 Sandisk Technologies Inc. Clock generator circuit for a charge pump
US7683700B2 (en) 2008-06-25 2010-03-23 Sandisk Corporation Techniques of ripple reduction for charge pumps
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US8762654B1 (en) 2008-07-02 2014-06-24 Marvell International Ltd. Selectively scheduling memory accesses in parallel based on access speeds of memory
US8706951B2 (en) * 2008-07-18 2014-04-22 Marvell World Trade Ltd. Selectively accessing faster or slower multi-level cell memory
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7876611B2 (en) * 2008-08-08 2011-01-25 Sandisk Corporation Compensating for coupling during read operations in non-volatile storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US9773557B2 (en) * 2008-09-03 2017-09-26 Marvell World Trade Ltd. Multi-plane data order
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US7755946B2 (en) * 2008-09-19 2010-07-13 Sandisk Corporation Data state-based temperature compensation during sensing in non-volatile memory
JP2010092559A (ja) * 2008-10-10 2010-04-22 Toshiba Corp Nand型フラッシュメモリ
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8332577B2 (en) * 2008-12-10 2012-12-11 Sandisk Technologies Inc. Program control of a non-volatile memory
US7795952B2 (en) * 2008-12-17 2010-09-14 Sandisk Corporation Regulation of recovery rates in charge pumps
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8255615B1 (en) 2009-01-08 2012-08-28 Marvell International Ltd. Flexible sequence design architecture for solid state memory controller
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR101074539B1 (ko) * 2009-02-04 2011-10-17 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8102705B2 (en) * 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8132045B2 (en) * 2009-06-16 2012-03-06 SanDisk Technologies, Inc. Program failure handling in nonvolatile memory
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory
US8054691B2 (en) 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
KR101010468B1 (ko) * 2009-06-29 2011-01-21 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8874825B2 (en) * 2009-06-30 2014-10-28 Sandisk Technologies Inc. Storage device and method using parameters based on physical memory block location
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8180994B2 (en) * 2009-07-08 2012-05-15 Sandisk Technologies Inc. Optimized page programming order for non-volatile memory
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US7973592B2 (en) 2009-07-21 2011-07-05 Sandisk Corporation Charge pump with current based regulation
US8339183B2 (en) 2009-07-24 2012-12-25 Sandisk Technologies Inc. Charge pump with reduced energy consumption through charge sharing and clock boosting suitable for high voltage word line in flash memories
US7995394B2 (en) * 2009-07-30 2011-08-09 Sandisk Technologies Inc. Program voltage compensation with word line bias change to suppress charge trapping in memory
US8130543B2 (en) * 2009-08-13 2012-03-06 Macronix International Co., Ltd. Method and apparatus for increasing memory programming efficiency through dynamic switching of sense amplifiers
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US20110133820A1 (en) * 2009-12-09 2011-06-09 Feng Pan Multi-Stage Charge Pump with Variable Number of Boosting Stages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US20110148509A1 (en) * 2009-12-17 2011-06-23 Feng Pan Techniques to Reduce Charge Pump Overshoot
US8144512B2 (en) * 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8468294B2 (en) 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US20110158001A1 (en) * 2009-12-31 2011-06-30 Hynix Semiconductor Inc. Programming method for nonvolatile memory device
US8402203B2 (en) * 2009-12-31 2013-03-19 Seagate Technology Llc Systems and methods for storing data in a multi-level cell solid state storage device
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8248850B2 (en) * 2010-01-28 2012-08-21 Sandisk Technologies Inc. Data recovery for non-volatile memory based on count of data state-specific fails
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8274831B2 (en) 2010-05-24 2012-09-25 Sandisk Technologies Inc. Programming non-volatile storage with synchronized coupling
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8432732B2 (en) 2010-07-09 2013-04-30 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays
US8305807B2 (en) 2010-07-09 2012-11-06 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8514630B2 (en) 2010-07-09 2013-08-20 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays: current based approach
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
KR101153813B1 (ko) 2010-09-30 2012-06-13 에스케이하이닉스 주식회사 반도체 메모리 장치
US8339185B2 (en) 2010-12-20 2012-12-25 Sandisk 3D Llc Charge pump system that dynamically selects number of active stages
US8294509B2 (en) 2010-12-20 2012-10-23 Sandisk Technologies Inc. Charge pump systems with reduction in inefficiencies due to charge sharing between capacitances
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US8726104B2 (en) 2011-07-28 2014-05-13 Sandisk Technologies Inc. Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US8699247B2 (en) 2011-09-09 2014-04-15 Sandisk Technologies Inc. Charge pump system dynamically reconfigurable for read and program
US9477590B2 (en) * 2011-09-16 2016-10-25 Apple Inc. Weave sequence counter for non-volatile memory systems
US8400212B1 (en) 2011-09-22 2013-03-19 Sandisk Technologies Inc. High voltage charge pump regulation system with fine step adjustment
US8514628B2 (en) 2011-09-22 2013-08-20 Sandisk Technologies Inc. Dynamic switching approach to reduce area and power consumption of high voltage charge pumps
WO2013058960A2 (en) 2011-10-20 2013-04-25 Sandisk Technologies Inc. Compact sense amplifier for non-volatile memory
US8630120B2 (en) 2011-10-20 2014-01-14 Sandisk Technologies Inc. Compact sense amplifier for non-volatile memory
US8842476B2 (en) 2011-11-09 2014-09-23 Sandisk Technologies Inc. Erratic program detection for non-volatile storage
US8630118B2 (en) 2011-11-09 2014-01-14 Sandisk Technologies Inc. Defective word line detection
US8634239B2 (en) 2011-12-28 2014-01-21 Sandisk Technologies Inc. Hybrid multi-level cell programming sequences
US8730722B2 (en) 2012-03-02 2014-05-20 Sandisk Technologies Inc. Saving of data in cases of word-line to word-line short in memory arrays
WO2013134735A1 (en) 2012-03-08 2013-09-12 California Institute Of Technology Rank-modulation rewriting codes for flash memories
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
TWI486766B (zh) 2012-05-11 2015-06-01 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
CN103425594B (zh) * 2012-05-23 2016-09-14 群联电子股份有限公司 数据处理方法、存储器控制器与存储器存储装置
US20140003176A1 (en) 2012-06-28 2014-01-02 Man Lung Mui Compact High Speed Sense Amplifier for Non-Volatile Memory with Reduced layout Area and Power Consumption
US9293195B2 (en) 2012-06-28 2016-03-22 Sandisk Technologies Inc. Compact high speed sense amplifier for non-volatile memory
US8971141B2 (en) 2012-06-28 2015-03-03 Sandisk Technologies Inc. Compact high speed sense amplifier for non-volatile memory and hybrid lockout
US8824203B2 (en) * 2012-07-13 2014-09-02 Micron Technology, Inc. Multiple step programming in a memory device
KR102012740B1 (ko) 2012-07-18 2019-08-21 삼성전자주식회사 복수의 불휘발성 메모리 칩들을 포함하는 저장 장치 및 그것의 제어 방법
KR20140028582A (ko) * 2012-08-29 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9135989B2 (en) * 2012-09-06 2015-09-15 Sandisk Technologies Inc. Write data preservation for non-volatile storage
US8710909B2 (en) 2012-09-14 2014-04-29 Sandisk Technologies Inc. Circuits for prevention of reverse leakage in Vth-cancellation charge pumps
US9164526B2 (en) 2012-09-27 2015-10-20 Sandisk Technologies Inc. Sigma delta over-sampling charge pump analog-to-digital converter
US9810723B2 (en) 2012-09-27 2017-11-07 Sandisk Technologies Llc Charge pump based over-sampling ADC for current detection
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
KR20140076128A (ko) * 2012-12-12 2014-06-20 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템
US9236136B2 (en) * 2012-12-14 2016-01-12 Intel Corporation Lower page read for multi-level cell memory
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US9026757B2 (en) * 2013-01-25 2015-05-05 Sandisk Technologies Inc. Non-volatile memory programming data preservation
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US8836412B2 (en) 2013-02-11 2014-09-16 Sandisk 3D Llc Charge pump with a power-controlled clock buffer to reduce power consumption and output voltage ripple
US9384839B2 (en) 2013-03-07 2016-07-05 Sandisk Technologies Llc Write sequence providing write abort protection
US9053810B2 (en) 2013-03-08 2015-06-09 Sandisk Technologies Inc. Defect or program disturb detection with full data recovery capability
US9047211B2 (en) 2013-03-15 2015-06-02 SanDisk Technologies, Inc. Managing data reliability
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US8981835B2 (en) 2013-06-18 2015-03-17 Sandisk Technologies Inc. Efficient voltage doubler
US9024680B2 (en) 2013-06-24 2015-05-05 Sandisk Technologies Inc. Efficiency for charge pumps with low supply voltages
US9077238B2 (en) 2013-06-25 2015-07-07 SanDisk Technologies, Inc. Capacitive regulation of charge pumps without refresh operation interruption
US9007046B2 (en) 2013-06-27 2015-04-14 Sandisk Technologies Inc. Efficient high voltage bias regulation circuit
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
WO2015004712A1 (ja) 2013-07-08 2015-01-15 株式会社 東芝 ロックアウトモードとノーロックアウトモードを有する半導体記憶装置
KR101449933B1 (ko) * 2013-09-02 2014-10-15 (주)피델릭스 노이즈 피크를 줄이면서 프로그램 소요시간을 저감하는 플래시 메모리 장치 및 그의 프로그램 방법
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
US9083231B2 (en) 2013-09-30 2015-07-14 Sandisk Technologies Inc. Amplitude modulation for pass gate to improve charge pump efficiency
US9424179B2 (en) * 2013-10-17 2016-08-23 Seagate Technology Llc Systems and methods for latency based data recycling in a solid state memory system
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
US9058881B1 (en) 2013-12-05 2015-06-16 Sandisk Technologies Inc. Systems and methods for partial page programming of multi level cells
US9244631B2 (en) 2013-12-06 2016-01-26 Sandisk Technologies Inc. Lower page only host burst writes
US9154027B2 (en) 2013-12-09 2015-10-06 Sandisk Technologies Inc. Dynamic load matching charge pump for reduced current consumption
US8902652B1 (en) 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9696918B2 (en) 2014-07-13 2017-07-04 Apple Inc. Protection and recovery from sudden power failure in non-volatile memory devices
US9208895B1 (en) 2014-08-14 2015-12-08 Sandisk Technologies Inc. Cell current control through power supply
US9349468B2 (en) 2014-08-25 2016-05-24 SanDisk Technologies, Inc. Operational amplifier methods for charging of sense amplifier internal nodes
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
US9772935B2 (en) * 2014-09-16 2017-09-26 Empire Technology Development Llc Data storage based on rank modulation in single-level flash memory
US9678832B2 (en) * 2014-09-18 2017-06-13 Sandisk Technologies Llc Storage module and method for on-chip copy gather
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
KR102438552B1 (ko) * 2015-02-04 2022-09-01 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작방법
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9224492B1 (en) * 2015-02-17 2015-12-29 Phison Electronics Corp. Memory management method, memory storage device and memory controlling circuit unit
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
KR20160127524A (ko) * 2015-04-27 2016-11-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9917507B2 (en) 2015-05-28 2018-03-13 Sandisk Technologies Llc Dynamic clock period modulation scheme for variable charge pump load currents
US10164770B1 (en) * 2015-06-03 2018-12-25 Marvell International Ltd. Pipelined data cryptography device and method
US9647536B2 (en) 2015-07-28 2017-05-09 Sandisk Technologies Llc High voltage generation using low voltage devices
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US9520776B1 (en) 2015-09-18 2016-12-13 Sandisk Technologies Llc Selective body bias for charge pump transfer switches
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US20170123721A1 (en) * 2015-10-28 2017-05-04 Sandisk Technologies Inc. System and method for utilization of a data buffer by command completion in parts
US9880783B2 (en) 2015-10-28 2018-01-30 Sandisk Technologies Llc System and method for utilization of a shadow data buffer in a host where the shadow data buffer is controlled by external storage controller
KR102470606B1 (ko) * 2015-11-26 2022-11-28 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
TWI588833B (zh) * 2015-11-27 2017-06-21 群聯電子股份有限公司 資料程式化方法與記憶體儲存裝置
US10198315B2 (en) 2016-02-29 2019-02-05 Sandisk Technologies Llc Non-volatile memory with corruption recovery
US9698676B1 (en) 2016-03-11 2017-07-04 Sandisk Technologies Llc Charge pump based over-sampling with uniform step size for current detection
US9792995B1 (en) 2016-04-26 2017-10-17 Sandisk Technologies Llc Independent multi-plane read and low latency hybrid read
JP2018045741A (ja) * 2016-09-12 2018-03-22 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10134479B2 (en) * 2017-04-21 2018-11-20 Sandisk Technologies Llc Non-volatile memory with reduced program speed variation
US10096380B1 (en) * 2017-08-31 2018-10-09 Micron Technology, Inc. Erase page check
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
KR20200023758A (ko) * 2018-08-27 2020-03-06 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200034312A (ko) * 2018-09-21 2020-03-31 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102528274B1 (ko) 2018-11-06 2023-05-02 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US10748622B2 (en) 2019-01-21 2020-08-18 Sandisk Technologies Llc State adaptive predictive programming
KR20210000212A (ko) * 2019-06-24 2021-01-04 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US11309032B2 (en) 2019-11-26 2022-04-19 Samsung Electronics Co., Ltd. Operating method of memory system including memory controller and nonvolatile memory device
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11694755B2 (en) 2021-06-02 2023-07-04 Sandisk Technologies Llc Nonvolatile memory with data recovery
CN113409850A (zh) * 2021-06-17 2021-09-17 芯天下技术股份有限公司 一种提高编程效率的方法、装置、存储介质和终端
US11657883B2 (en) * 2021-07-22 2023-05-23 Western Digital Technologies, Inc. Isolating problematic memory planes to avoid neighbor plan disturb
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11763905B2 (en) 2021-12-16 2023-09-19 Western Digital Technologies, Inc. Storage system and method for data protection during power loss

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1089225B (it) 1977-12-23 1985-06-18 Honeywell Inf Systems Memoria con dispositivo rivelatore e correttore a intervento selettivo
IT1224062B (it) * 1979-09-28 1990-09-26 Ates Componenti Elettron Metodo di programmazione per una memoria a semiconduttore non volatile elettricamente alterabile
US4785427A (en) * 1987-01-28 1988-11-15 Cypress Semiconductor Corporation Differential bit line clamp
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
US5093806A (en) * 1988-02-16 1992-03-03 Tran Hiep V Sensing and decoding scheme for a bicmos read/write memory
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) * 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
EP0617363B1 (en) * 1989-04-13 2000-01-26 SanDisk Corporation Defective cell substitution in EEprom array
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
JP2646850B2 (ja) * 1990-11-30 1997-08-27 日本電気株式会社 半導体メモリ回路
US5343063A (en) * 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US5274646A (en) 1991-04-17 1993-12-28 International Business Machines Corporation Excessive error correction control
KR960000619B1 (ko) * 1991-12-27 1996-01-10 후지쓰 가부시끼가이샤 일괄소거형의 불휘발성 반도체 기억장치 및 그의 구동제어회로
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
JP3323869B2 (ja) 1992-03-31 2002-09-09 株式会社東芝 不揮発性半導体メモリ装置
US5315541A (en) * 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5586285A (en) 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
JP3078946B2 (ja) 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5519847A (en) * 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
JP2922116B2 (ja) 1993-09-02 1999-07-19 株式会社東芝 半導体記憶装置
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5661053A (en) * 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5680347A (en) * 1994-06-29 1997-10-21 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
US5875477A (en) 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
US5893135A (en) 1995-12-27 1999-04-06 Intel Corporation Flash memory array with two interfaces for responding to RAS and CAS signals
US5724303A (en) 1996-02-15 1998-03-03 Nexcom Technology, Inc. Non-volatile programmable memory having an SRAM capability
AU3832297A (en) 1996-02-29 1997-09-16 Hitachi Limited Semiconductor memory device having faulty cells
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
FR2749682B1 (fr) 1996-06-10 1998-07-10 Bull Sa Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit
US5768192A (en) * 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5901086A (en) * 1996-12-26 1999-05-04 Motorola, Inc. Pipelined fast-access floating gate memory architecture and method of operation
JP3897388B2 (ja) * 1996-12-27 2007-03-22 シャープ株式会社 シリアルアクセス方式の半導体記憶装置
US6097638A (en) * 1997-02-12 2000-08-01 Kabushiki Kaisha Toshiba Semiconductor memory device
KR100272037B1 (ko) * 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
US5822245A (en) 1997-03-26 1998-10-13 Atmel Corporation Dual buffer flash memory architecture with multiple operating modes
US5872739A (en) * 1997-04-17 1999-02-16 Radiant Technologies Sense amplifier for low read-voltage memory cells
JPH113290A (ja) 1997-06-11 1999-01-06 Hitachi Ltd メモリ制御方式
US6768165B1 (en) * 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
US6021463A (en) 1997-09-02 2000-02-01 International Business Machines Corporation Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem
JPH11203191A (ja) 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
US6333871B1 (en) 1998-02-16 2001-12-25 Hitachi, Ltd. Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation
US5969986A (en) 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
US6040997A (en) 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
US5949720A (en) * 1998-10-30 1999-09-07 Stmicroelectronics, Inc. Voltage clamping method and apparatus for dynamic random access memory devices
US6490649B2 (en) 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
AU1729100A (en) 1998-11-17 2000-06-05 Lexar Media, Inc. Method and apparatus for memory control circuit
US6567302B2 (en) 1998-12-29 2003-05-20 Micron Technology, Inc. Method and apparatus for programming multi-state cells in a memory device
US6282145B1 (en) * 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6449625B1 (en) 1999-04-20 2002-09-10 Lucent Technologies Inc. Use of a two-way stack approach to optimize flash memory management for embedded database systems
US6920569B1 (en) 1999-04-29 2005-07-19 Koninklijke Philips Electronics N.V. Device configured as stand-alone or slave based on detection of power supply in a powered data bus system
WO2001008015A1 (fr) 1999-07-28 2001-02-01 Sony Corporation Systeme d'enregistrement, dispositif d'enregistrement de donnees, dispositif a memoire et procede d'enregistrement de donnees
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
US6278633B1 (en) 1999-11-05 2001-08-21 Multi Level Memory Technology High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations
JP2001184881A (ja) * 1999-12-28 2001-07-06 Toshiba Corp 不揮発性半導体メモリの読み出し回路
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
US6396744B1 (en) 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
US6396741B1 (en) * 2000-05-04 2002-05-28 Saifun Semiconductors Ltd. Programming of nonvolatile memory cells
US6504757B1 (en) * 2000-08-11 2003-01-07 Advanced Micro Devices, Inc. Double boosting scheme for NAND to improve program inhibit characteristics
US6266273B1 (en) 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6581142B1 (en) 2000-09-01 2003-06-17 International Business Machines Corporation Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
JP2002100192A (ja) * 2000-09-22 2002-04-05 Toshiba Corp 不揮発性半導体メモリ
US6684289B1 (en) 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6407953B1 (en) * 2001-02-02 2002-06-18 Matrix Semiconductor, Inc. Memory array organization and related test method particularly well suited for integrated circuits having write-once memory arrays
KR100381956B1 (ko) * 2001-02-02 2003-04-26 삼성전자주식회사 플래시 메모리 장치의 감지 증폭 회로
US6738289B2 (en) * 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
JP3957985B2 (ja) * 2001-03-06 2007-08-15 株式会社東芝 不揮発性半導体記憶装置
US6570810B2 (en) * 2001-04-20 2003-05-27 Multi Level Memory Technology Contactless flash memory with buried diffusion bit/virtual ground lines
JP2003036681A (ja) 2001-07-23 2003-02-07 Hitachi Ltd 不揮発性記憶装置
US6671204B2 (en) 2001-07-23 2003-12-30 Samsung Electronics Co., Ltd. Nonvolatile memory device with page buffer having dual registers and methods of using the same
JP3979486B2 (ja) * 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7177197B2 (en) * 2001-09-17 2007-02-13 Sandisk Corporation Latched programming of memory and method
JP4454896B2 (ja) * 2001-09-27 2010-04-21 シャープ株式会社 仮想接地型不揮発性半導体記憶装置
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
KR100454119B1 (ko) * 2001-10-24 2004-10-26 삼성전자주식회사 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
JP3874653B2 (ja) * 2001-11-29 2007-01-31 富士通株式会社 圧縮テスト機能を有するメモリ回路
US6687158B2 (en) * 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
US6700820B2 (en) 2002-01-03 2004-03-02 Intel Corporation Programming non-volatile memory devices
US6542407B1 (en) 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
US20030163692A1 (en) * 2002-01-31 2003-08-28 Brocade Communications Systems, Inc. Network security and applications to the fabric
JP4004811B2 (ja) * 2002-02-06 2007-11-07 株式会社東芝 不揮発性半導体記憶装置
US6836432B1 (en) 2002-02-11 2004-12-28 Advanced Micro Devices, Inc. Partial page programming of multi level flash
US6871257B2 (en) 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US6771536B2 (en) * 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
JP2004030784A (ja) 2002-06-26 2004-01-29 Fujitsu Ltd 半導体記憶装置
JP4225749B2 (ja) 2002-08-07 2009-02-18 株式会社ルネサステクノロジ 半導体記憶装置
US6983428B2 (en) * 2002-09-24 2006-01-03 Sandisk Corporation Highly compact non-volatile memory and method thereof
US7443757B2 (en) * 2002-09-24 2008-10-28 Sandisk Corporation Non-volatile memory and method with reduced bit line crosstalk errors
US7196931B2 (en) * 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7046568B2 (en) * 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US6987693B2 (en) * 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US6940753B2 (en) * 2002-09-24 2005-09-06 Sandisk Corporation Highly compact non-volatile memory and method therefor with space-efficient data registers
US6657891B1 (en) * 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US7392436B2 (en) 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7490283B2 (en) * 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7420847B2 (en) 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US20060140007A1 (en) * 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008091011A (ja) * 2006-09-29 2008-04-17 Hynix Semiconductor Inc フラッシュメモリ素子とそのプログラム方法
JP2012507803A (ja) * 2008-10-30 2012-03-29 マイクロン テクノロジー, インク. メモリ・デバイスにおけるデータ転送およびプログラミング
JP2015212992A (ja) * 2014-05-01 2015-11-26 株式会社東芝 半導体記憶装置
KR20180137601A (ko) * 2014-05-06 2018-12-27 마이크론 테크놀로지, 인크. 다중 메모리 동작을 수행하기 위한 장치 및 방법
US10311957B2 (en) 2014-05-06 2019-06-04 Micron Technology, Inc. Apparatuses and methods for performing multiple memory operations
US10529428B2 (en) 2014-05-06 2020-01-07 Micron Technology, Inc. Apparatuses and methods for performing multiple memory operations
KR102097228B1 (ko) * 2014-05-06 2020-05-28 마이크론 테크놀로지, 인크. 다중 메모리 동작을 수행하기 위한 장치 및 방법
JP2018041523A (ja) * 2016-09-07 2018-03-15 東芝メモリ株式会社 半導体記憶装置
US10796764B2 (en) 2016-09-07 2020-10-06 Toshiba Memory Corporation Semiconductor memory device
US10600484B2 (en) 2017-12-20 2020-03-24 Silicon Storage Technology, Inc. System and method for minimizing floating gate to floating gate coupling effects during programming in flash memory

Also Published As

Publication number Publication date
ATE475185T1 (de) 2010-08-15
US20060126390A1 (en) 2006-06-15
KR101193584B1 (ko) 2012-10-23
TWI413125B (zh) 2013-10-21
DE602005022487D1 (de) 2010-09-02
US7345928B2 (en) 2008-03-18
WO2006065518A1 (en) 2006-06-22
CN101107673A (zh) 2008-01-16
US7301805B2 (en) 2007-11-27
TW200632921A (en) 2006-09-16
CN100543878C (zh) 2009-09-23
KR20070101250A (ko) 2007-10-16
EP1829045B1 (en) 2010-07-21
JP4372196B2 (ja) 2009-11-25
US20060126393A1 (en) 2006-06-15
IL183833A0 (en) 2007-10-31
US20070014153A1 (en) 2007-01-18
EP1829045A1 (en) 2007-09-05
US7120051B2 (en) 2006-10-10

Similar Documents

Publication Publication Date Title
JP4372196B2 (ja) 初期データを用いる不揮発性メモリのパイプライン形プログラミング
US7385854B2 (en) Selective operation of a multi-state non-volatile memory system in a binary mode
US6456528B1 (en) Selective operation of a multi-state non-volatile memory system in a binary mode
US7554842B2 (en) Multi-purpose non-volatile memory card
US7570520B2 (en) Non-volatile storage system with initial programming voltage based on trial
US7551482B2 (en) Method for programming with initial programming voltage based on trial
US20110044102A1 (en) Selective memory cell program and erase
US7830717B2 (en) Method for performing erasing operation in nonvolatile memory device
US8000154B2 (en) Non-volatile memory device and method of controlling a bulk voltage thereof
JP2002367381A (ja) 不揮発性半導体メモリ装置およびその書き込み方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081114

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20081114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090413

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090507

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090901

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4372196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130911

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees