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

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

▶ ウェスタン デジタル テクノロジーズ インコーポレーテッドの特許一覧

特表2024-538305記憶デバイス熱負荷に基づく制御されたシステム管理
<>
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図1
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図2
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図3A
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図3B
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図4
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図5
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図6
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図7
  • 特表-記憶デバイス熱負荷に基づく制御されたシステム管理 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-18
(54)【発明の名称】記憶デバイス熱負荷に基づく制御されたシステム管理
(51)【国際特許分類】
   G06F 12/06 20060101AFI20241010BHJP
   G06F 12/00 20060101ALI20241010BHJP
【FI】
G06F12/06 515H
G06F12/00 550K
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024525717
(86)(22)【出願日】2023-04-04
(85)【翻訳文提出日】2024-04-30
(86)【国際出願番号】 US2023017435
(87)【国際公開番号】W WO2023196315
(87)【国際公開日】2023-10-12
(31)【優先権主張番号】17/714,863
(32)【優先日】2022-04-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】504056130
【氏名又は名称】ウェスタン デジタル テクノロジーズ インコーポレーテッド
(74)【代理人】
【識別番号】100207837
【弁理士】
【氏名又は名称】小松原 寿美
(72)【発明者】
【氏名】ホーディス、アヴィチャイ ハイム
(72)【発明者】
【氏名】ハーン、ジュダ ガムリエル
(72)【発明者】
【氏名】バザルスキー、アレクサンダー
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160AA14
5B160MM01
5B160MM15
5B160NA01
(57)【要約】
記憶システムは、2つ以上のデータ記憶デバイスと、2つ以上のデータ記憶デバイスに結合されたコントローラとを含む。2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスは、ゾーンネームスペース(ZNS)アーキテクチャを含む。コントローラは、2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスについて熱統計を収集し、収集された熱統計を分析し、分析された収集された熱統計に基づいて、2つ以上のデータ記憶デバイスのうちの少なくとも1つのデータ記憶デバイス内の1つ以上のダイを選択することによってゾーンを指定するように構成されている。データ記憶デバイスは、複数のダイを有するメモリデバイスと、メモリデバイスに結合されたコントローラとを含む。コントローラは、複数のダイのうちの各ダイについて熱統計を収集し、収集された統計を分析し、ゾーンを形成するために、1つ以上のダイを割り振るように構成されている。
【特許請求の範囲】
【請求項1】
記憶システムであって、
2つ以上のデータ記憶デバイスであって、前記2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスが、ゾーンネームスペース(ZNS)アーキテクチャを含む、2つ以上のデータ記憶デバイスと、
前記2つ以上のデータ記憶デバイスに結合されたコントローラと、を備え、前記コントローラが、
前記2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスについて熱統計を収集し、
収集された前記熱統計を分析し、
分析された前記収集された熱統計に基づいて、前記2つ以上のデータ記憶デバイスのうちの少なくとも1つのデータ記憶デバイス内の1つ以上のダイを選択することによってゾーンを指定するように構成されている、記憶システム。
【請求項2】
前記コントローラが、
ゾーンオープンコマンドを受信し、
ホストデータを指定された前記ゾーンにプログラムするように更に構成されている、請求項1に記載の記憶システム。
【請求項3】
前記ゾーンオープンコマンドを受信することが、前記収集された熱統計を分析する前に行われる、請求項2に記載の記憶システム。
【請求項4】
前記熱統計を収集することが、連続的に行われる、請求項1に記載の記憶システム。
【請求項5】
前記収集された熱統計を分析することが、オフライン記憶システム管理期間中に行われる、請求項1に記載の記憶システム。
【請求項6】
選択された前記1つ以上のダイが、第1の熱統計を有し、残りの1つ以上のダイが、第2の熱統計を有し、前記第1の熱統計が、前記第2の熱統計よりも少なく、前記第1の熱統計及び前記第2の熱統計が、温度プロファイルである、請求項1に記載の記憶システム。
【請求項7】
前記コントローラが、予測された作業負荷に基づいて前記1つ以上のダイを選択するように更に構成されている、請求項1に記載の記憶システム。
【請求項8】
前記2つ以上のデータ記憶デバイスが、それらの間の空気流を可能にするために行及び列に配列されている、請求項1に記載の記憶システム。
【請求項9】
前記2つ以上のデータ記憶デバイスのうちの第1のデータストレージが、第1の熱統計を有し、前記2つ以上のデータ記憶デバイスのうちの第2のデータ記憶デバイスが、第2の熱統計を有し、
前記第1の熱統計が、前記第2の熱統計とは異なる、請求項8に記載の記憶システム。
【請求項10】
前記第1のデータ記憶デバイスが、空気流源から第1の距離に位置し、前記第2のデータ記憶デバイスが、前記空気流源から第2の距離に位置し、
前記第1の距離及び前記第2の距離が異なる、請求項9に記載の記憶システム。
【請求項11】
前記収集された熱統計を分析することが、第1のデータ記憶デバイスの熱統計と、第2のデータ記憶デバイスの熱統計及び第3のデータ記憶デバイスの熱統計のうちの少なくとも1つと、を分析することを含み、前記第2のデータ記憶デバイスが、前記第1のデータ記憶デバイスに直接隣接して配置されており、前記第3のデータ記憶デバイスが、前記第1のデータ記憶デバイスに対して対角線上に隣接して配置されている、請求項8に記載の記憶システム。
【請求項12】
前記第2のデータ記憶デバイスが、複数のデータ記憶デバイスであり、前記第3のデータ記憶デバイスが、複数のデータ記憶デバイスである、請求項11に記載の記憶システム。
【請求項13】
前記2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスが、複数のダイを含み、前記コントローラが、前記ゾーンを形成するために、前記複数のダイの収集された熱統計に基づいて前記複数のダイのうちの1つ以上のダイを選択するように構成されている、請求項1に記載の記憶システム。
【請求項14】
データ記憶デバイスであって、
ゾーンネームスペース(ZNS)アーキテクチャを有するメモリデバイスであって、前記メモリデバイスが、複数のダイを含む、メモリデバイスと、
前記メモリデバイスに結合されたコントローラと、を備え、前記コントローラが、
前記複数のダイのうちの各ダイについて熱統計を収集し、
収集された前記統計を分析し、
ゾーンを形成するために、前記複数のダイのうちの1つ以上のダイを割り振るように構成されている、データ記憶デバイス。
【請求項15】
前記複数のダイのうちの各ダイについての前記熱統計が、前記ダイの使用量、前記データ記憶デバイスの空気流源に対する前記ダイの近接度、及び前記ダイに隣接するダイの温度に少なくとも基づく、請求項14に記載のデータ記憶デバイス。
【請求項16】
前記コントローラが、
前記収集された熱統計をホストデバイスに提供し、
提供された前記収集された熱統計に基づいて作業負荷を受信し、
受信された前記作業負荷及び前記収集された熱統計に基づいて、前記データ記憶デバイスのアクセスキューをリバランスするように更に構成されている、請求項14に記載のデータ記憶デバイス。
【請求項17】
前記コントローラが、
ホストデバイスから作業負荷タイプ指示を受信し、
前記コントローラ内に配置されている熱統計蓄積モジュールから前記熱統計を受信し、
受信された前記作業負荷タイプ指示及び前記収集された熱統計に基づいて、前記データ記憶デバイスのアクセスキューをリバランスするように更に構成されている、請求項14に記載のデータ記憶デバイス。
【請求項18】
記憶システムであって、
2つ以上のメモリ手段と、
前記2つ以上のメモリ手段に結合されたコントローラと、を備え、前記コントローラが、前記2つ以上のメモリ手段のうちの各メモリ手段の熱統計に基づいて、前記2つ以上のメモリ手段のうちの1つ以上の一部分から形成されたゾーンを割り振るように構成されている、記憶システム。
【請求項19】
前記記憶システムが、エンタープライズ記憶システムである、請求項18に記載の記憶システム。
【請求項20】
前記記憶システムが、クライアント記憶システムである、請求項18に記載の記憶システム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2022年4月6日に出願された「Controlled System Management Based On Storage Device Thermal Load」と題する米国非仮出願第17/714,863号の利益を主張し、その内容の全体はあらゆる目的のために参照により本明細書に組み込まれる。
【0002】
(発明の分野)
本開示の実施形態は、概して、ゾーンネームスペースアーキテクチャを使用するソリッドステートドライブ(solid state drive、SSD)などのデータ記憶デバイスを有する記憶システムに関し、より具体的には、記憶システム及びデータ記憶デバイスの熱統計及び負荷バランスに基づいてデータをプログラムすることに関する。
【背景技術】
【0003】
エンタープライズデータ記憶デバイスは、典型的には大容量を有し、これは、大きなフォームファクタの複数のダイを必要とする。企業の性能期待は回線速度である傾向があるので、エンタープライズデータ記憶デバイスも多くの電力を必要とし、これは高い熱負荷につながる可能性がある。熱負荷は、複数のダイのダイ間で分散され得る。作業負荷を複数のダイのダイ全体にわたって均一に広げることができない場合があるので、エンタープライズデータ記憶デバイスのある特定の部分が、作業負荷及び使用に基づいてエンタープライズデータ記憶デバイスの他の部分よりも熱くなる場合がある。例えば、より多くの使用又は作業負荷を経験するダイは、より少ない使用又は作業負荷を経験するダイよりも高い温度を有し得る。
【0004】
追加的に、ダイ製造ばらつきのために、各ダイの電力消費は、作業負荷においてどのダイがターゲットとされるかに応じて異なり得る。更に、各ダイの空気流源への物理的近接は、複数のダイにおける温度差を引き起こす可能性がある。同様に、各ダイの位置は、隣接するダイにも影響を及ぼし得る。したがって、熱負荷及び潜在的なスループットは、エンタープライズデータ記憶デバイスの熱プロファイルによって影響され得る。しきい値温度に達したか又はそれを超えたデータ記憶デバイスの温度を低下させるために、熱スロットリングが使用され得る。しかしながら、熱スロットリングは、データ記憶デバイスの性能を低下させ、これにより、データ記憶デバイスが性能期待値に到達しなくなる可能性があり得る。
【0005】
したがって、当技術分野では、記憶システム内及びデータ記憶デバイス内の作業負荷及び熱負荷のバランスを改善する必要がある。
【発明の概要】
【0006】
本開示は、概して、ゾーンネームスペースアーキテクチャを使用するソリッドステートドライブ(SSD)などのデータ記憶デバイスを有する記憶システムに関し、より具体的には、記憶システム及びデータ記憶デバイスの熱統計及び負荷バランスに基づいてデータをプログラムすることに関する。記憶システムは、2つ以上のデータ記憶デバイスと、2つ以上のデータ記憶デバイスに結合されたコントローラとを含む。2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスは、ゾーンネームスペース(zoned namespace、ZNS)アーキテクチャを含む。コントローラは、2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスについて熱統計を収集し、収集された熱統計を分析し、分析された収集された熱統計に基づいて、2つ以上のデータ記憶デバイスのうちの少なくとも1つのデータ記憶デバイス内の1つ以上のダイを選択することによってゾーンを指定するように構成されている。データ記憶デバイスは、複数のダイを有するメモリデバイスと、メモリデバイスに結合されたコントローラとを含む。コントローラは、複数のダイのうちの各ダイについて熱統計を収集し、収集された統計を分析し、ゾーンを形成するために、1つ以上のダイを割り振るように構成されている。
【0007】
一実施形態では、記憶システムは、2つ以上のデータ記憶デバイスであって、2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスが、ゾーンネームスペース(ZNS)アーキテクチャを含む、2つ以上のデータ記憶デバイスと、2つ以上のデータ記憶デバイスに結合されたコントローラとを含む。コントローラは、2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスについて熱統計を収集し、収集された熱統計を分析し、分析された収集された熱統計に基づいて、2つ以上のデータ記憶デバイスのうちの少なくとも1つのデータ記憶デバイス内の1つ以上のダイを選択することによってゾーンを指定するように構成されている。
【0008】
別の実施形態において、データ記憶デバイスは、ゾーンネームスペース(ZNS)アーキテクチャを有するメモリデバイスであって、メモリデバイスが、複数のダイを含む、メモリデバイスと、メモリデバイスに結合されたコントローラとを含む。コントローラは、複数のダイのうちの各ダイについて熱統計を収集し、収集された統計を分析し、ゾーンを形成するために、複数のダイのうちの1つ以上のダイを割り振るように構成されている。
【0009】
別の実施形態では、記憶システムは、2つ以上のメモリ手段と、2つ以上のメモリ手段に結合されたコントローラとを含む。コントローラは、2つ以上のメモリ手段のうちの各メモリ手段の熱統計に基づいて、2つ以上のメモリ手段のうちの1つ以上の一部分から形成されたゾーンを割り振るように構成されている。
【図面の簡単な説明】
【0010】
本開示の上記の特徴を詳細に理解することができるように、簡潔に上で要約した本開示のより具体的な説明は、実施形態を参照することによってなされ得、それらのいくつかが添付の図面に例示されている。しかしながら、添付の図面は、本開示の典型的な実施形態のみを例示し、したがって、その範囲を限定するものとみなされるべきではなく、本開示が他の同等に有効な実施形態を認め得ることに留意すべきである。
図1】ある特定の実施形態による、データ記憶デバイスがホストデバイスの記憶デバイスとして機能し得る記憶システムを示す概略ブロック図である。
図2】ある特定の実施形態による、複数のデータ記憶デバイスを有する記憶システムの例示的な図である。
図3A】ある特定の実施形態による、記憶デバイス内で利用されるゾーンネームスペースの例示的な図である。
図3B】ある特定の実施形態による、図3Aの記憶デバイスのゾーンネームスペースの状態図の例示的な図である。
図4】ある特定の実施形態による、メモリデバイス内にゾーンを形成する例示的な図である。
図5】ある特定の実施形態による、ホストデバイスにゾーンを提供する方法を示すフロー図である。
図6】ある特定の実施形態による、複数のデータ記憶デバイスに結合されたコントローラを含む記憶システムを示す概略ブロック図であり、コントローラは、負荷バランサ及び熱統計蓄積器/分析器モジュールを含む。
図7】ある特定の実施形態による、データ記憶デバイスのアクセスキューをリバランスする方法を示すフロー図である。
図8】ある特定の実施形態による、熱統計及び将来の作業負荷に基づく負荷バランスを有する記憶システムにおいて書き込みコマンドを処理する方法を示すフロー図である。
【0011】
理解を容易にするために、図面に共通する同一の要素を示すために、可能な限り、同一の参照番号を使用している。一実施形態で開示される要素は、特に断ることなく、他の実施形態に有益に利用され得ることが企図される。
【発明を実施するための形態】
【0012】
以下では、本開示の実施形態を参照する。しかしながら、本開示は、具体的に説明される実施形態に限定されないことを理解されたい。その代わりに、以下の特徴及び要素の任意の組み合わせが、異なる実施形態に関連するか否かに関わらず、本開示を実施及び実践すると企図される。更に、本開示の実施形態は、他の可能な解決策に勝る、及び/又は先行技術に勝る利点を達成し得るが、特定の利点が所与の実施形態によって達成されるか否かは、本開示を限定するものではない。したがって、以下の態様、特徴、実施形態、及び利点は、単なる例示にすぎず、請求項に明示的に記載されている場合を除いて、添付の特許請求の範囲の要素又は限定とみなされない。同様に、「本開示」への言及は、本明細書に開示される任意の発明の主題の一般化として解釈されるものではなく、請求項に明示的に記載されている場合を除いて、添付の特許請求の範囲の要素又は限定であるとみなされるべきではない。
【0013】
本開示は、概して、ゾーンネームスペースアーキテクチャを使用するソリッドステートドライブ(SSD)などのデータ記憶デバイスを有する記憶システムに関し、より具体的には、記憶システム及びデータ記憶デバイスの熱統計及び負荷バランスに基づいてデータをプログラムすることに関する。記憶システムは、2つ以上のデータ記憶デバイスと、2つ以上のデータ記憶デバイスに結合されたコントローラとを含む。2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスは、ゾーンネームスペース(ZNS)アーキテクチャを含む。コントローラは、2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスについて熱統計を収集し、収集された熱統計を分析し、分析された収集された熱統計に基づいて、2つ以上のデータ記憶デバイスのうちの少なくとも1つのデータ記憶デバイス内の1つ以上のダイを選択することによってゾーンを指定するように構成されている。データ記憶デバイスは、複数のダイを有するメモリデバイス、及びメモリデバイスに結合されたコントローラを含む。コントローラは、複数のダイのうちの各ダイについて熱統計を収集し、収集された統計を分析し、ゾーンを形成するために、1つ以上のダイを割り振るように構成されている。
【0014】
図1は、ある特定の実施形態による、ホストデバイス104の記憶デバイスとして機能し得るデータ記憶デバイス106を有する記憶システム100を示す概略ブロック図である。例えば、ホストデバイス104は、データ記憶デバイス106に含まれる不揮発性メモリ(NVM)110を利用して、データを記憶及び取得し得る。ホストデバイス104は、ホストDRAM138を備える。いくつかの実施例では、記憶システム100は、記憶アレイとして動作し得るデータ記憶デバイス106などの複数の記憶デバイスを含み得る。例えば、記憶システム100は、ホストデバイス104のための大量記憶デバイスとして集合的に機能する安価/独立ディスクの冗長アレイ(redundant array of inexpensive/independent disk、RAID)として構成された複数のデータ記憶デバイス106を含み得る。記憶システム100は、エンタープライズ記憶システム又はクライアント記憶システムであり得る。エンタープライズ記憶システム及びクライアント記憶システムの両方は、1つ以上のデータ記憶デバイスを含み、エンタープライズ記憶システムは、しきい値数以上のデータ記憶デバイスを含み、クライアント記憶システムは、しきい値数未満のデータ記憶デバイスを含む。
【0015】
ホストデバイス104は、データ記憶デバイス106などの1つ以上の記憶デバイスに及び/又はからデータを記憶及び/又は取得し得る。図1に例示されるように、ホストデバイス104は、インターフェース114を介してデータ記憶デバイス106と通信し得る。ホストデバイス104は、コンピュータサーバ、ネットワーク接続記憶(network-attached storage、NAS)ユニット、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話機、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、又はデータ記憶デバイスからデータを送信又は受信することができる他のデバイスなどを含む、広範なデバイスのうちのいずれも備え得る。
【0016】
データ記憶デバイス106は、コントローラ108、NVM110、電源111、揮発性メモリ112、インターフェース114、及び書き込みバッファ116を含む。いくつかの実施例では、データ記憶デバイス106は、明瞭化のために図1に示されていない追加の構成要素を含み得る。例えば、データ記憶デバイス106は、データ記憶デバイス106などの構成要素が機械的に取り付けられ、データ記憶デバイス106の構成要素を電気的に相互接続する導電性トレースを含む、プリント回路基板(printed circuit board、PCB)を含み得る。いくつかの実施例では、データ記憶デバイス106の物理的寸法及びコネクタ構成は、1つ以上の標準的フォームファクタに適合し得る。いくつかの例示的な標準的フォームファクタとしては、3.5”データ記憶デバイス(例えば、HDD又はSSD)、2.5”データ記憶デバイス、1.8”データ記憶デバイス、周辺部品相互接続(peripheral component interconnect、PCI)、PCI拡張(PCI-extended、PCI-X)、PCIエクスプレス(PCI Express、PCIe)(例えば、PCIe×1、×4、×8、×16、PCIeミニカード、ミニPCIなど)が挙げられるが、これらに限定されない。いくつかの実施例では、データ記憶デバイス106は、ホストデバイス104のマザーボードに直接結合(例えば、コネクタに直接半田付け又はプラグ接続)され得る。
【0017】
インターフェース114は、ホストデバイス104とデータを交換するためのデータバス及びホストデバイス104とコマンドを交換するための制御バスの一方又は両方を含み得る。インターフェース114は、任意の適切なプロトコルに従って動作し得る。例えば、インターフェース114は、以下のプロトコルのうちの1つ以上:先進技術アタッチメント(advanced technology attachment、ATA)(例えば、シリアルATA(serial-ATA、SATA)及びパラレルATA(parallel-ATA、PATA))、ファイバチャネルプロトコル(Fibre Channel Protocol、FCP)、シリアル接続SCSI(serially attached SCSI、SAS)、PCI、及びPCIe、スモールコンピュータシステムインターフェース(small computer system interface、SCSI)、不揮発性メモリエクスプレス(non-volatile memory express、NVMe)、OpenCAPI、GenZ、キャッシュ・コヒーレント・インターフェース・アクセラレータ(Cache Coherent Interface Accelerator、CCIX)、オープンチャネルSSD(Open Channel SSD、OCSSD)などに従って動作し得る。インターフェース114(例えば、データバス、制御バス、又はその両方)は、コントローラ108に電気的に接続され、ホストデバイス104とコントローラ108との間の電気的接続を提供し、ホストデバイス104とコントローラ108との間でデータを交換することを可能にする。いくつかの実施例では、インターフェース114の電気的接続はまた、データ記憶デバイス106がホストデバイス104から電力を受け取ることを可能にし得る。例えば、図1に例示されるように、電源111は、インターフェース114を介してホストデバイス104から電力を受け取り得る。
【0018】
NVM110は、複数のメモリデバイス又はメモリユニットを含み得る。NVM110は、データを記憶及び/又は取得するように構成され得る。例えば、NVM110のメモリユニットは、データと、データを記憶するようにメモリユニットに命令するメッセージと、をコントローラ108から受信し得る。同様に、メモリユニットは、データを取得するようにメモリユニットに命令するメッセージをコントローラ108から受信し得る。いくつかの実施例では、メモリユニットの各々は、ダイと称され得る。いくつかの実施例では、NVM110は、複数のダイ(すなわち、複数のメモリユニット)を含み得る。いくつかの実施例では、各メモリユニットは、比較的大量のデータ(例えば、128MB、256MB、512MB、1GB、2GB、4GB、8GB、16GB、32GB、64GB、128GB、256GB、512GB、1TBなど)を記憶するように構成され得る。
【0019】
いくつかの実施例では、各メモリユニットは、フラッシュメモリデバイス、相変化メモリ(phase-change memory、PCM)デバイス、抵抗ランダムアクセスメモリ(resistive random-access memory、ReRAM)デバイス、磁気抵抗ランダムアクセスメモリ(magneto-resistive random-access memory、MRAM)デバイス、強誘電性ランダムアクセスメモリ(ferroelectric random-access memory、F-RAM)、ホログラフィックメモリデバイス、及び任意の他のタイプの不揮発性メモリデバイスなどの、任意のタイプの不揮発性メモリデバイスを含み得る。
【0020】
NVM110は、複数のフラッシュメモリデバイス又はメモリユニットを備え得る。NVMフラッシュメモリデバイスは、NAND又はNORベースのフラッシュメモリデバイスを含み得、各フラッシュメモリセルのトランジスタの浮遊ゲートに含まれる電荷に基づいてデータを記憶し得る。NVMフラッシュメモリデバイスでは、フラッシュメモリデバイスは複数のダイに分割されてもよく、複数のダイのうちの各ダイは複数の物理ブロック又は論理ブロックを含み、複数の物理ブロック又は論理ブロックは複数のページに更に分割されてもよい。特定のメモリデバイス内の複数のブロックの各ブロックは、複数のNVMセルを含み得る。NVMセルの行は、複数のページの各ページを定義するためにワード線を使用して電気的に接続され得る。複数のページの各々におけるそれぞれのセルは、それぞれのビット線に電気的に接続され得る。更に、NVMフラッシュメモリデバイスは、2D又は3Dデバイスであってもよく、単一レベルセル(single level cell、SLC)、マルチレベルセル(multi-level cell、MLC)、トリプルレベルセル(triple level cell、TLC)、又はクアッドレベルセル(quad level cell、QLC)であってもよい。コントローラ108は、ページレベルで、NVMフラッシュメモリデバイスにデータを書き込み、かつNVMフラッシュメモリデバイスからデータを読み取り得、ブロックレベルで、NVMフラッシュメモリデバイスからデータを消去し得る。
【0021】
電源111は、データ記憶デバイス106の1つ以上の構成要素に電力を供給し得る。標準モードで動作するとき、電源111は、ホストデバイス104などの外部デバイスによって提供される電力を使用して、1つ以上の構成要素に電力を提供し得る。例えば、電源111は、インターフェース114を介してホストデバイス104から受け取った電力を使用して、1つ以上の構成要素に電力を供給し得る。いくつかの実施例では、電源111は、外部デバイスから電力を受け取ることを停止する場合などのシャットダウンモードで動作するときに、1つ以上の構成要素に電力を供給するように構成された1つ以上の電力貯蔵構成要素を含み得る。このように、電源111は、積載電源として機能し得る。1つ以上の電力貯蔵構成要素のいくつかの実施例としては、コンデンサ、超コンデンサ、バッテリなどが挙げられるが、これらに限定されない。いくつかの実施例では、1つ以上の電力貯蔵構成要素によって貯蔵され得る電力の量は、1つ以上の電力貯蔵構成要素のコスト及び/又はサイズ(例えば、面積/体積)の関数であり得る。換言すれば、1つ以上の電力貯蔵構成要素によって貯蔵される電力の量が増加するにつれて、1つ以上の電力貯蔵構成要素のコスト及び/又はサイズも増加する。
【0022】
揮発性メモリ112は、情報を記憶するためにコントローラ108によって使用され得る。揮発性メモリ112は、1つ以上の揮発性メモリデバイスを含み得る。いくつかの実施例では、コントローラ108は、揮発性メモリ112をキャッシュとして使用し得る。例えば、コントローラ108は、キャッシュされた情報がNVM110に書き込まれるまで、揮発性メモリ112にキャッシュされた情報を記憶し得る。図1に例示されるように、揮発性メモリ112は、電源111から受け取った電力を消費し得る。揮発性メモリ112の例としては、ランダムアクセスメモリ(random-access memory、RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)、スタティックRAM(static RAM、SRAM)、及び同期ダイナミックRAM(synchronous dynamic RAM、SDRAM(例えば、DDR1、DDR2、DDR3、DDR3L、LPDDR3、DDR4、LPDDR4など))が挙げられるが、これらに限定されない。
【0023】
コントローラ108は、データ記憶デバイス106の1つ以上の動作を管理し得る。例えば、コントローラ108は、NVM110からのデータの読み取り及び/又はNVM110へのデータの書き込みを管理し得る。いくつかの実施形態では、データ記憶デバイス106がホストデバイス104から書き込みコマンドを受信すると、コントローラ108は、データ記憶コマンドを開始して、データをNVM110に記憶し、データ記憶コマンドの進捗を監視し得る。コントローラ108は、記憶システム100の少なくとも1つの動作特性を決定し、少なくとも1つの動作特性をNVM110に記憶し得る。いくつかの実施形態では、データ記憶デバイス106がホストデバイス104から書き込みコマンドを受信すると、コントローラ108は、データをNVM110に送信する前に、内部メモリ又は書き込みバッファ116内の書き込みコマンドに関連付けられたデータを一時的に記憶する。
【0024】
コントローラは、熱統計蓄積モジュール150を含む。熱統計蓄積モジュール150は、NVM110に結合されている。熱統計蓄積モジュール150は、NVM110の熱統計を取り出すように構成され得、熱統計は、NVM110の複数の領域の各領域の温度であり得る。一実施形態において、各領域は、NVM110の異なるメモリデバイスであり得、異なるメモリデバイスは、異なるメモリアーキテクチャ(例えば、SLCメモリ、MLCメモリ、TLCメモリ、QLCメモリ、PLCメモリなど)を有する。別の実施形態では、各領域は、NVM110の複数のダイのうちの2つ以上の隣接するダイを含み得る。なおも別の実施形態では、各領域は、NVM110の複数のダイのうちの1つのダイを含む。熱統計蓄積モジュール150は、NVM110の温度プロファイル又はヒートマップを生成するように構成され得る。
【0025】
図2は、ある特定の実施形態による、複数のデータ記憶デバイスを有する記憶システム200の例示的な図であり、複数のデータ記憶デバイスの各データ記憶デバイスは、図1のデータ記憶デバイス106であり得る。複数のデータ記憶デバイスは、座標系内の点として表され、(1、1)などの各点は、記憶システム200内のデータ記憶デバイスを表す。記憶システム200は、「x」×「y」個のデータ記憶デバイスを含み得るように、任意の数のデータ記憶デバイスを含み得る。記憶システム200内のデータ記憶デバイスは、行及び列に配列され得る。図示された構成は、限定することを意図するものではなく、例示的な実施形態として提供されるにすぎないことを理解されたい。例えば、記憶システムは、行及び列以外の異なる構成パターンを有し得る。データ記憶デバイスの平面配設が示されているが、記憶システム200は積層構成を有し得ることを更に理解されたい。言い換えれば、記憶システム200の図示された例示的な図の上及び/又は下にデータ記憶デバイスがあり得る。
【0026】
各データ記憶デバイスは、空気流源202、物理的構成要素(例えば、配線)などからの空気流を可能にするために、隣接するデータ記憶デバイスから分離される。例えば、(1、1)に位置するデータ記憶デバイスは、(1、2)に位置する隣接するデータ記憶デバイスから「a」の距離にあり、(2、1)に位置する隣接するデータ記憶デバイスから「b」の距離にあり、(2、2)に位置する対角線上に隣接するデータ記憶デバイスから「c」の距離にある。「a」、「b」及び「c」は、同じであっても異なっていてもよいことを理解されたい。同様に、データ記憶デバイスが積み重ねられる実施形態では、隣接して積み重ねられたデータ記憶デバイス間の距離が考慮される。記憶システム200では、データ記憶デバイスの各々の間に温度プロファイルが存在する。温度プロファイルは、例えば、隣接するデータ記憶デバイス(例えば、「a」、「b」、及び「c」)間の距離、記憶システム200の中心に対するデータ記憶デバイスの近接度、データ記憶デバイスの作業負荷、空気流源202からのデータ記憶デバイスの距離などのいくつかの要因に依存し得る。例えば、記憶システム200の中心のデータ記憶デバイスは、記憶システム200のエッジに向かうデータ記憶デバイスよりもゆっくりと熱を放散し得る。同様に、空気流源202に近接するデータ記憶デバイスは、空気流源202に更に近接するデータ記憶デバイスよりも低温であり得る。別の実施例では、より高い作業負荷を有するデータ記憶デバイスは、より低い作業負荷を有するデータ記憶デバイスよりも高温であり得る。隣接するデータ記憶デバイス間の熱関係は、データ記憶デバイス動作の各々で実行される固定ベンチマークを使用して予め決定されるか、又は導出され得る。一実施例では、収集された熱統計を分析することは、記憶システム200がアイドルであるときなど、オフライン記憶システム管理期間中に行われる。
【0027】
図3Aは、ある特定の実施形態による、データ記憶デバイス300において利用されるゾーンネームスペース(ZNS)302ビューの例示的な図である。データ記憶デバイス300は、図1のホストデバイス104などのホストデバイスにZNS302ビューを提示することができる。データ記憶デバイス300は、図1の記憶システム100のデータ記憶デバイス106であり得る。データ記憶デバイス300は、1つ以上のZNS302を有し得、各ZNS302は、異なるサイズであり得る。データ記憶デバイス300は、1つ以上のゾーンネームスペース302に加えて、1つ以上の従来のネームスペースを更に備え得る。その上、ZNS302は、SASのためのゾーン化ブロックコマンド(zoned block command、ZBC)及び/又はSATAのためのゾーン化デバイスATAコマンドセット(zoned-device ATA command set、ZAC)であり得る。ホスト側ゾーンアクティビティは、可能な論理アクティビティと物理アクティビティとの関係により、ゾーン化されたドライブにおけるメディアアクティビティにより直接的に関連付けられ得る。
【0028】
データ記憶デバイス300において、ZNS302は、容量が複数のゾーン306a~306n(まとめてゾーン306と呼ぶ)に分割されるように論理ブロックにフォーマットすることができるNVMの量である。NVMは、図1の記憶ユニット又はNVM110であり得る。ゾーン306の各々は、メモリユニット又はNVM304の複数の物理ブロック又は消去ブロック(図示せず)を備え、消去ブロックの各々は、複数の論理ブロック(図示せず)と関連付けられている。ゾーン306の各々は、NVM又はNANDデバイスの1つ以上の消去ブロックの容量に整合されたサイズを有し得る。コントローラ308が、ホストデバイス(図示せず)又はホストデバイスのサブミッションキューなどからコマンドを受信すると、コントローラ308は、ZNS302の複数の消去ブロック(erase block、EB)と関連付けられた複数の論理ブロックからデータを読み取り、そこにデータを書き込むことができる。論理ブロックの各々は、固有のLBA又はセクタと関連付けられている。
【0029】
一実施形態では、NVM304は、NANDデバイスである。NANDデバイスは、1つ以上のダイを備える。1つ以上のダイの各々は、1つ以上の平面を含む。1つ以上のプレーンの各々は、1つ以上の消去ブロックを備える。1つ以上の消去ブロックの各々は、1つ以上のワード線(例えば、256本のワード線)を備える。1つ以上のワード線の各々は、1つ以上のページにおいてアドレス指定され得る。例えば、MLC NANDダイは、上位ページと下位ページを使用して、ワード線(例えば、ページ当たり16KiB)の各セル内の2ビットに到達し得る。更に、各ページは、フルページ以下の粒度でアクセスすることができる。コントローラは、512バイトのユーザデータ粒度論理ブロックアドレス(logical block address、LBA)サイズでNANDに頻繁にアクセスすることができる。したがって、以下の説明で言及されるように、NANDの場所は、512バイトの粒度に相当する。したがって、MLC NANDの2ページに対する512バイトのLBAサイズ及び16KiBのページサイズは、ワード線ごとに32LBAをもたらす。しかしながら、NANDの場所サイズは、限定することを意図するものではなく、単に例として使用される。
【0030】
データが消去ブロックに書き込まれるときに、1つ以上の論理ブロックは、データがNVM304内のどこに位置するかを追跡するためにゾーン306内で対応して更新される。データは、ゾーン306が一杯になるまで一度に1つのゾーン306に書き込まれてもよいし、又は複数のゾーン306が部分的に一杯になるように複数のゾーン306に書き込まれてもよい。同様に、特定のゾーン306にデータを書き込むときに、データは、隣接するブロックに移動するまで、NANDの場所の連続的な順序で、ページごとに、若しくはワード線ごとに、一度に1ブロックずつ複数の消去ブロックに書き込まれてもよく(すなわち、第2の消去ブロックに移動する前に第1の消去ブロックが一杯になるまで第1の消去ブロックに書き込む)、又は並行して各ブロックを部分的に埋めるために、NANDの場所の連続的な順序で、ページごとに、若しくはワード線ごとに、一度に複数のブロックに書き込まれてもよい(すなわち、各消去ブロックの第2のNANDの場所又はページに書き込む前に、各消去ブロックの第1のNANDの場所又はページに書き込む)。全てのNANDの場所のこの連続的なプログラミングは、多くのNAND EBの典型的な非限定的要件である。
【0031】
コントローラ308が、各ゾーンのデータを記憶する消去ブロックを選択するときに、コントローラ308は、ゾーンオープン時に消去ブロックを選択することができるか、又はその特定の消去ブロックの第1のワード線を満たす必要があるときに消去ブロックを選択することができる。これは、次の消去ブロックを開始する前に1つの消去ブロックを完全に満たす上述の方法が利用されるときに、より差別化され得る。コントローラ308は、時間差を使用して、ジャストインタイムベースでより最適な消去ブロックを選択することができる。どの消去ブロックが各ゾーン及びその隣接LBAに割り振られ、割り当てられるかの決定は、コントローラ308内で常に0以上の同時ゾーンに対して行うことができる。
【0032】
ゾーン306の各々は、ゾーン開始論理ブロックアドレス(zone starting logical block address、ZSLBA)又はゾーン開始セクタと関連付けられる。ZSLBAは、ゾーン306内の最初に利用可能なLBAである。例えば、第1のゾーン306aは、ZSLBAと関連付けられており、第2のゾーン306bは、ZSLBAと関連付けられており、第3のゾーン306cは、ZSLBAと関連付けられており、第4のゾーン306dは、ZSLBAと関連付けられており、n番目のゾーン306n(すなわち最後のゾーン)は、ZSLBAと関連付けられている。各ゾーン306は、そのZSLBAによって識別され、かつ連続的な書き込み(すなわち、書き込みコマンドが受信された順序でNVM110にデータを書き込むこと)を受信するように構成されている。
【0033】
データがゾーン306に書き込まれるにつれて、書き込みポインタ310は、次の書き込み開始点を追跡するために、データを書き込むためのゾーン306内の次の利用可能なブロックを指すか又は示すように前進められる又は更新される(すなわち、前の書き込みの完了点は、後続の書き込みの開始点に等しい)。したがって、書き込みポインタ310は、ゾーン306への後続の書き込みが始まる場所を示す。後続の書き込みコマンドは、「ゾーン追加」コマンドであり、ここで、後続の書き込みコマンドと関連付けられたデータは、書き込みポインタ310が次の開始点として示している場所でゾーン306に追加される。ゾーン306内のLBAの順序付けされたリストは、書き込み順序付けのために記憶され得る。各ゾーン306は、それ自体の書き込みポインタ310を有することができる。したがって、書き込みコマンドが受信されると、ゾーンは、そのZSLBAによって識別され、書き込みポインタ310は、識別されたゾーン内のどこでデータの書き込みが始まるかを決定する。
【0034】
図3Bは、ある特定の実施形態による、図3Aのデータ記憶デバイス300のZNS302の状態図350の例示的な図である。状態図350において、各ゾーンは、エンプティ、アクティブ、フル、又はオフラインなどの異なる状態にあり得る。ゾーンがエンプティであるときに、ゾーンにはデータがなく(すなわち、ゾーン内の消去ブロックのいずれも現在データを記憶していない)、書き込みポインタは、ZSLBAにある(すなわち、WP=0である)。エンプティゾーンは、書き込みがゾーンにスケジュールされると、又はゾーンオープンコマンドがホストによって発行されると、オープン及びアクティブゾーンに切り替わる。ゾーン管理(zone management、ZM)コマンドを使用して、両方ともアクティブ状態であるゾーンオープン状態とゾーンクローズド状態との間でゾーンを移動させることができる。ゾーンがアクティブである場合、ゾーンは、書き込むことができるオープンブロックを備え、ホストは、アクティブ状態における推奨時間の記述を提供され得る。コントローラ308は、ZMを含む。ゾーンメタデータは、ZM及び/又はコントローラ308に記憶され得る。
【0035】
「に書き込まれる」という用語は、ユーザデータが、利用可能な全てのNANDの場所を満たしていないときに、消去ブロック内の0個以上のNANDの場所及び/又は消去ブロック内の部分的に満たされたNANDの場所にユーザデータをプログラムすることを含む。「に書き込まれる」という用語は更に、内部ドライブ処理の必要性(エラーのビットがオープン消去ブロック上でより急速に蓄積するのでオープンブロックデータ保持の懸念)に起因してゾーンをフルに移動させること、データ記憶デバイス300が、とりわけ、追跡するにはあまりにも多くのオープンゾーン若しくは発見された欠陥状態などのリソース制約に起因してゾーンを閉鎖する若しくは満たすこと、又はホストデバイスが、とりわけ、ドライブに送信するデータがもうないこと、コンピュータシャットダウン、ホスト上でのエラー処理、追跡のための限られたホストリソースなどの懸念のためにゾーンを閉鎖することを含み得る。
【0036】
アクティブゾーンは、開いていても閉じていてもよい。オープンゾーンは、書き込む準備ができており、かつ現在割り当てられているリソースを有する、エンプティ又は部分的に満たされたゾーンである。書き込みコマンド又はゾーン追加コマンドとともにホストデバイスから受信されたデータは、前のデータで現在満たされていないオープン消去ブロックにプログラムされ得る。クローズドゾーンは、進行中にホストから書き込みを現在受信していないエンプティゾーン又は部分的に満たされたゾーンである。オープン状態からクローズド状態へのゾーンの移動は、コントローラ308がリソースを他のタスクに再割り振りすることを可能にする。これらのタスクは、オープンである他のゾーン、他の従来の非ゾーン領域、又は他のコントローラニーズを含み得るが、これらに限定されない。
【0037】
オープンゾーン及びクローズドゾーンの両方において、書き込みポインタは、ゾーンの最後のLBAのZSLBAと終わりとの間のどこかのゾーン内の場所を指している(すなわち、WP>0)。アクティブゾーンは、ZMによる指定ごとに、又は書き込みがゾーンにスケジュールされている場合に、オープン状態とクローズド状態との間で切り替わることができる。代替的に、ZMは、アクティブゾーンをリセットして、ゾーンに記憶されたデータをクリア又は消去して、ゾーンがエンプティゾーンに戻るように切り替えることができる。アクティブゾーンが満らされると、ゾーンはフル状態に切り替わる。フルゾーンは、データで完全に満たされたゾーンであり、データを書き込むために利用可能なセクタ又はLBAをそれ以上有しない(すなわち、WP=ゾーン容量(zone capacity、ZCAP))。フルゾーンでは、書き込みポインタは、ゾーンの書き込み可能容量の終わりを指す。フルゾーンに記憶されたデータの読み出しコマンドは、依然として実行され得る。
【0038】
ゾーンは、256MiB、512MiB、又は2GiBなど、任意の総容量を有し得る。しかしながら、パリティデータ及び1つ以上の除外された消去ブロックを記憶する各ゾーンの一部分など、各ゾーンのスモール部分は、データを書き込むためにアクセス不可能であり得るが、依然として読み取られ得る。例えば、ゾーン206の総容量が512MiBである場合、ZCAPは、データを書き込むために利用可能な容量である470MiBであり得るが、42MiBは、データを書き込むために利用不可能である。別の実施例では、ゾーン306の総容量が2GiBである場合に、ZCAPは、1077MiBであり得る。ゾーンの書き込み可能容量(ZCAP)は、総ゾーン記憶容量以下である。データ記憶デバイス300は、ゾーンリセット時に各ゾーンのZCAPを決定し得る。例えば、コントローラ308又はZMは、各ゾーンのZCAPを決定し得る。データ記憶デバイス300は、ゾーンがリセットされるときにゾーンのZCAPを決定し得る。先に挙げた総容量及びZCAP値は、限定することを意図するものではなく、可能な実施形態の実施例を提供することを意図するものであることを理解されたい。
【0039】
ZMは、フルゾーンをリセットして、ゾーンがエンプティゾーンに戻るようにゾーンに記憶されたデータの消去をスケジュールすることができる。フルゾーンがリセットされるときに、ゾーンは、書き込む準備ができているエンプティゾーンとしてマークされ得るが、ゾーンは、データを直ちにクリアされない場合がある。しかしながら、リセットゾーンは、オープン及びアクティブゾーンに切り替わる前に消去されなければならない。ゾーンは、ZMリセットとZMオープンとの間の任意の時間に消去され得る。ゾーンをリセットすると、データ記憶デバイス300は、リセットゾーンの新しいZCAPを決定し、ゾーンメタデータ内の書き込み可能ZCAP属性を更新することができる。オフラインゾーンは、データを書き込むために利用できないゾーンである。オフラインゾーンは、フル状態、エンプティ状態、又はアクティブでない部分的なフル状態であり得る。
【0040】
ゾーンをリセットすることは、ゾーンに記憶された全てのデータの消去をクリア又はスケジュールするので、個々の消去ブロックのガーベッジコレクションの必要性が排除され、データ記憶デバイス300の全体的なガーベッジコレクションプロセスが改善される。データ記憶デバイス300は、消去のために1つ以上の消去ブロックをマークし得る。新しいゾーンが形成されることになり、データ記憶デバイス300がZMオープンを予想するときに、消去のためにマークされた1つ以上の消去ブロックが消去され得る。データ記憶デバイス300は更に、消去ブロックの消去時にゾーンの物理的バッキングを決定及び作成することができる。したがって、新しいゾーンが開かれ、ゾーンを形成するために消去ブロックが選択されると、消去ブロックは、消去されている。その上、ゾーンがリセットされるたびに、ゾーン306のためのLBA及び書き込みポインタ310の新しい順序が選択され得、ゾーン306が連続的な順序から外れたコマンドを受信することを許容することを可能にする。書き込みポインタ310は、任意選択で、コマンドに対して示される開始LBAが何であれ、コマンドを書き込むことができるように、オフにされ得る。
【0041】
図3Aに戻って参照すると、ホストデバイス104がゾーン306にデータを書き込むための書き込みコマンドを送信するときに、コントローラ308は、書き込みコマンドを引き込み、新たに開かれたゾーン306への書き込みとして書き込みコマンドを識別する。コントローラ308は、EBのセットを選択して、新たに開かれたゾーン306の書き込みコマンドと関連付けられたデータを記憶し、新たに開かれたゾーン306は、アクティブゾーン306に切り替わる。書き込みコマンドは、新たなデータを書き込むコマンドであり得るし、ガーベッジコレクションの目的で有効なデータを別のゾーンに移動させるコマンドであり得る。コントローラ308は、ホストデバイスによってポピュレートされたサブミッションキューから新しいコマンドをDMAで読み出すように構成されている。
【0042】
アクティブゾーン306に切り替えられたばかりのエンプティゾーン306では、書き込みポインタ310が、第1の利用可能な論理ブロックとしてZSLBAと関連付けられた論理ブロックを示しているので、データは、ゾーン306と、ZSLBAから始まるゾーン306の連続的なLBAの関連付けられたセットとに割り当てられる。データは、ゾーン306の物理的場所に割り振られた1つ以上の消去ブロック又はNANDの場所に書き込まれ得る。書き込みコマンドと関連付けられたデータがゾーン306に書き込まれた後に、書き込みポインタ310は、ホスト書き込みに利用可能な次のLBA(すなわち、第1の書き込みの完了ポイント)を指すように更新される。このホスト書き込みコマンドからの書き込みデータは、ゾーンの物理的バッキングのために選択された消去ブロック内の次の利用可能なNANDの場所に連続的にプログラムされる。
【0043】
例えば、コントローラ308は、第3のゾーン306cへの第1の書き込みコマンド、又は第1のゾーン追加コマンドを受信し得る。ホストデバイス104は、第1のコマンドと関連付けられたデータをゾーン306のどの論理ブロックに書き込むかを連続的に識別する。次いで、第1のコマンドと関連付けられたデータは、書き込みポインタ310によって示されるように、第3のゾーン306c内の第1の又は次の利用可能なLBAに書き込まれ、書き込みポインタ310は、ホスト書き込みに利用可能な次の利用可能なLBAを指すように進められる又は更新される(すなわち、WP>0である)。コントローラ308が第3のゾーン306cへの第2の書き込みコマンド、又は第2のゾーン追加コマンドを受信した場合、第2の書き込みコマンドと関連付けられたデータは、書き込みポインタ310によって識別される第3のゾーン306c内の次の利用可能なLBAに書き込まれる。第2のコマンドと関連付けられたデータが第3のゾーン306cに書き込まれると、書き込みポインタ310は、ホスト書き込みのために利用可能な次の利用可能なLBAを指すように再び進む又は更新する。第3のゾーン306cをリセットすると、書き込みポインタ310がZSLBAに戻され(すなわち、WP=0である)、第3のゾーン306cがエンプティゾーンに切り替わる。
【0044】
本明細書では、簡単化のために、用語「消去ブロック」を「ブロック」と呼ぶことがある。
【0045】
図4は、ある特定の実施形態による、メモリデバイス400における、図3Aの第1のゾーン306aなどのゾーンを形成する例示的な図である。メモリデバイス400は、まとめてダイ402と呼ばれる複数のダイ402a~402nを含み、ここで、複数のダイ402a~402nのうちの各ダイは、まとめてプレーン404と呼ばれる第1のプレーン404a及び第2のプレーン404bを含む。各ダイは、3つ以上のプレーン(例えば、4つのプレーン、8つのプレーンなど)を含むことを理解されたい。本明細書の実施形態は、1つ以上のプレーンを有する任意のダイアーキテクチャに適用可能であり得ることを理解されたい。プレーン404の各々は、まとめてブロック406と呼ばれる複数のブロック406a~406nを含む。32個のダイ402がメモリデバイス400に示されているが、任意の数のダイが含まれ得る。
【0046】
各ダイは、空気流源408、物理的構成要素(例えば、配線)などからの空気流を可能にするために、隣接するダイから分離され得る。例えば、ダイ410aは、隣接するダイ410bから「d」の距離にあり、隣接するダイ410cから「e」の距離にあり、対角線上に隣接するダイ410dから「f」の距離にある。「d」、「e」及び「f」は、同じであっても異なっていてもよいことを理解されたい。同様に、ダイが積み重ねられる実施形態では、隣接して積み重ねられたダイ間の距離が考慮される。メモリデバイス400では、複数のダイ402a~402nの各々の間に温度プロファイルが存在する。温度プロファイルは、例えば、隣接するダイ間の距離(例えば、「d」、「e」、及び「f」)、メモリデバイス400の中心に対するダイの近接度、ダイの作業負荷、空気流源408からのダイの距離などの、いくつかの要因に依存し得る。例えば、メモリデバイス400の中心のダイは、メモリデバイス400のエッジに向かうダイよりも遅く熱を放散し得る。同様に、空気流源408に近接するダイは、空気流源408に更に近接するダイよりも低温であり得る。別の実施例では、より高い作業負荷を有するダイは、より低い作業負荷を有するダイよりも高温であり得る。隣接するダイ間の熱関係は、各ダイの温度及び使用を分析する固定ベンチマークを使用して予め決定又は導出することができる。一実施例では、収集された熱統計を分析することは、メモリデバイス400がアイドルであるときなど、オフライン記憶システム管理期間中に行われる。
【0047】
図3Aの第1のゾーン306aなどのゾーンは、各ダイ402の各プレーン404からのブロック406を含む。いくつかの実施例では、ゾーンは、各ダイ402の各プレーン404からの1つ以上のブロック406を含み得る。更に、いくつかの実施形態では、メモリデバイス400のダイ402のうちの1つ以上のダイは、XOR又はパリティデータを記憶するためにプロビジョニングされ得る。ゾーンは、ダイから選択されたブロックがメモリデバイス400の全体的な温度上昇を低減することに基づくように、ダイ402の物理的温度プロファイルに基づいて形成され得る。
【0048】
更に、データは、データがB1 406bに書き込まれる前にデータがB0 406aに書き込まれるように、第1のゾーン内のブロックからブロックに連続的に書き込まれる。データはまた、データが第2のゾーンに書き込まれる前にデータが第1のゾーンから書き込まれるように、ゾーンからゾーンに連続的に書き込まれる。ゾーンは、上述したように、256MiB又は512MiBなどの、任意の書き込み可能容量(ZCAP)を有し得る。複数のゾーンの各ゾーンは、同じゾーン容量を有し得る。データは、図1のデータ記憶デバイス106などのデータ記憶デバイスがゾーンリセット要求を受信する(又は場合によっては、ガーベッジコレクションなどのデータ管理動作の一部としてゾーンリセット要求を生成する)と、ゾーン容量サイズで消去される。言い換えれば、個々のブロックは、図3Bで説明したように、ゾーン全体が消去されるか、又はゾーンエンプティ状態(すなわち、ゾーンエンプティ)に移動されない限り、消去することができない。しかしながら、データ記憶デバイス106がZNSの部分的な能力を有する不揮発性メモリを備える場合、データは、ZNS能力を有する不揮発性メモリの部分におけるゾーン容量サイズでデータ記憶デバイス106から消去される。データは、非ZNS対応不揮発性記憶ユニットからブロックサイズで消去され得る。
【0049】
更に、図1のNVM110などのNVMのZNS対応部分に記憶されたデータの場所は、揮発性メモリ112などの揮発性メモリユニット内のLBAとして第1の論理-物理(L2P、logical to physical)テーブルに記録される。図1のNVM110などのNVMの非ZNS対応部分に記憶されたデータの場所は、揮発性メモリ112などの揮発性メモリユニット内のLBAとして第2のL2Pテーブルに記録される。揮発性メモリ112は、DRAMユニットであり得る。更に、NVM110は、揮発性メモリ112の第1のL2Pテーブルに一致する第1のL2Pテーブルと、揮発性メモリ112の第2のL2Pテーブルに一致する第2のL2Pテーブルとを含み得る。NVM110内のL2Pテーブルは、揮発性メモリ112のL2Pテーブルに一致するように更新される。
【0050】
L2Pテーブルは、NVM110内のデータの各物理的場所を指すポインタを含む。データの物理的場所は、ポインタアドレスアレイがダイからNANDの場所にマッピングされた場所を含むように、論理アレイにマッピングされる。ブロックにおいて、ポインタの総数は、次のように計算される:256WL×3ページ/WL×4スロット/ページ×1ポインタ/スロット=3072ポインタ。62ブロックを含む容量の第1のゾーン内には、190,464個のポインタが存在し得る(すなわち、3,072ポインタ/ブロック×62ブロック=190,464ポインタ)。各ポインタは、揮発性メモリ112及び/又はNVM110の利用可能なストレージを利用する、ある特定の量のデータを含む。TLCメモリが例示されるが、本明細書の実施形態は、TLCメモリに限定されず、本明細書に記載される実施形態は、例えば、SLCメモリ、MLCメモリ、QLCメモリ、PLCメモリなどの他のメモリ密度に適用可能であり得る。
【0051】
図5は、ある特定の実施形態による、図3Aの第1のゾーン306aなどのゾーンを、図1のホストデバイス104などのホストデバイスに提供する方法500を示すフロー図である。方法500は、図1のコントローラ108などのコントローラによって実施することができる。例示的な目的のために、図4のメモリデバイス400及び図1の記憶システム100の態様が、本明細書において参照され得る。ブロック502において、コントローラ108は、ホストデバイス104からゾーンオープンコマンドを受信する。ゾーンオープンコマンドは、明示的に(例えば、コマンドで指定されて)又は暗黙的に(例えば、コマンドはゾーンオープンコマンドを含まないが、コマンドはまだ開かれていないゾーンに向けられて)受信され得る。ブロック504において、コントローラ108は、ダイ熱統計を分析する。例えば、コントローラ108は、熱統計蓄積モジュール150を利用して、各ダイの熱統計を蓄積し、かつ各ダイを分析し得、これにより、ダイの熱プロファイルを生成することができる。ブロック506において、コントローラ108は、どのダイのグループにゾーンを割り当てるかを決定する。ブロック508において、コントローラ108は、新たに開かれたゾーンをホストデバイス104に提供する。
【0052】
別の実施形態では、従来のネームスペースの物理的場所は、ダイ温度プロファイルに基づいて選択され得る。従来のネームスペースは、ZNSデバイスにおける非ZNSネームスペースである。従来のネームスペースは、ランダム書き込みが許可される非常に小さい領域であり得る。従来のネームスペースは、ゾーンによく似たダイのグループ上に位置することができ、ダイの熱統計に基づいてダイグループからダイグループへと移動させることができる。
【0053】
図6は、ある特定の実施形態による、複数のデータ記憶デバイス614a~614nに結合されたコントローラ606を含む記憶システム600を示す概略ブロック図であり、コントローラ606は、負荷バランサ608及び熱統計蓄積器/分析器モジュール610(別個のコンポーネントであり得る)を含む。コントローラ606は、フラッシュインターフェースモジュール(flash interface module、FIM)612を更に含む。一実施例では、熱統計蓄積器/分析器モジュール610は、FIM612内に配置され得る。記憶システム600は、図2の記憶システム200であり得、ここで、コントローラ606は、1つ以上のホストデバイスから複数のデータ記憶デバイス614a~614nへの入力/出力トラフィックを管理する。データ記憶デバイス614a~614nの各々は、図1のデータ記憶デバイス106であり得る。1つ以上のホストデバイスは、直接的に結合されなくてもよく、ネットワーク構造を介してリンクされ得ることを理解されたい。
【0054】
コントローラ606は、ホストデバイス602に結合されており、ここで、ホストデバイス602は、コマンドキュー604を含む。ホストデバイス602は、コマンドを生成し、生成したコマンドをコマンドキュー604に記憶する。いくつかの実施例では、ホストデバイス602は、コマンドキュー604に記憶された生成されたコマンドをフェッチするための指示をコントローラ606に送信し得る。他の実施例では、ホストデバイス602は、生成されたコマンドをコマンドキュー604からコントローラ606に送信し得る。
【0055】
負荷バランサ608は、データ記憶デバイス614a~614nの各々の将来の作業負荷と熱負荷とのバランスをとるように構成され得る。更に、熱統計蓄積器/分析器モジュール610は、複数のデータ記憶デバイス614a~614nの各々から熱統計を収集及び分析するように構成され得る。例えば、分析はまた、コマンドキュー604からのコマンドをデータ記憶デバイスに割り振ることの熱影響を決定すること、及びコマンドキュー604からのコマンドをデータ記憶デバイスに割り振ることが隣接するデータ記憶デバイスの温度プロファイルにどのように影響し得るかを含み得る。熱統計蓄積器/分析器モジュール610の結果に基づいて、負荷バランサ608は、受信したコマンドをコマンドキュー604からFIM612に送信し、ここで、FIM612は、コマンドをターゲットデータ記憶デバイスに渡す。
【0056】
一実施例では、複数のデータ記憶デバイス614a~614nの各データ記憶デバイスはまた、各データ記憶デバイスの熱統計蓄積器/分析器モジュールがホストデバイス602にフィードバックを送信するように、熱統計蓄積器/分析器モジュールを含み得る。ホストデバイス602は、各データ記憶デバイスの熱負荷に基づいてジョブ又はコマンドを追加又は除去することによって、フィードバックに基づいてコマンドキュー604を修正し得る。
【0057】
図7は、ある特定の実施形態による、図6の複数のデータ記憶デバイス614a~614nのうちの1つなどのデータ記憶デバイスのアクセスキューをリバランスする方法700を示すフロー図である。方法700は、図6のコントローラ606によって実施することができる。例示の目的で、図6の記憶システム600の態様を本明細書で参照し得る。ブロック702において、コントローラ606は、ホストデバイス602から将来の作業負荷を受信する。ブロック704で、コントローラ606は、熱統計蓄積器/分析器モジュール610から現在の熱統計を受信する。ブロック706において、コントローラ606は、作業負荷及び現在の熱統計に従って、複数のデータ記憶デバイス614a~614nのアクセスキューをリバランスする。
【0058】
複数のデータ記憶デバイス614a~614nのアクセスキューをリバランスすることは、最適化技法に基づく異なるアプローチを使用して行われ得る。例えば、最適化は、各データ記憶デバイスの熱要件が1つずつ満たされる貪欲スケジュールに従うことができる。データ記憶デバイスの熱要件が現在のスケジュールで満たされない場合、データ記憶デバイスは、アクセスキューにおいて、データ記憶デバイスの熱要件を満たす次のスロットにプッシュされる。コントローラ606はまた、データ記憶デバイスをアクセスキューにプッシュすることによって、データ記憶デバイスの他の以前に満たされた熱要件が満たされなくなったことをチェックし得る。コントローラ606はまた、比較的「ホット」なデータストレージがアクセスすべき最後のデータ記憶デバイスでない場合があるように、レイテンシ優先度を考慮し得る。例えば、待ち時間優先度は、トークンベースのシステムを使用して実装され得、これにより、アクセスキュー内で待機する各データ記憶デバイスは、次のタイムスロットにおいてその優先度を増加させるトークンを受信する。
【0059】
図8は、ある特定の実施形態による、熱統計及び将来の作業負荷に基づく負荷バランスを有する、図6の記憶システム600などの記憶システムにおいて書き込みコマンドを処理する方法800を示すフロー図である。図6の記憶システム600及び図1の記憶システム100の態様は、例示的な目的のために本明細書で参照され得る。例えば、方法800は、コントローラ606によって実装され得る。
【0060】
ブロック802において、コントローラ606は、ホストデバイス602から、複数のデータ記憶デバイス614a~614nのうちの1つのデータ記憶デバイスのゾーンにデータを書き込むための書き込みコマンドを受信する。ブロック804において、コントローラ606は、複数のデータ記憶デバイス614a~614nの各データ記憶デバイスの熱統計を蓄積する。いくつかの実施例では、熱統計の蓄積/収集は連続的に行われる。ブロック806において、コントローラ606は、複数のデータ記憶デバイス614a~614nの各データ記憶デバイスの現在の作業負荷を決定する。ブロック808において、コントローラ606は、各データ記憶デバイスの熱統計及び作業負荷に基づいて、複数のデータ記憶デバイス614a~614nのうちの1つのデータ記憶デバイスを選択する。選択されたデータ記憶デバイスは、上述したリバランス方式などの熱要件最適化方式に基づき得る。
【0061】
ブロック810において、コントローラ606は、選択されたデータ記憶デバイスにオープンゾーンがあるかどうかを決定する。ブロック810において選択されたデータ記憶デバイスにオープンゾーンがある場合、次に、コントローラ606は、書き込みコマンドをデータ記憶デバイスのコントローラに送信し、ブロック818において、データ記憶デバイスのコントローラは、書き込みコマンドのデータをオープンゾーンにプログラムする。しかしながら、ブロック810において選択されたデータ記憶デバイスにオープンゾーンが存在しない場合、次に、ブロック812において、コントローラ606は、選択されたデータ記憶デバイスにゾーンオープンコマンドを送信する。ブロック814において、選択されたデータ記憶デバイスのコントローラは、複数のダイの熱統計を蓄積する。ブロック816において、選択されたデータ記憶デバイスのコントローラは、複数のダイの熱統計に基づいて新しいゾーンを開く。ブロック818において、コントローラ606は、書き込みコマンドをデータ記憶デバイスのコントローラに送信し、データ記憶デバイスのコントローラは、書き込みコマンドのデータをオープンゾーンにプログラムする。
【0062】
複数のデータ記憶デバイスと、各データ記憶デバイスの各メモリデバイス内の複数のダイとを含む記憶システムにおける各データ記憶デバイスの熱統計に基づいて、作業負荷のバランスをとり、かつ新しいゾーンを開くことによって、記憶システムのシステム性能を改善することができる。
【0063】
一実施形態では、記憶システムは、2つ以上のデータ記憶デバイスであって、2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスが、ゾーンネームスペース(ZNS)アーキテクチャを含む、2つ以上のデータ記憶デバイスと、2つ以上のデータ記憶デバイスに結合されたコントローラとを含む。コントローラは、2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスについて熱統計を収集し、収集された熱統計を分析し、分析された収集された熱統計に基づいて、2つ以上のデータ記憶デバイスのうちの少なくとも1つのデータ記憶デバイス内の1つ以上のダイを選択することによってゾーンを指定するように構成されている。
【0064】
コントローラは、ゾーンオープンコマンドを受信し、ホストデータを指定されたゾーンにプログラムするように更に構成されている。ゾーンオープンコマンドを受信することは、収集された熱統計を分析する前に行われる。熱統計を収集することは、連続的に行われる。収集された熱統計を分析することは、オフライン記憶システム管理期間中に行われる。選択された1つ以上のダイは、第1の熱統計を有し、残りの1つ以上のダイは、第2の熱統計を有する。第1の熱統計は、第2の熱統計よりも少ない。第1の熱統計及び第2の熱統計は、温度プロファイルである。コントローラは、予測された作業負荷に基づいて1つ以上のダイを選択するように更に構成されている。2つ以上のデータ記憶デバイスは、それらの間の空気流を可能にするために行及び列に配列されている。2つ以上のデータ記憶デバイスのうちの第1のデータストレージは、第1の熱統計を有し、2つ以上のデータ記憶デバイスのうちの第2のデータ記憶デバイスは、第2の熱統計を有する。第1の熱統計は、第2の熱統計とは異なる。第1のデータ記憶デバイスは、空気流源から第1の距離に位置し、第2のデータ記憶デバイスは、空気流源から第2の距離に位置する。第1の距離と第2の距離とは異なる。収集された熱統計を分析することは、第1のデータ記憶デバイスの熱統計と、第2のデータ記憶デバイスの熱統計及び第3のデータ記憶デバイスの熱統計のうちの少なくとも1つと、を分析することを含む。第2のデータ記憶デバイスは、第1のデータ記憶デバイスに直接隣接して配置されており、第3のデータ記憶デバイスは、第1のデータ記憶デバイスに対して対角線上に隣接して配置されている。第2のデータ記憶デバイスは、複数のデータ記憶デバイスであり、第3のデータ記憶デバイスは、複数のデータ記憶デバイスである。2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスは、複数のダイを含む。コントローラは、ゾーンを形成するために、複数のダイの収集された熱統計に基づいて複数のダイのうちの1つ以上のダイを選択するように構成されている。
【0065】
別の実施形態において、データ記憶デバイスは、ゾーンネームスペース(ZNS)アーキテクチャを有するメモリデバイスであって、メモリデバイスが、複数のダイを含む、メモリデバイスと、メモリデバイスに結合されたコントローラとを含む。コントローラは、複数のダイのうちの各ダイについて熱統計を収集し、収集された統計を分析し、ゾーンを形成するために、複数のダイのうちの1つ以上のダイを割り振るように構成されている。
【0066】
複数のダイのうちの各ダイについての熱統計は、ダイの使用量、データ記憶デバイスの空気流源に対するダイの近接度、及びダイに隣接するダイの温度に少なくとも基づく。コントローラは、収集された熱統計をホストデバイスに提供し、提供された収集された熱統計に基づいて作業負荷を受信し、受信された作業負荷及び分析された収集された熱統計に基づいて、データ記憶デバイスのアクセスキューをリバランスするように更に構成されている。コントローラは、ホストデバイスから作業負荷タイプ指示を受信し、コントローラ内に配置されている熱統計蓄積モジュールから熱統計を受信し、受信された作業負荷タイプ指示及び分析された収集された熱統計に基づいて、データ記憶デバイスのアクセスキューをリバランスするように更に構成されている。
【0067】
別の実施形態では、記憶システムは、2つ以上のメモリ手段と、2つ以上のメモリ手段に結合されたコントローラとを含む。コントローラは、2つ以上のメモリ手段のうちの各メモリ手段の熱統計に基づいて、2つ以上のメモリ手段のうちの1つ以上の一部分から形成されたゾーンを割り振るように構成されている。
【0068】
記憶システムは、エンタープライズ記憶システムである。記憶システムは、クライアント記憶システムである。
【0069】
上記は本開示の実施形態を目的とするが、本開示の他の及び更なる実施形態が、その基本的範囲から逸脱することなく考案され得、その範囲は、以下の特許請求の範囲によって決定される。
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
【手続補正書】
【提出日】2024-06-12
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
記憶システムであって、
2つ以上のデータ記憶デバイスであって、前記2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスが、ゾーンネームスペース(ZNS)アーキテクチャを含み、前記2つ以上のデータ記憶デバイスが、それらの間の空気流を可能にするために行及び列に配列されている、2つ以上のデータ記憶デバイスと、
前記2つ以上のデータ記憶デバイスに結合されたコントローラと、を備え、前記コントローラが、
前記2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスについて熱統計を収集し、
収集された前記熱統計を分析し、収集された前記熱統計を分析することは、データ記憶デバイスへのコマンドの割り振りが当該データ記憶デバイスに隣接するデータ記憶デバイスの熱統計に与える熱影響を判定することを含み、
分析された前記収集された熱統計に基づいて、前記2つ以上のデータ記憶デバイスのうちの少なくとも1つのデータ記憶デバイス内の1つ以上のダイを選択することによってゾーンを指定するように構成されている、記憶システム。
【請求項2】
前記コントローラが、
ゾーンオープンコマンドを受信し、
ホストデータを指定された前記ゾーンにプログラムするように更に構成されている、請求項1に記載の記憶システム。
【請求項3】
前記ゾーンオープンコマンドを受信することが、前記収集された熱統計を分析する前に行われる、請求項2に記載の記憶システム。
【請求項4】
前記熱統計を収集することが、連続的に行われる、請求項1に記載の記憶システム。
【請求項5】
前記収集された熱統計を分析することが、オフライン記憶システム管理期間中に行われる、請求項1に記載の記憶システム。
【請求項6】
選択された前記1つ以上のダイが、第1の熱統計を有し、残りの1つ以上のダイが、第2の熱統計を有し、前記第1の熱統計が、前記第2の熱統計よりも少なく、前記第1の熱統計及び前記第2の熱統計が、温度プロファイルである、請求項1に記載の記憶システム。
【請求項7】
前記コントローラが、予測された作業負荷に基づいて前記1つ以上のダイを選択するように更に構成されている、請求項1に記載の記憶システム。
【請求項8】
前記2つ以上のデータ記憶デバイスのうちの第1のデータ記憶デバイスが、第1の熱統計を有し、前記2つ以上のデータ記憶デバイスのうちの第2のデータ記憶デバイスが、第2の熱統計を有し、
前記第1の熱統計が、前記第2の熱統計とは異なる、請求項に記載の記憶システム。
【請求項9】
前記第1のデータ記憶デバイスが、空気流源から第1の距離に位置し、前記第2のデータ記憶デバイスが、前記空気流源から第2の距離に位置し、
前記第1の距離及び前記第2の距離が異なる、請求項に記載の記憶システム。
【請求項10】
前記収集された熱統計を分析することが、第1のデータ記憶デバイスの熱統計と、第2のデータ記憶デバイスの熱統計及び第3のデータ記憶デバイスの熱統計のうちの少なくとも1つと、を分析することを含み、前記第2のデータ記憶デバイスが、前記第1のデータ記憶デバイスに直接隣接して配置されており、前記第3のデータ記憶デバイスが、前記第1のデータ記憶デバイスに対して対角線上に隣接して配置されている、請求項に記載の記憶システム。
【請求項11】
前記第2のデータ記憶デバイスが、複数のデータ記憶デバイスであり、前記第3のデータ記憶デバイスが、複数のデータ記憶デバイスである、請求項10に記載の記憶システム。
【請求項12】
前記2つ以上のデータ記憶デバイスのうちの各データ記憶デバイスが、複数のダイを含み、前記コントローラが、前記ゾーンを形成するために、前記複数のダイの収集された熱統計に基づいて前記複数のダイのうちの1つ以上のダイを選択するように構成されている、請求項1に記載の記憶システム。
【請求項13】
データ記憶デバイスであって、
ゾーンネームスペース(ZNS)アーキテクチャを有するメモリデバイスであって、前記メモリデバイスが、複数のダイを含み、前記複数のダイが、それらの間の空気流を可能にするために行及び列に配列されている、メモリデバイスと、
前記メモリデバイスに結合されたコントローラと、を備え、前記コントローラが、
前記複数のダイのうちの各ダイについて熱統計を収集し、
収集された前記統計を分析し、収集された前記熱統計を分析することは、データ記憶デバイスへのコマンドの割り振りが当該データ記憶デバイスに隣接するデータ記憶デバイスの熱統計に与える熱影響を判定することを含み、
ゾーンを形成するために、前記複数のダイのうちの1つ以上のダイを割り振るように構成されている、データ記憶デバイス。
【請求項14】
前記複数のダイのうちの各ダイについての前記熱統計が、前記ダイの使用量、前記データ記憶デバイスの空気流源に対する前記ダイの近接度、及び前記ダイに隣接するダイの温度に少なくとも基づく、請求項13に記載のデータ記憶デバイス。
【請求項15】
前記コントローラが、
前記収集された熱統計をホストデバイスに提供し、
提供された前記収集された熱統計に基づいて作業負荷を受信し、
受信された前記作業負荷及び前記収集された熱統計に基づいて、前記データ記憶デバイスのアクセスキューをリバランスするように更に構成されている、請求項13に記載のデータ記憶デバイス。
【請求項16】
前記コントローラが、
ホストデバイスから作業負荷タイプ指示を受信し、
前記コントローラ内に配置されている熱統計蓄積モジュールから前記熱統計を受信し、
受信された前記作業負荷タイプ指示及び前記収集された熱統計に基づいて、前記データ記憶デバイスのアクセスキューをリバランスするように更に構成されている、請求項13に記載のデータ記憶デバイス。
【請求項17】
記憶システムであって、
2つ以上のメモリ手段であって、それらの間の空気流を可能にするために行及び列に配列されている2つ以上のメモリ手段と、
前記2つ以上のメモリ手段に結合されたコントローラと、を備え、前記コントローラが、前記2つ以上のメモリ手段のうちの各メモリ手段の収集された熱統計の分析に基づいて、前記2つ以上のメモリ手段のうちの1つ以上の一部分から形成されたゾーンを割り振るように構成され、収集された前記熱統計の分析は、前記2つ以上のメモリ手段のうちの1つのメモリ手段へのコマンドの割り振りが、前記2つ以上のメモリ手段のうち当該1つのメモリ手段に隣接するメモリ手段の熱統計に与える熱影響を判定することを含む、記憶システム。
【請求項18】
前記記憶システムが、エンタープライズ記憶システムである、請求項17に記載の記憶システム。
【請求項19】
前記記憶システムが、クライアント記憶システムである、請求項17に記載の記憶システム。
【国際調査報告】