• / 29
  • 下載費用:30 金幣  

跟蹤存儲體實用性及智能通電決策的成本.pdf

摘要
申請專利號:

CN201380070446.5

申請日:

2013.11.12

公開號:

CN104919387A

公開日:

2015.09.16

當前法律狀態:

撤回

有效性:

無權

法律詳情: 發明專利申請公布后的視為撤回IPC(主分類):G06F 1/26申請公布日:20150916|||實質審查的生效IPC(主分類):G06F 1/26申請日:20131112|||公開
IPC分類號: G06F1/26; G06F12/08 主分類號: G06F1/26
申請人: 超威半導體公司
發明人: 毛里西奧·布萊特尼特斯; 詹姆斯·M·奧康納; 加布里埃爾·H·洛; 安古·埃克特; 米森納·托特埃托蒂; 斯里蘭塔·曼勒; 布拉德福德·M·貝克曼
地址: 美國加利福尼亞州
優先權: 13/676,805 2012.11.14 US
專利代理機構: 上海勝康律師事務所31263 代理人: 樊英如; 李獻忠
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201380070446.5

授權公告號:

||||||

法律狀態公告日:

2017.12.12|||2015.10.14|||2015.09.16

法律狀態類型:

發明專利申請公布后的視為撤回|||實質審查的生效|||公開

摘要

一種設備,其接收將對存儲體通電的指示,并且基于接收所述指示來確定與斷電的存儲體對應的功率比分。每個功率比分對應于與對斷電的存儲體通電相關聯的功率量度。所述設備基于所述多個功率比分對選定的存儲體通電。

權利要求書

權利要求書
1.  一種方法,其包括:
由處理器接收將對存儲體通電的指示;
由所述處理器并基于接收所述指示來確定與多個斷電的存儲體對應的多個功率比分,所述多個功率比分中的每個功率比分對應于與對所述多個斷電的存儲體中的斷電存儲體通電相關聯的功率量度;以及
由所述處理器基于所述多個功率比分對所述多個斷電的存儲體中的選定的存儲體通電。

2.  根據權利要求1所述的方法,其中所述功率量度是基于以下項中的至少一個:
與對所述斷電的存儲體通電相關聯的功耗;
對所述斷電的存儲體通電所需的時間量;
由所述斷電的存儲體報告的錯誤量;
由所述斷電的存儲體消耗的功率量;
所述斷電的存儲體與所述斷電的存儲體相關聯的組件之間的距離;
對所述斷電的存儲體的訪問的次數;
將被傳送到所述斷電的存儲體的存儲塊的數量;
存儲在通電的存儲體中的存儲塊的數量,所述存儲塊對于所述斷電的存儲體而言是本地的;或
存儲在第一通電的存儲體中的非本地存儲塊的第一數量與存儲在第二通電的存儲體中的非本地存儲塊的第二數量之間的預測差,所述預測差由對所選定的存儲體通電造成。

3.  根據權利要求1所述的方法,其中所述功率量度是基于在對所選定的存儲體通電之前所測量的性能量度的值與在對所選定的存儲體通電之后的所述性能量度的估計值之間的差。

4.  根據權利要求1所述的方法,其中每個功率比分是基于與所述多個斷電的存儲體相關聯的一組功率量度。

5.  根據權利要求1所述的方法,其中接收所述指示是基于以下項中的至少一個:
接收應用或進程將被與所述多個斷電的存儲體相關聯的系統啟動的指示;
接收接收應用或進程已被所述系統啟動的指示的指示;
接收對所選定的存儲體通電將降低所述系統的功耗的指示;或
接收對所選定的存儲體通電將提高所述系統的性能的指示。

6.  根據權利要求1所述的方法,其中接收所述指示是基于確定與通電的存儲體相關聯的性能量度滿足閾值,其中所述性能量度是基于以下項中的至少一個:
從所述通電的存儲體中逐出存儲器的次數;
對所述通電的存儲體的訪問的次數;
與所述通電的存儲體相關聯的存儲器失效的數量;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括臟信息;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括非本地信息;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括共享信息;或
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括指令。

7.  根據權利要求6所述的方法,其中所述性能量度包括聚合的性能量度,所述聚合的性能量度是基于與多個通電的存儲體相關聯的一組性能量度。

8.  一種系統,其包括:
一個或多個處理器,其用于:
接收將對存儲體通電的指示;
基于接收所述指示來確定與多個斷電的存儲體對應的多個功率比分,所述多個功率比分中的每個功率比分對應于與對所述多個斷電的存儲體中的斷電的存儲體通電相關聯的功率量度;以及
基于所述多個功率比分對所述多個斷電的存儲體中的選定的存儲體通電。

9.  根據權利要求8所述的系統,其中所述功率量度是基于以下項中的至少一個:
對所述斷電的存儲體通電所需的時間量;
由所述斷電的存儲體報告的錯誤量;
由所述斷電的存儲體消耗的功率量;
所述斷電的存儲體與所述斷電的存儲體相關聯的組件之間的距離;
對所述斷電的存儲體的訪問的次數;
將被傳送到所述斷電的存儲體的存儲塊的數量;
存儲在通電的存儲體中的存儲塊的數量,所述存儲塊對于所述斷電的存儲體而言是本地的;或
存儲在第一通電的存儲體中的非本地存儲塊的第一數量與存儲在第二通電的存儲體中的非本地存儲塊的第二數量之間的預測差,所述預測差由對所選定的存儲體通電造成。

10.  根據權利要求8所述的系統,其中所述功率量度是基于在對所選定的存儲體通電之前所測量的性能量度的值與在對所選定的存儲體通電之后的所述性能量度的估計值之間的差。

11.  根據權利要求8所述的系統,其中每個功率比分是基于與所述多個斷電的存儲體相關聯的一組功率量度。

12.  根據權利要求8所述的系統,其中在接收所述指示時所述一個或多個處理器還用于進行下列各項中的至少一個:
接收應用或進程將被與所述多個斷電的存儲體相關聯的組件啟動的指示;
接收接收應用或進程已被所述組件啟動的指示的指示;
接收對所選定的存儲體通電將降低所述組件的功耗的指示;或
接收對所選定的存儲體通電將提高所述組件的性能的指示。

13.  根據權利要求8所述的系統,其中在接收所述指示時所述一個或多個處理器還用于:
基于確定與通電的存儲體相關聯的性能量度滿足閾值接收所述指示,其中所述性能量度基于下列各項中的至少一個:
從所述通電的存儲體中逐出存儲器的次數;
對所述通電的存儲體的訪問的次數;
與所述通電的存儲體相關聯的存儲器失效的數量;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括臟信息;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括非本地信息;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括共享信息;或
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括指令。

14.  根據權利要求13所述的系統,其中所述性能量度包括聚合的性能量度,所述聚合的性能量度基于與多個通電的存儲體相關聯的一組性能量度。

15.  一種存儲指令的計算機可讀介質,所述指令包括:
一個或多個指令,其在由處理器執行時促使所述處理器:
接收將對存儲體通電的指示;
基于接收所述指示來確定與多個斷電的存儲體對應的多個功率比分,所述多個功率比分中的每個功率比分對應于與對所述多個斷電的存儲體中的斷電的存儲體通電相關聯的功率量度;以及
基于所述多個功率比分對所述多個斷電的存儲體中的選定的存儲體通電。

