(57)【特許請求の範囲】
【請求項１】
メモリセルと接続され、複数のビットのデータを保持する第１データラッチと、
前記メモリセルと接続され、複数のビットのデータを保持する第２データラッチと、
入出力回路と接続され、複数のビットのデータを保持する第３データラッチと、
前記入出力回路と接続され、複数のビットのデータを保持する第４データラッチと、
前記第１データラッチと前記第２データラッチを接続し、第１幅を有する第１データバスと、
前記第３データラッチと前記第１データバスを接続し、前記第１幅より小さい幅を有する第２データバスと、
を具備し、
前記第１乃至第４データラッチは、各々、ｉ個のカラムからなり、
２×ｉ個のカラムのうちの少なくとも１つを指定する信号を認識する、
半導体記憶装置。
【請求項２】
前記第２データバスは、さらに前記第４データラッチと前記第１データバスを接続する、
請求項１に記載の半導体記憶装置。
【請求項３】
前記第４データラッチと前記第１データバスを接続し、前記第１幅より小さい幅を有する第３データバスをさらに具備する、
請求項１に記載の半導体記憶装置。
【請求項４】
前記第１データバスと前記第３および第４データラッチとの間に設けられたＸＯＲ演算回路をさらに具備する、
請求項３に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
メモリセルが３次元に配列されたＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
動作速度が向上した半導体記憶装置を提供する。
【課題を解決するための手段】
【０００５】
実施形態にかかる半導体記憶装置は、メモリセルと接続され、複数のビットのデータを保持する第１データラッチと、前記メモリセルと接続され、複数のビットのデータを保持する第２データラッチと、入出力回路と接続され、複数のビットのデータを保持する第３データラッチと、前記入出力回路と接続され、複数のビットのデータを保持する第４データラッチと、前記第１データラッチと前記第２データラッチを接続し、第１幅を有する第１データバスと、前記第３データラッチと前記第１データバスを接続し、前記第１幅より小さい幅を有する第２データバスと、を具備し、前記第１乃至第４データラッチは、各々、ｉ個のカラムからなり、２×ｉ個のカラムのうちの少なくとも１つを指定する信号を認識する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態のメモリシステムの機能ブロックを示す。
【図２】第１実施形態のメモリの機能ブロックを示す。
【図３】第１実施形態のメモリのブロックを示す。
【図４】第１実施形態のメモリのセンスアンプモジュールおよびページバッファの機能ブロックを示す。
【図５】第１実施形態のメモリのセンスアンプモジュールおよびページバッファの一部の要素および接続を示す。
【図６】１セルトランジスタ当たり２ビットの書き込みの前および後におけるセルトランジスタの閾値電圧の分布を示す。
【図７】第１実施形態のメモリシステムでの書き込みの際のタイミングチャートを示す。
【図８】第１実施形態のメモリシステムでのアドレス信号の詳細を示す。
【図９】第１実施形態のメモリコントローラにより認識される記憶空間とメモリによる実際の記憶空間の例を示す。
【図１０】上位ページおよび下位ページの指定を要するアドレス信号の例を示す。
【図１１】第１実施形態のメモリシステムでの読み出し際のタイミングチャートを示す。
【図１２】第１実施形態のメモリシステムでの読み出し際のタイミングチャートを示す。
【図１３】参考用のメモリシステムでの書き込みの際のタイミングチャートを示す。
【図１４】参考用のメモリシステムでの読み出しの際のタイミングチャートを示す。
【図１５】第２実施形態のメモリのセンスアンプモジュールおよびページバッファの一部の要素および接続を示す。
【図１６】第２実施形態のメモリのセンスアンプモジュールおよびページバッファの一部の要素および接続を示す。
【図１７】第２実施形態のメモリシステムでの書き込みの際のタイミングチャートを示す。
【図１８】第２実施形態のメモリシステムでの書き込みの際のタイミングチャートを示す。
【図１９】参考用のメモリシステムでの書き込みの際のタイミングチャートを示す。
【図２０】参考用のメモリシステムでの書き込みの際のタイミングチャートを示す。
【図２１】第３実施形態のメモリのセンスアンプモジュールおよびページバッファの一部の要素および接続を示す。
【図２２】第３実施形態のメモリの一部の要素および接続を示す。
【図２３】第３実施形態のメモリシステムでの書き込みの際のタイミングチャートを示す。
【図２４】参考用のメモリシステムでの書き込みの際のタイミングチャートを示す。
【発明を実施するための形態】
【０００７】
以下に実施形態が図面を参照して記述される。以下の記述において、略同一の機能及び構成を有する構成要素は同一符号を付され、繰り返しの説明は省略される。また、ある実施形態についての記述はすべて、明示的にまたは自明的に排除されない限り、別の実施形態の記述としても当てはまる。
【０００８】
［第１実施形態］
１−１．構成
図１は、第１実施形態に係るメモリシステムの機能ブロックを示す。図１に示されるように、メモリシステム１は、ＮＡＮＤ型フラッシュメモリ（メモリ装置、半導体記憶装置）１００、メモリコントローラ（コントローラ）２００を含む。メモリシステム１は、さらに、ホスト機器３００を含み得る。
【０００９】
ホスト機器３００は、コントローラ２００に対し、メモリ１００における読み出し、書き込み、および消去等の動作を命令する。
【００１０】
コントローラ２００は、ホスト機器３００からの命令に基づいて、メモリ１００を制御する。コントローラ２００は、ホストインターフェイス回路２０１、ＲＡＭ（random access memory）２０２、ＣＰＵ（central processing unit）２０３、バッファメモリ２０４、およびＮＡＮＤインターフェイス回路２０５を含む。ホストインターフェイス回路２０１は、コントローラバスを介してホスト機器３００と接続され、メモリコントローラ２００とホスト機器３００との通信を司る。
【００１１】
ＮＡＮＤインターフェイス回路２０５は、ＮＡＮＤバスを介してメモリ１００と接続され、メモリコントローラ２００とメモリ１００との通信を司る。ＮＡＮＤバスは、Ｉ／Ｏバスを含む。Ｉ／Ｏバスは、複数（例えば８ビット）の幅を有し、データ、コマンド、及びアドレス信号等の要素を伝達する。ＮＡＮＤバスは、また、種々の制御信号を伝送する。制御信号は、レディー・ビジー信号を含む。レディー・ビジー信号は、メモリ１００がレディー状態であるかビジー状態であるかを示す。
【００１２】
ＣＰＵ２０３は、メモリコントローラ２００の全体の動作を制御する。ＲＡＭモリ２０２は、ＣＰＵ２３０の作業領域として使用される。バッファメモリ２０４は、メモリ１００に送信されるデータ、およびモリ１００から送信されたデータを一時的に保持する。
【００１３】
メモリ１００は、複数のメモリセルを含み、データを不揮発に記憶することができる。メモリ１００は、例えば図２に示される要素を有する。図２は、第１実施形態のメモリの機能ブロックを示す。図２に示されるように、メモリ１００は、メモリセルアレイ１０、センスアンプモジュール１１、ページバッファ１２、カラムデコーダ１３、ロウデコーダ１４、入出力回路１５、電圧生成回路１６、およびシーケンサ１７を含む。
【００１４】
メモリセルアレイ１０は、複数の（メモリ）ブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、ＢＬＫ２、・・・）を含む。各ブロックＢＬＫは、複数のストリングユニットＳＵ（ＳＵ０、ＳＵ１、ＳＵ２・・・）を含む。各ストリングユニットＳＵは、複数のＮＡＮＤストリングＮＳを含む。各ストリングＮＳは、複数のメモリセルを含む。セルアレイ１０中には、ビット線、ワード線等の配線が設けられる。
【００１５】
センスアンプモジュール１１は、データをセンスし、また、データを一時的に保持する。
【００１６】
ページバッファ１２は、読み出しデータおよび書き込みデータを、「ページ」とよばれる単位で保持する。１ページの大きさは、例えば１６ＫＢであり、以下の記述はこの例に則る。
【００１７】
カラムデコーダ１３は、カラムアドレス信号を受け取り、カラムアドレスに基づいてビット線と他の要素との接続を制御する。ロウデコーダ１４は、ロウアドレス信号を受け取り、ロウアドレスに基づいてワード線に種々の電圧を印加する。
【００１８】
入出力回路１５は、コントローラ２００とメモリ１００との間の信号の授受を司る。
【００１９】
電圧生成回路１６は、例えばチャージポンプ等を含み、データの書き込み、読み出し、および消去に必要な電圧（電位）を生成する。電圧生成回路１６は、生成した電圧をセンスアンプモジュール１１、ページバッファ１２、カラムデコーダ１３、ロウデコーダ１４等に供給する。
【００２０】
シーケンサ１７は、メモリ１００の全体の動作を制御する。
【００２１】
ブロックＢＬＫは、例えば図３に示される要素および接続を有する。図３は、第１実施形態のメモリのブロックを示す。図３に示されるように、各ＮＡＮＤストリングＮＳは直列接続されたメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）、および選択ゲートトランジスタＳＴ１ならびにＳＴ２を含む。セルトランジスタＭＴは、データを不揮発に保持する。セルトランジスタＭＴは、選択ゲートトランジスタＳＴ１の一端と選択ゲートトランジスタＳＴ２の一端との間に接続されている。
【００２２】
ストリングユニットＳＵｘ（ｘは０または１以上の自然数）中のトランジスタＳＴ１のゲートは、選択ゲート線ＳＧＤｘに接続されている。各トランジスタＳＴ２のゲートは選択ゲート線ＳＧＳに共通に接続されている。
【００２３】
各ストリングユニットＳＵにおいて、複数のストリングＮＳの各々のトランジスタＳＴ１の他端は、相違するビット線ＢＬ（ＢＬ０〜ＢＬ（ｋ−１））に接続されている。ｋは自然数であり、例えば１６ＫＢである。各ビット線ＢＬは、相違するストリングユニットＳＵの各々のストリングＮＳに接続されている。
【００２４】
同一のブロックＢＬＫ中のセルトランジスタＭＴｍ（ｍは０または７以下の自然数）の制御ゲートは、ワード線ＷＬｍに接続されている。１つのストリングユニットＳＵ中で１つのワード線ＷＬに接続されたセルトランジスタＭＴの組（セルの組）に対して、データの書き込みおよび読み出しが一括して行われる。このようなセルの組の記憶空間は、１または複数のページを含む。１ページは、セルの組の中のうちの一部のセルトランジスタＭＴの記憶空間から構成されていてもよい。メモリ１００は、１つのセルトランジスタＭＴにおいて２ビット以上のデータを保持できる。１セルトランジスタＭＴ当たり２ビットのデータの保持の場合、１ストリングユニットＳＵ中でワード線ＷＬを共有するセルトランジスタＭＴの各々の上位ビットの組は上位ページと称され、下位ビットの組は下位ページと称される。
【００２５】
メモリセルアレイ１０は、別の構成を有しても良い。メモリセルアレイ１０の構成は、例えば、“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７、４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６、５２４号に記載されている。更に、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９、９９１号、“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２、０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００２６】
センスアンプモジュール１１およびページバッファ１２は、例えば図４に示される要素および接続を有する。図４は、第１実施形態のセンスアンプモジュールおよびページバッファの機能ブロックを示す。図４に示されるように、センスアンプモジュール１１は、センスアンプＳＡを含む。センスアンプＳＡは、ビット線ＢＬと接続されており、ビット線ＢＬに読み出されたデータをセンスし、また、ビット線ＢＬに書き込みデータを転送する。センスアンプＳＡは、このようなセンスおよび転送を、１ページの大きさのデータに対して実行できる。センスアンプＳＡは、複数のセンスアンプ群ＳＡＵを含む。各センスアンプ群ＳＡＵは、複数のビット（例えば１６ビット。以下の記述はこの例に則る。）のデータのセンスおよび転送を行う。
【００２７】
センスアンプモジュール１１は、さらに、データラッチＳＤＬ、ＬＤＬ、およびＵＤＬを含む。データラッチＳＤＬ、ＬＤＬ、およびＵＤＬは、各々、１ページの大きさのデータを保持できる。データラッチＳＤＬは、複数のデータラッチ群ＳＤＬＵを含む。各データラッチ群ＳＤＬＵは、複数のビット（例えば１６ビット）のデータを保持できる。同様に、データラッチＵＤＬは、複数のデータラッチ群ＵＤＬＵを含む。各データラッチ群ＵＤＬＵは、複数のビット（例えば１６ビット）のデータを保持できる。さらに、データラッチＬＤＬも、複数のデータラッチ群ＬＤＬＵを含む。各データラッチ群ＬＤＬＵは、複数のビット（例えば１６ビット）のデータを保持できる。
【００２８】
ページバッファ１２は、２つのデータラッチＸＤＬ０およびＸＤＬ１を含む。データラッチＸＤＬ０およびＸＤＬ１は、各々、１ページの大きさのデータを保持できる。例えば、データラッチＸＤＬ０は、複数のデータラッチ群ＸＤＬ０Ｕを含む。各データラッチ群ＸＤＬ０Ｕは、複数のビット（例えば１６ビット）のデータを保持できる。データラッチＸＤＬ１は、複数のデータラッチ群ＸＤＬ１Ｕを含む。各データラッチ群ＸＤＬ１Ｕは、複数のビット（例えば１６ビット）のデータを保持できる。
【００２９】
１つのセンスアンプ群ＳＡＵ、１つのデータラッチ群ＳＤＬＵ、１つのデータラッチ群ＬＤＬＵ、１つのデータラッチ群ＵＤＬＵは、データバスＬＢＵＳにより相互に接続されている。データバスＬＢＵＳは、１６ビットの幅を有する。このため、データラッチ群ＳＤＬＵ、データラッチ群ＬＤＬＵ、データラッチ群ＵＤＬＵは、１６ビットのデータを並行して互いに送信および受信できる。
【００３０】
１つのセンスアンプ群ＳＡＵ、１つのデータラッチ群ＳＤＬＵ、１つのデータラッチ群ＬＤＬＵ、１つのデータラッチ群ＵＤＬＵは、データバスＤＢＵＳにより、１つのデータラッチ群ＸＤＬ０および１つのデータラッチ群ＸＤＬ１に接続されている。データバスＤＢＵＳは、１ビットの幅を有する。このため、データラッチ群ＳＤＬＵ、ＬＤＬＵ、およびＵＤＬＵは、データラッチ群ＸＤＬ０と、１ビットずつデータを送信および受信する。同様に、データラッチ群ＳＤＬＵ、ＬＤＬＵ、およびＵＤＬＵは、データラッチ群ＸＤＬ１と、１ビットずつデータを送信および受信する。
【００３１】
データバスＬＢＵＳおよびＤＢＵＳにより接続されているセンスアンプ群ＳＡＵ、およびデータラッチ群ＳＤＬＵ、ＬＤＬＵ、ＵＤＬＵ、ＸＤＬ０Ｕ、ならびにＸＤＬ１Ｕは、１つの組を構成する。センスアンプ群ＳＡＵ、およびデータラッチ群ＳＤＬＵ、ＬＤＬＵ、ＵＤＬＵ、ＸＤＬ０Ｕ、ならびにＸＤＬ１Ｕの組により、１６ビットのデータが扱われる。
【００３２】
センスアンプ群ＳＡＵ、およびデータラッチ群ＳＤＬＵ、ＬＤＬＵ、ＵＤＬＵ、ＸＤＬ０Ｕ、ならびにＸＤＬ１Ｕは、図５に示される要素および接続を有する。図５は、１組のセンスアンプ群ＳＡＵ、およびデータラッチ群ＳＤＬＵ、ＬＤＬＵ、ＵＤＬＵ、ＸＤＬ０Ｕ、ならびにＸＤＬ１Ｕの要素および接続を示す。
【００３３】
センスアンプ群ＳＡＵ、およびデータラッチ群ＳＤＬＵ、ＬＤＬＵ、ならびにＵＤＬＵの組は、１６個のユニットＵ（Ｕ［０］〜Ｕ［１５］）を含む。
【００３４】
各ユニットＵは、１つのビット線ＢＬと接続されており、１つのセンスアンプ回路ＳＡＣ、１つのデータラッチ回路ＳＤＬＣ、１つのデータラッチ回路ＬＤＬＣ、１つのデータラッチ回路ＵＤＬＣを含む。センスアンプ回路ＳＡＣは、接続されたビット線ＢＬに読み出されたデータをセンスし、また、接続されたビット線ＢＬに書き込みデータを転送する。ラッチ回路ＳＤＬＣ、ＬＤＬＣ、およびＵＤＬＣは、各々、１ビットのデータを保持する。ユニットＵ［ｎ］（ｎは０または１５以下の自然数）において、センスアンプ回路ＳＡＣ、およびデータラッチ回路ＳＤＬＣ、ＬＤＬＣ、ならびにＵＤＬＣは、各々、データバスＬＢＵＳ［ｎ］に転送ゲートによって選択的に接続されることが可能であり、データバスＬＢＵＳ［ｎ］を介して相互に接続されることが可能である。データバスＬＢＵＳ［０］〜ＬＢＵＳ［１５］はみな、データバスＤＢＵＳに選択的に接続されることが可能である。
【００３５】
各データラッチ群ＸＤＬ０Ｕは、データラッチ回路ＸＤＬ０Ｃ［０］〜ＸＤＬ０Ｃ［１５］を含む。データラッチ回路ＸＤＬ０Ｃ［０］〜ＸＤＬ０Ｃ［１５］の各々は、データバスＤＢＵＳに選択的に接続されることが可能である。
【００３６】
各データラッチ群ＸＤＬ１Ｕは、データラッチ回路ＸＤＬ１Ｃ［０］〜ＸＤＬ１Ｃ［１５］を含む。データラッチ回路ＸＤＬ１Ｃ［０］〜ＸＤＬ１Ｃ［１５］の各々は、データバスＤＢＵＳに選択的に接続されることが可能である。
【００３７】
末尾において共通の［ｎ］を伴う要素が互いに関連付けられており、関連付けられた要素の間でデータが転送される。すなわち、例えばデータラッチ回路ＸＤＬ０Ｃ［０］は、データラッチ回路ＳＤＬＣ［０］、ＵＤＬＣ［０］、ＬＤＬＣ［０］とデータを授受し、データラッチ回路ＸＤＬ１Ｃ［１］は、データラッチ回路ＳＤＬＣ［１］、ＵＤＬＣ［１］、ＬＤＬＣ［１］とデータを授受する。
【００３８】
データバスＤＢＵＳは、さらに、データバスＩＯＢＵＳに接続されている。データバスＩＯＢＵＳとデータバスＤＢＵＳとの間の接続は、カラムデコーダ１３により制御される。データバスＩＯＢＵＳは、図２の入出力回路１５に接続されている。メモリ１００の外部からの書き込みデータはまず、データラッチＸＤＬ０またはＸＤＬ１により受け取られる。同様に、セルトランジスタＭＴからの読み出しデータは、メモリ１００の外部への出力のために、データラッチＸＤＬ０またはＸＤＬ１に転送される必要がある。
【００３９】
１−２．動作
第１実施形態のメモリシステム１の動作の例が以下に記述される。メモリシステム１の種々の動作のうち、書き込みおよび読み出しの際のコントローラ２００およびメモリ１００の動作が記述される。以下の記述は、１セルトランジスタＭＴ当たり２ビットのデータの保持に基づく。そこで、まず、図６を参照して、１セルトランジスタＭＴ当たり２ビットのデータを保持する方法が記述される。図６は、１セルトランジスタ当たり２ビットの書き込みの前および後におけるセルトランジスタの閾値電圧分布を示す。
【００４０】
各セルトランジスタＭＴの閾値電圧は、保持されるデータに応じて４つの値のいずれかを取る。同じ２ビットデータを保持する複数のセルトランジスタＭＴであっても、互いに相違する閾値電圧を有し得る。このため、閾値電圧は分布を有する。閾値分布は、例えば、Ｅ、Ａ、Ｂ、およびＣレベルと称される。図６（ａ）は書き込まれる前の状態（消去状態）を示す。図６（ａ）に示されるように、セルトランジスタＭＴは、“Ｅ”レベルにある。
【００４１】
図６（ｂ）は書き込まれた状態を示す。図６（ｂ）に示されるように、セルトランジスタＭＴは、Ｅ、Ａ、Ｂ、またはＣレベルにある。Ａレベル中の閾値電圧は、Ｅレベル中の閾値電圧より高い。Ｂレベル中の閾値電圧はＡレベル中の閾値電圧より高い、Ｃレベル中の閾値電圧はＢレベル中の閾値電圧より高い。
【００４２】
４つのレベルが、２ビットデータの４つの状態と関連付けられる。関連付けの例は、以下の通りである。ＥレベルのセルトランジスタＭＴは上位ビットおよび下位ビットにおいて１データを保持している状態として扱われる。ＡレベルのセルトランジスタＭＴは上位ビットにおいて１データを保持し、下位ビットにおいて０データを保持している状態として扱われる。ＢレベルのセルトランジスタＭＴは上位ビットおよび下位ビットにおいて０データを保持している状態として扱われる。ＣレベルのセルトランジスタＭＴは上位ビットにおいて０データを保持し、下位ビットにおいて１データを保持している状態として扱われる。
【００４３】
図６（ａ）の状態から下位ページ（下位ビット）のみが書き込まれた状態を経ない図６（ｂ）の状態への書き込みは、フルシーケンス書き込みと称される。
【００４４】
読み出しは、各セルトランジスタＭＴの閾値電圧の割り出しを含む。閾値電圧の割り出しは、例えば、割り出しの対象の各セルトランジスタＭＴが、Ｅ、Ａ、Ｂ、およびＣレベルのいずれにあるかの割り出しを含む。セルトランジスタのＭＴのレベルの割り出しは、トランジスタＭＴの閾値電圧と、読み出し電圧ＶＡ、ＶＢ、およびＶＣとの比較を含む。電圧ＶＢは電圧ＶＡより大きく、電圧ＶＣは電圧ＶＢより大きい。
【００４５】
電圧ＶＡ未満の閾値電圧を有するセルトランジスタＭＴは、Ｅレベルにあると割り出される。電圧ＶＡ以上かつ電圧ＶＢ未満の閾値電圧を有するセルトランジスタＭＴは、Ａレベルにあると割り出される。電圧ＶＢ以上かつ電圧ＶＣ未満の閾値電圧を有するセルトランジスタＭＴはＢレベルにあると割り出される。電圧ＶＣ以上の閾値電圧を有するセルトランジスタＭＴはＣレベルにあると割り出される。
【００４６】
１−２−１．書き込み
図７を参照して、書き込みの際のコントローラ２００およびメモリ１００の動作の例が記述される。図７は、第１実施形態の書き込みの際のタイミングチャートを示し、フルシーケンスでの書き込みの例に関する。
【００４７】
図７に示されるように、コントローラ２００は、時刻ｔ１から、Ｉ／Ｏバス上で書き込みコマンド８０ｈおよびアドレス信号Ａｄｄをメモリ１００に送信する。アドレス信号は、メモリ１００の記憶空間のうちの、データが書き込まれるべき２つのページアドレスを指定する。書き込み先の２ページは、１つのストリングユニットＳＵ中で１つのワード線ＷＬに接続された（全ての）セルトランジスタＭＴの組による上位ページおよび下位ページである。このような２つのページの指定のために、アドレス信号は、まず、１つのブロックＢＬＫ、１つのストリング（ストリングユニットＳＵ）、および１つのワード線ＷＬを指定する。さらに、アドレス信号は、書き込みコマンドの後に送信される書き込みデータが、２ページの大きさであることを明示する。そのための方法の例が、図８を参照して以下に記述される。
【００４８】
図８は、第１実施形態のメモリシステムでのアドレス信号の詳細を示す。図８は、コントローラ２００とメモリ１００が８ビットの幅のＩ／Ｏバスを有し且つアドレス信号を５つの入力サイクルによって転送する例に基づく。図中のＩ／Ｏ０〜Ｉ／Ｏ７が、Ｉ／Ｏバスを構成し、各々が１ビットのデータを転送する。よって、図８は、Ａ０〜Ａ３９によって計４０ビットのアドレス信号の送信の例に基づく。
【００４９】
図８に示されるように、例えば第１および第２入力サイクルにおける各々のＩ／Ｏ０〜Ｉ／Ｏ７（Ａ０〜Ａ１５）によって、カラムアドレスが伝送される。カラムアドレスは、アクセス対象のカラムを指定する。１つのカラムは、図４のセンスアンプ群ＳＡＵ、およびデータラッチ群ＳＤＬＵ、ＬＤＬＵ、ＵＤＬＵ、ＸＤＬ０Ｕ、ならびにＸＤＬ１Ｕの組による扱われる１６ビットに相当する。
【００５０】
カラムアドレスによって、例えば１ページ中のカラムの数（＝１６ＫＢ／１６＝１ＫＢ）の２倍の数のカラム（＝２ＫＢ）の中から１つのカラムが特定されることが可能である。このことは、コントローラ２００にとっては、１ページが、メモリ１００の実際の１ページの大きさの２倍の大きさ（＝１６ＫＢ×２）を有するように見えることに繋がる。したがって、コントローラ２００は、１セルトランジスタＭＴ当たり２ビットの記憶の場合、１つのワード線ＷＬと接続されたセルトランジスタＭＴの組が、これらのトランジスタＭＴによる上位ページおよび下位ページの組からなる１つのページを保持するものと認識する。具体的には、図９に示されるように、メモリ１００による実際の記憶空間が２ｐ個の１６ＫＢの大きさのページを含むのに対し、コントローラ２００によって認識されるメモリ１００の記憶空間はｐ個の３２ＫＢの大きさのページを含む。なお、本実施形態と異なり１つの書き込みデータが１ページの大きさである場合、カラムアドレス信号は１ページの大きさのカラムを指定する。
【００５１】
図８に戻る。第３入力サイクルのＩ／Ｏ０およびＩ／Ｏ１（Ａ１６〜Ａ１７）によって、ストリングアドレスが伝送される。ストリングアドレスは、アクセス対象のストリング（ストリングユニットＳＵ）を指定する。また、第３入力サイクルのＩ／Ｏ２〜Ｉ／Ｏ７（Ａ１８〜Ａ２３）によって、ワード線アドレスが伝送される。ワード線アドレスは、アクセス対象のワード線ＷＬを指定する。
【００５２】
第４入力サイクルのＩ／Ｏ０（Ａ２４）によって、プレーンアドレスが伝送される。プレーンアドレスは、メモリ１００が複数のプレーンを有する場合にアクセス対象のプレーンを指定する。プレーンは、メモリセルアレイ１０、センスアンプモジュール１１、ページバッファ１２、カラムデコーダ１３、およびロウデコーダ１４の組を含む。
【００５３】
第４入力サイクルのＩ／Ｏ１〜Ｉ／Ｏ７および第５入力サイクルのＩ／Ｏ０〜Ｉ／Ｏ３（Ａ２５〜Ａ３５）によって、ブロックアドレスが伝送される。ブロックアドレスは、アクセス対象のブロックＢＬＫを指定する。第５入力サイクルのＩ／Ｏ４〜Ｉ／Ｏ６（Ａ３６〜Ａ３８）によって、チップアドレスが伝送される。チップアドレスは、メモリシステムが複数のメモリ１００を有する場合にアクセス対象のメモリ１００を指定する。
【００５４】
カラムアドレスが、２ページの大きさに等しいビット数のカラムを指定できることにより、アドレス信号は上位ページまたは下位ページを指定するためのビットの割り当てを必要としなくなる。この場合、図１０に示されるように、上位または下位ページの指定のための情報をあるビット（例えばＡ１６）に割り当てることを排し、後続のビット（Ａ１７以降）を１つ前のビットにシフトさせることができる。図１０は、上位ページおよび下位ページの指定を要するアドレス信号の例を示す。
【００５５】
図７に戻る。コントローラ２００は、時刻ｔ２から下位ページに書き込まれるデータ（ＬｏｗｅｒＤＩＮ）をメモリ１００に送信する。さらにコントローラ２００は、データＬｏｗｅｒＤＩＮに続けて、上位ページに書き込まれるデータ（ＵｐｐｅｒＤＩＮ）をメモリ１００に送信する。データＬｏｗｅｒＤＩＮは、シーケンサ１７によって、２つのデータラッチＸＤＬ０およびＸＤＬ１の一方（例えばデータラッチＸＤＬ０。以下の記述はこの例に則る。）に保持され、データＵｐｐｅｒＤＩＮは、２つのデータラッチＸＤＬ０およびＸＤＬ１の他方（例えばデータラッチＸＤＬ１。以下の記述はこの例に則る。）に保持される。書き込みの開始の時点で、データラッチＸＤＬ０およびＸＤＬ１は、いずれも有効なデータを保持しておらず、書き込みデータを受け入れることができる。
【００５６】
データＬｏｗｅｒＤＩＮおよびＵｐｐｅｒＤＩＮは連続して送信され、データＬｏｗｅｒＤＩＮおよびＵｐｐｅｒＤＩＮの境界は明示されない。このため、シーケンサ１７は、データの受信の開始とともに、この受け取られたデータを、まず、データラッチＸＤＬ０に保持し始める。そして、シーケンサ１７は、１ページの大きさのデータがデータラッチＸＤＬ０に保持され終わると、受け取られた１ページの大きさのデータに後続する別の１ページの大きさのデータを、受け取りの開始とともにデータラッチＸＤＬ１に保持し始める。こうして、２ページの大きさのデータの先頭から１ページの大きさの部分（データＬｏｗｅｒＤＩＮ）がデータラッチＸＤＬ０に保持され、後続の１ページの大きさの部分（データＵｐｐｅｒＤＩＮ）がデータラッチＸＤＬ１に保持される。シーケンサ１７は、データラッチＸＤＬ０およびＸＤＬ１のいずれがデータＬｏｗｅｒＤＩＮまたはＵｐｐｅｒＤＩＮを保持しているかを認識している。
【００５７】
コントローラ２００は、さらに、データＵｐｐｅｒＤＩＮに続けて、コマンド１０ｈをメモリ１００に送信する。コマンド１０ｈは、フルシーケンス書き込みの開始を指示する。シーケンサ１７は、メモリ１００によってコマンド１０ｈが受け取られたことに基づいて、フルシーケンス書き込みの開始の指示を認識する。具体的には、シーケンサ１７は、アドレス信号Ａｄｄにより指定されるブロックＢＬＫ中の指定されたストリングユニットＳＵ中の指定されたワード線ＷＬと接続されたセルトランジスタＭＴの組の記憶空間に、２ページの大きさのデータをフルシーケンス書き込みによって書き込むことを認識する。メモリ１００は、コマンド１０ｈを受け取ると、時刻ｔ３から、ビジー状態に移行し、レディー・ビジー信号Ｒ／Ｂによってビジー状態を示す。
【００５８】
フルシーケンス書き込みは、ポンプセットアップ（ＰＭＰ  ＯＮ）、データ転送、書き込み、ポンプリカバリ等の動作を含んでいる。ポンプセットアップは、電圧生成回路１６による書き込みに必要な電圧の生成を指し、ワード線ＷＬ、および選択ゲート線ＳＧＤならびにＳＧＳへ印加される電圧の生成、データバスＤＢＵＳの動作に必要な電圧の生成を含む。ポンプリカバリ（ＰＭＰ  ＲＣＶ）は、電圧生成回路１６の初期化を指す。
【００５９】
データ転送は、ラッチＸＤＬ０中のデータＬｏｗｅｒＤＩＮをデータラッチＳＤＬ、ＵＤＬ、ならびにＬＤＬの１つ（例えばデータＬＤＬ。以下の記述はこの例に則る。）へ転送すること（ＸｔｏＬ）、およびデータラッチＸＤＬ１中のデータＵｐｐｅｒＤＩＮをデータラッチＳＤＬ、ＵＤＬ、ならびにＬＤＬの別の１つ（例えばデータラッチＵＤＬ。以下の記述はこの例に則る。）へ転送すること（ＸｔｏＵ）を含む。
【００６０】
書き込みは、ワード線ＷＬ、選択ゲート線ＳＧＤならびにＳＧＳへの所定の電位の印加、および書き込まれたデータのベリファイ等を含む。書き込みの結果、書き込み先のアドレスにより指定される上位ページおよび下位ページに、データが書き込まれる。すなわち、シーケンサ１７は、データＬｏｗｅｒＤＩＮおよびＵｐｐｅｒＤＩＮから、選択（指定）されたワード線（選択ワード線）ＷＬと接続されたセルトランジスタＭＴの各々が、Ｅレベルに維持されるべきか、またはＡ、Ｂ、およびＣレベルのいずれに書き込まれるべきかを割り出す。次いで、シーケンサ１７は、センスアンプモジュール１１およびロウデコーダ１４の制御を通じて、選択ワード線ＷＬと接続された各セルトランジスタＭＴをＥレベルに維持するか、あるいはＡ、Ｂ、またはＣレベルの閾値電圧に設定する。ベリファイを含めてデータの書き込みが終了すると、シーケンサ１７は、ポンプリカバリを行う。ポンプリカバリが終了すると、レディー・ビジー信号Ｒ／Ｂによってレディー状態を示す。こうして、コントローラ２００及びメモリ１００による書き込み動作が終了する。
【００６１】
１−２−２．読み出し
図１１および図１２を参照して、読み出しの際のコントローラ２００およびメモリ１００の動作の例が記述される。図１１および図１２は、第１実施形態のメモリシステムでの読み出し際のタイミングチャートを示す。
【００６２】
読み出しは２つの方法を含む。第１の読み出しは、１つのワード線ＷＬと接続されたセルトランジスタＭＴの組の記憶空間の上位および下位ページの両方を１組のコマンドにより指定する。第２の読み出しは、１つのワード線ＷＬと接続されたセルトランジスタＭＴの組の記憶空間中の上位ページのみまたは下位ページのみを１組のコマンドにより指定する。図１１は第１の読み出しの例に基づき、図１２は第２の読み出しの例に基づく。
【００６３】
第１の読み出しでは、図１１に示されるように、時刻ｔ１１から、コントローラ２００は、読み出しコマンド００ｈおよびアドレス信号Ａｄｄをメモリ１００に送信する。コマンド００ｈは、後続のアドレス信号Ａｄｄにより指定されたワード線ＷＬと接続されたセルトランジスタＭＴからの読み出しを指示する。アドレス信号Ａｄｄは、書き込みの場合と同じく、カラムアドレスによって２ページの大きさのカラムの少なくとも１つを指定する（図８を参照されたい）。コントローラ２００は、次いで、コマンド３０ｈをメモリ１００に送信する。コマンド３０ｈは、読み出しの開始を指示する。
【００６４】
コマンド３０ｈがメモリ１００によって受け取られると、シーケンサ１７は、時刻ｔ１２から、ポンプセットアップを行い、次いで読み出しを行う。読み出しは、ワード線ＷＬ、および選択ゲート線ＳＧＤならびにＳＧＳへの所定の電位の印加等を含む。読み出しは、指定されたワード線ＷＬと接続された（読み出し対象の）各セルトランジスタＭＴの閾値電圧の割り出しを含む。
【００６５】
図１１は、Ａ、Ｂ、およびＣレベルの順の割り出しの例を示す。まず、シーケンサ１７は、読み出し対象のセルトランジスタＭＴが、電圧ＶＡ以上の大きさの閾値電圧を有するかを割り出す（Ａ読み出し（ＡＲ））。電圧ＶＡ未満の閾値電圧を有するセルトランジスタＭＴは、Ｅレベルにあると割り出される。次に、シーケンサ１７は、全ての読み出し対象のセルトランジスタＭＴのうちＥレベルにあると割り出されたものを除くセルトランジスタ（Ｂ読み出し対象のセルトランジスタ）ＭＴが、電圧ＶＢ以上の大きさの閾値電圧を有するかを割り出す（Ｂ読み出し（ＢＲ））。Ｂ読み出し対象のセルトランジスタＭＴのうち、電圧ＶＢ未満の大きさの閾値電圧を有するセルトランジスタＭＴはＡレベルにあると割り出される。
【００６６】
同様にして、シーケンサ１７は、全ての読み出し対象のセルトランジスタＭＴのうちＥまたはＡレベルにあると割り出されたものを除くセルトランジスタ（Ｃ読み出し対象のセルトランジスタ）ＭＴが、電圧ＶＣ以上の大きさの閾値電圧を有するかを割り出す（Ｃ読み出し（ＣＲ））。Ｃ読み出し対象のセルトランジスタＭＴのうち、電圧ＶＣ未満の大きさの閾値電圧を有するセルトランジスタＭＴはＢレベルにあると割り出され、電圧ＶＣ以上の大きさの閾値電圧を有するセルトランジスタＭＴはＣレベルにあると割り出される。
【００６７】
シーケンサ１７は、割り出されたセルトランジスタＭＴのレベルを用いて、下位ページの読み出しデータ（ＬｏｗｅｒＤＯＵＴ）および上位ページの読み出しデータ（ＬｏｗｅｒＤＯＵＴ）を作成する。データＬｏｗｅｒＤＯＵＴは、読み出し対象のセルトランジスタＭＴの組の中の各セルトランジスタＭＴの下位ビットの値の組を含む。データＵｐｐｅｒＤＯＵＴは、読み出し対象のセルトランジスタＭＴの組の中の各セルトランジスタＭＴの上位ビットの値の組を含む。データＬｏｗｅｒＤＯＵＴは、例えばデータラッチＬＤＬに保持され、データＵｐｐｅｒＤＯＵＴは、例えばデータラッチＵＤＬに保持される。
【００６８】
次に、シーケンサ１７は、時刻ｔ１３から、データラッチＬＤＬ中のデータＬｏｗｅｒＤＯＵＴを２つのデータラッチＸＤＬ０およびＸＤＬ１の一方（例えばＸＤＬ０。以下の記述はこの例に則る。）に転送する。さらに、シーケンサ１７は、データラッチＵＤＬ中のデータＵｐｐｅｒＤＯＵＴを２つのラッチＸＤＬ０およびＸＤＬ１の他方（例えばＸＤＬ１。以下の記述はこの例に則る。）に転送する。データラッチＸＤＬ０およびＸＤＬ１中のデータＬｏｗｅｒＤＯＵＴおよびＵｐｐｅｒＤＯＵＴは、シーケンサ１７の制御により、コントローラ２００に送信される。次いで、シーケンサ１７は、ポンプリカバリを行い、読み出しを終了する。
【００６９】
第２の読み出しでは、図１２に示されるように、コントローラ２００は、読み出しコマンド００ｈの前にプリフィックスコマンドＸＸｈまたはＹＹｈをメモリ１００に送信する。プリフィックスコマンドＸＸｈは、続く読み出しコマンド００ｈが下位ページからの読み出しを指示することを示す。プリフィックスコマンドＹＹｈは、続く読み出しコマンド００ｈが、上位ページからの読み出しを指示することを示す。
【００７０】
メモリ１００は、コマンドＸＸｈおよび００ｈを続けて受け取ると、続くアドレス信号Ａｄｄ１により指定されるセルトランジスタＭＴの組の下位ページからデータを読み出す。下位ページからのデータの読み出しの詳細は、あるレベルと上位ビットおよび下位ビットへの値の割り当てに依存して相違する。図６の例に基づく例は以下の通りである。シーケンサ１７は、Ａ読み出しおよびＣ読み出しを行う。ＡおよびＣ読み出しの結果、ＥレベルまたはＣレベルにあるトランジスタＭＴが特定される。ＥまたはＣレベルにあるセルトランジスタＭＴは、下位ビットにおいて１データを保持する。このことに基づいて、下位ページのデータＬｏｗｅｒＤＯＵＴが生成される。生成されたデータＬｏｗｅｒＤＯＵＴは例えばデータラッチＬＤＬに保持され、次いでデータラッチＸＤＬ０に転送され、コントローラ２００に送信される。
【００７１】
一方、メモリ１００は、コマンドＹＹｈおよび００ｈを続けて受け取ると、続くアドレス信号Ａｄｄ２により指定されるセルトランジスタＭＴの組の上位ページからデータを読み出す。上位ページからのデータの読み出しの詳細は、あるレベルと上位ビットおよび下位ビットへの値の割り当てに依存して相違する。図６の例に基づく例は以下の通りである。シーケンサ１７は、Ｂ読み出しを行う。Ｂ読み出しの結果、ＥまたはＡレベルにあるトランジスタＭＴが特定される。ＥまたはＡレベルにあるセルトランジスタＭＴは、上位ビットにおいて１データを保持する。このことに基づいて、上位ページのデータＵｐｐｅｒＤＯＵＴが生成される。生成されたデータＵｐｐｅｒＤＯＵＴは例えばデータラッチＵＤＬに保持され、次いでデータラッチＸＤＬ１に転送され、コントローラ２００に送信される。
【００７２】
上位ページまたは下位ページからの読み出しは、コントローラ１００にとって、指定したワード線ＷＬと接続されたセルトランジスタＭＴの組による１６ＫＢ×２の大きさのページの前半または後半からの読み出しに相当する。
【００７３】
１−３．効果（利点）
第１実施形態によれば、以下の利点を得られる。まず、比較のために、メモリでのデータの入出力のための１つのデータラッチ（例えばデータラッチＸＤＬ）のみを有するメモリに対するフルシーケンス書き込みの例が図１３を参照して記述される。図１３に示されるように、コントローラは、書き込みコマンドＵＵｈ、アドレス信号Ａｄｄ１、データＬｏｗｅｒＤＩＮ、コマンドＷＷｈをメモリに送信する。アドレス信号Ａｄｄ１は、ブロック、ストリング、およびワード線、ならびに上位ページまたは下位ページを指定する。受け取られたデータＬｏｗｅｒＤＩＮはデータラッチＸＤＬに保持される。コマンドＷＷｈは１ページ目のデータが送信されたことを示し、メモリはコマンドＷＷｈを受け取ると、ポンプセットアップを行い、データＬｏｗｅｒＤＩＮをデータラッチ（例えばデータラッチＬＤＬ）に転送し（ＸｔｏＬ）、ポンプリカバリを行う。データＬｏｗｅｒＤＩＮの転送の完了により、データラッチＸＤＬは再びデータを受け入れることができる。
【００７４】
メモリがレディー状態になると、コントローラは、書き込みコマンドＵＵｈ、アドレス信号Ａｄｄ２、データＵｐｐｅｒＤＩＮ、コマンドＺＺｈをメモリに送信する。受け取られたデータＬｏｗｅｒＤＩＮはデータラッチＸＤＬに保持される。コマンドＺＺｈは、フルシーケンス書き込みの開始を指示し、これを受けてメモリは、ポンプセットアップを行い、データＵｐｐｅｒＤＩＮをデータラッチ（例えばデータラッチＵＤＬ）に転送する（ＸｔｏＵ）。この結果、フルシーケンス書き込みの開始の準備が整い、メモリはフルシーケンス書き込みを行う。
【００７５】
一方、第１実施形態によれば、メモリ１００は、データバスＩＯＢＵＳと接続された２つのデータラッチＸＤＬ０およびＸＤＬ１を有する。このため、メモリ１００は、データラッチＸＤＬ０またはＸＤＬ１からの別のデータラッチ（データラッチＬＤＬまたはＵＤＬ等）へのデータの転送を要することなく、２ページ分のデータをデータラッチＸＤＬ０およびＸＤＬ１によって保持できる。よって、メモリ１００は、フルシーケンス書き込みのための２ページの大きさのデータを連続して（１つの書き込みコマンドに後続して）受け取ることができる。このことは、図１３の比較例のように、２回の書き込みコマンドＵＵｈの送信の必要性を排する。この結果、図１３との比較から明らかなように、第１実施形態は、１回のポンプセットアップおよび１回のポンプリカバリしか必要としない。この結果、第１実施形態でのフルシーケンス書き込みに要する時間は、図１３の例でのものより短い。
【００７６】
読み出しの場合も同様である。すなわち、比較のための例のコントローラおよびメモリでの２ページの連続した読み出しでは、図１４に示されるように、２つの読み出しコマンド００ｈが送信される必要がある。このため、下位ページ読み出しと上位ページ読み出しの各々のためのポンプセットアップおよびポンプリカバリが必要である。
【００７７】
一方、第１実施形態によれば、図１１から分かるように、２ページの読み出しのために、１回のポンプセットアップおよびポンプリカバリのみを要する。このため、第１実施形態での２ページの連続した読み出しに要する時間は、図１４例でのものより短い。
【００７８】
さらに、第１実施形態によれば、プリフィックスコマンドＸＸｈおよびＹＹｈの導入により、下位または上位ページのみの読み出しも可能である。３以上の連続したページの読み出しでは、１つの書き込みコマンドで上位および下位ページの読み出しを指示する方が図１４の読み出しより効率が良い。一方、上位または下位ページのみの読み出しでは、図１２の読み出しの方が図１１の読み出しより効率が良い。２つの読み出しのいずれも可能とすることにより、メモリ１００の利便性は高い。
【００７９】
［第２実施形態］
第２実施形態に係るＮＡＮＤ型フラッシュメモリが、図１５〜図２０を参照して記述される。
【００８０】
２−１．構成
第２実施形態に係るＮＡＮＤ型フラッシュメモリは、センスアンプモジュール１１およびページバッファ１２の構成の点において、第１実施形態と異なる。その他の構成については、第１実施形態と同じである。
【００８１】
第２実施形態のセンスアンプモジュール１１およびページバッファ１２は、図１５に示される要素および接続を有する。図１５は、第２実施形態のセンスアンプモジュール１１およびページバッファ１２の機能ブロックを示す。図１５に示されるように、第２実施形態では、１つのセンスアンプ群ＳＡＵ、１つのデータラッチ群ＳＤＬＵ、１つのデータラッチ群ＬＤＬＵ、１つのデータラッチ群ＵＤＬＵは、データバスＤＢＵＳ０により１つのデータラッチ群ＸＤＬ０Ｕに接続され、かつデータバスＤＢＵＳ１により１つのデータラッチ群ＸＤＬ１Ｕに接続されている。データバスＤＢＵＳ０およびＤＢＵＳ１は、１ビットの幅を有する。
【００８２】
図１６は、１つのセンスアンプ群ＳＡＵ、１つのデータラッチ群ＳＤＬＵ、１つのデータラッチ群ＬＤＬＵ、１つのデータラッチ群ＵＤＬＵ、１つのデータラッチ群ＸＤＬ０Ｕ、１つのデータラッチ群ＸＤＬ１Ｕの詳細を示す。
【００８３】
データバスＬＢＵＳ［０］〜ＬＢＵＳ［１５］はみな、データバスＤＢＵＳ０に選択的に接続されることが可能であり、かつデータバスＤＢＵＳ１に選択的に接続されることが可能である。
【００８４】
データバスＤＢＵＳ０は、スイッチＳＷ１１を介して、データバスＤＢＵＳ０ａに接続されている。データバスＤＢＵＳ０ａは１ビットの幅を有し、また、データラッチ回路ＸＤＬ０Ｃ［０］〜ＸＤＬ０Ｃ［１５］の各々に、選択的に接続されることが可能である。データバスＤＢＵＳ０ａは、さらに、スイッチＳＷ１２を介してデータバスＩＯＢＵＳに接続されている。
【００８５】
データバスＤＢＵＳ１は、スイッチＳＷ２１を介して、データバスＤＢＵＳ１ａに接続されている。データバスＤＢＵＳ１ａは１ビットの幅を有し、また、データラッチ回路ＸＤＬ１Ｃ［０］〜ＸＤＬ１Ｃ［１５］の各々に、選択的に接続されることが可能である。データバスＤＢＵＳ１ａは、さらに、スイッチＳＷ２２を介してデータバスＩＯＢＵＳに接続されている。
【００８６】
スイッチＳＷ１１、ＳＷ１２、ＳＷ２１、ＳＷ２２は、例えばＭＯＳＦＥＴ（metal oxide semiconductor field effect transistor）であり、カラムデコーダ１３およびシーケンサ１７によりオンまたはオフされる。スイッチＳＷ１１は、データラッチＸＤＬ０（すなわちデータバスＤＢＵＳ０ａ）とデータバスＤＢＵＳ０（ひいてはデータバスＬＢＵＳ［０］〜ＬＢＵＳ［１５］）の接続のためにオンされる。スイッチＳＷ１２は、データバスＤＢＵＳ０ａとデータバスＩＯＢＵＳの接続のためにオンされる。スイッチＳＷ２１は、データラッチＸＤＬ１（すなわちデータバスＤＢＵＳ１ａ）とデータバスＤＢＵＳ１（ひいてはＬＢＵＳ［０］〜ＬＢＵＳ［１５］）の接続のためにオンされる。スイッチＳＷ２２は、データバスＤＢＵＳ１ａとデータバスＩＯＢＵＳの接続のためにオンされる。スイッチＳＷ１１およびＳＷ２１の一方がオンしている間、他方はオフに維持される。スイッチＳＷ１２およびＳＷ２２の一方がオンしている間、他方はオフに維持される。
【００８７】
２−２．動作
第２実施形態のメモリシステム１の動作の例が以下に記述される。特に、２つの書き込みのケースにおけるコントローラ２００およびメモリシステム１００の動作が記述される。第１の書き込みは、通常の書き込みである。第２の書き込みは、書き込み中に割り込み処理が入った場合の書き込みである。
【００８８】
２−２−１．第１書き込み例
第１書き込み例が、図１７を参照して記述される。図１７は、第２実施形態のメモリシステムでの書き込みの際のタイミングチャートを示し、１つの書き込みコマンド８０ｈで１ページの大きさのデータの書き込みを指示し、かつ複数のページへの連続した書き込みの指示の例に基づく。書き込みの開始の時点で、データラッチＸＤＬ０およびＸＤＬ１は、いずれもデータを保持していない。
【００８９】
図１７に示されるように、コントローラ２００は、時刻ｔ３１から、Ｉ／Ｏバス上で書き込みコマンド８０ｈおよびアドレス信号Ａｄｄ１をメモリ１００に送信する。アドレス信号Ａｄｄ１は、アドレス信号Ａｄｄ１に続く書き込みデータＤａｔａ１の書き込み先を指定し、具体的には１つのブロック中の１つのストリング中の１つのワード線ＷＬ、および下位ページまたは上位ページを指定する。データＤａｔａ１は、メモリ１００によって受け取られると、シーケンサ１７の制御によって、データラッチＸＤＬ０およびＸＤＬ１の空いている方に保持される。例として、データＤａｔａ１は、データラッチＸＤＬ０に保持される。コントローラ２００は、データＤａｔａ１の出力を終えると、コマンド１５ｈをメモリ１００に送信する。コマンド１５ｈは、さらなる書き込みデータの存在を示す。
【００９０】
コマンド１５ｈがメモリ１００によって受け取られると、シーケンサ１７は、時刻ｔ３２からデータＤａｔａ１の書き込みを開始する。その一環として、シーケンサ１７は、データラッチＸＤＬ０中のデータＤａｔａ１を使用して種々の演算を行う。演算の実行のために、シーケンサ１７は、データラッチＸＤＬ０中のデータＤａｔａ１をデータラッチＳＤＬ、ＵＤＬ、およびＬＤＬのいずれかに転送する。転送は、数回起こり得る。データラッチＸＤＬ０でのデータＤａｔａ１の保持は時刻ｔ３５まで継続する。また、データＤａｔａ１の書き込みは時刻３７まで継続し、指定されたセルトランジスタＭＴにデータＤａｔａ１が書き込まれる。
【００９１】
コマンド１５ｈがメモリ１００によって受け取られると、メモリ１００は時刻ｔ３２においてビジー状態になるが、すぐに時刻ｔ３３においてレディー状態に復帰する。データラッチＸＤＬ０にはデータが依然保持されておりかつデータラッチＸＤＬ０からのデータの転送を含めてデータＤａｔａ１の書き込みは時刻ｔ３３においても継続しているものの、メモリ１００がデータラッチＸＤＬ１によってさらなる書き込みデータを受け入れ可能だからである。
【００９２】
コントローラ２００は、メモリ１００がレディー状態であることを知り、時刻ｔ３３の後、次の書き込みコマンド８０ｈをメモリ１００に送信する。続けて、コントローラ２００は、アドレス信号Ａｄｄ２、書き込みデータＤａｔａ２、コマンド１５ｈをメモリ１００に送信する。データＤａｔａ２は、メモリ１００によって受け取られると、シーケンサ１７の制御によって、データラッチＸＤＬ０およびＸＤＬ１の空いている方（本例ではデータラッチＸＤＬ１）に保持される。コントローラ２００は、書き込みデータＤａｔａ２の出力を終えると、時刻ｔ３４からコマンド１５ｈをメモリ１００に送信する。これに基づいて、シーケンサ１７は、データＤａｔａ１についてと同様にして、時刻ｔ３７からデータＤａｔａ２を指定されたセルトランジスタＭＴに書き込む。この書き込みの間も、データＤａｔａ２はデータラッチＸＤＬ１に保持され続ける。
【００９３】
メモリ１００は、コマンド１５ｈを受け取ると、ビジー状態に移行する。ビジー状態は、データラッチＸＤＬ０によるデータＤａｔａ１の保持の終了（時刻ｔ３５）まで継続する。データラッチＸＤＬ０およびＸＤＬ１の両方にデータが保持されていて、メモリ１００がさらなるデータを受け入れることができないからである。時刻ｔ３５においてデータラッチＸＤＬ０が解放されると、メモリ１００はレディー状態に移行する。
【００９４】
コントローラ２００は、メモリ１００がレディー状態に移行したことを知り、時刻ｔ３６からデータＤａｔａ３の書き込みのためのコマンド、アドレス信号Ａｄｄ３、データの送信を行う。データＤａｔａ３は、時刻ｔ３５においてデータの保持を終了したデータラッチＸＤＬ０に保持される。データＤａｔａ３のための時刻ｔ３６からの動作は、データＤａｔａ１またはＤａｔａ２のための動作と同様である。
【００９５】
２−２−２．第２書き込み例
第２書き込み例が、図１８を参照して記述される。図１８は、第２実施形態のメモリシステムでの書き込みの際のタイミングチャートを示す。図１８に示されるように、コントローラ２００は、時刻ｔ４１から、書き込みコマンド８０ｈ、アドレス信号Ａｄｄ１、書き込みデータＤａｔａ１をメモリ１００に送信する。メモリ１００が書き込みデータＤａｔａ１を受け取り始めると、シーケンサ１７は書き込みデータＤａｔａ１をデータラッチＸＤＬ０およびＸＤＬ１の空いている方（例えばデータラッチＸＤＬ０。以下の記述はこの例に則る。）に保持し始める。
【００９６】
次いで、コントローラ２００は、例えばホスト機器３００から、書き込みコマンド８０ｈに起因する書き込みの完了の前にデータの読み出しを指示される。この指示に基づいて、コントローラ２００は、時刻ｔ４２において、データＤａｔａ１の送信を中断する。時刻ｔ４２の時点で、データラッチＸＤＬ０は、すでに受け取った、書き込みデータＤａｔａ１の先頭からの部分Ｄａｔａ１（ａ）を保持しており、この部分を引き続き、保持し続ける。
【００９７】
また、コントローラ２００は、時刻ｔ４２から、読み出しコマンドＸ０ｈをメモリ１００に送信する。読み出しコマンドＸ０ｈは、先行する書き込みコマンド８０ｈと、後続のアドレス信号および書き込み開始コマンド（例えばコマンド１５ｈ）の送信前に発行されることが可能である。すなわち、メモリ１００は、書き込みコマンド８０ｈの受信の後、対の書き込み開始コマンド１５ｈの受信前に受け取られた読み出しコマンドＸ０ｈを、正しい手順に則って発行されたコマンドとして認識する。
【００９８】
コントローラ２００は、コマンドＸ０ｈに続いて、アドレス信号Ａｄｄ２および読み出し開始コマンド３０ｈをメモリ１００に送信する。アドレス信号Ａｄｄ２は、読み出し元のアドレスを指定する。
【００９９】
コマンド３０ｈがメモリ１００によって受け取られると、シーケンサ１７は、指定されたアドレスからデータＤａｔａ２を読み出す。データＤａｔａ２は、データラッチＳＤＬ、ＵＤＬ、およびＬＤＬのいずれかに読み出され、さらに、メモリ１００からの出力に備えて、データラッチＸＤＬ０およびＸＤＬ１の空いている方（本例では、データラッチＸＤＬ１）に転送される。
【０１００】
コントローラ２００は、コマンド３０ｈの送信の後に読み出しデータのメモリ１００からの出力の準備のための時間が必要であることを認識している。そこで、コントローラ２００は、この準備のための時間を利用して、書き込みデータＤａｔａ１の送信の再開を行う。具体的には、コントローラ２００は、コマンド３０ｈの送信後の時刻ｔ４３から、データＤａｔａ１ｂをＩ／Ｏバス上で、メモリ１００に送信する。データＤａｔａ１（ｂ）は、データＤａｔａ１のうちのデータＤａｔａ１（ａ）に続く部分である。シーケンサ１７は、書き込みコマンド８０ｈと対をなす書き込み開始コマンド１５ｈをまだ受信していないことに基づいて、データＤａｔａ１（ｂ）が、書き込みコマンド８０ｈによる書き込み対象のデータであることおよびデータＤａｔａ１（ａ）に後続する部分であることを認識する。この認識に基づいて、シーケンサ１７は、データＤａｔａ１（ｂ）を、データラッチＸＤＬ０のうちのデータＤａｔａ１（ａ）に続く部分に保持する。
【０１０１】
データＤａｔａ１（ｂ）の送信後の時刻ｔ４４から、コントローラ２００は、コマンドＸ１ｈをメモリ１００に送信する。コマンドＸ１は、データＤａｔａ１の一部（データＤａｔａ１（ｂ））の送信が終了したことおよびデータＤａｔａ１のさらなる部分の送信が終わっていないことを示す。シーケンサ１７は、コマンドＸ１ｈの受信に基づいて、データＤａｔａ１（ｂ）のメモリ１００への送信の終了によりデータＤａｔａ２の出力が可能であることを知る。このことに基づいて、シーケンサ１７は、時刻ｔ４５から、データラッチＸＤＬ１中のデータＤａｔａ２をＩ／Ｏバス上でコントローラ２００に送信する。
【０１０２】
コントローラ２００は、読み出しデータＤａｔａ２を受け取り終えると、書き込みデータＤａｔａ１の送信を再開する。そのために、コントローラ２００は、時刻ｔ４６から、コマンドＸ２ｈをメモリ１００に送信する。コマンドＸ２ｈは、後続のデータＤａｔａ１（ｃ）の送信の開始を示すとともに、データＤａｔａ１（ｃ）が、データＤａｔａ１のうちの最後に送信された部分（データＤａｔａ１（ｂ））に後続する部分であることを示す。コントローラ２００は、コマンドＸ２ｈに続けて、データＤａｔａ１（ｃ）をメモリ１００に送信する。データＤａｔａ１（ｃ）は、メモリ１００によって受け取られると、シーケンサ１７の制御によってデータラッチＸＤＬ０のうちのデータＤａｔａ１（ｂ）に続く部分に保持される。こうして、書き込みデータＤａｔａ１の全体が、データラッチＸＤＬ０に保持されるに至る。
【０１０３】
コントローラ２００は、データＤａｔａ１ｃの送信が完了すると、書き込み開始コマンド１５ｈをメモリ１００に送信する。コマンド１５ｈがメモリ１００によって受け取られると、シーケンサ１７は、データラッチＸＤＬ０中の書き込みデータＤａｔａ１を、アドレス信号Ａｄｄ１により指定されたセルトランジスタＭＴに書き込む。
【０１０４】
なお、図１８は、データラッチＸＤＬ１が、データＤａｔａ２を、出力後も保持する例を示す。この例に基づいて、メモリ１００は、コマンド１５ｈの受領後、ビジー状態に移行する。データラッチＸＤＬ０およびＸＤＬ１がデータを保持しているからである。しかしながら、データＤａｔａ２の出力後、データラッチＸＤＬ１が解放されてもよい。こうすることにより、メモリ１００は、コマンド１５ｈの受領後、速やかにレディー状態に戻って、データラッチＸＤＬ１を使用したさらなる動作を行うことができる。
【０１０５】
２−２−３．その他
第２実施形態の構成において、第１実施形態の動作が行われることも可能である。すなわち、書き込みの際は、フルシーケンス書き込みのための上位ページおよび下位ページのデータが、１つの書き込みコマンドの後に、続けてメモリ１００により受け取られる。読み出しの際は、１つの読み出しコマンドに応答して、上位ページのデータおよび下位ページのデータの一方がデータラッチＸＤＬ０およびＸＤＬ１の一方に、他方がデータラッチＸＤＬ０およびＸＤＬ１の他方に保持される。
【０１０６】
２−３．効果（利点）
第２実施形態によれば、以下の利点を得られる。まず、比較のために、入出力のための１つのデータラッチ（例えばデータラッチＸＤＬ）のみを有するメモリに対する複数ページへの連続した書き込みの例が図１９を参照して記述される。図１９に示されるように、メモリ１００は、データＤａｔａ１およびコマンド１５ｈを受け取ると、時刻ｔ５２においてビジー状態に移行する。データＤａｔａ１を用いた演算のためにデータＤａｔａ１のデータラッチＳＤＬ、ＬＤＬ、またはＵＤＬへの繰り返しの転送が必要であり、そのためにデータＤａｔａ１によりデータラッチＸＤＬが使用されているからである。また時刻ｔ５２からデータＤａｔａ１のセルトランジスタへの書き込みが開始する。
【０１０７】
コントローラは、データラッチＸＤＬが解放されてメモリがレディー状態に移行するまで、次の書き込みコマンドおよびデータの送信を保留している必要がある。データラッチＸＤＬでのデータＤａｔａ１の保持の必要性が消滅し、時刻ｔ５３においてメモリがレディー状態に移行すると、コントローラはさらなる書き込みコマンド８０ｈ、アドレス信号Ａｄｄ２、およびデータＤａｔａ２をメモリに送信する。メモリは、書き込みデータＤａｔａ２を受け取ると、書き込みのためにデータＤａｔａ２をデータラッチＳＤＬ、ＬＤＬ、またはＵＤＬに送信するとともに書き込みを開始する。ところが、データＤａｔａ２の大きさが大きい場合等、データラッチＸＤＬによるデータＤａｔａ２の受信に時間を要し、データラッチＳＤＬ、ＬＤＬ、またはＵＤＬへの転送の開始および書き込みの開始が遅れる場合がある。転送および書き込みは時刻ｔ５５において開始する。
【０１０８】
他方、データＤａｔａ１の書き込みは時刻ｔ５５に先立つ時刻ｔ５４で終了している。このため、メモリは、時刻ｔ５４から書き込みを開始できるにも関わらず、データＤａｔａ２の書き込みのための準備が完了していないため、時刻ｔ５４から時刻ｔ５５に亘って待ち時間を有することになる。この待ち時間は、書き込みデータＤａｔａ２のコントローラからメモリへの転送が保留されたことに起因する。
【０１０９】
一方、第２実施形態によれば、メモリ１００は、データバスＩＯＢＵＳと接続された２つのデータラッチＸＤＬ０およびＸＤＬ１を有する。このため、一方のデータラッチＸＤＬ０があるデータにより使用されている間も、メモリ１００は他方のデータラッチＸＤＬ１によって別のデータをコントローラ２００から受け取ることができる。よって、図１７から分かるように、メモリ１００は、書き込み開始コマンド１５ｈの受信後、すぐに時刻ｔ３３においてレディー状態に移行し、次の書き込みコマンド８０ｈおよびデータＤａｔａ２を受け取ることができる。このため、時刻ｔ３７でのデータＤａｔａ１の書き込み完了の時点で、データＤａｔａ２の書き込みの準備が完了している。よって、データＤａｔａ１の書き込みの完了に続けてデータＤａｔａ２の書き込みを開始できる。この結果、メモリ１００による複数のページへの連続した書き込みに要する時間は、図１９のものより短い。
【０１１０】
また、書き込みデータのメモリへの送信中の読み出しの割り込みの場合も同様である。まず、比較のために、メモリからの入出力のための１つのデータラッチ（例えばデータラッチＸＤＬ）のみを有するメモリに対する書き込みデータの送信中の読み出しの割り込みの例が、図２０を参照して記述される。図２０に示されるように、時刻ｔ６２において、メモリが、書き込みデータＤａｔａ１の全体を受け取る前に読み出しコマンドＹ０ｈを受け取ると、読み出しデータの保持に備えてデータラッチＸＤＬを解放するための動作を行う。すなわち、シーケンサは、時刻ｔ６３から、データラッチＸＤＬ中のデータＤａｔａ１の受け取り済の部分をデータラッチＳＤＬ、ＬＤＬ、またはＵＤＬに転送する。この転送のためにデータラッチＳＤＬ、ＬＤＬ、またはＵＤＬが使用されるため、読み出し元のセルトランジスタからデータが読み出されることができず、時刻ｔ６３から時刻ｔ６４に亘って待ち時間が生じる。
【０１１１】
データＤａｔａ１の転送が完了すると、シーケンサは続く時刻ｔ６４からデータＤａｔａ２を読み出し元のセルトランジスタからの読み出しを開始する。読み出されたデータＤａｔａ２は、データラッチＸＤＬからコントローラに送信される。次いで、シーケンサは、メモリがコマンドＹ２ｈを受け取ったことに基づいて、データラッチＳＤＬ、ＵＤＬ、またはＬＤＬ中の書き込みデータＤａｔａ１の一部をデータラッチＸＤＬに転送する。転送が完了すると、コントローラは、書き込みデータＤａｔａ１の転送の再開を示すコマンドＹ３ｈの送信後、時刻ｔ６６からデータＤａｔａ１の残りの部分を転送する。
【０１１２】
このように、データＤａｔａ１のデータラッチＸＤＬからの転送およびデータラッチＸＤＬへの転送が必要であり、これらの転送の間、待ち時間が生じる。データラッチＸＤＬと、データラッチＳＤＬ、ＬＤＬ、またはＵＤＬが１ビットの幅のデータバスで接続されているため、データラッチＸＤＬと、データラッチＳＤＬ、ＬＤＬ、またはＵＤＬとの間のデータの転送は長時間を要する。よって長時間を要する転送が複数回行われることが、メモリの動作の速度を抑制している。
【０１１３】
一方、第２実施形態によれば、図１８から分かるように、メモリ１００は、データの読み出しのために、データラッチＸＤＬ０中のデータＤａｔａ１（ａ）をデータラッチＳＤＬ、ＬＤＬ、またはＵＤＬに転送する必要を有しない。このため、メモリ１００は、割り込みの読み出しコマンドＸ０ｈの受信後すぐに、データＤａｔａ２をセルトランジスタＭＴから読み出し始めることができる。よって、書き込みデータのメモリへの転送中に読み出しを指示された場合に、読み出しを完了するまでに要する時間は、図２０のものより短い。
【０１１４】
［第３実施形態］
第３実施形態に係るＮＡＮＤ型フラッシュメモリが、図２１〜図２４を参照して記述される。第３実施形態は第２実施形態に基づき、メモリ１００はセンスアンプモジュール１１とページバッファ１２との間においてＸＯＲ（排他的論理和）演算回路をさらに含んでいる。
【０１１５】
３−１．構成
第３実施形態に係るＮＡＮＤ型フラッシュメモリは、センスアンプモジュール１１およびページバッファ１２の構成の点において、第２実施形態と異なる。その他の構成については、第２実施形態と同じである。
【０１１６】
メモリ１００は、図２１に示されるセンスアンプモジュール１１およびページバッファ１２の接続を有し、およびセンスアンプモジュール１１とページバッファ１２との間において図２１に示される要素および接続を有する。図２１は、センスアンプモジュール１１およびページバッファ１２、ならびにこれらの間のうち、１６のビット線ＢＬに関連する部分のみを示す。第１および第２実施形態と同様に、図２１に示される構成が、１６のビット線ＢＬの複数の組の各々に対して設けられている。
【０１１７】
図２１に示されるように、メモリ１００は、ＸＯＲ演算回路５０および乱数シード生成部５０ｇさらに含む。ＸＯＲ演算回路５０は、書き込みデータをランダム化する。また、ＸＯＲ演算回路５０は、セルトランジスタＭＴから受け取ったデータから、ランダム化前のデータ（すなわち書き込みの際にコントローラ２００から受け取られた書き込みデータ）を復元する。
【０１１８】
データバスＤＢＵＳ０ａのスイッチＳＷ１２と反対の端は、第２実施形態（図１７）でのスイッチＳＷ１１に代えてＸＯＲ演算回路５０に接続されている。データバスＤＢＵＳ１ａのスイッチＳＷ２２と反対の端は、第２実施形態でのスイッチＳＷ２１に代えてＸＯＲ演算回路５０に接続されている。ＸＯＲ演算回路５０は、また、スイッチＳＷ１１を介してデータバスＤＢＵＳ２に接続されている。データバスＤＢＵＳ２は、１ビットの幅を有し、データバスＬＢＵＳ［０］〜ＬＢＵＳ［１５］に転送ゲートによって選択的に接続されることが可能である。ＸＯＲ演算回路５０は、乱数シード生成部５０ｇから乱数シードを受け取る。
【０１１９】
ＸＯＲ演算回路５０は、例えば図２２に示される構成を有する。図２２は、第３実施形態のメモリの一部の要素および接続を示す。図２２に示されるように、ＸＯＲ演算回路５０は、ランダム化回路５１および復号回路５２を含む。
【０１２０】
ランダム化回路５１は、ｎ型のＭＯＳＦＥＴ  ＮＭＯＳ０およびＮＭＯＳ１、ならびにスイッチＳＷ０１、ＳＷ０２、およびＳＷ０３を含む。スイッチＳＷ０１、ＳＷ０２、およびＳＷ０３は、例えばＭＯＳＦＥＴである。トランジスタＮＭＯＳ０およびＮＭＯＳ１の各々の一端は、スイッチＳＷ０３を介してノードＡに接続されている。ノードＡは、スイッチＳＷ１１を介してバスＤＢＵＳ２に接続されている。トランジスタＮＭＯＳ０の他端は、スイッチＳＷ０１を介してデータバスＤＢＵＳ０ａに接続されているとともに、トランジスタＮＭＯＳ１のゲートに接続されている。トランジスタＮＭＯＳ１の他端は、スイッチＳＷ０２を介してデータバスＤＢＵＳ１ａに接続されているとともに、トランジスタＮＭＯＳ０のゲートに接続されている。
【０１２１】
復号回路５２は、ＭＯＳＦＥＴ  ＮＭＯＳ３およびＮＭＯＳ４、ならびにスイッチＳＷ１０、ＳＷ２０、およびＳＷ３０を含む。スイッチＳＷ１０、ＳＷ２０、およびＳＷ３０は、例えばＭＯＳＦＥＴである。トランジスタＮＭＯＳ４の一端は、スイッチＳＷ３０を介してノードＡに接続されている。トランジスタＮＭＯＳ４の他端は、スイッチＳＷ１０を介してデータバスＤＢＵＳ１ａに接続されている。トランジスタＮＭＯＳ４のゲートは、スイッチＳＷ２０を介してデータバスＤＢＵＳ０に接続されている。トランジスタＮＭＯＳ３は、トランジスタＮＭＯＳ４の他端とゲートとの間に接続されている。トランジスタＮＭＯＳ３のゲートは、スイッチＳＷ３０を介してデータバスＤＢＵＳ２に接続されている。
【０１２２】
スイッチＳＷ０１、ＳＷ０２、ＳＷ０３、ＳＷ１０、ＳＷ２０、ＳＷ３０、ＳＷ４０、およびＳＷ４１は、シーケンサ１７により制御される。
【０１２３】
データバスＤＢＵＳ０ａは、ランダム化回路５１および復号回路５２をバイパスできるように、スイッチＳＷ４０を介してノードＡに接続されている。同様に、データバスＤＢＵＳ１ａは、ランダム化回路５１および復号回路５２をバイパスできるように、スイッチＳＷ４１を介してノードＡに接続されている。
【０１２４】
乱数シード生成部５０ｇは、ノードＡに接続されている。
【０１２５】
３−２．動作
まず、メモリシステム１の動作の説明に先立ち、ＸＯＲ演算回路５０の動作が記述される。
【０１２６】
コントローラ２００からメモリ１００によって受け取られた書き込みデータは、データ中のビット列における“１”ビットの偏在および“０”ビットの偏在を緩和するために、ビットの並びのランダム化を施される場合がある。偏在の緩和により、書き込みデータの信頼性が向上する。ランダム化は、ランダム化回路５１を使用して行われる。
【０１２７】
ランダム化される書き込みデータは、データラッチＸＤＬ１に保持される。ランダム化のために、シーケンサ１７は、スイッチＳＷ０３をオンし、スイッチＳＷ３０をオフし、乱数シード生成部５０ｇを制御して乱数シード生成部５０ｇからの乱数シードを、データラッチＸＤＬ０に保持する。乱数シードは、例えば１ページ中のビットの数と同じ数のビットの列を含んでおり、ビット列において“１”および“０”のビットが無作為に決定された順序で並んでいる。よって、各データラッチ回路ＸＤＬ０Ｃ［０］〜ＸＤＬ０Ｃ［１５］に、無作為に決定された配置で１ビットの値（“０”または“１”データ）が保持されている。
【０１２８】
以下では、図２２に示される構成について記述される。しかしながら、以下の記述の動作が、図２２と同じ構成を有する図２２と別の部分においても並行して行われる。
【０１２９】
ランダム化の間、スイッチＳＷ１０、ＳＷ２０、ＳＷ３０、ＳＷ４０、およびＳＷ４１はオフに維持され、スイッチＳＷ１１はオンに維持される。またランダム化の開始の時点で、スイッチＳＷ０１、ＳＷ０２、およびＳＷ０３はオフしている。
【０１３０】
シーケンサ１７は、以下に記述される、書き込みデータ中の１ビットについての動作を１６ビットの各々に対して繰り返し行って、図２１の構成によって処理される１６のビットに対して行う。１６ビットの処理の順番は任意である。シーケンサ１７は、例えば、データラッチ回路ＬＤＬＣ［０］〜ＬＤＬＣ［１５］を用いて、ランダム化を行う。ランダム化の間、データラッチ回路ＵＤＬＣ［０］〜ＵＤＬＣ［１５］およびＬＤＬＣ［０］〜ＬＤＬＣ［１５］はデータバスＬＢＵＳ［０］〜ＬＢＵＳ［１５］から電気的に分離されている。
【０１３１】
シーケンサ１７は、まず、データラッチ回路ＬＤＬＣ［ｎ］をデータバスＬＢＵＳ［ｎ］から電気的に分離する。次いで、シーケンサ１７は、データバスＤＢＵＳ２の電位をハイレベルにプリチャージする。データバスＤＢＵＳ２の電位のハイレベルは、“１”データと関連付けられている。
【０１３２】
シーケンサ１７は、データラッチ回路ＸＤＬ０Ｃ［０］をデータバスＤＢＵＳ０ａに接続すると共に、データラッチ回路ＸＤＬ１Ｃ［０］をデータバスＤＢＵ１ａに接続する。この結果、データラッチ回路ＸＤＬ１Ｃ［０］中のデータに応じてデータバスＤＢＵＳ０ａの電位がローレベルに維持されるか、ハイレベルに上昇する。また、データラッチ回路ＸＤＬ０Ｃ［０］中のデータに応じてデータバスＤＢＵＳ１ａの電位がローレベルに維持されるか、ハイレベルに上昇する。データラッチ回路ＸＤＬＣ［０］およびＸＤＬＣ［１］はともに例えば“０”データを保持しており、よってデータバスＤＢＵＳ０ａおよびＤＢＵＳ１ａはともにローレベルを維持する。
【０１３３】
この状態で、シーケンサ１７は、スイッチＳＷ０１、ＳＷ０２、およびＳＷ０３をオンして、ランダム化回路５１をイネーブルにする。この結果、データバスＤＢＵＳ０ａおよびＤＢＵＳ１ａの状態に応じて、データバスＤＢＵＳ２がハイレベルに維持されるかローレベルに低下する。本例では、トランジスタＮＭＯＳ０およびＮＭＯＳ１はオフを維持し、よってデータバスＤＢＵＳ２はハイレベルに維持される。
【０１３４】
次いで、シーケンサ１７は、データラッチ回路ＬＤＬＣ［０］をデータバスＤＢＵＳ２と接続する。この結果、“１”データが、データラッチ回路ＬＤＬＣ［０］に保持される。こうしてデータラッチ回路ＬＤＬＣ［０］に保持されたデータは、データラッチ回路ＸＤＬ１Ｃ中のデータおよびデータラッチ回路ＸＤＬ０Ｃ中のデータの排他的論理和の反転データである。
【０１３５】
２つのデータラッチ回路ＸＤＬ０Ｃ［ｎ］およびＸＤＬ１Ｃ［ｎ］がともに“１”データを保持している場合、トランジスタＮＭＯＳ１およびＮＭＯＳ２はオンする。この結果、データバスＤＢＵＳ２は、データバスＤＢＵＳ０ａおよびＤＢＵＳ１ａに接続されるが、データバスＤＢＵＳ２のハイレベルが維持される。よって、対応するデータラッチ回路ＬＤＬＣ［ｎ］には、“１”データが保持される。
【０１３６】
一方、データラッチ回路ＸＤＬ０Ｃ［ｎ］が“０”データを保持し、かつデータラッチ回路ＸＤＬ１Ｃ［ｎ］が“１”データを保持している場合、トランジスタＮＭＯＳ０はオンし、トランジスタＮＭＯＳはオフを維持する。この結果、データバスＤＢＵＳ２は、データバスＤＢＵＳ０ａと接続されて、ローレベルに低下する。よって、対応するデータラッチ回路ＬＤＬＣ［ｎ］には、“１”データが保持される。データラッチ回路ＸＤＬ０Ｃ［ｎ］が“１”データを保持し、かつデータラッチ回路ＸＤＬ１Ｃ［ｎ］が“０”データを保持している場合も、対応するデータラッチ回路ＬＤＬＣ［ｎ］には、“１”データが保持される。
【０１３７】
このようなデータラッチ回路ＸＤＬ０Ｃ［ｙ］（ｙは０または１５以下の自然数）中のデータとデータラッチ回路ＸＤＬ１Ｃ［ｙ］中のデータの排他的論理和のデータラッチ回路ＬＤＬＣ［ｙ］への保持が、ｙが０〜１５の各々について行われる。こうして、データラッチ回路ＬＤＬＣ［０］〜ＬＤＬＣ［１５］に保持されているデータは、データラッチ回路ＸＤＬＣ［０］〜ＸＤＬＣ［１５］に保持されていた書き込みデータの一部のビットの並びがランダム化されたものである。
【０１３８】
一方、セルトランジスタＭＴから読み出されたデータは、復号回路５２を使用して、復号（ランダム化を解除）される。以下の記述では、ランダム化についての記述と同様に図２２に示される構成について記述されるが、以下の記述の動作が、図２２と同じ構成を有する図２２と別の部分においても並行して行われる。
【０１３９】
復号の間、スイッチＳＷ１０、ＳＷ２０、ＳＷ３０、およびＳＷ１１は、オンに維持され、スイッチＳＷ０１、ＳＷ０２、ＳＷ０３、ＳＷ４０、およびＳＷ４１はオフに維持される。
【０１４０】
まず、セルトランジスタＭＴから読み出された１ページ分のデータが、データラッチＬＤＬに保持される。次いで、シーケンサ１７は、スイッチＳＷ０３をオフし、スイッチＳＷ３０をオンし、乱数シード生成部５０ｇを制御して、乱数シード生成部５０ｇからの乱数シードを、データラッチＸＤＬ０に保持する。乱数シードは、ランダム化の際に用いられたものと同じであり、乱数シード中の各ビットがデータラッチ回路ＸＤＬ０Ｃ［０］〜ＸＤＬ０Ｃ［１５］の各々に保持される。復号の開始の時点で、データラッチＸＤＬ１中のいずれのデータラッチ回路ＸＤＬ１Ｃも“１”データを保持している。
【０１４１】
ランダム化と同じく、シーケンサ１７は、以下に記述される、書き込みデータ中の１ビットについての動作を１６ビットの各々に対して繰り返し行って、図２１の構成によって処理される１６のビットに対して行う。
【０１４２】
データラッチ回路ＬＤＬＣ［ｙ］が“１”データ保持し、かつデータラッチ回路ＸＤＬ０Ｃ［ｙ］が“１”データを保持している場合、データラッチ回路ＸＤＬ１Ｃ［ｙ］には、引き続き“１”データが保持される。データラッチ回路ＬＤＬＣ［ｙ］が“１”データを保持し、かつデータラッチ回路ＸＤＬ０Ｃ［ｙ］が“０”データを保持している場合、データラッチ回路ＸＤＬ１Ｃ［ｙ］には、“０”データが保持されることになる。データラッチ回路ＬＤＬＣ［ｙ］が“０”データを保持し、かつデータラッチ回路ＸＤＬ０Ｃ［ｙ］が“１”データを保持している場合、データラッチ回路ＸＤＬ１Ｃ［ｙ］には、“０”データが保持されることになる。データラッチ回路ＬＤＬＣ［ｙ］が“０”データを保持し、かつデータラッチ回路ＸＤＬ０Ｃ［ｙ］が“０”データを保持している場合、データラッチ回路ＸＤＬ１Ｃ［ｙ］には、引き続き“１”データが保持される。
【０１４３】
このようなデータラッチ回路ＸＤＬ１Ｃ［ｙ］中のデータとデータラッチ回路ＸＤＬ０Ｃ［ｙ］中のデータの排他的論理和のデータラッチ回路ＬＤＬＣ［ｙ］への保持が、ｙが０〜１５の各々について行われる。この結果、データラッチＸＤＬ０に、読み出し元のセルトランジスタＭＴから読み出されかつランダム化を解除されたデータが保持されることなる。
【０１４４】
次に、図２３を参照して、メモリシステム１の動作の例が記述される。図２３は、第３実施形態のメモリシステム１での書き込みの際のタイミングチャートを示す。
【０１４５】
図２３に示されるように、コントローラ２００は、時刻ｔ７１から、書き込みコマンド８０ｈ、アドレス信号Ａｄｄ１、書き込みデータＤａｔａ１をメモリ１００に送信する。アドレス信号Ａｄｄ１は、書き込み先を指定する。データＤａｔａ１は、メモリ１００により受け取られると、データラッチＸＤＬ１に保持され、その後も保持され続ける。
【０１４６】
書き込み開始コマンド１０がメモリ１００によって受け取られると、シーケンサ１７は、時刻ｔ７２から、乱数シード生成部５０ｇを制御して乱数シードを生成する。乱数シードはデータラッチＸＤＬ０に送信され、データラッチＸＤＬ０により保持され、その後も保持され続ける。
【０１４７】
乱数シードのデータラッチＸＤＬ０への送信が完了すると、シーケンサ１７は、時刻ｔ７３からデータＤａｔａ１を乱数シードを使用してランダム化し、ランダム化されたＤａｔａ１を、データラッチＬＤＬに送信する。次いで、シーケンサ１７は、データラッチＬＤＬ中のデータを、指定されたセルトランジスタＭＴに書き込む。
３−３．効果（利点）
第３実施形態によれば、第２実施形態と同じく、メモリ１００は、データバスＩＯＢＵＳと接続された２つのデータラッチＸＤＬ０およびＸＤＬ１を有する。このため、第２実施形態と同じ利点を得られる。
【０１４８】
さらに、第３実施形態によれば以下の利点を得られる。まず、比較のために、入出力のための１つのデータラッチ（例えばデータラッチＸＤＬ）のみを有するメモリでのランダム化を伴った書き込みの例が図２４を参照して記述される。
【０１４９】
図２４に示されるように、シーケンサは、書き込みデータＤａｔａ１をデータラッチＸＤＬにおいて受け取り終えると、データＤａｔａ１をデータラッチＵＤＬに転送してデータラッチＸＤＬを解放する。データラッチＸＤＬが解放されると、シーケンサは、乱数シードをデータラッチＸＤＬに転送する。次いで、シーケンサは、乱数シードのビット列中の各ビットが反転された形態と、データＤａｔａ１の対応するビットとの論理積の計算を１ページ分の全てのビットに対して行い、結果をデータラッチＬＤＬに転送する。また、シーケンサは、乱数シード中の各ビットと、データＤａｔａ１の対応するビットとの論理積の計算を１ページの大きさのデータ中の全てのビットに対して行い、結果をデータラッチＳＤＬに転送する。最後に、シーケンサは、データラッチＬＤＬ中のデータと、データラッチＳＤＬ中のデータとの、１ビットごとの論理和をデータラッチＵＤＬに転送する。こうして得られたデータラッチＵＤＬ中のデータは、書き込みデータＤａｔａ１と乱数シードとの排他的論理和である。
【０１５０】
図２４から分かるように、データラッチＸＤＬからデータラッチＵＤＬ、ＬＤＬ、およびＳＤＬへの３回の転送が必要である。上記のように、データバスＤＢＵＳは１ビットの幅であるので、データラッチＸＤＬと、データラッチＳＤＬ、ＬＤＬ、またはＵＤＬとの間のデータの転送は長時間を要する。
【０１５１】
一方、第３実施形態によれば、メモリ１００は、データバスＩＯＢＵＳと接続された２つのデータラッチＸＤＬ０およびＸＤＬ１を有するため、図２３か分かるように、データラッチＸＤＬからのデータの転送は、時刻ｔ７３からの１回のみ生じる。このため、第３実施形態によれば、データのランダム化を伴った書き込みに要する時間は、図２４でのものより短い。
【０１５２】
［他の実施形態］
第１〜第３実施形態において、以下の動作および構成が使用されてもよい。
【０１５３】
（１）多値レベルの読み出し動作において、Ａレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば０Ｖ〜０．５５Ｖの間である。これに限定されることなく、０．１Ｖ〜０．２４Ｖ、０．２１Ｖ〜０．３１Ｖ、０．３１Ｖ〜０．４Ｖ、０．４Ｖ〜０．５Ｖ、０．５Ｖ〜０．５５Ｖ等のいずれかの間であってもよい。Ｂレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば１．５Ｖ〜２．３Ｖの間である。これに限定されることなく、１．６５Ｖ〜１．８Ｖ、１．８Ｖ〜１．９５Ｖ、１．９５Ｖ〜２．１Ｖ、２．１Ｖ〜２．３Ｖ等のいずれかの間であってもよい。Ｃレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば３．０Ｖ〜４．０Ｖの間である。これに限定されることなく、３．０Ｖ〜３．２Ｖ、３．２Ｖ〜３．４Ｖ、３．４Ｖ〜３．５Ｖ、３．５Ｖ〜３．６Ｖ、３．６Ｖ〜４．０Ｖ等のいずれかの間であってもよい。読み出し動作の時間（ｔＲ）としては、例えば２５μｓ〜３８μｓ、３８μｓ〜７０μｓ、７０μｓ〜８０μｓ等のいずれかの間であってよい。
【０１５４】
（２）書き込み動作は、プログラム動作とベリファイ動作とを含む。書き込み動作においては、プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば１３．７Ｖ〜１４．３Ｖの間である。これに限定されることなく、例えば１３．７Ｖ〜１４．０Ｖ、１４．０Ｖ〜１４．６Ｖ等のいずれかの間であってもよい。奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧とを異ならせてもよい。プログラム動作をＩＳＰＰ方式（Incremental Step Pulse Program）としたとき、ステップアップの電圧として、例えば０．５Ｖ程度が挙げられる。非選択のワード線に印加される電圧としては、例えば６．０Ｖ〜７．３Ｖの間であってもよい。これに限定されることなく、例えば７．３Ｖ〜８．４Ｖの間であってもよく、６．０Ｖ以下であってもよい。非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかにより、印加するパス電圧を異ならせてもよい。書き込み動作の時間（ｔＰｒｏｇ）としては、例えば１７００μｓ〜１８００μｓ、１８００μｓ〜１９００μｓ、１９００μｓ〜２０００μｓの間であってよい。
【０１５５】
（３）消去動作においては、半導体基板上部に配置され、かつ、メモリセルが上方に配置されたウェルに最初に印加される電圧は、例えば１２Ｖ〜１３．６Ｖの間である。これに限定されることなく、例えば１３．６Ｖ〜１４．８Ｖ、１４．８Ｖ〜１９．０Ｖ、１９．０Ｖ〜１９．８Ｖ、１９．８Ｖ〜２１Ｖ等のいずれかの間であってもよい。消去動作の時間（ｔＥｒａｓｅ）としては、例えば３０００μｓ〜４０００μｓ、４０００μｓ〜５０００μｓ、４０００μｓ〜９０００μｓの間であってよい。
【０１５６】
（４）メモリセルは、例えば以下のような構造であってもよい。メモリセルは、シリコン基板等の半導体基板上に膜厚が４ｎｍ〜１０ｎｍのトンネル絶縁膜を介して配置された電荷蓄積膜を有する。この電荷蓄積膜は、膜厚が２ｎｍ〜３ｎｍのシリコン窒化（ＳｉＮ）膜、またはシリコン酸窒化（ＳｉＯＮ）膜などの絶縁膜と、膜厚が３ｎｍ〜８ｎｍのポリシリコン（Ｐｏｌｙ−Ｓｉ）膜との積層構造にすることができる。ポリシリコン膜には、ルテニウム（Ｒｕ）などの金属が添加されていても良い。メモリセルは、電荷蓄積膜の上に絶縁膜を有する。この絶縁膜は、例えば膜厚が３ｎｍ〜１０ｎｍの下層Ｈｉｇｈ−ｋ膜と、膜厚が３ｎｍ〜１０ｎｍの上層Ｈｉｇｈ−ｋ膜とに挟まれた、膜厚が４ｎｍ〜１０ｎｍのシリコン酸化（ＳｉＯ）膜を有する。Ｈｉｇｈ−ｋ膜の材料としては、酸化ハフニウム（ＨｆＯ）などが挙げられる。また、シリコン酸化膜の膜厚は、Ｈｉｇｈ−ｋ膜の膜厚よりも厚くすることができる。絶縁膜上には、膜厚が３ｎｍ〜１０ｎｍの仕事関数調整用の膜を介して、膜厚が３０ｎｍ〜７０ｎｍの制御電極が設けられる。ここで仕事関数調整用膜は、例えば酸化タンタル（ＴａＯ）などの金属酸化膜、窒化タンタル（ＴａＮ）などの金属窒化膜等である。制御電極には、タングステン（Ｗ）などを用いることができる。メモリセル間にはエアギャップを形成することができる。
【０１５７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１５８】
１…メモリシステム、１００…記憶装置、２００…コントローラ、３００…ホスト装置、１０…メモリセルアレイ、ＢＬＫ…ブロック、ＮＳ…ＮＡＮＤストリング、ＳＵ…ストリングユニット、ＳＤＬ、ＬＤＬ、ＵＤＬ、ＸＬＤ０、ＸＤＬ１…データラッチ、ＤＢＵＳ、ＬＢＵＳ…データバス。
【図１】
0006359491.tif 000002
【図２】
0006359491.tif 000003
【図３】
0006359491.tif 000004
【図４】
0006359491.tif 000005
【図５】
0006359491.tif 000006
【図６】
0006359491.tif 000007
【図７】
0006359491.tif 000008
【図８】
0006359491.tif 000009
【図９】
0006359491.tif 000010
【図１０】
0006359491.tif 000011
【図１１】
0006359491.tif 000012
【図１２】
0006359491.tif 000013
【図１３】
0006359491.tif 000014
【図１４】
0006359491.tif 000015
【図１５】
0006359491.tif 000016
【図１６】
0006359491.tif 000017
【図１７】
0006359491.tif 000018
【図１８】
0006359491.tif 000019
【図１９】
0006359491.tif 000020
【図２０】
0006359491.tif 000021
【図２１】
0006359491.tif 000022
【図２２】
0006359491.tif 000023
【図２３】
0006359491.tif 000024
【図２４】
0006359491.tif 000025