(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-29
(45)【発行日】2024-12-09
(54)【発明の名称】クロス温度における長時間のシーケンシャル読み取りのための読み取り閾値較正
(51)【国際特許分類】
G11C 11/56 20060101AFI20241202BHJP
G11C 16/26 20060101ALI20241202BHJP
【FI】
G11C11/56 220
G11C16/26
(21)【出願番号】P 2024531088
(86)(22)【出願日】2023-04-04
(86)【国際出願番号】 US2023017438
(87)【国際公開番号】W WO2023196317
(87)【国際公開日】2023-10-12
【審査請求日】2024-05-23
(32)【優先日】2022-04-06
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】504056130
【氏名又は名称】ウェスタン デジタル テクノロジーズ インコーポレーテッド
(74)【代理人】
【識別番号】100207837
【氏名又は名称】小松原 寿美
(72)【発明者】
【氏名】シャロン、エラン
(72)【発明者】
【氏名】ヤヌカ、ニカ
(72)【発明者】
【氏名】アルロッド、イダン
(72)【発明者】
【氏名】バザルスキー、アレクサンダー
(72)【発明者】
【氏名】メカニック、エフゲニー
【審査官】豊田 真弓
(56)【参考文献】
【文献】米国特許出願公開第2016/0232054(US,A1)
【文献】米国特許第9892799(US,B1)
【文献】米国特許出願公開第2021/0376854(US,A1)
【文献】米国特許出願公開第2020/0105353(US,A1)
【文献】特開2012-221522(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 11/56
G11C 16/26
G11C 16/34
(57)【特許請求の範囲】
【請求項1】
シーケンシャル読み取り動作中に読み取り閾値電圧を較正する方法であって、
複数の
シーケンシャル読み取り動作を実行するステップと、
第1のワードライン(WL)の第1の読み取り動作に続いて、前記第1のWLのビットエラーレート(BER)と所定の閾値との比較に基づき、読み取りレベルトラッキング(RLT)
動作を実行する
か否かを決定するステップと、
前記第1のWLの前記BERが前記所定の閾値を上回ることを決定したことに応じて、第2のWLに対して実行される第2の読み取り動作中に前記RLT
動作を実行するステップと、
前記第2のWLに対する前記第2の読み取り動作中に実行される前記RLT動作の結果に基づいて、調整された読み取り閾値レベルを決定するステップと、
前記第2の読み取り動作に続いて実行される読み取り動作について、前記調整された読み取り閾値レベルに従って読み取り閾値レベルを調整するステップと、
前記調整された読み取り閾値レベルに従って、前記第2の読み取り動作に続く少なくとも1つの読み取り動作を実行するステップと、を含む、
方法。
【請求項2】
前記RLT
動作を実行する
か否かを決定する前記ステップは、前記
第1のWLがアウトライアWLで
あるか否かを決定するステップをさらに含む、請求項
1に記載の方法。
【請求項3】
前記アウトライアWLがエッジWLである、請求項
2に記載の方法。
【請求項4】
前記RLT
動作を実行する
か否かを決定する前記ステップは、以前のRLT
動作に対する温度変化が温度閾値を上回る
か否かを決定するステップを含む、請求項1に記載の方法。
【請求項5】
複数の電圧ビンを決定する
とともに、
前記複数の電圧ビンのそれぞれについて、
対応するBERを決定する
ことによって、
前記BERを決定するステップと、
前記複数の電圧ビンのそれぞれについて、
前記対応するBERに基づいてガウステール分布関数を計算する
とともに、
前記複数の電圧ビンのそれぞれについて、最適な読み取り閾値からの読み取り閾値の距離を決定する
ことによって、
前記調整された読み取り閾値レベルを決定するステップと、をさらに含む、
請求項1に記載の方法。
【請求項6】
前記複数の電圧ビンを決定する
ことは、前記複数の
シーケンシャル読み取り動作によるメモリ状態のそれぞれについて、対応する電圧ビンを決定する
ことを含む、請求項
5に記載の方法。
【請求項7】
前記BERを決定する
ことは、対応するシンドロームウェイトを使用して前記BERを推定する
ことを含む、請求項1に記載の方法。
【請求項8】
前記複数の
シーケンシャル読み取り動作を実行する前記ステップは、ホスト要求に従って前記複数の
シーケンシャル読み取り動作を実行するステップを含む、請求項1に記載の方法。
【請求項9】
前記
RLT動作の結果に基づいて前記調整された読み取り閾値レベルを決定する前記ステップは、WLゾーニングテーブルを適用するステップを含む、請求項1に記載の方法。
【請求項10】
シーケンシャル読み取り動作中に読み取り閾値電圧を較正するためのシステムであって、少なくとも1つのメモリダイと動作可能に通信するコントローラを含
み、
前記コントローラは、
前記少なくとも1つのメモリダイから、複数の
シーケンシャル読み取り動作に対応する多数のビットを受信するように構成されているインターフェースと、
プロセッサであって、
第1のワードライン(WL)の第1の読み取り動作に続いて、前記第1のWLのビットエラーレート(BER)と所定の閾値との比較に基づき、読み取りレベルトラッキング(RLT)
動作を実行する
か否かを決定し、
前記第1のWLの前記BERが前記所定の閾値を上回ることを決定したことに応じて、第2のWLに対して実行される第2の読み取り動作中に前記RLT
動作を実行
し、
前記第2のWLに対する前記第2の読み取り動作中に実行される前記RLT動作の結果に基づいて、調整された読み取り閾値を決定
し、
前記第2の読み取り動作に続いて実行される読み取り動作について、前記調整された読み取り閾値レベルに従って読み取り閾値レベルを調整
し、
前記調整された読み取り閾値レベルに従って、前記第2の読み取り動作に続く少なくとも1つの読み取り動作を実行する、ように構成されているプロセッサと、を含む、
システム。
【請求項11】
前記プロセッサは、
前記第1のWLがアウトライアWLで
あるか否かを決定することによって、前記RLT
動作を実行する
か否かを決定するように構成されている、請求項
10に記載のシステム。
【請求項12】
前記アウトライアWLがエッジWLである、請求項
11に記載のシステム。
【請求項13】
前記プロセッサは、以前のRLT
動作に対する温度変化が温度閾値を上回る
か否かを決定することによって、前記RLT
動作を実行する
か否かを決定するように構成されている、請求項
10に記載のシステム。
【請求項14】
前記BERを決定する
ために、前記
プロセッサは、
複数の電圧ビンを決定する
とともに、
前記複数の電圧ビンのそれぞれについて、
対応するBERを決定する
、ように構成され、
前記調整された読み取り閾値レベルを決定する
ために、前記
プロセッサは、
前記複数の電圧ビンのそれぞれについて、
前記対応するBERに基づいてガウステール分布関数を計算する
とともに、
前記複数の電圧ビンのそれぞれについて、最適な読み取り閾値からの読み取り閾値の距離を決定する
、ように構成される、
請求項
10に記載のシステム。
【請求項15】
シーケンシャル読み取り動作中に読み取り閾値を較正するためのシステムであって、少なくとも1つのメモリダイと動作可能に通信する制御手段を含
み、
前記制御手段は、
前記少なくとも1つのメモリダイから、複数の
シーケンシャル読み取り動作に対応する多数のビットを受信するように構成されているインターフェース手段と、
処理手段であって、
第1のワードライン(WL)の第1の読み取り動作に続いて、前記第1のWLのビットエラーレート(BER)と所定の閾値との比較に基づき、読み取りレベルトラッキング(RLT)
動作を実行する
か否かを決定し、
前記第1のWLの前記BERが前記所定の閾値を上回ることを決定したことに応じて、第2のWLに対して実行される第2の読み取り動作中に前記RLT
動作を実行
し、
前記第2のWLに対する前記第2の読み取り動作中に実行される前記RLT動作の結果に基づいて、調整された読み取り閾値を決定
し、
前記第2の読み取り動作に続いて実行される読み取り動作について、前記調整された読み取り閾値レベルに従って読み取り閾値レベルを調整
し、
前記調整された読み取り閾値レベルを用いて、前記第2の読み取り動作に続く少なくとも1つの読み取り動作を実行する、ように構成されている処理手段と、を含む、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、あらゆる目的のために、2022年4月6日に出願され、「クロス温度における長時間のシーケンシャル読み取りのための読み取り閾値較正」と題された米国非仮出願第17/714,379号の内容全体に対して利益を主張し、それを参照により本明細書に組み込む。
【背景技術】
【0002】
例示的な実施形態と一致する装置及び方法は、メモリデバイス内の読み取りパフォーマンスを改善するための技術に関する。
【0003】
近年、サービス品質(QOS)の要件が引き上げられ、ストレージデバイスがターゲットとするレイテンシ/確率のプロファイルが決定されている。QOSを向上させるために、システムソリューションは、平均的なシナリオだけでなく、幅広い異なるシナリオやコマンドの組み合わせに対してパフォーマンスを向上させるよう努めている。
【0004】
NOT-AND(NAND)プロセスの縮小及び3次元(3D)スタッキングによってもたらされるプロセスの均一性を維持することの難しさは、QOS標準の維持にさらなる困難をもたらす可能性がある。プロセスの均一性の欠如は、例えば、メモリダイ、ブロック、及びページ間、並びに異なる耐久性、リテンション、温度、及び外乱条件間のばらつきの増加をもたらす。そのような多様な条件下での動作では、特に読み取りスループット及び1秒あたりの入出力動作(IOPS)要件を確実に満たし、所望のQOSを確実にするために、最適な読み取り閾値をトラッキングするという点で、適応システムを使用する必要がある。
【0005】
クロス温度(ある温度で書き込み、別の温度で読み取る)はフラッシュ読み取り閾値に影響を与えるため、低ビットエラーレート(BER)でターゲットワードライン(WL)を読み取るためには、読み取り閾値較正が必要になることがよくある。この課題は、多くのエンベデッドストレージデバイスで持続しており、とりわけモノのインターネット(IOT)技術や自動車デバイスに非常に関連している。
【0006】
読み取り中に温度がシフトする長時間のシーケンシャル読み取り中、システムは温度シフトに適応する必要がある。読み取り閾値較正は、多数のセンスを適用してから、センスの数に関連する異なる仮説に従って、ビットエラーレート(BER)の推定としてシンドロームウェイト(SW)を順次に計算するプロセスを通して実施することができる。このプロセスは、BER推定スキャン(BES)と呼ばれ得る。
【0007】
例示的なBESプロセスはBERを低減するために、読み取り閾値レベルを較正するための低密度パリティチェック(LDPC)エンジンを使用する。メモリにプログラムされたデータは、一連のパリティチェック制約を満たさなければならない。シンドロームウェイト(SW)は、満たされていないパリティチェック制約の数であり、読み取りコードワードのSWは、そのBERの推定を提供する。例えば、16の可能な状態を有するQLC(メモリセルあたり4ビット)スキームに従ってプログラムされたメモリデバイスでは、ミドルページを読み取ることは、4つの異なる遷移点でセンスを行うことを必要とする。これらの遷移点のそれぞれの周りで、いくつかの読み取りがサンプリングされ、BERを最小化する読み取り閾値の組み合わせが識別される。
【0008】
代替的に、セル電圧分布(CVD)のバレーは、バレーサーチ(VS)と呼ばれるプロセスで異なる電圧点間の導電セルの差を測定することによって決定することができる。
【0009】
BES及びVSなどのソリューションは、特定のWLの読み取り閾値を最適化することを目的とした高レイテンシ動作であり、読み取りリカバリフローに適しているが、急速にシフトする読み取り閾値を維持するにはあまり効果的ではない場合がある。システムが高周波でBES又はVSを実行することは、パフォーマンスを大幅に低下させるため、現実的ではない。
【発明の概要】
【0010】
例示的な実施形態は、上記で説明されていない任意の課題及び/又は欠点並びに他の欠点に対処し得る。また、例示的な実施形態は、上記の欠点を克服する必要はなく、上記の課題のいずれも克服しない場合がある。
【0011】
1つ以上の例示的な実施形態によれば、読み取りレベルトラッキング(RLT)動作は、デコードが成功した場合にのみ実行できる、精度が低くレイテンシの低い動作を提供するために使用される。
【0012】
例示的な実施形態の一態様によれば、読み取り閾値電圧を較正する方法は、複数の読み取り動作を実行するステップと、読み取りレベルトラッキング(RLT)方法を実行することを決定するステップと、前記RLT方法を実行するステップと、を含み、前記RLT方法が、指示的ワードライン(WL)のビットエラーレート(BER)を決定するステップと、前記BERに基づいて、調整された読み取り閾値レベルを決定するステップと、前記調整された読み取り閾値レベルに従って読み取り閾値レベルを調整するステップと、を含む。
【0013】
別の例示的な実施形態の一態様によれば、読み取り閾値電圧を較正するためのシステムは、少なくとも1つのメモリダイと動作可能に通信するコントローラを含むシステムであって、前記コントローラは、前記少なくとも1つのメモリダイから、複数の読み取り動作に対応する多数のページビットを受信するように構成されているインターフェースと、読み取りレベルトラッキング(RLT)方法を実行することを決定し、前記RLT方法を実行するように構成されているプロセッサと、を含み、前記RLT方法が、指示的ワードライン(WL)のビットエラーレート(BER)を決定するステップと、前記BERに基づいて、調整された読み取り閾値を決定するステップと、前記調整された読み取り閾値レベルに従って読み取り閾値レベルを調整するステップと、を含む。
【0014】
別の例示的な実施形態の一態様によれば、読み取り閾値を較正するためのシステムは、少なくとも1つのメモリダイと動作可能に通信する制御手段を含むシステムであって、前記制御手段は、前記少なくとも1つのメモリダイから、複数の読み取り動作に対応する多数のページビットを受信するように構成されているインターフェース手段と、読み取りレベルトラッキング(RLT)方法を実行することを決定し、前記RLT方法を実行するように構成されている処理手段と、を含み、前記RLT方法は、指示的ワードライン(WL)のビットエラーレート(BER)を決定するステップと、前記RLT方法に基づいて、調整された読み取り閾値を決定するステップと、前記調整された読み取り閾値レベルに従って読み取り閾値レベルを調整するステップと、を含む。
【図面の簡単な説明】
【0015】
上記及び/又は他の態様は、添付の図面と併せて、以下の例示的な実施形態の説明から明らかとなり、より容易に理解されるであろう。
【0016】
【
図1A】例示的なメモリシステムのブロック図である。
【0017】
【
図1B】複数のメモリシステムを含む例示的なストレージモジュールのブロック図である。
【0018】
【
図1C】例示的な階層型ストレージシステムのブロック図である。
【0019】
【
図2A】
図1Aのメモリシステムのコントローラのコンポーネントの例示的な構成のブロック図である。
【0020】
【
図2B】
図1Aのメモリシステムのメモリダイのコンポーネントの例示的な構成のブロック図である。
【0021】
【
図3】従来技術による読み取り閾値較正方法のフローチャートである。
【0022】
【
図4A】異なるストレージスキームの閾値電圧分布曲線のプロットである。
【0023】
【
図5】セルあたり3ビットのMLCセルに格納されたデータのロウアページを読み取るために実行される複数のセンス動作の図である。
【0024】
【
図6A】SLCについての読み取り閾値レベルの減少を示す。
【
図6B】SLCについての読み取り閾値レベルの増加を示す。
【0025】
【
図7】例示的な実施形態による読み取り閾値較正方法のフローチャートである。
【0026】
【
図8】別の例示的な実施形態による読み取り閾値較正方法のフローチャートである。
【0027】
【
図9】単一の読み取り閾値電圧に対して読み取り閾値の変化が如何に決定され得るかを示す図である。
【0028】
【
図10】別の例示的な実施形態による読み取り閾値較正方法のフローチャートである。
【0029】
【
図11】別の例示的な実施形態による読み取り閾値較正方法のフローチャートである。
【0030】
【
図12】別の例示的な実施形態による読み取り閾値較正方法のフローチャートである。
【0031】
【
図13】1つ以上の例示的な実施形態による読み取り閾値較正方法の例示的な結果を示す。
【発明を実施するための形態】
【0032】
ここで、添付の図面に示されている例示的な実施形態を詳細に参照する。そのうち、同様の参照番号は、全体を通して同様の要素を指す。この点において、例示的な実施形態は、異なる形態を有し得、本明細書に記載の説明に限定されるものとして解釈されるべきではない。
【0033】
本明細書で使用される場合、用語「含む(INCLUDE)」、「含む(INCLUDING)」、「含む(COMPRISE)」、及び/又は「含む(COMPRISING)」は、記載された特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらのグループの存在又は追加を排除しないことが理解されるであろう。
【0034】
本明細書で使用される場合、用語「及び/又は」は、関連付けられたリストされたアイテムのうちの1つ以上の任意及び全ての組み合わせを含む。「のうちの少なくとも1つ」などの表現を要素のリストの後に置くと、要素のリスト全体を変更し、リストの個々の要素を変更しない。また、本明細書に記載の「ユニット」、「英語-ER(-OR)」、及び「モジュール」などの用語は、少なくとも1つの機能又は動作を実行するための要素を指し、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせで実装され得る。
【0035】
図1は、本明細書で説明される方法を実行し得る例示的な実施形態によるメモリシステム100のブロック図を示す。メモリシステム100は、コントローラ102と、1つ以上のメモリダイ104を含むメモリとを含む。本明細書で使用される場合、ダイという用語は、単一の半導体基板上に形成される、メモリセルのセットと、それらのメモリセルの物理的動作を管理するための関連回路を指す。コントローラ102は、ホストシステムとインターフェースし、読み取り、プログラム、及び消去動作のためのコマンドシーケンスをメモリダイ104に送信し得る。
【0036】
フラッシュメモリコントローラであるコントローラ102は、例えば、処理回路、マイクロプロセッサ又はプロセッサ、及び(マイクロ)プロセッサによって実行可能なコンピュータ可読プログラムコード(例えば、ソフトウェア又はファームウェア)を格納するコンピュータ可読媒体、ロジックゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、並びにエンベデッドマイクロコントローラのうちのいずれか1つの形態をとることができる。コントローラ102は、以下で説明され、本明細書に記載の図のフロー図に示される様々な機能を実行するようにハードウェア及び/又はファームウェアで構成することができる。例えば、コントローラは、不揮発性メモリ内の読み取り閾値レベルを制御することができる。追加的又は代替的に、コントローラの内部にあるように示されているコンポーネントのいくつかは、コントローラの外部に保存することもでき、他のコンポーネントを使用することができる。追加的又は代替的に、「と動作可能に通信する」という語句は、直接的に通信すること、又は1つ以上のコンポーネントを介して間接的に(有線又は無線で)通信することを意味し得、これは本明細書では図示又は説明されている場合もあれば、そうでない場合もある。
【0037】
本明細書で説明されるように、コントローラ102は、メモリダイに格納されたデータを管理し、コンピュータ又は電子デバイスなどのホストと通信するデバイスである。コントローラ102は、本明細書で説明される特定の機能に加えて、様々な追加機能のうちのいずれかを有し得る。例えば、コントローラ102は、メモリダイ104をフォーマットして、それらが適切に動作することを確実にし得、不良フラッシュメモリセルをマップアウトし得、将来の故障セルの代わりになるスペアセルを割り当て得る。スペアセルのいくつかの部分は、コントローラ102を動作させ、他の特徴を実装するためにファームウェアを保持するために使用され得る。動作中、ホストがメモリダイ104からデータを読み取るか、又はメモリダイ104にデータを書き込む必要がある場合、ホストはコントローラ102と通信することになる。ホストが、データが読み取られる/書き込まれるロジックアドレスを提供する場合、コントローラ102は、ホストから受信したロジックアドレスをメモリダイ104内の物理アドレスに変換することができる。代替的に、ホストは、物理アドレスを提供し得る。コントローラ102はまた、ウェアレベリング(そうでなければ繰り返し書き込まれるメモリの特定のブロックの消耗を回避するための書き込みの分散)及びガベージコレクション(フルブロックを消去して再利用できるように、フルブロックのデータの有効ページのみを新しいブロックに移動するプロセス)などの様々なメモリ管理機能を実行し得るが、これらに限定されない。コントローラ102はまた、以下で説明する方法及び動作を制御し得る。
【0038】
コントローラ102と不揮発性のメモリダイ104との間のインターフェースは、フラッシュインターフェースなどの任意の適切なインターフェースであり得る。メモリシステム100は、セキュアデジタル(SD)又はマイクロセキュアデジタル(マイクロSD)カードなどのカードベースのシステムであり得る。代替的に、メモリシステム100は、エンベデッドメモリシステムの一部であり得る。
【0039】
図1Aに示されるように、メモリシステム100は、コントローラ102と不揮発性のメモリダイ104との間に単一のチャネルを含むように示される。しかしながら、これは限定することを意図するものではなく、メモリシステムは、2つ以上のチャネルを含み得、例えば、NANDアーキテクチャを具現化し、コントローラ402とメモリダイ104との間に2つ、4つ、8つ、又はそれ以上のチャネルを含むメモリシステムであり得る。本明細書で説明される例示的な実施形態のいずれか1つ以上において、単一のチャネルが図示されていても、コントローラ102とメモリダイ104との間に複数のチャネルが存在し得る。
【0040】
図1Bは、例示的な実施形態による、複数のメモリシステムを含むストレージモジュール200のブロック図である。したがって、ストレージモジュール200は、ホストと、複数の不揮発性のメモリシステム200を含むストレージシステム204とインターフェースするストレージコントローラ202を含む。ストレージコントローラ202と不揮発性のメモリシステム100との間のインターフェースは、例えば、シリアルアドバンストテクノロジーアタッチメント(SATA)、ペリフェラルコンポーネントインターフェースエクスプレス(PCIE)インターフェース、エンベデッドマルチメディアカード(EMMC)インターフェース、SDインターフェース、又はユニバーサルシリアルバス(USB)インターフェースなどのバスインターフェースであり得る。ストレージモジュール200は、ラップトップコンピュータ、タブレットコンピュータ、及び携帯電話などのポータブルコンピューティングデバイスに見られるようなソリッドステートドライブ(SSD)であり得る。
【0041】
図1Cは、例示的な階層型ストレージシステム210のブロック図である。階層型ストレージシステム210は、複数のストレージコントローラ202を含み、複数のストレージコントローラ202の各々は、それぞれのストレージシステム204を制御する。ホストシステム212は、バスインターフェースを介して階層型ストレージシステム210内のメモリにアクセスし得る。例示的なバスインターフェースは、例えば、不揮発性メモリエクスプレス(NVME)、ファイバチャネルオーバーイーサネット(FCOE)インターフェース、SDインターフェース、USBインターフェース、SATAインターフェース、PCIEインターフェース、又はEMMCインターフェースを含み得る。ストレージシステム210は、データセンター又はマスストレージが必要とされる他の場所に見られるような、複数のホストコンピュータによってアクセス可能なラックマウント型マスストレージシステムであり得る。
【0042】
図2Aは、
図1Aのメモリシステム100のコントローラ102のコンポーネントの構成のブロック図である。コントローラ102は、ホストとインターフェースするフロントエンドモジュール108、不揮発性のメモリダイ104とインターフェースするバックエンドモジュール110、及び不揮発性のメモリシステム100の様々な機能を実行する様々な他のモジュールを含み得る。本明細書で説明されるように、モジュールは、ハードウェア、又はハードウェア及びソフトウェアの組み合わせであり得る。例えば、各モジュールは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、回路、デジタルロジック回路、アナログ回路、ディスクリート回路の組み合わせ、ゲート、又は任意の他のタイプのハードウェア、又はそれらの任意の組み合わせを含み得る。追加的又は代替的に、各モジュールは、モジュールの1つ以上の特徴を実装するためにプロセッサ又はプロセッサ回路で実行可能な命令を含むメモリハードウェアを含み得る。モジュールのいずれか1つが、プロセッサで実行可能な命令を含むメモリの部分を含む場合、モジュールは、プロセッサを含んでも含んでいなくてもよい。いくつかの例では、各モジュールは、単に、任意の他のハードウェアを含むモジュールなしに対応するモジュールの特徴を実装するためにプロセッサで実行可能な命令を含むメモリの部分であり得る。各モジュールは、含まれるハードウェアがソフトウェアを含む場合でも、少なくともいくつかのハードウェアを含むため、各モジュールは、ハードウェアモジュールと呼ばれ得る。
【0043】
コントローラ102は、ランダムアクセスメモリ(RAM)116内のバッファを管理し、コントローラ102の内部通信バス117上の通信のための内部バス調停を制御するバッファマネージャ/バスコントローラモジュール114を含み得る。読み取り専用メモリ(ROM)118は、システムブートコードを格納及び/又はアクセスし得る。コントローラ102とは別に配置されるように図示されているが、RAM116及びROM118の一方又は両方は、コントローラ102内に配置され得る。1つ以上の例示的な実施形態によれば、RAM116及びROM118の部分は、コントローラ102の内部及びコントローラ102の外部の両方に配置され得る。1つ以上の例示的な実施形態によれば、コントローラ102、RAM116、及びROM118は、別個の半導体ダイ上に配置され得る。
【0044】
フロントエンドモジュール108は、ホスト又は次のレベルのストレージコントローラとの電気インターフェースを提供する、ホストインターフェース120及び物理層インターフェース(PHY)122を含み得る。ホストインターフェース120のタイプは、使用されているメモリのタイプに依存することができる。ホストインターフェース120の例示的なタイプは、SATA、SATA EXPRESS、SAS、ファイバチャネル、USB、PCIE、及びNVMEを含み得るが、これらに限定されない。ホストインターフェース120は、データ、制御信号、及びタイミング信号の転送を容易にし得る。
【0045】
バックエンドモジュール110は、ホストから受信したデータバイトをエンコードし、不揮発性のメモリダイ104から読み取ったデータバイトに対してデコード及びエラーの修正を行う、エラー修正コード(ECC)エンジン又はモジュール124を含み得る。ECCエンジンは、線形エラー修正コードを使用する低密度パリティチェック(LDPC)エンジンであり得る。バックエンドモジュール110はまた、不揮発性のメモリダイ104に送信される、プログラム、読み取り、及び消去コマンドシーケンスなどのコマンドシーケンスを生成するコマンドシーケンサ126を含み得る。バックエンドモジュール110は、RAID(REDUNDANT ARRAY OF INDEPENDENT DRIVES)パリティの生成及び障害データの回復を管理するRAIDモジュール128を含み得る。RAIDパリティは、不揮発性のメモリシステム100に書き込まれているデータのためのさらなるレベルの完全性保護として使用され得る。RAIDモジュール128は、ECCエンジン124の一部であり得る。メモリインターフェース130は、不揮発性のメモリダイ104にコマンドシーケンスを提供し、不揮発性のメモリダイ104からステータス情報を受信する。コマンドシーケンス及びステータス情報と共に、不揮発性のメモリダイ104にプログラムされ、不揮発性のメモリダイ104から読み取られるデータは、メモリインターフェース130を介して通信され得る。1つ以上の例示的な実施形態によれば、メモリインターフェース130は、ダブルデータレート(DDR)インターフェース及び/又はトグルモード200、400、800、若しくはそれ以上のインターフェースであり得る。制御層132は、バックエンドモジュール110の全体的な動作を制御し得る。
【0046】
不揮発性のメモリシステム100の追加モジュールは、メモリダイ104のメモリセルのウェアレベリング、アドレス管理、及びフォールディング動作の促進などの特定のメモリ管理機能を実行するメディア管理層138を含み得る。不揮発性のメモリシステム100はまた、外部電気インターフェース、外部RAM、抵抗器、コンデンサ、又は、コントローラ102とインターフェースし得る他のコンポーネントなどの、他のディスクリートコンポーネント140を含み得る。1つ以上の例示的な実施形態によれば、RAIDモジュール128、メディア管理層138、及びバッファ管理/バスコントローラ114のうちの1つ以上は、省略され得る選択的なコンポーネントである。
【0047】
図2Bは、
図1Aのメモリシステムのメモリダイ104のコンポーネントの構成のブロック図である。メモリダイ104は、互換的にメモリ要素と称されるメモリセルを複数含むメモリセル構造142を含む。メモリセルは、Nビットデータ値を有するデータのユニットを格納する要素又はコンポーネントであり、ここで、Nは1以上である。メモリセル構造142のメモリセルには、任意の好適なタイプのメモリを使用することができる。例として、メモリは、動的ランダムアクセスメモリ(「DRAM」)又は静的ランダムアクセスメモリ(「SRAM」)、抵抗性ランダムアクセスメモリ(「RERAM」)、電気的に消去可能なプログラマブル読み取り専用メモリ(「EEPROM」)、フラッシュメモリ(EEPROMのサブセットとみなすこともできる)、強誘電性ランダムアクセスメモリ(「FRAM」)、磁気抵抗ランダムアクセスメモリ(「MRAM」)、相変化メモリ(「PCM」)などの不揮発性メモリ、あるいは情報を格納することができる半導体材料もしくは他の材料を含む任意の他の要素であり得る。各タイプのメモリは、異なる構成を有し得る。例えば、フラッシュメモリは、NAND構成又はNOR構成で構成され得る。
【0048】
メモリは、当業者によって理解されるように、任意の1つ以上の組み合わせで、パッシブ要素及び/又はアクティブ要素から形成することができる。
【0049】
複数のメモリセルは、それらが直列に接続されるように、又は各要素が個々にアクセス可能であるように構成され得る。非限定的な例として、NAND構成(NANDメモリ)におけるフラッシュメモリデバイスは、典型的には、直列に接続されたメモリ素子を含む。NANDメモリアレイは、アレイが複数のセルグループからなるように構成され得、そのうち、同じセルグループの一部であるメモリセルは、単一のワードライン又は単一のビットラインなどの単一のバイアスラインを共有し、グループとしてアクセス又はバイアスされる。
【0050】
メモリダイのメモリセル構造142を形成する複数のメモリセルは、基板内及び/又は基板上に配置され得る。基板は、メモリセルの層が形成されるウェハオーバーであってもよく、又はメモリセルが形成された後にそれらに取り付けられるキャリア基板であってもよい。
【0051】
メモリセル構造142又はメモリセル構造142の少なくとも一部を形成するメモリセルは、3Dメモリセル構造の2次元(2D)において2次元又は3次元に配置され得る。
【0052】
従来技術による方法では、BES又はVSは、WLにおいてBERの上昇が示されるたびに、代表的WLに対して実行される。指示的WLとして、BERの上昇が迅速に捕捉されるように、ブロックのエッジにおけるWLを選択し得る。長時間のシーケンシャル読み取り中に温度がシフトするシナリオでは、これらのイベントが頻繁にトリガされ、BESの頻繁な動作によってレイテンシが発生するため、システムのパフォーマンスが低下することになる。
【0053】
そのような従来技術による方法は、例えば、
図3のフローチャートに示されている。上述したように、この従来技術による方法は、ブロックのエッジにおけるWLであり得る指示的WLにおいてBERの上昇があるという指示(301)によってトリガされる。例えば、特定の閾値を上回る上昇、又は代替的に、以前のBERからの特定量の上昇によって、この一連の読み取り閾値較正動作がトリガされ得る。次いで、代表的WLに対してBESが実行される(302)。次いで、BESによって取得された読み取り閾値が、タイムタグの残りの部分に使用され(303)、WLインデックスに基づいて、代表的WL以外のWLに対して調整され得る(304)。
【0054】
1つ以上の例示的な実施形態によれば、読み取り閾値は、読み取り中に温度が急速にシフトし得るシナリオで、長時間のシーケンシャル読み取りのために、調整可能なレートを決定し、使用する。読み取り閾値の小さなシフト(本明細書では「トラッキング」とも呼ばれる)は、そのようなシナリオに適している。
【0055】
BES及びVSと比較して、上述したように、読み取りレベルトラッキング(RLT)と呼ばれるアプローチは、VS及びBESなどで複数の読み取りを行うことに基づいてではなく、ホスト読み取り自体を使用することに基づいて較正を実行することに関わる。
【0056】
実装では、同じメモリ状態にプログラムされたメモリセルの集合は、プログラミングの結果として、関連付けられた閾値電圧の集合を有し得る。閾値電圧は、閾値電圧の確率分布、又は、単なる、閾値電圧の関数としての集合内のメモリセルの数の閾値分布として表され得る。
【0057】
所与のストレージスキームは、例えば、メモリ状態のそれぞれ及び所与のストレージスキームによって定義される関連付けられる閾値電圧範囲について、ガウス分布などの、連続確率分布の形態であり得るモデルの、基準の、理想的な、又は目標の閾値電圧分布を有し得る。モデルの閾値電圧分布は、同じメモリ状態にプログラムされたメモリセルの集合についての理想的な閾値電圧分布のモデルを表し得る。モデルの閾値電圧分布のロウア及びアッパーテールは、モデルの閾値電圧分布のそれぞれが関連付けられる範囲のアッパー及びロウア閾値電圧レベルと整列するか、又はそれに対応し得る。
【0058】
図4A~4Dは、メモリセルに異なる数のビットのデータを格納するための異なるストレージスキームの閾値電圧分布曲線のプロットである。閾値電圧分布曲線は、閾値電圧VTHの関数としてメモリセルの数に対してプロットされ、各曲線は、1つ以上のビットのデータに関連付けられた一意のデータ状態を表す。
図4Aは、SLCストレージスキーム(メモリセルあたり1ビットのデータ)の閾値電圧分布曲線を示す。
図4Bは、MLCストレージスキーム(メモリセルあたり2ビットのデータ)の閾値電圧分布曲線を示す。
図4Cは、TLCストレージスキーム(メモリセルあたり3ビットのデータ)の閾値電圧分布曲線を示す。
図4Dは、QLCストレージスキーム(メモリセルあたり4ビットのデータ)の閾値電圧分布曲線を示す。同様の閾値電圧分布曲線は、メモリセルあたり2ビット、3ビット、又は4ビット以外の(例えば、より多い)数のビットを格納するために使用される他のストレージスキームについて定義又は生成され得る。
【0059】
図4Aを参照すると、SLCストレージスキームに従ってプログラムされたメモリセルについて、メモリセルは、消去状態ER又はプログラム状態Aのいずれかにあり得る。
図4Bを参照すると、MLCストレージスキームに従ってプログラムされたメモリセルについて、各メモリセルは、消去状態ER又は3つのプログラム状態A、B、Cのうちの1つにあり得る。
図4Cを参照すると、TLCストレージスキームに従ってプログラムされたメモリセルについて、各メモリセルは、消去状態ER又は7つのプログラム状態A、B、C、D、E、F、Gのうちの1つにあり得る。
図4Dを参照すると、QLCストレージスキームに従ってプログラムされたメモリセルについて、各メモリセルは、消去状態ER又は15のプログラム状態A、B、C、D、E、F、G、H、I、J、K、L、M、N、Oのうちの1つにあり得る。用語「メモリ状態」及び「プログラム状態」は、本明細書で互換的に使用されることに留意されたい。例えば、用語「メモリ状態A」及び「プログラム状態A」は、同じメモリ状態を指すために互換的に使用される。
【0060】
図4A~
図4Dに示されるように、各プログラム状態は、それぞれの検証閾値電圧レベル(又は検証閾値)VV及び読み取り電圧閾値レベル(又は読み取り閾値)VRに関連付けられる。例えば、
図4A~
図4Dのストレージスキームに関して、例えば、検証閾値VVA及び読み取り閾値VRAがメモリ状態Aに関連付けられ、検証閾値VVB及び読み取り閾値VRBがメモリ状態Bに関連付けられ、検証閾値VVC及び読み取り閾値VRCがメモリ状態Cに関連付けられる。
【0061】
図4A~
図4Dに示されるように、検証閾値VV及び読み取り閾値VRは、閾値電圧分布曲線の下限又はテールを指定するか、又はそれに対して位置決めされる。検証閾値VVは、メモリセルのプログラミングがいつ完了するかを定義するためにプログラミング中に使用され、即ち、メモリセルのさらなるプログラミングは、そのメモリセルの閾値電圧が、メモリセルがプログラムされているデータ状態の検証閾値VVを超えることに応答して禁止される。読み取り閾値VRは、メモリセルがどのデータ状態にプログラムされたかを決定するために読み取り動作中に使用される。
【0062】
また、
図4A~
図4Cにおいて、例示的な関連付けられたデータ値は、各々のメモリ状態についての閾値電圧分布曲線内又はその下に含まれる。例えば、
図4Aは、左の閾値電圧分布曲線が消去状態ER及びロジック「1」値に関連付けられ、右の閾値電圧分布曲線がメモリ状態A及びロジック「0」値に関連付けられる例示的な実施形態を示す。それぞれ
図4B及び
図4Cに示されるMLC及びTLCストレージスキームにおいて、データ値は、メモリ状態及び閾値電圧範囲の増加に伴って順次に変化する。様々な例示的な実施形態では、各データ状態に関連付けられた特定のデータ値は、グレイコードスキームなどの所定のスキームに従って変化し得る。
図4Bを参照すると、MLCストレージスキームに従ってプログラムされたメモリセルは、セルあたり2ビットを格納し、消去状態ERは、データ値「11」に関連付けられ、メモリ状態Aにプログラムされたメモリセルは、データ値「01」に関連付けられ、メモリ状態Bにプログラムされたメモリセルは、データ値「00」に関連付けられ、メモリ状態Cにプログラムされたメモリセルは、データ値「10」に関連付けられる。同様に、
図4Cを参照すると、TLCストレージスキームに従ってプログラムされたメモリセルは、セルあたり3ビットを格納し、消去状態ERは、データ値「111」に関連付けられ、メモリ状態Aは、データ値「011」に関連付けられ、メモリ状態Bは、データ値「001」に関連付けられ、メモリ状態Cは、データ値「000」に関連付けられ、メモリ状態Dは、データ値「010」に関連付けられ、メモリ状態Eは、データ値「110」に関連付けられ、メモリ状態Fは、データ値「100」に関連付けられ、メモリ状態Gは、データ値「101」に関連付けられる。
図4Dに示されるように、QLCストレージスキーム(メモリセルあたり4ビット)に従ってプログラムされたメモリセルに対して、データ値、メモリ状態、及び閾値電圧範囲の間に同様の関係又は対応を作成することができる。
【0063】
図2Bに戻って参照すると、メモリダイ104は、複数又はP個のセンスブロック(センスモジュール又はセンスシステムとも称される)146を含む読み取り/書き込み回路144をさらに含み得る。センスブロック146は、プログラミング動作中にメモリセルを検証する、既にプログラムされたメモリセルからのデータの読み取りに参加するように構成されている。
【0064】
電力制御回路160は、メモリ動作(読み取り、プログラム/書き込み、センス、及び消去動作を含む)を実行するために適切なレベルで電圧を生成及び/又は供給するための様々な回路トポロジー又は回路構成(ドライバ回路、電流ソース、充電ポンプ、基準電圧発生器、レギュレータ、及びパルス生成回路など)のいずれか、又はそれらの様々な組み合わせのいずれかを含み得る。電圧を生成するための他のタイプの回路が可能であり得る。また、電力制御回路160は、メモリ動作を実行するために適切なレベル及び適切な時間で電圧を供給するために、制御ロジック回路154、読み取り/書き込み回路144、及び/又はセンスブロック146と通信し、及び/又は、制御ロジック回路154、読み取り/書き込み回路144、及び/又はセンスブロック146によって制御され得る。
【0065】
読み取り動作中において、電力制御回路160は、メモリセルが格納しているデータのデータ値を読み取るために、読み取り閾値電圧レベルVRでワードラインをバイアスし得る。所与のメモリ状態に対する閾値電圧レベルVRは、異なる処理条件、異なるプログラム/消去サイクル、異なるリテンション時間、異なる温度、異なる外乱条件、又はそれらの組み合わせを含む、異なる動作条件に対して異なる最適値を有し得る。所与のストレージスキームについて、メモリシステムは、コントローラ側及び/又はメモリダイ側で、電力制御回路160が読み取り動作中にワードラインをバイアスするために使用するための読み取り閾値レベルの1つ以上のセットを識別する、テーブルなどのデータ構造を維持し得る。データ構造は、それぞれがメモリダイ104の異なる領域に対応する読み取り閾値レベルの複数のセットを含み得る。
【0066】
図5に示されるように、第1のセンス動作が実行されるとき、センス回路は、消去状態ERでのTLCセルについてロジック1を出力し、メモリ状態A~GでのTLCセルについてロジック0を出力する。第2のセンス動作が実行されるとき、センス回路は、消去状態ER及びメモリ状態A~DでのTLCセルについてロジック1を出力し、メモリ状態E~GでのTLCセルについてロジック0を出力する。様々な例示的な実施形態では、読み取り/書き込み回路144(又は、例えば、制御ロジック154などの、メモリダイ104上の他の回路)は、第1のセンス動作のロジックビット値と第2のセンス動作のロジックビット値との間でNOT XOR(NXOR)動作を実行して、ロウアページビットについて読み取りビット値を生成し得る。
【0067】
次いで、ECCモジュール124は、デコードされたページを生成するために、読み取りページをデコードする。ECCモジュール124が読み取りページをデコードした後、コントローラ102は、読み取りページとデコードされたページとを比較(例えば、XOR)することによってエラーページを計算するように構成され得る。次いで、エラーページ及び個々のセンス結果ページに基づいて、コントローラ102は、(例えば、個々のセンス結果ページの対応する値によって決定されるように)対応する電圧ビンカウンタにおいてエラーページ内の各エラー(例えば、1に等しいエラーページ内の各ビット)をカウントすることによって、各電圧ビンJについてエラー数EJ又はビットエラーレートBERJを計算し得る。
【0068】
例えば、特定のメモリセルについて、個々のセンス結果が11→読み取り値=NXOR(1,1)=1であり、且つデコードされた値が0である(例えば、エラーを示す)と、コントローラ102は、電圧ビン0に対応するカウンタE0→(BER0)をインクリメントする。特定のメモリセルについて、個々のセンス結果が01→読み取り値=NXOR(0,1)=0であり、且つデコードされた値が1である(エラーを示す)と、コントローラ102は、電圧ビン1に対応するカウンタE1→(BER1)をインクリメントする。特定のメモリセルについて、個々のセンス結果が00→読み取り値=NXOR(0,0)=1であり、且つデコードされた値が0である(エラーを示す)と、コントローラ102は、電圧ビン2に対応するカウンタE2→(BER2)をインクリメントする。
【0069】
読み取り/書き込み回路は、読み取り動作の実行を完了するために、同様の方法でセンス動作を実行してミドルページ及びアッパーページを読み取り得る。ミドルページ及びアッパーページのそれぞれについて、実行されるセンス動作の数は異なる場合があり、及び/又はビットラインに印加される読み取り閾値電圧レベルは異なる場合がある。1つの例示的なTLC(セルあたり3ビット)ストレージスキームでは、センス回路は、ミドルページを読み取るために3つのセンス動作、アッパーページを読み取るために2つのセンス動作を実行する。しかしながら、デコード動作は概して同じであり、即ち、所与のミドルステージ又はアッパーステージについて、読み取り/書き込み回路144は、複数のセンス動作から決定されたビット値に対してNXOR動作を実行して、読み取りミドルページ及び読み取りアッパーページを生成し得る。
【0070】
上述したように、コントローラ102は、如何にデータの読み取りページのBERに基づいて読み取り閾値電圧レベルを調整又は訂正するかを決定する。例えば、
図6A及び
図6Bに示されるように、BER1→0及びBER0→1が既知であると、ガウス状態分布を想定して、読み取り閾値が配置されるべき位置が決定され得る。
図6Aに示されるように、BER1→0>BER0→1であると、読み取り閾値は左に移動し、
図6Bに示されるように、BER1→0→<BER0→1であると、読み取り閾値は右に移動する。
【0071】
単一のページ(例えば、ロウア、ミドル、アッパーなど)を読み取るために複数のセンス動作を伴うMLCストレージスキームについてBERに基づいて読み取り閾値レベルを調整することは、2つのカウント間の単一の比較を実行できないため、より複雑になる。例えば、
図5に戻って参照すると、TLC(セルあたり3ビット)ストレージスキームでロウアページを読み取る場合、デコーダがビット値をロジック0からロジック1に反転させるとき、デコーダは、より多くの情報がなければ、その反転がA読み取り閾値レベルVRAに対応するか、それともE読み取り閾値レベルに対応するかを知らない。
【0072】
より多くの情報を得るために、コントローラ102は、閾値電圧範囲を、読み取り閾値レベルによって定義される電圧ビンに分割し、異なる電圧ビンについてBERを決定する。追加的に、又は代替的に、コントローラ102は、NXOR動作が実行される前に、第1及び第2のセンス動作の両方からロウアページビットを受信し、それにより、コントローラ102は、各ビットが属する電圧ビンを決定することができる。各ビットが属する電圧ビンを知ることによって、コントローラ102は次いで、正確なカウントを更新してBERを調整し、ひいてはそれに応じて閾値電圧レベルを調整することができる。
【0073】
説明すると、
図5に示されるように、第1及び第2のセンス動作に使用されるA及びE閾値電圧レベルは、閾値電圧分布曲線を3つの電圧ビンに分割する。電圧ビン0は、消去状態ERの電圧分布曲線を含む。電圧ビン1は、メモリ状態A~Dの電圧分布曲線を含む。電圧ビン2は、メモリ状態E~Gの電圧分布曲線を含む。
【0074】
電圧ビンを決定するために、コントローラ102は、電圧ビン0のビットを電圧ビン2から区別するためのNXOR動作に基づくロウアページビットの読み取りの代わりに(又はそれに加えて)、第1のセンス動作及び第2のセンス動作の両方からロウアページビットを受信する。例えば、所与のビットについて、第1及び第2のセンス動作から示される組み合わされたビット値が「11」であると、コントローラ102は、所与のビットが電圧ビン0にあることを知る。一方、所与のビットについて、第1及び第2のセンス動作から示される組み合わされたビット値が「00」であると、コントローラ102は、所与のビットが電圧ビン2にあることを知る。
【0075】
ロウアページビットのそれぞれについて電圧ビンを識別した後、コントローラ102は次いで、NXOR動作を実行して、読み取りロウアページを生成し得る。コントローラ102は次いで、ビットのビット値を反転させることによって、ECCモジュール124を介してエラー修正を実行し得る。デコード結果及び個々のセンスページに基づいて、コントローラ102は、3つのBERカウント、即ち、電圧ビン0の第1のカウント、電圧ビン1の第2のカウント、及び電圧ビン2の第3のカウントを計算し得る。第1のカウントは、電圧ビン0に関連付けられたBER0を示し得、第2のカウントは、電圧ビン1に関連付けられたBER1を示し得、第3のカウントは、電圧ビン2に関連付けられたBER2を示し得る。
【0076】
ECCモジュール124が、ロジック0を有するビットをロジック1に変更することを決定する場合、コントローラ102は、ビットが電圧ビン0にあるか、それとも電圧ビン2にあるかを決定し得る。ビットが電圧ビン0にあると、コントローラ102は、第1のカウントを更新し得る。ビットが電圧ビン2にあると、コントローラ102は、第3のカウントを更新し得る。追加的に、又は代替的に、ECCモジュール124が、ロジック1を有するビットをロジック0に変更することを決定する場合、コントローラ102は、電圧ビン1に関連付けられた第2のカウントを更新し得る。
【0077】
図7は、例示的な実施形態による連続RLT方法のフローチャートである。
図7に示されるように、例えば、ホストはページを読み取ろうとしているが、閾値レベルがオフである場合がある。ホスト読み取り要求を受信する(701)と、ホスト要求に基づいてメモリからデータをセンスする(702)。次いで、ECCを使用してコードをデコードし、デコードされたデータをホストに適切に送信する(703)。コードのデコードに成功したと仮定すると、デコードされたページと対応する読み取りページとの間の差を観察して(704)、エラーがどこから来ているかを決定することができる。次いで、読み取り閾値をどこに移動させるか/如何に移動させるかを決定することができる(705)。
【0078】
図8は、例示的な実施形態による読み取り閾値較正方法のフローチャートである。この例示的な実施形態によれば、連続RLTは、急速であり得る温度シフトが存在する長時間のシーケンシャル読み取りシナリオで、調整可能なレートに基づいて使用される。例示的な方法は、頻繁に実行される読み取り閾値の小さなシフト(本明細書では「トラッキング」とも呼ばれる)が、それほど頻繁に実行されないか、又は高いBERの指示があるときにのみ実行される読み取り閾値較正よりも改善された読み取り閾値較正を提供し得るという理解に基づいている。
【0079】
この例示的な方法によれば、所定の閾値よりも高いBERの指示がある(801)場合、次に読み取られるWLに対してRLTを実行する(802)。上述のRLTと同様、このRLTは、ホスト読み取りと干渉しない。次いで、デコードされたページと対応する読み取りページとの間の差に基づいて、読み取り閾値を較正する(803)。次いで、これらの読み取り閾値を、次に読み取られるWLに使用する(804)。
【0080】
図9は、成功したデコード(又はエラー修正)の後にBERが知られている場合にΔが如何に作成され得るかを示す。この例示的な方法は、各電圧ビンのBERが各電圧ビン内のFBCの数を計算することから導出され得る場合、成功したECCデコードの後に読み取り閾値を較正するために使用され得る。ビットのそれぞれは、単一の閾値読み取りの結果に従ってその電圧ビンにマッピングされ、エラーのあるビットは、電圧ビンごとに合計され、エラーベクトルは、電圧ビンごとのBERに従って読み取り閾値を計算するモジュールに渡される。
【0081】
図9は、単一の閾値にズームインする。
図9において、Dは、2つの状態の中心間の距離であり、σ0及びσ1は、対応する状態の標準偏差である。ここで、Δは、最適な読み取り閾値(破線)からの現在の読み取り閾値(実線)の距離である。Nは、ページ内のセルの数であり、N/8は、スクランブリングを仮定して、各データ状態でプログラムされるセルの総数である。デコードが成功したので、各データ状態におけるセルの数も明示的にカウントされ得る。E0及びE1は、各ビン内のエラーのあるビット数であり、したがって、P0及びP1は、各電圧ビン内のBERである。
【0082】
ガウステール分布関数Qを使用すると、次のように導出することができる。
【数1】
【数2】
Δを分離すると、
【数3】
を得る。
計算を簡略化するために、
【数4】
と仮定し得る。
【数5】
【0083】
上記の式では、
【数6】
は、
【数7】
及び
【数8】
の両方のように仮定される。これは、
【数9】
がPECとともにより高く成長することが予想されるため、オフラインで導出し、デバイスの寿命中に変更することができる。しかしながら、
【数10】
は正の数であり、Δの符号ではなく振幅にのみ影響を及ぼすので、この段階では
【数11】
についての正確な知識は必要ではない。
【0084】
単一の閾値について、上記式は、電圧ビン内のエラーレートが与えられた場合にSLCページの読み取り閾値を順調にチューニングするために使用できるΔの計算を提供する。しかしながら、MLC、TLC、又はQLCの場合、単一のページを読み取るときにいくつかの閾値が関与する。
図5のTLC LPの例から、BER#1及びBER#3は正確に計算されるが、BER#2は、LP読み取りを構成する2つの閾値の間で分割される。
【0085】
この例示的な実施形態によれば、任意のRLTオーバーヘッドは、メモリからの余分な転送及び追加の処理の結果であり、その両方とも1マイクロ秒のオーダーにある。対照的に、BES動作は、少なくとも5つの読み取り動作を負担し、これは、QLCにおいて、処理が考慮される前であっても、約300マイクロ秒(300μS)のオーバーヘッドである。BESはまた、読み取り動作パイプラインを停止し、BES動作を挿入するか、又はBES動作をストールすることを必要とし、これにより、劣った読み取り閾値がより長時間使用されることになる。対照的に、この例示的な実施形態によれば、代表的WLのRTが最適化されるか、又は代替的に、現在のWLを基準として使用することができる。
【0086】
図10は、別の例示的な実施形態による読み取り閾値較正方法のフローチャートである。フラッシュメモリのブロックは、多くのワードラインを含み、それらの全てが等しいわけではない。例えば、エッジWLなどのアウトライナーWLの読み取り閾値は、「中心」WLなどの他のWLの読み取り閾値と著しく異なる場合がある。例えば、ブロックの中央も「エッジ」とみなされる2つの「半球」に配置された96のWLを有する1つのタイプのブロックでは、エッジ/アウトライアWLは、WL0、1、46、47、48、49、94、及び95であり得る。各メモリタイプには、このハードコードされたアウトライア指示に関して独自の仕様がある。アウトライアWLの定義は、例えば、特定のWLが何らかの物理的欠陥を有すると認識される場合、又はWLをブロックに関してアウトライアにする可能性のある別の理由がある場合、別のソースに由来することもある。
【0087】
したがって、この例示的な実施形態によれば、これらのアウトライアWLは、アウトライアWLが「中心」WLと同じ読み取り閾値を有するという誤った仮定に基づく任意の誤算を防止するために考慮される。この例示的な実施形態によれば、アウトライナーWLは、高いBERの場合にそれらにBESを使用するか、又はデコードが成功したと仮定して高BERの指示を無視することによって、異なる方法で扱われる。
【0088】
この例示的な方法によれば、所定の閾値よりも高いBERの指示がある(1001)場合、問題のWLがエッジWLなどのアウトライアWLであるか否かの決定を行う(1002)。WLがアウトライアであると、WLに対してBES動作を実行することができ、又はそのWLの高BERを無視することができる(1003)。例えば、第1の閾値よりも高いBERが存在すると最初に決定され(1001)、問題のWLがアウトライアである(1002-YES)場合、BERが、第1の閾値よりも高い第2の閾値よりも高いか否かの追加の決定があり得る。BERがまた第2の閾値よりも高いと、BES動作を実行することが決定され得、BERが第2の閾値よりも高くないと、アウトライアWLを無視することが決定され得る。
【0089】
問題のWLがアウトライアWLではない(1002-NO)場合、方法は、
図7に関して上述したように継続し得る。即ち、次の読み取りに対してRLTを実行し(1004)、RLT出力に基づいて読み取り閾値を調整し(1005)、調整された読み取り閾値を、次に読み取られるWLに使用する(1006)。
【0090】
図11は、別の例示的な実施形態による読み取り閾値較正方法のフローチャートである。この例示的な実施形態によれば、WLの変動を考慮するために、ブロックのWLをゾーンに分割することができ、WLゾーニングテーブルを使用して、RLT結果を変更し、他のWLに適用するようにそれらを調整することができる。
【0091】
この例示的な実施形態によれば、所定の閾値よりも高いBERの指示がある(1101)場合、次に読み取られるWLに対してRLTを実行する(1102)。逆WLゾーニングテーブルを使用して代表的WLについて読み取り閾値を推測し(1103)、RLT出力及びWLゾーニングテーブルに基づいて読み取り閾値を調整し(1104)、調整された読み取り閾値を、次に読み取られるWLに使用する(1105)。
【0092】
図12は、別の例示的な実施形態による読み取り閾値較正方法のフローチャートである。上記の例示的な方法とは対照的に、この例示的な実施形態によれば、RLTを実行するためのトリガは、高BERの指示ではなく、以前のRLT動作に対する、温度変化自体に基づいてもよい。したがって、この例示的な方法は、BERに任意の実際の上昇が発生する前の、読み取り閾値の改善された調整を許し得る。
【0093】
この例示的な実施形態によれば、RLTのトリガは、温度変化閾値よりも高い、以前のRLT動作に対する、温度変化であり得る(1201)。代替的に、トリガは、温度変化閾値を上回る温度変化及び所定の閾値よりも高いBERのうちの1つ以上であり得る(1201)。この例示的な方法の他の動作(1202~1205)は、
図11に関連して説明された前の例示的な実施形態の動作(1102~1105)に類似している。代替的に、温度変化に基づくトリガは、本明細書で論じられる例示的な実施形態のうちのいずれか1つ以上と組み合わせられてもよい。
【0094】
図13は、本明細書で説明される例示的な実施形態のうちの1つ以上による読み取り閾値較正方法の例示的な結果を示す。この例は、データが-25℃でプログラムされ、最大65℃の上昇している温度で読み取られる、BICS5X3のミドルページに基づいている。
【0095】
「最適」とラベル付けされた曲線は、最適な読み取り閾値を有するフェイルビットカウント(FBC)読み取りを示し、一方、「デフォルト」とラベル付けされた曲線は、デフォルトの読み取り閾値を有するFBC読み取りを示す。「システム」及び「システム+WLZ1」とラベル付けされた曲線は、従来技術による方法に基づいて決定された読み取り閾値を有するFBC読み取り、及び、それぞれの異なるWLについて代表的WL読み取り閾値にオフセットを加えるWLゾーニング機能を使用する従来技術による方法に基づいて決定された読み取り閾値を有するFBC読み取りを示す。「実施例」とラベル付けされた曲線は、本明細書で説明される例示的な実施形態のうちの1つによるFBC読み取りを示す。本明細書で説明される読み取り技術がより低いFBCフィギュアを生成し、読み取りパフォーマンスの改善をもたらすことは明らかである。
【0096】
読み取りパフォーマンスに影響を与える別の要因は、実行される較正動作の数である。BES動作は比較的長い動作であり、メモリから5~7回の余分な読み取りを取るが、RLT動作は比較的短く、余分な読み取りを必要とせず、限られた数の余分な転送のみを必要とする。例えば、BES動作のオーバーヘッドが約300マイクロ秒であると、RLT動作のオーバーヘッドは、約20マイクロ秒(20μS)であり得る。以下の表#1は、
図10のグラフに対して実行される方法のそれぞれについての動作の数を示し、WLゾーニングを使用しない従来技術によるシステム、WLゾーニングを使用する従来技術によるシステム、及び本明細書で説明される例示的な実施形態のうちの1つによるシステムのそれぞれについて、動作数及び読み取りページごとの動作数を示す。
【表1】
表#1:テスト中の各方法の動作数
【0097】
表から明らかなように、本明細書で説明される例示的な実施形態では、動作数が著しく少なくなり、オーバーヘッドの低減による待ち時間の節約がもたらされる。
【0098】
本明細書で説明される例示的な実施形態の一態様によれば、読み取り閾値電圧を較正する方法は、複数の読み取り動作を実行するステップと、読み取りレベルトラッキング(RLT)方法を実行することを決定するステップと、前記RLT方法を実行するステップと、を含み、前記RLT方法が、指示的ワードライン(WL)のビットエラーレート(BER)を決定するステップと、前記BERに基づいて、調整された読み取り閾値レベルを決定するステップと、前記調整された読み取り閾値レベルに従って読み取り閾値レベルを調整するステップと、を含む。前記RLT方法を実行することを決定する前記ステップは、前記指示的WLの前記BERがBER閾値を上回ることを決定するステップを含み得る。前記RLT方法を実行することを決定する前記ステップは、前記指示的WLがアウトライアWLではないことを決定するステップをさらに含み得る。アウトライアWLがエッジWLであり得る。前記RLT方法を実行することを決定する前記ステップは、以前のRLT方法に対する温度変化が温度閾値を上回ることを決定するステップを含み得る。前記RLT方法を実行することを決定する前記ステップは、前記指示的WLのBERがBER閾値を上回ることと、以前のRLT方法に対する温度変化が温度閾値を上回ることのうちの少なくとも1つを決定するステップを含み得る。前記BERを決定する前記ステップは、複数の電圧ビンを決定するステップと、前記複数の電圧ビンのそれぞれについて、BERを決定するステップと、を含み、前記BERに基づいて前記調整された読み取り閾値レベルを決定する前記ステップは、前記複数の電圧ビンのそれぞれについて、対応するBERに基づいてガウステール分布関数を計算するステップと、前記複数の電圧ビンのそれぞれについて、最適な読み取り閾値からの読み取り閾値の距離を決定するステップと、を含み得る。前記複数の電圧ビンを決定する前記ステップは、前記複数の読み取り動作によるメモリ状態のそれぞれについて、対応する電圧ビンを決定するステップを含み得る。前記BERを決定する前記ステップは、対応するシンドロームウェイトを使用して前記BERを推定するステップを含み得る。前記複数の読み取り動作を実行する前記ステップは、ホスト要求に従って前記複数の読み取り動作を実行するステップを含み得る。前記BERに基づいて前記調整された読み取り閾値レベルを決定する前記ステップは、WLゾーニングテーブルを適用するステップを含み得る。
【0099】
特定のシステムコンポーネントを指すために様々な用語が使用される。異なる会社は、異なる名前でコンポーネントを指す場合がある。このドキュメントは、機能ではなく名前が異なるコンポーネントを区別することを意図していない。
【0100】
これらの例示的な実施形態が関係する技術分野における当業者に明らかであるこれらの例示的な実施形態の事項は、ここで詳細に説明されない場合がある。
【0101】
本明細書で説明される例示的な実施形態は、説明的な意味でのみ考慮され得、限定の目的ではない。各例示的な実施形態内の特徴又は態様の説明は、他の例示的な実施形態における他の同様の特徴又は態様に利用可能であると考えられ得る。
【0102】
例示的な実施形態が図面を参照して説明されてきたが、以下の特許請求の範囲によって定義される精神及び範囲から逸脱することなく、形態及び詳細の様々な変更が行われ得ることは、当業者によって理解されるであろう。