(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024129878
(43)【公開日】2024-09-30
(54)【発明の名称】メモリシステム
(51)【国際特許分類】
G11C 11/56 20060101AFI20240920BHJP
G11C 16/04 20060101ALI20240920BHJP
G11C 16/34 20060101ALI20240920BHJP
【FI】
G11C11/56 210
G11C16/04 170
G11C16/34 116
【審査請求】未請求
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2023039246
(22)【出願日】2023-03-14
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110001612
【氏名又は名称】弁理士法人きさらぎ国際特許事務所
(72)【発明者】
【氏名】野田 優子
(72)【発明者】
【氏名】渡辺 究
(72)【発明者】
【氏名】齋藤 正宏
(72)【発明者】
【氏名】高井 良貴
【テーマコード(参考)】
5B225
【Fターム(参考)】
5B225BA19
5B225CA21
5B225DB08
5B225DB28
5B225DB29
5B225EA05
5B225FA01
5B225FA02
(57)【要約】
【課題】信頼性の低下を抑制しつつ、データの書き込みに要する時間を削減する。
【解決手段】メモリシステムは、a(aは3以上の整数)ビットのデータを記憶可能なメモリセルを含む不揮発性メモリと、不揮発性メモリに接続されるコントローラと、を備える。コントローラは、メモリセルにb(bはa未満の正の整数)ビットのデータを記憶させる第1書込動作と、メモリセルに、更にcビット(cはa-bと等しい正の整数)のデータを記憶させる第2書込動作と、を不揮発性メモリに実行させることが可能である。第1書込動作を実行してからしきい値時間の経過前に第2書込動作を実行する場合、コントローラは、不揮発性メモリに、bビットのデータを入力せず、cビットのデータを入力する。第1書込動作を実行してからしきい値時間の経過後に第2書込動作を実行する場合、コントローラは、不揮発性メモリに、bビットのデータ及びcビットのデータを入力する。
【選択図】
図35
【特許請求の範囲】
【請求項1】
a(aは3以上の整数)ビットのデータを記憶可能なメモリセルを含む不揮発性メモリと、
前記不揮発性メモリに接続されるコントローラと
を備えるメモリシステムであって、
前記コントローラは、前記メモリセルへデータを書き込むために、
前記メモリセルにb(bはa未満の正の整数)ビットのデータを記憶させる第1書込動作と、
前記bビットのデータが記憶された前記メモリセルに、更にc(cはa-bと等しい正の整数)ビットのデータを記憶させる第2書込動作と、
を前記不揮発性メモリに実行させることが可能であり、
前記第1書込動作を実行してからしきい値時間の経過前に前記第2書込動作を実行する場合、前記第2書込動作に際して、前記コントローラは、前記不揮発性メモリに、前記bビットのデータを入力せず、前記cビットのデータを入力し、
前記第1書込動作を実行してから前記しきい値時間の経過後に前記第2書込動作を実行する場合、前記第2書込動作に際して、前記コントローラは、前記不揮発性メモリに、前記bビットのデータ及び前記cビットのデータを入力する
メモリシステム。
【請求項2】
前記不揮発性メモリは、前記第1書込動作が実行された前記メモリセルからデータを読み出す読出動作を実行可能であり、
前記コントローラは、前記第1書込動作を実行してから前記しきい値時間の経過前に前記第2書込動作を実行する場合、前記第2書込動作に際して、前記不揮発性メモリに前記読出動作を実行させ、前記読出動作によって読み出された前記データを前記コントローラに送信させずに、前記第2書込動作を実行させる
請求項1記載のメモリシステム。
【請求項3】
前記コントローラに接続された記憶装置を更に備え、
前記コントローラは、前記第1書込動作を実行してから前記しきい値時間の経過後に前記第2書込動作を実行する場合、前記第2書込動作に際して、前記記憶装置から前記bビットのデータを読み出し、前記bビットのデータを前記不揮発性メモリに入力する
請求項1記載のメモリシステム。
【請求項4】
前記不揮発性メモリは、前記第1書込動作が実行された前記メモリセルからデータを読み出す読出動作を実行可能であり、
前記コントローラは、前記第1書込動作を実行してから前記しきい値時間の経過後に前記第2書込動作を実行する場合、前記第2書込動作に際して、前記不揮発性メモリに前記読出動作を実行させ、前記読出動作によって読み出された前記データを前記コントローラに送信させ、
前記コントローラは、前記送信されたデータに基づくデータを前記bビットのデータとして前記不揮発性メモリに入力する
請求項1記載のメモリシステム。
【請求項5】
前記コントローラは、前記bビットのデータを前記不揮発性メモリに入力する前に、前記送信されたデータに対して誤り検出/訂正を実行する
請求項4記載のメモリシステム。
【請求項6】
a(aは3以上の整数)ビットのデータを記憶可能なメモリセルを含む不揮発性メモリと、
前記不揮発性メモリに接続されるコントローラと
を備えるメモリシステムであって、
前記コントローラは、前記メモリセルへデータを書き込むために、
前記メモリセルにb(bはa未満の正の整数)ビットのデータを記憶させる第1書込動作と、
前記bビットのデータが記憶された前記メモリセルに、更にc(cはa-bと等しい正の整数)ビットのデータを記憶させる第2書込動作と、
を前記不揮発性メモリに実行させることが可能であり、
前記第2書込動作が実行される前記メモリセルに対応する誤りビット数がしきい値よりも小さい場合、前記第2書込動作に際して、前記コントローラは、前記不揮発性メモリに、前記bビットのデータを入力せず、前記cビットのデータを入力し、
前記誤りビット数が前記しきい値よりも小さくない場合、前記第2書込動作に際して、前記コントローラから前記不揮発性メモリに、前記bビットのデータ及び前記cビットのデータを入力する
メモリシステム。
【請求項7】
前記不揮発性メモリは、前記第1書込動作が実行された前記メモリセルからデータを読み出す読出動作を実行可能であり、
前記コントローラは、前記誤りビット数が前記しきい値よりも小さい場合、前記第2書込動作に際して、前記不揮発性メモリに前記読出動作を実行させ、前記読出動作によって読み出された前記データを前記コントローラに送信させずに、前記第2書込動作を実行させる
請求項6記載のメモリシステム。
【請求項8】
前記コントローラに接続された記憶装置を更に備え、
前記コントローラは、前記誤りビット数が前記しきい値よりも小さくない場合、前記第2書込動作に際して、前記記憶装置から前記bビットのデータを読み出し、前記bビットのデータを前記不揮発性メモリに入力する
請求項6記載のメモリシステム。
【請求項9】
前記不揮発性メモリは、前記第1書込動作が実行された前記メモリセルからデータを読み出す読出動作を実行可能であり、
前記コントローラは、前記誤りビット数が前記しきい値よりも小さくない場合、前記第2書込動作に際して、前記不揮発性メモリに前記読出動作を実行させ、前記読出動作によって読み出された前記データを前記コントローラに送信させ、
前記コントローラは、前記送信されたデータに基づくデータを前記bビットのデータとして前記不揮発性メモリに入力する
請求項6記載のメモリシステム。
【請求項10】
前記コントローラは、前記bビットのデータを前記不揮発性メモリに入力する前に、前記送信されたデータに対して誤り検出/訂正を実行する
請求項9記載のメモリシステム。
【請求項11】
前記不揮発性メモリは、前記第1書込動作が実行された前記メモリセルからデータを読み出す読出動作を実行可能であり、
前記コントローラは、前記第1書込動作を実行してから所定のタイミングの経過前に前記第2書込動作を実行しない場合、前記不揮発性メモリに前記読出動作を実行させ、前記読出動作によって読み出された前記データを前記コントローラに送信させる
請求項6記載のメモリシステム。
【請求項12】
前記コントローラは、前記送信されたデータに対して誤り検出を実行する
請求項11記載のメモリシステム。
【請求項13】
不揮発性メモリと、
前記不揮発性メモリに接続されるコントローラと
を備えるメモリシステムであって、
前記不揮発性メモリは、
a(aは3以上の整数)ビットのデータを記憶可能な第1メモリセルを含む第1メモリブロックと、
b(bは2以上a未満の正の整数)ビットのデータの一部を記憶可能な第2メモリセル、及び、bビットのデータの他の一部を記憶可能な第3メモリセルを含む第2メモリブロックと
を備え、
前記コントローラは、
前記第1メモリセルへデータを書き込むために、
前記第1メモリセルにbビットのデータを記憶させる第1書込動作と、
前記bビットのデータが記憶された前記第1メモリセルに、更にc(cはa-bと等しい正の整数)ビットのデータを記憶させる第2書込動作と、
を前記不揮発性メモリに実行させることが可能であり、
前記第2メモリセルへデータを書き込むために、前記第2メモリセルに前記bビットのデータの一部を記憶させる第3書込動作を、前記不揮発性メモリに実行させることが可能であり、
前記第3メモリセルへデータを書き込むために、前記第3メモリセルに前記bビットのデータの他の一部を記憶させる第4書込動作を、前記不揮発性メモリに実行させることが可能であり、
前記第1メモリセルからデータを読み出すために、前記第1書込動作が実行された前記第1メモリセルからデータを読み出す第1読出動作を、前記不揮発性メモリに実行させることが可能であり、
前記第2メモリセルからデータを読み出すために、前記第3書込動作が実行された前記第2メモリセルからデータを読み出す第2読出動作を、前記不揮発性メモリに実行させることが可能であり、
前記第3メモリセルからデータを読み出すために、前記第4書込動作が実行された前記第3メモリセルからデータを読み出す第3読出動作を、前記不揮発性メモリに実行させることが可能であり、
前記第2書込動作に際して、前記コントローラは、前記不揮発性メモリに、前記第2読出動作及び前記第3読出動作を実行させ、前記cビットのデータを入力する
メモリシステム。
【請求項14】
前記第1書込動作を実行してからしきい値時間の経過前に前記第2書込動作を実行する場合、前記コントローラは、前記不揮発性メモリに、前記第3書込動作及び前記第4書込動作を実行させず、
前記第1書込動作を実行してから前記しきい値時間の経過前に前記第2書込動作を実行しない場合、前記コントローラは、前記不揮発性メモリに、前記第3書込動作及び前記第4書込動作を実行させる
請求項13記載のメモリシステム。
【請求項15】
前記第3書込動作及び前記第4書込動作が実行されていない場合、前記第2書込動作に際して、前記コントローラは、前記不揮発性メモリに前記第1読出動作を実行させ、前記第1読出動作によって読み出された前記データを前記コントローラに送信させずに、前記第2書込動作を実行させ、
前記第3書込動作及び前記第4書込動作が実行されている場合、前記第2書込動作に際して、前記コントローラは、前記不揮発性メモリに前記第2読出動作及び前記第3読出動作を実行させ、前記第2読出動作及び前記第3読出動作によって読み出された前記データを前記コントローラに送信させずに、前記第2書込動作を実行させる
請求項14記載のメモリシステム。
【請求項16】
前記第2書込動作が実行される前記メモリセルに対応する誤りビット数がしきい値よりも小さい場合、前記コントローラは、前記不揮発性メモリに前記第3書込動作及び前記第4書込動作を実行させず、
前記誤りビット数が前記しきい値よりも小さくない場合、前記コントローラは、前記不揮発性メモリに前記第3書込動作及び前記第4書込動作を実行させる
請求項13記載のメモリシステム。
【請求項17】
前記第3書込動作及び前記第4書込動作が実行されていない場合、前記第2書込動作に際して、前記コントローラは、前記不揮発性メモリに前記第1読出動作を実行させ、前記第1読出動作によって読み出された前記データを前記コントローラに送信させずに、前記第2書込動作を実行させ、
前記第3書込動作及び前記第4書込動作が実行されている場合、前記第2書込動作に際して、前記コントローラは、前記不揮発性メモリに前記第2読出動作及び前記第3読出動作を実行させ、前記第2読出動作及び前記第3読出動作によって読み出された前記データを前記コントローラに送信させずに、前記第2書込動作を実行させる
請求項16記載のメモリシステム。
【請求項18】
前記第1書込動作を実行してから所定のタイミングの経過前に前記第2書込動作を実行しない場合、前記コントローラは、前記不揮発性メモリに前記第1読出動作を実行させ、前記第1読出動作によって読み出された前記データを前記コントローラに送信させる
請求項13記載のメモリシステム。
【請求項19】
前記コントローラは、前記送信されたデータに対して誤り検出を実行する
請求項18記載のメモリシステム。
【請求項20】
前記メモリセルは、データが消去された消去状態を示す第1のしきい値領域と、前記第1のしきい値領域よりも電圧レベルが高くデータが書き込まれた書き込み状態を示す第2乃至第2aのしきい値領域とを含む2a個のしきい値領域により、前記aビットのデータを記憶可能であり、
前記第1書込動作は、前記メモリセルにおけるしきい値領域を、データが消去された消去状態を示す第(2a+1)のしきい値領域および前記第(2a+1)のしきい値領域よりも電圧レベルが高くデータが書き込まれた書き込み状態を示す第(2a+2)乃至第(2a+2b)のしきい値領域のいずれかのしきい値領域とすることを含み、
前記第2書込動作は、前記メモリセルにおけるしきい値領域を、前記メモリセルにおけるしきい値領域が、前記cビットのデータに応じて、前記第(2a+1)乃至第(2a+2b)のしきい値領域のうちいずれかのしきい値領域から前記第1乃至第2aのしきい値領域のうちの2c個のしきい値領域のうちのいずれかとすることを含む
請求項1または請求項6または請求項13のいずれか一つに記載のメモリシステム。
【請求項21】
前記aは4であり、前記bは2である、請求項1または請求項6または請求項13のいずれか一つに記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、メモリシステムに関する。
【背景技術】
【0002】
不揮発性メモリと、不揮発性メモリに接続され、ホスト装置に接続可能なコントローラと、を備えるメモリシステムが知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2021/0295909
【特許文献2】米国特許出願公開第2021/0406122
【特許文献3】米国特許出願公開第2022/0215873
【特許文献4】特開2020-30881号公報
【特許文献5】特開2021-47970号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
信頼性の低下を抑制しつつ、データの書き込みに要する時間を削減する。
【課題を解決するための手段】
【0005】
一の実施形態に係るメモリシステムは、a(aは3以上の整数)ビットのデータを記憶可能なメモリセルを含む不揮発性メモリと、不揮発性メモリに接続されるコントローラと、を備える。コントローラは、メモリセルへデータを書き込むために、メモリセルにb(bはa未満の正の整数)ビットのデータを記憶させる第1書込動作と、bビットのデータが記憶されたメモリセルに、更にc(cはa-bと等しい正の整数)ビットのデータを記憶させる第2書込動作と、を不揮発性メモリに実行させることが可能である。第1書込動作を実行してからしきい値時間の経過前に第2書込動作を実行する場合、第2書込動作に際して、コントローラは、不揮発性メモリに、bビットのデータを入力せず、cビットのデータを入力する。第1書込動作を実行してからしきい値時間の経過後に第2書込動作を実行する場合、第2書込動作に際して、コントローラは、不揮発性メモリに、bビットのデータ及びcビットのデータを入力する。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態に係るメモリシステム10の構成を示す模式的なブロック図である。
【
図2】メモリダイMDの一部の構成を示す模式的なブロック図である。
【
図3】メモリセルアレイMCAの一部の構成を示す模式的な回路図である。
【
図4】メモリセルアレイMCAの一部の構成を示す模式的な斜視図である。
【
図5】メモリセルアレイMCAの一部の構成を示す模式的な断面図である。
【
図6】周辺回路PCの一部の構成を示す模式的なブロック図である。
【
図7】センスアンプモジュールSAMの一部の構成を示す模式的な回路図である。
【
図8】コントローラCDの一部の構成を示す模式的なブロック図である。
【
図9】1ビットのデータが記録されるメモリセルMCのしきい値電圧について説明するための模式的なヒストグラムである。
【
図10】2ビットのデータが記録されるメモリセルMCのしきい値電圧について説明するための模式的な図である。
【
図11】4ビットのデータが記録されるメモリセルMCのしきい値電圧について説明するための模式的な図である。
【
図12】読出動作について説明するためのタイミングチャートである。
【
図13】読出動作について説明するための模式的な断面図である。
【
図14】読出動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【
図15】読出動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【
図16】データ出力動作について説明するためのタイミングチャートである。
【
図17】書込動作について説明するためのタイミングチャートである。
【
図18】書込動作について説明するための模式的なフローチャートである。
【
図19】プログラム動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【
図20】プログラム動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【
図21】プログラム動作について説明するための模式的な断面図である。
【
図22】ベリファイ動作について説明するための模式的な断面図である。
【
図23】書込動作の実行順について説明するための模式的な断面図である。
【
図24】書込動作の実行順について説明するための模式的なヒストグラムである。
【
図25】書込動作の他の実行順について説明するための模式的な断面図である。
【
図26】書込動作の他の実行順について説明するための模式的なヒストグラムである。
【
図27】MLC書込動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【
図28】
図27のデータ処理について説明するためのタイミングチャートである。
【
図29】Fine書込動作に際して実行されるデータ処理の例について説明するための模式的なブロック図である。
【
図30】
図29のデータ処理について説明するためのタイミングチャートである。
【
図31】Fine書込動作に際して実行されるデータ処理の他の例について説明するための模式的なブロック図である。
【
図32】
図31のデータ処理について説明するためのタイミングチャートである。
【
図33】Fine書込動作に際して実行されるデータ処理の他の例について説明するための模式的なブロック図である。
【
図34】
図33のデータ処理について説明するためのタイミングチャートである。
【
図35】第1実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図36】第2実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図37】第2実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図38】第3実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図39】第3実施形態に係るMLC書込動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【
図40】第3実施形態に係るFine書込動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【
図41】
図40のデータ処理について説明するためのタイミングチャートである。
【
図42】第4実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図43】第4実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図44】第5実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図45】第5実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図46】第6実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【
図47】第7実施形態に係るコントローラCDの動作について説明するための模式的なフローチャートである。
【発明を実施するための形態】
【0007】
次に、実施形態に係るメモリシステムを、図面を参照して詳細に説明する。尚、以下の実施形態はあくまでも一例であり、本発明を限定する意図で示されるものではない。また、以下の図面は模式的なものであり、説明の都合上、一部の構成等が省略される場合がある。また、複数の実施形態について共通する部分には同一の符号を付し、説明を省略する場合がある。
【0008】
また、本明細書において、第1の構成が第2の構成に「電気的に接続されている」と言った場合、第1の構成は第2の構成に直接接続されていても良いし、第1の構成が第2の構成に配線、半導体部材又はトランジスタ等を介して接続されていても良い。例えば、3つのトランジスタを直列に接続した場合には、2つ目のトランジスタがOFF状態であったとしても、1つ目のトランジスタは3つ目のトランジスタに「電気的に接続」されている。
【0009】
また、本明細書において、第1の構成が第2の構成及び第3の構成の「間に接続されている」と言った場合、第1の構成、第2の構成及び第3の構成が直列に接続され、且つ、第2の構成が第1の構成を介して第3の構成に接続されていることを意味する場合がある。
【0010】
また、本明細書において、回路等が2つの配線等を「導通させる」と言った場合には、例えば、この回路等がトランジスタ等を含んでおり、このトランジスタ等が2つの配線の間の電流経路に設けられており、このトランジスタ等がON状態となることを意味する事がある。
【0011】
また、本明細書においては、基板の上面に対して平行な所定の方向をX方向、基板の上面に対して平行で、X方向と垂直な方向をY方向、基板の上面に対して垂直な方向をZ方向と呼ぶ。
【0012】
また、本明細書においては、所定の面に沿った方向を第1方向、この所定の面に沿って第1方向と交差する方向を第2方向、この所定の面と交差する方向を第3方向と呼ぶことがある。これら第1方向、第2方向及び第3方向は、X方向、Y方向及びZ方向のいずれかと対応していても良いし、対応していなくても良い。
【0013】
また、本明細書において、「上」や「下」等の表現は、基板を基準とする。例えば、上記Z方向に沿って基板から離れる向きを上と、Z方向に沿って基板に近付く向きを下と呼ぶ。また、ある構成について下面や下端と言う場合には、この構成の基板側の面や端部を意味する事とし、上面や上端と言う場合には、この構成の基板と反対側の面や端部を意味する事とする。また、X方向又はY方向と交差する面を側面等と呼ぶ。
【0014】
[第1実施形態]
[メモリシステム10]
図1は、第1実施形態に係るメモリシステム10の構成を示す模式的なブロック図である。
【0015】
メモリシステム10は、ホストコンピュータ20(ホスト装置)から送信された信号に応じて、ユーザデータの読出動作、書込動作、消去動作等を行う。メモリシステム10は、例えば、メモリチップ、メモリカード、SSD又はその他のユーザデータを記憶可能なシステムである。メモリシステム10は、複数のメモリダイMD(不揮発性メモリ)と、コントローラCDと、記憶装置MEMと、を備える。メモリダイMDは、ユーザデータを記憶する。また、コントローラCDは、ホスト装置からの信号によらず、バックグランド処理によっても、メモリダイMDにデータを記憶する。
【0016】
コントローラCDは、複数のメモリダイMD、記憶装置MEM及びホストコンピュータ20に接続される。コントローラCDは、例えば、プロセッサ、RAM等を備える。記憶装置MEMは、DRAM(Dynamic Random Access Memory)等のメモリであり、複数のメモリダイMDの制御に用いられるデータ等を保持する。
【0017】
以下、メモリダイMD及びコントローラCDの構成について、順に説明する。
【0018】
[メモリダイMD]
図2は、メモリダイMDの一部の構成を示す模式的なブロック図である。
【0019】
メモリダイMDは、メモリセルアレイMCA及び周辺回路PCを備える。
【0020】
メモリセルアレイMCAは、複数のメモリブロックBLKを備える。複数のメモリブロックBLKは、それぞれ、複数のページ部PGPを備える。複数のページ部PGPは、それぞれ、複数のページPGを備える。ページPGは、読出動作及び書込動作の実行単位である。メモリブロックBLKは、消去動作の実行単位である。
【0021】
周辺回路PCは、センスアンプモジュールSAMを備える。センスアンプモジュールSAMは、複数のラッチ部SDLP,DL0P,DL1P…DLnP(nは4以上の整数)を備える。複数のラッチ部SDLP,DL0P,DL1P…DLnPは、それぞれ、1つのページPGに対応する量のデータを保持可能である。複数のラッチ部SDLP,DL0P,DL1P…DLnPは、それぞれ、読出動作によって読み出されたデータや、書込動作によって書き込まれるデータ等を保持する。
【0022】
以下、メモリセルアレイMCA及び周辺回路PCのより詳細な構成について、順に説明する。
【0023】
[メモリセルアレイMCA]
図3は、メモリセルアレイMCAの一部の構成を示す模式的な回路図である。
【0024】
メモリセルアレイMCA中の複数のメモリブロックBLKは、それぞれ、複数のストリングユニットSUを備える。これら複数のストリングユニットSUは、それぞれ、複数のメモリストリングMSを備える。これら複数のメモリストリングMSの一端は、それぞれ、ビット線BLを介して周辺回路PCに接続される。また、これら複数のメモリストリングMSの他端は、それぞれ、共通のソース線SLを介して周辺回路PCに接続される。
【0025】
メモリストリングMSは、ドレイン側選択トランジスタSTDと、複数のメモリセルMC(メモリトランジスタ)と、ソース側選択トランジスタSTSと、を備える。ドレイン側選択トランジスタSTD、複数のメモリセルMC、及び、ソース側選択トランジスタSTSは、ビット線BL及びソース線SLの間に直列に接続される。以下、ドレイン側選択トランジスタSTD及びソース側選択トランジスタSTSを、単に選択トランジスタ(STD、STS)と呼ぶ事がある。
【0026】
メモリセルMCは、電界効果型のトランジスタである。メモリセルMCは、半導体層、ゲート絶縁膜、及び、ゲート電極を備える。半導体層は、チャネル領域として機能する。ゲート絶縁膜は、電荷蓄積膜を含む。メモリセルMCのしきい値電圧は、電荷蓄積膜中の電荷量に応じて変化する。メモリセルMCは、データを、しきい値電圧の大きさとして記憶する。
【0027】
1つのメモリストリングMSに対応する複数のメモリセルMCのゲート電極には、それぞれ、ワード線WLが接続される。これらワード線WLは、それぞれ、1つのメモリブロックBLK中の全てのメモリストリングMSに共通に接続される。1つのストリングユニットSUに含まれ、且つ、1つのワード線WLに接続された複数のメモリセルMCは、1つのページ部PGP(
図2)を構成する。
【0028】
メモリセルMCは、1ビット又は複数ビットのデータを記憶する。1つのメモリセルMCが1ビットのデータを記憶する場合、1つのページ部PGPは1つのページPG(
図2)に対応するデータを記憶する。1つのメモリセルMCが2ビットのデータを記憶する場合、1つのページ部PGPは2つのページPG(
図2)に対応するデータを記憶する。以下同様に、1つのメモリセルMCがn(nは正の整数)ビットのデータを記憶する場合、1つのページ部PGPはn個のページPG(
図2)に対応するデータを記憶する。
【0029】
選択トランジスタ(STD、STS)は、電界効果型のトランジスタである。選択トランジスタ(STD、STS)は、半導体層、ゲート絶縁膜、及び、ゲート電極を備える。半導体層はチャネル領域として機能する。
【0030】
選択トランジスタ(STD、STS)のゲート電極には、それぞれ、選択ゲート線(SGD、SGS)が接続される。1つのドレイン側選択ゲート線SGDは、1つのストリングユニットSU中の全てのメモリストリングMSに共通に接続される。1つのソース側選択ゲート線SGSは、1つのメモリブロックBLK中の全てのメモリストリングMSに共通に接続される。
【0031】
図4は、メモリセルアレイMCAの一部の構成を示す模式的な斜視図である。
図5は、メモリセルアレイMCAの一部の構成を示す模式的な断面図である。
【0032】
図4に示す様に、メモリセルアレイMCA中の複数のメモリブロックBLKは、Y方向に並んでいる。また、メモリブロックBLK中の複数のストリングユニットSUは、Y方向に並んでいる。Y方向において隣り合う2つのメモリブロックBLKの間には、酸化シリコン(SiO
2)等のブロック間絶縁層STが設けられる。Y方向において隣り合う2つのストリングユニットSUの間には、酸化シリコン(SiO
2)等のストリングユニット間絶縁層SHEが設けられる。
【0033】
メモリブロックBLKは、Z方向に並ぶ複数の導電層110と、Z方向に延伸する複数の半導体柱120と、を備える。また、
図5に示す様に、複数の導電層110と、複数の半導体柱120と、の間は、それぞれ、ゲート絶縁膜130が設けられている。
【0034】
図4に示す様に、導電層110は、X方向に延伸する略板状の形状を備える。導電層110は、窒化チタン(TiN)等のバリア導電膜及びタングステン(W)等の金属膜の積層膜等を含んでいても良い。また、導電層110は、例えば、リン(P)又はホウ素(B)等の不純物を含む多結晶シリコン等を含んでいても良い。Z方向に並ぶ複数の導電層110の間には、酸化シリコン(SiO
2)等の絶縁層101が設けられている。
【0035】
複数の導電層110の一部は、ワード線WL(
図3)及びこれに接続された複数のメモリセルMC(
図3)のゲート電極として機能する。以下の説明では、この様な導電層110を、導電層110(WL)と呼ぶ場合がある。これら複数の導電層110(WL)は、それぞれ、メモリブロックBLK毎に電気的に独立している。
【0036】
複数の導電層110(WL)よりも下方に位置する一又は複数の導電層110は、ソース側選択ゲート線SGS(
図3)及びこれに接続された複数のソース側選択トランジスタSTS(
図3)のゲート電極として機能する。以下の説明では、この様な導電層110を、導電層110(SGS)と呼ぶ場合がある。この一又は複数の導電層110(SGS)は、メモリブロックBLK毎に電気的に独立している。
【0037】
複数の導電層110(WL)よりも上方に位置する一又は複数の導電層110は、ドレイン側選択ゲート線SGD(
図3)及びこれに接続された複数のドレイン側選択トランジスタSTD(
図3)のゲート電極として機能する。以下の説明では、この様な導電層110を、導電層110(SGD)と呼ぶ場合がある。これら複数の導電層110(SGD)のY方向の幅は、導電層110(WL)のY方向の幅よりも小さい。また、1つのメモリブロックBLK内でY方向に隣り合う2つの導電層110(SGD)の間には、ストリングユニット間絶縁層SHEが設けられている。これら複数の導電層110(SGD)は、それぞれ、ストリングユニットSU毎に電気的に独立している。
【0038】
複数の導電層110の下方には、導電層100が設けられている。導電層100は、半導体柱120の下端に接続されている。半導体柱120は、例えば、リン(P)等のN型の不純物を含む多結晶シリコン等を含んでいても良いし、タングステン(W)等の金属、タングステンシリサイド等の導電層又はその他の導電層を含んでいても良い。また、導電層100及び導電層110の間には、酸化シリコン(SiO2)等の絶縁層101が設けられている。
【0039】
導電層100は、ソース線SL(
図3)として機能する。ソース線SLは、例えば、メモリセルアレイMCAに含まれる全てのメモリブロックBLKについて共通に設けられている。
【0040】
半導体柱120は、X方向及びY方向に所定のパターンで並ぶ。半導体柱120は、1つのメモリストリングMS(
図3)に含まれる複数のメモリセルMC及び選択トランジスタ(STD、STS)のチャネル領域として機能する。半導体柱120は、例えば、多結晶シリコン(Si)等を含む。半導体柱120は、略有底円筒状の形状を有し、例えば
図5に示す様に、中心部分には酸化シリコン等の絶縁層125が設けられている。また、半導体柱120の外周面は、それぞれ導電層110によって囲まれており、導電層110と対向している。
【0041】
半導体柱120の上端部には、リン(P)等のN型の不純物を含む図示しない不純物領域が設けられている。この不純物領域は、ビアコンタクト電極を介してビット線BLに接続される。
【0042】
半導体柱120の下端部には、リン(P)等のN型の不純物を含む図示しない不純物領域が設けられている。この不純物領域は、導電層100に接続されている。
【0043】
ゲート絶縁膜130は、半導体柱120の外周面を覆う略有底円筒状の形状を有する。ゲート絶縁膜130は、例えば
図5に示す様に、半導体柱120及び導電層110の間に積層されたトンネル絶縁膜131、電荷蓄積膜132及びブロック絶縁膜133を備える。トンネル絶縁膜131及びブロック絶縁膜133は、例えば、酸化シリコン(SiO
2)等を含む。電荷蓄積膜132は、例えば、窒化シリコン(SiN)等の電荷を蓄積可能な膜を含む。トンネル絶縁膜131、電荷蓄積膜132、及び、ブロック絶縁膜133は略円筒状の形状を有し、半導体柱120と導電層110との接触部を除く半導体柱120の外周面に沿ってZ方向に延伸する。
【0044】
尚、
図5には、ゲート絶縁膜130が窒化シリコン等の電荷蓄積膜132を備える例を示した。しかしながら、ゲート絶縁膜130は、例えば、N型又はP型の不純物を含む多結晶シリコン等のフローティングゲートを備えていても良い。
【0045】
[周辺回路PC]
図6は、周辺回路PCの一部の構成を示す模式的なブロック図である。
図7は、センスアンプモジュールSAMの一部の構成を示す模式的な回路図である。
【0046】
尚、
図6には、複数の制御端子等を図示している。これら複数の制御端子は、ハイアクティブ信号(正論理信号)に対応する制御端子として表される場合がある。また、複数の制御端子は、ローアクティブ信号(負論理信号)に対応する制御端子として表される場合がある。また、複数の制御端子は、ハイアクティブ信号及びローアクティブ信号の双方に対応する制御端子として表される場合がある。
図6において、ローアクティブ信号に対応する制御端子の符号は、オーバーライン(上線)を含む。本明細書において、ローアクティブ信号に対応する制御端子の符号は、スラッシュ(“/”)を含む。尚、
図6の記載は例示であり、具体的な態様は適宜調整可能である。例えば、一部又は全部のハイアクティブ信号をローアクティブ信号としたり、一部又は全部のローアクティブ信号をハイアクティブ信号としたりすることも可能である。
【0047】
周辺回路PCは、電圧生成回路VGと、ロウデコーダRDと、センスアンプモジュールSAMと、シーケンサSQCと、を備える。また、周辺回路PCは、キャッシュメモリCMと、アドレスレジスタADRと、コマンドレジスタCMRと、ステータスレジスタSTRと、を備える。また、周辺回路PCは、入出力制御回路I/Oと、論理回路CTRと、を備える。
【0048】
電圧生成回路VGは、例えば、降圧回路及び昇圧回路を含む。降圧回路は、例えばレギュレータ等である。昇圧回路は、例えばチャージポンプ回路等である。これら降圧回路及び昇圧回路は、それぞれ、電源電圧供給線に接続される。電圧生成回路VGには、電源電圧VCC及び接地電圧VSSが供給される。電圧生成回路VGは、複数通りの動作電圧を生成し、複数の電圧供給線に同時に出力する。これら複数通りの動作電圧は、例えば、メモリセルアレイMCAに対する読出動作、書込動作、及び、消去動作に際して、ビット線BL、ソース線SL、ワード線WL及び選択ゲート線(SGD、SGS)に供給される。動作電圧は、シーケンサSQCからの制御信号に従って適宜調整される。
【0049】
ロウデコーダRDは、入力されたロウアドレスRAに応じて、メモリブロックBLK、ストリングユニットSU及びワード線WLを選択し、メモリセルアレイMCAから1つのページ部PGPを選択する。また、電圧生成回路VGから供給された動作電圧の一部を、選択されたページ部PGPに対応するワード線WL及び選択ゲート線(SGD、SGS)に転送する。また、電圧生成回路VGから供給された動作電圧の他の一部を、それ以外のワード線WL及び選択ゲート線(SGD、SGS)に転送する。
【0050】
センスアンプモジュールSAMは、例えば、複数のビット線BLに対応して設けられた複数のセンスアンプユニットSAU(
図7)を備える。
図7に示す様に、センスアンプユニットSAUは、センスアンプSAと、配線LBUSと、ラッチ回路SDL,DL0~DLn(nは自然数)と、を備える。配線LBUSには、プリチャージ用の充電トランジスタ55(
図7)が接続される。配線LBUSは、スイッチトランジスタDSWを介して配線DBUSに接続される。
【0051】
センスアンプSAは、センストランジスタ41を備える。センストランジスタ41は、ビット線BLに流れる電流に応じて配線LBUSの電荷を放電する。センストランジスタ41のソース電極は接地電圧VSSが供給される電圧供給線に接続される。ドレイン電極は、スイッチトランジスタ42を介して配線LBUSに接続される。ゲート電極は、センスノードSEN、放電トランジスタ43、ノードCOM、クランプトランジスタ44及び耐圧トランジスタ45を介してビット線BLに電気的に接続される。尚、センスノードSENは、キャパシタ48を介して内部制御信号線CLKSAに接続される。
【0052】
また、センスアンプSAは、電圧転送回路を備える。電圧転送回路は、ラッチ回路SDLに保持されたデータに応じて、ノードCOM及びセンスノードSENを、電圧VDDが供給される電圧供給線又は電圧VSRCが供給される電圧供給線と選択的に導通させる。電圧転送回路は、ノードN1と、充電トランジスタ46と、充電トランジスタ49と、充電トランジスタ47と、放電トランジスタ50と、を備える。充電トランジスタ46は、ノードN1及びセンスノードSENの間に接続される。充電トランジスタ49は、ノードN1及びノードCOMの間に接続される。充電トランジスタ47は、ノードN1及び電圧VDDが供給される電圧供給線の間に接続される。放電トランジスタ50は、ノードN1及び電圧VSRCが供給される電圧供給線の間に接続される。尚、充電トランジスタ47及び放電トランジスタ50のゲート電極は、ラッチ回路SDLのノードINV_Sに共通に接続される。
【0053】
尚、センストランジスタ41、スイッチトランジスタ42、放電トランジスタ43、クランプトランジスタ44、充電トランジスタ46、充電トランジスタ49及び放電トランジスタ50は、例えば、エンハンスメント型のNMOSトランジスタである。耐圧トランジスタ45は、例えば、デプレッション型のNMOSトランジスタである。充電トランジスタ47は、例えば、PMOSトランジスタである。
【0054】
また、スイッチトランジスタ42のゲート電極は、信号線STBに接続される。放電トランジスタ43のゲート電極は、信号線XXLに接続される。クランプトランジスタ44のゲート電極は、信号線BLCに接続される。耐圧トランジスタ45のゲート電極は、信号線BLSに接続される。充電トランジスタ46のゲート電極は、信号線HLLに接続される。充電トランジスタ49のゲート電極は、信号線BLXに接続される。これらの信号線STB,XXL,BLC,BLS,HLL,BLXは、シーケンサSQC(
図6)に接続される。
【0055】
ラッチ回路SDLは、ノードLAT_S,INV_Sと、インバータ51と、インバータ52と、スイッチトランジスタ53と、スイッチトランジスタ54と、を備える。インバータ51は、ノードLAT_Sに接続された出力端子及びノードINV_Sに接続された入力端子を備える。インバータ52は、ノードLAT_Sに接続された入力端子及びノードINV_Sに接続された出力端子を備える。スイッチトランジスタ53は、ノードLAT_S及び配線LBUSの間の電流経路に設けられる。スイッチトランジスタ54は、ノードINV_S及び配線LBUSの間の電流経路に設けられる。スイッチトランジスタ53,54は、例えば、NMOSトランジスタである。スイッチトランジスタ53のゲート電極は、信号線STLを介してシーケンサSQCに接続される。スイッチトランジスタ54のゲート電極は、信号線STIを介してシーケンサSQCに接続される。
【0056】
複数のビット線BLに対応する複数のラッチ回路SDLは、
図2を参照して説明したラッチ部SDLPを構成する。1つのラッチ回路SDLは、ラッチ部SDLPに保持されるデータのうちの1ビットを保持する。
【0057】
ラッチ回路DL0~DLnは、ラッチ回路SDLとほぼ同様に構成される。ただし、上述の通り、ラッチ回路SDLのノードINV_SはセンスアンプSA中の充電トランジスタ47及び放電トランジスタ50のゲート電極と導通している。ラッチ回路DL0~DLnは、この点においてラッチ回路SDLと異なる。
【0058】
複数のビット線BLに対応する複数のラッチ回路DL0は、
図2を参照して説明したラッチ部DL0Pを構成する。同様に、複数のビット線BLに対応する複数のラッチ回路DL1~DLnは、それぞれ、
図2を参照して説明したラッチ部DL1P~DLnPを構成する。ラッチ回路DL0~DLnは、それぞれ、対応するラッチ部DL1P~DLnPに保持されるデータのうちの1ビットを保持する。
【0059】
スイッチトランジスタDSWは、例えば、NMOSトランジスタである。スイッチトランジスタDSWは、配線LBUS及び配線DBUSの間に接続される。スイッチトランジスタDSWのゲート電極は、信号線DBSを介してシーケンサSQCに接続される。
【0060】
上述の信号線STB,HLL,XXL,BLX,BLC,BLSは、それぞれ、センスアンプモジュールSAMに含まれる全てのセンスアンプユニットSAUに共通に接続される。また、上述の電圧VDDが供給される電圧供給線及び電圧VSRCが供給される電圧供給線は、それぞれ、センスアンプモジュールSAMに含まれる全てのセンスアンプユニットSAUに共通に接続される。また、ラッチ回路SDLの信号線STI及び信号線STLは、それぞれ、センスアンプモジュールSAMに含まれる全てのセンスアンプユニットSAUに共通に接続される。
【0061】
キャッシュメモリCM(
図6)は、複数のラッチ回路を備える。キャッシュメモリCM内の複数のラッチ回路は、配線DBUSを介してセンスアンプモジュールSAM内のラッチ回路DL0~DLnに接続される。キャッシュメモリCM内の複数のラッチ回路に含まれるデータDAT(コントローラCDから入力されたデータ、メモリセルアレイMCAから読み出されたデータ等。)は、順次センスアンプモジュールSAM又は入出力制御回路I/Oに転送される。
【0062】
また、キャッシュメモリCMには、図示しないデコード回路及びスイッチ回路が接続される。デコード回路は、アドレスレジスタADRに保持されたカラムアドレスCAをデコードする。スイッチ回路は、デコード回路の出力信号に応じて、カラムアドレスCAに対応するラッチ回路をバスDBと導通させる。
【0063】
シーケンサSQCは、コマンドレジスタCMRに保持されたコマンドデータDCMDに従い、ロウデコーダRD、センスアンプモジュールSAM、及び、電圧生成回路VGに内部制御信号を出力する。また、シーケンサSQCは、適宜自身の状態を示すステータスデータDSTをステータスレジスタSTRに出力する。
【0064】
また、シーケンサSQCは、レディ/ビジー信号を生成し、端子RY//BYに出力する。端子RY//BYが“L”状態の期間(ビジー期間)では、メモリダイMDへのアクセスが基本的には禁止される。また、端子RY//BYが“H”状態の期間(レディ期間)においては、メモリダイMDへのアクセスが許可される。
【0065】
入出力制御回路I/Oは、データ入出力端子DQ0~DQ7と、トグル信号入出力端子DQS,/DQSと、複数の入力回路と、複数の出力回路と、シフトレジスタと、バッファ回路と、を備える。複数の入力回路、複数の出力回路、シフトレジスタ及びバッファ回路は、それぞれ、電源電圧VCCQ及び接地電圧VSSが供給される端子に接続される。
【0066】
データ入出力端子DQ0~DQ7を介して入力されたデータは、論理回路CTRからの内部制御信号に応じて、バッファ回路から、キャッシュメモリCM、アドレスレジスタADR又はコマンドレジスタCMRに出力される。また、データ入出力端子DQ0~DQ7を介して出力されるデータは、論理回路CTRからの内部制御信号に応じて、キャッシュメモリCM又はステータスレジスタSTRからバッファ回路に入力される。
【0067】
複数の入力回路は、例えば、データ入出力端子DQ0~DQ7のいずれか、又は、トグル信号入出力端子DQS,/DQSの双方に接続されたコンパレータを含む。複数の出力回路は、例えば、データ入出力端子DQ0~DQ7のいずれか、又は、トグル信号入出力端子DQS,/DQSのいずれかに接続されたOCD(Off Chip Driver)回路を含む。
【0068】
論理回路CTRは、外部制御端子/CEn,CLE,ALE,/WE,/RE,REを介してコントローラCDから外部制御信号を受信し、これに応じて入出力制御回路I/Oに内部制御信号を出力する。
【0069】
外部制御端子/CEnは、メモリダイMDの選択に際して用いられる。外部制御端子/CEnに“L”が入力されたメモリダイMDの入出力制御回路I/Oはデータ入出力端子DQ0~DQ7を介したデータの入出力を行う。外部制御端子/CEnに“H”が入力されたメモリダイMDの入出力制御回路I/Oはデータ入出力端子DQ0~DQ7を介したデータの入出力を行わない。
【0070】
また、外部制御端子CLEは、コマンドレジスタCMRの使用に際して用いられる。外部制御端子CLEに“H”が入力された場合、データ入出力端子DQ0~DQ7を介して入力されたデータはコマンドデータDCMDとして入出力制御回路I/O内のバッファメモリに格納され、コマンドレジスタCMRに転送される。
【0071】
また、外部制御端子ALEは、アドレスレジスタADRの使用に際して用いられる。外部制御端子ALEに“H”が入力された場合、データ入出力端子DQ0~DQ7を介して入力されたデータはアドレスデータDADDとして入出力制御回路I/O内のバッファメモリに格納され、アドレスレジスタADRに転送される。
【0072】
尚、外部制御端子CLE,ALEの双方に“L”が入力された場合、データ入出力端子DQ0~DQ7を介して入力されたデータはデータDATとして入出力制御回路I/O内のバッファメモリに格納される。データDATは、バスDBを介してキャッシュメモリCMに転送される。
【0073】
外部制御端子/WEは、データ入出力端子DQ0~DQ7を介したデータの入力に際して用いられる。データ入出力端子DQ0~DQ7を介して入力されたデータは、外部制御端子/WEの電圧の立ち上がりのタイミングで入出力制御回路I/O内のシフトレジスタ内に取り込まれる。
【0074】
トグル信号入出力端子DQS,/DQSは、データ入出力端子DQ0~DQ7を介したデータの入力に際して用いられる。データ入出力端子DQ0~DQ7を介して入力されたデータは、トグル信号入出力端子DQSの電圧の立ち上がり及びトグル信号入出力端子/DQSの電圧の立ち下がりのタイミングで、入出力制御回路I/O内のシフトレジスタ内に取り込まれる。また、データ入出力端子DQ0~DQ7を介して入力されたデータは、トグル信号入出力端子DQSの電圧の立ち下がり(入力信号の切り換え)及びトグル信号入出力端子/DQSの電圧の立ち上がりのタイミングで、入出力制御回路I/O内のシフトレジスタ内に取り込まれる。
【0075】
尚、データの入力に際しては、外部制御端子/WEを使用しても良いし、トグル信号入出力端子DQS,/DQSを使用しても良い。
【0076】
外部制御端子/RE,REは、データ入出力端子DQ0~DQ7を介したデータの出力に際して用いられる。データ入出力端子DQ0~DQ7から出力されるデータは、外部制御端子/REの電圧の立ち上がりのタイミングで切り替わっても良い。また、データ入出力端子DQ0~DQ7から出力されるデータは、外部制御端子/REの電圧の立ち下がり及び外部制御端子REの電圧の立ち上がりのタイミングで切り替わっても良い。また、データ入出力端子DQ0~DQ7から出力されるデータは、外部制御端子/REの電圧の立ち上がり及び外部制御端子REの電圧の立ち下がりのタイミングで切り替わっても良い。
【0077】
[コントローラCD]
図8は、コントローラCDの一部の構成を示す模式的なブロック図である。
【0078】
コントローラCDは、記憶装置MEM等と共に、以下において例示する種々の機能を実現する。
【0079】
メモリシステム10内部では、高速化のため複数のメモリダイMDに対して並列に読出動作及び書込動作を行う。並列動作可能な複数のメモリダイMDから選択した複数のメモリブロックBLKの集合を論理ブロックと呼ぶ。
【0080】
論物変換テーブル60は、論理ブロックの識別番号及び論理ブロック内の位置を表す論理アドレスと、メモリダイMDの各ページPG(
図2)に割り当てられた物理アドレスと、を対応付けて記憶する。読出動作に際しては、後述するLUT61と論物変換テーブル60が参照され、論理アドレスに対応する物理アドレスが取得される。書込動作に際しては、「消去済」のページPG(
図2)の物理アドレスが取得され、論理アドレスに対応付けて論物変換テーブル60に記憶させる。
【0081】
LUT(Look Up Table)61は、ホストコンピュータ20からLBA(Logical Block Address)などによりアドレスを指定されて保存したデータが、どの論理アドレスに格納されているかを示すテーブルである。保存したデータが有効である場合、LUT61は、LBAと論理アドレスとを対応付けて記憶する。保存したデータが無効である場合、LUT61は、そのデータに関するLBAと論理アドレスとの対応が無効であることを示す情報を記憶する。尚、以下の説明においては、論理ブロックのうち、対応するページPGが全て「無効」である論理ブロックを、フリーブロックと呼ぶ場合がある。
【0082】
PECycle記憶部62は、各論理ブロックと、各論理ブロックに対して実行された消去動作の回数と、を対応付けて記憶する。尚、以下の説明では、各論理ブロックに対して実行された消去動作の回数を、PECycle(Program Erase Cycle)と呼ぶ場合がある。消去動作に際しては、PECycle記憶部62が参照され、消去動作が実行された論理ブロックに対応するPECycleが更新される。書込動作に際して、新たにデータを書き込む論理ブロックを選出する場合には、PECycle記憶部62が参照され、PECycleの最も少ないフリーブロックが選択される。また、このフリーブロックに対して消去動作が実行された後、この論理ブロックを構成するメモリブロックBLK内のページPGに対して、書込動作が実行される。
【0083】
メモリ制御パラメータ記憶部63は、メモリダイMDの制御パラメータを記憶する。この様な制御パラメータとしては、種々のパラメータが挙げられる。例えば、読出動作、書込動作、及び、消去動作に際して、ビット線BL、ソース線SL、ワード線WL及び選択ゲート線(SGD、SGS)に供給される動作電圧は、適宜調整可能である。メモリ制御パラメータ記憶部63は、例えば、これらの動作電圧等を記憶しても良い。
【0084】
ECC処理部64は、読出動作に際して、メモリダイMDから読み出されたデータの誤りを検出し、誤りビット数FBC(Failure Bit Count)を出力する。また、ECC処理部64は、読出動作に際して、可能な場合にはデータの訂正を行う。また、ECC処理部64は、書込動作に際して、ホストコンピュータ20から入力されたデータを符号化する。尚、ECC処理部64は、コントローラCD及び記憶装置MEMによってではなく、専用の回路として実現しても良い。
【0085】
ECCパラメータ記憶部65は、ECC処理部64に関する制御パラメータを記憶する。例えば、ECCの計算方法としては、BCH符号を用いるものや、LDPC符号を用いるもの等が挙げられる。ECCパラメータ記憶部65は、例えば、ECC処理部64がどの様な計算方法でECC処理及び符号化処理を実行するかを示す値等を記憶する。
【0086】
FBC記憶部66は、ECC処理部64から出力された誤りビット数FBCを記憶する。
【0087】
タイマー67は、現在時刻を示す情報(以下、「現在時刻情報」と呼ぶ。)を記憶する。また、タイマー67は、図示しない水晶発振子からクロック信号を受信して、現在時刻情報を適宜更新する。また、タイマー67は、ホストコンピュータ20から現在時刻情報を受信して、タイマー67内の現在時刻情報を適宜修正する。
【0088】
時刻情報記憶部68は、時刻を示す時刻情報を記憶する。時刻情報記憶部68に記憶される時刻情報については、後述する。
【0089】
[メモリセルMCのしきい値電圧]
図3を参照して説明した様に、メモリセルMCは、データを、しきい値電圧の大きさとして記憶する。以下、この点について説明する。
【0090】
[メモリセルMCが1ビットのデータを記憶する例]
まず、
図9を参照して、メモリセルMCが1ビットのデータを記憶する例について説明する。
図9は、1ビットのデータが記録されるメモリセルMCのしきい値電圧について説明するための模式的なヒストグラムである。横軸はワード線WLの電圧を示しており、縦軸はメモリセルMCの数を示している。
【0091】
図9の例では、メモリセルMCのしきい値電圧が、2通りのステートに制御されている。例えば、下位ステートに制御されたメモリセルMCのしきい値電圧は、消去ベリファイ電圧V
VFYErより小さい。また、上位ステートに制御されたメモリセルMCのしきい値電圧は、ベリファイ電圧V
VFYSより大きく、読出パス電圧V
READより小さい。
【0092】
また、
図9の例では、下位ステートに対応するしきい値分布と上位ステートに対応するしきい値分布との間に、読出電圧V
CGRが設定されている。
【0093】
例えば、下位ステートは、低いしきい値電圧に対応している。下位ステートのメモリセルMCは、例えば、消去状態のメモリセルMCである。下位ステートのメモリセルMCには、例えば、データ“1”が割り当てられる。
【0094】
また、上位ステートは、高いしきい値電圧に対応している。上位ステートのメモリセルMCは、例えば、書込状態のメモリセルMCである。上位ステートのメモリセルMCには、例えば、データ“0”が割り当てられる。
【0095】
[メモリセルMCが2ビットのデータを記憶する例]
次に、
図10を参照して、メモリセルMCが2ビットのデータを記憶する例について説明する。
図10(a)は、2ビットのデータが記録されるメモリセルMCのしきい値電圧について説明するための模式的なヒストグラムである。横軸はワード線WLの電圧を示しており、縦軸はメモリセルMCの数を示している。
図10(b)は、2ビットのデータが記録されるメモリセルMCのしきい値電圧及び記録されるデータの関係の例を示す表である。
【0096】
図10(a)の例では、メモリセルMCのしきい値電圧が、4通りのステートに制御されている。Erステートに制御されたメモリセルMCのしきい値電圧は、消去ベリファイ電圧V
VFYErより小さい。Aステートに制御されたメモリセルMCのしきい値電圧は、ベリファイ電圧V
VFYAより大きく、ベリファイ電圧V
VFYBより小さい。Bステートに制御されたメモリセルMCのしきい値電圧は、ベリファイ電圧V
VFYBより大きく、ベリファイ電圧V
VFYCより小さい。以下同様に、Cステートに制御されたメモリセルMCのしきい値電圧は、ベリファイ電圧V
VFYCより大きく、読出パス電圧V
READより小さい。
【0097】
また、
図10(a)の例では、Erステートに対応するしきい値分布とAステートに対応するしきい値分布との間に、読出電圧V
CGARが設定されている。Aステートに対応するしきい値分布とBステートに対応するしきい値分布との間に、読出電圧V
CGBRが設定されている。Bステートに対応するしきい値分布とCステートに対応するしきい値分布との間に、読出電圧V
CGCRが設定されている。
【0098】
例えば、Erステートは、最も低いしきい値電圧に対応している。ErステートのメモリセルMCは、消去状態のメモリセルMCである。ErステートのメモリセルMCには、例えば、データ“11”が割り当てられる。
【0099】
Aステートは、上記Erステートに対応するしきい値電圧よりも高いしきい値電圧に対応している。AステートのメモリセルMCには、例えば、データ“10”が割り当てられる。
【0100】
また、Bステートは、上記Aステートに対応するしきい値電圧よりも高いしきい値電圧に対応している。BステートのメモリセルMCには、例えば、データ“00”が割り当てられる。
【0101】
また、Cステートは、上記Bステートに対応するしきい値電圧よりも高いしきい値電圧に対応している。CステートのメモリセルMCには、例えば、データ“01”が割り当てられる。
【0102】
図10(b)に例示した様な割り当ての場合、下位ビットのデータは1つの読出電圧V
CGBRによって判別可能であり、中位ビットのデータは2つの読出電圧V
CGAR,V
CGCRによって判別可能である。
【0103】
[メモリセルMCが4ビットのデータを記憶する例]
次に、
図11を参照して、メモリセルMCが4ビットのデータを記憶する例について説明する。
図11(a)は、4ビットのデータが記録されるメモリセルMCのしきい値電圧について説明するための模式的なヒストグラムである。横軸はワード線WLの電圧を示しており、縦軸はメモリセルMCの数を示している。
図11(b)は、4ビットのデータが記録されるメモリセルMCのしきい値電圧及び記録されるデータの関係の例を示す表である。
【0104】
図11(a)の例では、メモリセルMCのしきい値電圧が、16通りのステートに制御されている。Erステート(S0ステート)に制御されたメモリセルMCのしきい値電圧は、消去ベリファイ電圧V
VFYErより小さい。また、例えば、S1ステートに制御されたメモリセルMCのしきい値電圧は、ベリファイ電圧V
VFY1より大きく、ベリファイ電圧V
VFY2より小さい。また、例えば、S2ステートに制御されたメモリセルMCのしきい値電圧は、ベリファイ電圧V
VFY2より大きく、ベリファイ電圧V
VFY3より小さい。以下同様に、S3ステート~S14ステートに制御されたメモリセルMCのしきい値電圧は、それぞれ、ベリファイ電圧V
VFY3~ベリファイ電圧V
VFY14より大きく、ベリファイ電圧V
VFY4~ベリファイ電圧V
VFY15より小さい。また、例えば、S15ステートに制御されたメモリセルMCのしきい値電圧は、ベリファイ電圧V
VFY15より大きく、読出パス電圧V
READより小さい。
【0105】
また、
図11(a)の例では、Erステートに対応するしきい値分布とS1ステートに対応するしきい値分布との間に、読出電圧V
CG1Rが設定されている。また、S1ステートに対応するしきい値分布とS2ステートに対応するしきい値分布との間に、読出電圧V
CG2Rが設定されている。以下同様に、S2ステートに対応するしきい値分布とS3ステートに対応するしきい値分布との間~S14ステートに対応するしきい値分布とS15ステートに対応するしきい値分布との間に、それぞれ、読出電圧V
CG3R~読出電圧V
CG15Rが設定されている。
【0106】
例えば、Erステートは、最も低いしきい値電圧に対応している。ErステートのメモリセルMCは、例えば、消去状態のメモリセルMCである。ErステートのメモリセルMCには、例えば、データ“1111”が割り当てられる。
【0107】
また、S1ステートは、上記Erステートに対応するしきい値電圧よりも高いしきい値電圧に対応している。S1ステートのメモリセルMCには、例えば、データ“1110”が割り当てられても良い。
【0108】
また、S2ステートは、上記S1ステートに対応するしきい値電圧よりも高いしきい値電圧に対応している。S2ステートのメモリセルMCには、例えば、データ“1100”が割り当てられても良い。
【0109】
以下同様に、図中のS3ステート~S15ステートは、それぞれ、S2ステート~S14ステートに対応するしきい値電圧よりも高いしきい値電圧に対応している。これらのステートのメモリセルMCには、例えば、データ“1101”、データ“1001”、データ“1011”、データ“0011”、データ“0010”、データ“1010”、データ“1000”、データ“0000”、データ“0001”、データ“0101”、データ“0111”、データ“0110”、データ“0100”が割り当てられても良い。
【0110】
図11(b)に例示した様な割り当ての場合、下位ビットのデータは、3つの読出電圧V
CG6R,V
CG8R,V
CG10Rによって判別可能である。また、中位ビットのデータは、2つの読出電圧V
CG4R,V
CG12Rによって判別可能である。また、上位ビットのデータは、5つの読出電圧V
CG2R,V
CG5R,V
CG9R,V
CG13R,V
CG15Rによって判別可能である。また、最上位ビットのデータは、5つの読出電圧V
CG1R,V
CG3R,V
CG7R,V
CG11R,V
CG14Rによって判別可能である。
【0111】
[読出動作]
次に、読出動作について説明する。
【0112】
図12は、読出動作について説明するためのタイミングチャートである。
【0113】
図6を参照して説明した様に、メモリダイMDは、8つのデータ入出力端子DQ0~DQ7を備えている。以下の説明では、この8つのデータ入出力端子DQ0~DQ7に入力される8ビットのデータを、2桁の16進数を使用して表現する場合がある。例えば、8つのデータ入出力端子DQ0~DQ7に“0,0,0,0,0,0,0,0”が入力される場合、このデータを、データ00h等と表現する場合がある。また、“1,1,1,1,1,1,1,1”が入力される場合、このデータを、データFFh等と表現する場合がある。
【0114】
図12には、読出動作に際してメモリダイMDに入力されるコマンドセットCS
Rを例示している。このコマンドセットCS
Rは、データ00h,CA1,CA2,RA1,RA2,RA3及びデータ30hを含む。
【0115】
タイミングt101において、コントローラCDはメモリダイMDに、コマンドデータDCMDとしてデータ00hを入力する。即ち、データ入出力端子DQ0~DQ7の電圧をデータ00hの各ビットに応じて“H”又は“L”に設定し、外部制御端子CLEに“H”を入力し、外部制御端子ALEに“L”を入力した状態で、外部制御端子/WEを“L”から“H”に立ち上げる。データ00hは、読出動作の開始時に入力されるコマンドである。
【0116】
タイミングt102において、コントローラCDはメモリダイMDに、アドレスデータD
ADDとしてデータCA1を入力する。即ち、データ入出力端子DQ0~DQ7の電圧をデータCA1の各ビットに応じて“H”又は“L”に設定し、外部制御端子CLEに“L”を入力し、外部制御端子ALEに“H”を入力した状態で、外部制御端子/WEを“L”から“H”に立ち上げる。データCA1は、カラムアドレスCA(
図6)の一部である。
【0117】
タイミングt103において、コントローラCDはメモリダイMDに、アドレスデータD
ADDとしてデータCA2を入力する。データCA2は、カラムアドレスCA(
図6)の一部である。
【0118】
タイミングt104において、コントローラCDはメモリダイMDに、アドレスデータD
ADDとしてデータRA1を入力する。データRA1は、ロウアドレスRA(
図6)の一部である。データRA1は、例えば、ブロックアドレスと、ページアドレスと、を含む。ブロックアドレスは、メモリブロックBLK(
図2)を特定するデータである。ページアドレスは、ページ部PGP(
図2)を特定するデータである。
【0119】
タイミングt105において、コントローラCDはメモリダイMDに、アドレスデータD
ADDとしてデータRA2を入力する。データRA2は、ロウアドレスRA(
図6)の一部である。データRA2は、例えば、ブロックアドレス及びページアドレスを含む。
【0120】
タイミングt106において、コントローラCDはメモリダイMDに、アドレスデータD
ADDとしてデータRA3を入力する。データRA2は、ロウアドレスRA(
図6)の一部である。データRA3は、チップアドレスを含む。チップアドレスは、コントローラCDによって制御される複数のメモリダイMDから一のメモリダイMDを特定するデータである。
【0121】
タイミングt107において、コントローラCDはメモリダイMDに、コマンドデータDCMDとしてデータ30hを入力する。データ30hは、読出動作に関するコマンドセットの入力が終了したことを示すコマンドである。
【0122】
タイミングt108において、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、メモリダイMDにおいて読出動作が実行される。
【0123】
タイミングt109において、メモリダイMDにおける読出動作が終了する。また、端子RY//BYが“L”状態から“H”状態となり、メモリダイMDへのアクセスが許可される。
【0124】
尚、
図12に例示したコマンドセットCS
Rは、あくまでも例示であり、具体的な態様は適宜調整可能である。例えば、コマンドセットCS
Rは、00hより先に入力されるデータを含んでいても良い。また、
図12の例では、コマンドセットCS
Rに含まれるロウアドレスRA(
図6)が、3つのデータRA1~RA3を含んでいる。しかしながら、コマンドセットCS
Rに含まれるロウアドレスRAは、4つ以上のデータを含んでいても良い。これ以降の説明において例示するコマンドセットについても同様である。
【0125】
図13は、読出動作について説明するための模式的な断面図である。尚、以下の説明では、動作の対象となっているワード線WLを選択ワード線WL
Sと呼び、それ以外のワード線WLを非選択ワード線WL
Uと呼ぶ場合がある。
【0126】
読出動作においては、例えば、ビット線BLに、電圧V
DDを供給する。例えば、
図7のラッチ回路SDLに“H”を保持させ、信号線STB,XXL,BLC,BLS,HLL,BLXの状態を“L,L,H,H,H,H”とする。これにより、ビット線BL及びセンスノードSENに電圧V
DDが供給される。また、ソース線SLに、電圧V
SRCを供給する。電圧V
SRCは、接地電圧V
SSより大きくても良いし、接地電圧V
SSと等しくても良い。電圧V
DDは、電圧V
SRCよりも大きい。
【0127】
また、読出動作においては、ドレイン側選択ゲート線SGDに電圧VSGを供給する。電圧VSGは、電圧VDDよりも大きい。また、電圧VSGと電圧VDDとの電圧差は、ドレイン側選択トランジスタSTDをNMOSトランジスタとして機能させる際のしきい値電圧よりも大きい。従って、ドレイン側選択トランジスタSTDのチャネル領域には電子のチャネルが形成され、電圧VDDが転送される。
【0128】
また、読出動作においては、ソース側選択ゲート線SGSに電圧VSGを供給する。電圧VSGは、電圧VSRCよりも大きい。また、電圧VSGと電圧VSRCとの電圧差は、ソース側選択トランジスタSTSをNMOSトランジスタとして機能させる際のしきい値電圧よりも大きい。従って、ソース側選択トランジスタSTSのチャネル領域には電子のチャネルが形成され、電圧VSRCが転送される。
【0129】
また、読出動作においては、非選択ワード線WLUに読出パス電圧VREADを供給する。読出パス電圧VREADは、電圧VDD,VSRCよりも大きい。また、読出パス電圧VREADと電圧VDD,VSRCとの電圧差は、メモリセルMCに記録されたデータに拘わらず、メモリセルMCをNMOSトランジスタとして機能させる際のしきい値電圧よりも大きい。従って、非選択メモリセルMCのチャネル領域には電子のチャネルが形成され、選択メモリセルMCに、電圧VDD,VSRCが転送される。
【0130】
また、読出動作においては、選択ワード線WL
Sに読出電圧V
CGRを供給する。尚、
図9には、メモリセルMCが1ビットのデータを記憶する場合の例を示しているが、選択ワード線WL
Sに供給される読出電圧は、
図10(a)を参照して説明した読出電圧V
CGAR~V
CGCRでも良いし、
図11(a)を参照して説明した読出電圧V
CG1R~V
CG15Rでも良い。例えば、
図10を参照して説明した様に、メモリセルMCが2ビットのデータを記憶しており、このメモリセルMCの中位ページの読出動作を実行する場合、選択ワード線WL
Sには、読出電圧V
CGAR,V
CGCRを、順次供給する。より具体的には、選択ワード線WL
Sに読出電圧V
CGARを供給し、後述するセンス動作を実行し、その後、選択ワード線WL
Sに読出電圧V
CGCRを供給し、更にセンス動作を実行する。
【0131】
読出電圧VCGR等とVSRCとの電圧差は、一部のデータが記録されたメモリセルMCのしきい値電圧よりも大きい。従って、一部のデータが記録されたメモリセルMCはON状態となる。従って、この様なメモリセルMCに接続されたビット線BLには電流が流れる。一方、読出電圧VCGR等とVSRCとの電圧差は、一部のデータが記録されたメモリセルMCのしきい値電圧よりも小さい。従って、一部のデータが記録されたメモリセルMCはOFF状態となる。従って、この様なメモリセルMCに接続されたビット線BLには電流が流れない。
【0132】
また、読出動作においては、センスアンプモジュールSAM(
図6)によって、ビット線BLに電流が流れるか否かを検出し、これによってメモリセルMCのON状態/OFF状態を検出する。以下、この様な動作を、「センス動作」と呼ぶ。センス動作では、例えば、
図7を参照して説明した信号線STB,XXL,BLC,BLS,HLL,BLXの状態を“L,H,H,H,L,L”とする。これにより、ビット線BL及びセンスノードSENが導通し、センスノードSENの電荷が放電又は維持され、センストランジスタ41がOFF状態又はON状態となる。次に、例えば、信号線STB,XXL,BLC,BLS,HLL,BLXの状態を“H,L,H,H,L,L”とする。これにより、配線LBUSの電荷が維持又は放電される。また、センスアンプユニットSAU内のいずれかのラッチ回路が配線LBUSと導通し、このラッチ回路によって配線LBUSのデータが保持される。
【0133】
図14及び
図15は、読出動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【0134】
メモリセルMCが1ビットのデータを記憶する場合、例えば
図14に示す様に、ページ部PGPには、1つのページPGに対応するデータDAT0が記憶されている。また、読出動作の実行後、センスアンプモジュールSAM内のいずれかのラッチ部(図示の例では、ラッチ部DL0P)には、このデータDAT0が保持されている。この場合、データDAT0は、キャッシュメモリCM(
図6)に転送される。
【0135】
メモリセルMCが複数ビットのデータを記憶する場合、例えば
図15に示す様に、ページ部PGPには、複数のページPGに対応する複数のデータDAT1,DAT2が記憶されている。また、読出動作の実行後、センスアンプモジュールSAM内のいずれかのラッチ部(図示の例では、ラッチ部DL0P,DL1P)には、一又は複数のデータ(図示の例では、データDATA,DATB)が保持されている。例えば、
図10を参照して説明した様に、メモリセルMCが2ビットのデータを記憶しており、このメモリセルMCの中位ページの読出動作を実行する場合、データDATAは、読出電圧V
CGARに対応するセンス動作によって取得されたデータに対応する。また、データDATBは、読出電圧V
CGCRに対応するセンス動作によって取得されたデータに対応する。この場合、センスアンプモジュールSAMでは、例えば、データDATAの反転データと、データDATBとのAND演算を行い、その結果の反転データを取得することにより、中位ページに対応するデータDAT2を取得可能である。この様に、センスアンプモジュールSAMでは、AND演算、OR演算等の演算処理が実行され、1つのページPGに対応するデータ(例えば、データDAT2)が算出される。また、このデータが、キャッシュメモリCM(
図6)に転送される。
【0136】
[データ出力動作]
読出動作によってキャッシュメモリCM(
図6)に転送されたデータは、データ出力動作によって、コントローラCDに転送される。以下、データ出力動作について説明する。
【0137】
図16は、データ出力動作について説明するためのタイミングチャートである。
【0138】
図16には、データ出力動作に際してメモリダイMDに入力されるコマンドセットCS
Oを例示している。このコマンドセットCS
Oは、データ05h,CA1,CA2,RA1,RA2,RA3及びデータE0hを含む。
【0139】
タイミングt141において、コントローラCDはメモリダイMDに、コマンドデータDCMDとしてデータ05hを入力する。データ05hは、データ出力動作の開始時に入力されるコマンドである。
【0140】
タイミングt142において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータCA1を入力する。
【0141】
タイミングt143において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータCA2を入力する。
【0142】
タイミングt144において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータRA1を入力する。
【0143】
タイミングt145において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータRA2を入力する。
【0144】
タイミングt146において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータRA3を入力する。
【0145】
タイミングt147において、コントローラCDはメモリダイMDに、コマンドデータDCMDとしてデータE0hを入力する。データE0hは、データ出力動作に関するコマンドセットの入力が終了したことを示すコマンドである。
【0146】
タイミングt148において、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、メモリダイMDにおいてデータ出力動作が実行される。
【0147】
タイミングt149において、メモリダイMDにおけるデータ出力動作が終了する。また、端子RY//BYが“L”状態から“H”状態となり、メモリダイMDへのアクセスが許可される。
【0148】
タイミングt151において、コントローラCDはメモリダイMDから、データD101を出力させる。即ち、外部制御端子CLEに“L”を入力し、外部制御端子ALEに“L”を入力した状態で、外部制御端子/RE,REの信号を切り替える。これに伴い、データ入出力端子DQ0~DQ7の電圧が、データD101の各ビットに応じて“H”又は“L”に設定される。コントローラCDは、この8ビット分のデータD101を取得する。データD101は、読出動作によってメモリセルMCから読み出されたデータDATのうちの8ビット分のデータである。
【0149】
タイミングt152において、コントローラCDはメモリダイMDからデータD102を出力させる。データD102は、読出動作によってメモリセルMCから読み出されたデータDATのうちの8ビット分のデータである。以下同様に、コントローラCDはメモリダイMDからデータDATを8ビットずつ出力させる。
【0150】
コントローラCDは、メモリダイMDから出力されたデータに対して、ビット誤り検出/訂正等を行うことが可能である。また、コントローラCDは、ビット誤り検出/訂正等を行ったデータを、ホストコンピュータ20(
図1)に転送可能である。
【0151】
[書込動作]
次に、書込動作について説明する。
【0152】
図17は、書込動作について説明するためのタイミングチャートである。
【0153】
図17には、書込動作に際してメモリダイMDに入力されるコマンドセットCS
Wを例示している。このコマンドセットCS
Wは、データ80h,CA1,CA2,RA1,RA2,RA3,D201,D202~D2XX及びデータ10hを含む。
【0154】
タイミングt201において、コントローラCDはメモリダイMDに、コマンドデータDCMDとしてデータ80hを入力する。データ80hは、書込動作の開始時に入力されるコマンドである。
【0155】
タイミングt202において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータCA1を入力する。
【0156】
タイミングt203において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータCA2を入力する。
【0157】
タイミングt204において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータRA1を入力する。
【0158】
タイミングt205において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータRA2を入力する。
【0159】
タイミングt206において、コントローラCDはメモリダイMDに、アドレスデータDADDとしてデータRA3を入力する。
【0160】
タイミングt207において、コントローラCDはメモリダイMDに、データDATとしてデータD201を入力する。即ち、データ入出力端子DQ0~DQ7の電圧をデータD201の各ビットに応じて“H”又は“L”に設定し、外部制御端子CLEに“L”を入力し、外部制御端子ALEに“L”を入力した状態で、トグル信号入出力端子DQS,/DQSの入力信号を切り替える(トグルする)。データD201は、書込動作によってメモリセルMCに書き込まれるデータDATのうちの8ビット分のデータである。
【0161】
タイミングt208において、コントローラCDはメモリダイMDに、データDATとしてデータD202を入力する。データD202は、書込動作によってメモリセルMCに書き込まれるデータDATのうちの8ビット分のデータである。以下同様に、コントローラCDはメモリダイMDにデータDATとして8ビットずつデータを入力する。
【0162】
タイミングt209において、コントローラCDはメモリダイMDに、データDATとしてデータD2XXを入力する。データD2XXは、書込動作によってメモリセルMCに書き込まれるデータDATのうちの8ビット分のデータである。
【0163】
タイミングt210において、コントローラCDはメモリダイMDに、コマンドデータDCMDとしてデータ10hを入力する。データ10hは、書込動作に関するコマンドセットの入力が終了したことを示すコマンドである。
【0164】
タイミングt211において、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、メモリダイMDにおいて書込動作が実行される。
【0165】
タイミングt212において、メモリダイMDにおける書込動作が終了する。また、端子RY//BYが“L”状態から“H”状態となり、メモリダイMDへのアクセスが許可される。
【0166】
タイミングt213において、コントローラCDはメモリダイMDに、例えば、コマンドデータD
CMDとしてデータ70hを入力する。データ70hは、ステータスレジスタSTR(
図6)に保持されたステータスデータD
STの出力を要求するコマンドである。
【0167】
タイミングt214において、コントローラCDはメモリダイMDから、例えば、データD211を出力させる。データD211は、ステータスデータD
ST(
図6)である。
【0168】
図18は、書込動作について説明するための模式的なフローチャートである。
【0169】
ステップS101においては、ループ回数n
Wが1に設定される。ループ回数n
Wは、書込ループの回数を示す変数である。また、例えば、センスアンプユニットSAU(
図7)のラッチ回路DL0~DLnに、メモリセルMCに書き込まれるデータDATが保持される。
【0170】
ステップS102においては、プログラム動作が実行される。プログラム動作は、選択ワード線WLSにプログラム電圧を供給して、メモリセルMCのしきい値電圧を増大させる動作である。
【0171】
ステップS103では、ベリファイ動作を行う。ベリファイ動作は、選択ワード線WLSにベリファイ電圧を供給し、メモリセルMCのON状態/OFF状態を検出して、メモリセルMCのしきい値電圧が目標値に達したか否かを検出するための動作である。
【0172】
ステップS104では、ベリファイ動作の結果を判定する。例えば、図示しないカウンタ回路を参照して、しきい値電圧が目標値に到達していないメモリセルMCの数が一定数以上であった場合等にはベリファイFAILと判定し、ステップS105に進む。一方、しきい値電圧が目標値に到達していないメモリセルMCの数が一定数未満であった場合等にはベリファイPASSと判定し、ステップS107に進む。
【0173】
ステップS105では、ループ回数nWが所定の回数NWに達したか否かを判定する。達していなかった場合にはステップS106に進む。達していた場合にはステップS108に進む。
【0174】
ステップS106では、ループ回数nWに1を加算して、ステップS102に進む。また、ステップS106では、例えば、プログラム電圧VPGMに所定の電圧ΔVを加算する。従って、プログラム電圧VPGMは、ループ回数nWの増大と共に増大する。
【0175】
ステップS107では、ステータスレジスタSTR(
図6)に、書込動作が正常に終了した旨のステータスデータD
STを格納し、書込動作を終了する。尚、ステータスデータD
STは、ステータスリード動作によってコントローラCD(
図1)に出力される。
【0176】
ステップS108では、ステータスレジスタSTR(
図6)に、書込動作が正常に終了しなかった旨のステータスデータD
STを格納し、書込動作を終了する。
【0177】
図19及び
図20は、プログラム動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【0178】
メモリセルMCに1ビットのデータを記憶させる場合、例えば
図19に示す様に、センスアンプモジュールSAM内のラッチ部SDLPに、書込動作によって書き込むデータDAT3を保持させる。
【0179】
メモリセルMCが複数ビットのデータを記憶させる場合、例えば
図20に示す様に、センスアンプモジュールSAM内のいずれかのラッチ部(図示の例では、ラッチ部DL0P,DL1P)には、書込動作によって書き込む、複数のページPGに対応する複数のデータDAT4,DAT5が保持されている。センスアンプモジュールSAMでは、これらのデータDAT4,DAT5に対して、AND演算、OR演算等の演算処理が実行され、しきい値電圧を増大させるメモリセルMCと、しきい値電圧を増大させないメモリセルMCと、を示すデータDAT6が算出される。また、センスアンプモジュールSAM内のラッチ部SDLPに、このデータDAT6を保持させる。
【0180】
図21は、プログラム動作について説明するための模式的な断面図である。
【0181】
プログラム動作においては、例えば、複数の選択メモリセルMCのうちしきい値電圧の調整を行うものに接続されたビット線BL
Wに電圧V
SRCを供給する。また、複数の選択メモリセルMCのうちしきい値電圧の調整を行わないものに接続されたビット線BL
Pに電圧V
DDを供給する。例えば、
図19及び
図20を参照して説明した様に、センスアンプモジュールSAM内のラッチ部SDLPには、書込動作によって書き込むデータが保持されている。この状態で、
図7を参照して説明した信号線STB,XXL,BLC,BLS,HLL,BLXの状態を“L,L,H,H,L,H”とすると、ビット線BL
Wに電圧V
SRCが供給され、ビット線BL
Pに電圧V
DDが供給される。以下、複数の選択メモリセルMCのうちしきい値電圧の調整を行うものを「書込メモリセルMC」と呼び、しきい値電圧の調整を行わないものを「禁止メモリセルMC」と呼ぶ場合がある。
【0182】
また、プログラム動作においては、ドレイン側選択ゲート線SGDに、電圧VSGDが供給される。
【0183】
電圧VSGDは、電圧VSRCよりも大きい。また、電圧VSGDと電圧VSRCとの電圧差は、ドレイン側選択トランジスタSTDをNMOSトランジスタとして機能させる際のしきい値電圧よりも大きい。従って、ビット線BLWに接続されたドレイン側選択トランジスタSTDのチャネル領域には電子のチャネルが形成され、電圧VSRCが転送される。
【0184】
一方、電圧VSGDと電圧VDDとの電圧差は、ドレイン側選択トランジスタSTDをNMOSトランジスタとして機能させる際のしきい値電圧よりも小さい。従って、ビット線BLPに接続されたドレイン側選択トランジスタSTDはOFF状態となる。
【0185】
また、プログラム動作においては、ソース線SLに電圧VSRCが供給され、ソース側選択ゲート線SGSに接地電圧VSSが供給される。これにより、ソース側選択トランジスタSTSはOFF状態となる。
【0186】
また、プログラム動作においては、非選択ワード線WLUに書込パス電圧VPASSを供給する。書込パス電圧VPASSは、読出パス電圧VREADよりも大きい。また、書込パス電圧VPASSと電圧VSRCとの電圧差は、メモリセルMCに記録されたデータに拘わらず、メモリセルMCをNMOSトランジスタとして機能させる際のしきい値電圧よりも大きい。従って、非選択メモリセルMCのチャネル領域には電子のチャネルが形成され、書込メモリセルMCに、電圧VSRCが転送される。
【0187】
また、プログラム動作においては、選択ワード線WLSにプログラム電圧VPGMを供給する。プログラム電圧VPGMは、書込パス電圧VPASSよりも大きい。
【0188】
ここで、ビット線BL
Wに接続された半導体柱120のチャネルには、電圧V
SRCが供給されている。この様な半導体柱120と選択ワード線WL
Sとの間には、比較的大きい電界が発生する。これにより、半導体柱120のチャネル中の電子がトンネル絶縁膜131(
図5)を介して電荷蓄積膜132(
図5)中にトンネルする。これにより、書込メモリセルMCのしきい値電圧は増大する。
【0189】
一方、ビット線BL
Pに接続された半導体柱120のチャネルは、電気的にフローティング状態となっており、このチャネルの電位は非選択ワード線WL
Uとの容量結合によって書込パス電圧V
PASS程度まで上昇している。この様な半導体柱120と選択ワード線WL
Sとの間には、上記した電界よりも小さい電界しか発生しない。従って、半導体柱120のチャネル中の電子は、電荷蓄積膜132(
図5)中にトンネルしない。従って、禁止メモリセルMCのしきい値電圧は増大しない。
【0190】
図22は、ベリファイ動作について説明するための模式的な断面図である。
【0191】
ベリファイ動作は、基本的には、読出動作と同様に実行される。
【0192】
ただし、ベリファイ動作においては、選択ワード線WL
Sに、読出電圧V
CGRではなく、ベリファイ電圧V
VFYを供給する。尚、
図9には、メモリセルMCが1ビットのデータを記憶する場合の例を示している。選択ワード線WL
Sに供給されるベリファイ電圧は、
図10(a)を参照して説明したベリファイ電圧V
VFYA~V
VFYCでも良いし、
図11(a)を参照して説明したベリファイ電圧V
VFY1~V
VFY15でも良い。例えば、
図10を参照して説明した様に、メモリセルMCに2ビットのデータを記憶させる場合、選択ワード線WL
Sには、ベリファイ電圧V
VFYA~V
VFYCを、適宜供給する。
【0193】
また、読出動作においては、例えば、ページPGに対応する全てのビット線BLに、電圧VDDを供給する。一方、ベリファイ動作においては、例えば、ラッチ回路DL0~DLnL内のデータに基づき、特定のステートに対応するメモリセルMCに接続されたビット線BLに電圧VDDを供給し、その他のビット線BLには電圧VSRCを供給しても良い。
【0194】
[書込動作の実行順]
次に、書込動作の実行順について説明する。
図23は、書込動作の実行順について説明するための模式的な断面図である。
図24は、書込動作の実行順について説明するための模式的なヒストグラムである。横軸はワード線WLの電圧を示しており、縦軸はメモリセルMCの数を示している。
【0195】
図23には、2つのメモリブロックBLKを例示している。また、
図23の例では、メモリブロックBLKが5本のワード線WLと、5つのストリングユニットSUa~SUeと、を備えている。従って、
図23の例では、メモリブロックBLKが、25個のページ部PGPを備えている。例えば
図11に示す様に、メモリセルMCが4ビットのデータを記憶する場合、メモリブロックBLKには、100個のページPGに対応するデータが記憶される。
【0196】
また、
図23には、書込動作の実行順を例示している。
図23の例では、まず、下方から数えて1番目のワード線WLに対応する5つのページ部PGPに、順に書込動作が実行される。各書込動作においては、
図24に示す様に、消去状態のページ部PGPに4つのページPGに対応するデータが一括して記憶される。即ち、下位ステート(Erステート、S0ステート)に対応するメモリセルMCが、一回の書込動作によって、16通りのステートに制御される。次に、下方から数えて2番目のワード線WLに対応する5つのページ部PGPに、順に書込動作が実行される。以下同様に、下方から数えて3~5番目のワード線WLに対応する15個のページ部PGPに、順に書込動作が実行される。
【0197】
ここで、メモリセルMCが記憶するデータの数が多いほど、ステート間の電圧マージンが小さくなる。例えば、
図9に示す様に、メモリセルMCが1ビットのデータを記憶する場合、下位ステートに対応するしきい値分布と、上位ステートに対応するしきい値分布との間の電圧マージンは、比較的大きい。一方、
図11に示す様に、メモリセルMCが4ビットのデータを記憶する場合、S1ステートに対応するしきい値分布と、S2ステートに対応するしきい値分布との間の電圧マージンは、比較的小さい。電圧マージンが小さいと、例えば、メモリセルMCのしきい値電圧の変動が生じた場合、誤読み出しの比率が増大してしまうおそれがある。
【0198】
ここで、
図23を参照して説明した順番で書込動作を実行すると、例えば、5~9番目の書込動作(下方から数えて2番目のワード線WLに対応する5つのページ部PGPへの書込動作)に際して、0~4番目の書込動作(下方から数えて1番目のワード線WLに対応する5つのページ部PGPへの書込動作)に対応するメモリセルMCのしきい値電圧が上昇してしまう場合がある。これは、例えば、
図5の様にZ方向に並ぶ2つの導電層110(ワード線WL)を想定した場合に、上方に設けられた導電層110へのプログラム電圧V
PGMの供給によって、下方に設けられた導電層110の近傍においても、電荷蓄積膜132に電子が蓄積してしまうこと等が原因と考えられる。
【0199】
この様なしきい値電圧の上昇は、例えば、下位ページ及び中位ページに対応するデータの書込動作(以下、「MLC書込動作」と呼ぶ。)と、上位ページ及び最上位ページに対応するデータの書込動作(以下、「Fine書込動作」と呼ぶ。)と、を分けて実行することにより、大幅に抑制可能である。以下、この様な方法について説明する。
【0200】
図25は、書込動作の他の実行順について説明するための模式的な断面図である。
図26は、書込動作の他の実行順について説明するための模式的なヒストグラムである。横軸はワード線WLの電圧を示しており、縦軸はメモリセルMCの数を示している。
【0201】
【0202】
図25の例では、まず、下方から数えて1番目のワード線WLに対応する5つのページ部PGPに、順にMLC書込動作が実行される。MLC書込動作においては、
図26に示す様に、消去状態のページ部PGPに、2つのページPGに対応するデータが記憶される。即ち、下位ステート(Erステート、S0ステート)に対応するメモリセルMCが、4通りのステートに制御される。
【0203】
次に、下方から数えて2番目のワード線WL及びストリングユニットSUaに対応するページ部PGPに、MLC書込動作が実行される。次に、下方から数えて1番目のワード線WL及びストリングユニットSUaに対応するページ部PGPに、Fine書込動作が実行される。次に、下方から数えて2番目のワード線WL及びストリングユニットSUbに対応するページ部PGPに、MLC書込動作が実行される。次に、下方から数えて1番目のワード線WL及びストリングユニットSUbに対応するページ部PGPに、Fine書込動作が実行される。以下同様に、下方から数えて2番目のワード線WLに対応するページ部PGPへのMLC書込動作と、下方から数えて1番目のワード線WLに対応するページ部PGPへのFine書込動作と、が交互に実行される。
【0204】
同様に、下方から数えて3~5番目のワード線WLに対応するページ部PGPへのMLC書込動作と、下方から数えて2~4番目のワード線WLに対応するページ部PGPへのFine書込動作と、が交互に実行される。
【0205】
次に、下方から数えて5番目のワード線WLに対応する5つのページ部PGPに、順にFine書込動作が実行される。
【0206】
ここで、
図25を参照して説明した順番で書込動作を実行すると、例えば、5番目の書込動作(下方から数えて2番目のワード線WLに対応するページ部PGPへのMLC書込動作)に際して、0番目の書込動作(下方から数えて1番目のワード線WLに対応するページ部PGPへのMLC書込動作)に対応するメモリセルMCのしきい値電圧が上昇してしまう場合がある。しかしながら、これらメモリセルMCの最終的なしきい値電圧は、Fine書込動作によって調整可能である。
【0207】
また、例えば、16番目の書込動作(下方から数えて2番目のワード線WLに対応するページ部PGPへのFine書込動作)に際して、6番目の書込動作(下方から数えて1番目のワード線WLに対応するページ部PGPへのFine書込動作)に対応するメモリセルMCのしきい値電圧が上昇してしまう場合がある。しかしながら、Fine書込動作は、
図24を参照して説明した書込動作と比較して、選択されたページ部PGPとZ方向に隣り合う非選択のページ部PGPに及ぼす影響が小さい。
【0208】
そこで、第1実施形態に係るメモリシステム10においては、
図25及び
図26を参照して説明した順序で、書込動作を実行する。
【0209】
[MLC書込動作に際して実行されるデータ処理]
図27は、MLC書込動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
図27に示す様に、MLC書込動作に際しては、コントローラCDからメモリダイMDに、下位ページに対応するデータDAT11と、中位ページに対応するデータDAT12と、が入力される。また、
図27の例では、これらのデータDAT11,DAT12が、それぞれ、ラッチ部DL0P,DL1Pに保持される。
【0210】
図28は、
図27のデータ処理について説明するためのタイミングチャートである。
【0211】
図28には、
図27のデータ処理に際してメモリダイMDに入力される2つのコマンドセットを例示している。これら2つのコマンドセットの一方は、下位ページに対応するデータDAT11に対応している。また、これら2つのコマンドセットの他方は、中位ページに対応するデータDAT12に対応している。
【0212】
データDAT11に対応するコマンドセットは、基本的には、
図17を参照して説明したコマンドセットCS
Wと同様である。ただし、このコマンドセットは、データ80hの入力よりも前に入力されるデータA1h,01hを含む。また、データ10hのかわりに、データ1Ahを含む。データA1hは、MLC書込動作、又は、MLC書込動作が実行され、且つ、Fine書込動作が実行されていないページ部PGPに対する読出動作を指定するコマンドである。データ01hは、下位ページの指定に際して入力されるコマンドである。データ1Ahは、書込動作に関するコマンドセットの入力が終了したこと、及び、更に続けてコマンドセットを入力することを示すコマンドである。
【0213】
データDAT11に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間TBDにわたって、データDAT11に関するデータ処理が実行される。例えば、データDAT11が、ラッチ部DL0Pに転送される。
【0214】
データDAT12に対応するコマンドセットは、基本的には、
図17を参照して説明したコマンドセットCS
Wと同様である。ただし、このコマンドセットは、データ80hの入力よりも前に入力されるデータA1h,02hを含む。データ02hは、中位ページの指定に際して入力されるコマンドである。
【0215】
データDAT12に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間tPROGにわたって、MLC書込動作が実行される。
【0216】
[Fine書込動作に際して内部データを利用する例]
図29は、Fine書込動作に際して実行されるデータ処理の例について説明するための模式的なブロック図である。Fine書込動作に際しては、メモリダイMDの内部のデータ(以下、「内部データ」と呼ぶ場合がある。)を利用しても良い。例えば、
図29に示す様に、Fine書込動作に際しては、書込動作の対象であるページ部PGPの下位ページ及び中位ページからデータDAT11,DAT12が読み出され、これらのデータDAT11,DAT12がラッチ部DL0P,DL1Pに保持されても良い。また、コントローラCDからメモリダイMDに、上位ページに対応するデータDAT13と、最上位ページに対応するデータDAT14と、が入力される。また、
図29の例では、これらのデータDAT13,DAT14が、それぞれ、ラッチ部DL2P,DL3Pに保持される。
【0217】
図30は、
図29のデータ処理について説明するためのタイミングチャートである。
【0218】
図30には、
図29のデータ処理に際してメモリダイMDに入力される2つのコマンドセットを例示している。これら2つのコマンドセットの一方は、上位ページに対応するデータDAT13に対応している。また、これら2つのコマンドセットの他方は、最上位ページに対応するデータDAT14に対応している。
【0219】
データDAT13に対応するコマンドセットは、基本的には、
図17を参照して説明したコマンドセットCS
Wと同様である。ただし、このコマンドセットは、データ80hの入力よりも前に入力されるデータ03hを含む。また、データ10hのかわりに、データ1Ahを含む。データ03hは、上位ページの指定に際して入力されるコマンドである。
【0220】
データDAT13に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間TBDにわたって、データDAT13に関するデータ処理が実行される。例えば、データDAT13が、ラッチ部DL2Pに転送される。
【0221】
データDAT14に対応するコマンドセットは、基本的には、
図17を参照して説明したコマンドセットCS
Wと同様である。ただし、このコマンドセットは、データ80hの入力よりも前に入力されるデータ04hを含む。データ04hは、最上位ページの指定に際して入力されるコマンドである。
【0222】
データDAT14に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間tPROGにわたって、Fine書込動作が実行される。
【0223】
[Fine書込動作に際して外部データを入力する例]
図31は、Fine書込動作に際して実行されるデータ処理の他の例について説明するための模式的なブロック図である。以下の説明において、
図29の例と同様の部分については、説明を省略する。
【0224】
Fine書込動作に際しては、メモリダイMDの外部のデータ(以下、「外部データ」と呼ぶ場合がある。)を、メモリダイMDに入力し、これを利用しても良い。例えば、
図31に示す様に、コントローラCDは、MLC書込動作によって書き込まれ、且つ、対応するページ部PGPにおいてFine書込動作が終了していないデータDAT11,DAT12を、記憶装置MEMに保持しておいても良い。また、Fine書込動作に際しては、この記憶装置MEMからデータDAT11,DAT12が読み出され、これらのデータDAT11,DAT12がラッチ部DL0P,DL1Pに保持されても良い。
【0225】
図32は、
図31のデータ処理について説明するためのタイミングチャートである。
【0226】
図32には、
図31のデータ処理に際してメモリダイMDに入力される4つのコマンドセットを例示している。これら4つのコマンドセットは、それぞれ、データDAT11~DAT14に対応している。
【0227】
データDAT11に対応するコマンドセットは、基本的には、
図28を参照して説明した1つ目のコマンドセットと同様である。ただし、このコマンドセットは、データA1hを含まない。
【0228】
データDAT11に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間TBDにわたって、データDAT11に関するデータ処理が実行される。
【0229】
データDAT12に対応するコマンドセットは、基本的には、
図28を参照して説明した2つ目のコマンドセットCS
Wと同様である。ただし、このコマンドセットは、データA1hを含まない。また、データ10hのかわりに、データ1Ahを含む。
【0230】
データDAT12に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間TBDにわたって、データDAT12に関するデータ処理が実行される。例えば、データDAT12が、ラッチ部DL1Pに転送される。
【0231】
データDAT13に対応するコマンドセットは、
図30を参照して説明した1つ目のコマンドセットと同様である。
【0232】
データDAT13に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間TBDにわたって、データDAT13に関するデータ処理が実行される。
【0233】
データDAT14に対応するコマンドセットは、
図30を参照して説明した2つ目のコマンドセットと同様である。
【0234】
データDAT14に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間tPROGにわたって、Fine書込動作が実行される。
【0235】
[Fine書込動作に際して外部データを入力する他の例]
図33は、Fine書込動作に際して実行されるデータ処理の他の例について説明するための模式的なブロック図である。以下の説明において、
図29の例と同様の部分については、説明を省略する。
【0236】
図33に示す様に、Fine書込動作に際しては、書込動作の対象であるページ部PGPの下位ページ及び中位ページからデータDAT11,DAT12が読み出され、これらのデータDAT11,DAT12が、コントローラCDに入力されても良い。また、コントローラCDは、これらのデータDAT11,DAT12に対して、ECC処理部64(
図8)によるビット誤り検出/訂正等の処理を行っても良い。また、これらのデータDAT11,DAT12が、外部データとしてメモリダイMDに入力され、ラッチ部DL0P,DL1Pに保持されても良い。
【0237】
図34は、
図33のデータ処理について説明するためのタイミングチャートである。
図33のデータ処理では、
図34に対応する処理が実行され、次に、
図32を参照して説明した処理が実行される。
【0238】
図34には、
図33のデータ処理に際してメモリダイMDに入力される4つのコマンドセットを例示している。これら4つのコマンドセットは、それぞれ、データDAT11の読出動作、データDAT11のデータ出力動作、データDAT12の読出動作、及び、データDAT12のデータ出力動作に対応している。
【0239】
データDAT11の読出動作に対応するコマンドセットは、基本的には、
図12を参照して説明したコマンドセットCS
Rと同様である。ただし、このコマンドセットは、データ00hの入力よりも前に入力されるデータA1h,01hを含む。
【0240】
データDAT11の読出動作に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間tRにわたって、データDAT11の読出動作が実行される。
【0241】
データDAT11のデータ出力動作に対応するコマンドセットは、
図16を参照して説明したコマンドセットCS
Oと同様である。
【0242】
データDAT12の読出動作に対応するコマンドセットは、基本的には、
図12を参照して説明したコマンドセットCS
Rと同様である。ただし、このコマンドセットは、データ00hの入力よりも前に入力されるデータA1h,02hを含む。
【0243】
データDAT12の読出動作に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間tRにわたって、データDAT12の読出動作が実行される。
【0244】
データDAT12のデータ出力動作に対応するコマンドセットは、
図16を参照して説明したコマンドセットCS
Oと同様である。
【0245】
[書込動作の実行に際してコントローラCDで実行する処理]
以上、MLC書込動作に際して実行されるデータ処理について説明した。また、Fine書込動作に際して実行されるデータ処理の例として、下位ページ及び中位ページに対応するデータDAT11,DAT12として、内部データを利用する1つの例(
図29、
図30)と、メモリダイMDに外部データを入力する2つの例(
図31~
図34)と、について説明した。
【0246】
ここで、内部データを利用する例では、データDAT11,DAT12の入力が省略される。従って、例えば
図31及び
図32の例と比較して、データDAT11,DAT12を含む2つのコマンドセットの入力に要する時間、及び、データ処理に要する時間TBDが削減され、高速な処理が可能である。
【0247】
しかしながら、例えば、MLC書込動作の実行から所定の時間が経過すると、電荷蓄積膜132(
図5)から電子が抜け、メモリセルMCのしきい値電圧が減少してしまい、データの変動が生じてしまう場合がある。この様な状態の内部データ(データDAT11,DAT12)を利用してFine書込動作を実行してしまうと、一部のメモリセルMCに誤ったデータが書き込まれてしまうおそれがある。この点、
図31及び
図32を参照して説明した例では、データDAT11,DAT12が外部の記憶装置MEMに保持されているため、データの変動を抑制可能である。また、
図33及び
図34を参照して説明した例では、ECC処理部64(
図8)によってデータの訂正を行うことが可能であるため、メモリダイMDに、訂正後のデータDAT11,DAT12を入力することが可能である。
【0248】
そこで、本実施形態においては、MLC書込動作の実行からしきい値時間の経過前にFine書込動作を実行する場合には、内部データを利用する。また、MLC書込動作の実行からしきい値時間の経過後にFine書込動作を実行する場合には、メモリダイMDに外部データを入力する。
【0249】
これにより、信頼性の低下を抑制しつつ、データの書き込みに要する時間を削減可能である。
【0250】
次に、
図35を参照して、書込動作の実行時におけるコントローラCDの動作について、より詳細に説明する。
図35は、書込動作の実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
図35には、書込動作の要求が生じた場合の、コントローラCDの動作を例示している。
【0251】
ステップS111では、書込動作を実行するページ部PGPのアドレスデータD
ADDを取得する。例えば、メモリセルアレイMCA中に書込動作の実行中のメモリブロックBLKが存在する場合、このメモリブロックBLKを選択する。また、例えば、メモリセルアレイMCA中に書込動作の実行中のメモリブロックBLKが存在しない場合、PECycle記憶部62(
図8)等に基づいて、メモリブロックBLKの選択を行う。また、選択されたメモリブロックBLKにおいて、
図25を参照して説明した様な順序で、ページ部PGPを選択しても良い。また、このステップでは、論物変換テーブル60(
図8)に、取得したアドレスデータD
ADDを保持させても良い。
【0252】
ステップS112では、実行する書込動作が、MLC書込動作であるか否かを確認する。MLC書込動作である場合は、ステップS113に進む。MLC書込動作でない場合、即ち、Fine書込動作である場合は、ステップS115に進む。
【0253】
ステップS113では、メモリダイMDに、
図28を参照して説明した2つのコマンドセットを入力して、MLC書込動作を実行する。
【0254】
ステップS114では、コマンドセットを発行した時刻(以下、「コマンドセット発行時刻」と呼ぶ。)を保存する。コマンドセット発行時刻は、例えば、
図28を参照して説明した2つのコマンドセットを発行する直前の時刻であっても良いし、これら2つのコマンドセットを発行した直後の時刻であっても良い。
【0255】
ステップS115では、ステップS114において保存された時刻を参照して、コマンドセット発行時刻からの経過時間tを取得する。
【0256】
ステップS116では、経過時間tがしきい値時間より小さいか否かを判定する。小さい場合には、ステップS117に進む。小さくない場合には、ステップS118に進む。
【0257】
ステップS117では、例えば
図29及び
図30を参照して説明した様に、内部データを利用して、Fine書込動作を実行する。
【0258】
ステップS118では、例えば
図31~
図34を参照して説明した様に、メモリダイMDに外部データを入力して、Fine書込動作を実行する。
【0259】
[第2実施形態]
上述の通り、第1実施形態では、MLC書込動作の実行時刻(コマンドセット発行時刻)からの経過時間tがしきい値時間(
図35のステップS116)よりも小さいか否かに応じ、Fine書込動作に際して内部データを利用するか、メモリダイMDに外部データを入力するか、決定する。
【0260】
しかしながら、この様な方法はあくまでも例示であり、具体的な方法は適宜調整可能である。例えば、MLC書込動作が実行され、且つ、Fine書込動作が実行されていないページ部PGPについて、誤りビット数FBCを監視しても良い。また、誤りビット数FBCに応じ、Fine書込動作に際して内部データを利用するか、メモリダイMDに外部データを入力するか、決定しても良い。
【0261】
以下、
図36及び
図37を参照して、第2実施形態に係るメモリシステムについて説明する。以下の説明において、第1実施形態と同様の部分については同様の符号を付し、説明を省略する。
【0262】
第2実施形態に係るメモリシステムは、基本的には、第1実施形態に係るメモリシステムと同様に構成される。ただし、第2実施形態においては、
図35を参照して説明した動作のかわりに、
図36及び
図37を参照して説明する動作を実行する。
【0263】
図36は、パトロールリードの実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。パトロールリードは、ホストコンピュータ20(
図1)からの指示がない場合等に一定時間おきに実行されるバックグラウンド処理である。
【0264】
ステップS201では、MLC書込動作が実行され、且つ、Fine書込動作が実行されていないページ部PGPについて、下位ページ及び中位ページの読出動作を実行する。また、ECC処理部64(
図8)による誤り検出を実行し、誤りビット数FBCを算出する。
【0265】
ステップS202では、誤りビット数FBCがしきい値より大きいか否かを判定する。大きい場合には、ステップS203に進む。大きくない場合には、パトロールリードを終了する。
【0266】
ステップS203では、ステップS201において読出動作を実行したページ部PGPを、信頼性が悪化したページ部(以下、「信頼性悪化ページ部」と呼ぶ。)としてマーキングする。
【0267】
次に、
図37を参照して、書込動作の実行時におけるコントローラCDの動作について説明する。
図37は、書込動作の実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
図37には、書込動作の要求が生じた場合の、コントローラCDの動作を例示している。
【0268】
図37に示す動作は、基本的には、
図35を参照して説明した動作と同様に実行される。ただし、
図37に示す動作においては、
図35のステップS114が実行されない。また、
図37に示す動作においては、
図35のステップS115,S116のかわりに、ステップS215,S216が実行される。
【0269】
ステップS215では、パトロールリードのステップS202(
図36)における判定の結果、即ち、書込動作を実行するページ部PGPが信頼性悪化ページ部であるか否かの判定結果を取得する。
【0270】
ステップS216では、書込動作を実行するページ部PGPが信頼性悪化ページ部であるか否かを判定する。信頼性悪化ページ部でない場合には、ステップS117に進む。信頼性悪化ページ部である場合には、ステップS118に進む。
【0271】
なお、パトロールリード以外のバックグラウンド処理としては、ガベージコレクションや、リフレッシュや、ウェアレベリングがある。
【0272】
ガベージコレクションは、コンパクションとも称される。メモリダイMDは、データの消去単位とデータの読み書き単位が異なるため、メモリダイMDのメモリセルMCの書き換えが進むと、無効データによって、メモリブロックBLKが断片化され、このような断片化されたメモリブロックBLKが増えると、使用可能なメモリブロックBLKが少なくなる。ガベージコレクションは、使用可能なメモリブロックBLKを増加させるための処理で、例えば、有効データおよび無効データが含まれている複数のアクティブブロックから有効データを集めて、別のメモリブロックBLKに書き直し、フリーブロックを確保する処理を意味する。
【0273】
アクティブブロックは、有効データが記録されているメモリブロックBLKを示す。フリーブロックは、有効データが記録されていないメモリブロックBLKを示す。フリーブロックは、消去した後、消去済みのメモリブロックBLKとして再利用可能である。フリーブロックは、本実施形態では、有効データが記録されていない消去前のメモリブロックBLKと、消去済みのメモリブロックBLKとの両方を含んでいる。有効データとは、論理アドレスと対応付けられているデータであり、無効データとは論理アドレスが対応付けられていないデータである。消去済みのメモリブロックBLKは、データが書き込まれると、アクティブブロックとなる。
【0274】
リフレッシュは、例えば、ECC処理部64での誤り訂正処理における訂正ビット数が増加する等のようにあるメモリブロックBLK内のデータの劣化が検出された場合に、当該メモリブロックBLK内のデータを別のメモリブロックBLKに書き直す処理である。
【0275】
ウェアレベリングは、例えば、データの書き換え回数や消去回数が多いメモリブロックBLKに記憶されているデータと、書き換え回数や消去回数の少ないメモリブロックBLKに記憶されているデータとを入れ替えることで、メモリダイMDのメモリブロックBLKの書き換え回数を平準化する処理である。
【0276】
[第3実施形態]
次に、
図38~
図41を参照して、第3実施形態に係るメモリシステムについて説明する。以下の説明において、第1実施形態と同様の部分については同様の符号を付し、説明を省略する。
【0277】
第3実施形態に係るメモリシステムは、基本的には、第1実施形態に係るメモリシステムと同様に構成される。ただし、第3実施形態においては、
図35を参照して説明した動作のかわりに、
図38~
図41を参照して説明する動作を実行する。
【0278】
図38は、書込動作の実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
図38には、書込動作の要求が生じた場合の、コントローラCDの動作を例示している。
【0279】
図38に示す動作は、基本的には、
図35を参照して説明した動作と同様に実行される。ただし、
図38に示す動作においては、
図35のステップS114~S118が実行されない。また、
図38に示す動作においては、ステップS112の実行後、ステップS113の実行前に、ステップS313が実行される。また、
図38に示す動作においては、
図35のステップS115~S118のかわりに、ステップS318が実行される。
【0280】
次に、
図39を参照して、
図38のステップS113及びステップS313について説明する。
図39は、MLC書込動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【0281】
図38のステップS113では、
図39に示す様に、選択されたメモリブロックBLKのページ部PGPにMLC書込動作が実行され、下位ページに対応するデータDAT11及び中位ページに対応するデータDAT12が書き込まれる。
【0282】
図39のステップS313では、
図39に示す様に、選択されたメモリブロックBLK(MLC書込動作が実行されるページ部PGPを含むメモリブロックBLK)と異なるメモリブロックBLKのページ部PGPに、下位ページに対応するデータDAT11が書き込まれる。また、このメモリブロックBLKの他のページ部PGPに、中位ページに対応するデータDAT12が書き込まれる。これら2つのページ部PGPに含まれる複数のメモリセルMCは、例えば
図9を参照して説明した様に、それぞれ、1ビットのデータを記憶する。以下、この様に、ページ部PGP中のメモリセルMCに1ビットずつデータを記憶させる書込動作を、「SLC書込動作」と呼ぶ。
【0283】
次に、
図40を参照して、
図38のステップS318について説明する。
図40は、第3実施形態に係るFine書込動作に際して実行されるデータ処理について説明するための模式的なブロック図である。
【0284】
図38のステップS318では、例えば
図40に示す様に、下位ページに対応するデータDAT11及び中位ページに対応するデータDAT12を、SLC書込動作が実行された上記2つのページ部PGPから取得する。以下、SLC書込動作が実行されたページ部PGPに対する読出動作を、「SLC読出動作」と呼ぶ。また、上位ページに対応するデータDAT13及び最上位ページに対応するデータDAT14を、メモリダイMDの外部から入力する。
【0285】
また、
図38のステップS318では、
図30を参照して説明した2つのコマンドセットを入力して、Fine書込動作を実行する。
【0286】
図41は、
図40のデータ処理について説明するためのタイミングチャートである。
図40のデータ処理では、
図41に対応する処理が実行され、次に、
図30を参照して説明した処理が実行される。
【0287】
図41には、
図39のデータ処理に際してメモリダイMDに入力される4つのコマンドセットを例示している。これら4つのコマンドセットは、それぞれ、データDAT11の読出動作、データDAT11のラッチ部DL0Pへの転送、データDAT12の読出動作、及び、データDAT12のラッチ部DL1Pへの転送に対応している。
【0288】
データDAT11の読出動作に対応するコマンドセットは、基本的には、
図12を参照して説明したコマンドセットCS
Rと同様である。ただし、このコマンドセットは、データ00hの入力よりも前に入力されるデータA2hを含む。データA2hは、SLC書込動作、又は、SLC読出動作を指定するコマンドである。
【0289】
データDAT11の読出動作に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間tRSLCにわたって、データDAT11の読出動作が実行される。尚、時間tRSLCは、
図34を参照して説明した時間tRよりも短い。
【0290】
データDAT11のラッチ部DL0Pへの転送に対応するコマンドセットは、データ01h,85h,CA1,CA2,RA1,RA2,RA3及びデータ1Ahを含む。データ01hは、ラッチ部DL0Pを指定するコマンドである。データ85hは、キャッシュメモリCM中のデータのラッチ部への転送開始時に入力されるコマンドである。データ1Ahは、このデータ転送に関するコマンドセットの入力が終了したことを示すコマンドである。
【0291】
データDAT11のラッチ部DL0Pへの転送に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間TBDにわたって、データDAT11の転送が実行される。
【0292】
データDAT12の読出動作に対応するコマンドセットは、基本的には、
図12を参照して説明したコマンドセットCS
Rと同様である。ただし、このコマンドセットは、データ00hの入力よりも前に入力されるデータA2hを含む。
【0293】
データDAT12の読出動作に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間tRSLCにわたって、データDAT12の読出動作が実行される。
【0294】
データDAT12のラッチ部DL1Pへの転送に対応するコマンドセットは、基本的には、データDAT11のラッチ部DL0Pへの転送に対応するコマンドセットと同様である。ただし、データDAT12のラッチ部DL1Pへの転送に対応するコマンドセットは、データ01hのかわりに、データ02hを含む。データ02hは、ラッチ部DL1Pを指定するコマンドである。
【0295】
データDAT12のラッチ部DL1Pへの転送に対応するコマンドセットが入力されると、端子RY//BYが“H”状態から“L”状態となり、メモリダイMDへのアクセスが禁止される。また、時間TBDにわたって、データDAT12の転送が実行される。
【0296】
以上において説明した様に、第3実施形態に係るMLC書込動作に際しては、SLC書込動作によって、2つのページ部PGPに、下位ページに対応するデータDAT11及び中位ページに対応するデータDAT12を書き込む。
【0297】
ここで、メモリセルMCが記憶するデータの数が少ないほど、ステート間の電圧マージンが大きくなる。例えば、
図9に示す様に、メモリセルMCが1ビットのデータを記憶する場合、下位ステートに対応するしきい値分布と、上位ステートに対応するしきい値分布との間の電圧マージンは、比較的大きい。この様なメモリセルMCにおいては、電荷蓄積膜132(
図5)から電子が抜け、メモリセルMCのしきい値電圧が減少してしまっても、データの変動が生じにくい。
【0298】
従って、
図38のステップS318において2つのページ部PGPから読み出したデータDAT11,DAT12は、データの変動が生じている可能性が低いため、第3実施形態においては、データDAT11,DAT12に対するビット誤り検出/訂正を省略可能である。また、このために必要な、データ出力動作、及び、データDAT11,DAT12のメモリダイMDへの入力を、省略可能である。これにより、信頼性の低下を抑制しつつ、データの書き込みに要する時間を削減可能である。
【0299】
尚、
図38には、ステップS313においてSLC書込動作を実行し、その後で、ステップS113においてMLC書込動作を実行する例を示した。しかしながら、この様な方法はあくまでも例示であり、ステップS113を実行した後でステップS313を実行しても良い。
【0300】
[第4実施形態]
第3実施形態では、MLC書込動作とSLC書込動作とを連続して実行する。しかしながら、例えば、MLC書込動作の実行時刻から、Fine書込動作の実行時刻までの経過時間が十分短い場合、SLC書込動作の実行を省略することも考えられる。これにより、MLC書込動作の実行に際して生じるSLC書込動作の実行時間を削減可能である。また、SLC書込動作を実行するためのページ部PGPの数を削減可能である。
【0301】
以下、
図42及び
図43を参照して、第4実施形態に係るメモリシステムについて説明する。以下の説明において、第3実施形態と同様の部分については同様の符号を付し、説明を省略する。
【0302】
第4実施形態に係るメモリシステムは、基本的には、第3実施形態に係るメモリシステムと同様に構成される。ただし、第4実施形態においては、
図38を参照して説明した動作のかわりに、
図42及び
図43を参照して説明する動作を実行する。
【0303】
図42は、書込動作の実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
図42には、書込動作の要求が生じた場合の、コントローラCDの動作を例示している。
【0304】
図42に示す動作は、基本的には、
図35を参照して説明した動作と同様に実行される。ただし、
図42に示す動作においては、
図35のステップS115,S116のかわりに、ステップS416が実行される。また、
図42に示す動作においては、
図35のステップS118のかわりに、
図38を参照して説明したステップS318が実行される。
【0305】
ステップS416では、Fine書込動作を実行するページ部PGPに記憶された下位ページ及び中位ページに対応するデータについて、SLC書込動作が実行されているか否かを判定する。実行されていない場合には、ステップS117に進む。実行されている場合には、ステップS318に進む。
【0306】
図43は、ホストコンピュータ20(
図1)からの指示がない場合等に一定時間おきに実行されるバックグラウンド処理の実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
【0307】
ステップS401では、コマンドセット発行時刻からの経過時間tを取得する。
【0308】
ステップS402では、経過時間tがしきい値時間より小さいか否かを判定する。小さい場合には、処理を終了する。小さくない場合には、ステップS403に進む。
【0309】
ステップS403では、SLC書込動作を実行する。ステップS403は、
図38のステップS313と同様に実行される。
【0310】
[第5実施形態]
上述の通り、第4実施形態では、MLC書込動作の実行時刻(コマンドセット発行時刻)からの経過時間tがしきい値時間(
図43のステップS402)よりも小さいか否かに応じて、SLC書込動作を実行するか否か、決定する。
【0311】
しかしながら、この様な方法はあくまでも例示であり、具体的な方法は適宜調整可能である。例えば、MLC書込動作が実行され、且つ、Fine書込動作が実行されていないページ部PGPについて、誤りビット数FBCを監視しても良い。また、誤りビット数FBCに応じて、SLC書込動作を実行するか否か、決定しても良い。
【0312】
以下、
図44及び
図45を参照して、第5実施形態に係るメモリシステムについて説明する。以下の説明において、第4実施形態と同様の部分については同様の符号を付し、説明を省略する。
【0313】
第5実施形態に係るメモリシステムは、基本的には、第4実施形態に係るメモリシステムと同様に構成される。ただし、第5実施形態においては、
図42及び
図43を参照して説明した動作のかわりに、
図44及び
図45を参照して説明する動作を実行する。
【0314】
図44は、パトロールリードの実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
【0315】
図44に示す動作は、基本的には、
図36を参照して説明した動作と同様に実行される。ただし、
図44に示す動作においては、ステップS203の実行後に、
図43を参照して説明したステップS403が実行される。
【0316】
次に、
図45を参照して、書込動作の実行時におけるコントローラCDの動作について説明する。
図45は、書込動作の実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
図45には、書込動作の要求が生じた場合の、コントローラCDの動作を例示している。
【0317】
図45に示す動作は、基本的には、
図37を参照して説明した動作と同様に実行される。ただし、
図45に示す動作においては、
図37のステップS118のかわりに、
図38を参照して説明したステップS318が実行される。
【0318】
[第6実施形態]
次に、
図46を参照して、第6実施形態に係るメモリシステムについて説明する。以下の説明において、第3実施形態と同様の部分については同様の符号を付し、説明を省略する。
【0319】
第6実施形態に係るメモリシステムは、基本的には、第1実施形態に係るメモリシステムと同様に構成される。ただし、第1実施形態においては、
図35を参照して説明した動作のかわりに、
図46を参照して説明する動作を実行する。
【0320】
図46は、書込動作の実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
図46には、書込動作の要求が生じた場合の、コントローラCDの動作を例示している。
【0321】
図46に示す動作は、基本的には、
図35を参照して説明した動作と同様に実行される。ただし、
図46に示す動作においては、ステップS112の実行後、ステップS113の実行前に、
図38を参照して説明したステップS313が実行される。また、
図46に示す動作においては、
図35のステップS118のかわりに、
図38を参照して説明したステップS318が実行される。
【0322】
尚、第6実施形態においては、ステップS113を実行した後でステップS313を実行しても良い。
【0323】
[第7実施形態]
次に、
図47を参照して、第7実施形態に係るメモリシステムについて説明する。以下の説明において、第2実施形態と同様の部分については同様の符号を付し、説明を省略する。
【0324】
第7実施形態に係るメモリシステムは、基本的には、第2実施形態に係るメモリシステムと同様に構成される。ただし、第2実施形態においては、
図37を参照して説明した動作のかわりに、
図47を参照して説明する動作を実行する。
【0325】
図47は、書込動作の実行時におけるコントローラCDの動作について説明するための模式的なフローチャートである。
図47には、書込動作の要求が生じた場合の、コントローラCDの動作を例示している。
【0326】
図47に示す動作は、基本的には、
図37を参照して説明した動作と同様に実行される。ただし、
図47に示す動作においては、ステップS112の実行後、ステップS113の実行前に、
図38を参照して説明したステップS313が実行される。また、
図47に示す動作においては、
図37のステップS118のかわりに、
図38を参照して説明したステップS318が実行される。
【0327】
尚、第7実施形態においては、ステップS113を実行した後でステップS313を実行しても良い。
【0328】
[その他の実施形態]
以上、第1実施形態~第7実施形態に係るメモリシステムについて説明した。しかしながら、これらの構成及び動作はあくまでも例示であり、具体的な構成及び動作は、適宜調整可能である。
【0329】
例えば、第1実施形態~第7実施形態では、メモリセルMCに2ビットのデータを記憶させるMLC書込動作と、2ビットのデータを記憶するメモリセルMCに、更に2ビットのデータを記憶させるFine書込動作と、を組み合わせて、メモリセルMCに2段階に分けて4ビットのデータを記憶させる例について説明した。
【0330】
しかしながら、第1実施形態及び第2実施形態において、1段階目の書込動作によってメモリセルMCに記憶させるデータは、1ビットでも良いし、3ビット以上でも良い。また、第3実施形態~第7実施形態において、1段階目の書込動作によってメモリセルMCに記憶させるデータは、3ビット以上でも良い。また、第1実施形態~第7実施形態において、2段階目の書込動作によってメモリセルMCに記憶させるデータは、1ビットでも良いし、3ビット以上でも良い。
【0331】
また、2段階目の書込動作の終了後にメモリセルMCが記憶しているデータは、3ビットでも良いし、5ビット以上でも良い。
【0332】
例えば、2段階目の書込動作の終了後にメモリセルMCが記憶しているデータをa(aは3以上の整数)ビットとし、1段階目の書込動作によってメモリセルMCに記憶させるデータをb(bはa未満の正の整数)ビットとし、2段階目の書込動作によってメモリセルMCに記憶させるデータをc(cは、a-bと等しい正の整数)ビットとする。
【0333】
この場合、1段階目の書込動作によって、ページ部PGP内の複数のメモリセルMCは、それぞれ、2b通りのステートのいずれかに制御される。即ち、ページ部PGP内の複数のメモリセルMCのしきい値電圧は、2b個のしきい値分布(しきい値領域)のいずれかに属する様に制御される。尚、これら2b個のしきい値分布のうち、最も低い電圧レベルに対応するしきい値分布は、消去状態に対応する。
【0334】
また、2段階目の書込動作によって、上記2b通りのステートに制御された複数のメモリセルMCは、それぞれ、更に2c通りのステートのいずれかに制御される。これによって、ページ部PGP内の複数のメモリセルMCは、それぞれ、2a通りのステートのいずれかに制御される。即ち、上記2b通りのしきい値分布に対応する複数のメモリセルMCのしきい値電圧は、それぞれ、更に2c個のしきい値分布(しきい値領域)のいずれかに属する様に制御される。これによって、ページ部PGP内の複数のメモリセルMCのしきい値電圧は、それぞれ、2a個のしきい値分布のいずれかに属する様に制御される。尚、これら2a個のしきい値分布のうち、最も低い電圧レベルに対応するしきい値分布は、消去状態に対応する。
【0335】
[その他]
本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0336】
MC…メモリセル、MD…メモリダイ、MCA…メモリセルアレイ、CD…コントローラ、DADD…アドレスデータ、PC…周辺回路。