(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-12
(45)【発行日】2024-07-23
(54)【発明の名称】メモリサブシステムにおける作業負荷レベルに基づく電力モードの設定
(51)【国際特許分類】
G06F 12/00 20060101AFI20240716BHJP
G11C 5/14 20060101ALI20240716BHJP
【FI】
G06F12/00 550E
G11C5/14 400
G11C5/14 370
(21)【出願番号】P 2022555921
(86)(22)【出願日】2021-03-17
(86)【国際出願番号】 US2021022825
(87)【国際公開番号】W WO2021188718
(87)【国際公開日】2021-09-23
【審査請求日】2022-10-07
(32)【優先日】2020-03-17
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】595168543
【氏名又は名称】マイクロン テクノロジー,インク.
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】ユウ リャン
(72)【発明者】
【氏名】パリー ジョナサン
【審査官】田中 啓介
(56)【参考文献】
【文献】米国特許出願公開第2019/0138233(US,A1)
【文献】国際公開第2012/001917(WO,A1)
【文献】特開2017-059223(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F1/26-1/3296
G06F12/00-12/06
G06F13/16-13/18
G11C5/00、5/02、5/04
G11C5/06、5/14
G11C11/401-11/4099
G11C11/56
G11C16/00-17/18
(57)【特許請求の範囲】
【請求項1】
メモリサブシステムの処理デバイスによって、前記メモリサブシステムによる実行のためにホストシステムによってリクエストされた1つ以上の動作に基づいて、着信リクエストキューにおける作業負荷レベルを判定することであって、前記着信リクエストキューにおける前記作業負荷レベルは、前記1つ以上の動作のタイプ及び前記1つ以上の動作の実行に対応する帯域幅レベル
に基づいて判定される、ことと、
前記着信リクエストキューにおける前記作業負荷レベルに基づいて、前記1つ以上の動作の実行のために活性化される前記メモリサブシステムのメモリダイのセットを識別することと、
電力バジェットレベルに基づいて、メモリダイの前記セットのメモリダイに対する電力モード構成を判定することと、
前記電力モード構成を確立するために、前記メモリダイの1つ以上のパラメータを構成することと、
を含む、方法。
【請求項2】
前記電力モード構成は、低電力モード構成、中間電力モード構成、又は高電力モード構成を含む電力モード構成のセットから選択される、請求項1に記載の方法。
【請求項3】
前記低電力モード構成に対応する第1の電力レベルは、前記中間電力モード構成に対応する第2の電力レベルよりも低く、前記高電力モード構成に対応する第3の電力レベルは、前記中間電力モード構成に対応する前記第2の電力レベルよりも高い、請求項2に記載の方法。
【請求項4】
前記メモリダイの前記1つ以上のパラメータは、高電力モード構成を確立するために、前記高電力モード構成に対応するパラメータ値のセットに調整される、請求項1に記載の方法。
【請求項5】
パラメータ値の前記セットは、内部トリム値、ラッチ値、レジスタ値、フラグ値、チャージポンプ電圧レベル、チャージポンプクロック周波数、内部バイアス電流、又はチャージポンプ出力抵抗の内の1つを含む、請求項4に記載の方法。
【請求項6】
メモリダイの前記セットの各メモリダイに対して低電力モード構成、中間電力モード構成、又は高電力モード構成の内の1つを判定することを更に含む、請求項1に記載の方法。
【請求項7】
命令を含む非一時的コンピュータ可読媒体であって、
前記命令は、処理デバイスによって実行される場合に、
メモリサブシステムによる実行のためにホストシステムによってリクエストされた1つ以上の動作に基づいて、着信リクエストキューにおける作業負荷レベルを判定することであって、前記着信リクエストキューにおける前記作業負荷レベルは、前記1つ以上の動作のタイプ及び前記1つ以上の動作の実行に対応する帯域幅レベル
に基づいて判定される、ことと、
前記着信リクエストキューにおける前記作業負荷レベルに基づいて、前記1つ以上の動作の実行のために活性化される前記メモリサブシステムのメモリダイのセットを識別することと、
電力バジェットレベルに基づいて、メモリダイの前記セットのメモリダイに対する電力モード構成を判定することと、
メモリダイの前記セットの少なくとも第1の部分の1つ以上のパラメータを、低電力モード構成に対応するパラメータ値の第1のセットに構成することと、
メモリダイの前記セットの少なくとも第2の部分の1つ以上のパラメータを、高電力モード構成に対応するパラメータ値の第2のセットに構成することと、
を含む動作を前記処理デバイスに実施させる、非一時的コンピュータ可読媒体。
【請求項8】
前記1つ以上のパラメータをパラメータ値の前記第2のセットに構成することは、チャージポンプをより高い出力電圧に設定すること、チャージポンプクロック周波数を高速化すること、内部バイアス電流を増加させること、チャージポンプ出力抵抗を減少させること、又は、シリアルライズドシングルプレーン演算からマルチプルプレーン並列演算へ変更すること、の内の少なくとも1つを含む、請求項7に記載の非一時的コンピュータ可読媒体。
【請求項9】
前記高電力モード構成と関連付けられた電力レベルは、中間電力モード構成と関連付けられた閾値電力レベルよりも高い、請求項7に記載の非一時的コンピュータ可読媒体。
【請求項10】
前記動作は、メモリダイの前記セットの少なくとも追加の部分を中間電力モード構成に確立することを更に含む、請求項7に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記動作は、
電力バジェットレベルを識別することと、
前記電力バジェットレベルに少なくとも部分的に基づいて、前記高電力モード構成へのメモリダイの前記セットの少なくとも一部分の配置を判定することと、
を更に含む、請求項7に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記高電力モード構成におけるメモリダイの少なくとも前記セットの動作は、前記電力バジェットレベル内の電力レベルを生成する、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項13】
メモリデバイスと、
前記メモリデバイスと動作可能に結合された処理デバイスと、
を含むシステムであって、
前記処理デバイスは、
メモリサブシステムによる実行のためにホストシステムによってリクエストされた1つ以上の動作に基づいて、着信リクエストキューにおける作業負荷レベルを処理デバイスによって判定することであって、前記着信リクエストキューにおける前記作業負荷レベルは、前記1つ以上の動作のタイプ及び前記1つ以上の動作の実行に対応する帯域幅レベル
に基づいて判定される、ことと、
前記着信リクエストキューにおける前記作業負荷レベルに基づいて、前記1つ以上の動作の実行のために活性化される前記メモリサブシステムのメモリダイのセットを識別することと、
電力バジェットレベルに基づいて、メモリダイの前記セットのメモリダイに対する電力モード構成を判定することと、
前記電力モード構成を確立するために、前記メモリダイの1つ以上のパラメータを構成することと、
を含む動作を実施する、システム。
【請求項14】
前記電力モード構成は、低電力モード構成、中間電力モード構成、又は高電力モード構成を含む電力モード構成のセットから選択される、請求項13に記載のシステム。
【請求項15】
前記低電力モード構成に対応する第1の電力レベルは、前記中間電力モード構成に対応する第2の電力レベルよりも低く、前記高電力モード構成に対応する第3の電力レベルは、前記中間電力モード構成に対応する前記第2の電力レベルよりも高い、請求項14に記載のシステム。
【請求項16】
前記メモリダイの前記1つ以上のパラメータは、高電力モード構成を確立するために、前記高電力モード構成に対応するパラメータ値のセットに構成される、請求項13に記載のシステム。
【請求項17】
パラメータ値の前記セットは、内部トリム値、ラッチ値、レジスタ値、フラグ値、チャージポンプ電圧レベル、チャージポンプクロック周波数、内部バイアス電流、又はチャージポンプ出力抵抗の内の1つ以上に対応する、請求項16に記載のシステム。
【請求項18】
前記動作は、メモリダイの前記セットの各メモリダイに対して低電力モード構成、中間電力モード構成、又は高電力モード構成の内の1つを判定することを更に含む、請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、一般的に、メモリサブシステムに関し、より具体的には、メモリサブシステムにおける作業負荷レベルに基づいて電力モードを設定することに関する。
【背景技術】
【0002】
メモリサブシステムは、データを蓄積する1つ以上のメモリデバイスを含み得る。メモリデバイスは、例えば、不揮発性メモリデバイス及び揮発性メモリデバイスであり得る。一般的に、ホストシステムは、メモリデバイスにデータを蓄積し、メモリデバイスからデータを取得するために、メモリサブシステムを利用し得る。
【図面の簡単な説明】
【0003】
開示は、以下に与えられる詳細な説明から、及び開示の様々な実施形態の添付の図面から、より完全に理解されるであろう。図面は、しかしながら、開示を具体的な実施形態に限定するものと解釈すべきではなく、説明及び理解のためだけのものである。
【0004】
【
図1】本開示の幾つかの実施形態に従ったメモリサブシステムを含む例示的なコンピューティングシステムを説明する。
【
図2】幾つかの実施形態に従ったメモリダイに対する電力モード構成を確立するための例示的な方法のフロー図である。
【
図3】幾つかの実施形態に従った幾つかの実施形態に従った1つ以上のメモリダイに対する電力モード構成を確立するように構成された電力モード管理コンポーネントを含む例示的なシステムを説明する。
【
図4】幾つかの実施形態に従った電力モード管理コンポーネントによって判定されるような例示的な電力モード構成を含む表である。
【
図5】幾つかの実施形態に従った電力モード管理コンポーネントによって判定されるような例示的な電力モード構成を含む表である。
【
図6】本開示の実装が動作し得る例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0005】
本開示の態様は、メモリサブシステムにおける作業負荷レベルに基づいて電力モードを設定することに向けられている。メモリサブシステムは、ストレージデバイス、メモリモジュール、又はストレージデバイスとメモリモジュールとのハイブリッドであり得る。ストレージデバイス及びメモリモジュールの例は、
図1に関連して以下に説明される。一般的に、ホストシステムは、データを蓄積するメモリデバイス等の1つ以上のコンポーネントを含むメモリサブシステムを利用し得る。ホストシステムは、メモリサブシステムに蓄積されるデータを提供し得、メモリサブシステムから取得されるデータをリクエストし得る。
【0006】
メモリサブシステムは、複数のメモリダイを有する複数のメモリデバイスに関わる複数の並列動作(例えば、ランダム読み出し、シーケンシャル読み出し、ランダム書き込み、シーケンシャル書き込み等)を実施し得る。複数のメモリデバイスに関わる動作の並列性能は、データの安定性及び信頼性に悪影響を与える、電源でのより高い電流の消費及びより高い電力需要をもたらす。動作のオーバーラップからもたらされる電力問題に対処するために、従来のメモリデバイスは、同時動作の実行中に複数のマルチダイメモリデバイスが動作し得るレベル又は制限を設定するために電力バジェットを用いる。しかしながら、このアプローチは、特定のメモリデバイスの設計に基づいて、1つの事前定義された電力性能レベルを確立することをもたらす。したがって、従来のシステムのコントローラは、事前定義されたピーク性能レベルによって制約され、並列プログラミング及び読み出し動作を実施するために所定の時間に活性化され得るメモリダイの数を制限せざるを得ない。更に、従来の電力管理アプローチは、メモリダイの同時実行に対応する複数の電力インスタンスのオーバーラップを識別することに応答して、1つ以上のメモリデバイスの動作実行アルゴリズムを一時停止することによって実装され得る。しかしながら、5~10マイクロ秒の一時停止をもたらし得るアルゴリズムの一時停止は、実行時間が短い(例えば、50マイクロ秒)ある一定の短時間又は高速動作(例えば、スナップ読み出し動作、シングルレベルセル(SLC)プログラミング動作等)には効果的ではなく、著しい性能の低下(例えば、約30%の性能の低下)をもたらす。
【0007】
本開示の態様は、1つ以上のメモリパッケージの1つ以上のメモリダイに対する電力モード構成を選択的に設定し得るメモリサブシステムによって、上記の及びその他の欠陥に対処する。メモリサブシステムのコントローラは、個別のメモリダイの電力レベルに対応する1つ以上のパラメータを設定することによって、複数の電力モード構成間で1つ以上の個々のダイ又はメモリパッケージ(例えば、複数のダイのセット)を遷移させ得る。複数の電力モード構成は、デフォルト又は中間電力モード構成(例えば、メモリダイの1つ以上の電力モードパラメータが閾値電力レベルを確立するように構成されている場合)、低電力モード構成(例えば、メモリダイの1つ以上の電力モードパラメータが閾値電力レベルを下回る電力レベルを確立するように構成されている場合)、及び高電力モード構成(例えば、メモリダイの1つ以上の電力モードパラメータが閾値電力レベルを上回る電力レベルを確立するように構成されている場合)を含み得る。
【0008】
メモリサブシステムコントローラは、ホストシステムからの電力バジェットリクエストを監視し得る。並行して、コントローラは、着信リクエストキューにおける作業負荷レベルを判定するために、ホストシステムによって発行されたタスクリクエスト(例えば、動作に対するリクエスト)を追跡し得る。コントローラは、メモリダイに発行されるタスクの作業負荷レベル及び動作のタイプ(例えば、ランダム読み出し、シーケンシャル読み出し、ランダム書き込み、シーケンシャル書き込み等)に基づいて、並行してアクセスされるメモリダイの数(例えば、活性化されるメモリダイの数等)を判定し得る。コントローラは、複数の異なるメモリダイ構成セットに対応する電力レベルを計算し得る。各メモリダイ構成セットは、活性化されるメモリダイの各々に対する識別された作業負荷レベル及びに対応する電力モード(すなわち、中間電力モード又は低電力モード)を考慮して活性化される幾つかのメモリダイを含む。
【0009】
複数の異なるメモリダイ構成セットの各々に対する電力レベルを判定すると、コントローラは、リクエストされた電力バジェットの制限内で、識別された作業負荷を実施するために、所望のメモリダイ構成を選択及び実装する。一実施形態では、コントローラは、閾値電力レベルを下回る電力レベルを示す低電力モード構成、閾値電力レベルに等しい電力レベルを示す中間電力モード構成、及び閾値電力レベルを上回る電力を示す高電力モード構成を含む複数の電力モードから所望の電力モードを選択し得る。所望の電力モード構成は、対応するコマンドをダイレベルで(例えば、ダイが異なるパッケージ内にあり得る場合に、個々に各ダイに対して)又はパッケージレベルで(例えば、特定のパッケージ内の全てのダイに対して)送信することによって確立され得る。電力モード構成(例えば、低、中間、及び高電力モード構成)の各々は、メモリダイと関連付けられた電力レベルに影響を与える、メモリダイと関連付けられた1つ以上のパラメータに対する値又は値の範囲の対応するセット(例えば、内部トリム値、ラッチ値、レジスタ値、フラグ値、チャージポンプ電圧レベル、チャージポンプクロック周波数、内部バイアス電流、チャージポンプ出力抵抗、演算アルゴリズム(例えば、マルチプルプレーン並列演算アルゴリズム、シリアライズドシングルプレーン演算アルゴリズム等)によって定義され得る。
【0010】
有利なことに、本開示の実施形態に従ったシステムは、適用可能な電力バジェットを考慮してスループット能力の向上及び動作の実行の最適化を可能にするために、各メモリダイに対する所望の電力モード構成を選択的に識別及び設定する。更に、本開示の実施形態に従ったシステムは、従来の動作一時停止アプローチと比較して、短時間又は高速動作(例えば、スナップ読み出し動作、SLCプログラミング動作等)に対する電力バジェットをより低い性能の低下(例えば、1マイクロ秒の低下)で効果的に管理する。
【0011】
図1は、本開示の幾つかの実施形態に従ったメモリサブシステム110を含む例示的なコンピューティングシステム100を説明する。メモリサブシステム110は、1つ以上の揮発性メモリデバイス(例えば、メモリデバイス140)、1つ以上の不揮発性メモリデバイス(例えば、メモリデバイス130)、又はそれらの組み合わせ等の媒体を含み得る。
【0012】
メモリサブシステム110は、ストレージデバイス、メモリモジュール、又はストレージデバイスとメモリモジュールとのハイブリッドであり得る。ストレージデバイスの例は、ソリッドステートドライブ(SSD)、フラッシュドライブ、ユニバーサルシリアルバス(USB)フラッシュドライブ、組み込みマルチメディアコントローラ(eMMC)ドライブ、ユニバーサルフラッシュストレージ(UFS)ドライブ、セキュアデジタル(SD)カード、及びハードディスクドライブ(HDD)を含む。メモリモジュールの例は、デュアルインラインメモリモジュール(DIMM)、スモールアウトラインDIMM(SO-DIMM)、及び様々なタイプの不揮発性デュアルインラインメモリモジュール(NVDIMM)を含む。
【0013】
コンピューティングシステム100は、デスクトップコンピュータ、ラップトップコンピュータ、ネットワークサーバ、モバイルデバイス、車両(例えば、航空機、ドローン、列車、自動車、又はその他の乗り物)、モノのインターネット(IoT)対応デバイス、組み込みコンピュータ(例えば、車両、産業機器、若しくはネットワーク化された商用デバイス内に含まれるもの)、又はメモリ及び処理デバイスを含むそうしたコンピューティングデバイス等のコンピューティングデバイスであり得る。
【0014】
コンピューティングシステム100は、1つ以上のメモリサブシステム110に結合されたホストシステム
120を含み得る。幾つかの例では、ホストシステム120は、異なるタイプのメモリサブシステム110に結合される。
図1は、1つのメモリサブシステム110に結合されたホストシステム120の一例を説明する。本明細書で使用するとき、“に結合された”又は“と結合された”は、一般的に、電気、光学、磁気等の接続を含む、有線又は無線を問わない、間接的通信接続又は(例えば、コンポーネントを介在しない)直接的通信接続であり得るコンポーネント間の接続を指す。
【0015】
ホストシステム120は、プロセッサチップセットと、プロセッサチップセットによって実行されるソフトウェアスタックとを含み得る。プロセッサチップセットは、1つ以上のコア、1つ以上のキャッシュ、メモリコントローラ(例えば、NVDIMMコントローラ)、及びストレージプロトコルコントローラ(例えば、PCIeコントローラ、SATAコントローラ)を含み得る。ホストシステム120は、例えば、データをメモリサブシステム110に書き込み、メモリサブシステム110からデータを読み出すためにメモリサブシステム110を使用する。
【0016】
ホストシステム120は、物理ホストインターフェースを使用してメモリサブシステム110に結合され得る。物理ホストインターフェースの例は、シリアルアドバンスドテクノロジーアタッチメント(SATA)インターフェース、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、ファイバーチャネル、シリアルアタッチドSCSI(SAS)、スモールコンピューターシステムインターフェース(SCSI)、ダブルデータレート(DDR)メモリバス、デュアルインラインメモリモジュール(DIMM)インターフェース(例えば、ダブルデータレート(DDR)をサポートするDIMMソケットインターフェース)、オープンNANDフラッシュインターフェース(ONFI)、ダブルデータレート(DDR)、低電力ダブルデータレート(LPDDR)、又は任意のその他のインターフェースを含むが、これらに限定されない。物理ホストインターフェースは、ホストシステム120とメモリサブシステム110との間でデータを送信するために使用され得る。ホストシステム120は、メモリサブシステム110がPCIeインターフェースによってホストシステム120と結合される場合にコンポーネント(例えば、メモリデバイス130)にアクセスするためにNVMエクスプレス(NVMe)インターフェースを更に利用し得る。物理ホストインターフェースは、メモリサブシステム110とホストシステム120との間で制御、アドレス、データ、及びその他の信号を渡すためのインターフェースを提供し得る。
図1は、一例としてメモリサブシステム110を説明する。一般的に、ホストシステム120は、同じ通信接続、複数の別個の通信接続、及び/又は通信接続の組み合わせを介して複数のメモリサブシステムにアクセスし得る。
【0017】
メモリデバイス130、140は、異なるタイプの不揮発性メモリデバイス及び/又は揮発性メモリデバイスの任意の組み合わせを含み得る。揮発性メモリデバイス(例えば、メモリデバイス140)は、ダイナミックランダムアクセスメモリ(DRAM)及び同期型ダイナミックランダムアクセスメモリ(SDRAM)等のランダムアクセスメモリ(RAM)であり得るが、これらに限定されない。
【0018】
不揮発性メモリデバイス(例えば、メモリデバイス130)の幾つかの例は、ネガティブand(NAND)タイプのフラッシュメモリ、及び不揮発性メモリセルのクロスポイントアレイである3次元クロスポイント(“3Dクロスポイント”)メモリデバイス等のライトインプレースメモリを含む。不揮発性メモリのクロスポイントアレイは、スタック可能なクロスグリッドデータアクセスアレイと組み合わせて、バルク抵抗の変化に基づいてビットストレージを実施し得る。また、多くのフラッシュベースのメモリとは対照的に、クロスポイント不揮発性メモリは、ライトインプレース動作を実施し得、不揮発性メモリセルが事前に消去されることなく、不揮発性メモリセルはプログラミングされ得る。NANDタイプのフラッシュメモリは、例えば、2次元NAND(2D NAND)及び3次元NAND(3D NAND)を含む。
【0019】
メモリデバイス130の各々は、メモリセルの1つ以上のアレイを含み得る。あるタイプのメモリセル、例えば、シングルレベルセル(SLC)は、セル当たり1ビットを蓄積し得る。マルチレベルセル(MLC)、トリプルレベルセル(TLC)、クワッドレベルセル(QLC)、及びペンタレベルセル(PLC)等の他のタイプのメモリセルは、セル当たり複数ビットを蓄積し得る。幾つかの実施形態では、メモリデバイス130の各々は、SLC、MLC、TLC、QLC、又はこれらの任意の組み合わせ等のメモリセルの1つ以上のアレイを含み得る。幾つかの実施形態では、特定のメモリデバイスは、メモリセルのSLC部分、及びMLC部分、TLC部分、QLC部分、又はPLC部分を含み得る。メモリデバイス130のメモリセルは、データを蓄積するために使用されるメモリデバイスの論理ユニットを指し得るページとしてグループ化され得る。幾つかのタイプのメモリ(例えば、NAND)では、ページは、ブロックを形成するためにグループ化され得る。
【0020】
不揮発性メモリセルの3Dクロスポイントアレイ及びNANDタイプのフラッシュメモリ(例えば、2D NAND、3D NAND)等の不揮発性メモリコンポーネントが説明されているが、メモリデバイス130は、リードオンリーメモリ(ROM)、相変化メモリ(PCM)、自己選択メモリ、その他のカルコゲナイドベースのメモリ、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)、強誘電体ランダムアクセスメモリ(FeRAM)、磁気ランダムアクセスメモリ(MRAM)、スピントランスファートルク(STT)-MRAM、導電性ブリッジングRAM(CBRAM)、抵抗変化型ランダムアクセスメモリ(RRAM)、酸化物ベースのRRAM(OxRAM)、ネガティブor(NOR)フラッシュメモリ、及び電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)等の任意のその他のタイプの不揮発性メモリに基づき得る。
【0021】
メモリサブシステムコントローラ115(又は簡単のためにコントローラ115)は、メモリデバイス130におけるデータの読み出し、データの書き込み、又はデータの消去等の動作及びその他のそうした動作を実施するために、メモリデバイス130と通信し得る。メモリサブシステムコントローラ115は、1つ以上の集積回路及び/若しくはディスクリートコンポーネント、バッファメモリ、又はそれらの組み合わせ等のハードウェアを含み得る。ハードウェアは、本明細書に説明する動作を実施するために専用の(すなわち、ハードコードされた)ロジックを有するデジタル回路を含み得る。メモリサブシステムコントローラ115は、マイクロコントローラ、専用論理回路(例えば、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等)、又はその他の適切なプロセッサであり得る。
【0022】
メモリサブシステムコントローラ115は、ローカルメモリ119内に蓄積された命令を実行するように構成された1つ以上のプロセッサ(例えば、プロセッサ117)を含む処理デバイスであり得る。説明する例では、メモリサブシステムコントローラ115のローカルメモリ119は、メモリサブシステム110とホストシステム120との間の通信を処理することを含む、メモリサブシステム110の動作を制御する様々なプロセス、動作、論理フロー、及びルーチンを実施するための命令を蓄積するように構成された組み込みメモリを含む。
【0023】
幾つかの実施形態では、ローカルメモリ119は、メモリポインタ、フェッチされたデータ等を蓄積するメモリレジスタを含み得る。ローカルメモリ119は、マイクロコードを蓄積するためのリードオンリーメモリ(ROM)をも含み得る。
図1の例示的なメモリサブシステム110は、メモリサブシステムコントローラ115を含むものとして説明されているが、本開示の別の実施形態では、メモリサブシステム110は、メモリサブシステムコントローラ115を含まず、代わりに(例えば、外部ホストによって、又はメモリサブシステムとは別個のプロセッサ若しくはコントローラによって提供される)外部制御に依存し得る。
【0024】
一般的に、メモリサブシステムコントローラ115は、ホストシステム120からコマンド又は動作を受信し得、コマンド又は動作を、メモリデバイス130への所望のアクセスを達成するための命令又は適切なコマンドに変換し得る。メモリサブシステムコントローラ115は、ウェアレベリング動作、ガベージコレクション動作、エラー検出及びエラー訂正コード(ECC)動作、暗号化動作、キャッシング動作、並びにメモリデバイス130と関連付けられた論理ブロックアドレス(例えば、論理ブロックアドレス(LBA)、名前空間)と物理ブロックアドレス(例えば、物理ブロックアドレス)との間のアドレス変換等のその他の動作を担い得る。メモリサブシステムコントローラ115は、物理ホストインターフェース介してホストシステム120と通信するためにホストインターフェース回路を更に含み得る。ホストインターフェース回路は、ホストシステムから受信したコマンドを、メモリデバイス130にアクセスするためのコマンド命令に変換し得ると共に、メモリデバイス130と関連付けられた応答をホストシステム120に対する情報に変換し得る。
【0025】
メモリサブシステム110はまた、説明されていない追加の回路又はコンポーネントを含み得る。幾つかの実施形態では、メモリサブシステム110は、キャッシュ又はバッファ(例えば、DRAM)と、メモリサブシステムコントローラ115からアドレスを受信し得、メモリデバイス130にアクセスするためにアドレスを復号し得るアドレス回路(例えば、行デコーダ及び列デコーダ)とを含み得る。
【0026】
幾つかの実施形態では、メモリデバイス130は、メモリデバイス130の1つ以上のメモリセルに対する動作を実行するために、メモリサブシステムコントローラ115と共に動作するローカルメディアコントローラ135を含む。外部コントローラ(例えば、メモリサブシステムコントローラ115)は、メモリデバイス130を外部から管理し得る(例えば、メモリデバイス130に対するメディア管理動作を実施し得る)。幾つかの実施形態では、メモリデバイス130は、同じメモリデバイスパッケージ内のメディア管理のためにローカルコントローラ(例えば、ローカルコントローラ135)と組み合わされた生のメモリデバイスであるマネージドメモリデバイスである。マネージドメモリデバイスの一例は、マネージドNAND(MNAND)デバイスである。
【0027】
メモリサブシステム110は、着信リクエストキューにおける作業負荷レベルを判定するためにホストシステム120からの動作リクエストを監視し得る電力モード管理コンポーネント113を含む。着信リクエストキューにおける作業負荷レベルに基づいて、電力モード管理コンポーネント113は、作業負荷を実施するために同時にアクセス又は活性化されるメモリダイのセットを識別し得る。着信リクエストキューにおける作業負荷レベルは、実行される動作(例えば、読み出し動作、書き込み動作、ランダム読み出し動作、シーケンシャル読み出し動作等)の数及びタイプを含み得る。電力モード管理コンポーネント113は、電力バジェットレベル(例えば、1つ以上の活性化されたメモリダイに供給され得る電力の合計又は最大レベル)を更に判定し得る。
【0028】
一実施形態では、電力モード管理コンポーネント113は、電力バジェットレベルに基づいて、活性化されるメモリダイのセット内のメモリダイの数と、実施される1つ以上の動作と関連付けられた電力消費に関連する特性と、電力モード構成のセットからの活性化されるメモリダイの各々に対する電力モード構成とを選択する。一実施形態では、電力モード構成のセットは、低電力モード構成、中間電力モード構成、及び高電力モード構成を含み得る。電力モード構成(例えば、低、中間、高電力モード構成)の各々は、メモリダイの1つ以上のパラメータの値又は値の範囲のセット(内部トリム値、ラッチ値、レジスタ値、フラグ値、チャージポンプ電圧レベル、チャージポンプクロック周波数、内部バイアス電流、チャージポンプ出力抵抗、演算アルゴリズム(例えば、マルチプレーン並列演算アルゴリズム、シリアライズドシングルプレーン演算アルゴリズム等)と関連付けられる。電力モード管理コンポーネント113は、選択された電力モード構成に対応する値をセットするように1つ以上のパラメータを構成することによって、メモリダイを選択された電力モード構成に配置し得る。
【0029】
低電力モード構成は、もたらされる電力レベルが閾値電力レベルを下回るように、メモリダイの1つ以上のパラメータを値の第1セットに設定することによって確立され得る。中間電力モード構成は、もたらされる電力レベルが閾値電力レベルに等しくなるように、メモリダイの1つ以上のパラメータを値の第2セットに設定することによって確立され得る。高電力モード構成は、もたらされる電力レベルが閾値電力レベルを上回るように、メモリダイの1つ以上のパラメータを値の第3のセットに設定することによって確立され得る。
【0030】
一実施形態では、個別の低電力モード、中間電力モード、又は高電力モードを定義又は確立するために使用されるパラメータ値の第1のセット、パラメータ値の第2のセット、及びパラメータ値の第3のセットは、メモリデバイスの製造中に事前設定され得、又は電力モード管理コンポーネント113によって確立され得る。
【0031】
メモリダイに対する電力モード構成(例えば、低、通常、又は高)を選択すると、電力モード管理コンポーネント113は、所望の電力モード構成を設定するために、メモリダイの1つ以上のパラメータを構成する。一実施形態では、電力モード管理コンポーネント113は、1つ以上の動作の実行前に、又は1つ以上の動作の実行中に、1つ以上のパラメータを構成又は設定し得る。選択された電力モード構成を設定するように構成されたメモリダイのパラメータは、例えば、内部トリム値、ラッチ、レジスタ、フラグ、チャージポンプ電圧レベル、チャージポンプクロック周波数、内部バイアス電流、チャージポンプ出力抵抗、演算アルゴリズム(例えば、マルチプレーン並列演算アルゴリズム、シリアライズドシングルプレーン演算アルゴリズム等)等を含み得る。
【0032】
一実施形態では、電力モード管理コンポーネント113は、メモリダイの1つ以上のパラメータを設定するために、適切なインターフェース(例えば、オープンNANDフラッシュインターフェース(ONFI)等のフラッシュインターフェース)を介してコマンド又はコマンドシーケンス(例えば、セット機構コマンドシーケンス)を送信することによって、(例えば、異なるメモリパッケージ内に配置されたメモリダイを含む)各メモリダイに対して所望の電力モード構成を個々に設定し得る。
【0033】
一実施形態では、選択された電力モード構成は、作業負荷の実行と関連付けられた総電力が電力バジェット内にある又はそれを下回るように、活性化されたメモリダイのセットに対して確立される。有利なことに、電力モード管理コンポーネント113は、着信リクエストキューにおける作業負荷レベルを判定するために、ホストシステム120からのタスク又は作業負荷リクエストを監視する。
【0034】
図2は、ホストシステムによってリクエストされた1つ以上の動作の実行のために同時に活性化される1つ以上のメモリダイに対する所望の電力モード構成を識別及び確立するための例示的な方法200のフロー図である。方法200は、ハードウェア(例えば、処理デバイス、回路、専用ロジック、プログラマブルロジック、マイクロコード、デバイスのハードウェア、集積回路等)、ソフトウェア(例えば、処理デバイス上で実行する又は実行される命令)、又はそれらの組み合わせを含み得る処理ロジックによって実施され得る。幾つかの実施形態では、方法200は、
図1の電力モード管理コンポーネント113によって実施される。また、
図3は、方法200の動作を実施するように構成された電力モード管理コンポーネント113を含む例示的なメモリサブシステム115を説明する。特定のシーケンス又は順序で示されているが、特に明記しない限り、プロセスの順序は修正され得る。したがって、説明する実施形態は例としてのみ理解されるべきであり、説明するプロセスは異なる順序で実施され得、幾つかのプロセスは並行して実施され得る。また、様々な実施形態では、1つ以上のプロセスは省略され得る。したがって、あらゆる実施形態において全てのプロセスが必要とされるわけではない。他のプロセスフローが可能である。
【0035】
図2に示すように、動作210において、処理ロジックは、メモリサブシステムによる実行のためにホストシステムによってリクエストされた1つ以上の動作に基づいて、着信リクエストキューにおける作業負荷レベルを判定する。一実施形態では、作業負荷レベルは、1つ以上のメモリデバイスと関連付けられたホストシステムによってリクエストされるタスク又は動作の数、作業量(例えば、データペイロードのサイズ、転送されるデータの量等)、及び動作のタイプ(例えば、読み出し、書き込み、ランダム読み出し等)を表す。一実施形態では、処理ロジックは、着信リクエストキューにおける作業負荷レベルを判定するために、ホストシステムによって生成された1つ以上のリクエストを監視する。
【0036】
一実施形態では、作業負荷レベルは、ホストシステムが1つ以上の動作を実施するために必要とされる帯域幅レベルを表し得る。帯域幅レベルは、リクエストされた1つ以上の動作に基づいて判定され得る。一実施形態では、帯域幅レベルは、着信リクエストキューにおける動作リクエストを考慮して、1つ以上のメモリデバイスに書き込まれる、又は1つ以上のメモリデバイスから読み出されるデータサイズのサイズに基づく。例えば、処理ロジックは、ホストシステムが2000MB/sのシーケンシャル読み出し帯域幅レベルを必要とすると判定し得る。一実施形態では、ホストシステムからのリクエストを監視することによって、電力バジェットレベル及び帯域幅レベルは並行して判定され得る。別の例では、処理ロジックは、ホストシステムが900MB/sのシーケンシャル書き込み帯域幅レベルを必要とすると判定し得る。
【0037】
図3に示すように、電力モード管理コンポーネント113は、ホストシステム120によって発行された1つ以上の動作リクエストを識別する着信リクエストキュー350を監視し得る。一実施形態では、タスクキュー350は、ホストシステム120からの1つ以上の動作リクエストに関する情報(例えば、動作タイプ、対応する帯域幅レベル等)を蓄積するストレージ位置(例えば、メモリサブシステムコントローラ115によってアクセス可能なキャッシュメモリ)内に蓄積されたデータ構造を含み得る。
図3では、電力モード管理コンポーネント113は、電力バジェットを識別する電力リクエストを識別するためにホストシステム120を監視し得る。
【0038】
動作220において、処理ロジックは、キューにおける作業負荷レベルに基づいて、1つ以上の動作の実行のために活性化されるメモリサブシステムのメモリダイのセットを識別する。一実施形態では、処理デバイスは、着信リクエストキューにおける作業負荷レベル(例えば、実行される動作の数及びそれらの動作の1つ以上のタイプ)に基づいて活性化される(並行してアクセスされる)メモリダイの数を計算し得る。一実施形態では、動作の各タイプ(例えば、ランダム読み出し動作、シーケンシャル読み出し動作、ランダム書き込み動作、シーケンシャル書き込み動作等)は、特定の動作タイプの実行と関連付けられた対応する電力又は電流消費によって特徴付けられるような対応する作業負荷又は帯域幅レベルと関連付けられ得る。一実施形態では、着信リクエストキューにおける作業負荷レベルは、実行される動作の数を表し、対応する動作タイプは、作業負荷レベルを満たす(例えば、1つ以上の動作を完了する)ために同時に又は並行して活性化されるメモリダイの数を計算する際に考慮される。例えば、シーケンシャル読み出し動作中に用いられるメモリダイの数は、各メモリダイのアクセス単位サイズで割った読み出し動作のサイズに基づいて判定され得る。一実施形態では、1つ以上のランダム読み出し動作を実行するために活性化されるメモリダイの数は、メモリダイの総数で割ったキューにおける未解決の読み出しリクエストの数に基づいて判定され得る。一実施形態では、シーケンシャル書き込みで活性化されるメモリダイの数は、各メモリダイ当たりの帯域幅レベルで割った、ストレージインターフェース(例えば、ユニバーサルフラッシュストレージ)上で検出されるシステム帯域幅に基づいて判定され得る。
図3に示す例では、電力モード管理コンポーネント113は、着信リクエストキューにおける作業負荷レベルに対応する動作を実施するために、メモリダイパッケージAのメモリダイA1、A2、A3...An及びメモリダイパッケージYのメモリダイY1、Y2、Y3...Ynを含むメモリダイのセットを識別し得る。
【0039】
動作230において、処理ロジックは、電力バジェットレベルに基づいて、メモリダイのセットのメモリダイに対する電力モード構成を判定する。一実施形態では、処理ロジックは、電力バジェットリクエストを識別するために、ホストシステムを監視することによって電力バジェットレベルを判定する。一実施形態では、電力バジェットリクエストは、着信リクエストキューにおける作業負荷レベルの性能のために割り当てられる又は配分される総電力のレベル又は量を識別する。例えば、リクエストされた動作の実行が、同時に活性化されるメモリダイによって消費され得る800mAの合計又は電流レベルを有するように、電力バジェットレベルは800mAの値を確立し得る。
【0040】
活性化するメモリダイの数(例えば、着信リクエストキューにおける作業負荷レベルを実行するために並行してアクセスされるメモリダイの数)を判定すると、処理ロジックは、電力バジェットレベルと、個別の電力モード構成にある場合に各メモリダイによって消費される電流の対応するレベルとを考慮して、何れの電力モード構成が活性化されるメモリダイの各々に配置されるかを判定し得る。電力モード構成(例えば、低、中間、高)の各々は、所与の電力モード構成で動作する場合に各メモリダイによって消費される電流の対応するレベルと関連付けられ得る。例えば、低電力モード構成は、メモリダイ当たり100mAの電流レベルと関連付けられ得、中間電力モード構成は、メモリダイ当たり200mAの電流レベルと関連付けられ得、高電力モード構成は、メモリダイ当たり400mAの電流レベルと関連付けられ得る。一実施形態では、処理ロジックは、メモリダイのセットの合計電流レベルが電力バジェットレベル内にあるように、各電力モード構成に対する対応する電流レベルを考慮して、電力モード構成の内の1つ以上に配置されるメモリダイの数を判定する。例えば、処理ロジックが800mAのデフォルトの総システム電力制限又はバジェットを有する場合、処理ロジックは、2つのメモリダイが高電力モード構成に配置され、4つのメモリダイが中間電力モード構成に配置され、8つのメモリダイが低電力モード構成に配置されることを計算し得る。一実施形態では、総システム電力制限は、エンドユーザによって構成され得、又はメモリサブシステムと関連付けられた1つ以上のパラメータ(例えば、バッテリレベル、温度等)に基づいてオンザフライで構成され得る。
【0041】
図3に示すように、電力モード管理コンポーネント113は、メモリダイレベル又はメモリダイパッケージレベルでメモリダイの各々に対して適用可能な電力モード構成(例えば、低電力モード構成、中間電力モード構成、及び高電力モード構成)の内の1つを識別し得る。示されるように、電力モード構成の各々は、パラメータ値の対応するセットと関連付けられる。
【0042】
動作240において、処理ロジックは、電力モード構成を確立するためにメモリダイの1つ以上のパラメータを構成する。一実施形態では、処理ロジックは、メモリダイの1つ以上のパラメータを、選択された電力モード構成に対応する値のセットに設定する。一実施形態では、処理ロジックは、1つ以上のパラメータを、所望の電力モード構成に対応する値のセットに構成し得る。
図3に示す例のように、電力モード管理コンポーネント113は、メモリダイを低電力モード構成に配置するために、特定のメモリダイ(例えば、ダイA1)の1つ以上のパラメータをパラメータ値の第1のセットに構成又は調整するための電力モード構成コマンド(例えば、設定機構コマンド)を発行し得る。一実施形態では、
図3に示すように、電力モード管理コンポーネント113は、メモリダイを通常電力モード構成に配置するために、特定のメモリダイ(例えば、ダイA1)の1つ以上のパラメータをパラメータ値の第2のセットに構成又は調整するための電力モード構成コマンドを発行し得る。一実施形態では、
図3に示すように、電力モード管理コンポーネント113は、メモリダイを高電力モード構成に配置するために、特定のメモリダイ(例えば、ダイA1)の1つ以上のパラメータをパラメータ値の第3のセットに構成又は調整するための電力モード構成コマンドを発行し得る。
【0043】
一実施形態では、処理ロジックは、動作中に電力を削減する必要があることを示すために、内部トリム、ラッチ、レジスタ、フラグ等の内の1つ以上の値を値の第1のセットに設定するためのコマンドシーケンスを発行することによって、メモリダイを低電力モード構成に配置する(すなわち、通常電力モード構成から遷移させる)ようにメモリダイを構成し得る。一実施形態では、処理ロジックは、チャージポンプをより低い出力電圧に設定する、チャージポンプクロック周波数を低下させる、内部バイアス電流を制限する、チャージポンプ出力抵抗を増加させる、演算アルゴリズムを変更する(例えば、マルチプレーン並列演算からシリアライズドシングルプレーン演算に切り替える)等のために、パラメータ値の第1のセットに対応するように後続のパラメータの内の1つ以上を構成することによってメモリダイを低電力モード構成に配置し得る。
【0044】
一実施形態では、メモリダイは、デフォルトで中間電力モードに配置され得る(例えば、デフォルトのパラメータ値は、パラメータ値の第2のセットに対応する)。一実施形態では、処理ロジックは、(例えば、中間又はデフォルト電力モード構成と関連付けられた閾値電力レベルと比較して)動作中に電力レベルを低減するために、内部トリム、ラッチ、レジスタ、フラグ等の内の1つ以上の値を値の第1のセットに構成するためのコマンドシーケンスを発行することによって、メモリダイを低電力モード構成に配置し(すなわち、通常電力モード構成から遷移させ)得る。一実施形態では、処理ロジックは、チャージポンプをより低い出力電圧に設定する、チャージポンプクロック周波数を低下させる、内部バイアス電流を制限する、チャージポンプ出力抵抗を増加させる、演算アルゴリズムを変更する(例えば、マルチプレーン並列演算からシリアライズドシングルプレーン演算に切り替える)等のために、パラメータ値の第1のセットに対応するように後続のパラメータの内の1つ以上を構成することによって、メモリダイを低電力モード構成に配置し得る。
【0045】
一実施形態では、処理ロジックは、(例えば、中間又はデフォルト電力モード構成と関連付けられた閾値電力レベルと比較して)動作中の電力レベルを増加させるために、内部トリム、ラッチ、レジスタ、フラグ等の内の1つ以上の値を値の第3のセットに構成するためのコマンドシーケンスを発行することによって、メモリダイを高電力モード構成に配置し(すなわち、通常電力モード構成から遷移させ)得る。一実施形態では、処理ロジックは、チャージポンプをより高い出力電圧に設定する、チャージポンプクロック周波数を高速化する、内部バイアス電流を増加させる、チャージポンプ出力抵抗を減少させる、演算アルゴリズムを変更する(例えば、シリアライズドシングルプレーン演算からマルチプルプレーン並列演算へ切り替える)等するために、パラメータ値の第3のセットに対応するように後続のパラメータの内の1つ以上を構成することによって、メモリダイを高電力モードに配置し得る。
【0046】
図4は、着信リクエストキューにおける識別された作業負荷レベル、活性化されるメモリダイのセット、及び電力バジェットを考慮して、処理デバイスによって確立された電力モード構成の例を含む表を説明する。
図4に示す例では、処理ロジックは、メモリダイを3つの電力モード構成
、メモリダイ当たり
100mAの電流レベルを有する低電力モード構成
、メモリダイ当たり
200mAの電流レベルを有する中間電力モード構成
、メモリダイ当たり
400mAの電流レベルを有する高電力モード構成の内の1つに配置し得る。
【0047】
図4に示す一例では、処理ロジックは、32個の動作の着信リクエストキューにおける作業負荷レベルを判定する。着信リクエストキューにおける作業負荷レベルを考慮して、処理ロジックは、作業負荷レベルを実施するために活性化する8つのメモリダイのセットを判定する。800mAの電力バジェットを考慮して、処理ロジックは、8つのメモリダイが低電力モード構成に配置されると判定する。この例では、低電力モード構成への8つのメモリダイの配置は、着信リクエストキューにおける作業負荷レベルが、識別された電力バジェット内で実施されることを可能にする。
【0048】
図4に示す別の例では、処理ロジックは、8つの動作の着信リクエストキューにおける作業負荷レベルを判定する。着信リクエストキューにおける作業負荷レベルを考慮して、処理ロジックは、作業負荷レベルを実施するために活性化する4つのメモリダイのセットを判定する。800mAの電力バジェットを考慮して、処理ロジックは、4つのメモリダイが通常電力モード構成に配置されると判定する。この例では、通常電力モード構成への4つのメモリダイの配置は、メモリダイのセットに対する電力モード構成を最適化しつつ(例えば、作業負荷レベル及び電力バジェットを考慮して、適用可能な最高の設定を有する電力モード構成(例えば、通常)にメモリダイのセットを配置しつつ)、着信リクエストキューの作業負荷レベルが、識別された電力バジェット内で実施されることを可能にする。
【0049】
図4に示す更なる例では、処理ロジックは、1つの動作の着信リクエストキューにおける作業負荷レベルを判定する。着信リクエストキューにおける作業負荷レベルを考慮して、処理ロジックは、作業負荷レベルを実施するために活性化する1つのメモリダイのセットを判定する。800mAの電力バジェットを考慮して、処理ロジックは、1つのメモリダイが高電力モード構成に配置されると判定する。この例では、高電力モード構成への活性化されたメモリダイの配置は、メモリダイのセットに対する電力モード構成を最適化しつつ(例えば、作業負荷レベル及び電力バジェットを考慮して、適用可能な最高の設定を有する電力モード構成に1つのメモリダイを配置しつつ)、着信リクエストキューにおける作業負荷レベルが、識別された電力バジェット内で実施されることを可能にする。
【0050】
一実施形態では、電力モード構成は、低電力モード構成、中間電力モード構成、及び高電力モード構成の内の1つであり得る。一実施形態では、適用可能な電力モード構成(例えば、低、中間、及び高)の各々は、メモリダイパラメータ値(又は値の範囲)の対応するセットと関連付けられる。一実施形態では、低電力モード構成はパラメータ値の第1のセットと関連付けられ、中間電力モード構成はパラメータ値の第2のセットと関連付けられ、高電力モード構成はパラメータ値の第3のセットと関連付けられる。一実施形態では、処理ロジックが所望の電力モード構成に対応する値のセットを識別し得るように、異なる電力モード構成及びパラメータ値の対応するセットは事前定義され得る。複数の異なる電力モード構成は、対応する動作の実行において活性化された場合にメモリダイの各々によって消費される電力の相対的なレベルを表す。
【0051】
図5は、本開示の実施形態に従った、リクエストされた動作タイプ及び対応する帯域幅レベル要件によって表される着信リクエストキューにおける識別された作業負荷レベルを考慮して、処理デバイスによって確立された電力モード構成の例を含む表を説明する。
図5に示す一例では、ホストシステムは、800mAの電力バジェットで2000MB/sの帯域幅レベルを必要とするシーケンシャル読み出し動作に対するリクエストを発行し得る。電力モードコンポーネント113は、32個の読み出しコマンドの着信リクエストキューにおける作業負荷レベルを判定し得、2000MB/sの帯域幅レベルにサービスを提供するために8個のメモリダイが活性化されることを計算し得、各メモリダイは250MB/sの読み出しスループットを有する。一実施形態では、8つのメモリダイのセットは、読み出し動作を並行して実施するための活性化のために識別される。800mAの電力バジェットを満たすために、電力モードコンポーネント113は、8つの活性化するメモリダイの内の6つを低電力モード構成に構成し得、残りの2つの活性化するメモリダイを中間電力モード構成に構成し得る。
【0052】
図5に示す別の例では、ホストシステムは、800mAの電力バジェットで1000MB/sの帯域幅レベルを必要とするシーケンシャル書き込み動作に対するリクエストを発行し得る。電力モードコンポーネント113は、8個の128kBサイズの書き込みコマンドの着信リクエストキューにおける作業負荷レベルを判定し得、この例では、各メモリダイは32kBを各々処理し得るため、シーケンシャル書き込み動作を実施するために活性化する4つのメモリダイのセットを識別し得る。800mAの電力バジェットを満たし、電力性能を最適化するために、電力モードコンポーネント113は、4つの活性化するメモリダイ全てを中間電力モード構成に構成し得る。
【0053】
図5に示す更なる別の例では、ホストシステムは、400mAの電力バジェットで100MB/sの帯域幅レベルを必要とするシーケンシャル読み出し動作に対するリクエストを発行し得る。この例では、電力モードコンポーネント113は、1つの大規模書き込み動作の着信リクエストキューにおける作業負荷レベルを判定し得、大規模書き込み動作は低スループット要件を有し、250MB/sのスループットを有する1つのメモリダイでサービスを提供し得るため、シーケンシャル書き込み動作を実施するために活性化する1つのメモリダイのセットを識別し得る。400mAの電力バジェットを満たし、電力性能を最適化するために、電力モードコンポーネント113は、1つの活性化されたメモリダイを高電力モード構成に構成し得る。
【0054】
図6は、本明細書で論じる方法の内の何れか1つ以上をマシンに実施させるための命令のセットが実行され得るコンピュータシステム600の例示的なマシンを説明する。幾つかの実施形態では、コンピュータシステム600は、メモリサブシステム(例えば、
図1のメモリサブシステム110)を含み、それに結合され、又はそれを利用するホストシステム(例えば、
図1のホストシステム120)に対応し得、又は、コントローラの動作を実施するために(例えば、
図1の電力モード管理コンポーネント113に対応する動作を実施するためにオペレーティングシステムを実行するために)使用され得る。代替的実施形態では、マシンは、LAN、イントラネット、エクストラネット、及び/又はインターネット内の他のマシンと接続(例えば、ネットワーク接続)され得る。マシンは、クライアントサーバネットワーク環境でサーバ若しくはクライアントマシンの性能で、ピアツーピア(若しくは分散)ネットワーク環境でピアマシンとして、又はクラウドコンピューティングインフラストラクチャ若しくは環境でサーバ若しくはクライアントマシンとして動作し得る。
【0055】
マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルーター、スイッチ若しくはブリッジ、デジタル若しくは非デジタル回路、又は該マシンによって実行されるアクションを指定する(シーケンシャルな又はその他の方法の)命令のセットを実行可能な任意のマシンであり得る。更に、単一のマシンが説明されているが、用語“マシン”は、本明細書で論じる方法の内の何れか1つ以上を実施するために命令のセット(又は複数のセット)を個々に又は共同して実行するマシンの任意の集合をも含むと解釈されるであろう。
【0056】
例示的なコンピュータシステム600は、処理デバイス602と、メインメモリ604(例えば、リードオンリーメモリ(ROM)、フラッシュメモリ、同期型DRAM(SDRAM)又はランバスDRAM(RDRAM)等のダイナミックランダムアクセスメモリ(DRAM)等)と、スタティックメモリ606(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)等)と、データストレージシステム618とを含み、それらは、バス630を介して相互に通信する。
【0057】
処理デバイス602は、マイクロプロセッサ又は中央処理デバイス等の1つ以上の汎用処理デバイスを表す。より具体的には、処理デバイスは、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、若しくはその他の命令セットを実装するプロセッサ、又は命令セットの組み合わせを実装するプロセッサであり得る。処理デバイス602はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、又はネットワークプロセッサ等の1つ以上の専用処理デバイスであり得る。処理デバイス602は、本明細書で論じる動作及びステップを実施するための命令626を実行するように設定される。コンピュータシステム600は、ネットワーク620を介して通信するためのネットワークインターフェースデバイス608を更に含み得る。
【0058】
データストレージシステム618は、本明細書に説明する方法又は機能の内の何れか1つ以上を具体化する命令626又はソフトウェアの1つ以上のセットが蓄積されるマシン可読ストレージ媒体624(コンピュータ可読媒体としても知られる)を含み得る。命令626はまた、コンピュータシステム600による実行中にメインメモリ604内及び/又は処理デバイス602内に完全に又は少なくとも部分的に常駐し得、メインメモリ604及び処理デバイス602もマシン可読ストレージ媒体を構成する。マシン可読ストレージ媒体624、データストレージシステム618、及び/又はメインメモリ604は、
図1のメモリサブシステム110に対応し得る。
【0059】
一実施形態では、命令626は、データ保護コンポーネント(例えば、
図1の電力モード管理コンポーネント113)に対応する機能を実装するための命令を含む。マシン可読ストレージ媒体624は一実施形態では単一の媒体として示されているが、用語“マシン可読ストレージ媒体”は、命令の1つ以上のセットを蓄積する単一の媒体又は複数の媒体を含むと解釈すべきである。用語“マシン可読ストレージ媒体”はまた、マシンによる実行のための命令のセットを蓄積又は符号化可能であり、本開示の方法の内の任意の1つ以上をマシンに実施させる任意の媒体を含むと解釈されるであろう。用語“マシン可読ストレージ媒体”は、したがって、固体メモリ、光学媒体、及び磁気媒体を含むが、これらに限定されないと解釈されるであろう。
【0060】
前述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズム及び記号表現に関して提示されている。これらのアルゴリズムの記述及び表現は、データ処理技術の当業者が彼らの仕事の内容を他の当業者に最も効果的に伝えるために使用される方法である。アルゴリズムはここにあり、一般的に、所望の結果につながる一貫した一連の動作であると考えられる。動作は、物理量の物理的な操作を必要とする動作である。必ずではないが、通常、これらの量は、蓄積され、組み合わされ、比較され、さもなければ操作されることが可能な電気信号又は磁気信号の形式をとる。これらの信号をビット、値、要素、記号、文字、項、又は数等と称することは、主に一般的な使用上の理由から、場合によっては便利であることが証明されている。
【0061】
しかしながら、これらの及び類似の用語の全ては、適切な物理量と関連付けられ、これらの量に適用される便利なラベルにすぎないことに留意すべきである。本開示は、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)量として表されるデータを、コンピュータシステムのメモリ若しくはレジスタ、又はその他のそうした情報ストレージシステム内の物理量として同様に表されるデータに操作及び変換する、コンピュータシステム又は同様の電子コンピューティングデバイスのアクション及びプロセスに言及し得る。
【0062】
本開示はまた、本明細書の動作を実施するための装置に関する。この装置は、意図した目的のために特別に構築され得、又はコンピュータ内に蓄積されたコンピュータプログラムによって選択的に起動又は再設定される汎用コンピュータを含み得る。そうしたコンピュータプログラムは、非限定的に、コンピュータシステムバスに各々結合された、フロッピーディスク、光ディスク、CD-ROM、及び光磁気ディスクを含む任意のタイプのディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード若しくは光カード、又は電子的命令を蓄積するのに適した任意のタイプの媒体等のコンピュータ可読ストレージ媒体内に蓄積され得る。
【0063】
本明細書に提示されるアルゴリズム及び表示は、本質的に特定のコンピュータ又はその他の装置と関連付けられない。本明細書の教示に従ったプログラムを用いて様々な汎用システムが使用され得、又は方法を実施するためのより特化した装置を構築することが便利であることが証明され得る。様々なこれらのシステムに対する構造は、以下の説明の記述に現れるであろう。また、本開示は、任意の特定のプログラミング言語に言及して説明されていない。本明細書に説明するような開示の教示を実装するために、様々なプログラミング言語が使用され得ることは理解されるであろう。
【0064】
本開示は、命令をその上に蓄積したマシン可読媒体を含み得るコンピュータプログラム製品又はソフトウェアとして提供され得、それは、本開示に従ったプロセスを実施するためにコンピュータシステム(又はその他の電子デバイス)をプログラミングするために使用され得る。マシン可読媒体は、マシン(例えば、コンピュータ)によって可読な形式で情報を蓄積するための任意のメカニズムを含む。幾つかの実施形態では、マシン可読(例えば、コンピュータ可読)媒体は、リードオンリーメモリ(“ROM”)、ランダムアクセスメモリ(“RAM”)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリコンポーネント等のマシン(例えば、コンピュータ)可読ストレージ媒体を含む。
【0065】
前述の明細書では、開示の実施形態は、それらの具体的な例示的実施形態に言及して説明されている。以下の特許請求の範囲に記載されるような開示の実施形態のより広い精神及び範囲から逸脱することなく、様々な修正がそれらになされ得ることは明らかであろう。明細書及び図面は、したがって、限定的な意味ではなく、例示的な意味でみなされるべきである。