16.  根據權利要求15所述的計算機可讀介質,其中所述功率量度基于下列各項中的至少一個:
對所述斷電的存儲體通電所需的時間量;
由所述斷電的存儲體報告的錯誤量;
由所述斷電的存儲體消耗的功率量;
所述斷電的存儲體與所述斷電的存儲體相關聯的組件之間的距離;
對所述斷電的存儲體的訪問的次數;
將被傳送到所述斷電的存儲體的存儲塊的數量;
存儲在通電的存儲體中的存儲塊的數量,所述存儲塊對于所述斷電的存儲體而言是本地的;或
存儲在第一通電的存儲體中的非本地存儲塊的第一數量與存儲在第二通電的存儲體中的非本地存儲塊的第二數量之間的預測差,所述預測差由對所選定的存儲體通電造成。

17.  根據權利要求15所述的計算機可讀介質,其中所述功率量度基于在對所選定的存儲體通電之前所測量的性能量度的值與在對所選定的存儲體通電之后的所述性能量度的估計值之間的差。

18.  根據權利要求15所述的計算機可讀介質,其中每個功率比分基于與所述多個斷電的存儲體相關聯的一組功率量度。

19.  根據權利要求15所述的計算機可讀介質,其中促使所述處理器接收所述指示的所述一個或多個指令還促使所述處理器進行下 列各項中的至少一個:
接收應用或進程將被與所述多個斷電的存儲體相關聯的組件啟動的指示;
接收接收應用或進程已被所述組件啟動的指示的指示;
接收對所選定的存儲體通電將降低所述組件的功耗的指示;或
接收對所選定的存儲體通電將提高所述組件的性能的指示。

20.  根據權利要求15所述的計算機可讀介質,其中促使所述處理器接收所述指示的所述一個或多個指令還促使所述處理器:
基于確定與通電的存儲體相關聯的性能量度滿足閾值接收所述指示,其中所述性能量度基于下列各項中的至少一個:
從所述通電的存儲體中逐出存儲器的次數;
對所述通電的存儲體的訪問的次數;
與所述通電的存儲體相關聯的存儲器失效的數量;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括臟信息;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括非本地信息;
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括共享信息;或
所述通電的存儲體中包括的存儲塊的數量,所述存儲塊包括指令。

說明書

