(57)【要約】【課題】メモリシステムの歩留まりを向上させる。【解決手段】実施形態のメモリシステム１は、半導体メモリ１０とメモリコントローラ２０とを含む。半導体メモリ１０は、複数の第１メモリセルと複数の第１メモリセルに接続された第１ワード線とを含む。メモリコントローラ２０は、外部から書き込みデータを受信すると、複数ページデータの書き込みを半導体メモリ１０に指示する。半導体メモリ１０は、複数ページデータを複数の第１メモリセルに書き込み、複数ページデータを複数の第１メモリセルに書き込んだ後に、複数の第１メモリセルに書き込まれたページデータを読み出す。メモリコントローラ２０は、複数の第１メモリセルから読み出されたページデータが所定の条件を満たしているかどうかを判定し、所定の条件を満たしたページデータに対応するページデータの書き込みを半導体メモリ１０に指示する。【選択図】図９
2019139824.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１メモリセルと、前記複数の第１メモリセルのそれぞれに接続された第１ワード線と、を含む半導体メモリと、
前記半導体メモリを制御するメモリコントローラと、
を備え、
前記メモリコントローラは、外部から書き込みデータを受信すると、前記書き込みデータに基づいた第１の複数ページデータの書き込みを前記半導体メモリに指示し、
前記半導体メモリは、前記第１の複数ページデータを前記複数の第１メモリセルに書き込み、前記第１の複数ページデータを前記複数の第１メモリセルに書き込んだ後に、前記複数の第１メモリセルに書き込まれたページデータを読み出し、
前記メモリコントローラは、前記複数の第１メモリセルから読み出されたページデータが所定の条件を満たしているかどうかを判定し、前記第１の複数ページデータのうち前記所定の条件を満たしたページデータに対応するページデータの書き込みを前記半導体メモリに指示する、メモリシステム。
【請求項２】
前記半導体メモリは、複数の第２メモリセルと、前記複数の第２メモリセルのそれぞれに接続され、書き込み動作において前記第１ワード線の次に選択される第２ワード線とをさらに含み、
前記半導体メモリは、前記第１の複数ページデータのうち前記所定の条件を満たした前記ページデータを前記メモリコントローラから受け取り、前記ページデータを前記複数の第２メモリセルに書き込む、
請求項１に記載のメモリシステム。
【請求項３】
前記半導体メモリは、絶縁体を介して積層された複数の導電体と、前記複数の導電体を通過し、前記複数の導電体との交差部分のそれぞれがトランジスタとして機能するピラーと、をさらに含み、
前記複数の導電体は、前記第１ワード線として機能する第１導電体と、前記第２ワード線として機能する第２導電体とを含み、前記第１導電体と前記第２導電体とは隣り合っている、
請求項２に記載のメモリシステム。
【請求項４】
前記半導体メモリは、前記読み出しにおいて、前記複数の第１メモリセルに書き込まれた前記第１の複数ページデータをページ単位で読み出し、
前記メモリコントローラは、前記複数の第１メモリセルから読み出された複数ページデータのそれぞれが前記所定の条件を満たしているかどうかを判定する、
請求項１乃至請求項３のいずれか一項に記載のメモリシステム。
【請求項５】
前記メモリコントローラは、第１乃至第４ビットデータを閾値電圧の低い順に領域が定義された１６個の閾値領域に対応させることにより前記第１の複数ページデータを前記複数の第１メモリセルに記憶させ、
前記第１の複数ページデータは、前記第１ビットデータに対応するページデータと前記第２ビットデータに対応するページデータと前記第３ビットデータに対応するページデータと前記第４ビットデータに対応するページデータとを含み、
前記メモリコントローラは、前記１６個の閾値領域の各々の間の１５個の読み出し電圧のうち４個の読み出し電圧を使用して前記第１ビットデータに対応するページデータの値を判定し、前記１５個の読み出し電圧のうち４個の読み出し電圧を使用して前記第２ビットデータに対応するページデータの値を判定し、前記１５個の読み出し電圧のうち３個の読み出し電圧を使用して前記第３ビットデータに対応するページデータの値を判定し、前記１５個の読み出し電圧のうち４個の読み出し電圧を使用して前記第４ビットデータに対応するページデータの値を判定する、
請求項４に記載のメモリシステム。
【請求項６】
前記半導体メモリは、前記読み出しにおいて、前記複数の第１メモリセルに書き込まれた前記第１の複数ページデータのうち下位ビットに対応するページから順に読み出し、
前記メモリコントローラは、前記読み出し毎に前記複数の第１メモリセルから読み出されたページデータに対し前記判定を実行し、
前記判定において前記所定の条件を満たしていない場合に、前記複数の第１メモリセルに書き込まれた複数ページデータのうち前記判定が直近で実行されたページの次のページの読み出しを前記半導体メモリに指示し、
前記判定において前記所定の条件を満たしている場合に、前記第１の複数ページデータのうち、前記所定の条件を満たしたページデータに対応するページデータと、前記複数の第１メモリセルに書き込まれた複数ページデータで前記読み出しが実行されていないページデータに対応するページデータの書き込みとを前記半導体メモリに指示する、
請求項１乃至請求項３のいずれか一項に記載のメモリシステム。
【請求項７】
前記メモリコントローラは、第１乃至第４ビットデータを閾値電圧の低い順に領域が定義された１６個の閾値領域に対応させることにより前記第１の複数ページデータを前記複数の第１メモリセルに記憶させ、
前記第１の複数ページデータは、前記第１ビットデータに対応するページデータと前記第２ビットデータに対応するページデータと前記第３ビットデータに対応するページデータと前記第４ビットデータに対応するページデータとを含み、
前記メモリコントローラは、前記１６個の閾値領域の各々の間の１５個の読み出し電圧のうち１個の読み出し電圧を使用して前記第１ビットデータに対応するページデータの値を判定し、前記１５個の読み出し電圧のうち２個の読み出し電圧を使用して前記第２ビットデータに対応するページデータの値を判定し、前記１５個の読み出し電圧のうち４個の読み出し電圧を使用して前記第３ビットデータに対応するページデータの値を判定し、前記１５個の読み出し電圧のうち８個の読み出し電圧を使用して前記第４ビットデータに対応するページデータの値を判定する、
請求項６に記載のメモリシステム。
【請求項８】
前記所定の条件は、エラー訂正処理が可能であるか否かであり、
前記メモリコントローラは、エラー訂正処理に失敗した場合に、前記所定の条件を満たしたものと判定する、
請求項１乃至請求項７のいずれか一項に記載のメモリシステム。
【請求項９】
前記メモリコントローラは、メモリ部を含み、
前記メモリ部は、前記判定の結果と前記判定が実行されたページデータに対応するアドレスとが関連付けられた情報を保持する、
請求項１乃至請求項８のいずれか一項に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
メモリセルが３次元に積層されたＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９５０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メモリシステムの歩留まりを向上させる。
【課題を解決するための手段】
【０００５】
実施形態のメモリシステムは、半導体メモリと、メモリコントローラとを含む。半導体メモリは、複数の第１メモリセルと、複数の第１メモリセルのそれぞれに接続された第１ワード線と、を含む。メモリコントローラは、半導体メモリを制御する。メモリコントローラは、外部から書き込みデータを受信すると、書き込みデータに基づいた第１の複数ページデータの書き込みを半導体メモリに指示する。半導体メモリは、第１の複数ページデータを複数の第１メモリセルに書き込み、第１の複数ページデータを複数の第１メモリセルに書き込んだ後に、複数の第１メモリセルに書き込まれたページデータを読み出す。メモリコントローラは、複数の第１メモリセルから読み出されたページデータが所定の条件を満たしているかどうかを判定し、第１の複数ページデータのうち所定の条件を満たしたページデータに対応するページデータの書き込みを前記半導体メモリに指示する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムの構成例を示すブロック図。
【図２】第１実施形態における半導体メモリの備えるメモリセルアレイの回路構成の一例を示す回路図。
【図３】第１実施形態に係る半導体メモリの備えるメモリセルアレイの平面レイアウトの一例を示す平面図。
【図４】第１実施形態に係る半導体メモリの備えるメモリセルアレイの断面構造の一例を示す断面図。
【図５】第１実施形態に係る半導体メモリの備えるロウデコーダモジュールの回路構成の一例を示す回路図。
【図６】第１実施形態に係る半導体メモリの備えるセンスアンプモジュールの構成の一例を示すブロック図。
【図７】第１実施形態に係る半導体メモリの備えるセンスアンプモジュールの回路構成の一例を示す回路図。
【図８】第１実施形態におけるメモリセルトランジスタに対するデータの割り付けの一例を示す図。
【図９】第１実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
【図１０】第１実施形態に係るメモリシステムの第１動作の一例を示すフローチャート。
【図１１】第２実施形態におけるメモリセルトランジスタに対するデータの割り付けの一例を示す図。
【図１２】第２実施形態に係るメモリシステムの第１動作の一例を示すフローチャート。
【図１３】第３実施形態におけるメモリセルトランジスタに対するデータの割り付けの一例を示す図。
【図１４】第３実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
【図１５】第３実施形態に係るメモリシステムの第２動作の一例を示すフローチャート。
【図１６】第４実施形態におけるメモリセルトランジスタに対するデータの割り付けの一例を示す図。
【図１７】第４実施形態に係るメモリシステムの第２動作の一例を示すフローチャート。
【図１８】第５実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
【図１９】第６実施形態に係るメモリシステムの構成例を示すブロック図。
【図２０】第６実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
【図２１】第１実施形態の変形例に係るメモリシステムの構成例を示すブロック図。
【発明を実施するための形態】
【０００７】
以下に、実施形態について図面を参照して説明する。図面は模式的なものである。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示するものである。尚、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために用いられている。同じ文字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は同じ文字のみを含んだ参照符号により参照される。
【０００８】
［１］第１実施形態
以下に、第１実施形態に係るメモリシステム１について説明する。
【０００９】
［１−１］構成
［１−１−１］メモリシステム１の全体構成
図１は、第１実施形態に係るメモリシステム１の構成例を示している。メモリシステム１は、図１に示すように、半導体メモリ１０及びメモリコントローラ２０を備えている。以下に、半導体メモリ１０及びメモリコントローラ２０のそれぞれの詳細な構成について順に説明する。
【００１０】
（半導体メモリ１０の構成）
半導体メモリ１０は、データを不揮発に記憶することが可能なＮＡＮＤ型フラッシュメモリである。半導体メモリ１０は、図１に示すように、例えばメモリセルアレイ１１、コマンドレジスタ１２、アドレスレジスタ１３、シーケンサ１４、ドライバ回路１５、ロウデコーダモジュール１６、及びセンスアンプモジュール１７を備えている。
【００１１】
メモリセルアレイ１１は、複数のブロックＢＬＫ０〜ＢＬＫｎ（ｎは１以上の整数）を含んでいる。ブロックＢＬＫは、不揮発性メモリセルの集合であり、例えばデータの消去単位となる。これに限定されず、その他の消去動作については、“不揮発性半導体記憶装置”という２０１１年９月１８日に出願された米国特許出願１３／２３５，３８９号、“不揮発性半導体記憶装置”という２０１０年１月２７日に出願された米国特許出願１２／６９４，６９０号にそれぞれ記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。また、メモリセルアレイ１１には、複数のビット線及び複数のワード線が設けられ、各メモリセルは、１本のビット線及び１本のワード線に関連付けられている。
【００１２】
コマンドレジスタ１２は、半導体メモリ１０がメモリコントローラ２０から受信したコマンドＣＭＤを保持する。コマンドＣＭＤは、例えばシーケンサ１４に読み出し動作を実行させる命令や、書き込み動作を実行させる命令を含んでいる。
【００１３】
アドレスレジスタ１３は、半導体メモリ１０がメモリコントローラ２０から受信したアドレス情報ＡＤＤを保持する。アドレス情報ＡＤＤは、例えばブロックアドレスＢＡ、ページアドレスＰＡ、及びカラムアドレスＣＡを含んでいる。ブロックアドレスＢＡは、各種動作の対象となるメモリセルを含むブロックＢＬＫの選択に使用される。ページアドレスＰＡは、各種動作の対象となるメモリセルに関連付けられたワード線の選択に使用される。カラムアドレスＣＡは、各種動作の対象となるビット線の選択に使用される。
【００１４】
シーケンサ１４は、コマンドレジスタ１２に保持されたコマンドＣＭＤに基づいて、半導体メモリ１０全体の動作を制御する。例えばシーケンサ１４は、ドライバ回路１５、ロウデコーダモジュール１６、及びセンスアンプモジュール１７を制御して、メモリコントローラ２０から受信したデータＤＡＴの書き込み動作や、メモリセルアレイ１１に記憶されたデータＤＡＴを読み出す動作を実行する。
【００１５】
ドライバ回路１５は、シーケンサ１４の制御に基づいて、所望の電圧を生成する。そしてドライバ回路１５は、例えば、アドレスレジスタ１３に保持されたページアドレスＰＡに基づいて、選択されたワード線に印加する電圧と、非選択のワード線に印加する電圧とを、対応する信号線にそれぞれ印加する。
【００１６】
ロウデコーダモジュール１６は、例えば、アドレスレジスタ１３に保持されたブロックアドレスＢＡに基づいて、１つのブロックＢＬＫを選択する。そしてロウデコーダモジュール１６は、ドライバ回路１５が各信号線に印加した電圧を、例えば選択ワード線及び非選択ワード線にそれぞれ印加する。
【００１７】
センスアンプモジュール１７は、メモリコントローラ２０から受信した書き込みデータＤＡＴに応じて、各ビット線に所望の電圧を印加する。また、センスアンプモジュール１７は、ビット線の電圧に基づいてメモリセルに記憶されたデータを判定し、判定した読み出しデータＤＡＴをメモリコントローラ２０に送信する。
【００１８】
（メモリコントローラ２０の構成）
メモリコントローラ２０は、ホスト機器３０からの命令に応答して、半導体メモリ１０に対して読み出し、書き込み、及び消去等を命令する。メモリコントローラ２０は、図１に示すように、ホストインターフェイス回路２１、ＣＰＵ（Central Processing Unit）２２、ＲＡＭ（Random Access Memory）２３、バッファメモリ２４、ＥＣＣ（Error Correction Code）回路２５、セル情報保持部２６、及びＮＡＮＤインターフェイス回路２７を備えている。
【００１９】
ホストインターフェイス回路２１は、ホストバスを介して外部のホスト機器３０と接続され、メモリコントローラ２０及びホスト機器３０間のデータ、コマンド、及びアドレスの転送を制御する。ホストインターフェイス回路２１は、例えばＳＡＴＡ（Serial Advanced Technology Attachment）、ＳＡＳ（Serial Attached SCSI）、ＰＣＩｅ（PCI Express）（登録商標）等の通信インターフェイス規格をサポートする。
【００２０】
ＣＰＵ２２は、メモリコントローラ２０全体の動作を制御する。例えばＣＰＵ２２は、ホスト機器３０から受信した書き込み命令に応答して、書き込みコマンドを発行する。また、ＣＰＵ２２は、例えばウェアレベリング等、半導体メモリ１０のメモリ空間を管理するための様々な処理を実行する。
【００２１】
ＲＡＭ２３は、例えばＤＲＡＭ（Dynamic Random Access Memory)等の揮発性メモリである。ＲＡＭ２３は、ＣＰＵ２２の作業領域として使用される。例えばＲＡＭ２３は、半導体メモリ１０を管理するためのファームウェア、各種管理テーブル、各種動作時におけるカウント結果等を保持する。管理テーブルは、例えばＷ／Ｅ回数を含んでいる。Ｗ／Ｅ回数は、例えばブロックＢＬＫ単位で管理され、各ブロックＢＬＫに対して書き込み及び消去の組が実行された回数を示している。
【００２２】
バッファメモリ２４は、メモリコントローラ２０が半導体メモリ１０から受信した読み出しデータや、ホスト機器３０から受信した書き込みデータ等を一時的に保持する。
【００２３】
ＥＣＣ回路２５は、データのエラー訂正処理をする。具体的には、書き込み動作時にＥＣＣ回路２５は、ホスト機器３０から受信した書き込みデータに基づいてパリティを生成し、生成したパリティを書き込みデータに付与する。読み出し動作時にＥＣＣ回路２５は、半導体メモリ１０から受信した読み出しデータに基づいてシンドロームを生成し、生成したシンドロームに基づいて読み出しデータのエラーを検出及び訂正する。
【００２４】
セル情報保持部２６は、メモリセルが記憶可能なデータのビット数の情報と、当該メモリセルのアドレスとが関連付けられたセル情報を保持する。セル情報は、例えばＦＴＬ（Flash Translation Layer）等と併せて記憶され、後述する書き込み動作が実行される度に適宜更新される。セル情報保持部２６としては、不揮発性メモリが使用されても良いし、揮発性メモリが使用されても良い。また、セル情報は、ＲＡＭ２３内に展開されている情報の一つとして管理されても良いし、半導体メモリ１０内に待避されても良い。
【００２５】
ＮＡＮＤインターフェイス回路２７は、メモリコントローラ２０及び半導体メモリ１０間のデータ、コマンド、及びアドレスの転送を制御し、ＮＡＮＤインターフェイス規格をサポートする。例えばＮＡＮＤインターフェイス回路２７は、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、及びリードイネーブル信号ＲＥｎを送信し、レディビジー信号ＲＢｎを受信し、入出力信号Ｉ／Ｏを送受信する。
【００２６】
信号ＣＬＥは、受信した信号Ｉ／ＯがコマンドＣＭＤであることを半導体メモリ１０に通知する信号である。信号ＡＬＥは、受信した信号Ｉ／Ｏがアドレス情報ＡＤＤであることを半導体メモリ１０に通知する信号である。信号ＷＥｎは、信号Ｉ／Ｏの入力を半導体メモリ１０に命令する信号である。信号ＲＥｎは、信号Ｉ／Ｏの出力を半導体メモリ１０に命令する信号である。信号ＲＢｎは、半導体メモリ１０がメモリコントローラ２０からの命令を受け付けるレディ状態であるか命令を受け付けないビジー状態であるかを、メモリコントローラ２０に通知する信号である。信号Ｉ／Ｏは、例えば８ビットの信号であり、コマンドＣＭＤ、アドレス情報ＡＤＤ、書き込みデータＤＡＴ、読み出しデータ等を含み得る。
【００２７】
以上で説明した半導体メモリ１０及びメモリコントローラ２０は、それらの組み合わせにより一つの半導体装置を構成しても良い。このような半導体装置としては、例えばＳＤＴＭカードのようなメモリカードや、ＳＳＤ（solid state drive）等が挙げられる。
【００２８】
［１−１−２］メモリセルアレイ１１の構成
（回路構成について）
図２は、第１実施形態における半導体メモリ１０の備えるメモリセルアレイ１１の回路構成の一例を示している。以下に、第１実施形態におけるメモリセルアレイ１１の回路構成について、１つのブロックＢＬＫに注目して説明する。
【００２９】
ブロックＢＬＫは、図２に示すように、例えば４つのストリングユニットＳＵ０〜ＳＵ３を含んでいる。各ストリングユニットＳＵは、ビット線ＢＬ０〜ＢＬｍ（ｍは１以上の整数）にそれぞれ関連付けられた複数のＮＡＮＤストリングＮＳを含んでいる。例えばＮＡＮＤストリングＮＳは、８個のメモリセルトランジスタＭＴ０〜ＭＴ７並びに選択トランジスタＳＴ１及びＳＴ２を含んでいる。
【００３０】
メモリセルトランジスタＭＴは、制御ゲート及び電荷蓄積層を備え、データを不揮発に保持する。各ＮＡＮＤストリングＮＳに含まれたメモリセルトランジスタＭＴ０〜ＭＴ７は、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。同一ブロックＢＬＫ内のメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続されている。
【００３１】
選択トランジスタＳＴ１及びＳＴ２のそれぞれは、各種動作時におけるストリングユニットＳＵの選択に使用される。同一ブロックＢＬＫ内のストリングユニットＳＵ０〜ＳＵ３にそれぞれ含まれた選択トランジスタＳＴ１のゲートは、それぞれ選択ゲート線ＳＧＤ０〜ＳＧＤ３に共通接続されている。各ブロックＢＬＫ内で同一列に対応する選択トランジスタＳＴ１のドレインは、それぞれ対応するビット線ＢＬに共通接続されている。同一ブロックＢＬＫ内の選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳに共通接続されている。各ブロックＢＬＫ内の選択トランジスタＳＴ２のソースは、複数のブロックＢＬＫ間でソース線ＳＬに共通接続されている。
【００３２】
１つのストリングユニットＳＵ内で共通のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴは、例えばセルユニットＣＵと称される。セルユニットＣＵは、メモリセルトランジスタＭＴが記憶するデータのビット数に応じて記憶容量が変化する。例えば、セルユニットＣＵは、セルユニットＣＵ内の複数のメモリセルトランジスタＭＴのそれぞれが１ビットデータを記憶する場合に１ページデータを記憶し、セルユニットＣＵ内の複数のメモリセルトランジスタＭＴのそれぞれが２ビットデータを記憶する場合に２ページデータを記憶する。
【００３３】
尚、第１実施形態における半導体メモリ１０では、１つのメモリセルが記憶するデータのビット数が、メモリセル毎に異なることがある。以下では、メモリコントローラ２０が、１つのメモリセルトランジスタＭＴに１ビットデータを記憶させるセルユニットＣＵのことをＳＬＣ（Single-Level Cell）セルと称し、１つのメモリセルトランジスタＭＴに２ビットデータを記憶させるセルユニットＣＵのことをＭＬＣ（Multi-Level Cell）セルと称し、１つのメモリセルトランジスタＭＴに３ビットデータを記憶させるセルユニットＣＵのことをＴＬＣ（Triple-Level Cell）セルと称し、１つのメモリセルトランジスタＭＴに４ビットデータを記憶させるセルユニットＣＵのことをＱＬＣ（Quadruple-Level Cell）セルと称する。
【００３４】
（平面レイアウトについて）
図３は、第１実施形態におけるメモリセルアレイ１１の平面レイアウトの一例と、Ｘ軸、Ｙ軸、及びＺ軸とをそれぞれ示している。複数のストリングユニットＳＵは、例えば図３に示すように、各々がＹ方向に延伸して設けられ、Ｘ方向に配列している。
【００３５】
各ストリングユニットＳＵは、複数のメモリピラーＭＨを含んでいる。複数のメモリピラーＭＨは、例えばＹ方向に千鳥状に配置されている。各メモリピラーＭＨには、例えば少なくとも１本のビット線ＢＬが重なるように設けられている。そして、各ストリングユニットＳＵにおいて、１つのメモリピラーＭＨは、コンタクトプラグＣＰを介して１本のビット線ＢＬに接続されている。
【００３６】
また、メモリセルアレイ１１には、例えば複数のスリットＳＬＴが設けられている。複数のスリットＳＬＴは、例えば各々がＹ方向に延伸して設けられ、Ｘ方向に配列している。隣り合うスリットＳＬＴ間には、例えば１つのストリングユニットＳＵが設けられている。隣り合うスリットＳＬＴ間に設けられるストリングユニットＳＵの個数は１つに限定されず、任意の個数に設計することが可能である。
【００３７】
（断面構造について）
図４は、第１実施形態におけるメモリセルアレイ１１の断面構造の一例であり、層間絶縁膜が省略されたメモリセルアレイ１１の断面と、Ｘ軸、Ｙ軸、及びＺ軸とをそれぞれ示している。メモリセルアレイ１１は、図４に示すように、半導体基板４０、導電体４１〜４８、メモリピラーＭＨ、及びコンタクトプラグＣＰを含んでいる。
【００３８】
半導体基板４０の表面は、ＸＹ平面と平行に設けられている。半導体基板４０の上方には、絶縁膜を介して導電体４１が設けられている。導電体４１は、ＸＹ平面に平行な板状に形成され、例えばソース線ＳＬとして機能する。導電体４１上には、ＹＺ平面に平行な複数のスリットＳＬＴが、Ｘ方向に配列している。導電体４１上且つ隣り合うスリットＳＬＴ間の構造体が、例えば１つのストリングユニットＳＵに対応している。
【００３９】
具体的には、導電体４１上且つ隣り合うスリットＳＬＴ間には、例えば、半導体基板４０側から順に、導電体４２〜５１が設けられている。これらの導電体のうちＺ方向に隣り合う導電体は、層間絶縁膜を介して積層される。導電体４２〜５１は、それぞれがＸＹ平面に平行な板状に形成される。例えば、導電体４２は選択ゲート線ＳＧＳとして機能し、導電体４３〜５０はそれぞれワード線ＷＬ０〜ＷＬ７として機能し、導電体５１は選択ゲート線ＳＧＤとして機能する。
【００４０】
複数のメモリピラーＭＨのそれぞれは、例えば１つのＮＡＮＤストリングＮＳとして機能する。各メモリピラーＭＨは、導電体５１の上面から導電体４１の上面に達するように、導電体４２〜５１を通過して設けられている。
【００４１】
また、メモリピラーＭＨは、例えばブロック絶縁膜５３、絶縁膜５４、トンネル酸化膜５５、及び導電性の半導体材料５６を含んでいる。ブロック絶縁膜５３は、メモリピラーＭＨを形成するメモリホールの内壁に設けられている。ブロック絶縁膜５３の内壁には絶縁膜５４が設けられ、絶縁膜５４はメモリセルトランジスタＭＴの電荷蓄積層として機能する。絶縁膜５４の内壁には、トンネル酸化膜５５が設けられている。トンネル酸化膜５５の内壁には半導体材料５６が設けられ、半導体材料５６内にＮＡＮＤストリングＮＳの電流経路が形成される。半導体材料５６の内壁には、異なる材料が形成されていても良い。
【００４２】
メモリピラーＭＨと導電体４２とが交差する部分は、選択トランジスタＳＴ２として機能する。メモリピラーＭＨと導電体４３〜５０のそれぞれとが交差する部分は、それぞれメモリセルトランジスタＭＴ０〜ＭＴ７として機能する。メモリピラーＭＨと導電体５１とが交差する部分は、選択トランジスタＳＴ１として機能する。
【００４３】
メモリピラーＭＨの上面よりも上層には、層間絶縁膜を介して導電体５２が設けられている。導電体５２は、Ｘ方向に延伸したライン状に形成され、ビット線ＢＬとして機能する。複数の導電体５２はＹ方向に配列し（図示せず）、導電体５２は、ストリングユニットＳＵ毎に対応する１つのメモリピラーＭＨと電気的に接続される。
【００４４】
具体的には、各ストリングユニットＳＵにおいて、例えば各メモリピラーＭＨ内の半導体材料５６上に導電性のコンタクトプラグＣＰが設けられ、コンタクトプラグＣＰ上に１つの導電体５２が設けられる。これに限定されず、メモリピラーＭＨ及び導電体５２間は、複数のコンタクトプラグや配線等を介して接続されていても良い。
【００４５】
尚、メモリセルアレイ１１の構成は、上記の構成に限定されない。例えば、各ブロックＢＬＫが含むストリングユニットＳＵの個数は、任意の個数に設計することが可能である。また、各ＮＡＮＤストリングＮＳが含むメモリセルトランジスタＭＴ並びに選択トランジスタＳＴ１及びＳＴ２のそれぞれは、任意の個数に設計することが出来る。
【００４６】
また、ワード線ＷＬ並びに選択ゲート線ＳＧＤ及びＳＧＳの本数は、それぞれメモリセルトランジスタＭＴ並びに選択トランジスタＳＴ１及びＳＴ２の個数に基づいて変更される。選択ゲート線ＳＧＳには、複数層にそれぞれ設けられた複数の導電体４２が割り当てられても良く、選択ゲート線ＳＧＤには、複数層にそれぞれ設けられた複数の導電体５１が割り当てられても良い。
【００４７】
その他のメモリセルアレイ１１の構成については、例えば“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号、“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号にそれぞれ記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００４８】
［１−１−３］ロウデコーダモジュール１６の構成
図５は、第１実施形態における半導体メモリ１０の備えるロウデコーダモジュール１６の回路構成の一例を示している。ロウデコーダモジュール１６は、図５に示すように、ロウデコーダＲＤ０〜ＲＤｎを含んでいる。
【００４９】
ロウデコーダＲＤ０〜ＲＤｎは、それぞれブロックＢＬＫ０〜ＢＬＫｎに関連付けられている。つまり、１つのブロックＢＬＫに、１つのロウデコーダＲＤが関連付けられている。以下に、ブロックＢＬＫ０に対応するロウデコーダＲＤ０に着目して、ロウデコーダＲＤの詳細な回路構成について説明する。
【００５０】
ロウデコーダＲＤは、ブロックデコーダＢＤ並びに高耐圧ｎチャネルＭＯＳトランジスタＴＲ１〜ＴＲ１３を含んでいる。ブロックデコーダＢＤは、ブロックアドレスＢＡをデコードして、デコード結果に基づいて転送ゲート線ＴＧに所定の電圧を印加する。転送ゲート線ＴＧは、トランジスタＴＲ１〜ＴＲ１３のゲートに共通接続されている。トランジスタＴＲ１〜ＴＲ１３は、ドライバ回路１５から配線された各種信号線と、関連付けられたブロックＢＬＫの各種配線との間に接続されている。
【００５１】
具体的には、トランジスタＴＲ１の一端は、信号線ＳＧＳＤに接続され、トランジスタＴＲ１の他端は、選択ゲート線ＳＧＳに接続されている。トランジスタＴＲ２〜ＴＲ９の一端は、それぞれ信号線ＣＧ０〜ＣＧ７に接続され、トランジスタＴＲ２〜ＴＲ９の他端は、それぞれワード線ＷＬ０〜ＷＬ７の一端に接続されている。トランジスタＴＲ１０〜１３の一端は、信号線ＳＧＤＤ０〜ＳＧＤＤ３に接続され、トランジスタＴＲ１０〜１３の他端は、選択ゲート線ＳＧＤ０〜ＳＧＤ３に接続されている。
【００５２】
以上の構成により、ロウデコーダモジュール１６は、各種動作を実行するブロックＢＬＫを選択することが出来る。具体的には、各種動作時において選択及び非選択ブロックＢＬＫに対応するブロックデコーダＢＤが、それぞれ“Ｈ”レベル及び“Ｌ”レベルの電圧を転送ゲート線ＴＧに印加する。
【００５３】
例えば、ブロックＢＬＫ０が選択された場合、ロウデコーダＲＤ０に含まれたトランジスタＴＲ１〜ＴＲ１３がオン状態になり、その他のロウデコーダＲＤに含まれたトランジスタＴＲ１〜ＴＲ１３がオフ状態になる。つまり、ブロックＢＬＫ０に設けられた各種配線と、対応する信号線との間の電流経路が形成され、他のブロックＢＬＫに設けられた各種配線と、対応する信号線との間の電流経路が遮断される。その結果、ドライバ回路１５によって各信号線に印加された電圧が、ロウデコーダＲＤ０を介して選択されたブロックＢＬＫ０に設けられた各種配線にそれぞれ印加される。
【００５４】
［１−１−４］センスアンプモジュール１７の構成
図６は、第１実施形態におけるセンスアンプモジュール１７の構成の一例を示している。センスアンプモジュール１７は、図６に示すように、例えばセンスアンプユニットＳＡＵ０〜ＳＡＵｍを含んでいる。
【００５５】
センスアンプユニットＳＡＵ０〜ＳＡＵｍは、それぞれビット線ＢＬ０〜ＢＬｍにそれぞれ関連付けられている。各センスアンプユニットＳＡＵは、例えばセンスアンプ部ＳＡ、並びにラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、及びＸＤＬを含んでいる。センスアンプ部ＳＡ、並びにラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、及びＸＤＬは、互いにデータを送受信可能なように接続されている。
【００５６】
センスアンプ部ＳＡは、例えば読み出し動作において、対応するビット線ＢＬに読み出されたデータをセンスして、読み出したデータが“０”であるか“１”であるかを判定する。ラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、及びＸＤＬのそれぞれは、読み出しデータや書き込みデータ等を一時的に保持する。
【００５７】
また、ラッチ回路ＸＤＬは、図示されない入出力回路に接続され、センスアンプユニットＳＡＵと入出力回路との間のデータの入出力に使用される。つまり、ラッチ回路ＸＤＬは、例えば半導体メモリ１０のキャッシュメモリとして機能する。例えば、半導体メモリ１０は、ラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、及びＤＤＬが使用中であったとしても、ラッチ回路ＸＤＬが空いていればレディ状態になることが出来る。
【００５８】
図７は、１つのセンスアンプユニットＳＡＵの詳細な回路構成を抽出して示している。図７に示すように、センスアンプ部ＳＡは、例えばｐチャネルＭＯＳトランジスタ６０、ｎチャネルＭＯＳトランジスタ６１〜６８、及びキャパシタ６９を含んでいる。ラッチ回路ＡＤＬは、例えばインバータ７０及び７１、並びにｎチャネルＭＯＳトランジスタ７２及び７３を含んでいる。ラッチ回路ＢＤＬ、ＣＤＬ、ＤＤＬ、及びＸＤＬの回路構成は、例えばラッチ回路ＡＤＬの回路構成と同様となるため、説明を省略する。
【００５９】
トランジスタ６０の一端は電源線に接続され、トランジスタ６０のゲートはノードＩＮＶに接続されている。トランジスタ６０の一端に接続された電源線には、例えば半導体メモリ１０の電源電圧である電圧ＶＤＤが印加される。トランジスタ６１の一端はトランジスタ６０の他端に接続され、トランジスタ６１の他端はノードＣＯＭに接続され、トランジスタ６１のゲートには制御信号ＢＬＸが入力される。
【００６０】
トランジスタ６２の一端はノードＣＯＭに接続され、トランジスタ６２のゲートには制御信号ＢＬＣが入力される。トランジスタ６３は、例えば高耐圧のｎチャネルＭＯＳトランジスタであり、トランジスタ６３の一端はトランジスタ６２の他端に接続され、トランジスタ６３の他端は対応するビット線ＢＬに接続され、トランジスタ６３のゲートには制御信号ＢＬＳが入力される。
【００６１】
トランジスタ６４の一端はノードＣＯＭに接続され、トランジスタ６４の他端はノードＳＲＣに接続され、トランジスタ６４のゲートはノードＩＮＶに接続されている。ノードＳＲＣには、例えば半導体メモリ１０の接地電圧である電圧ＶＳＳが印加される。トランジスタ６５の一端はトランジスタ６０の他端に接続され、トランジスタ６５の他端はノードＳＥＮに接続され、トランジスタ６５のゲートには制御信号ＨＬＬが入力される。
【００６２】
トランジスタ６６の一端はノードＳＥＮに接続され、トランジスタ６６の他端はノードＣＯＭに接続され、トランジスタ６６のゲートには制御信号ＸＸＬが入力される。トランジスタ６７の一端は接地され、トランジスタ６７のゲートはノードＳＥＮに接続されている。
【００６３】
トランジスタ６８の一端はトランジスタ６７の他端に接続され、トランジスタ６８の他端はバスＬＢＵＳに接続され、トランジスタ６８のゲートには制御信号ＳＴＢが入力される。キャパシタ６９の一端はノードＳＥＮに接続され、キャパシタ６９の他端にはクロックＣＬＫが入力される。
【００６４】
インバータ７０の入力ノードはノードＬＡＴに接続され、インバータ７０の出力ノードはノードＩＮＶに接続されている。インバータ７１の入力ノードはノードＩＮＶに接続され、インバータ７１の出力ノードはノードＬＡＴに接続されている。
【００６５】
トランジスタ７２の一端はノードＩＮＶに接続され、トランジスタ７２の他端はバスＬＢＵＳに接続され、トランジスタ７２のゲートには制御信号ＳＴＩが入力される。トランジスタ７３の一端はノードＬＡＴに接続され、トランジスタ７３の他端はバスＬＢＵＳに接続され、トランジスタ７３のゲートには制御信号ＳＴＬが入力される。
【００６６】
以上で説明した制御信号ＢＬＸ、ＢＬＣ、ＢＬＳ、ＨＬＬ、ＸＸＬ、及びＳＴＢのそれぞれは、例えばシーケンサ１４によって生成される。センスアンプ部ＳＡがビット線ＢＬに読み出されたデータを判定するタイミングは、制御信号ＳＴＢがアサートされたタイミングに基づいている。
【００６７】
尚、第１実施形態におけるセンスアンプモジュール１７は、以上で説明した構成に限定されず、種々変更することが出来る。例えば、センスアンプユニットＳＡＵが備えるラッチ回路の個数は、適用される書き込み方式に基づいて適宜変更することが出来る。
【００６８】
［１−１−５］データの割り付けについて
図８は、メモリセルの書き込み方式にＱＬＣ（Quadruple-Level Cell）方式が適用された場合における、メモリセルトランジスタＭＴの閾値分布、データの割り付け、読み出し電圧、及びベリファイ電圧のそれぞれの一例を示している。
【００６９】
図８に示されたメモリセルトランジスタＭＴの閾値分布は、縦軸がメモリセルトランジスタＭＴの数に対応し、横軸がメモリセルトランジスタＭＴの閾値電圧Ｖｔｈに対応している。ＱＬＣ方式が適用された場合、メモリセルトランジスタＭＴの各々には４ビットデータが記憶され、メモリセルトランジスタＭＴの閾値分布は、図８に示すように１６個に分類される。
【００７０】
ＱＬＣ方式における１６個の閾値分布は、閾値電圧の低い方から順に、例えば“０”レベル、“１”レベル、“２”レベル、“３”レベル、“４”レベル、“５”レベル、“６”レベル、“７”レベル、“８”レベル、“９”レベル、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、“Ｄ”レベル、“Ｅ”レベル、“Ｆ”レベルと称される。例えば、これらの閾値分布には、それぞれ以下に示す４ビットデータが割り当てられる。
【００７１】
“０”レベル：“１１１１（Lowerビット／Middleビット／Upperビット／Topビット）”データ
“１”レベル：“０１１１”データ
“２”レベル：“０１０１”データ
“３”レベル：“０００１”データ
“４”レベル：“１００１”データ
“５”レベル：“１０００”データ
“６”レベル：“００００”データ
“７”レベル：“０１００”データ
“８”レベル：“０１１０”データ
“９”レベル：“００１０”データ
“Ａ”レベル：“００１１”データ
“Ｂ”レベル：“１０１１”データ
“Ｃ”レベル：“１０１０”データ
“Ｄ”レベル：“１１１０”データ
“Ｅ”レベル：“１１００”データ
“Ｆ”レベル：“１１０１”データ
以上で説明した閾値分布において、隣り合う閾値分布の間のそれぞれに読み出し電圧が設定される。例えば、読み出し電圧１Ｒは、“０”レベルにおける最大の閾値電圧と“１”レベルにおける最小の閾値電圧との間に設定される。読み出し電圧２Ｒは、“１”レベルにおける最大の閾値電圧と“２”レベルにおける最小の閾値電圧との間に設定される。読み出し電圧３Ｒ、４Ｒ、５Ｒ、６Ｒ、７Ｒ、８Ｒ、９Ｒ、ＡＲ、ＢＲ、ＣＲ、ＤＲ、ＥＲ、及びＦＲも、読み出し電圧１Ｒ及び２Ｒと同様に、隣り合う閾値分布の間に設定される。
【００７２】
例えば、ワード線ＷＬに読み出し電圧１Ｒが印加されると、“０”レベルに含まれるメモリセルトランジスタＭＴがオン状態になり、“１”レベル以上の閾値分布に含まれるメモリセルトランジスタがオフ状態になる。ワード線ＷＬに読み出し電圧２Ｒが印加されると、“１”レベル以下の閾値分布に含まれるメモリセルトランジスタＭＴがオン状態になり、“２”レベル以上の閾値分布に含まれるメモリセルトランジスタがオフ状態になる。
【００７３】
つまり、読み出し電圧１Ｒを用いた読み出し動作によって、センスアンプ部ＳＡは、メモリセルトランジスタＭＴの閾値電圧が“０”レベルの閾値分布に含まれるのか、“１”レベル以上の閾値分布に含まれるのかを判定する。読み出し電圧２Ｒを用いた読み出し動作によって、センスアンプ部ＳＡは、メモリセルトランジスタＭＴの閾値電圧が“１”レベルの閾値分布に含まれるのか、“２”レベル以上の閾値分布に含まれるのかを判定する。以下、同様である。
【００７４】
最も高いレベルの閾値分布における最大の閾値電圧よりも高い電圧に、読み出しパス電圧ＶＲＥＡＤが設定される。ワード線ＷＬに読み出しパス電圧ＶＲＥＡＤが印加されると、メモリセルトランジスタＭＴは記憶するデータに依らずにオン状態になる。
【００７５】
図８に示された電圧Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、Ｖ７、Ｖ８、Ｖ９、ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、及びＶＦは、それぞれ“０”レベル、“１”レベル、“２”レベル、“３”レベル、“４”レベル、“５”レベル、“６”レベル、“７”レベル、“８”レベル、“９”レベル、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、“Ｄ”レベル、“Ｅ”レベル、及び“Ｆ”レベルのプログラムに使用されるベリファイ電圧である。
【００７６】
書き込み動作において半導体メモリ１０は、あるデータを記憶させるメモリセルトランジスタＭＴの閾値電圧が当該データに対応するベリファイ電圧を超えたことを検知すると、当該メモリセルトランジスタＭＴのプログラムを完了する。
【００７７】
ベリファイ電圧Ｖ１は、“０”レベルにおける最大の閾値電圧と“１”レベルにおける最小の閾値電圧との間に設定され、“１”レベルの閾値分布の下裾近傍に位置する。ベリファイ電圧Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、Ｖ７、Ｖ８、Ｖ９、ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、及びＶＦのそれぞれについても同様に設定される。
【００７８】
以上で説明したデータの割り付けが適用された場合、Lowerビットで構成される１ページデータ（Lowerページデータ）は、読み出し電圧１Ｒ、４Ｒ、６Ｒ、及びＢＲのそれぞれを用いた読み出し結果によって確定する。Middleビットで構成される１ページデータ（Middleページデータ）は、読み出し電圧３Ｒ、７Ｒ、９Ｒ、及びＤＲのそれぞれを用いた読み出し結果によって確定する。Upperビットで構成される１ページデータ（Upperページデータ）は、読み出し電圧２Ｒ、８Ｒ、及びＥＲのそれぞれを用いた読み出し結果によって確定する。Topビットで構成される１ページデータ（Topページデータ）は、読み出し電圧５Ｒ、ＡＲ、ＣＲ、及びＦＲのそれぞれを用いた読み出し結果によって確定する。
【００７９】
このように、図８に示されたデータの割り付けは、Lowerページデータ、Middleページデータ、Upperページデータ、及びTopページデータがそれぞれ、４回、４回、３回、及び４回の読み出しによって確定することから、例えば“４−４−３−４コード”と称される。
【００８０】
［１−２］動作
第１実施形態に係るメモリシステム１の書き込み動作では、書き込み方式にＱＬＣ方式が適用される。そして、第１実施形態に係るメモリシステム１は、データの割り付けとして、例えば図８に示されたような４−４−３−４コードを使用する。
【００８１】
第１実施形態における半導体メモリ１０は、書き込み動作においてプログラムループを繰り返し実行する。プログラムループは、プログラム動作及びベリファイ動作を含んでいる。プログラム動作は、所望のメモリセルトランジスタＭＴの閾値電圧を上昇させる動作である。ベリファイ動作は、メモリセルトランジスタＭＴの閾値電圧が所望の電圧を超えたかどうかを判定する動作である。
【００８２】
また、第１実施形態における半導体メモリ１０は、メモリコントローラ２０の指示に基づいて、例えば１つのセルユニットＣＵに対する書き込み動作が完了した後に、書き込まれたデータが正しく読み出せるかどうかを確認する読み出し動作を実行する。以下では、この一連の動作のことを第１動作と称し、第１動作内で実行される読み出し動作のことを判定読み出しと称する。そしてメモリコントローラ２０は、この判定読み出しの結果に基づいて当該セルユニットＣＵの状態を判定し、判定結果（セル情報）をセル情報保持部２６に保持させる。
【００８３】
以下に、図９を用いて、第１実施形態に係るメモリシステム１における書き込み動作の詳細について説明する。図９は、第１実施形態に係るメモリシステム１における書き込み動作のフローチャートの一例を示している。
【００８４】
図９に示すように、まずメモリコントローラ２０が、ホストインターフェイス回路２１を介して、ホスト機器３０から書き込み動作の指示と書き込みデータとを受信する（ステップＳ１０）。受信した書き込みデータは、例えばバッファメモリ２４に保持される。そして、ＣＰＵ２２は、ホスト機器３０の指示に基づいて、半導体メモリ１０に４ページ単位の書き込み動作を指示する（ループＬＰ１）。
【００８５】
具体的には、ループＬＰ１においてメモリシステム１は、まず第１動作を実行する（ステップＳ１１）。図１０は、第１実施形態に係るメモリシステム１の第１動作のフローチャートの一例を示している。
【００８６】
図１０に示すように、まずメモリシステム１は、ＱＬＣ方式の書き込み動作を実行する（ステップＳ２０）。具体的には、メモリコントローラ２０が、書き込み動作を指示するコマンドＣＭＤと、データを記憶させるセルユニットＣＵを指定するアドレス情報ＡＤＤと、４ページの書き込みデータＤＡＴとのそれぞれを半導体メモリ１０に送信する。そして半導体メモリ１０は、受信したこれらのコマンドＣＭＤ、アドレス情報ＡＤＤ、及び書き込みデータＤＡＴに基づいて、対応するセルユニットＣＵに対して４−４−３−４コードを適用した４ページデータの書き込み動作を実行する。言い換えると、半導体メモリ１０は、１本のワード線ＷＬと、１つのストリングユニットＳＵとのそれぞれを選択した４ページデータの書き込み動作を実行する。
【００８７】
次に、メモリシステム１は、Lowerページ読み出しを実行する（ステップＳ２１）。具体的には、メモリコントローラ２０が、読み出し動作を指示するコマンドＣＭＤと、ステップＳ２０において書き込み動作を実行したセルユニットＣＵ内のLowerページを指定するアドレス情報ＡＤＤとを半導体メモリ１０に送信する。そして半導体メモリ１０は、受信したコマンドＣＭＤ及びアドレス情報ＡＤＤに基づいて、当該セルユニットＣＵのLowerページ読み出しを実行する。それから、読み出されたLowerページデータがメモリコントローラ２０に転送され、ＥＣＣ回路２５が当該Lowerページデータのエラー訂正を実行する。
【００８８】
読み出されたLowerページデータのエラー訂正が可能であった場合（ステップＳ２２、ＹＥＳ）、ＣＰＵ２２は当該ページをGoodページとして判定し、判定結果を当該Lowerページのアドレスに関連付けてセル情報保持部２６に保持させる（ステップＳ２３）。
【００８９】
一方で、読み出されたLowerページデータのエラー訂正に失敗した場合（ステップＳ２２、ＮＯ）、ＣＰＵ２２は当該ページをBadページとして判定し、判定結果を当該Lowerページのアドレスに関連付けてセル情報保持部２６に保持させる（ステップＳ２４）。
【００９０】
以下では、ＣＰＵ２２がGoodページとして判定した結果を、当該ページのアドレスに関連付けてセル情報保持部２６に保持させることを、Goodページとして登録すると称し、ＣＰＵ２２がGoodページとして判定した結果を、当該ページのアドレスに関連付けてセル情報保持部２６に保持させることを、Badページとして登録すると称する。
【００９１】
次に、メモリシステム１は、Middleページ読み出しを実行する（ステップＳ２５）。具体的には、メモリコントローラ２０が、読み出し動作を指示するコマンドＣＭＤと、ステップＳ２０において書き込み動作を実行したセルユニットＣＵ内のMiddleページを指定するアドレス情報ＡＤＤとを半導体メモリ１０に送信する。そして半導体メモリ１０は、受信したコマンドＣＭＤ及びアドレス情報ＡＤＤに基づいて、当該セルユニットＣＵのMiddleページ読み出しを実行する。それから、読み出されたMiddleページデータがメモリコントローラ２０に転送され、ＥＣＣ回路２５が当該Middleページデータのエラー訂正を実行する。
【００９２】
読み出されたMiddleページデータのエラー訂正が可能であった場合（ステップＳ２６、ＹＥＳ）、ＣＰＵ２２は当該ページをGoodページとして登録する（ステップＳ２７）。一方で、読み出されたMiddleページデータのエラー訂正に失敗した場合（ステップＳ２２、ＮＯ）、ＣＰＵ２２は当該ページをBadページとして登録する（ステップＳ２８）。
【００９３】
次に、メモリシステム１は、Upperページ読み出しを実行する（ステップＳ２９）。具体的には、メモリコントローラ２０が、読み出し動作を指示するコマンドＣＭＤと、ステップＳ２０において書き込み動作を実行したセルユニットＣＵ内のUpperページを指定するアドレス情報ＡＤＤとを半導体メモリ１０に送信する。そして半導体メモリ１０は、受信したコマンドＣＭＤ及びアドレス情報ＡＤＤに基づいて、当該セルユニットＣＵのUpperページ読み出しを実行する。それから、読み出されたUpperページデータがメモリコントローラ２０に転送され、ＥＣＣ回路２５が当該Upperページデータのエラー訂正を実行する。
【００９４】
読み出されたUpperページデータのエラー訂正が可能であった場合（ステップＳ３０、ＹＥＳ）、ＣＰＵ２２は当該ページをGoodページとして登録する（ステップＳ３１）。一方で、読み出されたUpperページデータのエラー訂正に失敗した場合（ステップＳ３０、ＮＯ）、ＣＰＵ２２は当該ページをBadページとして登録する（ステップＳ３２）。
【００９５】
次に、メモリシステム１は、Topページ読み出しを実行する（ステップＳ３３）。具体的には、メモリコントローラ２０が、読み出し動作を指示するコマンドＣＭＤと、ステップＳ２０において書き込み動作を実行したセルユニットＣＵ内のTopページを指定するアドレス情報ＡＤＤとを半導体メモリ１０に送信する。そして半導体メモリ１０は、受信したコマンドＣＭＤ及びアドレス情報ＡＤＤに基づいて、当該セルユニットＣＵのTopページ読み出しを実行する。それから、読み出されたTopページデータがメモリコントローラ２０に転送され、ＥＣＣ回路２５が当該Topページデータのエラー訂正を実行する。
【００９６】
読み出されたTopページデータのエラー訂正が可能であった場合（ステップＳ３４、ＹＥＳ）、ＣＰＵ２２は当該ページをGoodページとして登録する（ステップＳ３５）。一方で、読み出されたTopページデータのエラー訂正に失敗した場合（ステップＳ３４、ＮＯ）、ＣＰＵ２２は当該ページをBadページとして登録する（ステップＳ３６）。
【００９７】
メモリシステム１は、ステップＳ３５又はステップＳ３６の処理が完了すると、第１動作を終了して、図９に示されたステップＳ１２の動作に移行する。ステップＳ１２においてＣＰＵ２２は、ステップＳ１１の第１動作でBadページが検出されたかどうかを確認する。
【００９８】
Badページが検出されていた場合（ステップＳ１２、ＹＥＳ）、ＣＰＵ２２は、バッファメモリ２４に保持され、且つステップＳ１１においてエラー訂正に失敗したページに対応する書き込みデータを、次のセルユニットＣＵに対する書き込みデータに設定する（ステップＳ１３）。また、このときＣＰＵ２２は、バッファメモリ２４に対して、エラー訂正が可能であったページに対応するデータを破棄させる。
【００９９】
一方で、Badページが検出されなかった場合（ステップＳ１２、ＮＯ）、ＣＰＵ２２は、バッファメモリ２４に保持されている次の４ページの書き込みデータを、次のセルユニットＣＵに対する書き込みデータに設定する。
【０１００】
次に、ＣＰＵ２２は、以上で説明したステップＳ１１〜Ｓ１３の動作により、ホスト機器３０から受信した全ての書き込みデータの書き込みが完了したかどうかを確認する（ループＬＰ２）。
【０１０１】
ループＬＰ２において、ホスト機器３０から受信した全ての書き込みデータの書き込みが完了していない場合、ループＬＰ１に戻り、メモリシステム１は再びステップＳ１１の第１動作を実行する。
【０１０２】
一方で、ループＬＰ２において、ホスト機器３０から受信した全ての書き込みデータの書き込みが完了している場合、メモリシステム１は書き込み動作を終了する。
【０１０３】
以上で説明した動作は、書き込み対象のセルユニットＣＵのセル情報が、全てデフォルト状態（例えばＱＬＣセル）でセル情報保持部２６に登録されていた場合の動作に対応している。書き込み対象のセルユニットＣＵがBadページとして登録されているページを含む場合、メモリコントローラ２０は、例えばBadページに対応するページに無効なデータを挿入した状態でＱＬＣ方式の書き込み動作を実行しても良い。また、メモリコントローラ２０は、第１動作において、Badページとして把握しているページに対する判定読み出しを省略しても良い。
【０１０４】
［１−３］効果
以上で説明した第１実施形態に係るメモリシステム１に依れば、半導体メモリ１０の歩留まりを向上させることが出来る。以下に、第１実施形態に係るメモリシステム１の詳細な効果について説明する。
【０１０５】
メモリセルが３次元に積層された半導体メモリは、メモリセルの集積度が高いため、ブロックＢＬＫ単位の記憶容量が大きくなる。このような半導体メモリを含むメモリシステムでは、不良が発生したブロックＢＬＫをバッドブロックに設定した場合に、減少する記憶容量が大きくなる。この影響により、例えばメモリシステムの出荷前の検査工程において、メモリシステム全体でサポートする必要のある記憶容量を下回り、メモリシステムの歩留まりが低下する可能性がある。
【０１０６】
そこで、第１実施形態に係るメモリシステム１は、セルユニットＣＵ単位で記憶可能なデータ量を管理する。具体的には、第１実施形態に係るメモリシステム１は、ＱＬＣ方式の書き込み動作を実行し、１つのセルユニットＣＵに対して４ページデータを書き込む。その後にメモリシステム１は、直前に書き込んだ４ページデータに対してページ単位の読み出し動作を実行し、ページ毎にエラー訂正が出来るかどうかを判定する。そして、この判別結果が、メモリコントローラ２０内のセル情報保持部２６に保持される。
【０１０７】
このように、第１実施形態に係るメモリシステム１は、セルユニットＣＵ単位で利用可能な記憶容量を示すセル情報を保持している。このため、第１実施形態に係るメモリシステム１は、不良が発生したブロックＢＬＫをバッドブロックに設定すること無く、セルユニットＣＵ毎の能力に合わせてデータの記憶に使用することが出来る。
【０１０８】
これにより、第１実施形態に係るメモリシステム１は、不良の発生による記憶容量の低下を抑制することが出来る。従って、第１実施形態に係るメモリシステム１は、歩留まりを向上させることが出来、メモリシステム１の製造コストを抑制することが出来る。
【０１０９】
また、第１実施形態に係るメモリシステム１においてメモリコントローラ２０は、不良が発生して記憶容量が小さくなっているブロックＢＬＫに対してガベージコレクションを実行する際に、セル情報保持部２６内のセル情報を参照することによって当該ブロックＢＬＫの容量を確認することが出来る。
【０１１０】
これにより、第１実施形態に係るメモリシステム１は、ガベージコレクション実行時において必要な容量を正確に見積もることが出来るため、ブロックＢＬＫの利用効率を向上することが出来る。
【０１１１】
［２］第２実施形態
第２実施形態に係るメモリシステム１は、データの書き込み方式にＴＬＣ方式が適用され、その他は第１実施形態に係るメモリシステム１と同様の構成を有する。そして、第２実施形態に係るメモリシステム１は、書き込み動作において、ＴＬＣ方式が適用された第１動作を実行する。以下に、第２実施形態に係るメモリシステム１について、第１実施形態と異なる点を説明する。
【０１１２】
［２−１］データの割り付けについて
図１１は、メモリセルの書き込み方式にＴＬＣ（Triple-Level Cell）方式が適用された場合における、メモリセルトランジスタＭＴの閾値分布、データの割り付け、読み出し電圧、及びベリファイ電圧のそれぞれの一例を示している。
【０１１３】
図１１に示されたメモリセルトランジスタＭＴの閾値分布は、縦軸がメモリセルトランジスタＭＴの数に対応し、横軸がメモリセルトランジスタＭＴの閾値電圧Ｖｔｈに対応している。ＴＬＣ方式が適用された場合、メモリセルトランジスタＭＴの各々には３ビットデータが記憶され、メモリセルトランジスタＭＴの閾値分布は、図１１に示すように８個に分類される。
【０１１４】
ＴＬＣ方式における８個の閾値分布は、閾値電圧の低い方から順に、例えば“０”レベル、“１”レベル、“２”レベル、“３”レベル、“４”レベル、“５”レベル、“６”レベル、及び“７”レベルと称される。例えば、これらの閾値分布には、それぞれ以下に示す３ビットデータが割り当てられる。
【０１１５】
“０”レベル：“１１１（Lowerビット／Middleビット／Upperビット）”データ
“１”レベル：“０１１”データ
“２”レベル：“００１”データ
“３”レベル：“０００”データ
“４”レベル：“０１０”データ
“５”レベル：“１１０”データ
“６”レベル：“１００”データ
“７”レベル：“１０１”データ
以上で説明した閾値分布において、隣り合う閾値分布の間のそれぞれに読み出し電圧が設定される。例えば、読み出し電圧１Ｒは、“０”レベルにおける最大の閾値電圧と“１”レベルにおける最小の閾値電圧との間に設定される。読み出し電圧２Ｒは、“１”レベルにおける最大の閾値電圧と“２”レベルにおける最小の閾値電圧との間に設定される。読み出し電圧３Ｒ、４Ｒ、５Ｒ、６Ｒ、及び７Ｒも、読み出し電圧１Ｒ及び２Ｒと同様に、隣り合う閾値分布の間に設定される。最も高いレベルの閾値分布における最大の閾値電圧よりも高い電圧に、読み出しパス電圧ＶＲＥＡＤが設定される。
【０１１６】
図１１に示された電圧Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、及びＶ７は、それぞれ“０”レベル、“１”レベル、“２”レベル、“３”レベル、“４”レベル、“５”レベル、“６”レベル、及び“７”レベルのプログラムに使用されるベリファイ電圧である。ベリファイ電圧Ｖ１は、“０”レベルにおける最大の閾値電圧と“１”レベルにおける最小の閾値電圧との間に設定され、“１”レベルの閾値分布の下裾近傍に位置する。ベリファイ電圧Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、及びＶ７のそれぞれについても同様に設定される。
【０１１７】
以上で説明したデータの割り付けが適用された場合、Lowerページデータは、読み出し電圧１Ｒ及び５Ｒのそれぞれを用いた読み出し結果によって確定する。Middleページデータは、読み出し電圧２Ｒ、４Ｒ、及び６Ｒのそれぞれを用いた読み出し結果によって確定する。Upperページデータは、読み出し電圧３Ｒ及び７Ｒのそれぞれを用いた読み出し結果によって確定する。
【０１１８】
このように、図１１に示されたデータの割り付けは、Lowerページデータ、Middleページデータ、及びUpperページデータがそれぞれ、２回、３回、及び２回の読み出しによって確定することから、例えば“２−３−２コード”と称される。
【０１１９】
［２−２］動作
第２実施形態に係るメモリシステム１の書き込み動作では、書き込み方式にＴＬＣ方式が適用される。そして、第２実施形態に係るメモリシステム１は、データの割り付けとして、例えば図１１に示されたような２−３−２コードを使用する。
【０１２０】
第２実施形態に係るメモリシステム１の書き込み動作は、第１実施形態に係るメモリシステム１の書き込み動作に対して、第１動作の詳細が異なっている。図１２は、第２実施形態に係るメモリシステム１における第１動作のフローチャートの一例を示している。
【０１２１】
図１２に示すように、まずメモリシステム１は、ＴＬＣ方式の書き込み動作を実行する（ステップＳ４０）。具体的には、メモリコントローラ２０が、書き込み動作を指示するコマンドＣＭＤと、データを記憶させるセルユニットＣＵを指定するアドレス情報ＡＤＤと、３ページの書き込みデータＤＡＴとのそれぞれを半導体メモリ１０に送信する。そして半導体メモリ１０は、受信したこれらのコマンドＣＭＤ、アドレス情報ＡＤＤ、及び書き込みデータＤＡＴに基づいて、対応するセルユニットＣＵに対して２−３−２コードを適用した３ページデータの書き込み動作を実行する。言い換えると、半導体メモリ１０は、１本のワード線ＷＬと、１つのストリングユニットＳＵとのそれぞれを選択した３ページデータの書き込み動作を実行する。
【０１２２】
次に、メモリシステム１は、ステップＳ２１のLowerページ読み出しを実行する。読み出されたLowerページデータのエラー訂正が可能であった場合（ステップＳ２２、ＹＥＳ）、ＣＰＵ２２はステップＳ２３の処理を実行し、当該ページをGoodページとして登録する。一方で、読み出されたLowerページデータのエラー訂正に失敗した場合（ステップＳ２２、ＮＯ）、ＣＰＵ２２はステップＳ２４の処理を実行し、当該ページをBadページとして登録する。
【０１２３】
次に、メモリシステム１は、ステップＳ２５のMiddleページ読み出しを実行する。読み出されたMiddleページデータのエラー訂正が可能であった場合（ステップＳ２６、ＹＥＳ）、ＣＰＵ２２はステップＳ２７の処理を実行し、当該ページをGoodページとして登録する。一方で、読み出されたMiddleページデータのエラー訂正に失敗した場合（ステップＳ２６、ＮＯ）、ＣＰＵ２２はステップＳ２８の処理を実行し、当該ページをBadページとして登録する。
【０１２４】
次に、メモリシステム１は、ステップＳ２９のUpperページ読み出しを実行する。読み出されたUpperページデータのエラー訂正が可能であった場合（ステップＳ３０、ＹＥＳ）、ＣＰＵ２２はステップＳ３１の処理を実行し、当該ページをGoodページとして登録する。一方で、読み出されたUpperページデータのエラー訂正に失敗した場合（ステップＳ３０、ＮＯ）、ＣＰＵ２２はステップＳ３２の処理を実行し、当該ページをBadページとして登録する。
【０１２５】
メモリシステム１は、ステップＳ３１又はステップＳ３２の処理が完了すると、第１動作を終了して、例えば図９に示されたステップＳ１２の動作に移行する。第２実施形態に係るメモリシステム１の書き込み動作におけるその他の動作は、第１実施形態に係るメモリシステム１の書き込み動作と同様のため、説明を省略する。
【０１２６】
［２−３］効果
以上で説明した第２実施形態に係るメモリシステム１に依れば、第１実施形態に係るメモリシステム１と同様に、不良の発生による記憶容量の低下を抑制することが出来る。つまり、データの書き込み方式としてＴＬＣ方式が適用された場合においても、第１実施形態に係る半導体メモリ１と同様に歩留まりを向上させることが出来、メモリシステム１の製造コストを抑制することが出来る。
【０１２７】
このように、第１実施形態で説明した第１動作は、１つのメモリセルトランジスタＭＴに４ビット以外のデータを記憶した場合にも適用することが出来る。例えば、第１実施形態で説明した第１動作は、メモリセルトランジスタＭＴが１ビット、２ビット又は５ビット以上のデータを記憶する場合についても適用することが出来る。
【０１２８】
［３］第３実施形態
第３実施形態に係るメモリシステム１は、データの書き込み方式にＱＬＣ方式が適用され、第１実施形態と異なるデータの割り付けが適用される。第３実施形態に係るメモリシステム１のその他の構成は、第１実施形態に係るメモリシステム１と同様である。そして、第３実施形態に係るメモリシステム１は、書き込み動作において、第１動作と異なる第２動作を実行する。以下に、第３実施形態に係るメモリシステム１について、第１実施形態と異なる点を説明する。
【０１２９】
［３−１］データの割り付けについて
図１３は、メモリセルの書き込み方式にＱＬＣ（Quadruple-Level Cell）方式が適用された場合における、メモリセルトランジスタＭＴの閾値分布、データの割り付け、読み出し電圧、及びベリファイ電圧のそれぞれの一例を示し、第１実施形態で説明した図８に対してデータの割り付けが異なっている。
【０１３０】
図１３に示されたデータの割り付けでは、“０”レベル、“１”レベル、“２”レベル、“３”レベル、“４”レベル、“５”レベル、“６”レベル、“７”レベル、“８”レベル、“９”レベル、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、“Ｄ”レベル、“Ｅ”レベル、及び“Ｆ”レベルのそれぞれの閾値分布に対して、それぞれ以下に示す４ビットデータが割り当てられる。
【０１３１】
“０”レベル：“１１１１（Lowerビット／Middleビット／Upperビット／Topビット）”データ
“１”レベル：“１１１０”データ
“２”レベル：“１１００”データ
“３”レベル：“１１０１”データ
“４”レベル：“１００１”データ
“５”レベル：“１０００”データ
“６”レベル：“１０１０”データ
“７”レベル：“１０１１”データ
“８”レベル：“００１１”データ
“９”レベル：“００１０”データ
“Ａ”レベル：“００００”データ
“Ｂ”レベル：“０００１”データ
“Ｃ”レベル：“０１０１”データ
“Ｄ”レベル：“０１００”データ
“Ｅ”レベル：“０１１０”データ
“Ｆ”レベル：“０１１１”データ
以上で説明したデータの割り付けが適用された場合、Lowerページデータは、読み出し電圧９Ｒを用いた読み出し結果によって確定する。Middleページデータは、読み出し電圧４Ｒ及びＣＲのそれぞれを用いた読み出し結果によって確定する。Upperページデータは、読み出し電圧２Ｒ、６Ｒ、ＡＲ、及びＥＲのそれぞれを用いた読み出し結果によって確定する。Topページデータは、読み出し電圧１Ｒ、３Ｒ、５Ｒ、７Ｒ、９Ｒ、ＢＲ、ＤＲ、及びＦＲのそれぞれを用いた読み出し結果によって確定する。
【０１３２】
このように、図１３に示されたデータの割り付けは、Lowerページデータ、Middleページデータ、Upperページデータ、及びTopページデータがそれぞれ、１回、２回、４回、及び８回の読み出しによって確定することから、例えば“１−２−４−８コード”と称される。
【０１３３】
［３−２］動作
第３実施形態に係るメモリシステム１の書き込み動作では、書き込み方式にＱＬＣ方式が適用される。そして、第３実施形態に係るメモリシステム１は、データの割り付けとして、例えば図１３に示されたような１−２−４−８コードを使用する。
【０１３４】
第３実施形態における半導体メモリ１０は、メモリコントローラ２０の指示に基づいて、例えば１つのセルユニットＣＵに対する書き込み動作が完了した後に、下位ページから順に、どのページまで書き込まれたデータが正しく読み出せるかどうかを確認する読み出し動作を実行する。以下では、この一連の動作のことを第２動作と称し、第２動作内で実行される読み出し動作のことを判定読み出しと称する。そしてメモリコントローラ２０は、この判定読み出しの結果に基づいて当該セルユニットＣＵの状態を判定し、判定結果（セル情報）をセル情報保持部２６に保持させる。
【０１３５】
図１４は、第３実施形態に係るメモリシステム１の書き込み動作におけるフローチャートの一例を示し、第１実施形態で説明した図８に対して、ループＬＰ１〜ＬＰ２内の動作が異なっている。
【０１３６】
具体的には、ループＬＰ１においてメモリシステム１は、まず第２動作を実行する（ステップＳ５０）。図１５は、第３実施形態に係るメモリシステム１における第２動作のフローチャートの一例を示している。
【０１３７】
図１５に示すように、まずメモリシステム１は、ＱＬＣ方式の書き込み動作を実行する（ステップＳ６０）。具体的には、メモリコントローラ２０が、書き込み動作を指示するコマンドＣＭＤと、データを記憶させるセルユニットＣＵを指定するアドレス情報ＡＤＤと、４ページの書き込みデータＤＡＴとのそれぞれを半導体メモリ１０に送信する。そして半導体メモリ１０は、受信したこれらのコマンドＣＭＤ、アドレス情報ＡＤＤ、及び書き込みデータＤＡＴに基づいて、対応するセルユニットＣＵに対して１−２−４−８コードを適用した４ページの書き込み動作を実行する。言い換えると、半導体メモリ１０は、１本のワード線ＷＬと、１つのストリングユニットＳＵとのそれぞれを選択した４ページデータの書き込み動作を実行する。
【０１３８】
次に、メモリシステム１は、Lowerページ読み出しを実行する（ステップＳ６１）。Lowerページ読み出しの詳細は第１実施形態で説明したステップＳ２１と同様であり、読み出されたLowerページデータがメモリコントローラ２０に転送され、ＥＣＣ回路２５が当該Lowerページデータのエラー訂正を実行する。
【０１３９】
読み出されたLowerページデータのエラー訂正に失敗した場合（ステップＳ６２、ＮＯ）、ＣＰＵ２２は当該ページをＢＡＤセルとして判定し、判定結果を当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させる（ステップＳ５３）。
【０１４０】
一方で、読み出されたLowerページデータのエラー訂正が可能であった場合（ステップＳ６２、ＹＥＳ）、メモリシステム１は、Middleページ読み出しを実行する（ステップＳ６４）。Middleページ読み出しの詳細は第１実施形態で説明したステップＳ２５と同様であり、読み出されたMiddleページデータがメモリコントローラ２０に転送され、ＥＣＣ回路２５が当該Middleページデータのエラー訂正を実行する。
【０１４１】
読み出されたMiddleページデータのエラー訂正に失敗した場合（ステップＳ６５、ＮＯ）、ＣＰＵ２２は当該セルユニットＣＵをＳＬＣセルとして判定し、判定結果を当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させる（ステップＳ６６）。
【０１４２】
一方で、読み出されたMiddleページデータのエラー訂正が可能であった場合（ステップＳ６５、ＹＥＳ）、メモリシステム１は、Upperページ読み出しを実行する（ステップＳ６７）。Upperページ読み出しの詳細は第１実施形態で説明したステップＳ２９と同様であり、読み出されたUpperページデータがメモリコントローラ２０に転送され、ＥＣＣ回路２５が当該Upperページデータのエラー訂正を実行する。
【０１４３】
読み出されたUpperページデータのエラー訂正に失敗した場合（ステップＳ６８、ＮＯ）、ＣＰＵ２２は当該セルユニットＣＵをＭＬＣセルとして判定し、判定結果を当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させる（ステップＳ６９）。
【０１４４】
一方で、読み出されたUpperページデータのエラー訂正が可能であった場合（ステップＳ６８、ＹＥＳ）、メモリシステム１は、Topページ読み出しを実行する（ステップＳ７０）。Topページ読み出しの詳細は第１実施形態で説明したステップＳ３５と同様であり、読み出されたTopページデータがメモリコントローラ２０に転送され、ＥＣＣ回路２５が当該Topページデータのエラー訂正を実行する。
【０１４５】
読み出されたTopページデータのエラー訂正に失敗した場合（ステップＳ７１、ＮＯ）、ＣＰＵ２２は当該セルユニットＣＵをＴＬＣセルとして判定し、判定結果を当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させる（ステップＳ７２）。
【０１４６】
一方で、読み出されたTopページデータのエラー訂正が可能であった場合（ステップＳ７１、ＹＥＳ）、ＣＰＵ２２は当該セルユニットＣＵをＱＬＣセルとして判定し、判定結果を当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させる（ステップＳ７３）。
【０１４７】
尚、以下では、ＣＰＵ２２がＢＡＤセルとして判定した結果を、当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させることを、ＢＡＤセルとして登録すると称する。ＣＰＵ２２がＳＬＣセルとして判定した結果を、当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させることを、ＳＬＣセルとして登録すると称する。ＣＰＵ２２がＭＬＣセルとして判定した結果を、当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させることを、ＭＬＣセルとして登録すると称する。ＣＰＵ２２がＴＬＣセルとして判定した結果を、当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させることを、ＴＬＣセルとして登録すると称する。ＣＰＵ２２がＱＬＣセルとして判定した結果を、当該セルユニットＣＵのアドレスに関連付けてセル情報保持部２６に保持させることを、ＱＬＣセルとして登録すると称する。
【０１４８】
メモリシステム１は、ステップＳ６３、ステップＳ６６、ステップＳ６９、ステップＳ７２、又はステップＳ７３の処理が完了すると、第２動作を終了して、図１４に示されたステップＳ５１の動作に移行する。ステップＳ５１においてＣＰＵ２２は、ステップＳ５０の第２動作によって登録されたセル情報を確認する。
【０１４９】
当該セルユニットＣＵがＢＡＤセル、ＳＬＣセル、ＭＬＣセル、及びＴＬＣセルのいずれかとして登録された場合（ステップＳ５１、ＹＥＳ）、ＣＰＵ２２は、ステップＳ５０においてBadページに対応する書き込みデータを、次のセルユニットＣＵに対する書き込みデータに設定する（ステップＳ５２）。
【０１５０】
第３実施形態において、Badページに対応する書き込みデータとは、当該セルユニットＣＵがＢＡＤセルとして登録された場合、Lower、Middle、Upper、及びTopビットを含む４ページデータに対応し、当該セルユニットＣＵがＳＬＣセルとして登録された場合、Middle、Upper、及びTopビットを含む３ページデータに対応し、当該セルユニットＣＵがＭＬＣセルとして登録された場合、Upper及びTopビットを含む２ページデータに対応し、当該セルユニットＣＵがＴＬＣセルとして登録された場合、Topビットを含む１ページデータに対応する。
【０１５１】
一方で、Badページが検出されなかった場合（ステップＳ５１、ＮＯ）、ＣＰＵ２２は、バッファメモリ２４に保持されている次の４ページの書き込みデータを、次のセルユニットＣＵに対する書き込みデータに設定する。
【０１５２】
次に、ＣＰＵ２２は、以上で説明したステップＳ５０〜Ｓ５２の動作により、ホスト機器３０から受信した全ての書き込みデータの書き込みが完了したかどうかを確認する（ループＬＰ２）。
【０１５３】
ループＬＰ２において、ホスト機器３０から受信した全ての書き込みデータの書き込みが完了していない場合、ループＬＰ１に戻り、メモリシステム１は再びステップＳ５０の第２動作を実行する。
【０１５４】
一方で、ループＬＰ２において、ホスト機器３０から受信した全ての書き込みデータの書き込みが完了している場合、メモリシステム１は書き込み動作を終了する。
【０１５５】
以上で説明した動作は、書き込み対象のセルユニットＣＵのセル情報が、全てデフォルト状態（例えばＱＬＣセル）としてセル情報保持部２６に登録されていた場合の動作に対応している。書き込み対象のセルユニットＣＵがＢＡＤセルに対応する場合、メモリコントローラ２０は、当該セルユニットＣＵをスキップして次のセルユニットＣＵを選択した第２動作を実行しても良い。
【０１５６】
また、メモリコントローラ２０は、書き込み対象のセルユニットＣＵがＳＬＣセル、ＭＬＣセル、及びＴＬＣセルに対応する場合、それぞれ１ページデータ、２ページデータ、３ページデータの書き込みデータに対し、無効なデータを追加することにより、ＱＬＣ方式の書き込み動作を実行しても良い。メモリコントローラ２０は、書き込み対象のセルユニットＣＵがＳＬＣセル、ＭＬＣセル、及びＴＬＣセルに対応する場合、それぞれＳＬＣ方式、ＭＬＣ方式、及びＴＬＣ方式を適用して書き込み動作を実行しても良い。第３実施形態に係るメモリシステム１の書き込み動作におけるその他の動作は、第１実施形態に係るメモリシステム１の書き込み動作と同様のため、説明を省略する。
【０１５７】
［３−３］効果
以上で説明した第３実施形態に係るメモリシステム１に依れば、第１実施形態に係るメモリシステム１と同様に、不良の発生による記憶容量の低下を抑制することが出来る。つまり、第１実施形態に係る半導体メモリ１と同様に歩留まりを向上させることが出来、メモリシステム１の製造コストを抑制することが出来る。
【０１５８】
また、第３実施形態に係るメモリシステム１では、データの割り付けとして１−２−４−８コードが適用されている。データの割り付けとして１−２−４−８コードが適用された場合、エラーの発生確率は、Lowerページ、Middleページ、Upperページ、Topページの順に高くなる。
【０１５９】
つまり、１−２−４−８コードが適用された場合にメモリコントローラ２０は、下位のページから順に判定読み出しを実行してエラー訂正が不可能なページが検出された時点で、当該ページよりも上位のページをエラー訂正が不可能であるとみなすことが出来る。
【０１６０】
これにより、第３実施形態に係るメモリシステム１は、セルユニットＣＵの記憶能力の判定に要する時間を第１実施形態よりも短縮することが出来る。従って、第３実施形態に係るメモリシステム１は、検査工程に要する時間を短縮することが出来、メモリシステム１の製造コストを抑制することが出来る。
【０１６１】
［４］第４実施形態
第４実施形態に係るメモリシステム１は、データの書き込み方式にＴＬＣ方式が適用され、第２実施形態と異なるデータの割り付けが適用される。第４実施形態に係るメモリシステム１のその他の構成は、第１実施形態に係るメモリシステム１と同様である。そして、第４実施形態に係るメモリシステム１は、書き込み動作において、ＴＬＣ方式が適用された第２動作を実行する。以下に、第４実施形態に係るメモリシステム１について、第１及び第２実施形態と異なる点を説明する。
【０１６２】
［４−１］データの割り付けについて
図１６は、メモリセルの書き込み方式にＴＬＣ（Triple-Level Cell）方式が適用された場合における、メモリセルトランジスタＭＴの閾値分布、データの割り付け、読み出し電圧、及びベリファイ電圧のそれぞれの一例を示し、第２実施形態で説明した図１１に対してデータの割り付けが異なっている。
【０１６３】
図１６に示されたデータの割り付けでは、“０”レベル、“１”レベル、“２”レベル、“３”レベル、“４”レベル、“５”レベル、“６”レベル、及び“７”レベルのそれぞれの閾値分布に対して、それぞれ以下に示す３ビットデータが割り当てられる。
【０１６４】
“０”レベル：“１１１（Lowerビット／Middleビット／Upperビット）”データ
“１”レベル：“１１０”データ
“２”レベル：“１００”データ
“３”レベル：“１０１”データ
“４”レベル：“００１”データ
“５”レベル：“０００”データ
“６”レベル：“０１０”データ
“７”レベル：“０１１”データ
以上で説明したデータの割り付けが適用された場合、Lowerページデータは、読み出し電圧４Ｒを用いた読み出し結果によって確定する。Middleページデータは、読み出し電圧２Ｒ及び６Ｒのそれぞれを用いた読み出し結果によって確定する。Upperページデータは、読み出し電圧１Ｒ、３Ｒ、５Ｒ、及び７Ｒのそれぞれを用いた読み出し結果によって確定する。
【０１６５】
このように、図１６に示されたデータの割り付けは、Lowerページデータ、Middleページデータ、及びUpperページデータがそれぞれ、１回、２回、及び４回の読み出しによって確定することから、例えば“１−２−４コード”と称される。
【０１６６】
［４−２］動作
第４実施形態に係るメモリシステム１の書き込み動作では、書き込み方式にＴＬＣ方式が適用される。そして、第４実施形態に係るメモリシステム１は、データの割り付けとして、例えば図１６に示されたような１−２−４コードを使用する。
【０１６７】
第４実施形態に係るメモリシステム１の書き込み動作は、第３実施形態に係るメモリシステム１の書き込み動作に対して、第２動作の詳細が異なっている。図１７は、第４実施形態に係るメモリシステム１における第２動作のフローチャートの一例を示している。
【０１６８】
図１７に示すように、まずメモリシステム１は、ＴＬＣ方式の書き込み動作を実行する（ステップＳ８０）。具体的には、メモリコントローラ２０が、書き込み動作を指示するコマンドＣＭＤと、データを記憶させるセルユニットＣＵを指定するアドレス情報ＡＤＤと、３ページの書き込みデータＤＡＴとのそれぞれを半導体メモリ１０に送信する。そして半導体メモリ１０は、受信したこれらのコマンドＣＭＤ、アドレス情報ＡＤＤ、及び書き込みデータＤＡＴに基づいて、対応するセルユニットＣＵに対して１−２−４コードを適用した３ページの書き込み動作を実行する。言い換えると、半導体メモリ１０は、１本のワード線ＷＬと、１つのストリングユニットＳＵとのそれぞれを選択した３ページデータの書き込み動作を実行する。
【０１６９】
次に、メモリシステム１は、ステップＳ６１のLowerページ読み出しを実行する。読み出されたLowerページデータのエラー訂正に失敗した場合（ステップＳ６２、ＮＯ）、ＣＰＵ２２はステップＳ６３の処理を実行し、当該セルユニットＣＵをＢＡＤセルとして登録する。一方で、読み出されたLowerページデータのエラー訂正が可能であった場合（ステップＳ６２、ＹＥＳ）、メモリシステム１は、ステップＳ６４のMiddleページ読み出しを実行する。
【０１７０】
読み出されたMiddleページデータのエラー訂正に失敗した場合（ステップＳ６５、ＮＯ）、ＣＰＵ２２はステップＳ６６の処理を実行し、当該セルユニットＣＵをＳＬＣセルとして登録する。一方で、読み出されたMiddleページデータのエラー訂正が可能であった場合（ステップＳ６５、ＹＥＳ）、メモリシステム１は、ステップＳ６７のUpperページ読み出しを実行する。
【０１７１】
読み出されたUpperページデータのエラー訂正に失敗した場合（ステップＳ６８、ＮＯ）、ＣＰＵ２２はステップＳ６９の処理を実行し、当該セルユニットＣＵをＭＬＣセルとして登録する。一方で、読み出されたUpperページデータのエラー訂正が可能であった場合（ステップＳ６８、ＹＥＳ）、ＣＰＵ２２はステップＳ７２の処理を実行し、当該セルユニットＣＵをＴＬＣセルとして登録する。
【０１７２】
メモリシステム１は、ステップＳ６３、ステップＳ６６、ステップＳ６９、又はステップＳ７２の処理が完了すると、第２動作を終了して、例えば図１４に示されたステップＳ５１の動作に移行する。第４実施形態に係るメモリシステム１の書き込み動作におけるその他の動作は、第３実施形態に係るメモリシステム１の書き込み動作と同様のため、説明を省略する。
【０１７３】
［４−３］効果
以上で説明した第４実施形態に係るメモリシステム１に依れば、第３実施形態に係るメモリシステム１と同様に、不良の発生による記憶容量の低下を抑制することが出来る。つまり、データの書き込み方式としてＴＬＣ方式が適用された場合においても、第３実施形態に係る半導体メモリ１と同様に歩留まりを向上させることが出来、メモリシステム１の製造コストを抑制することが出来る。
【０１７４】
このように、第３実施形態で説明した第２動作は、１つのメモリセルトランジスタＭＴに４ビット以外のデータを記憶した場合にも適用することが出来る。例えば、第３実施形態で説明した第２動作は、メモリセルトランジスタＭＴが１ビット、２ビット又は５ビット以上のデータを記憶する場合についても適用することが出来る。
【０１７５】
［５］第５実施形態
第５実施形態に係るメモリシステム１の構成は、第１実施形態に係るメモリシステム１の構成と同様である。そして、第５実施形態に係るメモリシステム１は、通常動作時において、特定の条件を満たした場合に、第１実施形態で説明したループＬＰ１〜ＬＰ２に対応する書き込み動作を実行する。以下に、第５実施形態に係るメモリシステム１について、第１実施形態と異なる点を説明する。
【０１７６】
［５−１］動作
第５実施形態に係るメモリシステム１は、ホスト機器３０から書き込み動作の指示と書き込みデータとを受信すると、書き込み先のブロックＢＬＫにおけるＷ／Ｅ回数を確認する。そして、第５実施形態に係るメモリシステム１は、Ｗ／Ｅ回数に基づいて、例えば第１実施形態で説明したループＬＰ１〜ＬＰ２に対応する書き込み動作を実行するか否かを判定する。
【０１７７】
図１８は、第５実施形態に係るメモリシステム１の書き込み動作におけるフローチャートの一例を示している。尚、以下で説明される書き込み動作は、例えばブロックＢＬＫ単位で行われるものとする。
【０１７８】
図１８に示すように、まずメモリコントローラ２０が、ホスト機器３０から書き込み動作の指示と書き込みデータとを受信する（ステップＳ１０）。すると、ＣＰＵ２２は、例えばＲＡＭ２３を参照して、書き込み先のブロックＢＬＫのＷ／Ｅ回数を確認する（ステップＳ８０）。
【０１７９】
書き込み先のブロックＢＬＫのＷ／Ｅ回数が所定の回数以上であった場合（ステップＳ８１、ＹＥＳ）、ＣＰＵ２２は、例えば第１実施形態で説明されたループＬＰ１〜ＬＰ２に対応する書き込み動作を実行する。ループＬＰ１〜ＬＰ２において実行される書き込み動作は適宜変更が可能であり、第２〜第４実施形態で説明された書き込み動作を適用することも可能である。
【０１８０】
一方で、書き込み先のブロックＢＬＫのＷ／Ｅ回数が所定の回数未満であった場合（ステップＳ８１、ＮＯ）、ＣＰＵ２２は、例えば通常の書き込み動作を実行する（ステップＳ８２）。ここで、通常の書き込み動作とは、例えば第１実施形態で図８を用いて説明したステップＳ２０におけるＱＬＣ書き込み動作に対応している。つまり、通常の書き込み動作では、メモリセルトランジスタＭＴの閾値電圧が所望の閾値電圧に達した後の判定読み出しが実行されない。
【０１８１】
ループＬＰ１〜ＬＰ２に対応する書き込み動作、又はステップＳ８２における通常の書き込み動作によって１ＢＬＫの書き込み動作が完了すると、メモリシステム１は当該書き込み動作を終了する。メモリシステム１は、ホスト機器３０から受信した書き込みデータが１ＢＬＫを超える場合には、ステップＳ８０に戻り、続けて書き込み動作を実行する。
【０１８２】
［５−２］効果
以上で説明した第５実施形態に係るメモリシステム１に依れば、ユーザが当該メモリシステム１を使用している期間における記憶容量の低下を抑制することが出来る。以下に、第５実施形態における効果の詳細について説明する。
【０１８３】
メモリセルトランジスタＭＴは、Ｗ／Ｅ回数が多くなると、データの保持特性が劣化する傾向がある。データの保持特性が劣化したメモリセルトランジスタＭＴを含むセルユニットＣＵに記憶されたデータが、例えばＥＣＣ回路２５によるエラー訂正が不可能な状態になった場合、例えば当該ブロックＢＬＫがバッドブロックに設定され、当該ブロックＢＬＫに含まれたデータが他のブロックＢＬＫに待避される。
【０１８４】
これに対して、第５実施形態に係るメモリシステム１は、後天的に発生したエラー訂正が不可能なページを含むブロックＢＬＫに対して、エラー訂正が不可能なページを含むセルユニットＣＵの記憶容量を減らす、又は当該セルユニットＣＵのみを使用不可にすることにより、記憶容量の低下を抑制している。
【０１８５】
その結果、第５実施形態に係るメモリシステム１は、長期間の使用に伴うメモリシステム１全体の記憶容量の低下を抑制することが出来る。従って、第５実施形態に係るメモリシステム１は、不良を検出した時点でバッドブロックに登録する場合よりも、製品の寿命を延ばすことが出来る。
【０１８６】
尚、図１８を用いて説明したステップＳ８１におけるＷ／Ｅ回数の閾値は、任意の値に設定することが可能である。例えば、ユーザは、メモリシステム１の信頼性を優先したい場合に閾値を小さい値に設定し、メモリシステム１の記憶容量を優先したい場合に閾値を大きい値に設定することが考えられる。
【０１８７】
［６］第６実施形態
第６実施形態に係るメモリシステム１は、温度計をさらに含み、その他の構成は第１実施形態に係るメモリシステム１の構成と同様である。そして、第６実施形態に係るメモリシステム１は、通常動作時において、温度計の計測結果に基づいて、第１実施形態で説明したループＬＰ１〜ＬＰ２に対応する書き込み動作を実行する。以下に、第６実施形態に係るメモリシステム１について、第１実施形態と異なる点を説明する。
【０１８８】
［６−１］メモリコントローラ２０の構成
図１９は、第６実施形態に係るメモリシステム１の構成例を示している。第６実施形態におけるメモリコントローラ２０は、図１９に示すように、温度計２８をさらに含んでいる。温度計２８は、メモリシステム１の温度を適宜測定する。温度の測定結果は、例えばＣＰＵ２２によって参照される。
【０１８９】
尚、第６実施形態に係るメモリシステム１では、メモリコントローラ２０が温度計２８を含む場合を例に用いて説明するが、温度計２８の設置場所はこれに限定されない。例えば、温度計２８は、メモリコントローラ２０に含まれていなくても良く、メモリコントローラ２０に外部接続されていても良い。この場合、温度計２８は、例えばメモリコントローラ２０のチップ表面や、半導体メモリ１０のチップ表面や、メモリシステム１を構成する基板の表面等に設置される。
【０１９０】
［６−２］動作
第６実施形態に係るメモリシステム１は、ホスト機器３０から書き込み動作の指示と書き込みデータとを受信すると、温度計２８の測定温度を確認する。そして、第６実施形態に係るメモリシステム１は、温度計２８の測定結果に基づいて、例えば第１実施形態で説明したループＬＰ１〜ＬＰ２に対応する書き込み動作を実行するか否かを判定する。
【０１９１】
図２０は、第６実施形態に係るメモリシステム１の書き込み動作におけるフローチャートの一例を示し、第５実施形態で説明した図１８におけるステップＳ８０及びステップＳ８１が、それぞれステップＳ９０及びステップＳ９１に置き換えられている。
【０１９２】
具体的には、ステップＳ９０においてＣＰＵ２２は、温度計２８を参照してメモリシステム１の温度を確認する。
【０１９３】
メモリシステム１の温度が所定の温度以上であった場合（ステップＳ９１、ＹＥＳ）、ＣＰＵ２２は、例えば第１実施形態で説明されたループＬＰ１〜ＬＰ２に対応する書き込み動作を実行する。ループＬＰ１〜ＬＰ２において実行される書き込み動作は適宜変更が可能であり、第２〜第４実施形態で説明された書き込み動作を適用することも可能である。
【０１９４】
一方で、メモリシステム１の温度が所定の温度未満であった場合（ステップＳ９１、ＮＯ）、ＣＰＵ２２は、例えば通常の書き込み動作を実行する（ステップＳ８２）。第６実施形態に係るメモリシステム１の書き込み動作におけるその他の動作は、第５実施形態に係るメモリシステム１の書き込み動作と同様のため、説明を省略する。
【０１９５】
尚、第６実施形態に係るメモリシステム１では、ステップＳ９０における温度確認が、ブロックＢＬＫ毎に実行されても良いし、ホスト機器３０から連続的に受信した書き込みデータに対する初回の書き込み動作でのみ実行されても良い。初回の書き込み動作のみ温度確認が実行される場合、初回の書き込み動作の設定が、後続の書き込み動作に対して適用される。
【０１９６】
また、第６実施形態においてメモリコントローラ２０は、温度状態に基づいてループＬＰ１〜ＬＰ２に対応する書き込み動作を実行する場合に、判定読み出しの結果をセル情報保持部２６に反映しても良いし、反映しなくても良い。
【０１９７】
［６−３］効果
以上で説明した第６実施形態に係るメモリシステム１に依れば、メモリシステム１に記憶されたデータの信頼性を向上させることが出来る。以下に、第６実施形態における効果の詳細について説明する。
【０１９８】
メモリセルトランジスタＭＴは、メモリシステム１の温度が高い場合、書き込み動作による閾値電圧の変動量が変化する場合がある。例えば、メモリシステム１が高温状態の時に書き込まれたデータは、所望の閾値分布よりも分布が広がる可能性があり、正しくデータを読み出すことが出来なくなる可能性がある。
【０１９９】
これに対して、第６実施形態に係るメモリシステム１は、書き込み動作時において温度計２８を参照し、温度状態に基づいて判定読み出しを含む書き込み動作を実行するのか、又は通常の書き込み動作を実行するのかを判断する。
【０２００】
その結果、第６実施形態に係るメモリシステム１は、温度状態に起因した書き込み動作直後の閾値分布のずれにより、エラー訂正が不可能となってしまう書き込みデータを救済することが出来る。従って、第６実施形態に係るメモリシステム１は、例えば高温状態においてもエラー訂正が可能な状態でデータを書き込むことが出来るため、メモリシステム１に記憶されたデータの信頼性を向上させることが出来る。
【０２０１】
［７］変形例等
実施形態のメモリシステム＜図１、１＞は、半導体メモリ＜図１、１０＞と、メモリコントローラ＜図１、２０＞とを含む。半導体メモリは、複数の第１メモリセル＜図２、ＭＴ＞と、複数の第１メモリセルのそれぞれに接続された第１ワード線＜図２、ＷＬ＞と、を含む。メモリコントローラは、半導体メモリを制御する。メモリコントローラは、外部から書き込みデータを受信すると、書き込みデータに基づいた第１の複数ページデータの書き込みを半導体メモリに指示する＜図１０、Ｓ２０＞。半導体メモリは、第１の複数ページデータを複数の第１メモリセルに書き込み、第１の複数ページデータを複数の第１メモリセルに書き込んだ後に、複数の第１メモリセルに書き込まれたページデータを読み出す＜図１０、Ｓ２１＞。メモリコントローラは、複数の第１メモリセルから読み出されたページデータが所定の条件を満たしているかどうかを判定し＜図１０、Ｓ２２＞、第１の複数ページデータのうち所定の条件を満たしたページデータに対応するページデータの書き込みを前記半導体メモリに指示する＜図９、Ｓ１３＞。これにより、メモリシステムの歩留まりを向上させることが出来る。
【０２０２】
第１及び第２実施形態のそれぞれにおいて、説明に使用されたデータの割り付けはあくまで一例であり、第１及び第２実施形態のそれぞれは、その他のデータの割り付けを適用することも可能である。第１及び第２実施形態のそれぞれは、その他のデータの割り付けが適用された場合においても、同様の効果を得ることが出来る。
【０２０３】
第１及び第２実施形態のそれぞれで説明された第１動作において、判定読み出しが実行される順番は、任意の順番に設定することが出来る。つまり、第１及び第２実施形態のそれぞれにおいてメモリコントローラ２０は、必ずしも下位のページから順に判定読み出しを実行しなくても良い。
【０２０４】
第１及び第２実施形態において、図９に示されたステップＳ１０でホスト機器３０から受信する書き込み動作の指示は、第１動作の実行の指示を含んでいても良い。同様に、第３及び第４実施形態において、図１４に示されたステップＳ１０でホスト機器３０から受信する書き込み動作の指示は、第２動作の実行の指示を含んでいても良い。
【０２０５】
また、第１及び第２実施形態における第１動作と、第３及び第４実施形態における第２動作とにおいて、メモリコントローラ２０は、ホスト機器３０の命令に依らずに判定読み出しを実行することも出来る。つまり、メモリコントローラ２０は、ホスト機器３０から通常の書き込み動作の指示を受信したことに応答して、第１動作に対応する書き込み動作と書き込み動作後の読み出し動作とを半導体メモリ１０に指示することも出来る。
【０２０６】
この場合、メモリシステム１は、書き込み動作の指示を受信した場合に、逐次第１動作又は第２動作を含む書き込み動作を実行する。メモリコントローラ２０は、書き込み動作の指示を受信した場合に第１〜第４実施形態で説明した動作を実行するか否かを決定するパラメータを、例えばＲＡＭ２３に保持していても良い。このパラメータは、ホスト機器３０の指示によって変更することが可能なように構成されても良い。
【０２０７】
上記実施形態では、エラー訂正が可能かどうかによってセル情報記憶部２６に保持されたセル情報を更新する場合を例に説明したが、これに限定されない。例えば、メモリシステム１は、あるページに対する判定読み出しにおいてエラー訂正が可能であっても、当該ページにおけるエラービット数が所定のビット数を超えた場合に、ＣＰＵ２２が上記実施形態においてエラー訂正が失敗した場合と同様の処理を実行しても良い。
【０２０８】
上記実施形態において、メモリコントローラ２０は、ブロックＢＬＫ内の記憶容量が所定の値を下回った場合に、当該ブロックＢＬＫをバッドブロックに設定しても良い。これにより、メモリシステム１は、劣化の大きいブロックＢＬＫに対する読み出し動作で再読み出しが頻発することを抑制することが出来、読み出し速度の低下を抑制することが出来る。
【０２０９】
上記実施形態では、メモリコントローラ２０が、１つのセルユニットＣＵに対して任意のページ数のデータを書き込んだ直後に判定読み出しを実行した場合を例に説明したが、これに限定されない。メモリコントローラ２０内でホスト機器３０から受信した書き込みデータを保持することが可能な記憶領域が大きい場合には、例えば複数のセルユニットＣＵ単位で第１動作又は第２動作が実行されても良いし、ブロックＢＬＫ単位で第１動作又は第２動作が実行されても良い。
【０２１０】
上記実施形態では、メモリコントローラ２０が、１つの半導体メモリ１０を制御する場合を例に説明したが、これに限定されない。図２１は、第１実施形態の変形例に係るメモリシステム１の構成例を示している。図２１に示すように、メモリシステム１が例えば４つの半導体メモリ１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄを備え、メモリコントローラ２０が半導体メモリ１０Ａ、１０Ｂ、１０Ｃ、及び１０Ｄのそれぞれを制御しても良い。つまり、メモリシステム１に含まれる半導体メモリ１０の数は、任意の数に設計することが可能であり、メモリコントローラ２０は、複数の半導体メモリ１０のそれぞれを制御するように構成されても良い。このような場合においても、メモリコントローラ２０は、接続された複数の半導体メモリ１０に対して、上記実施形態で説明した動作を実行することが出来る。
【０２１１】
上記実施形態における書き込み動作及び読み出し動作のそれぞれにおいて、各種配線に印加される電圧は、例えばドライバ回路１５がロウデコーダモジュール１６に電圧を供給する信号線の電圧と同様の電圧となる。つまり、各種配線に印加される電圧や電圧が印加されている期間は、対応する信号線の電圧を調べることにより大まかに知ることが出来る。ドライバ回路１５に接続された各信号線の電圧から選択ゲート線及びワード線等の電圧を見積もる場合には、ロウデコーダＲＤに含まれたトランジスタＴＲによる電圧降下を考慮しても良い。この場合、選択ゲート線、及びワード線のそれぞれの電圧は、それぞれ対応する信号線に印加されている電圧よりもトランジスタＴＲの電圧降下の分だけ低くなる。
【０２１２】
本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。また、本明細書において“オフ状態”とは、対応するトランジスタのゲートに当該トランジスタの閾値電圧未満の電圧が印加されていることを示し、例えばトランジスタのリーク電流のような微少な電流が流れることを除外しない。
【０２１３】
尚、上記各実施形態において、  
（１）読み出し動作では、“Ａ”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば０〜０.５５Ｖの間である。これに限定されることなく、０.１〜０.２４Ｖ、０.２１〜０.３１Ｖ、０.３１〜０.４Ｖ、０.４〜０.５Ｖ、０.５〜０.５５Ｖのいずれかの間にしても良い。  
“Ｂ”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば１.５〜２.３Ｖの間である。これに限定されることなく、１.６５〜１.８Ｖ、１.８〜１.９５Ｖ、１.９５〜２.１Ｖ、２.１〜２.３Ｖのいずれかの間にしても良い。  
“Ｃ”レベルの読み出し動作で選択されたワード線に印加される電圧は、例えば３.０Ｖ〜４.０Ｖの間である。これに限定されることなく、３.０〜３.２Ｖ、３.２〜３.４Ｖ、３.４〜３.５Ｖ、３.５〜３.６Ｖ、３.６〜４.０Ｖのいずれかの間にしても良い。  
読み出し動作の時間（ｔRead）としては、例えば２５〜３８μs、３８〜７０μs、７０〜８０μsの間にしても良い。
【０２１４】
（２）書き込み動作は、上述した通りプログラム動作とベリファイ動作とを含む。プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば１３.７〜１４.３Ｖの間である。これに限定されることなく、例えば１３.７〜１４.０Ｖ、１４.０〜１４.６Ｖのいずれかの間にしても良い。プログラム動作時に非選択のワード線に印加される電圧としては、例えば６.０〜７.３Ｖの間としても良い。この場合に限定されることなく、例えば７.３〜８.４Ｖの間としても良く、６.０Ｖ以下としても良い。  
書き込み動作において、奇数番目のワード線を選択した際に、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を選択した際に、選択されたワード線に最初に印加される電圧とは、異なっていても良い。書き込み動作において、非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えても良い。  
プログラム動作をＩＳＰＰ方式（Incremental Step Pulse Program）とした場合における、プログラム電圧のステップアップ幅としては、例えば０.５Ｖ程度が挙げられる。  
書き込み動作の時間（ｔProg）としては、例えば１７００〜１８００μs、１８００〜１９００μs、１９００〜２０００μsの間にしても良い。
【０２１５】
（３）消去動作では、半導体基板上部に形成され、且つ上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば１２.０〜１３.６Ｖの間である。この場合に限定されることなく、例えば１３.６〜１４.８Ｖ、１４.８〜１９.０Ｖ、１９.０〜１９.８Ｖ、１９.８〜２１.０Ｖの間であっても良い。  
消去動作の時間（ｔErase）としては、例えば３０００〜４０００μs、４０００〜５０００μs、４０００〜９０００μsの間にしても良い。
【０２１６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１７】
１…メモリシステム、１０…半導体メモリ、１１…メモリセルアレイ、１２…コマンドレジスタ、１３…アドレスレジスタ、１４…シーケンサ、１５…ドライバ回路、１６…ロウデコーダモジュール、１７…センスアンプモジュール、２０…メモリコントローラ、２１…ホストインターフェイス回路、２２…ＣＰＵ、２３…ＲＡＭ、２４…バッファメモリ、２５…ＥＣＣ回路、２６…セル情報保持部、２７…ＮＡＮＤインターフェイス回路、２８…温度計、３０…ホスト機器、ＢＬ…ビット線、ＷＬ…ワード線、ＳＧＤ，ＳＧＳ…選択ゲート線、ＢＬＫ…ブロック、ＳＵ…ストリングユニット、ＲＤ…ロウデコーダ、ＳＡＵ…センスアンプユニット、ＭＴ…メモリセルトランジスタ、ＳＴ…選択トランジスタ
【図１】
2019139824.tif 000003
【図２】
2019139824.tif 000004
【図３】
2019139824.tif 000005
【図４】
2019139824.tif 000006
【図５】
2019139824.tif 000007
【図６】
2019139824.tif 000008
【図７】
2019139824.tif 000009
【図８】
2019139824.tif 000010
【図９】
2019139824.tif 000011
【図１０】
2019139824.tif 000012
【図１１】
2019139824.tif 000013
【図１２】
2019139824.tif 000014
【図１３】
2019139824.tif 000015
【図１４】
2019139824.tif 000016
【図１５】
2019139824.tif 000017
【図１６】
2019139824.tif 000018
【図１７】
2019139824.tif 000019
【図１８】
2019139824.tif 000020
【図１９】
2019139824.tif 000021
【図２０】
2019139824.tif 000022
【図２１】
2019139824.tif 000023