(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-27
(54)【発明の名称】ホスト書き込み性能を向上させるための記憶装置の熱管理
(51)【国際特許分類】
G06F 12/06 20060101AFI20241120BHJP
G06F 12/00 20060101ALI20241120BHJP
G11C 7/04 20060101ALI20241120BHJP
【FI】
G06F12/06 525A
G06F12/00 597U
G11C7/04
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024529571
(86)(22)【出願日】2023-05-02
(11)【特許番号】
(45)【特許公報発行日】2024-11-19
(85)【翻訳文提出日】2024-05-17
(86)【国際出願番号】 US2023020653
(87)【国際公開番号】W WO2023224801
(87)【国際公開日】2023-11-23
(32)【優先日】2022-05-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】504056130
【氏名又は名称】ウェスタン デジタル テクノロジーズ インコーポレーテッド
(74)【代理人】
【識別番号】100207837
【氏名又は名称】小松原 寿美
(72)【発明者】
【氏名】グンダ、シュリダル プルドヴィラージ
(72)【発明者】
【氏名】イーマニ、キラン クマール
(72)【発明者】
【氏名】ボダ、プラビーン クマール
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160AA14
5B160AB26
5B160CA13
5B160CA14
5B160CA18
5B160NA01
(57)【要約】
不揮発性記憶装置の熱管理の態様が提供される。様々な実施形態において、記憶装置は、2つ以上のダイ上の対応するメモリ位置を含む。各ダイ上の対応するメモリ位置は、アドレス指定可能なグループを形成する。ダイの各々と熱連通するコントローラは、順次ホスト書き込みを実行している間にダイのうちの1つ上の過剰温度を検出し得る。そのような検出に応じて、コントローラは、他のダイをスロットリングすることなく、他のダイのメモリ位置への書き込みを実行し続けながら、検出されたダイへの全ての書き込みを無効にし得る。次いで、コントローラは、温度が閾値を下回ったときに、検出されたダイへの書き込みを再アクティブ化することができる。
【特許請求の範囲】
【請求項1】
記憶装置であって、
各々が複数のメモリ位置を備える複数のダイであって、各ダイからの対応するメモリ位置は、複数のアドレス指定可能グループが前記複数のダイを横断するようにアドレス指定可能グループを形成する、複数のダイと、
前記ダイの各々と熱連通するコントローラであって、
順次ホスト書き込みを実行している間に前記ダイのうちの少なくとも1つのダイ上の過剰温度を検出し、
前記アドレス指定可能グループのうちの1つ以上に対応する前記他のダイの前記メモリ位置への書き込みを実行し続けながら、前記少なくとも1つの検出されたダイへのすべての書き込みを無効化し、
前記温度が閾値未満に低下したとき、前記少なくとも1つの検出されたダイへの書き込みを再アクティブ化するように構成される、コントローラと、を含む、記憶装置。
【請求項2】
前記コントローラは、前記少なくとも1つの検出されたダイが無効にされている間、最大容量で前記他のダイへの前記ホスト書き込みを実行し続けるように構成される、請求項1に記載の装置。
【請求項3】
前記コントローラは、前記少なくとも1つの検出されたダイが無効にされている間、前記他のダイをスロットリングすることなく、前記他のダイへの前記ホスト書き込みを実行し続けるように構成される、請求項1に記載の装置。
【請求項4】
前記コントローラに熱情報を通信するように構成されたインフラストラクチャモジュールを更に備え、前記インフラストラクチャモジュールは、前記過剰温度を有する前記少なくとも1つのダイを識別する、請求項1に記載の装置。
【請求項5】
前記コントローラが、熱マッピングテーブル内の前記少なくとも1つの検出されたダイの熱情報を更新するように更に構成される、請求項4に記載の装置。
【請求項6】
前記コントローラが、前記少なくとも1つの検出されたダイへの前記書き込みを無効にするために、フラッシュ変換レイヤ(FTL)において機能を実行するように構成される、請求項1に記載の装置。
【請求項7】
前記コントローラは、前記温度が前記閾値未満に低下したときに前記熱マッピングテーブルを更新するように更に構成される、請求項5に記載の装置。
【請求項8】
前記コントローラは、熱書き込み不能動作に起因して必要とされる再配置に応答して、前記再配置を実行し、前記熱マッピングテーブルを更新するように構成される、請求項1に記載の装置。
【請求項9】
前記コントローラは、前記更新された熱マッピングテーブルに基づいて、アングレースフルシャットダウン(UGSD)イベント後のリカバリにおいてラストグッドページ(FLGP)発見アクションを実行するように構成される、請求項9に記載の装置。
【請求項10】
記憶装置であって、
メモリ位置のnセットを各々が含む複数のダイであって、各ダイからの前記nセットのうちの対応する1つは、nメタセットのうちの1つのメタセットを形成するように互いに結合され、各メタセットは、ホスト入力/出力(I/O)動作の最大アドレス指定可能単位を含む、複数のダイと、
前記ダイの各々と熱連通するコントローラであって、
ホスト書き込みのシーケンスを実行している間に、前記ダイのうちの少なくとも1つのダイ上の過剰温度を検出し、
前記n個のメタセットのうちの前記対応する1つ以上の中の前記他のダイへの前記ホスト書き込みを継続しながら、前記検出された少なくとも1つのダイへのすべての書き込みを無効にし、
前記温度が閾値未満に低下したとき、前記検出された少なくとも1つのダイへの書き込みを再アクティブ化するように構成される、コントローラと、を含む、記憶装置。
【請求項11】
前記コントローラは、前記少なくとも1つの検出されたダイが無効にされている間、全容量で前記他のダイへの前記ホスト書き込みを実行し続けるように構成される、請求項10に記載の装置。
【請求項12】
前記コントローラは、前記少なくとも1つの検出されたダイが無効にされている間、前記他のダイをスロットリングすることなく前記他のダイへの前記ホスト書き込みを実行し続けるように構成される、請求項10に記載の装置。
【請求項13】
前記少なくとも1つの検出されたダイの不能状態の間、前記コントローラは、前記nメタセットのうちの1つ以上内の他のダイ上の前記他のセット内のメモリ位置へのスロットリングなしにホスト書き込みを実行しながら、前記少なくとも1つの検出されたダイに対応する前記セット内の前記メモリ位置への書き込みを不能にするように構成される、請求項10に記載の装置。
【請求項14】
前記コントローラに熱情報を通信するように構成されたインフラストラクチャモジュールを更に備え、前記インフラストラクチャモジュールは、前記過剰温度を有する前記少なくとも10つのダイを識別する、請求項10に記載の装置。
【請求項15】
前記コントローラが、熱マッピングテーブル内の前記少なくとも1つの検出されたダイの熱情報を更新するように更に構成される、請求項14に記載の装置。
【請求項16】
前記コントローラは、前記温度が前記閾値未満に下がったときに熱マッピングテーブルを更新するように更に構成される、請求項15に記載の装置。
【請求項17】
記憶装置であって、
複数の選択的にアドレス指定可能なページのうちの1つを形成するメモリ位置を各々備える複数のダイと、
前記複数のダイの各々に結合されたコントローラであって、
1つ以上のページへのホスト書き込み動作を実行し、
前記ダイのうちの少なくとも1つにおける過剰温度を検出し、
前記検出に応答して、前記他のダイの前記メモリ位置への書き込みを実行し続けながら、前記検出された少なくとも1つのダイへのすべての書き込みを無効にし、
前記温度が閾値未満に低下したとき、前記検出された少なくとも1つのダイへの書き込みを再アクティブ化するように構成される、コントローラと、を含む、記憶装置。
【請求項18】
前記コントローラが、前記過剰温度の前記検出の前と同じ書き込み速度で前記他のダイの前記メモリ位置への書き込みを実行し続けるように更に構成される、請求項17に記載の装置。
【請求項19】
前記コントローラが、スロットリングなしに前記他のダイの前記メモリ位置への書き込みを実行し続けるように更に構成される、請求項17に記載の装置。
【請求項20】
前記コントローラが、前記1つ以上のページ内の前記他のダイへの前記書き込みと同じ速度で前記検出されたダイへの前記書き込みを再アクティブ化するように更に構成される、請求項17に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2022年5月19日に出願された「THERMAL MANAGEMENT OF STORAGE DEVICES FOR INCREASING HOST WRITE PERFORMANCE」と題する米国非仮出願第17/748,336号の利益を主張し、その内容の全体はあらゆる目的のために参照により本出願に組み込まれる。
【0002】
(発明の分野)
本開示は、一般に電子装置に関し、より詳細には記憶装置に関する。
【背景技術】
【0003】
導入
記憶装置は、ユーザがデータを記憶し検索することを可能にする。記憶装置の例は、不揮発性メモリ装置を含む。不揮発性メモリは、一般に、電力サイクル後にデータを保持する。不揮発性メモリの一例はフラッシュメモリであり、これは1つ以上のダイ上にNANDセルの配列(複数可)を含み得る。フラッシュメモリは、固体装置(SSD)、セキュアデジタル(SD)カードなどに見られ得る。
【0004】
マルチダイ不揮発性記憶(NVM)装置における熱スロットリングは、高性能が少なくとも1つのダイ(複数可)に熱を放散させる従来のプロセスであり、この熱は、次に、ダイ(複数可)を閾値温度に到達させるか、又はそれを超えさせ得る。熱破壊を回避するために、ホストは、すべてのダイに対して速度を低下させるなどの内部限界に加えて熱制約を設定してもよいが、最大以下の性能を有する。複数の連続したホスト書き込みなどの拡張された作業負荷の場合、記憶装置が電力状態間を行ったり来たりして切り替わり、性能振動及び全体的な性能低下をもたらす可能性が高い。
【発明の概要】
【0005】
記憶装置の一態様が本明細書で開示される。記憶装置は、各々が複数のメモリ位置を備える複数のダイを含む。各ダイからの各対応するメモリ位置は、複数のアドレス指定可能グループが複数のダイを横断するように、アドレス指定可能グループを形成する。記憶装置はまた、ダイの各々と熱連通するコントローラを含む。コントローラは、順次ホスト書き込みを実行している間に、ダイのうちの少なくとも1つにおける過剰温度を検出するように構成される。その結果、コントローラは、アドレス指定可能グループのうちの1つ以上に対応する他のダイのメモリ位置への書き込みを実行し続けながら、検出された少なくとも1つのダイへのすべての書き込みを無効にするように構成される。コントローラはまた、温度が閾値未満に低下したとき、少なくとも1つの検出されたダイへの書き込みを再アクティブ化するように構成される。
【0006】
記憶装置の別の態様が本明細書に開示される。記憶装置は、複数のダイを含む。ダイの各々は、メモリ位置の正整数nセットを含む。各ダイからのnセットのうちの対応する1つは、nメタセットのうちの1つのメタセットを形成するために一緒に結合される。各メタセットは、ホスト入出力(I/O)動作の最大アドレス指定可能単位を含む。記憶装置はまた、ダイの各々と熱連通するコントローラを含む。コントローラは、ホスト書き込みのシーケンスを実行している間に、ダイのうちの少なくとも1つにおける過剰温度を検出するように構成される。コントローラはまた、nメタセットのうちの対応する1つ以上の中の他のダイへのホスト書き込みを継続しながら、検出された少なくとも1つのダイへの全ての書き込みを無効にするように構成される。コントローラは、温度が閾値未満に低下したとき、少なくとも1つの検出されたダイへの書き込みを再アクティブ化するように更に構成される。
【0007】
記憶装置の更なる態様が本明細書で開示される。記憶装置は、複数の選択的にアドレス指定可能なページのうちの1つを形成するメモリ位置を各々が備える複数のダイを含む。記憶装置は、複数のダイの各々に結合されたコントローラを含む。コントローラは、1つ以上のページに対してホスト書き込み動作を実行し、ダイのうちの少なくとも1つにおける過剰温度を検出するように構成される。コントローラは、検出に応答して、他のダイのメモリ位置への書き込みを継続しながら、少なくとも1つの検出されたダイへの全ての書き込みを無効にするように構成される。コントローラは、温度が閾値未満に低下したとき、少なくとも1つの検出されたダイへの書き込みを再アクティブ化するように構成される。
【0008】
記憶装置の他の態様は、以下の詳細な説明から当業者に容易に明らかになることが理解され、ここで、装置及び方法の様々な態様が例示として示され説明される。理解されるように、これらの態様は、他の異なる形態で実装されてもよく、そのいくつかの詳細は、様々な他の点において修正が可能である。したがって、図面及び詳細な説明は、本質的に例示的なものとみなされるべきであり、限定的なものとみなされるべきではない。
【図面の簡単な説明】
【0009】
本発明の様々な態様は、添付の図面を参照して、限定としてではなく例として詳細な説明において提示される。
【
図1】ホスト装置と通信する記憶装置の例示的な実施形態を示すブロック図である。
【
図2】
図1の記憶装置の不揮発性メモリ内の論理-物理マッピングテーブルの一例を示す概念図である。
【
図3】
図1の記憶装置におけるメモリセルのトランジスタレベル配列の一例を示す概念図である。
【
図4】
図1の記憶装置におけるメモリセルの配列の一例を示す概念図である。
【
図5】一実施形態による選択的熱無効化のためのステップの一例を示す流れ図である。
【
図6】一実施形態による、再配置中の選択的熱無効化のためのステップの一例を示す流れ図である。
【
図7】時間及び温度の関数としてNANDベースのソリッドステートドライブ(SSD)の性能を示す例示的なグラフである。
【
図8】一実施形態に係る容量の異なる3つの例示的な記憶装置を示すブロック図である。
【
図9】スキップされたダイ(複数可)上の温度が熱動作範囲に戻った後のデータ再配置の別の例を示すブロック図である。
【発明を実施するための形態】
【0010】
添付の図面に関連して以下に記載される詳細な説明は、本発明の様々な例示的な実施形態の説明として意図されており、本発明が実施され得る唯一の実施形態を表すことは意図されていない。詳細な説明は、本発明の完全な理解を提供する目的で特定の詳細を含む。しかしながら、本発明はこのような具体的な詳細なしに実施され得ることが、当業者には明らかである。いくつかの例では、本発明の概念を不明瞭にすることを回避するために、周知の構造及び構成要素がブロック図の形態で表される。頭字語及び他の記述的な用語は、単に便宜上及び明確にするために使用されることがあり、本発明の範囲を限定することを意図しない。
【0011】
「例示的な」及び「例」という語は、本明細書では、「例、事例、又は例示として機能すること」を意味するために使用される。本明細書において「例示的な」として記載された例示的な実施形態も、他の例示的な実施形態よりも必ずしも好ましい又は有利であると解釈されるべきではない。同様に、装置、方法、又は製造品の「例示的な実施形態」という用語は、本発明のすべての例示的な実施形態が、説明された構成要素、構造、特徴、機能、プロセス、利点、利益、又は動作モードを含むことを必要としない。
【0012】
本明細書で使用される場合、「結合された」という用語は、2つの構成要素間の直接接続、又は適切な場合には、介在又は中間構成要素を介した互いの間接接続のいずれかを示すために使用される。対照的に、構成要素が別の構成要素に「直接結合されている」と称されるとき、介在要素は存在しない。
【0013】
以下の詳細な説明では、ホスト装置と通信する記憶装置の様々な態様が提示される。これらの態様は、SSD及びSDカードなどのフラッシュ記憶装置によく適している。しかしながら、当業者は、これらの態様が、データを記憶することができるすべてのタイプの記憶装置に拡張され得ることを理解するであろう。したがって、特定の装置又は方法へのいかなる言及も、そのような態様が本開示の趣旨及び範囲から逸脱することなく広範囲の適用例を有し得るという理解の下で、本発明の様々な態様を示すことのみを意図している。
【0014】
従来の不揮発性メモリ(NVM)装置における熱スロットリングは、性能を最大化しながら温度制約内でダイ(複数可)を動作させることを含む。上述したように、持続順次書き込み(SSW)又は連続ホスト(I/O)書き込み、及びデータ再配置(フォールディング及びコンパクションを含む)のような他の動作などの激しい性能の期間中、高性能は、マルチダイメモリシステム内のダイのうちの少なくとも1つが電力閾値又は温度閾値を超えることを最終的に引き起こす高電力を引き起こす。マルチダイ記憶装置では、少なくとも1つのダイが温度限界を超えると、すべてのダイがスロットリングされ(例えば、それらの(I/O)性能が温度上昇に比例する量だけ低減され)、極端な活動又は連続活動の期間中など、温度がその上限に達する前に温度を低減するのを助ける。極端な作業負荷の場合、スロットリングがないと、深刻な性能低下を引き起こす可能性がある。
【0015】
ホスト書き込み中のデータは、メタブロック内のメタページに書き込まれ、メタブロックは、複数のダイにまたがってもよい。例えば、メタブロックは、マルチダイ記憶装置上の最大アドレス指定可能ユニット又は最大アドレス指定可能ユニットのサブセットであってもよい。メタダイは、4つのフラッシュインターフェースモジュール(FIM)にわたる4つのダイで形成されてもよく、各FIMは1つのダイにわたって広がってもよい。他の構成では、ジャンボダイは、4つのFIMにわたる16個のダイを用いて形成されてもよく、各FIMは、4つのダイにわたる。異なる数のダイ及び/又はFIMを含む他の構成及び展開も可能である。
【0016】
上述したように、メタブロック内の複数のメタページは、したがって、ジャンボページを構成し得る。しかしながら、本開示の特定の目的のために、メタブロック内のメタページは、2つ以上のセット(ダイ)にわたる単一の書き込みが同時に実行され得るメタセットとも広く呼ばれ得る。また、本開示の目的のために、データは、1つ以上のダイに書き込まれる(又は書き込まれない)と称されてもよく、これは、単に、データがそのダイ上の1つ以上のメモリ位置又はセットに書き込まれることを意味する。各ダイは、フラッシュインターフェースモジュール(FIM)と関連付けられてもよく、これは、複数のダイの配列を有するより大きい記憶装置に組み立てられることができる。
【0017】
マルチダイ記憶装置上の従来のスロットリングの1つのそのような例は、NANDメモリ、NORメモリ、及び他の形態のSSD又はフラッシュNVMメモリなどのNVM装置上に置かれる重い書き込み負荷を含む。ダイのそれぞれの温度は、典型的には少なくとも1つのダイが上限温度閾値を満たすか又は超えるまで、性能が増加するにつれて増加する。これは次にスロットリングの必要性を促進する。場合によっては、記憶装置上のインフラストラクチャモジュール又は他のソースからの熱情報に応答して、ホスト装置によってスロットリングを開始することができる。従来、記憶装置は、ホスト装置からのコマンドに応答して、すべてのメタダイにわたってスロットリングを開始することができ、これは、新しい(I/O)コマンド、フォールドなどに応答し続ける一方で、ダイ内の許容可能な温度を回復する目的で、性能の意図的な低下である。
【0018】
上記の従来例では、各ダイ上の1つ以上のメモリ位置のページ又は他のグループ(「セット」)が、6つのダイにわたるメタブロック内の個別にアドレス指定可能なメタページを形成すると仮定される。更に、ダイ3の温度が上昇すると仮定する。ダイのうちの少なくとも1つが閾値を満たしたことをコントローラが(例えば、熱インフラストラクチャモジュールなどを介して)検出すると、ホストコントローラ又は記憶装置上のコントローラは、ダイ3の増加の通知に応答して、ダイ3のスロットリングを開始することができる。したがって、ダイ3上の温度上昇に起因して、ホスト又は記憶装置コントローラは、すべてのダイにわたるホスト書き込みの減速を開始する。これは、次に、ホスト書き込みの全体的な減速を引き起こし、ダイ3上の温度の冷却を可能にする。したがって、ダイ3上の温度上昇は、すべてのダイ上の書き込み性能を妨げる。例えば、ダイ3の温度が問題の動作(例えば、ホスト書き込み)の正常範囲に戻るまで、連続するホスト書き込み又は他のアクションの性能は、すべてのダイにわたって50%以上に低下し得る。場合によっては、ダイ3は、温度閾値を超える1つ以上のダイを含み得る。
【0019】
メモリ技術及び構成に応じて、開始されるスロットリングの量は、少なくとも1つのダイが、軽い性能、重い性能、もしくは極端な性能、又はそれらの間の何らかの尺度を横切ったかどうかに基づいて変化し得る。より高い温度では、関与するダイのうちの少なくとも1つの過剰温度に見合ったより遅い速度を使用するが、書き込み及び他の動作を実行し続けるために、より制限的なスロットリングが、従来、すべてのダイにわたって適用される。
【0020】
本発明者らは、過度又は極端な性能によって引き起こされる過剰な熱及び温度に直面して、書き込み及び他の入力/出力(I/O)動作又は内部再配置などを処理するための優れた方法を見出した。本明細書で説明する手法は、例えば、全体的な性能の劣化がはるかに少なく、全体的な書き込み性能がより高い。本開示の一態様では、温度閾値を満たすか又は超えるダイ(複数可)のいずれかの検出された温度上昇中に、メタブロック又はメタセットにわたる書き込みの全体的な減速の代わりに、コントローラは(ホストの命令で、又は独立して)、温度(複数可)が閾値を超えた特定のダイ(複数可)のみへの書き込みのみをスキップする。コントローラは、無効化されたダイ(複数可)の温度が通常動作温度、又は少なくとも許容可能な値に戻るまで、他のすべてのダイに対して、スロットリングなしで、全速で書き込み動作を実行し続ける。ダイ(複数可)の無効化中、残りのダイの性能は100%で利用され得る。ダイ(複数可)が復元された後、メタブロック(複数可)内のすべてのメタページを含めて、最大容量でのフル性能が復元され得る。
【0021】
図1は、例示的な実施形態による、ホスト装置104(「ホスト」とも称する)と通信する記憶装置102の例示的なブロック
図100を示す。ホスト104及び記憶装置102は、コンピュータシステム(例えば、サーバ、デスクトップ、モバイル/ラップトップ、タブレット、スマートフォンなど)などのシステムを形成することができる。
図1の構成要素は、物理的に並置されてもよく、又はされなくてもよい。この点に関して、ホスト104は記憶装置102から離れて配置されてもよい。
図1は、ホスト104が記憶装置102とは別個に示されていることを示しているが、他の実施形態におけるホスト104は、全体的に又は部分的に記憶装置102に統合されてもよい。代替として、ホスト104は、複数の遠隔エンティティにわたって、その全体として、又は代替として、記憶装置102内のいくつかの機能性とともに分散されてもよい。
【0022】
当業者であれば、他の例示的な実施形態が、
図1に示される要素よりも多い又は少ない要素を含むことができ、開示されたプロセスが他の環境で実装され得ることを理解するであろう。例えば、他の例示的な実施形態は、記憶装置102と通信する異なる数のホスト、又はホスト(複数可)と通信する複数の記憶装置102を含むことができる。
【0023】
ホスト装置104は、記憶装置102にデータを記憶し、及び/又は記憶装置102からデータを検索することができる。ホスト装置104は、例えば、コンピュータサーバ、ネットワーク接続記憶(NAS)ユニット、デスクトップコンピュータ、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、スマートフォンなどのモバイルコンピューティング装置、テレビジョン、カメラ、ディスプレイ装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング装置などを含む、任意のコンピューティング装置を含み得る。ホスト装置104は、少なくとも1つのプロセッサ101及びホストメモリ103を含み得る。少なくとも1つのプロセッサ101は、データを処理することができる任意の形態のハードウェアを含むことができ、汎用処理ユニット(中央処理ユニット(CPU)など)、専用ハードウェア(特定用途向け集積回路(ASIC)など)、デジタル信号プロセッサ(DSP)、構成可能ハードウェア(フィールドプログラマブルゲート配列(FPGA)など)、又はソフトウェア命令、ファームウェアなどによって構成される任意の他の形態の処理ユニットを含むことができる。ホストメモリ103は、ホストによって処理されるデータもしくは命令、又は記憶装置102から受信されるデータを記憶するために、ホスト装置104によって使用され得る。いくつかの例では、ホストメモリ103は、磁気メモリ装置、光メモリ装置、ホログラフィックメモリ装置、フラッシュメモリ装置(例えば、NAND又はNOR)、相変化メモリ(PCM)装置、抵抗性ランダムアクセスメモリ(ReRAM)装置、磁気抵抗ランダムアクセスメモリ(MRAM)装置、強誘電体ランダムアクセスメモリ(F-RAM)、及び任意の他のタイプの不揮発性メモリ装置などの不揮発性メモリを含み得る。他の例では、ホストメモリ103は、ランダムアクセスメモリ(RAM)、動的ランダムアクセスメモリ(DRAM)、静的RAM(SRAM)、及び同期動的RAM(SDRAM(例えば、DDR1、DDR2、DDR3、DDR3L、LPDDR3、DDR4など))などの揮発性メモリが挙げられ得る。ホストメモリ103はまた、一緒に統合されるか又は個別のユニットとして統合されるかにかかわらず、不揮発性メモリ及び揮発性メモリの両方を含み得る。
【0024】
ホストインターフェース106は、バス/ネットワーク108を介して記憶装置102をホスト104とインターフェースするように構成され、例えば、イーサネットもしくはWiFi、又は他の可能な候補の中でも特に、シリアルアドバンストテクノロジーアタッチメント(SATA)、PCIエクスプレス(PCIe)、スモールコンピュータシステムインターフェース(SCSI)、もしくはシリアルアタッチドSCSI(SAS)などのバス規格を使用してインターフェースし得る。あるいは、ホストインターフェース106は、無線であってもよく、例えば、セルラ通信(例えば、5G NR、4G LTE、3G、2G、GSM/UMTS、CDMA One/CDMA2000など)、アクセスポイントを介した無線配信方法(例えば、IEEE 802.11、WiFi、HiperLANなど)、赤外線(IR)、Bluetooth、Zigbee、又は他の無線広域ネットワーク(WWAN)、無線ローカルエリアネットワーク(WLAN)、無線パーソナルエリアネットワーク(WPAN)技術、又は同等の広域、ローカルエリア、及びパーソナルエリア技術を使用して、記憶装置102をホスト104とインターフェースしてもよい。
【0025】
記憶装置102は、メモリを含む。例えば、
図1の例示的な実施形態では、記憶装置102は、ホスト104から受信したデータを永続的に記憶するための不揮発性メモリ(NVM)110を含むことができる。NVM 110は、例えば、フラッシュ集積回路、NANDメモリ(例えば、シングルレベルセル(SLC)メモリ、マルチレベルセル(MLC)メモリ、トリプルレベルセル(TLC)メモリ、クアッドレベルセル(QLC)メモリ、ペンタレベルセル(PLC)メモリ、又はこれらの任意の組み合わせ)、又はNORメモリを含むことができる。NVM 110は、記憶装置102を動作させるためのシステムデータ、又は記憶装置102に記憶するためにホストから受信したユーザデータを記憶することができる複数のメモリ位置112を含むことができる。例えば、NVMは、n行及びm列を有するメモリ位置112の2-D NAND配列を含むクロスポイントアーキテクチャを有することができ、m及びnは、NVMのサイズに従って予め定義される。
図1の例示的な実施形態では、各メモリ位置112は、各々が複数のセル116の複数のブロックを含む複数のプレーンを含むダイ114であり得る。代替的に、各メモリ位置112は、セル116の複数のブロックを含むプレーンであり得る。セル116は、例えば、シングルレベルセル、マルチレベルセル、トリプルレベルセル、クワッドレベルセル、及び/又はペンタレベルセルであってもよい。メモリ位置112の他の例も可能である。例えば、各メモリ位置は、ブロック又はブロックのグループであってもよい。各メモリ位置は、3-D NAND配列内の1つ以上のブロックを含み得る。各メモリ位置112は、1つ以上の物理ブロックにマッピングされる1つ以上の論理ブロックを含んでもよい。あるいは、メモリ及び各メモリ位置は、当業者に知られている他の方法で実装されてもよい。
【0026】
記憶装置102は、例えば、動的ランダムアクセスメモリ(DRAM)又は静的ランダムアクセスメモリ(SRAM)を含むことができる揮発性メモリ118も含む。揮発性メモリ118に記憶されたデータは、NVM 110から読み出されたデータ又はNVM 110に書き込まれるデータを含むことができる。この点に関して、揮発性メモリ118は、データを一時的に記憶するための書き込みバッファ又は読み取りバッファを含むことができる。
図1は、揮発性メモリ118を記憶装置102のコントローラ123から離れているものとして示しているが、揮発性メモリ118はコントローラ123に統合されてもよい。他の実施形態では、1つ以上のファームウェアモジュールがコントローラに統合されてもよい。コントローラ123はまた、フラッシュ変換レイヤ(FTL)が実装される展開において、そのようなFTLに関連付けられた様々な機能を実行し得る。
【0027】
メモリ(例えば、NVM 110)は、ホスト装置104から受信したデータ119を記憶するように構成される。データ119は、メモリ位置112のうちのいずれかのセル116に記憶され得る。一例として、
図1は、異なるメモリ位置112に記憶されているデータ119を示すが、データは同じメモリ位置に記憶されてもよい。別の例では、メモリ位置112は異なるダイであってもよく、データは異なるダイのうちの1つ以上に記憶されてもよい。
【0028】
データ119の各々は、論理アドレスに関連付けられ得る。例えば、NVM 110は、各データ119を論理アドレスに関連付ける記憶装置102の論理-物理(L2P)マッピングテーブル120を記憶することができる。L2Pマッピングテーブル120は、ホスト104から書き込まれたデータに対して指定された論理アドレスと、各データが記憶されている位置(複数可)を示すNVM 110内の物理アドレスとのマッピングを記憶する。このマッピングは、記憶装置のコントローラ123によって実行することができる。L2Pマッピングテーブルは、データが記憶されるNVM内の各メモリ位置112に関連付けられた論理ブロックアドレス(LBA)などの識別子を含むテーブル又は他のデータ構造であってもよい。
図1は、
図1の概念を過度に曖昧にすることを回避するために、NVMのメモリ位置112のうちの1つに記憶された単一のL2Pマッピングテーブル120を示すが、L2Pマッピングテーブル120は、実際には、NVMの1つ以上のメモリ位置に記憶された複数のテーブルを含むことができる。
【0029】
NVM 110の破線で囲まれた領域は、コントローラ123及び熱マッピングテーブル141と通信するインフラストラクチャモジュール131を含む。インフラストラクチャモジュール131又はコントローラ123は、揮発性メモリ内の熱マッピングテーブル141内のダイ温度に関する情報を記憶してもよい。
【0030】
いくつかの構成では、インフラストラクチャモジュールは、すべてのダイ位置にわたって広がってもよいが、
図1の例を過度に不明瞭にすることを回避するために一部のみが示されている。インフラストラクチャモジュール131は、各ダイと熱連通してもよく、各ダイの温度をコントローラ123に中継してもよい。次に、コントローラは、いくつかの実装において所望される場合、このデータをホスト装置104に転送してもよい。他の構成では、コントローラは、例えばNVMの一部に記憶された予め設定された閾値を超えた1つ以上のダイに関してのみ温度データを転送してもよい。コントローラ123は、この情報を熱マッピングテーブル141に記憶することができる。
【0031】
図2は、ホスト装置から受信したデータ202の、
図1のNVM 110内の論理アドレス及び物理アドレスへのマッピングを示すL2Pマッピングテーブル205の一例の概念
図200である。データ202は、
図1のデータ119に対応してもよく、L2Pマッピングテーブル205は、
図1のL2Pマッピングテーブル120に対応してもよい。例示的な一実施形態では、データ202は、1つ以上のページ204、例えばページ1からxに記憶されてもよく、ここで、xは、NVM 110に書き込まれるデータのページの総数である。各ページ204は、論理ブロックアドレス(LBA)208、NVMに書き込まれたデータに関連付けられた物理アドレス210、及びデータの長さ212を識別するL2Pマッピングテーブル205の1つ以上のエントリ206に関連付けられてもよい。LBA 208は、ホスト装置から受信されたデータに対する書き込みコマンドにおいて指定された論理アドレスであってもよい。物理アドレス210は、LBA 208に関連付けられたデータが物理的に書き込まれるブロック及びオフセットを示すことができる。長さ212は、書き込まれたデータのサイズ(例えば4 KB又は何らかの他のサイズ)を示し得る。
【0032】
再び
図1を参照すると、揮発性メモリ118はまた、記憶装置102のためのキャッシュ122を記憶する。キャッシュ122は、ホスト104によって要求されたデータに対して指定された論理アドレスの、データが記憶されている位置(複数可)を示すNVM 110内の物理アドレスへのマッピングを示すエントリを含む。このマッピングは、コントローラ123によって実行され得る。コントローラ123は、データ119に対する読み出しコマンド又は書き込みコマンドを受信すると、各データの論理-物理マッピングについてキャッシュ122をチェックする。マッピングが存在しない場合(例えば、データに対する最初の要求である場合)、コントローラは、L2Pマッピングテーブル120にアクセスし、マッピングをキャッシュ122に記憶する。コントローラ123が読み出しコマンド又は書き込みコマンドを実行するとき、コントローラは、キャッシュからマッピングにアクセスし、指定された物理アドレスにおいてNVM 110からデータを読み出すか、又はNVM 110にデータを書き込む。キャッシュは、データが読み出されているNVM内の各メモリ位置112に関連付けられた論理アドレスを含むテーブル又は他のデータ構造の形態で記憶されてもよい。
【0033】
NVM 110は、各メモリ位置112に接続された感知増幅器124及びデータラッチ126を含む。例えば、メモリ位置112は、複数のビット線上のセル116を含むブロックであってもよく、NVM 110は、各ビット線上に感知増幅器124を含んでもよい。更に、1つ以上のデータラッチ126が、ビット線及び/又は感知増幅器に接続され得る。データラッチは、例えばシフトレジスタであってもよい。データがメモリ位置112のセル116から読み出されるとき、感知増幅器124は、ビット線上の電圧を論理レベル(例えば、「0」又は「1」として可読)に増幅することによってデータを感知し、感知されたデータは、データラッチ126に記憶される。次いで、データは、データラッチ126からコントローラ123に転送され、その後、データは、ホスト装置104に転送されるまで揮発性メモリ118に記憶される。データがメモリ位置112のセル116に書き込まれるとき、コントローラ123は、プログラムされたデータをデータラッチ126に記憶し、その後、データはデータラッチ126からセル116に転送される。
【0034】
記憶装置102は、命令を実行するための1つ以上のプロセッサ等の回路を含み、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲート配列(FPGA)、ハードワイヤード論理、アナログ回路、及び/又はそれらの組み合わせを含むことができる、コントローラ123を含む。
【0035】
コントローラ123は、読み出しコマンドに応答して、様々なメモリ位置112のセル116のうちの1つ以上から転送されたデータを受信するように構成される。例えば、コントローラ123は、セル116からデータラッチ126へのデータを感知するために感知増幅器124をアクティブ化することによってデータ119を読み出してもよく、コントローラ123は、データラッチ126からデータを受信してもよい。コントローラ123はまた、書き込みコマンドに応答してセル116のうちの1つ以上にデータをプログラムするように構成される。例えば、コントローラ123は、セル116にプログラムされるデータをデータラッチ126に送信することによって、データ119を書き込むことができる。コントローラ123は、セル116にデータを読み書きするときに、NVM 110内のL2Pマッピングテーブル120にアクセスするように更に構成される。例えば、コントローラ123は、ホスト装置104からの読み出し又は書き込みコマンドに応答して、NVM 110から論理-物理アドレスマッピングを受信し、コマンドにおいて識別された論理アドレスにマッピングされた物理アドレスを識別し(例えば論理アドレスを物理アドレスに変換し)、マッピングされた物理アドレスに位置するセル116内のデータにアクセス又は記憶することができる。
【0036】
コントローラ123及びその構成要素は、本開示全体にわたって説明されるコントローラの様々な機能を実行する埋め込みソフトウェアを用いて実装され得る。代替的に、前述の機能及び構成要素の各々を実装するためのソフトウェアは、NVM 110又は記憶装置102若しくはホスト装置104の外部のメモリに記憶されてもよく、コントローラ123の1つ以上のプロセッサによる実行のためにコントローラ123によってアクセスされてもよい。代替的に、コントローラの機能及び構成要素は、コントローラ123内のハードウェアで実装されてもよく、又は前述のハードウェア及びソフトウェアの組み合わせを使用して実装されてもよい。
【0037】
動作中、ホスト装置104は、1つ以上の論理アドレス(例えば、LBA)並びに書き込まれるデータの長さを指定する書き込みコマンドを記憶装置102に送信することによって、データを記憶装置102に記憶する。インターフェース要素106は、書き込みコマンドを受信し、コントローラは、データを記憶するために記憶装置102のNVM 110内のメモリ位置112を割り当てる。コントローラ123は、L2PマッピングをNVM(及びキャッシュ122)に記憶して、データに関連付けられた論理アドレスを、データに割り当てられたメモリ位置112の物理アドレスにマッピングする。コントローラはまた、L2Pマッピングされたデータの長さを記憶する。次に、コントローラ123は、割り当てられたメモリ位置に接続された1つ以上のデータラッチ126にデータを送信することによって、メモリ位置112にデータを記憶し、そこからデータがセル116にプログラムされる。
【0038】
ホスト104は、記憶装置102から検索されるデータに関連付けられた1つ以上の論理アドレス、並びに読み出されるデータの長さを指定する読み出しコマンドを送信することによって、記憶装置102からデータを検索してもよい。インターフェース106は、読み出しコマンドを受信し、コントローラ123は、キャッシュ122又はNVM内のL2Pマッピングにアクセスして、読み出しコマンドで指定された論理アドレスを、データの位置を示す物理アドレスに変換する。次に、コントローラ123は、読み出されたデータがホストインターフェース106を介してホスト104に返されるまで、感知増幅器124を使用してデータを感知し、それらをデータラッチ126に記憶することによって、物理アドレスによって指定されたメモリ位置112から要求されたデータを読み出す。
【0039】
図3は、セル302のNANDメモリ配列300の一例を示す。セル302は、
図1のNVM 110内のセル116に対応し得る。複数のセル302は、ワード線304及びビット線306に結合される。例えば、メモリ配列300は、NVM 110のダイ114のブロック内にn個のワード線及びm個のビット線を含むことができ、ここでn及びmはブロックのサイズに従って予め定められる。各ワード線及びビット線は、行アドレス及び列アドレスにそれぞれ関連付けられてもよく、コントローラ123は、行アドレス及び列アドレスを使用して、特定のワード線及びビット線を選択してもよい(例えば、行デコーダ及び列デコーダを使用して)。例えば、ワード線0-nはそれぞれ、それら自身の行アドレスに関連付けられてもよく(例えば、ワード線0はワード線アドレス0に対応してもよく、ワード線1はワード線アドレス1に対応してもよい、など)、ビット線0-mはそれぞれ、それら自身の列アドレスに関連付けられてもよい(例えばビット線0はビット線アドレス0に対応してもよく、ビット線1はビット線アドレス1に対応してもよい、など)。選択ゲートソース(SGS)セル308及び選択ゲートドレイン(SGD)セル310は、各ビット線306上のメモリセル302に結合される。SGSセル308及びSGDセル310は、メモリセル302をソース線312(例えば、接地)及びビット線306にそれぞれ接続する。ストリング314は、ブロック内の1つのビット線に結合されたセル302のグループ(SGSセル308及びSGDセル310を含む)を含むことができ、ページ316は、ブロック内の1つのワード線に結合されたセル302のグループを含むことができる。
【0040】
図4は、
図1の記憶装置におけるメモリセルの配列の一例を示す概念
図400である。この例における各ダイ402、404、406、及び408は、それぞれのフラッシュインターフェースモジュール(FIM 0、FIM 1、FIM 2、FIM 3)に関連付けられ得る。したがって、この図では合計4つのダイが示されているが、その数は2つ以上の任意の数であってもよい。FIM 0のダイ0 402は、ページ、グループ、セット又は記憶位置(複数可)402-0、402-1、402-2、402-3、402-4、402-5などを含む。同様に、FIM1のダイ0 404は、ページ、グループ、セット又は記憶位置(複数可)404-0~404-5などを含んでもよい。FIM 2のダイ0 406は、ページ、グループ、セット又は記憶位置(複数可)406-0~406-5などを含み得る。FIM 3のダイ0 408は、ページ、グループ、セット、又は記憶位置(複数可)408-0~408-5などを含んでもよい。この例では、FIM 0のダイ0上の指定行N-1 435によって示されるように、合計N個のそのようなページ、グループ、セット、又は記憶位置(複数可)が存在する。
【0041】
ページ、グループ、セット、又は記憶位置(複数可)のうちの各1つ以上は、対応するページ、グループ、セット、又は記憶位置(複数可)(以下、「グループ」、「セット」、又は「メモリ位置」と呼ぶことがある)に関連付けられている。例えば、402-0、404-0、406-0及び408-0は、同時にアドレス指定可能なメタページ又はメタデータセットを形成することができる。同様に、402-1、404-1、406-1、及び408-1は、個別にアドレス指定可能なメタページを形成することができ、メモリ位置421N-2を含む最後から2番目のメタページ、及び最後のメタページ又はメタセット423N-1まで同様である。本開示の範囲から逸脱することなく、異なるアドレス指定方式、ダイの異なる数及び/又は配置、異なるFIMなどを含む他の構成が可能であることが理解されよう。402-3、404-3、406-3及び408-3に対応するメモリ位置は、最大データ幅として同時にアドレス指定可能であり得るが、様々な構成では、メモリ位置のより小さい部分又はチャンクがアドレス指定可能であり得る。したがって、任意の所与のメタセット(例えば、423N-1)は、場合によっては、データ位置の総量の最小部分を使用して書き込まれてもよい。
【0042】
本開示の目的のために、文脈から別様に明白でない限り、「メモリ位置」及び「メモリ位置(複数)」という用語は、互換的に使用され得る。この定義は、メモリセルを説明するために使用される他の命名法を含む。なぜなら、単一の位置は、例えば、単一のビット、又は一連のビットのいずれかであり得るからである。
【0043】
異なる行0-Nに対応する異なるテクスチャからわかるように、セット402-0は、セット404-0、406-0、及び408-0と同じアドレス指定可能なメタセット内にあってもよい。個々のメタページ又はメタセットを識別するために、同様のテクスチャが本明細書で説明される。一実施形態では、コントローラ123は、セット402-0から408-0(1つのメタページ又はメタセット)への同時書き込み動作で始まり、次いで、セット402-1から408-1によって定義されるメタページへの次の書き込み、及び順次以降、各メタページで複数の連続ホスト書き込みを実行するプロセスにあってもよい。4番目のメタページに達する前に、コントローラは、例えば、FIM 2におけるダイ0が最大温度を超えたことを検出することができる。いくつかの実施形態では、最高温度の複数の異なる段階が使用される。温度がFIM 2上で過剰であることをコントローラが検出すると、コントローラ123は、FIM 2におけるダイ0への書き込みを完全に終了する。しかしながら、コントローラ123は、1回の書き込み動作で残りのメモリ位置402-4、404-4、及び408-4に(スロットリングなしで)最大速度で書き込みを続ける。次いで、コントローラ123は、メモリ位置402-5、404-5及び408-5へのホスト書き込みを実行することができる。コントローラは、ダイ0への書き込みをスキップする(すなわち、メモリ位置406-4及び406-5に書き込まない)ことを除いて、最大速度で連続する書き込みを実行し続けることができる。
【0044】
引き続き
図4を参照すると、他のダイ402、404、及び408は、ダイ406の温度が許容可能な動作範囲に低下したとコントローラ123が決定する時間に達するまで、それらの最大性能で利用され得る。そのとき、コントローラは、再配置動作などの書き込みを実行して、メモリ位置(セット)406-4及び406-5にデータを投入することができる。
【0045】
要するに、許容温度を超える任意の1つ以上のダイの観察された温度上昇の間、メタページ(メタブロックとも呼ばれることがある)全体にわたる書き込みの減速をもたらす代わりに、コントローラは、それらの特定のダイに(複数可)対応する書き込みのみをスキップする。一方、残りのダイの性能は遅くならず、100%利用される。スキップされたダイ(複数可)が動作温度範囲内に戻ると、コントローラは、全てのメタページを最大速度及び最大容量で利用することに進んでもよい。
【0046】
本発明者らは、温度が下がるまで、他のダイをスロットリングすることなく、熱エージング(過温度)ダイ406が完全にスキップされる、前述の実施形態及びそのような実施形態が、従来の手法に対して著しい利点を有することを観察した。例えば、4ダイメタページを有する記憶装置を参照して以下で更に説明されるように、性能の75%の増加が達成され得る(4つのダイのうちの3つは完全に動作可能なままである)。メタページの数又は配列が増加するにつれて、90%を超えるより高い性能スループットが、本明細書で説明される原理を使用して可能である(例えば、
図8参照)。これらのスループットは、メタページ内のすべてのダイが遅くなる従来のスループットを上回る。
【0047】
本明細書で説明される技法の別の利点は、ほとんどの構成において、追加のハードウェアを必要とせずに、変更が最小限のファームウェアオーバーヘッドのみを使用することである。これは、ひいては、潜在的に著しいスループットの増加を達成しながら、著しいコスト削減をもたらし得る。更に別の利点として、その特定のダイに対する書き込み(I/O動作)がオフにされるので、ダイ温度の早期冷却を行うことができる。したがって、ダイは、従来の手法よりも通常の動作温度に戻る可能性が高い(後者は、熱的にエージングされたダイに書き込みを継続し、その結果、ダイは、より低いレートであっても熱を発生し続ける)。
【0048】
いくつかの実施形態では、
図1のインフラストラクチャモジュール131は、各ダイ上に含まれ、各ダイと熱連通している。温度情報がコントローラ123に提供されると、コントローラは、揮発性メモリ内の熱マッピングテーブル141に熱マッピングデータを記憶することができる。他の実施形態において、熱マッピングテーブルは、NVMに追加的に又は代替的に維持されてもよい。インフラストラクチャモジュールのアーキテクチャはまた、すべて本開示の範囲から逸脱することなく、メモリ構成及びタイプに応じて変化し得る。いくつかの実施形態では、コントローラは、ホストプロセッサ101に過剰温度を通知してもよく、その場合、それらの実施形態では、ホスト装置104上のホストプロセッサ101は、1つ以上のダイ上でダイシャットダウンを開始してもよく、又は性能を修正するためのより一般的なコマンドを提供してもよい。次いで、ダイ上のコントローラ123は、ホスト装置104から命令を受信し、上述した方法で命令を実装することができる。
【0049】
図5は、一実施形態による選択的熱無効化のためのステップの一例を示す流れ
図500である。
図5のステップは、例えば、コントローラ123(
図1)によって実行され得る。コントローラは、FTL又はファームウェアによって指定されたステップを実行することができる。ブロック502において、シーケンスは、コントローラ123における制御によって開始することができる。最初にブロック504を参照すると、ソリッドステートドライブ、又はフラッシュメモリ、コンパクトフラッシュ、及び他の形態のNVMなどの記憶装置が、ホスト装置からの着信読み取り及び書き込みを処理し、MLCの場合には任意のフォールディングを実行するプロセスにあると仮定される。
【0050】
その結果、ブロック506を参照すると、ダイのインフラストラクチャモジュール131が、例えばダイKの動作温度が過剰であることを感知したと仮定される。例えば、それは定義された閾値量を満たすか又は超える。インフラストラクチャモジュールは、別のダイに関する同様の情報を感知することができる。様々な実施形態では、過度の温度を感知した後、ブロック508において、インフラストラクチャモジュールは、例えばFTLを介して、熱構成の変化をコントローラ508に通知し得る。
【0051】
引き続き
図5を参照すると、ブロック510に示すように、コントローラは、熱マッピングテーブル141内のインフラストラクチャモジュールから受信した温度情報を更新することができる。また、
図5のブロック512を参照して示されるように、コントローラ123は(FTL又はその他を介して)、上述した方法で、他のダイ(例えば、他のメモリ位置)への全容量書き込みを維持しながら、影響を受けるダイKへの書き込みをスキップすることを含む選択的書き込みを処理し始めてもよい。インフラストラクチャモジュールは、構成に応じて異なることがあり、例えば、ダイ温度を感知するように構成された単純な回路として実装され得ることに留意されたい。
【0052】
様々な実施形態では、コントローラは、例示的なダイKの温度の状態を定期的に又は連続的にチェックして、それが依然として過剰であるかどうかを決定することができる。このチェックは菱形514によって示されている。温度が過度のままである場合、制御はボックス512に戻り、コントローラは、ダイ(複数可)K(例えば、複数のダイを横断するより大きなメタセット又はメタページの一部であるメモリ位置又はそのセット)への書き込み又は他のI/O又は内部動作を無効にしながら(書き込み又は他の動作をスキップしながら)、全能力で書き込み又は他のI/O又は内部動作を実行し続ける。個々にアドレス指定することができるメタセット又はメタページを含む複数のダイを、本明細書で説明する原理と一致する方法で使用することもできる。
【0053】
菱形514において、ダイ(複数可)Kが正常動作範囲に戻ったとコントローラが決定した場合、コントローラは、ダイK(複数可)を完全機能性に戻してもよい。様々な実施形態では、ブロック516に示すように、コントローラは、熱マッピングテーブルを更新することによってダイK熱情報をリセットすることができる。同時に又はその後に、コントローラ123は、(FTLなどを介して)正常に書き込みを処理することに戻ることができる。この変更は、所与のメタダイ内の全てのダイにおける全てのセットへのホスト書き込みを同時に実行することを伴い得る。この変更はまた、様々な実施形態において、
図9を参照して以下で更に説明されるように、ダイKが無効化されている間にスキップされたダイK内の空き位置へのデータの再配置を実行することを伴い得る。プロセスはブロック520で終了してもよい。
【0054】
当業者であれば、本開示を検討すると、
図5の一連のイベントは、様々な実施形態において異なる順序で行われ得ることを理解するであろう。例えば、いくつかの実施形態では、コントローラは、ブロック510及び512のステップを同時に実行してもよい。他の実施形態及び変形例も可能である。スキップされたダイ(複数可)Kを除いて、性能のスロットリングは実施されない。
【0055】
要するに、
図5に示されるように、ホスト書き込み又は順次持続書き込み(SSW)中に、少なくとも1つのダイの温度が過剰になるときはいつでも、インフラストラクチャモジュールはFTLレイヤにそれを通知する。FTLを介してコントローラによって受信されたメッセージに基づいて、コントローラは、複数のメタダイ(1つ以上のメタダイの場合)のうちのどのメタダイ(複数可)(例えば、複数のダイ)が問題であり、その複数の中のどのダイ(複数可)が過度の温度を有するかを理解することができる。いくつかの実施形態では、1つ以上のダイが過剰温度を有することが検出され、その場合、対象ダイへの書き込みはスキップされるが、対象の複数のダイを横断する過剰温度を有するメタダイ(そのメタダイ内のメタセット、メタページ、メタブロックなどを含む)内の他のダイに対して完全な性能が維持される。1つ以上のメタダイグループが影響を受ける場合、コントローラは、複数のメタダイに対して同じ機能のセットを実行して、過剰温度を有するそれらのダイを無効にすることができる。
【0056】
ダイ(NAND、NOR、SSD、フラッシュなど)の大きな配列を含む様々な実施形態において、コントローラ123は、複数のコントローラを含んでもよく、それらの各々は、上述の動作を実行するために互いに協調してもよい。このように、本開示の原理は、任意のサイズ及び複雑さのメタダイに適用することができる。
【0057】
本開示の別の態様では、コントローラがホスト書き込みデータブロック(例えば、メタセットのうちの1つの上の位置(複数可))を閉じた後、コントローラは、メタダイのメタセットの以前にスキップされたセット/ブロックにデータを再配置するように構成され得、他の利点の中でも特に、最適な読み取り性能を実現する。様々な実施形態では、この一連のステップを実施するために、熱再配置状態機械を使用して、過剰な温度(複数可)のためにより少ない数のダイ(複数可)が書き込まれたブロック又はメタセットにデータを再投入することができる。このようにして、ホスト読み出しは、メタページ全体にデータを含むように最大化され得る。
【0058】
これらの実施形態では、ビットマップは、NVM内の熱マッピングテーブルと共にログテーブル内で取得されてもよく、揮発性メモリ内にキャッシュされてもよい(又はその両方)。ビットマップは、熱マッピングテーブルの一部であってもよいし、別個であってもよい。ログテーブル内のビットマップは、いくつかの例では、NVM内のL2Pマッピングテーブルに含まれてもよく、又は隣接してもよい。ビットマップはまた、SLC又はMLC(例えば、TLC、QLC、PLC等)メモリアーキテクチャに関連して使用されてもよい。ビットマップは、例えば、閉じたSLCブロックが熱情報(過剰未満)に起因して再配置動作の候補になると、その優先度が読み出しスクラブ(RS)よりも低く、静的再配置よりも高くなるように取得されてもよい。優先度レベルは、設計に基づいて変化し得る。
【0059】
図6は、一実施形態による、再配置中の選択的熱無効化のためのステップの一例を示す流れ
図600である。
図6では、ダイKの温度が正常動作範囲内に戻ったと仮定することができる。ブロック602から開始して、SSDなどの記憶装置は、メタページ全体へのアクセスを用いて、通常規定されるような読み取り及び書き込みの処理に戻ることができる。
【0060】
ブロック606を参照すると、コントローラは、再配置が推奨されるか又は必要であるかを決定することができる。再配置タイプの例は、メモリアーキテクチャに応じて、例えば、SLC再配置、RS再配置、熱再配置、SLC-SLC静的再配置、SLC-SLC動的再配置、SLC-QLCフォールド、QLC-QLC静的再配置、QLC-QLC動的再配置などを含んでもよい。再配置の必要なタイプ及びそれに関連する優先順位を決定すると、コントローラは、ビットマップ、ログテーブル、及び熱マッピングテーブルのうちの1つ以上を介して決定された優先順位など、それぞれの再配置を処理するための動作を実行する。
【0061】
それぞれの再配置動作を実行した後、コントローラは、菱形610などにおいて、再配置動作のいずれかが熱動作であったかどうかを決定するように構成されてもよく、それにより、例えば、スキップされたダイK上のメモリ位置が充填された。そうでない場合、制御はブロック614において終了し得る。逆に、熱再配置が発生した場合、ブロック612において、熱マッピングテーブル及び/又はビットマップをそれぞれ更新して、熱読み出し位置を考慮することができる。
【0062】
要するに、本開示のこの態様はまた、読み出し性能を向上させる。ダイKが過度の温度に起因して無効化された
図5の例では、従来、ホスト読み出し命令が受信された場合、データは、4つのFIMではなく3つのFIMから読み出され、これは読み出し性能に影響を与える。
図6の実施形態では、熱再配置は、スキップされたダイ(複数可)上のメモリ位置を全容量で投入することができる。メタダイの同じセット上の任意のホスト読み出しは、ホストが3つではなく4つのFIM(この例では4つのダイ)からデータを受信することになる。したがって、ホスト書き込みデータブロックを閉じた後、無効化されたダイ(複数可)は、性能を最大化するために、後続のホスト読み出し中に4つのFIMを介して読み出すために利用可能にするように、できるだけ早く再配置され得る。
【0063】
図7は、時間及び温度の関数として従来のNANDベースのソリッドステートドライブ(SSD)の性能を示す例示的なグラフ700である。NANDベースのSSDの詳細が例示的な目的で説明されるが、他のメモリアーキテクチャが同様の挙動を示し得る。
図7の目的は、従来のスロットリングを使用した場合の性能の低下を示すことである。
図7を参照すると、右上の凡例によって説明されているように、2つのプロットが示されている。そのために、右側の縦軸は、摂氏温度に対応する。この縦軸は、実線であるSMART温度(C)データプロットに特に適用可能である。右側の縦軸は、メガバイト/秒(MBps)単位の記憶装置性能(すなわち、書き込み速度)に対応し、凡例内のドライブ性能(MBps)と表記された破線プロット線に向けられている。横軸は秒単位の時間を示し、両方のプロットに適用される。
【0064】
様々なイベントがグラフ上で780、782及び784で発生し、以下で説明する。約30℃から70℃のすぐ下までの範囲の最初の低温及び常温において、約72 MBpsまでのより高い性能を得ることができる。イベント780において、ダイのうちの1つにおいて温度が70℃に達すると、ホストは、メタダイのすべてのダイの初期スロットリングを開始することができ、コントローラ123は、それに応答して、メタダイのすべてのダイの初期スロットリングを実行することができる。この初期スロットリングは、すべてのダイの書き込み速度が約57 MBps近くまで低減されるので、性能の第1のダウングレード(例えば、TMT1への)に対応する。ホスト書き込みが第1の低減されたレートで継続するにつれて、温度は上昇し続ける可能性がある。
【0065】
更に
図7を参照すると、イベント782において、コントローラは、対象メタダイ内のダイのうちの少なくとも1つの温度が85℃を超えたことを決定する。したがって、スロットリングは、次のグラデーション(例えば、ETT)によって増加され、すべてのダイにわたる書き込み速度が40 MBps未満に減少すると、はるかに大きい性能ヒットが生じる。最後に、90℃のすぐ下の786でのピーク温度によって示されるように、温度は最終的に低下し始める。温度が約80~85℃に低下すると、コントローラは、TMT1へのスロットリングを減少させることができ、この例における書き込み速度性能は、約60 MBpsのすぐ下まで増加する。
【0066】
要するに、通常温度の間、NAND速度は約75 MBpsでさえある。約90℃の高温の間、性能は、最悪の場合に50%低下する可能性があり、これは、すべてのダイにわたる影響であり、従来の方法を使用する全体的な性能低下が約50%であることを意味する。
【0067】
図8は、一実施形態による、異なる容量の3つの例示的な記憶装置802-1、804-2、及び804-4を示すブロック
図800である。
図8は本質的に例示的なものである。異なるメモリアーキテクチャにわたって、異なる数のアドレス指定可能なダイ及び異なる容量が等しく可能である。左側の記憶装置802-1は、1つのメタダイ802のNVMを含む。1つのメタダイ802は、この例では、F0 D0、F1 D0、F2 D0、及びF3 D0を含む4つのダイに対応する。左側のメタダイ802は、512 GBの記憶装置に対応し得る。各行における同一のテクスチャ(又はその不在)は、ダイのうちの異なるダイ上で行われ得る同時入力/出力(I/O)動作を表す。この例では、総数のメタページ802 a~802 eが利用可能である。様々な実装形態では、個々のダイD0への書き込み、又はダイD0の部分への書き込みが可能である。
【0068】
記憶装置804-2は、例示の目的で、2つのメタダイ804を含む1テラバイト(TB)装置を指し得る。2つのメタダイ802は、別々にアドレス指定可能なメタページ804 a~804 jの配列内に配置される。記憶装置804-2の2つのメタダイ804は、各メタダイ上に4つのダイを有する合計8つのダイを含む。記憶装置804-4は、4つのメタダイ806を含む2テラバイト(TB)装置を指してもよい。アドレス指定可能なメタページは、メタページ806a~806tを含むことができる。記憶装置804-4は、4つのメタダイ806の各メタダイに対して4つのダイの合計16個のダイを含む。
【0069】
図8の例示的な実施形態では、
図7を参照して説明した従来のスロットリングとは対照的に、はるかに高い書き込み性能を達成することができることに注目すべきである。一例として、記憶装置802-1を参照すると、ダイF1 DOが5つすべての行802 a~3上で無効にされると仮定すると、他の3つのダイがフルホスト書き込み容量で動作しているので、3/4又は75%の総スループット性能が依然として達成され得る。次に記憶装置804-2の例を参照すると、ダイF1 D1が過度の温度を有し、5つのメタページ804 f~j全体にわたって無効にされると仮定すると、他の7つのダイを全容量で動作させることによって、7/8すなわち87.5%の総スループット性能が依然として達成可能である。残りの例示的な記憶装置804-4を参照すると、同様に、ダイF2 D3が5つすべてのメタページ806 p~tについて無効にされると仮定すると、全容量で動作する残りの15/16ダイは、本開示の原理を使用して93.7%のスループットを達成することができる。これは、極端な温度においても当てはまる。
【0070】
要するに、75%(1つのメタダイ容量)~93%(4つのメタダイ容量)の全スループットの範囲が、示される例示的装置上で得られることができる。より多数のメタダイを含む他の構成では、更に高い性能が可能であり得る。これらの性能は、最小限のファームウェアオーバーヘッドで、一般に追加のハードウェアなしに実装することができる。更に、述べたように、ダイ(複数可)が動作不能にされ、その結果、たとえあったとしても多くの熱を独立して放散しないので、動作不能にされたダイ(複数可)は、より早い冷却を正確に期待することができる。したがって、特定のダイ(単数又は複数)のターンオフ又は不能時間は、時間においてはるかに短くすることができ、その後、それ/それらを再アクティブ化することができる。更に、いくつかの実施形態では、ホスト読み出し性能を最大化するために、データは、不能ダイ(複数可)のスキップされたメモリ位置に再配置され得る。その後の読み出しは、一度に受信される最大量のデータの利益を得ることができる。
【0071】
図9は、スキップされたダイ上の温度が許容可能な熱動作範囲に戻った後のデータ再配置の別の例を示すブロック
図900である。
図9は、例示的なメタブロック970を示す。メタブロック970は、WL0からWL127までの128本のワード線(WL)を含む。メタブロック970は、次いで、4つのダイ-F0 D0、F1 D1、F2 D2、及びF3、D3を含む。この例示的な実施形態では、WL 0~2への完全なホスト書き込みの後、コントローラは、インフラストラクチャモジュールからダイF2 D0上の過剰温度を検出し、残りの3つのダイの各々に対するWL3からWL 127までの一連のホスト書き込み(例えば、SSW)をスロットリングなしで全容量で継続しながら、ダイF2 D0を無効にすると仮定する。全容量は、F2 D0が無効にされる前に行われた書き込みと同じ容量であってもよく、より単純には、記憶装置上の書き込みの100%容量であってもよい。
【0072】
ダイF2 D0上の過剰な温度に起因して、メモリ位置WL 3~WL 127からダイF2 D0を無効にしながら、全容量で順次書き込みを行った後、コントローラは、温度が動作範囲内に低下すると、データをダイF2 D0に再配置することを決定し得る。
図9の右側は、再配置が行われた後のメタブロック970を示す。メタブロック内のすべてのダイがデータで満たされるので、後続のホスト読み取りの効率が向上する。全体的な性能が向上する。
【0073】
本開示の様々な態様は、当業者が本発明を実施することを可能にするために提供される。本開示全体にわたって提示される例示的な実施形態に対する様々な修正は、当業者には容易に明らかになり、本明細書で開示される概念は、他の磁気記憶装置に拡張され得る。したがって、特許請求の範囲は、本開示の様々な態様に限定されるものではなく、特許請求の範囲の文言と一致する全範囲が与えられるべきである。当業者に知られている、又は後に知られるようになる、本開示全体にわたって説明される例示的な実施形態の様々な構成要素に対するすべての構造的及び機能的等価物は、参照により本明細書に明示的に組み込まれ、特許請求の範囲によって包含されることが意図される。更に、本明細書で開示されるものは、そのような開示が特許請求の範囲に明示的に記載されているかどうかにかかわらず、公衆に捧げられることを意図されていない。請求項の要素は、要素が「のための手段」という句を使用して明示的に記載されていない限り、又は方法請求項の場合、要素が「のためのステップ」という句を使用して記載されていない限り、米国における米国特許法第112条(f)の規定、又は別の管轄区域における類似の法令もしくは法の規則の下で解釈されるべきではない。
【手続補正書】
【提出日】2024-07-01
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
記憶装置であって、
各々が複数のメモリ位置を備える複数のダイであって、各ダイからの対応するメモリ位置は、複数のアドレス指定可能グループが前記複数のダイを横断するようにアドレス指定可能グループを形成する、複数のダイと、
前記ダイの各々と熱連通するコントローラであって、
順次ホスト書き込みを実行している間に前記ダイのうちの少なくとも1つのダイ上の過剰温度を検出し、
前記アドレス指定可能グループのうちの1つ以上に対応する前記他のダイの前記メモリ位置への書き込みを実行し続けながら、前記少なくとも1つの検出されたダイへのすべての書き込みを無効化し、
前記温度が閾値未満に低下したとき、前記少なくとも1つの検出されたダイへの書き込みを再アクティブ化するように構成される、コントローラと、を含む、記憶装置。
【請求項2】
前記コントローラは、前記少なくとも1つの検出されたダイが無効にされている間、最大容量で前記他のダイへの前記ホスト書き込みを実行し続けるように構成される、請求項1に記載の装置。
【請求項3】
前記コントローラは、前記少なくとも1つの検出されたダイが無効にされている間、前記他のダイをスロットリングすることなく、前記他のダイへの前記ホスト書き込みを実行し続けるように構成される、請求項1に記載の装置。
【請求項4】
前記コントローラに熱情報を通信するように構成されたインフラストラクチャモジュールを更に備え、前記インフラストラクチャモジュールは、前記過剰温度を有する前記少なくとも1つのダイを識別する、請求項1に記載の装置。
【請求項5】
前記コントローラが、
前記少なくとも1つの検出されたダイへの前記書き込みを無効にするために、フラッシュ変換レイヤ(FTL)において機能を実行するように構成される、請求項
1に記載の装置。
【請求項6】
前記コントローラが、
熱マッピングテーブル内の前記少なくとも1つの検出されたダイの熱情報を更新するように更に構成される、請求項1に記載の装置。
【請求項7】
前記コントローラは、前記温度が前記閾値未満に低下したときに前記熱マッピングテーブルを更新するように更に構成される、請求項
6に記載の装置。
【請求項8】
前記コントローラは、熱書き込み不能動作に
応答する再配置に応答して、前記再配置を実行し、前記熱マッピングテーブルを更新するように構成される、請求項
6に記載の装置。
【請求項9】
前記コントローラは、前記更新された熱マッピングテーブルに基づいて、アングレースフルシャットダウン(UGSD)イベント後のリカバリにおいてラストグッドページ(FLGP)発見アクションを実行するように構成される、請求項
8に記載の装置。
【請求項10】
記憶装置であって、
メモリ位置のnセットを各々が含む複数のダイであって、各ダイからの前記nセットのうちの対応する1つは、nメタセットのうちの1つのメタセットを形成するように互いに結合され、各メタセットは、ホスト入力/出力(I/O)動作の最大アドレス指定可能単位を含む、複数のダイと、
前記ダイの各々と熱連通するコントローラであって、
ホスト書き込みのシーケンスを実行している間に、前記ダイのうちの少なくとも1つのダイ上の過剰温度を検出し、
前記n個のメタセットのうちの前記対応する1つ以上の中の前記他のダイへの前記ホスト書き込みを継続しながら、前記検出された少なくとも1つのダイへのすべての書き込みを無効にし、
前記温度が閾値未満に低下したとき、前記検出された少なくとも1つのダイへの書き込みを再アクティブ化するように構成される、コントローラと、を含む、記憶装置。
【請求項11】
前記コントローラは、前記少なくとも1つの検出されたダイが無効にされている間、全容量で前記他のダイへの前記ホスト書き込みを実行し続けるように構成される、請求項10に記載の装置。
【請求項12】
前記コントローラは、前記少なくとも1つの検出されたダイが無効にされている間、前記他のダイをスロットリングすることなく前記他のダイへの前記ホスト書き込みを実行し続けるように構成される、請求項10に記載の装置。
【請求項13】
前記少なくとも1つの検出されたダイの不能状態の間、前記コントローラは、前記nメタセットのうちの1つ以上内の他のダイ上の前記他のセット内のメモリ位置へのスロットリングなしにホスト書き込みを実行しながら、前記少なくとも1つの検出されたダイに対応する前記セット内の前記メモリ位置への書き込みを不能にするように構成される、請求項10に記載の装置。
【請求項14】
前記コントローラに熱情報を通信するように構成されたインフラストラクチャモジュールを更に備え、前記インフラストラクチャモジュールは、前記過剰温度を有する前記少なくとも10つのダイを識別する、請求項10に記載の装置。
【請求項15】
前記コントローラが、熱マッピングテーブル内の前記少なくとも1つの検出されたダイの熱情報を更新するように更に構成される、請求項14に記載の装置。
【請求項16】
前記コントローラは、前記温度が前記閾値未満に下がったときに
前記熱マッピングテーブルを更新するように更に構成される、請求項15に記載の装置。
【請求項17】
記憶装置であって、
複数の選択的にアドレス指定可能なページのうちの1つを形成するメモリ位置を各々備える複数のダイと、
前記複数のダイの各々に結合されたコントローラであって、
1つ以上のページへのホスト書き込み動作を実行し、
前記ダイのうちの少なくとも1つにおける過剰温度を検出し、
前記検出に応答して、前記他のダイの前記メモリ位置への書き込みを実行し続けながら、前記検出された少なくとも1つのダイへのすべての書き込みを無効にし、
前記温度が閾値未満に低下したとき、前記検出された少なくとも1つのダイへの書き込みを再アクティブ化するように構成される、コントローラと、を含む、記憶装置。
【請求項18】
前記コントローラが、前記過剰温度の前記検出の前と同じ書き込み速度で前記他のダイの前記メモリ位置への書き込みを実行し続けるように更に構成される、請求項17に記載の装置。
【請求項19】
前記コントローラが、スロットリングなしに前記他のダイの前記メモリ位置への書き込みを実行し続けるように更に構成される、請求項17に記載の装置。
【請求項20】
前記コントローラが、前記1つ以上のページ内の前記他のダイへの前記書き込みと同じ速度で前記検出されたダイへの前記書き込みを再アクティブ化するように更に構成される、請求項17に記載の装置。
【国際調査報告】