說明書跟蹤存儲體實用性及智能通電決策的成本
發明背景
中央處理單元將信息存儲在緩存中,以降低訪問信息的平均時間。與主存儲器相比,緩存通常是更小更快的存儲器,諸如隨機存取存儲器。緩存通常存儲存儲在最頻繁使用的主存儲器位置中的信息的副本。緩存可能比主存儲器更靠近中央處理單元,因此減少訪問存儲在緩存中的信息所需的時間量和/或能量。
發明概要
根據本發明的某些方面的實施方案,設備接收將對存儲體通電的指示,并基于接收所述指示來確定與斷電的存儲體對應的功率比分。每個功率比分對應于與對斷電的存儲體通電相關聯的功率量度。設備基于多個功率比分對選定的存儲體通電。
附圖簡述
圖1是本文描述的示例性實施方案的概述的視圖;
圖2是根據一些實施方案的其中可實現本文描述的實施方案的設備的示例性組件的視圖;
圖3是根據一些實施方案的可與圖2中示出的一個或多個組件對應的示例性組件的視圖;
圖4是根據一些實施方案的用于對存儲體通電的示例性進程的視圖;
圖5是根據一些實施方案的存儲與存儲體相關聯的性能量度的示例性數據結構的視圖;
圖6是根據一些實施方案的存儲可觸發存儲體通電的條件的示例性數據結構的視圖;
圖7是根據一些實施方案的存儲與存儲體相關聯的功率量度的示例性數據結構的視圖;
圖8是根據一些實施方案的存儲存儲于存儲體中的信息的特性的示例性數據結構的視圖
圖9是根據一些實施方案的與圖4中示出的示例性進程有關的示例性實施方案的視圖;
圖10是根據一些實施方案的與圖4中示出的示例性進程相關的另一示例性實施方案的視圖。
具體實施方式
對示例性實施方案的以下詳細描述參考附圖。不同圖中的相同參考數字可識別相同或類似的元件。
處理器(諸如中央處理單元(“CPU”))可將信息存儲在存儲體(諸如CPU緩存中包括的存儲體)中。為了節省電力,CPU可對一些存儲體斷電。然而,對存儲體斷電可降低包含CPU和存儲體的系統的性能。因此,CPU可對一個或多個存儲體通電以便提高系統性能。本文描述的實施方案幫助CPU確定何時對存儲體通電、對多少個存儲體通電和/或對哪個存儲體通電,以便優化系統性能和功耗。
如本文使用,術語“通電”存儲體(和其它類似術語,諸如“通電”、“被通電”等)指的是調整存儲體的功率特性,使得可利用存儲體來存儲信息。例如,對存儲體通電可指的是對存儲體供電(例如,電流、 電壓等)和/或打開存儲體。作為另一實施例,對存儲體通電可指的是使存儲體從第一功耗狀態(例如,關閉、睡眠、待機、休眠等)過渡到第二功耗狀態(例如,打開、喚醒、就緒等),其中存儲體在第二功耗狀態下消耗的功率量大于存儲體在第一功耗狀態下消耗的功率量。
如本文使用,術語“斷電”存儲體(和其它類似術語,諸如“斷電”、“被斷電”等)指的是調整存儲體的功率特性,使得存儲體不可用于存儲信息。例如,對存儲體斷電可指的是終止到存儲體的供電(例如,電流、電壓等)和/或關閉存儲體。作為另一實施例,對存儲體斷電可指的是使存儲體從第二功耗狀態(例如,打開、喚醒、就緒等)過渡到第一功耗狀態(例如,關閉、睡眠、待機、休眠等),其中存儲體在第一功耗狀態下消耗的功率量小于存儲體在第二功耗狀態下消耗的功率量。
圖1是本文描述的示例性實施方案100的概述的視圖。如在圖1中示出,實施方案100包括一個或多個處理器,在所描述的實施方案中,一個或多個處理器包括連接到包括N個存儲體(N>1)的CPU緩存的CPU(例如,M個CPU,其中M≥1)。在一些實施方案中,CPU緩存被集成到CPU中(且是CPU的一部分)。在其它實施方案中,CPU緩存由多個CPU共享。除了CPU,處理器也可執行本文所述的實施方案。這種處理器可包括(例如)圖形處理單元(GPU)、加速處理單元(APU)、應用處理器、特定應用集成電路(ASIC)、數字信號處理器(DSP)等。
如通過實施方案100示出,CPU確定將對存儲體通電,并且針對被斷電的每個存儲體計算功率比分。在示例性實施方案100,對存儲體1和存儲體3斷電,并且對存儲體2和存儲體N通電。在示例性實施方案中,存儲體1的功率比分是五(5),且存儲體3的功率比分是二(2)。功率比分指示由對存儲體通電造成的性能改進和/或功率成本。例如,與存儲體3相比,存儲體1能夠提供更大的性能改進 和/或更少的功率成本,這體現在與存儲體1和存儲體3相關聯的功率比分上。如通過實施方案100示出,CPU確定存儲體1比存儲體3具有更好的功率比分,并且對存儲體1通電。以此方式,CPU可對存儲體通電,這提供更好的性能改進和/或更低的功率成本(當與對不同的存儲體通電相比時)。
圖2是其中可實現本文描述的實施方案的設備200的示例性組件的視圖。如在圖2中示出,設備200包括總線210、處理器220、存儲器230、輸入組件240、輸出組件250和通信接口260。
總線210包括允許在設備200的組件之間通信的路徑。處理器220包括解譯和/或執行指令的處理設備(例如,CPU、GPU、APU、ASIC、DSP等)。在一些實施方案中,處理器220包括一個或多個處理器核心。此外或替代地,處理器220包括處理單元的組合。
存儲器230包括CPU緩存、暫存存儲器和/或存儲供處理器220使用的信息和/或指令的任何類型的多組存儲器。此外或替代地,存儲器230包括隨機存取存儲器(“RAM”)、只讀存儲器(“ROM”)、和/或存儲供處理器220使用的信息和/或指令的任何類型的動態或靜態存儲設備(例如,閃存、磁或光學存儲器)。
輸入組件240包括允許用戶將信息輸入設備200的組件(例如,鍵盤、按鍵、鼠標、按鈕、開關等)。輸出組件250包括從設備200輸出信息的組件(例如,顯示器、揚聲器、一個或多個發光二極管(“LED”)等)。
通信接口260包括類似收發器的組件,諸如收發器和/或獨立的接收器和傳輸器,其使設備200能夠與其它設備和/或系統進行通信,諸如經由有線連接、無線連接或有線連接和無線連接的組合。例如,通信接口260可包括以太網接口、光學接口、同軸接口、紅外接口、射頻(“RF”)接口、通用串行總線(“USB”)接口等。
在一些實施方案中,設備200執行本文描述的各種操作。設備200可響應于處理器220執行計算機可讀介質(諸如存儲器230)中包括的軟件指令而執行這些操作。計算機可讀介質可被定義為非臨時性存儲器設備。存儲器設備包括單個存儲設備內的空間或跨多個存儲設備擴展的空間。
在一些實施方案中,經由通信接口260將軟件指令從另一計算機可讀介質或從另一設備讀入存儲器230中。當被執行時,存儲在存儲器230中的軟件指令促使處理器220執行本文描述的一個或多個進程。此外或替代地,硬連接電路用來替代軟件指令或結合軟件指令使用,以執行本文描述的一個或多個進程。因此,本文描述的實施方案不限于硬件電路和軟件的任何特定組合。
圖2中示出的組件的數量被提供用于解釋性目的。在實踐中,設備200可包括額外組件、更少組件、不同組件或不同布置的組件(與圖2中示出的那些組件相比)。
在一些實施方案中,圖3是與圖2的處理器220或存儲器230對應的示例性組件300的視圖。如在圖3中示出,組件300包括存儲體310-1至310-N(N>1)(在下文統稱為“存儲體310”,且單獨稱為“存儲體310”)、CPU 320和存儲器管理器330。
存儲體310包括存儲單元和/或存儲塊,其中可存儲信息。在一些實施方案中,存儲體310對應于存儲器230和/或合并到存儲器230。在一些實施方案中,存儲體310是緩存和/或暫存存儲器的邏輯存儲單元。
如在本文使用,術語“塊”或“存儲塊”指的是存儲體310的子區塊(sub-division)、區段或部分,諸如可從其中單獨讀取和/或寫入其中的區段。例如,存儲塊可指的是緩存的緩存線、暫存存儲器或其它多組存儲器的固定大小的塊等。
CPU 320包括處理器、微處理器和/或解譯并執行指令的任何處理設備和/或處理邏輯。在一些實施方案中,CPU 320與處理器220對應。在一些實施方案中,CPU 320和/或另一組件(例如,存儲器管理器330)將存儲器(例如,存儲器230、CPU緩存、暫存存儲器等)劃分為一組存儲體310。在一些實施方案中,CPU 320包括多個CPU、處理器和/或共享存儲體310的處理器核心。
存儲器管理器330執行與通電存儲體310相關聯的操作。在一些實施方案中,存儲器管理器330確定將對存儲體310通電,并且基于與存儲體310相關聯的性能量度和/或功率量度來選擇一個或多個存儲體310進行通電。此外或替代地,存儲器管理器330對選定的存儲體310通電,并將存儲于另一存儲體310的信息傳送到選定的存儲體310以供存儲。雖然示出為被集成到CPU 320(且為CPU 320的一部分),但是在一些實施方案中,存儲器管理器330獨立于CPU 320。
圖3中示出的組件300的數量被提供用于解釋性目的。在實踐中,組件300可包括額外組件、更少組件、不同組件或不同布置的組件(與圖3中示出的那些組件相比)。
圖4是根據一些實施方案的用于通電存儲體的示例性進程400的視圖。在一些實施方案中,圖4的一個或多個進程塊由CPU 320和/或存儲器管理器330的一個或多個組件執行。此外或替代地,圖4的一個或多個進程塊由另一設備或包括或不包括CPU 320和/或存儲器管理器330的設備集的一個或多個組件執行。
如在圖4中示出,進程400包括確定將對斷電的存儲體通電(方框410)。在一些實施方案中,存儲器管理器330接收將對存儲體通電的指示。例如,存儲器管理器330可接收操作系統何時啟動應用和/或進程的指示。此外或替代地,存儲器管理器330可接收應用和/或進程何時改變相位,從而需要改變CPU 320和/或存儲體310的性能的指示。
在一些實施方案中,存儲器管理器330確定系統性能(例如,存儲體310、CPU 320等的性能),并基于系統性能確定將對存儲體310通電。在一些實施方案中,存儲器管理器330監測一個或多個性能量度,以便確定系統性能。此外,存儲器管理器330可監測存儲體310或一組存儲體310(例如,所有存儲體310、被通電的一組存儲體310、被斷電的一組存儲體310等)的性能量度。
在一些實施方中,性能量度指示存儲器逐出的次數,這指的是CPU 320從存儲體310移除信息以便創建用于其它信息的存儲空間的次數。例如,CPU 320可接收來自主存儲器(例如,隨機存取存儲器)的信息,并且可將所接收到的信息存儲在存儲體310中。在存儲體310中的信息的存儲可導致從存儲體310移除(或“逐出”)已存儲在存儲體310中的其它信息。例如,當存儲體310缺乏將來自主存儲器的信息存儲在打開或可用的存儲體中的能力時,可能會發生這種情況。在一些實施方中,性能量度指示由于存儲器逐出而從存儲體310移除的信息量(例如,以字節、千字節、百萬字節等為單位)。
在一些實施方案中,性能量度指示對存儲體310的訪問的次數,這指的是CPU 320訪問和/或嘗試訪問存儲體310的次數。訪問的次數可指示CPU 320從存儲體310讀取和/或嘗試讀取信息的次數,和/或可指示CPU 320向存儲體310寫入和/或嘗試寫入信息的次數。
在其它實施方案中,性能量度指示存儲器失效的數量,這指的是CPU 320在嘗試從存儲體310讀取信息和/或嘗試向存儲體310寫入信息時失敗的次數。在一些實施方案中,存儲器失效包括沖突失效,這指的是如果存儲體310尚未逐出CPU 320正嘗試訪問的信息,那么將會避免的存儲器失效。此外或替代地,存儲器失效包括容量失效,這指的是由于存儲體310的容量限制而發生的存儲器失效。此外或替代地,存儲器失效包括強制失效、冷失效、映射失效、替換失效和/或任何其它類型的存儲器失效。
在其它實施方案中,性能量度指示存儲體310中含有臟信息的存儲塊的數量。臟信息指的是存儲在存儲體310中的信息,所述信息將被寫入主存儲器。例如,臟信息可包括已被寫入存儲體310但尚未被寫入主存儲器的信息。臟信息表示信息的最新副本。如果從存儲體310逐出臟信息,那么首先必須將所述信息寫入主存儲器,以確保存儲信息的最新副本。
在一些實施方案中,性能量度指示存儲體310中含有非本地信息的存儲塊的數量。非本地信息指的是存儲在CPU 320的存儲體310中的信息,其被另一CPU而不是CPU 320讀取和/或寫出。此外或替代地,非本地信息指的是存儲在特定處理器核心的存儲體310中的信息,其被另一處理器核心而不是特定處理器核心讀取和/或寫入。例如,處理器可從存儲體310讀取和/或向其中寫入,但是當存儲體310被斷電時,處理器可從不同存儲體310(或多個不同存儲體310)讀取和/或向其中寫入。從不同存儲體310讀取和/或向其中寫入的信息被稱為非本地信息。此外或替代地,性能量度指示存儲體310中含有本地信息(例如,對存儲所述信息的存儲體310而言是本地的)的存儲塊的數量。
在一些實施方案中,性能量度指示存儲體310中含有共享信息的存儲塊的數量。共享信息指的是被一個以上的CPU 320和/或一個以上的處理器核心讀取和/或寫入的信息。在一些實施方案中,性能量度指示存儲體310中含有非共享信息的存儲塊的數量。非共享信息指的是僅被一個CPU 320和/或僅被一個處理器核心讀取和/或寫入的信息。
在其它實施方案中,性能量度指示存儲體310中含有指令和/或只讀信息的存儲塊的數量。此外或替代地,性能量度指示存儲體310中含有非指令和/或非只讀信息(例如,讀/寫信息)的存儲塊的數量。
替代方案還可考慮由對存儲體310通電或斷電造成的全系統性 能和功率變化。例如,對存儲體310通電可能導致更加需要在其它存儲器(例如,硬驅動或固態驅動)與剩余的通電存儲體310之間移動數據。這可導致性能損失或功耗增加。類似地,對存儲體310通電可降低對使用其它存儲器(例如,硬驅動或固態驅動)的需要,并因此降低總體系統功耗且增加總體系統性能。因此,本文描述的實施方案可考慮在本文描述的量度和比分方面對性能和/或消耗的次要或全系統影響。
在一些實施方案中,存儲器管理器330確定性能量度的大致數量而不是確切數量(例如,當確定含有臟信息、非本地信息、指令等的塊的數量時)。為了做到這點,存儲器管理器330可從低到高編號和/或識別一組連續的塊。存儲器管理器330使用一對塊標記來確定大致數量。在一些實施方案中,存儲器管理器330標記含有臟信息的“低”塊(例如,最低編號的塊),并標記含有臟信息的“高”塊(例如,最高編號的塊)。存儲器管理器330計算低塊與高塊之間(例如,包括低塊和高塊)的塊的數量,以確定含有臟信息的塊的大致數量。
例如,假設存在十個存儲塊,并且塊二、塊四、塊七和塊九含有臟信息。在一些實施方案中,存儲器管理器330確定具有臟信息的塊的確切數量(在這種情況下,四個塊)。然而,存儲器管理器330可在含有臟信息的最低塊(塊二)與含有臟信息的最高塊(塊九)上做標記,并確定含有臟信息的塊的大致數量(在這種情況下,塊二至塊九,或八個塊)。存儲器管理器330可將該大致數量用作性能量度。
在一些實施方案中,存儲器管理器330使用多對高標記和低標記來確定大致數量。在上述實施例中,存儲器管理器330可使用第一“低”標記來標記塊二,并且可使用第一“高”標記來標記塊四。類似地,存儲器管理器330可使用第二“低”標記來標記塊七,并且可使用第二“高”標記來標記塊九。存儲器管理器330可基于對塊二與塊四(例如,包含在內)之間的塊和塊七與塊九(例如,包含在內)之間的塊求和來確定大致數量,從而確定大致數量為六個塊。
在一些實施方案中,在一段時間(例如,時鐘周期、總線周期、微秒、秒等)內測量性能量度。此外或替代地,性能量度是在多個時間段內計算出的平均性能量度。此外或替代地,性能量度被測量為比率(例如,比率、百分比等)。
在一些實施方案中,存儲器管理器330基于滿足閾值的性能量度來確定將對斷電的存儲體310通電。此外或替代地,存儲器管理器330基于多個性能量度(每個性能量度均都滿足閾值)來確定對斷電的存儲體310通電。
在一些實施方案中,存儲器管理器330基于多個性能量度計算性能比分來計算性能比分。此外,存儲器管理器330在確定性能比分時對性能量度加權。存儲器管理器330可基于滿足閾值的性能比分來確定將對斷電的存儲體310通電。在一些實施方案中,存儲器管理器330基于多個存儲體310之間的性能比分的差(例如,第一存儲體310的性能比分與第二存儲體310的性能比分的差、一組存儲體310之間的性能比分的平均差、具有最高性能比分的存儲體310的性能比分與具有最低性能比分的存儲體310的性能比分之間的差,等)來確定將對斷電的存儲體310通電。
如在圖4中進一步示出,進程400包括確定與多個斷電的存儲體對應的多個功率比分(方框420)。在一些實施方案中,存儲器管理器330基于一個或多個功率量度來確定功率比分。此外,存儲器管理器330監測存儲體310或一組存儲體310(例如,所有存儲體310、被通電的一組存儲體310、被斷電的一組存儲體310等)的功率量度。功率量度指示在存儲體310被通電之后,將被存儲體310和/或CPU 320(和/或包括存儲體310和/或CPU 320的系統)消耗的功率量。在一些實施方案中,存儲器管理器330對在通電之后導致最低功耗的存儲體310通電。
如在圖4中進一步示出,進程400包括比較多個功率比分(方框 430),并基于所述比較來選擇對斷電的存儲體通電(方框440)。在一些實施方案中,存儲器管理器330比較一組斷電的存儲體310中的每個存儲體310的功率比分,并且對具有最好的(例如,最高的、最低的、最接近目標值的等)功率比分的存儲體310通電。在一些實施方案中,存儲器管理器330選擇對具有最好的功率比分的多個斷電的存儲體310通電。
在一些實施方案中,存儲器管理器330基于性能量度對多個存儲體310通電。例如,當通電存儲體310將不會滿足與性能量度相關聯的閾值時,存儲器管理器330確定將對多個存儲體310通電。
如在圖4中進一步示出,進程400包括對選定的存儲體通電并將信息傳送到選定的存儲體(方框450)。在一些實施方案中,存儲器管理器330對選定的存儲體310通電,并將信息從其它存儲體310傳送到選定的存儲體310。
如將被理解,存在實施圖4中示出的操作的多種可能的實施方案。下文對這些非限制性實施方案中的一些進行描述。
例如,在一些實施方案中,功率量度指示對存儲體310通電所需的時間量。此外或替代地,功率量度指示將信息從一個或多個之前通電的存儲體310傳送到最近已被存儲器管理器330通電的存儲體310所需的時間量。
其它實施方案可具有指示與存儲體310相關聯的錯誤量和/或錯誤率的功率量度。例如,功率量度可指示被存儲體310報告的糾錯量。
在替代實施方案中,功率量度指示被存儲體310消耗的能量和/或功率量。所消耗的能量和/或功率量可包括泄露能量和/或動態能量。泄露能量指的是被存儲體310消耗的能量和/或功率,其不會影響存儲體310的功能。動態能量指的是當存儲體310正執行特定功能時,被存儲體310消耗的能量和/或功率。在一些實施方案中,在每個訪 問的基礎上確定動態能量。例如,動態能量可被計算為每當存儲體310被訪問(例如,從存儲體310讀取或向其寫入)時被存儲體310消耗的能量。
在一些實施方案中,功率量度可指示斷電的存儲體310與在通電之后將被斷電的存儲體310存儲的信息相關聯的組件之間的距離。在一些實施方案中,所述距離指的是將斷電的存儲體310連接到組件的線纜和/或電路的長度。所述距離可指的是一個或多個斷電的存儲體310與一個或多個組件之間的平均距離。在一些實施方案中,組件包括通電的存儲體310,其在通電之后將信息傳送到斷電的存儲體310。此外或替代地,組件包括處理器,在通電之后,該處理器將訪問被斷電的存儲體310存儲的信息。
在一些實施方案中,功率量度指示斷電的存儲體310已被訪問的次數。例如,功率量度可指示斷電的存儲體310中包含的指令已被(例如,被處理器)讀取或寫入的次數。
功率量度可基于將在通電之后被傳送到斷電的儲存體310的信息類型和/或信息量。例如,功率量度可基于在通電之后將信息傳送到斷電的存儲體310所消耗的功率量。此外或替代地,功率量度可基于將通過在通電之后將信息傳送到斷電的存儲體310所節省的功率量。
在一些實施方案中,功率量度指示存儲塊的數量,所述存儲塊含有將在通電之后被傳送到斷電的存儲體310的本地和/或非本地信息(例如,對于傳送的存儲體310而言是本地和/或非本地的信息,和/或對于斷電的存儲體310而言是本地和/或非本地的信息)。在一些實施方案中,功率量度指示含有將在通電之后被傳送到斷電的存儲體310的共享和/或非共享信息的存儲塊的數量。在一些實施方案中,性能量度指示存儲體310中含有指令(或非指令)和/或只讀信息(或讀/寫信息)的存儲塊的數量。此外或替代地,性能量度指示將在通 電之后被傳送的特定類型的存儲塊(例如,指令塊、非指令塊、只讀塊、讀/寫塊等)的數量。
在另一實施方案中,在一段時間(例如,時鐘周期、總線周期、微秒、秒等)內測量功率量度。此外或替代地,功率量度可以是在多個時間段內計算出的平均功率量度。此外或替代地,功率量度可被測量為比率(例如,比率、百分比等)。
在又另一實施方案中,存儲器管理器330基于多個功率量度計算功率比分。此外或替代地,存儲器管理器330基于由于通電存儲體310而對性能量度的改進來計算功率比分。例如,存儲器管理器330可在通電存儲體310之前計算性能量度,并且可確定由于通電存儲體310而對性能量度的預測改進。功率比分可基于對性能量度的預測改進。此外或替代地,存儲器管理器330在確定功率比分時可對功率量度和/或預測的性能量度改進加權。
雖然已關于圖4描述了一系列塊,但是在一些實施方案中,可修改所述塊的順序。此外或替代地,可并行執行非依賴性的塊。
圖5是存儲與存儲體相關聯的性能量度的示例性數據結構500的視圖。在一些實施方案中,將數據結構500存儲在與圖2和圖3中示出的一個或多個設備和/或組件相關聯的存儲器設備(例如,RAM、硬盤等)中。例如,可將數據結構500存儲在存儲器230中和/或與存儲體310相關聯的存儲器寄存器中。
數據結構500包括字段集,諸如存儲體標識符字段510、電源狀態字段520、存儲器失效字段530、臟信息塊字段540、非本地信息塊字段550和存儲體聚合字段560。
存儲體標識符字段510存儲識別存儲體310的信息。例如,存儲體310可被與存儲體310相關聯的數字、名稱、地址、位置、CPU等識別。
電源狀態字段520存儲識別被存儲體標識符字段510識別的存儲體310的電源狀態的信息。例如,電源狀態可以是斷電(例如,“關閉”)、通電(例如,“打開”)、低性能/電源狀態(例如,“睡眠”或“待機”)等。在一些實施方案中,存儲器管理器330僅確定通電的存儲體310的性能量度。
存儲器失效字段530存儲識別被存儲體標識符字段510識別的存儲體310的存儲器失效數量和/或存儲器失效率的信息。例如,存儲器失效字段510可存儲存儲器失效數量、每個時間段的存儲器失效數量(例如,存儲器失效率),和/或存儲器失效的數量除以存儲器訪問請求的總數量的比率(例如,存儲器失效率或百分比)。
臟信息塊字段540存儲識別被存儲體標識符字段510識別的存儲體310的存儲塊的數量的信息,所述存儲塊含有臟信息。在一些實施方案中,存儲塊的數量被表述為比率(例如,含有臟信息的存儲塊的數量除以存儲體310中包括的存儲塊的總數量)。
非本地信息塊字段550存儲識別被存儲體標識符字段510識別的存儲體310的存儲塊的數量的信息,所述存儲塊含有非本地信息。在一些實施方案中,存儲塊的數量被表述為比率(例如,含有非本地信息的存儲塊的數量除以存儲體310中包括存儲塊的總數量)。
存儲體聚合字段560存儲識別被存儲體標識符字段510識別的多個存儲體310的聚合的性能量度(例如,關于字段520-550)的信息。例如,存儲體聚合字段560可存儲多個性能量度的平均值、多個性能量度的總和、多個性能量度的乘積、多個性能量度的標準偏差等。在一些實施方案中,存儲體聚合字段560基于存儲體310的狀態存儲存儲體310的聚合信息。例如,存儲體聚合字段560可存儲有關通電的存儲體310的聚合信息。
在一些實施方案中,與單個存儲體310相關聯的信息在概念上被表示為數據結構500中的行。例如,數據結構500中的第二行與被識 別為“存儲體2”的存儲體310對應。存儲體2的狀態為“打開”(例如,通電)、具有百分之一(1%)的存儲器失效率、包括具有臟信息的三(3)個存儲塊,并且包括具有非本地信息的十(10)個存儲塊。
在一些實施方案中,與多個存儲體310相關聯的信息在概念上被表示為數據結構500中的行。例如,數據結構500中的第五行與被識別為“存儲體2”和“存儲體4”的存儲體310的聚合對應。聚合的存儲體310具有百分之三(3%)的平均存儲器失效率、包含具有臟信息的總和為十五(15)個存儲塊,并且包含具有非本地信息的總和為二十五(25)個存儲塊。
數據結構500包括字段510-560以用于解釋性目的。在實踐中,數據結構500可包括額外字段、更少字段、不同字段或不同布置的字段(與圖5中示出的那些字段相比)。在一些實施方案中,數據結構500存儲關于額外的性能量度、更少的性能量度或不同的性能量度(與關于圖5討論的那些性能量度相比)的信息。此外,在數據結構500中示出的數量和/或值被提供以用于解釋性目的。此外,雖然數據結構500被表示為具有行和列的表格,但是在實踐中,數據結構500可包括任何類型的數據結構,諸如鏈表、樹形表、哈希表、數據庫或任何其它類型的數據結構。在一些實施方案中,數據結構500包括由設備和/或組件產生的信息。此外或替代地,數據結構500可包括從另一來源提供的信息,諸如由用戶提供的信息,和/或由設備自動提供的信息。
圖6是存儲可觸發存儲體通電的條件的實例數據結構的視圖。在一些實施方案中,將數據結構600存儲在與圖2和圖3中示出的一個或多個設備和/或組件相關聯的存儲器設備中(例如,RAM、硬盤等)。例如,數據結構600可被存儲器230和/或被與存儲體310相關聯的存儲器寄存器存儲。
數據結構600包括字段集,諸如事件標識符字段610、存儲器失 效字段620、臟信息塊字段630和非本地信息塊字段640。
事件標識符字段610存儲識別事件的信息,所述事件可基于在字段620-640中識別的條件而被觸發。例如,事件標識符字段610可識別存儲體通電事件或存儲體斷電事件。
存儲器失效字段620存儲識別觸發被事件標識符字段610識別的事件的條件的信息。例如,當存儲器失效的百分比(例如,單個存儲體310的百分比、多個存儲體310的聚合百分比等)超過百分之五(5%)的閾值時,可觸發存儲體通電。
臟信息塊字段630存儲識別觸發被事件標識符字段610識別的事件的條件的信息。例如,當含有臟信息的存儲塊的數量(例如,單個存儲體310的數量、多個存儲體310的聚合數量等)超過十(10)個塊的閾值時,可觸發存儲體通電。
非本地信息塊字段640存儲識別觸發被事件標識符字段610識別的事件的條件的信息。例如,當含有非本地信息的存儲塊的數量(例如,單個存儲體310的數量、多個存儲體310的聚合數量等)超過二十(20)個塊的閾值時,可觸發存儲體通電。
在一些實施方案中,被字段620-640識別的條件識別單個存儲體310的條件。替代地,被字段620-640識別的條件識別多個存儲體310的條件(例如,基于被存儲體聚合字段560存儲的信息)。在一些實施方案中,當滿足被字段620-640識別的條件時,觸發被事件標識符字段610識別的事件。替代地,當滿足被字段620-640識別的多個條件時,觸發被事件標識符字段610識別的事件。
數據結構600包括字段610-640以用于解釋性目的。在實踐中,數據結構600可包括額外字段、較少字段、不同字段,或不同布置的字段(與圖6中示出的那些字段相比)。在一些實施方案中,數據結構600存儲有關額外條件、較少條件或不同條件(與關于圖6討論的 條件相比)的信息。替代地,數據結構600中示出的數字和/或值被提供以用于解釋性目的。此外,雖然數據結構600被表示為具有行和列的表格,但是在實踐中,數據結構600可包括任何類型的數據結構,諸如鏈表、樹形表、哈希表、數據庫或任何其它類型的數據結構。在一些實施方案中,數據結構600包括由設備和/或組件產生的信息。此外或替代地,數據結構600可包括從另一來源提供的信息,諸如由用戶提供的信息,和/或由設備自動提供的信息。
圖7是存儲與存儲體相關聯的功率量度的示例性數據結構700的視圖。在一些實施方案中,將數據結構700存儲在與圖2和圖3中示出的一個或多個設備和/或組件相關聯的存儲器設備中(例如,RAM、硬盤等)中。例如,數據結構700可被存儲器230和/或被與存儲體310相關聯的存儲器寄存器存儲。
數據結構700包括字段集,諸如存儲體標識符字段710、電源狀態字段720、通電時間字段730、報告的錯誤量字段740、訪問次數字段750和功率比分字段760。
存儲體標識符字段710存儲識別存儲體310的信息。例如,存儲體310可被與存儲體310相關聯的數字、名稱、地址、位置、CPU等識別。
電源狀態字段720存儲識別被存儲體標識符字段710識別的存儲體310的電源狀態的信息。例如,電源狀態可以是斷電(例如,“關閉”)或通電(例如,“打開”)。在一些實施方案中,存儲器管理器330僅確定斷電的存儲體310的功率量度。
通電時間字段730存儲識別存儲器管理器330和/或CPU 320對存儲體標識符字段710識別的存儲體310通電所花費的時間量的信息。例如,通電時間字段730可以微秒、時鐘周期、總線周期或另一時間單位來存儲通電存儲體310的時間量。
報告的錯誤量字段740存儲識別被存儲體標識符字段710識別的存儲體310報告的錯誤量的信息。在一些實施方案中,報告的錯誤量是基于時間段(例如,每個時鐘周期的報告錯誤量)。
訪問次數字段750存儲識別對被存儲體標識符字段710識別的存儲體310的訪問的次數的信息。例如,訪問次數字段750可存儲識別處理器已訪問存儲體310(例如,從存儲體310讀取或向其寫入)的次數的信息。
功率比分字段760存儲識別針對被存儲體標識符字段710識別的存儲體310計算出的功率比分的信息。在一些實施方案中,功率比分是基于一個或多個功率量度,諸如被字段730-750識別的功率量度。此外或替代地,存儲器管理器330在計算功率比分時對功率量度加權。例如,可使用以下等式來計算功率比分:
功率比分=(1×通電時間)+(3×報告的錯誤量)+(0.005×訪問次數)。
與單個存儲體310相關聯的信息在概念上被表示為數據結構700中的行。例如,數據結構700的第一行與被識別為“存儲體1”的存儲體310對應。存儲體1的狀態為“關閉”(例如,斷電),通電時間是五(5)微秒,每個時鐘周期的報告錯誤量是五(5),訪問次數是五千次(5,000),并且功率比分是45(使用上述功率比分等式來計算)。在一些實施方案中,可使用其它等式來計算功率比分。
數據結構700包括字段710-760以用于解釋性目的。在實踐中,數據結構700可包括額外字段、更少字段、不同字段或不同布置的字段(與圖7中示出的那些字段相比)。在一些實施方案中,數據結構700存儲有關額外的功率量度和/或預測的性能量度改進、更少的功率量度和/或預測的性能量度改進,或不同的功率量度和/或預測的性能量度改進(與關于圖7討論的那些相比)的信息。此外,數字結構700中示出的數字和/或值被提供以用于解釋性目的。此外,雖然數據 結構700被表示為具有行和列的表格,但是在實踐中,數據結構700可包括任何類型的數據結構,諸如鏈表、樹形表、哈希表、數據庫或任何其它類型的數據結構。在一些實施方案中,數據結構700包括由設備和/或組件產生的信息。此外或替代地,數據結構700可包括從另一來源提供的信息,諸如由用戶提供的信息、和/或由設備自動提供的信息。
圖8是存儲存儲于存儲體中的信息的特性的示例性數據結構800的視圖。在一些實施方案中,數據結構800存儲在與圖2和圖3中示出的一個或多個設備和/或組件相關聯的存儲器設備中(例如,RAM、硬盤等)中。例如,數據結構800可被存儲器230和/或被與存儲體310相關聯的存儲器寄存器存儲。
在一些實施方案中,存儲器管理器330使用存儲于存儲體310中的信息的特性來確定將對斷電的存儲體310通電,以確定對多少個斷電的存儲體310通電,和/或確定對哪個存儲體310通電。在一些實施方案中,功率量度和/或性能量度是基于存儲于存儲體310中的信息的特性。
數據結構800包括字段集,諸如存儲體標識符字段810、電源狀態字段820、本地塊的數量字段830、對于存儲體二而言是本地的塊的數量字段840、對于存儲體五而言是本地的塊的數量字段850、具有臟信息的塊的數量字段860和存儲體聚合字段870。
當對存儲體2和存儲體5斷電時,將對于存儲體二而言是本地的塊的數量字段840和對于存儲體五而言是本地的塊的數量字段850存儲在數據結構800中。在一些實施方案中,一個或多個其它存儲體310被斷電,并且數據結構800包括一個或多個字段,所述一個或多個字段存儲關于對斷電的存儲體310而言是本地的塊的數量的信息。
存儲體標識符字段810存儲識別存儲體310的信息。例如,存儲體310可被存儲體310相關聯的數字、名稱、地址、位置、CPU等 識別。
電源狀態字段820存儲識別被存儲體標識符字段810識別的存儲體310的電源狀態的信息。例如,電源狀態可以是斷電(例如,“關閉”)或通電(例如,“打開”)。
本地塊的數量字段830存儲識別塊的數量的信息,所述塊對于被存儲體標識符字段810識別的存儲體310而言是本地的。例如,對于特定存儲體310而言是本地的塊可指的是當所有存儲體310被通電時將被特定存儲體310存儲的塊。
對于存儲體二而言是本地的塊的數量字段840存儲識別由被存儲體標識符字段810識別的存儲體310存儲的塊的數量的信息,所述塊對于存儲體2而言是本地的(例如,當存儲體2被通電時和/或當所有存儲體310被通電時,將被存儲體2存儲的塊;當存儲體2被通電時和/或所有存儲體310被通電時,將被將訪問存儲體2的處理器訪問的塊等)。對于存儲體五而言是本地的塊的數量字段850存儲由被存儲體標識符字段810識別的存儲體310存儲的塊的數量的信息,所述塊對于存儲體5而言是本地的。通電的存儲體310(例如,在存儲塊中)存儲對于斷電的存儲體310而言是本地的信息。在圖8中示出的實施例中,存儲體2和存儲體5被斷電,且存儲體1、存儲體3和存儲體4存儲對于存儲體2和5而言是本地的信息。
具有臟信息的塊的數量字段850存儲由被存儲體標識符字段810識別的存儲體310存儲的塊的數量,所述塊包含臟信息(例如,在被傳送到另一存儲體310之前必須被寫入主存儲器的信息)。
存儲體聚合字段870存儲識別被存儲體標識符字段810識別的多個存儲體310的聚合特性(例如,關于字段820-860)的信息。例如,存儲體聚合字段870可存儲多個特性的平均值、多個特性的總和、多個特性的乘積、多個特性的標準偏差等。在一些實施方案中,存儲體聚合字段870基于存儲體310的狀態來存儲存儲體310的聚合信息。 例如,存儲體聚合字段870可存儲有關通電的存儲體310的聚合信息。
在一些實施方案中,與單個存儲體310相關聯的信息在概念上被表示為數據結構800中的行。例如,數據結構800中的第一行與被識別為“存儲體1”的存儲體對應。存儲體1的狀態是“打開”(例如,通電)、包含九十(90)個本地存儲塊、包含十八(18)個對存儲體2而言是本地的存儲塊、包含二十(20)個對存儲體5而言是本地的存儲塊,以及包含具有臟信息的十(10)個存儲塊。
此外或替代地,與多個存儲體310相關聯的信息在概念上被表示為數據結構800中的行。例如,數據結構800中的第六行與被存儲體標識符字段810識別的存儲體310的聚合對應。數據結構800中的第六行指示被通電的(例如,“打開”)三(3)個存儲體310、被斷電的(例如,“關閉”)兩(2)個存儲體,本地塊的總和是二百八十(285)個,對于存儲體2而言是本地的塊的總和是四十二(42)個,對于存儲體5而言是本地的塊的總和是五十七(57)個,且包含臟信息的塊的總和是四十五(45)個。
在一些實施方案中,當存儲于存儲體310中的信息的特性滿足閾值時,存儲器管理器330確定將對存儲體310通電。例如,當單個存儲體310包含多于二十五(25)個具有臟信息的塊時,和/或當一組存儲體310包含多于四十(40)個具有臟信息的塊的聚合(例如,總和、乘積、平均值等)時,存儲器管理器330可確定將對存儲體310通電。
在另一實施方案中,存儲器管理器330基于特性,諸如將在通電時被傳送的塊的數量、非本地的塊的數量(例如,存儲于特定存儲體310中的總數量或數量)、臟塊的數量等來確定將通電的存儲體310的數量。在一些實施方案中,存儲器管理器330將特性與閾值進行比較,以確定對多少個和/或哪個存儲體310通電。例如,存儲器管理器330可對將在通電時被傳送的存儲塊的數量與閾值進行比較。例 如,五十(50)個允許傳送塊的閾值將允許存儲器管理器330對存儲體2(其將接收42個傳送塊)通電。六十(60)個允許傳送塊的閾值將允許存儲器管理器330對存儲體2(其將接收42個傳送塊)或存儲體5(其將接收57個傳送塊)通電,但不可同時對二者通電。一百(100)個允許傳送塊的閾值將允許存儲器管理器330對存儲體2、存儲體5或存儲體2和存儲體5二者(這將導致一共有99個傳送塊)通電。
在又另一實施方案中,存儲器管理器330基于均衡多個存儲體310間的特性來確定對多少個和/或哪個存儲體310通電。例如,存儲體330可基于對存儲體310通電來確定多少個和/或哪個存儲體310,對存儲體310通電將導致最小化存儲在一組存儲體310中的非本地塊(或臟塊、指令塊等)的數量中的差(例如,預測差)。
存儲器管理器330可基于特性的比較來對哪個存儲體310通電。例如,存儲器管理器330可通電存儲體5而不是存儲體2,因為與通電存儲體2(42個塊)相比,通電存儲體5從其它存儲體310釋放更多塊(57個塊)。作為另一實施例,存儲器管理器330可通電存儲體2而不是存儲體5,因為通電存儲體2需要更少功率來傳送42個塊而不是將被通電存儲體5傳送的57個塊。
在一些實施方案中,存儲器管理器330基于被用戶指定的優化準則來確定對哪個存儲體310通電。如在本文中使用,“優化”可指的是最小化、最大化或接近目標值。例如,優化準則可包括優化(例如,存儲體310、CPU 320和/或包括存儲體310和/或CPU 320的系統的)功耗、優化性能、優化傳送塊的數量、優化一組存儲體310存儲的非本地塊的數量、優化特定類型的塊(例如,指令塊、本地塊、非本地塊、共享塊、非共享塊、臟塊、非臟塊等)的傳送、優化特定的性能量度、優化一組性能量度、優化性能比分、優化到特定存儲體310的傳送數量、優化到一組存儲體310的傳送數量、優化釋放塊(例如,在傳送之前存儲體310中含有信息的存儲塊,其在傳送之后已被釋放 來存儲其它信息)的數量,和/或這些或其它優化準則的任何組合。
在本文中關于圖8討論的特定特性、閾值、存儲體、存儲塊類型和優化準則被提供作為實施例。在一些實施方案中,存儲器管理器330在確定將對存儲體310通電、對多少個存儲體310通電和/或對哪個存儲體310通電時,使用不同的特性、閾值、存儲體、存儲塊類型和優化準則(與在本文中關于圖8討論的那些相比)。在一些實施方案中,存儲器管理器330接收來自用戶的輸入,以確定所述特性、閾值、存儲體、閾值、存儲體、存儲塊類型和優化準則。
數據結構800包括字段810-870以用于解釋性目的。在實踐中,數據結構800可包括額外字段、更少字段、不同字段或不同布置的字段(與圖8中示出的那些字段相比)。此外,數據結構800中示出的數字和/或值被提供以用于解釋性目的。此外,雖然數字結構800被表示為具有行和列的表格,但是在實踐中,數據結構800可包括任何類型的數據結構,諸如鏈表、樹形表、哈希表、數據庫或任何其它類型的數據結構。在一些實施方案中,數據結構800包括由設備和/或組件產生的信息。額外或替代地,數據結構800可包括從另一設備提供的信息,諸如由用戶提供的信息,和/或由設備自動提供的信息。
圖9是關于圖4中示出的示例性進程400的示例性實施方案900的視圖。圖9示出實施方案900,其中存儲器管理器330對具有最好功率比分的存儲體310通電。
如通過實施方案900示出,存儲器管理器330計算多個斷電的存儲體310的功率比分。例如,存儲體1和存儲體3被斷電,并且存儲器管理器330計算存儲體1和存儲體3的功率比分。在實施方案900中,存儲器管理器330計算出存儲體1的功率比分為四十五(45),并且存儲體3的功率比分為七十一(71)(見圖7的功率比分字段760,圖7是關于存儲器管理器330可如何計算功率比分的實施例)。在實施方案900中,較低的功率比分比較高的功率比分更可取。因此,存 儲體1(45)比存儲體3(71)具有更好的功率比分。存儲器管理器330基于比較存儲體1和存儲體3的功率比分來選擇存儲體1以用于通電。
圖9中示出的信息(諸如存儲體310的數量、每個存儲體310的狀態和功率比分)被提供為實施例。一些實施方案包括額外信息、更少信息或不同信息(與圖9中示出的相比)。在一些實施方案中,存儲器管理器330接收來自用戶的輸入以確定功率比分等式。
圖10是關于圖4中示出的進程400的另一示例性實施方案1000的視圖。圖10示出實施方案1000,其中存儲器管理器330對存儲體310通電,并將來自其它存儲體310的信息傳送到通電的存儲體310。
如通過實施方案1000示出,存儲器管理器330基于存儲體1具有最好的功率比分(例如,比存儲體3具有更好的功率比分,存儲體3被示出為斷電或“關閉”)來對存儲體1通電。在實施方案1000中,存儲體2、存儲體4和存儲體5包含將被傳送到存儲體1的信息。存儲器管理器330執行信息的所述傳送,因此釋放存儲體2、存儲體4和存儲體5的內存。
圖10中示出的信息(諸如存儲體310的數量和每個存儲體310的狀態)被提供為實施例。在實踐中,實施方案1000可包括額外信息、更少信息或不同信息(與圖10中示出的相比)。
本文描述的實施方案可幫助CPU確定何時對存儲體通電、對多少個存儲體通電和/或對哪個存儲體通電,以便優化系統性能和功耗。
雖然前述公開提供說明和描述,但是其意圖不是詳盡的或不將實施方案局限于所公開的精確形式。鑒于上述公開內容,修改和變化是可能的或可從實施方案的實踐獲得。
如在本文中使用,術語“組件”意圖被寬泛地理解為硬件、固件、或硬件和軟件的組合。
本文描述了一些實施方案連同閾值。如本文中用來描述值與閾值的關系的術語“大于”(或類似術語)可與術語“大于或等于”(或類似術語)互換使用。類似地,如本文中用來描述值與閾值的關系的術語“少于”(或類似術語)可與術語“少于或等于”(或類似術語)互換使用。如在本文中使用,“滿足”閾值(或類似術語)可與“大于閾值”、“大于或等于閾值”、“小于閾值”、“小于或等于閾值”或其它類似術語互換使用。
將顯而易見的是,在附圖中示出的實施方案中,可以許多不同形式的軟件、固件和硬件實現如本文中描述的系統和/或方法。用于實現這些系統和/或方法的實際軟件代碼或專用控制硬件不是限制所述實施方案。因此,對系統和/或方法的操作和行為進行描述,而無需參考特定的軟件代碼-應理解,軟件和控制硬件可被設計成基于本文的描述來實現系統和/或方法。
即使在權利要求書中引用和/或在說明書中公開了特征的特定組合,但是這些組合不意圖限制可能的實施方案的公開內容。事實上,這些特征中的許多特征可以在權利要求書中不特定引用和/或在說明書中公開的方式來組合。雖然以下列出的每個獨立的權利要求僅可直接僅依賴于一個權利要求,但是可能的實施方案的公開內容包括與權利要求組中的所有其它權利要求組合的每個獨立的權利要求。
本文中使用的元件、動作或指令不應被解釋為關鍵的或必要的,除非有明確地描述了這種情況。此外,如本文中使用,冠詞“一個(a/an)”意圖包括一個或多個項目,且可與“一個或多個”互換使用。在僅意圖表示一個項目的情況下,使用術語“一個”或類似語言。此外,短語“基于”意圖指“至少部分基于”,除非另有明確規定。

關 鍵 詞:
跟蹤 存儲 實用性 智能 通電 決策 成本
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:跟蹤存儲體實用性及智能通電決策的成本.pdf
鏈接地址:http://www.rgyfuv.icu/p-6373707.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图