JP2017059223A - 電力消費を制御するシステム及びその方法 - Google Patents

電力消費を制御するシステム及びその方法 Download PDF

Info

Publication number
JP2017059223A
JP2017059223A JP2016155467A JP2016155467A JP2017059223A JP 2017059223 A JP2017059223 A JP 2017059223A JP 2016155467 A JP2016155467 A JP 2016155467A JP 2016155467 A JP2016155467 A JP 2016155467A JP 2017059223 A JP2017059223 A JP 2017059223A
Authority
JP
Japan
Prior art keywords
power consumption
control circuit
processor
memories
operating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016155467A
Other languages
English (en)
Other versions
JP2017059223A5 (ja
JP6788420B2 (ja
Inventor
インソク スティーブン チェ
Stephen Choi Inseok
インソク スティーブン チェ
秉 英 安
Byoung-Young Ahn
秉 英 安
亮 ソク 奇
Yang Seok Ki
亮 ソク 奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2017059223A publication Critical patent/JP2017059223A/ja
Publication of JP2017059223A5 publication Critical patent/JP2017059223A5/ja
Application granted granted Critical
Publication of JP6788420B2 publication Critical patent/JP6788420B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】向上した最適化手段を具備し電力消費を好適に制御するシステム及びその方法を提供する。【解決手段】本発明による電力消費を制御するシステムは、電力消費を制御するシステムにおいて、プロセッサと、複数のメモリと、前記プロセッサ及び前記メモリに接続される制御回路と、を有し、前記制御回路は、電力制限を受信し、前記プロセッサ及び前記複数のメモリの電力消費を測定し、前記プロセッサ及び前記複数のメモリの複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能(objective function)を、前記電力消費が前記電力制限と同一であるか又はそれより低い動作状態に最適化するよう構成される。【選択図】 図1A

Description

本発明はシステムにおける電力消費の制御に関し、特に、ストレージシステムにおいて電力消費を制御することのできる電力消費を制御するシステム及びその方法に関する。
装置の電力消費は、商業及び消費者市場で主要メトリックになっている。
例えば、商業データセンタで冷却費用は全体費用の3分の1まで占める。
また、近来のデータセンササーバは、NVMe(Non Volatile Memory express)装置のような高性能のSSD(Solid State Drive)を採用している。
NVMe装置は、通常的に高性能のCPU(Central Processing Unit)及び大容量のDRAM(Dynamic Random Access Memory)を含み、他のSSDと比較してさらに高い性能を提供する。
このような高性能の装置はさらに多い電力を消費し、これはデータセンタ構成の電力消費の大部分を占める。
同様に、ラップトップのような消費者のモバイル装置も高性能のSSDを採用し始めている。
電力消費は、モバイル装置が電源から分離されたとき(AC電源等を用いない、内蔵バッテリを使用するような場合)の主要な要因となっている。
SSDは、最大熱設計電力TDP(Thermal Design Power)を含むことができる。
しかしながら、TDPは、装置にダメージが生じることを防止するために設計段階で設定される最大電力消費のスペックである。
温度がTDPに到達すれば、温度をTDP以下に維持するために実行能力(performance)が抑制されるという問題がある。
米国特許公開第2011−0047316号明細書 米国特許公開第2013−0097433号明細書 米国特許公開第2014−0173242号明細書 米国特許公開第2014−0281600号明細書
本発明は上記従来のストレージシステムの装置における問題点に鑑みてなされたものであって、本発明の目的は、向上した最適化手段を具備し電力消費を好適に制御するシステム及びその方法を提供することにある。
上記目的を達成するためになされた本発明による電力消費を制御するシステムは、電力消費を制御するシステムにおいて、プロセッサと、複数のメモリと、前記プロセッサ及び前記メモリに接続される制御回路と、を有し、前記制御回路は、電力制限を受信し、前記プロセッサ及び前記複数のメモリの電力消費を測定し、前記プロセッサ及び前記複数のメモリの複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能(objective function)を、前記電力消費が前記電力制限と同一であるか又はそれより低い動作状態に最適化するよう構成されることを特徴とする。
上記目的を達成するためになされた本発明による電力消費を制御する方法は、電力消費を制御する方法において、制御回路にて電力制限を受信する段階と、前記制御回路によって、プロセッサ及び複数のメモリの電力消費を測定する段階と、前記制御回路によって、前記プロセッサ及び前記複数のメモリの複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能を前記電力消費が前記電力制限と同一であるか又はそれより低い動作状態に最適化する段階と、を有することを特徴とする。
また、上記目的を達成するためになされた本発明による電力消費を制御するシステムは、電力消費を制御するシステムにおいて、複数の装置と、前記各装置に接続された制御回路と、を有し、前記制御回路は、電力制限を受信し、前記複数の装置の各々に含まれるプロセッサ及び複数のメモリの電力消費を測定し、前記プロセッサ及び前記複数のメモリの複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能を前記電力消費が前記電力制限と同一であるか又はそれより低い動作状態に最適化するように構成されることを特徴とする。
本発明に係る電力消費を制御するシステム及びその方法によれば、プロセッサやメモリの多重動作パラメータを反復的に変化させることにより、短い時間内に電力予算の範囲内で、システムの性能、システムの耐久度、システムの信頼性などの目標機能の最適化を遂行することができ、従って、ストレージシステムなどの動作効率が向上するという効果がある。
本発明の実施形態によるシステムの概略構成を示すブロック図である。 本発明の実施形態による制御回路の動作概念図である。 本発明の多様な実施形態による反復の概念を説明するための図である。 本発明の多様な実施形態による反復の概念を説明するための図である。 本発明の多様な実施形態による反復の概念を説明するための図である。 本発明の多様な実施形態による反復の概念を説明するための図である。 本発明の多様な実施形態による反復の概念を説明するための図である。 本発明の多様な実施形態による反復の概念を説明するための図である。 本発明の他の実施形態による揮発性及び不揮発性メモリを具備したシステムの概略を示すブロック図である。 本発明の他の実施形態による電力測定器を具備したシステムの概略を示すブロック図である。 本発明の他の実施形態によるシステムの概略を示すブロック図である。 本発明の他の実施形態によるシステムの概略を示すブロック図である。 本発明の実施形態による反複の技術を説明するためのフローチャートである。 本発明の実施形態による反複の技術を説明するためのフローチャートである。 本発明の実施形態によるサーバの概略を示すブロック図である。 本発明の実施形態によるサーバシステムの概略を示すブロック図である。 本発明の実施形態によるデータセンタの概略を示すブロック図である。
次に、本発明に係る電力消費を制御するシステム及びその方法を実施するための形態の具体例を図面を参照しながら説明する。
本発明は、システムで電力消費を制御することに関する。後述する説明はこの分野に通常的な知識を有する者(以下、当業者)が実施形態を実施できるように提供する。
実施形態及び一般的な原則及び特性に対する多様な変更が可能なことは明白である。実施形態は主に具体的な具現化で提供される具体的な方法及びシステムの形態として説明する。
しかし、方法及びシステムは他の具現化でも有効に動作することができる。
“実施形態”、“一実施形態”、“他の実施形態”のような用語は多重の実施形態だけでなく、同一の実施形態を参照することができる。
実施形態は、特定の構成要素を具備したシステム、及び/又は装置を参照して説明する。しかし、システム、及び/又は装置は図に示したことより多いか、或いはそれより少ない構成要素を含むことができ、構成要素の多様な配置及びタイプの可変が本発明の技術的思想から遠くならなく実施することができる。実施形態は特定の段階を具備した具体的な方法を参照して説明する。しかし、方法及びシステムは異なる、及び/又は追加的な段階及び実施形態と一致しない異なる順序を有する段階を具備した他の方法にしたがって動作することもできる。したがって、実施形態は図に示した具体的な実施形態に限定されなく、説明された原理及び特性と一致する最も広い範囲に従う。
実施形態は、特定の構成要素を具備した具体的なシステムを参照して説明する。
他の及び/又は追加的な構成要素、及び/又は他の特性を具備したシステムの使用が実施形態と通じることは当業者に明確なことである。また、当業者は他の方法及びシステムが他の構造と一致することを理解することである。また、当業者は方法及びシステムが多重要素を具備したメモリシステム構造の使用に適用されることができることを理解することである。
ここで使用する用語、特に添付した請求範囲に使用する用語は開かれた意味に解析されることとして理解されることである。例えば、“含む”又は“包含する”の用語は“含むが、限定されない”と解析されるべきである。“具備した”又は“有する”の用語は“少なくとも具備した”又は“少なくとも有する”の意味に解析されるべきである。
ここで使用する用語「多重」(multiple)は「複数の」(plurality)と同義で使用するものとする。
図1Aは、本発明の実施形態によるシステムの概略構成を示すブロック図である。
図1Aの実施形態では、システム100は、ホスト102と接続される。
システム100は、プロセッサ104、複数のメモリ106、及び制御回路108を含む。
一実施形態において、システム100は、ストレージシステムを含むことができる。
例えば、ストレージシステムは、SAS(Serial Attached Small Computer System Interface)、SATA(Serial ATA)、NVMe(NonVolatile Memory express)、ファイバーチャンネル(fiber channel)、イーサーネット(登録商標)、RDMA(Remote Direct Memory Access)等のような通信インターフェイスを介してホスト102と接続されるように構成され得る。
他の実施形態として、システム100はストレージシステムと異なってもよい。
ここで説明するように、システム100は、電力消費に影響を与える多重動作パラメータを有する構成要素を具備したシステム及びシステムの少なくとも一部であり得る。
プロセッサ104は、汎用プロセッサ、DSP(Digital Signal Processor)、アプリケーション特化集積回路、マイクロコントローラ、プログラム可能な論理装置、離散回路、又はこれらの組み合わせであってもよい。
プロセッサ104は、レジスタ、キャッシュメモリ、プロセッシングコア等のような内部部分、及びアドレス及びデータバスインターフェイス、インタラプトインターフェイス等のような外部インターフェイスを含む。
プロセッサ104のみを図に示しているが、多重プロセッサ(multiple processors)が存在し得る。
また、論理チップセット、ハブ、メモリ制御器、通信インターフェイス等のような他のインターフェイス装置がシステム100の一部であり、プロセッサ104を内部又は外部構成要素と接続することができる。
メモリ106は、データを格納できる任意の装置である。
ここで、2つのメモリ106を図に示しているが、1つより多い数のメモリ106がシステム100に提供され得る。
メモリ106の例は、DRAM(Dynamic Random Access Memory)モジュール、DDR(Double Data Rate)、DDR2、DDR3、DDR4のような多様な標準によるDDR SDRAM(Synchronous DRAM)、SRAM(Static RAM)、フラッシュ、STT−MRAM(Spin Transfer Torque Magnatoregistive RAM)又はPRAM(Phase−change RAM)等のような不揮発性メモリを含む。
制御回路108は、プロセッサ104及びメモリ106に接続される回路である。
制御回路108は、プロセッサ104と同様に、汎用プロセッサ、DSP、アプリケーション特化集積回路、マイクロコントローラ、プログラム可能な論理装置、離散回路、又はこれらの組み合わせであってもよい。
以下で詳細に説明するように、制御回路108はプロセッサ104内に具現することができるが、本実施形態ではプロセッサ104と分離したものを図に示している。
制御回路108は、プロセッサ104及びメモリ106とインターフェイスで接続するための回路を含む。
例えば、制御回路108は、プロセッサ104及びメモリ106と共に共通バスに接続される。
他の実施形態として、制御回路108の入力及び出力は、プロセッサ104及びメモリ106に対応する入力及び出力に接続させるか、或いは中間装置に接続される。
例えば、制御回路108は、1つ又はそれより多いプロセッサ104及びメモリ106に電源電圧を供給するように構成される1つ又はそれより多い電圧レギュレータ(regulator)を制御するように構成してもよい。
他の実施形態として、制御回路108は、プロセッサ104及びメモリ106の通信インターフェイスに対応するI2C(Inter Integrated Circuit)インターフェイスのようなインターフェイスを含んでもよい。
他の実施形態として、制御回路108は、プロセッサ104及びメモリ106の入力及び出力に直接接続されてもよい。
制御回路108は、プロセッサ104、及び/又はメモリ106と相互作用するように構成される。
より詳細には、制御回路108は、プロセッサ104及びメモリ106から電力情報を受信し、プロセッサ104及びメモリ106の多重動作パラメータに影響を与える。
例えば、制御回路108は、プロセッサ104、及び/又はメモリ106の電力消費を測定(又は推定)するよう構成される。
また、制御回路108は、プロセッサ104及びメモリ106の複数の動作パラメータを反復的に変更して、システムと関連した目的機能を電力消費が電力制限と同一であるか、又はそれより小さい動作状態に最適化する。
図1Bは、本発明の実施形態による制御回路の動作概念を示す図である。
図1A及び図1Bを参照すると、制御回路108は、電力測定110を受信するよう構成される。
電力測定110は、プロセッサ104、及び/又はメモリ106の電力消費の測定(又は測定値)を示す。
例えば、電力測定110は、プロセッサ104及びメモリ106の各々に対する電力消費の測定(又は測定値)を含む。
制御回路108は、電力測定110を多様な方法にて受信する。
例えば、制御回路108は、プロセッサ104及びメモリ106への通信インターフェイス、直接接続を利用してプロセッサ104及びメモリ106の電力、温度、電流、及び/又は電圧の数値を読み出すことができる。
他の実施形態として、制御回路108は、プロセッサ104及びメモリ106の1つ以上の電力消費の測定を計算するように構成された算術論理ユニット(arithmetic logic unit)又は他の回路を含む。
制御回路108は、電力制限112を受信するよう構成される。
例えば、制御回路108が別のマイクロコントローラを含めば、マイクロコントローラは通信バスを介して具体的な電力レベルを示す通信を受信する。
このような通信は、プロセッサ104から、又はシステム100外部の装置から受信する。
電力制限112は、制御回路108の特定の回路にしたがって他の方法にて受信される。
一実施形態において、ホスト102で実行されるソフトウェアは、IOCTL(Input Output ConTroL)コールのようなシステムコール、又はシステム100と関連したAPI(Application Programming Interface)を介して現われた他のコールを発令する(issue)よう構成される。
このようなコールを通じて、ホスト102は電力制限を含むコマンドを伝送する。
例えば、コマンドは電力制限に対する値を含む。
他の実施形態として、コマンドは、時間又はクロック情報を電力予算(power budget)又は電力制限と関連をつけるルールのセット、スケジュール等を含む。
また、目標機能及び/又は他の追加的なことがコマンドに含まれる。
具体的な例として、コマンドの各々は、時間、電力制限、及び目標機能を含む多重エントリを含む。
したがって、ホスト102は、システム100の電力制限を制御し、システム100が従わなければならないルール又はスケジュール、及び目標機能を確立する。
制御回路108は、動作パラメータ114を出力するよう構成される。
動作パラメータ114は、プロセッサ104、及び/又はメモリ106のパラメータを示し、これらはプロセッサ104、及び/又はメモリ106の動作を変化させるために変更される。
例えば、動作パラメータ114は、性能、及び/又は電力消費に影響を与える制御されるプロセッサ104及びメモリ106のパラメータを含む。
具体的な例として、制御回路108は、プロセッサ104、及び/又はメモリ106のレジスタに記入されるように構成される。
他の実施形態として、制御回路108は、電圧レギュレータに制御信号を伝送して、電圧レギュレータがプロセッサ104及びメモリ106の内の1つ以上に他の電圧を出力するよう制御する。
上述したように、制御回路108は、プロセッサ104及びメモリ106の多重動作パラメータを反復的に変化させ、目標機能を最適化するよう構成される。
具体的には、このような最適化は、電力制限112と同一であるか、又はそれより低い動作パラメータの最適化された状態を利用するシステム100の動作として遂行される。
このような最適化は実行時間(run−time)内に遂行される。したがって、目標機能は具体的な電力予算の規則内で最適化される。
目標機能は、最適化される状態の多様なことを示す。
例えば、目標機能は、システム100の性能、システム100の耐久度、システム100の信頼性等を示す。
他の実施形態として、目標機能は、入力及び出力の数、帯域幅、レイテンシ、容量(capacity)、又はシステム100の他の側面を示す。
目標機能は、システム100のすべての側面又はそれより少ない側面を示す。
例えば、目標機能は、メモリ106の性能又は他の側面を示す。システム100の測定置は目標機能又は目標機能の一部として使用される。
一実施形態において、動作パラメータは、プロセッサ104の少なくとも1つの動作パラメータ、メモリ108の中で第1メモリの少なくとも1つの動作パラメータ、そしてメモリ108の中で第2メモリの少なくとも1つの動作パラメータを含む。
即ち、動作パラメータは、プロセッサ104及びメモリ106の各々からの動作パラメータを含む。
したがって、プロセッサ104及びメモリ106の各々の動作状態が変更され、目標機能及び電力消費に影響を与える。
他の実施形態として、プロセッサ104及びメモリ106の一部の動作パラメータは反複のために使用される。
例えば、プロセッサ104及びメモリ106の中で一部の動作パラメータは反復される。
他の実施形態として、プロセッサ104及びメモリ106の各々は反複される多重動作パラメータを有する。
多重動作パラメータは反復される。
特に、多重で動作可能な動作パラメータが変更されるので、解答を探すことが難しい。
特に、解答を探すことは、NP−hard(Nonditerministic Polynomial hard)問題である。
したがって、動作パラメータを反復的に変化させることで、さらに短い時間内に実質的に最適の解答が達成される。
即ち、一部の実施形態では動作状態は最適状態であるが、他の実施形態で動作状態は与えられた目標機能に対し最適状態ではないこともあり得る。
しかし、動作状態はさらに短い時間内に達成され、実行時間内に最適の解答を検索することができる。
最適の解答を探すさらに短い時間によって、システム100は電力制限112内で、動作の間に可変される電力制限112に対応することができ、目標機能を最適化することができる。
具体的な例として、電力制限112は10Wに設定される。
より少ない数のアクティブなプロセッサ104又はより小さいサイズのメモリ106のようなより低い並列度は、より低い電力制限112を達成する。
また、SLC(Single Level Cell)プログラムのようなメモリ106の異なる動作状態は、電力制限112を達成する。
目標機能は、使用されるべき技術を示す。
例えば、目標機能がベストパフォーマンス(最大性能)に対するものであれば、SLCプログラム構成が使用され、容量が減少される。
アクティブなプロセッサ104の数又はメモリ106の他の側面は並列度を減らすために変更することはできず、したがって性能が減少されないこともあり得る。
他の実施形態として、目標機能は、さらに高い容量を示すことができ、したがってより低い並列構成が使用され得る。
一実施形態において、目標機能は、特定の技術の使用、又は変更されるべきの特定の動作パラメータの明示を示さない。
上述した例の内の1つを利用して、目標機能は必ずSLCプログラムが使用されることを明示する必要はない。
反対に、目標機能は電力制限112内で性能が最大化されることを示す。
使用される具体的なセルレベルプログラム技術を示す動作パラメータを含む動作パラメータの反複を通じて電力制限112内の最適の性能が達成される。
一部の実施形態では、動作パラメータはSLCプログラムが使用されることを示し、他の実施形態では性能を最大化しながら、SLCプログラムを変更しなく、他の動作パラメータを変更することによって充分な量の電力が保存される。
具体的な例として、制御回路108は第1の電力制限112で動作した後、異なる第2の電力制限112を受信するよう構成される。
また、制御回路108は、プロセッサ104及びメモリ106の複数の動作パラメータを反復的に変更して、システムと関連した目的機能を電力消費が電力制限と同一であるか、又はそれより小さい動作状態に最適化する。
一実施形態において、目標機能の最適化は実行時間内に遂行される。
即ち、制御回路108は、システム100が駆動している間に動作パラメータ114を反複するよう構成される。
新しい電力制限112を受信すれば、制御回路108は、システム100が駆動している間に新しい電力制限112内で目標機能が再び最適化されるようにシステム100の動作状態を変更する動作パラメータを反復する。
したがって、実行時間内に電力制限112は動的に変更され、これにしたがってシステム100の動作が新しい電力制限112に適合するように変更される。
一実施形態において、制御回路108は、動作パラメータを持続的に反複するよう構成される。
例えば、制御回路108は、毎ミリ秒のような周期にしたがって最適化シークェンスを遂行するように構成される。
即ち、制御回路108は、毎ミリ秒毎に動作パラメータを反複して最適の状態を探す。
ミリ秒が例示的に言及されたが、他の時間区間が必要によって使用され得る。
例えば、最適の解答を探す予想時間が10msであれば、最適化シークェンスは20ms毎に反復される。
したがって、新しい電力制限112が設定されれば、制御回路108は新しい電力制限112内で反複を継続する。
他の実施形態として、制御回路108は、特定の状態に応答して反複するように構成される。
例えば、制御回路108は、開始時にスリープ状態から復帰した後、新しい電力制限112を受信した後に特定の時間区間の後に反複を開始するように構成される。
また、一実施形態において、電力制限112の効果は除去されなければ、減少することができる。
例えば、電力制限112が存在しないか、又はシステム100が達成することができるより高い値に設定された状態でシステムが動作する。
したがって、ここで説明した最適化は、電力制限112に限定されない。
結果として、目標機能は、動作パラメータのみを利用して最適化される。
動作パラメータは、動作パラメータの全体範囲に掛けて反復される。
具体的な例として、目標機能は、電力消費に拘わらず寿命の最大化と関連される。
これによる動作パラメータのセットは、電力消費に拘わらず、性能を最適化する動作パラメータのセットと異なる。
寿命の最適化が電力消費と拘わらず、最適化される目標機能の例として使用したが、他の機能が使用されることもあり得る。
図2A〜図2Fは、本発明の多様な実施形態による反復の概念を説明するための図である。
一実施形態において、異なる反復方法が動作パラメータを繰り返すのに使用される。
反復方法の例は、「Nelder−Mead」方法及び調整下降(coordinate descent)方法を含む。
しかし、他の反復方法も使用され得る。
「Nelder−Mead」方法が例示的に使用される。
「Nelder−Mead」方法は相対的に速く収束(converge)する反復方法である。
一実施形態において、経験的(heuristic)であるため、「Nelder−Mead」方法は、動作パラメータの最適のセットを常には提供しないが、提供される動作パラメータは、相対的に短い時間区間で獲得される十分によい解答である。
「Nelder−Mead」方法は“n+1”頂点(vertices)を有する初期単信回線(simplex)で開始し、“n”は動作パラメータの数である。
頂点は動作パラメータのセットを示す。
以後、方法は、中間検索頂点(intermediate search vertices)に従う段階を反復する。
検索の最初で、動作パラメータの初期セットは、部分的に既存の最適解答に基づいて、収束に必要な時間を減らすことができる。
しかし、新しい及び/又は任意の動作パラメータのセットがローカルな最適化を回避するために追加される。
一実施形態として、1つのセットは、以前の最適解答に初期化され、他のセットは任意のセットに初期化される。
他の実施形態として、二つ以上のセットが以前の最適解答に初期化され、余りのセットが任意のセットに設定される。
図2Aを参照すると、2つの動作パラメータを利用する最適化を例示的に説明する。
しかし、動作パラメータのどのような数も最適化され得る。
2つの動作パラメータが最適化されることによって、動作パラメータの3つのセット(200、202、204)に対する目標機能が計算される。
目標機能の結果を計算することに加えて、3つのセット(200、202、204)に対する電力消費が測定(又は推測)される。
図2Bで、最悪のセットが発見される。
ここで、最悪のセットはセット200である。
残るセット(202、204)の重心(center of gravity)206が計算される。
図2Cで、最悪のセット200が重心206に対して反射されて(reflect)(鏡像位置に)新しいセット208が生成される。
目標機能は、新しいセット208に対して計算され、新しい電力消費が測定(又は推測)される。
図2Dで、新しいセット208が最悪のセットになる。
そうすると、重心206にさらに近い新しいセット210が生成される。
また、新しいセット210に対する目標機能が計算され、新しい電力消費が測定(又は推測)される。
一方、図2Eで、新しいセット208が目標機能に対してより最適な結果を有する場合、重心206からさらに遠く離れた新しいセット212が生成される。
再び、新しいセット212に対する目標機能が計算され、新しい電力消費が測定(又は推測)される。
図2Fで、セット(220、222、224)の初期グループが生成され、セット(220、222、224)に対する目標機能が計算され、新しい電力消費が測定(又は推測)される。
ここで、セット(220、222)の目標機能からの最適結果は、セット224の目標機能からの最適結果より低い。したがって、セット224にさらに近い新しいセット(226、228)が生成される。
そして再び、セット(226、228)に対する目標機能が計算され、新しい電力消費が測定(又は推測)される。
新しいセットを選択する具体的な技術を説明したが、他の技術が異なる順序にて使用され得る。
上述された例は、動作パラメータの反復の例を示すためのものであり、限定されない。
また、目標機能からの結果が特定のセットを使用するか、又は捨てるかを判別するのに使用されるが、このようなセットに対する電力測定が用いられても良い。
例えば、特定のセットに対する電力測定が現在の電力制限より大きければ、該当セットは最悪のセットとして扱われる。
他の実施形態として、すべてのセットが現在の電力制限より大きい電力測定を有すれば、電力測定が目標機能の結果の代わりに動作パラメータの新しいセットを決定するのに使用される。
即ち、最も高い電力測定を有するセットが新しいセットに代替される。
他の実施形態として、制御回路108は、多様な電力制限に対する予め決定された動作パラメータで構成される。
このような予め決定された動作パラメータが関連した電力制限より低い電力消費を誘発するが、予め決定された動作パラメータは与えられた目標機能に対する最適の動作パラメータではないこともあり得る。
したがって、予め決定された動作パラメータは、反複のための開始点に使用され、電力制限内の目標機能が最適化される。
図1A及び図1Bを再び参照すると、一実施形態において、プロセッサ104は反複と関連したコマンドを受信するよう構成される。
例えば、ホスト102はプロセッサ104にコマンドを伝送する。
コマンドは、電力消費及び最適化と関連したシステム100の多様な動作と関連する。
コマンドは、動作パラメータを反復的に変更する時に使用する反復方法を示す。
他の実施形態として、コマンドは最適化される目標機能を示す。
一実施形態において、動作パラメータの最適の状態が発見された後に目標機能はコマンドに応答して変更される。
反複は、新しい目標機能で継続される。
したがって、同一の電力制限112下でも、動作パラメータは目標機能の変化によって異なる最適状態に変更される。
他の実施形態として、コマンドは、上述した電力制限112を含む。
反複と関連したどのような態様もコマンドにて受信される。
一実施形態において、反復方法、目標機能等のような反複の一部側面は予め定まれる。
プロセッサ104にコマンドを伝送するホスト102を例として使用したが、他の実施形態として、コマンドは他の方法で通信され得る。
例えば、システム100は、制御回路108からホスト102へのインターフェイスを含む。
したがって、ホスト102は、コマンドを制御回路108にさらに直接的に通信する。
図3は、本発明の他の実施形態による揮発性及び不揮発性メモリを具備したシステムの概略を示すブロック図である。
この例で、システム100aは、図1Aのシステム100と類似である。しかし、メモリ106は不揮発性メモリ120及び揮発性メモリ122を含む。
具体的な例として、システム100aは、不揮発性メモリ120が大容量ストレージ媒体であるSSDとして動作する。
他の実施形態として、揮発性メモリ122はDRAMを含む。
DRAMは電力ゲーティングパラメータ、セルフリフレッシュパラメータ、ランクの数、及びチャンネルの数のような動作パラメータを有する。
これらの各々は、目標機能の結果及び電力消費に対するDRAMの寄与に影響を与える。
不揮発性メモリ120は、NANDフラッシュメモリ、STT−MRAM、PRAM等のようなNVRAM(Non−Volatile RAM)を含む。
NVRAMは、読出し再試行パラメータ、単一レベル/マルチレベルセルモードスイッチ、消去電圧、及びプログラム電圧のような動作パラメータを有する。
具体的には、NANDフラッシュ媒体は、非対称のレイテンシ及び電力消費特性を有する。
NANDセルは、読み出しより書き込み(プログラム)又は消去の時にさらに長い時間を必要とする。
また、読み出しは低い電圧動作(例えば、5V)を使用し、プログラム又は消去は高電圧(例えば、20V又は−20V)を必要とする。
また、読み出しの時に各NANDセルに対する感知手続と異なり、プログラム又は消去はフローティングゲートへの、又はフローティングゲートからの電荷の注入又は除去を必要とする。
FN(Fowler−Nordheim)トンネリングは長い時間を必要とし、したがって、プログラム及び消去は絶対量の側面で読み出しより遅い。
NANDフラッシュ媒体は、NANDセル当たりに多重状態を格納するMLC(Multi−Level Cells)を使用する。
メモリセル当たりさらに高い情報密度によって、MLCは与えられたメモリでさらに多い論理的容量を提供する。
しかし、MLCは複雑な読み出し、プログラム及び消去メカニズムを誘発する。
MLCプログラムは、LSB(Least Significant Bit)及びMSB(Most Significant Bit)プログラムの二つのフェーズで構成される。
プログラムは、閾値電圧の微細制御のため、段階的に増加する量の電荷を注入するISPP(Incremental Step Pulse Program)を使用する。
また、MLC NANDはその他の非対称の特性、即ちさらに多い閾値レベル(SLCの1個と比較して3個である)によってMSBプログラムはLSBプログラムよりさらに多い時間を必要とし、閾値電圧を適切に設定するさらに微細な制御が使用される特性を誘発する。
多くのNANDチップで、MSBプログラムはLSBプログラムより10倍ほどさらに遅い。
FNトンネリングは、閾値電圧Vthを移動することによって、論理“1”及び論理“0”の表現を可能にする。
これは格納する電荷Qに比例する。したがって、適切な電荷がフローティングゲートに対して注入又は流出されると、メモリセルの論理状態を定義する。
フローティングゲート内の電荷量は、閾値電圧Vthを決定し、したがって閾値電圧Vthが構成又はプログラムされる。
しかし、フローティングゲートと基板との間の酸化膜内の電荷トラップによって、セルの閾値電圧Vthの劣化が発生する。
酸化膜内の電荷は、適切な電荷注入及び流出を妨害する。
したがって、コントロールゲートから測定される閾値電圧Vthは両状態より高いことがあり得る。したがって、知能的(intelligent)プログラム/消去メカニズム、消去/プログラム動作は各セルが劣化されることによってさらに長い時間を消費する。
このような非対称な特徴に加えて、NAND媒体及びその構造体は、プログラム及び消去におけるNANDの高いレイテンシを隠すための並列性を導入し、このような並列性は多重プレーン、インターリーブ、及び多重チャンネル動作を含む。
並列性によって、多重NAND動作が同時に実行され、異種(heterogeneous)の並列性が電力制限を合わせるのに適用される。
不揮発性メモリ120の多様な特性が説明した。このような特性の各々は、再構成が可能である。
不揮発性メモリ120は上述された動作と関連した多様な動作パラメータを有する。
プロセッサ104は、多様な動作パラメータを有する。
例えば、動作パラメータは、動的電圧及び周波数スケーリング(DVFS:Dynamic Voltage and Frequency Scaling)パラメータ及びプロセッサ104の電力ゲーティングパラメータを有する。
他の実施形態として、プロセッサ104は多重コアを有する。
他の実施形態として、多重プロセッサ104が提供され、アクティブなプロセッサ104の数が可変可能である。
具体的な例として、プロセッサ104は多様な供給電圧で動作可能である。
供給電圧は第1番目の動作パラメータである。
プロセッサ104の各々は、活性化及び非活性化される多重コアを含む。
動作コアの数は、第2番目の動作パラメータである。
揮発性メモリ122は、活性化及び非活性化される多数のランク及び可変可能な供給電圧を含む。
これらは2つの追加的な動作パラメータであってもよい。
不揮発性メモリ120は、SLCモード又はMLCモードで動作可能である。
不揮発性メモリ120は、可変可能なプログラム電圧を有する。
セルモード及びプログラム電圧は追加的な2つの動作パラメータであってもよい。
上述したように、与えられた電力制限に対して動作パラメータが繰り返して目標機能を最適化する。
解答の例は、1.35Vのプロセッサ104の供給電圧、4つのプロセッサコアの中で2つの活性化、揮発性メモリ122の16ランクの中で10ランクの活性化、1.1Vの揮発性メモリ122の供給電圧、不揮発性メモリ120のSLCモード、不揮発性メモリ120の10Vのプログラム電圧を含む。
具体的な例として、システム100は、多重プロセッサ104、多重不揮発性メモリ120、及び多重揮発性メモリ122を含むSSDである。
プロセッサ104は、高性能SSDの全体電力消費のより大きい部分を消費し、したがってプロセッサ104は電力消費を減らす候補としてみなされる。
同様に、DRAM及びNVM媒体は、電力減少の独立的な候補であり得る。
このような構成要素は、互いに組み合わされて不揮発性メモリ120の遅い書き込み特性及びFTL(Flash Translation Layer)オーバーヘッドを隠しながら、高性能を提供する。
このようなシステムは相対的に複雜であり、したがって各構成要素を制御する時に性能影響を予測することが相対的に難しい。
したがって、最低の性能低下を示しながら、最高の電力節減を導くような方法として構成要素や構成要素の動作パラメータを変更する方法は明白ではない。
SSDの複雜性によって、このような問題を解決することは難しく、長い時間を必要とする。
ここに説明するように動作パラメータを繰り返すことは許容可能な時間区間内にさらに最適の解答を導出する。
一実施形態において、制御回路108は、少なくとも2つの連続的な最適化シークェンスの間、一定に維持された状態を有する動作パラメータを識別し、識別された動作パラメータを少なくとも1つの未来の最適化シーケンスに対して動作パラメータから除去するように構成される。
例えば、制御回路108は、以前の最適化シークェンスからの結果、即ち最適化された解答に対する動作パラメータの状態を格納するよう構成されるメモリを含む。
多重最適化サイクルの間、多重最適解答が発見され、メモリに格納される。
下記に示す表1は、3つの最適化解答に対する動作パラメータの状態を示す。
これら各々は、最適化シークェンス以後の最適結果である。
Figure 2017059223
この例で、最適化シークェンスの各々の以後に最適化解答の各々のメモリランクの数は同一である。
メモリランクは、一定に維持された動作パラメータとして識別される。
メモリランクを一定に維持された動作パラメータとして識別した結果としてメモリランクは少なくとも数回の未来の反復に対して反複される動作パラメータのグループから除去される。
この例で、新しい動作パラメータセットは「5」から「4」に減少する。
したがって、減少された次元によって、以後の最適化は最適化解答にさらに速く到達する。
これら特定の動作パラメータを例示的に使用したが、十分な最適化サイクル数の間、一定に維持された1つ以上の動作パラメータが除去の候補となる場合、任意の動作パラメータが決定のために分析される。
一実施形態において、制御回路108は、多様な動作パラメータを離散値に設定する。
制御回路108は、離散値をレジスタに書き込み、離散値を他の構成要素に通信し、動作パラメータを設定する。
例えば、ランクの数は整数のみに設定可能である。
他の実施形態として、プロセッサ電圧は整数ではない値に設定可能であるが、範囲内の離散ステップ値であり得る。
したがって、離散値が変化されなければ、動作パラメータは制御回路108によって一定として判別される。
他の実施形態として、制御回路108は、除去された動作パラメータを動作パラメータのセットに復元するよう構成される。
例えば、電力制限が変更された場合、予め定められた量の時間が経過すれば、システム100aの使用が変化すれば、反複される動作パラメータを示す制御回路108のメモリ内のフラッグを設定することによって、除去された動作パラメータが復元される。
システム100aの動作を変更する任意のイベントが除去された動作パラメータを復元するトリガーとして使用される。
図4は、本発明の他の実施形態による電力測定器を具備したシステムの概略を示すブロック図である。
一実施形態において、プロセッサ104及びメモリ106の少なくとも1つは電力を測定するよう構成される電力測定回路(power meter circuit:PM)103を含む。
本例では、プロセッサ104及びメモリ106の各々が電力測定回路130を含む。
電力測定回路(PM)130は多様な形態を有し得る。
例えば、熱センサ又は電力センサが具体的な装置として具現される。
増幅器、アナログデジタル変換器、バッファ、レジスタ等が、物理的影響を制御回路108で使用することができるデジタル化された値に変換するための電力測定回路(PM)130の一部である。
例えば、信号はセンサによって感知され、デジタル化され、レジスタに格納される。
レジスタは、電力測定回路(PM)130から電力を読み出すために、制御回路108によって読み出されるか、又はプロセッサ104によって読み出されて制御回路108と通信される。
電力測定回路(PM)130からの読み出しは正規化され、電力消費値に結合される。
したがって、動作の時に制御回路108は、動作パラメータの現在セットに対する電力測定を受信する。
動作状態の新しいセットが使用されれば、また別の電力測定が遂行される。
図1Aを再び参照すると、この実施形態では、制御回路108は、動作パラメータの1つ以上に基づいてプロセッサ104及びメモリ106の少なくとも1つの電力消費を推定するよう構成される。
例えば、電力消費は動作パラメータから推定される。
また、電力消費はプロセッサ104及びメモリ106の使用から推定される。
具体的な例として、一定時間内の要請(request)又は活動(activity)の数がカウントされる。
動作パラメータ及びシステムの他の推定が個別的又は組み合わされて使用され電力測定(推定)を生成する。
他の実施形態として、図4の電力測定回路130と同様な電力測定器が他の装置で使用され、システム100の一部装置に対し電力消費の推定に用いられる。
電力測定は、与えられた反複に対する電力消費と結合される。
図5は、本発明の他の実施形態によるシステムの概念図である。
この実施形態では、制御回路108はプロセッサ104の一部である。
例えば、上述した制御回路108の動作は、プロセッサ104で実行されるプログラムによって遂行される。
例えば、プロセッサ104は、プロセッサ104がメモリ106と通信することを可能にするよう構成される1つ以上のメモリバスインターフェイスを含む。
メモリバスインターフェイスを通じて、プロセッサ104はメモリの動作パラメータを設定するよう構成される。
また、プロセッサ104で実行されるプログラムは、プロセッサ104のレジスタにアクセス、又はプロセッサ104への電力供給システムにアクセスして、反復の間にプロセッサ104の動作パラメータを変更する。
図6は、本発明の他の実施形態によるシステムの概略を示すブロック図である。
この実施形態では、システム100dは、図1Aのシステム100と同様である。
しかし、この実施形態では、システム100dは、多重の装置(multiple devices)107を含む。
装置107の各々は、制御回路108によって変更される1つ以上の動作パラメータを有する。
制御回路108は、電力制限を受信し、装置の電力消費を測定し、そして装置の動作パラメータを反復的に変更して、システム100dと関連した目標機能を電力消費が電力制限と同一であるか、又はそれより小さい動作状態に最適化する。
言い換えれば、メモリ106を参照して説明した電力制限内の最適化は、動作パラメータを構成できる一般的な装置にも適用され得る。
図7は、本発明の実施形態による反複の技術を説明するためのフローチャートである。
図1A、図1B、及び図7を参照すると、まず、S600段階で動作パラメータを特定な状態に設定する。
例えば、制御回路108は、プロセッサ104に対する供給電圧、第1メモリ106のランクの数、他のメモリ106のプログラム電圧を設定する。
制御回路108は、1つ以上の電圧レギュレータと通信して多様な電圧を設定し、第1メモリ106と通信してランクの数を設定する。
次に、S602段階で、電力消費を測定する。
例えば、制御回路108は、プロセッサ104及びメモリ106と通信して電力レジスタ、温度レジスタ等を読み出す。
制御回路108は、プロセッサ104及びメモリ106からの値を電力消費測定に組み合わせる。
次に、S604段階で、動作パラメータの現在状態に対する目標機能を計算する。
例えば、制御回路108は、プロセッサ104及びメモリ106と通信して目標機能に寄与する値を判別する。
例えば、プロセッサ104は、時間の経過にしたがって読み出し/書き込み要請、要請のレイテンシ等を追跡する。
データの収集は、プロセッサ104及びメモリ106によって遂行されるか、或いは制御回路108によって遂行されるか、或いはこれらの組み合わせによって遂行される。
制御回路108は、目標機能に対する値を取得する。
次に、S606段階で、制御回路108は、動作パラメータのセットの充分な数に対して測定が遂行されたか否かを判断する。
「いいえ」であれば、動作パラメータの他のセットが選択され、S600段階に戻って設定が遂行され、S602段階で測定が遂行され、S604段階で計算が遂行される。
例えば、「Nelder−Mead」方法を使用する時、動作パラメータが変更された回数が10であれば、測定は制御回路108によって動作パラメータ状態の11セットに対して反復される。
充分な数のセットが測定されれば(S606段階で「はい」)、S608段階で制御回路108は最適状態の判断を遂行する。
例えば、制御回路108は、反復が最適状態に収束するか否かを判断する。
「いいえ」であれば、現行の反復方法にしたがって新しい反複が遂行されて、動作パラメータ状態の1つ以上のセットで測定が遂行される。
次に、S610段階で、動作パラメータ状態の最適セットが識別される(S608段階で「はい」)と、その他の最適シーケンスに対する初期セットに対する動作パラメータが設定される。
例えば、制御回路108は、動作パラメータ状態の初期セットの中で1つを以前の最適セットに設定し、他の初期セットを任意セットに設定する。
動作パラメータは再び反復される。
図8は、本発明の実施形態による反複の技術を説明するためのフローチャートである。
図1A、図1B、及び図8を参照すると、本実施形態での方法は図7と同様である。
しかし、S608段階で動作パラメータの最適のセットが発見された後に動作パラメータの該当セット及び以前の最適セットが分析され、充分な数の最適化シークェンスの間、一定に維持された動作パラメータが1つ以上あるか否かを判断する。
そしてS608段階で「はい」であれば、該当パラメータは、S612段階で以後の反復に対して動作状態のセットから除去される。
例えば、制御回路108は、除去される動作パラメータを制御回路108のメモリに格納されたデータ構造で除去されたこととして表示する。
上述したように、反複はS608段階で継続される。
図1A及び図1Bを再び参照すると、システム100は、ホスト102に対する新しい制御メカニズムを許用する。
例えば、ホスト102は、システム100に対する電力制限を変更する。
ホスト102は、装置の目標機能を変更する。
ホスト102で実行されるシステム管理ソフトウェアは、新しいシステムコール又は拡張されたシステムコールを実行して、システム100のこのようなパラメータを変更する。
上述したように、システム100はこのようなパラメータと関連したパラメータを受信する。
このようなシステムコールを通じて、ホスト102はコマンドを生成し、これらをシステム100に伝送する。
図9は、本発明の実施形態によるサーバの概略を示すブロック図である。
この実施形態では、サーバ900は独立(stand−alone)サーバ、ラック実装(rack−mounted)サーバ、ブレード(blade)サーバ等を含む。
サーバ900は、システム902及びプロセッサ904を含む。
プロセッサ904はシステム902と結合される。
1つのシステム902のみを図に示しているが、任意の数のシステム902が存在することができる。
システム902は、システム(100、100a、100b、100c、100d)等のような上述したシステムの中のいずれかであり得る。
例えば、システム902はSSDである。SSDはサーバ900に対するデータストレージを提供する。
図10は、本発明の実施形態によるサーバシステムの概略を示すブロック図である。
この実施形態では、サーバシステム1000は、多重のサーバ(1002−1〜1002−N)を含む。
サーバ(1002−1〜1002−N)の各々はマネージャ(manager)1004に接続される。
サーバ(1002−1〜1002−N)の1つ以上は上述したサーバ900と同様である。
マネージャ1004は、サーバ(1002−1〜1002−N)及びサーバシステム1000の他の構成要素を管理するよう構成される。
一実施形態において、マネージャ1004は、サーバ1002の電力消費を管理するよう構成される。
例えば、サーバ1002の各々が上述したシステム(100、100a、100b、100c、100d)のようなシステムを含むので、マネージャ1004はシステムと通信して電力制限を設定する。
具体的な例として、マネージャ1004は、サーバシステム1000の電力消費を減らして特定レベルの性能を維持するようシステム管理者(administrator)によって構成される。
SSDのTDP(Thermal Design Power)のみで、マネージャ1004は、サーバ(1002−1〜1002−N)のシステムをスリープ状態又は他の非活性状態に制御するオプションのみを有する。
しかし、本発明の実施形態によるシステムに電力制限及び動作状態の詳細な単位が達成される。
例えば、マネージャ1004は、サーバ(1002−1〜1002−N)のプロセッサと通信してコマンドをサーバ(1002−1〜1002−N)のシステムに伝送し、電力制限を設定して目標機能を最適性能に設定する。
したがって、サーバシステム1000のシステムは、動作パラメータを反復的に変更して、マネージャ1004によって設定された具体的な電力制限内で性能を最適化する。
図11は、本発明の実施形態によるデータセンタの概略を示すブロック図である。
この実施形態では、データセンタ1100は、多重のサーバシステム(1102−1〜1102−N)を含む。
サーバシステム(1102−1〜1102−N)は、図10を参照して説明したサーバシステム1000と同様である。
サーバシステム(1102−1〜1102−N)は、インタ−ネットのようなネットワーク1104と結合される。
したがって、サーバシステム(1102−1〜1102−N)はネットワーク1104を通じて多様なノード(1106−1〜1106−M)と通信する。
例えば、ノード(1106−1〜1106−M)はクライアントコンピュータ、他のサーバ、遠隔データセンタ、ストレージシステム等である。
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
100、100a、100b、100c、100d、902 システム
102 ホスト
104、904 プロセッサ
106 メモリ
107 装置
108 制御回路
110 電力測定
112 電力制限
114 動作パラメータ
120 不揮発性メモリ
122 揮発性メモリ
130 電力測定回路(PM)
900 サーバ
1000 サーバシステム
1002−1〜1002−N サーバ
1004 マネージャ
1100 データセンタ
1102−1〜1102−N サーバシステム
1104 ネットワーク
1106−1〜1106−M ノード

Claims (20)

  1. 電力消費を制御するシステムにおいて、
    プロセッサと、
    複数のメモリと、
    前記プロセッサ及び前記メモリに接続される制御回路と、を有し、
    前記制御回路は、電力制限を受信し、前記プロセッサ及び前記複数のメモリの電力消費を測定し、前記プロセッサ及び前記複数のメモリの複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能(objective function)を、前記電力消費が前記電力制限と同一であるか又はそれより低い動作状態に最適化するよう構成されることを特徴とする電力消費を制御するシステム。
  2. 前記プロセッサ及び前記複数のメモリの前記複数の動作パラメータの各々は、前記プロセッサの少なくとも1つの動作パラメータ、前記複数のメモリの中の第1メモリの少なくとも1つの動作パラメータ、及び前記複数のメモリの中の第2メモリの少なくとも1つの動作パラメータを含むことを特徴とする請求項1に記載の電力消費を制御するシステム。
  3. 前記複数のメモリは、DRAM(Dynamic Random Access Memory)及びNVRAM(Non−Volatile RAM)を含むことを特徴とする請求項1に記載の電力消費を制御するシステム。
  4. 前記動作パラメータは、前記DRAMの電力ゲーティング(power gating)パラメータ、セルフリフレッシュパラメータ、ランクの数、及びチャンネルの数の内の少なくとも1つを含むことを特徴とする請求項3に記載の電力消費を制御するシステム。
  5. 前記動作パラメータは、前記NVRAMの読出し再試行(read retry)パラメータ、単一レベル及びマルチレベルのセルモードスイッチ、消去電圧、及びプログラミング電圧の内の少なくとも1つを含むことを特徴とする請求項3に記載の電力消費を制御するシステム。
  6. 前記動作パラメータは、前記プロセッサの動的電圧、周波数スケーリングパラメータ及び電力ゲーティングパラメータの内の少なくとも1つを含むことを特徴とする請求項1に記載の電力消費を制御するシステム。
  7. 前記制御回路は、少なくとも2つの連続した最適化シークェンスの間、一定に維持された状態を有する動作パラメータを識別し、前記識別された動作パラメータを以後の少なくとも1つの最適化シーケンスに対して前記動作パラメータから除去するよう、さらに構成されることを特徴とする請求項1に記載の電力消費を制御するシステム。
  8. 前記プロセッサ及び前記複数のメモリの内の少なくとも1つは、電力を測定するよう構成される電力測定回路を含むことを特徴とする請求項1に記載の電力消費を制御するシステム。
  9. 前記制御回路は、前記動作パラメータの内の1つ以上に基づいて、前記プロセッサ及び前記複数のメモリの内の少なくとも1つの電力消費を推定するよう、さらに構成されることを特徴とする請求項1に記載の電力消費を制御するシステム。
  10. 前記制御回路は、第2電力制限を受信し、前記プロセッサ及び前記複数のメモリの前記複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能を前記電力消費が前記第2電力制限と同一であるか又はそれより低い動作状態に最適化するよう、さらに構成されることを特徴とする請求項1に記載の電力消費を制御するシステム。
  11. 前記プロセッサは、前記制御回路を含むことを特徴とする請求項1に記載の電力消費を制御するシステム。
  12. 電力消費を制御する方法において、
    制御回路にて電力制限を受信する段階と、
    前記制御回路によって、プロセッサ及び複数のメモリの電力消費を測定する段階と、
    前記制御回路によって、前記プロセッサ及び前記複数のメモリの複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能を前記電力消費が前記電力制限と同一であるか又はそれより低い動作状態に最適化する段階と、を有することを特徴とする電力消費を制御する方法。
  13. 前記メモリは、DRAM(Dynamic Random Access Memory)及びNVRAM(Non−Volatile RAM)を含むことを特徴とする請求項12に記載の電力消費を制御する方法。
  14. 前記制御回路によって、少なくとも2つの連続した最適化シークェンスの間、一定に維持された状態を有する動作パラメータを識別する段階と、
    前記制御回路によって、前記識別された動作パラメータを以後の少なくとも1つの最適化シーケンスに対して前記動作パラメータから除去する段階と、をさらに有することを特徴とする請求項12に記載の電力消費を制御する方法。
  15. 前記制御回路によって、第2電力制限を受信する段階と、
    前記制御回路によって、前記プロセッサ及び前記複数のメモリの前記複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能を前記電力消費が前記第2電力制限と同一であるか又はそれより低い動作状態に最適化する段階と、をさらに有することを特徴とする請求項12に記載の電力消費を制御する方法。
  16. 前記動作パラメータ、前記目標機能、及び前記電力制限を反復的に変更する時に使用する少なくとも1つの反復方法を含むコマンドを受信する段階をさらに有することを特徴とする請求項12に記載の電力消費を制御する方法。
  17. 前記制御回路によって前記最適化する段階は、前記制御回路によってNelder−Mead方法及び調整下降方法の内の少なくとも一つに従って前記動作パラメータを反復的に変更する段階を含むことを特徴とする請求項12に記載の電力消費を制御する方法。
  18. 前記制御回路によって、前記動作パラメータの反複的変更を以前に最適化された動作状態の複数のセットに初期化する段階をさらに有することを特徴とする請求項17に記載の電力消費を制御する方法。
  19. 前記制御回路によって、前記動作パラメータの反複的変更を動作状態の任意セットに初期化する段階をさらに有することを特徴とする請求項17に記載の電力消費を制御する方法。
  20. 電力消費を制御するシステムにおいて、
    複数の装置と、
    前記各装置に接続された制御回路と、を有し、
    前記制御回路は、電力制限を受信し、前記複数の装置の各々に含まれるプロセッサ及び複数のメモリの電力消費を測定し、前記プロセッサ及び前記複数のメモリの複数の動作パラメータを反復的に変更して、前記システムと関連した目標機能を前記電力消費が前記電力制限と同一であるか又はそれより低い動作状態に最適化するように構成されることを特徴とする電力消費を制御するシステム。
JP2016155467A 2015-09-14 2016-08-08 電力消費を制御するシステム及びその方法 Active JP6788420B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562218527P 2015-09-14 2015-09-14
US62/218,527 2015-09-14
US14/967,266 US9733684B2 (en) 2015-09-14 2015-12-11 System and method for controlling power consumption
US14/967,266 2015-12-11

Publications (3)

Publication Number Publication Date
JP2017059223A true JP2017059223A (ja) 2017-03-23
JP2017059223A5 JP2017059223A5 (ja) 2019-09-19
JP6788420B2 JP6788420B2 (ja) 2020-11-25

Family

ID=58238363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016155467A Active JP6788420B2 (ja) 2015-09-14 2016-08-08 電力消費を制御するシステム及びその方法

Country Status (5)

Country Link
US (2) US9733684B2 (ja)
JP (1) JP6788420B2 (ja)
KR (1) KR102318541B1 (ja)
CN (1) CN106527652B (ja)
TW (1) TWI702539B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9733684B2 (en) * 2015-09-14 2017-08-15 Samsung Electronics Co., Ltd. System and method for controlling power consumption
US11216323B2 (en) 2015-09-16 2022-01-04 Samsung Electronics Co., Ltd. Solid state memory system with low power error correction mechanism and method of operation thereof
US10529407B2 (en) 2017-07-20 2020-01-07 Samsung Electronics Co., Ltd. Memory device including a plurality of power rails and method of operating the same
US10607660B2 (en) 2017-07-20 2020-03-31 Samsung Electronics Co., Ltd. Nonvolatile memory device and operating method of the same
US10535394B2 (en) 2017-07-20 2020-01-14 Samsung Electronics Co., Ltd. Memory device including dynamic voltage and frequency scaling switch and method of operating the same
US10181351B1 (en) * 2017-08-30 2019-01-15 Micron Technology, Inc. Increased NAND performance under high thermal conditions
KR20190093400A (ko) 2018-02-01 2019-08-09 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 장치를 포함하는 전자 장치
KR102549346B1 (ko) * 2018-07-24 2023-06-28 삼성전자주식회사 솔리드 스테이트 드라이브 및 그의 메타 데이터 액세스 방법
TWI672705B (zh) * 2018-11-23 2019-09-21 宏碁股份有限公司 儲存裝置、控制方法及控制器
US11921555B2 (en) 2019-07-26 2024-03-05 Samsung Electronics Co., Ltd. Systems, methods, and devices for providing power to devices through connectors
CN111752367B (zh) * 2020-06-12 2021-10-26 深圳忆联信息系统有限公司 固态硬盘功耗降低方法、装置、计算机设备和存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539881B2 (en) * 2006-04-15 2009-05-26 Hewlett-Packard Development Company, L.P. System and method for dynamically adjusting power caps for electronic components based on power consumption
US8001407B2 (en) * 2006-10-31 2011-08-16 Hewlett-Packard Development Company, L.P. Server configured for managing power and performance
US7725409B2 (en) * 2007-06-05 2010-05-25 Motorola, Inc. Gene expression programming based on Hidden Markov Models
CA2733081C (en) * 2007-08-06 2015-12-15 Great Lakes Biosciences, Llc Methods and apparatus for electrical stimulation of tissues using signals that minimize the effects of tissue impedance
US20090132842A1 (en) * 2007-11-15 2009-05-21 International Business Machines Corporation Managing Computer Power Consumption In A Computer Equipment Rack
US20110047316A1 (en) 2009-08-19 2011-02-24 Dell Products L.P. Solid state memory device power optimization
US8880202B2 (en) * 2010-07-09 2014-11-04 Emerson Process Management Power & Water Solutions, Inc. Optimization system using an iteratively coupled expert engine
US8738937B2 (en) * 2010-07-13 2014-05-27 Intel Corporation Method and apparatus to limit memory power
US8826051B2 (en) * 2010-07-26 2014-09-02 Apple Inc. Dynamic allocation of power budget to a system having non-volatile memory and a processor
US8364103B2 (en) * 2010-09-21 2013-01-29 Intel Mobile Communications GmbH Adaptive adjustment of active area for power amplifier
CN103201702B (zh) * 2010-11-09 2016-04-20 国际商业机器公司 对计算工作负载进行管理的方法和系统
US8543851B2 (en) * 2010-12-29 2013-09-24 Stmicroelectronics, Inc. System and method for microeconomic optimization of power usage in a device
US20130097433A1 (en) 2011-10-18 2013-04-18 Stec, Inc. Systems and methods for dynamic resource management in solid state drive system
US9075610B2 (en) * 2011-12-15 2015-07-07 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation
US9158351B2 (en) * 2012-03-29 2015-10-13 Intel Corporation Dynamic power limit sharing in a platform
US8984308B2 (en) * 2012-12-03 2015-03-17 Qualcomm Incorporated System and method of adaptive voltage scaling
US9317212B2 (en) 2012-12-18 2016-04-19 Intel Corporation Method and apparatus for controlling a storage device
US9280191B2 (en) * 2013-01-21 2016-03-08 Dell Products Lp. Systems and methods for power supply configuration and control
US8854929B1 (en) * 2013-03-06 2014-10-07 Western Digital Technologies, Inc. Disk drive calibrating laser power and write current for heat assisted magnetic recording
US9213400B2 (en) 2013-03-14 2015-12-15 Intel Corporation Apparatus and method to provide near zero power DEVSLP in SATA drives
US9438242B2 (en) * 2013-07-12 2016-09-06 Freescale Semiconductor, Inc. Systems and methods for reducing power consumption in semiconductor devices
US9652026B2 (en) * 2014-12-21 2017-05-16 Qualcomm Incorporated System and method for peak dynamic power management in a portable computing device
US10101786B2 (en) 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US9733684B2 (en) * 2015-09-14 2017-08-15 Samsung Electronics Co., Ltd. System and method for controlling power consumption
US10241701B2 (en) 2015-09-16 2019-03-26 Samsung Electronics Co., Ltd. Solid state memory system with power management mechanism and method of operation thereof
US9711232B2 (en) 2015-09-22 2017-07-18 Samsung Electronics Co., Ltd. Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives

Also Published As

Publication number Publication date
KR20170032160A (ko) 2017-03-22
US20170075401A1 (en) 2017-03-16
JP6788420B2 (ja) 2020-11-25
US9733684B2 (en) 2017-08-15
CN106527652A (zh) 2017-03-22
CN106527652B (zh) 2021-07-30
US20170308136A1 (en) 2017-10-26
TW201710891A (zh) 2017-03-16
TWI702539B (zh) 2020-08-21
US10359822B2 (en) 2019-07-23
KR102318541B1 (ko) 2021-10-29

Similar Documents

Publication Publication Date Title
JP6788420B2 (ja) 電力消費を制御するシステム及びその方法
US9575677B2 (en) Storage system power management using controlled execution of pending memory commands
AU2011203893B2 (en) Controlling and staggering operations to limit current spikes
KR102351660B1 (ko) 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법
US11550496B2 (en) Buffer management during power state transitions using self-refresh and dump modes
US20220137698A1 (en) Low Power State Implementation in a Power Management Circuit
US10672451B2 (en) Storage device and refresh method thereof
US10481014B2 (en) Adaptive throttling
JP2022146519A (ja) メモリシステム、情報処理システム、およびホスト装置
KR20220075684A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US11789862B2 (en) Power-on-time based data relocation
US20230317120A1 (en) Low power management for sleep mode operation of a memory device
AU2014100558B4 (en) Controlling and staggering operations to limit current spikes
WO2016064554A1 (en) Storage system power management using controlled execution of pending memory commands

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190808

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190808

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190808

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200710

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200710

C11 Written invitation by the commissioner to file amendments

Free format text: JAPANESE INTERMEDIATE CODE: C11

Effective date: 20200728

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200813

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201013

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201030

R150 Certificate of patent or registration of utility model

Ref document number: 6788420

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250