(57)【要約】【課題】メモリシステムにおけるシーケンシャル書き込みの動作速度の低下を抑制する。【解決手段】実施形態のメモリシステムは、半導体記憶装置と、メモリコントローラとを含む。半導体記憶装置は、複数のメモリセルトランジスタを含むブロックＢＬＫを複数含む。メモリコントローラは、半導体記憶装置を制御する。複数のブロックＢＬＫは、第１ブロックＢＬＫ２を含む。第１ブロックＢＬＫ２に含まれたメモリセルトランジスタは、第１期間において第１ビット数のデータを記憶し、第１期間の後の第２期間において第１ビット数よりも多い第２ビット数のデータを記憶する。【選択図】図１１
2020071843.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルトランジスタを含むブロックを複数含む半導体記憶装置と、
前記半導体記憶装置を制御するメモリコントローラと、を備え、
前記複数のブロックは、第１ブロックを含み、
前記第１ブロックに含まれたメモリセルトランジスタは、第１期間において第１ビット数のデータを記憶し、前記第１期間の後の第２期間において前記第１ビット数よりも多い第２ビット数のデータを記憶する、
メモリシステム。
【請求項２】
外部のホスト機器から第１データセットを受信すると、前記メモリコントローラは、
前記第１ビット数の書き込みモードを使用した複数回の第１書き込み動作を前記半導体記憶装置に実行させ、
前記複数回の第１書き込み動作によって書き込まれた第１データセットの読み出し動作を前記半導体記憶装置に実行させ、
前記読み出し動作によって読み出された第１データセットを用いて、前記第２ビット数の書き込みモードを使用した第２書き込み動作を前記半導体記憶装置に実行させる、
請求項１に記載のメモリシステム。
【請求項３】
前記メモリコントローラは、前記第１期間に前記第１ブロックが選択された前記第１書き込み動作を実行し、前記第１期間と前記第２期間との間に前記第１ブロックが選択された消去動作を実行し、前記第２期間に前記第１ブロックが選択された前記第２書き込み動作を実行する、
請求項２に記載のメモリシステム。
【請求項４】
前記メモリコントローラは、前記読み出し動作と前記第２書き込み動作とのそれぞれを前記ホスト機器の指示に依らずに自発的に実行する、
請求項２に記載のメモリシステム。
【請求項５】
前記メモリコントローラは、前記メモリセルトランジスタに１ビットデータを記憶させる第１書き込みモードと、前記メモリセルトランジスタに２ビットデータを記憶させる第２書き込みモードと、前記メモリセルトランジスタに３ビットデータを記憶させる第３書き込みモードと、前記メモリセルトランジスタに４ビットデータを記憶させる第４書き込みモードとのうち、少なくとも２つの書き込みモードを使用可能であり、
前記第１書き込み動作に、前記第１書き込みモード、前記第２書き込みモード、及び前記第３書き込みモードのいずれかを使用し、
前記第２書き込み動作に、前記第２書き込みモード、前記第３書き込みモード、及び前記第４書き込みモードのいずれかを使用する、
請求項２に記載のメモリシステム。
【請求項６】
前記複数のブロック毎の、前記第１ビット数の書き込みモードを使用した第１書き込み動作が実行された第１の回数と、前記第２ビット数の書き込みモードを使用した第２書き込み動作が実行された第２の回数と、を記憶するテーブルをさらに備え、
前記メモリコントローラは、前記テーブルに基づいてウェアレベリング制御を実行する、
請求項１に記載のメモリシステム。
【請求項７】
前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第１の回数が前記第２の回数よりも多くなるように制御する、
請求項６に記載のメモリシステム。
【請求項８】
前記第１ビット数は１ビットであり、前記第２ビット数は２ビットであり、
前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第１の回数と前記第２の回数の比率が略２：１になるように制御する、
請求項７に記載のメモリシステム。
【請求項９】
前記第１ビット数は１ビットであり、前記第２ビット数は３ビットであり、
前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第１の回数と前記第２の回数の比率が略３：１になるように制御する、
請求項７に記載のメモリシステム。
【請求項１０】
前記第１ビット数は１ビットであり、前記第２ビット数は２ビットであり、
前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第１の回数と前記第２の回数の比率が略４：１になるように制御する、
請求項７に記載のメモリシステム。
【請求項１１】
前記第１ビット数は２ビットであり、前記第２ビット数は３ビットであり、
前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第１の回数と前記第２の回数の比率が略３：２になるように制御する、
請求項７に記載のメモリシステム。
【請求項１２】
前記第１ビット数は２ビットであり、前記第２ビット数は３ビットであり、
前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第１の回数と前記第２の回数の比率が略３：２になるように制御する、
請求項７に記載のメモリシステム。
【請求項１３】
前記第１ビット数は３ビットであり、前記第２ビット数は４ビットであり、
前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第１の回数と前記第２の回数の比率が略４：３になるように制御する、
請求項７に記載のメモリシステム。
【請求項１４】
前記メモリセルトランジスタは、前記第２期間の後の第３期間において前記第２ビット数よりも多い第３ビット数のデータを記憶し、前記第３期間の後の第４期間において前記第３ビット数よりも多い第４ビット数のデータを記憶する
請求項１に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
データを不揮発に記憶することが可能なＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２０３４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メモリシステムにおけるシーケンシャル書き込みの動作速度の低下を抑制する。
【課題を解決するための手段】
【０００５】
実施形態のメモリシステムは、半導体記憶装置と、メモリコントローラとを含む。半導体記憶装置は、複数のメモリセルトランジスタを含むブロックを複数含む。メモリコントローラは、半導体記憶装置を制御する。複数のブロックは、第１ブロックを含む。第１ブロックに含まれたメモリセルトランジスタは、第１期間において第１ビット数のデータを記憶し、第１期間の後の第２期間において第１ビット数よりも多い第２ビット数のデータを記憶する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムのブロック図。
【図２】第１実施形態に係るメモリシステムの備える半導体記憶装置のブロック図。
【図３】第１実施形態に係るメモリシステムの備える半導体記憶装置に含まれたメモリセルアレイの回路図。
【図４】第１実施形態に係るメモリシステムにおけるメモリセルトランジスタの閾値電圧の分布の一例を示す閾値分布図。
【図５】第１実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
【図６】第１実施形態に係るメモリシステムの書き込み動作で使用される書き込みモードの組み合わせの一例を示すテーブル。
【図７】第１実施形態に係るメモリシステムのバッファ書き込み動作の一例を示すコマンドシーケンス及びタイミングチャート。
【図８】第１実施形態に係るメモリシステムのバッファ読み出し動作の一例を示すコマンドシーケンス及びタイミングチャート。
【図９】第１実施形態に係るメモリシステムのコンパクション書き込み動作の一例を示すコマンドシーケンス及びタイミングチャート。
【図１０】第１実施形態に係るメモリシステムにおける第１期間の書き込み動作の書き込み対象ブロックの一例を示す模式図。
【図１１】第１実施形態に係るメモリシステムにおける第２期間の書き込み動作の書き込み対象ブロックの一例を示す模式図。
【図１２】第１実施形態の比較例におけるメモリセルアレイのブロック構成を示すブロック図。
【図１３】第１実施形態の比較例におけるバッファ書き込み動作において書き込みデータの容量がバッファ容量を超えた場合の動作の一例を示す模式図。
【図１４】第２実施形態に係るメモリシステムのブロック図。
【図１５】第２実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
【図１６】第２実施形態に係るメモリシステムにおける書き込みモード毎のＷ／Ｅ回数の一例を示すテーブル。
【図１７】第２実施形態に変形例に係るメモリシステムにおける書き込みモード毎のＷ／Ｅ回数の一例を示すテーブル。
【図１８】第３実施形態に係るメモリシステムにおける書き込みモード毎の連続書き込み回数及びＷ／Ｅ回数の一例を示すテーブル。
【図１９】第１実施形態の変形例に係る半導体記憶装置のコンパクション書き込み動作におけるメモリセルトランジスタの閾値電圧の分布の一例を示す閾値分布図。
【発明を実施するための形態】
【０００７】
以下に、実施形態について図面を参照して説明する。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。図面は模式的又は概念的なものであり、各図面の寸法及び比率等は必ずしも現実のものと同一とは限らない。本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。“Ｈ”レベルとは、ｎチャネルＭＯＳトランジスタがオン状態になり、ｐチャネルＭＯＳトランジスタがオフ状態になる電圧のことを示している。“Ｌ”レベルとは、ｐチャネルＭＯＳトランジスタがオン状態になり、ｎチャネルＭＯＳトランジスタがオフ状態になる電圧のことを示している。
【０００８】
尚、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同様に、参照符号を構成する数字の後の文字は、同じ数字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同じ文字又は数字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素はそれぞれ文字又は数字のみを含んだ参照符号により参照される。
【０００９】
［１］第１実施形態
第１実施形態に係るメモリシステム１は、例えばＳＳＤ（Solid State Drive）であり、データを不揮発に保持することが出来る。以下に、第１実施形態に係るメモリシステム１について説明する。
【００１０】
［１−１］構成
［１−１−１］メモリシステム１の全体構成について
図１は、第１実施形態に係るメモリシステム１の構成例を示している。図１に示すように、第１実施形態に係るメモリシステム１は、外部のホスト機器２に接続され、ホスト機器２からの命令に応じて各種動作を実行し得る。また、第１実施形態に係るメモリシステム１は、例えば半導体記憶装置１０Ａ及び１０Ｂ、ＤＲＡＭ（Dynamic Random Access Memory）２０、並びにメモリコントローラ３０を含んでいる。
【００１１】
半導体記憶装置１０Ａ及び１０Ｂのそれぞれは、データを不揮発に記憶するＮＡＮＤ型フラッシュメモリである。メモリシステム１に含まれる半導体記憶装置１０の個数は、任意の個数に設計され得る。半導体記憶装置１０の詳細な構成については後述する。
【００１２】
ＤＲＡＭ２０は、メモリコントローラ３０の記憶領域として使用される揮発性メモリである。ＤＲＡＭ２０は、例えばホスト機器２から受信した書き込みデータを一時的に記憶する。ＤＲＡＭ２０は、メモリコントローラ３０やホスト機器２等に内蔵されても良い。
【００１３】
メモリコントローラ３０は、例えばＳｏＣ（System on Chip）であり、ホスト機器２からの命令に応答して半導体記憶装置１０Ａ及び１０Ｂのそれぞれに対して読み出し、書き込み、及び消去等を命令する。また、メモリコントローラ３０は、例えばＣＰＵ（Central Processing Unit）３１、ＲＡＭ（Random Access Memory）３２、ホストインターフェイス回路３３、ＥＣＣ（Error Correction Code）回路３４、ＮＡＮＤインターフェイス回路３５、及びＤＲＡＭインターフェイス回路３６を含んでいる。
【００１４】
ＣＰＵ３１は、メモリコントローラ３０全体の動作を制御する。ＣＰＵ３１は、例えばホスト機器２から受信した書き込み命令に応答して、書き込みコマンドを発行する。また、ＣＰＵ３１は、例えばウェアレベリング等、半導体記憶装置１０のメモリ空間を管理するための様々な処理を実行する。
【００１５】
ＲＡＭ３２は、例えばＳＲＡＭ（Static Random Access Memory)等の揮発性メモリである。ＲＡＭ３２は、ＣＰＵ３１の作業領域として使用され、例えば半導体記憶装置１０を管理するためのファームウェアや各種管理テーブル等を保持する。
【００１６】
ホストインターフェイス回路３３は、ホストバスを介してホスト機器２と接続され、メモリコントローラ３０及びホスト機器２間のデータ、コマンド、及びアドレスの転送を制御する。ホストインターフェイス回路３３は、例えばＳＡＴＡ（Serial Advanced Technology Attachment）、ＳＡＳ（Serial Attached SCSI）、ＰＣＩｅ（PCI Express）（登録商標）等の通信インターフェイス規格をサポートし得る。
【００１７】
ＥＣＣ回路３４は、データのエラー訂正処理を実行する。書き込み動作時においてＥＣＣ回路３４は、ホスト機器２から受信した書き込みデータに基づいてパリティを生成し、生成したパリティを書き込みデータに付与する。読み出し動作時においてＥＣＣ回路３４は、半導体記憶装置１０から受信した読み出しデータに基づいてシンドロームを生成し、生成したシンドロームに基づいて読み出しデータのエラーを検出及び訂正する。
【００１８】
ＮＡＮＤインターフェイス回路３５は、メモリコントローラ３０及び半導体記憶装置１０間におけるデータ、コマンド、及びアドレスの転送を制御し、半導体記憶装置１０Ａ及び１０Ｂを独立に制御し得る。ＮＡＮＤインターフェイス回路３５は、ＮＡＮＤインターフェイス規格をサポートしている。
【００１９】
ＤＲＡＭインターフェイス回路３６は、ＤＲＡＭ２０に接続され、メモリコントローラ３０とＤＲＡＭ２０との間の通信を司る。ＤＲＡＭインターフェイス回路３６は、ＤＲＡＭインターフェイス規格をサポートしている。
【００２０】
［１−１−２］半導体記憶装置１０の構成について
図２は、第１実施形態に係るメモリシステム１の備える半導体記憶装置１０の構成例を示している。図２に示すように、半導体記憶装置１０は、例えば入出力回路１１、レジスタセット１２、ロジックコントローラ１３、シーケンサ１４、レディ／ビジー制御回路１５、電圧生成回路１６、メモリセルアレイ１７、ロウデコーダモジュール１８、及びセンスアンプモジュール１９を含んでいる。
【００２１】
入出力回路１１は、例えば８ビット幅の入出力信号Ｉ／Ｏ１〜Ｉ／Ｏ８を、メモリコントローラ３０との間で送受信する。入出力信号Ｉ／Ｏは、データＤＡＴ、ステータス情報ＳＴＳ、アドレス情報ＡＤＤ、コマンドＣＭＤ等を含み得る。また、入出力回路１１は、センスアンプモジュール１９との間でデータＤＡＴを送受信する。
【００２２】
レジスタセット１２は、ステータスレジスタ１２Ａ、アドレスレジスタ１２Ｂ、及びコマンドレジスタ１２Ｃを含んでいる。ステータスレジスタ１２Ａ、アドレスレジスタ１２Ｂ、及びコマンドレジスタ１２Ｃは、それぞれステータス情報ＳＴＳ、アドレス情報ＡＤＤ、及びコマンドＣＭＤを保持する。
【００２３】
ステータス情報ＳＴＳは、例えばシーケンサ１４の動作状態に基づいて更新される。また、ステータス情報ＳＴＳは、メモリコントローラ３０からの指示に基づいてステータスレジスタ１２Ａから入出力回路１１に転送され、メモリコントローラ３０に出力される。アドレス情報ＡＤＤは、入出力回路１１からアドレスレジスタ１２Ｂに転送され、例えばブロックアドレス、ページアドレス、カラムアドレス等を含み得る。コマンドＣＭＤは、入出力回路１１からコマンドレジスタ１２Ｃに転送され、半導体記憶装置１０の各種動作に関する命令を含んでいる。
【００２４】
ロジックコントローラ１３は、メモリコントローラ３０から受信した制御信号に基づいて、入出力回路１１及びシーケンサ１４のそれぞれを制御する。このような制御信号としては、例えばチップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ、及びライトプロテクト信号ＷＰｎが使用される。
【００２５】
チップイネーブル信号ＣＥｎは、半導体記憶装置１０をイネーブルにするための信号である。コマンドラッチイネーブル信号ＣＬＥは、受け取った入出力信号Ｉ／ＯがコマンドＣＭＤであることを入出力回路１１に通知するための信号である。アドレスラッチイネーブル信号ＡＬＥは、受け取った入出力信号Ｉ／Ｏがアドレス情報ＡＤＤであることを入出力回路１１に通知するための信号である。ライトイネーブル信号ＷＥｎは、入出力信号Ｉ／Ｏの入力を入出力回路１１に命令するための信号である。リードイネーブル信号ＲＥｎは、入出力信号Ｉ／Ｏの出力を入出力回路１１に命令するための信号である。ライトプロテクト信号ＷＰｎは、電源のオンオフ時に半導体記憶装置１０を保護状態にするための信号である。
【００２６】
シーケンサ１４は、半導体記憶装置１０全体の動作を制御する。例えば、シーケンサ１４は、コマンドレジスタ１２Ｃに保持されたコマンドＣＭＤと、アドレスレジスタ１２Ｂに保持されたアドレス情報ＡＤＤとに基づいて、読み出し動作、書き込み動作、消去動作等を実行する。
【００２７】
レディ／ビジー制御回路１５は、シーケンサ１４の動作状態に基づいて、レディ／ビジー信号ＲＢｎを生成する。レディ／ビジー信号ＲＢｎは、半導体記憶装置１０がレディ状態であるかビジー状態であるかを、メモリコントローラ３０に通知するための信号である。尚、本明細書において“レディ状態”は、半導体記憶装置１０がメモリコントローラからの命令を受け付ける状態であることを示し、“ビジー状態”は、半導体記憶装置１０がメモリコントローラからの命令を受け付けない状態であることを示している。
【００２８】
電圧生成回路１６は、読み出し動作、書き込み動作、消去動作等で使用される電圧を生成する。そして、電圧生成回路１６は、生成した電圧をメモリセルアレイ１７、ロウデコーダモジュール１８、及びセンスアンプモジュール１９に供給する。
【００２９】
メモリセルアレイ１７は、複数のブロックＢＬＫ０〜ＢＬＫｎ（ｎは１以上の整数）を含んでいる。ブロックＢＬＫは、データを不揮発に記憶することが可能な複数のメモリセルトランジスタの集合であり、例えばデータの消去単位として使用される。また、メモリセルアレイ１７には、複数のビット線ＢＬ０〜ＢＬｍ（ｍは１以上の整数）と、複数のワード線ＷＬと、ソース線ＣＥＬＳＲＣと、ウェル線とが設けられる。例えば、ソース線ＣＥＬＳＲＣには、電圧生成回路１６によって電圧が印加される。各メモリセルトランジスタは、１本のビット線ＢＬと１本のワード線ＷＬとに関連付けられている。メモリセルアレイ１７の詳細な回路構成については後述する。
【００３０】
ロウデコーダモジュール１８は、ブロックアドレスに基づいて、各種動作を実行するブロックＢＬＫを選択する。そして、ロウデコーダモジュール１８は、電圧生成回路１６から供給された電圧を、選択したブロックＢＬＫ内の各種配線に転送する。また、ロウデコーダモジュール１８は、例えば複数のロウデコーダＲＤ０〜ＲＤｎを含んでいる。ロウデコーダＲＤ０〜ＲＤｎは、それぞれブロックＢＬＫ０〜ＢＬＫｎに関連付けられている。
【００３１】
センスアンプモジュール１９は、読み出し動作において、メモリセルアレイ１７からデータを読み出し、読み出したデータを入出力回路１１に転送する。また、センスアンプモジュール１９は、書き込み動作において、入出力回路１１から受け取ったデータに基づいて、ビット線ＢＬに所望の電圧を印加する。例えば、センスアンプモジュール１９は、複数のセンスアンプユニットＳＡＵ０〜ＳＡＵｍを含んでいる。センスアンプユニットＳＡＵ０〜ＳＡＵｍは、それぞれビット線ＢＬ０〜ＢＬｍに関連付けられている。
【００３２】
センスアンプユニットＳＡＵは、例えばセンスアンプ部ＳＡ、並びにラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ及びＸＤＬを含んでいる。センスアンプ部ＳＡは、例えば読み出し動作において、対応するビット線ＢＬの電圧に基づいて、読み出しデータが“０”であるか“１”であるかを判定する。言い換えると、センスアンプ部ＳＡは、対応するビット線ＢＬに読み出されたデータをセンスして、選択されたメモリセルの記憶するデータを判定する。ラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ及びＸＤＬのそれぞれは、読み出しデータや書き込みデータ等を一時的に保持する。ラッチ回路ＸＤＬは、センスアンプユニットＳＡＵと入出力回路１１との間のデータＤＡＴの送受信に使用され得る。
【００３３】
［１−１−３］メモリセルアレイ１７の回路構成について
図３は、第１実施形態に係るメモリシステムの備える半導体記憶装置１０に含まれたメモリセルアレイ１７の回路構成の一例であり、１つのブロックＢＬＫを抽出して示している。図３に示すように、ブロックＢＬＫは、例えば４つのストリングユニットＳＵ０〜ＳＵ３を含んでいる。
【００３４】
各ストリングユニットＳＵは、ビット線ＢＬ０〜ＢＬｍにそれぞれ関連付けられた複数のＮＡＮＤストリングＮＳを含んでいる。ＮＡＮＤストリングＮＳは、例えばメモリセルトランジスタＭＴ０〜ＭＴ７、並びに選択トランジスタＳＴ１及びＳＴ２を含んでいる。
【００３５】
メモリセルトランジスタＭＴは、制御ゲート及び電荷蓄積層を含み、データを不揮発に記憶する。選択トランジスタＳＴ１及びＳＴ２のそれぞれは、各種動作時におけるストリングユニットＳＵの選択に使用される。
【００３６】
各ＮＡＮＤストリングＮＳにおいて、メモリセルトランジスタＭＴ０〜ＭＴ７は、直列接続される。直列接続されたメモリセルトランジスタＭＴ０〜ＭＴ７の一端と、関連付けられたビット線ＢＬとの間には、選択トランジスタＳＴ１が接続される。直列接続されたメモリセルトランジスタＭＴ０〜ＭＴ７の他端には、選択トランジスタＳＴ２のドレインが接続される。選択トランジスタＳＴ２のソースには、ソース線ＣＥＬＳＲＣ及びウェル線ＣＰＷＥＬＬ（図示せず）のそれぞれが接続される。
【００３７】
同一のブロックＢＬＫにおいて、ストリングユニットＳＵ０〜ＳＵ３に含まれた複数の選択トランジスタＳＴ１のそれぞれのゲートは、それぞれ選択ゲート線ＳＧＤ０〜ＳＧＤ３に共通接続される。複数のメモリセルトランジスタＭＴ０〜ＭＴ７のそれぞれの制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続される。複数の選択トランジスタＳＴ２のそれぞれのゲートは、それぞれ選択ゲート線ＳＧＳ０〜ＳＧＳ３に共通接続される。
【００３８】
ビット線ＢＬ０〜ＢＬｍは、複数のブロックＢＬＫ間で共有される。同じカラムアドレスに対応するＮＡＮＤストリングＮＳには、同じビット線ＢＬが接続される。ワード線ＷＬ０〜ＷＬ７のそれぞれは、ブロックＢＬＫ毎に設けられる。ソース線ＣＥＬＳＲＣ及びウェル線ＣＰＷＥＬＬ（図示せず）のそれぞれは、例えば複数のブロックＢＬＫ間で共有される。
【００３９】
１つのストリングユニットＳＵ内で共通のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴの集合は、例えばセルユニットＣＵと称される。例えば、それぞれが１ビットデータを記憶するメモリセルトランジスタＭＴを含むセルユニットＣＵの記憶容量が、「１ページデータ」として定義される。セルユニットＣＵは、メモリセルトランジスタＭＴが記憶するデータのビット数に応じて２ページデータ以上の記憶容量を有し得る。
【００４０】
尚、以上で説明したメモリセルアレイ１７の回路構成はあくまで一例であり、これに限定されない。例えば、各ブロックＢＬＫが含むストリングユニットＳＵの個数は、任意の個数に設計され得る。各ＮＡＮＤストリングＮＳが含むメモリセルトランジスタＭＴ並びに選択トランジスタＳＴ１及びＳＴ２のそれぞれの個数は、それぞれ任意の個数に設計され得る。
【００４１】
［１−１−４］データの記憶方式について
第１実施形態に係るメモリシステム１は、複数種類の書き込みモードを使用することが出来る。例えば、第１実施形態に係るメモリシステム１は、ＳＬＣ（Single-Level Cell）モード、ＭＬＣ（Multi-Level Cell）モード、ＴＬＣ（Triple-Level Cell）モード、ＱＬＣ（Quadruple-Level Cell）モードのうち、少なくとも２つの書き込みモードを使用する。ＳＬＣモード、ＭＬＣモード、ＴＬＣモード、及びＱＬＣモードは、１つのメモリセルトランジスタＭＴに対して、それぞれ１ビットデータ、２ビットデータ、３ビットデータ、及び４ビットデータを記憶させる書き込みモードである。
【００４２】
図４は、第１実施形態に係るメモリシステム１におけるメモリセルトランジスタＭＴの閾値電圧の分布の一例であり、ＳＬＣモード、ＭＬＣモード、ＴＬＣモード、及びＱＬＣモードがそれぞれ使用された４種類の閾値分布及び読み出し電圧のグループを示している。尚、図４に示された閾値分布において、縦軸はメモリセルトランジスタＭＴの個数ＮＭＴｓに対応し、横軸はメモリセルトランジスタＭＴの閾値電圧Ｖthに対応している。図４に示すように、複数のメモリセルトランジスタＭＴは、適用される書き込みモード、すなわち記憶するデータのビット数に応じて複数の閾値分布を形成する。
【００４３】
ＳＬＣモード（１bit/cell）が使用された場合、複数のメモリセルトランジスタＭＴの閾値電圧は２個の閾値分布を形成する。この２個の閾値分布は、例えば閾値電圧の低い方から順に、それぞれ“ＥＲ”状態、“Ａ”状態と称される。ＳＬＣモードにおいて、“ＥＲ”状態、及び“Ａ”状態のそれぞれの閾値分布には、それぞれ互いに異なる１ビットデータが割り当てられる。
【００４４】
ＭＬＣモード（２bit/cell）が使用された場合、複数のメモリセルトランジスタＭＴの閾値電圧は４個の閾値分布を形成する。この４個の閾値分布は、例えば閾値電圧の低い方から順に、それぞれ“ＥＲ”状態、“Ａ”状態、“Ｂ”状態、“Ｃ”状態と称される。ＭＬＣモードにおいて、“ＥＲ”状態〜“Ｃ”状態のそれぞれの閾値分布には、それぞれ互いに異なる２ビットデータが割り当てられる。
【００４５】
ＴＬＣモード（３bit/cell）が使用された場合、複数のメモリセルトランジスタＭＴの閾値電圧は８個の閾値分布を形成する。この８個の閾値分布は、例えば閾値電圧の低い方から順に、それぞれ“ＥＲ”状態、“Ａ”状態、“Ｂ”状態、“Ｃ”状態、“Ｄ”状態、“Ｅ”状態、“Ｆ”状態、“Ｇ”状態と称される。ＴＬＣ方式において、“ＥＲ”状態〜“Ｇ”状態のそれぞれの閾値分布には、それぞれ互いに異なる３ビットデータが割り当てられる。
【００４６】
ＱＬＣモード（４bit/cell）が使用された場合、複数のメモリセルトランジスタＭＴの閾値電圧は１６個の閾値分布を形成する。この１６個の閾値分布は、例えば閾値電圧の低い方から順に、それぞれ“ＥＲ”状態、“Ａ”状態、“Ｂ”状態、“Ｃ”状態、“Ｄ”状態、“Ｅ”状態、“Ｆ”状態、“Ｇ”状態、“Ｈ”状態、“Ｉ”状態、“Ｊ”状態、“Ｋ”状態、“Ｌ”状態、“Ｍ”状態、“Ｎ”状態、“Ｏ”状態と称される。ＴＬＣ方式において、“ＥＲ”状態〜“Ｏ”状態のそれぞれの閾値分布には、それぞれ互いに異なる４ビットデータが割り当てられる。
【００４７】
各書き込みモードにおいて、隣り合う閾値分布の間にそれぞれ読み出し電圧が設定される。具体的には、“ＥＲ”状態における最大の閾値電圧と“Ａ”状態における最小の閾値電圧との間に、読み出し電圧ＡＲが設定される。同様に、“Ａ”状態及び“Ｂ”状態間に読み出し電圧ＢＲが設定され、“Ｂ”状態及び“Ｃ”状態間に読み出し電圧ＣＲが設定され、“Ｃ”状態及び“Ｄ”状態間に読み出し電圧ＤＲが設定され、“Ｄ”状態及び“Ｅ”状態間に読み出し電圧ＥＲが設定され、“Ｅ”状態及び“Ｆ”状態間に読み出し電圧ＦＲが設定され、“Ｆ”状態及び“Ｇ”状態間に読み出し電圧ＧＲが設定され、“Ｇ”状態及び“Ｈ”状態間に読み出し電圧ＨＲが設定され、“Ｈ”状態及び“Ｉ”状態間に読み出し電圧ＩＲが設定され、“Ｉ”状態及び“Ｊ”状態間に読み出し電圧ＪＲが設定され、“Ｊ”状態及び“Ｋ”状態間に読み出し電圧ＫＲが設定され、“Ｋ”状態及び“Ｌ”状態間に読み出し電圧ＬＲが設定され、“Ｌ”状態及び“Ｍ”状態間に読み出し電圧ＭＲが設定され、“Ｍ”状態及び“Ｎ”状態間に読み出し電圧ＮＲが設定され、“Ｎ”状態及び“Ｏ”状態間に読み出し電圧ＯＲが設定される。
【００４８】
各書き込みモードにおいて、最も高い閾値分布における最大の閾値電圧よりも高い電圧に、読み出しパス電圧Ｖreadが設定される。読み出しパス電圧Ｖreadがゲートに印加されたメモリセルトランジスタＭＴは、記憶するデータに依らずにオン状態になる。
【００４９】
また、各書き込みモードにおいて、隣り合う閾値分布の間には、それぞれベリファイ電圧が設定される。具体的には、書き込み動作において、“Ａ”状態、“Ｂ”状態、“Ｃ”状態、“Ｄ”状態、“Ｅ”状態、“Ｆ”状態、“Ｇ”状態、“Ｈ”状態、“Ｉ”状態、“Ｊ”状態、“Ｋ”状態、“Ｌ”状態、“Ｍ”状態、“Ｎ”状態及び“Ｏ”状態のそれぞれのベリファイ動作には、それぞれベリファイ電圧ＡＶ、ＢＶ、ＣＶ、ＤＶ、ＥＶ、ＦＶ、ＧＶ、ＨＶ、ＩＶ、ＪＶ、ＫＶ、ＬＶ、ＭＶ、ＮＶ及びＯＶが使用される。例えば、ベリファイ電圧ＡＶ〜ＯＶは、それぞれ読み出し電圧ＡＲ〜ＯＲよりも高い電圧に設定される。
【００５０】
尚、以上で説明した１つのメモリセルトランジスタＭＴが記憶するデータのビット数は一例であり、これに限定されない。例えば、メモリセルトランジスタＭＴには、５ビットデータ以上のデータが記憶されても良い。また、読み出し電圧、読み出しパス電圧、ベリファイ電圧のそれぞれは、各書き込みモードで同じ電圧値に設定されても良いし、異なる電圧値に設定されても良い。
【００５１】
［１−２］動作
次に、第１実施形態に係るメモリシステム１の動作について説明する。尚、以下の説明では、選択されたワード線ＷＬのことを選択ワード線ＷＬselと称する。電圧生成回路１６がワード線ＷＬに電圧を印加することは、電圧生成回路１６が信号線ＣＧ及びロウデコーダモジュール１８を介してワード線ＷＬに電圧を印加することに対応している。半導体記憶装置１０が受信したアドレス情報ＡＤＤは、アドレスレジスタ１２Ｂに転送されるものとする。半導体記憶装置１０が受信したコマンドＣＭＤは、コマンドレジスタ１２Ｃに転送されるものとする。
【００５２】
［１−２−１］書き込み動作の概要について
まず、第１実施形態に係るメモリシステム１における書き込み動作の概要について説明する。第１実施形態に係るメモリシステム１は、ホスト機器２から受信した書き込みデータに対応して、少なくとも２回の書き込み動作を実行する。図５は、第１実施形態に係るメモリシステム１の書き込み動作におけるフローの一例を示している。
【００５３】
図５に示すように、まずメモリシステム１は、ホスト機器２から書き込み動作の命令と書き込みデータとを受信する（ステップＳ１０）。すると、メモリシステム１は、受信した書き込みデータのバッファ書き込み動作を実行する（ステップＳ１１）。バッファ書き込み動作は、半導体記憶装置１０に一時的にデータを記憶させる高速な書き込み動作である。
【００５４】
ステップＳ１１の処理が完了した後にホスト機器２からの命令に基づくタスクが終了すると、メモリシステム１はアイドル状態に遷移する（ステップＳ１２）。メモリシステム１は、バッファ書き込み動作の後にアイドル状態に遷移すると、ホスト機器２からの命令に依らずにコンパクション動作を実行する（ステップＳ１３）。コンパクション動作は、バッファ読み出し動作と、コンパクション書き込み動作とを含んでいる。バッファ読み出し動作は、バッファ書き込み動作によって書き込まれたデータを読み出す動作である。コンパクション書き込み動作は、バッファ読み出し動作によって読み出されたデータを、バッファ書き込み動作に適用された書き込みモードよりも記憶ビット数が多い書き込みモードを使用して半導体記憶装置１０に書き込む動作である。
【００５５】
尚、図５では、メモリシステム１がアイドル状態に遷移したことに基づいてコンパクション動作に移行する場合について例示したが、これに限定されない。例えば、メモリシステム１は、バッファ書き込み動作から続けてコンパクション動作に移行しても良い。
【００５６】
図６は、第１実施形態に係るメモリシステム１の書き込み動作で使用される書き込みモードの組み合わせの一例であり、メモリシステム１が２種類の書き込みモードを使用する場合について示している。
【００５７】
図６に示すように、バッファ書き込み動作にＳＬＣモードが使用される場合、コンパクション動作には例えばＭＬＣモード、ＴＬＣモード、又はＱＬＣモードが使用される。バッファ書き込み動作にＭＬＣモードが使用される場合、コンパクション動作には例えばＴＬＣモード又はＱＬＣモードが使用される。バッファ書き込み動作にＴＬＣモードが使用される場合、コンパクション動作には例えばＱＬＣモードが使用される。
【００５８】
尚、メモリシステム１は、書き込み動作において３種類以上の書き込みモードを使用しても良い。この場合にメモリシステム１は、複数回のコンパクション動作を実行する。具体的には、３種類の書き込みモードが使用され且つバッファ書き込み動作にＳＬＣモードが使用される場合、コンパクション動作には、ＭＬＣモード及びＴＬＣモードが順に使用される、ＭＬＣモード及びＱＬＣモードが順に使用される、又はＴＬＣモード及びＱＬＣモードが順に使用される。３種類の書き込みモードが使用され且つバッファ書き込み動作にＭＬＣモードが使用される場合、コンパクション動作には、ＴＬＣモード及びＱＬＣモードが順に使用される。４種類の書き込みモードが使用される場合、コンパクション動作には、ＭＬＣモード、ＴＬＣモード、及びＱＬＣモードが順に使用される。
【００５９】
以下に、バッファ書き込み動作にＳＬＣモードが使用され且つコンパクション動作にＭＬＣモードが使用される場合における、バッファ書き込み動作及びコンパクション動作のそれぞれのコマンドシーケンス及びタイミングチャートの具体例について順に説明する。
【００６０】
（バッファ書き込み動作）
図７は、第１実施形態に係るメモリシステム１におけるＳＬＣモードのバッファ書き込み動作におけるコマンドシーケンス及びタイミングチャートの一例を示している。尚、以下で参照される同様の図面において、各動作前におけるレディ／ビジー信号ＲＢｎは“Ｈ”レベルであり、選択ワード線ＷＬselの電圧はＶssであるものとする。尚、選択ワード線ＷＬselの電圧の初期値はＶssに限定されず、任意の電圧値に設定され得る。
【００６１】
図７に示すように、ＳＬＣモードのバッファ書き込み動作において、メモリコントローラ３０は、例えばコマンド“ＸＸｈ”、コマンド“８０ｈ”、アドレス情報“ＡＤＤ”、書き込みデータ“Ｄin”、及びコマンド“１０ｈ”を順に半導体記憶装置１０に送信する。コマンド“ＸＸｈ”は、ＳＬＣモードの動作を指示するコマンドである。コマンド“８０ｈ”は、書き込み動作を指示するコマンドである。書き込みデータ“Ｄin”は、センスアンプモジュール１９内のセンスアンプユニットＳＡＵのラッチ回路ＸＤＬに転送される。コマンド“１０ｈ”は、書き込み動作の実行を指示するコマンドである。
【００６２】
半導体記憶装置１０は、コマンド“１０ｈ”を受信すると、レディ状態からビジー状態に遷移する。すると、シーケンサ１４は、コマンドレジスタ１２Ｃに保持されたコマンドとセンスアンプモジュール１９に保持されたデータとに基づいて、ＳＬＣモードの書き込み動作を実行する。
【００６３】
書き込み動作においてシーケンサ１４は、プログラムループを繰り返し実行する。各プログラムループは、プログラム動作及びベリファイ動作を含んでいる。ここで、初回のプログラムループにおける選択ワード線ＷＬselの電圧を参照して、プログラム動作及びベリファイ動作について説明する。
【００６４】
プログラム動作は、メモリセルトランジスタＭＴの閾値電圧を上昇させる動作である。プログラム動作において、各センスアンプユニットＳＡＵは、内部のラッチ回路に保持されたデータに基づいて、対応するビット線ＢＬを書き込み対象又は書き込み禁止に設定する。そして、プログラム動作において選択ワード線ＷＬselには、プログラム電圧Ｖpgmが印加される。プログラム電圧Ｖpgmは、メモリセルトランジスタＭＴの閾値電圧を上昇させることが可能な高電圧である。
【００６５】
選択ワード線ＷＬselにプログラム電圧Ｖpgmが印加されると、選択ワード線ＷＬselに接続され且つ書き込み対象のビット線ＢＬに接続されたメモリセルトランジスタＭＴの閾値電圧が上昇する。一方で、選択ワード線ＷＬselに接続され且つ書き込み禁止のビット線ＢＬに接続されたメモリセルトランジスタＭＴの閾値電圧は、セルフブーストによって上昇が抑制される。これらの一連の動作がプログラム動作に対応している。シーケンサ１４は、プログラム動作が終了すると、ベリファイ動作に移行する。
【００６６】
ベリファイ動作は、メモリセルトランジスタＭＴが所望の閾値電圧に達したかどうかを判定する読み出し動作である。ベリファイ動作では、各センスアンプユニットＳＡＵが保持する書き込みデータに基づいて、センスアンプユニットＳＡＵ毎にベリファイされる書き込みレベルが設定される。ＳＬＣモードの書き込み動作では、ベリファイ電圧ＡＶを用いた読み出し動作が実行される。
【００６７】
具体的には、選択ワード線ＷＬselにベリファイ電圧ＡＶが印加されると、各センスアンプユニットＳＡＵは、対応するビット線ＢＬの電圧に基づいて、選択ワード線ＷＬselに接続されたメモリセルトランジスタＭＴの閾値電圧がベリファイ電圧ＡＶを超えているかどうかを判定する。そして、センスアンプユニットＳＡＵは、判定結果を内部のいずれかのラッチ回路に保持する。例えば、シーケンサ１４は、“Ａ”状態のデータが書き込まれるメモリセルトランジスタＭＴの閾値電圧が、ベリファイ電圧ＡＶを超えていた場合にベリファイにパスしたと判定し、ベリファイ電圧ＡＶ以下である場合にベリファイにフェイルしたと判定する。これらの判定が終了すると、シーケンサ１４はベリファイ動作を終了する。
【００６８】
以上で説明したプログラム動作及びベリファイ動作の組が、１回のプログラムループに対応している。続くプログラムループにおけるプログラム動作では、プログラム電圧Ｖpgmがステップアップされる。プログラム電圧Ｖpgmのステップアップ量ＤＶpgmは、任意の値に設定され得る。そして、シーケンサ１４は、プログラムループの繰り返しにおいて“Ａ”状態のベリファイ動作にパスしていないメモリセルトランジスタＭＴの数が所定の数を下回ったことを検知すると、半導体記憶装置１０をビジー状態からレディ状態に遷移させて、ＳＬＣモードの書き込み動作を終了する。
【００６９】
ＳＬＣモードの書き込み動作が終了すると、選択ワード線ＷＬselに接続されたセルユニットＣＵには１ページデータが書き込まれる。図示されたｔProg(SLC)は、ＳＬＣモードの書き込み動作が実行された時間に対応している。そして、コンパクション動作にＭＬＣモードが使用される場合のバッファ書き込み動作では、以上で説明したＳＬＣモードの書き込み動作が、異なるアドレスを指定して少なくとも２回実行される。
【００７０】
（コンパクション動作）
次に、コンパクション動作におけるバッファ読み出し動作及びコンパクション書き込み動作のそれぞれの一例について順に説明する。図８は、第１実施形態に係るメモリシステム１におけるＳＬＣモードのバッファ読み出し動作におけるコマンドシーケンス及びタイミングチャートの一例を示している。
【００７１】
図８に示すように、ＳＬＣモードのバッファ読み出し動作において、メモリコントローラ３０は、例えばコマンド“ＸＸｈ”、コマンド“００ｈ”、アドレス情報“ＡＤＤ”、及びコマンド“３０ｈ”を順に半導体記憶装置１０に送信する。コマンド“００ｈ”は、読み出し動作を指示するコマンドである。アドレス情報“ＡＤＤ”は、バッファ書き込み動作が実行されたアドレスである。コマンド“３０ｈ”は、読み出し動作の実行を指示するコマンドである。
【００７２】
半導体記憶装置１０は、コマンド“３０ｈ”を受信すると、レディ状態からビジー状態に遷移して、ＳＬＣモードの読み出し動作を実行する。ＳＬＣモードの読み出し動作では、選択ワード線ＷＬselに読み出し電圧ＡＲが印加され、読み出し電圧ＡＲが印加されることで、センスアンプモジュール１９内にデータが読み出され、読み出しデータが確定する。
【００７３】
読み出しデータが確定すると、シーケンサ１４は、半導体記憶装置１０をビジー状態からレディ状態に遷移させる。図示されたｔRead(SLC)は、ＳＬＣモードの読み出し動作が実行された時間に対応している。メモリコントローラ３０は、読み出し動作の実行を指示した後に、半導体記憶装置１０がビジー状態からレディ状態に遷移したことを検知すると、半導体記憶装置１０に対してセンスアンプモジュール１９に保持された読み出しデータを出力させる（図８、“Ｄout”）。
【００７４】
メモリコントローラ３０は、半導体記憶装置１０から読み出しデータを受信すると、ＥＣＣ回路３４を用いてエラー訂正処理を実行する。そして、メモリコントローラ３０は、エラー訂正された読み出しデータを例えばＤＲＡＭ２０に保持させる。尚、この読み出しデータは、メモリコントローラ３０内に保持されても良い。
【００７５】
以上で説明したＳＬＣモードのバッファ読み出し動作は、コンパクション動作にＭＬＣモードが使用される場合、２回続けて実行される。連続で実行される１ページ目の読み出し動作と、２ページ目の読み出し動作とでは、メモリコントローラ３０が指定するアドレス情報ＡＤＤが異なる。
【００７６】
次に、コンパクション書き込み動作の詳細について説明する。メモリコントローラ３０は、バッファ読み出し動作によって２ページ分の読み出しデータを得ると、コンパクション書き込み動作を実行する。図９は、第１実施形態に係るメモリシステム１におけるＭＬＣモードのコンパクション書き込み動作におけるコマンドシーケンス及びタイミングチャートの一例を示している。
【００７７】
図９に示すように、ＭＬＣモードのコンパクション書き込み動作において、まずメモリコントローラ３０は、コマンド“ＹＹｈ”、コマンド“８０ｈ”、アドレス情報“ＡＤＤ”、下位ページの書き込みデータ“Ｄin”、コマンド“１Ａｈ”を順に半導体記憶装置１０に送信する。コマンド“ＹＹｈ”は、下位ページに対応する動作を指示するコマンドである。１ページ目のアドレス情報“ＡＤＤ”は、対応するバッファ読み出し動作におけるアドレスとは異なっている。コマンド“１Ａｈ”は、センスアンプモジュール１９に保持されたデータのラッチ間の転送を指示するコマンドである。半導体記憶装置１０は、コマンド“１Ａｈ”を受信すると、一時的にレディ状態からビジー状態に遷移して、ラッチ回路ＸＤＬに保持された下位ページの書き込みデータをその他のラッチ回路に転送させる。
【００７８】
続けてメモリコントローラ３０は、コマンド“ＺＺｈ”、コマンド“８０ｈ”、アドレス情報“ＡＤＤ”、上位ページの書き込みデータ“Ｄin”、コマンド“１０ｈ”を順に半導体記憶装置１０に送信する。コマンド“ＺＺｈ”は、上位ページに対応する動作を指示するコマンドである。２ページ目のアドレス情報“ＡＤＤ”は、例えば１ページ目のアドレス情報“ＡＤＤ”と同じアドレスを含む。半導体記憶装置１０は、コマンド“１０ｈ”を受信すると、レディ状態からビジー状態に遷移して、コマンドレジスタ１２Ｃに保持されたコマンドとセンスアンプモジュール１９に保持された２ページデータに基づいて、ＭＬＣモードの書き込み動作を実行する。
【００７９】
ＭＬＣモードの書き込み動作では、複数の書き込みレベルが設定され、ＳＬＣモードの書き込み動作と同様のプログラムループが実行される。そして、ＭＬＣモードの書き込み動作におけるベリファイ動作では、複数種類のベリファイ電圧が印加され得る。また、ベリファイ動作において印加されるベリファイ電圧の種類及び数は、プログラムループの進行に応じて適宜変更され得る。図９に示された一例では、シーケンサ１４が、１回目及び２回目のプログラムループにおけるベリファイ動作で“Ａ”状態のベリファイ動作を実行し、３回目及び４回目のプログラムループにおけるベリファイ動作で“Ａ”状態及び“Ｂ”状態のそれぞれのベリファイ動作を実行している。
【００８０】
シーケンサ１４は、各プログラムループにおいて、例えばある閾値レベルに書き込むメモリセルトランジスタＭＴのうち、当該閾値レベルのベリファイにパスしていないメモリセルトランジスタＭＴの数が所定の数を下回ったことを検知すると、当該閾値レベルのベリファイにパス、すなわち当該閾値レベルに対応するデータの書き込みが完了したものとみなす。シーケンサ１４は、プログラムループの繰り返しにより、例えば全ての閾値レベルのベリファイにパスしたことを検知すると、ＭＬＣモードの書き込み動作を終了する。
【００８１】
ＭＬＣモードの書き込み動作が終了すると、選択ワード線ＷＬselに接続されたセルユニットＣＵには２ページデータが書き込まれる。図示されたｔProg(MLC)は、ＭＬＣモードの書き込み動作が実行された時間に対応している。ｔProg(MLC)の長さは、ｔProg(SLC)よりも長い。
【００８２】
以上で説明したコンパクション動作、すなわちバッファ読み出し動作とコンパクション書き込み動作の組が実行されると、２つのセルユニットＣＵに記憶された２ページデータが１つのセルユニットＣＵに記憶される。言い換えると、例えば２ＢＬＫ分のデータのバッファ書き込みが実行された場合、バッファ書き込みによって書き込まれた２ＢＬＫ分のデータが、コンパクション動作によって１ＢＬＫ分のデータに圧縮されて記憶される。
【００８３】
尚、ＳＬＣモードの書き込み動作における初回のプログラム電圧Ｖpgmと、ＭＬＣモードの書き込み動作における初回のプログラム電圧Ｖpgmとは異なっていても良い。同様に、ＳＬＣモードの書き込み動作におけるステップアップ量ＤＶpgmと、ＭＬＣモードの書き込み動作におけるステップアップ量ＤＶpgmとは異なっていても良い。これは、その他の書き込みモードの書き込み動作についても同様である。
【００８４】
コンパクション動作において、バッファ読み出し動作とコンパクション書き込み動作とは、必ずしも最小単位で交互に実行されなくても良い。例えば、ＭＬＣモードが使用されるコンパクション動作においてメモリコントローラ３０は、バッファ読み出し動作を連続で実行することにより所定量のページデータを取得してからコンパクション書き込み動作を連続で実行しても良い。
【００８５】
以上の説明では、バッファ読み出し動作においてＥＣＣ回路３４がエラー訂正処理を実行する場合について例示したが、これに限定されない。例えば、メモリコントローラ３０は、半導体記憶装置１０に対して複数回のバッファ読み出し動作で読み出したデータをセンスアンプモジュール１９内の異なるラッチ回路に保持させ、メモリコントローラ３０へのデータ出力を伴わずにコンパクション書き込み動作を実行させても良い。
【００８６】
［１−２−２］書き込み動作におけるブロックＢＬＫの割り当てについて
第１実施形態に係るメモリシステム１は、全てのブロックＢＬＫを、バッファ書き込みとコンパクション動作との両方に使用することが出来る。つまり、第１実施形態に係るメモリシステム１において、各ブロックＢＬＫは、異なる書き込みモードが使用された書き込み動作が実行され得る。以下に、具体例として、ブロックＢＬＫ単位でバッファ書き込み動作及びコンパクション動作が実行され、バッファ書き込みにＳＬＣモードが使用され、コンパクション書き込み動作にＭＬＣモードが使用される場合について説明する。
【００８７】
図１０及び図１１は、第１実施形態に係るメモリシステム１の書き込み動作における書き込み対象ブロックの一例を示している。図１０は、第１期間に実行される書き込み動作に対応し、図１１は、第１期間よりも後の第２期間に実行される書き込み動作に対応している。尚、本例では、説明を簡単にするために、メモリセルアレイ１７が８個のブロックＢＬＫ０〜ＢＬＫ７を含み、各期間においてホスト機器２が４ＢＬＫ分のデータのシーケンシャル書き込みをメモリシステム１に命令するものと仮定する。
【００８８】
まず、第１期間に実行される書き込み動作について説明する。図１０に示すように、メモリシステム１は、ホスト機器２から４ＢＬＫ分の書き込みデータを受信すると、バッファ書き込み動作を実行する。このバッファ書き込み動作においてメモリシステム１は、ＳＬＣモードの書き込み動作を例えばブロックＢＬＫ０〜ＢＬＫ３に対して順に実行する。その結果、ブロックＢＬＫ０〜ＢＬＫ３に含まれた各セルユニットＣＵには、１ページデータが書き込まれる。
【００８９】
その後、メモリシステム１がアイドル状態に移行すると、メモリシステム１はコンパクション動作を実行する。このコンパクション動作においてメモリシステム１は、バッファ読み出し動作によってブロックＢＬＫ０及びＢＬＫ１から合計２ＢＬＫ分のデータを読み出し、読み出した２ＢＬＫ分のデータをＭＬＣモードのコンパクション書き込み動作によってブロックＢＬＫ４に記憶させる。同様に、メモリシステム１は、バッファ読み出し動作によってブロックＢＬＫ２及びＢＬＫ３から合計２ＢＬＫ分のデータを読み出し、読み出した２ＢＬＫ分のデータをＭＬＣモードのコンパクション書き込み動作によってブロックＢＬＫ５に記憶させる。その結果、ブロックＢＬＫ４及びＢＬＫ５に含まれた各セルユニットＣＵには、２ページデータが書き込まれる。
【００９０】
次に、第２期間に実行される書き込み動作について説明する。尚、第２期間では、第１期間においてブロックＢＬＫ２〜ＢＬＫ７に書き込まれたデータが予め消去されているものとする。図１１に示すように、メモリシステム１は、ホスト機器２から４ＢＬＫ分の書き込みデータを受信すると、バッファ書き込み動作を実行する。このバッファ書き込み動作においてメモリシステム１は、ＳＬＣモードの書き込み動作を例えばブロックＢＬＫ４〜ＢＬＫ７に対して順に実行する。その結果、ブロックＢＬＫ４〜ＢＬＫ７に含まれた各セルユニットＣＵには、１ページデータが書き込まれる。
【００９１】
その後、メモリシステム１がアイドル状態に移行すると、メモリシステム１はコンパクション動作を実行する。このコンパクション動作においてメモリシステム１は、バッファ読み出し動作によってブロックＢＬＫ４及びＢＬＫ５から合計２ＢＬＫ分のデータを読み出し、読み出した２ＢＬＫ分のデータをＭＬＣモードのコンパクション書き込み動作によってブロックＢＬＫ２に記憶させる。同様に、メモリシステム１は、バッファ読み出し動作によってブロックＢＬＫ６及びＢＬＫ７から合計２ＢＬＫ分のデータを読み出し、読み出した２ＢＬＫ分のデータをＭＬＣモードのコンパクション書き込み動作によってブロックＢＬＫ３に記憶させる。その結果、ブロックＢＬＫ２及びＢＬＫ３に含まれた各セルユニットＣＵには、２ページデータが書き込まれる。
【００９２】
以上のように、第１期間では、ブロックＢＬＫ０〜ＢＬＫ３のそれぞれに対してＳＬＣモードでデータが書き込まれ、ブロックＢＬＫ４及びＢＬＫ５のそれぞれに対してＭＬＣモードでデータが書き込まれる。一方で、第１期間よりも後の第２期間では、ブロックＢＬＫ４〜ＢＬＫ７のそれぞれに対してＳＬＣモードでデータが書き込まれ、ブロックＢＬＫ２及びＢＬＫ３のそれぞれに対してＭＬＣモードでデータが書き込まれる。
【００９３】
つまり、本例において、ブロックＢＬＫ２及びＢＬＫ３のそれぞれは、第１期間の処理によってＳＬＣモードで書き込まれたデータを保持し、第２期間の処理によってＭＬＣモードで書き込まれたデータを保持している。言い換えると、ブロックＢＬＫ２及びＢＬＫ３に含まれたセルユニットＣＵは、ＳＬＣモードで１ページデータを記憶した後に、ＭＬＣモードで２ページデータを記憶している。
【００９４】
尚、以上の説明では、バッファ書き込みにＳＬＣモードが使用され、コンパクション書き込み動作にＭＬＣモードが使用された場合について例示したが、これに限定されない。バッファ書き込み動作及びコンパクション動作は、例えば図６に示された組み合わせでも実行され得る。つまり、第１実施形態に係るメモリシステム１において、あるブロックＢＬＫ内のセルユニットＣＵは、異なる期間において異なる書き込みモードが使用され、異なるビット数のデータを記憶し得る。
【００９５】
［１−３］第１実施形態の効果
以上で説明した第１実施形態に係るメモリシステム１に依れば、メモリシステム１のシーケンシャル書き込みの動作速度の低下を抑制することが出来る。以下に、第１実施形態に係るメモリシステム１における詳細な効果について説明する。
【００９６】
ＳＳＤ等のメモリシステムに要求される性能の一つとして、シーケンシャル書き込みの動作速度が挙げられる。シーケンシャル書き込みとは、メモリシステムがホスト機器から受け取った書き込みデータを連続で書き込む動作に相当する。シーケンシャル書き込みの動作速度を向上させる方法としては、ＳＳＤがホスト機器から受け取った書き込みデータをまず高速なＳＬＣモードの書き込み動作でバッファ領域に書き込むことが考えられる。
【００９７】
図１２は、第１実施形態の比較例におけるメモリセルアレイのブロック構成を示している。図１２に示すように、比較例におけるメモリセルアレイは、８個のブロックＢＬＫ０〜ＢＬＫ７を含んでいる。そして、比較例におけるメモリセルアレイでは、ブロックＢＬＫ０〜ＢＬＫ５が記憶領域として割り当てられ、ブロックＢＬＫ６及びＢＬＫ７がバッファ領域として割り当てられている。つまり、比較例におけるメモリセルアレイでは、コンパクション動作の対象とされる記憶領域と、バッファ書き込み動作の対象とされるバッファ領域とのそれぞれが固定されて設けられている。
【００９８】
図１３は、第１実施形態の比較例におけるメモリセルアレイに対して、図１０と同様の条件でバッファ書き込み動作を実行した場合における動作の一例を示している。図１３に示すように、比較例においてホスト機器から４ＢＬＫ分の書き込みデータを受信すると、メモリシステムは、まずバッファ領域であるブロックＢＬＫ６及びＢＬＫ７に対するＳＬＣモードのバッファ書き込み動作を実行する。
【００９９】
ブロックＢＬＫ６及びＢＬＫ７に対して２ＢＬＫ分のデータを書き込んだ後、メモリコントローラには２ＢＬＫ分の書き込みデータが残る。しかしながら、メモリセルアレイ内にバッファ領域が残されていないため、ＳＳＤは、残りの書き込みデータについて記憶領域を用いた書き込み動作を実行する。つまり、バッファ領域の記憶容量を超えた分のデータ、すなわちバッファ容量をオーバーフローした書き込みデータは、記憶領域に適用された書き込みモードで書き込まれる。
【０１００】
本例では、オーバーフローした２ＢＬＫ分の書き込みデータが、ＭＬＣモードでブロックＢＬＫ０に書き込まれる。ＭＬＣモードにおける書き込み動作速度は、ＳＬＣモードにおける書き込み動作速度よりも遅い。このため、ホスト機器からは、ＳＳＤのシーケンシャル書き込みの動作速度が低下したように見える。シーケンシャル書き込みの動作速度が低下すると、メモリシステムのレイテンシが低下する等の影響も生じ得る。
【０１０１】
そこで、第１実施形態に係るメモリシステム１は、バッファ領域と記憶領域とを固定せずに、全てのブロックＢＬＫをバッファ領域として利用可能な構成を有している。つまり、第１実施形態に係るメモリシステム１では、全てのブロックＢＬＫの記憶容量に基づいて、バッファとして利用可能な記憶容量が決定される。
【０１０２】
その結果、第１実施形態に係るメモリシステム１では、大容量の書き込みデータを受信した場合においても、書き込みデータの総量がバッファ容量をオーバーフローすることが抑制され得る。従って、第１実施形態に係るメモリシステム１は、シーケンシャル書き込みの動作速度の低下を抑制することが出来、メモリシステム１のレイテンシ低下を抑制することが出来る。
【０１０３】
また、第１実施形態に係るメモリシステム１は、仮にブロックＢＬＫの総数が比較例におけるメモリセルアレイと同じであった場合に、記憶領域として利用可能な容量が比較例よりも大きくなる。つまり、第１実施形態に係るメモリシステム１は、シーケンシャル書き込みの動作速度の低下を抑制しつつ、メモリシステム１の記憶容量を大きくすることが出来る。
【０１０４】
尚、第１実施形態の説明では、全てのブロックＢＬＫがバッファ書き込みとコンパクション動作の対象となる場合について例示したが、これに限定されない。例えば、ユーザがアクセスすることが出来ない記憶領域には、複数種類の書き込みモードが使用されなくても良い。また、半導体記憶装置１０には、ユーザがアクセスすることが出来る記憶領域において、バッファ書き込み動作用の記憶領域とコンパクション動作用の記憶領域とが設けられても良い。第１実施形態に係るメモリシステム１には、少なくとも複数種類の書き込みモードが使用されるブロックＢＬＫが含まれていれば良い。
【０１０５】
［２］第２実施形態
第２実施形態に係るメモリシステム１は、第１実施形態で説明した複数の書き込みモードに対応するＷ／Ｅ回数を記憶するテーブルを有し、当該テーブルに基づいてウェアレベリング制御を実行する。以下に、第２実施形態に係るメモリシステム１について、第１実施形態と異なる点を説明する。
【０１０６】
［２−１］メモリシステム１の構成について
図１４は、第２実施形態に係るメモリシステム１の構成例を示している。図１４に示すように、第２実施形態に係るメモリシステム１は、第１実施形態に係るメモリシステム１に対して、Ｗ／Ｅテーブル２１が追加された構成を有する。第２実施形態に係るメモリシステム１のその他の構成は、第１実施形態と同様である。
【０１０７】
Ｗ／Ｅテーブル２１は、例えばメモリセルアレイ１７に含まれたブロックＢＬＫ毎の、ＳＬＣモードの書き込み及び消去が実行された回数（Ｗ／Ｅ回数）と、ＭＬＣモードのＷ／Ｅ回数と、各書き込みモードのＷ／Ｅ回数の合計とを保持する。例えば対応する書き込みモードの書き込み動作が実行された際に、ＣＰＵ３１はＷ／Ｅ回数を更新する。Ｗ／Ｅテーブル２１に保持されたＷ／Ｅ回数は、ＣＰＵ３１が書き込み動作を実行する際に参照される。本動作の詳細については後述する。
【０１０８】
Ｗ／Ｅテーブル２１は、例えばＤＲＡＭ２０に保持される。これに限定されず、Ｗ／Ｅテーブル２１は、メモリコントローラ３０内に保持されても良い。Ｗ／Ｅテーブル２１のデータは、メモリシステム１の電源オフ時において半導体記憶装置１０に待避される。そして、Ｗ／Ｅテーブル２１のデータは、メモリシステム１の電源オン時において半導体記憶装置１０から読み出され、ＤＲＡＭ２０等に展開される。
【０１０９】
尚、Ｗ／Ｅテーブル２１は、半導体記憶装置１０毎に設けられても良いし、１つのテーブルで複数の半導体記憶装置１０に含まれたブロックＢＬＫのＷ／Ｅ回数が管理されても良い。１つのテーブルで複数の半導体記憶装置１０に含まれたブロックＢＬＫのＷ／Ｅ回数が管理される場合、Ｗ／Ｅテーブル２１には半導体記憶装置１０のアドレスに関するパラメータが追加される。
【０１１０】
［２−２］書き込み動作について
第２実施形態に係るメモリシステム１は、第１実施形態で説明したバッファ書き込み動作とコンパクション書き込み動作とを実行する際に、Ｗ／Ｅテーブル２１を参照してウェアレベリング制御を実行する。ウェアレベリング制御とは、メモリコントローラ３０がＷ／Ｅ回数が少ないブロックＢＬＫに対して優先的に書き込みを実行する方法である。
【０１１１】
図１５は、第２実施形態に係るメモリシステム１の書き込み動作におけるフローの一例を示している。図１５に示すように、メモリコントローラ３０のＣＰＵ３１は、書き込み動作を開始するとＷ／Ｅテーブル２１を参照する（ステップＳ２０）。そして、ＣＰＵ３１は、Ｗ／Ｅテーブル２１に基づいて合計Ｗ／Ｅ回数の少ないブロックＢＬＫを抽出し、合計Ｗ／Ｅ回数の少ないブロックＢＬＫから書き込み先のブロックＢＬＫを決定する（ステップＳ２１）。それから、ＣＰＵ３１は、決定したブロックＢＬＫを指定して書き込みコマンドを含むコマンドセットを発行し、半導体記憶装置１０に対して書き込み動作の実行を命令する（ステップＳ２２）。
【０１１２】
図１６は、第２実施形態に係るメモリシステム１におけるＷ／Ｅテーブル２１の一例であり、２種類の書き込みモードが使用される場合について例示している。図１６に示すように、Ｗ／Ｅテーブル２１は、ブロックＢＬＫ０〜ＢＬＫｎのそれぞれに対応して、ＳＬＣモードのＷ／Ｅ回数と、ＭＬＣモードのＷ／Ｅ回数と、各モードのＷ／Ｅ回数の合計とを保持している。
【０１１３】
図１６に示された一例では、ブロックＢＬＫ０及びＢＬＫ１のそれぞれの合計Ｗ／Ｅ回数に７２回、ブロックＢＬＫ２及びＢＬＫ３のそれぞれの合計Ｗ／Ｅ回数に５４回、ブロックＢＬＫｎの合計Ｗ／Ｅ回数に３０回が記録されている。この場合にウェアレベリング制御が実行されると、最も合計Ｗ／Ｅ回数が少ないブロックＢＬＫｎに対して優先的に書き込みが実行される。例えば、ブロックＢＬＫｎが有効なデータを保持している場合には、次に合計Ｗ／Ｅ回数が少ないブロックＢＬＫ２及びＢＬＫ３のいずれかが選択され得る。
【０１１４】
バッファ書き込み動作にＳＬＣモードが使用され、コンパクション書き込み動作にＭＬＣモードが使用された場合、２回のＳＬＣモードの書き込み動作に対して、１回のＭＬＣモードの書き込み動作が実行される。このため、同じブロックＢＬＫにおけるＷ／Ｅ回数の関係は、ＳＬＣモードよりもＭＬＣモードの方が少なくなることが好ましい。理想的には、ＣＰＵ３１は、Ｗ／Ｅ回数の比率がＳＬＣモード：ＭＬＣモード＝２：１になるようにウェアレベリング制御することが好ましい。
【０１１５】
以上の説明では、Ｗ／Ｅテーブル２１がＳＬＣモードのＷ／Ｅ回数とＭＬＣモードのＷ／Ｅ回数とを保持する場合について例示したが、これに限定されない。Ｗ／Ｅテーブル２１が保持するＷ／Ｅ回数のデータは、第１実施形態で説明したバッファ書き込み動作に使用される書き込みモードと、コンパクション動作で使用される書き込み動作の種類及び数に基づいて変化する。
【０１１６】
図１７は、第２実施形態に係るメモリシステム１におけるＷ／Ｅテーブル２１の一例であり、４種類の書き込みモードが使用される場合について例示している。図１７に示すように、Ｗ／Ｅテーブル２１は、ブロックＢＬＫ０〜ＢＬＫｎのそれぞれに対応して、ＳＬＣモードのＷ／Ｅ回数と、ＭＬＣモードのＷ／Ｅ回数と、ＴＬＣモードのＷ／Ｅ回数と、ＱＬＣモードのＷ／Ｅ回数各モードのＷ／Ｅ回数の合計とを保持している。
【０１１７】
図１７に示された一例では、ブロックＢＬＫ０及びＢＬＫ１のそれぞれの合計Ｗ／Ｅ回数に１００回、ブロックＢＬＫ２及びＢＬＫ３のそれぞれの合計Ｗ／Ｅ回数に７５回、ブロックＢＬＫｎの合計Ｗ／Ｅ回数に５０回が記録されている。この場合にウェアレベリング制御が実行されると、最も合計Ｗ／Ｅ回数が少ないブロックＢＬＫｎに対して優先的に書き込みが実行される。例えば、ブロックＢＬＫｎが有効なデータを保持している場合には、次に合計Ｗ／Ｅ回数が少ないブロックＢＬＫ２及びＢＬＫ３のいずれかが選択され得る。
【０１１８】
バッファ書き込み動作にＳＬＣモードが使用され、コンパクション書き込み動作にＭＬＣモード、ＴＬＣモード、及びＱＬＣモードのそれぞれが使用された場合、１２回のＳＬＣモードの書き込み動作に対して、６回のＭＬＣモードの書き込み動作が実行され、４回のＴＬＣモードの書き込み動作が実行され、３回のＱＬＣモードの書き込み動作が実行される。このため、同じブロックＢＬＫにおけるＷ／Ｅ回数の関係は、ＳＬＣモード、ＭＬＣモード、ＴＬＣモード、ＱＬＣモードの順に少なくなることが好ましく、理想的には、ＣＰＵ３１は、Ｗ／Ｅ回数の比率がＳＬＣモード：ＭＬＣモード：ＴＬＣモード：ＱＬＣモード＝１２：６：４：３になるようにウェアレベリング制御することが好ましい。この関係は、メモリシステム１が書き込み動作に２種類又は３種類の書き込みモードを使用する場合についても同様である。
【０１１９】
以上のように、第２実施形態に係るメモリシステム１では、バッファ書き込み動作とコンパクション動作に使用される書き込みモードの組み合わせに応じて、適宜Ｗ／Ｅテーブル２１の構成が変化する。そして、使用される書き込みモードの組み合わせに基づいて、ウェアレべリング制御の方法が適宜変更される。ウェアレベリング制御における各書き込みモードのＷ／Ｅ回数の関係は、各書き込みモードを用いて所定の容量のデータを書き込む際の書き込み回数に基づいて決定される。
【０１２０】
尚、以上で説明したウェアレベリング制御の方法はあくまで一例であり、これに限定されない。ウェアレベリング制御の方法は、少なくともメモリセルアレイ１７に含まれたブロックＢＬＫ間でＷ／Ｅ回数が所定の誤差範囲内で一定になるように制御されていれば良く、任意の方法が適用され得る。ウェアレベリング制御は、合計Ｗ／Ｅ回数だけでなく、各書き込みモードのＷ／Ｅ回数に基づいて実行されても良い。
【０１２１】
［２−３］第２実施形態の効果
以上のように、第２実施形態に係るメモリシステム１は、第１実施形態で説明したバッファ書き込み動作とコンパクション書き込み動作とのそれぞれを実行する際に、複数の書き込みモードのＷ／Ｅ回数が記録されたＷ／Ｅテーブル２１に基づいたウェアレベリング制御を実行する。具体的には、第２実施形態に係るメモリシステム１は、例えばブロックＢＬＫ毎に記録された合計Ｗ／Ｅ回数によってウェアレベリング制御を実行する。
【０１２２】
これにより、第２実施形態に係るメモリシステム１では、第１実施形態と同様の効果に加えて、メモリセルトランジスタＭＴの疲弊をブロックＢＬＫ間で略平均化することが出来る。つまり、第２実施形態に係るメモリシステム１は、シーケンシャル書き込みの動作速度の低下を抑制しつつ、記憶するデータの信頼性の低下を抑制することが出来る。
【０１２３】
また、第１実施形態において使用される複数の書き込みモードは、メモリセルトランジスタＭＴに与える影響が異なることも考えられる。例えば、図７を用いて説明したＳＬＣモードの書き込み動作と、図９を用いて説明したＭＬＣモードの書き込み動作とでは、選択ワード線ＷＬselに印加されるプログラム電圧Ｖpgmの回数や最大値が異なり、ＭＬＣモードの方がメモリセルトランジスタＭＴの疲弊が大きくなることが想定され得る。
【０１２４】
つまり、バッファ書き込み動作とコンパクション書き込み動作とに適用される書き込みモードの組み合わせと、各書き込み動作に対応するＷ／Ｅ回数とによって、メモリセルトランジスタＭＴの疲弊度に差が生じ得る。このため、疲弊度のバリエーションに合わせたメモリセルトランジスタＭＴの信頼性の見積もりをすることが好ましい。
【０１２５】
これに対して、第２実施形態に係るメモリシステム１は、Ｗ／Ｅテーブル２１の合計Ｗ／Ｅ回数を参照してウェアレベリング制御するだけでなく、ブロックＢＬＫ毎の各書き込みモード間のＷ／Ｅ回数が一定比率に近くなるように制御することも可能である。これにより、第２実施形態に係るメモリシステム１は、メモリセルトランジスタＭＴの疲弊をよりブロックＢＬＫ間で略平均化することが出来る。
【０１２６】
尚、以上で説明した第２実施形態で説明されたウェアレベリング制御によって更新されるＷ／Ｅテーブル２１は、Ｗ／Ｅ回数の制限にも使用され得る。例えば、Ｗ／Ｅ回数の制限が最も厳しい書き込みモード（例えばＱＬＣモード）に合わせてＷ／Ｅ回数の制限が設定される。これにより、第２実施形態に係るメモリシステム１では、メモリセルトランジスタＭＴの疲弊度を一定の基準で見積もることが出来、記憶するデータの信頼性を担保することが出来る。
【０１２７】
［３］第３実施形態
第３実施形態に係るメモリシステム１は、第２実施形態に係るメモリシステム１と同様の構成を有し、第２実施形態で説明したウェアレベリング制御における書き込み順番の制御方法の具体例に関する。以下に、第３実施形態に係るメモリシステム１について、第１及び第２実施形態と異なる点を説明する。
【０１２８】
［３−１］書き込み動作について
（第１の例）
第３実施形態におけるウェアレベリング制御の第１の例において、ＣＰＵ３１は、同一のブロックＢＬＫに対する同一の書き込みモードの連続使用に閾値を設ける。図１８は、第３実施形態に係るメモリシステム１におけるＷ／Ｅテーブル２１の一例である。図１８に示すように、第３実施形態の第１の例におけるＷ／Ｅテーブル２１は、図１６を用いて説明したＷ／Ｅテーブル２１に対して、ＳＬＣモードの連続書き込み回数と、ＭＬＣモードの連続書き込み回数とのそれぞれの情報をさらに含んでいる。
【０１２９】
連続書き込み回数は、ＣＰＵ３１によって適宜更新される。例えば、同じ書き込みモードが使用された書き込み動作が実行された場合に、対応する書き込みモードの連続書き込み回数の数値がインクリメントされ、異なる書き込みモードが使用された書き込み動作が実行された場合に、各書き込みモードの連続書き込み回数の数値がリセットされる。
【０１３０】
このように、第１の例では、例えばＷ／Ｅテーブル２１にブロックＢＬＫ毎の各書き込みモードの連続書き込み回数が記録される。そして、ＣＰＵ３１は、書き込み動作時にＷ／Ｅテーブル２１の連続書き込み回数を参照し、連続書き込み回数の数値に基づいてウェアレベリング制御を実行する。
【０１３１】
具体的には、例えばＳＬＣモードの連続書き込み回数が“４”以上になったブロックＢＬＫは、次の書き込みモードで優先的にＭＬＣモードの書き込みが実行される。尚、連続書き込み回数の閾値として使用される数値は、任意の数値に設定され得る。第１の例におけるウェアレベリング制御は、その他の書き込みモードの組み合わせにおいても適用され得る。連続書き込み回数の情報は、Ｗ／Ｅテーブル２１と異なるテーブルによって管理されても良い。
【０１３２】
（第２の例）
第３実施形態におけるウェアレベリング制御の第２の例において、ＣＰＵ３１は、各ブロックＢＬＫに設定されたＷ／Ｅ回数の合計の制限値における書き込みモードの使用順番を任意の順番に設定する。例えば、同一のブロックＢＬＫへの書き込み動作において、ＣＰＵ３１は、ＳＬＣモード、ＭＬＣモード、ＴＬＣモード、ＱＬＣモードの順番に使用するようにウェアレベリング制御する。
【０１３３】
より具体的には、あるブロックＢＬＫにおけるＷ／Ｅ回数の合計の制限値が１０００回に設定され、４種類の書き込みモードが使用される場合、例えばＣＰＵ３１は、最初にＳＬＣモードの書き込み動作を４８０回実行し、次にＭＬＣモードの書き込み動作を２４０回実行し、次にＴＬＣモードの書き込み動作を１６０回実行し、最後にＱＬＣモードの書き込み動作を１２０回実行する。
【０１３４】
（第３の例）
第３実施形態におけるウェアレベリング制御の第３の例は第２の例の変形例であり、ＣＰＵ３１が、各書き込みモードの実行回数を最終的に所望の数値になるように制御する。例えば、同一のブロックＢＬＫへの書き込み動作において、ＣＰＵ３１は、ＳＬＣモード、ＭＬＣモード、ＳＬＣモード、ＴＬＣモード、ＭＬＣモード、ＱＬＣモード、ＴＬＣモード、ＱＬＣモードの順番に使用するようにウェアレベリング制御する。
【０１３５】
より具体的には、あるブロックＢＬＫにおけるＷ／Ｅ回数の合計の制限値が１０００回に設定され、４種類の書き込みモードが使用される場合、例えばＣＰＵ３１は、最初にＳＬＣモードの書き込み動作を３８４回実行し、次にＭＬＣモードの書き込み動作を１９２回実行し、次にＳＬＣモードの書き込み動作を９６回実行し、次にＴＬＣモードの書き込み動作を１２８回実行し、次にＭＬＣモードの書き込み動作を４８回実行し、次にＱＬＣモードの書き込み動作を９６回実行し、次にＴＬＣモードの書き込み動作を３２回実行し、最後にＱＬＣモードの書き込み動作を２４回実行する。
【０１３６】
以上で説明した第３実施形態の第２の例と第３の例とにおける各書き込みモードの実行回数は、任意の数値に設定され得る。ＣＰＵ３１は、各書き込みモードの実行回数が、少なくともＳＬＣモード、ＭＬＣモード、ＴＬＣモード、ＱＬＣモードの順番に小さくなるようにウェアレベリング制御すれば良い。また、Ｗ／Ｅ回数の合計の制限値は、任意の値に設定され得る。書き込みモードの使用順番は、使用される書き込みモードの種類及び数に応じて適宜変更され得る。
【０１３７】
［３−２］第３実施形態の効果
メモリセルトランジスタＭＴの疲弊度は、各書き込みモードが使用される順番によっても異なる可能性がある。そこで、第３実施形態に係るメモリシステム１は、各書き込みモードの実行順番に偏りが生じないようにウェアレベリング制御を実行する。
【０１３８】
第３実施形態の第１の例では、同一のブロックＢＬＫに対して連続で同一の書き込みモードが使用されることが抑制される。その結果、メモリシステム１は、各ブロックＢＬＫにおける各書き込みモードのＷ／Ｅ回数の偏りを抑制することが出来る。
【０１３９】
第３実施形態の第２の例及び第３の例のそれぞれでは、同一のブロックＢＬＫに対して適用される書き込みモードの順番が固定される。その結果、メモリシステム１は、各ブロックＢＬＫにおける疲弊の進行を略平均化することが出来る。
【０１４０】
［４］その他の変形例等
実施形態のメモリシステムは、半導体記憶装置＜例えば図１中の符号１０＞と、メモリコントローラ＜例えば図１中の符号３０＞とを含む。半導体記憶装置は、複数のメモリセルトランジスタを含むブロック＜例えば図２におけるＢＬＫ＞を複数含む。メモリコントローラは、半導体記憶装置を制御する。複数のブロックは、第１ブロックを含む。第１ブロックに含まれたメモリセルトランジスタは、第１期間において第１ビット数のデータを記憶し＜例えば図１２におけるＢＬＫ２＞、第１期間の後の第２期間において第１ビット数よりも多い第２ビット数のデータを記憶する＜例えば図１３におけるＢＬＫ２＞。これにより、実施形態に係るメモリシステムでは、シーケンシャル書き込みの動作速度の低下を抑制することが出来る。
【０１４１】
上記実施形態では、Ｗ／Ｅテーブル２１がブロックＢＬＫ単位でＷ／Ｅ回数を記録する場合について例示したが、Ｗ／Ｅ回数の記録単位は任意の単位に設計され得る。例えば、Ｗ／Ｅテーブル２１には、複数の書き込みモードのそれぞれに対応するＷ／Ｅ回数がセルユニットＣＵ単位で記録されても良い。
【０１４２】
上記実施形態では、同じ半導体記憶装置１０内でバッファ書き込み動作とコンパクション書き込み動作とが実行される場合について例示したが、バッファ書き込み動作が実行される半導体記憶装置１０とコンパクション書き込み動作が実行される半導体記憶装置１０とは異なっていても良い。
【０１４３】
上記実施形態では、同じブロックＢＬＫ内のメモリセルトランジスタＭＴに対して全て同じ書き込みモードが使用される場合について例示したが、同じブロックＢＬＫ内には、異なる書き込みモードが使用されたセルユニットＣＵが混在していても良い。例えば、信頼性が劣ると推測される位置のメモリセルトランジスタＭＴに対しては、その他のメモリセルトランジスタＭＴよりもビット数が少ない書き込みモードが適用される。
【０１４４】
上記実施形態におけるコンパクション書き込み動作では、２ページ以上の書き込みデータが１回の書き込み動作で１つのセルユニットＣＵに書き込まれる場合について例示したが、これに限定されない。コンパクション書き込み動作においてメモリシステム１は、２ページ以上の書き込みデータを２段階以上の書き込み動作によってセルユニットＣＵに書き込んでも良い。以下に、２段階の書き込み動作が使用され、且つ書き込みモードにＴＬＣモードが使用される場合のコンパクション書き込み動作の一例について説明する。
【０１４５】
メモリシステム１は、第１実施形態で図４を用いて説明した８個の閾値分布を形成する前に、例えば１ページの書き込みデータを用いて大まかな書き込み動作（第１段階の書き込み）を実行し、２個の閾値分布を形成する。その後、メモリシステム１は、３ページの書き込みデータを用いて大まかに書き込まれたセルユニットＣＵに対して精密な書き込み動作（第２段階の書き込み）を実行し、８個の閾値分布を形成する。第２段階の書き込みにおいて、第１段階の書き込みで使用された書き込みデータは重複している。このため、メモリコントローラ３０は、第２段階の書き込みにおいて、重複する書き込みデータを再び半導体記憶装置１０に送信する、又は第１段階の書き込みで書き込まれたデータの読み出しを半導体記憶装置１０に指示する。
【０１４６】
図１９は、本例におけるメモリセルトランジスタＭＴの閾値分布の変化の一例を示している。具体的には、図１９（ａ）は、書き込み前（消去状態）のメモリセルトランジスタＭＴの閾値分布を示し、図１９（ｂ）は、第１段階の書き込み後のメモリセルトランジスタＭＴの閾値分布を示し、図１９（ｃ）は、第２段階の書き込み後のメモリセルトランジスタＭＴの閾値分布を示している。
【０１４７】
メモリシステム１は、第１段階の書き込みによって、図１９（ａ）に示された“ＥＲ”状態の閾値分布から、図１９（ｂ）に示された“ＥＲ”状態と“ＬＭ”状態の閾値分布を形成する。その後、メモリシステム１は、第２段階の書き込みによって、図１９（ｂ）に示された“ＥＲ”状態の閾値分布から、図１９（ｃ）に示された“ＥＲ”状態、“Ａ”状態、“Ｂ”状態、及び“Ｃ”状態の閾値分布を形成し、図１９（ｂ）に示された“ＬＭ”状態の閾値分布から、図１９（ｃ）に示された“Ｄ”状態、“Ｅ”状態、“Ｆ”状態、及び“Ｇ”状態の閾値分布を形成する。
【０１４８】
“ＬＭ”状態に含まれたメモリセルトランジスタＭＴは、例えば“Ａ”状態以上且つ“Ｄ”状態以下の閾値電圧を有している。具体的には、“ＬＭ”状態に含まれたメモリセルトランジスタＭＴの閾値電圧は、例えば“Ａ”状態における最小の閾値電圧と、“Ｄ”状態における最大の閾値電圧との間に設定される。
【０１４９】
そして、“ＥＲ”状態及び“ＬＭ”状態間に読み出し電圧ＬＭＲが設定され、“ＬＭ”状態に対応してベリファイ電圧ＬＭＶが設定される。具体的には、読み出し電圧ＬＭＲは、“Ｚ”状態の閾値電圧と、“ＬＭ”状態における最小の閾値電圧との間に設定される。ベリファイ電圧ＬＭＶは、“ＥＲ”状態における最大の閾値電圧と“ＬＭ”状態における最小の閾値電圧との間、且つ“Ｅ”状態の近傍に設定される。第１段階の書き込み後且つ第２段階の書き込み前の読み出しパス電圧Ｖreadは、“ＬＭ”状態における最大の閾値電圧よりも高い電圧に設定される。尚、“ＬＭ”状態に含まれたメモリセルトランジスタＭＴの閾値電圧は、使用される書き込みモードに基づいて適宜変更され得る。
【０１５０】
以上で説明した２段階の書き込み動作は、第２及び第３実施形態のそれぞれにも適用することが可能である。また、メモリシステム１は、２段階の書き込み動作にＴＬＣモード以外の書き込みモードを使用することも可能である。
【０１５１】
尚、２段階の書き込み動作の方法は、図１９を用いて説明した方法に限定されない。例えば、メモリシステム１は、３ページの書き込みデータを用いた第１段階の書き込み動作により大まかに８個の閾値分布を形成した後に、隣接セルの書き込みを実行する。その後、メモリシステム１は、同じ３ページの書き込みデータを用いた第２段階の書き込み動作によって精密な８個の閾値分布を形成しても良い。この動作は、その他の書き込みモードについても適用可能である。
【０１５２】
上記実施形態において、“コマンドセット”とは、ある動作に対応するコマンド及びアドレス情報のグループのことを示している。半導体記憶装置１０は、メモリコントローラ３０からコマンドセットを受信すると、当該コマンドセットに基づいて動作を開始する。書き込み説明に使用された各コマンドは、任意のコマンドに置き換えることが可能である。コマンドセットの構成は、任意の構成に設計され得る。例えば、コマンド“００ｈ”や“８０ｈ”の前に挿入されるコマンドは、省略されても良い。
【０１５３】
本明細書において、“データセット”とは、１ページ以上で構成されるデータのグループのことを示している。“ビット数”は、書き込みモードの種類を説明するために使用され得る。例えば、メモリシステム１は、第１ビット数の書き込みモードを使用してバッファ書き込み動作を実行し、第１ビット数よりも大きい第２ビット数の書き込みモードを使用してコンパクション書き込み動作を実行する。第１ビット数が１ビットである場合、当該書き込みモードはＳＬＣモードに対応し、第２ビット数が２ビットである場合、当該書き込みモードはＭＬＣモードに対応する。この関係は、その他のビット数と書き込みモードについても同様である。
【０１５４】
上記実施形態におけるメモリセルアレイ１７は、その他の構成であっても良い。その他のメモリセルアレイ１７の構成については、例えば“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号、“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号にそれぞれ記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【０１５５】
上記実施形態において、ブロックＢＬＫは消去単位でなくても良い。その他の消去動作については、例えば“不揮発性半導体記憶装置”という２０１１年９月１８日に出願された米国特許出願１３／２３５，３８９号、“不揮発性半導体記憶装置”という２０１０年１月２７日に出願された米国特許出願１２／６９４，６９０号にそれぞれ記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【０１５６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５７】
１…メモリシステム、２…ホスト機器、１０…半導体記憶装置、１１…入出力回路、１２…レジスタセット、１２Ａ…ステータスレジスタ、１２Ｂ…アドレスレジスタ、１２Ｃ…コマンドレジスタ、１３…ロジックコントローラ、１４…シーケンサ、１５…レディ／ビジー制御回路、１６…電圧生成回路、１７…メモリセルアレイ、１８…ロウデコーダモジュール、１９…センスアンプモジュール、２０…ＤＲＡＭ、３０…メモリコントローラ
、３１…ＣＰＵ、３２…ＲＡＭ、３３…ホストインターフェイス回路、３４…ＥＣＣ回路
、３５…ＮＡＮＤインターフェイス回路、３６…ＤＲＡＭインターフェイス回路、ＢＬＫ…ブロック、ＳＵ…ストリングユニット、ＭＴ…メモリセルトランジスタ、ＳＴ…選択トランジスタ、ＢＬ…ビット線、ＷＬ…ワード線、ＳＧＤ…選択ゲート線、ＲＤ…ロウデコーダ、ＳＡＵ…センスアンプユニット
【図１】
2020071843.tif 000003
【図２】
2020071843.tif 000004
【図３】
2020071843.tif 000005
【図４】
2020071843.tif 000006
【図５】
2020071843.tif 000007
【図６】
2020071843.tif 000008
【図７】
2020071843.tif 000009
【図８】
2020071843.tif 000010
【図９】
2020071843.tif 000011
【図１０】
2020071843.tif 000012
【図１１】
2020071843.tif 000013
【図１２】
2020071843.tif 000014
【図１３】
2020071843.tif 000015
【図１４】
2020071843.tif 000016
【図１５】
2020071843.tif 000017
【図１６】
2020071843.tif 000018
【図１７】
2020071843.tif 000019
【図１８】
2020071843.tif 000020
【図１９】
2020071843.tif 000021