(57)【特許請求の範囲】
【請求項１】
メモリシステム回路であって、
個々のブロックの中にある不揮発性記憶素子が同時に消去可能である不揮発性記憶素子の複数のブロックをアレイの各々が備える１つ以上の物理的アレイからなるメモリ回路と、
アドレス指定されたブロックにデータをプログラムし、アドレス指定されたブロックからデータを読み出し、かつアドレス指定されたブロックのうちの１つ以上からデータを一度に消去することを制御するコントローラ回路であって、前記コントローラ回路はアドレス変換のために前記物理的アレイの論理的境界を導入することによって１つ以上のブロックから各々構成されるゾーンに前記物理的アレイの各々を再分割し、ブロックとゾーンとの対応関係は前記コントローラ回路によって動的に調整可能である、コントローラ回路と、
を備えるメモリシステム回路。
【請求項２】
請求項１記載のメモリシステム回路において、
前記不揮発性記憶素子は、多状態記憶ユニットであるメモリシステム回路。
【請求項３】
請求項１記載のメモリシステム回路において、
前記コントローラ回路は、前記ブロックとゾーンとの対応関係を記憶する変換テーブルを有する揮発性メモリ部分を含むメモリシステム回路。
【請求項４】
請求項３記載のメモリシステム回路において、
前記対応関係のコピーは、前記不揮発性メモリに記憶されるメモリシステム回路。
【請求項５】
請求項１記載のメモリシステム回路において、
前記メモリ回路は複数のプレーンから構成され、前記ゾーンのうちの１つ以上は複数のプレーンからのブロックから構成されるメモリシステム回路。
【請求項６】
請求項５記載のメモリシステム回路において、
前記複数のプレーンは、２つ以上のチップからのものであるメモリシステム回路。
【請求項７】
請求項１記載のメモリシステム回路において、
前記コントローラ回路は誤り訂正符号（ＥＣＣ）論理を含み、前記ブロックとゾーンとの対応関係は誤り訂正符号の結果に応じて調整されるメモリシステム回路。
【請求項８】
請求項１記載のメモリシステム回路において、
前記ブロックとゾーンとの対応関係は、プログラム検証結果に応じて調整されるメモリシステム回路。
【請求項９】
請求項１記載のメモリシステム回路において、
前記ブロックとゾーンとの対応関係は、消去検証結果に応じて調整されるメモリシステム回路。
【請求項１０】
請求項１記載のメモリシステム回路において、
前記ブロックとゾーンとの対応関係は、前記メモリシステム回路の外部から前記コントローラ回路への信号に応じて調整されるメモリシステム回路。
【請求項１１】
個々のブロックの中にある不揮発性記憶素子が同時に消去可能である不揮発性記憶素子の複数のブロックと、アドレス指定されたブロックにデータをプログラムし、アドレス指定されたブロックからデータを読み出し、アドレス指定されたブロックのうちの１つ以上からデータを一度に消去することを制御するメモリコントローラ回路と、を備える不揮発性メモリシステムを操作する方法であって、
前記不揮発性記憶素子が前記メモリコントローラ回路によって１つ以上のブロックから各々構成される論理的ゾーンに組織されるように、アドレス変換のために論理的境界を導入することによってブロックとゾーンとの初期の対応関係を割り当てるステップと、
その後、前記ブロックのうちの１つ以上を欠陥であると特定するステップと、
特定された欠陥ブロックの分布に基づいて前記メモリコントローラ回路によりブロックとゾーンとの第１の対応関係を割り当てるステップと、
を含む方法。
【請求項１２】
請求項１１記載の方法において、
前記特定するステップは、
前記メモリブロックを試験するステップと、
前記試験するステップに基づいて前記欠陥ブロックを特定するステップと、
を含む方法。
【請求項１３】
請求項１２記載の方法において、
前記試験するステップは、前記不揮発性メモリシステムの外部からの信号に応じて実行される方法。
【請求項１４】
請求項１２記載の方法において、
前記不揮発性メモリシステムは誤り訂正符号（ＥＣＣ）論理をさらに備え、前記試験するステップは誤り訂正符号の結果に応じて実行される方法。
【請求項１５】
請求項１１記載の方法において、
前記特定するステップは、プログラム検証結果に応じて実行される方法。
【請求項１６】
請求項１１記載の方法において、
前記特定するステップは、消去検証結果に応じて実行される方法。
【請求項１７】
請求項１１記載の方法において、
前記第１の対応関係を割り当てるステップは、前記ゾーンにおける欠陥のないブロックの数のバラツキを最少にすることに基づいてブロックをゾーンに分配するステップを含む方法。
【請求項１８】
請求項１１記載の方法において、
前記メモリコントローラ回路は、揮発性メモリを有し、この中に前記第１の対応関係が維持される方法。
【請求項１９】
請求項１８記載の方法において、
前記第１の対応関係を不揮発性メモリ内に維持するステップをさらに含む方法。
【請求項２０】
請求項１１記載の方法において、
前記第１の対応関係を割り当てるステップに応じて、第１のブロックに記憶されるユーザデータを第２のブロックへ移動させるステップをさらに含み、前記第１のブロックは前記第１の対応関係を割り当てるステップの前には第１のゾーンの一部であり、かつ前記第１の対応関係を割り当てるステップの後には第２のゾーンの一部であり、さらに前記第２のゾーンは前記第１の対応関係を割り当てるステップの後には前記第１のゾーンの一部である方法。
【請求項２１】
請求項２０記載の方法において、
前記第１のブロックに記憶されるユーザデータを第２のブロックへ移動させるステップの後に、特定された欠陥ブロックの分布に基づいて前記メモリコントローラ回路によりブロックとゾーンとの第２の対応関係を割り当てるステップをさらに含む方法。
【請求項２２】
メモリシステム回路であって、
個々のブロックの中にある不揮発性記憶素子が同時に消去可能である不揮発性記憶素子の複数のブロックをアレイの各々が備える１つ以上の物理的アレイからなるメモリ回路と、
アドレス指定されたブロックにデータをプログラムし、アドレス指定されたブロックからデータを読み出し、かつアドレス指定されたブロックのうちの１つ以上からデータを一度に消去することを制御するコントローラ回路であって、前記コントローラ回路はアドレス変換のために前記物理的アレイの論理的境界を導入することによって１つ以上のブロックから各々構成される論理的アドレス部分に前記物理的アレイの各々を再分割し、物理的ブロックと論理的アドレス部分との対応関係は前記メモリ回路内の欠陥に応じて前記コントローラ回路によって適応可能である、コントローラ回路と、
を備えるメモリシステム回路。
【請求項２３】
請求項２２記載のメモリシステム回路において、
前記不揮発性記憶素子は、多状態記憶ユニットであるメモリシステム回路。
【請求項２４】
請求項２２記載のメモリシステム回路において、
前記コントローラ回路は、前記物理的ブロックと論理的アドレス部分との対応関係を記憶する変換テーブルを有する揮発性メモリ部分を含むメモリシステム回路。
【請求項２５】
請求項２４記載のメモリシステム回路において、
前記対応関係のコピーは、前記不揮発性メモリに記憶されるメモリシステム回路。
【請求項２６】
請求項２２記載のメモリシステム回路において、
前記メモリ回路は複数のプレーンから構成され、前記ゾーンのうちの１つ以上は複数のプレーンからのブロックから構成されるメモリシステム回路。
【請求項２７】
請求項２６記載のメモリシステム回路において、
前記複数のプレーンは、２つ以上のチップからのものであるメモリシステム回路。
【請求項２８】
請求項２２記載のメモリシステム回路において、
前記コントローラ回路は誤り訂正符号（ＥＣＣ）論理を含み、前記物理的ブロックと論理的アドレス部分との対応関係は誤り訂正符号の結果に応じて調整されるメモリシステム回路。
【請求項２９】
請求項２２記載のメモリシステム回路において、
前記物理的ブロックと論理的アドレス部分との対応関係は、プログラム検証結果に応じて前記コントローラ回路により適応させられるメモリシステム回路。
【請求項３０】
請求項２２記載のメモリシステム回路において、
前記物理的ブロックと論理的アドレス部分との対応関係は、消去検証結果に応じて前記コントローラ回路により適応させられるメモリシステム回路。
【請求項３１】
請求項２２記載のメモリシステム回路において、
前記物理的ブロックと論理的アドレス部分との対応関係は、前記メモリシステム回路の外部から前記コントローラ回路への信号に応じて前記コントローラ回路により適応させられるメモリシステム回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体不揮発性データ記憶システムのアーキテクチャとその操作方法との分野に関し、フラッシュ電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）に基づくデータ記憶システムに応用される。
【背景技術】
【０００２】
フラッシュＥＥＰＲＯＭ装置のありふれた応用は、電子装置のための大容量データ記憶サブシステムとしてのものである。このようなサブシステムは、複数のホストシステムに挿入され得る取り外し可能なメモリカード或いはホストシステム内の取り外し不能な埋め込み式の記憶装置として一般に実施される。両方の実装例において、サブシステムは、１つ以上のフラッシュ装置と、多くの場合にサブシステムコントローラとを含む。
【０００３】
フラッシュＥＥＰＲＯＭ装置はトランジスタセルの１つ以上のアレイから成り、各セルは１ビット以上のデータを不揮発的に記憶することができる。従って、フラッシュメモリは、当該メモリにプログラムされたデータを保持するために電力を必要としない。しかし、いったんプログラムされると、セルは新しいデータ値で再プログラムされ得る前に消去されなければならない。セルのこれらのアレイは、読み出し、プログラミングおよび消去の機能を効率よく実行し得るように複数のグループに分割される。大容量記憶装置のための１つの代表的なフラッシュメモリのアーキテクチャは、セルの大きなグループを消去可能なブロックに配列し、ブロックが一度に消去可能な最少数のセル（消去の単位）を含む。
【０００４】
１つの商業的な形では、各ブロックは、１セクタのユーザデータと、当該ユーザデータおよび／またはそれが記憶されているブロックに関連するオーバーヘッドデータとを記憶するのに充分なセルを含む。１つのセクタに含まれるユーザデータの量は、このようなメモリシステムの１つのクラスでは標準的な５１２バイトであるが、他のサイズであってもよい。各々を別々に消去可能とするために必要なセルの個々のブロック同士の絶縁は集積回路チップ上のスペースを必要とするので、他の１つのクラスのフラッシュメモリはブロックを顕著に大きくし、従ってこのような絶縁のために要するスペースが少なくなる。しかし、ユーザデータをもっと遥かに小さなセクタで取り扱うことも望ましいので、各々の大きなブロックは、多くの場合にユーザデータを読み出し、かつプログラミングするための基本単位である個別にアドレス指定可能なページにさらに分割される。各ページは普通、１セクタのユーザデータを記憶するが、ページはセクタの一部または複数のセクタを格納することができる。ここで、“セクタ”とは、ホストへ或いはホストから１つの単位として転送される１つの量のユーザデータを指すために使用される。
【０００５】
大きなブロックシステムにおいてサブシステムコントローラは、メモリサブシステムがホストから受け取る論理的アドレス（ＬＢＡ）と、メモリセルアレイ内の物理的ブロック番号（ＰＢＮ）およびページアドレスとの間での変換を含む幾つかの機能を実行する。この変換は、多くの場合に論理的ブロック番号（ＬＢＮ）と論理的ページとのための中間用語の使用を含む。また、コントローラがインタフェースバスを介してフラッシュ記憶装置に対して発する一連のコマンドを通して低レベルのフラッシュ回路動作をコントローラは管理する。コントローラが実行する他の機能は、誤り訂正符号（ＥＣＣ）を用いるなどの種々の手段を通してサブシステムに記憶されたデータの完全性を維持することである。
【０００６】
図１は、フラッシュ記憶装置１３１についての代表的な内部アーキテクチャを示す。主な特徴は、外部コントローラにインタフェースする入出力（Ｉ／Ｏ）バス４１１および制御信号４１２と、コマンド、アドレスおよび状態信号のためのレジスタを有する内部メモリ動作を制御するメモリ制御回路４５０とを含む。フラッシュＥＥＰＲＯＭセルの１つ以上のアレイ４００が含まれ、各アレイは、それ自身の行デコーダ（ＸＤＥＣ）４０１および列デコーダ（ＹＤＥＣ）４０２、センス増幅器およびプログラム制御回路（ＳＡ／ＰＲＯＧ）４５４のグループおよびデータレジスタ４０４を有する。現在、メモリセルは普通、記憶素子として１つ以上の伝導性フローティングゲートを含むが、他の長期間にわたる電子電荷記憶素子を代わりに使用してもよい。メモリセルアレイは、各記憶素子について定められた２レベルの電荷で操作されてよく、従って各素子で１ビットのデータを記憶することができる。或いは、各記憶素子について３つ以上の記憶状態を定めることもでき、その場合には２ビット以上のデータが各素子に記憶される。
【０００７】
所望の場合には、例えば米国特許第５，８９０，１９２号（特許文献１）により教示されているように、複数のアレイ４００が、関連するＸデコーダ、Ｙデコーダ、プログラム／検証回路、データレジスタなどとともに設けられる。この特許は、１９９９年３月３０日に登録され、この出願の譲受人であるサンディスク  コーポレーションに譲渡されたものであり、本願明細書において参照により援用されている。関連するメモリシステムの特徴が、ケビン・コンリーらにより２０００年２月１７日に出願された同時係属出願中の特許出願第０９／５０５，５５５号（特許文献２）に記載され、この出願は本願明細書において参照により明確に援用されている。
【０００８】
外部インタフェースＩ／Ｏバス４１１および制御信号４１２は以下を含むことができる。
ＣＳ−チップ選択：フラッシュメモリインタフェースを起動させるために使われる。
ＲＳ−読み出しストローブ：Ｉ／Ｏバスがメモリアレイからデータを転送するために使われていることを示すために使われる。
ＷＳ−書き込みストローブ：Ｉ／Ｏバスがメモリアレイへデータを転送するために使われていることを示すために使われる。
ＡＳ−アドレスストローブ：Ｉ／Ｏバスがアドレス情報を転送するために使われていることを示す。
ＡＤ［７：０］−アドレス／データバス：このＩ／Ｏバスは、コントローラとメモリ制御４５０のフラッシュメモリのコマンドレジスタ、アドレスレジスタおよびデータレジスタとの間でデータを転送するために使われる。
【０００９】
これらの信号に加えて、メモリが何らかのタスクを実行中でビジー（ＢＵＳＹ）であると記憶装置サブシステムコントローラが判定することを可能にする手段をメモリが有することも典型的なことである。このような手段は、メモリがビジー（ＢＵＳＹ）である間にアクセス可能である内部メモリレジスタに専用の信号または状態ビットを包含することができる。
【００１０】
このインタフェースは、他の信号構成を用いて同じ機能を与えることもできるので、単に例として示されたものである。図１は関連するコンポーネントを伴うフラッシュメモリアレイ４００を１つだけ示しているが、共通のインタフェースとメモリ制御回路とを共有するけれども並列の読み出しおよびプログラミング動作を可能とするために別々のＸＤＥＣ、ＹＤＥＣ、ＳＡ／ＰＲＯＧおよびＤＡＴＡ  ＲＥＧ回路を有する複数のこのようなアレイが単一のフラッシュメモリチップ上に存在してもよい。
【００１１】
データは、メモリアレイからデータレジスタ４０４を通して外部コントローラへデータレジスタのＩ／ＯバスＡＤ［７：０］４１１との結合を介して転送される。データレジスタ４０４は、センス増幅器／プログラミング回路４５４とも結合されている。各センス増幅器／プログラミング回路素子に結合されているデータレジスタの素子の数は、メモリセル、記憶素子として１つ以上のフローティングゲートを各々含むフラッシュＥＥＰＲＯＭセルの各記憶素子に記憶されるビットの数に依存する。各記憶素子は、メモリセルが多状態モードで操作されるならば、２または４などの複数のビットを記憶することができる。或いは、メモリセルは、記憶素子あたりに１ビットのデータを記憶するように二進モードで操作されてもよい。
【００１２】
行デコーダ４０１は、アクセスされることになる物理的ページを選択するために、アレイ４００のために行アドレスを復号する。行デコーダ４０１は、内部行アドレスライン４１９を介してメモリ制御論理４５０から行アドレスを受け取る。列デコーダ４０２は、内部列アドレスライン４２９を介してメモリ制御論理４５０から列アドレスを受け取る。
【００１３】
図２は、代表的な不揮発性データ記憶システムのアーキテクチャを示し、この場合、記憶媒体としてフラッシュメモリセルを使用する。１つの形では、このシステムは、ホストのレセプタクルに挿入されたときにホストインタフェースを提供するように一方の側に沿って伸びる電気コネクタを有する取り外し可能なカードの中にカプセル封入される。或いは、図２のシステムは、永久的に据え付けられた埋め込み式の回路の形などでホストシステムに埋め込まれてもよい。当該システムは、高レベルのホスト制御機能およびメモリ制御機能を実行する単一のコントローラ１０１を利用する。フラッシュ記憶媒体は１つ以上のフラッシュ記憶装置から成り、このような装置の各々は多くの場合にそれ自身の集積回路チップ上に形成される。システムコントローラとフラッシュメモリとは、コントローラ１０１がフラッシュメモリアレイにコマンド、アドレスをロードし、データをフラッシュメモリアレイとやり取りすることを可能にするバス１２１により接続される。（バス１２１は図１の４１２および４１１を含む。）コントローラ１０１はホストシステム（図示せず）とインタフェースし、これとユーザデータがフラッシュメモリアレイへまたフラッシュメモリアレイから転送される。図２のシステムがカードに包含される場合、ホストインタフェースは当該カードとホスト装置との差込プラグおよびソケットの組立（図示せず）を含む。
【００１４】
コントローラ１０１は、特定の論理的アドレスから出発して１セクタ以上のユーザデータを読み出しまたは書き込むようにとのコマンドをホストから受け取る。このアドレスは、メモリセルのブロックにおいて第１の物理的ページと整列してもしなくてもよい。
【００１５】
多数のページに分割される大容量メモリセルブロックを有するある従来技術のシステムでは、更新されないブロックからのデータは、元のブロックから、ホストにより書き込まれる新しい更新されたデータも含む新しいブロックにコピーされなければならない。他の従来技術のシステムでは、フラグがユーザデータとともにページに記録されて、元のブロック内の新たに書き込まれるデータによって取って代わられるデータのページが無効であることを示すために使われる。変更されないデータを現存するブロックからコピーしたり或いは前にプログラムされたページにフラグをプログラミングしたりせずに、現存するブロックに記憶されているデータに部分的に取って代わるデータを書き込むことを可能にするメカニズムが、ケビン・コンリーにより２００１年１月１９日に出願された同時係属出願中の特許出願第０９／７６６，４３６号「不揮発性メモリにおける部分的ブロックデータプログラミングおよび読み出し操作」（特許文献３）に記載され、本願明細書において参照により明確に援用されている。
【００１６】
このタイプの不揮発性メモリシステムは、特に、ホストシステムと取り外し可能に接続される密閉カードに入れられるとき、幾つかの用途に応用される。現在の商業的なメモリカード形式は、パーソナルコンピュータメモリカード国際協会（ＰＣＭＣＩＡ）、コンパクトフラッシュ（ＣＦ）、マルチメディアカード（ＭＭＣ）およびセキュアデジタル（ＳＤ）のフォーマットを含む。これらのカードの供給業者の１つは、本願の譲受人であるサンディスク  コーポレーションである。このようなカードとともに使用されるホストシステムは、パーソナルコンピュータ、ノートブック形コンピュータ、ハンドヘルド計算装置、カメラ、オーディオ再生装置などを含む。フラッシュＥＥＰＲＯＭシステムは、ホストシステムに埋め込まれた大容量記憶装置としても利用される。
【００１７】
このような不揮発性メモリシステムは、フローティングゲートメモリセルの１つ以上のアレイとシステムコントローラとを含む。当該コントローラは、ホストシステムとの通信と、ユーザデータを記憶したり検索したりするメモリセルアレイの動作とを管理する。メモリセルはセルのブロックをなすように一緒にまとめられ、セルのブロックは同時に消去可能なセルの最少のグループである。セルの１つ以上のブロックにデータを書き込む前に、セルのこれらのブロックは消去される。ユーザデータは通常、ホストとメモリアレイとの間でセクタとして転送される。ユーザデータのセクタは取り扱いやすい任意の量であってよく、好ましくはメモリブロックの容量より少なく、多くの場合に標準的なディスクドライブのセクタサイズ、すなわち５１２バイトに等しい。１つの商業的なアーキテクチャでは、メモリシステムブロックは、１セクタのユーザデータとオーバーヘッドデータとを記憶する大きさに作られ、オーバーヘッドデータは、当該ブロックに記憶されるユーザデータのための誤り訂正符号（ＥＣＣ）と、当該ブロックの使用履歴と、当該メモリセルブロックの欠陥およびその他の物理的情報を含む。このタイプの不揮発性メモリシステムの種々の実装例が、サンディスク  コーポレーションに譲渡された以下の米国特許および係属中の特許出願に記載され、その各々の全体が本願明細において参照により援用されている。これら特許および特許出願とは、米国特許第５，１７２，３３８号（特許文献４）、第５，６０２，９８７号（特許文献５）、第５，３１５，５４１号（特許文献６）、第５，２００，９５９号（特許文献７）、第５，２７０，９７９号（特許文献８）、第５，４２８，６２１号（特許文献９）、第５，６６３，９０１号（特許文献１０）、第５，５３２，９６２号（特許文献１１）、第５，４３０，８５９号（特許文献１２）および第５，７１２，１８０号（特許文献１３）並びに１９９７年８月７日に出願された特許出願第０８／９１０，９４７号（特許文献１４）および１９９９年６月３０日に出願された特許出願第０９／３４３，３２８号（特許文献１５）である。他の１つのタイプの不揮発性メモリシステムは、複数のセクタのユーザデータを記憶する大きなメモリセルブロックサイズを利用する。
【００１８】
メモリセルアレイの１つのアーキテクチャは、セルのサブアレイまたは他の単位の中にあって共通の消去ゲートを共有するメモリセルの１つまたは２つの行からブロックを便利に形成する。その全体が本願明細書において参照により援用されているサンディスク  コーポレーションの米国特許第５，６７７，８７２号（特許文献１６）および第５，７１２，１７９号（特許文献１７）には、このアーキテクチャの例が示されている。２つのプログラムされるしきい値レベルを定めることによって各フローティングゲートセルに１ビットのデータを記憶させるのが現在では最も普通であるが、３つ以上のフローティングゲートトランジスタのしきい値範囲を確立することによって各セルに２ビット以上のデータを記憶させることが趨勢となっている。フローティングゲートあたりに２ビットのデータ（４つのしきい値レベル範囲または状態）を記憶するメモリシステムが現在利用可能であり、セルあたり３ビット（８つのしきい値レベル範囲または状態）およびセルあたり４ビット（１６のしきい値レベル範囲）が将来のシステムのために考えられている。もちろん、１セクタのデータを記憶するために必要なメモリセルの数は、各セルに記憶されるビットの数が増えるに従って少なくなる。この趨勢は、セル構造と一般的な半導体処理との改善から結果として得られるアレイのスケーリングとあいまって、セルの行の区分化された部分にメモリセルブロックを形成することを実際的なものとしている。その全体が本願明細書において参照により援用されているサンディスク  コーポレーションの米国特許第５，９３０，１６７号（特許文献１８）に記載されているように、２つの状態（セルあたりに１データビット）または４つの状態（セルあたりに２データビット）などの一定の倍数での各メモリセルの動作の選択を可能にするようにブロック構造を形成することもできる。
【００１９】
フローティングゲートメモリセルへのデータのプログラミングは相当の量の時間を必要とし得るので、行内の多数のメモリセルが通常同時にプログラムされる。しかし、この並列性の増加は、電力要件を増大させ、また隣り合うセル同士の電荷の電位妨害或いはそれらの間の相互干渉を引き起こす。前に援用されているサンディスク  コーポレーションの米国特許第５，８９０，１９２号（特許文献１）は、異なる操作メモリセル単位（サブアレイ）内に位置するセルの異なるブロックに複数のページ（この特許ではチャンクと称されている）のデータを同時にプログラムすることによってこれらの効果を最小にするシステムについて記載している。複数のページを複数のサブアレイユニットに並列にプログラムすることのできるメモリシステムが、同時係属出願中の前に参照により援用されているケビン・コンリーらにより２０００年２月１７日に出願された特許出願第０９／５０５，５５５号（特許文献２）と、参照により本願明細書において明確に援用されているジョン・マンガンらにより２００１年１月１０日に出願された特許出願第０９／７５９，８３５号（特許文献１９）とに記載されている。
【００２０】
図２の特定の実施形態に関する詳細を図３に示す。この特定の実施形態は、メモリアレイ４００を幾つかの“プレーン”に分割し、ここでプレーンは単一のダイ上のメモリの細区分である。ここでは、図３の関連性の深い部分だけについて述べる。前の段落で参照により援用されている米国特許出願第０９／７５９，８３５号（特許文献１９）にいっそうの詳細を見出すことができる。
【００２１】
不揮発性メモリチップ１７は、ライン３０２を通してコントローラとインタフェースするための論理回路３９を含む。説明を簡単にするために、メモリチップの付加的なコンポーネントは示されていない。論理回路３９の目的は、別々のバスと制御ラインとに信号を発生させることである。種々の制御信号がライン４１で供給され、メモリアレイ回路への電源４３もインタフェース３９を通して制御される。データバス４５は、不揮発性メモリにプログラムされるか或いは不揮発性メモリから読み出されるユーザデータを伝え、アドレスバス４７は、ユーザデータを読み出し、ユーザデータを書き込み或いはメモリセルのブロックを消去するためにアクセスされるメモリ部分のアドレスを伝える。
【００２２】
単一の不揮発性メモリチップのフローティングゲートメモリセルアレイ自体が、アドレス指定、復号、読み出しなどのためのそれ自身の支援回路のセットを各々有する幾つかのユニットに分割されている。この例では、参照番号５１〜５８により表示される８個のこのようなアレイユニット０〜７が示されている。物理的には、例として、単一チップ上のメモリアレイは複数のカドラント或いは“プレーン”に分割され、各カドラントは、互いに部分的に接続されて、メモリセルユニット４（５５）および５（５６）の両側のｙデコーダ６１および６２などの共通ワードライン復号回路（ｙ復号）を共有する。当該共通ワードラインは、以下で図３に関してさらに説明するように、両方のメモリセルユニット４（５５）および５（５６）を横断して伸び、半分は一方の側でｙデコーダ６１に接続され、半分は他方の側でｙデコーダ６２に接続される。このメモリのアーキテクチャは、前に参照により援用されている米国特許第５，８９０，１９２号（特許文献１）に記載されているものと類似しているが、この特許で例示された４つのユニット（カッド）の代わりに８個のユニット或いは“プレーン”がある点で異なっている。
【００２３】
４００（図１）或いは５１〜５８（図３）などの不揮発性メモリアレイのために幾つかのアーキテクチャが使用される。１つの設計のＮＯＲアレイのメモリセルは、隣り合うビット（列）ラインと、ワード（行）ラインに接続されたコントロールゲートとの間に接続されている。個々のセルは、選択トランジスタが直列に形成されるか或いは形成されていない１つのフローティングゲートトランジスタまたは単一の選択トランジスタによって分離された２つのフローティングゲートトランジスタを含む。このようなアレイと、記憶システムにおけるその使用の例が、その全体が本願明細書において参照により援用されるか或いは前にすでに援用されているサンディスク  コーポレーションの以下の米国特許および係属出願中の特許出願において示されている。これら特許および特許出願とは、特許第５，０９５，３４４号（特許文献２０）、第５，１７２，３３８号（特許文献４）、第５，６０２，９８７号（特許文献５）、第５，６６３，９０１号（特許文献１０）、第５，４３０，８５９号（特許文献１２）、第５，６５７，３３２号（特許文献２１）、第５，７１２，１８０号（特許文献１３）、第５，８９０，１９２号（特許文献１）および第６，１５１，２４８号（特許文献２２）並びに２０００年２月１７日に出願された特許出願第０９／５０５，５５５号（特許文献２）および２０００年９月２２日に出願された特許出願第０９／６６７，３４４号（特許文献２３）である。
【００２４】
１つの設計のＮＡＮＤアレイは、両側の選択トランジスタを通してビットラインと基準電位との間に直列ストリングをなして接続された８個、１６個或いは３２個などの幾つかのメモリセルを有する。ワードラインは、異なる直列ストリングをなしてセルのコントロールゲートに接続される。このようなアレイとその動作との関連性のある例が、本願明細書において参照により援用されている２００１年６月２７日に出願された米国特許出願第０９／８９３，２７７号（特許文献２４）において示されている。
【００２５】
メモリが、製造プロセスから或いは装置の動作中に生じる欠陥のある部分を有することがよくある。前に参照により援用されている米国特許第５，６０２，９８７号（特許文献５）または本願明細書において参照により援用されている米国特許第５，３１５，５４１号（特許文献６）、第５，２００，９５９号（特許文献７）および第５，４２８，６２１（特許文献９）号などに記載されているような誤り訂正符号で或いはメモリのいろいろな部分を再マッピングするなどにより、これらの欠陥を扱うための手法が幾つか存在する。例えば、装置は、出荷前に通常徹底的に試験される。試験により、メモリの除去される必要のある欠陥部分を見つけることができる。その装置を出荷する前に、それらの欠陥に関する情報を当該装置に、例えばメモリアレイのＲＯＭ領域或いは別のＲＯＭに記憶させることができ、それは電源を入れた時点でコントローラによって読み出されて、コントローラがメモリの不良部分の代わりに良好な部分を使用することができるように使われる。読み出し或いは書き込むときに、コントローラはこの再マッピングのためにコントローラ内のポインタ構造を参照しなければならない。
【００２６】
メモリは、多くの場合に欠陥のあるブロックに取って代わる冗長ブロックを幾つか持つように設計される。それらは一般に、メモリの複数の論理構造領域の間に分布させられる。しかし、不良ブロックの数が多すぎたり或いはあまりに不均一に分布していれば、歩留まりが悪くなるか或いはカードの容量が低下するという結果をもたらす。
【特許文献１】米国特許第５，８９０，１９２号
【特許文献２】米国特許出願第０９／５０５，５５５号
【特許文献３】米国特許出願第０９／７６６，４３６号
【特許文献４】米国特許第５，１７２，３３８号
【特許文献５】米国特許第５，６０２，９８７号
【特許文献６】米国特許第５，３１５，５４１号
【特許文献７】米国特許第５，２００，９５９号
【特許文献８】米国特許第５，２７０，９７９号
【特許文献９】米国特許第５，４２８，６２１号
【特許文献１０】米国特許第５，６６３，９０１号
【特許文献１１】米国特許第５，５３２，９６２号
【特許文献１２】米国特許第５，４３０，８５９号
【特許文献１３】米国特許第５，７１２，１８０号
【特許文献１４】米国特許出願第０８／９１０，９４７号
【特許文献１５】米国特許出願第０９／３４３，３２８号
【特許文献１６】米国特許第５，６７７，８７２号
【特許文献１７】米国特許第５，７１２，１７９号
【特許文献１８】米国特許第５，９３０，１６７号
【特許文献１９】米国特許出願第０９／７５９，８３５号
【特許文献２０】米国特許第５，０９５，３４４号
【特許文献２１】米国特許第５，６５７，３３２号
【特許文献２２】米国特許第６，１５１，２４８号
【特許文献２３】米国特許出願第０９／６６７，３４４号
【特許文献２４】米国特許出願第０９／８９３，２７７号
【特許文献２５】米国特許出願第１０／０８１，３７５号
【特許文献２６】米国特許第５，７６８，１９２号
【特許文献２７】米国特許第４，６３０，０８６号
【特許文献２８】米国特許第５，９９１，１９３号
【特許文献２９】米国特許第５，８９２，７０６号
【発明の開示】
【００２７】
本発明の１つの主要な態様により、手短に且つ一般的に言えば、フラッシュメモリなどの不揮発性メモリは、それがアドレス変換のために使用するデータ構造の大きさを小さくするために、カードコントローラによって複数の論理的ゾーンに分割される。本発明は、カード歩留まりを改善するためにメモリ試験により許容される欠陥に配慮してゾーン境界を調整し、カードの使用寿命を延ばすためにフィールドで境界を調整する方法を提供する。カード製造時に、ゾーン境界をセットする操作が実行される。このプロセス中に、ファームウェアはカード上の欠陥のあるブロックの存在を探すために走査する。全てのブロックの位置が分かると、ファームウェアは、良好なブロックが複数のゾーンの間に均等に分布するようにゾーン境界を計算する。良好なブロックの数はメモリ試験基準によるカード試験基準を満たすので、欠陥はカード歩留まりの低下を減少させる。
【００２８】
本発明の他の態様では、コントローラは動的境界調整を実行することができる。欠陥が生じると、コントローラは分析を再び実行し、良好なブロックの数が不均衡になれば、ゾーン境界を再分布させ、ユーザデータを移動させる。当該プロセスをプログラミングサイクルや消去サイクルの数、誤り訂正符号（ＥＣＣ）の結果に対する応答或いは検証失敗などのプログラミングまたは消去困難の指示などのタイミングメカニズムに基づいて再構成することができる。
【００２９】
本発明の付加的な態様、特徴および利点は、添付図面と関連して読まれるべきである代表的な実施形態に関する以下の説明に含まれる。
【発明を実施するための最良の形態】
【００３０】
本発明の種々の態様は、不揮発性メモリシステムに一般的には応用可能である。以下の説明と背景技術の欄での説明とは、主としてＥＥＰＲＯＭフラッシュメモリの実施形態に関してのものであるけれども、メモリアレイで使われる記憶ユニットの特定のタイプは本発明において特別に重要ではない。どのように記憶素子が読み出され、書き込まれ、データを記憶するかということについての詳細は、本発明の主要な態様を構成するものではないので、種々の不揮発性システムのうちの任意のシステムの詳細であってよい。
【００３１】
以下では、背景技術の欄におけるように以下の用語が使われる。すなわち、ブロックは一度に消去可能な最少数のセル（消去の単位）を含み、本願明細書ではセクタは単位としてホストとやり取りされるユーザデータの量を指し、ページはユーザデータを読み出しかつプログラムするための基本単位であり、プレーンは単一のダイ上のメモリの物理的細区分である。幾つかの実施形態ではこれらの構造のうちの幾つかは直接或いは論理的／物理的な対応関係を通して互いに一致するが、これらは概念的には異なっている。さらに、もっと一般的な場合には、読み出しページと書き込みページとは別であってよい。本発明の説明では、ダイの総容量の１つの論理的細区分のために“ゾーン”という付加的用語が使われている。現在の発明の１つの主要な態様では、論理的にアドレスが複数のプレーン上に分布させられるが、１つのプレーンの中での１つのゾーンの物理的境界は独立し、かつ欠陥の位置のために最適化される。
【００３２】
本発明の代表的な実施形態では、図３の１７などのフラッシュまたは他の記憶装置は、それがアドレス変換のために使用するデータ構造の大きさを小さくするために、カードコントローラ３０１によって複数の論理的ゾーンに分割される。１つのゾーンの中に書き込み動作に使われる消去プールを提供するために、当該ゾーンの論理的容量を超えるある数の物理的ブロックが含まれることがよくある。論理的ゾーンとその欠陥の許容範囲とはメモリ試験中に発見された各ゾーン内の欠陥の数と調和しない可能性があるので、ゾーン内に過度の欠陥があることに起因して歩留まり損失が生じる可能性がある。さらに、ゾーンを使用不能にしてカードの寿命を限定する可能性のある欠陥がカードの動作中に生じる可能性がある。本発明の１つの原理態様は、カード歩留まりを改善するためにメモリ試験により許容される欠陥に配慮してゾーン境界を調整し、カードの使用寿命を延ばすためにフィールドで境界を調整することである。
【００３３】
状況は、破線で示された６個のゾーンに論理的に分割されている単一のプレーンと、オーバーヘッドおよびその他の非ユーザデータに専用される数個のシステムブロックとを有するメモリアレイ４００について図４に概略的に示されている。数個の不良ブロック５１１〜５２３が黒い細長い線で示されている。例えば、ゾーン０内の不良ブロック５１１とゾーン３内の不良ブロック５１３とは、装置が始めに試験されたときには容認できたけれども、装置が使われているうちに故障した一対のブロックであり得る一方で、ゾーン４内の不良ブロック５１５，５１７，５１９および５２１とゾーン５内の不良ブロック５２３とは製造中の処理エラーなどにより最初の試験時に不良であったブロックであり得る。各ブロックに３個の予備ブロックが割り当てられていても、ゾーン４はその論理的割り当てに対応するだけの充分に良好なブロックを持っていない。
【００３４】
この問題に対する１つのアプローチは、より多くの予備ブロックを設けることであるが、これは浪費されるスペース（およびその結果としてのコスト）と信頼性との間のトレードオフである。数個の予備または冗長ブロックをアレイに含むことは標準的な慣習であるが、それを超えればこれが逆効果になるという限界が普通はある。さらに、アレイがここで述べられているゾーン構造などのサブユニットに論理的に分割されるときに、予備ブロックは通常それらのサブユニットの全体にわたって均一に分布させられる。しかし、欠陥のあるブロックは、偶然或いは限られた領域に影響を及ぼす処理または他の問題に起因して、所定のサブユニットに密集する可能性がある。従って、１つのゾーンでは予備ブロックの数の分布は薄すぎるのに対して、他のゾーンでは元の余分な数の予備ブロックを保つという結果になり得る。
【００３５】
この問題に対する前の１つのアプローチは、例えばゾーン４の境界を動かして必要な余分の良好なブロックを付け加えるなどして、メモリ試験と同時に境界を割り当てることを含んでいた。これは、コントローラメモリのコスト要件をよりよく満たすようにゾーンを減らすことに関する柔軟性を制限している。他の１つのアプローチは、歩留まり損失を認容するかまたはカードの容量を低下させることである。
【００３６】
本発明の１つの原理態様では、コントローラはカード上の欠陥のあるブロックの存在を探すために走査する。これは、カード製造時に、ゾーン境界をセットする動作を伴って行われ得る。代表的な実施形態では、これはファームウェアで実施されるが、ハードウェアおよびソフトウェアで実施するという変形例もある。全てのブロックの位置が分かると、当該ファームウェアは、良好なブロックがゾーンに均等に分配されるように、ゾーン境界を計算する。メモリ試験基準によりカード試験基準を満たすように良好なブロックの数が保証されるので、欠陥はカード歩留まりの低下を生じさせない。欠陥が生じると、コントローラは分析を再び実行し、良好なブロックの数が不均衡になれば、ゾーン境界を再分布させ、ユーザデータを移動させる。
【００３７】
例えば、図４において、試験時に、ゾーン４とゾーン３との境界を移動させてゾーン４に欠陥のない追加のブロックを供給することができる。ゾーン３内の不良ブロック５１３または付加的な不良ブロックが時間がたつにつれて生じれば、コントローラはアレイ内に充分に良好なブロックが存することを保証するようにゾーン３とゾーン２との境界をその後移動することができる。
【００３８】
各ゾーンは通常、適当な個数の欠陥のあるブロックを見込んで充分な予備ブロックを設けているので、アレイが単一のプレーンに含まれるときには普通は境界をあまり動かさなくてもよいように充分な予備がある。しかし、ゾーンが数個のプレーンにわたって分布しているときには、これらのマージンを非常に薄く分布することもできる。例えば、各ゾーンに８個の余分なブロックが割り当てられているならば、図４のような単一プレーンの実施形態は、当該ゾーンが境界調整で使用不能になる前に８個の欠陥ブロックの全てを容認する。代わりに、各ゾーンが４つのプレーンにわたって分布させられているならば、各ゾーンの特定のプレーン内のその部分は多くても２つの欠陥を容認することができるに過ぎない。
【００３９】
プレーンの使用は、前に背景の技術の欄で論じられている。プログラミング時間を短縮することによって性能を高めるために、目標として、他のペナルティーを招来せずに適宜にプログラムすることができるなるべく多くのセルを並列にプログラムすることがある。１つの実装例は、前に参照により援用されているケビン・コンリーらにより２０００年２月１７日に出願された米国特許出願第０９／５０５，５５５号（特許文献２）およびジョン・マンガンらにより２００１年１月１０日に出願された特許出願第０９／７５９，８３５号（特許文献１９）に記載されているように、メモリアレイを大幅に独立したサブアレイまたはユニットに分割し、その各ユニットを多数のブロックに分割するプレーンの使用である。データのページはユニットのうちの２つ以上に同時にプログラムされる。他の構成では、複数のメモリチップからのこれらのユニットのうちの１つ以上をさらに結合させる。これらの複数のチップを、（図２に示されているように）単一のバス或いはデータスループットを高めるために複数の独立のバスに接続することができる。
【００４０】
この１つの延長は、前に参照により援用されている２００１年１月１９日に出願された米国特許出願第０９／７６６，４３６号（特許文献３）に記載されているように、一緒にプログラムし、読み出し、消去するためにいろいろなユニットからの複数のブロックを結合させることである。この構成では、いろいろなユニットからの複数のブロックをメタブロックとして一緒に操作することができる。メタブロックは、従ってゾーンは、複数のプレーンを横断することができ、各プレーンは同じ物理的装置に存在しなくてもよい。複数のダイを、それらが実際にどのようにパッケージ化されているかということとは無関係に並列に操作することができる。
【００４１】
前述したメモリの実施形態の場合と同じように、各々のブロック、すなわちメモリアレイの最少の消去可能なグループは通常、複数のページに分割され、１つのページは当該ブロック内で一緒にプログラム可能な最少数のセルを含む。従って、メタブロックのプログラミング操作は普通、当該メタブロックを形成するブロックの各々の少なくとも１ページへのデータの同時プログラミングを含み、これは当該メタブロックが満杯になるか或いは入ってくるデータが全てプログラムされ終わるまで反復される。他のメタブロックは、当該アレイユニットからのいろいろなブロックから（各ユニットから１ブロックずつ）形成される。以下で論じられる延長は、２００２年２月２２日に出願された米国特許出願第１０／０８１，３７５号（特許文献２５）で論じられているようなメタブロック操作およびその延長と全て結合され得る。この特許出願は、本願明細書において参照により援用されている。
【００４２】
図５は、１０個のゾーンを有する代表的な実施形態を示し、その各々は４つのプレーンにわたって分布させられている。例えば、ゾーン０は、協動して単一のゾーンの論理的構造を形成する部分６２０，６２１，６２２および６２３から成っている。不良ブロックは、ゾーン３、プレーン１（６０１）と、ゾーン５、プレーン２（６０３）と、ゾーン８、プレーン０（６０５）とに示されている。図５に示されているように、ゾーン境界は、これらの不良ブロックに配慮してプレーン間を移動させられている。より一般的には、プレーンの数とゾーンの数との両方が異なる値の数であってよいが、以下で説明するように、これらの値の選択に関わる種々のトレードオフがある。
【００４３】
各ゾーンの境界は、当該ゾーンの各プレーンにおいて書き込みのために少なくとも最少数の良好なブロックを利用し得るように、選択される。各ゾーンは、最適なシステム動作のために必要なブロックからのデータを保持するために少なくとも充分な数のブロックを含むべきである。残りの予備ブロックは各ゾーン、各プレーンに均等に分配されてよく、ここで予備の数がプレーンの数で割り切れなければ、残りの余分なブロックは第１のゾーンから均等に分配されてよい。当該プロセスは各プレーンについて独立に実行され、チップのダイアグラムとその分割の仕方とが図５に示されている。
【００４４】
代表的な実施形態では、ゾーン境界が装置の境界を横切らないことが好ましい。この制約は、関連する技術についての説明において前述したように、装置の性能を高めるためにメモリでは並列動作が好まれることに起因する。他の実施形態では、プレーンは、その適応性、融通性をさらに高めるために、複数のチップにわたって分布させられてもよい。例えば、プレーン０（６２０）、プレーン１（６２１）およびプレーン２（６２２）は１つのダイ上に、プレーン３（６２３）は他のダイ上に形成されてよい。
【００４５】
第１の（または他の）チップ（チップ０）はシステムブロックをとっておいてよく、１つ以上の予備ブロックが予備領域に割り当てられてよく、これによりこのチップのユーザデータ部分のために利用可能な予備の数を対応的に減らすことができるという点を除いて、マルチチップ装置の全てのチップを同様に区分することができる。とっておかれるシステムブロックの使用法について、本発明の他の態様と関連して以下でさらに説明する。ブロック０が良好である必要はない。実際、ファームウェアはチップの始めの９ブロック中の不良ブロックを容認する。
【００４６】
ゾーンの大きさは、２つの要因によって決定される。第１に、論理的／物理的変換テーブルがコントローラＲＡＭにおいて維持されなければならないので、コントローラのコスト上の理由からゾーンの大きさを小さく保とうとする試みがなされる。実装例にもよるが、ゾーンと物理的ブロック番号との関係を記憶する他に、ゾーンのサイズがプレーンごとに異なることを可能にする情報も含むので、本発明は一般にＲＡＭにおいてより多くの領域を必要とする。ゾーンが初めてアクセスされるときに各ブロックからのページを読み出してその論理的アドレスを確立しなければならないので、これらのテーブルを作成するために時間がかかる。１つの反対の要因は、消去プール中の余分な物理的ブロックをより効率的に使用するとともにより多くの欠陥に配慮するために、それが程よく大きく拡張されることである。
【００４７】
例えば、１つの特定の実施形態は、各メモリチップが４０９２個のユーザデータブロックと４個のシステムブロックの合計で４０９６個のブロックを有する４つのプレーンを有することに基づいている。一組のサンプル計算により、物理的に記憶するＲＡＭの量とこのテーブルを組み立てるために要する時間との両方がゾーンの数に逆比例して減少することが示されている。すなわち、５個のゾーンは、１０個のゾーンについての量の２倍を、１５個のゾーンについての量の３倍を必要とする。欠陥許容範囲も同様に減少する。従って、これら２つの効果のトレードオフを選択しなければならない。記載されている実施形態について、妥当な均衡は、９ゾーンまたは図５に示されているような１０ゾーンの代表的な実施形態を使用することである。
【００４８】
ゾーン境界を調整するプロセスは、幾つかの異なる時に実行され得る。例えば、未使用のメモリアレイの欠陥のあるブロックに配慮するために装置のメモリ試験のときにそれを実行することができる。この場合、信号がシステムの外からコントローラに送られ、不良ブロックが判定され、ゾーンテーブルが組み立てられる。このテーブルを、将来使用するために不揮発性メモリの予備領域に記憶することができる。本発明のこの態様は、装置の歩留まりを改善する。以前は、１つのゾーンにあまりに多数の欠陥ブロックがあれば、そのゾーンは使用不能であった。今日、そのゾーンを助けるために境界を移動させることができる。同様に、それは装置の寿命を延ばすこともできる。例えば、１つのゾーンが試験時に最大限の数の不良ブロックを持っていたとすれば、それはもうひとつのブロック故障で以前は使用不能になったであろうが、今は余分な良好ブロックが再分配される。
【００４９】
本発明のこの態様も、発生したエラーに動的に配慮するように実施され得る。これは、システムの寿命の後期においてブロックが故障し始めたときに特に有益である。試験時における最初の境界調整後に予備ブロックをゾーンに均等に分配することはできるが、新しい不良ブロックは多くの場合に装置全体に均等には現れない。１つの領域が循環してより多く損耗するときに不均等な損耗が結果として生じ得る。処理が均一でないために成長した欠陥がクラスタ化することもあり得、装置の幾つかのゾーンで再び消去ブロックが欠乏することになる。
【００５０】
幾つかのソースで予備ブロックの動的割り当てを動機付けることができる。それは、例えば時間要件に基づいてホストからの信号に応答して行われてよい。ホストは、プロセスを続行するコマンドをコントローラに対して発する。コントローラ自体は、例えば、問題を指摘するＥＣＣ結果に対してまたはプログラミング或いは消去の困難性に応答して、それ自身でプロセスを開始することもできる。
【００５１】
刺激が何であっても、コントローラは、メモリアレイ内の欠陥位置を判定し、欠陥のあるブロックを収容するようにゾーンへのブロックの配分を決定する。以前は１つのゾーンにあったけれども、今は他のゾーンに再配置されるべきデータが１つのブロックに存在し得るので、このブロック内のデータは同じゾーン内にデータが維持されるように移されなければならない。単一のゾーン内に欠陥のあるブロックが幾つか生じたならば、例えば境界を一度に１ブロックずつ移すなどしてデータ移動および境界再配置を段階的に行うのがいろいろな用途において普通は容易である。（試験時などにデータが存在しないときには、当該再配置を全て１ステップで実行することができる。）このプロセスを図６に概略的に示す。
【００５２】
その後、境界テーブルは、新しい境界割り当てについて論理的ブロックから物理的ブロックへの変換を組み立てることによって更新される。このテーブルを、後にコントローラＲＡＭから不揮発性メモリの予備部分へ移すことができる。ゾーンテーブルを不揮発性メモリに記憶させることにより、システムがホストから初期化コマンドを受け取ったとき、メモリシステムを初期化する操作が、ゾーン境界テーブルを不揮発性メモリからコントローラのキャッシュメモリに転送する操作を含むことになる。その後、このテーブルをメモリにゾーンごとにアクセスするために使用することができる。
【００５３】
図６は、破線Ａで示されているゾーン８および９の間およびゾーン７および８の間の初期境界を有するプレーンの一部分を示す。図において、ゾーン９は、５つの不良ブロック７０１〜７０５を有するように示されている。例えば、これは、処理エラーに起因してメモリセルがまずく作られて結局故障して当該ゾーン内の良好なブロックの数が不足するという結果をもたらしたアレイの一部分であり得る。境界をＣによって示されている位置へ移動させることによって数個の良好なブロックをゾーン８からゾーン９へ転送する必要がある。これはゾーン８内のブロックの数を減少させるので、その境界をＢにより示されている位置へ移動させることによって幾つかのブロックをゾーン７からゾーン８へ転送するためにさらなる調整がおそらく必要である。
【００５４】
７１１および７１２により示されているブロックはおそらくデータを含むであろうから、その論理的ブロック番号が同じゾーン内に留まり、ゾーン構造を保存しなければならないのであれば、このデータを移動しなければならない。両方のブロックを一度に移すのに充分なスペースを利用できるとは限らないので、ブロック７１１を始めに移してゾーン８および９の間にＢで示されているように中間の境界を確立することができる。ゾーン８内に追加のメモリ空間を作って、ゾーン７とのその境界をＡからＢへ移すことを可能にするために、ブロック７２１内のデータを同様に移す必要がある。ブロック７２１内のデータをゾーン７へ移して、Ｂによりそこに示されている境界を確立した後に、ブロック７１２内のデータをゾーン８へ移してＣ境界を確立することができる。
【００５５】
相対的タイミングに関して、ブロック７２１を移すことによって作られた追加のスペースがブロック７１２を移すために必要であるならば、ブロック７２１がブロック７１２より前のある時に移されることだけが必要である。これは、ブロック７１１を移した後でも、同時でも或いはその前でもよい。例えば、試験の時にこれらのブロック内にデータがなければ、もちろん移動させるデータはなく、中間のステップなしで最終の境界を確立することができる。
【００５６】
図７は、プロセスのフローチャートである。プロセスを幾つかの方法で開始することができる。例えば、試験時に外部信号（８０１）により或いはホストにより決定されて開始することができる。ホストは、タイミングまたは幾つかの操作、例えばいくつかの消去／プログラム操作に基づいてプロセスを開始することができる。この種の開始は、コントローラ自体で始まってもよい。システム自体の中でプロセスを開始することができる他の方法は、例えばＥＣＣの結果或いはプログラミングまたは消去プロセスで検証され損なったことに起因するアレイの部分的な欠陥の表示に応答するというものである（８０２）。
【００５７】
プロセス自体は、コントローラがメモリの選択された部分を評価して（８０３）、欠陥のあるブロックが存在するならば、どのブロックがその欠陥ブロックであるのかを判定することから始まる。この結果に基づいて、前述したようにコントローラはプレーン内の良好なブロックを全ゾーンにわたって分配するように良好なブロックの配分を決定する。これは、ゾーンテーブルを作るために（８０５）前述したように、良好なブロックの数を均等にする（或いは、より正確に良好なブロックの数のバラツキを最少にする）。代表的な実施形態では、コントローラにおいてファームウェアの実装例が使用されるが、ハードウェアまたはソフトウェアだけを用いる実装例も可能な変形例である。別の変形例のセットでは、境界決定の一部または全部をホストにおいて実行することができる。
【００５８】
図６に関して説明したように、境界変更の影響を受けるデータを移すことが必要である。これはステップ８０７で行われ、その後ステップ８０９で境界が調整される。図６に関して前述したように、このプロセスは増分するようなプロセスで実行され得る（８１１）。データがないときには、最初の装置の試験などで、これらのステップは不要である。
【００５９】
この段階で、ゾーンテーブルが決定され、各プレーンにおいて境界がセットされ、実際のプロセスが行われる。今では、ゾーンテーブルを用いて装置を動作させてメモリにアクセスすることができる（８１３）。結局、ステップ８０２に関して説明したように、メモリへのアクセスの結果に基づいてプロセスを反復することができる。この情報を将来使用するために維持するため、更新されたゾーンテーブルを不揮発性メモリに、例えば予備部分に記憶させておくこともできる（８１５）。ステップ８１５は、図７においてはステップ８１３の後にあるが、それを当該テーブルが確立された後の任意のときに行うこともできる。
【００６０】
前述したように、これまでの説明では、記憶装置について、フローティングゲートＥＥＰＲＯＭまたはフラッシュセルなどの電荷蓄積装置を用いる実施形態に主として言及したが、それを磁性媒体および光学式媒体を含む他の実施形態に応用することもできる。記憶素子がどのように読み出され、書き込まれ、データを記憶するかということについての詳細は、本発明の主要な態様を構成するものではないので、本発明の種々の態様を、サブ０．１ｕｍトランジスタ、単一電子トランジスタ、有機／カーボンに基づいたナノトランジスタおよび分子トランジスタを含むけれどもこれらに限定されない他のタイプのメモリにも応用することができる。例えば、エイタンの米国特許第５，７６８，１９２号（特許文献２６）およびサトウらの米国特許第４，６３０，０８６号（特許文献２７）にそれぞれ記載されているものなどのＮＲＯＭおよびＭＮＯＳセル、或いはギャラガーらの米国特許第５，９９１，１９３号（特許文献２８）およびシミズらの米国特許第５，８９２，７０６号（特許文献２９）にそれぞれ記載されているものなどの磁性ＲＡＭおよびＦＲＡＭセルを使用することもできる。これらの特許の全てが、本願明細書において参照により援用されている。
【００６１】
本発明を種々の代表的な実施形態に関して説明してきたが、本発明が添付の特許請求の範囲全体の中でその権利が保護されるべきであることが理解されよう。
【図面の簡単な説明】
【００６２】
【図１】メモリ制御論理、データレジスタおよびアドレスレジスタを有する代表的な従来技術のフラッシュＥＥＰＲＯＭメモリアレイのブロック図である。
【図２】システムコントローラとともに図１のメモリを利用するアーキテクチャを示す。
【図３】不揮発性メモリの幾つかの要素を示す。
【図４】単一プレーンの実施形態における不良ブロックの配列を示す。
【図５】４プレーン、１０ゾーンの実施形態における境界調整の例を示す。
【図６】境界をどのように再調整し得るかを示す略図である。
【図７】代表的な実施形態を示すフローチャートである。
【図１】
0004576235.tif 000002
【図２】
0004576235.tif 000003
【図３】
0004576235.tif 000004
【図３Ａ】
0004576235.tif 000005
【図３Ｂ】
0004576235.tif 000006
【図４】
0004576235.tif 000007
【図５】
0004576235.tif 000008
【図６】
0004576235.tif 000009
【図７】
0004576235.tif 000010