(57)【要約】【課題】  性能を向上させることが可能な半導体記憶装置を提供する。【解決手段】  実施形態の半導体記憶装置は、２ビット以上のデータを記憶可能であるメモリセルと、第１及び第２データラッチ回路を含む第１ラッチ群と、第３及び第４データラッチ回路を含む第２ラッチ群とを含む第１回路１３と、書き込み動作を制御する制御回路２８とを含む。制御回路２８は、外部から第１及び第２データを受信した場合に、前記第１及び第２データをそれぞれ第１及び第２データラッチ回路に格納し、第１及び第２データをそれぞれ、第１及び第２データラッチ回路から第３及び第４データラッチ回路にコピーし、第１及び第２データラッチ回路に格納されたデータを用いて、書き込み動作を実行する。【選択図】  図２９
2020181624.tif 000002
【特許請求の範囲】
【請求項１】
２ビット以上のデータを記憶可能であるメモリセルと、
第１及び第２データラッチ回路を含む第１ラッチ群と、第３及び第４データラッチ回路を含む第２ラッチ群とを含む第１回路と、
書き込み動作を制御する制御回路と
を具備し、
前記制御回路は、
外部から第１及び第２データを受信した場合に、前記第１及び第２データをそれぞれ前記第１及び第２データラッチ回路に格納し、
前記第１及び第２データをそれぞれ、前記第１及び第２データラッチ回路から前記第３及び第４データラッチ回路にコピーし、
前記第１及び第２データラッチ回路に格納されたデータを用いて、前記書き込み動作を実行する
半導体記憶装置。
【請求項２】
前記制御回路は、外部から第１コマンドを受信した場合に、前記第１及び第２データをコピーする動作を実行する
請求項１に記載の半導体記憶装置。
【請求項３】
前記第１回路は、センスアンプと、前記センスアンプに接続されたデータ線とを含み、
前記第１乃至第４データラッチ回路は、前記データ線を介して並列接続される
請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記第１回路は、
センスアンプと、
前記センスアンプに接続された第１データ線と、
第２及び第３データ線と、
前記第１データ線と前記第２データ線との間に接続された第１スイッチ素子と、
前記第１データ線と前記第２データ線との間に接続された第２スイッチ素子と
を含み、
前記第１及び第３データラッチ回路は、前記第２データ線を介して並列接続され、
前記第２及び第４データラッチ回路は、前記第３データ線を介して並列接続される
請求項１又は２に記載の半導体記憶装置。
【請求項５】
前記第１回路は、センスアンプと、前記センスアンプに接続されたデータ線とを含み、
前記第１及び第２データラッチ回路は、前記データ線を介して並列接続され、
前記第１及び第３データラッチ回路は、前記データ線を介さずに直列接続され、
前記第２及び第４データラッチ回路は、前記データ線を介さずに直列接続される
請求項１又は２に記載の半導体記憶装置。
【請求項６】
２ビット以上のデータを記憶可能であるメモリセルと、
第１乃至第４データラッチ回路を含む第１回路と、
書き込み動作及び読み出し動作を制御する制御回路と
を具備し、
前記制御回路は、
前記書き込み動作において外部から第１及び第２データを受信した場合に、前記第１及び第２データをそれぞれ前記第１及び第２データラッチ回路に格納し、
前記読み出し動作において外部から第１コマンドを受信した場合に、前記メモリセルから読み出された読み出しデータを前記第３データラッチ回路に格納し、
前記読み出し動作において外部から第２コマンドを受信した場合に、前記読み出しデータを前記第４データラッチ回路に格納する
半導体記憶装置。
【請求項７】
前記読み出し動作は、第１コマンドを受信した場合に実行される第１リードと、第２コマンドを受信した場合に実行される第２リードとを含み、前記第１リードと前記第２リードにおいて、同一のアドレスが指定され、
前記第３データラッチ回路は、前記第１リードの結果を格納し、
前記第４データラッチ回路は、前記第２リードの結果を格納する
請求項６に記載の半導体記憶装置。
【請求項８】
前記第１回路は、センスアンプと、前記センスアンプに接続されたデータ線とを含み、
前記第１乃至第４データラッチ回路は、前記データ線を介して並列接続される
請求項６又は７に記載の半導体記憶装置。
【請求項９】
積層された第１及び第２チップをさらに具備し、
前記メモリセルは、前記第１チップに設けられ、
前記第１回路は、前記第２チップに設けられる
請求項１乃至８のいずれかに記載の半導体記憶装置。
【請求項１０】
半導体記憶装置と、
前記半導体記憶装置に、第１及び第２コマンドを発行するメモリコントローラと
を具備し、
前記半導体記憶装置は、
２ビット以上のデータを記憶可能であるメモリセルと、
第１乃至第４データラッチ回路を含む第１回路と、
書き込み動作及び読み出し動作を制御する制御回路と
を具備し、
前記制御回路は、
前記書き込み動作において前記メモリコントローラから第１及び第２データを受信した場合に、前記第１及び第２データをそれぞれ前記第１及び第２データラッチ回路に格納し、
前記読み出し動作において前記メモリコントローラから前記第１コマンドを受信した場合に、前記メモリセルから読み出された読み出しデータを前記第３データラッチ回路に格納し、
前記読み出し動作において前記メモリコントローラから前記第２コマンドを受信した場合に、前記読み出しデータを前記第４データラッチ回路に格納する
メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置及びメモリシステムに関する。
【背景技術】
【０００２】
半導体記憶装置の一種として、ＮＡＮＤ型フラッシュメモリが知られている。また、３次元に積層された複数のメモリセルを備えたＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１８６７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実施形態は、性能を向上させることが可能な半導体記憶装置及びメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態に係る半導体記憶装置は、２ビット以上のデータを記憶可能であるメモリセルと、第１及び第２データラッチ回路を含む第１ラッチ群と、第３及び第４データラッチ回路を含む第２ラッチ群とを含む第１回路と、書き込み動作を制御する制御回路とを具備する。前記制御回路は、外部から第１及び第２データを受信した場合に、前記第１及び第２データをそれぞれ前記第１及び第２データラッチ回路に格納し、前記第１及び第２データをそれぞれ、前記第１及び第２データラッチ回路から前記第３及び第４データラッチ回路にコピーし、前記第１及び第２データラッチ回路に格納されたデータを用いて、前記書き込み動作を実行する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムのブロック図。
【図２】ＮＡＮＤ型フラッシュメモリのブロック図。
【図３】図２に示したメモリセルアレイの回路図。
【図４】メモリセルトランジスタの閾値分布の一例を示す模式図。
【図５】図２に示したセンスユニットのブロック図。
【図６】読み出し動作のコマンドシーケンスを説明する図。
【図７】読み出し動作の他のコマンドシーケンスを説明する図。
【図８】コマンドの内容とデータラッチ回路との関係を説明する図。
【図９】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図１０】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図１１】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図１２】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図１３】センスユニットの他の構成例を示すブロック図。
【図１４】コマンドの内容とデータラッチ回路との関係を説明する図。
【図１５】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図１６】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図１７】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図１８】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図１９】コマンドに応じて使用されるデータラッチ回路を説明する図。
【図２０】センスアンプユニットＳＡＵの一部の回路図。
【図２１】データラッチ回路ＡＤＬを指定する動作を説明するタイミング図。
【図２２】データラッチ回路ＢＤＬを指定する動作を説明するタイミング図。
【図２３】データラッチ回路ＣＤＬを指定する動作を説明するタイミング図。
【図２４】データラッチ回路ＴＤＬを指定する動作を説明するタイミング図。
【図２５】データラッチ回路ＵＤＬを指定する動作を説明するタイミング図。
【図２６】第２実施形態に係るセンスユニットのブロック図。
【図２７】第１書き込み動作におけるメモリセルトランジスタの閾値分布の一例を示す模式図。
【図２８】第２書き込み動作におけるメモリセルトランジスタの閾値分布の一例を示す模式図。
【図２９】第２実施形態に係る書き込み動作を説明するフローチャート。
【図３０】第２実施形態に係る書き込み動作を説明するタイミング図。
【図３１】図３０に対応するコマンドシーケンスを説明するタイミング図。
【図３２】図３０のステップ（１）におけるデータラッチ回路の状態を説明する図。
【図３３】図３０のステップ（２）におけるデータラッチ回路の状態を説明する図。
【図３４】図３０のステップ（３）におけるデータラッチ回路の動作を説明する図。
【図３５】図３０のステップ（４）におけるデータラッチ回路の状態を説明する図。
【図３６】図３０のステップ（５）におけるデータラッチ回路の動作を説明する図。
【図３７】図３０のステップ（６）におけるデータラッチ回路の状態を説明する図。
【図３８】図３０のステップ（７）におけるデータラッチ回路の状態を説明する図。
【図３９】第３実施形態に係るメモリコントローラの動作を説明するフローチャート。
【図４０】第３実施形態に係る書き込み動作を説明するタイミング図。
【図４１】図４０に対応するコマンドシーケンスを説明するタイミング図。
【図４２】第４実施形態に係る書き込み動作を説明するフローチャート。
【図４３】第４実施形態に係る書き込み動作を説明するタイミング図。
【図４４】ベリファイ動作後のデータラッチ回路の様子を説明する図。
【図４５】第５実施形態に係るセンスユニットのブロック図。
【図４６】第６実施形態に係るＮＡＮＤ型フラッシュメモリのブロック図。
【図４７】第６実施形態に係るセンスアンプユニットＳＡＵの一部の回路図。
【図４８】第６実施形態に係る書き込み動作におけるコマンドシーケンスを説明するタイミング図。
【図４９】第７実施形態に係るセンスユニットのブロック図。
【図５０】図４９に示したデータラッチ回路ＡＤＬ０、ＡＤＬ１の回路図。
【図５１】第８実施形態に係るセンスユニットのブロック図。
【図５２】図５１に示したデータラッチ回路ＡＤＬ０〜ＡＤＬ２の回路図。
【図５３】foggy／fineプログラムの書き込み順序を説明する模式図。
【図５４】第Ｎプログラムにおけるデータラッチ回路の動作を説明する図。
【図５５】第（Ｎ＋１）プログラムにおけるデータラッチ回路の動作を説明する図。
【図５６】第（Ｎ＋２）プログラムにおけるデータラッチ回路の動作を説明する図。
【図５７】第（Ｎ＋３）プログラムにおけるデータラッチ回路の動作を説明する図。
【図５８】第（Ｎ＋４）プログラムにおけるデータラッチ回路の動作を説明する図。
【図５９】第Ｎプログラムにおけるセンスユニットの動作を説明するタイミング図。
【図６０】第（Ｎ＋１）プログラムにおけるセンスユニットの動作を説明するタイミング図。
【図６１】第９実施形態に係るセンスユニットのブロック図。
【図６２】ハードビットリードのコマンドシーケンスを説明する図。
【図６３】ソフトビットリードのコマンドシーケンスを説明する図。
【図６４】データラッチ回路の動作を説明する模式図。
【図６５】第１０実施形態に係るＮＡＮＤ型フラッシュメモリ１００の断面構造の一例を示す図。
【図６６】メモリセルアレイの一部領域の断面図。
【発明を実施するための形態】
【０００７】
以下、実施形態について図面を参照して説明する。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置等によって、本発明の技術思想が特定されるものではない。各機能ブロックは、ハードウェア及びソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。各機能ブロックが以下の例のように区別されていることは必須ではない。例えば、一部の機能が例示の機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。なお、以下の説明において、同一の機能及び構成を有する要素については同一符号を付し、重複説明は必要な場合にのみ行う。
【０００８】
本実施形態に係る半導体記憶装置は、データを電気的に書き換え可能な不揮発性半導体メモリであり、以下の実施形態では、半導体記憶装置としてＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【０００９】
［１］  第１実施形態
［１−１］  メモリシステムの構成
図１は、第１実施形態に係るメモリシステム１のブロック図である。メモリシステム１は、１つ又は複数の不揮発性半導体記憶装置（ＮＡＮＤ型フラッシュメモリ）１００、及びメモリコントローラ２００を備える。図１には、２つのＮＡＮＤ型フラッシュメモリ１００−０、１００−１を例示している。
【００１０】
メモリシステム１は、ホスト装置３００が搭載されたマザーボード上にメモリシステム１を構成する複数のチップを実装して構成してもよいし、メモリシステム１を１つのモジュールで実現するシステムＬＳＩ（large-scale integrated circuit）、又はＳｏＣ（system on chip）として構成してもよい。メモリシステム１の例としては、ＳＤＴＭカードのようなメモリカード、ＳＳＤ（solid state drive）、及びｅＭＭＣ（embedded multimedia card）などが挙げられる。
【００１１】
ＮＡＮＤ型フラッシュメモリ１００は、複数のメモリセルを備え、データを不揮発に記憶する。ＮＡＮＤ型フラッシュメモリ１００の構成に関する詳細は後述する。
【００１２】
メモリコントローラ２００は、ホスト装置３００からの命令に応答して、ＮＡＮＤ型フラッシュメモリ１００に対して書き込み（プログラムともいう）、読み出し、及び消去などを命令する。また、メモリコントローラ２００は、ＮＡＮＤ型フラッシュメモリ１００のメモリ空間を管理する。メモリコントローラ２００は、ホストインターフェース回路２０１（図１に“host I/F”と表記）、ＣＰＵ（central processing unit)２０２、ＲＡＭ（random access memory）２０３、バッファメモリ２０４、ＮＡＮＤインターフェース回路２０５（図１に“NAND I/F” と表記）、及びＥＣＣ（error checking and correcting）回路２０６などを備える。これらのモジュールは、バス２０７を介して互いに接続される。
【００１３】
ホストインターフェース回路２０１は、バスを介してホスト装置３００に接続され、ホスト装置３００との間でインターフェース処理を行う。また、ホストインターフェース回路２０１は、ホスト装置３００との間で命令及びデータの送受信を行う。
【００１４】
ＣＰＵ２０２は、メモリコントローラ２００全体の動作を制御する。ＣＰＵ２０２は、例えば、ホスト装置３００から書き込み命令を受けた場合に、それに応答して、ＮＡＮＤインターフェースに基づく書き込み命令をＮＡＮＤ型フラッシュメモリ１００に発行する。読み出し及び消去の場合も同様である。また、ＣＰＵ２０２は、ウェアレベリングなど、ＮＡＮＤ型フラッシュメモリ１００を管理するための様々な処理を実行する。
【００１５】
ＲＡＭ２０３は、ＣＰＵ２０２の作業エリアとして使用され、ＮＡＮＤ型フラッシュメモリ１００からロードされたファームウェアや、ＣＰＵ２０２が作成した各種テーブルを格納する。ＲＡＭ２０３は、例えばＤＲＡＭから構成される。バッファメモリ２０４は、ホスト装置３００から送られたデータを一時的に格納するとともに、ＮＡＮＤ型フラッシュメモリ１００から送られたデータを一時的に格納する。
【００１６】
ＥＣＣ回路２０６は、データの書き込み時には、書き込みデータに対してエラー訂正符号を生成し、このエラー訂正符号を書き込みデータに付加してＮＡＮＤインターフェース回路２０５に送る。また、ＥＣＣ回路２０６は、データの読み出し時には、読み出しデータに対して、読み出しデータに含まれるエラー訂正符号を用いてエラー検出及びエラー訂正を行う。なお、ＥＣＣ回路２０６は、ＮＡＮＤインターフェース回路２０５内に設けるようにしてもよい。
【００１７】
ＮＡＮＤインターフェース回路２０５は、バスを介してＮＡＮＤ型フラッシュメモリ１００と接続され、ＮＡＮＤ型フラッシュメモリ１００との間でインターフェース処理を行う。また、ＮＡＮＤインターフェース回路２０５は、ＮＡＮＤ型フラッシュメモリ１００との間で命令及びデータの送受信を行う。
【００１８】
ＮＡＮＤ型フラッシュメモリ１００は、制御信号線群及び入出力バス等を介してメモリコントローラ２００に接続される。ＮＡＮＤ型フラッシュメモリ１００は、メモリコントローラ２００が発行するコマンド、アドレス、及び書き込みデータを受信し、また、メモリコントローラ２００へ読み出しデータを送信するように構成される。
【００１９】
メモリコントローラ２００とＮＡＮＤ型フラッシュメモリ１００との間の信号には、チップイネーブル信号ＣＥｎ、ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトプロテクト信号ＷＰｎ、入出力信号ＩＯ＜７：０＞、及びレディー／ビジー信号ＲＢｎが含まれる。信号名に付記された“ｎ”は、アクティブ・ローを示す。ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトプロテクト信号ＷＰｎ、及び入出力信号ＩＯ＜７：０＞は、複数のＮＡＮＤ型フラッシュメモリ１００に共通であり、一方、チップイネーブル信号ＣＥｎ、及びレディー／ビジー信号ＲＢｎは、ＮＡＮＤ型フラッシュメモリ１００に個別に設けられる。この信号形態と接続方法については、必要に応じて適切に変更される。
【００２０】
図１の例では、メモリコントローラ２００とＮＡＮＤ型フラッシュメモリ１００−０とは、チップイネーブル信号ＣＥｎ０、ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトプロテクト信号ＷＰｎ、入出力信号ＩＯ＜７：０＞、及びレディー／ビジー信号ＲＢｎ０用の信号線で接続される。メモリコントローラ２００とＮＡＮＤ型フラッシュメモリ１００−１とは、チップイネーブル信号ＣＥｎ１、ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトプロテクト信号ＷＰｎ、入出力信号ＩＯ＜７：０＞、及びレディー／ビジー信号ＲＢｎ１用の信号線で接続される。
【００２１】
［１−１−１］  ＮＡＮＤ型フラッシュメモリ１００の構成
図２は、ＮＡＮＤ型フラッシュメモリ１００のブロック図である。ＮＡＮＤ型フラッシュメモリ１００の内部ブロック構造は、大まかにコア部１０とそれ以外の周辺回路２０とに区分される。
【００２２】
コア部１０は、複数のメモリセルを有するメモリセルアレイ１１、ロウデコーダ１２、及びセンスユニット１３を備える。
【００２３】
ロウデコーダ１２は、メモリセルアレイ１１をブロック単位で選択するとともに、ワード線に所望の電圧を印加する。すなわち、ロウデコーダ１２は、図示せぬ電圧生成回路から動作に応じた種々の電圧を受け、複数のワード線に種々の電圧を印加する。
【００２４】
センスユニット１３は、データの読み出し時には、メモリセルからビット線に読み出されたデータを検知及び増幅する。また、センスユニット１３は、データの書き込み時には、書き込みデータをメモリセルに転送する。メモリセルアレイ１１からのデータの読み出し、及びメモリセルアレイ１１へのデータの書き込みは、複数ビットのデータの集まりであるページを単位として行われる。センスユニット１３の具体的な構成については後述する。
【００２５】
周辺回路２０は、入力バッファ２１、２２、出力バッファ２３、アドレスバッファ２４、コマンドデコーダ２５、データバッファ２６、選択回路２７、ステートマシン（制御回路）２８、メモリセル制御レジスタ２９、出力バッファ３０、レジスタ回路３１、及びフェイル数カウント回路３２を備える。
【００２６】
入力バッファ２１は、チップイネーブル信号ＣＥｎ、ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、及びライトプロテクト信号ＷＰｎを受ける複数の端子（ピン）に接続される。入力バッファ２１は、複数のピンの論理状態に応じて、コマンド入力、アドレス入力、データ入力、書き込み禁止状態、チップ選択／非選択状態を認識するとともに、コマンドデコーダ２５、入力バッファ２２、及び出力バッファ２３などにその状態を通知する。
【００２７】
入力バッファ２２は、双方向バスＩＯ＜７：０＞に接続される。入力バッファ２２は、入力バッファ２１の指示に応じて、メモリコントローラ２００から双方向バスＩＯ＜７：０＞を介して入力されたデータをＤＩＮとして出力する。
【００２８】
出力バッファ２３は、選択回路２７の出力を受け、読み出しデータを双方向バスＩＯ＜７：０＞に所定タイミングで出力する。
【００２９】
アドレスバッファ２４は、データ信号ＤＩＮに含まれるアドレスデータを入力バッファ２２から受けるとともに、このアドレスデータを一時的に格納する。アドレスデータは、入力順序や入力ビット位置に応じて、ブロックアドレスＢＬＫａ、ストリングアドレスＳＴＲａ、ワード線アドレスＷＬａ、及びカラムアドレスＣＯＬａに分離される。
【００３０】
コマンドデコーダ２５は、入力バッファ２１の指示に応じて、入力バッファ２２からデータ信号ＤＩＮを受け、データ信号ＤＩＮに含まれるコマンド信号ＣＭＤを出力する。また、コマンドデコーダ２５は、センスユニット１３を制御するための信号ＣＭＤ_ＯＰ１〜ＣＭＤ_ＯＰ４を出力する。信号ＣＭＤ_ＯＰ１〜ＣＭＤ_ＯＰ４の詳細については後述する。
【００３１】
データバッファ２６は、入力バッファ２１の指示に応じて、入力バッファ２２からデータ信号ＤＩＮを受け、データ信号ＤＩＮに含まれる書き込みデータを一時的に格納する。データバッファ２６は、選択回路２７を経由してセンスユニット１３にデータを転送する。
【００３２】
選択回路２７は、データバッファ２６からセンスユニット１３へデータを転送するか、センスユニット１３から出力バッファ２３へデータを転送するかを選択する。
【００３３】
ステートマシン２８は、ＮＡＮＤ型フラッシュメモリ１００の読み出し、書き込み、及び消去等の動作を実行する。本実施形態では、ステートマシン２８は、コマンドデコーダ２５の出力を受け、主にメモリセル制御レジスタ２９を制御する。具体的には、ステートマシン２８は、メモリセルの適切なアドレス選択を行う、及び所望の電圧を所望のノードに印加する、などの動作を実行する。また、ステートマシン２８は、レジスタ回路３１の適切なレジスタの選択と、レジスタ回路３１からの出力F_NFの計算及び出力とを実行する。
【００３４】
メモリセル制御レジスタ２９は、アドレスバッファ２４からのアドレスＢＬＫａ、ＳＴＲａ、ＷＬａ、ＣＯＬａと、ステートマシン２８の動作指示信号とにより、メモリセルの書き込み、読み出し、及び消去の詳細動作を制御する信号を出力する。メモリセル制御レジスタ２９から出力される信号には、ブロックアドレスBLKADD、ストリングアドレスSTRADD、ワード線アドレスWLADD、及びカラムアドレスCOLADDが含まれる。
【００３５】
ブロックアドレスBLKADDは、選択ブロックを指示する。ストリングアドレスSTRADDは、メモリセルのブロックを構成する複数のストリングのうち１つを選択するための選択ゲート信号の電圧を指示する。ワード線アドレスWLADDは、選択ワード線に選択電圧を、非選択ワード線に非選択電圧を印加することを指示する。カラムアドレスCOLADDは、書き込みや読み出し時のキャッシュ位置を指示する。
【００３６】
出力バッファ３０は、レディー／ビジー信号ＲＢｎを出力する出力ピンに接続される。出力バッファ３０は、ステートマシン２８からレディー／ビジー信号ＲＢを受ける。レディー／ビジー信号ＲＢは、ＮＡＮＤ型フラッシュメモリ１００がレディー状態又はビジー状態であることを示す。出力バッファ３０は、受け取ったレディービジー信号ＲＢをレディービジー信号ＲＢｎとして出力ピンから出力する。
【００３７】
レジスタ回路３１は、ヒューズデータを格納する。ヒューズデータは、ＮＡＮＤ型フラッシュメモリ１００が電源の供給を受けた場合に、メモリセルアレイ１１内のヒューズ領域（図示せず）から読み出される。ヒューズデータは、フェイル数基準値F_NF等を含む。フェイル数基準値F_NFは、書き込み又は消去が完了したか否かの検査の際の基準値である。
【００３８】
フェイル数カウント回路３２は、センスユニット１３に含まれるキャッシュに格納された読み出しデータを監視し、所定タイミングで期待値と一致しないビット数やバイト数を計数する。そして、フェイル数カウント回路３２は、上記計数結果とレジスタ回路３１の出力するフェイルビット基準値F_NFとを比較する。フェイル数カウント回路３２は、比較の結果、基準値以下であれば信号PASSをハイレベルに、基準値を超える場合は信号PASSをローレベルにするなどしてステートマシン２８にその情報を通知する。
【００３９】
［１−１−２］  メモリセルアレイ１１の構成
図３は、図２に示したメモリセルアレイ１１の回路図である。メモリセルアレイ１１は、複数のブロックＢＬＫを備える。図３には、メモリセルアレイ１１に含まれる１つのブロックＢＬＫを抽出して示している。
【００４０】
複数のブロックＢＬＫの各々は、複数のストリングユニットＳＵを備える。図３には、４個のストリングユニットＳＵ０〜ＳＵ３を例示している。１個のブロックＢＬＫに含まれるストリングユニットＳＵの数は、任意に設定可能である。
【００４１】
複数のストリングユニットＳＵの各々は、複数のＮＡＮＤストリング（メモリストリング）ＮＳを備える。１個のストリングユニットＳＵに含まれるＮＡＮＤストリングＮＳの数は、任意に設定可能である。
【００４２】
複数のＮＡＮＤストリングＮＳの各々は、複数のメモリセルトランジスタＭＴ、及び２個の選択トランジスタＳＴ１、ＳＴ２を備える。複数のメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続される。本明細書では、メモリセルトランジスタを、メモリセル又はセルと呼ぶ場合もある。図３は、簡略化のために、ＮＡＮＤストリングＮＳが８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）を備える構成例を示しているが、ＮＡＮＤストリングＮＳが備えるメモリセルトランジスタＭＴの数は、実際にはこれよりも多く、また、任意に設定可能である。メモリセルトランジスタＭＴは、制御ゲート電極と電荷蓄積層とを備え、データを不揮発に記憶する。メモリセルトランジスタＭＴは、１ビットのデータ、又は２ビット以上のデータを記憶することが可能である。
【００４３】
ストリングユニットＳＵ０に含まれる複数の選択トランジスタＳＴ１のゲートは、選択ゲート線ＳＧＤ０に共通接続され、同様に、ストリングユニットＳＵ１〜ＳＵ３にはそれぞれ、選択ゲート線ＳＧＤ１〜ＳＧＤ３が接続される。ストリングユニットＳＵ０に含まれる複数の選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳ０に共通接続され、同様に、ストリングユニットＳＵ１〜ＳＵ３にはそれぞれ、選択ゲート線ＳＧＳ１〜ＳＧＳ３が接続される。なお、各ブロックＢＬＫに含まれるストリングユニットＳＵ０〜ＳＵ３には、共通の選択ゲート線ＳＧＳが接続されていてもよい。各ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートはそれぞれ、ワード線ＷＬ０〜ＷＬ７に接続される。
【００４４】
各ブロックＢＬＫ内でマトリクス状に配置されたＮＡＮＤストリングＮＳのうち、同一列にある複数のＮＡＮＤストリングＮＳの選択トランジスタＳＴ１のドレインは、ビット線ＢＬ０〜ＢＬ（ｍ−１）のいずれかに共通接続される。“ｍ”は１以上の整数である。さらに、各ビット線ＢＬは、複数のブロックＢＬＫに共通接続され、複数のブロックＢＬＫの各々に含まれる各ストリングユニットＳＵ内にある１つのＮＡＮＤストリングＮＳに接続される。各ブロックＢＬＫに含まれる複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通接続される。ソース線ＳＬは、例えば複数のブロックＢＬＫに共通接続される。
【００４５】
各ブロックＢＬＫ内にある複数のメモリセルトランジスタＭＴのデータは、例えば一括して消去される。読み出し及び書き込みは、１つのストリングユニットＳＵに配設された１本のワード線ＷＬに共通接続された複数のメモリセルトランジスタＭＴに対して、一括して行われる。１つのストリングユニットＳＵ内でワード線ＷＬを共有するメモリセルトランジスタＭＴの組を、セルユニットＣＵと呼ぶ。セルユニットＣＵに含まれる複数のメモリセルトランジスタＭＴがそれぞれ記憶する１ビットのデータの集まりをページと呼ぶ。すなわち、セルユニットＣＵに対する書き込み動作及び読み出し動作は、ページを単位として行われる。
【００４６】
なお、メモリセルアレイ１１は、例えば、３次元の積層構造を有する。すなわち、メモリセルアレイ１１は、３次元に積層された複数のメモリセルトランジスタＭＴを備える。また、各ブロックＢＬＫに含まれるＮＡＮＤストリングＮＳは、選択トランジスタＳＴ２、複数のメモリセルトランジスタＭＴ、選択トランジスタＳＴ１の順に積層方向に積層されて直列接続される。
【００４７】
［１−１−３］  メモリセルトランジスタの閾値分布
次に、メモリセルトランジスタＭＴの取り得る閾値電圧Ｖｔｈの分布について説明する。図４は、メモリセルトランジスタＭＴの閾値分布の一例を示す模式図である。メモリセルトランジスタＭＴは、２ビット以上のデータを記憶することが可能である。本実施形態では、メモリセルトランジスタＭＴが３ビットのデータを記憶する場合、いわゆるＴＬＣ（triple level cell）方式を例に説明する。
【００４８】
３ビットのデータは、下位（lower）ビット、中位（middle）ビット、及び上位（upper）ビットにより規定される。メモリセルトランジスタＭＴが３ビットを記憶する場合、メモリセルトランジスタＭＴは、複数の閾値電圧に応じた８つの状態（ステート）のうちのいずれかを取り得る。８つのステートを、低い方から順に、ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、“Ｇ”と呼ぶ。ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、“Ｇ”の各々に属する複数のメモリセルトランジスタＭＴは、分布を形成する。
【００４９】
ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、“Ｇ”にはそれぞれ、例えば、データ“１１１”、“１１０”、“１００”、“０００”、“０１０”、“０１１”、“００１”、“１０１”が割り当てられる。ビットの並びは、下位ビット“Ｌ”、中位ビット“Ｍ”、上位ビット“Ｕ”とすると、“Ｌ、Ｍ、Ｕ”である。閾値分布とデータとの割り当ては、任意に設定可能である。
【００５０】
読み出し対象のメモリセルトランジスタＭＴに記憶されたデータを読み出すために、当該メモリセルトランジスタＭＴの閾値電圧が属するステートが判定される。ステートの判定のために、読み出し電圧ＡＲ、ＢＲ、ＣＲ、ＤＲ、ＥＲ、ＦＲ、ＧＲが用いられ、読み出し電圧ＡＲ、ＢＲ、ＣＲ、ＤＲ、ＥＲ、ＦＲ、ＧＲは、この順に高くなる。
【００５１】
ステート“Ｅｒ”は、例えば、データが消去された状態（消去状態）に相当する。ステート“Ｅｒ”に属するメモリセルトランジスタＭＴの閾値電圧は、電圧ＡＲより低く、例えば負の値を有する。
【００５２】
ステート“Ａ”〜“Ｇ”は、電荷蓄積層に電荷が注入されてメモリセルトランジスタＭＴにデータが書き込まれた状態に相当し、ステート“Ａ”〜“Ｇ”に属するメモリセルトランジスタＭＴの閾値電圧は、例えば正の値を有する。ステート“Ａ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＡＲより高く、かつ読み出し電圧ＢＲ以下である。ステート“Ｂ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＢＲより高く、かつ読み出し電圧ＣＲ以下である。ステート“Ｃ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＣＲより高く、かつ読み出し電圧ＤＲ以下である。ステート“Ｄ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＤＲより高く、かつ読み出し電圧ＥＲ以下である。ステート“Ｅ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＥＲより高く、かつ読み出し電圧ＦＲ以下である。ステート“Ｆ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＦＲより高く、かつ読み出し電圧ＧＲ以下である。ステート“Ｇ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＧＲより高く、電圧ＶＲＥＡＤより低い。
【００５３】
電圧ＶＲＥＡＤは、非読み出し対象のセルユニットＣＵのメモリセルトランジスタＭＴに接続されたワード線ＷＬに印加される電圧であり、いずれのステートにあるメモリセルトランジスタＭＴの閾値電圧よりも高い。つまり、制御ゲートに電圧ＶＲＥＡＤが印加されたメモリセルトランジスタＭＴは、保持するデータに関わらずオン状態になる。
【００５４】
以上のように、各メモリセルトランジスタＭＴは、８個のステートのいずれかに設定され、３ビットデータを記憶することが可能である。また、書き込み及び読み出しは、１つのセルユニットＣＵ内のページ単位で行われる。メモリセルトランジスタＭＴが３ビットデータを記憶している場合、１つのセルユニットＣＵ内の３個のページにそれぞれ、下位ビット、中位ビット、及び上位ビットが割当てられる。下位ビット、中位ビット、及び上位ビットについて一括して書き込み又は読み出されるページはそれぞれ、下位（lower）ページ、中位（middle）ページ、及び上位（upper）ページと呼ばれる。
【００５５】
［１−１−４］  センスユニット１３の構成
図５は、図２に示したセンスユニット１３のブロック図である。センスユニット１３は、ビット線ＢＬ０〜ＢＬ（ｍ−１）に対応したセンスアンプユニットＳＡＵ０〜ＳＡＵ（ｍ−１）を備える。
【００５６】
各センスアンプユニットＳＡＵは、センスアンプＳＡ、及び例えば６個のデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＳＤＬ、ＴＤＬ、ＸＤＬを備える。センスアンプＳＡ、及びデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＳＤＬ、ＴＤＬ、ＸＤＬは、互いにデータが転送可能なように、バスＬＢＵＳを介して接続される。なお、図５の１個のセンスアンプユニットＳＡＵ内に記載されたバスＬＢＵＳは、バスＬＢＵＳに含まれる１本のデータ線を意味している。例えば、センスユニット１３は、１６ｋＢ（バイト）分のデータラッチ回路ＡＤＬを備えているとすると、バスＬＢＵＳは、１６ｋＢ分のデータ線で構成される。
【００５７】
センスアンプＳＡは、読み出し動作時には、対応するビット線ＢＬに読み出されたデータを検知し、データ“０”及びデータ“１”のいずれであるかを判定する。また、センスアンプＳＡは、書き込み動作時には、書き込みデータに基づいてビット線ＢＬに電圧を印加する。
【００５８】
データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＳＤＬ、ＴＤＬ、ＸＤＬは、データを一時的に格納する。データラッチ回路ＳＤＬは、例えば、読み出し動作におけるセンス結果を格納し、また、ベリファイ動作におけるセンス結果を格納する。データラッチ回路ＡＤＬは、下位ページを格納し、また、ベリファイ結果を格納する。データラッチ回路ＢＤＬは、中位ページを格納し、また、ベリファイ結果を格納する。データラッチ回路ＣＤＬは、上位ページを格納し、また、ベリファイ結果を格納する。データラッチ回路ＴＤＬは、センスアンプユニットＳＡＵ内で演算を行うためのデータ（内部用途データ）を格納し、また、ベリファイ結果を格納する。
【００５９】
データラッチ回路ＸＤＬは、双方向バスＹＩＯに接続される。データラッチ回路ＸＤＬは、双方向バスＹＩＯから送られた書き込みデータを一時的に格納し、また、バスＬＢＵＳから送られた読み出しデータを一時的に格納する。
【００６０】
［１−２］  メモリシステム１の動作
次に、メモリシステム１の動作について説明する。本実施形態では、センスアンプユニットＳＡＵに含まれる複数のデータラッチ回路のうち読み出し動作において使用されるデータラッチ回路を任意に変更可能としている。
【００６１】
図６は、読み出し動作のコマンドシーケンスを説明する図である。読み出し動作において、メモリコントローラ２００は、prefixコマンド“Ｘ”、プリセットコマンド“ＰＳＣ”、読み出しコマンド“００ｈ”、アドレスセット、及び実行コマンド“３０ｈ”を、ＮＡＮＤ型フラッシュメモリ１００に発行する。
【００６２】
prefixコマンド“Ｘ”は、センスユニット１３に含まれる複数のデータラッチ回路のうち、使用するデータラッチ回路を指定するコマンドである。プリセットコマンド“ＰＳＣ”は、下位ページ、中位ページ、上位ページのいずれかを指定するコマンドである。プリセットコマンド“ＰＳＣ”によって、今回の読み出し動作における読み出しページが指定される。アドレスセットは、例えば、カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３からなる。
【００６３】
ステートマシン２８は、実行コマンド“３０ｈ”を受けた後、レディー／ビジー信号ＲＢｎをローレベル（ビジー状態を表す）にする。そして、ステートマシン２８は、読み出し動作を実行する。図６の“ｔＲ”は、読み出し動作を意味する。
【００６４】
図７は、読み出し動作の他のコマンドシーケンスを説明する図である。図７は、アドレスセットで読み出しページを指定する例である。
【００６５】
読み出し動作において、メモリコントローラ２００は、prefixコマンド“Ｘ”、読み出しコマンド“００ｈ”、アドレスセット“Ｃ１、Ｃ２、Ｒ１〜Ｒ３”、及び実行コマンド“３０ｈ”を、ＮＡＮＤ型フラッシュメモリ１００に発行する。図７では、プリセットコマンド“ＰＳＣ”が省略される。読み出しページは、アドレスセット“Ｃ１、Ｃ２、Ｒ１〜Ｒ３”によって指定される。
【００６６】
図８は、prefixコマンド“Ｘ”の内容とデータラッチ回路との関係を説明する図である。図８には、読み出し動作の形態として、ノーマルリード、ＤＬＡ（Direct Look Ahead）リード、及びエラー訂正の一手段として軟判定復号を行う場合のハードビットリードとソフトビットリードとの組み合わせ（ＨＢリード・ＳＢリードとも表記する）を例示している。ノーマルリードは、通常の読み出し動作である。
【００６７】
ＤＬＡリードは、選択ワード線ＷＬｎに接続された選択メモリセルのデータを読み出す前に、選択ワード線ＷＬｎに隣接するワード線ＷＬｎ＋１に接続されたメモリセルからデータを読み出す動作である。その後、ＤＬＡリードの結果に応じて、選択ワード線ＷＬｎの読み出し動作が行われる。具体的には、選択ワード線ＷＬｎの読み出し動作において、ＤＬＡリードの結果に応じて、読み出し電圧のレベルを補正し、この補正された読み出し電圧を用いて、選択ワード線ＷＬｎに接続された選択メモリセルのデータが読み出される。
【００６８】
ＤＬＡリードに関しては、例えば“MEMORY DEVICE”という２０１９年３月１３日に出願された米国特許出願１６／３５２，０９４号に記載されている。この特許出願は、その全体が本願明細書において参照により援用される。
【００６９】
読み出し動作において、誤り訂正の精度を向上させるために、ハードビットリード及びソフトビットリードが行われる。ハードビットリードの結果は、硬判定復号に用いられる。ソフトビットリードの結果は、軟判定復号に用いられる。硬判定（ＨＤ：hard decision）は、“０”及び“１”の２値の情報を用いて、データを判定する。軟判定（ＳＤ：soft decision）は、データの確からしさを示す確率、尤度、あるいは対数尤度比（ＬＬＲ：log likelihood ratio）を用いて、データを判定する。軟判定復号は、硬判定復号より誤り訂正能力が高い。
【００７０】
ハードビットリードでは、閾値分布を分ける境界に対応する１種類の読み出し電圧を用いて読み出し動作が行われ、当該境界よりメモリセルの閾値電圧が高いか否かを判定する。すなわち、ハードビットリードは、通常の読み出し動作（ノーマルリード）と同じである。ソフトビットリードでは、閾値分布を分ける境界に対して複数の読み出し電圧を用いて読み出し動作が行われる。そして、複数の読み出し電圧に対応する複数の読み出し結果を用いて、データが判定される。例えば、ハードビットリードで読み出しエラーとなった場合に、ソフトビットリードが行われる。そして、ハードビットリード及びソフトビットリードの結果に基づいて、誤り訂正の必要可能性のあるビットを抽出するとともに、誤り訂正が行われる。
【００７１】
ソフトビットリードに関しては、例えば“NONVOLATILE MEMORY AND WRITING METHOD”という２０１５年２月１３日に出願された米国特許出願１４／６２１，８９４号に記載されている。この特許出願は、その全体が本願明細書において参照により援用される。
【００７２】
図８に示すように、prefixコマンド“Ｘ”は、５個の状態を指定することが可能である。ノーマルリードでは、以下のデータラッチ回路が指定される。すなわち、prefixコマンド“Ｘ”なしの場合、データラッチ回路ＡＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０１”である場合、データラッチ回路ＢＤＬ、ＸＤＬが指定される。“０ｘ”は、１６進数を意味する。prefixコマンド“Ｘ＝０ｘ０２”である場合、データラッチ回路ＣＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０４”である場合、データラッチ回路ＴＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０８”は、Ｎ／Ａ（not applicable）である。
【００７３】
なお、読み出し動作のうち、ノーマルリードは原理的に１個のデータラッチ回路があれば動作可能である。しかしセンスアンプユニット内の物理配置構成上、センスアンプＳＡから最も遠い位置にあるデータラッチ回路ＸＤＬを使用して読み出し動作を行うと、読み出し動作にかかる時間が増大することが懸念される。ここでは、センスアンプＳＡからの物理距離が遠いデータラッチ回路ＸＤＬを使わず、データラッチ回路ＡＤＬ等を主に使用する構成で説明をするが、実施の形態はこれに限定されるものではない。
【００７４】
ＤＬＡリードでは、以下のデータラッチ回路が指定される。すなわち、prefixコマンド“Ｘ”なしの場合、データラッチ回路ＡＤＬ、ＢＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０１”である場合、データラッチ回路ＢＤＬ、ＣＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０２”である場合、データラッチ回路ＣＤＬ、ＴＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０４”である場合、データラッチ回路ＴＤＬ、ＸＤＬが指定される。ＤＬＡリードでは、読み出し方法によっては２個のデータラッチ回路で読み出しを行えるケースもある。
【００７５】
ソフトビットリードにおけるデータラッチ回路の指定動作は、ＤＬＡリードにおけるデータラッチ回路の指定動作と同じである。
【００７６】
図９は、ＤＬＡリードかつprefixコマンド“Ｘ”なしの場合に使用されるデータラッチ回路を説明する図である。図１０は、ＤＬＡリードかつprefixコマンド“Ｘ＝０ｘ０１”の場合に使用されるデータラッチ回路を説明する図である。図１１は、ＤＬＡリードかつprefixコマンド“Ｘ＝０ｘ０２”の場合に使用されるデータラッチ回路を説明する図である。図１２は、ＤＬＡリードかつprefixコマンド“Ｘ＝０ｘ０４”の場合に使用されるデータラッチ回路を説明する図である。図９乃至図１２において、使用されるデータラッチ回路にハッチングを付している。図９乃至図１２は、図８の説明に対応している。この例は一例であり、どのデータラッチ回路を使用するかは任意に構成することができる。またこれに応じたprefixコマンドも同様に準備することができる。
【００７７】
［１−３］  センスユニット１３の他の構成例
図１３は、センスユニット１３の他の構成例を示すブロック図である。なお、図１３には、任意のビット線ＢＬに接続される１個のセンスアンプユニットＳＡＵを抽出して示している。センスユニット１３に含まれる全てのセンスアンプユニットＳＡＵは、図１３の構成を有する。
【００７８】
センスアンプユニットＳＡＵは、センスアンプＳＡ、及び８個のデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＳＤＬ、ＴＤＬ、ＮＤＬ、ＵＤＬ、ＸＤＬを備える。センスアンプＳＡ、及びデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＳＤＬ、ＴＤＬ、ＮＤＬ、ＵＤＬ、ＸＤＬは、互いにデータが転送可能なように、バスＬＢＵＳを介して接続される。
【００７９】
図１４は、他の構成例に係るprefixコマンド“Ｘ”の内容とデータラッチ回路との関係を説明する図である。図１４には、読み出し動作の形態として、ノーマルリード、ＤＬＡリード、及びＨＢリード・ＳＢリードを例示している。
【００８０】
ノーマルリードでは、以下のデータラッチ回路が指定される。すなわち、prefixコマンド“Ｘ”なしの場合、データラッチ回路ＡＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０１”である場合、データラッチ回路ＢＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０２”である場合、データラッチ回路ＣＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０４”である場合、データラッチ回路ＴＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０８”である場合、データラッチ回路ＮＤＬ、ＸＤＬが指定される。
【００８１】
ＤＬＡリードでは、以下のデータラッチ回路が指定される。すなわち、prefixコマンド“Ｘ”なしの場合、データラッチ回路ＡＤＬ、ＢＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０１”である場合、データラッチ回路ＢＤＬ、ＣＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０２”である場合、データラッチ回路ＣＤＬ、ＴＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０４”である場合、データラッチ回路ＴＤＬ、ＮＤＬ、ＸＤＬが指定される。prefixコマンド“Ｘ＝０ｘ０８”である場合、データラッチ回路ＮＤＬ、ＵＤＬ、ＸＤＬが指定される。
【００８２】
ソフトビットリードにおけるデータラッチ回路の指定動作は、ＤＬＡリードにおけるデータラッチ回路の指定動作と同じである。
【００８３】
図１５は、ＤＬＡリードかつprefixコマンド“Ｘ”なしの場合に使用されるデータラッチ回路を説明する図である。図１６は、ＤＬＡリードかつprefixコマンド“Ｘ＝０ｘ０１”の場合に使用されるデータラッチ回路を説明する図である。図１７は、ＤＬＡリードかつprefixコマンド“Ｘ＝０ｘ０２”の場合に使用されるデータラッチ回路を説明する図である。図１８は、ＤＬＡリードかつprefixコマンド“Ｘ＝０ｘ０４”の場合に使用されるデータラッチ回路を説明する図である。図１９は、ＤＬＡリードかつprefixコマンド“Ｘ＝０ｘ０８”の場合に使用されるデータラッチ回路を説明する図である。図１５乃至図１９において、使用されるデータラッチ回路にハッチングを付している。図１５乃至図１９は、図１４の説明に対応している。
【００８４】
図１９の形態を適用した場合は、書き込み動作にて占有するデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬを阻害することなく、ＤＬＡリード、及びソフトビットリードを実現することができる。
【００８５】
［１−４］  センスアンプユニットＳＡＵの具体例
次に、センスアンプユニットＳＡＵの具体例について説明する。図２０は、センスアンプユニットＳＡＵの一部の回路図である。図２０には、センスアンプユニットＳＡＵに含まれるデータラッチ回路を主に示している。
【００８６】
センスアンプユニットＳＡＵは、データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＴＤＬ、ＮＤＬ、ＵＤＬ、ＸＤＬ、トランスファーゲート４４、４８、及びインバータ回路４５、４９を備える。センスユニット１３は、ロジック回路５０、及び端子Ｔ１〜Ｔ６を備える。図２０では、データラッチ回路ＳＤＬの図示を省略している。
【００８７】
データラッチ回路ＡＤＬは、クロックドインバータ回路４０Ａ、インバータ回路４１Ａ、４２Ａ、及びトランスファーゲート４３Ａを備える。クロックドインバータ回路４０Ａの入力端子は、インバータ回路４１Ａの出力端子に接続され、クロックドインバータ回路４０Ａの出力端子は、インバータ回路４１Ａの入力端子に接続され、クロックドインバータ回路４０Ａのクロック端子には、ロジック回路５０から信号ＡＬＡＴが入力される。クロックドインバータ回路４０Ａは、信号ＡＬＡＴがハイレベルの場合に活性化される。
【００８８】
トランスファーゲート４３Ａの第１端子は、バスＬＢＵＳに接続され、トランスファーゲート４３Ａの第２端子は、クロックドインバータ回路４０Ａの出力端子に接続される。トランスファーゲート４３Ａの第１ゲート端子と、インバータ回路４２Ａの入力端子とには、ロジック回路５０から信号ＡＤＬｏｎが入力される。インバータ回路４２Ａの出力端子は、トランスファーゲート４３Ａの第２ゲート端子に接続される。トランスファーゲート４３Ａは、信号ＡＤＬｏｎがハイレベルの場合にオンする。
【００８９】
データラッチ回路ＢＤＬは、クロックドインバータ回路４０Ｂ、インバータ回路４１Ｂ、４２Ｂ、及びトランスファーゲート４３Ｂを備える。データラッチ回路ＢＤＬには、ロジック回路５０から、信号ＢＬＡＴ、ＢＤＬｏｎが入力される。
【００９０】
データラッチ回路ＣＤＬは、クロックドインバータ回路４０Ｃ、インバータ回路４１Ｃ、４２Ｃ、及びトランスファーゲート４３Ｃを備える。データラッチ回路ＣＤＬには、ロジック回路５０から、信号ＣＬＡＴ、ＣＤＬｏｎが入力される。
【００９１】
データラッチ回路ＴＤＬは、クロックドインバータ回路４０Ｔ、インバータ回路４１Ｔ、４２Ｔ、及びトランスファーゲート４３Ｔを備える。データラッチ回路ＴＤＬには、ロジック回路５０から、信号ＴＬＡＴ、ＴＤＬｏｎが入力される。
【００９２】
データラッチ回路ＵＤＬは、クロックドインバータ回路４０Ｕ、インバータ回路４１Ｕ、４２Ｕ、及びトランスファーゲート４３Ｕを備える。データラッチ回路ＵＤＬには、ロジック回路５０から、信号ＵＬＡＴ、ＵＤＬｏｎが入力される。
【００９３】
データラッチ回路ＮＤＬは、クロックドインバータ回路４０Ｎ、インバータ回路４１Ｎ、４２Ｎ、及びトランスファーゲート４３Ｎを備える。データラッチ回路ＮＤＬには、ロジック回路５０から、信号ＮＬＡＴ、ＮＤＬｏｎが入力される。
【００９４】
データラッチ回路ＢＤＬ、ＣＤＬ、ＴＤＬ、ＮＤＬ、ＵＤＬの各々を構成する素子の接続関係は、前述したデータラッチ回路ＡＤＬのそれと同じである。
【００９５】
トランスファーゲート４４の第１端子は、バスＬＢＵＳに接続され、トランスファーゲート４４の第２端子は、データラッチ回路ＸＤＬに接続される。トランスファーゲート４４の第１ゲート端子と、インバータ回路４５の入力端子とには、ロジック回路５０から信号Ｘ２ＩＮＴ、ＩＮＴ２Ｘが入力される。インバータ回路４５の出力端子は、トランスファーゲート４４の第２ゲート端子に接続される。トランスファーゲート４４は、信号Ｘ２ＩＮＴ、又は信号ＩＮＴ２Ｘがハイレベルの場合にオンする。
【００９６】
データラッチ回路ＸＤＬは、２個のインバータ回路４６、４７を備える。インバータ回路４６の入力端子は、インバータ回路４７の出力端子に接続され、インバータ回路４６の出力端子は、インバータ回路４７の入力端子に接続される。
【００９７】
トランスファーゲート４８の第１端子は、データラッチ回路ＸＤＬに接続され、トランスファーゲート４８の第２端子は、端子Ｔ５を介して、バスＹＩＯに接続される。トランスファーゲート４８の第１ゲート端子と、インバータ回路４９の入力端子とには、端子Ｔ６を介して、メモリセル制御レジスタ２９からカラムアドレスCOLADDが入力される。インバータ回路４９の出力端子は、トランスファーゲート４８の第２ゲート端子に接続される。トランスファーゲート４８は、カラムアドレスCOLADDがハイレベルの場合にオンする。
【００９８】
ロジック回路５０は、端子Ｔ１〜Ｔ４に接続される。端子Ｔ１〜Ｔ４にはそれぞれ、コマンドデコーダ２５から、信号ＣＭＤ_ＯＰ１〜ＣＭＤ_ＯＰ４が入力される。ロジック回路５０は、信号ＣＭＤ_ＯＰ１〜ＣＭＤ_ＯＰ４を用いて、前述した制御信号を生成する。
【００９９】
（動作）
次に、読み出し動作において、データラッチ回路を指定する動作について説明する。
【０１００】
図２１は、データラッチ回路ＡＤＬを指定する動作を説明するタイミング図である。なお、図２０から理解できるように、データラッチ回路ＸＤＬは、常時使用可能である。図２１において、信号がハイレベル固定である場合を“Ｈ  ｆｉｘ”と表記し、信号がローレベル固定である場合を“Ｌ  ｆｉｘ”と表記している。
【０１０１】
データラッチ回路ＡＤＬを指定する場合、コマンドデコーダ２５は、信号ＣＭＤ_ＯＰ１＝０、ＣＭＤ_ＯＰ２＝０、ＣＭＤ_ＯＰ３＝０、ＣＭＤ_ＯＰ４＝０に設定する。時刻ｔ１において、ロジック回路５０は、信号ＡＤＬｏｎをハイレベルにする。これにより、トランスファーゲート４３Ａがオンする。時刻ｔ２において、ロジック回路５０は、信号ＩＮＴ２Ｘをハイレベルにする。これにより、データラッチ回路ＸＤＬは、バスＬＢＵＳのデータを受け取ることができる。
【０１０２】
時刻ｔ３において、ロジック回路５０は、信号ＡＤＬｏｎをローレベルにし、信号ＩＮＴ２Ｘをローレベルにすることにより、データラッチ回路のデータをラッチ(確定)させる。
【０１０３】
図２２は、データラッチ回路ＢＤＬを指定する動作を説明するタイミング図である。データラッチ回路ＢＤＬを指定する場合、コマンドデコーダ２５は、信号ＣＭＤ_ＯＰ１＝１、ＣＭＤ_ＯＰ２＝０、ＣＭＤ_ＯＰ３＝０、ＣＭＤ_ＯＰ４＝０に設定する。時刻ｔ１において、ロジック回路５０は、信号ＢＤＬｏｎをハイレベルにする。これにより、トランスファーゲート４３Ｂがオンする。時刻ｔ２において、ロジック回路５０は、信号ＩＮＴ２Ｘをハイレベルにする。これにより、データラッチ回路ＢＤＬは、バスＬＢＵＳのデータを受け取ることができる。
【０１０４】
時刻ｔ３において、ロジック回路５０は、信号ＢＤＬｏｎをローレベルにし、信号ＩＮＴ２Ｘをローレベルにすることにより、データラッチ回路のデータをラッチ(確定)させる。
【０１０５】
図２３は、データラッチ回路ＣＤＬを指定する動作を説明するタイミング図である。データラッチ回路ＣＤＬを指定する場合、コマンドデコーダ２５は、信号ＣＭＤ_ＯＰ１＝０、ＣＭＤ_ＯＰ２＝１、ＣＭＤ_ＯＰ３＝０、ＣＭＤ_ＯＰ４＝０に設定する。時刻ｔ１において、ロジック回路５０は、信号ＣＤＬｏｎをハイレベルにする。これにより、トランスファーゲート４３Ｃがオンする。時刻ｔ２において、ロジック回路５０は、信号ＩＮＴ２Ｘをハイレベルにする。これにより、データラッチ回路ＣＤＬは、バスＬＢＵＳのデータを受け取ることができる。
【０１０６】
時刻ｔ３において、ロジック回路５０は、信号ＣＤＬｏｎをローレベルにし、信号ＩＮＴ２Ｘをローレベルにすることにより、データラッチ回路のデータをラッチ(確定)させる。
【０１０７】
図２４は、データラッチ回路ＴＤＬを指定する動作を説明するタイミング図である。データラッチ回路ＴＤＬを指定する場合、コマンドデコーダ２５は、信号ＣＭＤ_ＯＰ１＝０、ＣＭＤ_ＯＰ２＝０、ＣＭＤ_ＯＰ３＝１、ＣＭＤ_ＯＰ４＝０に設定する。時刻ｔ１において、ロジック回路５０は、信号ＴＤＬｏｎをハイレベルにする。これにより、トランスファーゲート４３Ｔがオンする。時刻ｔ２において、ロジック回路５０は、信号ＩＮＴ２Ｘをハイレベルにする。これにより、データラッチ回路ＴＤＬは、バスＬＢＵＳのデータを受け取ることができる。
【０１０８】
時刻ｔ３において、ロジック回路５０は、信号ＴＤＬｏｎをローレベルにし、信号ＩＮＴ２Ｘをローレベルにすることにより、データラッチ回路のデータをラッチ(確定)させる。
【０１０９】
図２５は、データラッチ回路ＵＤＬを指定する動作を説明するタイミング図である。データラッチ回路ＵＤＬを指定する場合、コマンドデコーダ２５は、信号ＣＭＤ_ＯＰ１＝０、ＣＭＤ_ＯＰ２＝０、ＣＭＤ_ＯＰ３＝０、ＣＭＤ_ＯＰ４＝１に設定する。時刻ｔ１において、ロジック回路５０は、信号ＵＤＬｏｎをハイレベルにする。これにより、トランスファーゲート４３Ｕがオンする。時刻ｔ２において、ロジック回路５０は、信号ＩＮＴ２Ｘをハイレベルにする。これにより、データラッチ回路ＵＤＬは、バスＬＢＵＳのデータを受け取ることができる。
【０１１０】
時刻ｔ３において、ロジック回路５０は、信号ＵＤＬｏｎをローレベルにし、信号ＩＮＴ２Ｘをローレベルにすることにより、データラッチ回路のデータをラッチ(確定)させる。
【０１１１】
［１−５］  第１実施形態の効果
書き込み動作では、書き込みデータを格納するデータラッチ回路が固定されており、例えば、データラッチ回路ＡＤＬに下位ページが格納され、データラッチ回路ＢＤＬに中位ページが格納され、データラッチ回路ＣＤＬに上位ページが格納される。読み出し動作では、例えばデータラッチ回路ＡＤＬに読み出しデータが格納される。
【０１１２】
書き込み動作の途中に読み出し動作を挿入するサスペンドリードがある。サスペンドリードを行う場合、データラッチ回路ＡＤＬが書き込みデータで占有されているため、データ転送に時間のかかるデータラッチ回路ＸＤＬを使用するか、データラッチ回路ＡＤＬのデータを一旦どこかに退避したり、データを入れ替えたりする必要がある。データの退避等にかかる時間だけリードレイテンシ（リード待ち時間）が長くなってしまう。また、データの退避、又は追加のデータ転送にかかる電流が増えるため、平均動作電流を増大させ、バッテリ機器の電池消費に悪影響を与える。
【０１１３】
ＤＬＡリードやソフトビットリードでは、そもそもデータラッチ回路が不足しているので、サスペンドリードが実施できない。よって、ＤＬＡリードやソフトビットリードを実行する場合は、書き込み動作が完了するまで待った後に、これらリードを行う必要がある。このときのレスポンス低下は、ＱｏＳ（Quality of service）の大幅低下につながる。
【０１１４】
一般的には、どの動作にどのデータラッチ回路を使用するかが回路的に決められているので、仮にデータラッチ回路が空いている場合であっても、データの退避やデータの入れ替えを必要とし、リードレイテンシの劣化につながる。
【０１１５】
そこで、第１実施形態では、読み出し動作において、メモリコントローラ２００は、使用するデータラッチ回路を指定するためのprefixコマンド“Ｘ”をＮＡＮＤ型フラッシュメモリ１００に発行する。そして、ＮＡＮＤ型フラッシュメモリ１００は、prefixコマンド“Ｘ”により指定されたデータラッチ回路を用いて、読み出し動作を実行するようにしている。
【０１１６】
これにより、書き込み動作を中断したサスペンドリードにおいて、書き込みデータを退避や移動せずにデータラッチ回路に格納したまま、読み出しデータもデータラッチ回路に格納することができる。そして、中断後に書き込み動作を再開する場合、例えばデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬに格納された書き込みデータを用いて、書き込み動作を再開、実行することができる。
【０１１７】
また、サスペンドリードの高速化、及び書き込み動作の高速化が可能である。また、消費電力を低減することが可能である。これにより、ＮＡＮＤ型フラッシュメモリ１００及びメモリシステム１の性能を向上させることができる。
【０１１８】
また、データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬが書き込みデータを格納している状態で、データラッチ回路ＮＤＬ、ＵＤＬを用いて読み出し動作（ＤＬＡリード、及びソフトビットリードを含む）を行うことができる。
【０１１９】
［２］  第２実施形態
第２実施形態は、書き込みデータを格納する第１ラッチ群と、第１ラッチ群のバックアップデータを格納する第２ラッチ群とを備える。そして、同じ書き込みデータを用いて２種類の書き込み動作を行う場合に、ＮＡＮＤ型フラッシュメモリ１００に再度書き込みデータを入力することなく、これら２種類の書き込み動作を実現するようにしている。
【０１２０】
［２−１］  センスユニット１３の構成
第２実施形態に係るセンスユニット１３の構成について説明する。図２６は、第２実施形態に係るセンスユニット１３のブロック図である。センスユニット１３は、ビット線ＢＬ０〜ＢＬ（ｍ−１）に対応したセンスアンプユニットＳＡＵ０〜ＳＡＵ（ｍ−１）を備える。
【０１２１】
各センスアンプユニットＳＡＵは、センスアンプＳＡ、及び例えば８個のデータラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０、ＡＤＬ１、ＢＤＬ１、ＣＤＬ１、ＳＤＬ、ＸＤＬを備える。センスアンプＳＡ、及びデータラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０、ＡＤＬ１、ＢＤＬ１、ＣＤＬ１、ＳＤＬ、ＸＤＬは、互いにデータが転送可能なように、バスＬＢＵＳを介して接続される。
【０１２２】
データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０、ＡＤＬ１、ＢＤＬ１、ＣＤＬ１、ＳＤＬ、ＸＤＬは、データを一時的に格納する。データラッチ回路ＳＤＬは、例えば、読み出し動作時にメモリセルから読み出されたデータを格納し、また、ベリファイ結果を格納する。データラッチ回路ＡＤＬ０は、下位ページを格納し、また、ベリファイ結果を格納する。データラッチ回路ＢＤＬ０は、中位ページを格納し、また、ベリファイ結果を格納する。データラッチ回路ＣＤＬ０は、上位ページを格納し、また、ベリファイ結果を格納する。
【０１２３】
データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１は、例えばデータバックアップ用として用いられる。データラッチ回路ＡＤＬ１は、データラッチ回路ＡＤＬ０のデータバックアップ用として用いられ、下位ページを格納する。データラッチ回路ＢＤＬ１は、データラッチ回路ＢＤＬ０のデータバックアップ用として用いられ、中位ページを格納する。データラッチ回路ＣＤＬ１は、データラッチ回路ＣＤＬ０のデータバックアップ用として用いられ、上位ページを格納する。
【０１２４】
［２−２］  書き込み方式
最初に、書き込み動作の全体の流れについて説明する。書き込み動作（書き込みシーケンスとも呼ぶ）は、順に繰り返される複数のプログラムループからなる。複数のプログラムループの各々は、プログラム動作と、ベリファイ動作とからなる。
【０１２５】
プログラム動作は、メモリセルトランジスタＭＴの電荷蓄積層に電荷（電子）を注入することで、メモリセルトランジスタＭＴの閾値電圧を上昇させる、又は、電荷蓄積層への電子の注入を禁止することで、メモリセルトランジスタＭＴの閾値電圧を維持させる動作である。選択ワード線には、プログラム電圧ＶＰＧＭが印加される。
【０１２６】
ベリファイ動作は、プログラム動作の後、メモリセルトランジスタＭＴのデータを読み出し、メモリセルトランジスタＭＴの閾値電圧がターゲットレベルに達したか否かを判定する動作である。選択ワード線には、所望のベリファイ電圧が印加される。メモリセルトランジスタＭＴの閾値電圧がターゲットレベルに達している場合を、「ベリファイをパスした」と呼び、ターゲットレベルに達していない場合を、「ベリファイがフェイルした」と呼ぶ。ベリファイ動作の詳細は、読み出し動作と同じである。
【０１２７】
次に、第２実施形態に係る書き込み方式について説明する。本実施形態では、３ページのデータを、第１書き込み動作と第２書き込み動作との２回に分けて実行する。第１書き込み動作を、foggyプログラムと呼ぶ。第２書き込み動作を、fineプログラムと呼ぶ。第１書き込み動作は、粗い書き込み動作であり、第１書き込み動作が終了した後における各ステートの閾値分布幅が比較的広い。第２書き込み動作は、細かい書き込み動作であり、第２書き込み動作によってメモリセルの閾値電圧が最終的に設定される。
【０１２８】
まず、第１書き込み動作について説明する。図２７は、第１書き込み動作におけるメモリセルトランジスタＭＴの閾値分布の一例を示す模式図である。
【０１２９】
第１書き込み動作を実行する前のメモリセルトランジスタＭＴの閾値電圧は、ステート“Ｅｒ”である。ステート“Ｅｒ”に属するメモリセルトランジスタＭＴの閾値電圧は、ベリファイ電圧ＶＡ´より低く、例えば負の値を有する。
【０１３０】
ステートマシン２８は、メモリコントローラ２００から受信した３ページの書き込みデータを用いて、第１書き込み動作を実行する。第１書き込み動作において、ステートマシン２８は、ベリファイ電圧ＶＡ´、ＶＢ´、ＶＣ´、ＶＤ´、ＶＥ´、ＶＦ´、ＶＧ´を使用する。“ＶＡ´＜ＶＢ´＜ＶＣ´＜ＶＤ´＜ＶＥ´＜ＶＦ´＜ＶＧ´＜ＶＲＥＡＤ”の関係を有する。
【０１３１】
第１書き込み動作が実行されると、書き込みデータに基づいてメモリセルトランジスタＭＴの閾値電圧が適宜変化し、８個の閾値分布が形成される。図２７に示すように、第１書き込み動作後の閾値分布は、その幅が広くなっており、隣り合う閾値分布が部分的に重なっている場合もある。
【０１３２】
次に、第２書き込み動作について説明する。図２８は、第２書き込み動作におけるメモリセルトランジスタＭＴの閾値分布の一例を示す模式図である。
【０１３３】
ステートマシン２８は、第１書き込み動作と同じ３ページの書き込みデータを用いて、第２書き込み動作を実行する。第２書き込み動作において、ステートマシン２８は、ベリファイ電圧ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、ＶＦ、ＶＧを使用する。例えば、“ＶＡ´＜ＶＡ、ＶＢ´＜ＶＢ、ＶＣ´＜ＶＣ、ＶＤ´＜ＶＤ、ＶＥ´＜ＶＥ、ＶＦ´＜ＶＦ、ＶＧ´＜ＶＧ”の関係、及び“ＶＡ＜ＶＢ＜ＶＣ＜ＶＤ＜ＶＥ＜ＶＦ＜ＶＧ＜ＶＲＥＡＤ”の関係を有する。
【０１３４】
第２書き込み動作が実行されると、書き込みデータに基づいてメモリセルトランジスタＭＴの閾値電圧が適宜変化し、８個の閾値分布が形成される。図２８に示すように、第２書き込み動作後の閾値分布は、第１書き込み動作後の閾値分布に比べて、その幅が狭くなっている。
【０１３５】
［２−３］  書き込み動作
次に、第２実施形態に係る書き込み動作について説明する。図２９は、第２実施形態に係る書き込み動作を説明するフローチャートである。なお、ここで説明する書き込み動作は、前述した第１書き込み動作及び第２書き込み動作のうちの第１書き込み動作のことである。
【０１３６】
ＮＡＮＤ型フラッシュメモリ１００は、メモリコントローラ２００から、コマンド及びアドレスとともに下位ページを受信する。ステートマシン２８は、下位ページを、データラッチ回路ＸＤＬを経由して、データラッチ回路ＡＤＬ０に格納する（ステップＳ１００）。
【０１３７】
続いて、ＮＡＮＤ型フラッシュメモリ１００は、メモリコントローラ２００から、コマンド及びアドレスとともに中位ページを受信する。ステートマシン２８は、中位ページを、データラッチ回路ＸＤＬを経由して、データラッチ回路ＢＤＬ０に格納する（ステップＳ１０１）。
【０１３８】
続いて、ＮＡＮＤ型フラッシュメモリ１００は、メモリコントローラ２００から、コマンド及びアドレスとともに上位ページを受信する。ステートマシン２８は、上位ページを、データラッチ回路ＸＤＬを経由して、データラッチ回路ＣＤＬ０に格納する（ステップＳ１０２）。
【０１３９】
続いて、ステートマシン２８は、第１ラッチ群（データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０）から第２ラッチ群（データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１）へデータをコピーするデータコピー動作を実行する（ステップＳ１０３）。すなわち、ステートマシン２８は、データラッチ回路ＡＤＬ０からデータラッチ回路ＡＤＬ１へデータをコピーし、データラッチ回路ＢＤＬ０からデータラッチ回路ＢＤＬ１へデータをコピーし、データラッチ回路ＣＤＬ０からデータラッチ回路ＣＤＬ１へデータをコピーする。これにより、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納された３ページ分の書き込みデータが、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１にバックアップされる。
【０１４０】
続いて、ステートマシン２８は、選択ワード線ＷＬにプログラム電圧を印加するプログラム動作を実行する（ステップＳ１０４）。続いて、ステートマシン２８は、ベリファイ動作を実行する（ステップＳ１０５）。
【０１４１】
続いて、ステートマシン２８は、ベリファイ結果を、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納する（ステップＳ１０６）。
【０１４２】
続いて、ステートマシン２８は、ベリファイがパスしたか否かを判定する（ステップＳ１０７）。ベリファイがパスした場合（ステップＳ１０７＝Ｙｅｓ）、ステートマシン２８は、書き込み動作を終了する。
【０１４３】
ベリファイがフェイルした場合（ステップＳ１０７＝Ｎｏ）、ステートマシン２８は、プログラムループの回数（ループ数とも呼ぶ）が規定回数に達したか否かを判定する（ステップＳ１０８）。プログラムループの回数が規定回数に達している場合（ステップＳ１０８＝Ｙｅｓ）、ステートマシン２８は、書き込み動作を終了する。そして、ステートマシン２８は、例えば、書き込み動作が正常に終了しなかった旨をメモリコントローラ２００に通知する。
【０１４４】
プログラムループの回数が規定回数に達していない場合（ステップＳ１０８＝Ｎｏ）、ステートマシン２８は、ステートマシン２８は、プログラム電圧を所定のステップアップ電圧だけステップアップする（ステップＳ１０９）。そして、ステートマシン２８は、ステップＳ１０４以降の動作を繰り返す。
【０１４５】
［２−４］  書き込み動作の詳細
図３０は、第２実施形態に係る書き込み動作を説明するタイミング図である。図３１は、図３０に対応するコマンドシーケンスを説明するタイミング図である。
【０１４６】
メモリコントローラ２００は、下位ページを含むコマンドシーケンス（図３０の“Lower ＤＩＮ”）を、ＮＡＮＤ型フラッシュメモリ１００に発行する。ステートマシン２８は、アイドル状態である。コマンドシーケンス“Lower ＤＩＮ”は、プリセットコマンド“０１ｈ”、書き込みコマンド“８０ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、下位ページＤ０〜Ｄｎ、及び転送コマンド“１Ａｈ”からなる。プリセットコマンド“０１ｈ”は、後続する書き込みデータが下位ページであることを指定するコマンドである。書き込みコマンド“８０ｈ”は、書き込み動作を指示するコマンドである。転送コマンド“１Ａｈ”は、直前に送信された書き込みデータをデータラッチ回路ＸＤＬからデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬのいずれかに転送することを命令するコマンドである。
【０１４７】
図３２は、図３０のステップ（１）におけるデータラッチ回路の状態を説明する図である。図３２において、データを格納するデータラッチ回路にハッチングを付している（図３３乃至図３８についても同様）。図３０のステップ（１）において、データラッチ回路ＸＤＬは、下位ページＬＤを格納する。
【０１４８】
ステートマシン２８は、コマンド“１Ａｈ”を受信すると、レディー／ビジー信号ＲＢｎを時間ｔＢＵＳＹだけローレベルにし、ビジー状態であることをメモリコントローラ２００に通知する。そして、ステートマシン２８は、下位ページを、データラッチ回路ＸＤＬからデータラッチ回路ＡＤＬ０に転送する。図３０において、この転送動作を“ＸＤＬ→ＡＤＬ０”と表記している。図３３は、図３０のステップ（２）におけるデータラッチ回路の状態を説明する図である。データラッチ回路ＡＤＬ０は、下位ページＬＤを格納する。
【０１４９】
続いて、メモリコントローラ２００は、中位ページを含むコマンドシーケンス（図３０の“Middle ＤＩＮ”）を、ＮＡＮＤ型フラッシュメモリ１００に発行する。ステートマシン２８は、アイドル状態である。コマンドシーケンス“Middle ＤＩＮ”は、プリセットコマンド“０２ｈ”、書き込みコマンド“８０ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、中位ページＤ０〜Ｄｎ、及び転送コマンド“１Ａｈ”からなる。プリセットコマンド“０２ｈ”は、後続する書き込みデータが中位ページであることを指定するコマンドである。
【０１５０】
図３４は、図３０のステップ（３）におけるデータラッチ回路の動作を説明する図である。図３０のステップ（１）において、データラッチ回路ＸＤＬは、中位ページＭＤを格納する。
【０１５１】
ステートマシン２８は、コマンド“１Ａｈ”を受信すると、レディー／ビジー信号ＲＢｎを時間ｔＢＵＳＹだけローレベルにし、ビジー状態であることをメモリコントローラ２００に通知する。そして、ステートマシン２８は、中位ページを、データラッチ回路ＸＤＬからデータラッチ回路ＢＤＬ０に転送する。図３０において、この転送動作を“ＸＤＬ→ＢＤＬ０”と表記している。図３５は、図３０のステップ（４）におけるデータラッチ回路の状態を説明する図である。データラッチ回路ＢＤＬ０は、中位ページＭＤを格納する。
【０１５２】
続いて、メモリコントローラ２００は、上位ページを含むコマンドシーケンス（図３０の“Upper ＤＩＮ”）を、ＮＡＮＤ型フラッシュメモリ１００に発行する。ステートマシン２８は、アイドル状態である。コマンドシーケンス“Upper ＤＩＮ”は、プリセットコマンド“０３ｈ”、書き込みコマンド“８０ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、上位ページＤ０〜Ｄｎ、及び実行コマンド“１０ｈ”からなる。プリセットコマンド“０３ｈ”は、後続する書き込みデータが上位ページであることを指定するコマンドである。
【０１５３】
図３６は、図３０のステップ（５）におけるデータラッチ回路の動作を説明する図である。図３０のステップ（５）において、データラッチ回路ＸＤＬは、上位ページＵＤを格納する。
【０１５４】
ステートマシン２８は、コマンド“１０ｈ”を受信すると、レディー／ビジー信号ＲＢｎを時間ｔＰＲＯＧだけローレベルにし、ビジー状態であることをメモリコントローラ２００に通知する。そして、ステートマシン２８は、上位ページを、データラッチ回路ＸＤＬからデータラッチ回路ＣＤＬ０に転送する。図３０において、この転送動作を“ＸＤＬ→ＣＤＬ０”と表記している。図３７は、図３０のステップ（６）におけるデータラッチ回路の状態を説明する図である。データラッチ回路ＣＤＬ０は、上位ページＵＤを格納する。
【０１５５】
続いて、ステートマシン２８は、データコピー動作を実行する。すなわち、ステートマシン２８は、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０のデータをそれぞれ、バスＬＢＵＳを介して、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１にコピーする。図３８は、図３０のステップ（７）におけるデータラッチ回路の状態を説明する図である。データラッチ回路ＡＤＬ０、ＡＤＬ１は、下位ページを格納し、データラッチ回路ＢＤＬ０、ＢＤＬ１は、中位ページを格納し、データラッチ回路ＣＤＬ０、ＣＤＬ１は、上位ページを格納する。データコピーの順序は、任意に設定可能であり、例えば、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０の順に実行してもよい。
【０１５６】
続いて、ステートマシン２８は、プログラム動作を実行する。続いて、ステートマシン２８は、ベリファイ動作を実行する。プログラム動作では、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納された書き込みデータが用いられる。また、ベリファイ結果は、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納される。
【０１５７】
ステートマシン２８は、書き込み動作完了後、レディー/ビジー信号ＲＢｎをハイレベルに戻す。
【０１５８】
foggyプログラム後のfineプログラムでは、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１に格納されたバックアップデータを用いることができる。すなわち、fineプログラムにおいて、再度書き込みデータをＮＡＮＤ型フラッシュメモリ１００に入力する必要はない。fineプログラムの詳細については、後述する第６実施形態に示される。
【０１５９】
データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１に格納されたオリジナルの書き込みデータ（バックアップデータともいう）は、少なくとも書き込み動作が終了するまで、その値が変更されたり、消去されることはない。データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１に格納された書き込みデータは、既知の方法にてＮＡＮＤ型フラッシュメモリの外部へ出力することが可能である。
【０１６０】
なお、図２７及び図２８の分布の形成方法は、この方法にかぎらず、適宜必要な方法にて形成され得る。
【０１６１】
［２−５］  第２実施形態の効果
メモリセルトランジスタＭＴが３ビットのデータを記憶する場合、いわゆるＴＬＣ（triple level cell）方式の場合、データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬは、書き込みデータ（下位ページ、中位ページ、上位ページ）を格納する。書き込み動作において、データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬは、ベリファイ結果を格納するため、書き込み動作が終了する時点で、データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬに格納された書き込みデータは破壊される。
【０１６２】
foggyプログラム後にfineプログラムを実行する場合、再度書き込みデータをＮＡＮＤ型フラッシュメモリ１００に入力する必要がある。また、書き込みエラーとなり、別のセルユニットＣＵに書き込みを行う場合、再度書き込みデータをＮＡＮＤ型フラッシュメモリ１００に入力する必要がある。この場合、ＩＯバスを占有することとなり、性能が劣化してしまう。
【０１６３】
第２実施形態では、ＮＡＮＤ型フラッシュメモリ１００は、書き込みデータを格納するデータラッチ回路として、第１ラッチ群（データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０）、及び第２ラッチ群（データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１）を備える。そして、第１ラッチ群に格納された書き込みデータを、第２ラッチ群にコピーするようにしている。その後、第１ラッチ群の書き込みデータを用いて、書き込み動作が実行される。
【０１６４】
従って第２実施形態によれば、書き込みデータのバックアップデータがデータラッチ回路に残っている。よって、foggyプログラム後にfineプログラムを実行する場合、再度書き込みデータをＮＡＮＤ型フラッシュメモリ１００に入力する必要がない。これにより、書き込み動作を高速化することができる。また、消費電力を低減することが可能である。これにより、ＮＡＮＤ型フラッシュメモリ１００及びメモリシステム１の性能を向上させることができる。
【０１６５】
また、書き込みエラーになった場合でも、再度書き込みデータをＮＡＮＤ型フラッシュメモリ１００に入力する必要がない。これにより、再書き込み動作を高速化することができる。
【０１６６】
［３］  第３実施形態
第３実施形態は、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０からデータラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１へデータをコピーするためのコピーコマンドを新たに定義する。そして、ＮＡＮＤ型フラッシュメモリ１００は、メモリコントローラ２００からコピーコマンドを受けた場合に、データコピー動作を実行するようにしている。
【０１６７】
［３−１］  メモリシステム１の動作
図３９は、第３実施形態に係るメモリコントローラ２００の動作を説明するフローチャートである。図４０は、第３実施形態に係る書き込み動作を説明するタイミング図である。図４１は、図４０に対応するコマンドシーケンスを説明するタイミング図である。
【０１６８】
メモリコントローラ２００は、コマンドシーケンス“Lower ＤＩＮ”を発行し、ＮＡＮＤ型フラッシュメモリ１００に下位ページを入力する（ステップＳ２００）。コマンドシーケンス“Lower ＤＩＮ”は、プリセットコマンド“０１ｈ”、書き込みコマンド“８０ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、下位ページＤ０〜Ｄｎ、及び転送コマンド“１Ａｈ”からなる。ステートマシン２８は、下位ページをデータラッチ回路ＡＤＬ０に転送する。
【０１６９】
続いて、メモリコントローラ２００は、コマンドシーケンス“Middle ＤＩＮ”を発行し、ＮＡＮＤ型フラッシュメモリ１００に中位ページを入力する（ステップＳ２０１）。コマンドシーケンス“Middle ＤＩＮ”は、プリセットコマンド“０２ｈ”、書き込みコマンド“８０ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、中位ページＤ０〜Ｄｎ、及び転送コマンド“１Ａｈ”からなる。ステートマシン２８は、中位ページをデータラッチ回路ＢＤＬ０に転送する。
【０１７０】
続いて、メモリコントローラ２００は、コマンドシーケンス“Upper ＤＩＮ”を発行し、ＮＡＮＤ型フラッシュメモリ１００に上位ページを入力する（ステップＳ２０２）。コマンドシーケンス“Upper ＤＩＮ”は、プリセットコマンド“０３ｈ”、書き込みコマンド“８０ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、上位ページＤ０〜Ｄｎ、及び転送コマンド“１Ａｈ”からなる。ステートマシン２８は、上位ページをデータラッチ回路ＣＤＬ０に転送する。
【０１７１】
続いて、メモリコントローラ２００は、コピーコマンド“ＣＰ”を、ＮＡＮＤ型フラッシュメモリ１００に発行する（ステップＳ２０３）。ステートマシン２８は、コピーコマンド“ＣＰ”を受信すると、レディー／ビジー信号ＲＢｎを所定時間だけローレベルにする。そして、ステートマシン２８は、データコピー動作を実行する。すなわち、ステートマシン２８は、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０のデータをそれぞれ、バスＬＢＵＳを介して、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１にコピーする。
【０１７２】
続いて、メモリコントローラ２００は、書き込み開始コマンド“ＧＯ”を、ＮＡＮＤ型フラッシュメモリ１００に発行する（ステップＳ２０４）。ステートマシン２８は、書き込み開始コマンド“ＧＯ”を受信すると、レディー／ビジー信号ＲＢｎを時間ｔＰＲＯＧだけローレベルにする。そして、ステートマシン２８は、書き込み動作（プログラム動作及びベリファイ動作を含む）を実行する。プログラム動作では、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納された書き込みデータが用いられる。また、ベリファイ結果は、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納される。
【０１７３】
なお、図２に示したＮＡＮＤ型フラッシュメモリ１００のブロック図において、コピーコマンド“ＣＰ”に相当する信号（図示せず）がコマンドデコーダ２５からステートマシン２８へ新設される。
【０１７４】
［３−２］  第３実施形態の効果
第３実施形態では、メモリコントローラ２００の命令に基づいて、ＮＡＮＤ型フラッシュメモリ１００は、バックアップデータを生成することができる。このようにしてバックアップされたデータは、第２実施形態同様、第１書き込み動作後の第２書き込み動作、プログラムフェイル後の再書き込みの際、再度データインすることなく再利用できる。これにより、ＮＡＮＤ型フラッシュメモリ１００及びメモリシステム１の性能を向上できる。
【０１７５】
また、メモリコントローラ２００は、コピーコマンド“ＣＰ”を任意に発行できる。すなわち、メモリコントローラ２００は、書き込み動作ごとにコピーコマンド“ＣＰ”を発行する必要はなく、必要なときのみコピーコマンド“ＣＰ”を発行する。これにより、データコピー動作を行わない場合は、当該動作にかかる時間を削減できる。
【０１７６】
［４］  第４実施形態
第４実施形態は、書き込みデータをデータラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納し、ベリファイ結果をデータラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１に格納する。そして、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納された書き込みデータを書き換えずにバックアップデータとして利用するようにしている。
【０１７７】
［４−１］  メモリシステム１の動作
図４２は、第４実施形態に係る書き込み動作を説明するフローチャートである。図４３は、第４実施形態に係る書き込み動作を説明するタイミング図である。
【０１７８】
図４２のステップＳ１００〜Ｓ１０２の動作は、図２９と同じである。続いて、ステートマシン２８は、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１を、ベリファイがフェイルの状態に初期化する（ステップＳ３００）。ベリファイがフェイルの状態が例えばデータ“０”である場合、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１がデータ“０”を格納するように初期化される。
【０１７９】
続いて、ステートマシン２８は、プログラム動作を実行する（ステップＳ１０４）。ステートマシン２８は、プログラム動作で使用する書き込みデータを、データラッチ回路ＡＤＬ０〜ＣＤＬ０、及びデータラッチ回路ＡＤＬ１〜ＣＤＬ１のデータを参照して生成する。
【０１８０】
続いて、ステートマシン２８は、ベリファイ動作を実行する（ステップＳ１０５）。続いて、ステートマシン２８は、ベリファイ結果を、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１に格納する（ステップＳ３０１）。図４４は、ベリファイ動作後のデータラッチ回路の様子を説明する図である。その後の動作は、図２９と同じである。
【０１８１】
データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納されたオリジナルの書き込みデータ（バックアップデータ）は、少なくとも書き込み動作が終了するまで、その値が変更されたり、消去されることはない。データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納された書き込みデータは、既知の方法にてＮＡＮＤ型フラッシュメモリの外部へ出力することが可能である。
【０１８２】
なお、本実施形態では、ベリファイ結果を３個のデータラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１に格納する形態を示したが、原理的にはベリファイがパスしたかフェイルしたかを記憶すればよく、すなわち最小１個のデータラッチ回路にベリファイ結果を記憶するようにしてもよい。
【０１８３】
［４−２］  第４実施形態の効果
第４実施形態では、バックアップデータを、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に格納することができる。また、ベリファイ結果を、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１に格納及び更新することができる。
【０１８４】
また、このようにしてデータラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０に残したデータを用い、第１書き込み動作後の第２書き込み動作、プログラムフェイル後の再書き込みの際、再度データインすることなく再利用でき、ＮＡＮＤ型フラッシュメモリ１００及びメモリシステム１の性能を向上できる。
【０１８５】
また、第２、第３実施形態に比べ、下位データ、中位データ、上位データをコピーする、という操作を必要としない点で、書き込み動作の時間を短縮することが可能である。
【０１８６】
［５］  第５実施形態
第５実施形態は、データラッチ回路の接続関係における他の構成例である。第５実施形態は、データラッチ回路ＡＤＬ０とデータラッチ回路ＡＤＬ１とを、バスＬＢＵＳを介さずに、並列に接続するようにしている。そして、データラッチ回路ＡＤＬ０からデータラッチ回路ＡＤＬ１へのデータコピーを、バスＬＢＵＳを介さずに行うようにしている。
【０１８７】
［５−１］  センスユニット１３の構成
図４５は、第５実施形態に係るセンスユニット１３のブロック図である。なお、図４５には、任意のビット線ＢＬに接続される１個のセンスアンプユニットＳＡＵを抽出して示している。センスユニット１３に含まれる全てのセンスアンプユニットＳＡＵは、図４５の構成を有する。
【０１８８】
センスアンプユニットＳＡＵは、スイッチ素子５１Ａ〜５１Ｃ、及びデータ線５２Ａ〜５２Ｃをさらに備える。
【０１８９】
データラッチ回路ＡＤＬ０とデータラッチ回路ＡＤＬ１とは、データ線５２Ａに接続される。スイッチ素子５１Ａの一端は、バスＬＢＵＳ（具体的には、バスＬＢＵＳに含まれる１本のデータ線）に接続され、その他端は、データ線５２Ａに接続される。
【０１９０】
データラッチ回路ＢＤＬ０とデータラッチ回路ＢＤＬ１とは、データ線５２Ｂに接続される。スイッチ素子５１Ｂの一端は、バスＬＢＵＳに接続され、その他端は、データ線５２Ｂに接続される。
【０１９１】
データラッチ回路ＣＤＬ０とデータラッチ回路ＣＤＬ１とは、データ線５２Ｃに接続される。スイッチ素子５１Ｃの一端は、バスＬＢＵＳに接続され、その他端は、データ線５２Ｃに接続される。
【０１９２】
スイッチ素子５１Ａ〜５１Ｃの動作は、ステートマシン２８によって制御される。
【０１９３】
［５−２］  第５実施形態の効果
第５実施形態では、データラッチ回路間のデータコピーを、バスＬＢＵＳを介さずに行うことができる。また、データラッチ回路ＡＤＬ０からデータラッチ回路ＡＤＬ１へのデータコピー、データラッチ回路ＢＤＬ０からデータラッチ回路ＢＤＬ１へのデータコピー、及びデータラッチ回路ＣＤＬ０からデータラッチ回路ＣＤＬ１へのデータコピーを並行して行うことができる。これにより、データコピー動作にかかる時間を短縮できる。
【０１９４】
また、このようにしてデータラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１に残したデータを用い、第１書き込み動作後の第２書き込み動作、プログラムフェイル後の再書き込みの際、再度データインすることなく再利用でき、ＮＡＮＤ型フラッシュメモリ１００及びメモリシステム１の性能を向上できる。
【０１９５】
また、センスアンプユニット内部のバスＬＢＵＳを使用せずともデータラッチ回路ＡＤＬ０からデータラッチ回路ＡＤＬ１などのデータコピー動作を行うことができる。多数のデータラッチ回路が接続されるバスは容量負荷が大きく、転送に時間がかかることが懸念される。しかし、本実施形態では、バスＬＢＵＳと例えばデータ線５２Ａがスイッチ５１Ａで電気的に分離されるので、データコピー動作を高速に行えるという利点がある。
【０１９６】
［６］  第６実施形態
第６実施形態は、第１ラッチ群（データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０）に格納されている書き込みデータを用いて書き込み動作を行うことを指定するコマンドと、第２ラッチ群（データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１）に格納されている書き込みデータ（バックアップデータ）を用いて書き込み動作を行うことを指定するコマンドとを、メモリシステム１が個別に有するようにしている。
【０１９７】
［６−１］  ＮＡＮＤ型フラッシュメモリ１００の構成
図４６は、第６実施形態に係るＮＡＮＤ型フラッシュメモリ１００のブロック図である。
【０１９８】
メモリコントローラ２００は、第１書き込みコマンドと、第２書き込みコマンドとを発行することが可能である。第１書き込みコマンドは、第１ラッチ群（データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０）に格納されている書き込みデータを用いて書き込み動作を行うことを指定するコマンドである。第２書き込みコマンドは、第２ラッチ群（データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１）に格納されている書き込みデータを用いて書き込み動作を行うことを指定するコマンドである。第１書き込みコマンド及び第２書き込みコマンドの具体例については後述する。
【０１９９】
コマンドデコーダ２５は、第２書き込みコマンドを受信した場合に、信号ＣＭＤ_ＢＫＰＲＯＧを生成する。信号ＣＭＤ_ＢＫＰＲＯＧは、センスユニット１３に送られる。例えば、コマンドデコーダ２５は、第１書き込みコマンドを受信した場合に、信号ＣＭＤ_ＢＫＰＲＯＧをローレベルにし、第２書き込みコマンドを受信した場合に、信号ＣＭＤ_ＢＫＰＲＯＧをハイレベルにする。
【０２００】
［６−２］  センスアンプユニットＳＡＵの構成
次に、センスアンプユニットＳＡＵの構成について説明する。図４７は、センスアンプユニットＳＡＵの一部の回路図である。
【０２０１】
センスアンプユニットＳＡＵは、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０、ＡＤＬ１、ＢＤＬ１、ＣＤＬ１を備える。図４７では、データラッチ回路ＳＤＬの図示を省略している。
【０２０２】
データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０、ＡＤＬ１、ＢＤＬ１、ＣＤＬ１の構成は、図２０のデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬの構成と同じである。簡略化のために、データラッチ回路ＡＤＬ０、ＡＤＬ１を構成する素子には、同じ参照符号を付している。データラッチ回路ＢＤＬ０、ＢＤＬ１、及びデータラッチ回路ＣＤＬ０、ＣＤＬ１についても同様である。
【０２０３】
データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０、ＡＤＬ１、ＢＤＬ１、ＣＤＬ１にはそれぞれ、ロジック回路５０（図示せず）から、信号ＡＬＡＴ０、ＢＬＡＴ０、ＣＬＡＴ０、ＡＬＡＴ１、ＢＬＡＴ１、ＣＬＡＴ１が入力される。信号ＡＬＡＴ０、ＢＬＡＴ０、ＣＬＡＴ０、ＡＬＡＴ１、ＢＬＡＴ１、ＣＬＡＴ１はそれぞれ、対応するクロックドインバータ回路４０のクロック端子に入力される。
【０２０４】
センスユニット１３は、６個のＡＮＤゲート５３Ａ_０、５３Ａ_１、５３Ｂ_０、５３Ｂ_１、５３Ｃ_０、５３Ｃ_１、及び端子Ｔ７を備える。端子Ｔ７には、信号ＣＭＤ_ＢＫＰＲＯＧが入力される。
【０２０５】
ＡＮＤゲート５３Ａ_０の第１入力端子（アクティブＬ（ロー））には、信号ＣＭＤ_ＢＫＰＲＯＧが入力され、その第２入力端子には、ロジック回路５０から信号ＡＤＬｏｎが入力される。ＡＮＤゲート５３Ａ_０は、信号ＡＤＬ０ｏｎを出力する。信号ＡＤＬ０ｏｎは、データラッチ回路ＡＤＬ０に入力される。
【０２０６】
ＡＮＤゲート５３Ｂ_０の第１入力端子（アクティブＬ（ロー））には、信号ＣＭＤ_ＢＫＰＲＯＧが入力され、その第２入力端子には、ロジック回路５０から信号ＢＤＬｏｎが入力される。ＡＮＤゲート５３Ｂ_０は、信号ＢＤＬ０ｏｎを出力する。信号ＢＤＬ０ｏｎは、データラッチ回路ＢＤＬ０に入力される。
【０２０７】
ＡＮＤゲート５３Ｃ_０の第１入力端子（アクティブＬ（ロー））には、信号ＣＭＤ_ＢＫＰＲＯＧが入力され、その第２入力端子には、ロジック回路５０から信号ＣＤＬｏｎが入力される。ＡＮＤゲート５３Ｃ_０は、信号ＣＤＬ０ｏｎを出力する。信号ＣＤＬ０ｏｎは、データラッチ回路ＣＤＬ０に入力される。
【０２０８】
ＡＮＤゲート５３Ａ_１の第１入力端子には、信号ＣＭＤ_ＢＫＰＲＯＧが入力され、その第２入力端子には、ロジック回路５０から信号ＡＤＬｏｎが入力される。ＡＮＤゲート５３Ａ_１は、信号ＡＤＬ１ｏｎを出力する。信号ＡＤＬ１ｏｎは、データラッチ回路ＡＤＬ１に入力される。
【０２０９】
ＡＮＤゲート５３Ｂ_１の第１入力端子には、信号ＣＭＤ_ＢＫＰＲＯＧが入力され、その第２入力端子には、ロジック回路５０から信号ＢＤＬｏｎが入力される。ＡＮＤゲート５３Ｂ_１は、信号ＢＤＬ１ｏｎを出力する。信号ＢＤＬ１ｏｎは、データラッチ回路ＢＤＬ１に入力される。
【０２１０】
ＡＮＤゲート５３Ｃ_１の第１入力端子には、信号ＣＭＤ_ＢＫＰＲＯＧが入力され、その第２入力端子には、ロジック回路５０から信号ＣＤＬｏｎが入力される。ＡＮＤゲート５３Ｃ_１は、信号ＣＤＬ１ｏｎを出力する。信号ＣＤＬ１ｏｎは、データラッチ回路ＣＤＬ１に入力される。
【０２１１】
このように構成されたセンスユニット１３では、信号ＡＤＬｏｎが活性化（ハイレベル）され、かつ信号ＣＭＤ_ＢＫＰＲＯＧがローレベルである場合、データラッチ回路ＡＤＬ０が使用される。信号ＡＤＬｏｎが活性化され、かつ信号ＣＭＤ_ＢＫＰＲＯＧがハイレベルである場合、データラッチ回路ＡＤＬ１が使用される。同様に、データラッチ回路ＢＤＬ０、ＢＤＬ１は、信号ＢＤＬｏｎ及び信号ＣＭＤ_ＢＫＰＲＯＧによって制御され、データラッチ回路ＣＤＬ０、ＣＤＬ１は、信号ＣＤＬｏｎ及び信号ＣＭＤ_ＢＫＰＲＯＧによって制御される。
【０２１２】
［６−３］  メモリシステム１の動作
第１ラッチ群（データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０）を用いた書き込み動作は、第２実施形態の図２９〜図３１と同じである。また、センスユニット１３では、信号ＡＤＬ０ｏｎ、ＢＤＬ０ｏｎ、ＣＤＬ０ｏｎがハイレベルになり、データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０へのデータ転送が可能となる。この時点で、第２ラッチ群（データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１）は、書き込みデータを格納している。
【０２１３】
次に、第２ラッチ群を用いた書き込み動作について説明する。
【０２１４】
図４８は、第６実施形態に係る書き込み動作におけるコマンドシーケンスを説明するタイミング図である。第２ラッチ群を用いた書き込み動作では、第１ラッチ群を用いた書き込み動作の書き込みコマンド“８０ｈ”と異なる書き込みコマンド、例えば“８２ｈ”が用いられる。コマンド“８２ｈ”を受け取った場合、図４６に示すコマンドデコーダ２５は、信号ＣＭＤ_ＢＫＰＲＯＧが活性化されるように構成される。また、この信号ＣＭＤ_ＢＫＰＲＯＧは、少なくとも書き込み動作実行中はその状態を維持するように構成される。
【０２１５】
メモリコントローラ２００は、下位ページのデータインを命令するコマンドシーケンスとして、プリセットコマンド“０１ｈ”、書き込みコマンド“８２ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、及び転送コマンド“１Ａｈ”を発行する。当該コマンドシーケンスには、書き込みデータが含まれていない（図４８の“No DataIn”）。
【０２１６】
続いて、メモリコントローラ２００は、中位ページのデータインを命令するコマンドシーケンスとして、プリセットコマンド“０２ｈ”、書き込みコマンド“８２ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、及び転送コマンド“１Ａｈ”を発行する。当該コマンドシーケンスにも、書き込みデータが含まれていない。
【０２１７】
続いて、メモリコントローラ２００は、上位ページのデータインを命令するコマンドシーケンスとして、プリセットコマンド“０３ｈ”、書き込みコマンド“８２ｈ”、アドレスセット（カラムアドレスＣ１、Ｃ２、及びロウアドレスＲ１〜Ｒ３）、及び転送コマンド“１０ｈ”を発行する。当該コマンドシーケンスにも、書き込みデータが含まれていない。
【０２１８】
続いて、ＮＡＮＤ型フラッシュメモリ１００は、第２ラッチ群に格納された書き込みデータを用いて、書き込み動作を実行する。また、センスユニット１３では、信号ＡＤＬ１ｏｎ、ＢＤＬ１ｏｎ、ＣＤＬ１ｏｎがハイレベルになり、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１へのデータ転送が可能となる。
【０２１９】
［６−４］  第６実施形態の効果
第６実施形態では、書き込みコマンド“８２ｈ”に応答して、第２ラッチ群（データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１）に格納されたバックアップデータを用いて書き込み動作を実行することができる。この際、書き込みデータの再入力は不要である。
【０２２０】
これにより、foggyプログラム後にfineプログラムを実行する場合に、書き込み動作を高速化することができる。また、書き込みエラーになった場合に、再書き込み動作を高速化することができる。
【０２２１】
［７］  第７実施形態
第７実施形態は、データラッチ回路の接続関係における他の構成例である。第７実施形態は、データラッチ回路ＡＤＬ０とデータラッチ回路ＡＤＬ１とを、バスＬＢＵＳを介さずに、直列に接続するようにしている。そして、データラッチ回路ＡＤＬ０からデータラッチ回路ＡＤＬ１へのデータコピーを、バスＬＢＵＳを介さずに行うようにしている。
【０２２２】
［７−１］  センスユニット１３の構成
図４９は、第７実施形態に係るセンスユニット１３のブロック図である。なお、図４９には、任意のビット線ＢＬに接続される１個のセンスアンプユニットＳＡＵを抽出して示している。センスユニット１３に含まれる全てのセンスアンプユニットＳＡＵは、図４９の構成を有する。
【０２２３】
データラッチ回路ＡＤＬ０は、バスＬＢＵＳに接続される。データラッチ回路ＡＤＬ１は、バスＬＢＵＳを介さずに、データラッチ回路ＡＤＬ０に直列に接続される。
【０２２４】
データラッチ回路ＢＤＬ０は、バスＬＢＵＳに接続される。データラッチ回路ＢＤＬ１は、バスＬＢＵＳを介さずに、データラッチ回路ＢＤＬ０に直列に接続される。
【０２２５】
データラッチ回路ＣＤＬ０は、バスＬＢＵＳに接続される。データラッチ回路ＣＤＬ１は、バスＬＢＵＳを介さずに、データラッチ回路ＣＤＬ０に直列に接続される。
【０２２６】
図５０は、図４９に示したデータラッチ回路ＡＤＬ０、ＡＤＬ１の回路図である。データラッチ回路ＢＤＬ０、ＢＤＬ１、及びデータラッチ回路ＣＤＬ０、ＣＤＬ１についても、図５０と同様の構成を有する。
【０２２７】
データラッチ回路ＡＤＬ０、ＡＤＬ１の個々の回路構成は、図４７と同じである。データラッチ回路ＡＤＬ０のクロックドインバータ回路４０Ａの出力端子は、データラッチ回路ＡＤＬ１のトランスファーゲート４３Ａの第１端子に接続される。
【０２２８】
データラッチ回路ＡＤＬ０は、信号ＡＤＬ０ｏｎ及び信号ＡＬＡＴ０を適切に制御することで、バスＬＢＵＳのデータをラッチすることが可能である。データラッチ回路ＡＤＬ１は、信号ＡＤＬ１ｏｎ及び信号ＡＬＡＴ１を適切に制御することで、データラッチ回路ＡＤＬ０が格納するデータをラッチすることが可能である。
【０２２９】
［７−２］  第７実施形態の効果
第７実施形態によれば、データラッチ回路ＡＤＬ０に格納されたデータを使用している間（例えば、データラッチ回路ＡＤＬ０からバスＬＢＵＳにデータを転送している間）に、データラッチ回路ＡＤＬ０からデータラッチ回路ＡＤＬ１へのデータコピーを行うことができる。データラッチ回路ＢＤＬ０、ＣＤＬ０についても同様である。これにより、データラッチ回路間のデータコピー動作を、例えば書き込み動作内に隠すことが可能となる。この結果、書き込み性能の劣化を抑えることができる。
【０２３０】
また、データラッチ回路ＡＤＬ０からデータラッチ回路ＡＤＬ１へのデータコピーと、データラッチ回路ＢＤＬ０からデータラッチ回路ＢＤＬ１へのデータコピーと、データラッチ回路ＣＤＬ０からデータラッチ回路ＣＤＬ１へのデータコピーとを並行して行うことができる。これにより、データラッチ回路間のデータコピーにかかる時間を短縮できる。
【０２３１】
［８］  第８実施形態
第８実施形態では、センスユニット１３は、第１ラッチ群、第２ラッチ群、及び第３ラッチ群を備える。そして、バスＬＢＵＳ、第１ラッチ群、第２ラッチ群、第３ラッチ群、及びバスＬＢＵＳの順にデータを転送しつつ、最適にfoggy／fineプログラムを実行するようにしている。
【０２３２】
［８−１］  センスユニット１３の構成
図５１は、第８実施形態に係るセンスユニット１３のブロック図である。なお、図５１には、任意のビット線ＢＬに接続される１個のセンスアンプユニットＳＡＵを抽出して示している。センスユニット１３に含まれる全てのセンスアンプユニットＳＡＵは、図５１の構成を有する。
【０２３３】
センスアンプユニットＳＡＵは、データラッチ回路ＡＤＬ０〜ＡＤＬ２、データラッチ回路ＢＤＬ０〜ＢＤＬ２、データラッチ回路ＣＤＬ０〜ＣＤＬ２、及びデータラッチ回路ＳＤＬを備える。データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０を第１ラッチ群、データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１を第２ラッチ群、データラッチ回路ＡＤＬ２、ＢＤＬ２、ＣＤＬ２を第３ラッチ群とも呼ぶ。
【０２３４】
データラッチ回路ＡＤＬ０〜ＡＤＬ２は、ＦＩＦＯ（first-in first-out）構造を有する。データラッチ回路ＡＤＬ０は、バスＬＢＵＳに接続される。バスＬＢＵＳのデータは、データラッチ回路ＡＤＬ０、データラッチ回路ＡＤＬ１、及びデータラッチ回路ＡＤＬ２の順に転送される。データラッチ回路ＡＤＬ２は、バスＬＢＵＳに接続され、データラッチ回路ＡＤＬ２が格納するデータは、バスＬＢＵＳに転送される。
【０２３５】
同様に、データラッチ回路ＢＤＬ０〜ＢＤＬ２、及びデータラッチ回路ＣＤＬ０〜ＣＤＬ２はそれぞれ、ＦＩＦＯ（first-in first-out）構造を有する。換言すると、第１ラッチ群、第２ラッチ群、及び第３ラッチ群は、ＦＩＦＯ構造を有する。
【０２３６】
図５２は、図５１に示したデータラッチ回路ＡＤＬ０〜ＡＤＬ２の回路図である。データラッチ回路ＢＤＬ０〜ＢＤＬ２、及びデータラッチ回路ＣＤＬ０〜ＣＤＬ２についても、図５２と同様の構成を有する。
【０２３７】
データラッチ回路ＡＤＬ０、ＡＤＬ１の回路構成は、図５０と同じである。データラッチ回路ＡＤＬ２の回路構成は、データラッチ回路ＡＤＬ０と同じである。データラッチ回路ＡＤＬ１のクロックドインバータ回路４０Ａの出力端子は、データラッチ回路ＡＤＬ２のトランスファーゲート４３Ａの第１端子に接続される。データラッチ回路ＡＤＬ２のトランスファーゲート４３Ａの第１クロック端子には、ロジック回路５０から信号ＡＤＬ２ｏｎが入力される。データラッチ回路ＡＤＬ２のクロックドインバータ回路４０Ａのクロック端子には、ロジック回路５０から信号ＡＬＡＴ２が入力される。
【０２３８】
データラッチ回路ＡＤＬ２のクロックドインバータ回路４０Ａの出力端子は、トランスファーゲート５４の第１端子に接続される。トランスファーゲート５４の第２端子は、バスＬＢＵＳに接続される。トランスファーゲート５４の第１ゲート端子と、インバータ回路５５の入力端子には、ロジック回路５０から信号ＡＤＬ３ｏｎが入力される。インバータ回路５５の出力端子は、トランスファーゲート５４の第２ゲート端子に接続される。トランスファーゲート５４は、信号ＡＤＬ３ｏｎがハイレベルの場合にオンする。
【０２３９】
このように構成されたデータラッチ回路ＡＤＬ０〜ＡＤＬ２は、信号ＡＬＡＴ０、ＡＬＡＴ１、ＡＬＡＴ２、ＡＤＬ０ｏｎ、ＡＤＬ１ｏｎ、ＡＤＬ２ｏｎ、ＡＤＬ３ｏｎを適切に制御することによって、バスＬＢＵＳ、データラッチ回路ＡＤＬ０、データラッチ回路ＡＤＬ１、データラッチ回路ＡＤＬ２、及びバスＬＢＵＳの順にデータを転送することが可能である。
【０２４０】
［８−２］  メモリシステム１の動作
まず、foggy／fineプログラムの書き込み順序について説明する。図５３は、foggy／fineプログラムの書き込み順序を説明する模式図である。図５３には、ワード線ＷＬ（ｍ−１）〜ＷＬ（ｍ＋２）の書き込み順序を示している。図５３の各ワード線ＷＬにおいて、下側の四角がfoggyプログラム、上側の四角がfineプログラムを表している。図５３の“Ｎ”を含む数値が、書き込み順序を表している。
【０２４１】
基本的には、ステートマシン２８は、第１ワード線のfoggyプログラムを行った後、第１ワード線に隣接する第２ワード線のfineプログラムを行う。具体的には、図５３に示すように、ステートマシン２８は、（１）ワード線ＷＬｍの第Ｎプログラム（foggy）、（２）ワード線ＷＬ（ｍ−１）の第（Ｎ＋１）プログラム（fine）、（３）ワード線ＷＬ（ｍ＋１）の第（Ｎ＋２）プログラム（foggy）、（４）ワード線ＷＬｍの第（Ｎ＋３）プログラム（fine）、（５）ワード線ＷＬ（ｍ＋２）の第（Ｎ＋４）プログラム（foggy）、（６）ワード線ＷＬ（ｍ＋１）の第（Ｎ＋５）プログラム（fine）の順序で書き込み動作を実行する。
【０２４２】
図５４は、第Ｎプログラム（foggy）におけるデータラッチ回路の動作を説明する図である。第１ラッチ群は、メモリコントローラ２００から双方向バスＩＯを介してデータラッチ回路ＸＤＬに一時格納され、その後バスＬＢＵＳを介して転送された、ワード線ＷＬｍの書き込み用のデータを格納する。ステートマシン２８は、第１ラッチ群に格納されたデータを用いて、第Ｎプログラムを実行する。第２ラッチ群は、ワード線ＷＬｍのfineプログラム用のデータ（バックアップデータ（図５４に“Ｂｋｕｐ”と表記））を格納する。第３ラッチ群は、ワード線ＷＬ（ｍ−１）のfineプログラム用のデータ（バックアップデータ）を格納する。ここで、第３ラッチ群のデータは、本実施形態で述べる動作より以前の過程でメモリコントローラ２００より送られ、格納されたデータで、第Ｎプログラムを開始する時点で第３ラッチ群に転送されたものである。
【０２４３】
図５５は、第（Ｎ＋１）プログラム（fine）におけるデータラッチ回路の動作を説明する図である。第１ラッチ群は、第３ラッチ群から転送された、ワード線ＷＬ（ｍ−１）の書き込み用のデータを格納する。ステートマシン２８は、第１ラッチ群に格納されたデータを用いて、第（Ｎ＋１）プログラムを実行する。第２ラッチ群は、ワード線ＷＬｍのfineプログラム用のデータ（バックアップデータ）を格納する。第３ラッチ群は、ワード線ＷＬ（ｍ−１）のfineプログラム用のデータ（バックアップデータ）を格納する。
【０２４４】
図５６は、第（Ｎ＋２）プログラム（foggy）におけるデータラッチ回路の動作を説明する図である。第１ラッチ群は、メモリコントローラ２００から双方向バスＩＯを介してデータラッチ回路ＸＤＬに一時格納され、その後バスＬＢＵＳを介して転送された、ワード線ＷＬ（ｍ＋１）の書き込み用のデータを格納する。ステートマシン２８は、第１ラッチ群に格納されたデータを用いて、第（Ｎ＋２）プログラムを実行する。第２ラッチ群は、ワード線ＷＬ（ｍ＋１）のfineプログラム用のデータ（バックアップデータ）を格納する。第３ラッチ群は、ワード線ＷＬｍのfineプログラム用のデータ（バックアップデータ）を格納する。
【０２４５】
図５７は、第（Ｎ＋３）プログラム（fine）におけるデータラッチ回路の動作を説明する図である。第１ラッチ群は、第３ラッチ群から転送された、ワード線ＷＬｍの書き込み用のデータを格納する。ステートマシン２８は、第１ラッチ群に格納されたデータを用いて、第（Ｎ＋３）プログラムを実行する。第２ラッチ群は、ワード線ＷＬ（ｍ＋１）のfineプログラム用のデータ（バックアップデータ）を格納する。第３ラッチ群は、ワード線ＷＬｍのfineプログラム用のデータ（バックアップデータ）を格納する。
【０２４６】
図５８は、第（Ｎ＋４）プログラム（foggy）におけるデータラッチ回路の動作を説明する図である。第１ラッチ群は、メモリコントローラ２００から双方向バスＩＯを介してデータラッチ回路ＸＤＬに一時格納され、その後バスＬＢＵＳを介して転送された、ワード線ＷＬ（ｍ＋２）の書き込み用のデータを格納する。ステートマシン２８は、第１ラッチ群に格納されたデータを用いて、第（Ｎ＋４）プログラムを実行する。第２ラッチ群は、ワード線ＷＬ（ｍ＋２）のfineプログラム用のデータ（バックアップデータ）を格納する。第３ラッチ群は、ワード線ＷＬ（ｍ＋１）のfineプログラム用のデータ（バックアップデータ）を格納する。
【０２４７】
以上のように、バスＬＢＵＳ、第１ラッチ群、第２ラッチ群、第３ラッチ群、及びバスＬＢＵＳの順にデータを転送するとともに、図５３で示した順序で書き込み動作を実行することが可能である。
【０２４８】
［８−３］  センスユニット１３の動作
次に、センスユニット１３の動作について説明する。図５９は、第Ｎプログラムにおけるセンスユニット１３の動作を説明するタイミング図である。図５９において、ワード線ＷＬ（ｍ−１）用の書き込みデータを“ＷＬ（ｍ−１）_Ｄａｔａ”、ワード線ＷＬｍ用の書き込みデータを“ＷＬｍ_Ｄａｔａ”と表記している。
【０２４９】
時刻ｔ１において、ロジック回路５０は、信号ＡＬＡＴ０及び信号ＡＬＡＴ２をローレベルにする。時刻ｔ２において、ロジック回路５０は、信号ＡＤＬ０ｏｎ及び信号ＡＤＬ２ｏｎをハイレベルにする。これにより、データラッチ回路ＡＤＬ０は、バスＬＢＵＳのデータＷＬｍ_Ｄａｔａを格納する。また、データラッチ回路ＡＤＬ２は、データラッチ回路ＡＤＬ１から転送されたデータＷＬ（ｍ−１）_Ｄａｔａを格納する。
【０２５０】
時刻ｔ３において、ロジック回路５０は、信号ＡＬＡＴ０及び信号ＡＬＡＴ２をハイレベルにする。時刻ｔ４において、ロジック回路５０は、信号ＡＤＬ０ｏｎ及び信号ＡＤＬ２ｏｎをローレベルにする。
【０２５１】
時刻ｔ５において、ロジック回路５０は、信号ＡＬＡＴ１をローレベルにする。時刻ｔ６において、ロジック回路５０は、信号ＡＤＬ１ｏｎをハイレベルにする。これにより、データラッチ回路ＡＤＬ１は、データラッチ回路ＡＤＬ０から転送されたデータＷＬｍ_Ｄａｔａを格納する。この時点で、第Ｎプログラムにおけるデータがセンスユニット１３に格納される。ステートマシン２８は、第１ラッチ群に格納されたデータを用いて、第Ｎプログラムを実行する。
【０２５２】
図６０は、第（Ｎ＋１）プログラムにおけるセンスユニット１３の動作を説明するタイミング図である。
【０２５３】
時刻ｔ１において、ロジック回路５０は、信号ＡＤＬ３ｏｎをハイレベルにする。これにより、データラッチ回路ＡＤＬ２のデータＷＬ（ｍ−１）_ＤａｔａがバスＬＢＵＳに転送される。時刻ｔ２において、ロジック回路５０は、信号ＡＤＬ３ｏｎをローレベルにする。
【０２５４】
時刻ｔ３において、ロジック回路５０は、信号ＡＬＡＴ０をローレベルにする。時刻ｔ４において、ロジック回路５０は、信号ＡＤＬ０ｏｎをハイレベルにする。これにより、データラッチ回路ＡＤＬ０は、バスＬＢＵＳのデータＷＬ（ｍ−１）_Ｄａｔａを格納する。この時点で、第（Ｎ＋１）プログラムにおけるデータがセンスユニット１３に格納される。ステートマシン２８は、第１ラッチ群に格納されたデータを用いて、第（Ｎ＋１）プログラムを実行する。
【０２５５】
なお、データラッチ回路間でデータをコピーする動作は、下位ページ、中位ページ、及び上位ページがデータラッチ回路に格納された後に、ステートマシン２８が自動的に行うようにしてもよいし、メモリコントローラ２００からコピーコマンド“ＣＰ”に基づいて行うようにしてもよい。
【０２５６】
［８−４］  第８実施形態の効果
第８実施形態では、センスユニット１３は、第１ラッチ群（データラッチ回路ＡＤＬ０、ＢＤＬ０、ＣＤＬ０）、第２ラッチ群（データラッチ回路ＡＤＬ１、ＢＤＬ１、ＣＤＬ１）、及び第３ラッチ群（データラッチ回路ＡＤＬ２、ＢＤＬ２、ＣＤＬ２）を備え、第１ラッチ群、第２ラッチ群、及び第３ラッチ群がＦＩＦＯ構造を有する。書き込みデータは、バスＬＢＵＳ、第１ラッチ群、第２ラッチ群、第３ラッチ群、及びバスＬＢＵＳの順に転送可能である。そして、第１ラッチ群に格納された書き込みデータを用いて、foggyプログラム及びfineプログラムを実行することができる。
【０２５７】
また、fineプログラムにおいて、書き込みデータの再入力は不要である。これにより、foggyプログラム後にfineプログラムを実行する場合に、書き込み動作を高速化することができる。
【０２５８】
［９］  第９実施形態
第９実施形態は、読み出し動作として、ハードビットリード及びソフトビットリードを行い、ソフトビット情報を生成する場合の実施例である。
【０２５９】
［９−１］  読み出し動作の概要
第９実施形態に係る読み出し動作では、ハードビットリード及びソフトビットリードを行うことが可能である。
【０２６０】
ハードビットリードは、コマンドに応じて通常の条件で読み出し動作を行う。ハードビットリードは、ノーマルリードと同じ読み出し動作である。
【０２６１】
ソフトビットリードは、コマンドに応じて、通常とは異なる条件（例えば、ハードビットリードとは異なる読み出し電圧）で読み出し動作を行う。ソフトビットリードでは、複数の読み出し電圧を用いて読み出し動作が行われる。
【０２６２】
ステートマシン２８は、ソフトビットリードの結果を用いて論理演算を行い、論理演算結果としてソフトビット情報を生成する。
【０２６３】
［９−２］  センスユニット１３の構成
図６１は、第９実施形態に係るセンスユニット１３のブロック図である。なお、図６１には、任意のビット線ＢＬに接続される１個のセンスアンプユニットＳＡＵを抽出して示している。センスユニット１３に含まれる全てのセンスアンプユニットＳＡＵは、図６１の構成を有する。なお、図６１の構成に限らず、他の構成をとることができる。
【０２６４】
センスアンプユニットＳＡＵは、センスアンプＳＡ、及び７個のデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＳＤＬ、ＴＤＬ、ＮＤＬ、ＵＤＬを備える。センスアンプＳＡ、及びデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＳＤＬ、ＴＤＬ、ＮＤＬ、ＵＤＬは、互いにデータが転送可能なように、バスＬＢＵＳを介して接続される。
【０２６５】
データラッチ回路ＳＤＬは、例えば、読み出し動作におけるセンス結果を格納し、また、ベリファイ動作におけるセンス結果を格納する。データラッチ回路ＡＤＬは、下位ページを格納し、また、ベリファイ結果を格納する。データラッチ回路ＢＤＬは、中位ページを格納し、また、ベリファイ結果を格納する。データラッチ回路ＣＤＬは、上位ページを格納し、また、ベリファイ結果を格納する。データラッチ回路ＴＤＬは、センスアンプユニットＳＡＵ内で演算を行うためのデータ（内部用途データ）を格納し、また、ベリファイ結果を格納する。データラッチ回路ＮＤＬは、ハードビットリードで読み出されたデータを格納する。データラッチ回路ＵＤＬは、ハードビットリード、又はソフトビットリードで読み出されたデータを格納する。
【０２６６】
［９−３］  メモリシステム１の動作
図６２は、ハードビットリードのコマンドシーケンスを説明する図である。ハードビットリードは、通常の読み出し動作（ノーマルリード）と同じである。
【０２６７】
ハードビットリードにおいて、メモリコントローラ２００は、prefixコマンド“Ｙ”、プリセットコマンド“ＰＳＣ”、読み出しコマンド“００ｈ”、アドレスセット“Ｃ１、Ｃ２、Ｒ１〜Ｒ３”、及び実行コマンド“３０ｈ”を、ＮＡＮＤ型フラッシュメモリ１００に発行する。
【０２６８】
prefixコマンド“Ｙ”は、ハードビットリード及びソフトビットリードにおいて、データラッチ回路ＮＤＬ、ＵＤＬのいずれかを指定するコマンドである。prefixコマンド“Ｙ”の詳細については後述する。プリセットコマンド“ＰＳＣ”は、下位ページ、中位ページ、上位ページのいずれかを指定するコマンドである。
【０２６９】
ステートマシン２８は、実行コマンド“３０ｈ”を受けた後、レディー／ビジー信号ＲＢｎをローレベルにする。そして、ステートマシン２８は、ハードビットリードを実行する。
【０２７０】
なお、prefixコマンド“Ｙ”を省略することも可能である。prefixコマンド“Ｙ”なしのハードビットリードは、通常の読み出し動作（ノーマルリード）に対応する。また、アドレスセット“Ｃ１、Ｃ２、Ｒ１〜Ｒ３”によって、下位ページ、中位ページ、及び上位ページのいずれかを指定してもよい。この場合、プリセットコマンド“ＰＳＣ”が省略される。
【０２７１】
図６３は、ソフトビットリードのコマンドシーケンスを説明する図である。ソフトビットリードにおいて、メモリコントローラ２００は、prefixコマンド“Ｙ”、prefixコマンド“ＳＢ”、プリセットコマンド“ＰＳＣ”、読み出しコマンド“００ｈ”、アドレスセット“Ｃ１、Ｃ２、Ｒ１〜Ｒ３”、及び実行コマンド“３０ｈ”を、ＮＡＮＤ型フラッシュメモリ１００に発行する。prefixコマンド“ＳＢ”は、ソフトビットリードを指定するコマンドである。
【０２７２】
ステートマシン２８は、実行コマンド“３０ｈ”を受けた後、レディー／ビジー信号ＲＢｎをローレベルにする。そして、ステートマシン２８は、ソフトビットリードを実行する。
【０２７３】
なお、ソフトビットリードを指定する場合に、prefixコマンド“Ｙ”を省略することも可能である。
【０２７４】
図６４は、データラッチ回路の動作を説明する模式図である。図６４には、５個のケースを示している。図６４の“ＨＢ”は、ハードビットリードを表し、図６４の“ＳＢ”は、ソフトビットリードを表している。
【０２７５】
書き込み動作全般において、データラッチ回路ＡＤＬは、プログラム用の下位ページ（図６４において“Program(lower)”と表記）を格納し、データラッチ回路ＢＤＬは、プログラム用の中位ページ（図６４において“Program(middle)”と表記）を格納し、データラッチ回路ＣＤＬは、プログラム用の上位ページ（図６４において“Program(upper)”と表記）を格納し、データラッチ回路ＴＤＬは、内部用途データ（図６４において“Program(internal)”と表記）を格納する。
【０２７６】
ケース１は、prefixコマンド“Ｙ”なしのハードビットリードであり、通常の読み出し動作（ノーマルリード）に対応する。ケース１では、データラッチ回路ＮＤＬ、ＵＤＬを使用せずに、読み出し動作が行われる。ハードビットリードの結果は、データラッチ回路ＸＤＬに格納され、データラッチ回路ＸＤＬを除くデータラッチ回路には格納されない。データラッチ回路ＸＤＬのデータは、次の読み出し動作で上書きされる。
【０２７７】
ケース２は、prefixコマンド“Ｙ”として例えば“０８ｈ”を設定してハードビットリードを実施する動作である。ケース２では、ステートマシン２８は、ハードビットリードの結果をデータラッチ回路ＮＤＬに格納する。ハードビットリードの結果は、次にデータラッチ回路ＮＤＬを使用するまで当該データラッチ回路ＮＤＬに保持される。ハードビットリードの結果は、必要に応じて再利用でき、また、既知のコマンドを利用してデータラッチ回路ＸＤＬを経由してＮＡＮＤ型フラッシュメモリの外部に出力することも可能である。
【０２７８】
ケース３は、prefixコマンド“Ｙ”なしのソフトビットリードである。ケース３では、データラッチ回路ＮＤＬ、ＵＤＬを使用せずに、読み出し動作が行われる。ソフトビットリードの結果は、データラッチ回路ＸＤＬに格納され、データラッチ回路ＸＤＬを除くデータラッチ回路には格納されない。データラッチ回路ＸＤＬのデータは、次の読み出し動作で上書きされる。
【０２７９】
ケース４は、prefixコマンド“Ｙ”として例えば“０８ｈ”を設定してソフトビットリードを実施する動作である。ケース４では、ステートマシン２８は、ソフトビットリードの結果をデータラッチ回路ＮＤＬに格納する。ソフトビットリードの結果は、次にデータラッチ回路ＮＤＬを使用するまで当該データラッチ回路ＮＤＬに保持される。ソフトビットリードの結果は、必要に応じて再利用でき、また、既知のコマンドを利用してデータラッチ回路ＸＤＬを経由してＮＡＮＤ型フラッシュメモリの外部に出力することも可能である。
【０２８０】
ケース５は、prefixコマンド“Ｙ”として例えば“０９ｈ”を設定してソフトビットリードを実施する動作である。ケース５では、ステートマシン２８は、ソフトビットリードの結果をデータラッチ回路ＵＤＬに格納する。ソフトビットリードの結果は、次にデータラッチ回路ＵＤＬを使用するまで当該データラッチ回路ＵＤＬに保持される。ソフトビットリードの結果は、必要に応じて再利用でき、また、既知のコマンドを利用してデータラッチ回路ＸＤＬを経由してＮＡＮＤ型フラッシュメモリの外部に出力することも可能である。
【０２８１】
また、ケース５では、データラッチ回路ＮＤＬにハードビットリードの結果を格納し、データラッチ回路ＵＤＬにソフトビットリードの結果を格納することが可能である。すなわち、センスユニット１３は、ハードビットリードの結果と、ソフトビットリードの結果とを同時に保持することが可能である。
【０２８２】
ケース５を実施後、データラッチ回路ＮＤＬのハードビットリード結果と、複数回行ったデータラッチ回路ＵＤＬのソフトビットリード結果とを参照する場合、常に同じハードビットリード結果を参照することになる。ケース１等の場合はハードビットリード結果を都度取得（リード)することが必要となるが、この場合はその必要がない。
【０２８３】
［９−４］  第９実施形態の効果
従来では、データラッチ回路の数に制約があり、例えば、ハードビットリードの結果にソフトビットリードの結果を重ねる（演算する）形でソフトビット情報を生成しており、ハードビットリードの結果はデータラッチ回路に残らなかった。後刻ハードビットリードの結果を再利用する必要が発生した場合、再度ハードビットリードを行う必要があり、これにかかる時間は読み出し性能を劣化させていた。
【０２８４】
第９実施形態では、データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬに書き込みデータを格納しつつ、ハードビットリードの結果及びソフトビットリードの結果を格納するデータラッチ回路を選択することができる。また、ハードビットリードの結果及びソフトビットリードの結果の両方をデータラッチ回路ＮＤＬ、ＵＤＬに格納することもできる。これにより、読み出し性能を向上させることができる。
【０２８５】
［１０］  第１０実施形態
第１０実施形態は、ＮＡＮＤ型フラッシュメモリ１００の構造に関する実施例である。
【０２８６】
［１０−１］  ＮＡＮＤ型フラッシュメモリ１００の構造
図６５は、第１０実施形態に係るＮＡＮＤ型フラッシュメモリ１００の断面構造の一例を示す図である。なお、以下の説明に用いる各断面図では、層間絶縁膜のハッチングを省略している。ＮＡＮＤ型フラッシュメモリ１００は、メモリチップ１００Ａ、及び回路チップ１００Ｂを備え、回路チップ１００Ｂ上にメモリチップ１００Ａが設けられる。
【０２８７】
まず、メモリチップ１００Ａの構造について説明する。メモリチップ１００Ａは、複数のメモリセルが設けられるセルアレイ領域１１Ａと、セルアレイ領域１１Ａから配線を引き出すためのフックアップ領域１１Ｂとを備える。
【０２８８】
メモリチップ１００Ａにおいて、上層から順に、各々が絶縁体を介して導電体６１〜７１が設けられる。導電体６１〜７１は、それぞれＸ方向及びＹ方向に広がった板状に形成される。例えば、導電体６１〜７１は、それぞれセルアレイ領域１１Ａからフックアップ領域１１Ｂに亘って延伸し、フックアップ領域１１Ｂにおいて階段状に形成される。導電体６１は、ソース線ＳＬとして機能する。導電体６２は、選択ゲート線ＳＧＳとして機能する。導電体６３〜７０はそれぞれ、ワード線ＷＬ０〜ＷＬ７として機能する。導電体７１は、選択ゲート線ＳＧＤとして機能する。
【０２８９】
複数のメモリピラーＭＨは、導電体７１の下面から導電体６１の下面に達するように、導電体７１〜６２を通過して設けられる。各メモリピラーＭＨの下面には、導電性のコンタクトプラグＢＬＣが設けられる。各コンタクトプラグＢＬＣの下面には、導電体７２が設けられる。各導電体７２は、Ｙ方向に延伸したライン状に形成され、ビット線ＢＬとして機能する。１つの導電体７２は、各ストリングユニットＳＵ内でそれぞれ１つのメモリピラーＭＨと電気的に接続される。メモリピラーＭＨの詳細については後述する。
【０２９０】
１本のビット線ＢＬに着目すると、ビット線ＢＬとして機能する導電体７２の下面には、導電性のコンタクトプラグ７３が設けられる。コンタクトプラグ７３の下面には、導電体７４が設けられる。導電体７４の下面には、導電性の接合部７５が設けられる。接合部７５としては、例えば銅が使用される。
【０２９１】
このような構成により、１つの接合部７５と、１本のビット線ＢＬとが電気的に接続される。その他のビット線ＢＬについても同様であり、図示されない領域において、それぞれ異なるコンタクトプラグ７３、導電体７４、及び接合部７５の組に接続される。
【０２９２】
フックアップ領域１１Ｂにおいて、導電体６１の下方には、例えばコンタクトプラグＣＣの本数に対応して、複数の導電体７６が設けられる。例えば、ワード線ＷＬ２に対応する導電体６５の下面にコンタクトプラグＣＣが設けられ、当該コンタクトプラグＣＣの下面にワード線ＷＬ２に対応する導電体７６が設けられる。同様に、各種配線に対応するコンタクトプラグＣＣは、積層された導電体６２〜７１のうち、対応する導電体と電気的に接続され、その他の導電体と絶縁されるように形成される。
【０２９３】
ワード線ＷＬ２に対応する導電体７６に着目すると、導電体７６の下面には、コンタクトプラグ７７が設けられる。コンタクトプラグ７７の下面には、導電体７８が設けられる。導電体７８の下面には、接合部７９が設けられる。接合部７９としては、例えば銅が使用される。
【０２９４】
このような構成により、１つの接合部７９と、１本のワード線ＷＬとが電気的に接続される。その他のワード線ＷＬ、選択ゲート線ＳＧＳ、及び選択ゲート線ＳＧＤにそれぞれ対応する導電体７６についても同様であり、図示されない領域において、それぞれ異なるコンタクトプラグ７７、導電体７８、及び接合部７９の組に接続される。
【０２９５】
次に、回路チップ１００Ｂの構造について説明する。回路チップ１００Ｂでは、セルアレイ領域１１Ａの下部にセンスユニット１３が設けられ、フックアップ領域１１Ｂの下部にロウデコーダ１２が設けられる。
【０２９６】
回路チップ１００Ｂは、半導体基板８０を備える。センスユニット１３の領域における半導体基板８０上には、絶縁膜を介して導電体８１が設けられる。この導電体８１がゲート電極として機能し、ソース／ドレイン領域等を有するＭＯＳＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor）が形成される。当該トランジスタのソース／ドレイン領域はそれぞれ、コンタクトプラグ８２を介して異なる導電体８３に接続される。一方の導電体８３上には、接合部８４が設けられる。接合部８４としては、例えば銅が使用される。
【０２９７】
接合部８４上には、１つの接合部７５が設けられ、接合部８４及び接合部７５は、電気的に接続される。つまり、メモリチップ１００Ａ内の１本のビット線ＢＬが、接合部７５及び８４を介して、センスユニット１３内の対応するトランジスタに接続される。なお、センスユニット１３は、図示されない領域において複数のトランジスタを含み、当該複数のトランジスタはそれぞれ、異なる導電体８３及び接合部８４の組を介して、異なるビット線ＢＬに電気的に接続される。
【０２９８】
ロウデコーダ１１の領域における半導体基板８０上には、絶縁膜を介して導電体８５が設けられる。この導電体８５がゲート電極として機能し、ソース／ドレイン領域等を有するＭＯＳＦＥＴが形成される。当該トランジスタのソース／ドレイン領域はそれぞれ、コンタクトプラグ８６を介して異なる導電体８７に接続される。一方の導電体８７上には、接合部８８が設けられる。接合部８８としては、例えば銅が使用される。
【０２９９】
接合部８８上には、１つの接合部７９が設けられ、接合部８８及び接合部７９は、電気的に接続される。つまり、例えばメモリチップ１００Ａ内の１本のワード線ＷＬが、接合部７９及び８８を介して、ロウデコーダ１２内の対応するトランジスタに接続される。なお、ロウデコーダ１２は、図示されない領域において複数のトランジスタを含み、当該複数のトランジスタはそれぞれ、異なる導電体８７及び接合部８８の組を介して、他のワード線ＷＬ、選択ゲート線ＳＧＳ、及び選択ゲート線ＳＧＤに電気的に接続される。
【０３００】
次に、メモリセルアレイ１１のより詳細な断面構造の一例について説明する。図６６は、メモリセルアレイ１１の一部領域の断面図である。図６６は、図６５のＹ方向に沿った断面に対応し、図６５に対してＺ方向を反転して示している。
【０３０１】
１つのストリングユニットＳＵに対応する構造体は、図６６に示すように、隣り合うスリットＳＬＴ間に設けられる。スリットＳＬＴは、Ｘ方向及びＺ方向に広がり、隣り合うストリングユニットＳＵに設けられた導電体６２〜７１間を絶縁している。
【０３０２】
メモリピラーＭＨは、例えばブロック絶縁膜９０、電荷蓄積層９１、トンネル絶縁膜９２、及び導電性の半導体層９３を含んでいる。具体的には、メモリピラーＭＨを形成するメモリホールの内壁に、ブロック絶縁膜９０が形成される。ブロック絶縁膜９０の内壁に、電荷蓄積層９１が形成される。電荷蓄積層９１の内壁に、トンネル絶縁膜９２が形成される。トンネル絶縁膜９２の内側に、半導体層９３が形成され、例えば埋め込まれる。半導体層９３は、ＮＡＮＤストリングＮＳのチャネルが形成される領域である。なお、半導体層９３内の中央には、半導体層９３をＺ方向に貫通する絶縁層が設けられていてもよい。
【０３０３】
トンネル絶縁膜９２としては、例えばシリコン酸化物（ＳｉＯ２）が用いられる。電荷蓄積層９１としては、例えばシリコン窒化物（ＳｉＮ）が用いられる。ブロック絶縁膜９０としては、例えばシリコン酸化物が用いられる。半導体層９３としては、例えば多結晶シリコンが用いられる。
【０３０４】
メモリピラーＭＨと導電体６２とが交差する部分が、選択トランジスタＳＴ２として機能する。メモリピラーＭＨと導電体６３〜７０とが交差する部分が、それぞれメモリセルトランジスタＭＴ０〜ＭＴ７として機能する。メモリピラーＭＨと導電体７１とが交差する部分が、選択トランジスタＳＴ１として機能する。
【０３０５】
［１０−２］  第１０実施形態の効果
第１０実施形態では、メモリセルアレイ１１と、その周辺回路とを個別のチップで形成できる。すなわち、ＮＡＮＤ型フラッシュメモリ１００は、メモリチップ１００Ａ、及び回路チップ１００Ｂを備える。メモリチップ１００Ａは、メモリセルアレイ１１を含む。回路チップ１００Ｂは、周辺回路、具体的には、ロウデコーダ１２及びセンスユニット１３などを含む。
【０３０６】
これにより、センスユニット１３の回路面積を大きくすることができる。よって、センスユニット１３がより多くのラッチ回路を備えるように構成することができる。
【０３０７】
［１１］  変形例
データラッチ回路の数（データラッチ回路ＳＤＬ、ＸＤＬを除く）は、上記実施形態に限定されるものではなく、適宜変更可能である。データラッチ回路の数がより多い場合は、その数に応じたprefixコマンドを設定し、その識別ができるようにすればよい。また、本実施形態の実現方法は上記に限らない。要はメモリコントローラが与える様々なコマンドによって、使用するデータラッチ回路を変更することを実現し、必要に応じて適切に該当動作で使用するデータラッチ回路を任意に指定することを可能とすればよい。
【０３０８】
上記実施形態では、１つのメモリセルトが３ビットのデータを記憶する場合を例に説明したが、これに限定されない。上記実施形態は、１つのメモリセルが１ビットを記憶する方式に適用してもよい。また、１つのメモリセルが３ビット以外の複数ビットを記憶する方式に適用してもよい。
【０３０９】
上記実施形態は、メモリセルが二次元に配置された平面型ＮＡＮＤ型フラッシュメモリ、及びメモリセルが二次元に配置された三次元積層型ＮＡＮＤ型フラッシュメモリのいずれにも適用できる。
【０３１０】
上記実施形態において、メモリセルアレイの構造は、その他の構造であってもよい。その他のメモリセルアレイの構成については、例えば“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号に記載されている。“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【０３１１】
上記実施形態において、ブロックＢＬＫは消去単位でなくても良い。その他の消去動作については、“不揮発性半導体記憶装置”という２０１１年９月１８日に出願された米国特許出願１３／２３５，３８９号、“不揮発性半導体記憶装置”という２０１０年１月２７日に出願された米国特許出願１２／６９４，６９０号にそれぞれ記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【０３１２】
本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。
【０３１３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０３１４】
１…メモリシステム、１０…コア部、１１…メモリセルアレイ、１２…ロウデコーダ、１３…センスユニット、２０…周辺回路、２１，２２…入力バッファ、２３，３０…出力バッファ、２４…アドレスバッファ、２５…コマンドデコーダ、２６…データバッファ、２７…選択回路、２８…ステートマシン、２９…メモリセル制御レジスタ、３１…レジスタ回路、３２…フェイル数カウント回路、５０…ロジック回路、１００…ＮＡＮＤ型フラッシュメモリ、２００…メモリコントローラ、２０１…ホストインターフェース回路、２０２…ＣＰＵ、２０３…ＲＡＭ、２０４…バッファメモリ、２０５…ＮＡＮＤインターフェース回路、２０６…ＥＣＣ回路、２０７…バス、３００…ホスト装置
【図１】
2020181624.tif 000003
【図２】
2020181624.tif 000004
【図３】
2020181624.tif 000005
【図４】
2020181624.tif 000006
【図５】
2020181624.tif 000007
【図６】
2020181624.tif 000008
【図７】
2020181624.tif 000009
【図８】
2020181624.tif 000010
【図９】
2020181624.tif 000011
【図１０】
2020181624.tif 000012
【図１１】
2020181624.tif 000013
【図１２】
2020181624.tif 000014
【図１３】
2020181624.tif 000015
【図１４】
2020181624.tif 000016
【図１５】
2020181624.tif 000017
【図１６】
2020181624.tif 000018
【図１７】
2020181624.tif 000019
【図１８】
2020181624.tif 000020
【図１９】
2020181624.tif 000021
【図２０】
2020181624.tif 000022
【図２１】
2020181624.tif 000023
【図２２】
2020181624.tif 000024
【図２３】
2020181624.tif 000025
【図２４】
2020181624.tif 000026
【図２５】
2020181624.tif 000027
【図２６】
2020181624.tif 000028
【図２７】
2020181624.tif 000029
【図２８】
2020181624.tif 000030
【図２９】
2020181624.tif 000031
【図３０】
2020181624.tif 000032
【図３１】
2020181624.tif 000033
【図３２】
2020181624.tif 000034
【図３３】
2020181624.tif 000035
【図３４】
2020181624.tif 000036
【図３５】
2020181624.tif 000037
【図３６】
2020181624.tif 000038
【図３７】
2020181624.tif 000039
【図３８】
2020181624.tif 000040
【図３９】
2020181624.tif 000041
【図４０】
2020181624.tif 000042
【図４１】
2020181624.tif 000043
【図４２】
2020181624.tif 000044
【図４３】
2020181624.tif 000045
【図４４】
2020181624.tif 000046
【図４５】
2020181624.tif 000047
【図４６】
2020181624.tif 000048
【図４７】
2020181624.tif 000049
【図４８】
2020181624.tif 000050
【図４９】
2020181624.tif 000051
【図５０】
2020181624.tif 000052
【図５１】
2020181624.tif 000053
【図５２】
2020181624.tif 000054
【図５３】
2020181624.tif 000055
【図５４】
2020181624.tif 000056
【図５５】
2020181624.tif 000057
【図５６】
2020181624.tif 000058
【図５７】
2020181624.tif 000059
【図５８】
2020181624.tif 000060
【図５９】
2020181624.tif 000061
【図６０】
2020181624.tif 000062
【図６１】
2020181624.tif 000063
【図６２】
2020181624.tif 000064
【図６３】
2020181624.tif 000065
【図６４】
2020181624.tif 000066
【図６５】
2020181624.tif 000067
【図６６】
2020181624.tif 000068