IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝メモリ株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-20
(45)【発行日】2025-01-06
(54)【発明の名称】メモリデバイス及びメモリシステム
(51)【国際特許分類】
   G11C 16/34 20060101AFI20241223BHJP
【FI】
G11C16/34 140
【請求項の数】 18
(21)【出願番号】P 2021132851
(22)【出願日】2021-08-17
(65)【公開番号】P2023027622
(43)【公開日】2023-03-02
【審査請求日】2024-03-14
(73)【特許権者】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】石井 紘之
(72)【発明者】
【氏名】長井 裕士
(72)【発明者】
【氏名】御明 誠
(72)【発明者】
【氏名】梶山 朋子
(72)【発明者】
【氏名】金野 隼人
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2012-198953(JP,A)
【文献】特開2020-140747(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/34
(57)【特許請求の範囲】
【請求項1】
各々が複数ビットデータを記憶する複数のメモリセルトランジスタと、
前記複数のメモリセルトランジスタのうち複数の第1メモリセルトランジスタに接続された第1ワード線と、
プログラム動作と第1ベリファイ動作とを含むプログラムループの繰り返しを含むループ処理を実行するコントローラと、
ステータス情報を記憶する記憶回路と、を備え、
前記コントローラは、前記複数の第1メモリセルトランジスタを対象とした書き込み動作において、前記ループ処理を実行した後に第2ベリファイ動作を実行し、前記ループ処理の結果に対応する第1ステータスデータと前記第2ベリファイ動作の結果に対応する第2ステータスデータとを前記記憶回路に記憶させる、
メモリデバイス。
【請求項2】
互いに異なる複数ビットデータがメモリセルトランジスタの閾値電圧の高さに応じて設定された複数のステートのそれぞれに割り当てられ、ベリファイ動作に含まれたベリファイ読み出しで使用されるベリファイ電圧が前記複数のステートのそれぞれに設定され、
前記コントローラは、
前記ループ処理に含まれた複数回の前記第1ベリファイ動作において、前記複数のステートのそれぞれを対象としてベリファイ読み出しを実行し、
前記第2ベリファイ動作において、前記複数のステートのうち少なくとも一つのステートを対象としてベリファイ読み出しを実行する、
請求項1に記載のメモリデバイス。
【請求項3】
前記コントローラは、前記書き込み動作の後に、外部のメモリコントローラから第1ステータスリードコマンドを受信すると、前記第1ステータスデータと前記第2ステータスデータとの論理和演算結果を前記ステータス情報の一部として前記メモリコントローラに送信する、
請求項1に記載のメモリデバイス。
【請求項4】
前記第2ベリファイ動作においてベリファイ読み出しの対象とされるステートの数は、第1ベリファイ動作においてベリファイ読み出しの対象とされるステートの数と等しい、
請求項1に記載のメモリデバイス。
【請求項5】
前記第2ベリファイ動作においてベリファイ対象とされるステートの数は、第1ベリファイ動作においてベリファイ読み出しの対象とされるステートの数よりも少ない、
請求項1に記載のメモリデバイス。
【請求項6】
前記複数の第1メモリセルトランジスタは、前記複数ビットデータにそれぞれ対応する複数ページデータを記憶し、
前記第2ベリファイ動作においてベリファイ読み出しの対象とされるステートは、前記複数ページデータのうち少なくとも一つのページデータを読み出す場合に使用される読み出し電圧に関連付けられたステートに対応する、
請求項5に記載のメモリデバイス。
【請求項7】
前記コントローラは、前記第2ベリファイ動作の各ステートで使用されるベリファイ電圧を、前記第1ベリファイ動作と異なる設定に変更可能である、
請求項1に記載のメモリデバイス。
【請求項8】
前記コントロ-ラは、
前記第1ベリファイ動作において、前記複数のステートのそれぞれのベリファイ読み出しで、ベリファイフェイルのビット数が第1の値以下であることが検知されたステートをベリファイパスとして判定し、
前記第2ベリファイ動作において、前記複数のステートのそれぞれのベリファイ読み出しで、ベリファイフェイルのビット数が第2の値以下であることが検知されたステートをベリファイパスとして判定し、
前記第2の値を前記第1の値と異なる設定に変更可能である、
請求項1に記載のメモリデバイス。
【請求項9】
前記複数のメモリセルトランジスタに含まれ且つ前記第1ワード線に接続された複数の第2メモリセルトランジスタと、
前記複数の第1メモリセルトランジスタにそれぞれ接続された複数の第1選択トランジスタと、
前記複数の第2メモリセルトランジスタにそれぞれ接続された複数の第2選択トランジスタと、
前記複数の第1選択トランジスタに接続された第1選択線と、
前記複数の第2選択トランジスタに接続され、前記第1選択線と異なる第2選択線と、
をさらに備え、
前記コントローラは、前記複数の第2メモリセルトランジスタを対象とした書き込み動作において、前記ループ処理を実行した後の前記第2ベリファイ動作を省略する、
請求項1に記載のメモリデバイス。
【請求項10】
前記複数のメモリセルトランジスタに含まれ且つ前記複数の第1メモリセルトランジスタにそれぞれ接続された複数の第3メモリセルトランジスタと、
前記複数の第3メモリセルトランジスタに接続された第2ワード線と、をさらに備え、
前記コントローラは、前記複数の第3メモリセルトランジスタを対象とした書き込み動作において、前記ループ処理を実行した後の前記第2ベリファイ動作を省略する、
請求項1に記載のメモリデバイス。
【請求項11】
請求項9又は請求項10に記載のメモリデバイスと、
前記メモリデバイスを制御するメモリコントローラと、を備え、
前記メモリコントローラが前記第2ベリファイ動作を含む書き込み動作を前記メモリデバイスに指示するためのコマンドの組み合わせと、前記メモリコントローラが前記第2ベリファイ動作を含まない書き込み動作を前記メモリデバイスに指示するためのコマンドの組み合わせとが異なる、
メモリシステム。
【請求項12】
前記コントローラは、前記書き込み動作において、前記ループ処理の後に、前記第2ベリファイ動作を複数回実行し、複数回の前記第2ベリファイ動作のそれぞれの結果で少なくとも1回ベリファイパスと判定された場合に、前記第2ステータスデータとしてステータスパスの情報を格納し、全てベリファイフェイルと判定された場合に、前記第2ステータスデータとしてステータスフェイルの情報を格納する、
請求項1に記載のメモリデバイス。
【請求項13】
前記コントローラは、前記書き込み動作の後に、外部のメモリコントローラから第2ステータスリードコマンドを受信すると、前記第1ステータスデータと前記第2ステータスデータとのそれぞれを前記ステータス情報の一部として前記メモリコントローラに送信する、
請求項1に記載のメモリデバイス。
【請求項14】
請求項13に記載のメモリデバイスと、
前記メモリデバイスを制御する前記メモリコントローラと、を備え、
前記メモリコントローラは、前記第2ステータスリードコマンドを前記メモリデバイスに送信した後に前記メモリデバイスから前記ステータス情報を受信し、前記第1ステータスデータにステータスフェイルの情報が格納され、且つ前記第2ステータスデータにステータスパスの情報が格納されていることを検知すると、前記メモリデバイスに対して、ベリファイ電圧の設定が変更された第2ベリファイ動作の実行を指示する、
メモリシステム。
【請求項15】
前記メモリコントローラは、前記第2ステータスデータにステータスパスの情報が格納されていることを検知すると、ステータスパスに対応する第2ベリファイ動作で使用されたベリファイ電圧の設定に基づいて、前記第1ワード線を選択した読み出し動作における読み出し電圧の補正値を設定する、
請求項14に記載のメモリシステム。
【請求項16】
前記コントローラは、前記書き込み動作において、前記ループ処理の後に、使用するベリファイ電圧が異なる第2ベリファイ動作を複数回実行し、複数回の前記第2ベリファイ動作のそれぞれの結果を示す複数の第2ステータスデータを前記記憶回路に記憶させる、
請求項1に記載のメモリデバイス。
【請求項17】
前記コントローラは、前記書き込み動作の後に、外部のメモリコントローラから第2ステータスリードコマンドを受信すると、前記第1ステータスデータと前記複数の第2ステータスデータとのそれぞれを前記ステータス情報の一部として前記メモリコントローラに送信する、
請求項16に記載のメモリデバイス。
【請求項18】
請求項17に記載のメモリデバイスと、
前記メモリデバイスを制御するメモリコントローラと、を備え、
前記メモリコントローラは、前記第2ステータスリードコマンドを前記メモリデバイスに送信した後に前記メモリデバイスから前記ステータス情報を受信し、前記第1ステータスデータにステータスフェイルの情報が格納され、且つ前記複数の第2ステータスデータの少なくとも一つにステータスパスの情報が格納されていることを検知すると、前記メモリデバイスに対して、前記少なくとも一つの第2ベリファイ動作で使用されたベリファイ電圧の設定に基づいて、前記第1ワード線を選択した読み出し動作における読み出し電圧の補正値を設定する、
メモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、メモリデバイス及びメモリシステムに関する。
【背景技術】
【0002】
データを不揮発に記憶することが可能なNAND型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-147535号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
データの信頼性を向上させる。
【課題を解決するための手段】
【0005】
実施形態のメモリデバイスは、複数のメモリセルトランジスタと、第1ワード線と、コントローラと、記憶回路と、を備える。複数のメモリセルトランジスタの各々は、複数ビットデータを記憶する。第1ワード線は、複数のメモリセルトランジスタのうち複数の第1メモリセルトランジスタに接続される。コントローラは、プログラム動作と第1ベリファイ動作とを含むプログラムループの繰り返しを含むループ処理を実行する。記憶回路は、ステータス情報を記憶する。コントローラは、複数の第1メモリセルトランジスタを対象とした書き込み動作において、ループ処理を実行した後に第2ベリファイ動作を実行し、ループ処理の結果に対応する第1ステータスデータと前記第2ステータスベリファイ動作の結果に対応する第2ステータスデータとを記憶回路に記憶させる。
【図面の簡単な説明】
【0006】
図1】第1実施形態に係るメモリシステムの構成の一例を示すブロック図。
図2】第1実施形態に係るメモリデバイスの構成の一例を示すブロック図。
図3】第1実施形態に係るメモリデバイスが備えるメモリセルアレイの回路構成の一例を示す回路図。
図4】第1実施形態に係るメモリデバイスが備えるロウデコーダモジュールの回路構成の一例を示す回路図。
図5】第1実施形態に係るメモリデバイスが備えるセンスアンプモジュールの回路構成の一例を示す回路図。
図6】第1実施形態に係るメモリデバイスが備えるメモリセルアレイの平面レイアウトの一例を示す平面図。
図7】第1実施形態に係るメモリデバイスが備えるメモリセルアレイの断面構造の一例を示す、図6のVII-VII線に沿った断面図。
図8】第1実施形態に係るメモリデバイスが備えるメモリセルピラーの断面構造の一例を示す、図7のVIII-VIII線に沿った断面図。
図9】第1実施形態に係るメモリシステムにおけるメモリセルトランジスタの閾値電圧分布及びデータの割り当ての一例を示す模式図。
図10】第1実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
図11】第1実施形態に係るメモリシステムの書き込み動作におけるコマンドシーケンスの一例を示す模式図。
図12】第1実施形態に係るメモリシステムの書き込み動作においてメモリデバイスから出力されるステータス情報の一例を示すテーブル。
図13】第1実施形態に係るメモリデバイスの書き込み動作の一例を示すフローチャート。
図14】第1実施形態に係るメモリデバイスの書き込み動作において選択ワード線に印加される電圧の一例を示すタイミングチャート。
図15】第1実施形態に係るメモリデバイスにおける書き込み動作の結果に対応するステータスの組み合わせの一例を示すテーブル。
図16】第1実施形態の第1変形例の書き込み動作における第2ベリファイ動作の対象ページと第2ベリファイ動作の対象ステートとの組み合わせの一例を示すテーブル。
図17】第1実施形態の第2変形例の書き込み動作において第1ベリファイ動作及び第2ベリファイ動作で使用されるベリファイ電圧の設定の一例を示す閾値電圧分布図。
図18】第1実施形態の第3変形例の書き込み動作におけるビット無視数の設定の一例を示す閾値電圧分布図。
図19】第2実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
図20】第2実施形態の変形例における書き込み動作の一例を示すフローチャート。
図21】第3実施形態に係るメモリデバイスの書き込み動作の一例を示すフローチャート。
図22】第4実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
図23】第4実施形態に係るメモリシステムの書き込み動作におけるコマンドシーケンスの一例を示す模式図。
図24】第4実施形態に係るメモリシステムの書き込み動作においてメモリデバイスから出力されるステータス情報の一例を示すテーブル。
図25】第5実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。
図26】第5実施形態に係るメモリシステムの書き込み動作においてメモリデバイスから出力されるステータス情報の一例を示すテーブル。
図27】第5実施形態に係るメモリデバイスの書き込み動作において選択ワード線に印加される電圧の一例を示すタイミングチャート。
【発明を実施するための形態】
【0007】
以下に、実施形態について図面を参照して説明する。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。図面は模式的又は概念的なものであり、各図面の寸法及び比率等は必ずしも現実のものと同一とは限らない。本発明の技術的思想は、構成要素の形状、構造、配置等によって特定されるものではない。
【0008】
尚、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同様に、参照符号を構成する数字の後の文字は、同じ数字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。
【0009】
[1]第1実施形態
以下に、第1実施形態に係るメモリシステム1について説明する。
【0010】
[1-1]構成
[1-1-1]メモリシステム1の全体構成
図1は、第1実施形態に係るメモリシステム1の構成の一例を示すブロック図である。図1に示すように、メモリシステム1は、例えば、メモリセット10及びメモリコントローラ20を備える。メモリシステム1は、外部のホスト機器30に接続され、ホスト機器30からの命令に応じた動作を実行し得る。
【0011】
メモリセット10は、複数のメモリデバイスMD0~MD15を含む。各メモリデバイスMDは、データを不揮発に記憶するNAND型フラッシュメモリであり、互い異なる半導体チップに形成される。メモリセット10に含まれたメモリデバイスMDの個数は、任意の個数に設計され得る。メモリデバイスMDの詳細な構成については後述する。
【0012】
メモリコントローラ20は、例えばSoC(System on Chip)であり、ホスト機器30からの命令に応答してメモリデバイスMD0~MD15のそれぞれに対して読み出し、書き込み、及び消去等を命令する。メモリコントローラ20は、例えばCPU(Central Processing Unit)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、ECC(Error Correction Code)回路24、ホストインターフェイス回路25、及びNANDインターフェイス回路26を含む。
【0013】
CPU21は、メモリコントローラ20全体の動作を制御する。CPU21は、例えばホスト機器30から受信した命令に応じたコマンドを発行して、発行したコマンドをメモリデバイスMDに送信する。また、CPU21は、ガベージコレクションやウェアレベリング等、メモリデバイスMDの記憶空間を管理するための様々な処理を実行し得る。
【0014】
ROM22は、データを不揮発に保持する読み出し専用の記憶装置である。ROM22は、例えばメモリコントローラ20の制御プログラムや制御データ等を記憶する。
【0015】
RAM23は、CPU21の作業領域として使用される記憶装置である。RAM23は、例えばメモリデバイスMDの記憶領域を管理するためのルックアップテーブルLUTを記憶する。RAM23としては、例えばDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリが使用される。また、RAM23は、メモリコントローラ20の一時的な記憶領域としても使用される。RAM23は、例えばホスト機器30から受信した書き込みデータや、メモリデバイスMDから受信した読み出しデータ等を一時的に記憶する。尚、メモリコントローラ20には、RAM23のような記憶装置が外部接続されてもよい。
【0016】
ECC回路24は、データのエラー訂正処理を実行する。例えば、書き込み動作時に、ECC回路24は、ホスト機器30から受信した書き込みデータに基づいてパリティを生成し、生成したパリティを書き込みデータに付与する。読み出し動作時に、ECC回路24は、メモリデバイスMDから受信した読み出しデータに基づいてシンドロームを生成し、生成したシンドロームに基づいて読み出しデータのエラーの検出及び訂正をする。
【0017】
ホストインターフェイス回路25は、ホスト機器30と接続され、メモリコントローラ20とホスト機器30との間のデータ、コマンド、及びアドレスの転送を制御する。ホストインターフェイス回路25は、SATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(PCI Express)TM等の通信インターフェイス規格をサポートし得る。
【0018】
NANDインターフェイス回路26は、メモリデバイスMDと接続され、メモリデバイスMDとメモリコントローラ20との間におけるデータ、コマンド、及びアドレスの転送を制御する。NANDインターフェイス回路26とメモリデバイスMDとの間の接続は、NANDインターフェイス規格をサポートする。例えば、NANDインターフェイス回路26は、並列に制御可能であるチャネルCH0~CH3を備える。チャネルCH0は、メモリデバイスMD0、MD4、MD8及びMD12に接続される。チャネルCH1は、メモリデバイスMD1、MD5、MD9及びMD13に接続される。チャネルCH2は、メモリデバイスMD2、MD6、MD10及びMD14に接続される。チャネルCH3は、メモリデバイスMD3、MD7、MD11及びMD15に接続される。
【0019】
並列に制御される複数のメモリデバイスMDの組は、例えば“バンク”と呼ばれる。本例では、メモリセット10が、4つのバンクB0~B3を含んでいる。バンクB0は、メモリデバイスMD0~MD3を含み、バンクB1は、メモリデバイスMD4~MD7を含み、バンクB2は、メモリデバイスMD8~MD11を含み、バンクB3は、メモリデバイスMD12~MD15を含んでいる。共通のチャネルCHに接続された複数のメモリデバイスMDは、メモリデバイスMDとNANDインターフェイス回路26との間の通信を伴う動作を除き、並列に動作することが出来る。メモリセット10が備えるメモリデバイスMDの数と、バンク及びチャネルの構成とは、任意に設計され得る。
【0020】
[1-1-2]メモリデバイスMDの構成
図2は、第1実施形態に係るメモリデバイスMDの構成の一例を示すブロック図である。図2に示すように、メモリデバイスMDは、例えば、入出力回路101、レジスタセット102、ロジック制御回路103、シーケンサ104、レディビジー制御回路105、ドライバ回路106、メモリセルアレイ107、ロウデコーダモジュール108、センスアンプモジュール109、及びカウンタ110を含む。
【0021】
入出力回路101は、例えば8ビット幅の入出力信号I/O0~I/O7を、メモリコントローラ20との間で送受信する。入出力信号I/Oは、データ、ステータス情報、アドレス情報、コマンド等を含み得る。また、入出力回路101は、センスアンプモジュール109との間でデータDATを送受信する。
【0022】
レジスタセット102は、ステータスレジスタ(STS Reg)102A、アドレスレジスタ(ADD Reg)102B、及びコマンドレジスタ(CMD Reg)102Cを含む。ステータスレジスタ102A、アドレスレジスタ102B、及びコマンドレジスタ102Cは、それぞれステータス情報STS、アドレス情報ADD、及びコマンドCMDを保持する。ステータス情報STSは、メモリコントローラ20からの指示に基づいてステータスレジスタ102Aから入出力回路101に転送され、メモリコントローラ20に出力される。アドレス情報ADDは、入出力回路101からアドレスレジスタ102Bに転送され、ブロックアドレス、ページアドレス、カラムアドレス等を含み得る。コマンドCMDは、入出力回路101からコマンドレジスタ102Cに転送され、メモリデバイスMDの各種動作に関する命令を含む。
【0023】
ロジック制御回路103は、メモリコントローラ20から受信した制御信号に基づいて、入出力回路101及びシーケンサ104のそれぞれを制御する。このような制御信号としては、例えば、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn、及びライトプロテクト信号WPnが使用される。チップイネーブル信号CEnは、メモリデバイスMDをイネーブルにする信号である。コマンドラッチイネーブル信号CLEは、受け取った入出力信号I/OがコマンドCMDであることを入出力回路101に通知する信号である。アドレスラッチイネーブル信号ALEは、受け取った入出力信号I/Oがアドレス情報ADDであることを入出力回路101に通知する信号である。ライトイネーブル信号WEnは、入出力信号I/Oの入力を入出力回路101に命令する信号である。リードイネーブル信号REnは、入出力信号I/Oの出力を入出力回路101に命令する信号である。ライトプロテクト信号WPnは、電源のオンオフ時にメモリデバイスMDを保護状態にする信号である。
【0024】
シーケンサ104は、メモリデバイスMDの全体の動作を制御する。例えば、シーケンサ104は、コマンドレジスタ102Cに保持されたコマンドCMDと、アドレスレジスタ102Bに保持されたアドレス情報ADDとに基づいて、読み出し動作、書き込み動作、消去動作等を実行する。また、シーケンサ104は、メモリデバイスMDの動作及び状態に基づいて、ステータスレジスタ102A内のステータス情報STSを更新する。
【0025】
レディビジー制御回路105は、シーケンサ104の動作状態に基づいて、レディビジー信号RBnを生成する。レディビジー信号RBnは、メモリデバイスMDがレディ状態であるかビジー状態であるかを、メモリコントローラ20に通知する信号である。本明細書において“レディ状態”は、メモリデバイスMDがメモリコントローラ20からの命令を受け付ける状態であることを示し、“ビジー状態”は、メモリデバイスMDがメモリコントローラ20からの命令を受け付けない状態であることを示している。
【0026】
ドライバ回路106は、読み出し動作、書き込み動作、消去動作等で使用される電圧を生成する。そして、ドライバ回路106は、生成した電圧を、メモリセルアレイ107、ロウデコーダモジュール108、及びセンスアンプモジュール109に供給する。
【0027】
メモリセルアレイ107は、複数のブロックBLK0~BLKn(nは1以上の整数)を含んでいる。ブロックBLKは、データを不揮発に記憶することが可能な複数のメモリセルトランジスタの集合である。ブロックBLKは、例えばデータの消去単位として使用される。また、メモリセルアレイ107には、複数のビット線BL0~BLm(mは1以上の整数)と、複数のワード線と、ソース線とが設けられる。各メモリセルトランジスタは、1つのビット線BLと1つのワード線とに関連付けられる。
【0028】
ロウデコーダモジュール108は、ブロックアドレスに基づいて、動作対象のブロックBLKを選択する。そして、ロウデコーダモジュール108は、ドライバ回路106から供給された電圧を、選択したブロックBLK内の各種配線に転送する。また、ロウデコーダモジュール108は、複数のロウデコーダRD0~RDnを含む。ロウデコーダRD0~RDnは、それぞれブロックBLK0~BLKnに関連付けられる。
【0029】
センスアンプモジュール109は、読み出し動作時に、メモリセルアレイ107からデータを読み出し、読み出したデータを入出力回路101に転送する。また、センスアンプモジュール109は、書き込み動作時に、入出力回路101から受け取ったデータに基づいて、ビット線BLに所望の電圧を印加する。例えば、センスアンプモジュール109は、複数のセンスアンプユニットSAU0~SAUmを含む。センスアンプユニットSAU0~SAUmは、それぞれビット線BL0~BLmに関連付けられる。
【0030】
カウンタ110は、例えばセンスアンプモジュール109から転送された“1”データの数、若しくは“0”データの数をカウントする。そして、カウンタ110は、カウント結果をシーケンサ104に転送する。カウンタ110は、例えば書き込み動作時におけるベリファイパスの判定に使用される。
【0031】
[1-1-3]メモリデバイスMDの回路構成
(メモリセルアレイ107の回路構成)
図3は、第1実施形態に係るメモリデバイスMDが備えるメモリセルアレイ107の回路構成の一例を示す回路図である。図3は、1つのブロックBLKを抽出して示している。図3に示すように、ブロックBLKは、ストリングユニットSU0~SU4と、ワード線WL0~WL11と、選択ゲート線SGD0~SGD4と、選択ゲート線SGSとを含む。各ストリングユニットSUは、ビット線BL0~BLmにそれぞれ接続された複数のNANDストリングNSを含む。各NANDストリングNSは、メモリセルトランジスタMT0~MT11、並びに選択トランジスタST1及びST2を含む。
【0032】
各メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を含み、データを不揮発に保持する。選択トランジスタST1及びST2のそれぞれは、各種動作時におけるストリングユニットSUの選択に使用される。ビット線BL0~BLmのそれぞれには、互いに異なるカラムアドレスが割り当てられる。各ビット線BLは、複数のブロックBLKのそれぞれで、複数のNANDストリングNSに接続される。ソース線SLは、例えば複数のブロックBLK間で共有される。
【0033】
各NANDストリングNSのメモリセルトランジスタMT0~MT11は、直列に接続される。直列に接続されたメモリセルトランジスタMT0~MT11の一端と他端は、それぞれ選択トランジスタST1のソースと選択トランジスタST2のドレインとに接続される。各NANDストリングNSの選択トランジスタST1のドレインは、関連付けられたビット線BLに接続される。各NANDストリングNSの選択トランジスタST1のソースは、ソース線SLに接続される。ワード線WL0~WL11は、各NANDストリングNSのメモリセルトランジスタMT0~MT11にそれぞれ接続される。選択ゲート線SGD0~SGD4は、それぞれストリングユニットSU0~SU4に含まれた複数の選択トランジスタST1のそれぞれのゲートに接続される。選択ゲート線SGSは、各NANDストリングNSの選択トランジスタST2のゲートに接続される。
【0034】
尚、メモリセルアレイ107の回路構成は、その他の回路構成であってもよい。各ブロックBLKが含むストリングユニットSUの個数や、各NANDストリングNSが含むメモリセルトランジスタMT並びに選択トランジスタST1及びST2のそれぞれの個数は、自由に設計され得る。本明細書において、1つのストリングユニットSUで共通のワード線WLに接続された複数のメモリセルトランジスタMTの集合は、“セルユニットCU”と呼ばれる。セルユニットCUは、各メモリセルトランジスタMTが1ビットデータを記憶する場合に、“1ページデータ”を記憶する。セルユニットCUは、各メモリセルトランジスタMTが記憶するビット数に応じて、2ページデータ以上の記憶容量を有し得る。
【0035】
(ロウデコーダモジュール108の回路構成)
図4は、第1実施形態に係るメモリデバイスMDが備えるロウデコーダモジュール108の回路構成の一例を示す回路図である。図4は、ロウデコーダモジュール108を介したドライバ回路106及びメモリセルアレイ107の間の接続を示し、1つのロウデコーダRD0の詳細な回路構成を示している。図4に示すように、ロウデコーダモジュール108の各ロウデコーダRDとドライバ回路106との間は、信号線CG0~CG11、SGDD0~SGDD4、SGSD、USGD、及びUSGSを介して接続される。ロウデコーダモジュール108の各ロウデコーダRDと関連付けられたブロックBLKとの間は、ワード線WL0~WL11並びに選択ゲート線SGD0~SGD4を介して接続される。各ロウデコーダRDは、トランジスタTR0~TR23、転送ゲート線TG及びbTG、並びにブロックデコーダBDを含む。
【0036】
トランジスタTR0~TR23のそれぞれは、高耐圧なN型のMOSトランジスタである。トランジスタTR0のドレイン及びソースは、それぞれ信号線SGSD及び選択ゲート線SGSに接続される。トランジスタTR1~TR12のそれぞれのドレインは、それぞれ信号線CG0~CG11に接続される。トランジスタTR1~TR12のそれぞれのソースは、それぞれワード線WL0~WL11に接続される。トランジスタTR13~TR17のそれぞれのドレインは、それぞれ信号線SGDD0~SGDD4に接続される。トランジスタTR13~TR17のそれぞれのソースは、それぞれ選択ゲート線SGD0~SGD4に接続される。トランジスタTR18のドレイン及びソースは、それぞれ信号線USGS及び選択ゲート線SGSに接続される。トランジスタTR19~TR23のそれぞれのドレインは、信号線USGDに接続される。トランジスタTR19~TR23のそれぞれのソースは、それぞれ選択ゲート線SGD0~SGD3に接続される。トランジスタTR0~TR17のそれぞれのゲートは、転送ゲート線TGに接続される。トランジスタTR18~TR23のそれぞれのゲートは、転送ゲート線bTGに接続される。
【0037】
ブロックデコーダBDは、ブロックアドレスBAをデコードし、デコード結果に基づいて、転送ゲート線TG及びbTGのそれぞれに所定の電圧を印加する。言い換えると、ロウデコーダモジュール108は、各ロウデコーダRDのブロックデコーダBDに入力されたブロックアドレスBAに基づいて、ブロックBLKを選択する。具体的には、例えば、選択されたブロックBLKに対応するブロックデコーダBDは、“H”レベル及び“L”レベルの電圧をそれぞれ転送ゲート線TG及びbTGに印加し、非選択のブロックBLKに対応するブロックデコーダBDは、“L”レベル及び“H”レベルの電圧をそれぞれ転送ゲート線TG及びbTGに印加する。これにより、信号線CG0~CG11の電圧が、選択されたブロックBLKのワード線WL0~WL11にそれぞれ転送され、信号線SGDD0~SGDD4及びSGSDの電圧が、選択されたブロックBLKの選択ゲート線SGD0~SGD4及びSGSにそれぞれ転送され、信号線USGD及びUSGSが、非選択のブロックBLKの選択ゲート線SGD及びSGSにそれぞれ転送される。
【0038】
尚、ロウデコーダモジュール108は、その他の回路構成であってもよい。例えば、ロウデコーダモジュール108が含むトランジスタTRの個数は、各ブロックBLKに設けられる配線の本数に応じて変更され得る。信号線CGは、複数のブロックBLK間で共有されることから、“グローバルワード線”と呼ばれてもよい。ワード線WLは、ブロック毎に設けられることから、“ローカルワード線”と呼ばれてもよい。信号線SGDD及びSGSDのそれぞれは、複数のブロックBLK間で共有されることから、“グローバル転送ゲート線”と呼ばれてもよい。選択ゲート線SGD及びSGSのそれぞれは、ブロック毎に設けられることから、“ローカル転送ゲート線”と呼ばれてもよい。
【0039】
(センスアンプモジュール109の回路構成)
図5は、第1実施形態に係るメモリデバイスMDが備えるセンスアンプモジュール109の回路構成の一例を示す回路図である。図5は、1つのセンスアンプユニットSAUを抽出して示している。図5に示すように、センスアンプユニットSAUは、センスアンプ部SA、ビット線接続部BLHU、ラッチ回路SDL、ADL、BDL、CDL、DDL及びXDL、並びにバスLBUSを含む。センスアンプ部SA、並びにラッチ回路SDL、ADL、BDL、CDL、DDL及びXDLは、バスLBUSを介してデータを送受信可能に構成される。
【0040】
センスアンプ部SAは、読み出し動作時に制御信号STBがアサートされると、関連付けられたビット線BLの電圧に基づいて、選択されたメモリセルトランジスタMTから読み出されたデータが“0”であるか“1”であるかを判定する。ラッチ回路SDL、ADL、BDL及びXDLのそれぞれは、読み出しデータや書き込みデータ等を一時的に保持する。ラッチ回路XDLは、センスアンプユニットSAUと入出力回路101との間のデータの入出力に使用される。ラッチ回路XDLは、キャッシュメモリとしても使用され得る。メモリデバイスMDは、少なくともラッチ回路XDLが空いていれば、レディ状態になり得る。ラッチ回路XDLは、カウンタ110にデータを転送することも出来る。
【0041】
センスアンプ部SAは、トランジスタT0~T7、キャパシタCP、並びにノードND1、ND2、SEN及びSRCを含む。ビット線接続部BLHUは、トランジスタT8を含む。ラッチ回路SDLは、インバータIV0及びIV1、トランジスタT10及びT11、並びにノードSINV及びSLATを含む。ラッチ回路ADL、BDL、CDL、DDL及びXDLのそれぞれの回路構成は、ラッチ回路SDLと類似している。トランジスタT0は、P型のMOSトランジスタである。トランジスタT1~T8、T10及びT11のそれぞれは、N型のMOSトランジスタである。トランジスタT8は、センスアンプ部SA内のN型トランジスタよりも高耐圧なN型のMOSトランジスタである。
【0042】
ノードND1は、トランジスタT0のドレインと、トランジスタT1及びT2のそれぞれのドレインとに接続される。ノードND2は、トランジスタT1及びT3のそれぞれのソースと、トランジスタT4及びT5のそれぞれのドレインとに接続される。ノードSENは、トランジスタT2のソースと、トランジスタT3のドレインと、トランジスタT6のゲートと、キャパシタCPの一方電極とに接続される。トランジスタT0のソースは、電源線に接続される。トランジスタT5のソースは、ノードSRCに接続される。トランジスタT6のソースは、接地される。トランジスタT7のドレイン及びソースは、それぞれバスLBUSとトランジスタT6のドレインとに接続される。トランジスタT8のドレイン及びソースは、それぞれトランジスタT4のソースと、関連付けられたビット線BLとに接続される。トランジスタT10及びT11のそれぞれの一端は、バスLBUSに接続される。ノードSINVは、トランジスタT10の他端と、インバータIV0の出力ノードと、インバータIV1の入力ノードと、トランジスタT0及びT5のそれぞれのゲートとに接続される。ノードSLATは、トランジスタT11の他端と、インバータIV0の入力ノードと、インバータIV1の出力ノードとに接続される。
【0043】
トランジスタT0のソースには、例えば電源電圧VDDが印加される。ノードSRCには、例えば接地電圧VSSが印加される。トランジスタT1、T2、T3、T4及びT7のそれぞれのゲートには、それぞれ制御信号BLX、HLL、XXL、BLC及びSTBが入力される。トランジスタT8のゲートには、制御信号BLSが入力される。トランジスタT10及びT11のそれぞれのゲートには、それぞれ制御信号STI及びSTLが入力される。キャパシタCPの他方電極には、クロック信号CLKが入力される。制御信号BLX、HLL、XXL、BLC、STB、BLS、STI及びSTL、並びにクロック信号CLKのそれぞれは、例えばシーケンサ104によって生成される。ラッチ回路SDLのノードSLATは、データの保持に使用される。ラッチ回路SDLのノードSINVは、ノードSLATの反転データの保持に使用される。シーケンサ104は、各ラッチ回路のトランジスタT10及びT11を独立に制御することによって、バスLBUSとの接続をラッチ回路毎に制御し得る。
【0044】
尚、センスアンプモジュール109は、その他の回路構成であってもよい。例えば、各センスアンプユニットSAUが備えるラッチ回路の個数は、5個以下若しくは7個以上であってもよい。センスアンプユニットSAUは、簡単な論理演算を実行することが可能な演算回路を有していてもよい。本例において、制御信号をアサートすることは、“L”レベルの電圧を一時的に“H”レベルの電圧に変化させることに対応する。トランジスタT6がP型のトランジスタである場合、制御信号STBをアサートすることは、“H”レベルの電圧を一時的に“L”レベルの電圧に変化させることに対応する。
【0045】
[1-1-4]メモリデバイスMDの構造
以下に、メモリデバイスMDの構造の一例について説明する。以下で参照される図面において、X方向はワード線WLの延伸方向に対応し、Y方向はビット線BLの延伸方向に対応し、Z方向はメモリデバイスMDの形成に使用される半導体基板の表面に対する鉛直方向に対応する。平面図には、図を見易くするためにハッチングが適宜付加されている。平面図に付加されたハッチングは、関連付けられた構成要素の素材や特性とは必ずしも関連しない。断面図では、図を見易くするために構成の図示が適宜省略されている。
【0046】
(メモリセルアレイ107の平面レイアウト)
図6は、第1実施形態に係るメモリデバイスMDが備えるメモリセルアレイ107の平面レイアウトの一例を示す平面図である。図6に示すように、メモリセルアレイ107は、複数のスリットSLT、複数のスリットSHE、複数のメモリピラーMP、複数のビット線BL、及び複数のコンタクトCVを含む。
【0047】
各スリットSLTは、X方向に沿って延伸して設けられた部分を有する。複数のスリットSLTは、Y方向に並んでいる。メモリセルアレイ107では、スリットSLTによって区切られた領域のそれぞれが、1つのブロックBLKに対応する。各スリットSLTは、当該スリットSLTを介して隣り合う配線(例えば、ワード線WL0~WL11、並びに選択ゲート線SGD及びSGS)を分断している。また、各スリットSLTは、コンタクトLC及びスペーサSPを含む。コンタクトLIは、X方向に沿って延伸して設けられた部分を有する導電体である。コンタクトLIは、ソース線SLの一部として使用される。スペーサSPは、コンタクトLIの側面に設けられた絶縁体である。コンタクトLIは、スペーサSPの組によってY方向に挟まれている。コンタクトLIと、当該コンタクトLIとY方向に隣り合う導電体との間は、スペーサSPによって離隔及び絶縁される。
【0048】
各スリットSHEは、X方向に沿って延伸して設けられた部分を有する。複数のスリットSHEは、Y方向に並んでいる。メモリセルアレイ107では、スリットSLT及びSHEによって区切られた領域のそれぞれが、1つのストリングユニットSUに対応している。本例では、4つのスリットSHEが、隣り合うスリットSLTの間のそれぞれに配置され、各ブロックBLKに5つのストリングユニットSUが設けられている。各スリットSHEは、例えば、絶縁体が埋め込まれた構造を有する。各スリットSHEは、当該スリットSHEを介して隣り合う配線(少なくとも、選択ゲート線SGD)を分断している。
【0049】
各メモリピラーMPは、例えば1つのNANDストリングNSとして機能する。複数のメモリピラーMPは、隣り合う2つのスリットSLTの間の領域において、例えば24列の千鳥状に配置される。そして、本例では、紙面の上側から数えて、5列目のメモリピラーMPと、10列目のメモリピラーMPと、15列目のメモリピラーMPと、20列目のメモリピラーMPとのそれぞれに、1つのスリットSHEが重なっている。
【0050】
各ビット線BLは、Y方向に沿って延伸して設けられた部分を有する。複数のビット線は、X方向に並んでいる。各ビット線BLは、ストリングユニットSU毎に少なくとも1つのメモリピラーMPと重なるように配置される。本例では、各メモリピラーMPに、2本のビット線BLが重なって配置されている。メモリピラーMPに重なっている複数のビット線BLのうち1つのビット線BLと、当該メモリピラーMPとの間には、コンタクトCVが設けられる。各メモリピラーMPは、関連付けられたコンタクトCVを介して、対応するビット線BLと電気的に接続される。本例では、スリットSHEと接触しているメモリピラーMPとビット線BLとの間のコンタクトCVが、省略されている。
【0051】
メモリセルアレイ107には、以上で説明されたレイアウトが、Y方向に繰り返し配置される。尚、メモリセルアレイ107の平面レイアウトは、その他のレイアウトであってもよい。例えば、隣り合うスリットSLTの間に設けられたメモリピラーMPやスリットSHE等の個数及び配置は、適宜変更され得る。隣り合うスリットSLTの間に形成されるストリングユニットSUの個数は、隣り合うスリットSLTの間に配置されたスリットSHEの数に基づいて変更され得る。各メモリピラーMPと重なるビット線BLの数は、1つ若しくは3つ以上であってもよい。
【0052】
(メモリセルアレイ107の断面構造)
図7は、第1実施形態に係るメモリデバイスMDが備えるメモリセルアレイ107の断面構造の一例を示す、図6のVII-VII線に沿った断面図である。図7に示すように、メモリセルアレイ107は、例えば、P型ウェル領域40、N型半導体領域41、導電体層42~46、絶縁体層50~58、メモリピラーMP、コンタクトCV、並びにスリットSLT及びSHEを含む。
【0053】
P型ウェル領域40は、半導体基板の表面近傍に設けられる。P型ウェル領域40は、P型不純物の拡散領域である。N型半導体領域41は、P型ウェル領域40の表面近傍に設けられる。N型半導体領域41は、N型不純物の拡散領域である。N型半導体領域41は、例えばP型ウェル領域40にリンがドープされることにより形成される。
【0054】
P型ウェル領域40の上には、絶縁体層50が設けられる。絶縁体層50の上には、導電体層42と絶縁体層51とが交互に積層される。最上層の導電体層42の上には、絶縁体層52が設けられる。絶縁体層52の上には、導電体層43と絶縁体層53とが交互に積層される。最上層の導電体層43の上には、絶縁体層54が設けられる。絶縁体層54の上には、導電体層44と絶縁体層55とが交互に積層される。最上層の導電体層44の上には、絶縁体層56が設けられる。絶縁体層56の上には、導電体層45と絶縁体層57とが交互に積層される。最上層の導電体層45の上には、絶縁体層58が設けられる。絶縁体層58上には、導電体層46が設けられる。
【0055】
導電体層42、43、44及び45のそれぞれは、例えばXY平面に沿って広がった板状に形成される。導電体層46は、例えばY方向に延伸したライン状に形成される。積層された複数の導電体層42は、選択ゲート線SGSとして使用される。積層された複数の導電体層43は、下層側から順に、それぞれワード線WL0~WL5として使用される。積層された複数の導電体層44は、下層側から順に、それぞれワード線WL6~WL11として使用される。積層された複数の導電体層45は、選択ゲート線SGDとして使用される。導電体層46は、ビット線BLとして使用される。つまり、図示せぬ領域において、複数の導電体層46は、X方向に沿って並んでいる。導電体層42、43、44及び45のそれぞれは、例えばタングステンを含む。導電体層46は、例えば銅を含む。
【0056】
メモリピラーMPは、Z方向に沿って延伸し、且つ導電体層42~45を貫通して設けられる。各メモリピラーMPは、下層のホールLMH内に形成される第1部分と、上層のホールUMH内に形成される第2部分とを有する。第1部分は、導電体層42及び43を貫通し、底部がP型ウェル領域40に接触している。第2部分は、第1部分の上方に設けられ、導電体層44及び45を貫通している。メモリピラーMPは、第1部分と第2部分との間(境界部分)で段差を有する。本明細書では、メモリピラーMPの第1部分と第2部分との境界部分を含む層、すなわち絶縁体層54が設けられた層のことを、“接合層JT”とも呼ぶ。メモリピラーMPは、接合層JTにおいて外径が太くなった構造を有していてもよい。絶縁体層54の厚さは、絶縁体層53及び55のそれぞれの厚さよりも厚い。言い換えると、最上層の導電体層43と最下層の導電体層44との間隔は、隣り合う導電体層43の間隔と隣り合う導電体層44の間隔とのそれぞれよりも広い。
【0057】
また、各メモリピラーMPは、半導体層60及び積層膜61を含む。半導体層60及び積層膜61のそれぞれは、メモリピラーMPの第1部分と第2部分との間で連続的に設けられる。半導体層60は、Z方向に沿って延伸して設けられる。半導体層60の上端は、最上層の導電体層45よりも上層に含まれる。半導体層60の下端は、P型ウェル領域40に接触している。積層膜61は、半導体層60の側面を覆っている。メモリピラーMPと複数の導電体層42とが交差した部分は、選択トランジスタST2として機能する。メモリピラーMPと1つの導電体層43とが交差した部分と、メモリピラーMPと1つの導電体層44とが交差した部分とのそれぞれは、メモリセルトランジスタMTとして機能する。メモリピラーMPと複数の導電体層45とが交差した部分は、選択トランジスタST1として機能する。メモリピラーMPの詳細な断面構造については後述する。
【0058】
各メモリピラーMP内の半導体層60の上には、柱状のコンタクトCVが設けられる。コンタクトCVの上には、1つの導電体層46、すなわち1つのビット線BLが接触している。上述されたように、1つの導電体層46には、スリットSLT及びSHEによって区切られた空間毎に、1つのコンタクトCVが接続される。
【0059】
スリットSLTは、導電体層42~45、及び絶縁体層50~57を分断している。スリットSLTの上端の位置は、絶縁体層58が設けられたレベルに含まれる。スリットSLTの下端は、N型半導体領域41に接触している。コンタクトLIの底部は、N型半導体領域41と電気的に接続される。コンタクトLIと、導電体層42~45との間は、スペーサSPによって離隔及び絶縁される。
【0060】
スリットSHEは、複数の導電体層45を分断している。スリットSHEの上端の位置は、絶縁体層58が設けられたレベルに含まれる。スリットSHEの下端の位置は、例えば、絶縁体層56が設けられたレベルに含まれる。尚、スリットSHEは、1つ以上の導電体層44を分断していてもよい。
【0061】
尚、メモリセルアレイ107の断面構造は、その他の構造であってもよい。例えば、メモリピラーMPは、ソース線SLとして機能する導電体層の上に形成されてもよい。メモリセルアレイ107が半導体基板の上方に設けられ、メモリセルアレイ107の下方にセンスアンプモジュール109等の周辺回路が設けられてもよい。メモリピラーMPは、連結された3つ以上のホールを利用して形成された構造を有していてもよいし、1つのホールを利用して形成された構造を有していてもよい。導電体層42~45のそれぞれの層数は、メモリセルアレイ107が備える配線の数に応じて適宜変更され得る。
【0062】
(メモリピラーMPの断面構造)
図8は、第1実施形態に係るメモリデバイスMDが備えるメモリピラーMPの断面構造の一例を示す、図7のVIII-VIII線に沿った断面図である。図8に示すように、積層膜61は、例えば、トンネル絶縁膜62、絶縁膜63、及びブロック絶縁膜64を含む。導電体層44を含む断面において、半導体層60は、メモリピラーMPの中央部分に設けられる。半導体層60の側面は、トンネル絶縁膜62によって囲まれている。トンネル絶縁膜62の側面は、絶縁膜63によって囲まれている。絶縁膜63の側面は、ブロック絶縁膜64によって囲まれている。ブロック絶縁膜64の側面は、導電体層44によって囲まれている。
【0063】
トンネル絶縁膜62及びブロック絶縁膜64の各々は、例えば酸化シリコンを含む。絶縁膜63は、例えば窒化シリコンを含む。半導体層60は、メモリセルトランジスタMT0~MT11並びに選択トランジスタST1及びST2のチャネル(電流経路)として機能する。絶縁膜63は、メモリセルトランジスタMTの電荷蓄積層として使用される。メモリデバイスMDは、メモリセルトランジスタMT0~MT11並びに選択トランジスタST1及びST2をオンさせることによって、ビット線BLとコンタクトLI(ソース線SL)との間でメモリピラーMPを介した電流を流すことが出来る。尚、メモリピラーMPの断面構造は、その他の構造であってもよい。例えば、メモリピラーMPの中央部分には、半導体層60によって側面が囲まれた絶縁体やボイドが設けられてもよい。
【0064】
[1-1-5]データの記憶方式
図9は、第1実施形態に係るメモリシステム1におけるメモリセルトランジスタMTの閾値電圧分布及びデータの割り当ての一例を示す模式図である。縦軸の“NMTs”は、メモリセルトランジスタMTの個数を示している。横軸の“Vth”は、メモリセルトランジスタMTの閾値電圧を示している。以下に、図9を参照して、メモリセルトランジスタMTの閾値電圧分布及びデータの割り当ての一例について説明する。
【0065】
各メモリセルトランジスタMTが3ビットデータを記憶する場合に、8つのステートが、複数のメモリセルトランジスタMTの閾値電圧により形成される。本明細書では、この8つのステートのことを、閾値電圧の低い方から順に、それぞれ“S0”ステート、“S1”ステート、“S2”ステート、“S3”ステート、“S4”ステート、“S5”ステート、“S6”ステート、“S7”ステートと呼ぶ。“S0”~“S7”ステートのそれぞれには、互いに異なる3ビットデータが割り当てられる。言い換えると、互いに異なる3ビットデータが、メモリセルトランジスタMTの閾値電圧の高さに応じて設定された複数のステートのそれぞれに割り当てられる。以下に、8つのステートに対するデータの割り付けの一例を羅列する。
“S0”ステート:“111(上位ビット/中位ビット/下位ビット)”データ
“S1”ステート:“110”データ
“S2”ステート:“100”データ
“S3”ステート:“000”データ
“S4”ステート:“010”データ
“S5”ステート:“011”データ
“S6”ステート:“001”データ
“S7”ステート:“101”データ。
【0066】
隣り合うステートの間のそれぞれには、読み出し電圧及びベリファイ電圧が設定される。具体的には、読み出し電圧R1は、“S0”及び“S1”ステートの間に設定される。読み出し電圧R2は、“S1”及び“S2”ステートの間に設定される。読み出し電圧R3は、“S2”及び“S3”ステートの間に設定される。読み出し電圧R4は、“S3”及び“S4”ステートの間に設定される。読み出し電圧R5は、“S4”及び“S5”ステートの間に設定される。読み出し電圧R6は、“S5”及び“S6”ステートの間に設定される。読み出し電圧R7は、“S6”及び“S7”ステートの間に設定される。ベリファイ電圧V1~V7は、ベリファイ動作において、“S1”~“S7”ステートのそれぞれのベリファイ読み出しにそれぞれ使用される。ベリファイ電圧V1~V7は、それぞれ読み出し電圧R1~R7と同じであってもよいし、異なっていてもよい。また、読み出しパス電圧VREADが、最も閾値電圧が高いステート“S7”よりも高い電圧に設定される。読み出しパス電圧VREADがゲートに印加されたメモリセルトランジスタMTは、記憶するデータに依らずにオン状態になる。
【0067】
このようなデータの割り当てが適用された場合、下位ビットで構成される1ページデータ(下位ページデータ)は、読み出し電圧R1及びR5を用いた読み出し動作によって確定する。中位ビットで構成される1ページデータ(中位ページデータ)は、読み出し電圧R2、R4及びR6を用いた読み出し動作によって確定する。上位ビットで構成される1ページデータ(上位ページデータ)は、読み出し電圧R3及びR7を用いた読み出し動作によって確定する。複数の読み出し電圧が使用されるページの読み出し動作では、演算処理がセンスアンプユニットSAU内で適宜実行される。尚、3ビットデータの記憶方式として、その他のデータの割り当てが使用されてもよい。各メモリセルトランジスタMTには、1ビット、2ビット、又は4ビット以上のデータが記憶されてもよい。
【0068】
[1-2]動作
次に、第1実施形態に係るメモリシステム1の動作について説明する。以下では、選択されたワード線WLのことを“WLsel”と呼ぶ。ワード線WLに電圧が印加されることは、ドライバ回路106がロウデコーダモジュール108を介して当該ワード線WLに電圧を印加することに対応する。メモリデバイスMDが受信したアドレス情報ADD及びコマンドCMDは、それぞれアドレスレジスタ102B及びコマンドレジスタ102Cに転送される。メモリデバイスMDが受信した書き込みデータは、センスアンプモジュール109に含まれた各センスアンプユニットSAU内のラッチ回路XDLに転送される。
【0069】
[1-2-1]書き込み動作の概要
(書き込み動作の流れ)
図10は、第1実施形態に係るメモリシステム1の書き込み動作の一例を示すフローチャートである。以下に、図10を参照して、メモリシステム1の書き込み動作の流れについて説明する。
【0070】
ホスト機器30がメモリシステム1に書き込みデータを送信すると、メモリコントローラ20は、図10の一連の処理を開始する(開始)。
【0071】
まず、メモリコントローラ20は、ホスト機器30から書き込みデータを受信する(ステップS100)。メモリコントローラ20により受信された書き込みデータは、例えばRAM23に格納される。
【0072】
次に、メモリコントローラ20は、書き込みデータの書き込み先を決定する(ステップS101)。書き込み先の決定には、例えばRAM23に展開された記憶領域の管理テーブルが参照される。
【0073】
次に、メモリコントローラ20は、メモリデバイスMDに書き込み動作を実行させる(ステップS102)。具体的には、メモリコントローラ20は、書き込み動作を指示するコマンドや書き込みデータをメモリデバイスMDに送信し、これらのコマンドや書き込みデータを受信したメモリデバイスMDが、書き込み動作を実行する。
【0074】
メモリデバイスMDの書き込み動作が完了すると、メモリコントローラ20は、メモリデバイスMDからステータス情報STSを読み出し、書き込み動作のステータスがパスになっているか否かを確認する(ステップS103)。すなわち、メモリコントローラ20は、ステータス情報STSに基づいて、データの書き込みに成功したか否かを判定する。以下では、メモリコントローラ20がメモリデバイスMDからステータス情報STSを読み出す動作のことを、“ステータスリード”とも呼ぶ。
【0075】
ステップS103の処理においてステータスパスが確認されなかった場合(ステップS103,NO)、すなわちステータスフェイルが確認された場合、メモリコントローラ20は、データの書き込みに失敗したブロックBLKをバッドブロックに登録する(ステップS104)。そして、メモリコントローラ20は、ステップS101の処理に進む。すなわち、メモリコントローラ20は、書き込み先を変更して書き込み動作をリトライする。
【0076】
ステップS103の処理においてステータスパスが確認された場合(ステップS103,ES)、メモリコントローラ20は、データの書き込みに成功したアドレスに基づいて、ルックアップテーブルLUTを更新する(ステップS105)。
【0077】
ステップS105の処理の後に、メモリコントローラ20は、RAM23に保持された書き込みデータを破棄して、図10の一連の処理を終了する(終了)。
【0078】
(書き込み動作のコマンドシーケンス)
図11は、第1実施形態に係るメモリシステム1の書き込み動作におけるコマンドシーケンスの一例を示す模式図である。図11は、メモリコントローラ20とメモリデバイスMDとの間の入出力信号I/Oのやりとりと、レディビジー状態の変化を示している。以下に、図11を参照して、書き込み動作のコマンドシーケンスについて説明する。
【0079】
まず、図11(1)に示すように、メモリコントローラ20は、書き込み先のセルユニットCUに割り当てられた3ページデータのうち1ページ目のデータ(TLCモードにおける下位ページデータ)を含むコマンドセットを、メモリデバイスMDに転送する。具体的には、メモリコントローラ20が、コマンド“01h”、コマンド“80h”、アドレス情報“ADD”、下位ページの書き込みデータ“Din”、コマンド“1Ah”を、この順番に、メモリデバイスMDに送信する。コマンド“01h”は、1ページ目のデータに対応する動作を指示するコマンドである。コマンド“80h”は、書き込み動作を指示するコマンドである。アドレス情報“ADD”は、書き込み先のセルユニットCUに割り当てられたアドレスを含んでいる。コマンド“1Ah”は、ラッチ回路XDLに保持されたデータの、その他のラッチ回路への転送を指示するコマンドである。メモリデバイスMDは、コマンド“1Ah”を受信すると、一時的にビジー状態に遷移して、下位ページデータをラッチ回路XDLから例えばラッチ回路ADLに転送させる。
【0080】
次に、図11(2)に示すように、メモリコントローラ20は、書き込み先のセルユニットCUに割り当てられた3ページデータのうち2ページ目のデータ(TLCモードにおける中位ページデータ)を含むコマンドセットを、メモリデバイスMDに転送する。具体的には、メモリコントローラ20は、コマンド“02h”、コマンド“80h”、アドレス情報“ADD”、中位ページの書き込みデータ“Din”、コマンド“1Ah”を、この順番に、メモリデバイスMDに送信する。コマンド“02h”は、2ページ目のデータに対応する動作を指示するコマンドである。メモリデバイスMDは、コマンド“1Ah”を受信すると、一時的にビジー状態に遷移して、中位ページデータをラッチ回路XDLから例えばラッチ回路BDLに転送させる。
【0081】
次に、図11(3)に示すように、メモリコントローラ20は、書き込み先のセルユニットCUに割り当てられた3ページデータのうち3ページ目のデータ(TLCモードにおける上位ページデータ)を含むコマンドセットを、メモリデバイスMDに転送する。具体的には、メモリコントローラ20は、コマンド“03h”、コマンド“80h”、アドレス情報ADD”、上位ページの書き込みデータ“Din”、コマンド“10h”を、この順番に、メモリデバイスMDに送信する。コマンド“03h”は、3ページ目のデータに対応する動作を指示するコマンドである。コマンド“10h”は、例えばラッチ回路XDLに格納された上位ページデータをラッチ回路CDLに転送させた後に書き込み動作を開始することを指示するコマンドである。
【0082】
メモリデバイスMDは、コマンド“10h”を受信すると、図11(4)に示すように、レディ状態(RBn=“H”レベル)からビジー状態(RBn=“L”レベル)に遷移する。すると、メモリデバイスMDは、例えばラッチ回路ADL、BDL及びCDLに格納された3ビットデータを用いて、書き込み動作を実行する。書き込み動作が完了すると、メモリデバイスMDは、ビジー状態からレディ状態に遷移して、書き込み動作の完了をメモリコントローラ20に通知する。図示された“tProg”は、メモリデバイスMDが書き込み動作を実行している時間に対応する。
【0083】
書き込み動作が完了して、メモリデバイスMDがビジー状態からレディ状態に遷移すると、図11(5)に示すように、メモリコントローラ20は、第1ステータスリードを実行する。具体的には、メモリコントローラ20は、コマンド“70h”を、メモリデバイスMDに送信する。コマンド“70h”を受信したメモリデバイスMDは、ステータスレジスタ102Aに格納されたステータス情報“Sout”を、メモリコントローラ20に送信する。このステータス情報“Sout”は、直前に実行された書き込み動作のステータス情報STSを含んでいる。そして、メモリコントローラ20は、ステータス情報“Sout”を参照して、書き込み動作のステータスを確認する(図10のステップS103)。
【0084】
図12は、第1実施形態に係るメモリシステム1の書き込み動作においてメモリデバイスMDから出力されるステータス情報STS(Sout)の一例を示すテーブルである。図12に示すように、第1ステータスリードによって出力されるステータス情報STSは、書き込み結果を示すデータを含む。書き込み結果を示すデータは、例えばI/O0を介して送信される。例えば、ステータス情報STSのI/O0に格納されたデータ“0”は、書き込み動作が正常に完了したことを示す。ステータス情報STSのI/O0に格納されたデータ“1”は、書き込み動作が正常に完了しなかったこと、例えば、所定の回数のプログラムループで書き込みが完了しなかったことを示す。尚、ステータス情報に含まれる各データは、“ステータスデータ”と呼ばれてもよい。
【0085】
ステータス情報STSは、例えば、メモリデバイスMDが動作を実行中であるか否かを示すデータ(True busyn)と、キャッシュが空いたか否かを示すデータ(Cache busyn)と、ライトプロテクト信号WPnとを含んでいてもよい。例えば、True busyn、Cache busyn、及びWPnは、それぞれI/O5、I/O6及びI/O7を介して送信される。書き込み動作の後に読み出されるステータス情報STSは、少なくとも書き込み結果を示すデータを含んでいればよい。尚、第1ステータスリードにおけるステータス情報STSの入出力信号I/Oに対する割り当ては、その他の割り当てであってもよい。
【0086】
[1-2-2]メモリデバイスMDの動作
(メモリデバイスMDによる書き込み動作の流れ)
図13は、第1実施形態に係るメモリデバイスMDの書き込み動作の一例を示すフローチャートである。以下に、図13を参照して、メモリデバイスMDの書き込み動作の流れについて説明する。
【0087】
メモリデバイスMDがメモリコントローラ20から書き込み動作を指示するコマンドと書き込みデータと受信すると、メモリデバイスMDのシーケンサ104は、図10の一連の処理を開始する(開始)。
【0088】
まず、シーケンサ104は、プログラム動作を実行する(ステップS110)。プログラム動作は、書き込み対象のメモリセルトランジスタMTにプログラム電圧を印加する動作である。プログラム動作では、選択されたセルユニットCU内のメモリセルトランジスタMTが、センスアンプユニットSAU内に保持された書き込みデータに基づいて、プログラム対象又はプログラム禁止に設定される。プログラム対象のメモリセルトランジスタMTでは、プログラム動作によって閾値電圧が上昇する。一方で、プログラム禁止のメモリセルトランジスタMTでは、プログラム動作による閾値電圧の上昇が抑制される。
【0089】
次に、シーケンサ104は、第1ベリファイ動作を実行する(ステップS111)。第1ベリファイ動作は、書き込み対象のメモリセルトランジスタMTの閾値電圧が所望のステートに達したかどうかを判定する読み出し動作である。書き込み動作では、プログラム動作と第1ベリファイ動作との組が複数回実行される。以下では、1回のプログラム動作と1回の第1ベリファイ動作との組のことを、“プログラムループ”と呼ぶ。第1ベリファイ動作が完了すると、第1ベリファイ動作の結果が、カウンタ110に転送される。カウンタ110は、例えば、ステート毎に、第1ベリファイ動作にパスしていないメモリセルトランジスタMTの数をカウントする。
【0090】
次に、シーケンサ104が、カウンタ110のカウント結果に基づいて、ベリファイ対象のステートの書き込みが完了しているか否か、すなわちプログラムパスであるか否かを判定する(ステップS112)。
【0091】
ステップS112の処理において“プログラムパス”が確認されなかった場合(ステップS112、NO)、シーケンサ104は、“Nloop>NloopMAX”が満たされているか否かを確認する(ステップS113)。すなわち、シーケンサ104は、現在のプログラムループの回数Nloopが、所定のループ数NloopMAXを超えているか否かを判定する。
【0092】
ステップS113の処理において“Nloop>NloopMAX”が満たされていない場合(ステップS113、NO)、シーケンサ104は、プログラム電圧VPGMをステップアップさせる(ステップS114)。詳細は図14を参照して後述する。その後、シーケンサ104は、ステップS110の処理に進む。すなわち、シーケンサ104は、次のプログラムループを実行する。
【0093】
ステップS113の処理において“Nloop>NloopMAX”が満たされている場合(ステップS113、YES)、シーケンサ104は、ステップS115の処理に進む。また、ステップS112の処理において“プログラムパス”が確認された場合(ステップS112、YES)、すなわち全てのステートのプログラムパスが検知された場合に、シーケンサ104は、ステップS115の処理に進む。
【0094】
ステップS115の処理において、シーケンサ104は、第2ベリファイ動作を実行する(ステップS115)。第2ベリファイ動作は、複数回のプログラムループの処理(以下、ループ処理と呼ぶ)が完了した後に実行されるベリファイ動作である。第1実施形態の第2ベリファイ動作では、第1ベリファイ動作と同じベリファイ電圧が使用される。
【0095】
ステップS115の処理の後に、シーケンサ104は、ステータス情報STSを更新する(ステップS116)。ステップS116の処理において、シーケンサ104は、本書き込み動作において、“ステップS112,YES”の処理が実行された場合にプログラムステータスパスの情報をステータスレジスタ102Aに格納し、“ステップS113,YES”の処理が実行された場合にプログラムステータスフェイルの情報をステータスレジスタ102Aに格納する。また、シーケンサ104は、第2ベリファイ動作の結果を、ステータスレジスタ102Aに格納する。
【0096】
ステップS116の処理の後に、シーケンサ104は、図13の一連の処理を終了する(終了)。
【0097】
(書き込み動作におけるメモリデバイスMDの詳細な動作)
図14は、第1実施形態に係るメモリデバイスMDの書き込み動作において選択ワード線WLselに印加される電圧の一例を示すタイミングチャートである。図14は、書き込み動作における、レディビジー信号RBnと選択ワード線WLselに印加される電圧とのそれぞれの状態を示している。尚、書き込み動作を開始する前の選択ワード線WLselの電圧は、例えばVSSである。時刻t0は、メモリデバイスMDの書き込み動作の開始時刻に対応し、時刻t1は、第2ベリファイ動作の開始時刻に対応し、時刻t2は、メモリデバイスMDの書き込み動作の終了時刻に対応する。図11に示すように、シーケンサ104は、書き込み動作が開始すると、メモリデバイスMDをレディ状態からビジー状態に遷移させ、ループ処理を実行する。
【0098】
プログラム動作では、選択されたワード線WLselにプログラム電圧VPGMが印加される。プログラム電圧VPGMは、メモリセルトランジスタMTの閾値電圧を上昇させることが可能な高電圧である。選択されたワード線WLselにプログラム電圧VPGMが印加されると、プログラム対象のメモリセルトランジスタMTの閾値電圧が上昇する。プログラム電圧VPGMは、プログラムループが繰り返される度にステップアップされ、実行されたプログラムループの回数に応じて高くなる。
【0099】
第1ベリファイ動作では、ベリファイ電圧を用いた読み出し動作が実行される。つまり、ベリファイ電圧が印加されている間に、制御信号STBがアサートされる。各センスアンプユニットSAUは、保持する書き込みデータに応じたベリファイ電圧を超えたか否かを判定する。ベリファイ動作において、選択されたワード線WLselに印加されるベリファイ電圧の種類及び数は、プログラムループの進行に応じて適宜変更される。例えば、初回のプログラムループでは、ベリファイ電圧V1を用いた読み出し動作が実行される。
【0100】
シーケンサ104は、全てのステートのプログラムパスを検知する(S112,YES)、又はプログラムループの回数が所定の回数を超えたこと(S113,YES)を検知すると、第2ベリファイ動作を開始する。第2ベリファイ動作の開始時に、各センスアンプユニットSAUは、プログラムループで参照した書き込みデータをそのまま保持している。第2ベリファイ動作では、選択されたワード線WLselに、例えばベリファイ電圧V1~V7が順に印加される。そして、ベリファイ電圧V1~V7のそれぞれが印加されている間のそれぞれで制御信号STBがアサートされ、各センスアンプユニットSAUは、保持する書き込みデータに応じたベリファイ電圧が印加されている際の読み出し結果を、内部のいずれかのラッチ回路に格納する。
【0101】
それから、シーケンサ104は、ステップS116の処理を実行する。その後に、シーケンサ104は、メモリデバイスMDをビジー状態からレディ状態に遷移させる。すなわち、シーケンサ104は、ループ処理の結果と第2ベリファイ動作の結果とに基づいてステータス情報STSを更新すると、メモリデバイスMDをレディ状態に遷移させる。
【0102】
(メモリデバイスMDが出力するステータスリード結果)
図15は、第1実施形態に係るメモリデバイスMDにおける書き込み動作の結果に対応するステータスの組み合わせの一例を示すテーブルである。以下に、図15を参照して、メモリデバイスMDが出力するステータスリード結果について説明する。
【0103】
本テーブルにおける“パラメータ”は、“プログラムステータス”と、“第2ベリファイステータス”と、“出力情報(書き込み結果)”とを含む。“プログラムステータス”は、書き込み動作において、図13の“ステップS112,YES”の処理が実行された場合に“パス(例えば“0”データ)”に設定され、図13の“ステップS113,YES”の処理が実行された場合に“フェイル(例えば“1”データ)”に設定される。“第2ベリファイステータス”は、第2ベリファイ動作において、ベリファイ読み出しが実行されたステートのベリファイに全てパスしていた場合に“パス”に設定され、ベリファイ読み出しが実行されたステートのベリファイの少なくとも1つがフェイルしていた場合に“フェイル”に設定される。本例において、“出力情報”は、“プログラムステータス”と“第2ベリファイステータス”の論理和演算の結果に対応する。
【0104】
本テーブルにおける“ステータス”は、“パラメータ”の組み合わせに対応し、本例では(1)~(4)の4種類の組み合わせを有する。図15の(1)は、“プログラムステータス”と、“第2ベリファイステータス”とのそれぞれが、“パス”である組み合わせである。図15の(2)は、“プログラムステータス”が“パス”、“第2ベリファイステータス”が“フェイル”である組み合わせである。図15の(3)は、“プログラムステータス”と、“第2ベリファイステータス”とのそれぞれが、“フェイル”である組み合わせである。図15の(4)は、“プログラムステータス”が“フェイル”、“第2ベリファイステータス”が“パス”である組み合わせである。このため、“プログラムステータス”と“第2ベリファイステータス”との論理和演算が実行された場合における(1)、(2)、(3)、及び(4)のそれぞれの出力情報は、それぞれ“パス”、“フェイル”、“フェイル”、及び“フェイル”となる。
【0105】
メモリコントローラ20は、第1ステータスリードにより、出力情報(書き込み結果)に対応するステータスデータがステータスフェイルの情報を格納していることを検知すると、直前に書き込み動作を実行したブロックBLKをバッドブロックとして、例えばRAM23に記憶された管理テーブル登録する。そして、メモリコントローラ20は、バッドブロックとして登録されたブロックBLKを、以後の動作で使用しない。
【0106】
[1-3]第1実施形態の効果
以上で説明された第1実施形態に係るメモリデバイスMDに依れば、データの信頼性を向上させることが出来る。以下に、第1実施形態に係るメモリデバイスMDの効果の詳細について説明する。
【0107】
メモリデバイスは、例えば書き込み動作時に、プログラム動作及びベリファイ動作を含むプログラムループを実行することによって、メモリセルの閾値電圧を書き込みデータに応じた高さまで上昇させる。しかしながら、稀に、書き込み動作のベリファイ動作をパスしたにも関わらず、その後の読み出し動作において読み出し不良が発生する場合がある。この要因としては、ベリファイ読み出し動作時の誤判定や、過書き込みや、読み出し動作時にオンオフが不安定なビットが存在すること等が挙げられる。
【0108】
読み出し不良が発生した場合に、データの損失を防ぐ方法としては、RAID(Redundant Arrays of Inexpensive Disks)による救済を利用することが考えられる。RAIDによるデータの救済能力は、メモリコントローラの性能に依存する。そして、RAIDによりデータが救済できない場合に、データの損失が発生し、当該ブロックがバッドブロックとして登録される。一方で、RAIDの救済モードが使用されるとレイテンシが低下するため、可能な限りRAIDの救済モードは使用されないことが好ましい。
【0109】
読み出し不良の発生自体を抑制するためには、メモリコントローラが、読み出し不良が発生する前、つまりは書き込み動作中に、読み出し不良になり得るビットを予め検知し、不良になり得るブロックをバッドブロックとして登録し、使用しないことが好ましい。書き込み動作中に不良になり得るビットが検知された場合には、書き込みデータがメモリコントローラのRAMに保持されている、若しくはメモリデバイス自体がパリティビットを保持しているため、メモリコントローラは、他のブロックを対象として書き込み動作をリトライすることが出来、直近の読み出し不良の発生を回避することが出来る。
【0110】
そこで、第1実施形態に係るメモリデバイスMDは、書き込み動作中に読み出し不良になり得るビットを予め検知する機能を備えている。簡潔に述べると、第1実施形態に係るメモリデバイスMDは、メモリコントローラ20からの指示に基づいて書き込み動作を開始すると、複数回のプログラムループの処理と、読み出し不良の検知に対応する第2ベリファイ動作とを実行する。言い換えると、第1実施形態に係るメモリデバイスMDは、書き込み動作の一貫として、ループ処理の後に読み出し動作(第2ベリファイ動作)を実行し、読み出し不良が発生するか否かを確認する。そして、メモリデバイスMDは、ループ処理の結果と第2ベリファイ動作の結果との論理和演算結果に基づいてステータス情報STSを更新する。その後、メモリコントローラ20は、第1ステータスリードの結果に基づいて、データの書き込みに成功したか否かを判定する。この場合、メモリコントローラ20が確認する第1ステータスリードの結果には、第2ベリファイ動作によって、書き込み動作直後の読み出し不良が発生し得るかどうかの情報が反映される。
【0111】
その結果、第1実施形態に係るメモリデバイスMDは、記憶するデータの信頼性を向上させることが出来、読み出し不良の発生を抑制することが出来る。つまり、第1実施形態に係るメモリシステム1は、RAIDの救済モードの使用頻度を下げることが出来、メモリシステム1のレイテンシの低下を抑制することが出来る。また、第1実施形態に係るメモリシステム1は、読み出し不良の検知が、メモリデバイスMDによって実行される。つまり、第1実施形態に係るメモリシステム1は、メモリコントローラ20の負荷を上げることなく書き込み動作中における読み出し不良を検知することが出来るため、メモリコントローラ20のコストを抑制することが出来る。
【0112】
[1-4]第1実施形態の変形例
第1実施形態に係るメモリシステム1は、種々の変形が可能である。以下に、第1実施形態の第1変形例、第2変形例、及び第3変形例について順に説明する。
【0113】
(第1実施形態の第1変形例)
第1実施形態の第1変形例は、第2ベリファイ動作においてベリファイ読み出しを実行する対象のステートを一部のステートに限定する。例えば、第1実施形態の第1変形例に係るメモリデバイスMDは、図9に示されたデータの割り当てが利用された場合に、第2ベリファイ動作の対象ステートを、ページ毎に選択可能に構成される。
【0114】
図16は、第1実施形態の第1変形例の書き込み動作における第2ベリファイ動作の対象ページと第2ベリファイ動作の対象ステートとの組み合わせの一例を示すテーブルである。図16に示すように、第1実施形態の第1変形例では、例えば、第2ベリファイ動作の対象ページとして、“上位ページ”、“中位ページ”、及び“下位ページ”が選択され得る。この場合、第2ベリファイ動作の対象ステートとしては、上位ページが選択された場合に“S3”及び“S7”ステートが選択され、中位ページが選択された場合に“S2”、“S4”及び“S6”ステートが選択され、下位ページが選択された場合に“S1”及び“S5”ステートが選択される。
【0115】
第1実施形態の第1変形例における“第2ベリファイステータス”は、第2ベリファイ動作において、ベリファイ読み出しが実行されたステートのベリファイに全てパスしていた場合に“パス”に設定され、ベリファイ読み出しが実行されたステートのベリファイの少なくとも1つがフェイルしていた場合に“フェイル”に設定される。第2ベリファイ動作の対象ページの設定は、メモリコントローラ20の指示に基づいて変更されてもよいし、プリセットされてもよい。これにより、第1実施形態の第1変形例に係るメモリデバイスMDは、不良が発生しやすいページを対象として選択的に第2ベリファイ動作を実行し、不良の発生率が低いページを対象とした第2ベリファイ動作を省略することが出来る。その結果、第1実施形態の第1変形例に係るメモリデバイスMDは、第2ベリファイ動作による不良検知精度の低下を抑制しつつ、書き込み動作の時間を短縮することが出来る。
【0116】
尚、以上の説明では、第2ベリファイ動作の対象ステートが、ページを基準として設定された場合について例示されているが、これに限定されない。メモリデバイスMDは、ページに依らずに、特定のステートを対象として第2ベリファイ動作を実行してもよい。この場合、第2ベリファイ動作の対象ステートとしては、例えば、不良の発生しやすい最も低いステート(例えば“S0”ステート)や最も高いステート(例えば“S7”ステート)を選択することが考えられる。これにより、メモリデバイスMDは、最低限のベリファイ読み出しの回数で、複数ページに亘って不良を検知することが出来る。
【0117】
(第1実施形態の第2変形例)
第1実施形態の第2変形例は、第1ベリファイ動作のベリファイ電圧と、第2ベリファイ動作のベリファイ電圧とを異なる電圧に設定する。以下では、第1ベリファイ動作において“S(x)(“x”は1以上の整数)”ステートのベリファイ読み出しで使用されるベリファイ電圧のことを“V(x)a”と呼び、第2ベリファイ動作において“S(x)”ステートのベリファイ読み出しで使用されるベリファイ電圧のことを“V(x)b”と呼ぶ。
【0118】
図17は、第1実施形態の第2変形例の書き込み動作において第1ベリファイ動作及び第2ベリファイ動作で使用されるベリファイ電圧の設定の一例を示す閾値電圧分布図である。縦軸及び横軸は、それぞれ“NMTs”及び“Vth”に対応する。図17は、“S(x-1)”及び“S(x)”ステートを抽出して示している。図17に示すように、“S(x)”ステートのベリファイ電圧V(x)aは、“S(x-1)”ステートと“S(x)”ステートとの間に設定される。そして、第1実施形態の第2変形例では、“S(x)”ステートのベリファイ電圧V(x)bが、“S(x-1)”ステートと“S(x)”ステートとの間、且つベリファイ電圧V(x)a以上の電圧に設定される。
【0119】
ベリファイ電圧V(x)bの設定は、例えば、ベリファイ電圧V(x)aに対する変化量を示すパラメータで与えられる。ベリファイ電圧V(x)bのベリファイ電圧V(x)aに対する変化量は、ステート毎に同じであってもよいし、異なっていてもよい。メモリコントローラ20は、後述される設定変更コマンドによって、ベリファイ電圧V(x)bの設定を変更することが出来る。尚、ベリファイ電圧V(x)bの設定は、メモリデバイスMDにプリセットされてもよい。
【0120】
ベリファイ電圧V(x)bが高く設定されると、第2ベリファイ動作をパスするための条件が厳しくなり、セルユニットCUに書き込まれたデータの信頼性が向上する。一方で、メモリデバイスMDの劣化に伴う第2ベリファイ動作のフェイル数が増加し、バッドブロックに登録されるブロックBLKが増加し易くなる。つまり、ベリファイ電圧V(x)bが高く設定されると、データの信頼性が向上し、メモリデバイスMDの劣化に伴う記憶容量の低下ペースが速くなる。
【0121】
ベリファイ電圧V(x)bが低く設定されると、第2ベリファイ動作をパスするための条件が緩くなり、セルユニットCUに書き込まれたデータの信頼性が、ベリファイ電圧V(x)bが高く設定された場合よりも低下する。一方で、メモリデバイスMDの劣化に伴う第2ベリファイ動作のフェイル数が減少し、バッドブロックに登録されるブロックBLK数の増加がベリファイ電圧V(x)bが高く設定された場合よりも緩やかになる。つまり、ベリファイ電圧V(x)bが低く設定されると、データの信頼性が若干低下し、メモリデバイスMDの劣化に伴う記憶容量の低下ペースが遅くなる。
【0122】
以上のことを踏まえて、ユーザは、ベリファイ電圧V(x)bを、メモリシステム1に望むスペックに応じて変更することが考えられる。つまり、第1実施形態の第2変形例では、ユーザがベリファイ電圧V(x)bを適宜変更することが出来、ユーザの希望に沿った性能のメモリシステム1を実現することが出来る。
【0123】
(第1実施形態の第3変形例)
第1実施形態の第3変形例は、第1ベリファイ動作におけるビット無視数と、第2ベリファイ動作におけるビット無視数とを異なる数値に設定する。“ビット無視数”は、ステート毎のベリファイパスの判定において、ベリファイパスしていないメモリセルトランジスタMTを許容する数に対応する。以下では、第1ベリファイ動作のビット無視数を“Nbd1”と呼び、第2ベリファイ動作のビット無視数を“Nbd2”と呼ぶ。
【0124】
図18は、第1実施形態の第3変形例の書き込み動作におけるビット無視数の設定の一例を示す閾値電圧分布図である。縦軸及び横軸は、それぞれ“NMTs”及び“Vth”に対応する。図18は、“S(x-1)”及び“S(x)”ステートを抽出して示している。図18に示すように、ベリファイ電圧V(x)が“S(x)”ステートと重なっている場合、“S(x)”ステートでベリファイ電圧V(x)以下の閾値電圧を有するメモリセルトランジスタMTが、フェイルビットFBとして検出される。フェイルビットFBは、ベリファイフェイルのメモリセルトランジスタMTに対応する。そして、第1実施形態の第3変形例では、第2ベリファイ動作のビット無視数Nbd2が、第1ベリファイ動作のビット無視数Nbd1以下の値に設定される。
【0125】
ビット無視数Nbd2の設定は、例えば、ビット無視数Nbd1に対する変化量を示すパラメータで与えられる。ビット無視数Nbd2のビット無視数Nbd1に対する変化量は、ステート毎に同じであってもよいし、異なっていてもよい。メモリコントローラ20は、設定変更コマンドによって、ビット無視数Nbd2の設定を変更することが出来る。尚、ビット無視数Nbd2の設定は、メモリデバイスMDにプリセットされてもよい。
【0126】
ビット無視数Nbd2が小さく設定されると、第2ベリファイ動作をパスするための条件が厳しくなり、セルユニットCUに書き込まれたデータの信頼性が向上する。一方で、メモリデバイスMDの劣化に伴う第2ベリファイ動作のフェイル数が増加し、バッドブロックに登録されるブロックBLKが増加し易くなる。つまり、ビット無視数Nbd2が小さく設定されると、データの信頼性が向上し、メモリデバイスMDの劣化に伴う記憶容量の低下ペースが速くなる。
【0127】
ビット無視数Nbd2が大きく設定されると、第2ベリファイ動作をパスするための条件が緩くなり、セルユニットCUに書き込まれたデータの信頼性が、ビット無視数Nbd2が小さく高く設定された場合よりも低下する。一方で、メモリデバイスMDの劣化に伴う第2ベリファイ動作のフェイル数が減少し、バッドブロックに登録されるブロックBLK数の増加がビット無視数Nbd2が小さく設定された場合よりも緩やかになる。つまり、ビット無視数Nbd2が大きく低く設定されると、データの信頼性が若干低下し、メモリデバイスMDの劣化に伴う記憶容量の低下ペースが遅くなる。
【0128】
以上のことを踏まえて、ユーザは、ビット無視数Nbd2を、メモリシステム1に望むスペックに応じて変更することが考えられる。つまり、第1実施形態の第3変形例では、ユーザがビット無視数Nbd2を適宜変更することが出来、ユーザの希望に沿った性能のメモリシステム1を実現することが出来る。
【0129】
[2]第2実施形態
第2実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第2実施形態に係るメモリシステム1は、書き込み対象のストリングユニットSUのアドレスに応じて、第2ベリファイ動作を実行するか否かを決定する。以下に、第2実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
【0130】
[2-1]書き込み動作の流れ
図19は、第2実施形態に係るメモリシステム1の書き込み動作の一例を示すフローチャートである。図19に示すように、第2実施形態の書き込み動作は、第1実施形態で図10を参照して説明された書き込み動作において、ステップS102の処理がステップS200~S202の処理に置き換えられた構成を有する。
【0131】
具体的には、メモリコントローラ20は、第1実施形態と同様に、ホスト機器30から書き込みデータを受信し(ステップS100)、書き込み先を決定する(ステップS101)。そして、メモリコントローラ20は、書き込み先が第2ベリファイ動作対象のストリングユニットSUであるか否かを確認する(ステップS200)。第2ベリファイ動作対象のストリングユニットSUは、ユーザにより事前に設定される。第2ベリファイ動作対象のストリングユニットSUとしては、メモリデバイスMDの製造プロセスにおいて、不良が発生しやすいストリングユニットSUが選択される。不良が発生しやすいストリングユニットSUとしては、スリットSLTと隣り合うストリングユニットSU等が挙げられる。
【0132】
書き込み先が第2ベリファイ動作対象である場合(ステップS200,YES)、メモリコントローラ20は、第2ベリファイ動作を含む書き込み動作を実行する(ステップS201)。ステップS201の処理を実行した後に、メモリコントローラ20は、ステップS103の処理に進む。
【0133】
書き込み先が第2ベリファイ動作対象でない場合(ステップS200,NO)、メモリコントローラ20は、第2ベリファイ動作を含まない書き込み動作を実行する(ステップS202)。ステップS202の処理を実行した後に、メモリコントローラ20は、ステップS103の処理に進む。
【0134】
メモリデバイスMDは、例えば、メモリデバイスMDに対する第2ベリファイ動作を含む書き込み動作の命令と、メモリデバイスMDに対する第2ベリファイ動作を含まない書き込み動作の命令とを、プリフィックスコマンドによって区別する。例えば、メモリコントローラ20は、第2ベリファイ動作を含む書き込み動作をメモリデバイスMDに命令する場合に、まずプリフィックスコマンドをメモリデバイスMDに送信し、その後に図11の(1)~(3)のような書き込み動作のコマンドセットをメモリデバイスMDに送信する。尚、メモリデバイスMDが第2ベリファイ動作を実行するか否かを区別する方法は、その他の方法であってもよい。メモリデバイスMDは、第2ベリファイ動作を実行するか否かを、アドレス情報ADDを参照することによって決定してもよい。
【0135】
ステップS103の処理において、メモリコントローラ20は、第1実施形態と同様に、書き込み動作のステータスがパスになっているか否かを確認する(ステップS103)。第2実施形態の書き込み動作のその他の動作は、第1実施形態と同様である。
【0136】
[2-2]第2実施形態の効果
以上で説明されたように、第2実施形態に係るメモリデバイスMDは、書き込み動作において、読み出し不良が発生しにくいと推測されるストリングユニットSUを対象とした第2ベリファイ動作を省略し、読み出し不良が発生しやすいと推測されるストリングユニットSUを対象とした第2ベリファイ動作を実行する。その結果、第2実施形態に係るメモリデバイスMDは、データの信頼性の低下を抑制しつつ、第2ベリファイ動作の時間を短縮することが出来る。
【0137】
[2-3]第2実施形態の変形例
図20は、第2実施形態の変形例における書き込み動作の一例を示すフローチャートである。図20に示すように、第2実施形態の変形例における書き込み動作は、第2実施形態で図19を参照して説明された書き込み動作において、ステップS200の処理がステップS210の処理に置き換えられた構成を有する。
【0138】
具体的には、メモリコントローラ20は、第1実施形態と同様に、ホスト機器30から書き込みデータを受信し(ステップS100)、書き込み先を決定する(ステップS101)。そして、メモリコントローラ20は、書き込み先が第2ベリファイ動作対象のレイヤ(ワード線WL)であるか否かを確認する(ステップS210)。第2ベリファイ動作対象のワード線WLは、ユーザにより事前に設定される。第2ベリファイ動作対象のワード線WLとしては、メモリデバイスMDの製造プロセスにおいて、不良の発生しやすいワード線WLが選択される。不良が発生しやすいワード線WLとしては、メモリピラーMPの底部に近いワード線WL(例えばワード線WL0)や、メモリピラーMPの接合層JTに近いワード線WL(例えばワード線WL6及びWL7)等が挙げられる。
【0139】
書き込み先が第2ベリファイ動作対象である場合(ステップS210,YES)、メモリコントローラ20は、第2実施形態と同様に、第2ベリファイ動作を含む書き込み動作を実行する(ステップS201)。書き込み先が第2ベリファイ動作対象でない場合(ステップS210,NO)、メモリコントローラ20は、第2実施形態と同様に、第2ベリファイ動作を含まない書き込み動作を実行する(ステップS202)。第2実施形態の変形例の書き込み動作のその他の動作は、第2実施形態と同様である。
【0140】
以上で説明されたように、第2実施形態で説明されたステップS200の処理における、書き込み動作において第2ベリファイ動作を実行するか否かを決定するための条件は、その他の条件であってもよい。このような場合においても、第2実施形態の変形例に係るメモリシステム1は、第2実施形態と同様の効果を得ることが出来る。
【0141】
[3]第3実施形態
第3実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第3実施形態に係るメモリシステム1は、書き込み動作において、第2ベリファイ動作を複数回実行する。以下に、第3実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
【0142】
[3-1]書き込み動作の流れ
図21は、第3実施形態に係るメモリデバイスMDの書き込み動作の一例を示すフローチャートである。図21に示すように、第3実施形態の書き込み動作は、第1実施形態で図13を参照して説明された書き込み動作において、ステップS115から先の処理がステップS300~S302の処理に置き換えられた構成を有する。
【0143】
具体的には、シーケンサ104は、第1実施形態と同様にループ処理を実行する(ステップS110~S114)。そして、シーケンサ104は、ステップS112の処理において“プログラムパス”が確認された場合(ステップS112、YES)、若しくはステップS113の処理において“Nloop>NloopMAX”が満たされた場合に(ステップS112、YES)、ステップS300の処理に進む。
【0144】
ステップS300の処理において、シーケンサ104は、1回目の第2ベリファイ動作を実行する。1回目の第2ベリファイ動作は、第1実施形態で説明された第2ベリファイ動作と同様である。ステップS300の処理が完了すると、シーケンサ104は、ステップS301の処理に進む。
【0145】
ステップS301の処理において、シーケンサ104は、2回目の第2ベリファイ動作を実行する。2回目の第2ベリファイ動作は、1回目の第2ベリファイ動作と同じベリファイ電圧を使用する。ステップS301の処理が完了すると、シーケンサ104は、ステップS302の処理に進む。
【0146】
ステップS302の処理において、シーケンサ104は、ステータス情報STSを更新する。ステップS302の処理において、シーケンサ104は、1回目の第2ベリファイ動作の結果と、2回目の第2ベリファイ動作の結果とのそれぞれを、ステータスレジスタ102Aに格納する。ステップS302の処理においてステータスレジスタ102Aに格納されるその他の情報は、第1実施形態で説明されたステップS116と同様である。
【0147】
第3実施形態では、書き込み結果の演算に使用される“第2ベリファイステータス”として、1回目の第2ベリファイ動作の結果と、2回目の第2ベリファイ動作の結果との論理和演算の結果が利用される。すなわち、シーケンサ104は、複数回実行された第2ベリファイ動作により、ベリファイパスの結果が少なくとも一回得られた場合に、第2ベリファイステータスを“パス”とする。
【0148】
ステップS302の処理の後に、シーケンサ104は、図21の一連の処理を終了する(終了)。第3実施形態の書き込み動作のその他の動作は、第1実施形態と同様である。尚、第3実施形態に係るメモリデバイスMDが書き込み動作において第2ベリファイを実行する回数は、2回に限定されず、少なくとも複数回であればよい。第3実施形態において、シーケンサ104は、複数回の第2ベリファイ動作の結果に基づいて、第2ベリファイステータスを判定していればよい。
【0149】
[3-2]第3実施形態の効果
以上で説明されたように、第3実施形態に係るメモリデバイスMDは、書き込み動作において、複数回の第2ベリファイ動作を実行し、複数回の第2ベリファイ動作の結果に基づいたステータス情報STSをメモリコントローラ20に通知する。これにより、第3実施形態に係るメモリデバイスMDは、ベリファイ対象が不安定なビットである場合に、当該ビットに対応するメモリセルトランジスタMTの閾値電圧が所望の閾値電圧を超えていることを検知する可能性を高くすることが出来る。その結果、第3実施形態に係るメモリデバイスMDは、過剰にバッドブロックを登録することを抑制することが出来、メモリデバイスMDの記憶容量の低下ペースを抑制することが出来る。
【0150】
[4]第4実施形態
第4実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第4実施形態に係るメモリシステム1は、書き込み動作において、第2ステータスリードの結果に応じて、第2ベリファイ動作をリトライする。以下に、第4実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
【0151】
[4-1]動作
(書き込み動作の流れ)
図22は、第4実施形態に係るメモリシステム1の書き込み動作の一例を示すフローチャートである。図22に示すように、第4実施形態の書き込み動作は、第1実施形態で図10を参照して説明された書き込み動作に対して、ステップS103の処理が除外され、ステップS400~S403の処理が追加された構成を有する。
【0152】
具体的には、メモリコントローラ20は、第1実施形態と同様に、ホスト機器30から書き込みデータを受信し(ステップS100)、書き込み先を決定し(ステップS101)、書き込み動作を実行する(ステップS102)。そして、メモリコントローラ20は、第2ステータスリードを実行し、ステータス情報STSを確認する(ステップS400)。ステップS400の処理においてメモリコントローラ20は、第2ステータスリードにより得られたステータス情報STSが、第1実施形態で図15を用いて説明されたステータスの複数の組み合わせのうちどの組み合わせであるのかを確認する。
【0153】
図15の(1)のように“プログラムステータス”と“第2ベリファイステータス”とのそれぞれが“パス”である場合に(ステップS400,(1))、メモリコントローラ20は、ステップS105の処理に進む。
【0154】
図15の(3)のように“プログラムステータス”と“第2ベリファイステータス”とのそれぞれが“フェイル”である場合(ステップS400,(3))、若しくは、図15の(4)のように“プログラムステータス”と“第2ベリファイステータス”とがそれぞれ“フェイル”及び“パス”である場合に(ステップS400,(4))、メモリコントローラ20は、ステップS104の処理に進む。
【0155】
図15の(2)のように“プログラムステータス”と“第2ベリファイステータス”とがそれぞれ“パス”及び“フェイル”である場合に(ステップS400,(2))、メモリコントローラ20は、ステップS401の処理に進む。
【0156】
ステップS401の処理において、メモリコントローラ20は、ベリファイ電圧を変更して第2ベリファイ動作を実行する。第2ベリファイ動作で使用されるベリファイ電圧の変更には、例えば、後述される設定変更コマンドが使用される。尚、第4実施形態では、ステップS401においてメモリコントローラ20がメモリデバイスMDに第2ベリファイ動作の実行を命令する際に、メモリデバイスMDは、ステップS102において受信した書き込みデータをそのまま保持している。メモリデバイスMDは、各センスアンプユニットSAUが保持した書き込みデータと、メモリコントローラ20の指示に基づいて実行した第2ベリファイ動作の読み出し結果とに基づいて、第1実施形態と同様に、第2ベリファイステータスを生成する。
【0157】
ステップS401の処理が完了すると、メモリコントローラ20は、メモリデバイスMDから第2ステータスリードによりステータス情報STSを読み出し、第2ベリファイステータスが“パス”であるか、すなわちステータスパスであるか否かを確認する(ステップS402)。
【0158】
ステップS402の処理においてステータスパスが確認されなかった場合(ステップS402,NO)、すなわちステータスフェイルが確認された場合、メモリコントローラ20は、データの書き込みに失敗したブロックBLKをバッドブロックに登録し(ステップS104)、ステップS101の処理に進む。
【0159】
ステップS402の処理においてステータスパスが確認された場合(ステップS402,YES)、メモリコントローラ20は、変更された第2ベリファイ動作のベリファイ電圧に基づいて、書き込み動作が実行されたワード線WLに対する読み出し電圧の補正値を設定する (ステップS403)。第4実施形態において、第2ベリファイ動作のベリファイ電圧V(x)bは、“S(x)”ステートの読み出し電圧に対応する。このため、メモリコントローラ20は、“S(x)”ステートの読み出し電圧を、ベリファイ読み出しにパスしたベリファイ電圧V(x)bの電圧値に応じて変更することが出来る。
【0160】
ステップS403の処理が完了すると、メモリコントローラ20は、ステップS105の処理に進む。第4実施形態の書き込み動作のその他の動作は、第1実施形態と同様である。以上の説明ではステップS401の処理が1回実行される場合について例示したが、メモリコントローラ20は、ステップS402の処理においてステータスフェイルであった場合に、ステップS401の処理をリトライしてもよい。ステップS401の処理のリトライ回数は、自由に決定され得る。メモリデバイスMDは、ステップS401の処理がリトライされる度に、異なるベリファイ電圧を用いた第2ベリファイ動作を実行する。
【0161】
(書き込み動作のコマンドシーケンス)
図23は、第4実施形態に係るメモリシステム1の書き込み動作におけるコマンドシーケンスの一例を示す模式図である。以下に、図23を参照して、第4実施形態に係る無線信号処理部1の書き込み動作におけるコマンドシーケンスの一例について説明する。
【0162】
図23の(1)~(4)に示されたシーケンスは、図11の(1)~(4)のシーケンスと同様である。簡潔に述べると、メモリコントローラ20は、メモリデバイスMDに、下位ページデータを転送し(図23の(1))、中位ページデータを転送し(図23の(2))、上位ページデータを転送し(図23の(3))、書き込み動作を実行させる(図23の(4))。
【0163】
そして、メモリコントローラ20は、図23の(5)に示すように、第2ステータスリードを実行する。具体的には、メモリコントローラ20は、コマンド“xxh”を、メモリデバイスMDに送信する。コマンド“xxh”は、第2ステータスリードに関連付けられたコマンドである。コマンド“xxh”を受信したメモリデバイスMDは、ステータスレジスタ102Aに格納されたステータス情報“Sout”を、メモリコントローラ20に送信する。そして、メモリコントローラ20は、ステータス情報“Sout”を参照して、書き込み動作のステータスを確認する(図22のステップS400)。
【0164】
本例では、ステップS400において“プログラムステータス”と“第2ベリファイステータス”とがそれぞれ“パス”及び“フェイル”であることが確認される。この場合、メモリコントローラ20は、図23の(6)に示すように、設定変更動作を実行する。具体的には、メモリコントローラ20は、コマンド“EFh”、アドレス情報“ADD2”、設定データ“D0h”、“D1h”、“D2h”及び“D3h”を、この順番に、メモリデバイスMDに送信する。コマンド“EFh”は、第1ステータスリードに関連付けられたコマンドである。アドレス情報“ADD2”は、例えば第2ベリファイ動作で使用されるベリファイ電圧に対応するパラメータが格納されているアドレスを示している。第4実施形態における設定データ“D0h”~“D3h”は、第2ベリファイ動作で使用されるベリファイ電圧に適用するパラメータを含んでいる。
【0165】
メモリデバイスMDは、コマンド“EFh”を受信した後にアドレス情報“ADD2”及び設定データ“D0h”~“D3h”を受信すると、レディ状態からビジー状態に遷移する。そして、メモリデバイスMDは、第2ベリファイ動作で使用されるベリファイ電圧に対応するパラメータを、設定データ“D0h”~“D3h”に含まれたパラメータに変更する。設定変更が完了すると、メモリデバイスMDは、ビジー状態からレディ状態に遷移して、設定変更動作を終了する。尚、設定データは、少なくとも1サイクル以上で送信されていればよく、コマンド“EFh”に関連付けられたサイクル数と同じであればよい。設定変更動作は、アドレスと設定データとが変更されることによって、他のパラメータを変更することも出来る。
【0166】
次に、メモリコントローラ20は、図23の(7)に示すように、第2ベリファイ動作を実行する。具体的には、メモリコントローラ20は、コマンド“yyh”、コマンド“00h”、アドレス情報“ADD”、コマンド“30h”を、この順番に、メモリデバイスMDに送信する。コマンド“yyh”は、第2ベリファイ動作の実行を指示するコマンドである。コマンド“00h”は、読み出し動作を指示するコマンドである。コマンド“30h”は、読み出し動作の開始を指示するコマンドである。これらのコマンド等を受信したメモリデバイスMDは、ビジー状態に遷移して第2ベリファイ動作を実行し、第2ベリファイ動作が完了するとレディ状態に遷移する。
【0167】
次に、メモリコントローラ20は、図23の(8)に示すように、第2ステータスリードを実行する。この第2ステータスリードのコマンドシーケンスは、図23の(5)と同様である。
【0168】
(第2ステータスリードにより得られるステータス情報STS)
図24は、第4実施形態に係るメモリシステム1の書き込み動作においてメモリデバイスMDから出力されるステータス情報STSの一例を示すテーブルである。図24に示すように、第4実施形態の第2ステータスリードにより得られるステータス情報STSは、書き込み結果を示すデータと、プログラムフェイル(Loop Max)を示すデータと、第2ベリファイ動作の結果を示すデータ含む。書き込み結果を示すデータは、例えばI/O0を介して送信される。プログラムフェイルを示すデータは、例えばI/O1を介して送信される。例えば、I/O1のデータ“0”は、プログラムループが所定の回数内で終了したことを示し、I/O1のデータ“1”は、プログラムループが所定の回数内で終了しなかったことを示す。第2ベリファイ動作の結果を示すデータは、例えばI/O2を介して送信される。例えば、I/O2のデータ“0”は、第2ベリファイ動作にフェイルしたことを示し、I/O2のデータ“1”は、第2ベリファイ動作にパスしたことを示す。尚、第2ステータスリードにより得られるステータス情報STSにおいて、書き込み結果を示すデータが省略されてもよい。第2ステータスリードにおけるステータス情報STSの入出力信号I/Oに対する割り当ては、その他の割り当てであってもよい。
【0169】
[4-2]第4実施形態の効果
以上で説明されたように、第4実施形態に係るメモリシステム1では、第2ステータスリードによって、メモリコントローラ20が、ループ処理でフェイルしたのか、第2ベリファイ動作でフェイルしたのかを把握することが出来る。そして、メモリコントローラ20が、ループ処理にパスし、且つ第2ベリファイ動作でフェイルした場合に、第2ベリファイ動作で使用するベリファイ電圧を変更して、第2ベリファイ動作をリトライする。それから、メモリコントローラ20が、リトライされた第2ベリファイ動作の結果に応じて、ベリファイフェイルした場合に当該ブロックBLKをバッドブロックに登録し、ベリファイパスした場合に書き込み動作を行ったワード線WLを対象とした読み出し電圧の補正値を決定する。これにより、第4実施形態に係るメモリシステム1は、書き込み動作後の読み出し動作において、より適切な読み出し電圧を使用することが出来、読み出し不良の発生を抑制することが出来る。また、第4実施形態に係るメモリシステム1は、まだ使用可能であるブロックBLKを救済し、過剰にバッドブロックを登録することを抑制することが出来、メモリデバイスMDの記憶容量の低下ペースを抑制することが出来る。
【0170】
[5]第5実施形態
第5実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第5実施形態に係るメモリシステム1は、書き込み動作において、複数回の第2ベリファイ動作を第2ベリファイ電圧を可変させて実行する。以下に、第5実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
【0171】
[5-1]動作
(書き込み動作の流れ)
図25は、第5実施形態に係るメモリシステム1の書き込み動作の一例を示すフローチャートである。図25に示すように、第5実施形態の書き込み動作は、第1実施形態で図10を参照して説明された書き込み動作に対して、ステップS102及びS103の処理が除外され、ステップS500~S503の処理が追加された構成を有する。
【0172】
具体的には、メモリコントローラ20は、第1実施形態と同様に、ホスト機器30から書き込みデータを受信し(ステップS100)、書き込み先を決定する(ステップS101)。そして、メモリコントローラ20は、互いに異なる設定が適用された複数の第2ベリファイ動作を含む書き込み動作を実行する(ステップS500)。
【0173】
次に、メモリコントローラ20は、第2ステータスリードを実行し、ステータス情報STSを確認する(ステップS501)。ステップS501の処理においてメモリコントローラ20は、第2ステータスリードにより得られたステータス情報STSに基づいて、複数回実行された第2ベリファイ動作のそれぞれの結果等を確認する。
【0174】
“プログラムステータス”が“パス”であり、且つ複数回の第2ベリファイ動作のステータスが全てパスである場合に(ステップS501,全てパス)、メモリコントローラ20は、ステップS105の処理に進む。
【0175】
“プログラムステータス”が“フェイル”である場合、若しくは“プログラムステータス”が“パス”であり、且つ複数回の第2ベリファイ動作の全てのステータスがフェイルである場合に(ステップS501,全てフェイル)、メモリコントローラ20は、ステップS104の処理に進む。
【0176】
“プログラムステータス”が“パス”であり、且つ複数回の第2ベリファイ動作のステータスの少なくとも1つがパスである場合に(ステップS501,第2ベリファイ動作の少なくとも1つにパス)、メモリコントローラ20は、ステップS502の処理に進む。
【0177】
ステップS502の処理において、メモリコントローラ20は、第2ベリファイ動作にパスした設定を確認する。言い換えると、メモリコントローラ20は、第2ステータスリードの結果から、何回目の第2ベリファイ動作にパスしたのかを確認する。ステップS502の処理が完了すると、メモリコントローラ20は、ステップS503の処理に進む。
【0178】
ステップS503の処理において、メモリコントローラ20は、ステップS502における確認結果に応じて、書き込み動作が実行されたワード線WLに対する読み出し電圧の補正値を設定する。例えば、メモリコントローラ20は、ベリファイパスした第2ベリファイ動作が1つのみであった場合、その第2ベリファイ動作で使用されたベリファイ電圧に基づいて、読み出し電圧の補正値を設定する。一方で、メモリコントローラ20は、ベリファイパスした第2ベリファイ動作が2つ以上である場合、予め設定された優先順位に基づいてベリファイパスした第2ベリファイ動作の何れかを選択する。そして、メモリコントローラ20は、選択された第2ベリファイ動作で使用されたベリファイ電圧に基づいて、読み出し電圧の補正値を設定する。
【0179】
ステップS503の処理が完了すると、メモリコントローラ20は、ステップS105の処理に進む。第5実施形態の書き込み動作のその他の動作は、第1実施形態と同様である。
【0180】
(第2ステータスリードにより得られるステータス情報STS)
図26は、第5実施形態に係るメモリシステム1の書き込み動作においてメモリデバイスMDから出力されるステータス情報の一例を示すテーブルである。図26に示すように、第5実施形態の第2ステータスリードにより得られるステータス情報STSは、書き込み結果を示すデータと、プログラムフェイル(Loop Max)を示すデータと、1回目の第2ベリファイ動作の結果を示すデータと、2回目の第2ベリファイ動作の結果を示すデータとを含む。書き込み結果を示すデータは、例えばI/O0を介して送信される。プログラムフェイルを示すデータは、例えばI/O1を介して送信される。1回目の第2ベリファイ動作の結果を示すデータは、例えばI/O2を介して送信される。2回目の第2ベリファイ動作の結果を示すデータは、例えばI/O3を介して送信される。例えば、I/O1及びI/O2のそれぞれのデータ“0”は、第2ベリファイ動作にフェイルしたことを示し、I/O1及びI/O2のそれぞれのデータ“1”は、第2ベリファイ動作にパスしたことを示す。尚、第2ステータスリードにより得られるステータス情報STSにおいて、書き込み結果を示すデータが省略されてもよい。
【0181】
(書き込み動作におけるメモリデバイスMDの詳細な動作)
図27は、第5実施形態に係るメモリデバイスMDの書き込み動作において選択ワード線WLselに印加される電圧の一例を示すタイミングチャートである。図27に示すように、第5実施形態の書き込み動作は、第1実施形態で図14を参照して説明された書き込み動作に対して、複数回の第2ベリファイ動作が実行されている点が異なる。
【0182】
具体的には、メモリデバイスMDは、レディ状態からビジー状態に遷移し、ループ処理を実行した後に、1回目の第2ベリファイ動作と2回目の第2ベリファイ動作とを実行する。1回目の第2ベリファイ動作では、例えば、ベリファイ電圧V1~V7が順に印加され、ベリファイ結果が対応するセンスアンプユニットSAUに記憶される。2回目の第2ベリファイ電圧では、例えば、ベリファイ電圧V1~V7よりもそれぞれ高いベリファイ電圧V1a~V7aが順に印加され、ベリファイ結果が対応するセンスアンプユニットSAUに記憶される。その後、メモリデバイスMDは、ステータスレジスタ102Aを更新した後に、ビジー状態からレディ状態に遷移する。
【0183】
尚、第5実施形態において、1回目の第2ベリファイ動作と2回目の第2ベリファイ動作とは、順に実行されなくてもよい。例えば、1回目の第2ベリファイ電圧に対応するベリファイ電圧V1が印加された後に、2回目の第2ベリファイ電圧に対応するベリファイ電圧V1aが印加され、…、1回目の第2ベリファイ電圧に対応するベリファイ電圧V7が印加された後に、7回目の第2ベリファイ電圧に対応するベリファイ電圧V7aが印加されてもよい。すなわち、第5実施形態に係るメモリデバイスMDでは、複数回のそれぞれの第2ベリファイ電圧に対応する読み出し結果が、センスアンプユニットSAU内に格納可能であれば良く、ベリファイ電圧が印加される順番は特に限定されない。
【0184】
[5-2]第5実施形態の効果
以上で説明されたように、第5実施形態に係るメモリデバイスMDは、書き込み動作において、異なるベリファイ電圧の設定で複数回の第2ベリファイ動作を実行し、複数回の第2ベリファイ動作のそれぞれの結果を第2ステータスリードによりメモリコントローラ20に通知する。そして、メモリコントローラ20が、第2ステータスリードの結果に応じて、書き込み動作を行ったワード線WLを対象とした読み出し電圧の補正値を決定する。このように、第5実施形態に係るメモリシステム1は、メモリコントローラ20が複数回の第2ベリファイ動作の結果のそれぞれを把握することが出来る。その結果、メモリコントローラ20は、書き込み動作後に、当該ワード線WLを対象とした読み出し動作で使用する読み出し電圧としてより適切な補正値を適用することが出来る。その結果、第5実施形態に係るメモリシステム1は、読み出し不良の発生を抑制することが出来る。
【0185】
[6]その他
上記実施形態における第2ベリファイ動作において、メモリデバイスMDは、選択されたワード線WLselに印加される読み出し電圧を、低いレベルから高いレベルに変化させてもよいし、高いレベルから低いレベルに変化させてもよい。第2ベリファイ動作の結果が変わらなければ、読み出し電圧が印加される順序は、適宜変更され得る。上記実施形態で参照された各フローチャートは、対応する実施形態と同様の結果が得られるのであれば、可能な範囲で処理順番が入れ替えられてもよいし、その他の処理が追加されてもよい。上記実施形態では、1つのメモリセルトランジスタMTが3ビットデータを記憶する場合の動作について例示したが、各実施形態の動作は、1つのメモリセルトランジスタMTが2ビットデータ若しくは4ビットデータ以上記憶する場合においても適用され得る。
【0186】
上記実施形態において例示されたコマンドシーケンスはあくまで一例である。例えば、説明に使用されたコマンド“01h”~“03h”、“xxh”、及び“yyh”のそれぞれは、その他のコマンドに置き換えられてもよい。読み出しページを指定するコマンドは、アドレス情報ADDにページの情報を含ませることによって省略されてもよい。本明細書では、メモリコントローラ20からメモリデバイスMDに送信されるアドレス情報ADDが1サイクルである場合が例示されているが、アドレス情報ADDは、複数サイクル(例えば5サイクル)で送信されてもよい。
【0187】
上記実施形態における読み出し動作において、選択されたワード線WLに印加される電圧は、例えばドライバ回路106がロウデコーダモジュール108に電圧を供給する信号線の電圧と同様の電圧となる。つまり、各種配線に印加される電圧や電圧が印加されている期間は、対応する信号線の電圧を調べることにより大まかに知ることが出来る。ドライバ回路106に接続された各信号線の電圧から選択ゲート線及びワード線等の電圧を見積もる場合には、ロウデコーダRDに含まれたトランジスタによる電圧降下が考慮されてもよい。この場合、選択ゲート線及びワード線のそれぞれの電圧は、対応する信号線に印加されている電圧よりもトランジスタの電圧降下の分だけ低くなる。
【0188】
本明細書において、入出力回路101、ロジック制御回路103、シーケンサ104、レディビジー制御回路105、及びドライバ回路106を含んだ要素が、“コントローラ”または“制御回路”と呼ばれてもよい。例えばシーケンサ104が、“コントローラ”と呼ばれてもよい。レジスタセット102内の各レジスタが、“記憶回路”と呼ばれてもよい。本明細書において“接続”は、電気的に接続されている事を示し、接続された2つの要素の間に別の素子を介することを除外しない。本明細書において“オフ状態”は、対応するトランジスタのゲートに当該トランジスタの閾値電圧未満の電圧が印加されていることを示し、例えばトランジスタのリーク電流のような微少な電流が流れることを除外しない。
【0189】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0190】
1…メモリシステム、10…メモリセット、20…メモリコントローラ、21…CPU、22…ROM、23…RAM、24…ECC回路、25…ホストインターフェイス回路、26…NANDインターフェイス回路、30…ホスト機器、40…P型ウェル領域、41…N型半導体領域、42~46…導電体層、50~58…絶縁体層、60…半導体層、61…積層膜、62…トンネル絶縁膜、63…絶縁膜、64…ブロック絶縁膜、101…入出力回路、102…レジスタセット、102A…ステータスレジスタ、102B…アドレスレジスタ、102C…コマンドレジスタ、103…ロジック制御回路、104…シーケンサ、105…レディビジー制御回路、106…ドライバ回路、107…メモリセルアレイ、108…ロウデコーダモジュール、109…センスアンプモジュール、110…カウンタ、MD…メモリデバイス、BLK…ブロック、SU…ストリングユニット、NS…NANDストリング、MT…メモリセルトランジスタ、ST1,ST2…選択トランジスタ、BL…ビット線、WL…ワード線、SGD,SGS…選択ゲート線、CG,SGDD,SGSD,USGD,USGS…信号線、IV…インバータ、ND1,ND2,SRC…ノード、RD…ロウデコーダ、SAU…センスアンプユニット、T0~T8,T10,T11,TR0~TR23…トランジスタ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27