TWI702539B - 控制耗電的系統與方法 - Google Patents
控制耗電的系統與方法 Download PDFInfo
- Publication number
- TWI702539B TWI702539B TW105117503A TW105117503A TWI702539B TW I702539 B TWI702539 B TW I702539B TW 105117503 A TW105117503 A TW 105117503A TW 105117503 A TW105117503 A TW 105117503A TW I702539 B TWI702539 B TW I702539B
- Authority
- TW
- Taiwan
- Prior art keywords
- power consumption
- memory
- processor
- control circuit
- operating parameters
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0009—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
- Memory System (AREA)
Abstract
實施例包括一種系統,所述系統包括:處理器;多個記憶體;以及控制電路,耦合至所述處理器及所述記憶體,且用以:接收功率限值;量測所述處理器及所述記憶體的耗電;以及迭代地改變所述處理器的及所述記憶體的多個運作參數,以將與所述系統相關聯的目標功能最佳化至其中所述耗電小於或等於所述功率限值的運作狀態。
Description
本發明是有關於在系統中控制耗電,且具體而言,是有關於在儲存系統中控制耗電。
裝置的耗電正成為商業市場及消費者市場的衡量方式。舉例而言,在商業資料中心中,降溫費用可佔總費用的三分之一。另外,現代資料中心伺服器已開始採用高效能固態驅動機(solid state drive,SSD),例如快速非揮發性記憶體(NVM Express,NVMe)裝置。快速非揮發性記憶體裝置通常包括較高效能的CPU及大的動態隨機存取記憶體(dynamic random access memory,DRAM),以相較於其他固態驅動機提供更高的效能。此種高效能裝置可消耗更多的功率,此即使在資料中心配置中亦可變成大量的耗電。類似地,消費者行動裝置(例如膝上型電腦(laptop))已開始採用較高效能的固態驅動機。類似地,當行動裝置不插電時,耗電變成影響因素。
固態驅動機可包括最大熱設計功率(thermal design power,TDP)。然而,最大熱設計功率是在設計期間設定的最大耗電規格,用於防止裝置受損。若超過最大熱設計功率,則效能會被降低以保持處於所述最大熱設計功率之下。
實施例包括一種系統,所述系統包括:處理器;多個記憶體;以及控制電路,耦合至所述處理器及所述記憶體,且用以:接收功率限值;量測所述處理器及所述記憶體的耗電;以及迭代地改變所述處理器的及所述記憶體的多個運作參數,以將與所述系統相關聯的目標功能最佳化至其中所述耗電小於或等於所述功率限值的運作狀態。
實施例包括一種方法,所述方法包括:在控制電路中接收功率限值;由控制電路量測處理器的及多個記憶體的耗電;以及由所述控制電路迭代地改變所述處理器的及所述記憶體的多個運作參數,以將與所述處理器及所述記憶體相關聯的目標功能最佳化至其中所述耗電小於或等於所述功率限值的運作狀態。
實施例包括一種系統,所述系統包括:多個裝置;以及控制電路,耦合至所述裝置,且用以:接收功率限值;量測所述裝置的耗電;以及迭代地改變所述裝置的多個運作參數,以將與所述系統相關聯的目標功能最佳化至其中所述耗電小於或等於所述功率限值的運作狀態。
實施例關於在系統中控制耗電。呈現以下說明是為了使此項技術中具有通常知識者作出並使用所述實施例,且在專利申請案及其要求的上下文中提供以下說明。對本文所闡述的實施例以及一般原理及特徵的各種潤飾將顯而易見。所述實施例主要就特定實施方案中所提供的特定方法及系統進行闡述。
然而,所述方法及系統將在其他實施方案中有效地運作。例如「實施例」、「一個實施例」、及「另一實施例」等片語可指代相同的或不同的實施例以及指代多個實施例。將針對具有某些組件的系統及/或裝置來闡述所述實施例。然而,所述系統及/或裝置可包括較圖中所示者或多或少的組件,且在不背離此揭露內容的範圍的條件下,可對所述組件的排列及類型作出變化。亦將在具有某些步驟的特定方法的上下文中闡述所述實施例。然而,所述方法及系統可根據相較於所述實施例而言具有不同的及/或附加的步驟以及呈不同次序的步驟的其他方法而運作。因此,實施例並非旨在限制所示特定實施例,而是應符合與本文所述原理及特徵一致的最寬廣範圍。
在具有某些組件的特定系統的上下文中闡述所述實施例。此項技術中具有通常知識者將易於認識到,實施例與具有其他及/或附加組件及/或其他特徵的系統的使用一致。然而,此項技術中具有通常知識者將易於認識到,所述方法及系統亦與其他結構一致。亦可在單一元件的上下文中闡述各方法及系統。然而,此項技術中具有通常知識者將易於認識到,所述方法及系統與具有多個元件的記憶體系統架構的使用一致。
熟習此項技術者將理解,一般而言,本文所用用語、且特別是在隨附申請專利範圍(例如,隨附申請專利範圍的主體)中使用的用語一般旨在作為「開放式」用語(例如,用語「包括(including)」應被解釋為「包括,但不僅限於」,用語「具有(having)」應被解釋為「具有至少」,用語「包括(includes)」應被解釋為「包括,但不僅限於」等)。熟習此項技術者更將理解,若旨在使所介紹請求項陳述物為特定數目,則將在所述請求項內明確地陳述此種意圖,而在不進行此種陳述的情況下,則不存在此種意圖。舉例而言,為幫助理解,以下隨附申請專利範圍可含有使用介紹性片語「至少一個」及「一或多個」來介紹請求項陳述物。然而,此種片語的使用不應被視為暗示以不定冠詞「一(a或an)」進行的請求項陳述物的介紹將含有此種所介紹請求項陳述物的任意特定請求項限制於僅含有一個此種陳述物的實例,即便當同一請求項包括介紹性片語「一或多個」或「至少一個」及例如「一(a或an)」等不定冠詞(例如,「a及/或an」應被解釋為意指「至少一個」或「一或多個」)時;此同樣適用於介紹請求項陳述物時所使用的定冠詞。此外,在其中使用「A、B或C中的至少一者等」的慣例類似用語的情形中,此種造句一般旨在使熟習此項技術者將理解所述慣例(例如,「具有A、B或C中的至少一者的系統」將包括但不僅限於僅具有A、僅具有B、僅具有C、具有A及B二者、具有A及C二者、具有B及C二者、及/或具有A、B及C三者的系統等)。熟習此項技術者更將理解,事實上,無論是在實施方式中、申請專利範圍中、還是在圖式中,任一轉折性詞語及/或呈現二或更多個供選擇項的片語應被理解為涵蓋包括所述項中的一者、所述項中的任一者、或所述項二者該些可能性。舉例而言,片語「A或B」將被理解為包括「A」或「B」或者「A及B」該些可能性。
圖1A是根據示例性實施例的系統的示意圖。在此實施例中,系統100耦合至主機102。系統100包括處理器104、多個記憶體106、及控制電路108。
在某些實施例中,系統100可包括儲存系統。舉例而言,儲存系統可用以藉由例如串列附接SCSI(serial attached SCSI,SAS)、串列ATA(serial ATA,SATA)、快速非揮發性記憶體(NVMe),光纖通道、乙太網、遠端直接記憶體存取(remote direct memory access,RDMA)等通訊介面而耦合至主機102。然而,在其他實施例中,系統100可不同於儲存系統。如本文中所將闡述,系統100可為其組件具有多個運作參數的任意系統,所述多個運作參數影響耗電及所述系統的至少另一態樣。
處理器104可為通用處理器、數位訊號處理器(digital signal processor,DSP)、應用專用積體電路(application specific integrated circuit)、微控制器、可程式化邏輯裝置、離散電路(discrete circuit)、該些裝置的組合等。處理器104可包括內部部分,例如暫存器、快取記憶體、處理核心等,且亦可包括外部介面,例如位址及資料匯流排介面、中斷介面(interrupt interface)等。儘管僅示出一個處理器104,然而可存在多個處理器。另外,例如邏輯晶片組、集線器(hub)、記憶體控制器、通訊介面等其他介面裝置可為系統100的欲將處理器104連接至內部組件及外部組件的一部分。
記憶體106可為能夠儲存資料的任意裝置。此處,示出兩個記憶體106;然而,系統100中可包括多於一個的任意數目的記憶體106。記憶體106的實例包括動態隨機存取記憶體(DRAM)模組、根據例如DDR、DDR2、DDR3、DDR4等各種標準的雙倍資料速率同步動態隨機存取記憶體(double data rate synchronous dynamic random access memory,DDR SDRAM)、靜態隨機存取記憶體(static random access memory,SRAM)、例如快閃記憶體、自旋轉移矩磁阻式隨機存取記憶體(spin-transfer torque magnetoresistive random access memory,STT-MRAM)或相變隨機存取記憶體(Phase-Change RAM)等非揮發性記憶體等。
控制電路108是耦合至處理器104及記憶體106的電路系統。控制電路108可包括通用處理器、數位訊號處理器(DSP)、應用專用積體電路、微控制器、可程式化邏輯裝置、離散電路、或與處理器104類似的處理器。如以下將更詳細地闡述,控制電路108可實作於處理器104中;然而,在此實施例中,控制電路108是與處理器104分離的。
控制電路108可包括用於與處理器104及記憶體106介接的電路系統。舉例而言,控制電路108可與處理器104及記憶體106一起耦合至共用匯流排。在其他實施例中,控制電路108可包括輸入及輸出,所述輸入及所述輸出連接至處理器104及記憶體106的對應輸入及對應輸出、連接至中間裝置等。舉例而言,控制電路108可用以控制一或多個電壓調節器,所述一或多個電壓調節器用以供應電源電壓至處理器104及記憶體106中的一或多者。在另一實例中,控制電路108可包括與處理器104及記憶體106的對應通訊介面介接的介面,例如I2C介面。在又一實例中,控制電路108可直接連接至處理器104的及記憶體106的輸入及輸出。
無論如何,控制電路108可用以與處理器104及/或記憶體106交互作用。具體而言,控制電路108可用以自處理器104及記憶體106接收功率資訊,並影響處理器104及記憶體106的多個運作參數。舉例而言,控制電路108可用以量測處理器104及/或記憶體106的耗電。另外,控制電路108可用以迭代地改變處理器104的及記憶體106的多個運作參數,以將與所述系統相關聯的目標功能最佳化至其中耗電小於或等於功率限值(power limit)的運作狀態。
圖1B是根據示例性實施例的控制電路的示意圖。參照圖1A及圖1B,在此實施例中,控制電路108用以接收功率量測值110。功率量測值110表示處理器104及/或記憶體106的耗電的量測值。舉例而言,功率量測值110可包括處理器104及每一記憶體106的耗電的量測值。控制電路108可以各種方式接收功率量測值110。舉例而言,控制電路108可利用與處理器104及記憶體106的通訊介面、直接連接等來讀取處理器104的及記憶體106的功率計、溫度計、電流計、及/或電壓計。在另一實例中,控制電路108可包括用以計算處理器104及記憶體106中的一或多者的耗電的估計值的算術邏輯單元或其他電路系統。
控制電路108亦用以接收功率限值112。舉例而言,若控制電路108包括單獨的微控制器,則所述微控制器可經由通訊匯流排而接收指示特定功率位準的通訊。此種通訊可接收自處理器104、接收自位於系統100外部的裝置等。然而,可依控制電路108的特定電路系統而定以其他方式來接收功率限值112。在實施例中,在主機102上執行的軟體可用以發出系統呼叫、例如IOCTL呼叫、或經由與系統100相關聯的API而暴露的其他呼叫。藉由此種呼叫,主機102可傳送包含所述功率限值的命令。舉例而言,命令可包括功率限值的值。在另一實例中,所述命令可包括將時間資訊或時鐘資訊與功率預算或功率限值相關聯的一組規則、排程表(schedule)等。另外,目標功能及/或其他元(meta)亦可包含於所述命令中。在特定實施例中,命令可包括多個表項(entry),其中每一表項包含時間、功率限值、及目標功能。因此,主機102可控制系統100的功率限值、為系統100建立所要遵守的規則或排程表、設定目標功能等。
控制電路108用以輸出運作參數114。運作參數114表示處理器104的及/或記憶體106的參數,所述參數可被改變以改變處理器104的及/或記憶體106的運作。舉例而言,運作參數114可包括處理器104的及記憶體106的可被控制以影響效能及/或耗電的任意參數。在特定實例中,控制電路108可用以對處理器104的暫存器及/或記憶體106進行寫入。在另一實例中,控制電路108可將控制訊號傳送至電壓調節器,以使所述電壓調節器將不同的電壓輸出至處理器104及記憶體106中的一或多者。
如上所述,控制電路108可用以迭代地改變處理器104的及記憶體106的多個運作參數,以將目標功能最佳化。具體而言,可實行此種最佳化,以使在系統100使用運作參數的最佳化狀態運作時小於或等於功率限值112。可在運行時間中實行此種最佳化。因此,可在特定功率預算的限制內將目標功能最佳化。
所述目標功能可表示所欲最佳化的各種條件。舉例而言,目標功能可表示系統100的效能、系統100的耐久性、系統100的可靠性等。在其他實例中,目標功能可表示系統100的輸入及輸出數目、頻寬、延遲、容量、或其他態樣。目標功能可表示並非整個系統100的態樣。舉例而言,目標功能可僅表示記憶體106的效能或其他態樣。系統100的任意量度可用作或作為目標功能的一部分。
在示例性實施例中,運作參數可包括處理器104的至少一個運作參數、記憶體106中的第一記憶體的至少一個運作參數、及記憶體106中的第二記憶體的至少一個運作參數。亦即,所述運作參數包括來自處理器104及每一記憶體106的運作參數。如此一來,處理器104的及每一記憶體106的運作狀態可被改變以影響目標功能及耗電。然而,在其他實施例中,可使用並非整個處理器104及所有記憶體106的運作參數進行迭代。舉例而言,在某些實施例中,可對處理器104的及並非所有記憶體106的運作參數進行迭代。在其他實施例中,處理器104及每一記憶體106可分別具有可被迭代的多個運作參數。
無論如何,可對多個運作參數進行迭代。具體而言,由於可改變多個且可能許多個運作參數,因此可能難以找到解。具體而言,找到解可為NP困難問題(NP-hard)。因此,所述運作參數可被迭代地改變,以在較短的時間內達成實質上最佳的解。亦即,儘管在某些實施例中,所述運作狀態可為最佳狀態,然而在其他實施例中,對於給定目標功能,所述運作狀態可不為最佳狀態;然而,所述運作狀態是在較少量的時間內達成的,且可在運行時間中找到所述運作狀態。由於要找到最佳解的時間較少,因此在某些實施例中,系統100可在運作期間因應於變化的功率限值112,且在該些功率限值112內,可將目標功能最佳化。
在具體實例中,功率限值112可被設定成10瓦(W)。較低的平行性(例如較少數目的現用處理器(active processor)104或較小大小的記憶體106)可達成較低的功率限值112。另外,記憶體106的不同運作狀態(例如單位準胞元(single level cell,SLC)程式化)亦可達成功率限值112。目標功能可指示應使用哪種技術。舉例而言,若目標功能是用於達成最大效能,則可使用單位準胞元程式化配置,從而減小容量。然而,現用處理器104的數目或記憶體106的其他態樣可不被改變成降低平行性,且因此可不降低效能。在另一實例中,目標功能可指示較高容量,且因此可使用較低平行性配置。
在某些實施例中,目標功能可不指示所使用的特定技術,或可不規定可被改變的特定運作參數。利用以上實例中的一者,目標功能無需規定所應使用的單位準胞元程式化。相比之下,目標功能可僅指示應在功率限值112內將效能最大化。藉由運作參數的迭代,可達成處於功率限值112內的最佳效能,所述運作參數包括指示所欲使用的特定胞元位準程式化技術的運作參數。儘管在某些情形中,運作參數可指示所應使用的單位準胞元程式化,然而在其他情形中,在繼續使效能最大化的同時,可藉由改變其他運作參數而不改變單位準胞元程式化來節約足夠量的功率。
在特定實施例中,控制電路108可被配置成在以第一功率限值112運作之後接收不同的第二功率限值112。控制電路108可隨後被配置成迭代地改變處理器104的及記憶體106的運作參數,以將與系統100相關聯的目標功能最佳化至其中耗電小於或等於所述第二功率限值的運作狀態。
在實施例中,可在運行時間中實行目標功能的最佳化。亦即,控制電路108可被配置成在系統100正運行的同時對運作參數114進行迭代。當接收到新的功率限值112時,控制電路108可被配置成在系統100正運行的同時對欲改變系統100的運作狀態的運作參數進行迭代,以使二者均處於所述新的功率限值112內並再次使目標功能最佳化。因此,在運行時間中,功率限值112可動態地變化,且因應於此,可改變系統100的運作以滿足所述新的功率限值112。
在某些實施例中,控制電路108可用以對運作參數進行連續地迭代。舉例而言,控制電路108可用以週期性地(例如,每隔一毫秒(ms))實行最佳化序列。亦即,控制電路108可用以對運作參數進行迭代,以每隔一毫秒找到最佳狀態。儘管已使用毫秒作為實例,然而視需要可使用其他時間訊框。舉例而言,若找到最佳解的所期望時間為10毫秒,則最佳化序列可每隔20毫秒重複一次。因此,當設定新的功率限值112時,控制電路108可繼續進行迭代、但以新的功率限值112進行迭代。
在其他實施例中,控制電路108可用以因應於特定條件而進行迭代。舉例而言,控制電路108可用以在啟動時、在自睡眠狀態醒來之後,在接收到新的功率限值112之後、在特定時間週期之後等時間點開始迭代。
在某些實施例中,功率限值112的影響即便未被消除,亦可得以減小。舉例而言,系統100可在其中功率限值112要麼不存在要麼被設定成較系統100所將可能達成者高的值的條件下運作。因此,本文所述的最佳化可不受功率限值112限制。如此一來,僅利用運作參數便可將目標功能最佳化。可在運作參數的整個範圍內對該些運作參數進行迭代。在特定實例中,目標功能在不慮及耗電時可與最大化壽命相關聯。所得的一組運作參數可不同於在不慮及耗電時可使效能最大化的一組運作參數。儘管已使用最佳化壽命作為在不慮及耗電時可被最佳化的目標功能的實例,然而可使用任意目標功能。
圖2A至圖2F是根據各種實施例的迭代的示意圖。在某些實施例中,可使用不同的迭代方法來對運作參數進行迭代。可使用的迭代方法的實例包括內爾德-米德方法(Nelder-Mead method)及座標下降方法(coordinate descent method);然而,在其他實施例中,可使用其他迭代方法。將使用內爾德-米德方法作為實例。內爾德-米德方法是一種可相對快速地收斂的迭代方法。在某些實施例中,由於內爾德-米德方法是試探式的,因而其可能並非總提供最佳的一組運作參數,但其所提供的運作參數可為在相對短的時間週期中獲得的足夠好的解。
內爾德-米德方法以具有n+1個頂點的初始單體(simplex)開始,其中n是運作參數的數目。所述頂點表示一組運作參數。所述方法隨後根據中間搜索頂點而對步驟進行迭代。在搜索開始時,初始的幾組運作參數可部分地基於先前的最佳解,以減少收斂所需的時間,然而,在其他實施例中,可添加新的及/或隨機的幾組運作參數以避免局部最佳(local optima)。在一個實施例中,可將一個組初始化成先前的最佳解且可將其他組初始化成隨機組。在另一實施例中,可將二或更多組初始化成先前的最佳解,同時將其餘組設定成隨機組。
參照圖2A,將使用利用兩個運作參數進行的最佳化作為實例;然而,可對任意數目的運作參數進行最佳化。由於欲對兩個運作參數進行最佳化,因此對三組200、202、及204運作參數計算目標功能。除計算目標功能的結果以外,可對所述三組200、202、及204量測耗電。
在圖2B中,找到最差組。此處,最差組為組200。可計算其餘組202及204的重心206。在圖2C中,可以重心206為中心來反射最差組200,以產生新的組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是巨量儲存媒體(mass storage medium)。
在實施例中,揮發性記憶體122可包括動態隨機存取記憶體(DRAM)。所述動態隨機存取記憶體可具有多個運作參數,例如功率閘控參數、自我再新參數、階級(rank)的數目、及通道的數目。該些參數中的每一者均可影響動態隨機存取記憶體對目標功能結果的貢獻及耗電二者。
非揮發性記憶體120可包括非揮發性隨機存取記憶體(non-volatile random access memory,NVRAM),例如反及(NAND)快閃記憶體、自旋轉移矩磁性隨機存取記憶體、相變記憶體(PCM)等。所述非揮發性隨機存取記憶體可具有多個運作參數,例如讀取重試參數、單位準/多位準胞元模式切換、抹除電壓、及程式化電壓。
具體而言,反及快閃媒體具有非對稱的延遲特性及耗電特性。反及胞元在進行寫入(程式化)/抹除時可較進行讀取時耗時長。另外,讀取使用較低的電壓運作(例如,5伏),而程式化或其抹除則需要較高的電壓(例如,程式化為20伏且抹除為-20伏)。此外,不同於在讀取中對每一反及胞元進行的感測程序,程式化或抹除需要向浮動閘(floating gate)注入電荷或自浮動閘移除電荷。富爾諾罕(Fowler-Nordheim,FN)穿隧耗時較長,且因此程式化及抹除可較讀取慢若干個數量級。
反及快閃媒體可使用每一反及胞元儲存多個狀態的多位準胞元(MLC)。由於每一記憶體胞元具有較高的資訊密度,因此多位準胞元在給定記憶體中提供較大的邏輯容量。然而,多位準胞元引入複雜的讀取/程式/抹除機制。多位準胞元程式化由兩個階段組成:最低有效位元(least significant bit,LSB)程式化及最高有效位元(most significant bit,MSB)程式化。程式化藉由以若干步長(step size)遞增地注入電荷而利用遞增步進脈波程式化(Incremental Step Pulse Programming,ISPP)對臨限電壓進行精細控制。此外,多位準胞元反及引入另一非對稱特性:最高有效位元程式化因具有更多的臨限位準(相較於單位準胞元中的1個臨限位準而具有3個臨限位準)而較最低有效位元程式化耗時長,且因此使用更精細的控制來恰當地設定臨限電壓。在諸多反及晶片中,最高有效位元程式化較最低有效位元程式化慢十倍。
FN穿隧藉由將臨限電壓Vth移位而達成對邏輯「1」及邏輯「0」的表示。臨限電壓Vth與儲存電荷Q成比例。因此,一旦恰當的電荷被注入至浮動閘中/自浮動閘抽出,便可定義給定胞元的邏輯狀態。浮動閘中的電荷量決定Vth,且因此可對讀取Vth進行配置或程式化。
然而,可因浮動閘與基板之間的氧化物內的電荷陷阱(charge trap)而出現胞元Vth劣化。如此一來,所述氧化物內的電荷會阻止恰當的電荷注入及電荷抽出。結果,來自控制閘的所量測Vth在兩種狀態中均較高。因此,由於具有智慧型程式化/抹除機制,抹除/程式化操作可隨著每一胞元劣化而耗時更長。
除該些非對稱特性以外,反及媒體及其組織可引入平行性,以隱藏反及在程式化及抹除中的較高延遲,且此種平行性包括多平面(multi-plane)操作、交錯(interleave)操作、及多通道(multi-channel)操作。由於此種平行性意味著可同時執行多個反及操作,因此可應用異質平行性(heterogeneous parallelism)來滿足功率限制。
以上已闡述了非揮發性記憶體120的各種不同特性。該些特性中的每一者均可為可配置的。非揮發性記憶體120可具有與上述運作相關的各種運作參數。
處理器104可具有各種運作參數。舉例而言,運作參數可包括處理器104的動態電壓及頻率縮放(dynamic voltage and frequency scaling,DVFS)參數及功率閘控參數。在另一實例中,處理器104可具有多個核心。在又一實例中,可存在多個處理器104,其中現用處理器104的數目是可變的。
在特定實例中,處理器104可以各種供應電壓運作。所述供應電壓可為第一運作參數。處理器104可包括多個核心,所述多個核心中的每一者可被賦能或去能。正運作的核心的數目可為第二運作參數。非揮發性記憶體122可包括可被賦能或去能的階級的數目及可變供應電壓,進而產生兩個額外的運作參數。非揮發性記憶體120可以單位準胞元模式或多位準胞元模式運作。非揮發性記憶體120亦可包括可變程式化電壓。所述胞元模式及所述程式化電壓可為兩個額外的運作參數。
如上所述,對於給定功率限值,可對運作參數進行迭代以將目標功能最佳化。解的實例包括處理器104供應電壓為1.35伏、四個處理器104核心中的兩者被賦能、揮發性記憶體122的十六個階級中的10個階級被賦能、揮發性記憶體122的供應電壓為1.1伏、非揮發性記憶體120為單位準胞元模式、及非揮發性記憶體120為10伏的程式化電壓。
在特定實施例中,系統100可為固態驅動機,所述固態驅動機包括多個處理器104、多個非揮發性記憶體120、及多個揮發性記憶體122。處理器104可消耗高效能固態驅動機的總耗電的較大部分,因此處理器104可被視作用於減少其耗電的候選者。類似地,動態隨機存取記憶體及非揮發性記憶體媒體可為用於降低功率的獨立候選者。該些組件可在隱藏較慢寫入特性及非揮發性記憶體120的FTL開銷的同時相結合地運作以提供高的效能。此種系統可相對複雜,且因此當控制每一組件時對效能影響進行預測可能相對困難。因此,以在表現出最小效能劣化的同時產生最佳節電的方式來改變所述一或多個組件的運作參數的途徑可能並不顯而易見。由於固態驅動機的複雜度,解決此種問題可能是困難的且耗費時間。如本文中所述對運作參數進行迭代可使得在可接受的時間訊框內達成更最佳的解。
在實施例中,控制電路108可用以辨識具有在至少兩個接連的最佳化序列中保持恆定的狀態的運作參數,且對於至少一個未來的最佳化序列,自所述運作參數中移除所辨識的運作參數。舉例而言,控制電路108可包括用以儲存來自先前的最佳化序列的結果(亦即,最佳化解的運作參數的狀態)的記憶體。
在此實例中,在每一最佳化序列後的每一最佳化解中的記憶體階級的數目相同。所述記憶體階級可被辨識為保持恆定的運作參數。作為將記憶體階級辨識為保持恆定的運作參數的結果,可自對於至少某些未來迭代進行迭代的運作參數的群組中移除所述記憶體階級。在此實例中,新的運作參數組自5個運作參數減少至4個運作參數。如此一來,進一步最佳化可因尺寸的減小而更快地達成最佳化解。儘管已使用該些特定運作參數作為實例,然而可對任意運作參數進行分析,以判斷一或多個運作參數是否在足夠量的最佳化循環中保持穩定以作為欲被移除的候選者。
在實施例中,控制電路108可能夠將各種運作參數設定成離散值(discrete value)。控制電路108可被配置成將離散值寫入至暫存器、將所述離散值傳遞至另一組件等,以設定所述運作參數。舉例而言,階級的數目可僅能夠被設定成整數。在另一實例中,處理器電壓可能夠被設定成非整數值、但僅在一範圍內在分立的步驟中被設定成非整數值。因此,若離散值未改變,則運作參數可被控制電路108確定為恆定的。
在實施例中,控制電路108可用以將被移除的運作參數重新儲存至所述一組運作參數。舉例而言,若功率限值發生改變、經過了預定量的時間、系統100a的使用發生改變等,則可藉由在控制電路108的記憶體中設定指示欲對哪一運作參數進行迭代的旗標(flag)而返送回被移除的參數。可使用可改變系統100a的運作的任一事件作為觸發器來返送回被移除的運作參數。
圖4是根據另一實施例的具有功率計的系統的示意圖。在實施例中,處理器104及記憶體106中的至少一者包括用以量測功率的功率計電路130。在此實施例中,處理器104及記憶體106中的每一者包括功率計電路130。
功率計電路130可呈各種形式。舉例而言,在特定裝置中可存在熱感測器或功率感測器。放大器、類比-數位轉換器(analog to digital converter)、緩衡器、暫存器等可為功率計電路130的用於將物理效應轉換成可由控制電路108使用的數位化值的部分。舉例而言,可自感測器感測訊號,將所述訊號數位化並儲存於暫存器中。所述暫存器可由控制電路108讀取、由處理器104讀取並被傳遞至控制電路108等,以自功率計電路130讀取功率。
來自該些功率計電路130的讀數可被正規化並被組合成耗電值。因此,當運作時,控制電路108可接收當前一組運作參數的功率量測值。當使用新的一組運作參數時,可實行另一功率量測。
返回至圖1A,在實施例中,控制電路108可用以基於運作參數中的一或多者來估計處理器104及記憶體106中的至少一者的耗電。舉例而言,可根據所述運作參數估計耗電。另外,可根據處理器104及記憶體106的使用來估計耗電。在特定實例中,可對在間隔期間的請求或活動的數目進行計數。所述系統的運作參數及所述系統的態樣的其他量測值可被各別地使用或組合於一起使用來產生功率量測值。在某些實施例中,對耗電的估計可用於系統100的某些裝置,而與圖4所示功率計電路130類似的功率計可用於其他裝置中。無論如何,對於給定迭代,功率量測值可被組合成耗電。
圖5是根據另一實施例的系統的示意圖。在此實施例中,控制電路108是處理器104的一部分。舉例而言,控制電路108的上述操作可藉由在處理器104上執行的程式來實行。舉例而言,處理器104可包括一或多個記憶體匯流排介面,所述一或多個記憶體匯流排介面用以使處理器104與記憶體106通訊。藉由所述記憶體匯流排介面,處理器104可被配置成設定所述記憶體的運作參數。另外,在處理器104上執行的程式可存取處理器104的暫存器、存取處理器104的電源供應系統等,以在迭代期間改變處理器104的運作參數。
圖6是根據另一實施例的系統的示意圖。在此實施例中,系統100d類似於圖1A所示的系統100。然而,在此實施例中,系統100d包括多個裝置107。裝置107中的每一者具有可由控制電路108改變的一或多個運作參數。控制電路108可被配置成接收功率限值、量測所述裝置的耗電;以及迭代地改變所述裝置的運作參數,以將與系統100d相關聯的目標功能最佳化至其中耗電小於或等於功率限值的運作狀態。換言之,本文所述針對記憶體106進行的在功率限值內的最佳化亦可被施加至通用裝置,條件是該些裝置具有可配置的運作參數。
圖7是根據實施例的迭代技術的流程圖。參照圖1A、圖1B、及圖7,在此實施例中,在600中,將運作參數設定至特定狀態。舉例而言,控制電路108可設定處理器104的供應電壓、第一記憶體106的階級的數目、及另一記憶體106的程式化電壓。可將控制電路108配置成與一或多個電壓調節器通訊以設定各種電壓,並與第一記憶體106通訊以設定階級的數目。
在602中,可量測耗電。舉例而言,控制電路108可與處理器104及記憶體106通訊,以讀取功率暫存器、溫度暫存器等。控制電路108可隨後將來自處理器104及記憶體106的值組合成耗電量測值。
在604中,可針對運作參數的當前狀態計算目標功能。舉例而言,控制電路108可與處理器104及記憶體106通訊,以確定可有助於目標功能的值。舉例而言,處理器104可隨時間而追蹤讀取/寫入請求、此種請求的延遲等。可由處理器104及記憶體106實行、由控制電路108實行、或由該些種組件的組合實行資料的收集。無論如何,控制電路108可獲得目標功能的值。
在606中,控制電路108判斷是否已對足夠數目的組的運作參數進行了量測。若未進行量測,則選擇另一組運作參數並在600中加以設定,並且如上所述在602及604中進行量測。舉例而言,若當使用內爾德-米德方法時被改變的運作參數的數目為10,則可由控制電路108對11組運作參數狀態重複進行量測。
一旦已量測到足夠數目的組,控制電路108便可在608中判斷最佳狀態。舉例而言,控制電路108可判斷所述迭代是否已收斂至最佳狀態。若未收斂至最佳狀態,則可根據當前迭代方法來實行新的迭代,以對其他一或多個組運作參數狀態進行量測。
在610中,在已辨識出最佳的一組運作參數狀態之後,可對另一最佳化序列的初始組的運作參數進行設定。舉例而言,控制電路108可將運作參數狀態的初始組中的一組設定成先前最佳組中的狀態,並將其他初始組設定成隨機組。如上所述,可重新對運作參數進行迭代。
圖8是根據實施例的迭代技術的流程圖。參照圖1A、圖1B、及圖8,在此實施例中,所述方法可類似於圖7所示的方法。然而,在608中找到最佳的一組運作參數之後,可對此組及先前最佳的各組運作參數進行分析,以判斷一或多個組是否在足夠數目的最佳化序列中保持恆定。若是,則在612中自用於未來迭代的所述一組運作參數移除該些參數。舉例而言,控制電路108可將欲被移除的運作參數標記為已在控制電路108的記憶體中所儲存的資料結構中被移除。可如上所述在608中繼續進行迭代。
返回至圖1A及圖1B,在實施例中,系統100可容許主機102具有新的控制機制。舉例而言,主機102可改變對系統100的功率限值。主機102可改變裝置的目標功能。在主機102上執行的系統管理軟體可執行新的系統呼叫(system call)或擴展式系統呼叫(extended system call),以改變系統100的此種參數。如上所述,系統100可接收與該些參數有關的命令。藉由該些系統呼叫,主機102可產生所述命令並將其發送至系統100。
圖9是根據實施例的伺服器的示意圖。在此實施例中,伺服器900可包括獨立式伺服器(stand-alone server)、機架安裝式伺服器(rack-mounted server)、刀鋒型伺服器(blade server)等。伺服器900包括系統902及處理器904。處理器904耦合至系統902。儘管僅示出一個系統902,然而可存在任意數目的系統902。系統902可為上述對應系統(例如,系統100、100a、100b、100c、100d等)中的任一者。舉例而言,系統902可為固態驅動機。所述固態驅動機可為伺服器900提供資料儲存。
圖10是根據實施例的伺服器系統的示意圖。在此實施例中,伺服器系統1000包括多個伺服器1002-1至1002-N。伺服器1002(1002表示為1002-1至1002-N)分別耦合至管理器1004。伺服器1002中的一或多者可類似於上述伺服器900。
管理器1004用以管理伺服器1002及伺服器系統1000的其他組件。在實施例中,管理器1004可用以管理伺服器1002的耗電。舉例而言,由於伺服器1002中的每一者可包括例如如上所述的系統100、100a、100b、100c、100d等系統,因此管理器1004可與該些系統通訊,以設定功率限值。在特定實例中,管理器1004可已由管理者配置成降低伺服器系統1000的耗電、但維持特定的效能水準。當僅使用固態驅動機的熱設計功率時,管理器1004可僅具有將伺服器1002的系統置於睡眠狀態或其他被去能狀態的選項。然而,藉由根據實施例的系統,可達成更精細粒度的功率限值及運作狀態。舉例而言,管理器1004可與伺服器1002的處理器通訊,以將命令發送至伺服器1002的系統來設定功率限值並設定目標功能,從而將效能最佳化。如此一來,伺服器系統1000的系統可迭代地改變運作參數,以在由管理器1004設定的特定功率限值內將效能最佳化。
圖11是根據實施例的資料中心的示意圖。在此實施例中,資料中心1100包括多個伺服器系統1102-1至1102-N。伺服器系統1102(1102表示為1102-1至1102-N)可類似於以上在圖10中闡述的伺服器系統1000。伺服器系統1102耦合至網路1104,例如網際網路。因此,伺服器系統1102可藉由網路1104而與各種節點1106-1至1106-M通訊。舉例而言,節點1106(1106表示為1106-1至1106-M)可為客戶端電腦、其他伺服器、遠端資料中心、儲存系統等。
儘管已根據特定實施例闡述了所述結構、方法、及系統,然而此項技術中具有通常知識者將易於認識到,可對所揭露的實施例作出諸多變化,且因此任一變化均應被視為處於本文中所揭露的設備、方法、及系統的精神及範圍內。因此,可由此項技術中具有通常知識者作出諸多潤飾,而此並不背離隨附申請專利範圍的精神及範圍。
100、100a、100b、100c、100d‧‧‧系統
102‧‧‧主機
104‧‧‧處理器
106‧‧‧記憶體
107‧‧‧裝置
108‧‧‧控制電路
110‧‧‧功率量測值
112‧‧‧功率限值
114‧‧‧運作參數
120‧‧‧非揮發性記憶體
122‧‧‧揮發性記憶體
130‧‧‧功率計電路
200、202、204‧‧‧組
206‧‧‧重心
208、210、212‧‧‧新的組
220、222、224‧‧‧組
226、228‧‧‧新的組
600、602、604、606、608、610、612‧‧‧步驟
900‧‧‧伺服器
902‧‧‧系統
904‧‧‧處理器
1000‧‧‧伺服器系統
1002-1、1002-2、1002-N‧‧‧伺服器
1004‧‧‧管理器
1100‧‧‧資料中心
1102-1、1102-2、1102-N‧‧‧伺服器系統
1104‧‧‧網路
1106-1、1106-2、1106-M‧‧‧節點
圖1A是根據實施例的系統的示意圖。 圖1B是根據實施例的控制電路的示意圖。 圖2A至圖2F是根據各種實施例的迭代的示意圖。 圖3是根據另一實施例的具有揮發性記憶體及非揮發性記憶體的系統的示意圖。 圖4是根據另一實施例的具有功率計的系統的示意圖。 圖5是根據另一實施例的系統的示意圖。 圖6是根據另一實施例的系統的示意圖。 圖7是根據實施例的迭代技術的流程圖。 圖8是根據實施例的迭代技術的流程圖。 圖9是根據實施例的伺服器的示意圖。 圖10是根據實施例的伺服器系統的示意圖。 圖11是根據實施例的資料中心的示意圖。
100‧‧‧系統
102‧‧‧主機
104‧‧‧處理器
106‧‧‧記憶體
108‧‧‧控制電路
Claims (20)
- 一種控制耗電的系統,包括:處理器;多個記憶體;以及控制電路,耦合至所述處理器及所述記憶體,且用以:接收功率限值;量測所述處理器及所述記憶體的耗電;以及迭代地改變所述處理器的及所述記憶體的多個運作參數,以將與所述系統相關聯的目標功能最佳化至其中所述耗電小於或等於所述功率限值的運作狀態,其中所述控制電路使用所述耗電小於或等於所述功率限值的多組所述運作參數中各組的狀態來操作所述處理器和所述記憶體,以及其中所述控制電路對各組所述運作參數的狀態計算所述目標功能的結果。
- 如申請專利範圍第1項所述的控制耗電的系統,其中所述處理器的及所述記憶體的所述多個運作參數包括所述處理器的至少一個運作參數、所述記憶體中第一記憶體的至少一個運作參數、以及所述記憶體中第二記憶體的至少一個運作參數。
- 如申請專利範圍第1項所述的控制耗電的系統,其中所述記憶體包括動態隨機存取記憶體及非揮發性隨機存取記憶體。
- 如申請專利範圍第3項所述的控制耗電的系統,其中所述運作參數包括所述動態隨機存取記憶體的功率閘控參數、自我再新參數、階級的數目、及通道的數目中的至少一者。
- 如申請專利範圍第3項所述的控制耗電的系統,其中所述運作參數包括所述非揮發性隨機存取記憶體的讀取重試參數、單位準/多位準胞元模式切換、抹除電壓、及程式化電壓中的至少一者。
- 如申請專利範圍第1項所述的控制耗電的系統,其中所述運作參數包括所述處理器的動態電壓及頻率縮放參數及功率閘控參數中的至少一者。
- 如申請專利範圍第1項所述的控制耗電的系統,其中所述控制電路更用以:辨識具有在至少兩個接連的最佳化序列中保持恆定的狀態的運作參數;以及對於至少一個未來的最佳化序列,自所述運作參數中移除所述所辨識的運作參數。
- 如申請專利範圍第1項所述的控制耗電的系統,其中所述處理器及所述記憶體中的至少一者包括用以量測功率的功率計電路。
- 如申請專利範圍第1項所述的控制耗電的系統,其中所述控制電路更用以基於所述運作參數中的一或多者來估計所述處理器及所述記憶體中的至少一者的耗電。
- 如申請專利範圍第1項所述的控制耗電的系統,其中所述控制電路更用以:接收第二功率限值;以及迭代地改變所述處理器的及所述記憶體的所述運作參數,以將與所述系統相關聯的所述目標功能最佳化至其中所述耗電小於或等於所述第二功率限值的運作狀態。
- 如申請專利範圍第1項所述的控制耗電的系統,其中所述處理器包括所述控制電路。
- 一種控制耗電的方法,包括:在控制電路中接收功率限值;由所述控制電路量測處理器的及多個記憶體的耗電;以及由所述控制電路迭代地改變所述處理器的及所述記憶體的多個運作參數,以將與所述處理器及所述記憶體相關聯的目標功能最佳化至其中所述耗電小於或等於所述功率限值的運作狀態,其中由所述控制電路迭代地改變所述處理器的及所述記憶體的多個運作參數,以將與所述處理器及所述記憶體相關聯的目標功能最佳化至其中所述耗電小於或等於所述功率限值的運作狀態包括:使用所述耗電小於或等於所述功率限值的多組所述運作參數中各組的狀態來操作所述處理器和所述記憶體,以及對各組所述運作參數的狀態計算所述目標功能的結果。
- 如申請專利範圍第12項所述的控制耗電的方法,其中所述記憶體包括動態隨機存取記憶體及非揮發性隨機存取記憶體。
- 如申請專利範圍第12項所述的控制耗電的方法,更包括:由所述控制電路辨識具有在至少兩個接連的最佳化序列中保持恆定的狀態的運作參數;以及對於至少一個未來的最佳化序列,由所述控制電路自所述運作參數中移除所述所辨識的運作參數。
- 如申請專利範圍第12項所述的控制耗電的方法,更包括:由所述控制電路接收第二功率限值;以及由所述控制電路迭代地改變所述處理器的及所述記憶體的所述運作參數,以將與所述處理器及所述記憶體相關聯的所述目標功能最佳化至其中所述耗電小於或等於所述第二功率限值的運作狀態。
- 如申請專利範圍第12項所述的控制耗電的方法,更包括接收命令,所述命令指示在迭代地改變所述運作參數時所欲使用的迭代方法、所述目標功能、及所述功率限值中的至少一者。
- 如申請專利範圍第12項所述的控制耗電的方法,其中由所述控制電路迭代地改變所述運作參數包括:由所述控制電路 根據內爾德-米德方法及座標下降方法中的至少一者迭代地改變所述運作參數。
- 如申請專利範圍第17項所述的控制耗電的方法,更包括:由所述控制電路以多組先前的最佳化運作狀態將所述運作參數的迭代初始化。
- 如申請專利範圍第17項所述的控制耗電的方法,更包括由所述控制電路以隨機的一組運作狀態將所述運作參數的迭代初始化。
- 一種控制耗電的系統,包括:多個裝置;以及控制電路,耦合至所述裝置,且用以:接收功率限值;量測所述裝置的耗電;以及迭代地改變所述裝置的多個運作參數,以將與所述系統相關聯的目標功能最佳化至其中所述耗電小於或等於所述功率限值的運作狀態,其中所述控制電路使用所述耗電小於或等於所述功率限值的多組所述運作參數中各組的狀態來操作所述裝置,以及其中所述控制電路對各組所述運作參數的狀態計算所述目標功能的結果。
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 (2)
Publication Number | Publication Date |
---|---|
TW201710891A TW201710891A (zh) | 2017-03-16 |
TWI702539B true TWI702539B (zh) | 2020-08-21 |
Family
ID=58238363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105117503A TWI702539B (zh) | 2015-09-14 | 2016-06-03 | 控制耗電的系統與方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9733684B2 (zh) |
JP (1) | JP6788420B2 (zh) |
KR (1) | KR102318541B1 (zh) |
CN (1) | CN106527652B (zh) |
TW (1) | TWI702539B (zh) |
Families Citing this family (11)
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 |
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 |
US10607660B2 (en) | 2017-07-20 | 2020-03-31 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and operating method of the same |
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 |
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 | 深圳忆联信息系统有限公司 | 固态硬盘功耗降低方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080104430A1 (en) * | 2006-10-31 | 2008-05-01 | Malone Christopher G | Server configured for managing power and performance |
US20120010758A1 (en) * | 2010-07-09 | 2012-01-12 | Emerson Process Management Power & Water Solutions, Inc. | Optimization system using an iteratively coupled expert engine |
US20120017099A1 (en) * | 2010-07-13 | 2012-01-19 | David Howard S | Method and apparatus to limit memory power |
US20120173888A1 (en) * | 2010-12-29 | 2012-07-05 | Stmicroelectronics, Inc. | System and method for microeconomic optimization of power usage in a device |
TW201337771A (zh) * | 2011-12-15 | 2013-09-16 | Intel Corp | 用於包括執行緒合併之能源效率及能源節約的方法、裝置及系統 |
CN104281728A (zh) * | 2013-07-12 | 2015-01-14 | 飞思卡尔半导体公司 | 降低半导体器件功耗的系统及方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009021080A2 (en) | 2007-08-06 | 2009-02-12 | Great Lakes Biosciences, Llc | Methods and apparatus for electrical stimulation of tissues using signals that minimize the effects of tissue impedance |
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 |
US7725409B2 (en) * | 2007-06-05 | 2010-05-25 | Motorola, Inc. | Gene expression programming based on Hidden Markov Models |
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 |
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 | 国际商业机器公司 | 对计算工作负载进行管理的方法和系统 |
US20130097433A1 (en) | 2011-10-18 | 2013-04-18 | Stec, Inc. | Systems and methods for dynamic resource management in solid state drive system |
WO2013147801A1 (en) * | 2012-03-29 | 2013-10-03 | 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 |
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 |
-
2015
- 2015-12-11 US US14/967,266 patent/US9733684B2/en active Active
-
2016
- 2016-05-26 KR KR1020160065028A patent/KR102318541B1/ko active IP Right Grant
- 2016-06-03 TW TW105117503A patent/TWI702539B/zh active
- 2016-08-08 JP JP2016155467A patent/JP6788420B2/ja active Active
- 2016-08-26 CN CN201610739044.5A patent/CN106527652B/zh active Active
-
2017
- 2017-07-11 US US15/647,220 patent/US10359822B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080104430A1 (en) * | 2006-10-31 | 2008-05-01 | Malone Christopher G | Server configured for managing power and performance |
US20120010758A1 (en) * | 2010-07-09 | 2012-01-12 | Emerson Process Management Power & Water Solutions, Inc. | Optimization system using an iteratively coupled expert engine |
US20120017099A1 (en) * | 2010-07-13 | 2012-01-19 | David Howard S | Method and apparatus to limit memory power |
US20120173888A1 (en) * | 2010-12-29 | 2012-07-05 | Stmicroelectronics, Inc. | System and method for microeconomic optimization of power usage in a device |
TW201337771A (zh) * | 2011-12-15 | 2013-09-16 | Intel Corp | 用於包括執行緒合併之能源效率及能源節約的方法、裝置及系統 |
CN104281728A (zh) * | 2013-07-12 | 2015-01-14 | 飞思卡尔半导体公司 | 降低半导体器件功耗的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2017059223A (ja) | 2017-03-23 |
CN106527652B (zh) | 2021-07-30 |
CN106527652A (zh) | 2017-03-22 |
US20170075401A1 (en) | 2017-03-16 |
US10359822B2 (en) | 2019-07-23 |
JP6788420B2 (ja) | 2020-11-25 |
US9733684B2 (en) | 2017-08-15 |
TW201710891A (zh) | 2017-03-16 |
KR20170032160A (ko) | 2017-03-22 |
KR102318541B1 (ko) | 2021-10-29 |
US20170308136A1 (en) | 2017-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI702539B (zh) | 控制耗電的系統與方法 | |
AU2011203893B2 (en) | Controlling and staggering operations to limit current spikes | |
US8874942B2 (en) | Asynchronous management of access requests to control power consumption | |
US11550496B2 (en) | Buffer management during power state transitions using self-refresh and dump modes | |
US20190235774A1 (en) | Adaptive power balancing for memory device operations | |
US11041763B2 (en) | Adaptive throttling | |
EP3705979B1 (en) | Ssd restart based on off-time tracker | |
US10884480B1 (en) | Current summing monitoring circuit in a multi-chip package to control power | |
Hu et al. | Optimizing data allocation and memory configuration for non-volatile memory based hybrid SPM on embedded CMPs | |
US11164784B2 (en) | Open-drain transistor monitoring circuit in a multi-chip package to control power | |
US20220413761A1 (en) | Data Retention-Specific Refresh Read | |
WO2022133705A1 (en) | Low power management for sleep mode operation of a memory device | |
US11379355B2 (en) | Power-on-time based data relocation | |
AU2014100558B4 (en) | Controlling and staggering operations to limit current spikes |