用于提供多用戶節(jié)電碼本優(yōu)化的系統(tǒng)和方法
【專利說明】用于提供多用戶節(jié)電碼本優(yōu)化的系統(tǒng)和方法
[0001 ]相關(guān)申請聲明
[0002]本申請涉及于2013年10月24日遞交的名為“SYSTEM AND METHOD FOR CONSERVINGPOWER CONSUMPT1N IN A MEMORY SYSTEM”(高通案號133990U1)的共同未決美國專利申請序列號 14/062,859。
【背景技術(shù)】
[0003]動態(tài)隨機(jī)存取存儲器(DRAM)被用在各種計算設(shè)備(例如,個人計算機(jī)、膝上型計算機(jī)、筆記本計算機(jī)、視頻游戲控制臺、便攜式計算設(shè)備、移動電話等)中。DRAM是一種類型的易失性存儲器,其將數(shù)據(jù)的每個比特存儲在集成電路內(nèi)的單獨的電容器中。電容器可以被充電或放電。采用這兩個狀態(tài)來表示比特的兩個值,常規(guī)上被稱為O和I。因為電容器漏電,所以信息最終漸弱,除非電容器電荷被周期性地得到補(bǔ)充。因為這個更新要求,所以與SRAM和其它靜態(tài)存儲器相反,DRAM被稱為動態(tài)存儲器。
[0004]DRAM的優(yōu)勢是其結(jié)構(gòu)的簡易(每比特僅需要一個晶體管和一個電容器),這允許DRAM達(dá)到非常高的密度。然而,隨著DRAM密度和速度要求持續(xù)增長,存儲器功耗正成為重要的問題。
[0005]DRAM內(nèi)的功率通常被分類為內(nèi)核存儲器陣列功率和非內(nèi)核功率。內(nèi)核存儲器陣列功率指代用于保留比特單元/陣列中的所有數(shù)據(jù)并且管理泄露和更新操作的功率。非內(nèi)核功率指代用于將所有數(shù)據(jù)傳入或傳出存儲器設(shè)備、感測放大器并且管理外圍邏輯單元、復(fù)用器、內(nèi)部總線、緩沖器、輸入/輸出(1/0)驅(qū)動器和接收機(jī)的功率。降低非內(nèi)核功率是重要的問題。
[0006]用于降低非內(nèi)核功率的現(xiàn)有的解決辦法典型地涉及減小操作電壓、減小負(fù)載電容或每當(dāng)不要求性能時暫時地降低操作頻率。然而,這些解決辦法未能解決要求很高的帶寬密集型使用情況。其它解決辦法嘗試減小與存儲器系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)活動因子。數(shù)據(jù)活動因子k指代在固定時段內(nèi)存儲器訪問系統(tǒng)中的O到I的切換或轉(zhuǎn)變的數(shù)量。例如,在下面的單個導(dǎo)線上的8節(jié)拍序列0、1、0、1、0、1、0、1中,k = 0.5。已經(jīng)針對特定類型的數(shù)據(jù)(諸如使用圖像壓縮的顯示幀緩沖器)提出了對減小數(shù)據(jù)活動因子的嘗試。這典型地在源(即,顯示硬件引擎)處執(zhí)行。然而,這樣的解決辦法是非常專用的并且受限于這種類型的顯示數(shù)據(jù),這種類型的顯示數(shù)據(jù)典型地占總DRAM使用的相對小的百分比。因此,在本領(lǐng)域中仍然存在對用于節(jié)省DRAM存儲器系統(tǒng)中的功耗的改進(jìn)的系統(tǒng)和方法的需求。
【發(fā)明內(nèi)容】
[0007]公開了用于提供多用戶功率節(jié)省碼本優(yōu)化的系統(tǒng)和方法。一種這樣的方法包括:生成針對多個計算設(shè)備的唯一的碼本,每個唯一的碼本被配置用于編碼相應(yīng)的計算設(shè)備中的存儲器數(shù)據(jù);將所述唯一的碼本經(jīng)由通信網(wǎng)絡(luò)提供給相應(yīng)的計算設(shè)備;經(jīng)由所述通信網(wǎng)絡(luò)從所述計算設(shè)備中的一個或多個計算設(shè)備接收壓縮統(tǒng)計,所述壓縮統(tǒng)計與相應(yīng)的唯一的碼本有關(guān);以及基于所接收的壓縮統(tǒng)計來生成針對所述計算設(shè)備中的至少一個計算設(shè)備的經(jīng)優(yōu)化的碼本。
[0008]另一個實施例是一種包括服務(wù)器的計算機(jī)系統(tǒng),所述服務(wù)器經(jīng)由通信網(wǎng)絡(luò)與多個計算設(shè)備相通信。所述服務(wù)器包括編碼器優(yōu)化模塊,所述編碼器優(yōu)化模塊被配置為優(yōu)化由所述計算設(shè)備執(zhí)行的存儲器數(shù)據(jù)編碼。所述編碼器優(yōu)化模塊包括:被配置為生成針對所述多個計算設(shè)備中的每個計算設(shè)備的唯一的碼本的邏輯單元,所述唯一的碼本用于編碼相應(yīng)的計算設(shè)備中的存儲器數(shù)據(jù);被配置為將所述唯一的碼本經(jīng)由所述通信網(wǎng)絡(luò)提供給所述計算設(shè)備的邏輯單元;被配置為經(jīng)由所述通信網(wǎng)絡(luò)從所述計算設(shè)備中的一個或多個計算設(shè)備接收壓縮統(tǒng)計的邏輯單元,所述壓縮統(tǒng)計與相應(yīng)的唯一的碼本有關(guān);以及被配置為基于所接收的壓縮統(tǒng)計來生成針對所述計算設(shè)備中的至少一個計算設(shè)備的經(jīng)優(yōu)化的碼本的邏輯單元。
【附圖說明】
[0009]在附圖中,除非另外指示,否則遍及各個視圖,相似的附圖標(biāo)記指代相似的部分。對于具有諸如“102A”或“102B”的字母字符標(biāo)記的附圖標(biāo)記,字母字符標(biāo)記可以區(qū)分出現(xiàn)在同一附圖中的兩個相似的部分或元素。當(dāng)旨在使附圖標(biāo)記涵蓋在所有附圖中具有相同附圖標(biāo)記的所有部分時,可以省略附圖標(biāo)記的字母字符標(biāo)記。
[0010]圖1是用于節(jié)省耦合到SoC的DRAM存儲器系統(tǒng)中的功耗的系統(tǒng)的實施例的框圖。
[0011]圖2是示出了將圖1的SoC與DRAM存儲器系統(tǒng)耦合的數(shù)據(jù)總線的示例性實施例的圖。
[0012]圖3是示出了針對由DRAM存儲器系統(tǒng)定義的示例性最小訪問長度(MAL)事務(wù)的到圖1的編碼器的未經(jīng)壓縮的數(shù)據(jù)輸入和從圖1的編碼器的經(jīng)壓縮的數(shù)據(jù)輸出的數(shù)據(jù)圖。
[0013]圖4是示出了在圖1的系統(tǒng)中實現(xiàn)的用于節(jié)省功耗的方法的實施例的流程圖。
[0014]圖5是用于實現(xiàn)用于減小圖1的系統(tǒng)的數(shù)據(jù)活動因子的壓縮算法的實施例的簡化霍夫曼樹。
[0015]圖6示出了針對圖1的DRAM存儲器系統(tǒng)的示例性MAL事務(wù)的第一壓縮使用情況。
[0016]圖7示出了針對圖1的DRAM存儲器系統(tǒng)的示例性MAL事務(wù)的第二壓縮使用情況。
[0017]圖8是示出了圖1的SoC中的編碼器的實施例的框圖。
[0018]圖9是示出了圖1的DRAM存儲器系統(tǒng)中的解碼器的實施例的框圖。
[0019]圖10是示出了圖8的編碼器中的3比特大小輸出的示例性值的表。
[0020]圖11是用于跟蹤針對圖1的系統(tǒng)的壓縮統(tǒng)計的表的實施例。
[0021]圖12是包括圖1的系統(tǒng)的便攜式計算機(jī)設(shè)備的實施例的框圖。
[0022]圖13是用于優(yōu)化多個用戶的編碼器壓縮性能的系統(tǒng)的實施例的框圖。
[0023]圖14是示出了由圖13的系統(tǒng)中的編碼器優(yōu)化模塊生成的服務(wù)器數(shù)據(jù)庫的實施例的數(shù)據(jù)圖。
[0024]圖15示出了與計算設(shè)備的存儲器圖像相關(guān)聯(lián)的示例性碼本的實施例。
[0025]圖16是示出了圖13的系統(tǒng)中的服務(wù)器編碼器優(yōu)化模塊的實施例的架構(gòu)、操作和/或功能的流程圖。
[0026]圖17是示出了用于生成針對圖13的系統(tǒng)中的一個或多個用戶的經(jīng)優(yōu)化的碼本的各種不例性設(shè)備度量的表。
【具體實施方式】
[0027]本文使用的詞語“示例性”意味著“作為示例、實例或說明”。本文中描述為“示例性”的任何方面不必被解釋為優(yōu)選于其它方面或比其它方面有優(yōu)勢。
[0028]在本描述中,術(shù)語“應(yīng)用”還可以包括具有可執(zhí)行內(nèi)容(諸如:對象代碼、腳本、字節(jié)代碼、標(biāo)記語言文件以及補(bǔ)丁)的文件。另外,本文中所引用的“應(yīng)用”還可以包括本質(zhì)上不可執(zhí)行的文件(諸如可能需要被打開的文檔或需要被訪問的其它數(shù)據(jù)文件)。
[0029]術(shù)語“內(nèi)容”還可以包括具有可執(zhí)行內(nèi)容(諸如:對象代碼、腳本、字節(jié)代碼、標(biāo)記語言文件以及補(bǔ)丁)的文件。另外,本文中所引用的“內(nèi)容”還可以包括本質(zhì)上不可執(zhí)行的文件(諸如可能需要被打開的文檔或需要被訪問的其它數(shù)據(jù)文件)。
[0030]如在本描述中使用的,術(shù)語“組件”、“數(shù)據(jù)庫”、“模塊”、“系統(tǒng)”等等旨在指代與計算機(jī)相關(guān)的實體,要么是硬件、固件、硬件和軟件的組合、軟件,要么是執(zhí)行中的軟件。例如,組件可以是,但不限于是:在處理器上運行的過程、處理器、對象、可執(zhí)行文件、執(zhí)行的線程、程序和/或計算機(jī)。通過說明的方式,在計算設(shè)備上運行的應(yīng)用和計算設(shè)備二者可以是組件。一個或多個組件可以存在于過程和/或執(zhí)行的線程中,以及組件可以位于一個計算機(jī)中和/或分布在兩個或更多個計算機(jī)之間。另外,這些組件可以從具有存儲在其上的各種數(shù)據(jù)結(jié)構(gòu)的各種計算機(jī)可讀介質(zhì)中執(zhí)行。組件可以諸如根據(jù)具有一個或多個數(shù)據(jù)分組(例如,來自與本地系統(tǒng)、分布式系統(tǒng)中的另一個組件進(jìn)行交互,和/或跨諸如互聯(lián)網(wǎng)的網(wǎng)絡(luò)通過信號的方式與其它系統(tǒng)進(jìn)行交互的一個組件的數(shù)據(jù))的信號,通過本地和/或遠(yuǎn)程過程的方式進(jìn)行通信。
[0031 ]在本描述中,術(shù)語“通信設(shè)備”、“無線設(shè)備”、“無線電話”、“無線通信設(shè)備”和“無線手持機(jī)”被可互換地使用。隨著第三代(“3G”)無線技術(shù)和第四代(“4G”)的出現(xiàn),更大的帶寬可用性已經(jīng)實現(xiàn)了具有更多種類的無線能力的更加便攜的計算設(shè)備。因此,便攜式計算設(shè)備可以包括蜂窩電話、尋呼機(jī)、PDA、智能電話、導(dǎo)航設(shè)備或具有無線連接或鏈路的手持計算機(jī)。
[0032]圖1示出了用于節(jié)省DRAM存儲器系統(tǒng)104中的功耗的系統(tǒng)100。系統(tǒng)100可以實現(xiàn)在任何計算設(shè)備中,包括個人計算機(jī)、工作站、服務(wù)器、便攜式計算設(shè)備(PCD)(諸如蜂窩電話、便攜式數(shù)字助理(PDA)、便攜式游戲控制臺、掌上型計算機(jī)或平板計算機(jī))。如圖1的實施例所示,系統(tǒng)100包括耦合到DRAM存儲器系統(tǒng)104的片上系統(tǒng)(SoC) 102 AoC 102包括各種片上組件,所述各種片上組件包括向DRAM存儲器系統(tǒng)104請求存儲器資源的一個或多個存儲器客戶端106。存儲器客戶端106可以包括一個或多個處理器單元(例如,中央處理單元(CPU)、圖形處理單元(GPU)、數(shù)字信號處理器(DSP)、顯示處理器等)、視頻編碼器、或請求到DRAM存儲器系統(tǒng)104的讀取/寫入訪問的其它客戶端。存儲器客戶端106經(jīng)由SoC總線105連接到編碼器108。
[0033]如下文更加詳細(xì)的描述的,編碼器108被配置為通過減小到DRAM存儲器系統(tǒng)104的數(shù)據(jù)輸入的數(shù)據(jù)活動因子k,來降低DRAM存儲器系統(tǒng)104的功耗。DRAM存儲器系統(tǒng)104內(nèi)的功率可以被分類為內(nèi)核存儲器陣列功率和