(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】メモリシステム
(51)【国際特許分類】
G06F 12/00 20060101AFI20241111BHJP
G06F 11/10 20060101ALI20241111BHJP
G11C 16/04 20060101ALI20241111BHJP
G11C 16/34 20060101ALI20241111BHJP
G11C 11/56 20060101ALI20241111BHJP
H01L 21/336 20060101ALI20241111BHJP
H01L 29/788 20060101ALI20241111BHJP
H01L 29/792 20060101ALI20241111BHJP
H10B 41/27 20230101ALI20241111BHJP
H10B 43/27 20230101ALI20241111BHJP
【FI】
G06F12/00 550C
G06F12/00 597U
G06F11/10 648
G11C16/04 170
G11C16/34 166
G11C11/56 210
H01L29/78 371
H10B41/27
H10B43/27
(21)【出願番号】P 2020173166
(22)【出願日】2020-10-14
【審査請求日】2023-09-11
(31)【優先権主張番号】P 2020047280
(32)【優先日】2020-03-18
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100176599
【氏名又は名称】高橋 拓也
(74)【代理人】
【識別番号】100205095
【氏名又は名称】小林 啓一
(74)【代理人】
【識別番号】100208775
【氏名又は名称】栗田 雅章
(72)【発明者】
【氏名】鈴木 理気
(72)【発明者】
【氏名】小島 慶久
【審査官】豊田 真弓
(56)【参考文献】
【文献】特開2007-042222(JP,A)
【文献】特開2012-009112(JP,A)
【文献】特開2010-055748(JP,A)
【文献】特表2008-518283(JP,A)
【文献】特開2017-228010(JP,A)
【文献】特開2004-095145(JP,A)
【文献】特開2017-228287(JP,A)
【文献】特開2018-063624(JP,A)
【文献】特開2017-058914(JP,A)
【文献】特開2007-066386(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
G06F 11/10
G11C 16/04
G11C 16/34
G11C 11/56
H10B 43/27
H10B 41/27
H01L 21/336
(57)【特許請求の範囲】
【請求項1】
複数のメモリセル
と複数のワードラインとを有する不揮発性メモリと、
データリテンションに関する情報をホストから受信したことに応じて、前記不揮発性メモリへのアクセス動作を制御するモードを複数のモードから選択可能なコントローラを備え、
前記複数のモードは、第1のモード、前記第1のモードよりも長いデータリテンションに対応する第2のモード、および前記第1のモードよりも短いデータリテンションに対応する第3のモードを含
み、
前記コントローラは、
前記第1のモードにおいて、前記複数のワードラインのうち隣接するワードラインを介して前記複数のメモリセルにデータを書き込むように前記不揮発性メモリへのアクセス動作を制御し、
前記第2のモードにおいて、Nを1以上の整数とするとき、前記複数のワードラインのうちのN本おきのワードラインを介して前記複数のメモリセルにデータを書き込むように前記不揮発性メモリへのアクセス動作を制御する、
メモリシステム。
【請求項2】
前記コントローラは、データリテンションに関する第1の情報を
前記ホストから受信したことに応じて、前記不揮発性メモリへのアクセス動作を制御するモードを
前記第1のモードから、前記第1のモードより長いデータリテンションに対応する
前記第2のモードへ切り替え、
前記コントローラは、データリテンションに関する第2の情報を
前記ホストから受信したことに応じて、前記不揮発性メモリへのアクセス動作を制御するモードを
前記第1のモードから、前記第1のモードより短いデータリテンションに対応する
前記第3のモードへ切り替える、請求項1に記載のメモリシステム。
【請求項3】
前記コントローラは、データリテンションに関する第3の情報を前記ホストから受信したことに応じて、又は、前記ホストからの情報によらずに、前記不揮発性メモリへのアクセス動作を制御するモードを前記第2のモードから前記第1のモードへ切り替えて、前記不揮発性メモリへのアクセス動作を制御する
請求項2に記載のメモリシステム。
【請求項4】
前記コントローラは、前記第1のモードにおいて第1のビット数のデータを前記
複数のメモリセル
のそれぞれに格納するように前記不揮発性メモリへのアクセス動作を制御し、前記第2のモードにおいて前記第1のビット数より少ない第2のビット数のデータを前記
複数のメモリセル
のそれぞれに格納するように前記不揮発性メモリへのアクセス動作を制御する
請求項
1に記載のメモリシステム。
【請求項5】
前記コントローラは、前記第1のモードにおいて第1の符号化率で誤り訂正の符号化処理を行うように前記不揮発性メモリへのアクセス動作を制御し、前記第2のモードにおいて前記第1の符号化率より低い第2の符号化率で誤り訂正の符号化処理を行うように前記不揮発性メモリへのアクセス動作を制御する
請求項
1に記載のメモリシステム。
【請求項6】
前記第2のモードにおける表記容量は、前記第1のモードにおける表記容量よりも小さい、
請求項
1に記載のメモリシステム。
【請求項7】
前記コントローラは、
前記第1のモードにおける前記
複数のメモリセルへのデータの書き込み処理において、第1の電圧増加幅でプログラム電圧を増加させながら前記
複数のメモリセルへのデータの書き込み処理を行うように前記不揮発性メモリへのアクセス動作を制御し、前記第2のモードにおける前記
複数のメモリセルへのデータの書き込み処理において、前記第1の電圧増加幅より小さい第2の電圧増加幅で前記プログラム電圧を増加させながら前記
複数のメモリセルへのデータの書き込み処理を行うように前記不揮発性メモリへのアクセス動作を制御する
請求項
1に記載のメモリシステム。
【請求項8】
前記コントローラは、
前記第1のモードにおける前記メモリセルへのデータの書き込み処理において、第1の電圧増加幅
を複数のベリファイ電圧
の間隔に設定して前記
複数のメモリセルへのデータの書き込み動作に対するベリファイ動作を行うように前記不揮発性メモリへのアクセス動作を制御し、前記第2のモードにおける前記
複数のメモリセルへのデータの書き込み処理において、前記第1の電圧増加幅より小さい第2の電圧増加幅
を前記
複数のベリファイ電圧
の間隔に設定して前記
複数のメモリセルへのデータの書き込み動作に対するベリファイ動作を行うように前記不揮発性メモリへのアクセス動作を制御する
請求項
1に記載のメモリシステム。
【請求項9】
前記コントローラは、
前記第1のモードにおける前記
複数のメモリセルへのデータの書き込み処理において、非選択ワードラインに第1の電圧を印加しながら前記
複数のメモリセルへのデータの書き込み動作に対するベリファイ動作を行うように前記不揮発性メモリへのアクセス動作を制御し、
前記第2のモードにおける前記
複数のメモリセルへのデータの書き込み処理において、前記非選択ワードラインに、前記第1の電圧より大きい第2の電圧を印加しながら前記
複数のメモリセルへのデータの書き込み動作に対するベリファイ動作を行うように前記不揮発性メモリへのアクセス動作を制御する
請求項
8に記載のメモリシステム。
【請求項10】
前記コントローラは、データリテンションに関する第4の情報を前記ホストから受信したことに応じて、又は、前記ホストからのコマンドによらずに、前記不揮発性メモリへのアクセス動作を制御するモードを前記第3のモードから前記第1のモードへ切り替えて、前記不揮発性メモリへのアクセス動作を制御する
請求項2に記載のメモリシステム。
【請求項11】
前記コントローラは、
前記第1のモードにおける前記
複数のメモリセルへのデータの書き込み処理において、第1の電圧増加幅でプログラム電圧を増加させながら前記
複数のメモリセルへのデータの書き込み処理を行うように前記不揮発性メモリへのアクセス動作を制御し、前記第3のモードにおける前記
複数のメモリセルへのデータの書き込み処理において、前記第1の電圧増加幅より大きい第3の電圧増加幅で前記プログラム電圧を増加させながら前記
複数のメモリセルへのデータの書き込み処理を行うように前記不揮発性メモリへのアクセス動作を制御する
請求項
1に記載のメモリシステム。
【請求項12】
前記
複数のメモリセルへのデータの書き込み処理は複数の書き込み動作を含み、
前記コントローラは、
前記第1のモードにおける前記
複数のメモリセルへのデータの前記書き込み処理時の、前記複数の書き込み動作のうちの初回の書き込み動作において、第1の電圧で前記
複数のメモリセルへのデータの書き込みを行うように前記不揮発性メモリへのアクセス動作を制御し、前記第3のモードにおける前記
複数のメモリセルへのデータの前記書き込み処理時の、初回の書き込み動作において、前記第1の電圧より高い第3の電圧で前記
複数のメモリセルへのデータの書き込みを行うように前記不揮発性メモリへのアクセス動作を制御する
請求項
1に記載のメモリシステム。
【請求項13】
前記
複数のメモリセルへのデータの消去処理は複数の消去動作を含み、
前記コントローラは、
前記第1のモードにおける前記
複数のメモリセルへのデータの前記消去処理時の、前記複数の消去動作のうちの初回の消去動作において、第1の電圧で前記
複数のメモリセルへのデータの消去を行うように前記不揮発性メモリへのアクセス動作を制御し、前記第3のモードにおける前記
複数のメモリセルへのデータの前記消去処理時の、初回の消去動作において、前記第1の電圧より高い第3の電圧で前記
複数のメモリセルへのデータの消去を行うように前記不揮発性メモリへのアクセス動作を制御する
請求項
1に記載のメモリシステム。
【請求項14】
前記コントローラは、
前記第1のモードにおける前記
複数のメモリセルへのデータの消去処理において、第1のベリファイ電圧を用いて前記
複数のメモリセルへのデータの消去動作に対するベリファイ動作を行うように前記不揮発性メモリへのアクセス動作を制御し、前記第3のモードにおける前記
複数のメモリセルへのデータの消去処理において、前記第1のベリファイ電圧より高い第3のベリファイ電圧を用いて前記
複数のメモリセルへのデータの消去動作に対するベリファイ動作を行うように前記不揮発性メモリへのアクセス動作を制御する
請求項
1に記載のメモリシステム。
【請求項15】
前記コントローラは、
前記第1のモードにおける前記複数のメモリセルへのデータの書き込み処理において、書き込まれるべきデータが書かれていないメモリセルの数を第1の数容認し、前記第3のモードにおける前記複数のメモリセルへのデータの書き込み処理において、書き込まれるべきデータが書かれていないメモリセルの数を前記第1の数より大きい第3の数容認する
請求項
1に記載のメモリシステム。
【請求項16】
前記コントローラは、
前記第1のモードにおける前記複数のメモリセルへのデータの消去処理において、消去されていないメモリセルの数を第1の数容認し、前記第3のモードにおける前記メモリセルへのデータの消去処理において、消去されていないメモリセルの数を前記第1の数より大きい第3の数容認する
請求項
1に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、メモリシステムに関する。
【背景技術】
【0002】
複数のメモリセルを有する不揮発性メモリでは、各メモリセルの閾値電圧が経時的に変化することがある。このとき、各メモリセルのデータリテンションが適切であることが望まれる。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許出願公開第2019/0129818号明細書
【文献】特開2019-106174号公報
【文献】特開2014-21752号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一つの実施形態は、各メモリセルのデータリテンションを適切化できるメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【0005】
一つの実施形態によれば、不揮発性メモリとコントローラとを有するメモリシステムが提供される。不揮発性メモリは、複数のメモリセルと複数のワードラインとを有する。コントローラは、データリテンションに関する情報をホストから受信したことに応じて、不揮発性メモリへのアクセス動作を制御するモードを複数のモードから選択可能である。複数のモードは、第1のモード、第1のモードよりも長いデータリテンションに対応する第2のモード、および第1のモードよりも短いデータリテンションに対応する第3のモードを含む。コントローラは、第1のモードにおいて、複数のワードラインのうち隣接するワードラインを介して複数のメモリセルにデータを書き込むように不揮発性メモリへのアクセス動作を制御する。コントローラは、第2のモードにおいて、Nを1以上の整数とするとき、複数のワードラインのうちのN本おきのワードラインを介して複数のメモリセルにデータを書き込むように不揮発性メモリへのアクセス動作を制御する。
【図面の簡単な説明】
【0006】
【
図1】
図1は、第1の実施形態における通常モード及び長期DR保証モードの特性を示す図である。
【
図2】
図2は、第1の実施形態にかかるメモリシステムの構成を示す図である。
【
図3】
図3は、第1の実施形態におけるメモリセルアレイの構成を示す図である。
【
図4】
図4は、第1の実施形態におけるメモリセルの閾値電圧分布を示す図である。
【
図5】
図5は、第1の実施形態にかかるメモリシステムの通常モードから長期DR保証モードへの遷移の動作を示すフローチャートである。
【
図6】
図6は、第1の実施形態におけるモード管理情報のデータ構造を示す図である。
【
図7】
図7は、第1~第3の実施形態における通常モード及び長期DR保証モードで設定すべきパラメータを示す図である。
【
図8】
図8は、第3の実施形態における書き込み処理を示す図である。
【
図9】
図9は、第3及び第4の実施形態におけるメモリセルの閾値電圧分布の例を示す図である。
【
図10】
図10は、第5の実施形態におけるメモリセルの閾値電圧分布の例を示す図である。
【
図11】
図11は、第6の実施形態におけるメモリセルの閾値電圧分布の例を示す図である。
【
図12】
図12は、第7の実施形態における各物理ブロックの構造を示す断面図である。
【
図13】
図13は、第8の実施形態におけるメモリセルの閾値電圧分布の例を示す図である。
【
図14】
図14は、第9の実施形態におけるメモリセルの閾値電圧分布の例を示す図である。
【
図15】
図15は、第10の実施形態にかかるメモリシステムの長期DR保証モードから通常モードへの復帰の動作を示すフローチャートである。
【
図16】
図16は、第11の実施形態にかかるメモリシステムの長期DR保証モードから通常モードへの復帰の動作を示すフローチャートである。
【
図17】
図17は、第12の実施形態における通常モード及び性能優先モードの特性を示す図である。
【
図18】
図18は、第12の実施形態にかかるメモリシステムの通常モードから性能優先モードへの遷移の動作を示すフローチャートである。
【
図19】
図19は、第13の実施形態にかかるメモリシステムの通常モードから性能優先モードへの遷移の動作を示すフローチャートである。
【
図20】
図20は、第14~第16の実施形態における通常モード及び性能優先モードで設定すべきパラメータを示す図である。
【
図21】
図21は、第17~第19の実施形態における通常モード及び性能優先モードで設定すべきパラメータを示す図である。
【
図22】
図22は、第14および第18の実施形態における書き込み処理を示す図である。
【
図23】
図23は、第15の実施形態における書き込み処理を示す図である。
【
図24】
図24は、第16および第19の実施形態における消去処理を示す図である。
【
図25】
図25は、第20の実施形態にかかるメモリシステムの性能優先モードから通常モードへの遷移の動作を示すフローチャートである。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、これら実施形態により本発明が限定されるものではない。
【0008】
(第1の実施形態)
本実施形態にかかるメモリシステムは、NAND型フラッシュメモリなどの不揮発性メモリを有する。不揮発性メモリは、複数のメモリセルを有する。各メモリセルの閾値電圧は経時的に変化することがある。このとき、各メモリセル及びメモリシステムのデータリテンション(DR:Data Retention)が適切であることが望まれる。
【0009】
ここで、メモリセルのDRとは、あるメモリセルに対して書き込まれたデータが、データが書き込まれてからの時間が経過しても、メモリセルから正しく読み出せる状態を指す。時間の経過によりメモリセルからデータが正しく読み出せなくなることの要因の一例には、時間の経過とともにメモリセルから電子が抜けることで、メモリセルの閾値電圧が低下することがあげられる。
【0010】
メモリシステムのDRとは、あるメモリセルに対して書き込まれたデータが、データが書き込まれてからの時間が経過してもメモリセルから正しく読み出せる状態、又は当該メモリセルから正しく読み出せなくなったものの、後述するECC(Error Correction Code)を用いた訂正により、正しく読み出せる状態を指す。
【0011】
DR期間とは、DRが保たれている経過時間を指す。なお、経過時間は、実時間であってもよいし、温度やメモリセルの疲弊度を考慮して実時間を変換することで得られた値に基づく時間であってもよい。例えば、放置状態における温度が高いほうが正味の経過時間(ストレス量を考慮して実時間から変換された経過時間)は長い。また、メモリセルの疲弊度が大きいほうが正味の経過時間は長い。
【0012】
本明細書において、ストレスとは、データ保持特性を悪化させ得る要因を指す。特に、DRストレスとは、メモリセルのDRを悪化させる要因を指す。DRストレスにはメモリシステムのDRを悪化させる要因も含む。DRストレス耐性とは、DRストレスに対する耐性を指す。メモリセルのDRエラーとは、メモリセルのDRが失われ、メモリセルから正しくデータが読み出せなくなった状態を指す。メモリシステムのDRエラーとは、メモリシステムのDRが失われ、ECCによる訂正によっても正しくデータが読み出せなくなった状態を指す。
【0013】
メモリシステムでは、例えばライフエンド条件(すなわち、メモリシステムの寿命に近い状態)において、通常の環境温度(例えば、40℃)で第1の期間(例えば、3か月)のDRが保証されている。ライフエンド条件は、例えば、各メモリセルに対する書き込み/消去処理のメモリシステム全体についての平均回数が許容限度回数に近い状態を示す。
【0014】
しかし、メモリシステムの適用用途によっては、寿命まで余裕があるフレッシュ条件のような特殊な条件に限定してもよいので、第1の期間より長い第2の期間(例えば、数年)電源をオフして放置してもデータを失わない(例えば、訂正失敗確率が1×10-17以下であること)保証を要求されることがある。この適用用途は、例えば、データセンタ向けの用途である。
【0015】
フレッシュ条件は、例えば、各メモリセルに対する書き込み/消去処理のメモリシステム全体についての平均回数が許容限度回数より大幅に少ない状態を含む。又は、フレッシュ条件は、後述するLBA(Logical Block Address)マップ率が大幅に小さい(例えば10%)状態を含む。
【0016】
そこで、第1の実施形態では、メモリシステムに、通常モードより長い期間でDRを保証する長期DR保証モードを設ける。本実施形態のメモリシステムは、ホストコマンドに応じて長期DR保証モードに切り替えて不揮発性メモリを制御する。これにより、要求に応じてDRが適切化され得る。
【0017】
具体的には、メモリシステムは、通常モードにおいて、第1の期間のDRを保証する。メモリシステムは、長期DR保証モードにおいて、第1の期間より長い第2の期間のDRを保証する。第1の期間は、例えば、3か月である。第2の期間は、例えば、1年~数年である。通常モードでは、各メモリセルに対する書き込み/消去処理のメモリシステム全体についての平均回数が多い状態、及び/又は、LBAマップ率が高い状態を想定している。長期DR保証モードでは、各メモリセルに対する書き込み/消去処理のメモリシステム全体についての平均回数が少ない状態、及び/又は、LBAマップ率が低い状態を想定している。
【0018】
LBAマップ率は、表記容量に対する、アドレス変換情報において不揮発性メモリに関連付けられている論理アドレスに対応する容量、の割合を指す。表記容量とは、メモリシステム全体でユーザデータを格納可能な最大容量を示す。表記容量は、システム表記容量とも称される。LBAマップ率は、例えば次の式で表される。
(LBAマップ率)=(不揮発性メモリに関連付けられた論理アドレスの数)÷(表記容量分の論理アドレスの数)
ただし、一つの論理アドレスは、不揮発性メモリの一定の容量に対応するものとする。また、本実施形態においては、後述するように表記容量は通常モードと長期DR保証モードとの間で変化し得る。この式における表記容量は、通常モードにおける表記容量を指す。
【0019】
通常モードでは、比較的に疲弊が少ない書き込みのパラメータ、及び/又は、高い符号化率のECCが用いられる。長期DR保証モードでは、比較的に疲弊が大きい書き込みのパラメータ、及び/又は、低い符号化率のECCが用いられる。疲弊が大きい書き込みのパラメータは、比較的にストレスに強い書き込み条件でもある。長期DR保証モードでは、さらに必要ならば、表記容量を減少させること、及び/又は、ライト性能を落とすことが行われ得る。
【0020】
通常モードから長期DR保証モードに遷移する際は、新たに書き込まれるユーザデータを、長期DR保証モード用のパラメータに応じた書き方で書き込む。通常モードから長期DR保証モードに遷移する際は、既に書き込まれたユーザデータに対しても、長期DR保証モード用のパラメータに応じた書き方でリフレッシュ(すなわち、書き直し)してもよい。
【0021】
ユーザデータとは、ホストから論理アドレスの指定とともに受信したデータである。また、システムデータとは、メモリコントローラ10が、メモリシステム1を管理するために用いるデータである。システムデータには、論理アドレスが指定されない。システムデータの一例は、アドレス変換情報である。システムデータは、管理情報とも称され得る。
【0022】
メモリシステムは、DR以外に様々な特性を有するが、長期DR保証モードでは、通常モードに比べて、他の特性を犠牲にしながらDRの確保を優先する。すなわち、不揮発性メモリの書き込みに関する各パラメータには、
図1に示すように、トレードオフの関係がある。
図1は、本実施形態における通常モード及び長期DR保証モードの特性を示す図である。
【0023】
メモリセルの信頼性に関するパラメータであるDR、PD(Program Disturb)、RD(Read Disturb)は、
図1(a)に示すように、通常モードと長期DR保証モードとの間でトレードオフの関係がある。
【0024】
PDとは、書き込み処理時に発生するストレスを示す情報である。PDは、あるメモリセルへの書き込み処理に起因する、当該メモリセル及び当該メモリセル以外のメモリセルへのストレスである。PDは、主として、あるメモリセルへの書き込み処理に伴う、当該メモリセル以外のメモリセルへの意図しない書き込みを指す。また、書き込み処理及び消去処理は、メモリセルの酸化膜の劣化を早めることになり、そのメモリセルの信頼性を悪化させ得る。このため、PDは、書き込み処理に伴うメモリセル(酸化膜)の疲弊を含むこともある。
【0025】
RDとは、読み出し処理時に発生するストレスを示す情報である。RDは、あるメモリセルへの読み出し処理に起因する、当該メモリセル以外の書き込み処理済みメモリセル(すなわち、非読み出しメモリセル)へのストレスである。
【0026】
図1(a)に示すように、通常モードでは、DR、PD、RDの各ストレスに対する耐性を総合的にバランスさせるようにパラメータが組まれるため、いずれも、比較的良好(good)になり得る。長期DR保証モードでは、DRストレス耐性が優先され、PD、RDストレスについては弱くてもよいとされるため、DRが非常に良好(excellent)になり得るのに対して、PD、RDが貧弱(poor)になり得る。
【0027】
DRとセル疲弊とは、
図1(b)に示すように、通常モードと長期DR保証モードとの間でトレードオフの関係がある。セル疲弊とは、メモリセルへの一度の書き込み/消去処理によるメモリセルへの疲弊の度合いを示す。
図1(b)に示すように、通常モードでは、DRストレスに対する耐性と、セル疲弊とを総合的にバランスさせるようにパラメータが組まれるため、いずれも、比較的良好(good)になり得る。長期DR保証モードでは、DRストレス耐性が優先され、セル疲弊を大きくしてもよいとされるため、DRが非常に良好(excellent)になり得るのに対して、セル疲弊特性が貧弱(poor)になり得る。
【0028】
DRとライト性能とは、
図1(c)に示すように、通常モードと長期DR保証モードとの間でトレードオフの関係がある。ライト性能とは、書き込み処理の高速性を意味し、プログラム時間(tPROG)の短さを示す。
図1(c)に示すように、通常モードでは、DRストレスに対する耐性と、ライト性能とを総合的にバランスさせるようにパラメータが組まれるため、いずれも、比較的良好(good)になり得る。通常モードでは、各メモリセルのライト性能を高めるように、プログラム時間が短いパラメータが用いられる。長期DR保証モードでは、ライト性能を犠牲にしてDRストレス耐性を優先するようなパラメータが用いられるため、DRが非常に良好(excellent)になり得るのに対して、ライト性能が貧弱(poor)になり得る。
【0029】
DRとシステム表記容量とは、
図1(d)に示すように、通常モードと長期DR保証モードとの間でトレードオフの関係がある。
図1(d)に示すように、通常モードでは、DRストレスに対する耐性と、システム表記容量とを総合的にバランスさせるようにパラメータが組まれるため、いずれも、比較的良好(good)になり得る。長期DR保証モードでは、DRストレス耐性が優先され、システム表記容量については少なくもよいとされるため、DRが非常に良好(excellent)になり得るのに対して、システム表記容量が貧弱(poor)になり得る。
【0030】
DRとECCの符号化率とは、
図1(e)に示すように、通常モードと長期DR保証モードとの間でトレードオフの関係がある。ECCの符号化率とは、誤り訂正の符号化処理で生成されるECCパリティとユーザデータとを含む符号語に対する、ユーザデータの割合を表す。ECCの符号化率は、例えば次の式で示される。
(符号化率)=(ユーザデータのビット数)/(符号語のビット数)
なお、(符号語のビット数)=(ユーザデータのビット数)+(ECCパリティのビット数)である。符号化率が高いほど、ユーザデータのビット数に対するECCパリティのビット数が相対的に小さいので誤り訂正能力が低くなる。しかしながら、ECCパリティのビット数が減少することにより、メモリシステムが自由に使用できる記憶容量が増える点は良好とされる。
【0031】
図1(e)に示すように、通常モードでは、DRストレスに対する耐性と、ECCの符号化率とを総合的にバランスさせるようにパラメータが組まれるため、いずれも、比較的良好(good)になり得る。長期DR保証モードでは、DRストレス耐性が優先され、ユーザデータに対するECCパリティのビット数が相対的に多くてもよいとされるため、DRが非常に良好(excellent)になり得るのに対して、ECCの符号化率が貧弱(poor)になり得る。
【0032】
以上のように、メモリシステムのパフォーマンスを総合的に考えると通常モードの方が好ましいため、定常的には、メモリシステムは通常モードで動作する。一方、メモリシステムは、DRの長期化を指示するコマンドをホストから受信した場合は、ユーザからの要求があったとして、臨時的に、長期DR保証モードで動作する。これにより、定常的なメモリシステムのパフォーマンスを確保しつつ、各メモリセルのDR及びメモリシステムのDRを、ユーザの要求に応じて適切化できる。
【0033】
メモリシステム1は、
図2に示すように構成される。
図2は、メモリシステム1の構成を示す図である。
【0034】
メモリシステム1は、不揮発性メモリ20、メモリコントローラ10、及びバッファメモリ19を有する。メモリシステム1は、ホスト30と接続可能である。
図2では、メモリシステム1がホスト30と接続された状態が示されている。ホスト30は、例えば、パーソナルコンピュータ、サーバ装置、携帯端末、デジタルスチルカメラなどの電子機器であってよい。
【0035】
メモリシステム1は、SSD(Solid State Drive)や、メモリコントローラ10と不揮発性メモリ20とが1つのパッケージとして構成されるメモリカード等、不揮発性メモリ20を備える種々のメモリシステムであってよい。
【0036】
不揮発性メモリ20は、データを不揮発に記憶するメモリである。不揮発性メモリ20は、例えばNAND型フラッシュメモリ(以下、単にNANDメモリという)である。不揮発性メモリ20は、複数のメモリチップで構成され得る。以下の説明では、不揮発性メモリ20としてNANDメモリが用いられる場合を例示する。不揮発性メモリ20として、3次元構造フラッシュメモリ、ReRAM(Resistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)等を用いることも可能である。また、不揮発性メモリ20が半導体メモリであることは必須ではない。半導体メモリ以外の種々の記憶媒体に対して本実施形態を適用することも可能である。
【0037】
メモリコントローラ10は、例えばSoC(System-on-a-Chip)として構成される半導体集積回路である。以下で説明するメモリコントローラ10の各構成要素の機能の一部又は全部は、CPU(Central Processing Unit)がファームウエアを実行することによって実現されてもよいし、専用ハードウエアで実現されてもよい。
【0038】
メモリコントローラ10は、ホストバス31によってホスト30に接続される。メモリコントローラ10は、ホスト30からのホストライトコマンドに従って不揮発性メモリ20への書き込み処理を制御する。また、メモリコントローラ10は、ホスト30からのホストリードコマンドに従って不揮発性メモリ20からの読み出し処理を制御する。ホストバス31の準拠する規格としては、例えば、SATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(登録商標)(Peripheral Component Interconnect express)など、任意の規格が採用可能である。
【0039】
メモリコントローラ10は、メモリバス18によって不揮発性メモリ20に接続される。メモリバス18は、メモリコントローラ10と不揮発性メモリ20との間の信号の送受信に用いられる。この信号の具体例には、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn、レディ・ビジー信号RBn、入出力信号I/Oが含まれ得る。
【0040】
信号CEnは、不揮発性メモリ20に含まれるメモリチップをイネーブルにするための信号である。信号CLEは、不揮発性メモリ20への入力信号I/Oがコマンドであることを不揮発性メモリ20に通知する信号である。信号ALEは、不揮発性メモリ20への入力信号I/Oがアドレスであることを不揮発性メモリ20に通知する信号である。信号WEnは入力信号I/Oを不揮発性メモリ20に取り込ませるための信号である。信号REnは、不揮発性メモリ20から出力信号I/Oを読み出すための信号である。レディ・ビジー信号RBnは、不揮発性メモリ20がレディ状態(メモリコントローラ10からのコマンドを受信できる状態)であるか、ビジー状態(メモリコントローラ10からのコマンドを受信できない状態)であるかを示す信号である。入出力信号I/Oは、例えば8ビットの信号である。入出力信号I/Oは、不揮発性メモリ20とメモリコントローラ10との間で送受信されるデータの実体である。入出力信号I/Oは、コマンド、アドレス、ライトデータ(書き込み対象のデータ)、リードデータ(読み出されたデータ)、ステータスを含む。
【0041】
不揮発性メモリ20からメモリコントローラ10へは、温度センサ25で検出された不揮発性メモリ20の温度を示す信号TEMPも入力される。温度センサ25は、
図2に示すように、不揮発性メモリ20内に設けられてもよい。温度センサ25は、不揮発性メモリ20の外部に設けられてもよい。温度センサ25から出力された信号TEMPを送信する信号線は、メモリバス18に含まれていてもよいし、メモリバス18とは別の独立した信号線であってもよい。
【0042】
メモリコントローラ10は、ホストインタフェース(ホストI/F)15、制御部11、バッファインタフェース(バッファI/F)12、RAM(Random Access Memory)14、メモリインタフェース(メモリI/F)16、及びECC部13を有する。ホストI/F15、制御部11、バッファI/F12、RAM14、メモリI/F16、及びECC部13は、内部バス17によって互いに接続されている。
【0043】
ホストI/F15は、ホストバス31を介してホスト30と接続される。ホストI/F15は、ホスト30から受信したコマンド及びデータを、それぞれ制御部11及びRAM14又はバッファメモリ19に転送する。また、ホストI/F15は、制御部11からの要求に応答して、RAM14又はバッファメモリ19内のデータをホスト30へ転送する。
【0044】
制御部11は、例えばCPU(Central Processing Unit)で構成される。制御部11は、メモリコントローラ10各部の動作を統括的に制御する。例えば、制御部11は、ホスト30からホストライトコマンドを受信した際には、不揮発性メモリ20へのデータの書き込み処理をメモリI/F16へ指示するため、メモリI/F16に対してライトコマンドを発行する。制御部11は、ホスト30からホストリードコマンドを受信した際には、不揮発性メモリ20からのデータの読み出し処理をメモリI/F16へ指示するため、メモリI/F16に対してリードコマンドを発行する。一方、消去(イレース)の場合には、例えば制御部11がガベージコレクション(コンパクションとも呼ばれる)の処理の一環として、メモリI/F16に対してイレースコマンドを発行する。制御部11は、ガベージコレクションの他にも、不揮発性メモリ20を管理するための様々な処理、例えばウェアレベリング、リフレッシュ、パトロールリードの実行を制御する。
【0045】
制御部11は、ホスト30からホストライトコマンドを受信した場合、RAM14又はバッファメモリ19内に蓄積されるユーザデータに対して、不揮発性メモリ20上の格納領域を決定する。ユーザデータの論理アドレスと、該ユーザデータが格納された不揮発性メモリ20上の格納領域を示す物理アドレスとの対応は、アドレス変換情報LUTで管理される。アドレス変換情報LUTは、ルックアップテーブル(Look Up Table)とも呼ばれ得る。このアドレス変換情報LUTは、例えば不揮発性メモリ20内に格納されており、必要に応じて読み出されてRAM14及び/又はバッファメモリ19等にキャッシュされる。アドレス変換情報LUTは、ホスト30からのコマンド(例えば、ライトコマンド、トリムコマンド、フォーマットコマンド)、又は内部動作(例えば、ガベージコレクション動作、リフレッシュ動作)に応じて更新され得る。
【0046】
制御部11は、ホスト30からホストリードコマンドを受信した場合、ホストリードコマンドにより指定された論理アドレスを上述のアドレス変換情報LUTを用いて物理アドレスに変換し、該物理アドレスからの読出しをメモリI/F16へ指示する。
【0047】
メモリI/F16は、メモリバス18を介して不揮発性メモリ20と接続される。メモリI/F16は、不揮発性メモリ20との通信を制御する。メモリI/F16は、制御部11から受信したコマンドに基づき、信号ALE、信号CLE、信号WEn、及び信号REnを不揮発性メモリ20へ出力する。メモリI/F16は、書き込み処理時には、制御部11で発行されたライトコマンド、及びRAM14又はバッファメモリ19内のライトデータを、入出力信号I/Oとして不揮発性メモリ20へ転送する。メモリI/F16は、読み出し処理時には、制御部11で発行されたリードコマンドを、入出力信号I/Oとして不揮発性メモリ20へ転送する。また、メモリI/F16は、不揮発性メモリ20から読み出されたデータを入出力信号I/Oとして受信する。メモリI/F16は、受信したデータをRAM14又はバッファメモリ19内へ転送する。
【0048】
バッファメモリ19は、ライトデータ又はリードデータを一時的に格納する。バッファメモリ19は、RAM14に比べてメモリ容量が大きい。バッファメモリ19は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等で構成され得る。
【0049】
バッファI/F12は、メモリコントローラ10からバッファメモリ19へのアクセスを制御するコントローラである。バッファI/F12は、例えばDDR(Double Data Rate)でのバッファメモリ19へのアクセスを可能とする。
【0050】
RAM14は、アドレス変換情報LUTや、メモリシステム1の起動時等に不揮発性メモリ20の特定の領域から読み出された各種管理テーブルなどのマスタテーブルを記憶する。また、RAM14は、各種管理テーブルのスナップショット、及び/又は各種管理テーブルの変更差分であるログ情報を一時的に記憶するワーキングメモリとして使用することができる。また、RAM14は、ホスト30と不揮発性メモリ20との間でデータ転送をする際のキャッシュメモリとしても用いられ得る。RAM14は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等で構成され得る。
【0051】
ECC部13は、リードデータに対する誤り検出及び誤り訂正のために、データの符号化及び復号を行う。具体的には、ECC部13は、不揮発性メモリ20に書き込まれるデータを符号化し符号語を生成する。また、ECC部13は、不揮発性メモリ20から読み出されたデータ(すなわち、符号語)を復号する。ECC部13は、復号によって、リードデータに対して誤り検出及び誤り訂正を実行する。ECC部13は、誤り訂正に失敗した場合には、誤り訂正の失敗を制御部11に通知する。ECC部13による符号化及び復号のアルゴリズムには、RS(リード・ソロモン)符号、BCH(Bose-Chaudhuri-Hocquenghem)符号、低密度パリティ検査(LDPC)符号等を用いた任意のアルゴリズムを適用することが可能である。
【0052】
書き込み処理時において、ECC部13は、制御部11による制御のもと、ライトコマンドに基づいて不揮発性メモリ20にライトすべきユーザデータを受ける。ECC部13は、ユーザデータに基づいて、制御部11により制御された符号化率でECCパリティを生成する。ECC部13は、ECCパリティをユーザデータに付してライトデータ(すなわち、符号語)とする。不揮発性メモリ20には、符号語が書き込まれる。
【0053】
読み出し処理時において、ECC部13は、制御部11による制御のもと、リードコマンドに基づいて不揮発性メモリ20からリードされたリードデータ(すなわち、符号語)を受ける。ECC部13は、リードデータからECCパリティを抽出する。ECC部13は、ECCパリティに基づきシンドロームを生成する。ECC部13は、シンドロームに基づきリードデータ内のエラービットの有無を判断する。ECC部13は、リードデータにエラービットが含まれる場合、エラービットの位置を特定する。ECC部13において訂正可能なエラービットの数は、符号語の誤り訂正能力(例えばECCパリティのビット数)によって決まる。訂正可能な数以下のエラービットがリードデータに含まれる場合、ECC部13は、そのエラービットを訂正し、訂正成功の旨を制御部11へ通知する。訂正可能な数を超えるエラービットがリードデータに含まれる場合には、ECC部13は、訂正失敗(uncorrectable)の旨を制御部11へ通知する。この場合、データが失われることがある。
【0054】
不揮発性メモリ20は、コマンド処理部21、駆動部22、メモリセルアレイ23、カラムモジュール24、及び、温度センサ25を有する。コマンド処理部21は、シーケンサ211、コマンドレジスタ(CMDレジスタ)212、アドレスレジスタ(ADDレジスタ)213を含む。駆動部22は、ドライバ回路221及びロウデコーダ(R/D)222を含む。
【0055】
メモリセルアレイ23は、複数のメモリセル(複数のメモリセルトランジスタMT)を有する。各メモリセルは、ロウ及びカラムに対応付けられている。メモリセルアレイ23は、メモリコントローラ10から与えられたデータを記憶する。
【0056】
ロウデコーダ222は、アクセス対象のブロックを選択し、更に選択したブロックにおけるロウを選択する。
【0057】
ドライバ回路221は、選択されたブロックに対して、ロウデコーダ222を介して電圧を供給する。
【0058】
カラムモジュール24は、例えばセンスアンプと、複数のラッチ回路よりなるデータラッチとを含んで構成される。カラムモジュール24は、書き込み動作においては、メモリコントローラ10から受信したデータDATをメモリセルアレイ23に転送する。また、カラムモジュール24は、読み出し動作においては、メモリセルアレイ23から読み出されたデータをセンスし、必要な演算を行う。そして、カラムモジュール24は、得られたデータDATをメモリコントローラ10に出力する。
【0059】
アドレスレジスタ213は、メモリコントローラ10から受信したアドレスADDを保持する。コマンドレジスタ212は、メモリコントローラ10から受信したコマンドCMDを保持する。
【0060】
シーケンサ211は、コマンドレジスタ212に保持されたコマンドCMDに基づき、不揮発性メモリ20全体の動作を制御する。
【0061】
温度センサ25は、常時、定期的又は必要に応じて、メモリセルアレイ23周辺の温度を検出する。検出された温度は、不揮発性メモリ20内の動作の温度補償に用いられ得る。検出された温度は、信号TEMPとしてメモリコントローラ10へ出力されてもよい。
【0062】
不揮発性メモリ20は、複数のメモリチップを含んでよい。各メモリチップは、メモリセルアレイを含む。メモリセルアレイは、複数の物理ブロックを含む。各物理ブロックは、例えば、
図3に示すように構成される。
【0063】
各物理ブロックBLKは、複数のストリングユニットSU0~SU3を有する。複数のストリングユニットSU0~SU3は、複数の選択ゲートラインSGDL0~SGDL3に対応している。複数のストリングユニットSU0~SU3は、選択ゲートラインSGSLを共有している。各ストリングユニットSU0~SU3は、物理ブロックBLKにおける駆動単位として機能する。各ストリングユニットSU0~SU3は、対応する選択ゲートラインSGDL0~SGDL3と選択ゲートラインSGSLとで駆動され得る。各ストリングユニットSU0~SU3は、複数のメモリストリングMSTを含む。
【0064】
各メモリストリングMSTは、例えば64個のメモリセルトランジスタMT(MT0~MT63)及び選択トランジスタSDT,SSTを含む。メモリセルトランジスタMTは、コントロールゲートと電荷蓄積膜とを有し、データを不揮発に保持する。64個のメモリセルトランジスタMT(MT0~MT63)は、選択トランジスタSDTのソースと選択トランジスタSSTのドレインとの間に、ビットラインBLにより直列接続されている。メモリストリングMST内のメモリセルトランジスタMTの個数は64に限定されない。
【0065】
ワードラインWL0~WL63(各ワードラインを区別しない場合には、WLで示す)のそれぞれは、物理ブロックBLK内の各ストリングユニットSUにおいて、メモリセルトランジスタMTのコントロールゲートを各メモリストリングMST間で共通に接続している。つまり、物理ブロックBLK内の各ストリングユニットSU内において、同一行にあるメモリセルトランジスタMTのコントロールゲートは、同一のワードラインWLに接続される。物理ブロックBLKのストリングユニットSUは複数のワードラインWLにそれぞれ対応した複数のメモリセルグループMCGを含む。各メモリセルグループMCGは同一のワードラインWLに接続される(p+1)個のメモリセルトランジスタMTを含む。各メモリセルトランジスタMTに1ビットの値を記憶可能に構成される場合(シングルレベルセル(SLC)モードで動作する場合)には、メモリグループMCGは1つの物理ページとして取り扱われる。この場合、物理ページごとにデータの書き込み動作及びデータの読み出し動作が行われる。
【0066】
各メモリセルトランジスタMTに複数ビットの値を保持可能に構成される場合がある。例えば、各メモリセルトランジスタMTがn(n≧2)ビットの値を記憶可能な場合、ワードラインWL当たりの記憶容量はn個の物理ページ分のサイズに等しくなる。すなわち、各メモリセルグループMCGは、n個の物理ページとして取り扱われる。各メモリセルトランジスタMTが2ビットの値の記憶するマルチレベルセル(MLC)モードでは、各ワードラインWLに2個の物理ページ分のデータが記憶される。各メモリセルトランジスタMTが3ビットの値の記憶するトリプルレベルセル(TLC)モードでは、各ワードラインWLに3個の物理ページ分のデータが記憶される。各メモリセルトランジスタMTが4ビットの値の記憶するクワッドレベルセル(QLC)モードでは、各ワードラインWLに4個の物理ページ分のデータが記憶される。
【0067】
TLCモードにおいては、メモリセルの閾値電圧分布は、例えば、
図4に示すようになる。
図4は、本実施形態におけるメモリセルの閾値電圧分布を示す図である。
図4において、横軸は閾値電圧を表し、縦軸はメモリセルの数(具体的には、所定の閾値電圧を有するメモリセルの数)を表す。
【0068】
TLCモードにおいては、各メモリセルは、アッパーページに属するデータ“x”とミドルページに属するデータ“y”とロアーページに属するデータ“z”とで定義される3ビットのデータ“xyz”を保持可能である。データ“x”、データ“y”、データ“z”の値は、 “0”又は “1”である。各メモリセルの閾値電圧は、“Er”分布、“A”分布、“B”分布、“C”分布、“D”分布、“E”分布、“F”分布、及び“G”分布の8つの分布の何れかに属するように制御される。各分布と3ビットのデータ“xyz”のデータ値との対応は、予め設定される。例えば、“Er”分布にはデータ値“111”が割り当てられる。“A”分布にはデータ値“110”が割り当てられる。“B”分布にはデータ値“100”が割り当てられる。“C”分布にはデータ値“000”が割り当てられる。“D”分布にはデータ値“010”が割り当てられる。“E”分布にはデータ値“011”が割り当てられる。“F”分布にはデータ値“001”が割り当てられる。“G”分布にはデータ値“101”が割り当てられる。各分布とデータ値との対応は、上記に限定されない。
【0069】
メモリセルへのデータの書き込み時、カラムモジュール24は、書き込み対象として選択されたビットラインBLの電位を例えば0Vとする。ロウデコーダ222は、書き込み対象として選択されたワードラインWLに、プログラムパルスを印加する。すると、選択されたビットラインBL及び選択されたワードラインWLとの交点に位置するメモリセルの電荷蓄積膜に電子が注入され、その結果、メモリセルの閾値電圧が上昇する。カラムモジュール24は、プログラムパルスが印加される毎に、閾値電圧が書き込み対象のデータに応じた電圧に到達したか否かを確認する。カラムモジュール24は、閾値電圧がデータに応じた電圧に到達するまで、ロウデコーダ222にプログラムパルスの印加を継続させる。
【0070】
メモリセルからのデータの読み出し時、カラムモジュール24は、ビットラインBLにビットライン電圧Vb1(例えば1.5V)をプリチャージする。ロウデコーダ222は、選択されたワードラインWLにデータ値毎の分布を特定するための複数種類の読み出し電圧を順次印加する。ロウデコーダ222は、非選択のワードラインWLにはリードパス電圧VREADを印加し、非選択のワードラインWLに属するメモリセルを導通状態にしておく。カラムモジュール24は、プリチャージにより蓄えられた電荷が、どの読み出し電圧が印加されたときに流出したかを検知することによって、対象のメモリセルに記憶されているデータ値を判定する。
【0071】
次に、メモリシステム1の動作について
図5を用いて説明する。
図5は、メモリシステムの通常モードから長期DR保証モードへの遷移の動作を示すフローチャートである。
【0072】
メモリコントローラ10は、通常モードでは、デフォルトのパラメータで不揮発性メモリ20の各メモリセルへのアクセス動作を制御している。アクセス動作とは、例えばメモリコントローラ10が不揮発性メモリ20にデータを書き込んだり、不揮発性メモリ20のデータを消去したりする動作のことである。DRを長期間で保証してほしい旨のユーザ要求がホスト30で受け付けられた場合、又は、DRを長期間で保証すべきであるとホスト30が自律的に判断した場合、長期DR保証モードへの遷移指示を含むホストコマンドCM1がホスト30から発行される(S1)。ホストコマンドCM1がホスト30からホストI/F15で受信されると、メモリコントローラ10は、ユーザデータがメモリシステム1内に存在するか否かを判断する(S2)。ユーザデータがメモリシステム1内に存在しない場合(S2でNO)、メモリコントローラ10は、ホストコマンドCM1に応じて、メモリシステム1内部のパラメータを長期DR保証モード用のパラメータに変更する(S3)。メモリコントローラ10は、システムデータを長期DR保証モード用のパラメータに応じた書き方で書き直す(S4)。すなわち、メモリコントローラ10は、不揮発性メモリ20の図示しない管理情報格納領域からシステムデータを読み出す。メモリコントローラ10は、読み出されたシステムデータを、長期DR保証モード用のパラメータに応じた書き方で管理情報格納領域へ書き戻す。そして、メモリコントローラ10は、ホスト30に遷移完了の通知を返す(S12)。
【0073】
ユーザデータがメモリシステム1内に存在する場合(S2でYES)、メモリコントローラ10は、長期DR保証モードが表記容量の変化を必要とするモードであるか否かを判断する(S5)。長期DR保証モードが表記容量の変化を必要とするモードでなければ(S5でNO)、メモリコントローラ10は、処理をS9へ進める。長期DR保証モードが表記容量の変化を必要とするモードである場合(S5でYES)、メモリコントローラ10は、既に書き込まれているユーザデータを、長期DR保証モード用のパラメータに応じた書き方で書き直した場合のデータ容量Xと、パラメータを変更した場合のメモリシステム全体の表記容量Yとをそれぞれ計算する(S6)。メモリコントローラ10は、アドレス変換情報に登録された論理アドレスの数からデータ容量Xを見積もってもよい。メモリコントローラ10は、データ容量Xが表記容量Y以下であるか否かを判断する(S7)。データ容量Xが表記容量Yを超える場合(S7でNO)、メモリコントローラ10は、長期DR保証モードへの遷移が不可である旨のエラーをホスト30へ返す(S8)。データ容量Xが表記容量Y以下である場合(S7でYES)、メモリコントローラ10は、メモリシステム1の各種パラメータを長期DR保証モード用のパラメータに変更する(S9)。メモリコントローラ10は、システムデータを長期DR保証モード用のパラメータに応じた書き方で書き直す(S10)。次に、メモリコントローラ10は、既に書き込まれているユーザデータを、長期DR保証モード用のパラメータに応じた書き方で書き直す(S11)。そして、メモリコントローラ10は、ホスト30に遷移完了の通知を返す(S12)。遷移完了の通知は、表記容量が減少することの通知、及び/又は、減少した表記容量の値を含んでもよい。
【0074】
通常モード及び長期DR保証モードの間の遷移は、不揮発性メモリ20全体とは異なる記憶単位で行われてもよい。例えば、通常モード及び長期DR保証モードの間の遷移は、メモリチップの単位で行われてもよい。遷移はネームスペースの単位で行われてもよい。遷移は論理ブロックの単位で行われてもよい。論理ブロックは、複数の物理ブロックを含み、メモリコントローラ10による管理上の記憶単位である。
【0075】
通常モード及び長期DR保証モードの間の遷移が論理ブロック単位で行われる場合、モードの遷移の途中で、通常モード用のパラメータに応じた書き方で書かれた論理ブロックと、長期DR保証モード用のパラメータに応じた書き方で書かれた論理ブロックとがメモリシステム内に混在することになる。このため、メモリコントローラ10は、各論理ブロックがどのモードに対応しているかを管理する。すなわち、メモリコントローラ10は、論理ブロック毎に通常モードと長期DR保証モードとのどちらのモードで書かれているかの管理を行う。
【0076】
例えば、
図6に示すようなモード管理情報が不揮発性メモリ20の管理情報格納領域に格納されている。メモリコントローラ10は、メモリシステム1の起動時等に管理情報格納領域からモード管理情報を読み出し、RAM14に格納してモードの管理を行ってもよい。
図6は、モード管理情報のデータ構造を示す図である。モード管理情報は、ブロック識別情報とモード識別情報とが複数の論理ブロックについて対応付けられた情報である。ブロック識別情報(Block Index)は、論理ブロックを識別する情報である。ブロック識別情報は、例えば、論理ブロックに割り当てられたブロック番号である。モード識別情報Modeは、モードを識別する情報である。モード識別情報Modeは、例えば、1ビットの値であり、Mode=0で通常モードを示し、Mode=1で長期DR保証モードを示す。
図6では、ブロック番号3,4の論理ブロックが長期DR保証モードで制御され、それ以外の論理ブロックが通常モードで制御された状態が例示されている。
【0077】
メモリコントローラ10は、モード管理情報を、定常的にRAM14に格納させてもよい。メモリコントローラ10は、全論理ブロックが通常モード用のパラメータに応じた書き方だけで書かれている状況では、モード管理情報をRAM14上から削除してもよい。
【0078】
次に、通常モード及び長期DR保証モードの間で変更され得るパラメータについて説明する。長期DR保証モードでは、通常モードに比較して、DRストレス耐性を向上するようにパラメータが変更される。
【0079】
例えば、パラメータは、1メモリセル当たりに記憶するビット数である。このパラメータの変更は、表記容量の変化を必要とする。
図7(a)は、通常モード及び長期DR保証モードで設定すべきパラメータとして、1メモリセル当たりに記憶するビット数を示す図である。
図7(a)に示すように、メモリコントローラ10は、通常モードにおいて、1メモリセル当たりビット数B
1のデータを格納するようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は、長期DR保証モードにおいて、1メモリセル当たりビット数B
2(<B
1)のデータを格納するようにメモリセルへのアクセス動作を制御する。DRストレス耐性について、次の数式1の関係が成り立つ。
SLC > MLC > TLC >QLC・・・数式1
【0080】
SLCモード、MLCモード、TLCモード、QLCモードでは、1メモリセル当たりに記憶するビット数は、それぞれ、1ビット、2ビット、3ビット、4ビットである。例えば、メモリコントローラ10は、通常モードにおいてMLCモードでメモリセルへ書き込み動作を行い、長期DR保証モードにおいてSLCモードでメモリセルへ書き込み動作を行ってもよい。あるいは、メモリコントローラ10は、通常モードにおいてTLCモードでメモリセルへ書き込み動作を行い、長期DR保証モードにおいてMLCモード又はSLCモードでメモリセルへ書き込み動作を行ってもよい。あるいは、メモリコントローラ10は、通常モードにおいてQLCモードでメモリセルへ書き込み動作を行い、長期DR保証モードにおいてTLCモード、MLCモード、又はSLCモードでメモリセルへ書き込み動作を行ってもよい。
【0081】
以上のように、第1の実施形態では、メモリシステム1に、DRを通常モードより長い期間で保証する長期DR保証モードを設ける。メモリシステム1は、ホストコマンドに応じて動作モードを長期DR保証モードに切り替えて、不揮発性メモリ20へのアクセス動作を制御する。これにより、定常的なメモリシステム1のパフォーマンスを確保しつつ、メモリシステム1のDRをユーザの要求に応じて適切化できる。すなわち、ユーザの要求に応じて、通常使用時に比べて長期間のDRストレス耐性を保証できる。
【0082】
第1の実施形態にかかるメモリシステム1においては、1メモリセル当たりに記憶するビット数を、長期DR保証モードでは通常モードよりも少なくする。これにより、長期間のDRストレス耐性を保証できる。
【0083】
(第2の実施形態)
図7(b)に示すように、長期DR保証モードでDRストレス耐性を向上するように変更されるパラメータは、第1の実施形態で説明した符号化率であってもよい。このパラメータの変更は、表記容量の変化を必要とする。
図7(b)は、通常モード及び長期DR保証モードで設定すべきパラメータとして、符号化率を示す図である。
図7(b)に示すように、メモリコントローラ10は、通常モードにおいて、符号化率R
1で誤り訂正処理を行うようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は、長期DR保証モードにおいて、符号化率R
2(<R
1)で誤り訂正処理を行うようにメモリセルへのアクセス動作を制御する。長期DR保証モードでは、通常モードよりECCの誤り訂正能力が強化されると言い換えることもできる。一例としては、長期DR保証モードでは、物理ページ内のデータに対するECCパリティのビット数が通常モードより多くされてもよい。別な一例としては、長期DR保証モードでは、物理ページ内のECCパリティに対するデータのビット数が通常モードより少なくされてもよい。さらに別な一例としては、メモリコントローラ10は、通常モードにおいて一つのチップ内のユーザデータに対してECCパリティを生成し、長期DR保証モードにおいて複数チップに亘って格納されたユーザデータに対してECCパリティを生成してもよい。
【0084】
(第3の実施形態)
長期DR保証モードでDRストレス耐性を向上するように変更されるパラメータは、プログラム電圧の増加幅であってもよい。プログラム電圧の増加幅を小さくすることで、閾値電圧分布を細くできる。このパラメータの変更は、表記容量の変化を必要としない。
図7(c)は、通常モード及び長期DR保証モードで設定すべきパラメータとして、プログラム電圧の増加幅を示す図である。
図7(c)に示すように、メモリコントローラ10は、通常モードにおいて、電圧増加幅ΔV
1で書き込み動作を行うようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は、長期DR保証モードにおいて、電圧増加幅ΔV
2(<ΔV
1)で書き込み動作を行うようにメモリセルへのアクセス動作を制御する。
【0085】
図8は、通常モード及び長期DR保証モードにおける書き込み処理を示す図である。書き込み処理では、
図8に示すように、プログラム開始電圧Vwsでの書き込み動作が行われベリファイ動作が行われた後、書き込みが成功したと判定されるまで、一定の増加幅ΔVでプログラム電圧を増加しながら書き込み動作とベリファイ動作とが繰り返し行われる。
図8の場合、通常モードにおいて、プログラム電圧の増加幅ΔV=ΔV
1でループ回数が3回で書き込みが完了し、書き込み時間がWT1となる。長期DR保証モードでは、プログラム電圧の増加幅ΔV=ΔV
2(<ΔV
1)でループ回数が6回で書き込みが完了し、書き込み時間がWT2(>WT1)となる。
【0086】
これを閾値電圧分布について見てみると、
図9のようになる。
図9は、通常モード及び長期DR保証モードにおけるメモリセルの閾値電圧分布を示す図である。
図9(a)は、書き込み直後の閾値電圧分布を示し、
図9(b)は、長時間経過後の閾値電圧分布を示す。
図9において、点線は、通常モードの閾値電圧分布を示し、実線は、長期DR保証モードの閾値電圧分布を示す。例えば、TLCモードで各メモリセルにデータが書き込まれる場合、各メモリセルの閾値電圧の取り得る範囲は、上述のように、閾値電圧が低いほうから順に“Er”分布、“A”分布、“B”分布、“C”分布、“D”分布、“E”分布、“F”分布、及び“G”分布の8つの範囲に区分される。 “A”分布、“B”分布、“C”分布、“D”分布、“E”分布、“F”分布、及び“G”分布のベリファイ電圧Vfa,Vfb,Vfc,Vfd,Vfe,Vff,Vfgが、
図9(a)に示すように決められているとする。このとき、通常モードの書き込み処理において、比較的大きなプログラム電圧の増加幅ΔV=ΔV
1を用いて、メモリセルの閾値電圧を低電圧側からベリファイ電圧Vfa~Vfgへ近づけるため、“A”分布~“G”分布の幅は、
図9(a)に点線で示すように太くなる。これにより、通常モードでは、長期間が経過すると、
図9(b)に点線で示すように、各分布同士の重なりが大きく、読み出し時のビットエラー率が増加し得る。長期DR保証モードの書き込み処理においては、比較的小さなプログラム電圧の増加幅ΔV=ΔV
2(<ΔV
1)を用いて、メモリセルの閾値電圧を低電圧側からベリファイ電圧Vfa~Vfgへ近づけるため、“A”分布~“G”分布の幅は、
図9(a)に実線で示すように細くなる。これにより、長期DR保証モードでは、長期間が経過しても、
図9(b)に実線で示すように、各分布同士の重なりが小さく、読み出し時のビットエラー率を低く抑えることができる。
【0087】
(第4の実施形態)
長期DR保証モードでDRストレス耐性を向上するように変更されるパラメータは、消去電圧の増加幅であってもよい。消去対象のブロックのワードラインは0Vの電圧にされ、メモリセルアレイの基板に正の電圧がかけられる。これによりメモリセルは電荷を抜かれ、消去状態になる。消去電圧とは基板に印加する正電圧のことを指す。消去電圧の増加幅を小さくすることで、消去状態の閾値電圧分布の幅を細くできる。このパラメータの変更は、表記容量の変化を必要としない。メモリコントローラ10は、通常モードにおいて電圧増加幅ΔVe1で消去動作を行うようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は、長期DR保証モードにおいて電圧増加幅ΔVe2(<ΔVe1)で消去動作を行うようにメモリセルへのアクセス動作を制御する。
【0088】
消去処理では、
図8で示した書き込み処理の場合と同様に、消去開始電圧Vesでの消去動作が行われベリファイ動作が行われた後、消去が成功したと判定されるまで、一定の増加幅ΔVeで消去電圧を増加しながら消去動作とベリファイ動作とが繰り返し行われる。“Er”分布のベリファイ電圧Vferが
図9(a)に示すように決められているとする。このとき、通常モードの消去処理において、比較的大きな消去電圧の増加幅ΔVe=ΔVe
1を用いて、メモリセルの閾値電圧を高電圧側からベリファイ電圧Vferへ近づけるため、“Er”分布の幅は、
図9(a)に点線で示すように太くなる。これにより、通常モードでは、長期間が経過すると、
図9(b)に点線で示すように、“Er”分布と“A”分布との重なりが大きく、読み出し時のビットエラー率が増加し得る。長期DR保証モードの消去処理においては、比較的小さな消去電圧の増加幅ΔVe=ΔVe
2(<ΔVe
1)を用いて、メモリセルの閾値電圧を高電圧側からベリファイ電圧Vferへ近づけるため、“Er”分布の幅は、
図9(a)に実線で示すように細くなる。これにより、長期DR保証モードでは、長期間が経過した後に、
図9(b)に実線で示すように、“Er”分布と“A”分布との重なりが小さく、読み出し時のビットエラー率を低く抑えることができる。
【0089】
(第5の実施形態)
長期DR保証モードでDRストレス耐性を向上するように変更されるパラメータは、複数のベリファイ電圧間の電圧間隔であってもよい。このパラメータは、閾値電圧分布のずらし具合と言い換えることもできる。このパラメータの変更は、表記容量の変化を必要としない。
図10は、通常モード及び長期DR保証モードにおけるメモリセルの閾値電圧分布を示す図である。
図10(a)は、書き込み直後の閾値電圧分布を示し、
図10(b)は、長時間経過後の閾値電圧分布を示す。
図10において、点線は、通常モードの閾値電圧分布を示し、実線は、長期DR保証モードの閾値電圧分布を示す。
図10に示すように、メモリコントローラ10は、通常モードにおける書き込み処理のベリファイ動作を、デフォルトの電圧間隔で決められた複数のベリファイ電圧から選択されたベリファイ電圧で行うように、メモリセルへのアクセス動作を制御する。デフォルトの電圧間隔は、PDストレス、DRストレス、及びRDストレスに対して総合的に強くなるように、実験的に決められ得る。メモリコントローラ10は、長期DR保証モードにおける書き込み処理のベリファイ動作を、所定の電圧間隔を含む複数のベリファイ電圧から選択されたベリファイ電圧で行うように、メモリセルへのアクセス動作を制御する。所定の電圧間隔は、長期間が経過した際に各分布同士の重なりが均等になるように実験的に決められ得る。所定の電圧間隔を用いてベリファイ動作が行われたデータは、デフォルトの電圧間隔を用いてベリファイ動作が行われたデータよりも、DRストレスに対して強い一方、PDストレスやRDストレスに対しては弱くなり得る。
図10では、長期DR保証モードにおいて、 “E”分布と“F”分布との間の閾値電圧マージン、及び“F”分布と“G”分布との間の閾値電圧マージンを広く取るようにする場合が例示されている。
【0090】
図10(a)に示す“Er”分布~“G”分布のうち、高電圧側の分布の分布幅が経時的に広がりやすい傾向にあるとする。この場合、メモリコントローラ10は、“B”分布~“E”分布のベリファイ電圧を、通常モードにおけるベリファイ電圧Vfb0~Vfe0から、長期DR保証モードでは、より低電圧のベリファイ電圧Vfb1~Vfe1にずらす。また、メモリコントローラ10は、“F”分布のベリファイ電圧を、通常モードにおけるベリファイ電圧Vff0から、長期DR保証モードでは、より低電圧のベリファイ電圧Vff1にずらす。 “A”分布のベリファイ電圧(Vfa1)は、通常モードと同じ(Vfa0)でもよいし、通常モードより低くてもよい。
図10(a)は、Vfa1とVfa0が同じ場合を示し、Vfa1の図示を省略してある。消去処理用のベリファイ電圧Vfer1は、通常モードと同じ(Vfer0)でもよいし、通常モードより低くてもよい。
図10(a)は、Vfer1とVfer0が同じ場合を示し、Vfer1の図示を省略してある。このとき、通常モードにおけるベリファイ電圧と、長期DR保証モードにおけるベリファイ電圧との電圧差は、例えば以下のような関係を満たす。
ΔV
ff01=Vff0―Vff1 < ΔV
fe01=Vfe0―Vfe1
ΔV
ffg0=Vfg0-Vff0 < ΔV
ffg1=Vfg1-Vff1
ΔV
fef0=Vff0-Vfe0 < ΔV
fef1=Vff1-Vfe1
これにより、
図10(a)に点線で示す通常モードの分布に比べて、
図10(a)に実線で示す長期DR保証モードの分布では、高電圧側における分布の間隔を比較的大きく確保できる。これにより、長期間が経過した後に、
図10(a)に点線で示す通常モードの分布に比べて、
図10(b)に実線で示す長期DR保証モードの分布では、各分布の重なりを均等化でき、読み出し時のビットエラー率を各分布間で均等化できる。
【0091】
(第6の実施形態)
長期DR保証モードでDRストレス耐性を向上するように変更されるパラメータは、複数のベリファイ電圧間の電圧間隔であってもよい。このパラメータの変更は、表記容量の変化を必要としない。
図11は、通常モード及び長期DR保証モードにおけるメモリセルの閾値電圧分布を示す図である。
図11(a)は、書き込み直後の閾値電圧分布を示し、
図11(b)は、長時間経過後の閾値電圧分布を示す。
図11において、点線は、通常モードの閾値電圧分布を示し、実線は、長期DR保証モードの閾値電圧分布を示す。
図11(a)に示す“Er”分布~“G”分布のうち、“Er”分布と“A”分布との重なりが経時的に大きくなりやすい傾向にあるとする。この場合、メモリコントローラ10は、“A”分布のベリファイ電圧を、通常モードにおけるベリファイ電圧Vfa0から、長期DR保証モードでは、より高電圧のベリファイ電圧Vfa2にずらす。消去処理用のベリファイ電圧Vfer2は、通常モードと同じ(Vfer0)でもよいし、通常モードより低くてもよい。
図11(a)は、Vfer2とVfer0が同じ場合を示し、Vfer2の図示を省略してある。このとき、通常モードにおけるベリファイ電圧と、長期DR保証モードにおけるベリファイ電圧との電圧差は、例えば以下のような関係を満たす。
ΔV
fera0=Vfa0―Vfer0 < ΔV
fera2=Vfa2―Vfer2
また、
図11(a)に示す“Er”分布~“G”分布のうち、高電圧側の分布の分布幅が経時的に広がりやすい傾向にあるとする。この場合、メモリコントローラ10は、“E”分布、“F”分布のベリファイ電圧を、通常モードにおけるベリファイ電圧Vfe0,Vff0から、長期DR保証モードでは、より低電圧のベリファイ電圧Vfe2,Vff2にずらす。このとき、通常モードにおけるベリファイ電圧と、長期DR保証モードにおけるベリファイ電圧との電圧差は、例えば以下のような関係を満たす。
ΔV
ffg0=Vfg0-Vff0 < ΔV
ffg2=Vfg2-Vff2
ΔV
fef0=Vff0-Vfe0 < ΔV
fef2=Vff2-Vfe2
これにより、
図11(a)に点線で示す通常モードの分布に比べて、
図11(a)に実線で示す長期DR保証モードの分布では、“Er”分布と“A”分布との間の間隔と、高電圧側における分布の間隔(すなわち、“E”分布と“F”分布との間の間隔、及び、“F”分布と“G”分布との間の間隔)とを比較的大きく確保できる。この結果、長期間が経過した後に、
図11(b)に示すように、各分布の重なりを均等化でき、読み出し時のビットエラー率を各分布間で均等化できる。
【0092】
(第7の実施形態)
長期DR保証モードでDRストレス耐性を向上するように変更されるパラメータは、データを書き込むワードラインの間隔であってもよい。このパラメータの変更は、表記容量の変化を必要とする場合がある。通常モードにおいて、メモリコントローラ10はメモリセルアレイ23の複数のワードラインから、隣接するワードラインを順に選択してデータを書き込むように、メモリセルへのアクセス動作を制御することがある。しかし、隣接するワードラインを順に選択して書き込みを行うと、ワードライン間で電界の干渉によりビットエラー率が悪化し得る場合がある。
【0093】
不揮発性メモリ20が3次元メモリである場合、メモリセルアレイに含まれる各物理ブロックの構造は、
図12に示すように構成され得る。
図12は、各物理ブロック内の複数の積層単位を示す断面図である。
図12では、図示の簡略化のため、層間絶縁膜の図示を省略している。
【0094】
図12に例示するメモリセルアレイ23では、基板SBの上方にワードライン群が配されている。ワードライン群では、複数のワードラインWL0,WL1,・・・,WL47,WL48,WL49,・・・,WL94,WL95が順に積層されている。各ワードラインWL0~WL95は、平面方向に延びた板状であり、積層方向に隣接するワードライン間において電界の干渉が起きやすい。
【0095】
メモリコントローラ10は長期DR保証モードにおいて、メモリセルアレイ23の複数のワードラインWL0~WL95のうちN本(Nは1以上の整数)おきに選択された複数のワードラインWLを介してデータを書き込むように、メモリセルへのアクセス動作を制御する。不揮発性メモリ20全体でモードの切り替えを行う場合、長期DR保証モードでは、通常モードに比べて、メモリセルアレイ23に格納可能なデータの最大容量が1/(1+N)になる。この最大容量が表記容量よりも小さい場合、表記容量の変更が必要となる。
【0096】
例えば、ワードライン4本分のライトデータを含むライトコマンドをホスト30から受信した場合、メモリコントローラ10は、通常モードにおいて、連続する複数のワードラインWL0~WL3を選択して順にライトデータを書き込む。メモリコントローラ10は、長期DR保証モードにおいて、N=1の場合、例えば偶数番目のワードラインWL0,WL2,WL4,WL6を選択して順にライトデータを書き込む。メモリコントローラ10は、非選択である奇数番目のワードラインに、何もデータを書き込まず、消去状態のままとしてもよい。又は、メモリコントローラ10は、非選択である奇数番目のワードラインWL1,WL3,WL5にダミーのデータを書き込む。ダミーのデータは、 “D”分布に相当するデータであってもよい。ダミーのデータは、ランダムデータであってもよい。非選択である奇数番目のワードラインにダミーのデータを書き込むのは、メモリセル間の干渉を低減するためである。なお、ダミーのデータが書き込まれた物理アドレスは、アドレス変換情報に登録されない。
【0097】
また、
図12に例示するメモリセルアレイ23では、複数のメモリーピラーMPが平面方向に配列されている。各メモリーピラーMPは、積層方向に延び、各ワードラインWL0~WL95を貫通している。各メモリーピラーMPは、複数のティアが積層された構造とされ得る。
図12の場合、各メモリーピラーMPは、ティアTIER1、ティアTIER2とが積層された構造を有する。複数のワードラインWL0~WL95は、積層単位STU1、積層単位STU2に分割される。積層単位STU1は、ティアTIER1に対応し、複数のワードラインWL0~WL47を含む。積層単位STU2は、ティアTIER2に対応し、複数のワードラインWL48~WL95を含む。
【0098】
メモリセルアレイ23の積層方向に沿って、ティア境界近傍で書き込み動作時にメモリセルのコントロールゲート及びチャネル領域間の電界が不連続的に変化し得る。このため、ティア境界近傍のメモリセルで書き込み特性が変化し得る。
【0099】
このことを考慮し、メモリコントローラ10は、電界が不連続的に変化し得る位置に配されたワードラインをスキップするように、メモリセルへの書き込み動作を制御してもよい。
図12の場合、メモリコントローラ10は、積層単位STU1の境界近傍に位置するワードラインWL0,WL47をスキップしてワードラインを選択してもよい。メモリコントローラ10は、積層単位STU2の境界近傍に位置するワードラインWL48,WL95をスキップしてワードラインを選択してもよい。あるいは、メモリコントローラ10は、積層単位の中央付近に位置するワードラインであっても、信頼性が低いと予想されるワードラインをスキップしてもよい。
【0100】
(第8の実施形態)
長期DR保証モードでDRストレス耐性を向上するように変更されるパラメータは、消去処理時のベリファイ電圧であってもよい。このパラメータの変更は、表記容量の変化を必要としない。
図13は、メモリセルの閾値電圧分布の例を示す図である。
図13(a)は、書き込み直後の閾値電圧分布を示し、
図13(b)は、長時間経過後の閾値電圧分布を示す。
図13において、点線は、通常モードの閾値電圧分布を示し、実線は、長期DR保証モードの閾値電圧分布を示す。
図13(a)に点線で示すように、メモリコントローラ10は通常モードにおいて、消去処理のベリファイ動作をベリファイ電圧Vfer0で行うようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は長期DR保証モードにおいて、“Er”分布と“A”分布との間の閾値電圧マージンを広く取るようにする。そのために、メモリコントローラ10は、“Er”分布をより低電圧に位置させる。例えば、
図13(a)に実線で示すように、メモリコントローラ10は長期DR保証モードにおいて、消去処理のベリファイ動作をベリファイ電圧Vfer3(<Vfer0)で行うようにメモリセルへのアクセス動作を制御する。長期DR保証モードでは、メモリコントローラ10は、通常モードより深い消去動作を行う。
【0101】
例えば“Er”分布と“A”分布との重なりが経時的に大きくなりやすい傾向にある場合、メモリコントローラ10は、
図13(a)に示す“Er”分布~“G”分布のうち、“Er”分布のベリファイ電圧を、通常モードにおけるベリファイ電圧Vfer0から、長期DR保証モードでは、より低電圧のベリファイ電圧Vfer3にずらす。“A”分布のベリファイ電圧Vfa3は、通常モードと同じ(Vfa0)でもよいし、通常モードより高くてもよい。
図13(a)は、Vfa3とVfa0が同じ場合を示し、Vfa3の図示を省略してある。このとき、通常モードにおけるベリファイ電圧と、長期DR保証モードにおけるベリファイ電圧との電圧差は、例えば以下のような関係を満たす。
ΔV
fera0=Vfa0―Vfer0 < ΔV
fera3=Vfa3―Vfer3
これにより、“Er”分布と“A”分布との間の間隔を比較的大きく確保できる。また、“Er”分布のベリファイ電圧を低電圧側にずらさない場合に比べ、 “B”分布~“F”分布をずらすための余裕ができる。従って、例えば、高電圧側の分布の分布幅が経時的に広がりやすい傾向にある場合、メモリコントローラ10は、“B”分布~“F”分布のベリファイ電圧を、通常モードにおけるベリファイ電圧Vfb0~Vff0から、長期DR保証モードでは、より低電圧のベリファイ電圧Vfb3~Vff3にずらしてもよい。これにより、
図13(a)に点線で示す通常モードの分布に比べて、
図13(a)に実線で示す長期DR保証モードの分布では、“Er”分布と“A”分布との間の間隔と、高電圧側における分布の間隔とを比較的大きく確保できる。これにより、長期間が経過した後に、
図13(b)に点線で示す通常モードの分布に比べて、
図13(b)に実線で示すように、各分布の重なりを均等化できるとともに小さく抑えることができる。この結果、読み出し時のビットエラー率を各分布間で均等化できるとともに低減できる。
【0102】
(第9の実施形態)
長期DR保証モードでDRストレス耐性を向上するように変更されるパラメータは、
図14に示すような複数のベリファイ電圧間の電圧間隔であってもよい。このパラメータの変更は、表記容量の変化を必要としない。
図14は、通常モード及び長期DR保証モードにおけるメモリセルの閾値電圧分布を示す図である。
図14(a)は、書き込み直後の閾値電圧分布を示し、
図14(b)は、長時間経過後の閾値電圧分布を示す。
図14において、点線は、通常モードの閾値電圧分布を示し、実線は、長期DR保証モードの閾値電圧分布を示す。
図14(a)に実線で示すように、メモリコントローラ10は、“A”分布~“G”分布のベリファイ電圧を、通常モードにおけるベリファイ電圧Vfa0~Vfg0から、長期DR保証モードでは、より高電圧のベリファイ電圧Vfa4~Vfg4にずらす。消去処理用のベリファイ電圧Vfer4は、通常モードと同じ(Vfer0)でもよいし、通常モードより低くてもよい。
図14(a)は、Vfer4がVfer0より低い同じ場合を示している。このとき、通常モードにおけるベリファイ電圧と、長期DR保証モードにおけるベリファイ電圧との電圧差は、例えば以下のような関係を満たす。
ΔV
fera0=Vfa0―Vfer0 < ΔV
fera4=Vfa4―Vfer4
ΔV
ffg0=Vfg0―Vff0 < ΔV
ffg4=Vfg4―Vff4
これによっても、
図14(a)に点線で示す通常モードの分布に比べて、
図14(a)に実線で示す長期DR保証モードの分布では、“Er”分布と“A”分布との間隔と、高電圧側における分布の間隔とを比較的大きく確保できる。これにより、長期間が経過した後に、
図14(b)に点線で示す通常モードの分布に比べて、
図14(b)に実線で示すように、各分布の重なりを均等化できるとともに小さく抑えることができ、読み出し時のビットエラー率を各分布間で均等化できるとともに低減できる。
【0103】
図14(a)に実線で示す長期DR保証モードの分布では、“G”分布が
図14(a)に点線で示す通常モードの分布に比べて高電圧側にずらされたので、読み出し処理時の非選択ワードラインに印加されるリードパス電圧V
READが、より高電圧に設定される。すなわち、メモリコントローラ10は、通常モードの読み出し処理において、非選択ワードラインにリードパス電圧V
READ0を印加しながら読み出し動作を行う。メモリコントローラ10は、長期DR保証モードの読み出し処理において、非選択ワードラインにリードパス電圧V
READ4(>V
READ0)を印加しながら読み出し動作を行う。また、メモリコントローラ10は、通常モードの書き込み処理のベリファイ動作において、非選択ワードラインにリードパス電圧V
READ0を印加しながら選択ワードラインに各ベリファイ電圧Vfa0~Vfg0を印加してベリファイ動作を行う。メモリコントローラ10は、長期DR保証モードの書き込み処理のベリファイ動作において、非選択ワードラインにリードパス電圧V
READ4(>V
READ0)を印加しながら選択ワードラインに各ベリファイ電圧Vfa4~Vfg4を印加してベリファイ動作を行う。すなわち、メモリコントローラ10は、
図14(a)に実線で示す長期DR保証モードのリードパス電圧V
READ4を、
図14(a)に点線で示す通常モードのリードパス電圧V
READ0より高電圧にする。
【0104】
(変形例)
第1~第9の実施形態の変形例について説明する。
【0105】
長期DR保証モードで、通常モードより深い消去動作を行う場合は、消去動作によってメモリセルが大きく疲弊する。このため、メモリセルの許容書き込み/消去回数が減る場合がある。
【0106】
書き込み処理時の温度と読み出し処理時の温度との差を示す温度交差が大きいと、ビットエラー率が増加し得る。特に、長期DR保証モードは、通常モードよりメモリセルが疲弊しやすいことがあるため、温度交差の影響を小さくすることが望ましい。このため、長期DR保証モードでは、通常モードより、書き込み可能温度と読み出し可能温度との範囲を狭くして、書き込み処理時の温度と読み出し処理時の温度との差を抑制してもよい。
【0107】
通常モードと長期DR保証モードとでは、書き込み/読み出しのパラメータが異なるため、それぞれのモード毎に書き込み用パラメータと読み出し用パラメータとを用意してもよい。このとき、
図6に示すモード管理情報を使用して、記憶単位ごとにパラメータを使い分けてもよい。通常モードで使用されている論理ブロックでは、通常モード用の書き込みパラメータに応じた書き方でデータが書き込まれ、通常モード用の読み出しパラメータに応じた読み方でデータが読み出される。長期DR保証モードで使用されている論理ブロックでは、長期DR保証モード用の書き込みパラメータに応じた書き方でデータが書き込まれ、長期DR保証モード用の読み出しパラメータに応じた読み方でデータが読み出される。
【0108】
例えば、長期DR保証モードにおいて、読み出し処理時の読み出し電圧、又は、Vthトラッキング(トラッキングリード)の探索中心電圧(及び探索幅)も、書き込みパラメータに応じてシフトさせた値にしてもよい。Vthトラッキングとは、例えば、読み出し電圧を所定の幅でシフトしながら読み出し動作を複数回実行することで、あるページに含まれる複数のメモリセルの閾値電圧のヒストグラムを生成し、生成したヒストグラムに基づいて、誤りビット数が極小になる電圧レベルを探索する動作である。長期DR保証モードにおいて書き込み処理時に閾値電圧分布をずらした場合、読み出し処理時の読み出し電圧、Vthトラッキングの探索中心電圧(及び探索幅)もそれに応じてずらしてもよい。
【0109】
長期DR保証モードにおいてECCの符号化率を低くした場合、それに応じて復号時の設定パラメータを変更してもよい。
【0110】
第1~第9の各実施形態で説明されたパラメータの変更等は、任意に組み合わせることが可能である。特に、第5、第6、第8、第9の各実施形態で説明されたベリファイ電圧の間隔の変更は、任意に組み合わせることが可能である。
【0111】
(第10の実施形態)
長期DR保証モードから通常モードへの復帰は、
図15に示す方法で行われてもよい。
図15は、第10の実施形態にかかるメモリシステムの長期DR保証モードから通常モードへの復帰の動作を示すフローチャートである。
【0112】
図15に示す方法は、ホスト30から明示的に復帰指示のホストコマンドが送られ、そのホストコマンドに応じて通常モードへ復帰する方法である。
図15に示すように、メモリコントローラ10は、通常モードへの復帰指示を含むホストコマンドCM3をホストI/F15が受信したことに応じて、長期DR保証モードから通常モードへ切り替えてメモリセルへのアクセス動作を制御する。
図15の動作は、例えば、緊急でメモリシステム1の性能を上げること、及び/又は、大量のライトデータをメモリシステム1に書き込むこと、が要求される場合などに開始されることが想定される。
【0113】
通常モードに戻してほしい旨のユーザ要求がホスト30で受け付けられた場合、又は、通常モードに戻すべきであるとホスト30が自律的に判断した場合、ホスト30から通常モードへの復帰指示を含むホストコマンドCM3が発行される(S21)。メモリコントローラ10は、ホストコマンドCM3に応じて、メモリシステム1内部のパラメータを通常モード用のパラメータに変更する(S22)。メモリコントローラ10は、システムデータを、通常モード用のパラメータに応じた書き方で書き直す(S23)。
【0114】
次に、メモリコントローラ10は、ユーザデータがメモリシステム1内に存在するか否かを判断する(S24)。ユーザデータがメモリシステム1内に存在する場合(S24でYES)、メモリコントローラ10は、既に書き込まれているユーザデータを通常モード用のパラメータに応じた書き方で不揮発性メモリ20に書き直す(S25)。ユーザデータがメモリシステム1内に存在しない場合(S24でNO)、又は、S25の処理の後、メモリコントローラ10は、ホスト30に通常モードへの復帰完了の通知を返す(S26)。
【0115】
(第11の実施形態)
長期DR保証モードから通常モードへの復帰は、
図16に示す方法で行われてもよい。
図16は、第11の実施形態にかかるメモリシステムの長期DR保証モードから通常モードへの復帰の動作を示すフローチャートである。
図16に示す方法は、メモリシステムの判断により通常モードへ復帰する方法である。
図16に示すように、メモリコントローラ10は、徐々にパラメータを切り替えながらメモリセルへのアクセス動作を制御する。
【0116】
ホストライトコマンドがホスト30から発行され、ホストI/F15で受信されると(S31)、メモリコントローラ10は、現在のモードが長期DR保証モードであるか否かを確認する(S32)。現在のモードが通常モードであれば(S32でNO)、メモリコントローラ10は、処理を終了する。現在のモードが長期DR保証モードであれば(S32でYES)、メモリコントローラ10は、LBAマップ率が閾値Zより高いか否かを判断する(S33)。閾値Zは、長期DR保証モードの許容範囲を外れたことを示す閾値であり、例えば数十%である。LBAマップ率が閾値Z以下である場合(S33でNO)、メモリコントローラ10は、LBAマップ率が長期DR保証モードの許容範囲に収まっているとして、通常モードへの復帰を行わずに、処理を終了する。LBAマップ率が閾値Zを超えた場合(S33でYES)、メモリコントローラ10は、LBAマップ率が長期DR保証モードの許容範囲を外れたとして、メモリシステム1の各種パラメータを通常モード用のパラメータに部分的に変更する(S34)。例えば、メモリコントローラ10は、ホストコマンドに依らないコンパクションやリフレッシュなどの内部処理のタイミングで、長期DR保証モード用のパラメータに応じた書き方で書かれたシステムデータ又はユーザデータを、通常モード用のパラメータに応じた書き方で書き直してもよい。あるいは、書き込み/消去処理による疲弊やパフォーマンス等の観点で影響(デメリット)が小さくなるように、メモリコントローラ10は、複数のパラメータのうち一部のパラメータを、通常モード用のパラメータに変更してもよい。メモリコントローラ10は、長期DR保証モード用のパラメータに応じた書き方でデータが書かれた複数の記憶単位のうちの、一部の記憶単位について通常モード用のパラメータに応じた書き方でデータを書き直してもよい。メモリコントローラ10は、ホスト30に、通常モードへ復帰したこと及び復帰した範囲を通知する(S35)。通知は、例えば、複数のパラメータのうちどのパラメータを通常モード用に変更したのかを示すものでもよい。通知は、複数の記憶単位のうちどの記憶単位を通常モード用に変更したのかを示すものでもよいし、論理アドレスの範囲でもよい。
【0117】
図16の動作は、通常モードへの復帰が完了するまで、繰り返し行われてもよい。
【0118】
(第12の実施形態)
第12の実施形態では、メモリシステムに、通常モードよりも速い書き込み速度および消去速度で動作する性能優先モードが設けられる。本実施形態のメモリシステムは、ホストコマンドに応じて性能優先モードに切り替えて不揮発性メモリを制御する。これにより、ホストの要求に応じて、メモリシステムは書き込み速度および消去速度を速くすることが可能になる。
【0119】
具体的には、メモリシステムは、通常モードにおいて、第1の速度でデータの書き込みを行う。メモリシステムは、性能優先モードにおいて、第1の速度より速い第2の速度でデータの書き込みを行う。また、メモリシステムは通常モードにおいて、第3の速度でデータの消去を行う。メモリシステムは、性能優先モードにおいて、第3の速度より速い第4の速度でデータの消去を行う。
【0120】
データの書き込みと消去の際、通常モードでは、比較的に疲弊が少ないパラメータが用いられる。性能優先モードでは、比較的に疲弊が大きいパラメータが用いられる。疲弊が大きいパラメータは、比較的に書き込み速度が速い書き込み条件でもある。疲弊が大きいパラメータは、比較的に消去速度が速い消去条件でもある。性能優先モードでは、さらに必要ならば、電源が入っていない際のDRを通常モードと同じ程度には保証しないことが行われ得る。
【0121】
メモリシステムは、通常モードから性能優先モードに遷移した後、新たに書き込まれるユーザデータを、性能優先モード用のパラメータに応じた書き方で書き込む。通常モードから性能優先モードに遷移した後に、メモリシステムは既に書き込まれたユーザデータに対しては、性能優先モード用のパラメータに応じた書き方でリフレッシュ(すなわち、書き直し)する必要はない。
【0122】
性能優先モードでは、通常モードに比べて、他の特性を犠牲にしながら書き込みおよび消去速度を優先する。すなわち、不揮発性メモリの書き込みに関する各パラメータには、
図17に示すように、トレードオフの関係がある。
図17は、本実施形態における通常モード及び性能優先モードの特性を示す図である。
【0123】
メモリセルの信頼性に関するパラメータであるDR、PD、RDは、
図17(a)に示すように、通常モードと性能優先モードとの間でトレードオフの関係がある。
図17(a)に示すように、通常モードでは、DR、PD、RDの各ストレスに対する耐性を総合的にバランスさせるようにパラメータが組まれるため、いずれも、比較的良好(good)になり得る。性能優先モードでは、データの書き込み速度および消去速度が優先されるため、DR、PD、RDが貧弱(poor)になり得る。
【0124】
DRとセル疲弊とは、
図17(b)に示すように、通常モードと性能優先モードとの間でトレードオフの関係がある。セル疲弊とは、メモリセルへの一度の書き込み/消去処理によるメモリセルの疲弊の度合いを示す。
図17(b)に示すように、通常モードでは、DRストレスに対する耐性と、セル疲弊とを総合的にバランスさせるようにパラメータが組まれるため、いずれも、比較的良好(good)になり得る。性能優先モードでは、書き込み速度および消去速度が優先され、セル疲弊を大きくしてもよいとされるため、セル疲弊特性が貧弱(poor)になり得る。もしくは、書き込み時の電圧は高くなるが、電圧をメモリセルにかける回数は少なくなるためセル疲弊は比較的良好(good)になり、セル疲弊は通常モードと変わらなくなり得る。
【0125】
DRとライト性能とは、
図17(c)に示すように、通常モードと性能優先モードとの間でトレードオフの関係がある。ライト性能とは、書き込み処理の高速性を意味し、プログラム時間(tPROG)の短さを示す。
図17(c)に示すように、通常モードでは、DRストレスに対する耐性と、ライト性能とを総合的にバランスさせるようにパラメータが組まれるため、いずれも、比較的良好(good)になり得る。通常モードでは、各メモリセルのライト性能を高めるように、プログラム時間が短いパラメータが用いられる。一方、性能優先モードでは、DRストレス耐性を犠牲にしてライト性能を優先するようなパラメータが用いられるため、DRが貧弱(poor)になり得るのに対して、ライト性能が非常に良好(excellent)になり得る。
【0126】
書き込み速度および消去速度が優先されると、各メモリセルが属する閾値電圧分布の隣り合う分布の間隔が狭くなる。この時、性能優先モードのDRは通常モードのDRより貧弱になる。また、セル疲弊が大きいとき、メモリセルが電子を保持する能力が低くなるため、性能優先モードのDRは通常モードのDRより貧弱になる。つまり、性能優先モードで書き込みおよび消去を行うことは、DRを犠牲にすることとも言い換えられる。
【0127】
以上のように、DRを犠牲にしてでもメモリシステムの書き込み速度や消去速度を速めたい場合、ホストはメモシリステムのモードを切り替えるためのコマンドをメモリシステムに送信する。コマンドを受信したメモリシステムは、性能優先モードで動作する。これにより、定常的なメモリシステムよりも書き込み速度や消去速度を向上したメモリシステムを動作させることができる。
【0128】
次に、メモリシステム1の動作について
図18を用いて説明する。
図18は、メモリシステムの通常モードから性能優先モードへの遷移の動作を示すフローチャートである。
【0129】
図18に示す方法は、ホスト30から明示的にメモシリステムのモードを切り替えるためのホストコマンドが送られ、そのホストコマンドに応じて性能優先モードへ遷移する方法である。
図18に示すように、メモリコントローラ10は、性能優先モードへの遷移指示を含むホストコマンドCM4をホストI/F15が受信したことに応じて、通常モードから性能優先モードへ切り替えてメモリセルへのアクセス動作を制御する。
図18の動作は、例えば、緊急でメモリシステム1の性能を上げること、及び/又は、大量のライトデータをメモリシステム1に書き込むこと、が要求される場合に開始されることが想定される。
【0130】
メモリシステムの性能を向上させたい旨のユーザ要求がホスト30で受け付けられた場合、又は、メモリシステムの性能を向上させるべきであるとホスト30が自律的に判断した場合、ホスト30から性能優先モードへの遷移指示を含むホストコマンドCM4が発行される(S41)。メモリコントローラ10は、ホストコマンドCM4に応じて、メモリシステム1内部のパラメータを性能優先モード用のパラメータに変更する(S42)。メモリコントローラ10は、ホスト30に性能優先モードへの遷移完了の通知を返す(S43)。メモリコントローラ10は遷移完了の通知を返さなくてもよい。
【0131】
また、通常モード用のパラメータに応じた書き方で書かれたシステムデータやユーザデータを、性能優先モード用のパラメータで必ずしも書き直す必要はない。読み出しの際には、通常モード用のデータの読み出しパラメータと性能優先モード用のデータの読み出しパラメータを使い分けてシステムデータやユーザデータを読み出す。その場合、メモリコントローラ10からホストへの遷移完了通知には、複数の記憶単位のうちどの記憶単位を性能優先モード用に変更したのかが含まれていてもよいし、どの論理アドレスの範囲を性能優先モード用に変更したのかが含まれていてもよい。
【0132】
通常モード及び性能優先モードの間の遷移は、不揮発性メモリ20全体とは異なる記憶単位で行われてもよい。例えば、通常モード及び性能優先モードの間の遷移は、メモリチップの単位で行われてもよい。遷移はネームスペースの単位で行われてもよい。遷移は論理ブロックの単位で行われてもよい。論理ブロックは、複数の物理ブロックを含み、メモリコントローラ10による管理上の記憶単位である。
【0133】
通常モード及び性能優先モードの間の遷移が論理ブロック単位で行われる場合、モードの遷移の途中で、通常モード用のパラメータに応じた書き方で書かれた論理ブロックと、性能優先モード用のパラメータに応じた書き方で書かれた論理ブロックとがメモリシステム内に混在することになる。このため、メモリコントローラ10は、各論理ブロックがどのモードに対応しているかを管理する。すなわち、メモリコントローラ10は、論理ブロック毎に通常モードと性能優先モードとのどちらのモードで書かれているかの管理を行う。
【0134】
以上のように、第12の実施形態では、メモリシステム1に、データの書き込み及び消去速度を向上し、メモリシステムのパフォーマンスを向上する性能優先モードを設ける。メモリシステム1は、ホストコマンドに応じて動作モードを性能優先モードに切り替えて、不揮発性メモリ20へのアクセス動作を制御する。これにより、メモリシステム1のパフォーマンスをユーザの要求に応じて適切化できる。すなわち、ユーザの要求に応じて、通常使用時に比べてメモリシステムのパフォーマンスを向上できる。
【0135】
(第13の実施形態)
通常モードから性能優先モードへの遷移は、
図19に示す方法で行われてもよい。
図19は、第13の実施形態にかかるメモリシステムの通常モードから性能優先モードへの遷移の動作を示すフローチャートである。
図19に示す方法は、メモリシステムの判断により性能優先モードへ遷移する方法である。
【0136】
メモリシステムが起動すると(S51)、メモリコントローラ10は、起動後の連続動作時間が閾値を超えたかどうかを確認する(S52)。閾値を超えていなければ(S52でNO)、メモリコントローラ10は連続動作時間の閾値が超えたかどうかを確認する動作に戻る。閾値を超えていれば(S52でYES)メモリコントローラ10は、メモリシステム1の各種パラメータを性能優先モード用のパラメータに変更する(S53)。メモリコントローラ10は、ホスト30に、性能優先モードへ遷移したこと及び性能優先モードに遷移した範囲を通知する(S54)。通知は、例えば、複数のパラメータのうちどのパラメータを性能優先モード用に変更したのかを示すものでもよい。通知には、複数の記憶単位のうちどの記憶単位を性能優先モード用に変更したのかが含まれていてもよい。また、通知には、どの論理アドレスの範囲を性能優先モード用に変更したのかが含まれていてもよい。
【0137】
また、起動してからの時間が閾値を超えること以外を性能優先モードに遷移する条件としてもよい。例えば、条件はデータの書き込み量が閾値を超えることでもよい。また、条件はデータの読み出し量が閾値を超えることでもよい。
【0138】
このことにより、性能優先モードに遷移するためのコマンドがホストからメモリシステムに発行されなくとも、メモリシステムは性能優先モードに遷移できる。
【0139】
(第14の実施形態)
性能優先モードでメモリシステムのパフォーマンスを向上するように変更されるパラメータは、プログラム電圧の増加幅であってもよい。プログラム電圧の増加幅を大きくすることで、メモリセルが目標の閾値電圧に達する時間を短縮でき、書き込み動作の完了までの時間を短縮できる。
図20および
図21は、通常モード及び性能優先モードで設定すべきパラメータを示す。
【0140】
図20(a)は、通常モード及び性能優先モードで設定すべきパラメータとして、プログラム電圧の増加幅を示す図である。
図20(a)に示すように、メモリコントローラ10は、通常モードにおいて、電圧増加幅ΔV1で書き込み動作を行うようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は、性能優先モードにおいて、電圧増加幅ΔV3(>ΔV1)で書き込み動作を行うようにメモリセルへのアクセス動作を制御する。
【0141】
図22は、通常モード及び性能優先モードにおける書き込み処理を示す図である。書き込み処理では、
図22に示すように、プログラム開始電圧Vwsでの書き込み動作が行われベリファイ動作が行われた後、書き込みが成功したと判定されるまで、一定の増加幅ΔVでプログラム電圧を増加しながら書き込み動作とベリファイ動作とが繰り返し行われる。
図22の場合、通常モードにおいて、プログラム電圧の増加幅ΔV=ΔV1でループ回数が3回で書き込みが完了し、書き込み時間がWT1となる。性能優先モードでは、プログラム電圧の増加幅ΔV=ΔV3(>ΔV1)でループ回数が2回で書き込みが完了し、書き込み時間がWT3(<WT1)となる。
【0142】
性能優先モードのプログラム電圧の増加幅を通常モードのプログラム電圧の増加幅よりも大きくすることで、性能優先モードでの書き込み動作時のループ回数を減らすことが可能になる。書き込み動作完了までの時間を短縮し、メモリシステムのパフォーマンスを向上することが可能になる。
【0143】
(第15の実施形態)
性能優先モードでメモリシステムのパフォーマンスを向上するように変更されるパラメータは、プログラム開始電圧の大きさであってもよい。書き込み処理は複数の書き込み動作を含んでおり、書込み処理に含まれる複数の書込み動作のうちの初回の書き込み動作を行うための電圧を書き込み開始電圧と称する。プログラム開始電圧を高くすることで、メモリセルが目標の閾値電圧に達する時間を短縮できる。つまり、書き込み動作の完了までの時間を短縮できる。
図20(b)は、通常モード及び性能優先モードで設定すべきパラメータとして、プログラム開始電圧の大きさを示す図である。
図20(b)に示すように、メモリコントローラ10は、通常モードにおいて、複数の書き込み動作のうちの初回の書き込み動作を電圧Vws1で行うようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は、性能優先モードにおいて、電圧Vws3(>Vws1)で初回の書き込み動作を行うようにメモリセルへのアクセス動作を制御する。
【0144】
図23は、通常モード及び性能優先モードにおける書き込み処理を示す図である。書き込み処理では、
図23に示すように、プログラム開始電圧Vwsでの書き込み動作が行われベリファイ動作が行われた後、書き込みが成功したと判定されるまで、一定の増加幅ΔVでプログラム電圧を増加しながら書き込み動作とベリファイ動作とが繰り返し行われる。
図23の場合、通常モードにおいて、プログラム開始電圧Vws1で書き込み動作が行われ、その後プログラム電圧の増加幅ΔVでループ回数が3回で書き込みが完了し、書き込み時間がWT1となる。性能優先モードでは、プログラム開始電圧Vws3(>Vws1)で書き込み動作が行われ、その後プログラム電圧の増加幅ΔVでループ回数が2回で書き込みが完了し、書き込み時間がWT3(<WT1)となる。
【0145】
性能優先モードのプログラム開始電圧を通常モードのプログラム開始電圧よりも高くすることで、性能優先モードでの書き込み処理時のループ回数を減らすことが可能になる。書き込み処理完了までの時間を短縮し、メモリシステムのパフォーマンスを向上することが可能になる。
【0146】
(第16の実施形態)
性能優先モードでメモリシステムのパフォーマンスを向上するように変更されるパラメータは、消去開始電圧の大きさであってもよい。消去処理は複数の消去動作を含んでおり、消去処理に含まれる複数の消去動作のうちの初回の消去動作を行うための電圧を消去開始電圧と称する。消去開始電圧を高くすることで、メモリセルが目標の閾値電圧に達する時間を短縮できる。つまり、消去処理の完了までの時間を短縮できる。
図20(c)は、通常モード及び性能優先モードで設定すべきパラメータとして、消去開始電圧の大きさを示す図である。
図20(c)に示すように、メモリコントローラ10は、通常モードにおいて、複数の消去動作のうちの初回の消去動作を電圧Vers1で行うようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は、性能優先モードにおいて、電圧Vers3(>Vers1)で初回の消去動作を行うようにメモリセルへのアクセス動作を制御する。
【0147】
図24は、通常モード及び性能優先モードにおける消去処理を示す図である。
図24に示すように、消去処理では、消去開始電圧Versでの消去動作が行われベリファイ動作が行われた後、消去が成功したと判定されるまで、一定の増加幅ΔVeで消去電圧を増加しながら消去動作とベリファイ動作とが繰り返し行われる。通常モードにおいて、消去開始電圧Vers1で消去動作が行われ、その後消去電圧の増加幅ΔVeでループ回数が3回で消去が完了し、消去時間がET1となる。性能優先モードでは、消去開始電圧Vers3(>Vers1)で消去動作が行われ、その後消去電圧の増加幅ΔVeでループ回数が2回で消去が完了し、消去時間がET3(<ET1)となる。
【0148】
性能優先モードの消去開始電圧を通常モードの消去開始電圧よりも高くすることで、性能優先モードでの消去処理時のループ回数を減らすことが可能になる。消去処理完了までの時間を短縮し、メモリシステムのパフォーマンスを向上することが可能になる。
【0149】
(第17の実施形態)
性能優先モードでメモリシステムのパフォーマンスを向上するように変更されるパラメータは、消去処理時のベリファイ電圧であってもよい。
図21(d)は、通常モード及び性能優先モードで設定すべきパラメータとして、消去処理時のベリファイ電圧の大きさを示す図である。
図21(d)に示すように、メモリコントローラ10は、通常モードにおいて、電圧Vfer0で消去処理時のベリファイ動作を行うようにメモリセルへのアクセス動作を制御する。メモリコントローラ10は、性能優先モードにおいて、電圧Vfer4(>Vfer0)で消去処理時のベリファイ動作を行うようにメモリセルへのアクセス動作を制御する。つまり性能優先モードでは、メモリコントローラ10は、通常モードより浅い消去動作を行う。このことで、メモリセルが”Er”分布にあると判定されるまでの時間が短縮され、消去処理の完了時間が短くなる。
【0150】
性能優先モードのベリファイ電圧を通常モードのベリファイ電圧よりも高くすることで、性能優先モードでの消去処理時のループ回数を減らすことが可能になる。消去処理完了までの時間を短縮し、メモリシステムのパフォーマンスを向上することが可能になる。
【0151】
(第18の実施形態)
性能優先モードでメモリシステムのパフォーマンスを向上するように変更されるパラメータは、書き込まれるべきデータが書かれていないメモリセルのうち、書き込み処理のベリファイ時に容認されるメモリセルの数を大きくすることであってもよい。書き込まれるべきデータが書かれていないメモリセルを誤りビットと称する。ベリファイ時に容認する誤りビットの数を大きくすることで、ループ回数を減らすことができ、書き込み処理の完了までの時間を短縮できる。
図21(e)は、通常モード及び性能優先モードで設定すべきパラメータとして、書き込み処理のベリファイ時に容認する誤りビットの数を示す図である。
図22に示すように、書き込み処理では、プログラム開始電圧Vwsでの書き込み動作が行われベリファイ動作が行われた後、書き込みが成功したと判定されるまで、一定の増加幅ΔVでプログラム電圧を増加しながら書き込み動作とベリファイ動作とが繰り返し行われる。シーケンサ211は、書き込みが成功したかどうかを判定するために、書き込んだデータを読み出し、書き込むべきデータと比較して誤りビットを検出する。誤りビット数が一定の値nより大きければシーケンサ211はもう一度データの書き込み動作を行い、誤りビット数が一定の値n以下であれば、シーケンサ211は書き込みが成功したと判定する。通常モードにおいて、シーケンサ211は誤りビット数n1以下で書き込みが成功したと判定し、ループ回数が3回で書き込みが完了し、書き込み時間はWT1となる。性能優先モードでは、シーケンサ211は誤りビット数n3(>n1)以下で書き込みが成功したと判定し、ループ回数が2回で書き込みが完了し、書き込み時間はWT3(<WT1)となる。
【0152】
性能優先モードの書き込み処理のベリファイ時に容認する誤りビットの数を通常モードの誤りビットの数よりも大きくすることで、性能優先モードでの書き込み処理時のループ回数を減らすことが可能になる。書き込み処理完了までの時間を短縮し、メモリシステムのパフォーマンスを向上することが可能になる。
【0153】
(第19の実施形態)
性能優先モードでメモリシステムのパフォーマンスを向上するように変更されるパラメータは、消去処理のベリファイ時にイレース状態でないメモリセルを容認する数を大きくすることであってもよい。ベリファイ時に容認する、イレース状態でないメモリセルの数を大きくすることで、ループ回数を減らすことができ、消去処理の完了までの時間を短縮できる。
図21(f)は、通常モード及び性能優先モードで設定すべきパラメータとして、消去処理のベリファイ時にイレース状態でないメモリセルを容認する数を示す図である。
図24に示すように、消去処理では、消去開始電圧Versでの消去動作が行われベリファイ動作が行われた後、消去が成功したと判定されるまで、一定の増加幅ΔVeで消去電圧を増加しながら消去動作とベリファイ動作とが繰り返し行われる。シーケンサ211は、消去が成功したかどうかを判定するために、消去動作が行われたブロックに含まれるメモリセルをセンスし、イレース状態でないメモリセルの数を検出する。イレース状態でないメモリセルの数が一定の値mより大きければシーケンサ211はもう一度データの消去動作を行い、一定の値m以下であればデータの消去が成功したと判定する。通常モードにおいて、シーケンサ211はイレース状態でないメモリセルの数がm1以下で書き込みが成功したと判定し、ループ回数が3回で消去が完了し、消去時間はET1となる。性能優先モードでは、シーケンサ211はイレース状態でないメモリセルの数m3(>m1)以下で消去処理が成功したと判定し、ループ回数が2回で消去が完了し、消去時間はET3(<ET1)となる。
【0154】
性能優先モードの消去処理のベリファイ時にイレース状態でないメモリセルを容認する数を通常モードの容認する数よりも大きくすることで、性能優先モードでの消去処理時のループ回数を減らすことが可能になる。消去処理完了までの時間を短縮し、メモリシステムのパフォーマンスを向上することが可能になる。
【0155】
(変形例)
第12~第19の実施形態の変形例について説明する。
【0156】
性能優先モードで、通常モードよりプログラム開始電圧やプログラム電圧の増加幅が大きい書き込み動作を行う場合や、消去開始電圧や消去電圧の増加幅が大きい消去動作を行う場合は、メモリセルが通常モードより大きく疲弊する可能性がある。このため、メモリセルの許容書き込み/消去回数が減る場合がある。
【0157】
書き込み処理時の温度と読み出し処理時の温度との差を示す温度交差が大きいと、ビットエラー率が増加し得る。性能優先モードについても、通常モードよりメモリセルが疲弊しやすい可能性があるため、温度交差の影響を小さくすることが望ましい。このため、性能優先モードでは、通常モードより、書き込み可能温度と読み出し可能温度との範囲を狭くして、書き込み処理時の温度と読み出し処理時の温度との差を抑制してもよい。
【0158】
通常モードと性能優先モードとでは、書き込み/読み出しのパラメータが異なるため、それぞれのモード毎に書き込み用パラメータと読み出し用パラメータとを用意してもよい。このとき、
図6に示すモード管理情報を使用して、記憶単位ごとにパラメータを使い分けてもよい。通常モードで使用されている論理ブロックでは、通常モード用の書き込みパラメータに応じた書き方でデータが書き込まれ、通常モード用の読み出しパラメータに応じた読み方でデータが読み出される。性能優先モードで使用されている論理ブロックでは、性能優先モード用の書き込みパラメータに応じた書き方でデータが書き込まれ、性能優先モード用の読み出しパラメータに応じた読み方でデータが読み出される。
【0159】
例えば、性能優先モードにおいて、読み出し処理時の読み出し電圧、又は、Vthトラッキング(トラッキングリード)の探索中心電圧(及び探索幅)も、書き込みパラメータに応じてシフトさせた値にしてもよい。性能優先モードにおいて書き込み処理時に閾値電圧分布をずらした場合、読み出し処理時の読み出し電圧、Vthトラッキングの探索中心電圧(及び探索幅)もそれに応じてずらしてもよい。
【0160】
第12~第19の各実施形態で説明されたパラメータの変更等は、任意に組み合わせることが可能である。
【0161】
(第20の実施形態)
性能優先モードから通常モードへの復帰は、
図25に示す方法で行われてもよい。
図25は、第21の実施形態にかかるメモリシステムの性能優先モードから通常モードへの復帰の動作を示すフローチャートである。
【0162】
メモリコントローラ10は、性能優先モードでは、性能優先モードのパラメータで不揮発性メモリ20の各メモリセルへのアクセス動作を制御している。メモリシステムを通常モードで動作させたい旨のユーザ要求がホスト30で受け付けられた場合、又は、メモリシステムを通常モードで動作させるべきであるとホスト30が自律的に判断した場合、通常モードへの遷移指示を含むホストコマンドCM5がホスト30から発行される(S61)。ホストコマンドCM5がホストI/F15で受信されると、メモリコントローラ10は、ホストコマンドCM5に応じて、メモリシステム1内部のパラメータを通常モード用のパラメータに変更する(S62)。メモリコントローラ10は、システムデータを通常モード用のパラメータに応じた書き方で書き直す(S63)。すなわち、メモリコントローラ10は、不揮発性メモリ20の図示しない管理情報格納領域からシステムデータを読み出す。メモリコントローラ10は、読み出されたシステムデータを、通常モード用のパラメータに応じた書き方で管理情報格納領域へ書き戻す。メモリコントローラ10は、ユーザデータがメモリシステム1内に存在するか否かを判断する(S64)。ユーザデータがメモリシステム1内に存在しない場合(S64でNO)、メモリコントローラ10は、ホスト30に通常モードへの遷移完了の通知を返す(S66)。
【0163】
ユーザデータがメモリシステム1内に存在する場合(S64でYES)、メモリコントローラ10は、既に書き込まれているユーザデータを、通常モード用のパラメータに応じた書き方で書き直す(S65)。そして、メモリコントローラ10は、ホスト30に遷移完了の通知を返す(S66)。
図25の動作は、通常モードへの復帰が完了するまで、繰り返し行われてもよい。
【0164】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0165】
1 メモリシステム、10 メモリコントローラ、20 不揮発性メモリ。