(57)【特許請求の範囲】
【請求項１】
複数のワード線および複数のビット線に沿って形成された不揮発性メモリセルのアレイを有する不揮発性メモリ回路を備える不揮発性メモリシステムを動作する方法であって、前記ビット線は複数のサブセットを形成し、前記サブセットの各々が対応するセットのデータレジスタに接続可能である複数のサブセットを形成する方法において、
データを複数のワード線のうちの第１のワード線に沿って第１の複数のメモリセルにバイナリ形式で書き込むことによって、第１の複数のビット線に沿って第１の複数のメモリセルの形態が形成されるステップと、
第１の複数のメモリセルから、第１の複数のビット線に対応する前記セットのデータレジスタへデータを読み込むステップと、
第１の複数のメモリセルからのデータを前記セットのデータレジスタ内で再配置し、これによって、データを第２の複数のビット線に対応するセットのデータレジスタ内に配置するステップであって、第２の複数のビット線が第１の複数のビット線よりも少ないステップと、
その後、再配置されたデータを、第２の複数のビット線に対応するデータレジスタから複数のワード線のうちの第２のワード線に沿って、第２の複数のビット線に沿って形成された第２の複数のメモリセルへ多状態形式で書き込むステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、
前記多状態形式は、１セル当たりＮビット形式であり、Ｎは１よりも大きい整数であり、第１の複数のビット線の数は第２の複数のビット線の数のＮ倍である方法。
【請求項３】
請求項２記載の方法において、
複数のワード線のうちの第１のワード線に沿ってさらなるデータを書き込んだ後であって、再配置されたデータを複数のワード線のうちの第２のワード線に沿って書き込む前に、
追加のデータを複数のワード線のうちの（Ｎ−１）個の追加のワード線にバイナリ形式で書き込むステップと、
さらなるデータを複数のワード線のうちの（Ｎ−１）個の追加のワード線から前記セットのデータレジスタへ読み込むステップと、
さらなるデータを前記セットのデータレジスタ内で再配置するステップと、をさらに含み、
前記再配置されたデータを複数のワード線のうちの第２のワード線に沿って書き込むステップは、再配置されたさらなるデータを複数のワード線のうちの第２のワード線に沿って同時に書き込むことをさらに含む方法。
【請求項４】
請求項１記載の方法において、
前記メモリセルのアレイは複数の個々に消去可能なブロックから形成され、複数のワード線のうちの第１のワード線は複数の消去可能なブロックのうちの第１の消去可能なブロックに含まれ、複数のワード線のうちの第２のワード線は複数の消去可能なブロックのうちの第２の消去可能なブロックに含まれる方法。
【請求項５】
請求項１記載の方法において、
前記不揮発性メモリシステムは、コントローラ回路をさらに備え、
前記方法は、複数のワード線のうちの第１のワード線に沿ってデータを書き込む前に、前記コントローラ回路から前記不揮発性メモリ回路へデータを転送するステップをさらに含む方法。
【請求項６】
コントローラ回路と、複数のワード線および複数のビット線に沿って形成された不揮発性メモリセルのアレイを有する不揮発性メモリ回路とを備える不揮発性メモリシステムを動作する方法であって、
前記コントローラ回路でデータを受信するステップと、
データに対応する誤り訂正符号を前記コントローラ回路内で生成するステップと、
データおよび対応する誤り訂正符号を前記不揮発性メモリ回路に転送するステップと、
データおよび対応する誤り訂正符号を複数のワード線のうちの第１のワード線に沿ってバイナリ形式で書き込むステップと、
その後、前記不揮発性メモリ回路内において、データおよび対応する誤り訂正符号を複数のワード線のうちの第２のワード線に沿って多状態形式で書き換えるステップであって、対応する誤り訂正符号はデータが多状態形式でどのように配置されるかに依存して生成されるステップと、
を含む方法。
【請求項７】
請求項６記載の方法において、
前記メモリセルのアレイは複数の個々に消去可能なブロックから形成され、複数のワード線のうちの第１のワード線は複数の消去可能なブロックのうちの第１の消去可能なブロックに含まれ、複数のワード線のうちの第２のワード線は複数の消去可能なブロックのうちの第２の消去可能なブロックに含まれる方法。
【請求項８】
請求項６記載の方法において、
前記多状態形式は１セル当たりＮビット形式であり、Ｎは１よりも大きい整数であり、  前記方法は、データおよび対応する誤り訂正符号を複数のワード線のうちの第１のワード線に沿って書き込んだ後であって、データおよび対応する誤り訂正符号を複数のワード線のうちの第２のワード線に沿って書き換える前に、さらなるデータおよび対応する誤り訂正符号を複数のワード線のうちの（Ｎ−１）個の追加のワード線に沿ってバイナリ形式で書き込むステップをさらに含み、
前記書き換えるステップは、さらなるデータおよびさらなるデータの対応する誤り訂正符号を複数のワード線のうちの第２のワード線に沿って多状態形式で同時に書き換えることを含み、さらなるデータの対応する誤り訂正符号はさらなるデータが多状態形式でどのように配置されるかに依存する方法。
【請求項９】
不揮発性メモリ回路であって、
複数のワード線および複数のビット線に沿って形成された複数の不揮発性メモリセルを有するメモリアレイと、
前記メモリアレイに接続可能である読み出し回路であって、２値読み出し動作を実行するため、前記ビット線の１つ以上に各々接続可能である複数のセンス増幅器を備える読み出し回路と、
多状態プログラム動作を実行するため、前記メモリアレイに接続可能である書き込み回路と、
前記読み出し回路および前記書き込み回路にアクセス可能であるデータレジスタスタックであって、
前記センス増幅器の出力を受信するように接続可能である第１のデータレジスタであって、複数のワード線のうちの第１のワード線上の、１よりも大きい整数であるＮまたはそれ以上の個数のビット線からの２値検知動作の出力を受信し保持する第１のデータレジスタと、
前記第１のデータレジスタに接続可能であって、前記第１のデータレジスタとの間で内容の転送を行うＮ個の第２のデータレジスタと、
前記第２のデータレジスタの第１番目に接続可能であり、これによって、前記第１のデータレジスタに保持された前記第１のワード線上のＮ個の２値検知動作の出力に対応する値を、複数のワード線のうちの第２のワード線上のセルの１セル当たりＮビットのプログラミング動作に用いるため、前記Ｎ個の第２のデータレジスタの対応する１つに各々転送することができる処理回路と、を備えるデータレジスタスタックと、
を備える不揮発性メモリ回路。
【請求項１０】
請求項９記載の不揮発性メモリ回路において、
前記第１のデータレジスタは、複数のワード線のうちの第１のワード線上の、倍数ＭのＮ個のビット線からの２値検知動作の出力を受信し保持することができ、
前記処理回路は、前記第２のワード線上の、Ｍ個のビット線に沿ったＭ個のセルの１セル当たりＮビットの同時プログラミング動作に用いるため、Ｍ個の値を前記第２のデータレジスタの各々に転送することができる不揮発性メモリ回路。
【請求項１１】
複数のワード線および複数のビット線に沿って形成された不揮発性メモリセルのアレイを有する不揮発性メモリ回路を備える不揮発性メモリシステムを動作する方法であって、前記ビット線は複数のサブセットを形成し、前記サブセットの各々が対応するセットのデータレジスタに接続可能である複数のサブセットを形成する方法において、
前記サブセットのＮ個に沿って形成されたメモリセルのＮ個の第１のワード線に沿ってバイナリ形式で記憶されたデータを、対応するＮセットのデータレジスタの各々におけるＮ個のデータレジスタに読み込むステップであって、Ｎは１よりも大きい整数であるステップと、
その後、Ｎセットのデータレジスタを接続する局所内部データバスを用いてＮセットのデータレジスタの異なるセットのデータレジスタ間でデータをシャッフルするステップと、
その後、Ｎセットのデータレジスタからシャッフルされたデータを第２のワード線に沿って１セル当たりＮビット形式で書き込むステップと、
を含む方法。
【請求項１２】
請求項１１記載の方法において、
前記メモリセルのアレイは複数の個々に消去可能なブロックから形成され、前記第１のワード線は複数の消去可能なブロックのうちの第１の消去可能なブロックに含まれ、前記第２のワード線は複数の消去可能なブロックのうちの第２の消去可能なブロックに含まれる方法。
【請求項１３】
請求項１１記載の方法において、
前記不揮発性メモリシステムは、コントローラ回路をさらに備え、
前記方法は、前記第１のワード線に沿ってデータを書き込む前に、前記コントローラ回路から前記不揮発性メモリ回路へデータを転送するステップをさらに含む方法。
【請求項１４】
請求項１３記載の方法において、
前記コントローラ回路から前記不揮発性メモリ回路へデータを転送する前に、
前記コントローラ回路でデータを受信するステップと、
データに対応する誤り訂正符号を前記コントローラ回路内で生成するステップであって、対応する誤り訂正符号は、データが前記第２のワード線にプログラムされるときに、多状態形式でどのように配置されるかに依存して生成されるステップと、をさらに含み、  前記対応する誤り訂正符号は、前記不揮発性メモリ回路に転送され、前記第１のワード線に沿ってバイナリ形式でデータと一緒に同時に書き込まれる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）およびフラッシュＥＥＰＲＯＭのような不揮発性半導体メモリに関し、特に、このようなメモリ装置上でデータをバイナリ形式から多状態形式へ書き換える技術に関する。
【背景技術】
【０００２】
電荷の不揮発性記憶が可能であって、特に、小形形状のファクタカードとしてパッケージ化されたＥＥＰＲＯＭおよびフラッシュＥＥＰＲＯＭの形態をとる固体メモリは、近年、様々なモバイルおよびハンドヘルド装置、特に、情報機器および家庭用電化製品において選択される記憶装置になった。固体メモリでもあるＲＡＭ（ランダムアクセスメモリ）とは異なって、フラッシュメモリは不揮発性であって、電源がオフに転換された後でも、記憶されたデータを保存する。高い費用にもかかわらず、フラッシュメモリは、大容量記憶用途においてますます用いられてきている。ハードドライブおよびフロッピー（登録商標）ディスクのような回転磁気媒体に基づく従来の大容量記憶装置は、モバイルおよびハンドヘルド環境に不適切である。その理由は、巨大になりがちなディスクドライブが、機械的に故障する傾向にあり、高遅延および大電力要件を有するためである。これらの所望されていない属性は、大部分のモバイルおよび携帯用途において、ディスクに基づく記憶装置を非実用的なものにする。その一方で、埋め込まれたフラッシュメモリと、取り外し可能なカードの形態をとるフラッシュメモリとの双方は、小形、低電力消費量、高速および高信頼性の特徴によってモバイルおよびハンドヘルド環境に理想的に適する。
【０００３】
ＥＥＰＲＯＭおよび電気的にプログラム可能な読み出し専用メモリ（ＥＰＲＯＭ）は、消去することができ、新たなデータをメモリセルに書き込む、または「プログラムする」ことができる不揮発性メモリである。双方とも、電界効果トランジスタ構造においてソース領域とドレイン領域との間にある半導体基板内のチャネル領域上に配置された導電性フローティング（非結合）ゲートを用いる。フローティングゲート上には、コントロールゲートが設けられている。トランジスタのしきい値電圧特性は、フローティングゲート上に保存されている電荷の量によって制御される。すなわち、フローティングゲート上の所定の電荷レベルに対して、対応する電圧（しきい値）が存在し、ソース領域とドレイン領域との間で導通を可能にするためにトランジスタが「オン」に転換される前に、この対応する電圧をコントロールゲートに印加する必要がある。
【０００４】
フローティングゲートは電荷の範囲を保持することができ、従って、フローティングゲートをしきい値電圧ウィンドウ内の任意のしきい値電圧レベルにプログラムすることができる。しきい値電圧ウィンドウの大きさは、フローティングゲート上にプログラムできる電荷の範囲に対応する装置の最小および最大しきい値レベルによって区切られている。一般的に、しきい値ウィンドウは、メモリ装置の特性、動作条件および経歴に依存する。原則として、ウィンドウ内の各々異なる分解可能なしきい値電圧レベル範囲を用いて、セルの限定されたメモリ状態を指定することができる。
【０００５】
メモリセルとして作用するトランジスタは、一般的に、２つの機構のうちの１つによって「プログラムされた」状態にプログラムされる。「ホットエレクトロン注入」では、ドレインに加えられた高電圧は、基板のチャネル領域にわたって電子を加速する。これと同時に、コントロールゲートに印加された高電圧は、薄肉ゲート誘電体を介してホットエレクトロンをフローティングゲートに引き込む。「トンネル注入」では、高電圧はコントロールゲートへ基板に対して印加される。このように、電子は基板から、介在するフローティングゲートへ引き込まれる。
【０００６】
メモリ装置を多数の機構によって消去することができる。ＥＰＲＯＭの場合、フローティングゲートから紫外放射により電荷を取り除くことによってメモリは一括消去可能である。ＥＥＰＲＯＭの場合、基板へコントロールゲートに対して高電圧を印加し、これによって、薄肉酸化物をトンネルして基板のチャネル領域へフローティングゲート内の電子を誘導すること（すなわち、ファウラー−ノルドハイムトンネル現象）によってメモリセルは電気的に消去可能である。一般的に、ＥＥＰＲＯＭはバイトごとに消去可能である。フラッシュＥＥＰＲＯＭの場合、メモリは、一斉にすべてのブロックまたは１回に１つ以上のブロックを電気的に消去可能である。ブロックは、５１２バイト以上のメモリで構成することができる。
【０００７】
不揮発性メモリセルの例
一般的に、メモリ装置は、カード上に装着することができる１つ以上のメモリチップを備える。各メモリチップは、復号器、消去回路、書き込み回路および読み出し回路のような周辺回路によって支援されたメモリセルのアレイを備える。より精巧なメモリ装置は、知的かつ高水準のメモリ動作およびインターフェイスを実行するコントローラをも備える。今日、用いられている不揮発性固体メモリ装置が数多く商業的に成功している。これらのメモリ装置は異なる種類のメモリセルを用いることができ、各々の種類は１つ以上の電荷記憶素子を有する。
【０００８】
図１Ａ〜１Ｅには、不揮発性メモリセルの異なる例を線図的に示す。
図１Ａには、電荷を記憶するフローティングゲートを有するＥＥＰＲＯＭセルの形態をとる不揮発性メモリを線図的に示す。電気的に消去可能でプログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）はＥＰＲＯＭに類似の構造を有するが、適切な電圧が印加されると、ＵＶ放射にさらす必要なしにフローティングゲートから電荷を電気的に取り込みかつ取り除く機構をさらに備える。このようなセルおよびその製造方法の例が、米国特許第５，５９５，９２４号（特許文献１）に示されている。
【０００９】
図１Ｂには、選択ゲートと、コントロールまたはステアリングゲートとの双方を有するフラッシュＥＥＰＲＯＭセルを線図的に示す。メモリセル１０は、ソース拡散領域１４とドレイン拡散領域１６との間に「分割チャネル」１２を有する。セルは、直列になっている２つのトランジスタＴ１，Ｔ２で効果的に形成されている。Ｔ１は、フローティングゲート２０およびコントロールゲート３０を有するメモリトランジスタとして作用する。フローティングゲートは、選択可能な量の電荷を記憶することができる。チャネルのＴ１部分を流れることができる電流の量は、コントロールゲート３０上の電圧と、介在するフローティングゲート２０に存在する電荷の量とに依存する。Ｔ２は、選択ゲート４０を有する選択トランジスタとして作用する。選択ゲート４０の電圧によってＴ２がオンに転換されると、これによって、チャネルのＴ１部分の電流がソースとドレインとの間を通過することができる。選択トランジスタは、コントロールゲートの電圧と独立してソース−ドレインチャネルと一緒にスイッチを構成する。１つの利点は、フローティングゲートの（正の）電荷空乏によってゼロのコントロールゲート電圧でも依然として導通しているこれらのセルをオフに転換するのに用いることができるということである。他の利点は、ソース側注入プログラミングを容易に実施できるということである。
【００１０】
分割チャネルメモリセルの簡単な一実施形態は、図１Ｂに示す破線によって線図的に示されているように同一のワード線に選択ゲートおよびコントロールゲートが接続されている場合である。これは、チャネルの一部にわたって配置された電荷記憶素子（フローティングゲート）と、他のチャネル部分および電荷記憶素子にわたって配置された（ワード線の一部である）コントロールゲート構造とを有することによって達成される。これによって、直列になっている２つのトランジスタでセルを効果的に形成し、一方（メモリトランジスタ）が電荷記憶素子上の電荷の量とワード線上の電圧との組み合わせを用いて、チャネルの対応部分を流れることができる電流の量を制御し、他方（選択トランジスタ）がゲートとして作用するワード線のみを有する。このようなセル、メモリシステムでの使用およびその製造方法の例が、米国特許第５，０７０，０３２号（特許文献２）、第５，０９５，３４４号（特許文献３）、第５，３１５，５４１号（特許文献４）、第５，３４３，０６３号（特許文献５）、および第５，６６１，０５３号（特許文献６）に示されている。
【００１１】
図１Ｂに示す分割チャネルセルのさらなる精密な実施形態は、選択ゲートおよびコントロールゲートが独立し、それらの間の破線によって接続されていない場合である。１つの実施例は、ワード線に対して垂直にある制御（またはステアリング）線に接続されたセルのアレイ内に一列のコントロールゲートを有する。その効果は、選択されたセルを読み出し、またはプログラムする場合に同時に２つの機能を実行する必要があることからワード線を開放するということである。これらの２つの機能は、（１）選択トランジスタのゲートとして作用することであって、従って、選択トランジスタをオンおよびオフに転換するのに適切な電圧を必要とし、（２）ワード線と電荷記憶素子との間の電界（容量性）結合を介して電荷記憶素子の電圧を所望のレベルに駆動することである。これらの機能の双方を単一電圧で最適に実行することは困難であることが多い。コントロールゲートおよび選択ゲートに別個の制御を用いると、ワード線は、機能（１）を実行するだけで足り、その一方で、追加の制御線は機能（２）を実行する。この能力によって、プログラミング電圧が対象のデータに適合された高性能なプログラミング設計を可能にする。フラッシュＥＥＰＲＯＭアレイでの独立したコントロール（またはステアリング）ゲートの使用が、例えば、米国特許第５，３１３，４２１号（特許文献７）、および第６，２２２，７６２号（特許文献８）に記載されている。
【００１２】
図１Ｃには、２重フローティングゲートと、独立した選択ゲートおよびコントロールゲートとを有する別のフラッシュＥＥＰＲＯＭセルを線図的に示す。直列になっている３つのトランジスタを効果的に有すること以外、メモリセル１０'は、図１Ｂのメモリセルに類似する。この種のセルでは、２つの記憶素子（すなわち、Ｔ１左側およびＴ１右側の記憶素子）は、それらの間に選択トランジスタＴ２を有するソース拡散領域とドレイン拡散領域との間のチャネル上に含まれる。メモリトランジスタはそれぞれフローティングゲート２０’，２０”およびコントロールゲート３０’，３０”を有する。選択トランジスタＴ２は選択ゲート４０’によって制御される。どの時点においても、一対のメモリトランジスタの一方のみが、読み出しまたは書き込みのためにアクセスされる。記憶ユニットＴ１左側がアクセスされる場合、Ｔ２およびＴ１右側の双方はオンに転換されて、チャネルのＴ１左側部分の電流をソースとドレインとの間に流すことができる。これと同様に、記憶ユニットＴ１右側がアクセスされる場合、Ｔ２およびＴ１左側はオンに転換される。フローティングゲートに接近して選択ゲートポリシリコンの一部を有し、フローティングゲート内に記憶された電子が選択ゲートポリシリコンをトンネルすることができるのに充分な正の電圧（例えば、２０Ｖ）を選択ゲートに印加することによって消去は達成される。
【００１３】
図１Ｄには、ＮＡＮＤセルに編成されたメモリセルのストリングを線図的に示す。ＮＡＮＤセル５０は、ソースおよびドレインによってデイジーチェーンに構成された一連のメモリトランジスタＭ１，Ｍ２・・・Ｍｎ（ｎ＝４，８，１６またはそれ以上）から成る。一対の選択トランジスタＳ１，Ｓ２は、ＮＡＮＤセルのソース端子５４およびドレイン端子５６を介する外部とのメモリトランジスタチェーン接続を制御する。メモリアレイでは、ソース選択トランジスタＳ１がオンに転換されると、ソース端子はソース線に結合される。これと同様に、ドレイン選択トランジスタＳ２がオンに転換されると、ＮＡＮＤセルのドレイン端子は、メモリアレイのビット線に結合される。チェーン内の各メモリトランジスタは、意図されたメモリ状態を表すために所定量の電荷を記憶する電荷記憶素子を有する。各メモリトランジスタのコントロールゲートは、読み出しおよび書き込み動作を制御する。各選択トランジスタＳ１，Ｓ２のコントロールゲートは、ソース端子５４およびドレイン端子５６をそれぞれ介してＮＡＮＤセルへのアクセスを制御する。
【００１４】
ＮＡＮＤセル内のアドレス指定されたメモリトランジスタがプログラミング中に読み出されベリファイされる場合、コントロールゲートには適切な電圧が供給される。これと同時に、ＮＡＮＤセル５０内の残りのアドレス指定されていないメモリトランジスタは、充分な電圧がコントロールゲートに印加されることによって完全にオンに転換される。このように、導通経路は、個々のメモリトランジスタのソースからＮＡＮＤセルのソース端子５４へ効果的に生成され、これと同様に、個々のメモリトランジスタのドレインからセルのドレイン端子５６へ効果的に生成される。このようなＮＡＮＤセル構造を有するメモリ装置が、米国特許第５，５７０，３１５号（特許文献９）、第５，９０３，４９５号（特許文献１０）、および第６，０４６，９３５号（特許文献１１）に記載されている。
【００１５】
図１Ｅには、電荷を記憶するため、誘電体層を有する不揮発性メモリを線図的に示す。前述した導電性フローティングゲート素子の代わりに、誘電体層が用いられる。誘電体記憶素子を用いるこのようなメモリ装置は、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（非特許文献１）に記載されている。ＯＮＯ誘電体層は、ソース拡散領域とドレイン拡散領域との間のチャネルにわたって延在する。１つのデータビットに対する電荷は、ドレインに隣接する誘電体層内に局限され、他のデータビットに対する電荷は、ソースに隣接する誘電体層内に局限される。例えば、米国特許第５，７６８，１９２号（特許文献１２）および第６，０１１，７２５号（特許文献１３）は、２つの二酸化ケイ素層間に挟まれた捕捉誘電体を有する不揮発性メモリセルを開示している。多状態データ記憶は、誘電体内の空間的に分離された電荷記憶領域の２値状態を別々に読み出すことによって実施される。
【００１６】
メモリアレイ
一般的に、メモリ装置は、行および列に配置され、ワード線およびビット線によってアドレス指定可能であるメモリセルの２次元アレイから成る。ＮＯＲ形またはＮＡＮＤ形構造に従ってアレイを形成することができる。
【００１７】
ＮＯＲアレイ
図２には、メモリセルのＮＯＲアレイの一例を示す。ＮＯＲ形構造を有するメモリ装置は、図１Ｂまたは図１Ｃに示す種類のセルを用いて実施される。メモリセルの各行はソースおよびドレインによってデイジーチェーンに接続されている。この設計は、仮想接地設計と称されることがある。各メモリセル１０はソース１４、ドレイン１６、コントロールゲート３０および選択ゲート４０を有する。行内のセルは、ワード線４２に接続された選択ゲートを有する。列内のセルは、選択されたビット線３４，３６にそれぞれ接続されたソースおよびドレインを有する。メモリセルが、独立して制御されるコントロールゲートおよび選択ゲートを有する幾つかの実施形態では、ステアリング線３６も列内のセルのコントロールゲートを接続する。
多くのフラッシュＥＥＰＲＯＭ装置は、互いに接続されたコントロールゲートおよび選択ゲートが各々に形成されたメモリセルを用いて実施される。この場合、ステアリング線およびワード線が各行に沿ってセルのすべてのコントロールゲートおよび選択ゲートを単に接続する必要はない。これらの設計の例は、米国特許第５，１７２，３３８号（特許文献１４）および第５，４１８，７５２号（特許文献１５）に開示されている。これらの設計では、ワード線は本質的に２つの機能、すなわち読み出しまたはプログラムするための行選択と行内のすべてのセルにコントロールゲート電圧を供給することとを実行する。
【００１８】
ＮＡＮＤアレイ
図３には、図１Ｄに示すようなメモリセルのＮＡＮＤアレイの一例を示す。ＮＡＮＤセルの各列に沿って、ビット線は各ＮＡＮＤセルのドレイン端子５６に結合されている。ＮＡＮＤセルの各行に沿って、ソース線はすべてのソース端子５４を接続することができる。また、行に沿って延在するＮＡＮＤセルのコントロールゲートは、一連の対応するワード線に接続されている。接続されたワード線を介してコントロールゲートに適切な電圧を用いて一対の選択トランジスタ（図１Ｄ参照）をオンに転換することによってＮＡＮＤセルの行全体をアドレス指定することができる。ＮＡＮＤセルのチェーン内のメモリトランジスタが読み出されると、チェーンに流れる電流が、読み出されるセル内に記憶された電荷のレベルに本質的に依存するようにチェーン内の残りのメモリトランジスタは関連するワード線を介して確実にオンに転換される。ＮＡＮＤ構造アレイおよびメモリシステムの一部としての動作の例が、米国特許第５，５７０，３１５号（特許文献９）、第５，７７４，３９７号（特許文献１６）、および第６，０４６，９３５号（特許文献１７）に記載されている。
【００１９】
ブロック消去
電荷記憶メモリ装置のプログラミング動作は、さらなる電荷を電荷記憶素子に追加することしかできない。従って、プログラミング動作より前に、電荷記憶素子内に存在する電荷を除去（または消去）する必要がある。メモリセルの１つ以上のブロックを消去する消去回路（図示せず）が設けられている。ＥＥＰＲＯＭのような不揮発性メモリは、セルのアレイ全部またはアレイのセルのかなりの部分が電気的に同時に（すなわち、一瞬に）消去される場合に「フラッシュ」ＥＥＰＲＯＭと称される。消去されると、次に、セルのこの部分を再プログラムすることができる。同時に消去できるセルのこの部分は、１つ以上のアドレス指定可能な消去単位を構成することができる。一般的に、消去単位またはブロックは１つ以上のページのデータを記憶し、ページはプログラミングおよび読み出しの単位であるが、単一の動作で２つ以上のページをプログラムまたは読み出すことができる。一般的に、各ページは１つ以上のセクタのデータを記憶し、セクタの大きさはホストシステムによって定義される。一例として、磁気ディスクドライブによって確立された規格に従う５１２バイトのユーザデータと、ユーザデータおよび／またはそれらが記憶されたブロックに関する幾らかのバイト数のオーバーヘッド情報とから成るセクタが挙げられる。
【００２０】
読み出し／書き込み回路
通常の２状態ＥＥＰＲＯＭセルでは、少なくとも１つの電流区切り点レベルは、導通ウィンドウを２つの領域に区画するように確立される。予め決定された一定の電圧を印加することによってセルが読み出される場合、ソース／ドレイン電流は、区切り点レベル（または、基準電流ＩREF ）と比較することによってメモリ状態に分解される。電流読み出しが区切り点レベルの読み出しよりも高い場合、セルは一方の論理状態（例えば、「０」状態）にあると決定される。その一方で、電流が区切り点レベルの電流よりも少ない場合、セルは他方の論理状態（例えば、「１」状態）にあると決定される。従って、このような２状態セルは１ビットのデジタル情報を記憶する。外部からプログラムすることができる基準電流源は、メモリシステムの一部として区切り点レベルの電流を発生するために設けられることが多い。
【００２１】
メモリ容量を増大するため、フラッシュＥＥＰＲＯＭ装置は、半導体技術の状態が進歩するにつれて、ますます高い密度で製造されてきている。記憶容量を増大させる別の方法は、各メモリセルに３つ以上の状態を記憶させることである。
多状態またはマルチレベルＥＥＰＲＯＭメモリセルの場合、各セルが２ビット以上のデータを記憶することができるように導通ウィンドウは２つ以上の区切り点によって３つ以上の領域に区画される。従って、所定のＥＥＰＲＯＭアレイが記憶できる情報は、各セルが記憶できる状態の数と共に増大される。多状態またはマルチレベルメモリセルを有するＥＥＰＲＯＭまたはフラッシュＥＥＰＲＯＭが、米国特許第５，１７２，３３８号（特許文献１４）に記載されている。
【００２２】
実際には、セルのメモリ状態は、基準電圧がコントロールゲートに印加されているときにセルのソースおよびドレイン電極にわたる伝導電流を検知することによって一般に読み出される。従って、セルのフローティングゲート上の所定の電荷ごとに、一定の基準コントロールゲート電圧に対して対応する伝導電流を検出することができる。これと同様に、フローティングゲート上にプログラムできる電荷の範囲は、対応するしきい値電圧ウィンドウまたは対応する伝導電流ウィンドウを定義する。
【００２３】
あるいはまた、区画された電流ウィンドウ内の伝導電流を検知する代わりに、所定のメモリ状態に対して試験用にコントロールゲートでしきい値電圧を設定し、伝導電流がしきい値電流よりも低いかまたは高いかを検出することが可能である。１つの実施例では、しきい値電流に対する伝導電流の検出は、伝導電流がビット線のキャパシタンスを介して放電している速度を検査することによって達成される。
【００２４】
図４には、フローティングゲートがどの時点においても選択的に記憶できる４つの異なる電荷Ｑ１〜Ｑ４についてソース−ドレイン電流ＩD とコントロールゲート電圧ＶCGとの間の関係を示す。４つの実線のＩD 対ＶCG曲線は、４つの可能なメモリ状態にそれぞれ対応してメモリセルのフローティングゲート上にプログラムできる４つの可能な電荷レベルを表す。一例として、セルの母集団のしきい値電圧ウィンドウは、０．５Ｖから３．５Ｖまでの範囲に及ぶことができる。しきい値ウィンドウを０．５Ｖごとの間隔で５つの領域に区画することによって６つのメモリ状態を画定することができる。例えば、図に示すように２μＡの基準電流ＩREF が用いられる場合、曲線が、ＶCG＝０．５Ｖおよび１．０Ｖにより区画されたしきい値ウィンドウの領域内でＩREF と交差するので、Ｑ１でプログラムされたセルをメモリ状態「１」にあると見なすことができる。これと同様に、Ｑ４はメモリ状態「５」にある。
【００２５】
前述したことから分かるように、メモリセルに記憶させる状態が多くなるほど、より細かくしきい値ウィンドウが分割される。これによって、必要とされる分解能を達成できるようにプログラミングおよび読み出し動作に高い精度が必要とされる。
米国特許第４，３５７，６８５号（特許文献１８）には、２状態ＥＰＲＯＭをプログラムする方法であって、セルが所定の状態にプログラムされる場合、逓増的な電荷をフローティングゲートに追加するたびにセルが連続的なプログラミング電圧パルスを受ける方法が開示されている。パルス間では、セルは、区切り点レベルに対するソース−ドレイン電流を決定するために読み返されるかまたはベリファイされる。電流状態が所望の状態に達したことがベリファイされたら、プログラミング動作は停止する。用いられるプログラミングパルス列は、逓増的な期間または振幅を有することができる。
【００２６】
従来技術のプログラミング回路は、しきい値ウィンドウを通して消去または接地状態から、対象の状態が達成されるまでのステップに単にプログラミングパルスを適用する。実際には、適切な分解能を可能にするため、区画または画定された各領域は、交差するために少なくとも約５つのプログラミングステップを必要とする。この性能は、２状態メモリセルに受け入れられる。しかし、多状態セルに対しては、必要とされるステップの数は区画の数と共に増大し、従って、プログラミング精度または分解能を増大させる必要がある。例えば、１６状態セルは、対象の状態にプログラムするために平均して少なくとも４０個のプログラミングパルスを必要とすることがある。
【００２７】
図５には、行復号器１３０および列復号器１６０を介して読み出し／書き込み回路１７０によってアクセスできるメモリアレイ１００の一般的な配置を有するメモリ装置を線図的に示す。図２および図３に関連して説明したように、メモリアレイ１００内のメモリセルのメモリトランジスタは、一連の選択された（１つ以上の）ワード線および（１つ以上の）ビット線を介してアドレス指定可能である。適切な電圧を、アドレス指定されたメモリトランジスタのそれぞれのゲートに印加するため、行復号器１３０は１つ以上のワード線を選択し、列復号器１６０は１つ以上のビット線を選択する。アドレス指定されたメモリトランジスタのメモリ状態を読み出しまたは書き込む（プログラムする）読み出し／書き込み回路１７０が設けられている。読み出し／書き込み回路１７０は、ビット線を介してアレイ内のメモリ素子と接続できる多数の読み出し／書き込みモジュールを備える。
【００２８】
図６Ａは、個々の読み出し／書き込みモジュール１９０の略ブロック図である。本質的に、読み出しまたはベリファイ中、センス増幅器は、選択されたビット線を介して接続されたアドレス指定されたメモリトランジスタのドレインに流れる電流を決定する。この電流は、メモリトランジスタに記憶された電荷と、コントロールゲート電圧とに依存する。例えば、多状態ＥＥＰＲＯＭセルでは、フローティングゲートを、幾つかの異なるレベルの１つに充電することができる。４レベルセルの場合、２ビットのデータを記憶するのに用いることができる。センス増幅器によって検出されたレベルは、データラッチに記憶すべき一連のデータビットへレベル−ビット変換論理装置によって変換される。
【００２９】
読み出し／書き込み性能および精度に影響を及ぼす要因
読み出しおよびプログラミング性能を改善するため、アレイ内の複数の電荷記憶素子またはメモリトランジスタは並列に読み出されるかまたはプログラムされる。従って、メモリ素子の論理「ページ」が同時に読み出され、またはプログラムされる。既存のメモリ構造では、一般的に、行は、インターリーブされた幾つかのページを含む。ページの全メモリ素子は同時に読み出されるかまたはプログラムされる。列復号器は、インターリーブされたページのそれぞれ１つを対応する数の読み出し／書き込みモジュールに選択的に接続する。例えば、１つの実施例では、メモリアレイは、５３２バイト（５１２バイト＋２０バイトのオーバーヘッド）のページサイズを有するように設計される。各列がドレインビット線を含み、１行当たりに、インターリーブされたページが２つある場合、合計して８，５１２個の列になり、各ページが４，２５６個の列と関連する。４，２５６個の検知モジュールは、すべての偶数ビット線または奇数ビット線のどちらかを並列に読み出すかまたは書き込むように接続可能である。このように、並行して４，２５６ビット（すなわち、５３２バイト）のページのデータはメモリ素子のページから読み出されるかまたはメモリ素子のページにプログラムされる。読み出し／書き込み回路１７０を形成する読み出し／書き込みモジュールを様々な構造に配置することができる。
【００３０】
図５に関して、読み出し／書き込み回路１７０は、読み出し／書き込みスタック１８０のバンクに編成されている。各読み出し／書き込みスタック１８０は、読み出し／書き込みモジュール１９０のスタックである。メモリアレイでは、列間隔は、それを占有する１つまたは２つのトランジスタの大きさによって決定される。しかし、図６Ａから分かるように、読み出し／書き込みモジュールの回路を、多くのさらなるトランジスタおよび回路素子を用いて実施する可能性があり、従って、多くの列にわたる空間を占有することになる。占有された列のうちの２つ以上の列に作用するため、複数のモジュールは、互いの上部に重ねられる。
【００３１】
図６Ｂには、読み出し／書き込みモジュール１９０のスタックによって従来通りに実施された図５の読み出し／書き込みスタックを示す。例えば、読み出し／書き込みモジュールは１６個の列にわたって延在することができ、次に、８つの読み出し／書き込みモジュールのスタックを有する読み出し／書き込みスタック１８０を用いて８つの列に同時に作用することができる。列復号器を介して読み出し／書き込みスタックを、バンク間の８つの奇数（１，３，５，７，９，１１，１３，１５）列または８つの偶数（２，４，６，８，１０，１２，１４，１６）列のどちらかに結合することができる。
【００３２】
前述したように、従来のメモリ装置は、一度にすべての偶数または奇数のビット線に対して大規模に並列に動作することによって読み出し／書き込み動作を改善する。インターリーブされた２つのページから成る列のこの構造は、読み出し／書き込み回路のブロックを適合させるという問題を軽減するのに役立つ。このことは、ビット線間容量結合を制御するという考慮事項によっても影響を受ける。ブロック復号器は、一連の読み出し／書き込みモジュールを偶数ページまたは奇数ページに多重化するのに用いられる。このように、１セットのビット線が読み出されるかまたはプログラムされるときはいつでも、インターリーブなセットを接地して、すぐ隣との結合を最小限にすることができる。
【００３３】
しかし、インターリーブページ構造は、少なくとも３つの態様において不利である。第１に、インターリーブページ構造は、追加の多重化回路を必要とする。第２に、インターリーブページ構造は、遅い性能を有する。ワード線によって接続されたメモリセルまたは１行内のメモリセルの読み出しまたはプログラミングを終了するため、２度の読み出しまたは２度のプログラミング動作が必要とされる。第３に、インターリーブページ構造は、奇数ページおよび偶数ページに別々に行われるような２つの隣接部分が異なる時点でプログラムされるとき、フローティングゲートレベルで隣接する電荷記憶素子間の電界結合のような他の妨害による影響に対処するのにも最適ではない。
【００３４】
メモリトランジスタ間の間隔が接近するにつれて、隣接する電界結合の問題は顕著になる。メモリトランジスタでは、電荷記憶素子は、チャネル領域とコントロールゲートとの間に挟まれている。チャネル領域に流れる電流は、コントロールゲートおよび電荷記憶素子の領域が一因となって結果として生じた電界の関数である。密度が増大するにつれて、メモリトランジスタは互いにますます接近して形成される。従って、隣接する電荷素子からの電界は、影響を受けるセルの、結果として生じた電界の著しい一因となる。隣接による電界は、隣接する電荷記憶素子内にプログラムされた電荷に依存する。この摂動場は、隣接する電荷記憶素子のプログラミング状態と共に変化するので実際には動的である。従って、影響を受けたセルは、隣接する電荷記憶素子の状態の変化に依存して異なる時点で異なって読み出すことがある。
【００３５】
従来のインターリーブページの構造は、隣接するフローティングゲートの結合によって生じる誤差を悪化させる。偶数ページおよび奇数ページは互いに独立してプログラムされ読み出されるので、一連の条件の下でページをプログラムするが、その間にインターリーブページに起こったことに依存して、一連の完全に異なる条件の下で読み返すことがある。読み出し誤差は、より正確な読み出し動作を必要とする密度の増大につれてさらに深刻になり、多状態の実施に対してしきい値ウィンドウの区画が厳密でなくなる。性能は損害を受け、多状態の実施に対する潜在能力は制限される。
【００３６】
米国特許出願公開第２００４／００６００３１号（特許文献１９）には、メモリセルの対応するブロックを並列に読み出し書き込む大規模なブロックの読み出し／書き込み回路を有する高性能かつ小形の不揮発性メモリ装置が開示されている。特に、メモリ装置は、ブロックの読み出し／書き込み回路において冗長性を最小限まで減少させる構造を有する。空間および電力の著しい節約は、時分割的にかなり小規模なセットの共通部分と相互作用しながら並列に動作するブロック読み出し／書き込みモジュール中核部分へブロックの読み出し／書き込みモジュールを再分散することによって達成される。特に、複数のセンス増幅器とデータラッチとの間の読み出し／書き込み回路間のデータ処理は、共有プロセッサによって実行される。
従って、一般的に、高性能かつ大容量の不揮発性メモリが必要とされる。特に、読み出し／書き込み回路間でデータを処理するため、多用途であるが小形かつ効率良い改善されたプロセッサを有し、読み出しおよびプログラミング性能が強化された小形の不揮発性メモリが必要とされる。
【先行技術文献】
【特許文献】
【００３７】
【特許文献１】米国特許第５，５９５，９２４号
【特許文献２】米国特許第５，０７０，０３２号
【特許文献３】米国特許第５，０９５，３４４号
【特許文献４】米国特許第５，３１５，５４１号
【特許文献５】米国特許第５，３４３，０６３号
【特許文献６】米国特許第５，６６１，０５３号
【特許文献７】米国特許第５，３１３，４２１号
【特許文献８】米国特許第６，２２２，７６２号
【特許文献９】米国特許第５，５７０，３１５号
【特許文献１０】米国特許第５，９０３，４９５号
【特許文献１１】米国特許第６，０４６，９３５号
【特許文献１２】米国特許第５，７６８，１９２号
【特許文献１３】米国特許第６，０１１，７２５号
【特許文献１４】米国特許第５，１７２，３３８号
【特許文献１５】米国特許第５，４１８，７５２号
【特許文献１６】米国特許第５，７７４，３９７号
【特許文献１７】米国特許第６，０４６，９３５号
【特許文献１８】米国特許第４，３５７，６８５号
【特許文献１９】米国特許出願公開第２００４／００６００３１号
【特許文献２０】米国特許出願公開第２００４／０１０９３５７号
【特許文献２１】米国特許出願第１１／０２６，５３６号
【特許文献２２】米国特許第６，４５６，５２８号
【特許文献２３】米国特許出願公開第２００９／００８９４８１号
【特許文献２４】米国特許出願第６１／１４２，６２０号
【特許文献２５】米国特許出願第１２／３４８，８１９号
【特許文献２６】米国特許出願第１２／３４８，８２５号
【特許文献２７】米国特許出願第１２／３４８，８９１号
【特許文献２８】米国特許出願第１２／３４８，８９５号
【特許文献２９】米国特許出願第１２／３４８，８９９号
【特許文献３０】米国特許第７，１７０，８０２号
【特許文献３１】米国特許第７，４２０，８４７号
【特許文献３２】米国特許第７，１５８，４２１号
【特許文献３３】米国特許第７，２０６，２３０号
【特許文献３４】米国特許出願第１２／０５１，４６２号
【特許文献３５】米国特許出願第１２／０５１，４９２号
【特許文献３６】米国特許出願公開第２００９／００９４４８２号
【特許文献３７】米国特許第７，５０２，２５４号
【特許文献３８】米国特許出願公開第２００７／０２６８７４５号
【特許文献３９】米国特許出願公開第２００７／０２８３０８１号
【特許文献４０】米国特許第７，３１０，３４７号
【特許文献４１】米国特許第７，４９３，４５７号
【特許文献４２】米国特許第７，４２６，６２３号
【特許文献４３】米国特許出願公開第２００７／０２２０１９７号
【特許文献４４】米国特許出願公開第２００７／００６５１１９号
【特許文献４５】米国特許出願公開第２００７／００６１５０２号
【特許文献４６】米国特許出願公開第２００７／００９１６７７号
【特許文献４７】米国特許出願公開第２００７／０１８０３４６号
【特許文献４８】米国特許出願公開第２００８／０１８１０００号
【特許文献４９】米国特許出願公開第２００７／０２６０８０８号
【特許文献５０】米国特許出願公開第２００５／０２１３３９３号
【特許文献５１】米国特許第６，５１０，４８８号
【特許文献５２】米国特許第７，０５８，８１８号
【特許文献５３】米国特許出願公開第２００８／０２４４３３８号
【特許文献５４】米国特許出願公開第２００８／０２４４３６７号
【特許文献５５】米国特許出願公開第２００８／０２５０３００号
【特許文献５６】米国特許出願公開第２００８／０１０４３１２号
【特許文献５７】米国特許出願第１２／４７８，９９７号
【非特許文献】
【００３８】
【非特許文献１】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
【発明の概要】
【００３９】
複数のワード線および複数のビット線に沿って形成された不揮発性メモリセルのアレイを有する不揮発性メモリ回路を備える不揮発性メモリシステムであって、ビット線は対応するセットのデータレジスタに各々接続可能である複数のサブセットを形成する不揮発性メモリシステムについて説明する。一連の態様によれば、データを複数のワード線のうちの第１のワード線に沿って第１の複数のメモリセルにバイナリ形式で書き込み、第１の複数のメモリセルが対応する第１の複数のビット線に沿って形成される。第１の複数のメモリセルから、第１の複数のビット線に対応するセットのデータレジスタへデータを読み込み、これらのセットのデータレジスタ内で再配置し、これによって、データを第２の複数のビット線に対応するセットのデータレジスタ内に配置し、第２の複数のビット線が第１の複数のビット線よりも少ない。その後、再配置されたデータを、第２の複数のビット線に対応するデータレジスタから複数のワード線のうちの第２のワード線に沿って、第２の複数のビット線に沿って形成された第２の複数のメモリセルへ多状態形式で書き込む。
【００４０】
追加の一連の態様によれば、１セル当たりＮビット形式で記憶されたデータは、第１の複数のメモリセルから複数のワード線のうちの第１のワード線に沿って読み出され、ここでＮ＞１であり、第１の複数のメモリセルが対応する第１の複数のビット線に沿って形成される。第１の複数のメモリセルの各々から読み出された１セル当たりＮビットデータは、第１の複数のビット線に対応するセットのデータレジスタの第１のデータレジスタに記憶され、第１のデータレジスタの各々からのデータは、同じセットのデータレジスタを有するＮ個の他のデータレジスタに再配置される。その後、データは、これらのＮ個の他のデータレジスタから、データが不揮発性メモリ回路に記憶される前に不揮発性メモリ回路で受信された順序で転出される。
【００４１】
別の一連の態様によれば、不揮発性メモリシステムは、コントローラ回路と、複数のワード線および複数のビット線に沿って形成された不揮発性メモリセルのアレイを有する不揮発性メモリ回路とを備える。コントローラ回路でデータを受信し、データに対応する誤り訂正符号を生成する。データおよび対応する誤り訂正符号を不揮発性メモリ回路に転送し、複数のワード線のうちの第１のワード線に沿ってバイナリ形式で書き込む。その後、不揮発性メモリ回路内において、データおよび対応する誤り訂正符号を複数のワード線のうちの第２のワード線に沿って多状態形式で書き換え、対応する誤り訂正符号はデータが多状態形式でどのように配置されるかに依存して生成される。
【００４２】
他の態様では、複数のワード線および複数のビット線に沿って形成された複数の不揮発性メモリセルを有するメモリアレイを備える不揮発性メモリ回路を示す。不揮発性メモリ回路は、メモリアレイに接続可能である読み出し回路であって、２値読み出し動作を実行するため、ビット線の１つ以上に各々接続可能である複数のセンス増幅器を備える読み出し回路と、多状態プログラム動作を実行するため、メモリアレイに接続可能である書き込み回路とをさらに備える。読み出し回路および書き込み回路にアクセス可能であるデータレジスタスタックは、センス増幅器の出力を受信するように接続可能である第１のデータレジスタであって、複数のワード線のうちの第１のワード線上の、１よりも大きい整数であるＮまたはそれ以上の個数のビット線からの２値検知動作の出力を受信し保持する第１のデータレジスタと、第１のデータレジスタに接続可能であって、第１のデータレジスタとの間で内容の転送を行うＮ個の第２のデータレジスタと、第２のデータレジスタの第１番目に接続可能であり、これによって、第１のデータレジスタに保持された第１のワード線上のＮ個の２値検知動作の出力に対応する値を、複数のワード線のうちの第２のワード線上のセルの１セル当たりＮビットプログラミング動作に用いるため、Ｎ個の第２のデータレジスタの対応する１つに各々転送することができる処理回路と、を備える。
【００４３】
追加の態様は、ワード線およびビット線に沿って形成された不揮発性メモリセルを有するメモリアレイと、メモリアレイに接続可能である読み出しおよび書き込み回路と、メモリアレイとの間で行われるデータを転送するため、読み出しおよび書き込み回路に接続可能である入出力データバスとを備える不揮発性メモリ回路を含む。読み出しおよび書き込み回路は、複数の読み出し／書き込みスタックを含み、各々が、ビット線の対応するサブセットに接続可能であり、かつビット線の対応するサブセットに接続可能であるセンス増幅器と、スタックバスと、スタックバスに接続された１セットのデータラッチと、スタックバスに接続されて、スタックバスに沿ってデータラッチとセンス増幅器との間で行われるデータの転送を制御するスタック処理回路と、入出力バスおよびスタックバスに接続されて、これらの間でデータを転送する入出力モジュールとを各々有する。読み出しおよび書き込み回路は、読み出し／書き込みスタックのサブセットにおけるスタックバス間に接続され、これによって、読み出し／書き込みスタックのサブセットにおける異なる読み出し／書き込みスタックのデータラッチ間でデータを転送することができる内部データバスをも備える。
【００４４】
さらなる態様は、複数のワード線および複数のビット線に沿って形成された不揮発性メモリセルのアレイを有する不揮発性メモリ回路を備える不揮発性メモリシステムを動作する方法であって、ビット線は対応するセットのデータレジスタに各々接続可能である複数のサブセットを形成する方法を示す。この方法は、サブセットのＮ個に沿って形成された第１の複数のメモリセルの第１のワード線に沿ってバイナリ形式で記憶されたデータを、対応するＮセットのデータレジスタの各々における第１のデータレジスタに読み込むステップを含む。この方法は、その後、局所データバスに沿ってＮセットのデータレジスタのデータレジスタ間でデータをシャッフルする。さらに、その後、シャッフルされたデータを、これらのレジスタから第２のワード線に沿って１セル当たりＮビット形式でメモリセルに書き込むことができる。
【００４５】
本発明の様々な態様、利点、特徴および実施形態は、以下に添付図面と併せて用いられるべき例示的な例の記載に含まれる。本願明細書中で参照されるすべての特許、特許出願、論文、他の刊行物、文書および事柄は、あらゆる目的のためにその全体が本願明細書において参照により援用されている。援用されている刊行物、文書または事柄のいずれかと本願明細書との間に、用語の定義または用法における不一致または矛盾がある場合には、本願明細書の用語の定義または用法を優先させるものとする。
【図面の簡単な説明】
【００４６】
【図１Ａ】不揮発性メモリセルの一例を線図的に示す。
【図１Ｂ】不揮発性メモリセルの異なる例を線図的に示す。
【図１Ｃ】不揮発性メモリセルの異なる例を線図的に示す。
【図１Ｄ】不揮発性メモリセルの異なる例を線図的に示す。
【図１Ｅ】不揮発性メモリセルの異なる例を線図的に示す。
【図２】メモリセルのＮＯＲアレイの一例を示す。
【図３】図１Ｄに示すようなメモリセルのＮＡＮＤアレイの一例を示す。
【図４】フローティングゲートがどの時点においても記憶できる４つの異なる電荷Ｑ１〜Ｑ４についてソース−ドレイン電流とコントロールゲート電圧との間の関係を示す。
【図５】行復号器および列復号器を介して読み出し／書き込み回路によってアクセスできるメモリアレイの一般的な配置を線図的に示す。
【図６Ａ】個々の読み出し／書き込みモジュールの略ブロック図である。
【図６Ｂ】読み出し／書き込みモジュールのスタックによって従来通りに実施される図５の読み出し／書き込みスタックを示す。
【図７Ａ】本発明の改善されたプロセッサが実施される、区画された読み出し／書き込みスタックのバンクを有する小形メモリ装置を線図的に示す。
【図７Ｂ】図７Ａに示された小形メモリ装置の好適な配置を示す。
【図８】図７Ａに示された読み出し／書き込みスタックにおける基本的な構成要素の一般的な配置を線図的に示す。
【図９】図７Ａおよび図７Ｂに示された読み出し／書き込み回路間の読み出し／書き込みスタックの好適な１つの配置を示す。
【図１０】図９に示された共通プロセッサの改善された実施形態を示す。
【図１１Ａ】図１０に示された共通プロセッサの入力論理装置の好適な実施形態を示す。
【図１１Ｂ】図１１Ａの入力論理装置の真理値表である。
【図１２Ａ】図１０に示された共通プロセッサの出力論理装置の好適な実施形態を示す。
【図１２Ｂ】図１２Ａの出力論理装置の真理値表である。
【図１３】バイナリ形式で書き込まれた複数のワード線からのデータが多状態形式に書き換えられるオンメモリ折り畳み処理を概説する図である。
【図１４】折り畳み処理の態様をさらに詳細に示す図である。
【図１５】折り畳み動作に適するレジスタ構造のブロック図である。
【図１６Ａ】レジスタ間でデータを再配置する一例を示す図である。
【図１６Ｂ】レジスタ間でデータを再配置する一例を示す図である。
【図１６Ｃ】レジスタ間でデータを再配置する一例を示す図である。
【図１７】メモリの幾つかのセクションに対する図１５のレジスタ構造のブロック図である。
【図１８】セクションのサブセットに対するスタックバスの間に局所データバスを追加する図である。
【図１９】幾つかの２値ページの読み出し処理を示す図である。
【図２０】ラッチの内部でデータがどのように折り畳まれるかという一例を示す図である。
【図２１Ａ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｂ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｃ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｄ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｅ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｆ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｇ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｈ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｉ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｊ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｋ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｌ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【図２１Ｍ】図１８の構造を用いてデータを折り畳む例示的なシーケンスを示す図である。
【発明を実施するための形態】
【００４７】
図７Ａには、本発明の改善されたプロセッサが実施され、区画された読み出し／書き込みスタックのバンクを有する小形メモリ装置を線図的に示す。メモリ装置は、２次元アレイのメモリセル３００、制御回路３１０および読み出し／書き込み回路３７０を含む。メモリアレイ３００は、行復号器３３０を介してワード線によってアドレス指定可能であり、列復号器３６０を介してビット線によってアドレス指定可能である。読み出し／書き込み回路３７０は、区画された読み出し／書き込みスタック４００のバンクとして実施され、（「ページ」とも称する）ブロックのメモリセルを並列に読み出させるかまたはプログラムさせる。好適な実施形態では、ページは、連続する一行のメモリセルから構成される。別の実施形態では、一行のメモリセルが複数のブロックまたはページに区画されている場合、読み出し／書き込み回路３７０を個々のブロックに多重化するブロックマルチプレクサ３５０が設けられている。
【００４８】
制御回路３１０は読み出し／書き込み回路３７０と共働してメモリアレイ３００のメモリ動作を実行する。制御回路３１０は、状態マシン３１２、オンチップアドレス復号器３１４および電源制御モジュール３１６を含む。状態マシン３１２はメモリ動作のチップレベル制御を行う。オンチップアドレス復号器３１４は、ホストまたはメモリコントローラによって用いられるアドレスと、復号器３３０，３７０によって用いられるハードウェアアドレスとの間のアドレスインターフェイスを行う。電源制御モジュール３１６は、メモリ動作中、ワード線およびビット線に供給された電源および電圧を制御する。
【００４９】
図７Ｂには、図７Ａに示された小形メモリ装置の好適な配置を示す。様々な周辺回路によるメモリアレイ３００へのアクセスはアレイの両側で左右対称に実施され、これによって、両側にあるアクセス線および回路は半分に減少される。従って、行復号器は行復号器３３０Ａ，３３０Ｂに分割され、列復号器は列復号器３６０Ａ，３６０Ｂに分割されている。一行のメモリセルが複数のブロックに区画されている実施形態では、ブロックマルチプレクサ３５０はブロックマルチプレクサ３５０Ａ，３５０Ｂに分割されている。これと同様に、読み出し／書き込み回路は、アレイ３００の下部からビット線に接続する読み出し／書き込み回路３７０Ａと、アレイ３００の上部からビット線に接続する読み出し／書き込み回路３７０Ｂとに分割されている。このように、読み出し／書き込みモジュールの密度、従って、区画された読み出し／書き込みスタック４００の密度は、本質的に半分だけ減少される。
【００５０】
図８には、図７Ａに示された読み出し／書き込みスタック内の基本的な構成要素の一般的な配置を線図的に示す。本発明の一般的な構造によれば、読み出し／書き込みスタック４００は、ｋ個のビット線を検知するセンス増幅器２１２のスタックと、Ｉ／Ｏバス２３１を介してデータを入力または出力するＩ／Ｏモジュール４４０と、入力または出力データを記憶するデータラッチ４３０のスタックと、読み出し／書き込みスタック４００間のデータを処理し記憶する共通プロセッサ５００と、スタック構成要素間の通信を行うスタックバス４２１とを備える。読み出し／書き込み回路３７０間のスタックバスコントローラは、読み出し／書き込みスタック間の様々な構成要素を制御するため、線４１１を介して、制御およびタイミング信号を供給する。
【００５１】
図９には、図７Ａおよび図７Ｂに示された読み出し／書き込み回路間の読み出し／書き込みスタックの好適な１つの配置を示す。各読み出し／書き込みスタック４００は、一群のｋ個のビット線に対して並列に動作する。ページがｐ＝ｒ×ｋ個のビット線を有する場合、ｒ個の読み出し／書き込みスタック４００−１・・・４００−ｒが存在する。
並列に動作する区画された読み出し／書き込みスタック４００のバンク全体は、行に沿っているｐ個のセルのブロック（またはページ）を並列に読み出させるかまたはプログラムさせる。従って、行全体のセルに対してｐ個の読み出し／書き込みモジュールが存在する。各スタックがｋ個のメモリセルに作用するので、バンク内の読み出し／書き込みスタックの総数は、ｒ＝ｐ／ｋによって示される。例えば、ｒがバンク内のスタックの数である場合、ｐ＝ｒ×ｋである。一例のメモリアレイは、ｐ＝５１２バイト（５１２×８ビット）、ｋ＝８、従ってｒ＝５１２を有することができる。好適な実施形態では、ブロックは、一続きの行全体のセルである。別の実施形態では、ブロックは、行内のセルのサブセットである。例えば、セルのサブセットを、行全体の半分または行全体の４分の１とすることができる。セルのサブセットを一続きの連続するセルとすることができ、あるいはセルのサブセットを他のセルごとまたは所定数のセルごととすることができる。
【００５２】
実質的に、４００−１のような各読み出し／書き込みスタックは、ｋ個のメモリセルのセグメントに並列に作用するセンス増幅器２１２−１〜２１２−ｋのスタックを含む。好適なセンス増幅器は、その全体が本願明細書において参照により援用されている、米国特許出願公開第２００４／０１０９３５７号（特許文献２０）に開示されている。
スタックバスコントローラ４１０は、線４１１を介して、制御およびタイミング信号を読み出し／書き込み回路３７０に供給する。スタックバスコントローラ自体は線３１１を介してメモリコントローラ３１０に依存する。各読み出し／書き込みスタック４００間の通信は、相互接続するスタックバス４２１によって達成され、スタックバスコントローラ４１０によって制御される。制御線４１１は、スタックバスコントローラ４１０から制御およびクロック信号を読み出し／書き込みスタック４００−１の構成要素に供給する。
【００５３】
好適な配置では、スタックバスは、共通プロセッサ５００とセンス増幅器２１２のスタックとの間で通信するＳＡＢｕｓ４２２と、プロセッサとデータラッチ４３０のスタックとの間で通信するＤＢｕｓ４２３とへ分割される。
データラッチ４３０のスタックは、データラッチ４３０−１〜４３０−ｋから成り、データラッチは、スタックと関連する各メモリセルに対する。Ｉ／Ｏモジュール４４０は、データラッチに、Ｉ／Ｏバス２３１を介して外部とデータを交換させることができる。
共通プロセッサは、誤り状態のようなメモリ動作の状態を示すステータス信号を出力する出力部５０７をも含む。ステータス信号は、ワイヤードＯＲ構成のフラグバス５０９に結合されたｎ形トランジスタ５５０のゲートを駆動するのに用いられる。フラグバスをコントローラ３１０によってプリチャージするのが好ましく、ステータス信号が読み出し／書き込みスタックのいずれかによってアサートされると、フラグバスはプルダウンされる。
【００５４】
図１０には、図９に示された共通プロセッサの改善された実施形態を示す。共通プロセッサ５００は、外部回路、入力論理装置５１０、プロセッサラッチＰＬａｔｃｈ５２０および出力論理装置５３０と通信するプロセッサバスＰＢｕｓ５０５を備える。
入力論理装置５１０はＰＢｕｓからデータを受信し、信号線４１１を介すスタックバスコントローラ４１０からの制御信号に応じて論理状態の１つ「１」、「０」または「Ｚ」（浮遊）に変換されたデータとしてＢＳＩノードに出力する。次に、セット／リセットラッチＰＬａｔｃｈ５２０はＢＳＩをラッチし、結果として、ＭＴＣＨおよびＭＴＣＨ*として相補的な一対の出力信号を生じさせる。
出力論理装置５３０はＭＴＣＨおよびＭＴＣＨ* 信号を受信し、信号線４１１を介すスタックバスコントローラ４１０からの制御信号に応じて論理状態の１つ「１」、「０」または「Ｚ」（浮遊）に変換されたデータとしてＰＢｕｓ５０５に出力する。
【００５５】
どの時点においても、共通プロセッサ５００が、所定のメモリセルに関連するデータを処理する。例えば、図１０には、メモリセルがビット線１に結合された場合を示す。対応するセンス増幅器２１２−１は、センス増幅器データが現れるノードを備える。好適な実施形態では、ノードは、データを記憶するＳＡラッチ２１４−１の形態を想定する。これと同様に、対応する一連のデータラッチ４３０−１は、ビット線１に結合されたメモリセルと関連する入力または出力データを記憶する。好適な実施形態では、一連のデータラッチ４３０−１は、ｎビットのデータを記憶するのに充分なデータラッチ４３４−１・・・４３４−ｎを備える。
【００５６】
一対の相補的な信号ＳＡＰ，ＳＡＮによって転送ゲート５０１が有効にされたとき、共通プロセッサ５００のＰＢｕｓ５０５は、ＳＢｕｓ４２２を介してＳＡラッチ２１４−１にアクセスする。これと同様に、一対の相補的な信号ＤＴＰ，ＤＴＮによって転送ゲート５０２が有効にされたとき、ＰＢｕｓ５０５は、ＤＢｕｓ４２３を介して一連のデータラッチ４３０−１にアクセスする。信号ＳＡＰ，ＳＡＮ，ＤＴＰ，ＤＴＮは、スタックバスコントローラ４１０からの制御信号の一部として明示されている。
【００５７】
図１１Ａには、図１０に示された共通プロセッサの入力論理装置の好適な実施形態を示す。入力論理装置５１０はＰＢｕｓ５０５上のデータを受信し、制御信号に依存して、同一であるか、反転されたか、または浮遊された出力ＢＳＩを有する。実質的に、出力ＢＳＩノードは、転送ゲート５２２の出力、またはＶｄｄに直列につながれたｐ形トランジスタ５２４，５２５を備えるプルアップ回路、または接地点に直列につながれたｎ形トランジスタ５２６，５２７を備えるプルダウン回路のいずれかによって影響を受ける。プルアップ回路は、信号ＰＢｕｓ，ＯＮＥによってそれぞれ制御されるｐ形トランジスタ５２４，５２５のゲートを有する。プルダウン回路は、信号ＯＮＥＢ＜１＞，ＰＢｕｓによってそれぞれ制御されるｎ形トランジスタ５２６，５２７のゲートを有する。
【００５８】
図１１Ｂには、図１１Ａの入力論理装置の真理値表を示す。この論理装置は、ＰＢｕｓと、スタックバスコントローラ４１０からの制御信号の一部である制御信号ＯＮＥ，ＯＮＥＢ＜０＞，ＯＮＥＢ＜１＞とによって制御される。実質的に、３つの転送モードＰＡＳＳＴＨＲＯＵＧＨ，ＩＮＶＥＲＴ，ＦＬＯＡＴが支援される。
【００５９】
ＢＳＩが入力データと同じであるＰＡＳＳＴＨＲＯＵＧＨモードの場合、信号ＯＮＥは論理「１」であり、ＯＮＥＢ＜０＞は「０」であり、ＯＮＥＢ＜１＞は「０」である。このことは、プルアップまたはプルダウンを無効にするが、転送ゲート５２２を有効にしてＰＢｕｓ５０５上のデータを出力５２３へ受け渡す。ＢＳＩが入力データの反転であるＩＮＶＥＲＴモードの場合、信号ＯＮＥは「０」であり、ＯＮＥＢ＜０＞は「１」であり、ＯＮＥＢ＜１＞は「１」である。このことは、転送ゲート５２２を無効にする。しかも、ＰＢｕｓが「０」である場合、プルアップ回路は有効にされるが、プルダウン回路は無効にされ、結果として、「１」であるＢＳＩを生じさせる。これに類似して、ＰＢｕｓが「１」である場合、プルダウン回路は有効にされるが、プルアップ回路は無効にされ、その結果として、「０」であるＢＳＩを生じさせる。最後に、ＦＬＯＡＴモードの場合、信号ＯＮＥを「１」とし、ＯＮＥＢ＜０＞を「１」とし、ＯＮＥＢ＜１＞を「０」とすることによって出力ＢＳＩを浮遊させることができる。実際には、ＦＬＯＡＴモードは用いられないが、完全性のため、表に記載されている。
【００６０】
図１２Ａには、図１０に示された共通プロセッサの出力論理装置の好適な実施形態を示す。入力論理装置５１０からのＢＳＩノードの信号は、プロセッサラッチＰＬａｔｃｈ５２０内にラッチされる。出力論理装置５３０は、制御信号に依存してＰＬａｔｃｈ５２０の出力からデータＭＴＣＨ，ＭＴＣＨ* を受信し、ＰＡＳＳＴＨＲＯＵＧＨ、ＩＮＶＥＲＴまたはＦＬＯＡＴモードにあるとしてＰＢｕｓ上に出力する。言い換えれば、４つの分岐部分は、ＰＢｕｓ５０５に対する駆動器として作用して、ＰＢｕｓ５０５を能動的にハイ（ＨＩＧＨ）、ロー（ＬＯＷ）または浮遊（ＦＬＯＡＴ）状態とする。このことは、ＰＢｕｓ５０５に対する４つの分岐回路、すなわち２つのプルアップ回路および２つのプルダウン回路によって達成される。第１のプルアップ回路は、Ｖｄｄに直列につながれたｐ形トランジスタ５３１，５３２を備え、ＭＴＣＨが「０」である場合、ＰＢｕｓをプルアップすることができる。第２のプルアップ回路は、接地点に直列につながれたｐ形トランジスタ５３３，５３４を備え、ＭＴＣＨが「１」である場合、ＰＢｕｓをプルアップすることができる。これと類似して、第１のプルダウン回路は、Ｖｄｄに直列につながれたｎ形トランジスタ５３５，５３６を備え、ＭＴＣＨが「０」である場合、ＰＢｕｓをプルダウンすることができる。第２のプルダウン回路は、接地点に直列につながれたｎ形トランジスタ５３７，５３８を備え、ＭＴＣＨが「１」である場合、ＰＢｕｓをプルダウンすることができる。
【００６１】
本発明の１つの特徴は、ＰＭＯＳトランジスタを用いてプルアップ回路を構成し、ＮＭＯＳトランジスタを用いてプルダウン回路を構成することである。ＮＭＯＳによるプル（引っ張り）は、ＰＭＯＳのプルよりもずっと強力なので、いかなる競合であっても、プルダウンは常にプルアップを圧倒する。言い換えれば、ノードまたはバスは常にプルアップまたは「１」状態に初期設定することができ、所望に応じて、プルダウンによってノードまたはバスを常に「０」状態に反転することができる。
【００６２】
図１２Ｂには、図１２Ａの出力論理装置の真理値表を示す。この論理装置は、入力論理装置からラッチされたＭＴＣＨ、ＭＴＣＨ* と、スタックバスコントローラ４１０からの制御信号の一部である制御信号ＰＤＩＲ，ＰＩＮＶ，ＮＤＩＲ，ＮＩＮＶとによって制御される。４つの動作モード、ＰＡＳＳＴＨＲＯＵＧＨ、ＩＮＶＥＲＴ、ＦＬＯＡＴおよびＰＲＥＣＨＡＲＧＥが支援されている。
【００６３】
ＦＬＯＡＴモードでは、４つのすべての分岐部分は無効にされる。このことは、初期設定値でもある信号ＰＩＮＶ＝１、ＮＩＮＶ＝０、ＰＤＩＲ＝１およびＮＤＩＲ＝０を有することによって達成される。ＰＡＳＳＴＨＲＯＵＧＨモードでは、ＭＴＣＨ＝０の場合、ＰＢｕｓ＝０が必要とされる。このことは、ｎ形トランジスタ５３５，５３６を有するプルダウン分岐部分のみを有効にし、ＮＤＩＲ＝１を除いて、すべての制御信号は初期設定値であることによって達成される。ＭＴＣＨ＝１の場合、ＰＢｕｓ＝１が必要とされる。このことは、ｐ形トランジスタ５３３，５３４を有するプルアップ分岐部分のみを有効にし、ＰＩＮＶ＝０を除いて、すべての制御信号は初期設定値であることによって達成される。ＩＮＶＥＲＴモードでは、ＭＴＣＨ＝０の場合、ＰＢｕｓ＝１が必要とされる。このことは、ｐ形トランジスタ５３１，５３２を有するプルアップ分岐部分のみを有効にし、ＰＤＩＲ＝０を除いて、すべての制御信号は初期設定値であることによって達成される。ＭＴＣＨ＝１の場合、ＰＢｕｓ＝０が必要とされる。このことは、ｎ形トランジスタ５３７，５３８を有するプルダウン分岐部分のみを有効にし、ＮＩＮＶ＝１を除いて、すべての制御信号は初期設定値であることによって達成される。ＰＲＥＣＨＡＲＧＥモードでは、ＰＤＩＲ＝０およびＰＩＮＶ＝０の制御信号設定は、ＭＴＣＨ＝１の場合、ｐ形トランジスタ５３１，５３２を有するプルアップ分岐部分を有効にするか、またはＭＴＣＨ＝０の場合、ｐ形トランジスタ５３３，５３４を有するプルアップ分岐部分を有効にする。
共通プロセッサの動作は、その全体が本願明細書において参照により援用されている、２００４年１２月２９日出願の米国特許出願第１１／０２６，５３６号（特許文献２１）にさらに詳細に説明されている。
【００６４】
多状態形式へのデータのオンメモリ折り畳み
前述した様々な種類の不揮発性メモリが存在し、これらの不揮発性メモリをバイナリ形式および多状態（または多レベル）形式の双方で動作することができる。メモリシステムの中には、バイナリ形式および多状態形式の双方でデータを記憶するものがある。例えば、バイナリ形式では、一般的に、データをより迅速に、かつわずかな臨界公差を伴って書き込むことができるので、データをホストから受信するときに、メモリは、最初に、バイナリ形式でデータを書き込み、その後、記憶密度を高めるため、このデータを多状態形式で書き換えることができる。このようなメモリでは、一部のセルをバイナリ形式で用いることができ、他のセルを多状態形式で用いることができ、または異なるビット数を記憶するように同一のセルを動作することができる。このようなシステムの例が、米国特許第６，４５６，５２８号（特許文献２２）、米国特許出願公開第２００９／００８９４８１号（特許文献２３）、ならびに、米国特許出願第６１／１４２，６２０号（特許文献２４）、第１２／３４８，８１９号（特許文献２５）、第１２／３４８，８２５号（特許文献２６）、第１２／３４８，８９１号（特許文献２７）、第１２／３４８，８９５号（特許文献２８）、および第１２／３４８，８９９号（特許文献２９）でさらに詳述されている。このセクションに記載されている技術は、再形式化のためにデータをコントローラに返信する必要なしにメモリ装置自体で実行される「折り畳み」処理においてデータをバイナリ形式から多状態形式へ書き換えることに関する。最も予想される誤りが、隣接する状態間の移行であることを考慮すると、データが多状態形式で記憶されるときに、メモリセル内のデータの相対状態が考慮されるように特別に誤り訂正符号（ＥＣＣ）を管理するのにも、オンメモリ折り畳み処理を用いることができる。システムは、状態情報を考慮せず、単一ページ情報に基づいてＥＣＣを管理するＥＣＣ管理も用いることができる。（ＥＣＣビットが、データビットと同じセットの物理セルにプログラムされていても、ＥＣＣは別々に管理されることに留意するべきである。）
【００６５】
特に、例示的な実施形態では、データがコントローラからメモリへ転送されるときに、データはバイナリ形式でメモリアレイのワード線に沿って書き込まれる。その後、データは、アレイに関連するレジスタに読み込まれ、データを多状態形式でアレイに書き直すことができるようにデータが再配置される。例えば、１セル当たり３ビットの場合、３つのワード線の内容は各々レジスタ構造に読み込まれ、各セルに記憶される３ビットに対応するように再配置され、その後、１セル当たり３ビット形式でアレイの単一ワード線に書き換え直される。本願明細書に記載された配置では、このとき単一ワード線のバイナリデータ内容は、ワード線の１／Ｎで終わり、１セル当たりＮビット形式で記憶される。データの最終Ｎビット記憶が、セル内の多状態の関係を利用する誤り訂正符号（ＥＣＣ）を用いる場合、データ（および対応するＥＣＣ）が多状態形式で書き換えられる前に、このＥＣＣをコントローラにおいて決定し、対応するデータと一緒に転送し、バイナリ形式で記憶することができる。
【００６６】
バイナリ形式から多状態すなわちＭＬＣ形式へデータを折り畳むという考えを、１セル当たり３ビットの例として図１３に示すことができる。矢印によって示されるように、データを、コントローラ（またはホスト）から受信し、バイナリ形式でメモリのブロック６１１に書き込む。書き込まれたブロック６１１のワード線の３つ（６１３，６１５，６１７）が明示されている。次に、これらの３つのワード線の内容は、メモリ自体で達成される「折り畳み」処理を用いて、１セル当たり３ビット形式でブロック６２１の単一ワード線６２３に沿って書き換えられる。（より一般的には、データが、１セル当たりＮビット形式でブロック６２１の単一ワード線６２３に沿って書き込まれる場合、このようにして、２値内容のＮ個のワード線の内容が折り畳まれる。）特に、このブロック６１１を、２値モードでしか動作されないように割り当てることができ、またはＭＬＣモードで、例えば物理ページに記憶可能な複数の論理ページの最下位ページだけで動作可能なブロックとすることができる。これに類似して、ブロック６２１を多状態動作のためだけに割り当てることもできるし、または２値モードでも動作可能とすることができる。
【００６７】
図１４には、例示的な実施形態がどのようにデータを複数のバイナリ形式ワード線から単一ワード線へ折り畳むかについての詳細が示されている。図１４の上部には、３つのワード線６１３，６１５，６１７が存在する。これらのワード線の各々は、（この場合、連続すると見なされる）ビット線の対応の１／３に沿ってセルの１／３の３つの部分（ａ，ｂ，ｃ）に分割されている。ワード線６２３上では、１／３の３つの第１のワード線（６１３ａ〜６１３ｃ）はワード線の最初の１／３に配置され、これに類似して、２値の第２のワード線６１５はワード線６２３の中間の１／３に折り畳まれて書き込まれ、２値ブロック６１７の第３のワード線はワード線６２３の最後の１／３に書き込まれる。
【００６８】
図１４に示されている処理は様々な方法で一般化される。方法の１つには、多状態形式で１セル当たりに記憶される状態の数がある。図１３および図１４は、データの３つのページが３つの物理ページから単一物理ページ上で多状態形式に書き換えられる場合を示しているが、他の記憶密度数を用いることができる。（例えば、特にレジスタ構造に関する以下の説明を簡略化するため、１セル当たり２ビットの事例が例示的な実施形態として用いられることが多い。）また、（この場合、各ワード線が１ページに対応する）全ワード線が示されているが、部分ページ動作を可能にするシステムでは、部分ページを用いることができる。（２値記憶に対する部分ページの書き込みは後述されており、多状態部分ページ動作も可能であるが、一般的に好ましくない。多状態部分ページ動作は、さらなる損耗につながることがあり、多状態動作の一般的に厳しい公差を考えると、問題がある。）さらに、図１４は、ワード線に沿ったセルが、折り畳みのために、連続するビット線に沿ってグループに分割される場合を示しているが、他の配置を用いることができる。
【００６９】
前述したように、折り畳み処理はメモリ自体で実行され、これによって、データがコントローラ（またはホスト）から転送され、バイナリ形式で書き込まれた後、メモリからデータを転送することなく、データはアレイに書き換えられる。例示的な実施形態では、このことは、複数の２値ワード線（例えば、６１３，６１５，６１７）のデータを、アレイに関連する対応のレジスタ（またはラッチ）に読み込み、これらのレジスタ内において、多状態プログラミングに必要とされる形式に再配置し、その後、多状態ブロックの単一ワード線（例えば、６２３）に書き換えることによって達成される。従って、図１４の配置の下、同一のワード線上にあるが、異なるビット線に沿った幾つか（この場合、３つ）のセルの２値内容は関連のデータレジスタに読み込まれ、その後、データを書き込むことができる対応する単一ビット線上の単一セルの多ビットに対応するように再配置される。
【００７０】
後述する技術に関連して用いることができるレジスタ構造についてのさらなる詳細は、米国特許第７，１７０，８０２号（特許文献３０）、第７，４２０，８４７号（特許文献３１）、第７，１５８，４２１号（特許文献３２）および第７，２０６，２３０号（特許文献３３）、ならびに、米国特許出願第１２／０５１，４６２号（特許文献３４）および第１２／０５１，４９２号（特許文献３５）で見られる。簡略化のため、レジスタ構造は、１セル当たり２ビットの例に関して主として説明される。図１５は、例示的なレジスタ構造を詳細に示すのに用いられるブロック図であり、図１６Ａ〜図１６Ｃは、この構造内においてバイナリ形式から２ビット形式へどのようにデータを再配置できるかを示している。
【００７１】
図１５は、図８〜図１０に関する前述した読み出し／書き込みスタックにほぼ対応するが、１セル当たり２ビットの場合に即するこの説明にさらに関連性のある要素の一部を強調表示している。センス増幅器ＳＡ７０１はＢＬ０の７０３のような下にある多数のビット線（ＢＬ０〜ＢＬＮ）に接続可能である。各ビット線は、その内容を、スタックの１つからＳＢｕｓ０の７０５のような対応するスタックバス（ＳＢｕｓ０〜ＳＢｕｓＭ）に沿って、バスを制御する処理回路（ＳＢｕｓ０の７０５用のＹＢｏｘ７０７）へ転出させることができる。前述した特許文献で詳述されているように、ＹＢｏｘ７０７から内容を下位ビットデータラッチＬＤＬ７１３、上位ビットデータラッチＵＤＬ７１１またはデータラッチＸＤＬ７０９へバスＤＢｕｓ７１７に沿って転送することができる。例示的な実施形態の下、内容はＸＤＬ７０９とＵＤＬ７１１およびＬＤＬ７１３のどちらかとの間で転送することができるが、ＸＤＬ７０９しかデータを外部バスＸＢｕｓへ転送するか、または外部バスＸＢｕｓから転送することができない。この配置を、異なるビット線数（ＢＬＮのｎの値）および異なるレジスタスタック数（ＳＢｕｓＭのｍの値）と共に用いることができる。ここで、ｍおよびｎは異なることができる。原則として、いかなる整数値も用いることができるが、配置は、ｎがｍのある整数倍であるように主として設計されている。この整数が１よりも大きい場合、レジスタの各々は、スタックバスに沿って所定のセットのレジスタに割り当てられた複数のビット線ごとにセンス増幅器の結果を記憶するための項目に対して（ｎ／ｍ個の）レベルまたは層を有する。図１６Ａ〜図１６Ｃではｎ＝６４およびｍ＝８の例を用いているので、層の数は（ｎ／ｍ）＝８である。様々な値をｎおよびｍに用いることができるが、後述するように、(多状態記憶に用いられる状態の数に基づく)これらの数の特定値（または割合）によって、折り畳み処理をさらに容易に実行することができる。
【００７２】
図１６Ａ〜図１６Ｃは、２値ブロック６１１（図１３）および多状態ブロック６２１の双方を保持するアレイに関連するレジスタ内で折り畳み処理をどのように実行することができるかという一例を示している。この例では、８セットのＸＤＬ／ＵＤＬ／ＬＤＬレジスタ（ｍ＝８）が存在し、各々が図１６Ｂおよび図１６ＣにおいてＴ０〜Ｔ７と表示された８つの層（ｎ／ｍ＝８）を有する。８つの列は各セットのＸＤＬ／ＵＤＬ／ＬＤＬの値に対応する。従って、各行はバイト幅である。図１６Ａは、Ｎ＝２の折り畳みがどのように実行されるかを概念的に示している。データがワード線からＸＤＬ７０９へ読み込まれた後、行の半分はＬＤＬ７１３へ転送され、他の半分はＵＤＬ７１１へ転送される。ＸＤＬ７０９からデータをワード線に沿って下位および上位ビットとして転送することができる。このことはＬＤＬおよびＵＤＬの利用可能な行の半分しか充填しないので、プログラミングが開始する前に、ＸＤＬを再度充填することができ、ＸＤＬの内容をＬＤＬおよびＵＤＬへ転送させることができる。ＸＤＬの行の数が折り畳み処理のために半分に分割されるので、ＸＤＬが偶数の層を有する場合に好ましいことに留意するべきである。より一般的には、データがＮビット形式にプログラムされる場合、レジスタ行の数がＮの倍数であることが好ましい。例えば、Ｎ＝３について、９つまたは６つの列とすることができ、その一方で、Ｎ＝４について、この場合も８つの行を用いることができる。折り畳み処理に関して、行の１／Ｎは、その後、ＸＤＬから、Ｎの多ビットの各々に対応するレジスタに転出される。
【００７３】
ＸＤＬからＬＤＬおよびＵＤＬへのデータの折り畳みを様々な方法で実施することができる。図１６Ｂでは、この折り畳みは、データのページをＸＤＬレジスタに読み込み、その後、偶数層のバイトサイズの行をＬＤＬの上位４つの層に入れ、奇数層をＵＤＬの上位４つの行に入れることによって行われる。２ビットプログラミングのために物理ページを充填するため、図１６Ｃでは、第２の２値ページからのデータはセンス増幅器からＸＤＬに読み込まれ、偶数層は再度ＬＤＬへ転送され、奇数層は再度ＵＤＬへ転送される。ビット線からセンス増幅器へのデータの転送を、米国特許第７，１７０，８０２号（特許文献３０）に記載されているような様々なポインタ方式に従って達成することができる。場合によって、最も単純な変形例は、単に、ビット線のすべてを順々にトラバースするポインタである。データがレジスタ内に多状態形式で折り畳まれた後、データをメモリアレイのブロックにプログラムし直すことができる。多状態プログラミングの詳細は、前述した様々な特許文献のいずれにおいても見られる。データが読み戻されると、図１６Ａ〜図１６Ｃの処理を逆にしてデータを広げることができる。ＸＤＬレジスタへのデータを読み出し、次に、後でデータをメモリから返信できるようにＬＤＬおよびＵＤＬレジスタ内にデータを広げる。その後、初期にデータがホストからシフトされた同じ順序またはデータ構造でデータをメモリからシフトバックすることができる。（折り畳みによって論理−物理アドレスマッピングを変更することがあり、従って、このことを考慮する必要があることに留意するべきである。）
【００７４】
図１３に戻り、前述した折り畳み処理の下、ワード線６１３に沿ったデータのページは、図１４に概略的に示されるようにワード線６２３の１／３しかプログラムされないようにレジスタ構造内で折り畳まれる。（図１３および図１４はＮ＝３の実施形態に関することに留意するべきである。）類似の折り畳みをワード線６１５，６１７に沿ったデータにも行うことができる。このようにして、単一ワード線に沿ってビット線に対応する３つの異なるデータラッチからのバイナリデータは、ワード線６２３の単一ビット線上で終わるように単一セル上にＮ＝３の多状態形式で書き込まれる。あるいはまた、前の段落で記載した折り畳み処理を用いずに、複数の各ワード線の単一ビット線に沿ったセルを、ワード線６２３に沿った、この同じビット線上の単一セルにマッピングすることができる。しかし、このセクションに示されている種類のオンメモリ折り畳み配置は、多状態形式で書き込まれたデータが、セルに記憶された多状態間の物理関係を利用する誤り訂正符号（ＥＣＣ）を用いる場合に効果的に用いることができる。さらに、従来のＥＣＣ符号化方法を用いても、本願明細書に示された技術はシステムのＥＣＣ機能を高めることができる。
【００７５】
ある誤りがメモリセル内で生じた場合、一部の誤りは他よりも可能性が高い。例えば、データ状態がフローティングゲートに記憶された電荷の量に対応するフローティングゲートメモリの場合（前に示した図４を参照）、ある誤りがセル内で生じたときに、データ状態は、離れた状態よりも隣接状態にシフトしている可能性が高い。メモリ装置の物理特性のこのような知識を誤り訂正符号（ＥＣＣ）に組み入れることができる。例えば、セル内で生じることがある予想される異なる誤り移行を、相対物理可能性に従って重み付けることができ、これらの重み係数をＥＣＣ計算に組み入れることができる。この種類のＥＣＣを以下で「強ＥＣＣ」すなわち「ＳＥＣＣ：Strong ECC」と称する。セルの様々な状態間の関係を考慮し、この関係をどのように誤り訂正符号で用いることができるかを考慮するＥＣＣを含むこれらの事柄に関するさらなる背景の詳細が、米国特許出願公開第２００９／００９４４８２号（特許文献３６）、米国特許第７，５０２，２５４号（特許文献３７）、米国特許出願公開第２００７／０２６８７４５号（特許文献３８）、米国特許出願公開第２００７／０２８３０８１号（特許文献３９）、米国特許第７，３１０，３４７号（特許文献４０）、米国特許第７，４９３，４５７号（特許文献４１）、米国特許第７，４２６，６２３号（特許文献４２）、米国特許出願公開第２００７／０２２０１９７号（特許文献４３）、米国特許出願公開第２００７／００６５１１９号（特許文献４４）、米国特許出願公開第２００７／００６１５０２号（特許文献４５）、米国特許出願公開第２００７／００９１６７７号（特許文献４６）、米国特許出願公開第２００７／０１８０３４６号（特許文献４７）、米国特許出願公開第２００８／０１８１０００号（特許文献４８）、米国特許出願公開第２００７／０２６０８０８号（特許文献４９）、米国特許出願公開第２００５／０２１３３９３号（特許文献５０）、米国特許第６，５１０，４８８号（特許文献５１）、米国特許第７，０５８，８１８号（特許文献５２）、米国特許出願公開第２００８／０２４４３３８号（特許文献５３）、米国特許出願公開第２００８／０２４４３６７号（特許文献５４）、米国特許出願公開第２００８／０２５０３００号（特許文献５５）、および米国特許出願公開第２００８／０１０４３１２号（特許文献５６）で見られる。
【００７６】
好適な実施形態では、データがバイナリ形式から多状態形式へ書き換えられる場合、状態に依存した強ＥＣＣ（ＳＥＣＣ）が用いられる。ＳＥＣＣを計算するため、システムは、多状態形式で書き込まれた後、データがどのように記憶されるかを知る必要があり、これを知るため、このデータのすべてが利用可能である必要がある。本願明細書に示され、図１３および図１４で概説された折り畳み配置では、データが入ってくると、データはワード線６１３に沿ってバイナリ形式で書き込まれ、その後、データセットの残りの部分について、次の論理ページがワード線６１５などに引き続き書き込まれる。各ワード線は、折り畳み後、物理多状態ページの１／Ｎに沿ってＮビット多状態形式で書き込まれるデータのすべてを有する。例えば、図１４において、ワード線６２３の左側の１／３に記憶されるべきデータのすべてはワード線６１３である。本願明細書に示された別の態様によれば、論理ページが後に多状態形式でどのように記憶されるかということに対応する強ＥＣＣはコントローラ（またはホスト）で計算され、データと一緒に転送され、バイナリ形式で書き込まれる。従って、図１３において、例えば、ワード線６１３上のデータは、データのこの論理ページがワード線６２３の一部にどのように記憶されるかということに対応するＳＥＣＣを既に有している。２値ブロックに記憶されたユーザデータの論理ページは後にバイナリ形式で書き込まれるが、このユーザデータと共に物理ページ（またはワード線）に書き込まれた対応するＥＣＣは、まだデータがこのように書き込まれていないとしても、最終多状態配置に基づくことに留意するべきである。
【００７７】
これとは対照的に、Ｎビット線がＮ個のワード線に沿ってバイナリ形式で書き込まれ、その後、（例えば、３つの異なる２値ブロックワード線に対する同一のビット線上の３つのセルが多状態ブロック６２１の同一のセル内で終わるように、）折り畳み動作を用いずにビット線対応を維持するように単一ワード線上にＮビット形式で書き換えられた場合、コントローラが一度にＮ個のすべての論理ページを有しない限り、コントローラは強ＥＣＣを計算することはできない。従って、コントローラは、論理ページをバイナリ形式に書き込む前に論理ページを蓄積して、データが受信されたときにデータをバイナリ形式で迅速に書き込む機能を取り除くか、または、コントローラは、Ｎ個の論理ページをバイナリ形式で書き込む最初の書き込みを行ない、その後、コントローラに戻されたこれらのページの帰還を読み出し、対応のＳＥＣＣを計算し、これらをＳＥＣＣと一緒にバイナリ形式で書き換え、その後、データおよびＳＥＣＣを多状態ブロックに書き込む必要がある。この最後の配置は高速の初期２値書き込みを依然として可能にするが、追加の読み出しおよびコントローラへの返信、ならびに、その後のメモリへの返信および次の２値書き込みを必要とする。この処理に含まれる追加の転送時間に加えて、この配置は、Ｎ個の論理ページの各々が多状態形式で記憶されて終わる前に２値書き込みを受けるワード線の数を２倍（Ｎから２Ｎ）にもすることに留意するべきである。１つのワード線を１セル当たりＮビットブロック上に書き込むのに２値ブロック内の多く（２Ｎ）のワード線を用いる別の欠点は、２値ブロックの信頼性によってフラッシュメモリの信頼性を制限することがあり、しかも、２値プログラミングに対する多すぎるブロックの使用は、ユーザデータを記憶するメモリの容量を少ないままにしておくことになるということである。
【００７８】
前述したように、データがホストから入ってくるときに、データをバイナリ形式で書き込むことができ、データは、多状態ブロック内で最終的に書き換えられるまで２値ブロックに蓄積される。しかし、データパケットは、一般的に論理ページの整数に対応しない様々なサイズでホストから到着する。ホストの読み込みが全論理ページよりも少ない場合、好適な実施形態では、このデータをメモリに依然として転送することができ、部分ページプログラミングを用いて、ＥＣＣを含めず、データを２値ブロックにプログラムすることができる。また、コントローラが、全論理ページに相当する量を有するまで、コントローラは、この部分ページの累積データを保持し、この全ページに基づいて強ＥＣＣを計算し、その後、全累積論理ページのＳＥＣＣを書き込むことができ、この最後のチャンクがプログラムされて論理ページをワード線上に充填する。２値ページ内のＳＥＣＣ位置は重要であるので、すべてのＳＥＣＣ空間を充填するため、一部のビット空間を最後のプログラムのために残すことができる。例えば、場合によっては、ホストは、ページ全部を充填するのに充分なデータを有さないことがある。この場合、既存の部分ページデータを、まず、２値ＥＣＣ符号と共に２値ブロックに書き込むことができる。次のデータが入ってくると、プログラムされた２値部分ページを読み直し、入ってきたデータでページ全体を形成し、ＳＥＣＣと共に別の２値ワード線にプログラムすることができる。
【００７９】
折り畳み処理の一部として、欠陥も考慮される必要がある。特に、折り畳み処理が複数のビット線上のデータを２値ブロックから取り出し、これらのデータを単一ビット線に折り畳むときに、メモリアレイのソース（２値）ブロックの列欠陥のいずれも折り畳み処理において反映される。（欠陥のある列およびこれらに対処する方法の説明が、米国特許第７，１７０，８０２号（特許文献３０）に示されている。）例えば、図１４に戻って参照すると、ある配置の下では、例えば６１３ａにおいて、欠陥のある列が飛ばされる場合、６１３ｂおよび６１３ｃが書き込まれたときに、不良列を伴ってワード線６２３に折り畳まれる６１３ｂおよび６１３ｃの対応する列は飛ばされる必要がある。２値ページプログラミング中、２値ブロックの不良列を飛ばすべきである。１／Ｎページに不良列が存在する場合、２値ページデータは、２値ページプログラムにおいてＮビットを飛ばすべきである。２値ページプログラムにおいて、ワード線の他の領域のさらなる不良列だけに対処する必要がある。
【００８０】
データの折り畳みに用いる局所バス
このセクションでは、さらなるデータ転送機能を、前述した種類のメモリ構造に追加する構造を示す。前に示した図１５に戻って参照すると、図１５は、例示的な実施形態に用いられた読み出し／書き込みスタックの１つを示している。このセクションで示される実施形態は、異なるスタックのＳＢｕｓ７０５に接続し、これによって、異なるスタックのレジスタ間でデータを転送できる局所内部データバスを追加する。バイナリデータが読み出され、次に、プログラムし直される例示的な実施形態では、１セル当たり３ビットの場合、読み出し／書き込みスタックは３つのグループに分割され、各グループにおけるスタックの内部スタックバスはこのような局所バスによって接続されている。
【００８１】
前述したように、多状態（ＭＬＣ）データを記憶するページのプログラミングは、１つの２値ページから異なるＭＬＣページへデータが分配されるように再配置される。前述したように、従来技術の配置では、コントローラはデータを読み出し、コントローラ内でデータを再配置し、次に、プログラミングのために、データをメモリに書き戻す。このセクションおよび前のセクションでは、メモリ内でデータを再配置することによって、メモリからデータを転出し、メモリへ返信する必要性を除去し、これによって、メモリ性能を改善する技術が示されている。前述した別の利点は、この配置が、強ＥＣＣ（ＳＥＣＣ）２値ページをプログラムする前に、標準のＥＣＣを有する２値ページをプログラムするということからシステムを解放することができ、２値キャッシュブロックの耐久性要件を１／２に減少させるということである。前のセクションについては米国特許出願第１２／４７８，９９７号（特許文献５７）でさらに明らかにされ、前のセクションでは、図１４に示されるようなデータの折り畳み方法は、コントローラがデータを一般的にどのように符号化するかということに対応していない。このセクションにおいて導入された構造によって、コントローラにとってさらに有益となりやすいようにデータを配置することができる。
【００８２】
前述したアプローチをさらにもう少し検討する。内部データ折り畳み機構を用いずに、強ＥＣＣ（ＳＥＣＣ）システムを用いてバイナリデータを多状態形式に書き換えるため、最初に標準または軽ＥＣＣ（ＬＥＣＣ：Light ECC ）ページを用いて、ホストからのデータは最初にバイナリ形式で書き込まれる。ＬＥＣＣページが充分あると、データはコントローラに読み戻され、コントローラはＬＥＣＣページをＳＥＣＣ２値ページに変換する。ＳＥＣＣ２値ページが充分あると、次に２値ページはＭＬＣページに「折り畳まれる」。例えば、１セル当たり３ビット多状態形式の場合、１つの３ビットページに折り畳むのに３つのＳＥＣＣ２値ページが必要とされる。これに類似して、１セル当たり４ビット形式の場合、１つのＤ４（４ビットデータ）ページに折り畳むのに４つのＳＥＣＣ２値ページが必要とされる。この機構はバックグラウンド内部折り畳み（ＢＧＩＦ：Background Internal Folding ）と称される。
【００８３】
前のセクションでは、データをコントローラへ転出することなく、メモリ上で折り畳みを行うことができる実施例を示した。その代わりに、折り畳みはスタックバス（図１５のＳＢｕｓおよびＤＢｕｓ７１７）内で行われる。このセクションは、局所バスを少数の読み出し／書き込みスタックの一グループ内に導入し、これによって、データインまたはデータアウト動作の必要なしに、異なるスタック間でデータをシャッフルすることができる。このような配置は、（図１５および図１６に関して前述したように）レジスタに用いられるレベルまたは層の数がＭＬＣ状態の数で割り切れない場合（例えば、８層およびＭＬＣモードにおける１セル当たり３ビット記憶の場合）に特に有用であることができる。
【００８４】
図１７には、読み出し／書き込みスタックの幾つかを示す。読み出し／書き込みスタックの各々は、Ｍ＝１５の場合、図１５に対応するが、説明の目的上、要素は上下逆さまになっており、図１５のセンス増幅器ＳＡ７０１は明示されておらず、この場合、入出力バスに接続された入出力モジュールＹＣＯＭ８２９を含む（入出力バスも図に示されていないが、前述した図８〜図１０を参照されたい）。図１５における対のラッチＵＤＬ７１１およびＬＤＬ７１３よりはむしろ、図１７におけるスタックの各々は３つのラッチＡＤＬ８１１、ＢＤＬ８１３およびＣＤＬ８１５のセットを有し、この説明は、多レベル書き込みが１セル当たり３ビットを記憶する実施形態に基づく。メモリのビット線はセクションに分割され、各セクションはそれ自体このようなスタックを有する。例えば、各スタックは、図１５のＮ＝１２８に対応する１２８個のビット線を担うことができる。図１７は、これらのセクションの３つ（この場合、セクション０，１，２）のスタックを示しているが、一般的に、メモリはさらに多くのセクションを有する。３ビットＭＬＣ設計では、図に示されている４つのデータラッチまたはそれ以上が一般的に存在する。データラッチは、ＤＢＵＳ／ＸＢＵＳ８１７／８１９を介して互いに接続されている。前述したように、アレイに対するデータ転送動作はＹＢＯＸ８０７を介する。ＸＢＵＳ８１９は、データインおよびデータアウト動作のため、ＹＣＯＭ８２１にも接続されている。この配置の下、異なるセクションにわたってデータを転送することはできない。
【００８５】
図１８には、同一の符号を付してある図１７の要素を繰り返し示すが、複数の読み出し／書き込みスタックのサブセットのスタックバス間に局所データバスを追加して、異なるセクションまたは列間にデータを転送するメモリ機能を与える。このことは、コントローラの介入なしに、データを再配置でき、データをメモリ自体内でシャッフルできる方法を増大させる。例示的な実施形態では、この局所データバスは３つのスタックのスタックバスを接続する。（この場合も、３つのセクションしか示されていないが、この配置は、３つのスタックの各サブセットによって繰り返される。）
【００８６】
この局所バスは、図１８において、ＬＢＵＳ９５１として示されている。ＬＢＵＳ９５１の幅（この場合、１６ビット）はスタックバスの幅に一致する。９５３−０におけるＳ０、９５３−１におけるＳ１および９５３−２におけるＳ２が独立しているのと同じく、信号ＸＳＷ０，ＸＳＷ１，ＸＳＷ２も、独立した制御信号であり、これらの信号は、異なるセクション間でバス（ＸＢＵＳおよびＬＢＵＳ）がどのように接続されるのかを選択する。信号ＸＳ０，ＸＳ１，ＸＳ２も、独立した信号であり、これらの信号は、どのセクションのＸＤＬが他のセクションからデータを受信できるかを制御する。これらの信号のタイミングを制御することによって、あるセクションからデータを別のセクションへ転送することができる。ラッチＡＤＬ８１１、ＢＤＬ８１３、ＣＤＬ８１５およびＸＤＬ８０９を用いるデータ転送および再配置のさらなる柔軟性をメモリに与えるため、セクション間の水平データ転送機能は、前述したセクション内のレジスタ間の垂直データ転送機能と組み合わされた。（図１８において明示されていないが、スタックのＹＢＯＸ９０７およびセンス増幅器も一般的にラッチを含む。）
【００８７】
図１８の配置を用いて３つの２値ページを、１セル当たり３ビット形式でメモリの１つの（物理）ページに書き換える場合における所望のデータ再配置の一例を次に示す。３ビットページのデータをプログラムするため、３ページバイナリデータを２値ブロックから読み出し、図１９に示されるようにＡＤＬ、ＢＤＬおよびＣＤＬに入れる必要がある。一番上の線から始める場合、処理は、センス増幅器で第１の２値ページ（ｐａｇｅ０）を検知することから開始し、その結果をＸＤＬラッチにラッチする。セクション０、１および２（Ｓ０，Ｓ１，Ｓ２）に関する結果は、下位、中間および上位に対応してＬ０、Ｍ０およびＵ０と表示され、その中にこれらは再配置されることになっている。次に、これらの結果はＸＤＬレジスタから各スタックのＡＤＬレジスタへ転送される。続いて、第２の２値ページ（ｐａｇｅ１）がＢＤＬに記憶され、第３の２値ページ（ｐａｇｅ２）がＸＤＬからＣＤＬへ転送される。処理の終わりにおける３つの各セクションのＡＤＬ、ＢＤＬおよびＣＤＬラッチの内容は、図２０の左側に示されている。
【００８８】
図２０をさらに説明する前に、折り畳み処理を再検討する。前に戻って図１４を参照すると、図１４は、２値ページ、例えばワード線６１３に対応するｐａｇｅ０が１／３に分割される折り畳み動作を示している。ページが折り畳まれ、ワード線６２３上に３ビットＭＬＣ形式で書き換えられる場合、この分割によって、部分６１３ａが上位ページ上で終わり、中間部分６１３ｂが中間ページ上で終わり、６１３ｃが下位ページ上で終わる。所定のセルの場合、図１４に示された折り畳み配置の下、上位、中間および下位ビットは同一ワード線からもたらされるが、同一のワード線からもたらされる２値セルはワード線の１／３で分離される。コントローラは、このようにはデータを符号化しないことが多い。より一般的に、コントローラは、１バイトまたは数バイトもしくはワードの単位で符号化されたデータを扱う。例えば、コントローラが２バイト単位でデータを符号化する場合を考える。このことから、１／３の代わりに、２バイト単位に２値ワード線をスライスし、これらのより小さい単位に基づいてページを折り畳むのが好ましい。従って、折り畳みのときに、Ｎ＝３のワード線６２３の最初の（物理）２バイトセグメントは、２値ワード線６１３からの第１、第２および第３の２バイトからそれぞれ取得された上位、中間および下位バイトを有し、これに類似して、３つの２値ワード線の残りは２バイト単位で折り畳まれる。メモリセルのより小さい単位に基づくこの折り畳みは、ＬＢＵＳ９５１を用いて達成することができる。
【００８９】
このより細かい折り畳みは、強ＥＣＣを有するデータの符号化を容易にすることにも役立つ。ＳＥＣＣを有するデータを符号化するため、コントローラは、ＭＬＣ形式でセルに記憶すべき全データの最終データ値を知る必要がある。２値ページが１／３に折り畳まれる場合、２値ページの最後の１／３からのビットが入ってくるまでは、コントローラは、所定のＭＬＣセルに対するすべてのデータを有さないこととなる。その代わりに、より小さい単位でデータが折り畳まれる場合、所定のＭＬＣセル内に折り畳むべきデータのすべては極めて接近して到達し、これによって、ＳＥＣＣ生成処理を容易にする。（この場合も、３ビットＭＬＣの場合に即している。）
【００９０】
図２０に戻る。図１９に関して前述した２値ページの最後では、データは、図２０の左側に示されるように、セクション０、１および２（Ｓ０，Ｓ１，Ｓ２）のレジスタＡＤＬ、ＢＤＬおよびＣＤＬに読み込まれる。折り畳み処理の終わりにおける所望の結果は右側に示され、セクションごとの下位、中間および上位データはそれぞれここで、そのセクションのＡＤＬ、ＢＤＬおよびＣＤＬレジスタに含まれる。要素のこの置き換えは、図１８に示されるように３つのセクションを接続するＬＢＵＳ９５１を用いてセクション間でデータを転送することによって行われる。これに類似して、２値ページ０、１および２の残りの部分は他のセクションのレジスタに読み込まれ、同様に、セクションの各サブセット内で折り畳まれる。データが折り畳まれた後、データを下位、中間および上位ページとしてＭＬＣブロックのワード線にプログラムすることができる。
【００９１】
図２１Ａ〜図２１Ｍには、このデータ折り畳みを行う実行可能なシーケンスの１つを示す。２値ページデータを読み出した後、データラッチは、図２１Ａに示されるように初期データを有し、ＸＤＬおよびセンス増幅器（ＳＡ）のラッチは、読み出した最後のページのデータを依然として保持する。最初の一対のステップでは、Ｕ０はセクション２のＡＤＬからセクション０のＸＤＬラッチへ移動され（図２１Ｂ）、Ｕ１は、内部スタックバス間で局所内部データバス（ＬＢＵＳ）を用いてセクション間転送によってＳ２のＢＤＬラッチからセクション１のＸＤＬラッチへ移動される。すべてのセクションに対して上位ページ単位がＸＤＬ内で完成すると、それらはＣＤＬにシフトされる（図２１Ｄ）。例示的なシーケンスでは、スタック処理回路（ＹＢＯＸ）内のラッチがこの場合に用いられ、図２１Ｅにおいて、ＢＤＬラッチの内容はＹＢＯＸのラッチにシフトされている。
【００９２】
次に、中間ページに対応するデータは、セクション１のＡＤＬ（図２１Ｆ）、セクション１のＳＡラッチ（図２１Ｇ）およびセクション１のＢＤＬラッチ（図２１Ｈ）からＸＤＬへシフトされる。次に、中間ページはＢＤＬラッチにシフトされる（図２１Ｉ）。その後、下位ページに対応するデータは、セクション０のセンス増幅器ラッチ（図２１Ｊ）、セクション０のＹＢＯＸラッチ（図２１Ｋ）およびセクション０のＡＤＬラッチ（図２１Ｌ）からＸＤＬへシフトされる。次に、下位ページはＡＤＬラッチにシフトされる（図２１Ｍ）。
【００９３】
従って、これらのステップの後、データは再配置され、その後、１セル当たり３ビットＭＬＣブロックにデータをプログラムすることができる。メモリからコントローラへ出し入れのためデータをシフトする必要はないので、この場合も、書き込み性能は改善され、コントローラにとって、より有利にデータは符号化される。ここで与えられたこの例では、本発明の説明を簡略化するため、３つのセクションが用いられている。より一般的には、Ｎ個のセクションをグループ化することができる。ここで、Ｎを２，３，４，５などとすることができる。グループ内では、セクションのスタックバス間に内部バスを用いて、データを、あるセクションから別のセクションへ転送し、セクションのこれらのサブセットの各々に再配置することができる。この説明に用いた例示的な実施形態は３ビット下位／中間／上位ページデータの折り畳みに関連するが、これに類似して、メモリ性能を改善するため、これらの技術の他の実施形態を用いることによって、異なるデータ再配置をフラッシュメモリ内で達成することができる。
【００９４】
特定の実施形態に関して本発明の様々な態様を説明してきたが、当然のことながら、本発明は、特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できるはずである。
【図１Ａ】
0005480372.tif 000002
【図１Ｂ】
0005480372.tif 000003
【図１Ｃ】
0005480372.tif 000004
【図１Ｄ】
0005480372.tif 000005
【図１Ｅ】
0005480372.tif 000006
【図２】
0005480372.tif 000007
【図３】
0005480372.tif 000008
【図４】
0005480372.tif 000009
【図５】
0005480372.tif 000010
【図６Ａ】
0005480372.tif 000011
【図６Ｂ】
0005480372.tif 000012
【図７Ａ】
0005480372.tif 000013
【図７Ｂ】
0005480372.tif 000014
【図８】
0005480372.tif 000015
【図９】
0005480372.tif 000016
【図１０】
0005480372.tif 000017
【図１１Ａ】
0005480372.tif 000018
【図１１Ｂ】
0005480372.tif 000019
【図１２Ａ】
0005480372.tif 000020
【図１２Ｂ】
0005480372.tif 000021
【図１３】
0005480372.tif 000022
【図１４】
0005480372.tif 000023
【図１５】
0005480372.tif 000024
【図１６Ａ】
0005480372.tif 000025
【図１６Ｂ】
0005480372.tif 000026
【図１６Ｃ】
0005480372.tif 000027
【図１７】
0005480372.tif 000028
【図１８】
0005480372.tif 000029
【図１９】
0005480372.tif 000030
【図２０】
0005480372.tif 000031
【図２１Ａ】
0005480372.tif 000032
【図２１Ｂ】
0005480372.tif 000033
【図２１Ｃ】
0005480372.tif 000034
【図２１Ｄ】
0005480372.tif 000035
【図２１Ｅ】
0005480372.tif 000036
【図２１Ｆ】
0005480372.tif 000037
【図２１Ｇ】
0005480372.tif 000038
【図２１Ｈ】
0005480372.tif 000039
【図２１Ｉ】
0005480372.tif 000040
【図２１Ｊ】
0005480372.tif 000041
【図２１Ｋ】
0005480372.tif 000042
【図２１Ｌ】
0005480372.tif 000043
【図２１Ｍ】
0005480372.tif 000044