(57)【要約】不揮発性記憶デバイスは、基板と、その基板の一部分の上方に配置された不揮発性記憶素子のモノリシック３次元メモリアレイと、その不揮発性記憶素子と通信する複数のセンスアンプと、そのセンスアンプと通信する複数の一時記憶デバイスと、その一時記憶デバイスと通信するページレジスタと、１つまたは複数の制御回路と、を含む。この１つまたは複数の制御回路は、ページレジスタ、一時記憶デバイスおよびセンスアンプと通信する。センスアンプは、モノリシック３次元メモリアレイの下方にある基板上に配置される。一時記憶デバイスは、モノリシック３次元メモリアレイの下方にある基板上に配置される。ページレジスタは、モノリシック３次元メモリアレイの下方ではない領域にある基板上に配置される。センスアンプによって不揮発性記憶素子から読み出されたデータは、一時記憶デバイスに転送され、その後１つまたは複数の制御回路に応答してページレジスタに転送される。不揮発性記憶素子にプログラムされるデータは、その１つまたは複数の制御回路に応答してページレジスタから一時記憶デバイスへと転送される。【選択図】図１１
2013513903.tif 000002
【特許請求の範囲】
【請求項１】
基板と、
前記基板の一部分の上方に配置された不揮発性記憶素子のモノリシック３次元メモリアレイと、
前記不揮発性記憶素子と通信する、前記モノリシック３次元メモリアレイの下方にある前記基板上に配置されている複数のセンスアンプと、
前記センスアンプと通信する、前記モノリシック３次元メモリアレイの下方にある前記基板上に配置されている複数の一時記憶デバイスと、
前記一時記憶デバイスと通信する、前記モノリシック３次元メモリアレイの下方にない領域にある前記基板上に配置されているページレジスタと、
前記ページレジスタ、前記一時記憶デバイスおよび前記センスアンプと通信する１つまたは複数制御回路と、
を備える、不揮発性記憶装置。
【請求項２】
前記ページレジスタと前記一時記憶デバイスとの間の双方向データバスをさらに備え、特定のセンスアンプについて、前記特定のセンスアンプ向けのプログラミングデータを格納する目的で使用される前記一時記憶デバイスの第１の記憶デバイスが、前記特定のセンスアンプ向けの読出しデータを格納する目的で使用される前記一時記憶デバイスの第２の記憶デバイスと同じビットの前記双方向データバス上で通信する、請求項１に記載の不揮発性記憶装置。
【請求項３】
前記一時記憶デバイスが、前記特定のセンスアンプ向けのプログラミング情報を格納する目的で使用される第３の記憶デバイスをさらに備え、前記第３の記憶デバイスが前記同じビットの前記双方向データバスを使用する、請求項２に記載の不揮発性記憶装置。
【請求項４】
前記一時記憶デバイスが、前記特定のセンスアンプ向けのプログラミングデータを格納する目的で使用される第４の記憶デバイスと、前記特定のセンスアンプ向けのプログラミング情報を格納する目的で使用される第５の記憶デバイスと、をさらに備え、
前記第２の記憶デバイスが、前記同じビットの前記双方向データバスおよび前記特定のセンスアンプと通信し、
前記第１の記憶デバイスが、前記同じビットの前記双方向データバスおよび前記第４の記憶デバイスと通信し、
前記第３の記憶デバイスが、前記同じビットの前記双方向データバスおよび前記第５の記憶デバイスと通信し、
前記第４の記憶デバイスが前記特定のセンスアンプと通信し、
前記第５の記憶デバイスが前記特定のセンスアンプと通信する、請求項３に記載の不揮発性記憶装置。
【請求項５】
前記第１の記憶デバイス、前記第２の記憶デバイス、前記第３の記憶デバイス、前記第４の記憶デバイスおよび前記第５の記憶デバイスが、前記１つまたは複数の制御回路から制御信号を受け取るラッチである、請求項４に記載の不揮発性記憶装置。
【請求項６】
前記一時記憶デバイスが、前記双方向データバスとの間でデータを回送するための復号回路を備える、請求項４または５に記載の不揮発性記憶装置。
【請求項７】
前記ページレジスタと前記一時記憶デバイスの複数の記憶デバイスと間にある双方向データバスであって、前記複数のセンスアンプが第１の組のセンスアンプを備え、前記第１の組のセンスアンプのうちの各センスアンプが前記複数の記憶デバイスの異なるサブセットと関連付けられており、前記複数の記憶デバイスの各サブセットが、そのうちの１つより多くの記憶デバイスが前記同じビットの前記双方向データバスと通信するように１ビットの前記双方向データバスと通信する双方向データバスをさらに備える、請求項１に記載の不揮発性記憶装置。
【請求項８】
前記ページレジスタと通信する複数の双方向データバスであって、前記不揮発性記憶素子が群で配置されており、不揮発性記憶素子の各群が前記センスアンプの異なるサブセットと関連付けられており、センスアンプの各サブセットが前記双方向データバスのうちの１つと関連付けられており、センスアンプの各サブセットが前記一時記憶デバイスのサブセットと通信し、前記一時記憶デバイスの各サブセットが、一時記憶デバイスの前記それぞれのサブセットと通信するセンスアンプのサブセットと関連付けられた前記双方向データバスと通信する複数の双方向データバスをさらに備える、請求項１に記載の不揮発性記憶装置。
【請求項９】
前記ページレジスタおよび前記一時記憶デバイスと通信する双方向データバスであって、前記ページレジスタが、前記３次元メモリアレイ向けの１ページ分のデータを記憶し、前記ページレジスタが、前記双方向バス経由で前記一時記憶デバイスに前記ページ分のデータの一部分を転送し、前記双方向バスがセンスアンプの数より小さい幅を有する双方向データバスをさらに備える、請求項１に記載の不揮発性記憶装置。
【請求項１０】
前記不揮発性記憶素子が可逆的抵抗スイッチング素子である、請求項１〜９のいずかれ一項に記載の不揮発性記憶装置。
【請求項１１】
不揮発性記憶を操作する方法であって、
データと、前記データを格納するためのリクエストを受け取ることと、
基板上にあるが、前記基板の上方にある不揮発性メモリ素子のモノリシック３次元メモリの下方にはない中間レジスタに前記データを転送することと、
前記データを、前記中間レジスタから、前記基板上にあり、かつ前記モノリシック３次元メモリの下方にある一時記憶デバイスに転送することと、
前記データを、前記一時記憶デバイスから、前記基板上にあり、かつ前記モノリシック３次元メモリの下方にある複数のセンスアンプに転送することと、
前記センスアンプ内の前記データに基づいて前記不揮発性記憶素子のサブセットをプログラムすることと、
を含む方法。
【請求項１２】
データを格納するための前記リクエストおよび前記データがコントローラで受け取られ、
前記データを前記中間レジスタに転送することが、前記データを前記コントローラからページレジスタへと転送することを含み、前記コントローラが前記基板上にない、請求項１１に記載の方法。
【請求項１３】
前記データを前記中間レジスタから一時記憶デバイスに転送することが、前記データを、双方向データバスを経て少なくとも１回のサイクルでシャドウ記憶デバイスに早期に転送することと、続いて前記データを、前記シャドウ記憶デバイスから、前記センスアンプと通信するデータ記憶デバイスに転送することとを含む、請求項１１または１２に記載の方法。
【請求項１４】
前記プログラミングが、前記一時記憶デバイスおよび前記双方向データバス経由で前記センスアンプから前記中間レジスタへとデータを返送することを含む、請求項１３に記載の方法。
【請求項１５】
前記中間レジスタが、前記３次元メモリ向けの１ページ分のデータを格納し、前記中間レジスタから前記一時記憶デバイスにデータを転送することが、前記１ページ分のデータの一部分を転送することを含む、請求項１１〜１４のいずかれ一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性記憶装置の技術に関する。
【背景技術】
【０００２】
半導体メモリは、様々な電子装置で広く使用されるようになってきている。たとえば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、携帯情報端末、モバイル・コンピューティング・デバイス、非モバイル・コンピューティング・デバイスなどのデバイスで使用される。ユーザーが記憶したいデータの量が増えているため、高密度記憶装置に対する需要がある。３次元メモリは、高密度記憶装置の一例である。しかし、密度が向上することで、性能が低下すべきでない。
【図面の簡単な説明】
【０００３】
【図１】メモリシステムの一実施形態のブロック図である。
【０００４】
【図２】メモリセルの一実施形態の概略斜視図である。
【０００５】
【図３】メモリセルの一例で使用され可逆的抵抗スイッチング素子のＩ−Ｖ特性を表すグラフである。
【０００６】
【図４Ａ】３次元メモリアレイの一実施形態の一部分の概略斜視図である。
【０００７】
【図４Ｂ】３次元メモリアレイの一実施形態の一部分の概略斜視図である。
【０００８】
【図５】３次元メモリアレイの様々な層を表しているブロック図である。
【０００９】
【図６】メモリシステムを実装した基板の上面図である。
【００１０】
【図７】メモリアレイの構成の一例を表すブロック図である。
【００１１】
【図８】メモリストライプの構成の一例を表すブロック図である。
【００１２】
【図９】メモリアレイのサポート回路の一実施形態のブロック図である。
【００１３】
【図１０】ページレジスタの一実施形態のブロック図である。
【００１４】
【図１１】メモリストライプのサポート回路の一実施形態のブロック図である。
【００１５】
【図１２】データをプログラムする処理の一実施形態を示すフローチャートである。
【００１６】
【図１３】データをプログラムする処理の一実施形態を示すタイミング図である。
【００１７】
【図１４】サイクルをスキップすることを含むデータをプログラムする処理の一実施形態を示すフローチャートである。
【００１８】
【図１５】サイクルをスキップすることを含む、データをプログラムする処理の一実施形態を示すタイミング図である。
【００１９】
【図１６】サイクルをスキップすることを含む、データをプログラムする処理の一実施形態を示すフローチャートである。
【００２０】
【図１７】サイクルをスキップすることを含む、データをプログラムする処理の一実施形態を示すタイミング図である。
【発明を実施するための形態】
【００２１】
記憶密度を高めるための３次元メモリ構造を含む不揮発性記憶デバイスが提案される。複数の不揮発性記憶素子を含む３次元メモリ構造が、基板（または他の材料）の上方に配置される。長い信号長による遅延を最小限に抑えるために、制御回路の大半が３次元メモリ構造の下方に位置付けられる。ただし、制御回路のすべてが３次元メモリ構造の該当部分の下に装着できるわけではなく、長い信号線を有することによってＲＣ遅延が生じうる。そのため、３次元メモリ構造の外側にページレジスタ（または他の類似中間記憶デバイス）を配置し、３次元メモリ構造の下方に１組の一時記憶デバイス（ラッチまたはレジスタなど）とセンスアンプとを備えることが提案される。センスアンプによって不揮発性記憶素子から読み出されたデータは、一時記憶デバイスに転送され、その後ページレジスタに転送される。不揮発性記憶素子にプログラムされるデータは、ページレジスタから一時記憶デバイスに転送される。なお、ページレジスタは論理ページ分のデータを格納する。論理ページとは、プログラミングの１単位のことである。他の態様のページレジスタまたは異なる記憶デバイスを使用することもできる。
【００２２】
図１は、本明細書で開示される技術を実行可能なメモリシステム１００の一例を示すブロック図である。メモリシステム１００は、メモリセルが２次元又は３次元のアレイとなったメモリアレイ１０２を含む。１つの実施形態では、メモリアレイ１０２は、モノシリックの３次元メモリアレイである。メモリアレイ１０２のアレイ端子線は行として整理されたワード線の様々な層と、列として整理されたビット線の様々な層とを有する。しかしながら、他の配向も可能である。
【００２３】
メモリシステム１００は、出力１０８がメモリアレイ１０２の各々のワード線に接続される行制御回路１２０を含む。本明細書において、接続は、直接的な接続、または（例えば１つまたは複数の他の部品を介した）間接的な接続であってもよい。行制御回路１２０は、Ｍ個の行アドレス信号の集合と１つ以上の様々な制御信号をシステム制御ロジック１３０から受信している。行制御回路１２０は、典型的には、読取り及びプログラミング動作の双方のために、行デコーダ１２２、アレイドライバ１２４及びブロック選択回路１２６などの回路を含んでもよい。
【００２４】
メモリシステム１００はまた、入力／出力１０６がメモリアレイ１０２の各々のビット線に接続される列制御回路１１０を含む。列制御回路１１０は、Ｎ個の列アドレス信号の集合と１つ以上の様々な制御信号をシステム制御ロジック１３０から受信している。列制御回路１１０は、列デコーダ１１２、ドライバ回路１１４、ブロック選択回路１１６、及びセンスアンプ１１８およびページレジスタ１２０を含む。一実施形態では、センスアンプ１１８は、信号をビット線に供給するとともに、ビット線上の信号を検出する。ここでは、当該技術分野で周知の、様々なセンスアンプを用いることができる。
【００２５】
システム制御ロジック１３０は、データ及び命令をコントローラ１３４から受信し、アウトプットデータとステータスをコントローラ１３４に供給する。コントローラ１３４はホスト（例えばカメラ、コンピュータ、携帯電話等）と通信する。システム制御ロジック１３０は、ステートマシン、レジスタ、および、メモリシステム１００の操作を制御する他の制御論理回路を、１つまたは複数備えていてもよい。他の実施形態では、システム制御ロジック１３０がコントローラの機能を備えるため、システム制御ロジック１３０がデータおよびコマンドをホストから直接に受信するとともに、ホストに出力データを供給する。
【００２６】
１つの実施形態では、システム制御ロジック１３０、列制御回路１１０、行制御回路１２０およびメモリアレイ１０２は、同一の集積回路に形成される。例えば、システム制御ロジック１３０、列制御回路１１０及び行制御回路１２０は基板の表面に形成され、メモリアレイ１０２はその基板の上方（即ち、システム制御ロジック１３０、列制御回路１１０及び行制御回路１２０の少なくとも一部の上方）に形成されるモノシリックの３次元メモリアレイである。ある例では、制御回路の一部を、あるメモリアレイと同じ層に形成することができる。図１のような好適な実施形態についての更なる情報は、その全体を参照することにより本明細書に組み込まれる、下記の米国特許に見出すことができる。米国特許第６，８７９，５０５号、米国特許第７，２８６，４３９号、米国特許第６，８５６，５７２号、および米国特許第７，３５９，２７９号。コントローラ１３４は、図１に記載された他の構成要素と同一基板上または異なる基板上に存在することができる。コントローラ１３４、システム制御ロジック１３０、列制御回路１１０、および行制御回路１２０、これら単独または任意の組合せは、１つまたは複数の制御回路とみなすことができる。
【００２７】
メモリアレイ１０２は複数のメモリセルを備える。一実施形態では、各メモリセルは、ステアリング素子（例えばダイオード）および抵抗素子を備える。一実地態様例では、メモリセルは、１回書き込みおよび複数回読み出しが可能な態様とすることができる。メモリセルの一例は、上部および下部導体の交差点に形成された層状の支柱を備える。一実施形態では、支柱は、アンチヒューズ層のような状態変化素子と直列に接続された、ダイオードのようなステアリング素子を備える。アンチヒューズ層が損傷していない場合には、セルは電気的に開回路である。アンチヒューズ層が破壊されている場合には、セルは、破壊されたアンチヒューズ層の抵抗と直列に接続された電気的なダイオードである。メモリセルの例は、米国特許６，０３４，８８２号、米国特許６，５２５，９５３号、米国特許６，９５２，０４３号、米国特許６，４２０，２１５号、米国特許６，９５１，７８０号、および米国特許７，０８１，３７７号、に見出すことができる。
【００２８】
他の実施形態では、メモリセルは書換可能である。例えば、その全体を参照することにより本明細書に組み込まれる、米国特許出願公開第２００６／０２５０８３６号は、可逆的抵抗スイッチング素子と直列に接続されるダイオードを備える、書換可能な不揮発性記憶素子について記述する。可逆的抵抗スイッチング素子は、２つまたはそれ以上の状態の間で可逆的に切り替わる抵抗率を有する、可逆的抵抗スイッチング材料を含む。例えば、可逆的抵抗性スイッチング材料は、製造時には初期高抵抗率状態であってもよく、この状態は、第１の電圧および／または電流を印加すると低抵抗率状態にスイッチング可能である。第２の電圧および／または電流を印加すると、可逆的抵抗率スイッチング材料は高抵抗率状態に戻ってもよい。あるいは、可逆的抵抗スイッチング素子は、製造時には初期低抵抗率状態であってもよく、この状態は、（単数または複数の）適切な電圧および／または（単数または複数の）電流を印加すると高抵抗率状態に可逆的にスイッチング可能である。１つの抵抗状態は、２進の「０」を表し、別の抵抗状態は２進の「１」を表してもよい。メモリセルが２ビット以上のデータを記憶するために、２以上のデータ／抵抗状態が使用されても良い。一実施形態では、高抵抗状態から低抵抗状態へ抵抗を切り替える処理を、セット処理と呼ぶ。低抵抗状態から高抵抗状態へ抵抗を切り替える処理を、リセット処理と呼ぶ。高抵抗状態は２進データの「０」に関連し、低抵抗状態は２進データの「１」に関連する。他の実施形態では、セットおよびリセット、および／またはデータ符号化は、逆にすることができる。一部の実施形態では、抵抗性スイッチング素子がセットされる最初の１回は、通常の電圧よりも高い電圧を必要とし、フォーミング処理と呼ばれる。
【００２９】
図２に、メモリセル１５０に関する１つの実施形態の概略斜視図を示す。メモリセル１５０は、第１導電体１６６と第２導電体１６８の間に位置して、直列に接続された、可逆的抵抗スイッチング素子１６２、ステアリング素子１６４およびバリア１６５を備える。
【００３０】
可逆的抵抗スイッチング素子１６２は、２以上の状態を可逆的にスイッチングすることが可能な抵抗率を有する可逆的抵抗性スイッチング材料１７０を備える。一部の実施形態では、可逆的抵抗スイッチング材料１７０は、金属酸化物から形成されてもよい。様々な異なる金属酸化物を用いることができる。一例では、酸化ニッケルが用いられる。
【００３１】
少なくとも１つの実施形態では、選択的蒸着方法の利用において、酸化ニッケル層がエッチングされることなく、酸化ニッケル層が可逆的抵抗スイッチング材料に用いられる。例えば、可逆的抵抗スイッチング素子は、電気めっき、無電解析出等の蒸着プロセスを採用して形成されてもよい。これにより、基板上に形成される導電体表面に対して選択的にニッケル含有層を蒸着させる。この方法により、（ニッケル含有層の蒸着に先立って）基板上の導電体表面のみがパターニング及び／又はエッチングされればよく、ニッケル含有層はパターニング及び／又はエッチングされる必要がない。
【００３２】
少なくとも１つの実施形態では、可逆的抵抗スイッチング材料１７０は、ニッケルを選択的に付着させ、次いでニッケル層を酸化することによって形成される酸化ニッケル層の少なくとも一部を含む。例えば、Ｎｉ、ＮｉXＰY又はニッケルの別の類似の形態が、無電解析出、電気メッキまたは類似の選択プロセスを使用して選択的に蒸着され、次いで（例えば、急速熱酸化または他の酸化プロセスを使用して）酸化されて酸化ニッケルを形成してもよい。他の実施形態では、酸化ニッケル自体が選択的に蒸着されてもよい。例えば、ＮｉＯ、ＮｉＯX又はＮｉXＰY含有層が、選択付着プロセスを使用してステアリング素子の上に選択的に蒸着され、次いで（必要に応じて）アニールおよび／または酸化されてもよい。
【００３３】
メモリセルに使用するための可逆的抵抗性スイッチング材料を形成するために、必要に応じて、他の材料が選択的に蒸着され、次いでアニールおよび／または酸化されてもよい。例えば、Ｎｂ、Ｔａ、Ｖ、Ａｌ、Ｔｉ、Ｃｏ、コバルト−ニッケル合金などの材料が電気メッキ等によって選択的に蒸着され、次に酸化されて、可逆的抵抗スイッチング材料が形成されてもよい。
【００３４】
他の可変抵抗材料は、Ｖ、Ｃｏ、Ｎｉ、Ｐｄ、ＦｅまたはＭｎがドープされたアモルファスシリコンであり、例としてRoseらによる米国特許第５，５４１，８６９号にさらに十分に説明されている。他の類の材料が、Ignatievらによって米国特許第６，４７３，３３２号で示唆されている。これらは、Ｐｒ1-XＣａXＭｎＯ3（ＰＣＭＯ）、Ｌａ1-XＣａXＭｎＯ3（ＬＣＭＯ）、ＬａＳｒＭｎＯ3（ＬＳＭＯ）、またはＧｄＢａＣｏXＯY（ＧＢＣＯ）などの、ペロブスカイト（perovskite）材料である。この可変抵抗材料に対する他の選択肢は、例えばJacobsonらによって米国特許第６，０７２，７１６号に示唆されているように、プラスチックポリマーに混入されるカーボンブラック粒子またはグラファイトを備えるカーボンポリマーフィルムである。他の例は、カーボンナノチューブを可逆的抵抗スイッチング材料として用いることである。
【００３５】
他の材料が、Campbellらによる米国特許出願第２００３／００４５０５４号、およびCampbellによる米国特許出願第２００３／００４７７６５号に示唆されている。この材料は、化学式ＡXＢYのカルコゲナイドガラス（chalcogenide glass）にドープされる。ここでＡは、周期表のIIIＡ族（Ｂ、Ａｌ、Ｇａ、Ｉｎ、Ｔｉ）、IVＡ族（Ｃ、Ｓｉ、Ｇｅ、Ｓｎ、Ｐｂ)、VＡ族（Ｎ、Ｐ、Ａｓ、Ｓｂ、Ｂｉ）またはVIIＡ族（Ｆ、Ｃｌ、Ｂｒ、Ｉ、Ａｔ）の少なくとも１つの元素を含む。またＢは、Ｓ、Ｓｅ、Ｔｅおよびこれらの混合物の中から選択される。ドーパントは、Ａｇ、Ａｕ、Ｐｔ、Ｃｕ、Ｃｄ、Ｉｒ、Ｒｕ、Ｃｏ、Ｃｒ、ＭｎまたはＮｉを含む、貴金属および遷移金属の中から選択される。このカルコゲナイドガラス（非晶質カルコゲナイド、結晶状態ではない）は、可動金属イオンの貯蔵部に隣接するメモリセル内に形成される。他の固体電解質材料を、カルコゲナイドガラスに代えて用いることができる。
【００３６】
他の可変抵抗材料は、アモルファスカーボン、グラファイトおよびカーボンナノチューブを含む。他の材料も、本明細書で述べる技術に用いることができる。
【００３７】
可逆的抵抗スイッチング材料を用いたメモリセルの形成についての更なる情報は、その全体を参照することにより本明細書に組み込まれる、「Memory Cell That Employs A Selectively Deposited Reversible Resistance Switching Element and Methods of Forming The Same,」と題した、米国特許出願公開第２００９／０００１３４３号に見出すことができる。更なる情報は、その全体を参照することにより本明細書に組み込まれる、２００８年１２月１９日出願の、「Reverse Set With Current Limit for Non-Volatile Storage,」と題した、米国特許出願第１２／３３９，３１３号に見出すことができる。
【００３８】
可逆的抵抗スイッチング素子１６２は、電極１７２、１７４を有する。電極１７２は、可逆的抵抗性スイッチング材料１７０と導体１６８の間に位置している。１つの実施形態では、電極１７２はプラチナを用いて形成されている。電極１７４は、可逆的抵抗性スイッチング材料１７０とステアリング素子１６４の間に位置している。１つの実施形態では、電極１７４は窒化チタンを用いて形成されており、バリア層として機能する。
【００３９】
ステアリング素子１６４は、ダイオードであってもよく、あるいは、可逆的抵抗スイッチング素子１６２に印加される電圧及び／又は電流を選択的に制限することによって非オーミック接触を示す適切な他のステアリング素子であってもよい。このような態様において、メモリセル１５０は、２次元又は３次元のメモリアレイの一部として利用してもよい。さらに、データは、アレイ内の他のメモリセルの状態に影響を及ぼすことなくメモリセル１５０に書き込んだりメモリセル１５０から読み出されたりしてもよい。ステアリング素子１６４は、ダイオードのｐ領域の上にｎ領域を有して上を向くか、ダイオードのｎ領域の上にｐ領域を有して下を向くかによらず、縦型の多結晶ｐ−ｎまたはｐ−ｉ−ｎダイオードなどの何らかの適切なダイオードを含んでもよい。
【００４０】
ある実施形態では、ステアリング素子１６４は、ポリシリコン、多結晶シリコン−ゲルマニウム合金、ポリゲルマニウム、又は他の何らかの適切な材料などの多結晶半導体材料から形成されたダイオードであってもよい。例えば、ステアリング素子１６４は、高濃度にドープされたｎ+ポリシリコン領域１８２と、ｎ+ポリシリコン領域１８２の上の低濃度にドープされた又は真性（自然にドープされた）ポリシリコン領域１８０と、真性領域１８０の上の高濃度にドープされたｐ+ポリシリコン領域１８６とを含んだダイオードであってもよい。ある実施形態では、例えば、あらゆる点でその全体が本願明細書において参照により援用されている、２００５年１２月９日に出願された「DEPOSITED SEMICONDUCTOR STRUCTURE TO MINIMIZE N-TYPE DOPANT DIFFUSION AND METHOD OF MAKING」と題する米国特許公開第２００６／００８７００５号で説明されるように、シリコン−ゲルマニウム合金層を使用する場合、約１０％以上のゲルマニウムを有する薄い（例えば、数百オングストローム以下の）ゲルマニウムおよび／またはシリコン−ゲルマニウム合金層（図示せず）をｎ+ポリシリコン領域１８２上に形成し、ｎ+ポリシリコン領域１８２から真性領域１８０内へのドーパントの移動を防止および／または低減することもできる。当然ながら、ｎ+およびｐ+領域の位置は逆であってもよい。ステアリング素子１６４が、（例えば、非晶質または多結晶の）堆積シリコンから形成される場合、一実施形態では、ダイオード上にシリサイド層を形成して、堆積シリコンを製造時の低抵抗率状態に置いてもよい。
【００４１】
その全体が本願明細書において参照により援用されている「Memory Cell Comprising a Semiconductor Junction Diode Crystallized Adjacent to a Silicide 」と題する米国特許第７，１７６，０６４号に記載されるように、チタン及び／又はコバルトなどのシリサイド形成材料は、アニール中に付着シリコンと反応してシリサイド層を形成する。チタンシリサイド及びコバルトシリサイドの格子間隔は、シリコンの格子間隔に近く、このようなシリサイド層は、付着シリコンが結晶化する場合、隣接する付着シリコンの「結晶化テンプレート」または「シード」として働くこともできる（例えば、シリサイド層は、アニール中にシリコンダイオードの結晶構造を強化する）。これによって、低抵抗率シリコンが提供される。シリコン−ゲルマニウム合金及び／又はゲルマニウムダイオードについても、同様な結果を得ることもできる。
【００４２】
導体１６６、１６８は、タングステン、何らかの適切な金属、高濃度にドープされた半導体材料、導電性シリサイド、導電性シリサイド−ゲルマニド、導電性ゲルマニドなどの何らかの適切な導電性材料を含んでもよい。図２の実施形態では、導体１６６、１６８はレール状であり、（例えば、実質的に互いに直交する等の）異なる方向に伸びる。他の導体形状及び／又は構造が使用されてもよい。ある実施形態では、導体１６６、１６８とともに、バリア層、接着層、反射防止コーティングおよび／またはその類似物（図示せず）が使用され、デバイス性能を改善し、及び／又はデバイスの製造に役立てることもできる。
【００４３】
図２では可逆的抵抗スイッチング素子１６２がステアリング素子１６４上に配置されているが、当然ながら、他の実施形態では可逆的抵抗スイッチング素子１６２がステアリング素子１６４の下に位置してもよい。
【００４４】
図２はメモリセルの一例を示しているが、ここで開示された技術に対して、メモリセルの１の特定の型または構造は要求されない。多くの異なるタイプのメモリセルを用いることができる。
【００４５】
図３は、酸化金属可逆的抵抗スイッチング素子の１つの実施形態における電圧・電流を示す図である。ライン２５０は、可逆的抵抗スイッチング素子が高抵抗率のときのＩ−Ｖ特性を示す。ライン２５２は、可逆的抵抗スイッチング素子が低抵抗率のときのＩ−Ｖ特性を示す。可逆的抵抗スイッチング素子がどちらの状態にあるかを決定するために、電圧が印加され、その結果の電流が測定される。高い測定電流（ライン２５２参照）は、可逆的抵抗スイッチング素子が低抵抗率状態であることを示す。低い測定電流（ライン２５０）は、可逆的抵抗スイッチング素子が高抵抗率状態であることを示す。なお、異なるＩ−Ｖ特性を有する可逆的抵抗スイッチング素子の他の態様も、本明細書で開示される技術に適用可能であることに留意されたい。
【００４６】
高抵抗状態（ライン２５０参照）の間は、電圧Ｖｓｅｔおよび十分な電流がメモリセルに印加されている場合には、可逆的抵抗スイッチング素子は低抵抗状態にセットされる。ライン２５４はＶＳＥＴが印加されたときの挙動を示している。電圧はある程度一定に維持され、電流はＩｓｅｔ＿ｌｉｍｉｔの方へ増加する。ある時点で、可逆的抵抗スイッチング素子がセットされ、素子の挙動がライン２５２に基づくようになる。可逆的抵抗スイッチング素子がセットされた初回は、デバイスをセットするためにＶｆ（形成電圧）が必要とされることに留意されたい。その後、ＶＳＥＴが使用可能とされる。形成電圧Ｖｆは、ＶＳＥＴより大きくてもよい。
【００４７】
低抵抗状態（ライン２５２参照）の間は、電圧ＶＲＥＳＥＴおよび十分な電流（Ｉｒｅｓｅｔ）がメモリセルに印加される場合には、可逆的抵抗スイッチング素子は高抵抗状態へリセットされる。ライン２５６は、ＶＲＥＳＥＴが印加された場合の挙動を示している。ある時点で、可逆的抵抗スイッチング素子はリセットされ、装置の挙動はライン２５０に基づくようになる。
【００４８】
一実施形態では、Ｖｓｅｔは約５ボルトであり、Ｖｒｅｓｅｔは約３ボルトであり、Ｉｓｅｔ#ｌｉｍｉｔは約５マイクロアンペアであり、Ｉｒｅｓｅｔの電流は３０マイクロアンペアまで上昇しうる。一実施形態では、ＶｓｅｔはＶｒｅｓｅｔよりも低くすることができる。また、形成処理が必要とされず、および／または、セットまたはリセットに必要な時間を異ならせることができる。
【００４９】
可逆的抵抗スイッチング材料の抵抗をセットおよびリセットするためのプログラミング処理は、当技術分野で知られている。可逆的抵抗スイッチング材料の抵抗をセットおよびリセットするための回路の多様な実装形態が知られており、本明細書で述べられている技術に使用することが可能である。セットおよびリセットの例は、その全体を参照することにより本明細書に組み込まれる、２００８年１２月１９日出願の「Reverse Set With Current Limit for Non-Volatile Storage,」と題した米国特許出願第１２／３３９，３１３号、その全体を参照することにより本明細書に組み込まれる米国特許出願第２００７／００７２３６０号、および、その全体を参照することにより本明細書に組み込まれる米国特許出願第２００７／０００８７８５号、に見出すことができる。
【００５０】
幾つかの実施形態では、セットおよびリセット処理に、セット処理が成功したか否かを確認するための検証処理が続くとすることができる。セット処理が成功していない場合には、プログラミング処理を再試行することができる。一実施態様例では、検証処理は読取り処理である。従って、システム制御ロジック１３０は、最初に１つまたは複数のメモリセルにプログラム（セットまたはリセット）させ、その後、プログラムされた全てのメモリセルを読み取る。読み取られたデータがプログラムされたデータと一致する場合には、処理が完了する。（多くの場合、プログラミングが成功しないことにより、）読み取られたデータのいくつかがプログラムされたデータと一致しない場合には、プログラミングが繰り返される。いくつかのケースでは、データは、一度に論理ページにプログラムされ、検証処理がプログラム処理が成功してない場合に、ページ全体が、再プログラムされる。
【００５１】
メモリアレイ１０２は、多くのメモリセルを備えている。図４Ａは、第２のメモリレベル２２０の下に配置される第１のメモリレベル２１８を含むモノリシックな３次元アレイ１０２の一部の略斜視図である。図４Ａの実施形態では、各メモリレベル２１８、２２０は、クロスポイントアレイ内に複数のメモリセル２００を含む。当然ながら、第１のメモリレベル２１８と第２のメモリレベル２２０との間、上方または下方に、追加の層（例えば、中間誘電体）が存在してもよいが、簡単にするために図４Ａでは示されない。他のメモリアレイ構造が、メモリの追加レベルとして使用されてもよい。図４Ａの実施形態では、すべてのダイオードは、ｐ型領域をダイオードの上部または下部のどちらに有するｐ−ｉ−ｎダイオードが使用されるかによって、上向きまたは下向きなどの同じ方向に「向く」ことで、ダイオードの製造を簡略化することもできる。メモリセル２００は、メモリセル１５０と同じであってもよいし、異なっていてもよい。
【００５２】
図４Ｂは、第２のメモリレベル２２１の下に配置される第１のメモリレベル２１９を含む、第２の実施形態のモノリシックな３次元アレイ１０２の一部の略斜視図である。図４Ｂのメモリアレイは、複数のメモリセル２００を備えている。第１のメモリレベル２１９に関して、メモリセル２００は、ビット線２０７の集合とワード線２０９の集合の間に存在し、ビット線２０７の集合およびワード線２０９の集合に接続される。第２のメモリレベル２２１に関して、メモリセル２００は、ビット線２１０の集合とワード線２０９の集合の間に存在し、ビット線２１０の集合およびワード線２０９の集合に接続される。図４Ｂに示すように、第１のメモリレベルの上部導体は、第１のメモリレベルの上方に位置する第２のメモリレベルの下部導体として、用いることができる。さらなる情報は、その全体が本願明細書において参照により援用されている、「High-Density Three-Dimensional Memory Cell,」と題する米国特許第６，９５２，０３０号に記載されている。
【００５３】
図４Ｂの実施形態では、あらゆる点でその全体が本願明細書において参照により援用されている、２００７年３月２７日に出願された「Method to Form Upward Pointing P-I-N Diodes Having Large And Uniform Current」と題する米国特許出願公開公報２００７０１９０７２２号で説明されるように、隣接するメモリレベル上のダイオード（または他のステアリング装置）は、反対方向に向くのが好ましい。例えば、第１のメモリレベル２１９のダイオードは、（例えば、ダイオードの下部にｐ領域を有して）矢印Ａ1で示されるように上向きダイオードであってもよく、第２のメモリレベル２２１のダイオードは、（例えば、ダイオードの下部にｎ領域を有して）矢印Ａ2で示されるように下向きダイオードであってもよく、あるいはその逆であってもよい。
【００５４】
モノリシックな３次元メモリアレイは、複数のメモリレベルが、中間基板を用いないでウェハなどの単一の基板上に形成されるアレイである。１つのメモリレベルを形成する層は、既存のレベル（単数または複数）の層の上に直接付着または成長される。これに対して、積層メモリは、Leedyによる「Three dimensional structure memory」と題する米国特許第５，９１５，１６７号の場合のように、別々の基板上にメモリレベルを形成し、そのメモリレベルを互いに重ねて接着することによって構築されている。基板は、ボンディングの前に薄くされても、あるいはメモリレベルから取り除かれてもよいが、メモリレベルが個別の基板上に最初に形成されるので、このようなメモリは、本当のモノリシックな３次元メモリアレイではない。
【００５５】
上記のとおり、図４Ａおよび４Ｂは、モノリシック３次元メモリアレイの一部分を示す。確認できるとおり、ビット線は第１の方向に配置され、ワード線はビット線に対して垂直な第２の方向に配置されている。メモリセルの追加層を有するメモリアレイには、ビット線およびワード線の追加層がある。サポート回路（列制御回路１１０、行制御回路１２０およびシステム制御ロジック１３０など）が基板の表面上に配置されており、サポート回路の少なくとも一部分の上方にメモリアレイが製造されている。集積回路の様々な層を表す図５は、基板の上方に位置付けられたメモリアレイ１０２を示す。メモリアレイは、ビット線層ＢＬとワード線層ＷＬとを含む。図５は、３つのビット線層ＢＬと２つのワード線層ＷＬを示しているだけだが、他の実施形態では、さらなるビット線層およびワード線層が実装されうる。また、半導体メモリシステムを実装している集積回路も、サポート回路の各種構成要素どうしの間、サポート回路とビット線およびワード線との間で信号を回送する目的で使用される複数の金属層を含む。これらの金属層は、基板の表面上で実装されるサポート回路の上方とメモリアレイの下とに配置される。図５は、回送目的で使用される２つの金属層Ｒ１およびＲ２を示すが、他の実施形態では、金属層は、２つよりも多くても少なくてもよい。一実施例では、これらの金属層Ｒ１およびＲ２がタングステン（約１．５平方オーム）で形成され、比較的高い抵抗と高い静電容量との両方を有する。
【００５６】
メモリシステムの各種構成要素間で信号を回送する目的で使用される１つまたは複数の金属層をメモリアレイの上方に位置付けてもよい。図５はメモリアレイの上方に位置付けられたこのような金属層を示し、最上位金属層と称される。一実施例では、最上位金属層がアルミニウムまたは銅（約０．０５平方オーム）で形成され、この層は、層Ｒ１およびＲ２よりも小さい抵抗および静電容量を有する。金属層Ｒ１およびＲ２は、Ｒ１およびＲ２で使用する金属がＲ１およびＲ２の上にあるメモリアレイを製造するための加工ステップに耐える必要があることから、最上位金属に使用されるものと同じ材料を使用して実装されない。
【００５７】
隣接する金属層間を結合するためにビアを加えてもよい。隣接しない層間を結合するためにジアを加えてもよい。ジアとは、複数層のビアのことであり、２つ以上の層を結合することができる（この場合、ジアは階段のように見える）。
【００５８】
図６は、メモリシステム１００を実装する目的で使用される基板３００の上面図である。図６は、基板３００を見下ろす上面図を示す。一実施形態では、メモリ１０２のサポート回路が、基板３００の最上面に製造される。モノリシック３次元メモリアレイ１０２は、基板３００の表面の上方およびサポート回路の一部分の上方に配置される。そのため、サポート回路の一部はメモリアレイ１０２の下に配置され、サポート回路３０２の一部は、モノリシック３次元メモリアレイ１０２の下方ではない領域にある基板３００に配置される。メモリアレイ１０２の下にあるサポート回路は、メモリアレイ１０２によって塞がれるため、図６では見えない。なお、「上方」および「下方」という用語の使用は、基板に対して使用される相対的な用語である。したがって、「上方」という用語は、基板の表面に対して上方という意味で使用しており、基板の向きに対して上方ということではないので、基板を横に回転させても、メモリアレイ１０２が依然として基板の上方にあるという事実は変わらない。サポート回路は、列制御回路１１０と、行制御回路１２０と、システム制御ロジック１３０とを含む。なお、図５は、金属層Ｒ１およびＲ２が、メモリアレイ１０２より広く、基板の表面上にあり、メモリアレイ１０２の下方にないサポート回路を収容することを示している。
【００５９】
メモリアレイ１０２は複数のベイに下位分割されており、各ベイは（任意で）いくつかのブロックに分割することができる。ベイの数は、多様な実装形態で異なりうる。一実施形態では、１つのベイに１６個のブロックがある。ただし、他の実施形態では、異なる数のブロックを使用してもよい。
【００６０】
ブロックとは、一般にデコーダ、ドライバ、センスアンプ、および入力／出力用回路によって遮断されない連続的なワード線およびビット線を有するメモリセルの連続的な群のことである。このようになっている理由は様々である。たとえば、抵抗とワード線およびビット線の静電容量とによって生じる、これらの線を流れる信号の遅延（すなわち、ＲＣ遅延）が、大型アレイでは非常に大きくなりうる。このＲＣ遅延は、大型アレイを小型サブアレイの群に下位分割して各ワード線および／または各ビット線を短くすることによって減じうる。別の実施例として、一群のメモリセルへのアクセスに関わる電力により、所与のメモリサイクル実行中に同時にアクセスされうるメモリセルの数に上限を定めてもよい。その結果、大型メモリアレイは、同時にアクセスされるメモリセルの数を減らすために、小さなサブアレイに頻繁に下位分割される。集積回路は、１つまたはそれ以上のメモリアレイを含んでもよい。
【００６１】
一実施形態では、メモリアレイ１０２が複数のストライプ（たとえば１６本のストライプ）状に配置される。ストライプとは、アレイの一端から他端に至るメモリ素子のブロックの線形群のことである。１本のストライプは、１つのベイ、１つより多くのベイまたは１つ未満のベイを有しうる。一実施形態では、１つのベイが２本のストライプを含み、各ストライプが３２個のブロックを含む。したがって、１つのベイが６４個のブロックを含む。図７は、基板３００の上方に配置されており、Ｍ本のストライプを含むメモリアレイ１０２の構成の一例を表すブロック図である。
【００６２】
図８は、ストライプの一例を示す。確認できるとおり、ブロックは一端から他端まで配置されているだけである。図８は、Ｎ個のブロックを有するストライプを示す。１本のストライプにおける正確なブロック数は、特定の実装態様に依存しており、本明細書に記載されている技術で必須とされるストライプ内の特定のブロック数はない。
【００６３】
図６に戻ると、メモリアレイ１０２のサポート回路は、列制御回路１１０と、行制御回路１２０と、システム制御ロジック１３０とを含みうる。一実施形態では、コントローラ１３４が分離基板に実装されている。ただし、他の実施形態では、コントローラ１３４をメモリアレイと同じ基板に実装することができる。図６に関して上記のとおり、サポート回路の一部は、メモリアレイ１０２下の基板３００の表面に製造され、サポート回路の他の部分は、メモリアレイ１０２の外側にある基板３００の表面に実装される。図９は、メモリアレイ１０２の下方および外側に実装されるサポート回路の一例を示すブロック図である。たとえば、図９は、モノリシック３次元メモリアレイ１０２の下方でない領域にある基板３００の表面に配置されているサポート回路３０２を示す。図９は、メモリアレイ１０２の下方にある基板３００の表面に配置されているサポート回路３０４を示す。いくつかの実施形態では、サポート回路のいくつかの部分を、３次元メモリアレイ１０２の様々なレベルで実装することもできる。
【００６４】
図９のサポート回路３０２は、（少なくとも、）ページレジスタ１２０およびステートマシン３０６（システム制御ロジック１３０の一部）を含む。サポート回路の他の部分がサポート回路３０２に含まれていてもよい。一実施形態では、１論理ページ分のデータが、プログラミングで使用されるデータの最小単位である。このように、メモリは複数組のページ単位でプログラムされ、読み出される。ページレジスタ１０２は、読み書き用の論理ページ分のデータを格納できるレジスタを含む。ページは、複数のブロックにまたがって実装されるのが典型的である。一実施形態では、ページが、２０４８バイトのデータと１２８バイトのヘッダ情報（たとえばＥＣＣを含む）との計２１７６バイトを含む。ページレジスタ１２０は、書込み前にデータを操作（データ符号化など）するため、および書込み処理後に読み出されたデータがこれから書き込まれるデータに一致するかどうかを検証する（検証動作など）ための論理回路も備える。ページレジスタは、ホストおよびメモリアレイに対する中間記憶デバイスとして機能する。
【００６５】
ステートシステム制御ロジック１３０（図１を参照）は、ステートマシン３０６と、各種電圧を提供するための回路と、他の制御回路とを含む。ステートマシン３０６は、データの読み書きを制御する目的で使用される。図９は、ページレジスタ１２０と通信するステートマシン３０６を示す。
【００６６】
メモリアレイ１０２の下方にある基板３００の表面に実装された制御回路３０４は、各種メモリストライプに対応する複数組の回路に分割される。そのため、各メモリストライプは、自らの下に、そのメモリストライプに対するサポートを提供する１組の回路を有する。たとえば、メモリストライプ０に対するサポートは、メモリストライプ０用のサポート回路を含む。なお、メモリストライプは、モノリシック３次元メモリアレイ内に複数のレベルを有する。メモリアレイ１０２のメモリストライプ０の下にはメモリストライプ０に対するサポートがあり、メモリストライプ１の下にはメモリストライプ１に対するサポートがあり、メモリストライプ２の下にはメモリストライプ２に対するサポートがあり、・・・メモリストライプＭ−１の下にはメモリストライプＭ−１に対するサポートがある。ステートマシン３０６は、メモリストライプ０に対するサポート、メモリストライプ１に対するサポート、メモリストライプ２に対するサポート、およびメモリストライプＭ−１に対するサポートと通信する。ページレジスタ１０２も、メモリストライプ０に対するサポート、メモリストライプ１に対するサポート、メモリストライプ２に対するサポート、・・・メモリストライプＭ−１に対するサポートのために通信する。
【００６７】
図１０は、ページレジスタ１２０のブロック図である。一実施形態において、ページレジスタ１２０は制御ロジック３４０を備えており、制御ロジック３４０は、ページレジスタ１２０を制御する目的で使用される回路（デジタルおよび／またはアナログ回路）を備えうる。制御ロジック３４０は、シャドウレジスタ（ＳＲ）３４２、データレジスタ（ＤＲ）３４４、およびエラーレジスタ（ＥＲ）３４６と通信する。制御ロジック３４０は、システム制御ロジック１３０（ステートマシン３０６を含む）に加え、各種サポート回路３０４とも通信する。シャドウレジスタ３４２は、データを受け取り、データをシステム制御ロジック１３０に提供する。他の実施形態では、シャドウレジスタ３４２との間で受け渡しされるデータを、コントローラ１３４との間で受け渡したり、ホストに直接提供したりすることができる。データレジスタ３４４は、サポート回路３０４からデータを受け取り、サポート回路３０４にデータを提供する。一実施形態では、シャドウレジスタ３４２、データレジスタ３４４およびエラーレジスタ３４６が、１ページ分のデータと同じサイズである。したがって、その１ページ分のデータが２０４８バイトのデータと１２８バイトのヘッダとを含む場合、シャドウレジスタ３４２、データレジスタ３４４およびエラーレジスタ３４６は、２１７６バイトを格納することができる。
【００６８】
ページレジスタ１２０によって受け取られたデータは、シャドウレジスタ３４２に入力される。制御ロジック３４０は、そのデータを処理して、各種データ符号化の実行、ＥＣＣ（誤り訂正コード）の追加、あるいは他の機能を実行しうる。その後このデータは、シャドウレジスタ３４２からデータレジスタ３４４へと転送される。なお、本明細書において、「転送」という用語は、転送元から転送先にコピーを提供することを含み、転送元にコピーを残すこと、あるいは転送元からコピーを削除することを含みうる。このデータは、メモリアレイ１０２へのプログラミングのために、データレジスタ３４４から、該当するメモリストライプのサポート回路３０４へと転送することができる。メモリアレイ１０２から読み出されたデータは、該当するメモリストライプの該当するサポート回路３０４からデータレジスタ３４４へと提供される。その後データレジスタ３４４内のデータは、様々な復号、ＥＣＣおよび検証処理を実行できるシャドウレジスタ３４２へと転送することができる。最終データは、シャドウレジスタ３４２からシステム制御ロジック１３０、コントローラ１３４、および／またはホストへと転送される。制御ロジック３４０は、ＥＣＣエラーの判断（いくつかの実施形態において）、書き込み検証エラーの判断、および／または他の機能を含む各種機能のうちのいずれか１つを実行するためにエラーレジスタ３４６を使用する。ＥＣＣは、コントローラで判断することもできる。
【００６９】
図１１は、１本のメモリストライプのページレジスタ１２０およびサポート回路４２０を示すブロック図である。サポート回路４２０は、回路３０４のサブセットである。たとえば、サポート回路は、図９に示すメモリストライプ０に対するサポート、メモリストライプ１に対するサポート、メモリストライプ２に対するサポート、・・・メモリストライプＭ−１に対するサポートのうちのいずれか１つを表しうる。一実施形態では、メモリストライプのサポート回路がサポート回路の群に分割され、各ブロックが自らの群を含む。たとえば、図１１は、３２個の回路群を示しており、各群がそれらのブロック（ブロック０、・・・ブロック３１）のうちの１つと関連付けられている。たとえば、サポート回路群４００は、ブロック０と関連付けられており、ブロック０の下で基板３００の表面に実装される。サポート回路群４０２は、ブロック１５と関連付けられており、ブロック１５の下で基板３００の表面に実装される。サポート回路群４１０は、ブロック１６と関連付けられており、ブロック１６の下で基板３００の表面に実装される。サポート回路群４１２は、ブロック３１と関連付けられており、ブロック３１の下で基板３００の表面に実装される。図１１の構造は３２個のブロックを含んでおり、したがって３２個のサポート回路群を含むが、ページ上のスペースの制約から、図１１には４個のサポート回路群だけが示されている。ただし、示されていない１４個のサポート回路群を示すために、「・・・」が使用される。
【００７０】
図１１は、各サポート回路群（４００・・・４０２、４１０・・・４１２）が１６ビットバスＰＲ＿ＯＵＴ［１５：０］のうちの１ビットに接続されるように、ページレジスタ１２０に接続し、ストライプ全体を通過する双方向データバスＰＲ＿ＯＵＴ［１５：０］を示す。他の実施形態では、このバスが、１６ビットより広い場合も、１６ビットより狭い場合もある。各サポート回路群（４００・・・４０２、４１０・・・４１２）は、バスＰＲ＿ＯＵＴ［１５：０］の１ビットに接続された１組のバッファおよびデコーダを含む。たとえば、ブロック０と関連付けられたサポート回路群４００はＰＲ＿ＯＵＴ［０］に接続され、ブロック１と関連付けられたサポート回路群はＰＲ＿ＯＵＴ［１］に接続され、ブロック２と関連付けられたサポート回路群はＰＲ＿ＯＵＴ［２］に接続され、・・・ブロック１５と関連付けられたサポート回路群４０２はＰＲ＿ＯＵＴ［１５］に接続される。加えて、ブロック１６と関連付けられたサポート回路群４１０はＰＲ＿ＯＵＴ［０］に接続され、ブロック１７と関連付けられたサポート回路群はＰＲ＿ＯＵＴ［１］に接続され、ブロック１８と関連付けられたサポート回路群はＰＲ＿ＯＵＴ［２］に接続され、・・・ブロック３１と関連付けられたサポート回路群４１２はＰＲ＿ＯＵＴ［１５］に接続される。
【００７１】
各サポート回路群（たとえば群４００）も、５個のラッチ１組を含む。ラッチの代わりに、他の記憶デバイス（たとえばフリップフロップ）を使用することもできる。これら５個のラッチは、読出しラッチＲＬと、書込みデータ・シャドウ・ラッチＷＳＬと、書込みデータ・データ・ラッチと、センスアンプ有効化シャドウラッチＳＳＬと、センスアンプ有効化データラッチＳＤＬとを含む。読出しラッチＲＬは、メモリアレイから読み出された読出しデータを格納する目的で使用される。メモリアレイに格納される書込みデータはまず、書込みデータ・シャドウ・ラッチＷＳＬに格納され、次に書込みデータ・データ・ラッチＷＤＬに格納され、その後メモリアレイ１０２に書き込まれる。ページレジスタは、ｓセンスアンプ有効化情報をセンスアンプに送る（後述）。センスアンプ有効化情報はまず、センスアンプ有効化シャドウラッチＳＳＬに格納され、次にシャドウ・データ・ラッチＳＤＬに格納され、その後プログラミング処理の一部としてセンスアンプによって使用される。
【００７２】
上記の機能を達成するために、バッファおよびデコーダは、読出しラッチＲＬからデータを受け取るための読出しラッチＲＬに接続される。バッファおよびデコーダは、書込みデータ・シャドウ・ラッチＷＳＬに書込みデータを提供するために書込みデータ・シャドウ・ラッチＷＳＬに接続され、センスアンプ有効化情報をセンスアンプ有効化シャドウラッチＳＳＬに送るためにセンスアンプ有効化シャドウラッチＳＳＬに接続される。書込みデータ・シャドウ・ラッチＷＳＬは、書込みデータ・データ・ラッチに接続される。センスアンプ有効化シャドウラッチは、センスアンプ有効化データラッチに接続される。書込みデータ・データ・ラッチＷＤＬおよびシャドウ・データ・ラッチＳＤＬが共に接続され、該当するセンスアンプに情報を送る。
【００７３】
センスアンプは、自らの読出し出力を読出しラッチＲＬに送る。サポート回路群４００の一部であり、ブロック０の下に位置するセンスアンプは、ブロック０と関連付けられていることからセンスアンプ０と呼ばれ、サポート回路群４０２の一部であるセンスアンプは、ブロック１５の下にあり、ブロック１５のサポート回路と関連付けられているという理由で、センスアンプ１５などと呼ばれる。サポート回路群（４００・・・４０１、４１０・・・４１２）の各々は、関連付けられたセンスアンプを備える。センスアンプは、ビット線をプログラムするために適切な信号をビット線に印加する目的、およびビット線に接続された関連メモリセルによって格納された読出しデータを判断するために読出し処理中にビット線の状況を検知する目的で使用される。各センスアンプは、メモリ動作が正常に実行されたこと（ＭＥＭ＿ＯＫ）を示す出力によって表される。これらの信号は、１組のＡＮＤゲートによってデイジーチェーンされており、メモリ動作が正常であることをすべてのセンスアンプが出力すれば信号ＰＲ＿ＷＲＴ＿ＯＫがロジック１になるようになっている。この信号はページレジスタ１２０に送られ、正常なメモリ動作を示す。
【００７４】
上記のとおり、データバスＰＲ＿ＯＵＴ［１５：０］は１６ビットのデータバスだが、３２個のサポート回路群および３２個のセンスアンプがある。そのため、複数のセンスアンプ（および関連サポート回路群）がデータバスＰＲ＿ＯＵＴ［１５：０］のビットを共有する必要がある。上記のとおり、ブロック０のサポート回路群４００およびブロック１６のサポート回路群４１０はビットＰＲ＿ＯＵＴ［０］を共有し、ブロック２のサポート回路群およびブロック１７のサポート回路群はビットＰＲ＿ＯＵＴ［０］を共有し、・・・ブロック１５のサポート回路群４０２およびブロック３１のサポート回路群４１２はビットＰＲ＿ＯＵＴ［１５］を共有する。メモリシステムは、信号ＳＭＩ＿ＣＮＴ＿ＡＤＲを使用して、データバス上でビットを共有している２個のブロックのうちどちらがバス上で通信しているかを示す。ＳＭＩ＿ＣＮＴ＿ＡＤＲが０に等しい場合には、ブロック０〜１５がバスＰＲ＿ＯＵＴ［１５：０］で通信している。信号ＳＭＩ＿ＣＮＴ＿ＡＤＲ＝１である場合には、ブロック１６〜３１がデータバスＰＲ＿ＯＵＴ［１５：０］で通信している。なお、使用されるブロックの数は、各種実施形態の各種実施態様によって変わりうる。したがって、３２ブロックより多い場合には、信号ＳＭＩ＿ＣＮＴ＿ＡＤＲが１ビットを超える必要がありうる。たとえば、１本のストライプに６４個のブロックが存在すれば、信号ＳＭＩ＿ＣＮＴ＿ＡＤＲがセンスアンプの４個のサブセットのうちどれがデータバスに接続されるかを示す２ビットを有する。同様に、１本のストライプに２５６個のブロックがある場合には、信号ＳＭＩ＿ＣＮＴ＿ＡＤＲがセンスアンプの１６個のサブセットのうちどれがデータバスに接続されるかを示す４ビット幅を有する必要がある。
【００７５】
図１１は、ステートマシンからストライプのサポート回路４２０に転送された１組の信号を示す。これらの信号は、ＳＭＩ＿ＷＤＸＳＡＥ、ＳＭＩ＿ＴＬ＿ＷＥ、ＳＭＩ＿ＴＬ＿ＲＥ、ＳＭＩ＿ＴＬ＿ＲＸＷ、ＳＭＩ＿ＴＬ＿ＣＰＹ、およびＳＡＥを含む。信号ＳＭＩ＿ＷＤＸＳＡＥは、バスＰＲ＿ＯＵＴ［１５：０］がデータを転送する目的で使用されているか、あるいはセンスアンプ有効化情報を転送する目的で使用されているかを判断する。バスＰＲ＿ＯＵＴ［１５：０］で転送されるプログラムデータは書込みデータ・シャドウ・ラッチＷＳＬ向けであり、バスＰＲ＿ＯＵＴ［１５：０］で通信されるセンスアンプ有効化情報はセンスアンプ有効化シャドウラッチＳＳＬ向けである。書込みデータおよびセンスアンプ有効化情報の両方を転送するのにバス上の同じビットが使用されることから、（ステートマシンからの）信号ＳＭＩ＿ＷＤＸＳＡＥは、バスＰＲ＿ＯＵＴ［１５：０］が現在どの機能のために使用されているかを示す目的で使用される。
【００７６】
信号ＳＭＩ＿ＴＬ＿ＲＸＷは、データバスＰＲ＿ＯＵＴ［１５：０］がサポート回路からページレジスタ１２０に読出しデータを送る目的で使用されているか、あるいはページレジスタ１２０から該当するサポート回路に書込みデータを送る目的で使用されているかを示す目的で使用される。信号ＳＭＩ＿ＴＬ＿ＷＥは、書込みデータ・シャドウ・ラッチＷＳＬのためのラッチ有効化信号として、かつ、特定のストライプの群４００・・・４０１および４１０・・・４１２のすべてを対象とするセンスアンプ有効化シャドウラッチＳＳＬとして使用される。信号ＳＭＩ＿ＴＬ＿ＲＥは、ストライプ全体を対象とする読出しラッチＲＬのためのラッチ有効化信号である。信号ＳＭＩ＿ＴＬ＿ＣＰＹは、書込みデータ・シャドウ・ラッチＷＳＬおよびセンスアンプ有効化データラッチＳＤＬから、書込みデータ・データ・ラッチＷＤＬおよびセンスアンプ有効化データラッチＳＤＬへそれぞれデータをコピーするためのコピー信号である。信号ＳＡＥは、書込みデータ・データ・ラッチからのデータをモノリシック３次元メモリアレイ１０２の該当するメモリセルにプログラムすることを、そのストリップの全センスアンプに示すセンスアンプ有効化信号である。
【００７７】
図１２は、図１〜図１１の構成要素を使用してプログラムする処理の一実施形態を示すフローチャートである。プログラミング処理の他の実施形態を用いて、それらの構成要素を使用してデータをプログラムすることもできる。図１２のステップ５０２では、システムが、データと、そのデータをメモリアレイ１０２にプログラムするためのリクエストとを受け取る。たとえば、ホストがデータをプログラムし、そのデータを提供するためのコマンドをコントローラ１３４に出す。そのデータはまず、ホストによって受け取られ、次にシステム制御ロジック１３０へと転送される。別の実施形態では、システム制御ロジック１３０またはコントローラ１３４が、そのデータがプログラムされる必要があることを判断し、必要に応じてそのデータを提示することができる。たとえば、コントローラ１３４が、ガベージコレクション処理、メモリ最適化処理などの一部としてプログラムされるデータをリクエストしてもよい。ステップ５０４では、プログラムされるデータがページレジスタ１２０に読み込まれる。たとえば、そのデータは、システム制御ロジック１３０から、コントローラ１３４から、あるいはホストから直接、ページレジスタ１２０のシャドウレジスタ３４２に読み込まれる。上記のとおり、一実施例では、各ストライプがデータバスＰＲ＿ＯＵＴ［１５：０］を含む。１６本のストライプがある実施例では、２５６ビットのデータをサポート回路に同時に送ることができる（各ストライプが自らの専用データバスＰＲ＿ＯＵＴを有するものと仮定する）。ページレジスタが２１７６バイトのデータを保持しており、一度に２５６ビットしか転送できない場合には、ステートマシン３０６が、どの２５６ビットを選択して１６本のデータバスで出力するかを判断する必要がある。上記実施例では、これら１６本のストライプの各々につき１本ずつ、１６本のデータバスＰＲ＿ＯＵＴ［１５：０］がある。図１２のステップ５０６は、データバスＰＲ＿ＯＵＴ［１５：０］の各々で出力するページレジスタ内のデータの組を選択するステートマシンを含む。
【００７８】
一実施形態では、メモリアレイ１０２内の各種メモリセルが列状に配置されており、各ブロックには複数の列がある。たとえば、１ブロックは、６４列を含みうる。あるストライプが３２個のブロックを含む場合、そのストライプは３２ｘ６４＝２０４８列を含む。上記のとおり、１本のストライプに対してセンスアンプは３２個（各ブロックの下に１個）しかない。したがって、列デコーダ回路１１２（図１を参照）は、列アドレスを復号し、ステップ５０６でメモリセルの該当列に各センスアンプを接続する目的で使用される。一実施例では、システムが一度に１ブロックからの読出し、あるいは１ブロックへの書込みしか行わない。
【００７９】
ステップ５０６でページレジスタからデータの組が選択されると、そのデータは各双方向データバスＰＲ＿ＯＵＴ［１５：０］で出力される。ステップ５０８で、書込みデータ・シャドウ・ラッチＷＳＬが、バスからデータをラッチする。ページレジスタは、データバスＰＲ＿ＯＵＴ［１５：０］でストライプごとにデータを送った後、ストライプごとにデータバスＰＲ＿ＯＵＴ［１５：０］でセンスアンプ有効化情報を送る。センスアンプ有効化情報は、ステップ５０８の一部としてステータス・シャドウ・ラッチＳＳＬによってラッチされる。
【００８０】
ページレジスタ１２０がストライプの全３２個のセンスアンプ向けデータを有しうる場合であっても、そのページレジスタまたはステートマシンは、そのデータの一部がメモリアレイにプログラムされるべきでないと判断した可能性がある。一実施例では、データが既にアドレス・メモリ・セル内のデータに一致していれば、そのデータを上書きしても意味がない。別の実施形態では、システムが、初回で正しくプログラムされなかったデータのサブセットだけを改めて書き込みうる。該当しうるデータを書き込みたくない他の理由は他にもある。ステータス・シャドウ・ラッチＳＳＬに転送されるセンスアンプ有効化情報は、書込みデータ・シャドウ・ラッチＷＳＬと書込みデータ・データ・ラッチＷＤＬとを介して転送された対応データを書き込むかどうかを関連センスアンプに示す。
【００８１】
ステップ５１０で、サポート回路群ごとにシャドウラッチＷＳＬおよびＳＳＬに格納された情報が、シャドウラッチＷＳＬおよびＳＳＬからデータラッチＷＤＬおよびＳＤＬへと転送される。なお、上記ステップは、すべてのストライプで並行して実行される。ステップ５１２で、ページレジスタに格納された次の組のデータ／情報用のシャドウラッチＷＳＬおよびＳＳＬが読み込まれる。ステップ５１４で、書込みデータ・データ・ラッチＷＤＬ内のデータが、該当するセンスアンプを使用して、適切にアドレス指定されたメモリセルにプログラムされる。センスアンプは、適切なセンスアンプ有効化情報を自らのセンスアンプ有効化データラッチＳＤＬで受け取った場合に、書込みデータ・データ・ラッチＷＤＬからデータをプログラムする。プログラミング処理が終結すると、センスアンプは、ステップ５１６で、メモリセルに書き込まれたばかりのデータのコピーを読出しラッチＲＬに提供する。一実施形態では、センスアンプが、新しい読出し処理を実際に実行して、そのデータを読み出す。別の実施形態では、書込み動作が成功すれば（ＷＲＩＴＥ＿ＯＫ＝１）、センスアンプが、書込みデータ・データ・ラッチから受け取ったデータを取り出してデータラッチＲＬに返送するだけであり、書込み動作が成功しなければ（ＷＲＩＴＥ＿ＯＫ＝０）、そのデータを反転させてデータラッチＲＬに返送する。ステップ５１８で、読出しデータラッチＲＬ内のデータが、メモリストライプごとに、データバスＰＲ＿ＯＵＴ［１５：０］経由でページレジスタ１２０に返送される。ステップ５２０で、ページレジスタ１２０が、センスアンプから読み戻された結果をステートマシン３０６に送る。プログラムされる必要のあるデータが無くなったら（ステップ５２２）、図１２の処理が終了する。
【００８２】
プログラムされるデータ（このデータは、ステップ５１２の前回の繰り返しでシャドウラッチに既に読み込まれている）が他にもある場合には、図１２の処理がステップ５１０に戻り、シャドウラッチＷＳＬおよびＳＳＬからデータラッチＷＤＬおよびＳＤＬにデータをコピーする。ステップ５１２に続き、次の組のデータがシャドウラッチに読み込まれ、プログラムされるデータが無くなるまで、ステップ５１０〜５２２の処理が繰り返される。なお、図１２のフローチャートは、順番に行われるステップを示しているが、これらのステップの多くが、実際には並行して実行される。加えて、これらのステップを別の順序で行うこともできる。たとえば、ステップ５１２および５１４は並行して実行することができ、ステップ５１６および５１８も並行して実行することができる。
【００８３】
図１３は、ステップ５１０〜５１８を実行する１回の繰り返しを示すタイミング図である。図１３は、信号ＳＡＥ、ＳＭＩ＿ＴＬ＿ＣＰＹ、ＳＭＩ＿ＷＤＡＴＡＸＳＡＥ、ＳＭＩ＿ＣＮＴ＿ＡＤＲ、ＳＭＩ＿ＴＬ＿ＲＸＷ、ＳＭＩ＿ＣＡＤ［４：０］、ＳＭＩ＿ＴＬ＿ＷＥおよびＳＭＩ＿ＴＬ＿ＲＥの挙動を示す。なお、信号ＳＭＩ＿ＣＡＤ［４：０］は、ステートマシン３０６からページレジスタ１２０および他の選択回路への信号であり、どの列のメモリセルがプログラミング対象として選択されているかを示している。一実施形態では、各ブロックに３２列あり、信号ＳＭＩ＿ＣＡＤ［４：０］は、それらの３２列のうちどれがプログラミング対象として選択されているかを示している。時期Ｔ０とＴ１との間では、信号ＳＭＩ＿ＴＬ＿ＣＰＹが高でパルスされ、時期Ｔ８まで低のままである。このパルスは、シャドウラッチからのデータを、ステップ５１０の一部としてデータラッチＷＤＬおよびＳＤＬにコピーさせる書込みデータ・データ・ラッチＷＤＬおよびセンスアンプ有効化データラッチＳＤＬ向けのラッチ有効化信号である。
【００８４】
時期Ｔ１からＴ５まで、システムは、次の組のデータ用のシャドウラッチを読み込み（ステップ５１２）、適切にアドレス指定されたメモリセルを書込みデータ・データ・ラッチＷＤＬから並行してプログラムする（ステップ５１４）。時期Ｔ１で、ＳＡＥが高になり、該当する書込みデータ・データ・ラッチＷＤＬからメモリアレイ１０２内の適切にアドレス指定されたメモリセルにデータをプログラムするためのプログラミング処理を始めることをステートマシンに示す。Ｔ１とＴ２との間で、信号ＳＭＩ＿ＴＬ＿ＷＥがパルスされる。そのパルス中、ＳＭＩ＿ＷＤＸＳＡＥは高であり、書込みデータがページレジスタ１２０から書込みデータ・シャドウ・ラッチＷＳＬへとデータバスＰＲ＿ＯＵＴ［１５：０］で転送されていることを示している。信号ＳＭＩ＿ＣＮＴ＿ＡＤＲは低に設定されており、サポート回路群４００・・・４０２の第１のサブセットがＰＲ＿ＯＵＴ［１５：０］への接続のために選択されていることを示している。Ｔ１からＴ６までは信号ＳＭＩ＿ＴＬ＿ＲＸＷが低であるため、バスＰＲ＿ＯＵＴ［１５：０］が書込みデータおよびセンスアンプ有効化情報をページレジスタ１２０から該当するサポート回路３０４へと転送する目的で使用されている。時期Ｔ２とＴ３との間で信号ＳＭＩ＿ＴＬ＿ＷＥが再びパルスされ、今度はＳＭＩ＿ＣＮＴ＿ＡＤＲがロジック１に設定されているため、第２のサポート回路群４１０・・・４１２用の書込みデータ・データ・ラッチＷＤＬがプログラミング用の書込みデータを受け取る。
【００８５】
時期Ｔ３とＴ４との間で、ＳＭＩ＿ＴＬ＿ＷＥは、ページレジスタ１２０からＰＲ＿ＯＵＴ［１５：０］で送信されたセンスアンプ有効化情報をセンスアンプ有効化シャドウラッチにラッチさせる別のパルスを受け取る。時期Ｔ３とＴ４との間で、ＳＭＩ＿ＣＮＴ＿ＡＤＲが低に設定されており、第１のサポート回路群４００・・・４０２用のセンスアンプ有効化シャドウラッチがセンスアンプ有効化情報を受け取ることを示し、ＳＭＩ＿ＷＤＡＴＡＸ＿ＳＡＥが低に設定されており、センスアンプ有効化情報がデータバスＰＲ＿ＯＵＴ［１５：０］で送信されていることを示している。時期Ｔ４とＴ５との間で、ＳＭＩ＿ＴＬ＿ＷＥは、第２のサポート回路群４１０・・・４１２用のセンスアンプ有効化シャドウラッチでセンスアンプ有効化情報をラッチするために、ページレジスタ１２０からデータバスＰＲ＿ＯＵＴ［１５：０］経由で別のパルスを受け取る。時期Ｔ４とＴ５との間では、ＳＭＩ＿ＣＮＴ＿ＡＤＲが高に設定されており、データが第２のサポート回路群４１０・・・４１２用のセンスアンプ有効化シャドウラッチでラッチされることを示している。信号ＳＭＩ＿ＷＤＸＳＡＥは低に設定されており、センスアンプ有効化データがＰＲ＿ＯＵＴ［１５：０］で送信されていることを示している。
【００８６】
Ｔ５ではＳＡＥが低になり、書込み処理が該当するメモリセルへのデータの書込みを終了したことを示している。ＳＡＥが低に移行したことを受け、該当するセンスアンプが読出しラッチＲＬにデータを読み戻す。その結果、データをサポート回路３０４からページレジスタ１２０に返送するのにデータバスＰＲ＿ＯＵＴが使用されるようになり、信号ＳＭＩ＿ＴＬ＿ＲＸＷがＴ６でロジック１に行き、時期Ｔ８まで高の状態を保つ。時期Ｔ６とＴ８との間の期間は、図１２のステップ５１６を実行する目的で使用される。システムは、５１６を実行すると同時に、図のステップ５１８を実行する。このステップは、読出しデータをページレジスタ１２０に返送することを含む。ステップ５１６を実行するために、信号ＳＭＩ＿ＴＬ＿ＲＥが、時期Ｔ６とＴ７との間で１回、そして時期Ｔ７とＴ８との間で２回目と、計２回パルスされる。第１のパルスではＳＭＩ＿ＣＮＴ＿ＡＤＲが低に設定され、第２のパルスではＳＭＩ＿ＣＮＴ＿ＡＤＲが高に設定される。このように、第１のパルスによってデータが第１のサポート回路群４００・・・４０２用の読出しラッチＲＬに読み込まれ、第２のパルスによってデータが第２のサポート回路群４１０・・・４１２用の読出しラッチＲＬに読み込まれる。ＳＭＩ＿ＴＬ＿ＲＥが高になった直後に、それぞれのデータがラッチＲＬに読み込まれ、ページレジスタ１２０への転送のためにＰＲ＿ＯＵＴ［１５：０］で利用できるようになる。
【００８７】
Ｔ８で、ステップ５１０〜５１８を実行する処理が完了した。Ｔ８からは、ステップ５１０〜５１８が再び繰り返される。したがって、時期Ｔ８では、ＳＭＩ＿ＴＬ＿ＣＰＹがシャドウラッチからデータラッチにデータを転送するための別のパルスを受け取り、処理が続行する。加えて時期Ｔ８では、列アドレスＳＭＩ＿ＣＡＤ［４：０］が次の列に変わる。
【００８８】
上記のとおり、メモリアレイ１０２内のメモリセルは、各ブロックが自ら専用の列の組を有するように列状に配置されている。たとえば、各ブロックが３２列のメモリセルの有しうる。メモリセルの各列は、１６、３２、６４または他のメモリセル数を有することができる。１ページ分のデータが複数の列にまたがる。メモリシステムがある列のメモリセルをプログラムするのに必要でない特定ページ分のデータをプログラムするに当たっては、数多くの事例がある。たとえば、ページレジスタ内のデータの量が１ページ未満であれば、そのページによってアドレス指定されたメモリセルの一部はプログラムされる必要がない。たとえば、ページレジスタが１ページ分のデータの８０％を格納しているだけであれば、メモリセルの２０％はプログラムされる必要がない。そのページのビットの最初の８０％がユーザーデータとして使用され、最後の２０％のビットはユーザーデータを有しない。別の実施例では、プログラミングのために受け取られたデータの一部が既にメモリセル内のデータに一致している可能性がある。このような場合には、プログラムされるデータに一致するデータを格納するそれらのメモリセルをプログラムする必要がない。
【００８９】
プログラムされるデータの連続する一続きのビットがメモリセルの列全体に格納されるデータに一致する可能性がある。その場合には、メモリセルの列全体をプログラムする必要がない。たとえば画像ファイルには、その画像の大部分が白い場合があり、白を表すデータはメモリセルに既に格納されている可能性がある。別の実施例では、メモリシステムがプログラミング後にページ全体を読み戻し、読み戻されたページがプログラムされることになっていたデータに一致することを検証する。一部のデータが一致しない（あるいはビット数が所定数より少ない）場合には、そのページが再プログラムされる。ページを再プログラムするときには、それらのページのデータがプログラムされるデータに必ず一致するので、多数の列のメモリセルをスキップできる可能性がある。１列または複数列のメモリセルのプログラミングをスキップすることにより、プログラミング処理が速やかに、かつより少ない電力で完了する。
【００９０】
一部の先行システムは、１列のメモリセルのプログラミングをスキップできるようになっている。それらの先行システムでは、システムが、第１の列のメモリセルにデータをプログラムしながら、第２の列のメモリセルをスキップするべきかどうかを評価する。第１の列のメモリセルがプログラミングを完了したときにメモリセルの第２の列のメモリセルをスキップするべきでないとシステムが判断した場合には、第２の列のメモリセルがプログラムされる。システムは、第２の列のメモリセルのプログラミングをスキップするべきであると判断すると、第１の列のメモリセルが完了するまで待機する。第１の列のメモリセルが完了した後、システムは、第３の列のメモリセルをスキップするべきかどうかを評価する。第３の列のメモリセルをスキップするべきでない場合には、第３の列のメモリセルがプログラムされる。この処理が続行する。この処理の１つの欠点は、システムがある列のメモリセルをスキップするべきであると判断されると、現在の列のメモリセルがプログラミングを完了するまで、システムがアイドル状態のままになるということである。そのため、前の列のメモリセルをプログラムしながらメモリシステムが複数の列のメモリセルを評価し、スキップすることを決定できる処理が提案される。この処理は、図１４のフローチャートに記載されている。
【００９１】
図１４のステップ５６０で、１ページ（またはそれ以上）分のデータと、そのページ分のデータをプログラムするためのリクエストが受け取られる。そのデータおよびリクエストは、たとえばホストからコントローラ１３２で受け取ることができる。あるいは、そのデータおよびリクエストを、システム制御ロジック１３０（ステートマシン３０６を含む）で受け取ることができる。ステップ５６２で、そのページ分のデータが、ページレジスタ１２０のシャドウレジスタ３４２に読み込まれる。ステップ５６４で、シャドウレジスタ３４２内のデータが、ページレジスタ１２０のデータレジスタ３４４に転送される。
【００９２】
ステップ５６６で、システムは、現在データレジスタ３４４に存在するそのページ分のデータを格納するための対象とされるメモリセルを読み出す。なお、プログラミング処理および読出し処理の両方が、システム制御ロジック１３０の一部であるステートマシン３０６の命令で実行される。そのページ分のデータは、対象メモリセルから読み戻され、ページレジスタ１２０の制御ロジック３４０へと流れる。各ビットは、制御ロジック３０４によって受け取られるときに、データレジスタ３４４内の対応ビットと比較される。その２つのビットが一致する場合には、エラーレジスタ３４６内の対応ビットにゼロが格納される。２つのビットが一致しない場合には、エラーレジスタ３４６内の対応ビットがロジック１を格納する。メモリセルから読み出されたすべてのデータが制御ロジック３０４に流れ終わると、エラーレジスタ３４６が、プログラムされるデータと既にメモリセル内に存在するデータと比較するために、その１組の結果を格納する（ステップ５７０）。これらの一致するビットが再プログラムされる必要はない。メモリセル内のビットに一致しないビットのデータは、プログラムされる必要がある。その後、エラーレジスタが、該当するセンスアンプ有効化シャドウラッチＳＳＬに読み込まれるセンスアンプ有効化情報の供給源として使用され、個々のビットのプログラミングを開始する。ステップ５７０は、列カウンタＸをゼロに初期化することも含む。
【００９３】
ステップ５７２で、第１の組のデータ用のシャドウラッチ（ＷＳＬおよびＳＳＬ）が、Ｘによってアドレス指定された列（たとえば、列０）であるＣＡＤ［Ｘ］のストライプごとに読み込まれる。上記実施例では、センスアンプ有効化（ＳＳＬ）のうちの１６ビットおよび１６ビットのデータ（ＷＳＬ）が、ステップ５７２の一部としてストライプごとに同時に転送される。一実施形態では、（１）１６ビットの書込みデータを転送し、（２）１６ビットの書込みデータを転送し、（３）１６ビットのセンスアンプ有効化情報を転送し、（４）１６ビットのセンスアンプ有効化情報を転送するという４つのサイクルが必要である。様々な数のセンスアンプと様々なバス幅とを有する他の実施形態では、このサイクルが異なってもよい。
【００９４】
ステップ５７４で、すべてのストライプのシャドウラッチ（ＷＳＬおよびＳＳＬ）に保持されているデータが、データラッチ（ＷＤＬおよびＳＤＬ）にコピーされる。ステップ５７６で、現在アドレス指定されている特定の列向けのデータが、ＷＤＬラッチから該当するメモリセルにプログラムされる。加えて、変数Ｙが変数Ｘの値＋１に設定される。この変数の用途については後で説明する。ＣＡＤ［Ｘ］が最後のプログラム対象列であれば（ステップ５７７）、処理は完了である。そうでなければ、ステップ５７８で、シャドウラッチＷＳＬおよびＳＳＬに、（ＣＡＤ［Ｙ］によってアドレス指定された）次の列向けの書込みデータおよびセンスアンプ有効化データが読み込まれる。ステップ５７２では、列ＣＡＤ［Ｘ］がアドレス指定された列であり、その列はステップ５７６の前回の繰り返しでプログラムされたということに注意されたい。変数Ｙは、この時点でＣＡＤ［Ｙ］がＣＡＤ［Ｘ］の次の列をアドレス指定するように、Ｘ以上に設定される（Ｘが最後の列でない場合）。シャドウラッチに読み込まれたセンスアンプ有効化情報は、エラーレジスタ３４６から送られたものである。ステップ５８０で、ページレジスタ１２０が次の列ＣＡＤ［Ｙ］用の書込みデータを評価して、そのデータがプログラムされる必要があるかどうかを確認する。プログラムされている現在の列が列ＣＡＤ［０］である実施例では、次の列が列ＣＡＤ［１］である。ステップ５７８および５８０は、並行して、あるいは他方に続いて（どちらの順序でも）実行することができる。一実施形態では、ページレジスタ１２０が、エラーレジスタ３４６内のビットを参照することによって次の列をスキップするべきかどうかを評価する。その列向けのすべての対応ビットがゼロに設定されている場合には、その列にプログラムされる必要のあるデータが存在しないため、ページレジスタ１２０はその列をスキップできると結論付ける。
【００９５】
次の列がスキップできると判断されると（ステップ５８２）、ステップ５８４で、次の列はスキップするべきであるとページレジスタ１２０が他の構成要素（ステートマシン３０６を含む）に示す。いくつかの実施形態では、シャドウラッチへのデータの転送（ステップ５７８）がもはや不要であることから、転送を中止できる可能性がある。転送が既に完了している可能性もある。ＣＡＤ［Ｙ］が最後のプログラム対象列であれば（ステップ５８５）、処理は完了である。そうでなければ、ステップ５８６で、変数Ｙが増分し、処理がステップ５７８に戻る。ステップ５７８の次の繰り返しでは、シャドウラッチに後続列ＣＡＤ［Ｙ］向けのデータおよびセンスアンプ有効化が読み込まれ、処理が上記のとおり続行する。ステップ５７８、５８０、５８２、５８４および５８６のループは、列をスキップしないと判断されるまで繰り返される。確認できるとおり、ページレジスタ１２０は、列をスキップするべきであると判断すると、現在アドレス指定された列がプログラミングを終了するのを待たずに次の列を評価する。このように、ページレジスタ１２０は、現在のページ分のデータがプログラムされている間に、現在のページがプログラミングを完了するのを待たずに複数の列を評価して、プログラムする列を見つけることができる。
【００９６】
列をスキップするべきでないとページレジスタ１２０が判断した場合（ステップ５８２）には、ステップ５８８で、ページレジスタ１２０およびステートマシン３０６が、現在の列（たとえばＣＡＤ［Ｘ］）がプログラミングを完了するのを待つ。現在の列ＣＡＤ［Ｘ］がプログラミングを完了した後、現在の列ＣＡＤ［Ｘ］用に書き込まれたページ分のデータが、ステップ５９０でページレジスタ１２０に読み戻される。ステップ５９２で、ステートマシン３０６が、他にもプログラムするデータの組があるかどうかを判断する。なければ図１４の処理は完了である。プログラムするデータが他にもある場合には、変数ＸがＹと等しくなるように設定され、処理がステップ５７４に戻り、上記のとおり続行する。
【００９７】
図１５は、ステップ５７４〜５８２の３回の繰り返し中の各種信号の挙動を示すタイミング図である。図１５に示す信号は、ＳＡＥ、ＳＭＩ＿ＴＬ＿ＣＰＹ、ＳＭＩ＿ＷＤＸＳＡＥ、ＳＭＩ＿ＣＮＴ＿ＡＤＲ、ＳＭＩ＿ＴＬ＿ＲＸＷ、ＳＭＩ＿ＣＡＤ［４：０］、ＳＭＩ＿ＴＬ  ＷＥ、ＳＭＩ＿ＴＬ＿ＲＥ、ＳＭＩ＿ＣＡＤ＿ＡＲＹ［４：０］およびＰＲ＿ＳＫＩＰを含む。信号ＰＲ＿ＳＫＩＰは、次の列のためのプログラミングはスキップするべきであるとページレジスタ１２０が判断したことを示す（図１４のステップ５８４を参照）。信号ＳＭＩ＿ＣＡＤ［４：０］は、現在プログラムされている列を示す。信号ＳＭＩ＿ＣＡＤ  ＡＲＹ［４：０］は、スキップすると現在評価されている列を示している。したがって、ＳＭＩ＿ＣＡＤ［４：０］は図１４のＣＡＤ［Ｘ］に類似しており、ＳＭＩ＿ＣＡＤ  ＡＲＹ［４：０］は図１４のＣＡＤ［Ｙ］に類似している。
【００９８】
図１５の時期Ｔ０で、信号ＳＭＩ＿ＴＬ＿ＣＰＹがパルスされる。ＳＭＩ＿ＴＬ＿ＣＰＹは、ＷＳＬおよびＳＳＬからのデータをコピーするＷＤＬおよびＳＤＬ向けのラッチ有効化信号であることから、これはステップ５７４に対応する。Ｔ１でＳＭＩ＿ＣＡＤ［４：０］が変わり、プログラムされるデータの新しい列アドレス（たとえばＣＡＤ１）を示す。列アドレスの変更は、図１４のステップ５９４に類似している。Ｔ１ではまた、ＳＡＥが高に設定され、ＣＡＤ［Ｘ］（この場合にはＣＡＤ［１］）のプログラミング進行を開始する。ＳＡＥは、Ｔ４とＴ５との間の時点まで高の状態を保つ。Ｔ１ではまた、ＳＭＩ＿ＣＡＤ  ＡＲＹ［４：０］が変わり、次の列（本実施例ではＣＡＤ２）が評価されることを示す。ＳＭＩ＿ＣＡＤ  ＡＲＹ［４：０］の変更は、ステップ５７６で値Ｙを「Ｘ＋ｌ」に等しくすることに対応する。
【００９９】
時期Ｔ１の直後に、ＳＭＩ＿ＣＡＤ  ＡＲＹ［４：０］（ＣＡＤ［Ｙ］に類似）によってアドレス指定された列向けのシャドウラッチＷＳＬおよびＳＳＬが読み込まれる。そのため、時期Ｔ１の後、信号ＳＭＩ＿ＴＬ＿ＷＥが４回パルスされる。全４回のパルス中、信号ＳＭＩ＿ＴＬ＿ＲＸＷが低に設定されており、書込みデータがバスＰＲ＿ＯＵＴで転送されていることを示す。ＳＭＩ＿ＴＬ＿ＷＥの第１のおよび第３のパルス中は、信号ＳＭＩ＿ＣＮＴ＿ＡＤＲが低に設定されており、サポート回路群４００・・・４０２を示す。ＳＭＩ＿ＴＬ＿ＷＥの第２のおよび第４のパルスでは、サポート回路群４１０・・・４１２を選択するために、信号ＳＭＩ＿ＣＮＴ＿ＡＤＲが高である。ＳＭＩ＿ＴＬ＿ＷＥの最初の２パルス中は、ＳＭＩ＿ＷＤＸＳＡＥが高であり、書込みデータがＰＲ＿ＯＵＴで転送されていることを示す。ＳＭＩ＿ＴＬ＿ＷＥの２番目の２パルス中は、信号ＳＭＩ＿ＷＤＡＴＡＸＳＡＥが低に設定されており、センスアンプ有効化情報がページレジスタ１２０からセンスアンプ有効化シャドウラッチＳＳＬにＰＲ＿ＯＵＴで転送されていることを示す。４回のパルス中、ページレジスタは、列ＣＡＤ２をスキップするべきかどうかを判断するために、エラーレジスタ３４６内のデータを並行して評価している。本実施例では、ＣＡＤ２にプログラムされるデータが既にＣＡＤ２にあるデータと同じであるとページレジスタ１２０が判断するため、ＣＡＤ２のプログラミングはスキップすることができる。したがって、時期Ｔ２でページレジスタ１２０は、次の列（ＣＡＤ２）をスキップするべきであることを示すために、ＰＲ＿ＳＫＩＰを高に設定する。ＰＲ＿ＳＫＩＰはステートマシン３０６に送られる。ＰＲ＿ＳＫＩＰを高に設定することは、図１４のステップ５８４に対応する。なお、ステップ５８０の評価は、Ｔ１とＴ２との間で行われる。
【０１００】
時期Ｔ３でＳＭＩ＿ＣＡＤ＿ＡＲＹ［４：０］が変わり、次の列が評価されることを示す。このような列アドレスの変更は、図１４のステップ５８６で変数Ｙを増分することに類似している。列アドレスを増分したことを受け、シャドウラッチに、新しい列（ＣＡＤ３）向けのデータが再び読み込まれる。その結果、ステップ５７８と同様、ＳＭＩ＿ＴＬ＿ＷＥが４回パルスされる。上記のとおり、第２および第４のパルス中はＳＭＩ＿ＣＮＴ＿ＡＤＲが高に設定され、第１および第３のパルス中はＳＭＩ＿ＣＮＴ＿ＡＤＲが低に設定される。最初の２パルス中はＳＭＩ＿ＷＤＸＳＡＥが高であり、第２の２パルス中はこの信号が低である。Ｔ３とＴ５との間で、ページレジスタ１２０がＣＡＤ３用のデータを評価して、プログラムされる必要があるかどうかを判断する。本実施例では、ＣＡＤ３にプログラムされるデータがＣＡＤ３内のデータに一致することをエラーレジスタ３４６内の情報が示しているため、ＣＡＤ３のプログラミングをスキップすることができるとページレジスタ１２０が判断する。これは、時期Ｔ４でＰＲ＿ＳＫＩＰを引き上げることによって示される（ステップ５８４に類似）。
【０１０１】
時期Ｔ５でＰＲ＿ＳＫＩＰが下げられ、ＳＭＩ＿ＣＡＤ  ＡＲＹ［４：０］によって示されたアドレスが増分されてＣＡＤ４を示す（ステップ５８６に類似）。続いて、Ｔ５の直後にＳＭＩ＿ＴＬ＿ＷＥの４回のパルスによって示されるとおり、シャドウラッチが読み込まれる（ステップ５７８に類似）。上記のとおり、第１および第３のパルス中はＳＭＩ＿ＣＮＴ＿ＡＤＲが低であり、第２および第４のパルス中はＳＭＩ＿ＣＮＴ＿ＡＤＲが高である。最初の２パルス中はＳＭＩ＿ＷＤＸＳＡＥが高であり、最後の２パルス中はＳＭＩ＿ＷＤＸＳＡＥが低である。Ｔ５とＴ６との間の期間中に、ページレジスタ１２０がＣＡＤ４用のデータを評価している（ステップ５７８を参照）。本実施例では、ＣＡＤ４にプログラムされるデータがＣＡＤ４に保持されているデータに一部が一致しないということを、（エラーレジスタ３４６内の情報に基づいて）ページレジスタ１２０が判断する。たとえば、１つまたは複数のビットが異なる。そのため、ＰＲ＿ＳＫＩＰは低のままであり、システムは、ＣＡＤ０のプログラミングが完了するのを待つ（ステップ５８８）。時期Ｔ６で、ＣＡＤ０にプログラムされたデータが、読出しラッチＲＬに返送される（ステップ５９０）。このことは、ＳＭＩ＿ＴＬ＿ＲＥ（ＲＬ向けのラッチ有効化信号）の２つのパルスによって明示される。ＳＭＩ＿ＴＬ＿ＲＥの第１のパルス中は信号ＳＭＩ＿ＣＮＴ＿ＡＤＲが低であり、第２のパルス中は、各サポート回路群が該当する読出しラッチＲＬに送られるデータを有するように、ＳＭＩ＿ＣＮＴ＿ＡＤＲが高である。ＳＭＩ＿ＴＬ＿ＲＥにおける２つのパルス期間中は信号ＳＭＩ＿ＴＬ＿ＲＸＷが高に設定され、バスＰＲ＿ＯＵＴ［１５：０］上のデータが読出しラッチＲＬからページレジスタ１２０に向かっていることを示す。時期Ｔ８までに、すべての読出しデータがページレジスタ１２０によって受け取られており、データレジスタ３４４に格納されている。読み出されたデータは、シャドウレジスタ３４２に転送され、ステートマシン３０６および／またはコントローラ１３４に転送される（可能性がある）。時期Ｔ６で、（シャドウラッチＷＤＬ内にある）ＣＡＤ４用のデータが、ステップ５７４と同様、データラッチＷＳＬに転送される。時期Ｔ８で、現在のプログラミング対象列アドレスＳＭＩ＿ＣＡＤ［４：０］が増分して、その列がプログラムされることを示す。本実施例では、ＳＭＩ＿ＣＡＤ［４：０］がＣＡＤ４に設定される。加えて、時期Ｔ８で、評価される列が増分して、ＳＭＩ＿ＣＡＤ  ＡＲＹ［４：０］がＣＡＤ５に設定される。図１４に記載のとおり、この処理は続行する。
【０１０２】
記載した実施例では、１本のストライプが、３２ブロックのデータと、３２個のセンスアンプと、関連するブロックに対してt３２個のサポート回路群とを有する。同じ実施例において、バスＰＲ＿ＯＵＴ［１５：０］は１６ビットを含んでいたため、３２組のラッチを２サイクルで読み込む必要があった。２サイクルの読み込みが完了すると、３２ビットが３２個のセンスアンプによって同時にプログラムされた。
【０１０３】
別の実施形態では、システムが使用するセンスアンプを３２個未満にして節電を図ってもよい。たとえば、システムは、３２個のセンスアンプのうち、１６個だけを同時に使用してもよい。このような実施例では、ある列のストライプでアドレス指定された全３２ビットをプログラムするために、２回のプログラミングサイクルを実行する必要がある。その列の１週目のプログラミングサイクル中に、第１の１６個のセンスアンプが自らのそれぞれのビットをプログラムし、２週目のプログラミングサイクルの間に、第２の１６個のセンスアンプが自らのそれぞれのビットをプログラムする。この２つのプログラムサイクルは、センス・アンプ・サイクルと呼ばれる。本明細書において、センス・アンプ・サイクルは、ＳＡＤサイクルと略記される。
【０１０４】
別の実施例では、システムが所与のストライプに対して８つのセンスアンプだけを同時に使用してもよい。そのため、列ごとに４つのＳＡＤサイクルが実施される。別の実施例では、システムが一度に４つのセンスアンプだけを使用することに制限できる可能性があることから、列ごとに８つのＳＡＤサイクルが存在する必要がある。他の実施形態では、様々な数のセンスアンプを使用することができ、適切な回数のＳＡＤサイクルが使用される。
【０１０５】
ある列向けのデータを評価してその列のプログラミングをスキップするべきかどうかを判断する際、１つまたは複数ビットのデータが既にメモリ内に格納されているデータと異なるために、その列をスキップすることができないとページレジスタ１２０が判断することがある。そのような場合には、対応するメモリセルに既に格納されているデータに一致するプログラム対象データの対応ビットを有するＳＡＤサイクルをスキップする目的で、ページレジスタがＳＡＤサイクルごとにデータの評価を試行することもできる。したがって、システムは、列全体をスキップできると判断すると、その列をスキップする。システムは、その列をスキップできないと判断した場合には、ＳＡＤサイクルごとにデータを参照し、プログラムされる対応データがメモリセルに格納された対応データに一致する場合には、それらのＳＡＤサイクルをスキップする。図１６は、このような処理を示すフローチャートである。
【０１０６】
図１６の処理例では、各ブロックが３２列を有すると仮定されるため、信号ＳＭＩ＿ＣＡＤ［４：０］は、ＣＡＤ０〜ＣＡＤ３１をアドレス指定する。加えて、列ごとに、ＳＡＤ１、ＳＡＤ２、ＳＡＤ３およびＳＡＤ４という４つのＳＡＤサイクルがある。図１６のステップ６４０で、図１４のステップ５６０〜５７４の実行を含む初回の組のステップが実行される。加えて、変数ｂが１に初期化され、変数ｎは０に初期化され、ＳＭＩ＿ＣＨＥＣＫが１に設定される。変数ｂは、現在のＳＡＤサイクルを示す目的で使用される。変数ｎは、現在のＣＡＤサイクルまたは列アドレスを示す目的で使用される。変数ＳＭＩ＿ＣＨＥＣＫは、列（ＣＡＤ）をスキップするか、あるいはＳＡＤをスキップするかを評価するかを示す目的で使用される。
【０１０７】
ステップ６４２で、システムは、現在の列の現在のＳＡＤサイクルに対するプログラム動作を実行する。図１６に示すとおり、システムはＣＡＤ（ｎ）のＳＡＤ（ｂ）に対するプログラミングを実行する。ステップ６４４で、変数ＳＭＩ＿ＣＨＥＣＫ＝１であるかどうかが判断される。真である場合には、処理がステップ６６０へと続行する。偽である場合には、処理がステップ６８０へと続行する。新しい列の先頭で、ＳＭＩ＿ＣＨＥＣＫが１に設定され、列をスキップするかどうかが最初に評価される。列をスキップするかどうかの評価が、その列をスキップするべきでないことを示している場合には、ＳＭＩ＿ＣＨＥＣＫが０に設定され、ＳＡＤサイクルをスキップするかどうかを評価することができる。上記説明では、ここで初めて列がチェックされ、この処理が列チェックの開始であることから、ＳＭＩ＿ＣＨＥＣＫが１に設定され、図１６の処理がステップ６６０へと続行する。
【０１０８】
ステップ６６０で、変数ｍがｎ＋１に設定される。ページレジスタ１２０は、次の列をスキップするべきかどうかを評価する。ページレジスタ１２０がＣＡＤ（ｍ）を評価する。式中、ｍ＝ｎ＋１であり、ｎは現在の列アドレスである。上記のとおり、ステップ６６０は、エラーレジスタ３４６をチェックしているページレジスタ１２０によって実行される。ステップ６６４で、次の列ＣＡＤ（ｍ）向けの書込みデータが、データレジスタ３０４から該当する書込みシャドウレジスタＷＳＬへと転送される。一実施形態では、ステップ６６０および６６４が並行して実行された。他の実施形態では、それらのステップがどちらかの順序で連続的に実行された。変数ｄ（後述）は、１に初期化される。ページレジスタ１２０は、次の列をスキップするべきであると判断すると（ステップ６６６）、ステップ６６８で、次の列をスキップするべきであると他の構成要素（ステートマシン３０６を含む）に示す。ＣＡＤ（ｍ）が最後のプログラム対象列であれば（ステップ６６９）、処理が完了し、そうでなければ、変数ｍ（列アドレス）がステップ６７０で増分され、処理がステップ６６０に戻って後続列をスキップするべきかどうかを評価する。たとえば、ステップ６６０でＣＡＤ１を評価しており、ＣＡＤ１をスキップするべきであるとページレジスタ１２０が判断した場合には、処理がステップ６６０に戻り、ページレジスタが列ＣＡＤ２２をスキップするべきかどうかを評価する。ページレジスタ１２０は、列をスキップするべきでなくなるまで、現在の列がプログラミングを終えるのを待たずに列を評価し続ける。列をスキップするべきでないとページレジスタ１２０が判断すると（６６６）、ステップ６７０（ステップ６６６から）で変数ＳＭＩ＿ＣＨＥＣＫが０にリセットされ、処理はステップ６８０として続行する。この時点で、次の列をスキップすることができないと判断される。
【０１０９】
ステップ６８０で、ページレジスタ１２０が、次のＳＡＤサイクルをスキップするかどうかを評価する。次のＳＡＤサイクルは、ＣＡＤ（ｍ）のＳＡＤ（ｄ）である。ステップ６８０は、ＳＡＤサイクルＳＡＤ（ｄ）のセンスアンプと関連付けられた該当するビットのエラーレジスタ３４６を比較することを含む。ステップ６８２で、ＣＡＤ（ｍ）のＳＡＤ（ｄ）向けのセンスアンプ有効化情報がセンスアンプ有効化シャドウラッチＳＳＬに転送される。一実施形態では、すべてのＳＳＬラッチがデータを受け取る。ただしそのデータは、ＣＡＤ（ｍ）のＳＡＤ（ｄ）向けの選択されたセンスアンプ群に存在しないラッチに対してプログラミングが実行されないことを示す。一実施形態では、ステップ６８０および６８２を同時に実行することができる。他の実施形態では、それらのステップを、どちらの順序でも連続して実行することができる。
【０１１０】
次のＳＡＤサイクルをスキップするべきであれば（ステップ６８４）、ステップ６９５で次のＳＡＤサイクルをスキップするべきであることを、ページレジスタが他の構成要素に知らせる。いくつかの実施形態では、ステップ６９５が不要である。ステップ６９６で、ＣＡＤ（ｍ）のＳＡＤ（ｄ）、すなわちスキップされるＳＡＤサイクルが列ＣＡＤ（ｍ）の最後のＳＡＤサイクルであるかどうかが判断される。ＳＡＤ（ｄ）が列ＣＡＤ（ｍ）の最後のＳＡＤサイクルである場合には、ステップ６９７で、ＣＡＤ（ｍ）が最後のプログラム対象列であるかどうかが判断される。ＣＡＤ（ｍ）が最後のプログラム対象列である場合には処理が完了し、そうでなければ、ステップ６９９で変数がｎ＝ｍ、ｂ＝ｌおよびＳＭＩ＿ＣＨＥＣＫ＝１と設定される。これは、次の列の最初のＳＡＤサイクルまで増分するという効果を有する。ステップ６９９の後、処理はステップ６４４へと続行する。ステップ６９６で、ＳＡＤ（ｄ）が列ＣＡＤ（ｍ）の最後のＳＡＤサイクルではないと判断されると、ステップ６９８で、ＣＡＤ（ｍ）の次のＳＡＤサイクルをアドレス指定するために６９８ｄが１だけ増分する。ステップ６９８の後、処理はステップ６８０へと続行し、次のＳＡＤサイクルが評価される。
【０１１１】
次のＳＡＤサイクルをスキップするべきでない場合には（ステップ６８４）、システムが、ステップ６８６で、プログラミング中の現在のＳＡＤサイクルがプログラミングを完了するのを待つ。ステップ６９０では、シャドウラッチＳＳＬおよびＷＳＬ内のセンスアンプ有効化情報および書込みデータがデータラッチＳＤＬおよびＷＤＬに転送される。加えて、変数がｎ−ｍ、ｂ＝ｄ、ｄ＝ｄ＋ｌ（ｂ＝ｄに設定した後）に設定される。ステップ６８０の前回の繰り返しで評価されたばかりのＳＡＤサイクルが、その列の最後のＳＡＤサイクルである場合には、処理がステップ６９４へと続行し、変数ＳＭＩ＿ＣＨＥＣＫが１に設定されて、システムが次の列を検討する。ステップ６８０の前回の繰り返しで評価されたＳＡＤサイクルが現在の列の最後のＳＡＤサイクルでない場合には、ステップ６９２の処理がステップ６４２へと続行し、次のＳＡＤサイクルをプログラムする。ステップ６９４の後も、処理はステップ６４２へと続行し、次のＳＡＤサイクルをプログラムする。
【０１１２】
図１７は、図１６の処理の一実施態様における各種信号の挙動を示すタイミング図である。さらに具体的には、図１７の信号ダイアグラムは、ステップ６６０〜６７０の１回の繰り返しと、ステップ６８０〜６８４の４回の繰り返しとを含む特定の１列の動作を示す。本実施例では、データが列ＣＡＤ１のＳＡＤサイクルであるＳＡＤ４向けにプログラムされている間に、システムが、列ＣＡＤ２と、列ＣＡＤ２に対するその４回のＳＡＤサイクルをスキップするべきかどうかを評価している。本実施例の一部として、システムは、ＳＡＤ１をスキップし、ＳＡＤ２をスキップし、列ＣＡＤ２向けにＳＡＤ３をプログラムすることを決定する。
【０１１３】
図１７は、信号ＳＡＥ、ＳＭＩ＿ＴＬ＿ＣＰＹ、ＳＭＩ＿ＷＤＸＳＡＥ、ＳＭＩ＿ＣＮＴ＿ＡＤＲ、ＳＭＩ＿ＴＬ＿ＲＸＷ、ＳＭＩ＿ＣＡＤ［４：０］、ＳＭＩ＿ＴＬ  ＷＥ、ＳＭＩ＿ＲＬ＿ＷＥ、ＳＭＩ＿ＣＡＤ  ＡＲＹ［４：０］、ＰＲ＿ＳＫＩＰ、ＳＭＩ＿ＣＨＥＣＫおよびＳＭＩ＿ＳＡＤ＿ＡＲＹ［１：０］の挙動を示す。信号ＳＭＩ＿ＳＡＤ＿ＡＲＹ［１：０］は、スキップすると評価されているＳＡＤサイクルを示している。
【０１１４】
図１７の時期Ｔ０で、ＳＭＩ＿ＴＬ＿ＣＰＹがパルスされ、シャドウラッチからのデータがデータラッチに（ＷＳＬおよびＳＳＬからＷＤＬおよびＳＤＬに）転送されることを示す。このパルスは、これからプログラムされる現在の列に対するステップ６９０の動作の一部である。本実施例では、現在の列がＣＡＤ１である。ステップＴ１で、ＳＡＥが高に上げられ、ＣＡＤ１のＳＡＤ４に対するプログラミング処理を開始する（ステップ６４２を参照）。Ｔ１の後、図１６のステップ６６０が実行され、ページレジスタ１２０が、次の列をスキップするべきかどうかを評価する。ＳＭＩ＿ＣＨＥＣＫが高であるため、ステップ６６０が実行された。Ｔ１の後、書込みデータをステップ６６４の一部としてシャドウラッチＷＳＬに転送できるように、ＳＭＩ＿ＴＬ  ＷＥが２回パルスされる。本実施例では、ページレジスタ１２０が、次の列（ＳＭＩ＿ＣＡＤ＿ＡＲＹ［４：０］が示すＣＡＤ２）をスキップするべきでないと判断する。そのため、ＳＭＩ＿ＣＨＥＣＫが下げられ（ステップ６７０の一部）、ページレジスタ１２０が、ＣＡＤ２のＳＡＤ１をスキップするべきかどうかを評価する。
【０１１５】
ＣＡＤ２のＳＡＤ１を評価している間に、センスアンプ有効化情報をページレジスタ１２０からセンスアンプ有効化シャドウラッチＳＳＬへと転送するために、信号ＳＭＩ＿ＴＬ  ＷＥが２回パルスされる（時期Ｔ２の直後）。第１のパルス中はＳＭＩ＿ＣＮＴ＿ＡＤＲが低であり、その対の第２のパルス中はＳＭＩ＿ＣＮＴ＿ＡＤＲが高である。本実施例では、ページレジスタ１２０が、ＳＡＤ１をスキップするべきであると判断するため、ＰＲ＿ＳＫＩＰがステップ６９５の一部として高に設定され、ページレジスタは次にＳＡＤ２を評価する。そのため、時期Ｔ４で、ＳＭＩ＿ＳＡＤ＿ＡＲＹ［１：０］がＳＡＤ２に変更される（ステップ６９８に類似）。
【０１１６】
ページレジスタは、Ｔ４の後にＳＡＤ２をスキップするべきかどうかを評価する。ＳＡＤ２を評価している間に、Ｔ４から始まるＳＭＩ＿ＴＬ＿ＷＥ上の２つのパルスによって明示されるとおり、センスアンプ有効化情報がシャドウラッチＳＳＬに転送される。ＳＡＤ２向けのセンスアンプ有効化データが、ＳＡＤ１向けのセンスアンプ有効化データを上書きする。本実施例では、ページレジスタ１２０がＳＡＤ２をスキップするべきであると判断するため、ＰＲ＿ＳＫＩＰが時期Ｔ５で高に上げられる（ステップ６９５）。図１７はＳＭＩ＿ＴＬ＿ＷＥの両パルスを示すものの、いくつかの実施形態では、ＰＲ＿ＳＫＩＰが断定されたときに転送が中止される。
【０１１７】
Ｔ６で、ＳＭＩＳＡＤＡＲＹ［１：０］が次のＳＡＤサイクルであるＳＡＤ３に増分し、ページレジスタ１２０が、ＳＡＤ３のプログラミングをスキップすることができるかどうかを評価する。評価している間に、Ｔ４で始まるＳＭＩ＿ＴＬ＿ＷＥ上の２つのパルスによって明示されるとおり、ＳＡＤ３向けのセンスアンプ有効化情報がページレジスタ１２０からセンスアンプ有効化シャドウラッチＳＳＬに転送される。ＳＡＤ３向けのセンスアンプ有効化情報が、ＳＳＬに格納されたＳＡＤ２向けのセンスアンプ有効化情報を上書きする。本実施例では、ページレジスタ１２０がＳＡＤ３のプログラミングをスキップするべきでないと判断するため、Ｔ６以降はＰＲ＿ＳＫＩＰが低のままとなる。ＳＡＤ３がプログラムされるべきであると判断した後、システムは、Ｔ７の直後に行われるプログラミングが完了するのを待つ。
【０１１８】
時期Ｔ８で、ＳＭＩ＿ＴＬ＿ＣＰＹ上のパルスが示すとおり、シャドウラッチＷＳＬおよびＳＳＬからのデータ（ＳＡＤ３のプログラミングに使用）がデータラッチＷＤＬおよびＳＤＬに転送される。時期Ｔ９で、ＳＡＥが高に上げられ、ＣＡＤ２のＳＡＤ３に対するプログラミング処理を開始する（図１６のステップ６４２を参照）。Ｔ９の後、およびＣＡＤ２のＳＡＤ３をプログラムしている間に、ページレジスタ１２０がＣＡＤ２のＳＡＤ４をスキップするべきかどうかを評価する。並行して、時期Ｔ９以降のＳＭＩ＿ＴＬ＿ＷＥ上の２つのパルスが示すとおり、ＳＡＤ４用のセンスアンプ有効化情報が転送される。本実施例では、ページレジスタがＳＡＤ４をスキップすると判断し、ＰＲ＿ＳＫＩＰはＴ９とＴ１０との間で高であると断定される。
【０１１９】
一実施形態は、基板と、その基板の一部分の上方に配置された不揮発性記憶素子のモノリシック３次元メモリアレイと、その不揮発性記憶素子と通信する複数のセンスアンプと、そのセンスアンプと通信する複数の一時記憶デバイスと、その一時記憶デバイスと通信するページレジスタと、１つまたは複数の制御回路と、を含む。この１つまたは複数の制御回路は、ページレジスタ、一時記憶デバイスおよびセンスアンプと通信する。一時記憶デバイスは、モノリシック３次元メモリアレイの下方にある基板上に配置される。センスアンプは、モノリシック３次元メモリアレイの下方にある基板上に配置される。ページレジスタは、モノリシック３次元メモリアレイの下方ではない領域にある基板上に配置される。
【０１２０】
一実施形態は、基板と、その基板の上方に配置された複数の不揮発性記憶素子と、その不揮発性記憶素子と通信する複数のセンスアンプと、そのセンスアンプと通信する複数の一時記憶デバイスと、その一時記憶デバイスおよびセンスアンプと通信する１つまたは複数の制御回路と、その一時記憶デバイスおよび１つまたは複数の制御回路と通信する中間レジスタと、を含む。中間レジスタは、不揮発性記憶デバイスの下方ではない領域にある基板上に配置される。一時記憶デバイスは、不揮発性記憶素子の下方にある基板上に配置される。センスアンプは、不揮発性記憶素子の下方にある基板上に配置される。センスアンプによって不揮発性記憶素子から読み出されたデータは、一時記憶デバイスに転送され、その後１つまたは複数の制御回路に応答して中間レジスタに転送される。不揮発性記憶素子にプログラムされるデータは、その１つまたは複数の制御回路に応答して中間レジスタから一時記憶デバイスに転送される。
【０１２１】
一実施形態は、基板の一部分の上方に配置された不揮発性記憶素子のモノリシック３次元メモリと、不揮発性記憶素子と通信する複数のセンスアンプと、センスアンプと通信する複数の一時記憶デバイスと、一時記憶デバイスおよびセンスアンプと通信する１つまたは複数制御回路と、一時記憶デバイスおよび１つまたは複数制御回路と通信するページレジスタと、ページレジスタと一時記憶デバイスとの間の双方向データバスと、を含む。特定のセンスアンプについて、その特定のセンスアンプ向けのプログラミングデータを格納する目的で使用される一時記憶デバイスの記憶デバイスが、特定のセンスアンプ向けの読出しデータを格納する目的で使用される一時記憶デバイスの記憶デバイスと同じビットの双方向データバスを使用する。センスアンプによって不揮発性記憶素子から読み出されたデータは、一時記憶デバイスに転送され、その後１つまたは複数の制御回路に応答して、双方向データバス経由でページレジスタに転送される。不揮発性記憶素子にプログラムされるデータは、その１つまたは複数制御回路に応答して、双方向データバス経由でページレジスタから一時記憶デバイスに転送される。
【０１２２】
一実施形態は、データと、そのデータを格納するためのリクエストを受け取ることと、基板上にあるが不揮発性記憶素子のモノリシック３次元メモリの下方にはない中間レジスタにデータを転送すること（モノリシック３次元メモリが基板よりも上方にある場合）と、中間レジスタから、基板上にあり、かつモノリシック３次元メモリの下方にある一時記憶デバイスにデータを転送することと、一時記憶デバイスから、基板上にあり、かつモノリシック３次元メモリの下方にある複数のセンスアンプにデータを転送することと、センスアンプ内のデータに基づいて不揮発性記憶素子のサブセットをプログラムすることと、を含む。
【０１２３】
前述の詳細な説明は、例示および説明を目的として提示されている。本発明は、網羅的となる、あるいは本発明を開示されている正確な形態に制限することを意図していない。上記の教示に照らした多くの修正形態および変形形態が考えられる。記載した実施形態は、本発明の原理その実際的応用を最もよく説明し、当業者が様々な実施形態で、検討される特定の使用に適するように様々に修正して本発明を最も良好に利用できるように選定された。本発明の範囲が本明細書に添付される特許請求の範囲により定められることが意図される。
【図１】
2013513903.tif 000003
2013513903.tif 000004
【図２】
2013513903.tif 000005
【図３】
2013513903.tif 000006
【図４Ａ】
2013513903.tif 000007
【図４Ｂ】
2013513903.tif 000008
【図５】
2013513903.tif 000009
【図６】
2013513903.tif 000010
【図７】
2013513903.tif 000011
【図８】
2013513903.tif 000012
【図９】
2013513903.tif 000013
【図１０】
2013513903.tif 000014
【図１１】
2013513903.tif 000015
【図１２】
2013513903.tif 000016
【図１３】
2013513903.tif 000017
【図１４】
2013513903.tif 000018
【図１５】
2013513903.tif 000019
【図１６】
2013513903.tif 000020
【図１７】
2013513903.tif 000021
【国際調査報告】
2013513903.tif 000022
2013513903.tif 000023
2013513903.tif 000024