(57)【特許請求の範囲】
【請求項１】
複数のページのユーザデータを個々に記憶する１つの単位として一括消去が可能なセルブロックに編成されたメモリセルアレイを有する不揮発性メモリの動作方法であって、
（ａ）オーバーヘッドデータが記憶されている前記ブロックの動作と関連して前記オーバーヘッドデータを個々の情報ブロック内に記憶するステップと、
（ｂ）消去動作であって、
消去対象の前記１またはそれ以上のブロックのアドレス指定を行うステップと、
前記１またはそれ以上のブロックから前記オーバーヘッドデータを読み出し、前記読み出したオーバーヘッドデータを一時的に記憶するステップと、
前記１またはそれ以上のブロック内のメモリセルを消去するステップと、
前記読み出したオーバーヘッドデータを更新するステップと、
前記更新済みのオーバーヘッドデータを前記１またはそれ以上のブロックの個別のブロックの中へ戻してプログラムし、それによってユーザデータを前記ブロックにプログラムするのに利用可能な前記１またはそれ以上のブロック内に前記複数のページを残すようにするステップと、を含む消去動作と、
（ｃ）その後、前記１またはそれ以上のブロックのページの中へユーザデータをプログラムするステップと、を含み、
ページがユーザデータと、ユーザデータに係るページオーバーヘッドデータと、ユーザデータとページオーバーヘッドデータとは異なる予備のセルで構成され、
前記１またはそれ以上のブロックの個別のブロックの単一ページの予備のセルの中へ前記更新済みのオーバーヘッドデータをプログラムする方法。
【請求項２】
請求項１記載の方法において、
前記個々のブロックに記憶された前記オーバーヘッドデータが、消去動作回数を示す量、すなわち前記量を含むブロックが前記消去動作回数を受けた量を含み、さらに前記オーバーヘッドデータを更新するステップが、現在の消去動作を含む前記消去動作回数を更新するステップを含む方法。
【請求項３】
請求項１記載の方法において、
前記個々のブロック内に記憶される前記オーバーヘッドデータから冗長符号を計算するステップと、前記冗長符号を計算する基となる前記オーバーヘッドデータを含む前記個々のブロック内に前記冗長符号をさらに記憶するステップとをさらに含む方法。
【請求項４】
請求項３記載の方法において、
前記オーバーヘッドデータを読み出すステップが、前記オーバーヘッドデータから計算され、前記オーバーヘッドデータとともに記憶された冗長符号を読み出すステップと、前記読み出したオーバーヘッドデータを前記読み出した冗長符号に対してチェックするステップとを含み、さらに前記更新済みのオーバーヘッドデータをプログラムするステップが、前記更新済みのオーバーヘッドデータから冗長符号を計算するステップと、前記計算された冗長符号を前記オーバーヘッドデータと同じブロックに記憶するステップとを含む方法。
【請求項５】
請求項４記載の方法において、
前記読み出したオーバーヘッドデータを前記読み出した冗長符号に対してチェックするステップによって、前記オーバーヘッドデータが無効であることが明らかにされた場合、前記ブロックを消去したり、前記オーバーヘッドデータを更新したり、更新済みのオーバーヘッドデータ或いはユーザデータのいずれかのデータを用いて前記ブロックをプログラムしたりする代わりに、前記読み出したオーバーヘッドデータと冗長符号とが存在するブロックに使用不可のマークをつける方法。
【請求項６】
請求項５記載の方法において、
前記使用不可のブロック内の前記オーバーヘッドデータの一部としてフラグをセットすることにより、前記使用不可のブロックに無効のマークをつけるステップをさらに有する方法。
【請求項７】
請求項１記載の方法において、
前記オーバーヘッドデータを更新するか或いは前記更新済みのオーバーヘッドデータを前記１またはそれ以上のブロックの中へ戻してプログラムするかのいずれかを行う前に前記オーバーヘッドデータを紛失した場合、前記１またはそれ以上のブロックのページの中へユーザデータをプログラムする代わりに、前記１またはそれ以上のブロックに使用不可のマークをつける方法。
【請求項８】
請求項１記載の方法において、
前記ユーザデータをプログラムするステップが、個々のメモリセル記憶素子を２またはそれ以上の状態のうちの１つの状態にプログラムし、それによって記憶素子あたりに２ビット以上のユーザデータを記憶するようにするステップを含む方法。
【請求項９】
請求項８記載の方法において、
前記更新済みのオーバーヘッドデータをプログラムするステップが、個々のメモリセル記憶素子を正確に２つの記憶状態のうちの一方の状態にプログラムし、それによって記憶素子あたりに１ビットのオーバーヘッドデータを記憶するようにするステップを含む方法。
【請求項１０】
請求項９記載の方法において、
前記メモリセルを消去するステップが、メモリセル記憶素子上の電荷を第１の範囲まで駆動するステップを含み、さらに前記オーバーヘッドデータをプログラムするステップが、前記オーバーヘッドデータに従って前記メモリセル記憶素子の一部を第２の範囲まで駆動するステップを含み、さらに前記ユーザデータをプログラムするステップが、前記第２の範囲以外の前記第１の範囲からさらに除去される少なくとも第３および第４の荷電範囲の中へ個々のメモリセル記憶素子をプログラムするステップを含む方法。
【請求項１１】
請求項９記載の方法において、
前記ユーザデータをプログラムするステップが、所望のプログラム状態に達するまで、前記セルの状態の検証を行うことによって分離された連続するプログラミングパルスを印加するステップを含み、前記個々のパルスの振幅が第１の量だけ増加し、さらに前記オーバーヘッドデータをプログラムするステップが、所望のプログラム状態に達するまで、前記セルの状態の検証を行うことによって分離された連続するプログラミングパルスを印加するステップを含み、前記個々のパルスの振幅が前記第１の量よりも多い第２の量だけ増加し、それによって前記ユーザデータよりも高速に前記オーバーヘッドデータをプログラムするようにする方法。
【請求項１２】
請求項１０記載の方法において、
前記メモリセルアレイが、ＮＡＮＤアレイである方法。
【請求項１３】
請求項１記載の方法において、
前記メモリセルアレイが、ＮＡＮＤアレイである方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、不揮発性半導体メモリ並びに不揮発性半導体メモリの動作に関し、特に、メモリセルブロックの消去／書き込み用サイクルカウント値の利用に関する。
【背景技術】
【０００２】
今日使用されている商業的に成功を収めた多数の不揮発性メモリ製品、特に小形のファクタカードの形のメモリ製品が存在し、これらのメモリ製品ではフラッシュＥＥＰＲＯＭ（電気的に消去可能でプログラム可能な読み出し専用メモリ）セルアレイが用いられている。
【０００３】
ＮＯＲアレイ
典型的なＮＯＲアレイでは、メモリセルは列方向に延在して隣接するビットラインソース拡散部とドレイン拡散部との間で接続され、コントロールゲートはセル行に沿って延在するワードラインと接続される。１つの典型的メモリセルには、ソース拡散部とドレイン拡散部との間に“分割チャネル”が設けられる。セルの電荷蓄積素子が一方のチャネル部分にわたって配置され、ワードライン（コントロールゲートとも呼ばれている）も他方のチャネル部分にわたるとともに電荷蓄積素子にわたって配置される。これによって２つの直列トランジスタを備える１つのセルが形成され、一方のトランジスタ（メモリトランジスタ）は、電荷蓄積素子の電荷量と、当該チャネルのセル部分の中を通って流れることができる電流量とを制御するワードラインの電圧と組み合わされ、他方のトランジスタ（選択トランジスタ）は、単独でセルのゲートとして働くワードラインを有する。このワードラインは、電荷蓄積素子の行にわたって延在する。このようなセルの例並びにメモリシステムにおけるこのようなセルの利用および製造方法については、米国特許第５，０７０，０３２号（特許文献１）、第５，０９５，３４４号（特許文献２）、第５，３１５，５４１号（特許文献３）、第５，３４３，０６３号（特許文献４）、第５，６６１，０５３号（特許文献５）並びに１９９９年６月２７日出願の同時継続出願中の米国特許出願第０９／２３９，０７３号（特許文献６）に記載されている。
【０００４】
この分割チャネルフラッシュＥＥＰＲＯＭセルの変更例として、電荷蓄積素子とワードラインとの間に配置されるステアリングゲートの追加がある。１つのアレイの個々のステアリングゲートが、ワードラインに対して垂直に電荷蓄積素子の１つの列にわたって延在する。この結果、１つの選択セルの読み出しやプログラミングを行うとき、２つの機能を同時に実行する必要があるワードラインの負担が軽減される。これら２つの機能として、（１）選択トランジスタのゲートとして機能すること、したがって選択トランジスタのオン／オフを行うための適切な電圧が必要となることと、（２）ワードラインと電荷蓄積素子との間でフィールド（容量性）結合を介して電荷蓄積素子の電圧を所望のレベルに従って駆動することとがある。単一の電圧を用いてこれらの機能の双方を最適に実行することが困難となる場合が多い。ステアリングゲートの追加によって、追加されたステアリングゲートが機能（２）を実行している間、ワードラインは機能（１）を実行するだけでよい。１つのフラッシュＥＥＰＲＯＭアレイにおける複数のステアリングゲートの利用については、例えば、米国特許第５，３１３，４２１号（特許文献７）および第６，２２２，７６２号（特許文献８）に記載されている。
【０００５】
ゲート誘電体を介して基板からフローティングゲート記憶素子上へ電子の注入を行う種々のプログラミング技法が存在する。最も一般的なプログラミングメカニズムについては、ブラウンとブリュワーが編集した文献（“不揮発性半導体メモリ技術”，ＩＥＥＥプレス，１．２節，９〜２５ページ（１９９８年））(Brown and Brewer, Nonvolatile Semiconductor Memory Technology, IEEE Press, section 1.2, pages 9-25 (1998)) （非特許文献１）に記載されている。チャネル“熱い電子注入”（１．２．３節）と命名された一つの技法では、セルチャネルからセルのドレインに隣接するフローティングゲート領域の中へ電子が注入される。“ソース側注入”（１．２．４節）と命名された別の技法では、メモリセルチャネルの長さに沿って基板面の電位が制御されて、ドレインから離れたチャネルの１つの領域に電子注入の条件がつくりだされるようになる。ソース側注入については、カミヤらによる論文“高いゲート注入効率を持つＥＰＲＯＭセル”（ＩＥＤＭ技術ダイジェスト，１９８２年，７４１〜７４４ページ） (Kamiya et al., “EPROM Cell with High Gate Injection Efficiency," IEDM Technical Digest, 1982, pages 741-744)（非特許文献２）および米国特許第４，６２２，６５６号（特許文献９）並びに第５，３１３，４２１号（特許文献７）に記載がある。
【０００６】
電荷蓄積素子から電荷を取り除いてメモリセルを消去する２つの技法が、前述した２つのタイプのＮＯＲメモリセルアレイの双方で用いられている。一方の技法は、ソース、ドレインおよび別のゲートに対して適正な電圧を印加することにより基板のレベルに従って消去を行う技法である。この電圧は、記憶素子と基板間の誘電体層の一部の中を電子に通り抜けさせるものである。もう一方の消去技法は、記憶素子と別のゲート間に配置されたトンネル誘電体層の中を通って記憶素子から別のゲートへ電子を転送する技法である。前述した第１のタイプのセルでは、この目的のために第３の消去ゲートが設けられている。ステアリングゲートの利用に起因して３つのゲートをすでに備えている前述した第２のタイプのセルでは、第４のゲートを追加する必要なく電荷蓄積素子はワードラインのレベルに従って消去される。この後者の技法は、ワードラインが実行する第２の機能を元に戻して追加するものではあるが、これらの機能は異なる時点に実行されるものであるため、これら２つの機能に起因して妥協を行う必要性は避けられる。いずれの消去技法を利用する場合にも、１回の“フラッシュ”で同時消去を行うために多数のメモリセルが一体にグループ化されている。１つのアプローチでは、このグループには、１ディスクセクタに記憶されるユーザデータ量、すなわち５１２バイトといくつかのオーバーヘッドデータの記憶を行うのに十分なメモリセルが含まれる。別のアプローチでは、個々のグループには、多数のディスクセクタに値するデータに等しい数千バイトのユーザデータの保持を行うのに十分なセルが含まれる。マルチブロック消去、欠陥管理およびその他のフラッシュＥＥＰＲＯＭシステムの特徴については、米国特許第５，２９７，１４８号（特許文献１０）に記載されている。
【０００７】
ほとんどすべての集積回路の用途における場合のように、フラッシュＥＥＰＲＯＭシステムの場合にも、いくつかの集積回路機能の実現に必要なシリコン基板領域の縮小に対する圧力が存在する。所定のサイズのメモリカードおよび別のタイプのパッケージの記憶容量を増加するために、所定の領域のシリコン基板に記憶することができるデジタルデータ量を増加して、容量の増加とサイズの小形化の双方を図るようにする要望が継続的に存在する。データの記憶密度を高める１つの方法として、１つのメモリセルあたりに２つ以上のビットデータを記憶する方法がある。これは、記憶素子電荷レベルの電圧範囲のウィンドウを３つ以上の状態に分割することにより達成される。このような４つの状態を利用することにより、個々のセルは、セルあたりに２ビットのデータや３ビットのデータを記憶する８つの状態などを記憶することが可能となる。多状態フラッシュＥＥＰＲＯＭの構造と動作については、米国特許第５，０４３，９４０号（特許文献１１）および第５，１７２，３３８号（特許文献１２）に記載されている。
【０００８】
別のタイプのメモリセルには、個々の記憶素子上で多状態での動作も可能な２つの記憶素子が設けられる。このタイプのセルには、ソース拡散部とドレイン拡散部との間のセルチャネルにわたって２つの記憶素子が設けられ、ソース拡散部とドレイン拡散部の間に１つの選択トランジスタが設けられる。記憶素子の個々の列に沿って１つのステアリングゲートが設けられ、さらに１つのワードラインが記憶素子の個々の行に沿って、そのステアリングゲートにわたって設けられる。読み出しやプログラミングを行うために所定の記憶素子にアクセスするとき、たとえどのような電荷レベルが他方の記憶素子上に存在していても、関心対象の記憶素子を含むセルの別の記憶素子にわたるステアリングゲートは、他方の記憶素子の下でチャネルをオンに転換するのに十分な高さまで上げられる。この操作によって、同一メモリセル内の関心対象の記憶素子の読み出しやプログラミングを行う際に、１つのファクタとしての他方の記憶素子が効果的に除去される。例えば、セル状態の読み出しに使用することができるセルの中を流れる電流量は、この場合、関心対象の記憶素子上の電荷量の関数となるが、同一セル内の他方の記憶素子の電荷量の関数とはならない。このセルアレイのアーキテクチャおよび動作技法の例については、米国特許第５，７１２，１８０号（特許文献１３）、第６，１０３，５７３号（特許文献１４）、第６，１５１，２４８号（特許文献１５）に記載されている。
【０００９】
ＮＡＮＤアレイ
別のフラッシュＥＥＰＲＯＭのアーキテクチャとして、ＮＡＮＤアレイを利用し、個々のビットライン間で１６や３２などの３つ以上のメモリセルの連続ストリングが、１またはそれ以上の選択トランジスタと１つの基準電位とに接続されて、複数のセル列が形成されるものがある。ワードラインは、これらの多数の列内の複数のセルの両端にわたって延在する。ストリング内の残りのセルを強くオンに転換させることによって、プログラミング中に１つの列内の個々のセルの読み出しと検証とを行い、それによってストリングの中を流れる電流は、アドレス指定されたセルに記憶されている電荷レベルに依存するようになる。１つのメモリシステムの一部としてのＮＡＮＤ構成のアレイおよびこのアレイの動作の一例が、米国特許第５，５７０，３１５号（特許文献１６）、第５，７７４，３９７号（特許文献１７）、第６，０４６，９３５号（特許文献１８）で見い出される。
【００１０】
電荷蓄積素子
最新のフラッシュＥＥＰＲＯＭアレイの電荷蓄積素子であり、前に参照されている特許および論文で解説されている電荷蓄積素子は、最も一般的な電気的導電性を有するフローティングゲートであり、このゲートは典型的にはドープされたポリシリコン材から形成される。フラッシュＥＥＰＲＯＭシステムにおいて有用な別のタイプのメモリセルとして、不揮発性の態様で電荷を記憶する導電性フローティングゲートの代わりに、非導電性誘電体材料を利用するものがある。このようなセルについては、チャンらによる論文“真の単一トランジスタ酸化膜−窒化膜−酸化膜ＥＥＰＲＯＭデバイス”（ＩＥＥＥ電子デバイスレターズ，Ｖｏｌ．ＥＤＬ−８，Ｎｏ．３，１９８７年３月，９３〜９５ページ）(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) （非特許文献３）に記載されている。シリコン酸化物、シリコン窒化物およびシリコン酸化物（“ＯＮＯ”）から形成される３層誘電体が、導電性コントロールゲートとメモリセルチャネルの上方にある半導電基板の表面との間に挟まれる。セルはセルチャネルから窒化物の中へ電子を注入することによりプログラムされ、その場合これらの電子はトラップされ、限定領域に記憶されたものである。次いで、この記憶された電荷は、セルチャネルの一部のしきい値電圧を変更して検出可能となる。熱いホールを窒化物の中へ注入することによりセルは消去される。ノザキらの“半導体ディスクの応用のためのＭＯＮＯＳメモリセルを備える１−ＭｂＥＥＰＲＯＭ”（“固体素子回路のＩＥＥＥジャーナル”，Ｖｏｌ．２６，Ｎｏ．４，１９９１年４月，４９７〜５０１ページ）(Nozaki et al., “A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application," IEEE Journal of Solid-State Cirucuits, Vol. 26, No. 4, April 1991, pp.497-501) （非特許文献４）も参照されたい。この論文には、分割ゲート構成における同様のセルについての記載があり、この構成では、ドープされたポリシリコンゲートがメモリセルチャネルの一部にわたって延在して、別個の選択トランジスタを形成するようになっている。
【００１１】
米国特許第５，８５１，８８１号（特許文献１９）には、メモリセルのチャネルにわたって互いに隣接して配置される２つの記憶素子の利用について記載され、一方の記憶素子は前述したような誘電体素子であり、他方の記憶素子は導電性フローティングゲートである。２ビットのデータが記憶され、１ビットのデータは誘電体素子の中にあり、もう１ビットのデータはフローティングゲートの中にある。２つの異なる電荷レベルの範囲のうち一方の範囲の中へ２つのゲートの各ゲートのプログラミングを行うことにより、当該メモリセルをプログラムして、４つの異なるしきい値レベルの組み合わせのうちの１つの組み合わせの中へ入れる。この組み合わせは、４つの記憶状態のうちの１つの状態を表わすものである。
【００１２】
誘電体記憶素子を利用して個々のセルの中に２ビットを記憶する別のアプローチについては、エイタンらの“ＮＲＯＭ：新規の局在化トラッッピング、２ビット不揮発性メモリセル”（ＩＥＥＥ電子デバイスレターズ，Ｖｏｌ．２１，Ｎｏ．１１，２０００年１１月，５４３〜５４５ページ）(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)（非特許文献５）に記載されている。ソース拡散部とドレイン拡散部との間のチャネルの両端にわたってＯＮＯ誘電体層が延在する。１データビット用の電荷はドレインに隣接する誘電体層の中に局在化し、もう一方のデータビット用の電荷はソースに隣接する誘電体層の中に局在化している。誘電体内の電荷蓄積領域の２進状態を空間的に別個に読み出すことにより多状態データの格納値が取得される。
【００１３】
広い消去ブロック
典型的な不揮発性フラッシュアレイのメモリセルは、一括消去される個別のセルブロックに分割される。すなわち、この１ブロックが消去単位である。個々のブロックは通常、１またはそれ以上のデータページを記憶し、１ページがプログラミングと読み出しとを行う単位であるが、単一の操作で２以上のページのプログラミングや読み出しを行うことも可能である。個々のページは通常１またはそれ以上のデータセクタを記憶し、このセクタサイズはホストシステムによって規定される。一例として、磁気ディスク駆動装置に関して規定されている規格に従う５１２バイトのユーザデータからなる１つのセクタとユーザデータおよび／またはユーザデータが記憶されているブロックに関する数バイトのオーバーヘッド情報を示すいくつかの数値がある。
【００１４】
ブロック経験カウント値
個々のメモリセルブロックが経験する消去サイクル回数と再プログラミングサイクル回数とは、メモリシステムの動作制御を最適化するステップの一部として保持される場合が多い。このようにする１つの理由として、フラッシュＥＥＰＲＯＭセルが耐えることができる消去／書き込みサイクルの限定された回数に起因するということが挙げられる。このようなサイクル回数が増加するにつれて、パフォーマンスと信頼性とは通常低下し、このような低下を許容することができる量はシステムの種々の動作パラメータに左右されることになる。一般に、いくつかのメモリセルブロックは、通常の動作時にメモリセルブロックよりもさらに頻繁にサイクルされる。１ブロックのサイクルカウント値が、予期される耐久性の予めセットされた限界値に達すると、冗長ブロックの利益となるようにシステムからそのブロックのマップアウトを行うことができる。これについての一例は、米国特許第５，２６８，８７０号（特許文献２０）に記載され、個々のブロックの経験カウント値はオーバーヘッドデータの一部としてブロック内に記憶される。米国特許第６，４２６，８９３号（特許文献２１）には、ブロックの経験カウント値とともにオーバーヘッドデータが関係するブロックから分離されたブロック内に他のオーバーヘッドデータを記憶するシステムについて記載されている。さらに、経験カウント値を用いてシステムのメモリセルブロックの使用状況（摩耗）を均すようにすることもできる。ブロックの相対的経験カウント値は、システムコントローラによりモニタされ、さらに低い経験サイクルカウント値で複数のブロックに対する以降の大きな容量の再書き込みを行うことを目的として、検出された所定の使用状況のむらに応じて、ブロック変換の論理アドレスから物理アドレスが変更される。このような摩耗レベルの測定技法を示す例が、米国特許第６，０８１，４４７号（特許文献２２）に示されている。経験カウント値が関係するブロックに経験カウント値を保持する代替例として、ブロックオーバーヘッド情報用として設けられた別のブロックにこの経験カウント値を記憶することができる例がある。この例としては、２０００年２月１７日出願の米国特許出願第０９／５０５，５５５号（特許文献２３）に記載されている。経験カウント値の利用に加えて、ブロック置換を目的として、コントローラによるカウント値を用いて、プログラミング、読み出し動作および／または消去動作中に使用される電圧のセットを行うことも可能である。というのは、最適電圧はその利用が増えるにつれて上昇する頻度が高くなるからである。
【００１５】
前に特定した特許、特許出願、論文並びに文献部分のすべては、それらの参考文献によってその全体が本願明細書において背景技術の欄に明確に援用されている。
【特許文献１】米国特許第５，０７０，０３２号
【特許文献２】米国特許第５，０９５，３４４号
【特許文献３】米国特許第５，３１５，５４１号
【特許文献４】米国特許第５，３４３，０６３号
【特許文献５】米国特許第５，６６１，０５３号
【特許文献６】米国特許出願第０９／２３９，０７３号
【特許文献７】米国特許第５，３１３，４２１号
【特許文献８】米国特許第６，２２２，７６２号
【特許文献９】米国特許第４，６２２，６５６号
【特許文献１０】米国特許第５，２９７，１４８号
【特許文献１１】米国特許第５，０４３，９４０号
【特許文献１２】米国特許第５，１７２，３３８号
【特許文献１３】米国特許第５，７１２，１８０号
【特許文献１４】米国特許第６，１０３，５７３号
【特許文献１５】米国特許第６，１５１，２４８号
【特許文献１６】米国特許第５，５７０，３１５号
【特許文献１７】米国特許第５，７７４，３９７号
【特許文献１８】米国特許第６，０４６，９３５号
【特許文献１９】米国特許第５，８５１，８８１号
【特許文献２０】米国特許第５，２６８，８７０号
【特許文献２１】米国特許第６，４２６，８９３号
【特許文献２２】米国特許第６，０８１，４４７号
【特許文献２３】米国特許出願第０９／５０５，５５５号
【特許文献２４】米国特許出願第０９／９２５，１０２号
【特許文献２５】米国特許出願第０９／６６７，３４４号
【特許文献２６】米国特許出願第１０／２８０，３５２号
【特許文献２７】米国特許出願第０９／７１８，８０２号
【特許文献２８】米国特許出願第０９／７６６，４３６号
【特許文献２９】米国特許出願第０９／８９３，２７７号
【特許文献３０】米国特許第６，４５６，５２８号
【特許文献３１】米国特許出願第０９／７９３，３７０号
【特許文献３２】米国特許第５，８８７，１４５号
【特許文献３３】米国特許第５，９３０，１６７号
【特許文献３４】米国出願第０９／９５６，３４０号
【非特許文献１】ブラウンとブリュワーが編集した文献“不揮発性半導体メモリ技術”，ＩＥＥＥプレス，１．２節，９〜２５ページ（１９９８年）
【非特許文献２】カミヤらによる論文“高いゲート注入効率を持つＥＰＲＯＭセル”，ＩＥＤＭ技術ダイジェスト，１９８２年，７４１〜７４４ページ
【非特許文献３】チャンらによる論文“真の単一トランジスタ酸化膜−窒化膜−酸化膜ＥＥＰＲＯＭデバイス”，ＩＥＥＥ電子デバイスレターズ，Ｖｏｌ．ＥＤＬ−８，Ｎｏ．３，１９８７年３月，９３〜９５ページ
【非特許文献４】ノザキらの“半導体ディスクの応用のためのＭＯＮＯＳメモリセルを備える１−Ｍｂ  ＥＥＰＲＯＭ”，“固体素子回路のＩＥＥＥジャーナル”，Ｖｏｌ．２６，Ｎｏ．４，１９９１年４月，４９７〜５０１ページ
【非特許文献５】エイタンらの“ＮＲＯＭ：新規の局在化トラッッピング、２ビット不揮発性メモリセル”，ＩＥＥＥ電子デバイスレターズ，Ｖｏｌ．２１，Ｎｏ．１１，２０００年１１月，５４３〜５４５ページ
【発明の開示】
【００１６】
同時に消去可能なセルブロックに編成されたメモリセルを有する不揮発性メモリシステムにおいて、そのブロックが、個々にプログラム可能で、かつ読み出し可能な複数のユーザデータページに分割され、個々のブロックと関連するオーバーヘッドデータが、当該データが関係するブロック内に記憶され、さらにブロック消去サイクルの一部として更新される。サイクルデータが１ブロックの単一ページの予備のセルに記憶されている場合、当該ページに対する単一の読み出し動作によってそのサイクルデータの読み出しが可能となる。或いは、ページに記憶されたデータセクタのヘッダの場合のように、未使用のセル内のブロックの２またはそれ以上のページにわたってサイクルデータを拡げてもよい。これらの技法は、ＮＡＮＤ形フラッシュメモリシステムに対する特別の応用性を有するものであるが、複数のメモリセルブロックが一括消去される別のタイプの不揮発性メモリシステムにおいてもこれらの技法を利用して、利益を得ることが可能である。
【００１７】
所定数のメモリセルを記憶することができるデータ量の増加を求めるトレンドが存在するため、個々の記憶素子に対して３つ以上のプログラム状態を確定することにより個々のメモリセル記憶素子に２ビット以上のユーザデータを記憶することが望ましい。しかし、ブロックサイクルのカウント値データの場合、２状態で、すなわちメモリセル記憶素子あたりに１ビットでそのデータを記憶することができるという利点がある。サイクルカウント値データプログラミングの改善が進み、このプログラミングによって書き込み対象の新しく消去されたブロックに対する妨害量を減らすことが可能となる。
【００１８】
サイクルカウント値データから冗長符号を計算し、次いでブロックオーバーヘッドデータの一部として当該サイクルカウント値データを用いて当該冗長符号のプログラミングを行うことができる。誤り訂正符号（ＥＣＣ）は、サイクルカウント値データにおけるいくつかの誤りを訂正することができるようにするために設けることが可能なこのような冗長性を示す一例であり、訂正すべき誤りが多すぎる場合、サイクルカウント値データは無効と確定される。無効とされた場合、ブロックはシステムからマップアウトされる。というのは、ブロックが経験した消去サイクルの回数が未知であり、この不確かさがブロックの動作中にメモリコントローラによって行われる決定に不利な影響を与える可能性があるからである。カウント値が揮発性メモリに一時的に記憶されている時間中、電力がなくなった場合に生じる可能性があるように、消去動作中にサイクルカウント値データを紛失した場合、システムから１つのブロックをマップアウトすることも可能である。この事態は、例えば、消去サイクル中にユーザが電力を供給しているメモリカードをホストシステムから抜いたりした場合に生じる可能性がある。
【００１９】
本発明は、前に背景技術やその他の部分で説明したフラッシュＥＥＰＲＯＭシステムを含む多くの異なるタイプの不揮発性メモリのいずれの不揮発性メモリにおいても動作するものである。フローティングゲート電荷記憶素子を用いるある特定のＮＯＲアレイ構造については、２００１年８月８日出願の米国特許出願第０９／９２５，１０２号（特許文献２４）、２０００年９月２２日出願の米国特許出願第０９／６６７，３４４号（特許文献２５）に記載されている。誘電体電荷記憶素子を用いるフラッシュメモリアレイについては、２００２年１０月２５日出願の米国特許出願第１０／２８０，３５２号（特許文献２６）に記載されている。大きなメモリセル消去ブロックの管理については、２０００年１１月２２日出願の米国特許出願第０９／７１８，８０２号（特許文献２７）および２００１年１月１９日出願の米国特許出願第０９／７６６，４３６号（特許文献２８）に記載されている。ＮＡＮＤアレイのプログラミングについては、２００１年６月２７日出願の米国特許出願第０９／８９３，２７７号（特許文献２９）および米国特許第６，４５６，５２８号（特許文献３０）に記載されている。これら特許出願および特許は、参考文献としてその全体がこの発明の開示の欄において明確に援用されている。
【００２０】
本発明の種々の態様の追加の目標、特徴および利点は、添付図面と関連して説明されるべきである代表的な実施形態についての以下の説明の中に含まれる。
【発明を実施するための最良の形態】
【００２１】
本発明の種々の態様が実現可能な例示のメモリシステムが図１のブロック図により示されている。多数の個々にアドレス可能なメモリセル１１が、行と列とからなる、ピッチが等しいアレイに配設されているが、セルの別の物理的配置構成も確かに可能なものとして考えることができる。このシステムは特に、アレイ１１が、前述した背景技術および本願明細書において援用されている参考文献に記載があるようなＮＯＲ形となるようにしたものである。本願明細書では、ビットラインは、セルアレイ１１の列に沿って延在するように示されているが、ライン１５を介してビットライン復合器およびドライバ回路１３と電気的に接続される。セルアレイ１１の行に沿って延在するようにこの説明で示されているワードラインは、ライン１７を介してワードライン復合器およびドライバ回路１９と電気的に接続される。アレイ１１においてメモリセルの列に沿って延在するステアリングゲートは、ライン２３を介してステアリングゲート復合器およびドライバ回路２１と電気的に接続される。復合器１３、１９および２１の各々は、メモリコントローラ２７からバス２５を介してメモリセルアドレスを受け取る。復合器およびドライバ回路も、それぞれの制御信号ラインおよび状態信号ライン２９、３１、３３を介してコントローラ２７と接続される。ステアリングゲートとビットラインとに印加される電圧は、復合器とドライバ回路１３と２１とを相互に接続するバス２２を介して調整される。コントローラには、種々のタイプのレジスタおよび揮発性ランダムアクセスメモリ（ＲＡＭ）２８を含む別のメモリが含まれる。
【００２２】
コントローラ２７は、ライン３５を介してホスト装置（図示せず）と接続可能である。このホスト装置は、パーソナルコンピュータ、ノートブック形コンピュータ、デジタルカメラ、オーディオプレイヤ、その他の種々の手持形電子装置などであってもよい。図１のメモリシステムは、ＰＣＭＣＩＡ、コンパクトフラッシュ（登録商標）協会、ＭＭＣ（登録商標）協会、その他から出されているいくつかの現行の物理規格および電気規格のうちの１つの規格に準拠するカードの形で一般に実現されることになる。カードフォーマットの形でそのメモリシステムを実現するときに、ライン３５はホスト装置の相補形コネクタとインタフェースを行うカード上のコネクタで終端する。多くのカードの電気的インタフェースはＡＴＡ規格に準拠しているが、その場合メモリシステムはあたかも磁気ディスクドライバであるかのようにホストには見える。その他のメモリカード用インタフェース規格も存在する。カードフォーマットの１つの代替例として、図１に示すタイプのメモリシステムを永久にホスト装置内に組み込むことも可能である。
【００２３】
復合器およびドライバ回路１３、１９、２１は、バス２５を介してアドレス指定されるときに、それぞれの制御ラインおよび状態ライン２９、３１、３３の制御信号に従ってアレイ１１のそのラインのそれぞれのラインに適正な電圧を発生させて、プログラミング機能、読み出し機能並びに消去機能を実行する。電圧レベルと他のアレイパラメータとを含むいずれの状態信号も同じ制御ラインおよび状態ライン２９、３１、３３を介してアレイ１１によりコントローラ２７へ出力される。回路１３内の複数のセンス増幅器は、アレイ１１内でアドレス指定されたメモリセルの状態を示す電流レベルまたは電圧レベルを受け取リ、読み出し動作中にライン４１を介して当該状態に関する情報をコントローラ２７に提供する。多数のセンス増幅器が通常使用されて、多数のメモリセルの状態を並列に読み出すことができるようになっている。読み出し動作中およびプログラム動作中に、１行のセルが通常、回路１９を介して一度にアドレス指定されて、回路１３と２１によって選択されるアドレス指定された行内の複数のセルにアクセスするようになっている。一般に、多くの行内のすべてのセルは、消去動作中に、１つのブロックとして一括してアドレス指定されて、同時消去されるようになっている。
【００２４】
図１に例示するようなメモリシステムの動作については、前に背景技術のＮＯＲアレイについての欄で特定した特許および論文並びに本願の譲受人であるサンディスク  コーポレイションに譲渡されたその他の特許にさらに記載されている。さらに、２００１年２月２６日出願の米国特許出願第０９／７９３，３７０号（特許文献３１）にデータプログラミング方法について記載されている。この特許出願は、本願明細書において参照により援用されている。
【００２５】
本発明の種々の態様が実現可能な別の例示のメモリシステムが図２のブロック図によって示されている。行列で構成された複数のメモリセルＭを含むメモリセルアレイ１は、列制御回路２、行制御回路３、ｃソース制御回路４およびｃ−ｐウェル制御回路５によって制御される。メモリセルアレイ１は、前述した背景技術の欄並びに本願明細書において参照により援用されている前述した参考文献に記載されているＮＡＮＤ形メモリセルアレイであってもよい。制御回路２はメモリセルアレイ１のビットライン（ＢＬ）と接続され、このビットラインが、メモリセル（Ｍ）に記憶されたデータを読み出し、プログラム動作中にメモリセル（Ｍ）の状態を決定し、ビットライン（ＢＬ）の電位レベルを制御してプログラミングの促進やプログラミングの禁止を行うためのビットラインである。行制御回路３は、ワードライン（ＷＬ）と接続されて、ワードライン（ＷＬ）のうちの１つのワードラインを選択し、読み出し電圧を印加し、列制御回路２によって制御されるビットラインの電位レベルと組み合わされたプログラム電圧を印加し、メモリセル（Ｍ）が、形成されたＰ形領域の電圧と結合される消去電圧を印加する。ｃソース制御回路４は、メモリセル（Ｍ）と接続された共通ソースライン（図２に“ｃソース”とラベルがつけられている）の制御を行う。ｃ−ｐウェル制御回路５は、ｃ−ｐウェル電圧の制御を行う。
【００２６】
メモリセル（Ｍ）に記憶されたデータは列制御回路２によって読み出され、Ｉ／Ｏラインとデータ入出力用バッファ６とを介して外部Ｉ／Ｏラインへ出力される。メモリセルに記憶されたプログラムデータは、外部Ｉ／Ｏラインを介してデータ入出力用バッファ６へ入力され、列制御回路２へ転送される。外部Ｉ／Ｏラインは、コントローラ４３と接続される。コントローラ４３は、種々のタイプのレジスタと、その他のメモリ（典型的には揮発性ランダムアクセスメモリ）とを備える。
【００２７】
フラッシュメモリデバイスを制御するコマンドデータが、コントローラ４３と接続される外部制御ラインと接続されたコマンド回路７へ入力される。このコマンドデータは、どのような動作が要求されているかをフラッシュメモリに通知する。この入力コマンドは、列制御回路２、行制御回路３、ｃソース制御回路４、ｃ−ｐウェル制御回路５およびデータ入出力用バッファ６を制御する状態マシン８へ転送される。状態マシン８は、レディ／ビジー（ＲＥＡＤＹ／ＢＵＳＹ）やパス／フェイル（ＰＡＳＳ／ＦＡＩＬ）などのフラッシュメモリの状態データを出力することができる。状態マシン８は、複数のレジスタおよびその他の揮発性ランダムアクセスメモリ４５も備えている。
【００２８】
コントローラ４３は、パーソナルコンピュータ、デジタルカメラ、或いは個人用情報機器などのホストシステムと接続されるか或いは接続可能である。メモリアレイ１へデータを記憶したり、メモリアレイ１からデータを読み出したりするようなコマンドを開始し、このようなデータをそれぞれ出力したり、受け取ったりするのはこのホストである。コントローラは、このようなコマンドを変換して、コマンド回路７により解釈される実行可能なコマンド信号に変える。コントローラは、メモリアレイに書き込み中或いはメモリアレイから読み出し中のユーザデータ用バッファメモリも一般に備えている。典型的なメモリシステムは、コントローラ４３を備える１つの集積回路チップ４７と、メモリアレイと関連する制御回路、入出力回路および状態マシン回路を各々備える１またはそれ以上の集積回路チップ４９とを備える。言うまでもなく、１つのシステムのメモリアレイとコントローラ回路とを１またはそれ以上の集積回路チップ上に一体に集積化するトレンドが存在する。
【００２９】
図１と図２のメモリシステムのいずれかをホストシステムの一部として組み込んだり、或いはホストシステムの嵌合ソケットの中へ取り外し可能に挿入することができるメモリカードの形で備えるようにしてもよい。このようなカードはメモリシステム全体を含むものであってもよく、或いは関連する周辺回路とともにコントローラとメモリアレイを個別のカードの形で設けてもよい。例えば、いくつかのカードの実装例については、米国特許第５，８８７，１４５号（特許文献３２）に記載されている。この特許は、その全体が本願明細書において参照により明確に援用されている。
【００３０】
図３は、メモリセルアレイ１または１１のいずれかの記憶素子のプログラミングを徐々に追加して行うパルス技法を示す図である。プログラミング電圧Ｖｐｇｍの波形が示されている。プログラミング電圧Ｖｐｇｍは多くのパルスに分割され、パルス毎にΔＶｐｇｍだけ増分する。パルス間の時間内に、検証（読み出し）動作が行われる。すなわち、並列にプログラムされている個々のセルのプログラム済みのレベルが個々のプログラミングパルス間で読み出されて、このレベルがプログラム時に従うべき検証レベル以上であるかどうかの判定が行われる。所定のメモリセルのしきい値電圧が検証レベルを上回っていると判定された場合、０ＶからＶｄｄまで所定のセルの連続セル単位が接続されているビットラインまたは制御ラインの電圧を上げることによりＶｐｇｍは取り除かれる。並列にプログラムされるセルのその他のレベルのプログラミングは、それらのレベルが順次その検証レベルに達するまで続行する。しきい値電圧は、セルの最後のプログラミングパルスの間、検証レベル未満から検証レベルまで移動する。
【００３１】
図４は、記憶素子あたりに４つの状態を持つメモリセルアレイのプログラミング技法を示す図である。これによって２ビットのデータが個々の記憶素子に記憶される。これらのプログラム済みの記憶素子は、しきい値分布６１、６３、６５または６７のうちの１つのしきい値分布に分かれるしきい値レベル（ＶT ）を持つメモリセルトランジスタを形成する。分布６１は、消去状態を表わし、プログラム状態のうちの１つの状態（この例では“１１”）でもある。分布６１には、負のしきい値電圧ＶT を有するセルが含まれる。分布６３は正のしきい値電圧を含み、データビット“１０”を表す。同様に、分布６５は“００”を表し、分布６７は“０１”を表す。追加の状態番号、したがってさらに多くのビットを個々の記憶素子の中へプログラムすることが可能であるが、４つの状態のシステムは例示用として選択されたものである。
【００３２】
個々のセルは、図３に例示するような一連のパルスによってプログラムされる。１つのブロックが消去された後、そのブロックのメモリセル記憶トランジスタのすべては分布６１内にしきい値電圧を持つ。１つのブロックのすべてまたは一部を形成する複数のメモリセルの中へユーザデータまたはブロックオーバーヘッドデータのいずれかをプログラムする際に、プログラミング用電圧パルスが当該セルに印加され、これらのセルの状態は“１１”から別の状態に変更されることになる。消去から第１の状態“１０”に当該トランジスタをプログラムするために、これらトランジスタのＶT が検証レベルＶV10 以上になると、パルス出力は分布６３内で終了する。これらセルの状態は、プログラミングパルス間で検証される。同様に、当該記憶トランジスタを“００”状態にプログラムするために、これらのトランジスタのＶT が検証レベルＶV00 以上になると、パルス出力は分布６５内で終了する。最後に、当該記憶素子トランジスタを“０１”状態にプログラムするために、これらのトランジスタのＶT が当該トランジスタの検証レベルＶV01 に達すると、プログラミングパルスは分布６７内で終了する。この時点で、メモリセルのグループの並列プログラミングは終了していることになる。
【００３３】
個々のプログラム検証レベルＶV10 、ＶV00 、ＶV01 は、これら検証レベルのそれぞれの分布６３、６５、６７の低い極値と合致する。図３のプログラミングパルスの開始電圧は、一例として１２ボルト周辺であってもよく、また典型的なプログラミングを行うためのパルスΔＶｐｇｍ間の増分値は約０．２ボルトであってもよい。個々の分布６１、６３、６５、６７の拡散値は実質的にΔＶｐｇｍに等しい。
【００３４】
図４は、４つのしきい値状態のうちのどのしきい値状態からセルがプログラムされているかを決定することにより、個々のセルからデータの読み出しを行うのに用いる電圧も例示する図である。電圧ＶR10 、ＶR00 、ＶR01 は、それぞれ“１０”、“００”、“０１”の記憶状態を読み出すのに用いる基準電圧である。これらの電圧は、分布６１、６３、６５、６７の隣接する分布間のほぼ中間に配置される。これらの電圧は、読み出される個々のメモリセルトランジスタのしきい値電圧状態を比較する比較対象のしきい値電圧である。この比較は、セルから得られる電流測定値または電圧測定値をそれぞれ基準電流または基準電圧と比較することにより行われる。
【００３５】
４つまたはそれ以上の記憶状態システムにおいて、いくつかのセルをプログラムして、２つの状態（２進）のうちの一方の状態に変えることができることが望ましい場合が多い。単一アレイにおける多状態プログラミングと２進プログラミングの双方の利用については、米国特許第５，９３０，１６７号（特許文献３３）に記載されている。この特許は、この参考文献として並びに前述した米国出願第０９／９５６，３４０号（特許文献３４）としてその全体が援用されている。プログラミング電圧を最小化し、したがって別のメモリセルのプログラム状態や消去状態の妨害を最小化するこのようなデュアルプログラミングの別の形態が図５に示されている。消去状態“０”は、プログラムされた分布７１によって例示される２つのプログラム状態のうちの一方の状態でもある。第２のプログラム状態“１”は、分布７３によって表される。“１”状態へのプログラミングは、検証レベルＶV1を用いて行われる。データは、０ボルトＶT での基準レベルＶR1を用いて図５の２状態メモリセルから読み出される。図５の分布７１および７３は、それぞれ図４の分布６１および６３に対応する分布である。２進の場合でのより高いしきい値レベルの分布６５および６７を避けることにより、２進でのプログラミングセルの結果生じる他のセルの消去状態やプログラム状態に対する妨害が最小化される。
【００３６】
図６は、典型的なシステムにおける個々にアドレス可能な多数のメモリセルブロックの一例の編成を示す図である。消去単位であるメモリセルブロックは複数のページＰ０〜ＰＮに分割される。１つのブロック内のページ数Ｎは、例えば８、１６、３２とすることができる。個々の単一ページは、プログラミングおよび読み出しの単位である。データの１またはそれ以上のホストセクタがユーザデータとして個々のページに記憶される。物理的には、１ページは、図１と図２のシステムのアレイ１または１１のいずれかの範囲内の単一行のメモリセルから形成されたものであってもよい。例えば、図６のページＰ３にはユーザデータ用メモリ空間８１およびユーザデータに関連するオーバーヘッドデータのヘッダ用メモリ空間８３が含まれる。メモリ空間８１に記憶されるユーザデータから計算されたＥＣＣは、例えばメモリ空間８３に記憶される。いくつかのメモリアレイには、メモリ空間８５に数バイトの予備の記憶容量が含まれて、ユーザ用メモリ空間８１内のいずれの不良バイトも置き換えられる。
【００３７】
ブロック全体のオーバーヘッド情報データを記憶するのに利用されるのは、このブロックの１ページのこれら予備バイトである。ブロックオーバーヘッドデータ８７は、例えばページＰ１の一部となるように示されている。データ８７の一部としての重要なピースの記憶された情報は、データ８７が記憶されているブロックの消去回数を示すカウント値である場合が多い。或いは、ブロックが経験した消去サイクル回数の他の何らかの表示を記憶することも可能である。このデータはアレイ動作を管理するのに有用である。役立てることができる他のブロックオーバーヘッドデータ８７には、最適消去電圧、ブロックメモリセル用のプログラミング電圧および／または読み出し電圧、ブロックの状態を示すフラグ、ブロックおよび任意の代用ブロックの論理アドレスおよび／または物理アドレスなどが含まれる。ブロックオーバーヘッドデータ８７は物理ブロック自体の情報を提供するものである一方で、ページオーバーヘッドデータ８３はその同じページに記憶されたユーザデータについての情報を提供するものである。これらのタイプのオーバーヘッドデータが関係するブロックとは異なる単複のブロックに、これらのタイプのオーバーヘッドデータのいずれか或いは双方を記憶することも可能ではあるが、図６に示されている記憶位置がほとんどの用途に望ましいものである。
【００３８】
個々のページのメモリセルに多状態の形でユーザデータを記憶することが望ましい。すなわち、メモリセルの個々のフローティングゲートまたは別の記憶素子が３つ以上の状態のうちの１つの状態にプログラムされて、個々の記憶素子への２つ以上のビットデータの記憶が図られる。４つの状態のうちの１つの状態に個々の記憶素子がプログラムされることが図４に示されている例で好便に実現されている。こうすることによって、所定のデータ量の記憶に必要なメモリセルの数が減らされることになる。しかし、２進の形でセルグループ８７にブロックオーバーヘッドデータをプログラムすることが望ましい場合もしばしば生じる。すなわち、個々のフローティングゲートまたはメモリセルの別の記憶素子は正確に２つの状態のうちの一方の状態にプログラムされる。図５に示されている例を使用することもできる。ブロックオーバーヘッドを記憶するのに多状態の形で行う場合よりも多くのメモリセルを要するとはいえ、データ量が小さいのでペナルティは小さくなる。この利点には、妨害とフィールド結合効果とに対する影響感度を下げるとともに同じブロックまたは隣接するブロック内の他のメモリセルの消去状態またはプログラム状態に対する妨害の影響をより少なくして、少ない時間量でブロックオーバーヘッドデータをプログラムする能力が含まれる。
【００３９】
図３と関連して前述したように、連続するプログラミングパルスと中間状態の検証とを利用することによって、ブロックオーバーヘッドデータの２進プログラミングを実現することが望ましいが、開始パルスの大きさを増すことによりおよび／またはステップΔＶｐｇｍのサイズを大きくすることによりプログラミングプロセスの実行に必要な時間を大幅に減らすことができる。多状態でユーザデータをプログラムするためにΔＶｐｇｍが０．２ボルトの値であれば、２進でブロックオーバーヘッドデータをプログラムするのに０．４ボルトなどのより高い値を使用することもできる。この結果、増分値ΔＶｐｇｍによって、７５で示されているように図５のプログラムされたセル分布７３が得られる。しかし、状態７３よりも高い他のプログラム状態が存在しないため、増分された分布幅に関して問題が生じることはない。
【００４０】
一般に、ブロックオーバーヘッドデータは、図６に示されている例示のブロック内の複数ページのうちの任意の１ページの予備のセルに記憶することができる。ブロックオーバーヘッドデータが記憶されている個々のブロック内のページは固定されるか或いはブロック毎にかつ一定時間継続して変動を可能にするかのいずれかを行うことができる。例えば、欠陥セルを交換するために、ページＰ１がその予備のセルのいくつかを使用する必要がある場合およびブロックオーバーヘッドデータを記憶する残りの十分な予備のセルがその時存在しない場合、そのブロック用のオーバーヘッドデータを別のページに記憶することができる。さらに、ブロックオーバーヘッドデータ用のメモリ空間は、図６に示されているように、必ずしもページまたはそのメモリセル行の最後に存在する必要があるとはかぎらず、逆に未使用メモリセルが存在する或る別の記憶位置に存在する場合もある。さらに、ブロックオーバーヘッドデータは、必ずしも連続して配置されたメモリセルに記憶される必要があるとはかぎらないが、データが連続するセルアドレス記憶位置に記憶されていれば、メモリコントローラにとっては予想が容易になる。
【００４１】
メモリアレイがＮＡＮＤ形である場合、ブロックオーバーヘッドデータを記憶するために他のページよりも望ましいいくつかのページが存在してもよい。前に背景技術の欄で参照した特許の中で説明されている１つのタイプのＮＡＮＤフラッシュメモリでは、ページは、Ｐ０からＰＮなどのようなある特定の順序でプログラムされるように制約を受けて、１つのページのプログラミングが他のページのセルのプログラム状態に妨害を与える影響を減らすように意図される。さらに、最後のページＰＮとＰ（Ｎ−１）は他のページに比べて妨害の影響を受けやすい傾向がある。したがって、合計１６ページを持つＰ４やＰ５のブロックのようなブロックの初めの部分近くに存在する或る別のページにブロックオーバーヘッドデータを記憶することが望ましい。
【００４２】
ブロックオーバーヘッドデータは、メモリの動作にとって重要なものとなる場合があるため、ブロックオーバーヘッドデータからＥＣＣのような冗長符号を計算して、この冗長符号をそのデータとともに同じブロックに記憶してもよい。次いで、このデータの読み出し時に、ＥＣＣを用いてデータの検証が行われ、無効な数ビットの訂正を行うことが可能となる。１つのＥＣＣを含む図６のブロックオーバーヘッドデータ８７の編成が図７に示されている。記憶済みのブロックオーバーヘッドデータの無効ビットの数があまりに多くてＥＣＣを訂正できない場合、その情報はコントローラにとって有用になる。記憶されているオーバーヘッドデータのタイプがメモリシステムの動作にとって重要なものであれば、コントローラは、ブロックからそのデータを読み出すことができないことを利用して、そのブロックのマップアウトを行い、それによってこのブロックが再び使用されないようにする。ブロック内に１つのフラグをセットして、このブロックが使用できないことを示すようにしてもよく、或いはコントローラが無効ブロックのリストを独立して保持するようにしてもよい。
【００４３】
図６とは異なるメモリセルブロックの配置構成が、別の実装例の提供を意図して図８に示されている。この場合、個々のページには予備のセルは含まれない。したがって、ブロック内のどこか別の場所にブロックオーバーヘッドデータを記憶する必要がある。図８に示されている例は、３つの異なるページヘッダの記憶位置９１、９３、９５内で行われる分散の場合などのように、このデータをブロックのページヘッダの予備バイトに分散する例である。その場合、図６の例では１つのブロックのただ１つのページを読み出す必要があるのとは対照的に、ブロックオーバーヘッドデータを取得することができる前に、３ページすべてを読み出す必要がある。
【００４４】
図９を参照しながら、前述したブロックオーバーヘッドデータを利用する１つの例示の消去動作について説明する。第１のステップ１０１で、コントローラ（図１の２７または図２の４３）により１つのコマンドが出されて、ステップ１０３で出されたアドレスによって指定された１またはそれ以上の複数のブロックが同時に消去される。次のステップ１０５で、コントローラはアドレス指定されたブロックの各々からブロックオーバーヘッドデータを読み出す。通常のシステムでは、これは個々のアドレス指定されたブロックのページ全体を読み出すステップを必要とし、このステップでページのブロックオーバーヘッドデータが記憶される。というのは、ページがプログラミングおよび消去の単位となっているからである。例えば、オーバーヘッドデータは図６のデータ８７や図８のデータ９１、９３、９５であってもよい。ブロックオーバーヘッドデータがユーザデータおよびそれらユーザデータのヘッダとは異なる状態番号に記憶されている場合、ユーザデータとヘッダとを読み出す際に使用されているものとは異なるセットの参照レベルを持つオーバーヘッドデータがコントローラによって読み出される。次いで、この読み出されたデータはコントローラによってシステムに、最も好便にはそれぞれのコントローラ２７と状態マシン８の一部として含まれるランダムアクセスメモリ（ＲＡＭ）２８または４５に一時的に記憶される。次いで、アドレス指定されたブロックの各ブロック内のメモリセルはステップ１０９毎に一括消去される。
【００４５】
ＥＣＣやデータから計算された別の冗長符号と一緒にブロックオーバーヘッドデータが記憶されている場合、ＲＡＭの中へ書き込まれる前にデータの有効性のチェックが行われる。有効であると判定された場合或いはエラーを含むオーバーヘッドデータを訂正して有効なものにすることができた場合、プロセスは前述したように進行する。しかし、ブロックオーバーヘッドデータが有効なものにされなかったり、有効にできなかったりした場合、そのブロックの履歴が知られていないときに、将来当該ブロックを正しく動作できなくなる懸念があるため、そのブロックを使用しないことが望ましい場合もある。この場合、当該ブロックと関連する消去プロセスを停止し、コントローラが保持する不良ブロックリストにそのブロックのアドレスを追加してもよい。或いは、消去プロセスを続行して、１つのフラグをブロックのオーバーヘッドメモリ空間の中へ書き込んで、ブロックがそれ以上使用できないことを示すようにしてもよい。そうすれば、コントローラは、将来の消去サイクル並びにプログラミングサイクルを受けるブロックを決定する際に、このようなフラグの探索を行うことになる。
【００４６】
さらに、アドレス指定されたブロックが消去された後に、メモリシステムへの電力供給が中断した場合、データが一時的に記憶されるＲＡＭが揮発性メモリであれば（通常このケースが行われる）、ブロックオーバーヘッドデータは紛失することになる。この状況で、ひとたび電力が回復された場合、コントローラには、消去済みブロックの中へ書き戻すべきブロックオーバーヘッドデータが存在しなくなる。このようなデータが存在しないときに、ブロックオーバーヘッドデータを読み出すステップを含む将来ブロックを使用するいずれの試みも、これらブロックのアドレスを不良ブロックリストに追加し、ブロック内にフラグをセットすることにより或いは何らかの別の技法によってコントローラにシステムからのブロックのマップアウトを行わせることができる。
【００４７】
前述したように、１つの重要なピースのブロックオーバーヘッドデータは、個々のブロックが経験した消去サイクルおよび再プログラミングサイクルの回数であってもよい。この回数或いはこの回数に関連する或る量は（この量が含まれていれば）、消去サイクルの一部として更新されることになる。コントローラＲＡＭに記憶されている量がＲＡＭから読み出され、またそのブロックが別の消去サイクルを受けたことを記録するために、消去されている個々のブロックに対してその量の更新が行われる。図９のステップ１１１によって示されているように、その更新回数は、当該回数が関係する個々のブロックの中へ書き戻される。最も単純な実装例として、ブロックから読み出された消去サイクルカウント値を１だけ増分し、次いでそのブロックが消去された後にその増分値をブロックの中へ書き戻すものがある。ブロックオーバーヘッドデータは、ブロックが消去される度に更新されることのない他の情報データも含むものであってもよく、その場合このタイプのデータはまったく変更されることなく消去済みブロックの中へ書き戻される。１つのＥＣＣや別の冗長符号がブロックオーバーヘッドデータとともに用いられる場合、このような符号は更新済みのオーバーヘッドデータから計算されて、ブロックの中へ書き戻され、次いで更新済みのオーバーヘッドデータとともにブロックの中へプログラムされる。
【００４８】
消去サイクルの最後のステップとして、ステップ１１３で示されているように、アレイとその周辺回路のためのステップがあり、コントローラへ終了状態信号が送信される。ブロックオーバーヘッドデータがプログラムされる記憶位置のブロックを除いて、消去済みブロックは消去状態のまま残る。その後ユーザデータをブロックのページの中へプログラムしてもよい。
【００４９】
複数の異なる方法で消去サイクルカウント値を利用することができる。消去サイクル／プログラミングサイクルの回数が増えるにつれて、メモリセルの或る特性が変化するため、影響を受けた動作パラメータも変更された場合、アレイの動作は最適化される。このような動作パラメータの例には、消去電圧とプログラミング電圧並びに最適範囲内に電荷レベルを戻すためにブロック内のユーザデータをリフレッシュする周波数が含まれる。プログラミング電圧と消去電圧とを用いて低いサイクルカウント値を持つブロックを動作させ、それによってブロックの有効な耐用期間の延長を行うことが可能となる。データリフレッシュは、非常に頻繁に行われる場合、パフォーマンスに影響を与える可能性があるため、低いサイクルカウント値を持つブロックは、高いサイクルカウント値を持つブロックほど高い頻度でリフレッシュされることはない。種々のブロックの使用状況の差が予めセットされた或る限度を超えたときに、サイクルカウント値を利用して、論理ブロックアドレステーブルから物理ブロックアドレステーブルへの変更を行うことにより個々のブロックの使用状況（摩耗）を均すようにすることも可能である。さらに、ブロックがその予想された有効な耐用期間を超えるサイクル回数を経験した場合には、システムから当該ブロックを永久にマップアウトすることができる。
【００５０】
具体的な実施形態と関連して本発明を説明してきたが、本発明は添付の特許請求の範囲の全範囲内でその権利が保護されるべきであることが理解されよう。
【図面の簡単な説明】
【００５１】
【図１】本発明の実現が可能な第１の不揮発性メモリシステムのブロック図である。
【図２】本発明の実現が可能な第２の不揮発性メモリシステムのブロック図である。
【図３】図１または図２のメモリシステムのいずれかのメモリシステムにデータをプログラムするのに用いることが可能な電圧の波形を例示する。
【図４】４つの状態のうちの１つの状態に個々にプログラムされている１つのグループの不揮発性メモリセルの電圧しきい値の分布を例示する。
【図５】２つの状態のうちの一方の状態に個々にプログラムされている１つのグループの不揮発性メモリセルの電圧しきい値の分布を例示する。
【図６】複数ページを含む１ブロックのメモリセルの編成の第１の例を示す。
【図７】図６に例示されたタイプのブロックに記憶することが可能なブロックオーバーヘッドデータを例示する。
【図８】複数ページを含む１ブロックのメモリセルの編成の第２の例を示す。
【図９】ブロックオーバーヘッドデータを記憶する際に、図１または図２のメモリシステムのいずれかのメモリシステムの代表的な消去動作を示すフローチャートである。
【図１】
0004648006.tif 000002
【図２】
0004648006.tif 000003
【図３】
0004648006.tif 000004
【図４】
0004648006.tif 000005
【図５】
0004648006.tif 000006
【図６】
0004648006.tif 000007
【図７】
0004648006.tif 000008
【図８】
0004648006.tif 000009
【図９】
0004648006.tif 000010