(57)【要約】【課題】チップ面積の増加を抑制する。【解決手段】実施形態によれば、メモリシステムは、４ビットデータを保持可能なメモリセルＭＴを含むメモリセルアレイ１１を有する半導体記憶装置１０と、４ビットデータに基づく第１書き込み動作及び第２書き込み動作を制御するコントローラ２０とを含む。コントローラ２０は、４ビットデータを２ビットデータに変換する変換回路２７を含む。半導体記憶装置１０は、変換された２ビットデータと第１書き込み動作によりメモリセルに書き込まれたデータとに基づいて４ビットデータを復元する復元制御回路１９を含む。第１書き込み動作はコントローラ２０から受信した４ビットデータに基づいて実行され、第２書き込み動作は復元制御回路１９により復元された４ビットデータに基づいて実行される。【選択図】図１１
2020024774.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも４ビットデータを保持可能なメモリセルを含むメモリセルアレイを有する半導体記憶装置と、
前記半導体記憶装置における前記４ビットデータに基づく第１書き込み動作及び第２書き込み動作を制御するコントローラと
を備え、前記コントローラは、前記４ビットデータを２ビットデータに変換する変換回路を含み、
前記半導体記憶装置は、変換された前記２ビットデータと、前記第１書き込み動作により前記メモリセルに書き込まれたデータとに基づいて前記４ビットデータを復元する復元制御回路を含み、
前記第１書き込み動作は、前記コントローラから受信した前記４ビットデータに基づいて実行され、
前記第２書き込み動作は、前記復元制御回路により復元された前記４ビットデータに基づいて実行される、
メモリシステム。
【請求項２】
前記半導体記憶装置は、前記コントローラから前記第２書き込み動作の実行を指示されると、前記メモリセルの読み出し動作と、前記４ビットデータの復元動作と、前記第２書き込み動作とを順に実行する、
請求項１記載のメモリシステム。
【請求項３】
前記メモリセルの閾値電圧は、前記４ビットデータに対応する複数の閾値分布のいずれかに含まれ、
前記複数の閾値分布に対する前記２ビットデータの割り付けは、隣り合う閾値分布において１ビット違いにされる、
請求項１または２記載のメモリシステム。
【請求項４】
少なくとも４ビットデータを保持可能な第１メモリセルを含む第１メモリ領域と、少なくとも１ビットデータを保持可能な複数の第２メモリセルを含む第２メモリ領域とを有する半導体記憶装置と、
前記半導体記憶装置における前記４ビットデータに基づく第１書き込み動作及び第２書き込み動作を制御するコントローラと
を備え、前記コントローラは、前記４ビットデータを２ビットデータに変換する変換回路を含み、
前記半導体記憶装置は、変換された前記２ビットデータと、前記第１書き込み動作により前記第１メモリセルに書き込まれたデータとに基づいて前記４ビットデータを復元する復元制御回路を含み、
前記コントローラが電源遮断を検知すると、前記変換回路は、前記第１書き込み動作に用いられた前記４ビットデータを前記２ビットデータに変換し、
前記コントローラは、前記２ビットデータの各々を前記複数の第２メモリセルの異なる第２メモリセルに書き込むように前記半導体記憶装置に指示する、
メモリシステム。
【請求項５】
電源復旧後、前記コントローラは、前記第２メモリ領域に書き込まれた前記２ビットデータの読み出し動作と、前記４ビットデータの復元動作と、前記第２書き込み動作とを前記半導体記憶装置に指示する、
請求項４記載のメモリシステム。
【請求項６】
前記第１メモリセルの閾値電圧は、前記４ビットデータに対応する複数の閾値分布のいずれかに含まれ、
前記複数の閾値分布に対する前記２ビットデータの割り付けは、隣り合う閾値分布において１ビット違いにされる、
請求項４または５記載のメモリシステム。
【請求項７】
少なくとも４ビットデータを保持可能な第１メモリセルを含むメモリセルアレイと、
前記４ビットデータを変換して生成された２ビットデータと前記第１メモリセルに書き込まれたデータとに基づいて前記４ビットデータを復元可能な変換回路と、
を備え、前記第１メモリセルへの前記４ビットデータの書き込み動作は、第１書き込み動作及び第２書き込み動作を含み
前記第１書き込み動作は、外部から受信した前記４ビットデータに基づいて実行され、
前記第２書き込み動作は、前記変換回路により復元された前記４ビットデータに基づいて実行される、
半導体記憶装置。
【請求項８】
前記第１書き込み動作後、前記変換回路は前記４ビットデータを前記２ビットデータに変換し、変換された前記２ビットデータは前記外部に出力され、
前記第２書き込み動作前に、前記変換回路は、前記外部から受信した前記２ビットデータと、前記第１メモリセルから読み出された前記データとに基づいて前記４ビットデータを復元する、
請求項７記載の半導体記憶装置。
【請求項９】
前記メモリセルアレイは、少なくとも１ビットデータを保持可能な複数の第２メモリセルを更に含み、
前記２ビットデータの各々は、前記複数の第２メモリセルの異なる第２メモリセルに書き込まれ、
前記変換回路は、前記第２書き込み動作前に、前記複数の第２メモリセルから読み出された前記２ビットデータと、前記第１メモリセルから読み出された前記データとに基づいて前記４ビットデータを復元する、
請求項７記載の半導体記憶装置。
【請求項１０】
メモリセルに４ビットデータを書き込む第１書き込み動作を実行する工程と、
前記４ビットデータを２ビットデータに変換する工程と、
前記メモリセルから前記第１書き込み動作により書き込まれたデータを読み出す工程と、
前記２ビットデータと前記メモリセルから読み出された前記データとに基づいて前記４ビットデータを復元する工程と、
復元された前記４ビットデータに基づいて前記メモリセルに第２書き込み動作を実行する工程と
を備える、メモリシステムの書き込み方法。
【請求項１１】
半導体基板と、
直列接続された複数の第１メモリセルを含む第１メモリストリングを含む第１ブロックと、
前記複数の第１メモリセルにそれぞれ接続された複数の第１ワード線と、
前記半導体基板に形成された第１ウェル領域上に設けられ且つ前記複数の第１ワード線がそれぞれ接続された複数の第１トランジスタを含む第１ロウデコーダと
を備え、前記第１ブロックの消去動作において、第１ウェル領域に負電圧の第１電圧が印加され、前記複数のワード線に負電圧であり且つ前記第１電圧以上の第２電圧が印加される、
半導体記憶装置。
【請求項１２】
直列接続された複数の第２メモリセルを含む第２メモリストリングを含む第２ブロックと、
前記複数の第２メモリセルにそれぞれ接続された複数の第２ワード線と、
前記半導体基板に形成された第２ウェル領域上に設けられ且つ前記複数の第２ワード線がそれぞれ接続された複数の第２トランジスタを含む第２ロウデコーダと
を更に備え
前記第１ブロックの前記消去動作において、第２ウェル領域に前記第１電圧よりも高い第３電圧が印加される、
請求項１１記載の半導体記憶装置。
【請求項１３】
前記第１ブロックの読み出し動作において、第１ウェル領域に負電圧の第４電圧が印加され、前記複数のワード線のいずれか１つに、負電圧であり且つ前記第４電圧以上の第５電圧が印加される、
請求項１１または１２記載の半導体記憶装置。
【請求項１４】
前記第１ブロックの書き込み動作において、第１ウェル領域に負電圧の第６電圧が印加される、
請求項１１乃至１３のいずれか一項記載の半導体記憶装置。
【請求項１５】
半導体基板と、
直列接続された複数のメモリセルを含むメモリストリングを含むメモリセルアレイと、
前記複数のメモリセルにそれぞれ接続された複数のワード線と、
前記メモリストリングに接続されたビット線と、
前記半導体基板に形成された第１ウェル領域上に設けられ且つ前記ビット線に接続された第１トランジスタを含むセンスアンプと
を備え、書き込み動作において、前記第１ウェル領域に負電圧の第１電圧が印加され、
前記複数のメモリセルのいずれか１つに書き込みを行う場合、前記ビット線に負電圧であり且つ前記第１電圧以上の第２電圧が印加され、
前記複数のメモリセルのいずれか１つに非書き込みを行う場合、前記ビット線に前記第２電圧よりも高い第３電圧が印加される、
半導体記憶装置。
【請求項１６】
前記書き込み動作は、プログラム動作とプログラムベリファイ動作とを含むプログラムループを繰り返し、プログラムループ回数が、第１設定回数未満の場合、前記第１ウェル領域に前記第１電圧よりも高い第４電圧が印加され、前記第１設定回数以上の場合、前記第１ウェル領域に前記第１電圧が印加される、
請求項１５記載の半導体記憶装置。
【請求項１７】
前記書き込み動作は、プログラム動作とプログラムベリファイ動作とを含むプログラムループを繰り返し、プログラムループ回数が、第１設定回数未満の場合、前記第１ウェル領域に前記第１電圧よりも高い第４電圧が印加され、前記第１設定回数以上の場合、前記第１ウェル領域の電圧は、前記プログラムループを繰り返す度に前記第４電圧からステップダウンされる、
請求項１５記載の半導体記憶装置。
【請求項１８】
前記半導体基板に形成された第２ウェル領域上に設けられ且つ前記複数のワード線にそれぞれ接続された複数の第２トランジスタを含むロウデコーダを更に備え、
読み出し動作において、前記第２ウェル領域に負電圧の第５電圧が印加される、
請求項１５乃至１７のいずれか一項記載の半導体記憶装置。
【請求項１９】
前記半導体基板に形成された第２ウェル領域上に設けられ且つ前記複数のワード線にそれぞれ接続された複数の第２トランジスタを含むロウデコーダを更に備え、
前記書き込み動作において、前記第２ウェル領域に負電圧の第５電圧が印加される、
請求項１５乃至１７のいずれか一項記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置、メモリシステム、及び書き込み方法に関する。
【背景技術】
【０００２】
半導体記憶装置として、ＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第８４８２９７６号明細書
【特許文献２】特許第４９２８７５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
チップ面積の増大を抑制できる半導体記憶装置、メモリシステム、及び書き込み方法を提供する。
【課題を解決するための手段】
【０００５】
実施形態に係るメモリシステムは、少なくとも４ビットデータを保持可能なメモリセルを含むメモリセルアレイを有する半導体記憶装置と、半導体記憶装置における４ビットデータに基づく第１書き込み動作及び第２書き込み動作を制御するコントローラとを含む。コントローラは、４ビットデータを２ビットデータに変換する変換回路を含む。半導体記憶装置は、変換された２ビットデータと、第１書き込み動作によりメモリセルに書き込まれたデータとに基づいて４ビットデータを復元する復元制御回路を含む。第１書き込み動作は、コントローラから受信した４ビットデータに基づいて実行され、第２書き込み動作は、復元制御回路により復元された４ビットデータに基づいて実行される。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るメモリシステムのブロック図である。
【図２】図２は、第１実施形態に係る半導体記憶装置におけるメモリセルアレイの回路図である。
【図３】図３は、第１実施形態に係る半導体記憶装置におけるメモリセルトランジスタのデータ割り付け、閾値分布、及び読み出しレベルを示す図である。
【図４】図４は、第１実施形態に係る半導体記憶装置における第１書き込み動作によるメモリセルトランジスタの閾値分布の変化を示す図である。
【図５】図５は、第１実施形態に係る半導体記憶装置における第２書き込み動作によるメモリセルトランジスタの閾値分布の変化を示す図である。
【図６】図６は、第１実施形態に係るメモリシステムにおけるＬｏｗｅｒビット、Ｍｉｄｄｌｅビット、Ｕｐｐｅｒビット、及びＴｏｐビットからなる４ビットデータからＸ１ビット及びＸ２ビットからなる２ビットデータへの変換を示す図である。
【図７】図７は、第１実施形態に係るメモリシステムにおいて、“０”レベル、“４”レベル、“８”レベル、及び“Ｃ”レベルに対応する２ビットデータと内部読み出しデータとから４ビットデータを復元する場合を示す図である。
【図８】図８は、第１実施形態に係るメモリシステムにおいて、“１”レベル、“５”レベル、“９”レベル、及び“Ｄ”レベルに対応する２ビットデータと内部読み出しデータとから４ビットデータを復元する場合を示す図である。
【図９】図９は、第１実施形態に係るメモリシステムにおいて、“２”レベル、“６”レベル、“Ａ”レベル、及び“Ｅ”レベルに対応する２ビットデータと内部読み出しデータとから４ビットデータを復元する場合を示す図である。
【図１０】図１０は、第１実施形態に係るメモリシステムにおいて、“３”レベル、“７”レベル、“Ｂ”レベル、及び“Ｆ”レベルに対応する２ビットデータと内部読み出しデータとから４ビットデータを復元する場合を示す図である。
【図１１】図１１は、第１実施形態に係るメモリシステムにおける書き込み動作のフローチャートである。
【図１２】図１２は、第１実施形態に係るメモリシステムにおける第１書き込み動作のコマンドシーケンスを示す図である。
【図１３】図１３は、第１実施形態に係るメモリシステムにおける第１例の第２書き込み動作のコマンドシーケンスを示す図である。
【図１４】図１４は、第１実施形態に係るメモリシステムにおける第２例の第２書き込み動作のコマンドシーケンスを示す図である。
【図１５】図１５は、第１実施形態に係る半導体記憶装置におけるデータ書き込み順序を示す図である。
【図１６】図１６は、第１実施形態に係るメモリシステムにおけるデータの書き込み順序を示す書き込み動作のフローチャートである。
【図１７】図１７は、第１実施形態に係るメモリシステムにおけるデータの書き込み順序を示す書き込み動作のフローチャートである。
【図１８】図１８は、第２実施形態に係るメモリシステムの備えるＲＡＭのブロック図である。
【図１９】図１９は、第２実施形態に係るメモリシステムにおける通常状態の書き込み動作のフローチャートである。
【図２０】図２０は、第２実施形態に係るメモリシステムにおける通常状態の第２書き込み動作のコマンドシーケンスを示す図である。
【図２１】図２１は、第２実施形態に係るメモリシステムにおけるデータの書き込み順序を示す通常状態の書き込み動作のフローチャートである。
【図２２】図２２は、第２実施形態に係るメモリシステムにおけるデータの書き込み順序を示す通常状態の書き込み動作のフローチャートである。
【図２３】図２３は、第２実施形態に係るメモリシステムにおける電源遮断時の全体の流れを示すフローチャートである。
【図２４】図２４は、第２実施形態に係るメモリシステムにおける電源遮断時のＳＬＣ書き込み動作のコマンドシーケンスを示す図である。
【図２５】図２５は、第２実施形態に係るメモリシステムにおける第１例の電源復旧時の全体の流れを示すフローチャートである。
【図２６】図２６は、第２実施形態に係るメモリシステムにおける第１例の電源復旧時の流れにおいて、第１例のＳＬＣ読み出し動作及び第２書き込み動作のコマンドシーケンスを示す図である。
【図２７】図２７は、第２実施形態に係るメモリシステムにおける第１例の電源復旧時の流れにおいて、第２例のＳＬＣ読み出し動作及び第２書き込み動作のコマンドシーケンスを示す図である。
【図２８】図２８は、第２実施形態に係るメモリシステムにおける第２例の電源復旧時の全体の流れを示すフローチャートである。
【図２９】図２９は、第２実施形態に係るメモリシステムにおける第２例の電源復旧時の流れにおいて、第１例のＳＬＣ読み出し動作及び第２書き込み動作のコマンドシーケンスを示す図である。
【図３０】図３０は、第２実施形態に係るメモリシステムにおける第２例の電源復旧時の流れにおいて、第２例のＳＬＣ読み出し動作及び第２書き込み動作のコマンドシーケンスを示す図である。
【図３１】図３１は、第２実施形態に係るメモリシステムにおけるデータの書き込み順序を示す電源遮断時のＳＬＣ書き込み動作のフローチャートである。
【図３２】図３２は、第３実施形態に係る半導体記憶装置におけるデータ書き込み順序を示す図である。
【図３３】図３３は、第４実施形態に係るメモリシステムのブロック図である。
【図３４】図３４は、第４実施形態の第１例に係るメモリシステムにおける書き込み動作のフローチャートである。
【図３５】図３５は、第４実施形態の第１例に係るメモリシステムにおける第１例の書き込み動作のコマンドシーケンスを示す図である。
【図３６】図３６は、第４実施形態の第１例に係るメモリシステムにおける第２例の書き込み動作のコマンドシーケンスを示す図である。
【図３７】図３７は、第４実施形態の第２例に係るメモリシステムにおける書き込み動作のフローチャートである。
【図３８】図３８は、第４実施形態の第２例に係るメモリシステムにおける書き込み動作のコマンドシーケンスを示す図である。
【図３９】図３９は、第４実施形態の第３例に係るメモリシステムにおける書き込み動作のコマンドシーケンスを示す図である。
【図４０】図４０は、第４実施形態の第３例に係るメモリシステムにおける書き込み動作のコマンドシーケンスを示す図である。
【図４１】図４１は、第５実施形態に係る半導体記憶装置におけるメモリセルアレイのブロック図である。
【図４２】図４２は、第５実施形態に係る半導体記憶装置における２回の書き込み動作に対応するＳＬＣ書き込み動作における書き込みデータの閾値分布を示す図である。
【図４３】図４３は、第５実施形態に係る半導体記憶装置において、２回の書き込み動作に対応するデータ書き込み順序の第１例を示す図である。
【図４４】図４４は、第５実施形態に係る半導体記憶装置において、２回の書き込み動作に対応するデータ書き込み順序の第２例を示す図である。
【図４５】図４５は、第５実施形態に係る半導体記憶装置における２回の書き込み動作に対応するＳＬＣ読み出し動作を示すフローチャートである。
【図４６】図４６は、第５実施形態の第１例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ書き込み動作において１回目〜４回目の書き込み動作における書き込みデータの閾値分布を示す図である。
【図４７】図４７は、第５実施形態の第１例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ書き込み動作において１回目〜４回目の書き込み動作におけるフラグセルの閾値分布を示す図である。
【図４８】図４８は、第５実施形態の第１例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ読み出し動作のフローチャートである。
【図４９】図４９は、第５実施形態の第２例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ書き込み動作において１回目〜４回目の書き込み動作におけるフラグセルの閾値分布を示す図である。
【図５０】図５０は、第５実施形態の第２例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ読み出し動作のフローチャートである。
【図５１】図５１は、第５実施形態の第３例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ書き込み動作において１回目〜４回目の書き込み動作におけるＢフラグセルの閾値分布を示す図である。
【図５２】図５２は、第５実施形態の第３例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ書き込み動作において１回目〜４回目の書き込み動作におけるＣフラグセルの閾値分布を示す図である。
【図５３】図５３は、第５実施形態の第３例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ書き込み動作において１回目〜４回目の書き込み動作におけるＤフラグセルの閾値分布を示す図である。
【図５４】図５４は、第５実施形態の第３例に係る半導体記憶装置における４回の書き込み動作に対応するＳＬＣ読み出し動作のフローチャートである。
【図５５】図５５は、第６実施形態に係る半導体記憶装置におけるメモリセルアレイの回路図である。
【図５６】図５６は、第６実施形態に係る半導体記憶装置におけるロウデコーダの回路図である。
【図５７】図５７は、第６実施形態に係る半導体記憶装置におけるブロックデコーダの回路図である。
【図５８】図５８は、第６実施形態に係る半導体記憶装置におけるセンスアンプのブロック図である。
【図５９】図５９は、第６実施形態に係る半導体記憶装置におけるセンスアンプ部の回路図である。
【図６０】図６０は、第６実施形態に係る半導体記憶装置の断面図である。
【図６１】図６１は、第６実施形態に係る半導体記憶装置における消去動作、書き込み動作、及び読み出し動作時のＰウェル及びＮウェルの電圧を示すテーブルである。
【図６２】図６２は、第６実施形態に係る半導体記憶装置におけるメモリセルトランジスタの閾値分布、読み出しレベル、及びベリファイレベルを示す図である。
【図６３】図６３は、第６実施形態に係る半導体記憶装置における読み出し動作時の各配線の電圧を示すタイミングチャートである。
【図６４】図６４は、第６実施形態に係る半導体記憶装置における消去パルス印加動作時の各配線の電圧を示すタイミングチャートである。
【図６５】図６５は、第６実施形態に係る半導体記憶装置における通常動作モード時の各配線の電圧を示すタイミングチャートである。
【図６６】図６６は、第６実施形態に係る半導体記憶装置における負電圧動作モード時の各配線の電圧を示すタイミングチャートである。
【図６７】図６７は、第６実施形態に係る半導体記憶装置における第１例の書き込み動作の流れを示すフローチャートである。
【図６８】図６８は、第６実施形態に係る半導体記憶装置における第１例の書き込み動作において選択ワード線の電圧、ビット線電圧、入力データ、及びレディビジー信号を示すタイミングチャートである。
【図６９】図６９は、第６実施形態に係る半導体記憶装置における第２例の書き込み動作の流れを示すフローチャートである。
【図７０】図７０は、第６実施形態に係る半導体記憶装置における第２例の書き込み動作において選択ワード線の電圧、ビット線電圧、入力データ、及びレディビジー信号を示すタイミングチャートである。
【発明を実施するための形態】
【０００７】
以下、実施形態につき図面を参照して説明する。この説明に際し、略同一の機能及び構成を有する構成要素については、同一符号を付す。また、以下に示す各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【０００８】
１．第１実施形態
第１実施形態に係る半導体記憶装置について説明する。以下では半導体記憶装置として、メモリセルトランジスタが半導体基板上方に積層された三次元積層型ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【０００９】
１．１  構成
１．１．１  メモリシステムの構成
まず、メモリシステム１の全体構成について、図１を用いて説明する。なお、図１の例では、各ブロックの接続の一部を矢印線により示しているが、各ブロック間の接続はこれに限定されない。
【００１０】
図１に示すように、メモリシステム１は、ＮＡＮＤ型フラッシュメモリ１０（以下、メモリ１０と表記する）及びコントローラ２０を含み、外部のホスト機器３０に接続される。
【００１１】
コントローラ２０は、ホスト機器３０からの要求（命令）に応答して、メモリ１０に対してデータの読み出し動作、書き込み動作、及び消去動作等を命令する。また、コントローラ２０は、メモリ１０のメモリ空間を管理する。
【００１２】
コントローラ２０は、ホストインターフェイス回路２１、内蔵メモリ（ＲＡＭ）２２、プロセッサ（ＣＰＵ；central processing unit）２３、バッファメモリ２４、ＥＣＣ回路２５、ＮＡＮＤインターフェイス回路２６、及びデータ変換回路２７を含む。
【００１３】
ホストインターフェイス回路２１は、ホストバスによってホスト機器３０と接続され、ホスト機器３０との通信を司る。例えば、ホストインターフェイス回路２１は、ホスト機器３０から受信した命令及びデータをそれぞれ、ＣＰＵ２３及びバッファメモリ２４に転送する。またホストインターフェイス回路２１は、ＣＰＵ２３の命令に応答して、バッファメモリ２４内のデータをホスト機器３０に転送する。
【００１４】
ＲＡＭ２２は、例えば、ＤＲＡＭ等の半導体メモリであり、メモリ１０を管理するためのファームウェアや、各種の管理テーブル等を保持する。また、ＲＡＭ２２は、ＣＰＵ２３の作業領域として使用される。より具体的には、例えば、ＲＡＭ２２は、ページクラスタＣＬ０〜ＣＬ（ｋ−１）（ｋは２以上の整数）を備える。ページクラスタＣＬの個数は、メモリ１０におけるデータの書き込み順序等に応じて任意に設定可能である。以下、本実施形態では、８個のページクラスタＣＬ０〜ＣＬ７が設けられている場合について説明する。また、ページクラスタＣＬの各々は、例えば、領域ＰＧ０及びＰＧ１を含む。領域ＰＧは、各々が１ページデータを保持することが可能である。”ページ”の定義については後述する。つまり、１つのページクラスタＣＬが２ページデータを保持することが可能である。なお、ページクラスタＣＬ内の領域ＰＧの個数は、メモリ１０へのデータの書き込み方法等に応じて任意に設定可能である。
【００１５】
ＣＰＵ２３は、コントローラ２０全体の動作を制御する。例えば、ＣＰＵ２３は、ホスト機器３０から受信した書き込み命令に応答して、ＮＡＮＤインターフェイス回路２６に対して書き込みコマンドを発行する。この動作は、読み出し命令及び消去命令の場合についても同様である。またＣＰＵ２３は、ウェアレベリング等、メモリ１０のメモリ空間を管理するための様々な処理を実行する。
【００１６】
バッファメモリ２４は、コントローラ２０がメモリ１０から受信した読み出しデータや、ホスト機器３０から受信した書き込みデータ等を一時的に保持する。
【００１７】
ＥＣＣ回路２５は、データのエラー訂正（ＥＣＣ：error checking and correcting）処理を行う。具体的には、ＥＣＣ回路２５は、データの書き込み時に書き込みデータに基づいてパリティを生成する。そして、ＥＣＣ回路２５は、データの読み出し時にパリティからシンドロームを生成してエラーを検出し、検出したエラーを訂正する。
【００１８】
ＮＡＮＤインターフェイス回路２６は、ＮＡＮＤバスによってメモリ１０と接続され、メモリ１０との通信を司る。例えば、ＮＡＮＤインターフェイス回路２６は、ＣＰＵ２３から受信した命令に基づいて各種制御信号をメモリ１０に送信し、レディビジー信号ＲＢｎをメモリ１０から受信し、入出力信号Ｉ／Ｏをメモリ１０との間で送受信する。
【００１９】
レディビジー信号ＲＢｎは、メモリ１０がコントローラ２０からの命令を受信することが可能かどうかを通知する信号である。レディビジー信号ＲＢｎは、例えばメモリ１０がコントローラ２０からの命令を受信可能なレディ状態の場合にＨｉｇｈ（“Ｈ”）レベルとされ、受信不可能なビジー状態の場合にＬｏｗ（“Ｌ”）レベルとされる。
【００２０】
入出力信号Ｉ／Ｏは、例えば８ビットの信号であり、コマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＡＴ等を含む。例えば、書き込み動作時において、メモリ１０に転送される入出力信号Ｉ／Ｏは、ＣＰＵ２３が発行した書き込みコマンドＣＭＤ、アドレスＡＤＤ、及びバッファメモリ２４内の書き込みデータＤＡＴを含む。また、読み出し動作時において、メモリ１０に転送される入出力信号Ｉ／Ｏは、読み出しコマンドＣＭＤ及びアドレスＡＤＤを含み、コントローラ２０に転送される入出力信号Ｉ／Ｏは読み出しデータＤＡＴを含む。
【００２１】
データ変換回路２７は、例えば、メモリ１０に含まれるメモリセルトランジスタが、４ビット（１６値）データを保持するＱＬＣ（quad level cell）である場合、ＱＬＣに対応する４ビットデータを２ビットデータに変換する。換言すれば、データ変換回路２７は、ＱＬＣの４ビットデータから２ビットデータを生成する。変換された２ビットデータは、ＲＡＭ２２に保存される。なお、データ変換回路２７は、ＣＰＵ２３内に設けられてもよい。更に、データ変換回路２７が変換するデータのビット数は任意に設定可能である。例えば、３ビットデータを１ビットデータに変換してもよく、５ビットデータを３ビットデータまたは２ビットデータに変換してもよい。
【００２２】
以上で説明したメモリシステム１を使用するホスト機器３０としては、例えばデジタルカメラやパーソナルコンピュータ等が挙げられる。
【００２３】
次に、メモリ１０の構成について説明する。メモリ１０は、メモリセルアレイ１１、コマンドレジスタ１２、アドレスレジスタ１３、シーケンサ１４、ドライバ回路１５、ロウデコーダ１６、データレジスタ１７、センスアンプ１８、及びデータ復元制御回路１９を含む。
【００２４】
メモリセルアレイ１１は、複数のブロックＢＬＫ０〜ＢＬＫｎ（ｎは１以上の整数）を含む。ブロックＢＬＫは、ビット線及びワード線に関連付けられた複数の不揮発性メモリセルトランジスタの集合であり、例えば、データの消去単位となる。
【００２５】
メモリセルアレイ１１は、メモリの空間領域としてユーザ領域及び管理領域を含み、例えば、複数のブロックＢＬＫがユーザ領域と管理領域とにそれぞれ割り当てられる。ユーザ領域は、ホスト機器３０から受信したデータの書き込み動作及び読み出し動作に使用される領域である。管理領域は、例えば、制御プログラム、または各種設定パラメータ等の管理用データが保存される領域である。また、管理領域には、例えば、電源遮断時のバックアップデータが保存される。
【００２６】
コマンドレジスタ１２は、コントローラ２０から受信したコマンドＣＭＤを保持する。アドレスレジスタ１３は、コントローラ２０から受信したアドレスＡＤＤを保持する。このアドレスＡＤＤは、カラムアドレスＣＡ、ページアドレスＰＡ、及びブロックアドレスＢＡを含む。
【００２７】
シーケンサ１４は、コマンドレジスタ１２に保持されたコマンドＣＭＤに基づいて、メモリ１０全体の動作を制御する。具体的には、シーケンサ１４は、コマンドＣＭＤに基づいてドライバ回路１５、ロウデコーダ１６、及び、データレジスタ１７、センスアンプ１８、及びデータ復元制御回路１９等を制御して、データの書き込み動作や読み出し動作等を実行する。
【００２８】
ドライバ回路１５は、シーケンサ１４の指示に基づいて必要な電圧を生成する。ドライバ回路１５は、アドレスレジスタ１３に保持されたページアドレスＰＡに基づいて、生成した電圧をロウデコーダ１６に供給する。
【００２９】
ロウデコーダ１６は、アドレスレジスタ１３に保持されたブロックアドレスＢＡに基づいて、ブロックＢＬＫ０〜ＢＬＫｎのいずれかを選択する。さらにロウデコーダ１６は、選択したブロックＢＬＫにおけるロウ方向を選択し、ドライバ回路１５から供給された電圧をワード線等に印加する。
【００３０】
データレジスタ１７は、複数のラッチ回路を備える。ラッチ回路は、データを一時的に保持する。例えば書き込み動作において、データレジスタ１７は、図示せぬ入出力回路を介して受信した書き込みデータを一時的に保持し、センスアンプ１８に送信する。また、例えば、読み出し動作において、データレジスタ１７は、センスアンプ１８から受信した読み出しデータを一時的に保持し、入出力回路を介してコントローラ２０に送信する。
【００３１】
センスアンプ１８は、読み出し動作のときには、メモリセルアレイ１１から読み出されたデータをセンスする。そして、センスアンプ１８は、読み出しデータをデータレジスタ１７に送信する。センスアンプ１８は、書き込み動作のときには、書き込みデータをメモリセルアレイ１１に送信する。また、センスアンプ１８は、データを保持するため複数のラッチ回路（不図示）を含む。
【００３２】
データ復元制御回路１９は、コントローラ２０から受信した２ビットの変換データと、メモリセルアレイ１１から読み出したデータ（以下、内部データとも表記する）とをデータレジスタ１７内に保持し演算することにより、ＱＬＣに対応する４ビットデータを復元する。なお、データ復元制御回路１９は、シーケンサ１４内に設けられてもよい。
【００３３】
１．１．２  メモリセルアレイの構成
次に、メモリセルアレイ１１の構成について、図２を用いて説明する。図２の例は、ブロックＢＬＫ０を示しているが、他のブロックＢＬＫの構成も同じである。
【００３４】
図２に示すように、ブロックＢＬＫ０は、例えば、４つのストリングユニットＳＵ０〜ＳＵ３を含む。以下、ストリングユニットＳＵ０〜ＳＵ３を限定しない場合は、ストリングユニットＳＵまたはＳＵｉ（ｉは、０〜３の整数）と表記する。各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＮＳを含む。ＮＡＮＤストリングＮＳの各々は、例えば９６個のメモリセルトランジスタＭＴ０〜ＭＴ９５、並びに選択トランジスタＳＴ１及びＳＴ２を含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ９５を限定しない場合は、メモリセルトランジスタＭＴと表記する。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。
【００３５】
なお、ストリングユニットＳＵの個数は、４個に限定されない。また、メモリセルトランジスタＭＴは、電荷蓄積層に絶縁膜を用いたＭＯＮＯＳ型であってもよいし、電荷蓄積層に導電層を用いたＦＧ型であってもよい。メモリセルトランジスタＭＴの個数は９６個に限らず、８個、１６個や３２個、６４個、１２８個等であってもよく、その数は限定されるものではない。更に、選択トランジスタＳＴ１及びＳＴ２の個数は、任意であり、それぞれ１個以上あればよい。
【００３６】
メモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。より具体的には、メモリセルトランジスタＭＴ０〜ＭＴ９５は、その電流経路が直列に接続される。そしてメモリセルトランジスタＭＴ９５のドレインは、選択トランジスタＳＴ１のソースに接続され、メモリセルトランジスタＭＴ０のソースは、選択トランジスタＳＴ２のドレインに接続されている。
【００３７】
ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ１のゲートは、選択ゲート線ＳＧＤ０〜ＳＧＤ３にそれぞれ接続される。同様に、ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳ０〜ＳＧＳ３にそれぞれ接続される。以下、選択ゲート線ＳＧＤ０〜ＳＧＤ３を限定しない場合は、選択ゲート線ＳＧＤと表記する。選択ゲート線ＳＧＳ０〜ＳＧＳ３を限定しない場合は、選択ゲート線ＳＧＳと表記する。なお、各ストリングユニットＳＵの選択ゲート線ＳＧＳ０〜ＳＧＳ３は共通に接続されてもよい。
【００３８】
ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ９５の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ９５に共通接続される。以下、ワード線ＷＬ０〜ＷＬ９５を限定しない場合は、ワード線ＷＬまたはＷＬｊ（ｊは、０〜９５の整数）と表記する。
【００３９】
ストリングユニットＳＵ内にある各ＮＡＮＤストリングＮＳの選択トランジスタＳＴ１のドレインは、それぞれ異なるビット線ＢＬ０〜ＢＬ（ｍ−１）（ｍは２以上の整数）に接続される。以下、ビット線ＢＬ０〜ＢＬ（ｍ−１）を限定しない場合は、ビット線ＢＬと表記する。各ビット線ＢＬは、複数のブロックＢＬＫ間で各ストリングユニットＳＵ内にある１つのＮＡＮＤストリングＮＳを共通に接続する。更に、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通に接続されている。つまり、ストリングユニットＳＵは、異なるビット線ＢＬに接続され、且つ同一の選択ゲート線ＳＧＤ及びＳＧＳに接続されたＮＡＮＤストリングＮＳの集合体である。また、ブロックＢＬＫは、ワード線ＷＬを共通にする複数のストリングユニットＳＵの集合体である。そしてメモリセルアレイ１１は、ビット線ＢＬを共通にする複数のブロックＢＬＫの集合体である。
【００４０】
データの書き込み及び読み出しは、いずれかのストリングユニットＳＵにおけるいずれかのワード線ＷＬに接続されたメモリセルトランジスタＭＴに対して、一括して行われる。以下、データの書き込み動作及び読み出し動作の際、一括して選択されるメモリセルトランジスタＭＴの群を「メモリセルグループＭＣＧ」と表記する。そして、１つのメモリセルグループＭＣＧにおいて、メモリセルトランジスタＭＴの各々に書き込まれる、または読み出される１ビットデータの集まりを「ページ」と表記する。従って、１つのメモリセルトランジスタＭＴに４ビットデータを記憶させる場合、１本のワード線ＷＬに接続されたメモリセルグループＭＣＧには、４ページ分のデータが記憶される。
【００４１】
本実施形態では、ユーザ領域の１つのメモリセルトランジスタＭＴが４ビットデータを保持することができる。すなわち、本実施形態におけるユーザ領域のメモリセルトランジスタＭＴは、４ビットデータを保持するＱＬＣ（quad level cell）である。ＱＬＣが保持する４ビットデータを、下位ビットから順に「Ｌｏｗｅｒビット」、「Ｍｉｄｄｌｅビット」、「Ｕｐｐｅｒビット」、及び「Ｔｏｐビット」と表記する。また、メモリセルグループＭＣＧの保持するＬｏｗｅｒビットの集合を「Ｌｏｗｅｒページ」と表記し、Ｍｉｄｄｌｅビットの集合を「Ｍｉｄｄｌｅページ」と表記し、Ｕｐｐｅｒビットの集合を「Ｕｐｐｅｒページ」と表記し、Ｔｏｐビットの集合を「Ｔｏｐページ」と表記する。
【００４２】
なお、メモリセルトランジスタＭＴが保持できるデータのビット数は４ビットに限定されない。メモリセルトランジスタＭＴが３ビット以上のデータを保持可能であれば、本実施形態を適用できる。
【００４３】
１．２  メモリセルトランジスタＭＴの閾値分布
次に、メモリセルトランジスタＭＴの閾値分布について、図３を用いて説明する。図３は、各メモリセルトランジスタＭＴの取り得るデータ、閾値分布、及び読み出し動作時に用いる電圧を示している。
【００４４】
図３に示すように、メモリセルトランジスタＭＴが４ビットデータを保持する場合、その閾値電圧の分布は１６個に分けられる。この１６個の閾値分布を、閾値電圧が低いものから順に“０”レベル、“１”レベル、“２”レベル、“３”レベル、“４”レベル、“５”レベル、“６”レベル、“７”レベル、“８”レベル、“９”レベル、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、“Ｄ”レベル、“Ｅ”レベル、及び“Ｆ”レベルと表記する。
【００４５】
また、図４に示す電圧Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、Ｖ７、Ｖ８、Ｖ９、ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、及びＶＦはそれぞれ、書き込み動作時における“０”レベル、“１”レベル、“２”レベル、“３”レベル、“４”レベル、“５”レベル、“６”レベル、“７”レベル、“８”レベル、“９”レベル、“Ａ”レベル、“Ｂ”レベル、“Ｃ”レベル、“Ｄ”レベル、“Ｅ”レベル、及び“Ｆ”レベルのベリファイに用いられる。電圧ＶＲＥＡＤは、読み出し動作時において非選択ワード線に印加される電圧である。メモリセルトランジスタＭＴは、ゲートに電圧ＶＲＥＡＤが印加されると保持するデータに依らずにオン状態になる。これらの電圧値の関係は、Ｖ１＜Ｖ２＜Ｖ３＜Ｖ４＜Ｖ５＜Ｖ６＜Ｖ７＜Ｖ８＜Ｖ９＜ＶＡ＜ＶＢ＜ＶＣ＜ＶＤ＜ＶＥ＜ＶＦ＜ＶＲＥＡＤである。
【００４６】
上述した閾値分布のうち“０”レベルは、メモリセルトランジスタＭＴの消去状態に相当する。“０”レベルにおける閾値電圧は、電圧Ｖ１未満である。“１”レベルにおける閾値電圧は、電圧Ｖ１以上且つ電圧Ｖ２未満である。“２”レベルにおける閾値電圧は、電圧Ｖ２以上且つ電圧Ｖ３未満である。“３”レベルにおける閾値電圧は、電圧Ｖ３以上且つ電圧Ｖ４未満である。“４”レベルにおける閾値電圧は、電圧Ｖ４以上且つ電圧Ｖ５未満である。“５”レベルにおける閾値電圧は、電圧Ｖ５以上且つ電圧Ｖ６未満である。“６”レベルにおける閾値電圧は、電圧Ｖ６以上且つ電圧Ｖ７未満である。“７”レベルにおける閾値電圧は、電圧Ｖ７以上且つ電圧Ｖ８未満である。“８”レベルにおける閾値電圧は、電圧Ｖ８以上且つ電圧Ｖ９未満である。“９”レベルにおける閾値電圧は、電圧Ｖ９以上且つ電圧ＶＡ未満である。“Ａ”レベルにおける閾値電圧は、電圧ＶＡ以上且つ電圧ＶＢ未満である。“Ｂ”レベルにおける閾値電圧は、電圧ＶＢ以上且つ電圧ＶＣ未満である。“Ｃ”レベルにおける閾値電圧は、電圧ＶＣ以上且つ電圧ＶＤ未満である。“Ｄ”レベルにおける閾値電圧は、電圧ＶＤ以上且つＶＥ未満である。“Ｅ”レベルにおける閾値電圧は、電圧ＶＥ以上且つＶＦ未満である。“Ｆ”レベルにおける閾値電圧は、電圧ＶＥ以上且つ電圧ＶＲＥＡＤ未満である。
【００４７】
本例における読み出し動作では、説明を簡略化するため、ベリファイ電圧を読み出し電圧として使用した場合を一例として説明する。以下に、電圧Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、Ｖ７、Ｖ８、Ｖ９、ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、及びＶＦを用いた読み出し動作のことをそれぞれ、読み出し動作１Ｒ、２Ｒ、３Ｒ、４Ｒ、５Ｒ、６Ｒ、７Ｒ、８Ｒ、９Ｒ、ＡＲ、ＢＲ、ＣＲ、ＤＲ、ＥＲ、及びＦＲと表記する。読み出し動作１Ｒは、メモリセルトランジスタＭＴの閾値電圧が電圧Ｖ１未満か否かを判定する。読み出し動作２Ｒは、メモリセルトランジスタＭＴの閾値電圧が電圧Ｖ２未満か否かを判定する。読み出し動作３Ｒは、メモリセルトランジスタＭＴの閾値電圧が電圧Ｖ３未満か否かを判定する。以下、同様である。
【００４８】
また、上述した１６個の閾値分布は、Ｌｏｗｅｒビット、Ｍｉｄｄｌｅビット、Ｕｐｐｅｒビット、及びＴｏｐビットからなる４ビットデータを書き込むことで形成される。そして１６個の閾値分布が、それぞれ異なる４ビットデータに対応する。本実施形態では、各レベルに含まれるメモリセルトランジスタＭＴに対して、“Ｔｏｐビット／Ｕｐｐｅｒビット／Ｍｉｄｄｌｅビット／Ｌｏｗｅｒビット”に以下に示すようにデータを割り付ける。
【００４９】
“０”レベルに含まれるメモリセルトランジスタＭＴは、“１１１１”データを保持する。“１”レベルに含まれるメモリセルトランジスタＭＴは、“１１１０”データを保持する。“２”レベルに含まれるメモリセルトランジスタＭＴは、“１０１０”データを保持する。“３”レベルに含まれるメモリセルトランジスタＭＴは、“１０００”データを保持する。“４”レベルに含まれるメモリセルトランジスタＭＴは、“１００１”データを保持する。“５”レベルに含まれるメモリセルトランジスタＭＴは、“０００１”データを保持する。“６”レベルに含まれるメモリセルトランジスタＭＴは、“００００”データを保持する。“７”レベルに含まれるメモリセルトランジスタＭＴは、“００１０”データを保持する。“８”レベルに含まれるメモリセルトランジスタＭＴは、“０１１０”データを保持する。“９”レベルに含まれるメモリセルトランジスタＭＴは、“０１００”データを保持する。“Ａ”レベルに含まれるメモリセルトランジスタＭＴは、“１１００”データを保持する。“Ｂ”レベルに含まれるメモリセルトランジスタＭＴは、“１１０１”データを保持する。“Ｃ”レベルに含まれるメモリセルトランジスタＭＴは、“０１０１”データを保持する。“Ｄ”レベルに含まれるメモリセルトランジスタＭＴは、“０１１１”データを保持する。“Ｅ”レベルに含まれるメモリセルトランジスタＭＴは、“００１１”データを保持する。“Ｆ”レベルに含まれるメモリセルトランジスタＭＴは、“１０１１”データを保持する。
【００５０】
このように割り付けられたデータを読み出す場合、Ｌｏｗｅｒビットは、読み出し動作１Ｒ、４Ｒ、６Ｒ、及びＢＲによって確定する。Ｍｉｄｄｌｅビットは、読み出し動作３Ｒ、７Ｒ、９Ｒ、及びＤＲによって確定する。Ｕｐｐｅｒビットは、読み出し動作２Ｒ、８Ｒ、及びＥＲによって確定する。Ｔｏｐビットは、読み出し動作５Ｒ、ＡＲ、ＣＲ、及びＦＲによって確定する。つまりＬｏｗｅｒビット、Ｍｉｄｄｌｅビット、Ｕｐｐｅｒビット、及びＴｏｐビットの値はそれぞれ、４回、４回、３回、及び４回の読み出し動作によって確定する。以下では、このデータの割り付けのことを「４−４−３−４コード」と表記する。
【００５１】
１．３  書き込み動作
次に、書き込み動作について説明する。書き込み動作は、大まかにはプログラム動作とベリファイ動作とを含む。そして、プログラム動作とプログラムベリファイ動作との組み合わせ（以下、「プログラムループ」と表記する）を繰り返すことで、メモリセルトランジスタＭＴの閾値電圧がターゲットレベルまで上昇される。
【００５２】
プログラム動作は、電子を電荷蓄積層に注入することにより閾値電圧を上昇させる（または注入を禁止することで閾値電圧を維持させる）動作のことである。
【００５３】
プログラムベリファイ動作は、プログラム動作の後、データを読み出し、メモリセルトランジスタＭＴの閾値電圧が目標とするターゲットレベルに達したか否かを判定する動作である。
【００５４】
１．３．１  第１及び第２書き込み動作
次に、本実施形態の書き込み動作について詳細に説明する。本実施形態では、ＱＬＣに対応する４ページデータの書き込み動作を２回に分けて実行する。以下、あるメモリセルグループＭＣＧにおいて１回目に実行される書き込み動作を「第１書き込み動作」と表記し、２回目に実行される書き込み動作を「第２書き込み動作」と表記する。第１書き込み動作及び第２書き込み動作は、各々が４ページの書き込みデータに基づいて実行される。本実施形態では、第１書き込み動作において、４ページデータを粗く書き込み、第２書き込み動作において、４ページデータを精密に書き込む。なお、書き込み動作は、３回以上に分かれていてもよい。例えば、４ページデータを３回に分けて書き込んでもよい。
【００５５】
まず、第１書き込み動作について、図４を用いて説明する。図４は、第１書き込み動作によるメモリセルトランジスタＭＴの閾値分布の変化を示している。
【００５６】
図４に示すように、シーケンサ１４は、コントローラ２０から入力された４ページデータに基づいて、第１書き込み動作を実行する。
【００５７】
第１書き込み動作を実行する前のメモリセルトランジスタＭＴの閾値電圧は、“ＥＲ”レベルに分布する。“ＥＲ”レベルにおける閾値電圧は電圧Ｖ１未満であり、メモリセルトランジスタＭＴの消去状態に相当する。
【００５８】
第１書き込み動作においてシーケンサ１４は、電圧ＶＭ１、ＶＭ２、ＶＭ３、ＶＭ４、ＶＭ５、ＶＭ６、ＶＭ７、ＶＭ８、ＶＭ９、ＶＭＡ、ＶＭＢ、ＶＭＣ、ＶＭＤ、ＶＭＥ、及びＶＭＦをベリファイ電圧として使用する。電圧ＶＭ１、ＶＭ２、ＶＭ３、ＶＭ４、ＶＭ５、ＶＭ６、ＶＭ７、ＶＭ８、ＶＭ９、ＶＭＡ、ＶＭＢ、ＶＭＣ、ＶＭＤ、ＶＭＥ、及びＶＭＦはそれぞれ、“１１１１”（“Ｌｏｗｅｒビット／Ｍｉｄｄｌｅビット／Ｕｐｐｅｒビット／Ｔｏｐビット”）データ、“１１１０”データ、“１０１０”データ、“１０００”データ、“１００１”データ、“０００１”データ、“００００”データ、“００１０”データ、“０１１０”データ、“０１００”データ、“１１００”データ、“１１０１”データ、“０１０１”データ、“０１１１”データ、“００１１”データ、及び“１０１１”データを書き込む場合に使用される。電圧ＶＭ１は、電圧Ｖ１未満である。電圧ＶＭ２は、電圧Ｖ１以上且つ電圧Ｖ２未満である。電圧ＶＭ３は、電圧Ｖ２以上且つ電圧Ｖ３未満である。電圧ＶＭ４は、電圧Ｖ３以上且つ電圧Ｖ４未満である。電圧ＶＭ５は、電圧Ｖ４以上且つ電圧Ｖ５未満である。電圧ＶＭ６は、電圧Ｖ５以上且つ電圧Ｖ６未満である。電圧ＶＭ７は、電圧Ｖ６以上且つ電圧Ｖ７未満である。電圧ＶＭ８は、電圧Ｖ７以上且つ電圧Ｖ８未満である。電圧ＶＭ９は、電圧Ｖ８以上且つ電圧Ｖ９未満である。電圧ＶＭＡは、電圧Ｖ９以上且つ電圧ＶＡ未満である。電圧ＶＭＢは、電圧ＶＡ以上且つ電圧ＶＢ未満である。電圧ＶＭＣは、電圧ＶＢ以上且つ電圧ＶＣ未満である。電圧ＶＭＤは、電圧ＶＣ以上且つ電圧ＶＤ未満である。電圧ＶＭＥは、電圧ＶＤ以上且つ電圧ＶＥ未満である。電圧ＶＭＦは、電圧ＶＥ以上且つ電圧ＶＦ未満である。
【００５９】
第１書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタＭＴの閾値電圧が上昇し、１６個の閾値分布が形成される。第１書き込み動作では、図４に示すように１６個の閾値分布は、隣り合う閾値分布と重なっていることがある。図４に示す“Ｍ０”レベルは、“１１１１”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ１”レベルは、“１１１０”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ２”レベルは、“１０１０”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ３”レベルは、“１０００”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ４”レベルは、“１００１”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ５”レベルは、“０００１”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ６”レベルは、“００００”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ７”レベルは、“００１０”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ８”レベルは、“０１１０”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“Ｍ９”レベルは、“０１００”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“ＭＡ”レベルは、“１１００”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“ＭＢ”レベルは、“１１０１”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“ＭＣ”レベルは、“０１０１”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“ＭＤ”レベルは、“０１１１”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“ＭＥ”レベルは、“００１１”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。“ＭＦ”レベルは、“１０１１”データが書き込まれる複数のメモリセルトランジスタＭＴによって形成される。
【００６０】
“Ｍ０”レベルにおける閾値電圧は電圧Ｖ１未満であり、前述した“０”レベル及び“ＥＲ”レベルと同様に、メモリセルトランジスタＭＴの消去状態に相当する。つまり、第１書き込み動作において１１１１”データを書き込むメモリセルトランジスタＭＴでは、閾値電圧の上昇が抑制される。但し、“Ｍ０”レベルも第１書き込み動作により、閾値レベルが“１”レベルに変わるほどではないが、閾値電圧が多少上昇する。“Ｍ１”レベルにおける閾値電圧は、電圧ＶＭ１以上且つ電圧Ｖ２未満である。“Ｍ２”レベルにおける閾値電圧は、電圧ＶＭ２以上且つ電圧Ｖ３未満である。“Ｍ３”レベルにおける閾値電圧は、電圧ＶＭ３以上且つ電圧Ｖ４未満である。“Ｍ４”レベルにおける閾値電圧は、電圧ＶＭ４以上且つ電圧Ｖ５未満である。“Ｍ５”レベルにおける閾値電圧は、電圧ＶＭ５以上且つ電圧Ｖ６未満である。“Ｍ６”レベルにおける閾値電圧は、電圧ＶＭ６以上且つ電圧Ｖ７未満である。“Ｍ７”レベルにおける閾値電圧は、電圧ＶＭ７以上且つ電圧Ｖ８未満である。“Ｍ８”レベルにおける閾値電圧は、電圧ＶＭ８以上且つ電圧Ｖ９未満である。“Ｍ９”レベルにおける閾値電圧は、電圧ＶＭ９以上且つ電圧ＶＡ未満である。“ＭＡ”レベルにおける閾値電圧は、電圧ＶＭＡ以上且つ電圧ＶＢ未満である。“ＭＢ”レベルにおける閾値電圧は、電圧ＶＭＢ以上且つ電圧ＶＣ未満である。“ＭＣ”レベルにおける閾値電圧は、電圧ＶＭＣ以上且つ電圧ＶＤ未満である。“ＭＤ”レベルにおける閾値電圧は、電圧ＶＭＤ以上且つ電圧ＶＥ未満である。“ＭＥ”レベルにおける閾値電圧は、電圧ＶＭＥ以上且つ電圧ＶＦ未満である。“ＭＦ”レベルにおける閾値電圧は、電圧ＶＭＦ以上且つ電圧ＶＲＥＡＤ未満である。
【００６１】
このように、第１書き込み動作におけるプログラムベリファイ動作に使用される電圧ＶＭ１、ＶＭ２、ＶＭ３、ＶＭ４、ＶＭ５、ＶＭ６、ＶＭ７、ＶＭ８、ＶＭ９、ＶＭＡ、ＶＭＢ、ＶＭＣ、ＶＭＤ、ＶＭＥ、及びＶＭＦはそれぞれ、ベリファイをパスしたメモリセルトランジスタＭＴの閾値電圧が電圧Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、Ｖ７、Ｖ８、Ｖ９、ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、ＶＦ、及びＶＲＥＡＤを超えないように設定される。
【００６２】
次に、第２書き込み動作ついて、図５を用いて説明する。図５は、第２書き込み動作によるメモリセルトランジスタＭＴの閾値分布の変化を示している。
【００６３】
図５に示すように、シーケンサ１４は、４ページデータに基づいて第２書き込み動作を実行する。
【００６４】
第２書き込み動作において、シーケンサ１４は、ベリファイ電圧として電圧Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、Ｖ７、Ｖ８、Ｖ９、ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、及びＶＦを使用する。第２書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタＭＴの閾値電圧が上昇し、１６個の広い閾値分布から１６個の細い閾値分布が形成される。例えば、“Ｍ０”レベルの閾値分布から“０”レベルの閾値分布が形成され、“Ｍ１”レベルの閾値分布から“１”レベルの閾値分布が形成され、“Ｍ２”レベルの閾値分布から“２”レベルの閾値分布が形成される。以下、同様である。
【００６５】
１．３．２  書き込みデータの変換処理
次に、書き込みデータの変換処理について、図６を用いて説明する。本実施形態では、４ページ（Ｔｏｐページ／Ｕｐｐｅｒページ／Ｍｉｄｄｌｅページ／Ｌｏｗｅｒページ）データを用いて第１書き込みを実行した後、データ変換回路２７において４ページデータを２ページデータに変換してＲＡＭ２２内の１つのページクラスタＣＬに保存している。すなわち、データ変換回路２７は、４ビット（Ｔｏｐビット／Ｕｐｐｅｒビット／Ｍｉｄｄｌｅビット／Ｌｏｗｅｒビット）データを２ビットデータに変換する。以下、変換後の２ビットデータの上位ビットを「Ｘ１ビット」と表記し、下位ビットを「Ｘ２ビット」と表記する。また、Ｘ１ビットの集合を「Ｘ１ページ」と表記し、Ｘ２ビットの集合を「Ｘ２ページ」と表記する。
【００６６】
図６に示すように、データ変換回路２７は、４ビットデータを、２ビット（Ｘ１ビット／Ｘ２ビット）データに変換する。
【００６７】
より具体的には、“０”レベルの“１１１１”データは、“１１”データに変換される。“１”レベルの“１１１０”データは、“０１”データに変換される。“２”レベルの“１０１０”データは、“００”データに変換される。“３”レベルの“１０００”データは、“１０”データに変換される。“４”レベルの“１００１”データは、“１１”データに変換される。“５”レベルの“０００１”データは、“０１”データに変換される。“６”レベルの“００００”データは、“００”データに変換される。“７”レベルの“００１０”データは、“１０”データに変換される。“８”レベルの“０１１０”データは、“１１”データに変換される。“９”レベルの“０１００”データは、“０１”データに変換される。“Ａ”レベルの“１１００”データは、“００”データに変換される。“Ｂ”レベルの“１１０１”データは、“１０”データに変換される。“Ｃ”レベルの“０１０１”データは、“１１”データに変換される。“Ｄ”レベルの“０１１１”データは、“０１”データに変換される。“Ｅ”レベルの“００１１”データは、“００”データに変換される。“Ｆ”レベルの“１０１１”データは、“１０”データに変換される。
【００６８】
すなわち、“０”レベル、“４”レベル、“８”レベル、及び“Ｃ”レベルには、“１１”データが割り当てられる。“１”レベル、“５”レベル、“９”レベル、及び“Ｄ”レベルには、“０１”データが割り当てられる。“２”レベル、“６”レベル、“Ａ”レベル、及び“Ｅ”レベルには、“００”データが割り当てられる。“３”レベル、“７”レベル、“Ｂ”レベル、及び“Ｆ”レベルには、“１０”データが割り当てられる。そして、隣り合うレベル（閾値分布）の２ビットデータは、１ビット違いとなるグレイコードとなるように、“０”レベルから“Ｆ”レベルまで“１１”データ、“０１”データ、“００”データ、及び“１０”データが繰り返し割り当てられる。
【００６９】
１．３．３  書き込みデータの復元処理
次に、書き込みデータの復元処理について、図７〜図１０を用いて説明する。本実施形態では、データ復元制御回路１９が、コントローラ２０から受信した２ページ（Ｘ１ページ／Ｘ２ページ）データとメモリセルトランジスタＭＴから読み出した第１書き込み動作後のデータとから４ページ（Ｔｏｐページ／Ｕｐｐｅｒページ／Ｍｉｄｄｌｅページ／Ｌｏｗｅｒページ）データを復元する。そして、シーケンサ１４は、復元された４ページデータを用いて、第２書き込み動作を実行する。以下、４ページデータを復元するための読み出し動作を「内部データ読み出し動作」と表記する。なお、例えば、内部データ読み出し動作により読み出されたデータは、コントローラ２０には送信されず、データ復元制御回路１９に送信される。
【００７０】
図７に示すように、“１１”（Ｘ１ビット／Ｘ２ビット）データは、“０”レベル、“４”レベル、“８”レベル、及び“Ｃ”レベルのいずれかに対応する。第１書き込み動作後のメモリセルトランジスタＭＴにおいて、“０”レベル、“４”レベル、“８”レベル、及び“Ｃ”レベルに対応する閾値分布は、それぞれ“Ｍ０”レベル、“Ｍ４”レベル、“Ｍ８”レベル、及び“ＭＣ”レベルである。これら４つのレベルの閾値分布は、互いに分離されており重なりがない。これら４つのレベルを区別するために、シーケンサ１４は、“Ｍ０”レベル、“Ｍ４”レベル、“Ｍ８”レベル、及び“ＭＣ”レベルの間で内部データ読み出し動作を行う。
【００７１】
より具体的には、例えば、シーケンサ１４は、読み出し電圧ＶＳ２、ＶＳ６、及びＶＳＡを用いた３回の内部データ読み出し動作を行う。電圧ＶＳ２は、“Ｍ０”レベルの閾値分布より高く“Ｍ４”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ１より高く電圧ＶＭ４よりも低い電圧である。電圧ＶＳ６は、“Ｍ４”レベルの閾値分布より高く“Ｍ８”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ５より高く電圧ＶＭ８よりも低い電圧である。電圧ＶＳＡは、“Ｍ８”レベルの閾値分布より高く“ＭＣ”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ９より高く電圧ＶＭＣよりも低い電圧である。
【００７２】
内部データ読み出し動作の結果から、データ復元制御回路１９は、“０”レベル、“４”レベル、“８”レベル、及び“Ｃ”レベルの４ビットデータを復元する。
【００７３】
図８に示すように、“０１”（Ｘ１ビット／Ｘ２ビット）データは、“１”レベル、“５”レベル、“９”レベル、及び“Ｄ”レベルのいずれかに対応する。第１書き込み動作後のメモリセルトランジスタＭＴにおいて、“１”レベル、“５”レベル、“９”レベル、及び“Ｄ”レベルに対応する閾値分布は、それぞれ“Ｍ１”レベル、“Ｍ５”レベル、“Ｍ９”レベル、及び“ＭＤ”レベルである。これら４つのレベルを区別するために、シーケンサ１４は、“Ｍ１”レベル、“Ｍ５”レベル、“Ｍ９”レベル、及び“ＭＤ”レベルの間で内部データ読み出し動作を行う。
【００７４】
より具体的には、例えば、シーケンサ１４は、読み出し電圧ＶＳ３、ＶＳ７、及びＶＳＢを用いた３回の内部データ読み出し動作を行う。電圧ＶＳ３は、“Ｍ１”レベルの閾値分布より高く“Ｍ５”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ２より高く電圧ＶＭ５よりも低い電圧である。電圧ＶＳ７は、“Ｍ５”レベルの閾値分布より高く“Ｍ９”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ６より高く電圧ＶＭ９よりも低い電圧である。電圧ＶＳＢは、“Ｍ９”レベルの閾値分布より高く“ＭＤ”レベルの閾値分布よりも低い電圧、すなわち電圧ＶＡより高く電圧ＶＭＤよりも低い電圧である。
【００７５】
内部データ読み出し動作の結果から、データ復元制御回路１９は、“１”レベル、“５”レベル、“９”レベル、及び“Ｄ”レベルの４ビットデータを復元する。
【００７６】
図９に示すように、“００”（Ｘ１ビット／Ｘ２ビット）データは、“２”レベル、“６”レベル、“Ａ”レベル、及び“Ｅ”レベルのいずれかに対応する。第１書き込み動作後のメモリセルトランジスタＭＴにおいて、“２”レベル、“６”レベル、“Ａ”レベル、及び“Ｅ”レベルに対応する閾値分布は、それぞれ“Ｍ２”レベル、“Ｍ６”レベル、“ＭＡ”レベル、及び“ＭＥ”レベルである。これら４つのレベルを区別するために、シーケンサ１４は、“Ｍ２”レベル、“Ｍ６”レベル、“ＭＡ”レベル、及び“ＭＥ”レベルの間で内部データ読み出し動作を行う。
【００７７】
より具体的には、例えば、シーケンサ１４は、読み出し電圧ＶＳ４、ＶＳ８、及びＶＳＣを用いた３回の内部データ読み出し動作を行う。電圧ＶＳ４は、“Ｍ２”レベルの閾値分布より高く“Ｍ６”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ３より高く電圧ＶＭ６よりも低い電圧である。電圧ＶＳ８は、“Ｍ６”レベルの閾値分布より高く“ＭＡ”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ７より高く電圧ＶＭＡよりも低い電圧である。電圧ＶＳＣは、“ＭＡ”レベルの閾値分布より高く“ＭＥ”レベルの閾値分布よりも低い電圧、すなわち電圧ＶＢより高く電圧ＶＭＥよりも低い電圧である。
【００７８】
内部データ読み出し動作の結果から、データ復元制御回路１９は、“２”レベル、“６”レベル、“Ａ”レベル、及び“Ｅ”レベルの４ビットデータを復元する。
【００７９】
図１０に示すように、“１０”（Ｘ１ビット／Ｘ２ビット）データは、“３”レベル、“７”レベル、“Ｂ”レベル、及び“Ｆ”レベルのいずれかに対応する。第１書き込み動作後のメモリセルトランジスタＭＴにおいて、“３”レベル、“７”レベル、“Ｂ”レベル、及び“Ｆ”レベルに対応する閾値分布は、それぞれ“Ｍ３”レベル、“Ｍ７”レベル、“ＭＢ”レベル、及び“ＭＦ”レベルである。これら４つのレベルを区別するために、シーケンサ１４は、“Ｍ３”レベル、“Ｍ７”レベル、“ＭＢ”レベル、及び“ＭＦ”レベルの間で内部データ読み出し動作を行う。
【００８０】
より具体的には、例えば、シーケンサ１４は、読み出し電圧ＶＳ５、ＶＳ９、及びＶＳＤを用いた３回の内部データ読み出し動作を行う。電圧ＶＳ５は、“Ｍ３”レベルの閾値分布より高く“Ｍ７”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ４より高く電圧ＶＭ７よりも低い電圧である。電圧ＶＳ９は、“Ｍ７”レベルの閾値分布より高く“ＭＢ”レベルの閾値分布よりも低い電圧、すなわち電圧Ｖ８より高く電圧ＶＭＢよりも低い電圧である。電圧ＶＳＤは、“ＭＢ”レベルの閾値分布より高く“ＭＦ”レベルの閾値分布よりも低い電圧、すなわち電圧ＶＣより高く電圧ＶＭＦよりも低い電圧である。
【００８１】
内部データ読み出し動作の結果から、データ復元制御回路１９は、“３”レベル、“７”レベル、“Ｂ”レベル、及び“Ｆ”レベルの４ビットデータを復元する。
【００８２】
なお、図７〜図１０の例では、“１１”データ、“０１”データ、“００”データ、“１０”データの各データに対して３回、すなわち合計１２回の内部データ読み出し動作を実行する場合について説明したが、例えば、読み出し電圧ＶＳ２〜電圧ＶＳＤのいくつかを同じ電圧値に設定して、内部データ読み出し回数を削減させてもよい。例えば、電圧ＶＳ２と電圧ＶＳ３とを同じ電圧ＶＳ２３とする。電圧ＶＳ２３は、電圧Ｖ２より高く電圧ＶＭ４より低い電圧である。これにより、“１１”データにおける“Ｍ０”レベルの区別と、“０１”データにおける“Ｍ１”レベルの区別を同時に行ってもよい。他の読み出し電圧も同様である。
【００８３】
１．３．４  書き込み動作の全体の流れ
次に、書き込み動作の全体の流れについて、図１１を用いて説明する。なお、図１１の例は、１つのメモリセルグループＭＣＧへの書き込み動作を示しており、他のメモリセルグループＭＣＧへの書き込み動作は省略されている。
【００８４】
図１１に示すように、ホスト機器３０は、４ページ分の書き込み要求をコントローラ２０に送信する（ステップＳ１０）。
【００８５】
ＣＰＵ２３は、ホスト機器３０からの書き込み要求を受信すると、４ページ（Ｔｏｐページ／Ｕｐｐｅｒページ／Ｍｉｄｄｌｅページ／Ｌｏｗｅｒページ）データを含む第１書き込み動作命令をメモリ１０に送信する（ステップＳ１１）。
【００８６】
シーケンサ１４は、コントローラ２０からの命令に基づいて第１書き込み動作を実行する（ステップＳ１２）。
【００８７】
メモリ１０に４ページデータを送信した後、データ変換回路２７は、４ページデータを２ページ（Ｘ１ページ／Ｘ２ページ）データに変換し（ステップＳ１３）、ＲＡＭ２２内の１つのページクラスタＣＬに２ページデータを格納する。より具体的には、例えばページクラスタＣＬ０の領域ＰＧ０にＸ１ページデータを格納し、領域ＰＧ１にＸ２ページデータを格納する。
【００８８】
データ変換後、ＣＰＵ２３は、２ページ（Ｘ１ページ／Ｘ２ページ）データを含む第２書き込み動作命令をメモリ１０に送信する（ステップＳ１４）。なお、データ変換後、図示せぬ他のメモリセルグループＭＣＧへの第１書き込み動作を実行した後に、ステップＳ１４を実行してもよい。
【００８９】
シーケンサ１４は、コントローラ２０からの命令に基づいて内部データ読み出し動作を実行する（ステップＳ１５）。
【００９０】
データ復元制御回路１９は、２ページデータと読み出しデータから４ページ（Ｔｏｐページ／Ｕｐｐｅｒページ／Ｍｉｄｄｌｅページ／Ｌｏｗｅｒページ）データを復元する（ステップＳ１６）。
【００９１】
シーケンサ１４は、復元された４ビットデータを用いて第２書き込み動作を実行する（ステップＳ１７）。
【００９２】
１．３．５  コマンドシーケンス
次に、コントローラ２０から半導体記憶装置に送信されるコマンドシーケンスについて説明する。
【００９３】
１．３．５．１  第１書き込み動作におけるコマンドシーケンス
まず、第１書き込み動作におけるコマンドシーケンスについて、図１２を用いて説明する。図１２は、メモリ１０に入力される入出力信号Ｉ／Ｏ及びレディビジー信号ＲＢｎを示している。メモリ１０に入力されたコマンドＣＭＤはコマンドレジスタ１２に格納され、アドレスＡＤＤはアドレスレジスタ１３に格納され、データＤＡＴはデータレジスタ１７に格納される。なお、以下の説明において、第１書き込み動作に対応するコマンドの組み合わせを「第１コマンドセット」と表記する。
【００９４】
図１２に示すように、まず、ＣＰＵ２３は、コマンド“０Ｄｈ”を発行してメモリ１０に送信する。コマンド“０Ｄｈ”は、第１書き込み動作認識用のコマンドである。
【００９５】
次に、ＣＰＵ２３は、コマンド“８０ｈ”を発行してメモリ１０に送信する。コマンド“８０ｈ”は、書き込み動作を通知するコマンドである。
【００９６】
次に、ＣＰＵ２３は、Ｌｏｗｅｒページのアドレス“ＡＤＤ＿Ｌ”と、データ“ＤＡＴ＿Ｌ”とを、続けてメモリ１０に送信する。シーケンサ１４は、受信したデータ“ＤＡＴ＿Ｌ”をデータレジスタ１７のラッチ回路に保持する。
【００９７】
次に、ＣＰＵ２３は、コマンド“１Ａｈ”を発行してメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｌ”をセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｌ”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【００９８】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｍｉｄｄｌｅページのアドレス“ＡＤＤ＿Ｍ”と、データ“ＤＡＴ＿Ｍ”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｍ”をセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｍ”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【００９９】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｕｐｐｅｒページのアドレス“ＡＤＤ＿Ｕ”と、データ“ＤＡＴ＿Ｕ”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４はレディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｕ”をセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｕ”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１００】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｔｏｐページのアドレス“ＡＤＤ＿Ｔ”と、データ“ＤＡＴ＿Ｔ”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“１０ｈ”は、書き込み動作の実行を指示するコマンドである。
【０１０１】
コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｔ”をセンスアンプ１８に転送させる。そして、シーケンサ１４は、センスアンプ１８に格納されたデータ“ＤＡＴ＿Ｌ”、“ＤＡＴ＿Ｍ”、“ＤＡＴ＿Ｕ”、及び“ＤＡＴ＿Ｔ”に基づいて第１書き込み動作を実行する。
【０１０２】
なお、コントローラ２０からメモリ１０に、Ｌｏｗｅｒページデータ、Ｍｉｄｄｌｅページデータ、Ｕｐｐｅｒページデータ、及びＴｏｐページデータを送信する順序は任意に設定可能である。例えば、コントローラ２０は、最初にＴｏｐページデータをメモリ１０に送信してもよい。
【０１０３】
１．３．５．２  第２書き込み動作におけるコマンドシーケンス
次に、第２書き込み動作におけるコマンドシーケンスについて２つの例を説明する。なお、以下の説明において、第２書き込み動作に対応するコマンドの組み合わせを「第２コマンドセット」と表記する。
【０１０４】
１．３．５．２．１  第１例のコマンドシーケンス
まず、第２書き込み動作における第１例のコマンドシーケンスについて、図１３を用いて説明する。
【０１０５】
図１３に示すように、まず、ＣＰＵ２３は、コマンド“ＸＸｈ”を発行してメモリ１０に送信する。コマンド“ＸＸｈ”は、メモリ１０に対してデータ復元と第２書き込み動作とを指示するコマンドである。
【０１０６】
次に、ＣＰＵ２３は、コマンド“８０ｈ”と、Ｘ１ページのアドレス“ＡＤＤ＿Ｘ１”と、データ“ＤＡＴ＿Ｘ１”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４はレディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ１”をセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｘ１”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１０７】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｘ２ページのアドレス“ＡＤＤ＿Ｘ２”と、データ“ＤＡＴ＿Ｘ２”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。
【０１０８】
コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ２”をセンスアンプ１８に転送させる。その後、シーケンサ１４は、内部データ読み出し動作を実行する。次に、データ復元制御回路１９は、Ｘ１ページデータ、Ｘ２ページデータ、及び読み出しデータから４ページデータを復元し、センスアンプ１８に転送させる。次に、シーケンサ１４は、センスアンプ１８に格納された４ページデータに基づいて第２書き込み動作を実行する。
【０１０９】
なお、コントローラ２０からメモリ１０に、Ｘ１ページデータ及びＸ２ページデータを送信する順序は任意に設定可能である。
【０１１０】
１．３．５．２．２  第２例のコマンドシーケンス
次に、第２書き込み動作における第２例のコマンドシーケンスについて、図１４を用いて説明する。
【０１１１】
図１４に示すように、ＣＰＵ２３は、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、データ“ＤＡＴ＿Ｘ１”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４はレディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ１”をセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｘ１”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１１２】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ２”と、データ“ＤＡＴ＿Ｘ２”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ２”をセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｘ２”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１１３】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＹＹｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“ＹＹｈ”は、内部データ読み出し動作及びデータ復元動作認識用のコマンドである。コマンド“００ｈ”は、読み出し動作を通知するコマンドである。コマンド“３０ｈ”は、読み出し動作の実行を指示するコマンドである。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、内部データ読み出し動作及びデータ復元制御回路１９によるデータ復元動作を実行し、復元した４ビットデータをセンスアンプ１８に格納させる。シーケンサ１４は、センスアンプ１８への４ビットデータの格納が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１１４】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＺＺｈ”と、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“ＺＺｈ”は、センスアンプ１８に格納されている４ビットデータを用いた第２書き込み動作認識用のコマンドである。従って、この場合、コントローラ２０からメモリ１０へのデータ転送は不要である。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、センスアンプ１８に格納されている４ビットデータを用いて第２書き込み動作を実行する。
【０１１５】
なお、コントローラ２０からメモリ１０に、Ｘ１ページデータ及びＸ２ページデータを送信する順序は任意に設定可能である。
【０１１６】
１．３．６  データの書き込み順序
次に、データの書き込み順序について、図１５を用いて説明する。図１５は、１つのブロックＢＬＫにおけるストリングユニットＳＵの選択順序を示している。破線で上下２段に区切られた１つの実線の四角枠は、１つのメモリセルグループＭＣＧを示しており、四角枠の上段は、第２書き込み動作（参照符号“ＷＲＴ２”）を示し、四角枠の下段は、第１書き込み動作（参照符号“ＷＲＴ１”）を示している。
【０１１７】
図１５に示すように、まず、シーケンサ１４は、第０番目〜第３番目の動作として、ワード線ＷＬ０を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第１書き込み動作を実行する。
【０１１８】
次に、シーケンサ１４は、第４番目〜第７番目の動作として、ワード線ＷＬ１を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第１書き込み動作を実行する。
【０１１９】
次に、シーケンサ１４は、第８番目〜第１１番目の動作として、ワード線ＷＬ０を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第２書き込み動作を実行する。
【０１２０】
次に、シーケンサ１４は、第１２番目〜第１５番目の動作として、ワード線ＷＬ２を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第１書き込み動作を実行する。
【０１２１】
次に、シーケンサ１４は、第１６番目〜第１９番目の動作として、ワード線ＷＬ１を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第２書き込み動作を実行する。
【０１２２】
すなわち、シーケンサ１４は、ワード線ＷＬ（ｊ＋１）且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第１書き込み動作を実行した後、ワード線ＷＬｊ且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第２書き込み動作を実行する。次に、シーケンサ１４は、ワード線ＷＬｊ＋２を選択して同様の動作を繰り返す。
【０１２３】
シーケンサ１４は、第７５６番目〜第７５９番目の動作として、ワード線ＷＬ９５を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した、第１書き込み動作を実行する。次に、シーケンサ１４は、第７６０番目〜第７６３番目の動作として、ワード線ＷＬ９４を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第２書き込み動作と、第７６４番目〜第７６７番目の動作として、ワード線ＷＬ９５を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第２書き込み動作とを実行して、ブロックＢＬＫにおける書き込み動作を終了する。
【０１２４】
シーケンサ１４は、コントローラ２０から送信されたアドレスＡＤＤ及びデータＤＡＴに基づいて、上記の順番で書き込み動作を実行する。
【０１２５】
上記の書き込み順序で書き込み動作を実行する場合、ＲＡＭ２２には、８個以上のページクラスタＣＬが設けられる。例えば、ワード線ＷＬ０及びストリングユニットＳＵ０に対応するメモリセルグループＭＣＧに第２書き込み動作（第８番目の書き込み動作）を実行する場合、第０番目〜第７番目の書き込み動作（第１書き込み動作）を実行した８つのメモリセルグループＭＣＧの各々に対応する２ページデータをＲＡＭ２２内に格納しておくため、８個のページクラスタＣＬが用いられる。
【０１２６】
１．３．７  データの書き込み順序を示す書き込み動作の詳細な流れ
次に、データの書き込み順序を示す書き込み動作の詳細な流れについて、図１６及び図１７を用いて説明する。以下の説明では、説明を簡便にするためにワード線ＷＬの番号に変数ｊを用い、ストリングユニットＳＵの番号に変数ｉを用いる。変数ｉ及びｊは、例えばコントローラ２０が備えるカウンタによって保持される変数であり、コントローラ２０の制御によってインクリメントされる。シーケンサ１４は、コントローラ２０から受信したアドレスＡＤＤ及びデータＤＡＴに基づいて、書き込み動作を実行する。
【０１２７】
図１６に示すように、まず、ＣＰＵ２３は、１つのブロックＢＬＫに対して書き込み動作を実行する場合、ｊ＝０、すなわちワード線ＷＬ０を選択し（ステップＳ１００）、更にｉ＝０、すなわちストリングユニットＳＵ０を選択する（ステップＳ１０１）。そして、ＣＰＵ２３は、メモリ１０に第１コマンドセットを送信する。
【０１２８】
シーケンサ１４は、第１コマンドセットに基づいて、ワード線ＷＬ０及びストリングユニットＳＵ０を選択して第１書き込み動作を実行する（ステップＳ１０２）。
【０１２９】
次に、第１書き込み動作終了後、ＣＰＵ２３は、ストリングユニットＳＵｉの変数ｉがｉ＝３か確認する（ステップＳ１０３）。
【０１３０】
ｉ＝３ではない場合（ステップＳ１０３＿Ｎｏ）、ＣＰＵ２３は、変数ｉをインクリメントしてｉ＝ｉ＋１とし（ステップＳ１０４）、第１コマンドセットをメモリ１０に送信する。ステップＳ１０２に戻り、シーケンサ１４は、第１書き込み動作を実行する。
【０１３１】
ｉ＝３の場合（ステップＳ１０３＿Ｙｅｓ）、ＣＰＵ２３は、ワード線ＷＬｊの変数ｊがｊ＝０か確認する（ステップＳ１０５）。
【０１３２】
ｊ＝０の場合（ステップＳ１０５＿Ｙｅｓ）、ＣＰＵ２３は、変数ｊをインクリメントしてｊ＝ｊ＋１とする（ステップＳ１０６）。そして、ＣＰＵ２３は、ステップＳ１０１に戻り、変数ｉ＝０を選択して、第１コマンドセットをメモリ１０に送信する。
【０１３３】
ｊ＝０ではない場合（ステップＳ１０５＿Ｎｏ）、ＣＰＵ２３は、変数ｊをｊ＝ｊ−１とし、変数ｉをｉ＝０とする（ステップＳ１０７）。そして、ＣＰＵ２３は、メモリ１０に第２コマンドセットを送信する。
【０１３４】
シーケンサ１４は、第２コマンドセットに基づいて、まず、内部データ読み出し動作を実行する（ステップＳ１０８）。
【０１３５】
データ復元制御回路１９は、第２コマンドセットの２ページデータ及び読み出したデータに基づいて４ページデータを復元する（ステップＳ１０９）。
【０１３６】
シーケンサ１４は、復元された４ページデータを用いて第２書き込み動作を実行する（ステップＳ１１０）。
【０１３７】
次に、第２書き込み動作終了後、ＣＰＵ２３は、ストリングユニットＳＵｉの変数ｉがｉ＝３か確認する（ステップＳ１１１）。
【０１３８】
ｉ＝３ではない場合（ステップＳ１１１＿Ｎｏ）、ＣＰＵ２３は、変数ｉをインクリメントしてｉ＝ｉ＋１とし（ステップＳ１１２）、第２コマンドセットをメモリ１０に送信する。ステップＳ１０８に戻り、シーケンサ１４は、内部データ読み出し動作を実行する。
【０１３９】
ｉ＝３の場合（ステップＳ１１１＿Ｙｅｓ）、ＣＰＵ２３は、ワード線ＷＬｊの変数ｊがｊ＝９４か確認する（ステップＳ１１３）。
【０１４０】
図１７に示すように、ｊ＝９４ではない場合（ステップＳ１１３＿Ｎｏ）、ＣＰＵ２３は、変数ｊをインクリメントしてｉ＝ｊ＋２とする（ステップＳ１１４）。そして、ＣＰＵ２３は、ステップＳ１０１に戻り、変数ｉ＝０を選択して、第１コマンドセットをメモリ１０に送信する。
【０１４１】
ｊ＝９４の場合（ステップＳ１１３＿Ｙｅｓ）、ＣＰＵ２３は、変数ｊをｊ＝ｊ＋１とし、変数ｉをｉ＝０とする（ステップＳ１１５）。そして、ＣＰＵ２３は、メモリ１０に第２コマンドセットを送信する。
【０１４２】
シーケンサ１４は、第２コマンドセットに基づいて、まず、内部データ読み出し動作を実行する（ステップＳ１１６）。
【０１４３】
データ復元制御回路１９は、第２コマンドセットの２ページデータ及び読み出したデータに基づいて４ページデータを復元する（ステップＳ１１７）。
【０１４４】
シーケンサ１４は、復元された４ページデータを用いて第２書き込み動作を実行する（ステップＳ１１８）。
【０１４５】
次に、第２書き込み動作終了後、ＣＰＵ２３は、ストリングユニットＳＵｉの変数ｉがｉ＝３か確認する（ステップＳ１１９）。
【０１４６】
ｉ＝３ではない場合（ステップＳ１１９＿Ｎｏ）、ＣＰＵ２３は、変数ｉをインクリメントしてｉ＝ｉ＋１とし（ステップＳ１２０）、第２コマンドセットをメモリ１０に送信する。ステップＳ１１６に戻り、シーケンサ１４は、内部データ読み出し動作を実行する。
【０１４７】
ｉ＝３の場合（ステップＳ１１９＿Ｙｅｓ）、ＣＰＵ２３は、ブロックＢＬＫにおける書き込み動作を終了する。
【０１４８】
１．４  本実施形態に係る効果
本実施形態に係る構成であれば、チップ面積の増加を抑制できる。本効果につき詳述する。
【０１４９】
例えば、データ書き込み済みのメモリセルトランジスタＭＴの閾値電圧は、隣接するメモリセルトランジスタＭＴへの書き込み動作、または他のストリングユニットＳＵへの書き込み動作の際のディスターブ（disturb）等により、変動することがある。このため、１つのメモリセルグループＭＣＧへの４ページデータの書き込み動作を、第１書き込み動作と第２書き込み動作との２回に分けて実行する場合がある。この場合、メモリセルグループＭＣＧの選択順序に応じて、第１書き込み動作を実行した複数のメモリセルグループＭＣＧの４ページデータをコントローラのＲＡＭ内に保持しておく必要がある。例えば、ワード線ＷＬｊ及びストリングユニットＳＵ０〜ＳＵ３に対応する４つのメモリセルグループＭＣＧと、ワード線ＷＬ（ｊ＋１）及びストリングユニットＳＵ０〜ＳＵ３に対応する４つのメモリセルグループＭＣＧとに対して第１書き込み動作を実行してから、ワード線ＷＬｊ及びストリングユニットＳＵ０に対応するメモリセルグループＭＣＧに第２書き込み動作を実行する場合、８つのメモリセルグループＭＣＧの４ページデータ、すなわち３２ページ分のデータをＲＡＭに格納する必要がある。また、例えば、ストリングユニットＳＵが８個ある場合、ＲＡＭは６４ページ分のデータを格納するための記憶容量が必要となる。このように、ストリングユニットＳＵ数及びメモリセルグループＭＣＧの選択順序等に応じてＲＡＭの記憶容量を増加させると、チップ面積が増加する傾向にある。
【０１５０】
これに対し、本実施形態に係る構成であれば、メモリシステム１は、コントローラ２０にデータ変換回路２７を含み、メモリ１０にデータ復元制御回路１９を含む。これにより、メモリシステム１は、第１書き込み動作後の４ページ（ビット）データを２ページ（ビット）データに変換できる。更に、メモリシステム１は、変換された２ページデータと、メモリセルグループＭＣＧから読み出された第１書き込み動作後のデータとにより、４ページデータを復元し、第２書き込み動作を実行することができる。これにより、１つのメモリセルグループＭＣＧに対応してＲＡＭ２２に保存されるデータ量を４ページから２ページに低減できる。例えば、８つのメモリセルグループＭＣＧに対して必要なＲＡＭの記憶容量を３２ページから１６ページに低減できる。よって、メモリシステム１のチップ面積の増加を抑制できる。従って、メモリシステム１の製造コストの増加を抑制できる。
【０１５１】
更に、本実施形態に係る構成では、第２書き込み動作を実行する場合、コントローラ２０からメモリ１０に２ページデータを送信すればよいため、データの転送量を４ページから２ページに低減できる。従って、コントローラ２０からメモリ１０へのデータ転送時間を低減できる。
【０１５２】
更に、本実施形態に係る構成であれば、変換された２ビットデータがメモリセルトランジスタＭＴの隣り合う閾値分布の２ビットデータがグレイコードとなるように、データを割り付けることができる。従って、誤読み出しまたは誤書き込み等が生じた場合でも、２ビットデータの変動を１ビットに収めることができるため、データの信頼性を向上させることができる。
【０１５３】
２．第２実施形態
次に、第２実施形態について説明する。第２実施形態では、メモリシステム１の電源が遮断された際に、コントローラ２０が保持する４ページデータを２ページデータに変換して、メモリ１０に退避させる場合について説明する。以下、第１実施形態と異なる点を中心に説明する。
【０１５４】
２．１  ＲＡＭの構成
まず、ＲＡＭ２２の構成について、図１８を用いて説明する。
【０１５５】
図１８に示すように、本実施形態におけるＲＡＭ２２のページクラスタＣＬは、領域ＰＧ０〜ＰＧ３を含む。つまり、ページクラスタＣＬは、各々が４ページのデータを保持することが可能である。なお、本実施形態では、第１実施形態と同様に、８個のページクラスタＣＬ０〜ＣＬ７が設けられている場合について説明する。
【０１５６】
２．２  書き込み動作
次に、書き込み動作について説明する。本実施形態では、通常状態と電源遮断状態とでは、データの書き込み動作が異なる。通常状態の場合、コントローラ２０は、４ページデータから２ページデータへの変換を行わない。すなわち、第２書き込み動作においてもコントローラ２０からメモリ１０に４ページデータが送信される。そして、電源遮断状態になると、コントローラ２０は、ＲＡＭ２２に保存される４ページデータのうち、第１書き込み動作実行済みの４ページデータを２ページデータに変換する。そして、コントローラ２０は、メモリシステム１が有する容量素子に充電されている電荷を用いて、コントローラ２０内のデータをメモリセルアレイ１１の例えば管理領域内に退避させる（管理領域内にデータを書き込む）。管理領域内においてデータの退避に用いられるメモリセルトランジスタＭＴは、１ビット（２値）データを保持するＳＬＣ（single level cell）として機能する。そして、シーケンサ１４は、書き込み時間を短縮するため、１ビット（２値）データの書き込み動作（以下、ＳＬＣ書き込み動作と表記する）を実行する。すなわち、複数のページデータがそれぞれ異なるメモリセルグループＭＣＧに書き込まれる。
【０１５７】
２．３  通常状態における書き込み動作
次に、通常状態における書き込み動作について、第１実施形態と異なる点を中心に説明する。
【０１５８】
２．３．１  書き込み動作の全体の流れ
通常状態における書き込み動作の全体の流れについて、図１９を用いて説明する。なお、図１９の例は、１つのメモリセルグループＭＣＧへの書き込み動作を示しており、他のメモリセルグループＭＣＧへの書き込み動作は省略されている。
【０１５９】
図１９に示すように、第１実施形態の図１１で説明したステップＳ１０〜Ｓ１２と同様に、第１書き込み動作を実行する。
【０１６０】
４ページデータは、ＲＡＭ２２内の１つのページクラスタＣＬ内の領域ＰＧ０〜ＰＧ３にそれぞれ格納されている。第１書き込み動作が終了した後、ＣＰＵ２３は、４ページデータを含む第２書き込み動作命令をメモリ１０に送信する（ステップＳ２０）。
【０１６１】
シーケンサ１４は、図１１のステップＳ１７と同様に、４ビットデータを用いて第２書き込み動作を実行する。
【０１６２】
２．３．２  第２書き込み動作のコマンドシーケンス
次に、通常状態の第２書き込み動作のコマンドシーケンスについて、図２０を用いて説明する。なお、第１書き込み動作のコマンドシーケンスは、第１実施形態の図１２と同じである。
【０１６３】
図２０に示すように、まず、ＣＰＵ２３は、コマンド“８０ｈ”と、ＬｏｗｅｒページのアドレスＡＤＤ＿Ｌと、データＤＡＴ＿Ｌと、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータＤＡＴ＿Ｌをセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｌ”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１６４】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、ＭｉｄｄｌｅページのアドレスＡＤＤ＿Ｍと、データＤＡＴ＿Ｍと、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータＤＡＴ＿Ｍをセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｍ”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１６５】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、ＵｐｐｅｒページのアドレスＡＤＤ＿Ｕと、データＤＡＴ＿Ｕと、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４はレディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータＤＡＴ＿Ｕをセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＤＡＴ＿Ｕ”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１６６】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、ＴｏｐページのアドレスＡＤＤ＿Ｔと、データＤＡＴ＿Ｔと、コマンド“１０ｈ”とを、順にメモリ１０に送信する。
【０１６７】
コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータＤＡＴ＿Ｔをセンスアンプ１８に転送させる。そして、シーケンサ１４は、センスアンプ１８に格納されたデータＤＡＴ＿Ｌ、ＤＡＴ＿Ｍ、ＤＡＴ＿Ｕ、及びＤＡＴ＿Ｔに基づいて第２書き込み動作を実行する。
【０１６８】
なお、コントローラ２０からメモリ１０に、Ｌｏｗｅｒページデータ、Ｍｉｄｄｌｅページデータ、Ｕｐｐｅｒページデータ、及びＴｏｐページデータを送信する順序は任意に設定可能である。
【０１６９】
２．３．３  データの書き込み順序を示す書き込み動作の詳細な流れ
次に、データの書き込み順序を示す書き込み動作の詳細な流れについて、図２１及び図２２を用いて説明する。
【０１７０】
図２１及び図２２に示すように、第１実施形態の図１６及び図１７と異なる点は、ステップＳ１０８、Ｓ１０９、Ｓ１１６、及びＳ１１７が廃されている点である。すなわち、本実施形態では、コントローラ２０から第２コマンドセットを受信した後、シーケンサ１４は、内部データ読み出し動作及びデータ復元動作を省略して、第２書き込み動作を実行する。
【０１７１】
２．４  電源遮断状態における書き込み動作
次に、電源遮断状態における書き込み動作、すなわちデータの退避動作について説明する。
【０１７２】
２．４．１  電源遮断時の流れ
まず、電源遮断時の流れについて、図２３を用いて説明する。
【０１７３】
図２３に示すように、ＣＰＵ２３は、電源遮断を検知する（ステップＳ３０）と、ＲＡＭ２２内に保持されているデータがメモリ１０において第１書き込み動作が実行されていないデータがあるか確認する（ステップＳ３１）。
【０１７４】
第１書き込み動作が実行されていないデータがある場合（ステップＳ３１＿Ｙｅｓ）、ＣＰＵ２３は、Ｌｏｗｅｒページデータ、Ｍｉｄｄｌｅページデータ、Ｕｐｐｅｒページデータ、及びＴｏｐページデータそれぞれのＳＬＣ書き込み動作命令をメモリ１０に送信する（ステップＳ３２）。シーケンサ１４は、コントローラ２０からの命令に基づいてＬｏｗｅｒページデータ、Ｍｉｄｄｌｅページデータ、Ｕｐｐｅｒページデータ、及びＴｏｐページデータそれぞれのＳＬＣ書き込み動作を実行する（ステップＳ３３）。なお、コントローラ２０からメモリ１０に、Ｌｏｗｅｒページデータ、Ｍｉｄｄｌｅページデータ、Ｕｐｐｅｒページデータ、及びＴｏｐページデータを送信する順序は任意に設定可能である。
【０１７５】
ステップＳ３３のＳＬＣ書き込み動作が終了すると、ステップＳ３１に戻り、ＣＰＵ２３は、第１書き込み動作が実行されていないデータがあるか再度確認する。第１書き込み動作が実行されていないデータがなくなるまで、ステップＳ３１〜Ｓ３３のループが繰り返される。
【０１７６】
第１書き込み動作が実行されていないデータが無い場合（ステップＳ３１＿Ｎｏ）、ＣＰＵ２３は、第１書き込み動作実行済みのデータがあるか確認する（ステップＳ３４）。
【０１７７】
第１書き込み動作実行済みのデータがある場合（ステップＳ３４＿Ｙｅｓ）、データ変換回路２７は、ＲＡＭ２２の１つのページクラスタＣＬ内にある４ページデータを２ページ（Ｘ１ページ／Ｘ２ページ）データに変換する（ステップＳ３５）。
【０１７８】
データ変換後、ＣＰＵ２３は、Ｘ１ページデータ及びＸ２ページデータそれぞれのＳＬＣ書き込み動作命令をメモリ１０に送信する（ステップＳ３６）。シーケンサ１４は、コントローラ２０からの命令に基づいてＸ１ページデータ及びＸ２ページデータそれぞれのＳＬＣ書き込み動作を実行する（ステップＳ３７）。なお、コントローラ２０からメモリ１０に、Ｘ１ページデータ及びＸ２ページデータを送信する順序は任意に設定可能である。
【０１７９】
ステップＳ３７のＳＬＣ書き込み動作が終了すると、ステップＳ３４に戻り、ＣＰＵ２３は、第１書き込み動作実行済みのデータがあるか再度確認する。第１書き込み動作実行済みのデータがなくなるまで、ステップＳ３４〜Ｓ３７のループが繰り返される。
【０１８０】
第１書き込み動作実行済みのデータがない場合（ステップＳ３４＿Ｎｏ）、ＣＰＵ２３は、データの退避を終了させる（ステップＳ３８）。
【０１８１】
２．４．２  コマンドシーケンス
次に、コントローラ２０から半導体記憶装置に送信されるコマンドシーケンスについて、図２４を用いて説明する。図２４の例は、Ｘ１ページデータ及びＸ２ページデータのＳＬＣ書き込み動作を指示するコマンドシーケンスである。なお、以下の説明において、ＳＬＣ書き込み動作に対応するコマンドの組み合わせを「ＳＬＣコマンドセット」と表記する。図２４の例は、Ｘ１ページデータのＳＬＣ書き込み動作を指示するＳＬＣコマンドセットと、Ｘ２ページデータのＳＬＣ書き込み動作を指示するＳＬＣコマンドセットをそれぞれ示している。
【０１８２】
図２４に示すように、まず、ＣＰＵ２３は、コマンド“Ａ２ｈ”を発行してメモリ１０に送信する。コマンド“Ａ２ｈ”は、ＳＬＣ認識用のコマンドである。
【０１８３】
次に、ＣＰＵ２３は、コマンド“８０ｈ”と、管理領域内のアドレス“ＡＤＤ＿Ｓ１”と、データ“ＤＡＴ＿Ｘ１”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“８０ｈ”、アドレス“ＡＤＤ＿Ｓ１”、データ“ＤＡＴ＿Ｘ１”、及びコマンド“１０ｈ”の組み合わせが１つのＳＬＣコマンドセットである。
【０１８４】
コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ１”をセンスアンプ１８に転送させる。そして、シーケンサ１４は、センスアンプ１８に格納されたデータ“ＤＡＴ＿Ｘ１”に基づいてＳＬＣ書き込み動作を実行する。シーケンサ１４は、ＳＬＣ書き込み動作が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０１８５】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“Ａ２ｈ”と、コマンド“８０ｈ”と、管理領域内のアドレス“ＡＤＤ＿Ｓ２”と、データ“ＤＡＴ＿Ｘ２”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ２”をセンスアンプ１８に転送させる。そして、シーケンサ１４は、センスアンプ１８に格納されたデータ“ＤＡＴ＿Ｘ２”に基づいてＳＬＣ書き込み動作を実行する。
【０１８６】
２．５  電源復旧時の流れ
次に、電源復旧時の流れについて、２つの例を説明する。
【０１８７】
２．５．１  第１例における電源復旧時の流れ
まず、第１例における電源復旧時の流れについて説明する。
【０１８８】
２．５．１．１  電源復旧時の全体の流れ
第１例における電源復旧時の全体の流れについて、図２５を用いて説明する。図２５の例では、コントローラ２０がメモリセルアレイ１１の管理領域内のＳＬＣに退避させたＸ１ページデータとＸ２ページデータを１ページずつ読み出して（以下、ＳＬＣ読み出し動作と表記する）、第２書き込み動作を実行する場合について説明する。
【０１８９】
図２５に示すように、ＣＰＵ２３は、電源が復旧すると（ステップＳ４０）、まずＸ１ページデータのＳＬＣ読み出し動作命令をメモリ１０に送信する（ステップＳ４１）。シーケンサ１４は、コントローラ２０からの命令に基づいてＸ１ページデータのＳＬＣ読み出し動作を実行する（ステップＳ４２）。
【０１９０】
ＣＰＵ２３は、メモリ１０からＸ１ページデータを受信した後、Ｘ２ページデータのＳＬＣ読み出し動作命令をメモリ１０に送信する（ステップＳ４３）。シーケンサ１４は、コントローラ２０からの命令に基づいてＸ２ページデータのＳＬＣ読み出し動作を実行する（ステップＳ４４）。
【０１９１】
ＣＰＵ２３は、メモリ１０からＸ２ページデータを受信した後、ＥＣＣ回路２５において、Ｘ１ページデータ及びＸ２ページデータのＥＣＣ処理を実行する（ステップＳ４５）。
【０１９２】
ＣＰＵ２３は、ＥＣＣ処理後のＸ１ページデータをメモリ１０に転送する（ステップＳ４６）。シーケンサ１４は、Ｘ１ページデータをセンスアンプ１８に格納する（ステップＳ４７）。
【０１９３】
ＣＰＵ２３は、ＥＣＣ処理後のＸ２ページデータをメモリ１０に転送する（ステップＳ４８）。シーケンサ１４は、Ｘ２ページデータをセンスアンプ１８に格納する（ステップＳ４９）。
【０１９４】
ＣＰＵ２３は、Ｘ２ページデータの転送が終了すると、データ復元命令をメモリ１０に送信する（ステップＳ５０）。
【０１９５】
シーケンサ１４は、コントローラ２０からの命令に基づいて、内部データ読み出し動作を実行する（ステップＳ５１）。そして、データ復元制御回路１９は、２ビットデータと読み出したデータとから４ビットデータを復元する（ステップＳ５２）。
【０１９６】
ＣＰＵ２３は、４ビットデータの復元が終了すると、第２書き込み動作命令をメモリ１０に送信する（ステップＳ５３）。
【０１９７】
シーケンサ１４は、コントローラ２０からの命令に基づいて、復元した４ビットデータを用いて第２書き込み動作を実行する（ステップＳ５４）。
【０１９８】
２．５．１．２  コマンドシーケンス
次に、コントローラ２０から半導体記憶装置に送信されるコマンドシーケンスについて、２つの例を説明する。
【０１９９】
２．５．１．２．１  第１例のコマンドシーケンス
まず、第１例のコマンドシーケンスについて、図２６を用いて説明する。
【０２００】
図２６に示すように、まず、ＣＰＵ２３は、コマンド“Ａ２ｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ＿Ｓ１”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、Ｘ１ページデータのＳＬＣ読み出し動作を実行し、データレジスタ１７にデータ“ＤＡＴ＿Ｘ１”を保持する。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２０１】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、データレジスタ１７に保持されているデータ“ＤＡＴ＿Ｘ１”をメモリ１０から読み出す。
【０２０２】
ＣＰＵ２３は、Ｘ１ページデータのＳＬＣ読み出し動作が終了すると、コマンド“Ａ２ｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ＿Ｓ２”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、Ｘ２ページデータのＳＬＣ読み出し動作を実行し、データレジスタ１７にデータ“ＤＡＴ＿Ｘ２”を保持する。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２０３】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、データレジスタ１７に保持されているデータ“ＤＡＴ＿Ｘ２”をメモリ１０から読み出す。
【０２０４】
ＣＰＵ２３は、Ｘ１ページデータとＸ２ページデータのＥＣＣ処理が終了すると、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、データ“ＤＡＴ＿Ｘ１”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ１”をセンスアンプ１８に転送させる。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２０５】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ２”と、データ“ＤＡＴ＿Ｘ２”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ２”をセンスアンプ１８に転送させる。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２０６】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＹＹｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、内部データ読み出し動作及びデータ復元制御回路１９によるデータ復元動作を実行し、復元した４ビットデータをセンスアンプ１８に格納させる。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２０７】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＺＺｈ”と、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。従って、この場合、コントローラ２０からメモリ１０へのデータ転送は不要である。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、センスアンプ１８に格納されている４ビットデータを用いて第２書き込み動作を実行する。
【０２０８】
２．５．１．２．２  第２例のコマンドシーケンス
次に、第２例のコマンドシーケンスについて、図２７を用いて説明する。
【０２０９】
図２７に示すように、コントローラ２０におけるＸ１ページデータとＸ２ページデータのＥＣＣ処理までは、第１例の図２６と同じである。
【０２１０】
ＣＰＵ２３は、ＥＣＣ処理が終了すると、コマンド“ＸＸｈ”と、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、データ“ＤＡＴ＿Ｘ１”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ１”をセンスアンプ１８に転送させる。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２１１】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ２”と、データ“ＤＡＴ＿Ｘ２”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。
【０２１２】
コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ２”をセンスアンプ１８に転送させる。その後、シーケンサ１４は、内部データ読み出し動作を実行する。次に、データ復元制御回路１９は、Ｘ１ページデータ、Ｘ２ページデータ、及び読み出しデータから４ページデータを復元し、センスアンプ１８に転送させる。次に、シーケンサ１４は、センスアンプ１８に格納された４ページデータに基づいて第２書き込み動作を実行する。
【０２１３】
なお、コントローラ２０からメモリ１０に、Ｘ１ページデータ及びＸ２ページデータを送信する順序は任意に設定可能である。
【０２１４】
２．５．２  第２例における電源復旧時の流れ
次に、第２例における電源復旧時の全体の流れについて説明する。第２例では、第１例におけるＸ１ページデータとＸ２ページデータのＥＣＣ処理が省略されている。
【０２１５】
２．５．２．１  電源復旧時の全体の流れ
まず、第２例における電源復旧時の全体の流れについて、図２８を用いて説明する。  図２８に示すように、ＣＰＵ２３は、電源が復旧すると（ステップＳ４０）、まずＸ１ページデータの内部データ読み出し動作命令をメモリ１０に送信する（ステップＳ６０）。シーケンサ１４は、コントローラ２０からの命令に基づいてＸ１ページデータの内部データ読み出し動作を実行し、読み出したデータをセンスアンプ１８に格納する（ステップＳ６１）。
【０２１６】
ＣＰＵ２３は、メモリ１０におけるＸ１ページデータの内部データ読み出し動作が終了すると、Ｘ２ページデータの内部データ読み出し動作命令をメモリ１０に送信する（ステップＳ６２）。シーケンサ１４は、コントローラ２０からの命令に基づいてＸ２ページデータの内部データ読み出し動作を実行し、読み出したデータをセンスアンプ１８に格納する（ステップＳ６３）。
【０２１７】
以降の動作は第１例の図２５で説明したステップＳ５０〜Ｓ５４と同様である。
【０２１８】
２．５．２．２  コマンドシーケンス
次に、コントローラ２０から半導体記憶装置に送信されるコマンドシーケンスについて、２つの例を説明する。
【０２１９】
２．５．２．２．１  第１例のコマンドシーケンス
まず、第１例のコマンドシーケンスについて、図２９を用いて説明する。
【０２２０】
図２９に示すように、まず、ＣＰＵ２３は、コマンド“ＡＸ１ｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ＿Ｓ１”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“ＡＸ１ｈ”は、Ｘ１ページデータのＳＬＣ内部データ読み出し動作認識用のコマンドである。コマンド“００ｈ”は、読み出し動作を通知するコマンドである。コマンド“３０ｈ”は、読み出し動作の実行を指示するコマンドである。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、Ｘ１ページデータのＳＬＣ読み出し動作を実行し、データレジスタ１７にデータ“ＤＡＴ＿Ｘ１”を保持する。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２２１】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＡＸ２ｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ＿Ｓ２”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“ＡＸ２ｈ”は、Ｘ２ページデータのＳＬＣ内部データ読み出し動作認識用のコマンドである。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、Ｘ２ページデータのＳＬＣ読み出し動作を実行し、データレジスタ１７にデータ“ＤＡＴ＿Ｘ２”を保持する。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２２２】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＹＹｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、内部データ読み出し動作及びデータ復元制御回路１９によるデータ復元動作を実行し、復元した４ビットデータをセンスアンプ１８に格納させる。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２２３】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＺＺｈ”と、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。この場合、コントローラ２０からメモリ１０へのデータ転送は不要である。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、センスアンプ１８に格納されている４ビットデータを用いて第２書き込み動作を実行する。
【０２２４】
２．５．２．２．２  第２例のコマンドシーケンス
次に、第２例のコマンドシーケンスについて、図３０を用いて説明する。
【０２２５】
図３０に示すように、メモリ１０におけるＸ１ページデータとＸ２ページデータのＳＬＣ内部データ読み出し動作までは、第１例の図２９と同じである。
【０２２６】
ＣＰＵ２３は、ＳＬＣ内部データ読み出し動作が終了すると、コマンド“ＸＸｈ”と、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。
【０２２７】
コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ２”をセンスアンプ１８に転送させる。その後、シーケンサ１４は、内部データ読み出し動作を実行する。次に、データ復元制御回路１９は、Ｘ１ページデータ、Ｘ２ページデータ、及び読み出しデータから４ページデータを復元し、センスアンプ１８に転送させる。次に、シーケンサ１４は、センスアンプ１８に格納された４ページデータに基づいて第２書き込み動作を実行する。
【０２２８】
なお、コントローラ２０からメモリ１０に、Ｘ１ページデータ及びＸ２ページデータを送信する順序は任意に設定可能である。
【０２２９】
２．６  ＳＬＣ書き込み動作の詳細な流れ
次に、ＳＬＣ書き込み動作の詳細な流れについて、図３１を用いて説明する。
【０２３０】
図３１に示すように、まず、ＣＰＵ２３は、ＳＬＣに対応するブロックＢＬＫに対してＳＬＣ書き込み動作を実行する場合、ｊ＝０、すなわちワード線ＷＬ０を選択し、更にｉ＝０、すなわちストリングユニットＳＵ０を選択する（ステップＳ１３０）。そして、ＣＰＵ２３は、メモリ１０にＳＬＣコマンドセットを送信する。
【０２３１】
シーケンサ１４は、ＳＬＣコマンドセットに基づいて、ワード線ＷＬ０及びストリングユニットＳＵ０を選択してＳＬＣ書き込み動作を実行する（ステップＳ１３１）。
【０２３２】
次に、ＳＬＣ書き込み動作終了後、ＣＰＵ２３は、ストリングユニットＳＵｉの変数ｉがｉ＝３か確認する（ステップＳ１３２）。
【０２３３】
ｉ＝３ではない場合（ステップＳ１３２＿Ｎｏ）、ＣＰＵ２３は、変数ｉをインクリメントしてｉ＝ｉ＋１とし（ステップＳ１３３）、ＳＬＣコマンドセットをメモリ１０に送信する。ステップＳ１３１に戻り、シーケンサ１４は、ＳＬＣ書き込み動作を実行する。
【０２３４】
ｉ＝３の場合（ステップＳ１３２＿Ｙｅｓ）、ＣＰＵ２３は、ワード線ＷＬｊの変数ｊがｊ＝９５か確認する（ステップＳ１３４）。
【０２３５】
ｊ＝９５ではない場合（ステップＳ１３４＿Ｎｏ）、ＣＰＵ２３は、変数ｊをインクリメントしてｉ＝ｊ＋１とする（ステップＳ１３５）。そして、ＣＰＵ２３は、ステップＳ１３０に戻り、変数ｉ＝０を選択して、ＳＬＣコマンドセットをメモリ１０に送信する。
【０２３６】
ｊ＝９５の場合（ステップＳ１３４＿Ｙｅｓ）、ＣＰＵ２３は、対象ブロックＢＬＫにおけるＳＬＣ書き込み動作を終了する。
【０２３７】
２．７  本実施形態に係る効果
本実施形態に係る構成であれば、チップ面積の増加を抑制できる。本効果につき詳述する。
【０２３８】
電源遮断が発生した場合、メモリシステムは、揮発性メモリを用いたＲＡＭ内に格納されているデータを不揮発性のメモリに退避させることがある。この場合、メモリシステム内の容量素子に充電されている電荷を用いて、メモリへのデータの書き込みが行われる。従って、ＲＡＭに格納されているデータのページ数が多くなるとデータの転送時間が長くなるため、これに合わせて容量素子の容量を増やす必要があり、チップ面積が増加する傾向にある。
【０２３９】
これに対し、本実施形態に係る構成であれば、メモリシステム１は、コントローラ２０にデータ変換回路２７を含み、メモリ１０にデータ復元制御回路１９を含む。これにより、メモリシステム１は、電源遮断状態になると、第１書き込み動作後の４ページ（ビット）データを２ページ（ビット）データに変換して、メモリ１０に書き込むことができる。更に、メモリシステム１は、変換された２ページデータと、メモリセルグループＭＣＧから読み出された第１書き込み動作後のデータとにより、４ページデータを復元し、第２書き込み動作を実行することができる。これにより、電源遮断状態でメモリ１０に書き込むデータ量を削減できる。よって、容量素子の容量の増加を抑制でき、メモリシステム１のチップ面積の増加を抑制できる。従って、メモリシステム１の製造コストの増加を抑制できる。
【０２４０】
更に、本実施形態に係る構成では、電源復旧後に第２書き込み動作を実行する場合、コントローラ２０からメモリ１０に２ページデータを送信すればよいため、データの転送量を４ページから２ページに低減できる。従って、コントローラ２０からメモリ１０へのデータ転送時間を低減できる。
【０２４１】
更に、本実施形態に係る構成であれば、変換された２ビットデータがメモリセルトランジスタＭＴの隣り合う閾値分布に対してグレイコードとなるように、データを割り付けることができる。従って、誤読み出しまたは誤書き込み等が生じた場合でも、２ビットデータの変動を１ビットに収めることができるため、データの信頼性を向上させることができる。
【０２４２】
なお、第１実施形態と第２実施形態を組み合わせてもよい。すなわち、通常状態と電源遮断状態の両方の状態において、４ビットデータから２ビットデータへの変換を行ってもよい。
【０２４３】
３．第３実施形態
次に、第３実施形態について説明する。第３実施形態では、第１実施形態とは異なるデータの書き込み順序について説明する。以下、第１実施形態と異なる点を中心に説明する。
【０２４４】
３．１  データの書き込み順序
データの書き込み順序について、図３２を用いて説明する。図３２は、１つのブロックＢＬＫにおけるストリングユニットＳＵの選択順序を示している。
【０２４５】
図３２に示すように、まず、シーケンサ１４は、第０番目〜第３番目の動作として、ワード線ＷＬ０を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第１書き込み動作を実行する。
【０２４６】
次に、シーケンサ１４は、第４番目及び第５番目の動作として、ストリングユニットＳＵ０を選択して、ワード線ＷＬ１を選択した第１書き込み動作と、ワード線ＷＬ０を選択した第２書き込み動作を実行する。また、シーケンサ１４は、第６番目〜第１１番目の動作として、ストリングユニットＳＵ１からＳＵ３までを順に選択して、第４番目及び第５番目の動作と同じ手順で、ワード線ＷＬ１を選択した第１書き込み動作とワード線ＷＬ０を選択した第２書き込み動作とを交互に実行する。
【０２４７】
次に、シーケンサ１４は、第１２番目〜第１９番目の動作として、第４番目〜第１１番目の動作と同様に、ワード線ＷＬ２を選択した第１書き込み動作とワード線ＷＬ１を選択した第２書き込み動作とをストリングユニットＳＵ０〜ＳＵ３の順に実行する。
【０２４８】
すなわち、シーケンサ１４は、ワード線ＷＬ（ｊ＋１）を選択した第１書き込み動作とワード線ＷＬｊを選択した第２書き込み動作とをストリングユニットＳＵ０〜ＳＵ３の順に実行する。
【０２４９】
シーケンサ１４は、第７５６番目〜第７６３番目の動作として、ワード線ＷＬ９５を選択した第１書き込み動作とワード線ＷＬ９４を選択した第２書き込み動作とをストリングユニットＳＵ０〜ＳＵ３の順に実行する。
【０２５０】
次に、シーケンサ１４は、第７６４番目〜７６７番目の動作として、ワード線ＷＬ９５を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した第２書き込み動作を実行して、ブロックＢＬＫにおける書き込み動作を終了する。
【０２５１】
上記の書き込み順序で書き込み動作を実行する場合、ＲＡＭ２２には、５個以上のページクラスタＣＬが設けられる。例えば、ワード線ＷＬ０及びストリングユニットＳＵ０に対応するメモリセルグループＭＣＧに第２書き込み動作（第５番目の書き込み動作）を実行する場合、第０番目〜第４番目の書き込み動作（第１書き込み動作）を実行した５つのメモリセルグループＭＣＧの各々に対応する２ページデータをＲＡＭ２２内に格納しておくため、５個のページクラスタＣＬが用いられる。
【０２５２】
３．２  本実施形態に係る効果
本実施形態に係る構成を、第１及び第２実施形態に適用できる。
【０２５３】
４．第４実施形態
次に、第４実施形態について説明する。第４実施形態では、メモリ１０がデータの変換及び復元を実行する場合の書き込み動作について３つの例を説明する。以下、第１実施形態と異なる点を中心に説明する。
【０２５４】
４．１  第１例
まず、第１例の書き込み動作について説明する。第１例では、メモリ１０が変換した２ページデータをＲＡＭ２２内に格納する場合について説明する。
【０２５５】
４．１．１  メモリシステムの構成
まず、メモリシステム１の全体構成について、図３３を用いて説明する。なお、図３３の例では、各ブロックの接続の一部を矢印線により示しているが、各ブロック間の接続はこれに限定されない。
【０２５６】
図３３に示すように、第１実施形態の図１と異なる点は、コントローラ２０においてデータ変換回路２７が廃されており、メモリ１０は、データ変換／復元制御回路１９Ｂを含む点である。
【０２５７】
データ変換／復元制御回路１９Ｂは、例えば、メモリ１０に含まれるメモリセルトランジスタが、４ビット（１６値）データを保持するＱＬＣ（quad level cell）である場合、ＱＬＣに対応する４ビットデータを２ビットデータに変換する。また、データ変換／復元制御回路１９Ｂは、２ビットの変換データと、メモリセルアレイ１１から読み出したデータとをデータレジスタ１７内に保持し演算することにより、ＱＬＣに対応する４ビットデータを復元する。なお、データ変換／復元制御回路１９Ｂは、シーケンサ１４内に設けられてもよい。更には、データ変換回路とデータ復元制御回路とが別々に設けられてもよい。更に、データ変換／復元制御回路１９Ｂが変換するデータのビット数は任意に設定可能である。
【０２５８】
４．１．２  書き込み動作の全体の流れ
次に、第１例の書き込み動作の全体の流れについて、図３４を用いて説明する。なお、図３４の例は、１つのメモリセルグループＭＣＧへの書き込み動作を示しており、他のメモリセルグループＭＣＧへの書き込み動作は省略されている。
【０２５９】
図３４に示すように、第１実施形態の図１１で説明したステップＳ１０〜Ｓ１２と同様に、第１書き込み動作を実行する。
【０２６０】
第１書き込み動作実行後、データ変換／復元制御回路１９Ｂは、４ページデータを２ページ（Ｘ１ページ／Ｘ２ページ）データに変換する（ステップＳ７０）。
【０２６１】
変換されたＸ１ページデータ及びＸ２ページデータは、コントローラ２０に送信され、ＲＡＭ２２内の１つのページクラスタＣＬに格納される（ステップＳ７１）。
【０２６２】
なお、第１書き込み動作中に、データ変換／復元制御回路１９Ｂはデータ変換を実行してもよく、Ｘ１ページデータ及びＸ２ページデータはコントローラ２０に送信されてもよく、更には、Ｘ１ページデータ及びＸ２ページデータはＲＡＭ２２内の１つのページクラスタＣＬに格納されてもよい。
【０２６３】
データ格納後の動作は、第１実施形態の図１１で説明したステップＳ１４〜Ｓ１７と同様である。データ変換／復元制御回路１９Ｂは、コントローラ２０から受信した２ページデータと読み出しデータから４ページ（Ｔｏｐページ／Ｕｐｐｅｒページ／Ｍｉｄｄｌｅページ／Ｌｏｗｅｒページ）データを復元する。なお、データ格納後、図示せぬ他のメモリセルグループＭＣＧに対応する第１書き込み動作、データ変換、及びデータ格納を実行した後に、ステップＳ１４を実行してもよい。
【０２６４】
４．１．３  コマンドシーケンス
次に、コントローラ２０から半導体記憶装置に送信されるコマンドシーケンスについて、２つの例を説明する。
【０２６５】
４．１．３．１  第１例のコマンドシーケンス
まず、第１例のコマンドシーケンスについて、図３５を用いて説明する。
【０２６６】
図３５に示すように、まず、ＣＰＵ２３は、コマンド“０Ｄｈ”と、コマンド“８０ｈ”と、Ｌｏｗｅｒページのアドレス“ＡＤＤ＿Ｌ”と、データ“ＤＡＴ＿Ｌ”と、コマンド“１Ａｈ”とを、続けてメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｌ”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２６７】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｍｉｄｄｌｅページのアドレス“ＡＤＤ＿Ｍ”と、データ“ＤＡＴ＿Ｍ”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｍ”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２６８】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｕｐｐｅｒページのアドレス“ＡＤＤ＿Ｕ”と、データ“ＤＡＴ＿Ｕ”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４はレディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｕ”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２６９】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｔｏｐページのアドレス“ＡＤＤ＿Ｔ”と、データ“ＤＡＴ＿Ｔ”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｔ”をセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８に格納されたデータ“ＤＡＴ＿Ｌ”、“ＤＡＴ＿Ｍ”、“ＤＡＴ＿Ｕ”、及び“ＤＡＴ＿Ｔ”に基づいて第１書き込み動作を実行する。第１書き込み動作実行後、データ変換／復元制御回路１９Ｂは、４ページデータを２ページデータに変換する。変換後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２７０】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、データ“ＤＡＴ＿Ｘ１”及び“ＤＡＴ＿Ｘ２”をメモリ１０から読み出す。
【０２７１】
なお、シーケンサ１４は、第１書き込み動作中に、データ変換処理を実行し、データ変換後のデータを出力してもよい。
【０２７２】
次に、第２書き込み動作について説明する。
【０２７３】
ＣＰＵ２３は、データ“ＤＡＴ＿Ｘ１”及び“ＤＡＴ＿Ｘ２”を読み出した後、コマンド“ＸＸｈ”と、コマンド“８０ｈ”と、Ｘ１ページのアドレス“ＡＤＤ＿Ｘ１”と、データ“ＤＡＴ＿Ｘ１”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４はレディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ１”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２７４】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｘ２ページのアドレス“ＡＤＤ＿Ｘ２”と、データ“ＤＡＴ＿Ｘ２”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。
【０２７５】
コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ２”をセンスアンプ１８に転送させる。その後、シーケンサ１４は、内部データ読み出し動作を実行する。次に、データ復元制御回路１９は、Ｘ１ページデータ、Ｘ２ページデータ、及び読み出しデータから４ページデータを復元し、センスアンプ１８に転送させる。次に、シーケンサ１４は、センスアンプ１８に格納された４ページデータに基づいて第２書き込み動作を実行する。
【０２７６】
４．１．３．２  第２例のコマンドシーケンス
次に、第２例のコマンドシーケンスについて、図３６を用いて説明する。
【０２７７】
図３６に示すように、ＣＰＵ２３がデータ“ＤＡＴ＿Ｘ１”及び“ＤＡＴ＿Ｘ２”をメモリ１０から読み出すまでは、第１例の図３５と同じである。
【０２７８】
ＣＰＵ２３は、データ“ＤＡＴ＿Ｘ１”及び“ＤＡＴ＿Ｘ２”を読み出した後、コマンド“８０ｈ”と、Ｘ１ページのアドレス“ＡＤＤ＿Ｘ１”と、データ“ＤＡＴ＿Ｘ１”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４はレディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ１”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２７９】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｘ２ページのアドレス“ＡＤＤ＿Ｘ２”と、データ“ＤＡＴ＿Ｘ２”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｘ２”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２８０】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＹＹｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、内部データ読み出し動作及びデータ復元制御回路１９によるデータ復元動作を実行し、復元した４ビットデータをセンスアンプ１８に格納させる。データ格納後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２８１】
次に、ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＺＺｈ”と、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、センスアンプ１８に格納されている４ビットデータを用いて第２書き込み動作を実行する。
【０２８２】
なお、コントローラ２０からメモリ１０に、Ｘ１ページデータ及びＸ２ページデータを送信する順序は任意に設定可能である。
【０２８３】
４．２  第２例
次に、第２例の書き込み動作について説明する。第２例では、メモリ１０が変換した２ページデータを、例えばメモリセルアレイ１１の管理領域のＳＬＣに格納する場合について説明する。
【０２８４】
４．２．１  メモリシステムの構成
まず、第２例のメモリシステムの全体構成について説明する。メモリシステム１の全体構成は、第１例の図３３と同じである。
【０２８５】
４．２．２  書き込み動作の全体の流れ
次に、第２例の書き込み動作の全体の流れについて、図３７を用いて説明する。なお、図３７の例は、１つのメモリセルグループＭＣＧへの書き込み動作を示しており、他のメモリセルグループＭＣＧへの書き込み動作は省略されている。
【０２８６】
図３７に示すように、第１実施形態の図１１で説明したステップＳ１０〜Ｓ１２と同様に、第１書き込み動作を実行する。
【０２８７】
第１書き込み動作実行後、データ変換／復元制御回路１９Ｂは、４ページデータを２ページ（Ｘ１ページ／Ｘ２ページ）データに変換する（ステップＳ７０）。
【０２８８】
シーケンサ１４は、変換されたＸ１ページデータ及びＸ２ページデータのＳＬＣ書き込み動作を実行し、それぞれのデータを、例えばメモリセルアレイ１１の管理領域内の異なるメモリセルグループＭＣＧにそれぞれ格納する（ステップＳ７２）。
【０２８９】
ＣＰＵ２３は、ＳＬＣ書き込み動作終了後、メモリ１０に第２書き込み動作命令を送信する（ステップＳ７３）。このとき、第２コマンドセットには、２ページデータは付与されない。なお、ＳＬＣ書き込み動作終了後、図示せぬ他のメモリセルグループＭＣＧに対応する第１書き込み動作、データ変換、及びＳＬＣ書き込み動作を実行した後に、ステップＳ７３を実行してもよい。
【０２９０】
シーケンサ１４は、コントローラ２０からの命令に基づいて、まず、管理領域内のＸ１ページデータ及びＸ２ページデータのＳＬＣ内部データ読み出し動作を実行した後（ステップＳ７４）、第１書き込み動作が実行されたメモリセルグループＭＣＧの内部データ読み出し動作を実行する（ステップＳ１５）。
【０２９１】
データ変換／復元制御回路１９Ｂは、読み出したデータから４ページ（Ｔｏｐページ／Ｕｐｐｅｒページ／Ｍｉｄｄｌｅページ／Ｌｏｗｅｒページ）データを復元する（ステップＳ１６）。
【０２９２】
シーケンサ１４は、復元された４ビットデータを用いて第２書き込み動作を実行する（ステップＳ１７）。
【０２９３】
４．２．３  コマンドシーケンス
次に、コントローラ２０から半導体記憶装置に送信されるコマンドシーケンスについて、図３８を用いて説明する。
【０２９４】
図３８に示すように、ＣＰＵ２３は、第１例と同じ第１コマンドセットをメモリ１０に送信する。シーケンサ１４は、第１コマンドセットを受信すると、第１書き込み動作実行後に、データ変換／復元制御回路１９Ｂにデータ変換を実行させた後、変換したデータのＳＬＣ書き込み動作を実行する。なお、シーケンサ１４は、データ変換／復元制御回路１９Ｂにデータ変換を実行させて、変換したデータのＳＬＣ書き込み動作を実行した後に、第１書き込み動作を実行してもよい。
【０２９５】
ＣＰＵ２３は、ＳＬＣ書き込み動作終了後、コマンド“ＡＡｈ”と、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“ＡＡｈ”は、データ復元と第２書き込み動作認識用のコマンドである。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、内部データ読み出し動作及びデータ変換／復元制御回路１９Ｂによるデータ復元動作を実行した後、復元した４ビットデータに基づく第２書き込み動作を実行する。
【０２９６】
４．３  第３例
次に、第３例の書き込み動作について説明する。第３例では、第２例において、変換したデータのＳＬＣ書き込み動作を実行した後に、第１書き込み動作を実行する場合のコマンドシーケンスについて説明する。以下、第２例と異なる点を中心に説明する。
【０２９７】
４．３．１  コマンドシーケンス
コントローラ２０から半導体記憶装置に送信されるコマンドシーケンスについて、図３９及び図４０を用いて説明する。
【０２９８】
図３９に示すように、まず、ＣＰＵ２３は、コマンド“０Ｄｈ”と、コマンド“８０ｈ”と、Ｌｏｗｅｒページのアドレス“ＡＤＤ＿Ｌ”と、データ“ＤＡＴ＿Ｌ”と、コマンド“１Ａｈ”とを、続けてメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｌ”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０２９９】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｍｉｄｄｌｅページのアドレス“ＡＤＤ＿Ｍ”と、データ“ＤＡＴ＿Ｍ”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｍ”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０３００】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｕｐｐｅｒページのアドレス“ＡＤＤ＿Ｕ”と、データ“ＤＡＴ＿Ｕ”と、コマンド“１Ａｈ”とを、順にメモリ１０に送信する。コマンド“１Ａｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４はレディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｕ”をセンスアンプ１８に転送させる。データ転送後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０３０１】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、Ｔｏｐページのアドレス“ＡＤＤ＿Ｔ”と、データ“ＤＡＴ＿Ｔ”と、コマンド“１Ｘｈ”とを、順にメモリ１０に送信する。コマンド“１Ｘｈ”は、４ページデータを２ページデータに変換するように命令するコマンドである。コマンド“１Ｘｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、データレジスタ１７に保持されたデータ“ＤＡＴ＿Ｔ”をセンスアンプ１８に転送させる。そして、データ変換／復元制御回路１９Ｂは、４ページデータを２ページデータに変換する。変換した２ページデータ及び、外部より入力された４ページデータは、データレジスタ１７及びセンスアンプ１８に保持される。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０３０２】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、例えば、データレジスタ１７の保持されているデータ“ＤＡＴ＿Ｘ１”のＳＬＣ書き込み動作を実行する。ＳＬＣ書き込み動作後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０３０３】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、アドレス“ＡＤＤ＿Ｘ２”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、例えば、データレジスタ１７の保持されているデータ“ＤＡＴ＿Ｘ２”のＳＬＣ書き込み動作を実行する。ＳＬＣ書き込み動作後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０３０４】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、アドレス“ＡＤＤ”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、例えば、データレジスタ１７の保持されているデータ“ＤＡＴ＿Ｌ”、“ＤＡＴ＿Ｍ”、“ＤＡＴ＿Ｕ”、及び“ＤＡＴ＿Ｔ”のデータに基づき、ＱＬＣの第１書き込み動作を実行する。
【０３０５】
次に、例えば、隣接セル及び他のストリングの書き込み動作など行った後、第１書き込み動作を実行したメモリセルトランジスタＭＴについて第２書き込み動作を行う。
【０３０６】
第２書き込み動作について、具体的に説明する。
【０３０７】
図４０に示すように、まず、ＣＰＵ２３は、コマンド“ＡＸ１ｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ＿Ｘ１”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、Ｘ１ページデータのＳＬＣ読み出し動作を実行し、データレジスタ１７にデータ“ＤＡＴ＿Ｘ１”を保持する。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０３０８】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＡＸ２ｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ＿Ｘ２”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、Ｘ２ページデータのＳＬＣ読み出し動作を実行し、データレジスタ１７にデータ“ＤＡＴ＿Ｘ２”を保持する。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０３０９】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“ＹＹｈ”と、コマンド“００ｈ”と、アドレス“ＡＤＤ”と、コマンド“３０ｈ”とを、順にメモリ１０に送信する。コマンド“３０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｌ”レベルにして、内部データ読み出し動作及びデータ変換／復元制御回路１９Ｂによるデータ復元動作を実行し、復元した４ビットデータをセンスアンプ１８に格納させる。その後、シーケンサ１４は、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０３１０】
ＣＰＵ２３は、“Ｈ”レベルのレディビジー信号ＲＢｎを受信すると、コマンド“８０ｈ”と、アドレス“ＡＤＤ”と、コマンド“１０ｈ”とを、順にメモリ１０に送信する。コマンド“１０ｈ”がコマンドレジスタ１２に格納されると、シーケンサ１４は、センスアンプ１８に格納されている４ビットデータを用いて第２書き込み動作を実行する。
【０３１１】
４．４  本実施形態に係る効果
本実施形態に係る構成であれば、第１実施形態と同様の効果が得られる。
【０３１２】
更に、本実施形態に係る第２例の構成であれば、第１書き込み動作実行後のデータをＲＡＭ２２に格納しなくてもよいため、ＲＡＭ２２の記憶容量を低減できる。
【０３１３】
５．第５実施形態  
次に、第５実施形態について説明する。第５実施形態では、ＳＬＣ書き込み動作及びＳＬＣ読み出し動作の一例について説明する。以下、第１乃至第４実施形態と異なる点を中心に説明する。
【０３１４】
５．１  メモリシステムの構成
まず、メモリシステム１の構成について説明する。本実施形態に係るメモリシステム１では、第１実施形態の図１で説明したデータ変換回路２７及びデータ復元制御回路１９が廃されてもよい。その他の構成は、第１実施形態の図１と同様である。
【０３１５】
５．２  メモリセルアレイの構成
まず、メモリセルアレイ１１の構成について、図４１を用いて説明する。
【０３１６】
図４１に示すように、メモリセルアレイ１１は、例えば、ＱＬＣに対応する２０個のＱＬＣブロックＢＬＫ（ＱＢ０〜ＱＢ１９）と、ＳＬＣに対応する６個のＳＬＣブロックＢＬＫ（ＳＢ０〜ＳＢ５）を備えている。
【０３１７】
例えば、１つのＱＬＣブロックＱＢにデータを書き込む場合、対応するＳＬＣブロックＳＢは、２つ必要とされる。但し、ＳＬＣブロックＳＢを多くすると、実効的な記憶容量が減ってしまうため、ＳＬＣブロックＳＢの領域は、制限される場合がある。このため、ＳＬＣブロックＳＢにおける書き込み／消去回数は、ＱＬＣブロックＱＢよりも多くなる傾向にある。
【０３１８】
５．３  ２回の書き込み動作に対応するＳＬＣ書き込み動作
次に、２回の書き込み動作に対応するＳＬＣ書き込み動作の一例について、図４２を用いて説明する。本例では、ＳＬＣ書き込み動作に対応する１つのメモリセルグループＭＣＧに対して、データを２回書き込むことができる。
【０３１９】
本実施形態では、プログラム動作において、閾値電圧を上昇させる動作を「“０”書き込み」と表記する。他方で、閾値電圧を維持させる動作を「“１”書き込み」と表記する。以下、“０”書き込みに対応するデータを“０”データと表記し、“１”書き込みに対応するデータを“１”データと表記する。
【０３２０】
図４２に示すように、１回目の書き込み動作では、書き込み対象のメモリセルトランジスタＭＴの閾値電圧が“Ｅｒ”レベルから“Ａ”レベルに上昇するようにデータを書き込む。このときのベリファイ電圧をＶｆｙＡとすると、“Ｅｒ”レベルにおけるメモリセルトランジスタＭＴの閾値電圧（“１”書き込み）は、電圧ＶｆｙＡ未満である。“Ａ”レベルにおけるメモリセルトランジスタＭＴの閾値電圧（“０”書き込み）は、電圧ＶｆｙＡ以上である。
【０３２１】
２回目の書き込み動作では、書き込み対象のメモリセルトランジスタＭＴの閾値電圧が“Ｂ”レベルに上昇するようにデータを書き込む。このときのベリファイ電圧をＶｆｙＢとすると、“Ｅｒ”レベル及び“Ａ”レベルにおけるメモリセルトランジスタＭＴの閾値電圧（“１”書き込み）は、電圧ＶｆｙＢ未満である。“Ｂ”レベルにおけるメモリセルトランジスタＭＴの閾値電圧（“０”書き込み）は、電圧ＶｆｙＢ以上である。
【０３２２】
２回目のデータを書き込むと、１回目のデータは読み出しできなくなるが、本実施形態においては、ＳＬＣのデータは、ＱＬＣの第２書き込み動作が終了すると不要になる。このため、１回目のデータが不要となったメモリセルグループＭＣＧに対して、２回目のデータを書き込む。
【０３２３】
５．４  ２回の書き込み動作に対応するデータの書き込み順序
次に、２回の書き込み動作に対応するデータの書き込み順序について、２つの例を説明する。
【０３２４】
５．４．１  第１例
まず、第１例について、図４３を用いて説明する。図４３は、１つのブロックＢＬＫにおけるストリングユニットＳＵの選択順序を示している。破線で上下２段に区切られた１つの実線の四角枠は、１つのメモリセルグループＭＣＧを示しており、四角枠の上段は、２回目の書き込み動作を示し、四角枠の下段は、１回目の書き込み動作を示している。
【０３２５】
図４３に示すように、まず、シーケンサ１４は、第０番目〜第３番目の動作として、ワード線ＷＬ０を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３２６】
次に、シーケンサ１４は、第４番目〜第７番目の動作として、ワード線ＷＬ０を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。
【０３２７】
次に、シーケンサ１４は、第８番目〜第１１番目の動作として、ワード線ＷＬ１を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３２８】
次に、シーケンサ１４は、第１２番目〜第１５番目の動作として、ワード線ＷＬ１を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。
【０３２９】
次に、シーケンサ１４は、第１６番目〜第１９番目の動作として、ワード線ＷＬ２を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３３０】
次に、シーケンサ１４は、第２０番目〜第２３番目の動作として、ワード線ＷＬ２を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。
【０３３１】
すなわち、シーケンサ１４は、ワード線ＷＬｊ且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行した後、ワード線ＷＬｊ且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。次に、シーケンサ１４は、ワード線ＷＬ（ｊ＋１）を選択して同様の動作を繰り返す。
【０３３２】
シーケンサ１４は、第７５２番目〜第７５５番目の動作として、ワード線ＷＬ９４を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３３３】
次に、シーケンサ１４は、第７５６番目〜第７５９番目の動作として、ワード線ＷＬ９４を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。
【０３３４】
次に、シーケンサ１４は、第７６０番目〜第７６３番目の動作として、ワード線ＷＬ９５を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３３５】
次に、シーケンサ１４は、第７６４番目〜第７６７番目の動作として、ワード線ＷＬ９５を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行して、ブロックＢＬＫにおける書き込み動作を終了する。
【０３３６】
シーケンサ１４は、コントローラ２０から送信されたアドレスＡＤＤ及びデータＤＡＴに基づいて、上記の順番で書き込み動作を実行する。
【０３３７】
なお、第１回目の書き込み後、第２回目の書き込み前に、第１回目のデータが書き込まれているセルに対して、消去動作、若しくは、少し閾値レベルを消去側にするために弱消去動作を行ってもよい。この場合、ワード線ＷＬ毎に、消去動作又は、弱消去動作を行ってもよい。
【０３３８】
５．４．２  第２例
次に、第２例について、図４４を用いて説明する。図４４は、１つのブロックＢＬＫにおけるストリングユニットＳＵの選択順序を示している。
【０３３９】
図４４に示すように、まず、シーケンサ１４は、第０番目〜第３番目の動作として、ワード線ＷＬ０を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３４０】
次に、シーケンサ１４は、第４番目〜第７番目の動作として、ワード線ＷＬ１を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３４１】
次に、シーケンサ１４は、第８番目〜第１１番目の動作として、ワード線ＷＬ２を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３４２】
すなわち、シーケンサ１４は、ワード線ＷＬｊ且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行した後、ワード線ＷＬ（ｊ＋１）を選択して同様の動作を繰り返す。
【０３４３】
シーケンサ１４は、第３７６番目〜第３７９番目の動作として、ワード線ＷＬ９４を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３４４】
次に、シーケンサ１４は、第３８０番目〜第３８３番目の動作として、ワード線ＷＬ９５を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した１回目の書き込み動作を実行する。
【０３４５】
シーケンサ１４は、ワード線ＷＬ０〜ＷＬ９５に対応する各メモリセルグループＭＣＧにおいて、１回目の書き込み動作が終了すると、ワード線ＷＬ０〜ＷＬ９５に対応する各メモリセルグループＭＣＧにおいて、２回目の書き込み動作を実行する。
【０３４６】
より具体的には、シーケンサ１４は、第３８４番目〜第３８７番目の動作として、ワード線ＷＬ０を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。
【０３４７】
次に、シーケンサ１４は、第３８８番目〜第３９１番目の動作として、ワード線ＷＬ１を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。
【０３４８】
次に、シーケンサ１４は、第３９２番目〜第３９５番目の動作として、ワード線ＷＬ１を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。
【０３４９】
すなわち、シーケンサ１４は、ワード線ＷＬｊ且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行した後、ワード線ＷＬ（ｊ＋１）を選択して同様の動作を繰り返す。
【０３５０】
シーケンサ１４は、第７６０番目〜第７６３番目の動作として、ワード線ＷＬ９４を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行する。
【０３５１】
次に、シーケンサ１４は、第７６４番目〜第７６７番目の動作として、ワード線ＷＬ９５を選択し且つストリングユニットＳＵ０〜ＳＵ３を順に選択した２回目の書き込み動作を実行して、ブロックＢＬＫにおける書き込み動作を終了する。
【０３５２】
シーケンサ１４は、コントローラ２０から送信されたアドレスＡＤＤ及びデータＤＡＴに基づいて、上記の順番で書き込み動作を実行する。
【０３５３】
なお、本例では、ワード線ＷＬ０〜ＷＬ９５に対応する各メモリセルグループＭＣＧに１回目の書き込み動作を行った後に、２回目の書き込み動作を行う。このため、２回目の書き込み動作で“１”データを書き込む場合、メモリセルトランジスタＭＴのチャネルのブースト効率が落ちてしまう可能性がある。この場合は、２回目の書き込み動作における電圧Ｖｐａｓｓの電圧値を１回目の書き込み動作時の電圧値よりも高くしてもよい。
【０３５４】
更に、選択ワード線ＷＬ及び選択ゲート線ＳＧＤの電圧値は、第１回目の書き込み時と、第２回目の書き込み時とで、異なっていてもよい。
【０３５５】
また、第１回目の書き込み後、第２回目の書き込み前に、第１回目のデータが書き込まれているセルに対して、消去動作、若しくは、少し閾値レベルを消去側にするために弱消去動作を行ってもよい。この場合、ブロック単位で、消去動作、または弱消去動作を行ってもよい。
【０３５６】
更に、第１例及び第２例において、シーケンサ１４は、１つのワード線ＷＬに対応するストリングユニットＳＵ０〜ＳＵ３を順に選択し書き込み動作を実行したが、１つのストリングユニットＳＵを選択し且つワード線ＷＬ０〜９５を順に選択した書き込み動作を実行し、次に他のストリングユニットＳＵを選択し、同様の動作を繰り返してもよい。
【０３５７】
更に、第１例及び第２例において、シーケンサ１４がコントローラ２０から送信されたアドレスＡＤＤ及びデータＤＡＴに基づいて書き込み動作を実行したが、２回目の書き込み動作の際に、コントローラ２０から２回目の書き込み動作が行われることを示すコマンドを発行してもよい。コントローラ２０が書き込み状態を管理するテーブルを有しており、このテーブルの情報に基づいてコマンドを発行するようにしてもよい。この場合、コントローラ２０は、あるブロックＢＬＫに対して１回目の書き込み動作が終わった後、２回目の書き込み動作を行う前に、テーブルの情報を更新することにより擬似的な消去動作を行ってもよい。この擬似的な消去動作は、コントローラ２０からメモリ１０へ通知される必要はなく、コントローラ２０の内部で処理されるようにしてもよい。
【０３５８】
５．５  ２回の書き込み動作に対応するＳＬＣ読み出し動作
次に、２回の書き込み動作に対応するＳＬＣ読み出し動作の一例について、図４５を用いて説明する。図４５の例は、書き込まれたデータに、１回目のデータと２回目のデータとを区別するためのフラグセルが含まれている場合について説明する。なお、信頼性確保のために、フラグセルは複数あってもよい。この場合、多数決の結果、または”０”の数が規定値以上書き込まれている場合に、フラグセルは書き込まれているとしてもよい。また、フラグセルを設けず、コントローラ２０が、１回目のデータと２回目のデータとを区別して、異なる読み出し命令を発行してもよい。この場合、例えば、２回目のデータ書き込み動作前は、“Ａ”レベルの読み出し動作を行い、２回目のデータ書き込み動作後は、“Ｂ”レベルの読み出し動作を行う。
【０３５９】
図４５に示すように、シーケンサ１４は、ＳＬＣ読み出し命令を受信すると（ステップＳ３００）、“Ａ”レベルの読み出し動作を実行する（ステップＳ３０１）。すなわち、シーケンサ１４は、電圧ＶｆｙＡに対応するＳＬＣ読み出し動作を実行する。
【０３６０】
“Ａ”レベルの読み出し動作によるデータ（以下、“Ａ”レベルデータと表記する）において、フラグセルの書き込みがない場合（ステップＳ３０２＿Ｎｏ）、シーケンサ１４は、“Ａ”レベルデータを出力する（ステップＳ３０３）。
【０３６１】
また、“Ａ”レベルデータにフラグセルの書き込みがある場合（ステップＳ３０２＿Ｙｅｓ）、シーケンサ１４は、“Ｂ”レベルの読み出し動作を実行する（ステップＳ３０４）。すなわち、シーケンサ１４は、電圧ＶｆｙＢに対応するＳＬＣ読み出し動作を実行する。
【０３６２】
シーケンサ１４は、“Ｂ”レベルの読み出し動作が終了すると、“Ｂ”レベルデータを出力する（ステップＳ３０５）。
【０３６３】
５．６  ４回の書き込み動作の例
次に、本例では、ＳＬＣ書き込み動作に対応する１つのメモリセルグループＭＣＧに対して、データを４回書き込む場合のＳＬＣ書き込み動作及びＳＬＣ読み出し動作について３つの例を説明する。
【０３６４】
５．６．１  第１例
５．６．１．１  ４回の書き込み動作に対応するＳＣＬ書き込み動作
まず、４回の書き込み動作に対応するＳＬＣ書き込み動作の一例について、図４６及び図４７を用いて説明する。図４６は、１回目〜４回目の書き込み動作における書き込みデータの閾値分布を示す図である。図４７は、１回目〜４回目の書き込み動作におけるフラグセルの閾値分布を示す図である。本例では、例えば、１つのフラグセルに、１回目〜４回目の書き込み動作に対応する異なる閾値分布のデータを書き込む。
【０３６５】
図４６に示すように、２回目の書き込み動作までは、図４２と同様である。
【０３６６】
３回目の書き込み動作では、書き込み対象のメモリセルトランジスタＭＴの閾値電圧が“Ｃ”レベルに上昇するようにデータを書き込む。このときのベリファイ電圧をＶｆｙＣとすると、“Ｅｒ”レベル〜“Ｂ”レベルにおけるメモリセルトランジスタＭＴの閾値電圧（“１”書き込み）は、電圧ＶｆｙＣ未満である。“Ｃ”レベルにおけるメモリセルトランジスタＭＴの閾値電圧（“０”書き込み）は、電圧ＶｆｙＣ以上である。
【０３６７】
４回目の書き込み動作では、書き込み対象のメモリセルトランジスタＭＴの閾値電圧が“Ｄ”レベルに上昇するようにデータを書き込む。このときのベリファイ電圧をＶｆｙＤとすると、“Ｅｒ”レベル〜“Ｃ”レベルにおけるメモリセルトランジスタＭＴの閾値電圧（“１”書き込み）は、電圧ＶｆｙＤ未満である。“Ｄ”レベルにおけるメモリセルトランジスタＭＴの閾値電圧（“０”書き込み）は、電圧ＶｆｙＤ以上である。
【０３６８】
なお、第１回目の書き込み後、第２回目の書き込み前に、第１回目のデータが書き込まれているセルに対して、消去動作、若しくは、少し閾値レベルを消去側にするために弱消去動作を行ってもよい。また、第２回目の書き込み後、第３回目の書き込み前に、第２回目のデータが書き込まれているセルに対して、消去動作、若しくは、少し閾値レベルを消去側にするために弱消去動作を行ってもよい。さらに、第３回目の書き込み後、第４回目の書き込み前に、第３回目のデータが書き込まれているセルに対して、消去動作、若しくは、少し閾値レベルを消去側にするために弱消去動作を行ってもよい。
【０３６９】
次に、１回目〜４回目の書き込み動作に対応するフラグセルの閾値分布について説明する。
【０３７０】
図４７に示すように、１回目の書き込み動作後、フラグセルの閾値分布は“Ｅｒ”レベルとされる。２回目の書き込み動作後、フラグセルの閾値分布は“Ａ”レベルとされる。３回目の書き込み動作後、フラグセルの閾値分布は“Ｂ”レベルとされる。４回目の書き込み動作後、フラグセルの閾値分布は“Ｃ”レベルとされる。
【０３７１】
５．６．１．２  ４回の書き込み動作に対応するＳＣＬ読み出し動作
次に、４回の書き込み動作に対応するＳＣＬ読み出し動作について、図４８を用いて説明する。図４８は、読み出し動作のフローチャートを示す。
【０３７２】
図４８に示すように、シーケンサ１４は、ＳＬＣ読み出し命令を受信すると（ステップＳ３００）、“Ａ”レベルの読み出し動作を実行する（ステップＳ３１０）。すなわち、シーケンサ１４は、電圧ＶｆｙＡに対応するＳＬＣ読み出し動作を実行する。
【０３７３】
“Ａ”レベルの読み出し動作において、フラグセルが“Ｅｒ”レベルである場合（ステップＳ３１１＿Ｙｅｓ）、シーケンサ１４は、“Ａ”レベルデータを出力する（ステップＳ３１２）。
【０３７４】
“Ａ”レベルの読み出し動作において、フラグセルが“Ｅｒ”レベルではない場合（ステップＳ３１１＿Ｎｏ）、シーケンサ１４は、“Ｂ”レベルの読み出し動作を実行する（ステップＳ３１３）。すなわち、シーケンサ１４は、電圧ＶｆｙＢに対応するＳＬＣ読み出し動作を実行する。
【０３７５】
“Ｂ”レベルの読み出し動作において、フラグセルが“Ａ”レベルである場合（ステップＳ３１４＿Ｙｅｓ）、すなわち、“Ｂ”レベルの読み出し動作において、フラグセルの閾値電圧が電圧ＶｆｙＢ未満である場合、シーケンサ１４は、“Ｂ”レベルデータを出力する（ステップＳ３１５）。
【０３７６】
“Ｂ”レベルの読み出し動作において、フラグセルが“Ａ”レベルではない場合（ステップＳ３１１＿Ｎｏ）、すなわち、“Ｂ”レベルの読み出し動作において、フラグセルの閾値電圧が電圧ＶｆｙＢ以上である場合、シーケンサ１４は、“Ｃ”レベルの読み出し動作を実行する（ステップＳ３１６）。すなわち、シーケンサ１４は、電圧ＶｆｙＣに対応するＳＬＣ読み出し動作を実行する。
【０３７７】
“Ｃ”レベルの読み出し動作において、フラグセルが“Ｂ”レベルである場合（ステップＳ３１７＿Ｙｅｓ）、すなわち、“Ｃ”レベルの読み出し動作において、フラグセルの閾値電圧が電圧ＶｆｙＣ未満である場合、シーケンサ１４は、“Ｃ”レベルデータを出力する（ステップＳ３１８）。
【０３７８】
“Ｃ”レベルの読み出し動作において、フラグセルが“Ｂ”レベルではない場合（ステップＳ３１７＿Ｎｏ）、すなわち、“Ｃ”レベルの読み出し動作において、フラグセルの閾値電圧が電圧ＶｆｙＣ以上である場合、シーケンサ１４は、“Ｄ”レベルの読み出し動作を実行する（ステップＳ３１９）。すなわち、シーケンサ１４は、電圧ＶｆｙＤに対応するＳＬＣ読み出し動作を実行する。
【０３７９】
シーケンサ１４は、“Ｄ”レベルの読み出し動作が終了すると、“Ｄ”レベルデータを出力する（ステップＳ３２０）。
【０３８０】
５．６．２  第２例
５．６．２．１  ４回の書き込み動作に対応するＳＣＬ書き込み動作
次に、第２例のＳＣＬ書き込み動作について、図４９を用いて説明する。図４９は、１回目〜４回目の書き込み動作におけるフラグセルの閾値分布を示す図である。以下、第１例と異なる点を中心に説明する。
【０３８１】
本例における書き込みデータの閾値分布は、第１例の図４６と同じである。
【０３８２】
次に、１回目〜４回目の書き込み動作に対応するフラグセルの閾値分布について説明する。
【０３８３】
図４９に示すように、１回目の書き込み動作後、フラグセルの閾値分布は“Ｅｒ”レベルとされる。２回目の書き込み動作後、フラグセルの閾値分布は“Ｂ”レベルとされる。３回目の書き込み動作後、フラグセルの閾値分布は“Ｃ”レベルとされる。４回目の書き込み動作後、フラグセルの閾値分布は“Ｄ”レベルとされる。
【０３８４】
５．６．２．２  ４回の書き込み動作に対応するＳＣＬ読み出し動作
次に、４回の書き込み動作に対応するＳＣＬ読み出し動作について、図５０を用いて説明する。図５０は、読み出し動作のフローチャートを示す。
【０３８５】
図５０に示すように、シーケンサ１４は、ＳＬＣ読み出し命令を受信すると（ステップＳ３００）、まず“Ｂ”レベルの読み出し動作を実行する（ステップＳ３３０）。
【０３８６】
“Ｂ”レベルの読み出し動作において、フラグセルが“Ｅｒ”レベルである場合（ステップＳ３１１＿Ｙｅｓ）、シーケンサ１４は、“Ａ”レベルの読み出し動作を実行する（ステップＳ３３２）。
【０３８７】
シーケンサ１４は、“Ａ”レベルの読み出し動作が終了すると、“Ａ”レベルデータを出力する（ステップＳ３３３）。
【０３８８】
“Ｂ”レベルの読み出し動作において、フラグセルが“Ｅｒ”レベルではない場合（ステップＳ３３１＿Ｎｏ）、シーケンサ１４は、“Ｃ”レベルの読み出し動作を実行する（ステップＳ３３４）。
【０３８９】
“Ｃ”レベルの読み出し動作において、フラグセルが“Ｂ”レベルである場合（ステップＳ３３５＿Ｙｅｓ）、すなわち、“Ｃ”レベルの読み出し動作において、フラグセルの閾値電圧が電圧ＶｆｙＣ未満である場合、シーケンサ１４は、“Ｂ”レベルデータを出力する（ステップＳ３３６）。
【０３９０】
“Ｃ”レベルの読み出し動作において、フラグセルが“Ｂ”レベルではない場合（ステップＳ３３５＿Ｎｏ）、すなわち、“Ｃ”レベルの読み出し動作において、フラグセルの閾値電圧が電圧ＶｆｙＣ以上である場合、シーケンサ１４は、“Ｄ”レベルの読み出し動作を実行する（ステップＳ３３７）。
【０３９１】
“Ｄ”レベルの読み出し動作において、フラグセルが“Ｃ”レベルである場合（ステップＳ３３８＿Ｙｅｓ）、すなわち、“Ｄ”レベルの読み出し動作において、フラグセルの閾値電圧が電圧ＶｆｙＤ未満である場合、シーケンサ１４は、“Ｃ”レベルデータを出力する（ステップＳ３３９）。
【０３９２】
“Ｄ”レベルの読み出し動作において、フラグセルが“Ｃ”レベルではない場合（ステップＳ３３８＿Ｎｏ）、すなわち、“Ｄ”レベルの読み出し動作において、フラグセルの閾値電圧が電圧ＶｆｙＤ以上である場合、シーケンサ１４は、“Ｄ”レベルデータを出力する（ステップＳ３４０）。
【０３９３】
５．６．３  第３例
５．６．３．１  ４回の書き込み動作に対応するＳＣＬ書き込み動作
次に、第２例のＳＣＬ書き込み動作について説明する。本例では、書き込みデータに、２回目の書き込み動作に対応するＢフラグセルと、３回目の書き込み動作に対応するＣフラグセルと、４回目の書き込みデータに対応するＤフラグセルと、が含まれている場合について、図５１〜図５３を用いて説明する。図５１は、１回目〜４回目の書き込み動作におけるＢフラグセルの閾値分布を示す図である。図５２は、１回目〜４回目の書き込み動作におけるＣフラグセルの閾値分布を示す図である。図５３は、１回目〜４回目の書き込み動作におけるＤフラグセルの閾値分布を示す図である。以下、第１例及び第２例と異なる点を中心に説明する。
【０３９４】
本例における書き込みデータの閾値分布は、第１例の図４６と同じである。
【０３９５】
次に、１回目〜４回目の書き込み動作に対応するＢ〜Ｄフラグセルの閾値分布について説明する。
【０３９６】
図５１に示すように、Ｂフラグセルの閾値分布は、２回目の書き込み動作において、閾値分布は、“Ｅｒ”レベルから“Ｂ”レベルとされる。３回目及び４回目の書き込み動作では、Ｂフラグセルの閾値分布は“Ｂ”レベルに維持される。すなわち、Ｂフラグセルは、１回目の書き込み動作において、“Ｅｒ”レベルとされ、２回目〜４回目の書き込み動作において、“Ｂ”レベルとされる。
【０３９７】
図５２に示すように、Ｃフラグセルの閾値分布は、３回目の書き込み動作において、“Ｅｒ”レベルから“Ｃ”レベルとされる。４回目の書き込み動作では、Ｃフラグセルの閾値分布は“Ｃ”レベルに維持される。すなわち、Ｃフラグセルは、１回目及び２回目の書き込み動作において、“Ｅｒ”レベルとされ、３回目及び４回目の書き込み動作において、“Ｃ”レベルとされる。
【０３９８】
図５３に示すように、Ｄフラグセルの閾値分布は、４回目の書き込み動作において、“Ｅｒ”レベルから“Ｄ”レベルとされる。すなわち、Ｄフラグセルは、１回目〜３回目の書き込み動作において、“Ｅｒ”レベルとされ、４回目の書き込み動作において、“Ｄ”レベルとされる。
【０３９９】
５．６．３．２  ４回の書き込み動作に対応するＳＣＬ読み出し動作
次に、４回の書き込み動作に対応するＳＣＬ読み出し動作について、図５４を用いて説明する。図５４は、読み出し動作のフローチャートを示す。
【０４００】
図５４に示すように、シーケンサ１４は、ＳＬＣ読み出し命令を受信すると（ステップＳ３００）、“Ａ”レベルの読み出し動作を実行する（ステップＳ３５０）。
【０４０１】
“Ａ”レベルの読み出し動作において、Ｂフラグセルが“Ｅｒ”レベルである場合（ステップＳ３５１＿Ｙｅｓ）、シーケンサ１４は、“Ａ”レベルデータを出力する（ステップＳ３５２）。
【０４０２】
“Ａ”レベルの読み出し動作において、Ｂフラグセルが“Ｅｒ”レベルではない場合（ステップＳ３１１＿Ｎｏ）、すなわち、Ｂフラグセルが“Ｂ”レベルである場合、シーケンサ１４は、Ｃフラグセルを確認する（ステップＳ３５３）。
【０４０３】
“Ａ”レベルの読み出し動作において、Ｃフラグセルが“Ｅｒ”である場合（ステップＳ３５３＿Ｙｅｓ）、シーケンサ１４は、“Ｂ”レベルの読み出し動作を実行する（ステップＳ３５４）。
【０４０４】
シーケンサ１４は、“Ｂ”レベルの読み出し動作が終了すると、“Ｂ”レベルデータを出力する（ステップＳ３５５）。
【０４０５】
“Ａ”レベルの読み出し動作において、Ｃフラグセルが“Ｅｒ”レベルではない場合（ステップＳ３５３＿Ｎｏ）、すなわち、Ｃフラグセルが“Ｃ”レベルである場合、シーケンサ１４は、Ｄフラグセルを確認する（ステップＳ３５６）。
【０４０６】
“Ａ”レベルの読み出し動作において、Ｄフラグセルが“Ｅｒ”である場合（ステップＳ３５６＿Ｙｅｓ）、シーケンサ１４は、“Ｃ”レベルの読み出し動作を実行する（ステップＳ３５７）。
【０４０７】
シーケンサ１４は、“Ｃ”レベルの読み出し動作が終了すると、“Ｃ”レベルデータを出力する（ステップＳ３５８）。
【０４０８】
“Ａ”レベルの読み出し動作において、Ｄフラグセルが“Ｅｒ”レベルではない場合（ステップＳ３５６＿Ｎｏ）、すなわち、Ｄフラグセルが“Ｄ”レベルである場合、シーケンサ１４は、“Ｄ”レベルの読み出し動作を実行する（ステップＳ３５９）。
【０４０９】
シーケンサ１４は、“Ｄ”レベルの読み出し動作が終了すると、“Ｄ”レベルデータを出力する（ステップＳ３６０）。
【０４１０】
５．７  本実施形態に係る効果
本実施形態に係る構成は、第１乃至第４実施形態に適用できる。
【０４１１】
更に、本実施形態に係る構成であれば、ＳＬＣ書き込み動作に対応する１つのメモリセルトランジスタＭＴに対して、２回以上データを書き込めるため、ＳＬＣブロックにおけるデータの消去回数を低減できる。例えば、１つのＱＬＣブロックに４ビットデータを書き込む場合に、ＳＬＣブロックにおける書き込み／消去サイクル数を低減できる。これにより、ＳＬＣブロックにおける書き込み可能回数を増加できる。
【０４１２】
なお、４回の書き込み動作の例では、フラグセルを用いたが、コマンドにより区別するときは、フラグセルを省略することができる。
【０４１３】
また、例えば、４回の書き込み動作では、シーケンサ１４は、ワード線ＷＬ０〜ＷＬ９５に対応する各メモリセルグループＭＣＧに１回目の書き込み動作を行った後に、同様の手順で２回目の書き込み動作、３回目の書き込み動作、及び４回目の書き込み動作を実行してもよい。
【０４１４】
その他、２回目以降の書き込み動作で“１”データを書き込むときに、メモリセルトランジスタＭＴのチャネルのブースト効率が落ちてしまう可能性がある。この場合は、２回目の書き込み動作における電圧ＶＰＡＳＳの電圧値を１回目の書き込み動作時の電圧値よりも高くしてもよく、３回目の書き込み動作における電圧ＶＰＡＳＳの電圧値を２回目の書き込み動作時の電圧値よりも高くしてもよく、４回目の書き込み動作における電圧ＶＰＡＳＳの電圧値を３回目の書き込み動作時の電圧値よりも高くしてもよい。
【０４１５】
また、比較的高い閾値レベルに書き込む場合、例えば“Ｅｒ”レベルにあるメモリセルトランジスタＭＴが、“Ａ”レベルなどへ誤書き込みされてしまう可能性がある。これに対し、本実施形態では、例えば、４回目の書き込み動作は、“０”データは“Ｄ”レベルに設定され、“１”データは“Ｃ”レベル以下に設定される。このため、この誤書き込みを抑制することができる。
【０４１６】
また、２回目の書き込み動作におけるベリファイレベルは、１回目の書き込み動作におけるベリファイレベルより高い。このため、２回目の書き込み動作における書き込み電圧ＶＰＧＭを１回目の書き込み動作より高い電圧値に設定してもよい。同様に、３回目の書き込み動作におけるベリファイレベルは、２回目の書き込み動作におけるベリファイレベルより高い。このため、３回目の書き込み動作における書き込み電圧ＶＰＧＭを２回目の書き込み動作より高い電圧値に設定してもよい。更に、４回目の書き込み動作におけるベリファイレベルは、３回目の書き込み動作におけるベリファイレベルより高い。このため、４回目の書き込み動作における書き込み電圧ＶＰＧＭを３回目の書き込み動作より高い電圧値に設定してもよい。
【０４１７】
また、書き込み電圧のステップアップ電圧ＤＶＰＧＭは、１〜４回目の書き込み動作において、異なっていてもよい。
【０４１８】
また、選択ワード線ＷＬ及び選択ゲート線ＳＧＤの電圧値は、１〜４回目の書き込み動作において、異なっていてもよい。
【０４１９】
また、４回の書き込み動作では、２回の書き込み動作に対応するデータの書き込み順序の第１例及び第２例と同様に、シーケンサ１４は、１つのワード線ＷＬに対応するストリングユニットＳＵ０〜ＳＵ３を順に選択し書き込み動作を実行してもよい。あるいは、１つのストリングユニットＳＵを選択し且つワード線ＷＬ０〜９５を順に選択した書き込み動作を実行し、次に他のストリングユニットＳＵを選択し、同様の動作を繰り返してもよい。
【０４２０】
なお、本実施形態では、ＳＬＣ書き込み動作に対応する１つのメモリセルトランジスタＭＴに対して、データを２回または４回書き込む場合について説明したが、３回または５回以上の書き込み動作を実行してもよい。
【０４２１】
また、ＳＬＣ書き込み動作に限定されず、２ビットデータの書き込み動作（以下、ＭＬＣ書き込み動作と表記する）または３ビットデータの書き込み動作（以下、ＴＬＣ書き込み動作と表記する）に対応するメモリセルトランジスタＭＴに対して、２回以上データを書き込んでもよい。
【０４２２】
更には、複数のデータ書き込み動作において、ＳＬＣ書き込み動作と、ＭＬＣ書き込み動作と、ＴＬＣ書き込み動作とを組み合わせてもよい。例えば、１回目にＭＬＣ書き込み動作が実行され、２回目以降にＳＬＣ書き込み動作が実行されてもよい。また、例えば、１回目にＳＬＣ書き込み動作が実行され、２回目以降にＭＬＣまたはＴＬＣ書き動作が実行されてもよい。
【０４２３】
６．第６実施形態
次に、第６実施形態について説明する。第６実施形態では、書き込み動作、読み出し動作、及び消去動作において、負電圧を用いる場合について説明する。以下、第１実施形態と異なる点を中心に説明する。
【０４２４】
６．１  構成
まず、メモリシステム１の構成について説明する。本実施形態に係るメモリシステム１では、第１実施形態の図１で説明したデータ変換回路２７及びデータ復元制御回路１９が廃されている。その他の構成は、第１実施形態の図１と同様である。
【０４２５】
６．１．１  メモリセルアレイの構成
次に、メモリセルアレイ１１の構成について、図５５を用いて説明する。図５５の例は、ブロックＢＬＫ０を示しているが、他のブロックＢＬＫの構成も同じである。
【０４２６】
図５５に示すように、ＮＡＮＤストリングＮＳの各々は、例えば６４個のメモリセルトランジスタＭＴ０〜ＭＴ６３、ダミーメモリセルトランジスタＭＴＤＳ及びＭＴＤＤ、並びに選択トランジスタＳＴ１及びＳＴ２を含んでいる。ダミーメモリセルトランジスタＭＴＤＳ及びＭＴＤＤは、メモリセルトランジスタＭＴ０〜ＭＴ６３と同じ構成であるが、データの書き込みには使用されない。以下、メモリセルトランジスタＭＴ０〜ＭＴ６３、並びにダミーメモリセルトランジスタＭＴＤＳ及びＭＴＤＤを限定しない場合は、メモリセルトランジスタＭＴと表記する。
【０４２７】
メモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。より具体的には、ダミーメモリセルトランジスタＭＴＤＳ、メモリセルトランジスタＭＴ０〜ＭＴ６３、及びダミーメモリセルトランジスタＭＴＤＤは、その電流経路が直列に接続される。そしてダミーメモリセルトランジスタＭＴＤＤのドレインは、選択トランジスタＳＴ１のソースに接続され、ダミーメモリセルトランジスタＭＴＤＳのソースは、選択トランジスタＳＴ２のドレインに接続されている。
【０４２８】
ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ６３、並びにダミーメモリセルトランジスタＭＴＤＳ及びＭＴＤＤの制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ６３、ＷＬＤＳ、及びＷＬＤＤに共通接続される。以下、ワード線ＷＬ０〜ＷＬ６３、ＷＬＤＳ、及びＷＬＤＤを限定しない場合は、ワード線ＷＬと表記する。
【０４２９】
本実施形態では、メモリセルトランジスタＭＴが２ビットデータを保持可能なＭＬＣ（multi level cell）である場合について説明する。ＭＬＣが保持する２ビットデータを、下位ビットから順に「Ｌｏｗｅｒビット」及び「Ｕｐｐｅｒビット」と表記する。また、メモリセルグループＭＣＧの保持するＬｏｗｅｒビットの集合を「Ｌｏｗｅｒページ」と表記し、Ｕｐｐｅｒビットの集合を「Ｕｐｐｅｒページ」と表記する。
【０４３０】
なお、メモリセルトランジスタＭＴが保持できるデータのビット数は２ビットに限定されない。メモリセルトランジスタＭＴが１ビット以上のデータを保持可能であれば、本実施形態を適用できる。
【０４３１】
６．１．２  ロウデコーダの構成
次に、ロウデコーダ１６の構成について、図５６を用いて説明する。なお、以下の説明では、トランジスタのソース及びドレインを限定しない場合、トランジスタのソースまたはドレインのいずれか一方を「トランジスタの一端」と表記し、トランジスタのソースまたはドレインのいずれか他方を「トランジスタの他端」と表記する。
【０４３２】
図５６に示すように、ロウデコーダ１６は、ブロックＢＬＫ０〜ＢＬＫｎにそれぞれ対応付けられるロウデコーダユニット１６−０〜１６−ｎを含む。なお、図５６の例では、ロウデコーダユニット１６−０の詳細を示しているが、他のロウデコーダユニット１６−１〜１６−ｎも同じ構成である。
【０４３３】
ロウデコーダユニット１６−０は、ブロックデコーダ４０及び高耐圧Ｎチャネルエンハンスメント型（Ｅ型：閾値が正）ＭＯＳトランジスタ４１（４１−０〜４１−６３、４１−ＤＳ、及び４１−ＤＤ）、４２（４２−０〜４２−３）、４３（４３−０〜４３−３）、４４（４４−０〜４４−３）、及び４５（４５−０〜４５−３）を含む。トランジスタ４１〜４５はいずれも高耐圧型であり、例えばチャネル領域の不純物濃度は等しく、またその閾値電圧も等しい。
【０４３４】
ブロックデコーダ４０は、ブロックアドレスＢＡをデコードする。そして、その結果に応じて信号線ＴＧおよび信号線ＲＤＥＣｎに電圧を印加し、トランジスタ４１〜４５のオン／オフ状態を制御する。
【０４３５】
例えば、データの書き込み、読み出し、あるいは消去時において、ブロックアドレスＢＡが対応するブロックＢＬＫ０と一致している場合、ブロックデコーダ４０は、信号線ＴＧに“Ｈ”レベルの電圧（電圧ＶＲＤＥＣ）を印加し、信号線ＲＤＥＣｎに“Ｌ”レベルの電圧（例えば接地電圧ＶＳＳ）を印加する。他方で、ブロックアドレスＢＡが対応するブロックＢＬＫ０に一致しなかった場合、ブロックデコーダ４０は、信号線ＴＧに“Ｌ”レベルの電圧（例えば接地電圧ＶＳＳ）を印加し、信号線ＲＤＥＣｎに“Ｈ”レベルの電圧（トランジスタ４３及び４５がオン状態となる電圧）を印加する。電圧ＶＲＤＥＣは、トランジスタ４１、４２、及び４４をオン状態にするための電圧であり、書き込み動作、読み出し動作、及び消去動作によって異なる電圧値が設定される。電圧ＶＲＤＥＣは、ドライバ回路１５からトランジスタ４１、４２、及び４４に印加される電圧よりも少なくともトランジスタ４１、４２、及び４４の閾値電圧以上高い電圧である。例えば、電圧ＶＲＤＥＣは、ドライバ回路１５から、ブロックデコーダ４０に与えられる。
【０４３６】
トランジスタ４１−０〜４１−６３、４１−ＤＳ、及び４１−ＤＤは、ドライバ回路１５と、対応するブロックＢＬＫのワード線ＷＬ０〜ＷＬ６３、ＷＬＤＳ、及びＷＬＤＤとをそれぞれ接続するスイッチング素子として機能する。トランジスタ４１−０〜４１−６３、４１−ＤＳ、及び４１−ＤＤの一端は、対応するワード線ＷＬにそれぞれ接続される。トランジスタ４１−０〜４１−６３、４１−ＤＳ、及び４１−ＤＤの他端は、ドライバ回路１５にそれぞれ接続される。トランジスタ４１−０〜４１−６３、４１−ＤＳ、及び４１−ＤＤのゲートは、信号線ＴＧに共通に接続される。
【０４３７】
トランジスタ４２−０〜４２−３は、ドライバ回路１５と、対応するブロックＢＬＫの選択ゲート線ＳＧＤ０〜ＳＧＤ３とをそれぞれ接続するスイッチング素子として機能する。トランジスタ４２−０〜４２−３の一端は、対応する選択ゲート線ＳＧＤ０〜ＳＧＤ３に接続される。トランジスタ４２−０〜４２−３の他端は、ドライバ回路１５にそれぞれ接続される。トランジスタ４２−０〜４２−３のゲートは、信号線ＴＧに共通に接続される。
【０４３８】
トランジスタ４３−０〜４３−３は、例えば接地電圧（ＶＳＳ）配線または電源電圧（ＶＤＤ）配線と、対応するブロックＢＬＫの選択ゲート線ＳＧＤ０〜ＳＧＤ３とをそれぞれ接続するスイッチング素子として機能する。トランジスタ４３−０〜４３−３の一端は、対応する選択ゲート線ＳＧＤ０〜ＳＧＤ３にそれぞれ接続される。トランジスタ４３−０〜４３−３の他端は、ＶＳＳ配線またはＶＤＤ配線に接続される。トランジスタ４３−０〜４３−３のゲートは、信号線ＲＤＥＣｎに共通に接続される。
【０４３９】
トランジスタ４４−０〜４４−３は、ドライバ回路１５と、対応するブロックＢＬＫの選択ゲート線ＳＧＳ０〜ＳＧＳ３とをそれぞれ接続するスイッチング素子として機能する。トランジスタ４４−０〜４４−３の一端は、対応する選択ゲート線ＳＧＳ０〜ＳＧＳ３にそれぞれ接続される。トランジスタ４４−０〜４４−３の他端は、ドライバ回路１５にそれぞれ接続される。トランジスタ４４−０〜４４−３のゲートは、信号線ＴＧに共通に接続される。
【０４４０】
トランジスタ４５−０〜４５−３は、例えばＶＳＳ配線またはＶＤＤ配線と、対応するブロックＢＬＫの選択ゲート線ＳＧＳ０〜ＳＧＳ３とをそれぞれ接続するスイッチング素子として機能する。トランジスタ４５−０〜４５−３の一端は、対応する選択ゲート線ＳＧＳ０〜ＳＧＳ３にそれぞれ接続される。トランジスタ４５−０〜４５−３の他端は、ＶＳＳ配線またはＶＤＤ配線に接続される。トランジスタ４５−０〜４５−３のゲートは、信号線ＲＤＥＣｎに共通に接続される。
【０４４１】
なお、図５６の例は、ストリングユニットＳＵ毎に設けられた選択ゲート線ＳＧＳ０〜ＳＧＳ３に対応して、トランジスタ４４−０〜４４−３及び４５−０〜４５−３がそれぞれ設けられている場合を示しているが、これに限定されない。例えば、ワード線ＷＬと同様に、１つのブロックＢＬＫにおいて、各ストリングユニットＳＵ内の選択トランジスタＳＴ２のゲートが１つの選択ゲート線ＳＧＳに共通に接続されていてもよい。この場合、１つの選択ゲート線ＳＧＳに対応して、ロウデコーダユニット１６−０内にトランジスタ４４及び４５がそれぞれ１つ設けられる。
【０４４２】
６．１．３  ブロックデコーダの構成
次に、ブロックデコーダ４０の構成について、図５７を用いて説明する。
【０４４３】
図５７に示すように、ブロックデコーダ４０は、ＮＡＮＤ回路５１、インバータ５２、高耐圧ＮチャネルＥ型ＭＯＳトランジスタ５３、高耐圧ＰチャネルＥ型ＭＯＳトランジスタ５４、及び高耐圧Ｎチャネルディプレッション型（Ｄ型：閾値が負）ＭＯＳトランジスタ５５を備えている。
【０４４４】
ＮＡＮＤ回路５１は、ブロックアドレスＢＡの各ビットのＮＡＮＤ演算を行う。ＮＡＮＤ回路５１の出力信号が信号線ＲＤＥＣｎに送信される。
【０４４５】
インバータ５２は、ＮＡＮＤ回路５１の出力を反転させる。
【０４４６】
トランジスタ５３の一端はインバータ５２の出力ノードに接続され、トランジスタ５３の他端は信号線ＴＧに接続され、トランジスタ５３のゲートに信号ＢＳＴＯＮが入力される。信号ＢＳＴＯＮは、ブロックデコーダ４０のアドレス情報の取り込みの際にアサート（“Ｈ”レベルに）される信号であり、例えばシーケンサ１４によって与えられる。
【０４４７】
トランジスタ５４の一端は信号線ＴＧに接続され、トランジスタ５４の他端はバックゲートに接続され、トランジスタ５４のゲートに信号線ＲＤＥＣｎが接続される。
【０４４８】
トランジスタ５５の一端に電圧ＶＲＤＥＣが印加され、トランジスタ５５の他端はトランジスタ５４の他端に接続され、トランジスタ５５のゲートは信号線ＴＧに接続される。
【０４４９】
書き込み動作、読み出し動作、及び消去動作において、ブロックアドレスＢＡが対応するブロックＢＬＫに一致した場合、ＮＡＮＤ回路５１は、“Ｌ”レベルの信号を出力する。すなわち、信号線ＲＤＥＣｎの“Ｌ”レベルの電圧が印加される。インバータ５２は、ＮＡＮＤ回路５１の出力信号を反転させて“Ｈ”レベルの信号を出力する。トランジスタ５３は、“Ｈ”レベルの信号ＢＳＴＯＮが入力されることによりオン状態とされる。また、トランジスタ５４及び５５がオン状態とされ、これにより信号線ＴＧに“Ｈ”レベルの電圧ＶＲＤＥＣが印加される。
【０４５０】
他方で、ブロックアドレスＢＡが対応するブロックＢＬＫに一致しなかった場合、ＮＡＮＤ回路５１は、“Ｈ”レベルの信号を出力する。すなわち、“Ｈ”レベルの電圧が信号線ＲＤＥＣｎに印加される。トランジスタ５４及び５５はオフ状態とされ、信号線ＴＧに“Ｌ”レベルの電圧が印加される。
【０４５１】
６．１．４  データレジスタ及びセンスアンプの構成
次に、データレジスタ１７及びセンスアンプ１８の構成について、図５８及び図５９を用いて説明する。
【０４５２】
図５８に示すように、センスアンプ１８は、ビット線ＢＬ毎に設けられた複数のセンスアンプユニットＳＡＵを含む。そして、データレジスタ１７は、センスアンプユニットＳＡＵ毎に設けられた複数のラッチ回路ＸＤＬを含む。
【０４５３】
センスアンプユニットＳＡＵは、例えば、センスアンプ部ＳＡ、ラッチ回路ＳＤＬ、ＡＤＬ、及びＢＤＬを含む。ラッチ回路ＸＤＬと、センスアンプ部ＳＡと、ラッチ回路ＳＤＬ、ＡＤＬ、及びＢＤＬとは、互いにデータを送受信可能なように接続されている。
【０４５４】
センスアンプ部ＳＡは、読み出し動作時には対応するビット線ＢＬに読み出されたデータをセンスし、読み出しデータが“０”であるか“１”であるかを判断する。また、センスアンプ部ＳＡは、書き込み動作時には、書き込みデータに基づいてビット線ＢＬに電圧を印加する。
【０４５５】
ラッチ回路ＳＤＬ、ＡＤＬ、及びＢＤＬは、読み出しデータ及び書き込みデータを一時的に保持する。読み出し動作時にセンスアンプ部ＳＡが確定させた読み出しデータ、及び書き込み時にラッチ回路ＸＤＬに転送された書き込みデータは、例えばラッチ回路ＳＤＬ、ＡＤＬ、及びＢＤＬのいずれかに転送される。
【０４５６】
ラッチ回路ＸＤＬは、センスアンプユニットＳＡＵとコントローラ２０との間のデータの入出力に用いられる。つまりコントローラ２０から受信したデータは、ラッチ回路ＸＤＬを介してラッチ回路ＳＤＬ、ＡＤＬ、またはＢＤＬ、あるいはセンスアンプ部ＳＡに転送される。また、ラッチ回路ＳＤＬ、ＡＤＬ、またはＢＤＬ、あるいはセンスアンプ部ＳＡのデータは、ラッチ回路ＸＤＬを介してコントローラ２０に転送される。
【０４５７】
なお、センスアンプユニットＳＡＵの構成はこれに限定されず、種々変更が可能である。例えば、センスアンプユニットＳＡＵが備えるラッチ回路の個数は、１つのメモリセルトランジスタＭＴが保持するデータのビット数に基づいて設計される。
【０４５８】
次に、センスアンプ部ＳＡの構成について説明する。
【０４５９】
図５９に示すように、センスアンプ部ＳＡは、高耐圧ＮチャネルＭＯＳトランジスタ６０〜６２、低耐圧ＰチャネルＭＯＳトランジスタ６３、及びレベルシフタ６４を含む。
【０４６０】
トランジスタ６０のゲートに信号ＢＬＳが入力される。トランジスタ６０の一端は対応するビット線ＢＬに接続され、トランジスタ６０の他端はノードＳＣＯＭに接続される。トランジスタ６０は、信号ＢＬＣに応じてビット線ＢＬに係る電圧をクランプするクランプトランジスタとして機能する。
【０４６１】
トランジスタ６１のゲートはレベルシフタ６４の出力端子に接続される。トランジスタ６１の一端はノードＳＣＯＭに接続され、トランジスタ６１の他端はノードＳＲＣＧＮＤに接続される。本実施形態では、ノードＳＲＣＧＮＤに、例えば接地電圧ＶＳＳまたは負電圧ＶＢＢ（＜０Ｖ）が印加される。
【０４６２】
トランジスタ６２のゲートには、信号ＢＬＸが入力される。トランジスタ６２の一端はノードＳＣＯＭに接続され、トランジスタ６２の他端はノードＳＳＲＣに接続される。
【０４６３】
トランジスタ６３のゲートはノードＩＮＶに接続される。トランジスタ６３の一端には電圧ＶＢＩＴが印加され、トランジスタ６３の他端はノードＳＳＲＣに接続される。電圧ＶＢＩＴはセンスアンプ部ＳＡに供給される電源電圧であり、例えば電源電圧ＶＤＤが印加される。ノードＩＮＶは、ラッチ回路ＳＤＬに接続されている。ラッチ回路ＳＤＬは、保持するデータの反転データをノードＩＮＶで保持する。
【０４６４】
レベルシフタ６４の入力端子は、ノードＩＮＶに接続される。レベルシフタ６４は、シーケンサ１４の制御に応じて、ノードＩＮＶの電圧を変換して出力する。例えば、ノードＳＲＣＧＮＤに負電圧ＶＢＢが印加され、且つノードＩＮＶに“Ｌ”レベルの電圧（例えば電圧ＶＳＳ）が印加されている場合、レベルシフタ６４は、トランジスタ６１をオフ状態とするために、負電圧ＶＢＢを出力する。
【０４６５】
６．１．５  メモリセルアレイ及び半導体基板の断面構成
次に、メモリセルアレイ１１及び半導体基板の断面構成について、図６０を用いて説明する。なお、図６０の例では、層間絶縁膜が省略されている。
【０４６６】
図６０に示すように、Ｐ型半導体基板７０の表面近傍には、Ｎウェル領域７１ａ、７１ｂ、７１ｃ、７１ｄ、及びＰウェル領域７２ｃが形成されている。
【０４６７】
Ｎウェル領域７１ａ上にはメモリセルアレイ１１が設けられる。Ｎウェル領域７１ａの表面近傍には、Ｐウェル領域７２ａが形成され、Ｐウェル領域７２ａの表面近傍の一部にはＮ＋拡散層７３が形成されている。半導体基板７０の上方には、図示せぬ層間絶縁膜を介在させて、下層から選択ゲート線ＳＧＳ、ワード線ＷＬＤＳ、ＷＬ０〜ＷＬ６３、及びＷＬＤＤ、並びに選択ゲート線ＳＧＤとして機能する複数の配線層が積層されており、これら複数の配線層を貫通し、底面がＮ＋拡散層７３に達するメモリピラーＭＰが形成されている。１つのメモリピラーＭＰが１つのＮＡＮＤストリングＮＳに対応する。メモリピラーＭＰの側面には、絶縁層９０が形成されており、絶縁層９０内には、底面がＮ＋拡散層７３に接する半導体層９１が形成されている。より具体的には、絶縁層９０として、メモリピラーＭＰの側面からブロック絶縁膜として機能する絶縁層、電荷蓄積層として機能する絶縁層、及びトンネル絶縁膜として機能する絶縁層が順に積層されている。
【０４６８】
Ｎウェル領域７１ｂには、例えばロウデコーダ１６及びセンスアンプ１８等に用いられる高耐圧ＮチャネルＭＯＳトランジスタ７６(参照符号“ＨＶ  ＮＭＯＳ”)が形成されている。より具体的には、Ｎウェル領域７１ｂの表面近傍には、Ｐウェル領域７２ｂ及びＮ＋拡散層７３が形成されている。Ｐウェル領域７２ｂ上には、トランジスタ７６が形成されている。また、Ｐウェル領域７２ｂの表面近傍にはＰ＋拡散層７４が形成されており、例えばＰ＋拡散層７４はトランジスタ７６のバックゲートに電圧を印加する際に用いられる。トランジスタ７６は、ソースまたドレインとして機能するＮ＋拡散層７３及びゲート電極７５を含む。
【０４６９】
Ｐウェル領域７２ｃには、周辺回路（例えば、コマンドレジスタ１２、アドレスレジスタ１３、シーケンサ１４、ドライバ回路１５、ロウデコーダ１６、データレジスタ１７、及びセンスアンプ１８等）に用いられる低耐圧ＮチャネルＭＯＳトランジスタ７７(参照符号“ＬＶ  ＮＭＯＳ”)が形成されている。より具体的には、Ｐウェル領域７２ｃ上には、トランジスタ７７が形成されている。また、Ｐウェル領域７２ｃの表面近傍にはＰ＋拡散層７４が形成されており、例えばＰ＋拡散層７４はトランジスタ７７のバックゲートに電圧を印加する際に用いられる。トランジスタ７７は、ソースまたドレインとして機能するＮ＋拡散層７３及びゲート電極７５を含む。
【０４７０】
Ｎウェル領域７１ｃには、周辺回路に用いられる低耐圧ＰチャネルＭＯＳトランジスタ７８(参照符号“ＬＶ  ＰＭＯＳ”)が形成されている。より具体的には、Ｎウェル領域７１ｃ上には、トランジスタ７８が形成されている。また、Ｎウェル領域７１ｃの表面近傍にはＮ＋拡散層７３が形成されており、例えばＮ＋拡散層７３はトランジスタ７８のバックゲートに電圧を印加する際に用いられる。トランジスタ７８は、ソースまたドレインとして機能するＰ＋拡散層７４及びゲート電極７５を含む。
【０４７１】
Ｎウェル領域７１ｄには、例えばロウデコーダ１６及びセンスアンプ１８等に用いられる高耐圧ＰチャネルＭＯＳトランジスタ７９(参照符号“ＨＶ  ＰＭＯＳ”)が形成されている。より具体的には、Ｎウェル領域７１ｄ上には、トランジスタ７９が形成されている。また、Ｎウェル領域７１ｄの表面近傍にはＮ＋拡散層７３が形成されており、例えばＮ＋拡散層７３はトランジスタ７９のバックゲートに電圧を印加する際に用いられる。トランジスタ７９は、ソースまたドレインとして機能するＰ＋拡散層７４及びゲート電極７５を含む。
【０４７２】
なお、トランジスタ７６〜７９の、図示せぬゲート酸化膜の膜厚は、それぞれ異なっていてもよい。
【０４７３】
６．２  消去動作、書き込み動作、及び読み出し動作におけるウェル領域の電圧
次に、消去動作、書き込み動作、及び読み出し動作におけるＮウェル領域７１ａ〜７１ｄ及びＰウェル領域７２ａ〜７２ｃそれぞれの電圧について、図６１を用いて説明する。
【０４７４】
図６１に示すように、まず、消去動作におけるウェル領域の電圧について説明する。
【０４７５】
メモリセルアレイ１１が形成されているＰウェル領域７２ａ及びＮウェル領域７１ａには電圧ＶＥＲＡが印加される。電圧ＶＥＲＡは消去パルスを印加する際にメモリセルトランジスタＭＴのソース線ＳＬに印加される高電圧である。
【０４７６】
ロウデコーダ１６等に用いられる高耐圧ＮチャネルＭＯＳトランジスタ７６（例えば、トランジスタ４１〜４５）が形成されているＰウェル領域７２ｂには負電圧ＶＢＢが印加され、Ｎウェル領域７１ｂには電圧ＶＳＳが印加される。
【０４７７】
周辺回路に用いられる低耐圧ＮチャネルＭＯＳトランジスタ７７が形成されているＰウェル領域７２ｃには電圧ＶＳＳが印加される。
【０４７８】
周辺回路に用いられる低耐圧ＰチャネルＭＯＳトランジスタ７８が形成されているＮウェル領域７１ｃには電圧ＶＤＤが印加される。
【０４７９】
ブロックデコーダ４０等に用いられる高耐圧ＰチャネルＭＯＳトランジスタ７９（例えば、トランジスタ５４）が形成されているＮウェル領域７１ｄには電圧ＶＥＲＡＨまたは電圧｜−ＶｔｈＤ｜が印加される。例えば、電圧ＶＥＲＡＨは、図５６において、ワード線ＷＬＤＤ及びＷＬＤＳ、並びに選択ゲート線ＳＧＤ及びＳＧＳ等に所定の電圧（電圧ＶＥＲＡＳＧＤ等）を転送するために、高耐圧ＮチャネルＭＯＳトランジスタをオン状態にする電圧である。
【０４８０】
選択ブロックＢＬＫに対応するブロックデコーダ４０では、高耐圧ＰチャネルＭＯＳトランジスタ７９（例えばトランジスタ５４）のＮウェル領域７１ｄに電圧ＶＥＲＡＨが印加される。一方、非選択ブロックＢＬＫに対応するブロックデコーダ４０では、高耐圧ＰチャネルＭＯＳトランジスタ７９（例えばトランジスタ５４）のＮウェル領域７１ｄには、高耐圧ＮチャネルＤ型ＭＯＳトランジスタ５５の閾値電圧に相当する電圧｜−ＶｔｈＤ｜が印加される。
【０４８１】
センスアンプユニットＳＡＵ等に用いられる高耐圧ＮチャネルＭＯＳトランジスタ７６（例えば、トランジスタ６０、６１、及び６２）が形成されているＰウェル領域７２ｂ及びＮウェル領域７１ｂには電圧ＶＳＳが印加される。
【０４８２】
次に、書き込み動作におけるウェル領域の電圧について説明する。本実施形態における書き込み動作には通常動作モードと負電圧動作モードとによる２つの動作モードがあり、動作モードに応じてウェル領域の電圧が異なる。動作モードについては詳述する。
【０４８３】
メモリセルアレイ１１が形成されているＰウェル領域７２ａには、通常動作モードの場合、電圧ＶＳＳが印加され、負電圧動作モードの場合、負電圧ＶＢＢが印加される。または、Ｎウェル領域７１ａには電圧ＶＳＳが印加される。
【０４８４】
ロウデコーダ１６等に用いられる高耐圧ＮチャネルＭＯＳトランジスタ７６が形成されているＰウェル領域７２ｂには、通常動作モードの場合、電圧ＶＳＳが印加され、負電圧動作モードの場合、負電圧ＶＢＢが印加される。また、Ｎウェル領域７１ｂには、電圧ＶＳＳが印加される。
【０４８５】
周辺回路に用いられる低耐圧ＮチャネルＭＯＳトランジスタ７７が形成されているＰウェル領域７２ｃには電圧ＶＳＳが印加される。
【０４８６】
周辺回路に用いられる低耐圧ＰチャネルＭＯＳトランジスタ７８が形成されているＮウェル領域７１ｃには電圧ＶＤＤが印加される。
【０４８７】
ブロックデコーダ４０等に用いられる高耐圧ＰチャネルＭＯＳトランジスタ７９（例えば、トランジスタ５４）が形成されているＮウェル領域７１ｄには電圧ＶＰＧＭＨまたは電圧｜−ＶｔｈＤ｜が印加される。例えば、電圧ＶＰＧＭＨは、電圧ＶＰＧＭよりも大きい電圧であり、図５６において、ワード線ＷＬＤＤ及びＷＬＤＳ、並びに選択ゲート線ＳＧＤ及びＳＧＳ等に所定の電圧（電圧ＶＰＧＭ等）を転送するために、高耐圧ＮチャネルＭＯＳトランジスタをオン状態にする電圧である。
【０４８８】
選択ブロックＢＬＫに対応するブロックデコーダ４０では、高耐圧ＰチャネルＭＯＳトランジスタ７９（例えばトランジスタ５４）のＮウェル領域７１ｄに電圧ＶＰＧＭＨが印加される。一方、非選択ブロックＢＬＫに対応するブロックデコーダ４０では、高耐圧ＰチャネルＭＯＳトランジスタ７９（例えばトランジスタ５４）のＮウェル領域７１ｄには、高耐圧ＮチャネルＤ型ＭＯＳトランジスタ５５の閾値電圧に相当する電圧｜−ＶｔｈＤ｜が印加される。
【０４８９】
センスアンプユニットＳＡＵ等に用いられる高耐圧ＮチャネルＭＯＳトランジスタ７６が形成されているＰウェル領域７２ｂには、通常動作モードの場合、電圧ＶＳＳが印加され、負電圧動作モードの場合、負電圧ＶＢＢが印加される。また、Ｎウェル領域７１ｂには、電圧ＶＳＳが印加される。
【０４９０】
次に、読み出し動作におけるウェル領域の電圧について説明する。
【０４９１】
メモリセルアレイ１１が形成されているＰウェル領域７２ａ及びＮウェル領域７１ａには電圧ＶＳＳが印加される。
【０４９２】
ロウデコーダ１６等に用いられる高耐圧ＮチャネルＭＯＳトランジスタ７６が形成されているＰウェル領域７２ｂには負電圧ＶＢＢが印加され、Ｎウェル領域７１ｂには電圧ＶＳＳが印加される。
【０４９３】
周辺回路に用いられる低耐圧ＮチャネルＭＯＳトランジスタ７７が形成されているＰウェル領域７２ｃには電圧ＶＳＳが印加される。
【０４９４】
周辺回路に用いられる低耐圧ＰチャネルＭＯＳトランジスタ７８が形成されているＮウェル領域７１ｃには電圧ＶＤＤが印加される。
【０４９５】
ブロックデコーダ４０等に用いられる高耐圧ＰチャネルＭＯＳトランジスタ７９（例えば、トランジスタ５４）が形成されているＮウェル領域７１ｄには電圧ＶＲＥＡＤＨまたは電圧｜−ＶｔｈＤ｜が印加される。例えば、電圧ＶＲＥＡＤＨは、電圧ＶＲＥＡＤよりも大きい電圧であり、図５６において、ワード線ＷＬＤＤ及びＷＬＤＳ、並びに選択ゲート線ＳＧＤ及びＳＧＳ等に所定の電圧（電圧ＶＲＥＡＤ等）を転送するために、高耐圧ＮチャネルＭＯＳトランジスタをオン状態にする電圧である。
【０４９６】
選択ブロックＢＬＫに対応するブロックデコーダ４０では、高耐圧ＰチャネルＭＯＳトランジスタ７９（例えばトランジスタ５４）のＮウェル領域７１ｄに電圧ＶＲＥＡＤＨが印加される。一方、非選択ブロックＢＬＫに対応するブロックデコーダ４０では、高耐圧ＰチャネルＭＯＳトランジスタ７９（例えばトランジスタ５４）のＮウェル領域７１ｄには、高耐圧ＮチャネルＤ型ＭＯＳトランジスタ５５の閾値電圧に相当する電圧｜−ＶｔｈＤ｜が印加される。
【０４９７】
センスアンプユニットＳＡＵ等に用いられる高耐圧ＮチャネルＭＯＳトランジスタ７６が形成されているＰウェル領域７２ｂ及びＮウェル領域７１ｂには電圧ＶＳＳが印加される。
【０４９８】
６．３  メモリセルトランジスタＭＴの閾値分布
次に、メモリセルトランジスタＭＴの閾値分布について、図６２を用いて説明する。
【０４９９】
図６２に示すように、メモリセルトランジスタＭＴが２ビットデータを保持する場合、その閾値電圧の分布は４個に分けられる。この４個の閾値分布を、閾値電圧が低いものから順に“Ｅｒ”レベル、“Ａ”レベル、“Ｂ”レベル、及び“Ｃ”レベルと表記する。本実施形態では、負電圧側に“Ｅｒ”レベル及び“Ａ”レベルの閾値分布が設けられ、正電圧側に“Ｂ”レベル及び“Ｃ”レベルの閾値分布が設けられている。“Ａ”レベル、“Ｂ”レベル、及び“Ｃ”レベルにそれぞれ対応する読み出しレベルの電圧をＶＲＡ、ＶＲＢ、及びＶＲＣとする。また、“Ａ”レベル、“Ｂ”レベル、及び“Ｃ”レベルにそれぞれ対応するベリファイレベルの電圧をＶＡ、ＶＢ、及びＶＣとする。電圧ＶＲＡ及びＶＡは負電圧であり、例えば負電圧ＶＢＢ以上の高い電圧である。電圧ＶＲＢ及びＶＢは、０Ｖ近傍の電圧である。電圧ＶＲＣ及びＶＣは正電圧である。電圧ＶＲＡ〜ＶＲＣ、ＶＡ〜ＶＣ、及びＶＲＥＡＤの関係は、ＶＲＡ＜ＶＡ＜ＶＲＢ＜ＶＢ＜ＶＲＣ＜ＶＣ＜ＶＲＥＡＤである。
【０５００】
６．４  読み出し動作
読み出し動作について説明する。本実施形態では、例えば２ページデータ、すなわち“Ｅｒ”レベル〜“Ａ”レベルの読み出しを一括して行う場合について説明する。
【０５０１】
次に、読み出し動作時のワード線ＷＬの電圧について、図６３を用いて説明する。
【０５０２】
図６３に示すように、時刻ｔ０〜ｔ１の期間、“Ａ”レベルの読み出し動作を行う場合、非選択ワード線ＷＬには電圧ＶＲＥＡＤが印加され、選択ワード線ＷＬには、負電圧である電圧ＶＲＡが印加される。このとき、”Ｅｒ”レベルのデータを保持するメモリセルトランジスタＭＴはオン状態とされ、“Ａ”レベル〜“Ｃ”レベルのデータを保持するメモリセルトランジスタＭＴはオフ状態とされる。
【０５０３】
時刻ｔ１〜ｔ２の期間、“Ｂ”レベルの読み出し動作を行う場合、非選択ワード線ＷＬには電圧ＶＲＥＡＤが印加され、選択ワード線ＷＬには、電圧ＶＲＢが印加される。このとき、”Ｅｒ”レベル及び“Ａ”レベルのデータを保持するメモリセルトランジスタＭＴはオン状態とされ、“Ｂ”レベル及び“Ｃ”レベルのデータを保持するメモリセルトランジスタＭＴはオフ状態とされる。
【０５０４】
時刻ｔ２〜ｔ３の期間、“Ｃ”レベルの読み出し動作を行う場合、非選択ワード線ＷＬには電圧ＶＲＥＡＤが印加され、選択ワード線ＷＬには、電圧ＶＲＣが印加される。このとき、”Ｅｒ”レベル〜“Ｂ”レベルのデータを保持するメモリセルトランジスタＭＴはオン状態とされ、“Ｃ”レベルのデータを保持するメモリセルトランジスタＭＴはオフ状態とされる。
【０５０５】
６．５  消去動作
消去動作について説明する。消去動作は、大まかに、消去パルス印加動作と消去ベリファイ動作とを含む。消去パルス印加動作は、メモリセルトランジスタＭＴの閾値電圧を低下させるために消去パルスを印加する動作である。消去ベリファイ動作は、消去パルス印加動作を印加した結果、メモリセルトランジスタＭＴの閾値電圧が目標とする値より低くなったか否かを判定する動作である。消去パルス印加動作と消去ベリファイ動作との組み合わせを繰り返すことで、メモリセルトランジスタＭＴの閾値電圧を“Ｅｒ”レベル、すなわち電圧ＶＲＡ未満まで低下させる。
【０５０６】
次に、消去パルス印加動作時の各配線の電圧について、図６４を用いて説明する。なお、以下の例では、ブロックＢＬＫ０の消去動作を行う場合について説明するが、他のブロックＢＬＫも同様である。
【０５０７】
図６４に示すように、時刻ｔ０において、選択ブロックＢＬＫ（ブロックＢＬＫ０）に対応するロウデコーダユニット１６−０のブロックデコーダ４０は、信号線ＴＧに“Ｈ”レベルの電圧ＶＲＤＥＣとして電圧ＶＥＲＡＨを印加し、信号線ＲＤＥＣｎに“Ｌ”レベルの電圧として例えば電圧ＶＳＳを印加する。これにより、ロウデコーダユニット１６−０内のトランジスタ４１、４２、及び４４がオン状態とされ、トランジスタ４３及び４５がオフ状態とされる。この結果、ロウデコーダユニット１６−０は、選択ゲート線ＳＧＤ（ＳＧＤ０〜ＳＧＤ３）及びＳＧＳ（ＳＧＳ０〜ＳＧＳ３）に電圧ＶＥＲＡＳＧＤを印加し、ワード線ＷＬ（ＷＬ０〜ＷＬ６３、ＷＬＤＳ、及びＷＬＤＤ）に負電圧ＶＢＢを印加する。電圧ＶＥＲＡＳＧＤは、選択トランジスタＳＴ１及びＳＴ２をオン状態にして、ＧＩＤＬ（gate induced drain leakage）電流を発生させるための高電圧であり、ＶＥＲＡ＞ＶＥＲＡＳＧＤの関係にある。また、電圧ＶＥＲＡＨと電圧ＶＥＲＡＳＧＤとは、ＶＥＲＡＨ＞ＶＥＲＡＳＧＤの関係にある。このとき、ロウデコーダユニット１６−０のトランジスタ４１〜４５が形成されているＰウェル領域７２ｂには負電圧ＶＢＢが印加されている。
【０５０８】
なお、ロウデコーダユニット１６−０は、選択ゲート線ＳＧＤ（ＳＧＤ０〜ＳＧＤ３）及びＳＧＳ（ＳＧＳ０〜ＳＧＳ３）のいずれか１つに電圧ＶＥＲＡＳＧＤを印加し、対応する選択トランジスタＳＴ１またはＳＴ２のいずれか１つがオン状態とされてもよい。
【０５０９】
更に、ワード線ＷＬに印加する電圧は負電圧ＶＢＢに限定されない。ロウデコーダ１６内のトランジスタ４１が形成されているＰウェル領域７２ｂに負電圧ＶＢＢが印加されているため、ワード線ＷＬに印加される電圧は、負電圧ＶＢＢ以上の負電圧であればよい。すなわち、ＶＢＢ≦ワード線ＷＬの電圧＜０Ｖの関係にあればよい。
【０５１０】
また、非選択ブロックＢＬＫ（ブロックＢＬＫ１〜ＢＬＫｎ）に対応するロウデコーダユニット１６−１〜１６−ｎのブロックデコーダ４０は、信号線ＴＧに“Ｌ”レベルの電圧として例えば電圧ＶＳＳを印加し、信号線ＲＤＥＣｎに“Ｈ”レベルの電圧として例えば電圧ＶＤＤを印加する。これにより、ロウデコーダユニット１６−０内のトランジスタ４１、４２、及び４４がオフ状態とされ、トランジスタ４３及び４５がオン状態とされる。このとき、トランジスタ４３及び４５の一端には、電圧ＶＤＤが印加されている。この結果、ロウデコーダユニット１６−１〜１６−ｎは、ワード線ＷＬをフローティング状態とし、選択ゲート線ＳＧＤ及びＳＧＤに電圧（ＶＤＤ−Ｖｔｈ）（Ｖｔｈはトランジスタ４３及び４５の閾値電圧）を印加する。また、ロウデコーダユニット１６−０〜１６−ｎのトランジスタ４１〜４５が形成されているＰウェル領域７２ｂは、それぞれが分離されていて、ロウデコーダユニット１６−１〜１６−ｎのトランジスタ４１〜４５が形成されているＰウェル領域７２ｂには、例えば電圧ＶＳＳが印加されてもよい。
【０５１１】
時刻ｔ１において、ソース線ＳＬに電圧ＶＥＲＡが印加される。すると、非選択ブロックＢＬＫの選択ゲート線ＳＧＤ及びＳＧＳ、並びにワード線ＷＬの電圧は、ソース線ＳＬとのカップリングにより電圧ＶＣＰＬＧまで上昇する。電圧ＶＣＰＬＧは、電圧（ＶＤＤ−Ｖｔｈ）よりも高い電圧である。なお、選択ゲート線ＳＧＤ及びＳＧＳ、並びにワード線ＷＬにおけるカップリング電圧ＶＣＰＬＧは、同じでもよく、互いに異なっていてもよい。
【０５１２】
時刻ｔ２において、ソース線ＳＬの電圧が電圧ＶＥＲＡに達すると、選択ブロックＢＬＫでは、電圧ＶＥＲＡとワード線ＷＬに印加された負電圧ＶＢＢとの電位差に応じて、ワード線ＷＬに接続されたメモリセルトランジスタＭＴの電荷蓄積層から電子が引き抜かれ（あるいは電荷蓄積層にホールが供給され）、データが消去される。
【０５１３】
時刻ｔ３において、ソース線ＳＬには電圧ＶＳＳが印加される。これにより、非選択ブロックＢＬＫの選択ゲート線ＳＧＤ及びＳＧＳの電圧は電圧（ＶＤＤ−Ｖｔｈ）まで低下し、ワード線ＷＬの電圧は、電圧ＶＳＳまで低下する。
【０５１４】
時刻ｔ４において、選択ブロックＢＬＫのロウデコーダユニット１６−０は、ワード線ＷＬに電圧ＶＳＳを印加する。
【０５１５】
時刻ｔ５において、リカバリ処理が行われ消去パルス印加動作が終了する。
【０５１６】
６．６  書き込み動作
次に、書き込み動作について説明する。なお、本実施形態では、プログラム動作において、閾値電圧を上昇させる動作を「“０”書き込み」または単に「書き込み」と表記する。他方で、閾値電圧を維持させる動作を「“１”書き込み」または「非書き込み」と表記する。以下、“０”書き込みに対応するビット線をＢＬ（“０”）と表記し、“１”書き込みに対応するビット線をＢＬ（“１”）と表記する。
【０５１７】
本実施形態における書き込み動作は、通常動作モードと負電圧動作モードとの２つの動作モードを含む。通常動作モードは、各配線に印加する電圧を電圧ＶＳＳ以上とする動作モードであり、負電圧動作モードは、各配線に印加する電圧を負電圧ＶＢＢ以上とする動作モードである。
【０５１８】
６．６．１  プログラム動作時における各配線の電圧
次に、プログラム動作時における各配線の電圧について説明する。
【０５１９】
６．６．１．１  通常動作モードにおける各配線の電圧
まず、通常動作モードにおける各配線の電圧について、図６５を用いて説明する。なお、以下の例では、ブロックＢＬＫ０のストリングユニットＳＵ０が選択されている場合について説明するが、他のブロックＢＬＫ及びストリングユニットＳＵも同様である。
【０５２０】
図６５に示すように、センスアンプユニットＳＡＵ内のノードＩＮＶに“Ｈ”レベルのデータが保持されている場合、“０”書き込み対象とされ、“Ｌ”レベルのデータが保持されている場合、“１”書き込み対象とされる。
【０５２１】
時刻ｔ０において、ソース線ＳＬには、電圧ＶＳＲＣが印加される。電圧ＶＳＲＣは電圧ＶＳＳよりも高い電圧である。
【０５２２】
非選択ブロックＢＬＫ１〜ＢＬＫｎに対応するロウデコーダユニット１６−１〜１６−ｎは、選択ゲート線ＳＧＤ及びＳＧＳに電圧ＶＳＳを印加し、対応する選択トランジスタＳＴ１及びＳＴ２をオフ状態にする。
【０５２３】
選択ブロックＢＬＫ０に対応するロウデコーダユニット１６−０は、選択ゲート線ＳＧＳ０〜ＳＧＳ３に電圧ＶＳＳを印加する。これにより、ストリングユニットＳＵ０〜ＳＵ３の選択トランジスタＳＴ２はオフ状態とされる。また、ロウデコーダユニット１６−０は、選択ストリングユニットＳＵ０に対応する選択ゲート線ＳＧＤ０に電圧ＶＳＧ１を印加し、非選択ストリングユニットＳＵ１〜ＳＵ３に対応する選択ゲート線ＳＧＤ１〜ＳＧＤ３に電圧ＶＳＳを印加する。電圧ＶＳＧ１は、対応するビット線ＢＬの電圧に関わらず、選択トランジスタＳＴ１をオン状態にする電圧である。これにより選択ストリングユニットＳＵ０の選択トランジスタＳＴ１はオン状態とされ、非選択ストリングユニットＳＵ１〜ＳＵ３の選択トランジスタＳＴ１はオフ状態とされる。
【０５２４】
センスアンプ１８は、ビット線ＢＬ（“１”）に電圧ＶＢＬを印加し、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加する。電圧ＶＢＬは電圧ＶＳＳよりも高い電圧である。より具体的には、センスアンプ部ＳＡにおいて、信号ＢＬＣ及びＢＬＸとして“Ｈ”レベルの電圧として電圧ＶＸＸが印加される。電圧ＶＸＸは電圧ＶＳＳよりも高い電圧である。このとき、ノードＩＮＶが”Ｌ”レベルの電圧を保持している場合、トランジスタ６１がオフ状態とされ、トランジスタ６３がオン状態とされる。よって、トランジスタ６２及び６０において、電圧ＶＢＩＴを電圧ＶＸＸでクランプした電圧ＶＢＬがビット線ＢＬ（“１”）に印加される。すなわち、電圧ＶＢＬと電圧ＶＸＸとの関係は、ＶＢＬ＝ＶＸＸ−Ｖｔｈｎ（Ｖｔｈｎは、トランジスタ６０及び６２の閾値電圧）である。但し、電圧ＶＸＸを電圧（ＶＢＩＴ＋Ｖｔｈ）以上の電圧として、ビット線ＢＬに電圧ＶＢＩＴが転送されてもよい。また、ノードＩＮＶが“Ｈ”レベルの電圧を保持している場合、トランジスタ６１がオン状態とされ、トランジスタ６３がオフ状態とされる。よって、ノードＳＲＣＧＮＤの電圧ＶＳＳがビット線ＢＬ（“０”）に印加される。
【０５２５】
よって、選択ストリングユニットＳＵ０において、ビット線ＢＬ（“１”）に対応するＮＡＮＤストリングＮＳのチャネルには電圧ＶＢＬが印加され、ビット線ＢＬ（“０”）に対応するＮＡＮＤストリングＮＳのチャネルに電圧ＶＳＳが印加される。
【０５２６】
ソース線ＳＬ、選択ゲート線ＳＧＤ及びＳＧＳ、ワード線ＷＬ、並びにビット線ＢＬ（“０”）及びＢＬ（“１”）には電圧ＶＳＳ以上の電圧が印加されているため、Ｐウェル領域７２ａ、７２ｂ、及び７２ｄには、電圧ＶＳＳが印加される。
【０５２７】
時刻ｔ１において、ロウデコーダユニット１６−０は、選択ストリングユニットＳＵ０の選択ゲート線ＳＧＤ０に電圧ＶＳＧ２を印加する。電圧ＶＳＧ２は、ビット線ＢＬ（“１”）に対応する選択トランジスタＳＴ１をカットオフ状態にし、ビット線ＢＬ（“０”）に対応する選択トランジスタＳＴ１をオン状態にする電圧である。よって、例えば、電圧ＶＳＧ１及びＶＳＧ２と電圧ＶＢＬとの関係は、（ＶＳＧ１−Ｖｔｈｓ）＞ＶＢＬ＞（ＶＳＧ２−Ｖｔｈｓ）（電圧Ｖｔｈｓは、選択トランジスタＳＴ１の閾値電圧）である。これにより、ビット線ＢＬ（“１”）が接続された選択ストリングユニットＳＵ０のＮＡＮＤストリングＮＳのチャネルはフローティング状態とされる。
【０５２８】
時刻ｔ２において、ロウデコーダユニット１６−０は、ワード線ＷＬに電圧ＶＰＡＳＳを印加する。電圧ＶＰＡＳＳは、メモリセルトランジスタＭＴの閾値電圧に関わらず対応するメモリセルトランジスタＭＴをオン状態にする電圧である。
【０５２９】
時刻ｔ３において、ロウデコーダユニット１６−０は、選択ワード線ＷＬに電圧ＶＰＧＭを印加する。
【０５３０】
ビット線ＢＬ（“０”）に対応するＮＡＮＤストリングＮＳでは、選択トランジスタＳＴ１がオン状態となっている。このため、メモリセルトランジスタＭＴのチャネルの電位はＶＳＳに維持される。よって、制御ゲートとチャネルとの間の電位差（ＶＰＧＭ−ＶＳＳ）が大きくなり、その結果、電子が電荷蓄積層に注入されて、メモリセルトランジスタＭＴの閾値電圧が上昇する。
【０５３１】
また、ビット線ＢＬ（“１”）に対応するＮＡＮＤストリングＮＳでは、選択トランジスタＳＴ１がカットオフ状態となっている。このため、選択ワード線ＷＬとの容量カップリングにより、チャネル電位は上昇する。よって、制御ゲートとチャネルとの間の電位差は小さくなる。その結果、電子は電荷蓄積層にほとんど注入されず、メモリセルトランジスタＭＴの閾値電圧は維持される。
【０５３２】
時刻ｔ４において、ロウデコーダユニット１６−０は、選択ワード線ＷＬに電圧ＶＳＳを印加する。また、ソース線ＳＬには、電圧ＶＳＳが印加される。
【０５３３】
時刻ｔ５において、リカバリ処理が行われ、通常動作モードにおけるプログラム動作が終了する。
【０５３４】
６．６．１．２  負電圧動作モードにおける各配線の電圧
次に、負電圧動作モードにおける各配線の電圧について、図６６を用いて説明する。図６６の例では、図６５に対して、選択ゲート線ＳＧＤ及びＳＧＳ、ワード線、並びにビット線ＢＬ（“０”）及びＢＬ（“１”）の電圧が全体的に低くなっている（負電圧側にシフトしている）。以下、図６５と異なる点を中心に説明する。
【０５３５】
図６６に示すように、時刻ｔ０において、ソース線ＳＬには、電圧ＶＳＲＣが印加される。なお、電圧ＶＳＲＣは、通常動作モード時よりも低い電圧が設定されてよい。
【０５３６】
非選択ブロックＢＬＫ１〜ＢＬＫｎに対応するロウデコーダユニット１６−１〜１６−ｎは、選択ゲート線ＳＧＤ及びＳＧＳに負電圧ＶＢＢを印加し、対応する選択トランジスタＳＴ１及びＳＴ２をオフ状態にする。
【０５３７】
選択ブロックＢＬＫ０に対応するロウデコーダユニット１６−０は、選択ゲート線ＳＧＳ０〜ＳＧＳ３に負電圧ＶＢＢを印加する。これにより、ストリングユニットＳＵ０〜ＳＵ３の選択トランジスタＳＴ２はオフ状態とされる。また、ロウデコーダユニット１６−０は、選択ストリングユニットＳＵ０に対応する選択ゲート線ＳＧＤ０に電圧ＶＳＧ１よりも低い電圧（ＶＳＧ１＋ＶＢＢ）を印加し、非選択ストリングユニットＳＵ１〜ＳＵ３に対応する選択ゲート線ＳＧＤ１〜ＳＧＤ３に負電圧ＶＢＢを印加するこれにより選択ストリングユニットＳＵ０の選択トランジスタＳＴ１はオン状態とされ、非選択ストリングユニットＳＵ１〜ＳＵ３の選択トランジスタＳＴ１はオフ状態とされる。
【０５３８】
センスアンプ１８は、ビット線ＢＬ（“１”）に電圧ＶＢＬよりも低い電圧（ＶＢＬ−ＶＢ１）を印加し、ビット線ＢＬ（“０”）に負電圧ＶＢＢを印加する。電圧ＶＢ１と負電圧ＶＢＢとの関係は、ＶＢＢ≦（−ＶＢ１）≦０である。このとき、センスアンプ部ＳＡにおいて、信号ＢＬＣ及びＢＬＸに“Ｈ”レベルの電圧として電圧（ＶＸＸ−ＶＢ１）が印加される。但し、電圧（ＶＸＸ−ＶＢ１）は電圧（ＶＢＩＴ＋Ｖｔｈ）以上の電圧として、ビット線ＢＬに電圧ＶＢＩＴが転送されてもよい。
【０５３９】
なお、ビット線ＢＬ（“０”）に印加する電圧は負電圧ＶＢＢに限定されない。センスアンプ部ＳＡ内のトランジスタ６０〜６２が形成されているＰウェル領域７２ｂに負電圧ＶＢＢが印加されているため、ビット線ＢＬ（“０”）に印加される電圧は、負電圧ＶＢＢ以上の負電圧であればよい。
【０５４０】
よって、選択ストリングユニットＳＵ０において、ビット線ＢＬ（“１”）に対応するＮＡＮＤストリングＮＳのチャネルには電圧（ＶＢＬ−ＶＢ１）が印加され、ビット線ＢＬ（“０”）に対応するＮＡＮＤストリングＮＳのチャネルに負電圧ＶＢＢが印加される。
【０５４１】
ソース線ＳＬ、選択ゲート線ＳＧＤ及びＳＧＳ、ワード線ＷＬ、ビット線ＢＬには負電圧ＶＢＢ以上の電圧が印加されているため、Ｐウェル領域７２ａ、７２ｂ、及び７２ｄには、負電圧ＶＢＢが印加される。
【０５４２】
時刻ｔ１において、ロウデコーダユニット１６−０は、選択ストリングユニットＳＵ０の選択ゲート線ＳＧＤ０に電圧ＶＳＧ２よりも低い電圧（ＶＳＧ２＋ＶＢＢ）を印加する。これにより、ビット線ＢＬ（“１”）が接続された選択ストリングユニットＳＵ０のＮＡＮＤストリングＮＳのチャネルはフローティング状態とされる。
【０５４３】
時刻ｔ２において、ロウデコーダユニット１６−０は、ワード線ＷＬに電圧ＶＰＡＳＳよりも低い電圧（ＶＰＡＳＳ＋ＶＢＢ）を印加する。
【０５４４】
時刻ｔ３において、ロウデコーダユニット１６−０は、選択ワード線ＷＬに電圧ＶＰＧＭよりも低い電圧（ＶＰＧＭ＋ＶＢＢ）を印加する。
【０５４５】
この結果、ビット線ＢＬ（“０”）に対応するＮＡＮＤストリングＮＳではメモリセルトランジスタＭＴの閾値電圧が上昇し、ビット線ＢＬ（“１”）に対応するＮＡＮＤストリングＮＳではメモリセルトランジスタＭＴの閾値電圧が維持される。
【０５４６】
時刻ｔ４において、ロウデコーダユニット１６−０は、選択ワード線ＷＬに電圧ＶＳＳを印加する。ソース線ＳＬには、電圧ＶＳＳが印加される。
【０５４７】
時刻ｔ５において、リカバリ処理が行われ、負電圧動作モードにおけるプログラム動作が終了する。
【０５４８】
６．６．２  書き込み動作の全体の流れ
次に、書き込み動作の全体の流れについて２つの例を示す。
【０５４９】
６．６．２．１  第１例
まず、第１例における書き込み動作の全体の流れについて、図６７及び図６８を用いて説明する。図６７は、第１例の書き込み動作のフローチャートを示す。図６８は、第１例の書き込み動作において選択ワード線ＷＬの電圧、ビット線ＢＬ（“０”）の電圧、入力データ、及びレディビジー信号ＲＢｎを示すタイミングチャートである。
【０５５０】
なお、図６８の例は、説明を簡略化するために、ビット線ＢＬ（“０”）の電圧は、プログラム動作時の電圧を示しており、プログラムベリファイ動作時におけるビット線ＢＬの電圧は省略されている。また、図６８の例は、コマンド及びアドレスの入力は省略されている。
【０５５１】
図６７に示すように、メモリ１０は、まずコントローラ２０から書き込み動作命令を受信する（ステップＳ２００）。
【０５５２】
シーケンサ１４は、書き込み命令を受信すると、通常動作モードを選択してプログラム動作を実行する（ステップＳ２０１）。
【０５５３】
シーケンサ１４は、プログラム動作終了後、プログラムベリファイ動作を実行する（ステップＳ２０２）。
【０５５４】
ベリファイをパスした場合（ステップＳ２０３＿Ｙｅｓ）、シーケンサ１４は、書き込み動作を終了する。
【０５５５】
ベリファイをパスしていない場合（ステップＳ２０３＿Ｎｏ）、シーケンサ１４は、プログラムループ回数が予め設定されて上限回数に達したか確認する（ステップＳ２０４）。
【０５５６】
プログラムループ回数が上限回数に達している場合（ステップＳ２０４＿Ｙｅｓ）、シーケンサ１４は、書き込み動作を終了し、書き込み動作が正常に終了しなかった旨をコントローラ２０に報告する。
【０５５７】
プログラムループ回数が上限回数に達していない場合（ステップＳ２０４＿Ｎｏ）、シーケンサ１４は、プログラムループ回数が負電圧設定回数に達したか確認する（ステップＳ２０５）。
【０５５８】
プログラムループ回数が負電圧設定回数に達している場合（ステップＳ２０５＿Ｙｅｓ）、シーケンサ１４は、負電圧動作モードを選択する。そして、シーケンサ１４は、負電圧動作モードに対応する電圧パラメータを設定済みか確認する（ステップＳ２０６）。すなわち、シーケンサ１４は、以前のプログラムループにおいて負電圧動作モードを選択済みか確認する。
【０５５９】
負電圧動作モードに対応した電圧パラメータを設定済みではない場合（ステップＳ２０６＿Ｎｏ）、すなわち、以前のプログラムループにおいて負電圧動作モードを選択済みではない場合、シーケンサ１４は、負電圧動作モードに対応した電圧パラメータの設定を行う（ステップＳ２０７）。すなわち、シーケンサ１４は、負電圧動作モードに対応するように各配線の電圧パラメータを変更する。より具体的には、シーケンサ１４は、プログラム動作における選択ゲート線ＳＧＤ及びＳＧＳ、ワード線、Ｐウェル領域７２ａ、７２ｂ、及び７２ｄ、並びにビット線ＢＬ（“０”）の設定電圧値に負電圧ＶＢＢを加算して設定電圧値を低くする。また、シーケンサ１４は、ビット線ＢＬ（“１”）並びに信号ＢＬＣ及びＢＬＸの設定電圧値に電圧（−ＶＢ１）を加算して、設定電圧値を低くする。
【０５６０】
負電圧設定回数に達していない場合（ステップＳ２０５＿Ｎｏ）、負電圧動作モードに対応した電圧パラメータを設定済みの場合（ステップＳ２０６＿Ｙｅｓ）、または、ステップＳ２０７において負電圧動作モードに対応した電圧パラメータの設定が終了した後、シーケンサ１４は、プログラム電圧をステップアップさせる（ステップＳ２０８）。より具体的には、シーケンサ１４は、プログラム電圧の設定電圧値にステップアップ電圧ＤＶＰＧＭを加算して設定電圧値をステップアップさせる。電圧ＤＶＰＧＭは、電圧ＶＳＳより高い電圧である。
【０５６１】
シーケンサ１４は、プログラム電圧をステップアップさせた後、ステップＳ２０１に戻り、プログラム動作を実行する。
【０５６２】
次に、書き込み動作時の選択ワード線ＷＬの電圧、ビット線ＢＬ（“０”）の電圧、入力データ、及びレディビジー信号ＲＢｎについて説明する。
【０５６３】
図６８に示すように、シーケンサ１４は、コントローラ２０から、コマンド“８０ｈ”、Ｌｏｗｅｒページのアドレス、Ｌｏｗｅｒページのデータ（参照符号“ＬＰ”）、及びコマンド“１Ａｈ”を受信すると、レディビジー信号を“Ｌ”レベルにして、入力データ“ＬＰ”をセンスアンプ１８に転送させる。シーケンサ１４は、センスアンプ１８へのデータ“ＬＰ”の転送が終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０５６４】
次に、シーケンサ１４は、コントローラ２０から、コマンド“８０ｈ”、Ｕｐｐｅｒページのアドレス、Ｕｐｐｅｒページのデータ（参照符号“ＵＰ”）、及びコマンド“１０ｈ”を受信すると、レディビジー信号ＲＢｎを“Ｌ”レベルにして、入力データ“ＵＰ”をセンスアンプ１８に転送させた後、書き込み動作を実行する。
【０５６５】
１回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬにプログラム電圧として電圧ＶＰＧＭを印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに“Ａ”レベルに対応した電圧ＶＡを印加している。例えば、１回目のプログラムループでは、シーケンサ１４は、“Ａ”レベルのベリファイをフェイルしている。
【０５６６】
２回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＰＧＭを電圧ＤＶＰＧＭだけステップアップさせた電圧（ＶＰＧＭ＋ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに“Ａ”レベルに対応した電圧ＶＡを印加している。例えば、２回目のプログラムループでは、シーケンサ１４は、“Ａ”レベルのベリファイをフェイルしている。
【０５６７】
３回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋２ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＡ及び“Ｂ”レベルに対応した電圧ＶＢを印加している。例えば、３回目のプログラムループでは、シーケンサ１４は、“Ａ”レベル及び“Ｂ”レベルのベリファイをフェイルしている。
【０５６８】
４回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋３ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＡ及びＶＢを印加している。例えば、４回目のプログラムループでは、シーケンサ１４は、“Ａ”レベル及び“Ｂ”レベルのベリファイをフェイルしている。
【０５６９】
５回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋４ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＡ及びＶＢを印加している。例えば、５回目のプログラムループでは、シーケンサ１４は、“Ａ”レベルのベリファイをパスし、“Ｂ”レベルのベリファイをフェイルしている。
【０５７０】
６回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋５ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＢ及び“Ｃ”レベルに対応したＶＣを印加している。例えば、６回目のプログラムループでは、シーケンサ１４は、“Ｂ”レベル及び“Ｃ”レベルのベリファイをフェイルしている。
【０５７１】
７回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋６ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＢ及びＶＣを印加している。例えば、７回目のプログラムループでは、シーケンサ１４は、“Ｂ”レベル及び“Ｃ”レベルのベリファイをフェイルしている。
【０５７２】
８回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋７ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧ＶＳＳを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＢ及びＶＣを印加している。例えば、８回目のプログラムループでは、シーケンサ１４は、“Ｂ”レベルのベリファイをパスし、“Ｃ”レベルのベリファイをフェイルしている。
【０５７３】
９回目のプログラムループでは、プログラムループ回数が負電圧設定回数に達したため、シーケンサ１４が負電圧動作モードを選択し、負電圧動作モードに対応した電圧パラメータの設定を行っている。このため、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋８ＤＶＰＧＭ＋ＶＢＢ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に負電圧ＶＢＢを印加している。図６８の例では、８回目のプログラムループにおける電圧（ＶＰＧＭ＋７ＤＶＰＧＭ）と、９回目のプログラムループにおける電圧（ＶＰＧＭ＋８ＤＶＰＧＭ＋ＶＢＢ）とを比較すると、（ＶＰＧＭ＋７ＤＶＰＧＭ）＞（ＶＰＧＭ＋８ＤＶＰＧＭ＋ＶＢＢ）の関係にある。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＣを印加している。例えば、９回目のプログラムループでは、シーケンサ１４は、“Ｃ”レベルのベリファイをフェイルしている。
【０５７４】
１０回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＤＶＰＧＭだけステップアップさせた電圧（ＶＰＧＭ＋９ＤＶＰＧＭ＋ＶＢＢ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に負電圧ＶＢＢを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＣを印加している。例えば、１０回目のプログラムループでは、シーケンサ１４は、“Ｃ”レベルのベリファイをフェイルしている。
【０５７５】
１１回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＤＶＰＧＭだけステップアップさせた電圧（ＶＰＧＭ＋１０ＤＶＰＧＭ＋ＶＢＢ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に負電圧ＶＢＢを印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＣを印加している。例えば、１１回目のプログラムループでは、シーケンサ１４は、“Ｃ”レベルのベリファイをパスしている。シーケンサ１４は、書き込み動作を終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０５７６】
６．６．２．２  第２例
次に、第２例における書き込み動作の全体の流れについて、図６９及び図７０を用いて説明する。図６９は、第２例の書き込み動作のフローチャートを示す。図７０は、第２例の書き込み動作において選択ワード線ＷＬの電圧、ビット線ＢＬ（“０”）の電圧、入力データ、及びレディビジー信号ＲＢｎを示すタイミングチャートである。以下、第１例と異なる点を中心に説明する。
【０５７７】
なお、図７０の例は、図６８の例と同様に、説明を簡略化するために、ビット線ＢＬ（“０”）の電圧は、プログラム動作時の電圧を示しており、プログラムベリファイ動作時におけるビット線ＢＬの電圧は省略されている。また、図７０の例は、コマンド及びアドレスの入力は省略されている。
【０５７８】
図６９に示すように、ステップＳ２００〜Ｓ２０４は、第１例の図６７と同じである。
【０５７９】
負電圧設定回数に達していない場合（ステップＳ２０５＿Ｎｏ）、すなわち通常動作モードの場合、シーケンサ１４は、プログラム電圧をステップアップさせる（ステップＳ２０８）。シーケンサ１４は、プログラム電圧をステップアップさせた後、ステップＳ２０１に戻る。
【０５８０】
負電圧設定回数に達した場合（ステップＳ２０５＿Ｙｅｓ）、シーケンサ１４は、負電圧動作モードを選択する。そして、シーケンサ１４は、電圧ＤＶＰＧＭを加算してプログラム電圧をステップアップさせる代わりに、ビット線ＢＬ（“０”）の電圧パラメータを負電圧側にステップダウンさせる（ステップＳ２１０）。より具体的には、プログラム動作における選択ゲート線ＳＧＤ及びＳＧＳ、非選択ワード線ＷＬ、Ｐウェル領域７２ａ、７２ｂ、及び７２ｄ、ビット線ＢＬ（“０”）及びＢＬ（“１”）、並びに信号ＢＬＣ及びＢＬＸの設定電圧値に電圧（−ＤＶＰＧＭ）を加算し、設定電圧値を低くする。シーケンサ１４は、電圧パラメータを負電圧側にステップダウンさせた後、ステップＳ２０１に戻る。
【０５８１】
次に、書き込み動作時の選択ワード線ＷＬの電圧、ビット線ＢＬ（“０”）の電圧、入力データ、及びレディビジー信号ＲＢｎについて説明する。
【０５８２】
図７０に示すように、８回目のプログラムループまでの動作は、第１例の図６８と同様である。
【０５８３】
９回目のプログラムループでは、プログラムループ回数が負電圧設定回数に達したため、シーケンサ１４は、負電圧動作モードを選択し、ビット線ＢＬ（“０”）の電圧パラメータを負電圧側に電圧ＤＶＰＧＭだけシフトさせている。このため、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに、８回目のプログラムループと同じ電圧（ＶＰＧＭ＋７ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に電圧（ＶＳＳ−ＤＶＰＧＭ）を印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＣを印加している。例えば、９回目のプログラムループでは、シーケンサ１４は、“Ｃ”レベルのベリファイをフェイルしている。
【０５８４】
１０回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋７ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に９回目のプログラムループから設定電圧値を負電圧側に電圧ＤＶＰＧＭだけシフトさせた電圧（ＶＳＳ−２ＤＶＰＧＭ）を印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＣを印加している。例えば、１０回目のプログラムループでは、シーケンサ１４は、“Ｃ”レベルのベリファイをフェイルしている。
【０５８５】
１１回目のプログラムループでは、プログラム動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧（ＶＰＧＭ＋７ＤＶＰＧＭ）を印加し、センスアンプ１８は、ビット線ＢＬ（“０”）に１０回目のプログラムループから設定電圧値を負電圧側に電圧ＤＶＰＧＭだけシフトさせた電圧（ＶＳＳ−３ＤＶＰＧＭ）を印加している。また、例えば、プログラムベリファイ動作において、ロウデコーダ１６は、選択ワード線ＷＬに電圧ＶＣを印加している。例えば、１１回目のプログラムループでは、シーケンサ１４は、“Ｃ”レベルのベリファイをパスしている。そして、シーケンサ１４は、書き込み動作を終了すると、レディビジー信号ＲＢｎを“Ｈ”レベルにする。
【０５８６】
６．７  本実施形態に係る効果
本実施形態に係る構成であれば、書き込み動作、読み出し動作、消去動作において、各配線に印加される電圧を低減できる。よって、半導体記憶装置における消費電力を低減できる。
【０５８７】
例えば、従来技術の消去動作では、ワード線ＷＬに０Ｖ〜０．５Ｖの電圧が印加され、メモリセルトランジスタＭＴのチャネルに１８Ｖ〜２４Ｖの電圧が印可されている。これに対し、本実施形態に係る構成であれば、例えば、ワード線ＷＬに−１Ｖ〜−０．５Ｖの電圧を印加し、メモリセルトランジスタＭＴのチャネルの電圧を１７Ｖ〜２３Ｖと低減できる。すなわち、電圧ＶＥＲＡの電圧値を低減できる。例えば、昇圧回路では、１７Ｖ〜２３Ｖの電圧を１８Ｖ〜２４Ｖの電圧に昇圧するよりも、０Ｖ〜０．５Ｖの電圧を、−１Ｖ〜−０．５Ｖの電圧に降圧する方が消費電力を低減できる。
【０５８８】
更に、本実施形態に係る構成であれば、負電圧側にメモリセルトランジスタＭＴの閾値分布の一部を設けることにより、正電圧側だけに閾値分布を設けた場合よりも各閾値レベルの幅を広くすることができる。これにより、閾値電圧がシフトする、または閾値分布が広がる等の影響による誤読み出しを抑制できる。よって、半導体記憶装置の信頼性を向上できる。
【０５８９】
更に、本実施形態に係る構成であれば、各閾値レベルの幅を広くすることができるため、プログラム動作におけるステップアップ電圧の幅を比較的大きくできる。このため、プログラムループ回数を低減できる。よって、書き込み動作の時間の増加を抑制できる。よって、半導体記憶装置の処理能力を向上できる。
【０５９０】
更に、本実施形態に係る構成であれば、書き込み動作の前半、すなわち、プログラムループ回数が少ない場合には、通常動作モードを選択し、書き込み動作の後半、すなわち、プログラムループ回数が予め設定された設定値以上の場合には、負電圧動作モードを選択できる。より具体的には、書き込み動作の前半は、ビット線ＢＬ全体におけるビット線ＢＬ（“０”）の割合がビット線（“１”）の割合よりも多い。この場合、通常動作モードが選択され、ビット線ＢＬ（“０”）に電圧ＶＳＳが印加される。これに対し、書き込み動作の後半は、ほとんどのセル書き込みが終了し、ビット線ＢＬ（“０”）の割合が減少する。この場合、負電圧動作モードが選択され、ビット線ＢＬ（“０”）に負電圧ＶＢＢが印加される。すなわち、負電圧ＶＢＢの印加対象となるビット線ＢＬの本数が比較的少ない状態で負電圧モードが選択されることにより、消費電力の上昇を抑制できる。
【０５９１】
７．変形例等
上記実施形態に係るメモリシステムは、少なくとも４ビットデータ(Top/Upper/Middle/Lower)を保持可能なメモリセル(MT)を含むメモリセルアレイ(11)を有する半導体記憶装置(10)と、半導体記憶装置における４ビットデータに基づく第１書き込み動作及び第２書き込み動作を制御するコントローラ(20)とを含む。コントローラは、４ビットデータを２ビットデータ(X1/X2)に変換する変換回路(27)を含む。半導体記憶装置は、変換された２ビットデータと、第１書き込み動作によりメモリセルに書き込まれたデータとに基づいて４ビットデータを復元する復元制御回路(19)を含む。第１書き込み動作は、コントローラから受信した４ビットデータに基づいて実行され、第２書き込み動作は、復元制御回路により復元された４ビットデータに基づいて実行される。
【０５９２】
上記実施形態を適用することにより、チップ面積の増加を抑制できる半導体記憶装置を提供できる。
【０５９３】
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
【０５９４】
例えば、本実施形態では、１６値の閾値分布により、データを保持可能なメモリセルについて説明したが、１６値には限定せず、任意の閾値分布の数についても適用することは可能である。また、本実施形態では４ビットのデータより生成した２ビットデータ（Ｘ１ページデータ及びＸ２ページデータ）を、メモリ１０内部のＳＬＣに２値で記憶したが、４値など任意の閾値分布の数で記憶することも可能である。
【０５９５】
更に、第４実施形態において、メモリ１０内にデータ変換／復元制御回路１９Ｂが設けられている場合について説明したが、コントローラ２０内に設けられていてもよい。すなわち、コントローラ２０内において、データの変換及び復元動作が実行されてもよい。
【０５９６】
更に、第５実施形態において、負電圧を用いた構成について説明したが、書き込み動作、読み出し動作、または消去動作のいずれか１つの動作、または、いずれか２つの動作の組み合わせにおいて負電圧動作モードが実施されてもよい。
【０５９７】
更に、上記実施形態は、可能な限り組み合わせることができる。
【０５９８】
更に、上記実施形態において、半導体記憶装置は三次元積層型ＮＡＮＤ型フラッシュメモリに限定されてない。平面ＮＡＮＤ型フラッシュメモリであってもよく、３ビット以上のデータを保持可能なメモリセルを有する不揮発性メモリにも適用できる。
【０５９９】
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
【０６００】
更に、上記実施形態において、データ変換回路２７で変換される前の４ビットデータと、データ復元制御回路１９で復元された４ビットデータとは、例えばＥＣＣ回路２５で訂正可能な範囲での誤差を含んでいてもよい。
【０６０１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０６０２】
１…メモリシステム、１０…メモリ、１１…メモリセルアレイ、１２…コマンドレジスタ、１３…アドレスレジスタ、１４…シーケンサ、１５…ドライバ回路、１６…ロウデコーダ、１７…データレジスタ、１８…センスアンプ、１９…データ復元制御回路、１９Ｂ…データ変換／復元制御回路、２０…コントローラ、２１…ホストインターフェイス回路、２２…ＲＡＭ、２３…ＣＰＵ、２４…バッファメモリ、２５…ＥＣＣ回路、２６…ＮＡＮＤインターフェイス回路、２７…データ変換回路、３０…ホスト機器、４１〜４５、５３〜５５、６０〜６３、７６〜７９…トランジスタ、５１…ＮＡＮＤ回路、５２…インバータ、６４…レベルシフタ、７０…半導体基板、７１ａ〜７１ｄ…Ｎウェル領域、７２ａ〜７２ｃ…Ｐウェル領域、７３…Ｎ＋拡散層、７４…Ｐ＋拡散層、７５…ゲート電極、９０…絶縁層、９１…半導体層。
【図１】
2020024774.tif 000003
【図２】
2020024774.tif 000004
【図３】
2020024774.tif 000005
【図４】
2020024774.tif 000006
【図５】
2020024774.tif 000007
【図６】
2020024774.tif 000008
【図７】
2020024774.tif 000009
【図８】
2020024774.tif 000010
【図９】
2020024774.tif 000011
【図１０】
2020024774.tif 000012
【図１１】
2020024774.tif 000013
【図１２】
2020024774.tif 000014
【図１３】
2020024774.tif 000015
【図１４】
2020024774.tif 000016
【図１５】
2020024774.tif 000017
【図１６】
2020024774.tif 000018
【図１７】
2020024774.tif 000019
【図１８】
2020024774.tif 000020
【図１９】
2020024774.tif 000021
【図２０】
2020024774.tif 000022
【図２１】
2020024774.tif 000023
【図２２】
2020024774.tif 000024
【図２３】
2020024774.tif 000025
【図２４】
2020024774.tif 000026
【図２５】
2020024774.tif 000027
【図２６】
2020024774.tif 000028
【図２７】
2020024774.tif 000029
【図２８】
2020024774.tif 000030
【図２９】
2020024774.tif 000031
【図３０】
2020024774.tif 000032
【図３１】
2020024774.tif 000033
【図３２】
2020024774.tif 000034
【図３３】
2020024774.tif 000035
【図３４】
2020024774.tif 000036
【図３５】
2020024774.tif 000037
【図３６】
2020024774.tif 000038
【図３７】
2020024774.tif 000039
【図３８】
2020024774.tif 000040
【図３９】
2020024774.tif 000041
【図４０】
2020024774.tif 000042
【図４１】
2020024774.tif 000043
【図４２】
2020024774.tif 000044
【図４３】
2020024774.tif 000045
【図４４】
2020024774.tif 000046
【図４５】
2020024774.tif 000047
【図４６】
2020024774.tif 000048
【図４７】
2020024774.tif 000049
【図４８】
2020024774.tif 000050
【図４９】
2020024774.tif 000051
【図５０】
2020024774.tif 000052
【図５１】
2020024774.tif 000053
【図５２】
2020024774.tif 000054
【図５３】
2020024774.tif 000055
【図５４】
2020024774.tif 000056
【図５５】
2020024774.tif 000057
【図５６】
2020024774.tif 000058
【図５７】
2020024774.tif 000059
【図５８】
2020024774.tif 000060
【図５９】
2020024774.tif 000061
【図６０】
2020024774.tif 000062
【図６１】
2020024774.tif 000063
【図６２】
2020024774.tif 000064
【図６３】
2020024774.tif 000065
【図６４】
2020024774.tif 000066
【図６５】
2020024774.tif 000067
【図６６】
2020024774.tif 000068
【図６７】
2020024774.tif 000069
【図６８】
2020024774.tif 000070
【図６９】
2020024774.tif 000071
【図７０】
2020024774.tif 000072