專利名稱:通過存儲(chǔ)器壓縮提高降低的功率狀態(tài)的移動(dòng)計(jì)算系統(tǒng)的電池壽命的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例通常涉及集成電路的領(lǐng)域,更確切地說,涉及用于通過存儲(chǔ)器壓縮來提高處于降低的功率狀態(tài)的移動(dòng)計(jì)算系統(tǒng)的電池壽命的系統(tǒng)、方法和裝置。
背景技術(shù):
移動(dòng)計(jì)算系統(tǒng)利用電池提供電源。隨著對(duì)電池能量的需求與日俱增,電池性能卻還未跟上需求的步伐。降低計(jì)算系統(tǒng)的組件所消耗的功率是提高電池壽命的一種方式。
存儲(chǔ)器設(shè)備(例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)設(shè)備)占計(jì)算系統(tǒng)所消耗的功率的很大一部分,尤其當(dāng)計(jì)算系統(tǒng)處于降低的功率狀態(tài)時(shí)。例如,根據(jù)降低的功率狀態(tài)的特性以及所安裝的存儲(chǔ)器的數(shù)量,DRAM設(shè)備所消耗的功率可以占總的系統(tǒng)功率的將近50%。膝上型電腦的最低推薦存儲(chǔ)器的所預(yù)計(jì)的提高,加上具有較高密度的下一代DRAM設(shè)備,將會(huì)增加系統(tǒng)存儲(chǔ)器的功耗。
在附圖的各圖中,以實(shí)例而非限制的方式說明本發(fā)明的實(shí)施例,其中相同的參考標(biāo)號(hào)代表相似的元件。
圖1是示出了根據(jù)本發(fā)明的實(shí)施例所實(shí)施的計(jì)算系統(tǒng)的所選方面的方框圖;圖2是示出了根據(jù)本發(fā)明的可選實(shí)施例所實(shí)施的計(jì)算系統(tǒng)的所選方面的方框圖;圖3是示出了根據(jù)本發(fā)明的實(shí)施例所實(shí)施的壓縮邏輯的所選方面的方框圖;圖4A和圖4B分別示出了根據(jù)本發(fā)明的實(shí)施例的、存儲(chǔ)器陣列內(nèi)的數(shù)據(jù)被壓縮之前和之后的存儲(chǔ)器陣列的所選方面;圖5是示出了根據(jù)本發(fā)明的實(shí)施例的通過存儲(chǔ)器壓縮提高移動(dòng)系統(tǒng)的電池壽命的方法的所選方面的流程圖圖6是示出根據(jù)本發(fā)明的實(shí)施例的電子系統(tǒng)的所選方面的方框圖;圖7是示出根據(jù)本發(fā)明的可選實(shí)施例的電子系統(tǒng)的所選方面的方框圖。
具體實(shí)施例方式
本發(fā)明的實(shí)施例主要針對(duì)用于通過存儲(chǔ)器壓縮來提高移動(dòng)計(jì)算系統(tǒng)的電池壽命的系統(tǒng)、方法和裝置。在某些實(shí)施例中,在進(jìn)入降低的功率狀態(tài)之前,將系統(tǒng)的主存儲(chǔ)器的內(nèi)容壓縮。在這種實(shí)施例中,只需要刷新主存儲(chǔ)器中包含壓縮數(shù)據(jù)的部分。存儲(chǔ)器的剩余部分可以斷開電源,這降低了所消耗的功率的量,從而延長了電池壽命。
圖1是示出了根據(jù)本發(fā)明的實(shí)施例所實(shí)施的移動(dòng)計(jì)算系統(tǒng)的所選方面的方框圖。術(shù)語“移動(dòng)計(jì)算系統(tǒng)”泛指例如膝上型電腦、掌上型電腦、圖形輸入板、手持設(shè)備、蜂窩電話、個(gè)人數(shù)字助理等。系統(tǒng)100包括處理器(多個(gè)處理器)102、存儲(chǔ)器子系統(tǒng)110、永久性存儲(chǔ)裝置140,以及非易失性存儲(chǔ)器150。在可選的實(shí)施例中,系統(tǒng)100可以包括更多、更少和/或不同的元件。
處理器102可以是任何種類的處理設(shè)備。例如,處理器102可以是微處理器、微控制器等。進(jìn)一步地,處理器102可以包括任何數(shù)量的處理內(nèi)核或者可以包括任何數(shù)量的單獨(dú)的處理器。
存儲(chǔ)器子系統(tǒng)110包括存儲(chǔ)器控制器112和存儲(chǔ)器模塊118。存儲(chǔ)器控制器112在圖1所示的處理器(多個(gè)處理器)102和其它元件之間提供接口。存儲(chǔ)器控制器112包括壓縮邏輯114和輸入/輸出端口116。輸入/輸出(I/O)端口116可以包括接收器、發(fā)射器,以及用于與其它集成電路交換信息的相關(guān)電路。
在某些實(shí)施例中,壓縮邏輯114包括用于壓縮存儲(chǔ)在存儲(chǔ)器模塊118中的數(shù)據(jù)的邏輯(例如壓縮算法)。壓縮邏輯114還可以包括用于將這些包含壓縮數(shù)據(jù)(例如122)的存儲(chǔ)器設(shè)備120選擇性地轉(zhuǎn)移到自刷新狀態(tài)的邏輯??梢詫⑹S嗟拇鎯?chǔ)器設(shè)備(例如除122以外的)的電源斷開。由于處于自刷新狀態(tài)的存儲(chǔ)器設(shè)備的數(shù)量減少,所以系統(tǒng)所消耗的功率的量也相應(yīng)地減少。術(shù)語“自刷新狀態(tài)”泛指周期性地刷新存儲(chǔ)器設(shè)備的單元的狀態(tài)。下面參考圖3進(jìn)一步討論壓縮邏輯114的所選方面。
在某些實(shí)施例中,壓縮邏輯114響應(yīng)于轉(zhuǎn)移到降低的功率狀態(tài)的指示而壓縮數(shù)據(jù)。例如,用戶(或另一計(jì)算系統(tǒng))可以啟動(dòng)整體的降低的功率狀態(tài)(例如通過關(guān)閉膝上型電腦的蓋子)。響應(yīng)于該輸入,處理器102將命令104發(fā)送給存儲(chǔ)器控制器,以指示其轉(zhuǎn)移到降低的功率狀態(tài)。術(shù)語“降低的功率狀態(tài)”泛指計(jì)算系統(tǒng)使用比其處于完全活動(dòng)功率狀態(tài)(active power state)更少的功率的任何功率狀態(tài)。降低的功率狀態(tài)的實(shí)例包括休眠、待機(jī)、軟關(guān)機(jī)等。在某些實(shí)施例中,降低的功率狀態(tài)是“掛起到隨機(jī)存取存儲(chǔ)器(RAM)”狀態(tài)(有時(shí)稱為S3狀態(tài))。下面參考圖5進(jìn)一步討論對(duì)存儲(chǔ)器中的數(shù)據(jù)的壓縮。
永久性存儲(chǔ)裝置140為系統(tǒng)100提供對(duì)數(shù)據(jù)和代碼的永久存儲(chǔ)。永久性存儲(chǔ)裝置140可以包括磁盤或光盤和其相應(yīng)的驅(qū)動(dòng)器。如虛線所示,在某些可選實(shí)施例中,永久性存儲(chǔ)裝置140包括壓縮軟件142。壓縮軟件142可以補(bǔ)充和/或取代壓縮邏輯114的某些方面。例如,在某些實(shí)施例中,壓縮軟件142可以為壓縮邏輯114提供壓縮算法。
非易失性存儲(chǔ)器150對(duì)可以在例如系統(tǒng)啟動(dòng)和/或初始化過程期間使用的代碼和/或數(shù)據(jù)提供非易失性存儲(chǔ)。非易失性存儲(chǔ)器1 50可以包括閃速存儲(chǔ)器設(shè)備及其接口。在某些實(shí)施例中,非易失性存儲(chǔ)器150包括配置數(shù)據(jù)152。配置數(shù)據(jù)152提供關(guān)于存儲(chǔ)器模塊118和/或存儲(chǔ)器設(shè)備120的配置的信息。例如,配置數(shù)據(jù)152可以詳細(xì)說明存儲(chǔ)器模塊的種類(例如x4、x8、x16),存儲(chǔ)器設(shè)備的大小等。如下面進(jìn)一步討論的,壓縮邏輯114可以訪問配置數(shù)據(jù)152,以確定存儲(chǔ)器子系統(tǒng)110的一個(gè)或多個(gè)方面的配置。
存儲(chǔ)器模塊118可以具有任意的多種結(jié)構(gòu)和引腳配置。例如,可以將存儲(chǔ)器模塊118構(gòu)建成雙列直插存儲(chǔ)器模塊(DIMM)、小型DIMM(SO-DIMM)、微型DIMM等??梢岳镁哂袔缀跞魏我_配置(包括240引腳、144引腳、72引腳等等)的電接觸連接器將存儲(chǔ)器模塊118耦合到互連124。
在可選實(shí)施例中,壓縮邏輯114位于集成電路上而不是存儲(chǔ)器控制器上。例如,壓縮邏輯114可以位于芯片集中的單獨(dú)的微控制器上?;蛘撸瑝嚎s邏輯114可以位于存儲(chǔ)器模塊118上。圖2是示出計(jì)算系統(tǒng)200的所選方面的方框圖,在該計(jì)算系統(tǒng)200中壓縮邏輯114B駐留在存儲(chǔ)器模塊118C上。
在某些實(shí)施例中,存儲(chǔ)器模塊118C包括緩沖器124。緩沖器124可以將相對(duì)高速的串行互連124C從用于與存儲(chǔ)器設(shè)備120進(jìn)行接口的相對(duì)較慢的互連分離。在某些實(shí)施例中,緩沖器124是高級(jí)存儲(chǔ)緩沖器(AMB),其適于結(jié)合全緩沖雙排直插存儲(chǔ)器模塊(FB-DIMM)技術(shù)使用。
緩沖器124包括壓縮邏輯114B和I/O端口116B。在某些實(shí)施例中,壓縮邏輯114B包括用于不依賴于操作系統(tǒng)地壓縮存儲(chǔ)在存儲(chǔ)器設(shè)備120中的數(shù)據(jù)的邏輯。即,壓縮邏輯114能夠獨(dú)立壓縮數(shù)據(jù),而不依賴于操作系統(tǒng)的存儲(chǔ)管理器。在某些實(shí)施例中,壓縮邏輯114響應(yīng)于(至少部分響應(yīng)于)轉(zhuǎn)移到降低的功率狀態(tài)的指示而壓縮數(shù)據(jù)。例如,在所述實(shí)施例中,壓縮邏輯114響應(yīng)于來自處理器102的命令104B(例如“掛起到RAM”命令)而壓縮數(shù)據(jù)。
圖3是示出了根據(jù)本發(fā)明的實(shí)施例所實(shí)施的壓縮邏輯的所選方面的方框圖。壓縮邏輯300包括控制邏輯302、讀緩沖器304、壓縮算法306、寫緩沖器308、讀指針310、寫指針312,以及計(jì)時(shí)器314。在可選實(shí)施例中,壓縮邏輯300可以包括更多元件、更少元件,和/或不同元件。在某些實(shí)施例中,將壓縮邏輯300實(shí)現(xiàn)在計(jì)算系統(tǒng)的平臺(tái)內(nèi)的硬件和/或固件中(例如在存儲(chǔ)器控制器上)。在可選實(shí)施例中,可以利用存儲(chǔ)在永久性存儲(chǔ)裝置(例如圖1中所示的永久性存儲(chǔ)裝置140)中的軟件來執(zhí)行壓縮邏輯300的所選方面。在其它可選實(shí)施例中,壓縮邏輯300可以駐留在存儲(chǔ)器模塊上。
在某些實(shí)施例中,控制邏輯302提供對(duì)壓縮邏輯300的全局控制。例如,壓縮邏輯302可以檢測轉(zhuǎn)移到低功率狀態(tài)的指示(例如圖1和圖2所示的命令104)。其也可以控制從存儲(chǔ)器中將數(shù)據(jù)讀入讀緩沖器304、壓縮該數(shù)據(jù),并從寫緩沖器308將壓縮數(shù)據(jù)寫回到存儲(chǔ)器的過程。讀緩沖器304和寫緩沖器308可以是任何的能夠存儲(chǔ)相對(duì)少量的數(shù)據(jù)的存儲(chǔ)元件。壓縮算法306可以是包括例如PKZIP壓縮算法的許多壓縮算法中的任何一種。
在某些實(shí)施例中,控制邏輯302使用讀指針310指示要從存儲(chǔ)器中讀取的下一數(shù)據(jù)塊的位置。類似地,控制邏輯302可以使用寫指針312指示要將下一壓縮數(shù)據(jù)塊寫入到存儲(chǔ)器中的位置。下面參考圖4A和圖4B進(jìn)一步討論讀指針310和寫指針312。
在某些實(shí)施例中,當(dāng)壓縮邏輯300接收到系統(tǒng)轉(zhuǎn)移到降低的功率狀態(tài)的指示時(shí),并不立即壓縮存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)。而是在啟動(dòng)壓縮過程之前等待一個(gè)特定的時(shí)間段。啟動(dòng)壓縮過程的延時(shí)防止了轉(zhuǎn)換到降低的功率狀態(tài)之后緊接著轉(zhuǎn)換到活動(dòng)功率狀態(tài)的情況(例如關(guān)閉膝上型電腦的蓋子,然后幾乎立刻將其打開)。在該情況下,存在如下風(fēng)險(xiǎn)即,與通過將某些存儲(chǔ)器設(shè)備斷電一個(gè)短的時(shí)間段所節(jié)約的電池能量相比,可能會(huì)使用更多的電池能量來壓縮數(shù)據(jù)。通過在啟動(dòng)壓縮過程之前等待特定長度的時(shí)間(例如幾秒鐘)降低了該風(fēng)險(xiǎn),因?yàn)樵诮?jīng)過足夠的時(shí)間以表明設(shè)備要可靠地處于降低的功率狀態(tài)相當(dāng)長度的時(shí)間(例如數(shù)十秒、分鐘、小時(shí)等)之前,并不使用電池能量來壓縮數(shù)據(jù)。
在某些實(shí)施例中,壓縮邏輯300使用計(jì)時(shí)器314以確定是否已經(jīng)過去了特定長度的時(shí)間。計(jì)時(shí)器314可以是許多能夠?qū)崿F(xiàn)在集成電路中的計(jì)時(shí)器中的任何一種。在可選實(shí)施例中,壓縮邏輯300可以使用不同的機(jī)制來確定是否已經(jīng)過去了特定的時(shí)間。在其它可選實(shí)施例中,壓縮邏輯300未等待特定長度的時(shí)間就啟動(dòng)壓縮過程。
在某些實(shí)施例中,壓縮邏輯300以成塊方式壓縮數(shù)據(jù)。即,壓縮邏輯300讀取具有特定塊大小的數(shù)據(jù)塊,將其壓縮,將壓縮的塊寫回到存儲(chǔ)器,然后對(duì)下一數(shù)據(jù)塊重復(fù)該過程,直到存儲(chǔ)在存儲(chǔ)器中的所有數(shù)據(jù)都被壓縮。在某些實(shí)施例中,塊大小為128字節(jié)。在可選實(shí)施例中,塊大小可以是例如64字節(jié)、256字節(jié)或任何其它的適于支持所需壓縮率的大小。
在某些實(shí)施例中,存在多條從存儲(chǔ)器控制器到DIMM的通道,并且可以在兩條通道同時(shí)進(jìn)行壓縮(例如以提高壓縮速度)。例如,考慮一種實(shí)施例,其中膝上型電腦具有兩條通道。在這種實(shí)施例中,系統(tǒng)可以具有用于每一通道的專用讀/寫緩沖器(例如304、308)。系統(tǒng)還可以具有用于每一通道的專用的壓縮/解壓縮控制器(例如302)?;蛘?,系統(tǒng)可以具有一個(gè)為兩條通道所共享的控制器。壓縮邏輯可以與輸入/輸出(I/O)操作重疊。例如,當(dāng)將壓縮數(shù)據(jù)寫出到通道2時(shí),控制器可以為通道1壓縮數(shù)據(jù)。
圖4A和圖4B是示出了根據(jù)本發(fā)明的實(shí)施例的以成塊方式壓縮數(shù)據(jù)的一個(gè)實(shí)例的概念圖。在某些實(shí)施例中,壓縮邏輯讀取一個(gè)(例如具有特定的塊大小的)數(shù)據(jù)塊,壓縮該數(shù)據(jù)以產(chǎn)生壓縮的數(shù)據(jù)塊,將壓縮的數(shù)據(jù)塊寫入存儲(chǔ)器,然后重復(fù)該過程,直到存儲(chǔ)器中的所有數(shù)據(jù)都被壓縮。存儲(chǔ)器陣列402代表由單陣列中的存儲(chǔ)器子系統(tǒng)所提供的存儲(chǔ)器位置(例如從最低地址的存儲(chǔ)器位置到最高地址的存儲(chǔ)器位置)。在某些實(shí)施例中,壓縮邏輯(例如圖3中所示的壓縮邏輯300)以具有特定塊大小的塊讀出存儲(chǔ)在存儲(chǔ)器陣列402中的數(shù)據(jù)。在所述實(shí)施例中,塊大小為128字節(jié)。在某些實(shí)施例中,讀指針406指示要從存儲(chǔ)器讀取的下一數(shù)據(jù)塊。
圖4B示出了根據(jù)本發(fā)明的實(shí)施例的、壓縮的數(shù)據(jù)塊已被寫入的存儲(chǔ)器陣列的實(shí)例。存儲(chǔ)器陣列404包括壓縮的塊410和412。如圖4B中所示,由于壓縮算法可以將某些數(shù)據(jù)壓縮至比其他數(shù)據(jù)更大的程度,所以每一壓縮的塊可以具有不同的塊大小。在某些實(shí)施例中,寫指針414指示下一壓縮的數(shù)據(jù)塊要被寫入存儲(chǔ)器中的位置(和/或最后的壓縮的數(shù)據(jù)塊被寫入存儲(chǔ)器中的位置)。
圖5是示出了根據(jù)本發(fā)明的實(shí)施例的、用于通過存儲(chǔ)器壓縮來提高移動(dòng)計(jì)算系統(tǒng)的電池壽命的方法的所選方面的流程圖。參考過程方框502,壓縮邏輯接收轉(zhuǎn)移到降低的功率狀態(tài)的指示。“接收指示”的說法泛指,例如,直接或間接地接收到轉(zhuǎn)移到降低的功率狀態(tài)的命令、指令、信號(hào),或者任何其它指示。例如,在某些實(shí)施例中,壓縮邏輯接收到轉(zhuǎn)移到“掛起到RAM”狀態(tài)的命令。
參考過程方框504,壓縮邏輯等待計(jì)時(shí)器計(jì)時(shí)結(jié)束。計(jì)時(shí)器的目的是提供延時(shí),從而只有系統(tǒng)要可靠地處于降低的功率狀態(tài)相當(dāng)長一段時(shí)間(例如數(shù)十秒、分鐘、小時(shí)等)時(shí),才壓縮存儲(chǔ)器的內(nèi)容。在某些實(shí)施例中,不等待計(jì)時(shí)器計(jì)時(shí)結(jié)束就運(yùn)行壓縮邏輯。參考過程方框506,壓縮邏輯初始化讀指針和/或?qū)懼羔槨?br>
參考過程方框508,壓縮邏輯從存儲(chǔ)器中讀出一個(gè)數(shù)據(jù)塊。在某些實(shí)施例中,將數(shù)據(jù)從存儲(chǔ)器讀到讀緩沖器(例如圖3中所示的讀緩沖器304)中。讀指針可以前進(jìn)塊大小(例如64字節(jié)、128字節(jié)、256字節(jié)等)。在510壓縮該數(shù)據(jù)塊。在某些實(shí)施例中,利用硬件(例如在存儲(chǔ)器控制器上)執(zhí)行數(shù)據(jù)壓縮,且不依賴于操作系統(tǒng)。在可選實(shí)施例中,可以利用存儲(chǔ)在永久性存儲(chǔ)裝置中的軟件來提供壓縮算法。
參考過程方框512,壓縮邏輯確定是否已發(fā)生負(fù)壓縮。例如,壓縮邏輯可以確定壓縮的塊的大小是否比未壓縮的源塊的大小更大。如果是,則將源塊(例如未壓縮的塊)寫回到存儲(chǔ)器(514)。另外,寫指針前進(jìn)源塊的大小(514)。
參考過程方框516,如果未發(fā)生負(fù)壓縮,則將壓縮的數(shù)據(jù)塊從例如寫緩沖器(例如圖3中所示的寫緩沖器308)寫入到存儲(chǔ)器。在某些實(shí)施例中,寫指針前進(jìn)壓縮的塊的大小。壓縮邏輯在518確定是否已壓縮了最后的數(shù)據(jù)塊。確定是否已壓縮了最后的數(shù)據(jù)塊可以包括確定讀指針是否已遍歷存儲(chǔ)器陣列(例如使用圖1中所示的配置152)。
如果已壓縮了最后的數(shù)據(jù)塊,則壓縮邏輯將存儲(chǔ)器子系統(tǒng)轉(zhuǎn)移到降低的功率狀態(tài)(520)。例如,如果存儲(chǔ)器設(shè)備包括壓縮數(shù)據(jù),則壓縮邏輯將存儲(chǔ)器設(shè)備轉(zhuǎn)移到自刷新狀態(tài)。如果該設(shè)備不包括壓縮數(shù)據(jù),則壓縮邏輯可以使該設(shè)備不活動(dòng)。因?yàn)樵S多存儲(chǔ)器設(shè)備不活動(dòng),所以系統(tǒng)所消耗的電池能量的量降低。在某些實(shí)施例中,壓縮邏輯例如使用寫指針和存儲(chǔ)器子系統(tǒng)的配置數(shù)據(jù)來確定哪些存儲(chǔ)器設(shè)備包含壓縮數(shù)據(jù),哪些存儲(chǔ)器設(shè)備不包含壓縮數(shù)據(jù)。
對(duì)數(shù)據(jù)進(jìn)行壓縮之后,壓縮邏輯可以實(shí)施解壓縮階段。解壓縮階段可以響應(yīng)于轉(zhuǎn)移到升高的功率狀態(tài)的指示而出現(xiàn)。轉(zhuǎn)移到升高的功率狀態(tài)的指示可以包括用于從降低的功率狀態(tài)轉(zhuǎn)移出來的任何的信號(hào)、命令等。例如,在某些實(shí)施例中,轉(zhuǎn)移到升高的功率狀態(tài)的指示可以包括打開膝上型電腦的蓋子。在某些實(shí)施例中,通過從壓縮的數(shù)據(jù)塊的末端反向操作來執(zhí)行解壓縮。
圖6是示出了根據(jù)本發(fā)明的實(shí)施例的電子系統(tǒng)的所選方面的方框圖。電子系統(tǒng)600包括處理器610、存儲(chǔ)器控制器620、存儲(chǔ)器630、輸入/輸出(I/O)控制器640、射頻(RF)電路650,以及天線660。在操作中,系統(tǒng)600利用天線660發(fā)送和接收信號(hào),并利用圖6中所示的各種元件來處理這些信號(hào)。天線660可以是定向天線或全向天線。如這里所使用的,術(shù)語全向天線是指在至少一個(gè)平面內(nèi)具有基本上均勻的方向圖的任何天線。例如,在某些實(shí)施例中,天線660可以是諸如偶極子天線或四分之一波長天線等的全向天線。又例如,在某些實(shí)施例中,天線660可以是諸如拋物柱面反射器天線、貼片天線或八木天線等定向天線。在某些實(shí)施例中,天線660可以包括多個(gè)物理天線。
射頻電路650與天線660和I/O控制器640通信。在某些實(shí)施例中,RF電路650包括符合通信協(xié)議的物理接口(PHY)。例如,RF電路650可以包括調(diào)制器、解調(diào)器、混頻器、頻率合成器、低噪聲放大器、功率放大器等。在某些實(shí)施例中,RF電路650可以包括外差接收器,而在其它實(shí)施例中,RF電路650可以包括直接變換接收器。例如,在具有多個(gè)天線660的實(shí)施例中,可以將每個(gè)天線耦合到相應(yīng)的接收器。在操作中,RF電路650接收來自天線660的通信信號(hào),并向I/O控制器640提供模擬或數(shù)字信號(hào)。此外,I/O控制器640可以向RF電路650提供信號(hào),RF電路650對(duì)信號(hào)進(jìn)行操作,然后將其傳送到天線660。
處理器(多個(gè)處理器)610可以是任何種類的處理設(shè)備。例如,處理器610可以是微處理器、微控制器等。此外,處理器610可以包括任意數(shù)量的處理內(nèi)核,或者可以包括任意數(shù)量的單獨(dú)的處理器。
存儲(chǔ)器控制器620在圖6示出的處理器610和其它元件之間提供通信路徑。在某些實(shí)施例中,存儲(chǔ)器控制器620是還提供其它功能的集線器設(shè)備的一部分。如圖6所示,存儲(chǔ)器控制器620耦合到處理器(多個(gè)處理器)610、I/O控制器640和存儲(chǔ)器630。在某些實(shí)施例中,存儲(chǔ)器控制器620包括壓縮邏輯622。壓縮邏輯622可以通過存儲(chǔ)器壓縮來提高系統(tǒng)600的電池壽命。
存儲(chǔ)器630可以包括多個(gè)存儲(chǔ)器設(shè)備。這些存儲(chǔ)器設(shè)備可以基于任意種類的存儲(chǔ)器技術(shù)。例如,存儲(chǔ)器630可以是隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、諸如閃速存儲(chǔ)器的非易失性存儲(chǔ)器,或任何其它種類的存儲(chǔ)器。
存儲(chǔ)器630可以表示一個(gè)或多個(gè)模塊上的單個(gè)存儲(chǔ)器設(shè)備或許多存儲(chǔ)器設(shè)備。存儲(chǔ)器控制器620通過互連622向存儲(chǔ)器630提供數(shù)據(jù),并響應(yīng)于讀請(qǐng)求從存儲(chǔ)器630接收數(shù)據(jù)??梢酝ㄟ^互連622或通過不同的互連(未示出)向存儲(chǔ)器630提供命令和/或地址。存儲(chǔ)器控制器630可以從處理器610或從另一來源接收要存儲(chǔ)在存儲(chǔ)器630中的數(shù)據(jù)。存儲(chǔ)器控制器620可以向處理器610或向另一目的地提供其從存儲(chǔ)器630接收的數(shù)據(jù)。互連622可以是雙向互連或單向互連?;ミB622可以包括許多平行導(dǎo)線。信號(hào)可以是差分的或單端的。在某些實(shí)施例中,互連622使用前向、多相時(shí)鐘方案進(jìn)行操作。
存儲(chǔ)器控制器620還耦合到I/O控制器640,并在處理器(多個(gè)處理器)610和I/O控制器640之間提供通信路徑。I/O控制器640包括用于與諸如串行端口、并行端口、通用串行總線(USB)端口等的I/O電路進(jìn)行通信的電路。如圖6所示,I/O控制器640提供到RF電路650的通信路徑。
圖7是示出了根據(jù)本發(fā)明的可選實(shí)施例的電子系統(tǒng)的所選方面的方框圖。電子系統(tǒng)700包括存儲(chǔ)器630、I/O控制器640、RF電路650,以及天線660,其均參考圖6在上面進(jìn)行了描述。電子系統(tǒng)700還包括處理器(多個(gè)處理器)710和存儲(chǔ)器控制器720。如圖7所示,存儲(chǔ)控制器720與處理器(多個(gè)處理器)710可以處于同一管芯上。在某些實(shí)施例中,存儲(chǔ)器控制器720包括壓縮邏輯722。壓縮邏輯722可以通過存儲(chǔ)器壓縮來提高系統(tǒng)700的電池壽命。處理器(多個(gè)處理器)710可以是參考處理器610的如上所述的任何種類的處理器。圖6和圖7所代表的示例系統(tǒng)包括桌上型電腦、膝上型電腦、服務(wù)器、蜂窩電話、個(gè)人數(shù)字助理、數(shù)字家庭系統(tǒng)等。
還可以提供本發(fā)明的實(shí)施例的元件作為用于存儲(chǔ)機(jī)器可執(zhí)行指令的機(jī)器可讀介質(zhì)。機(jī)器可讀介質(zhì)可以包括但不限于閃速存儲(chǔ)器、光盤、光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多用/視頻光盤(DVD)ROM、隨機(jī)存取存儲(chǔ)器(RAM)、可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、磁卡或光卡、傳播介質(zhì)或其它種類的適于存儲(chǔ)電子命令的機(jī)器可讀介質(zhì)。例如,經(jīng)由通信鏈路(例如調(diào)制解調(diào)器或網(wǎng)絡(luò)連接),通過載波或其它傳播介質(zhì)中包含的數(shù)據(jù)信號(hào)的方式,可以將本發(fā)明的實(shí)施例作為可以從遠(yuǎn)程電腦(例如服務(wù)器)傳送給發(fā)出請(qǐng)求的電腦(例如客戶端)的電腦程序來進(jìn)行下載。
應(yīng)該理解,在整個(gè)說明書中的“一個(gè)實(shí)施例”或“實(shí)施例”表明,結(jié)合該實(shí)施例所描述的特定的特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,需要強(qiáng)調(diào)且應(yīng)該理解的是,在該說明書的各個(gè)部分兩次或多次引用“實(shí)施例”或“一個(gè)實(shí)施例”或“可選實(shí)施例”不一定都是指同一實(shí)施例。此外,可以將特定的特征、結(jié)構(gòu)或特性適當(dāng)?shù)亟Y(jié)合在本發(fā)明的一個(gè)或多個(gè)實(shí)施例中。
同樣,應(yīng)該理解,在上述的對(duì)本發(fā)明的實(shí)施例的描述中,為了簡化幫助理解一個(gè)或多個(gè)不同的發(fā)明方面的公開的目的,有時(shí)將各種特征集合在一個(gè)實(shí)施例、附圖或其描述中。然而,不應(yīng)將該公開的方法理解為所權(quán)利要求的主體需要比在每一權(quán)利要求中所清楚地陳述的更多的特征的意圖的反映。相反地,如所附權(quán)利要求所反映的那樣,發(fā)明的方面比在上述的單個(gè)公開的實(shí)施例中的所有特征要少。因此,將該詳細(xì)描述之后的權(quán)利要求清楚地并入該詳細(xì)描述中。
權(quán)利要求
1.一種集成電路,包括輸入/輸出端口,其與易失性存儲(chǔ)器進(jìn)行接口;以及與所述輸入/輸出端口耦合的壓縮邏輯,所述壓縮邏輯用于不依賴于操作系統(tǒng)地壓縮易失性存儲(chǔ)器的內(nèi)容的至少一部分。
2.如權(quán)利要求1所述的集成電路,其中所述壓縮邏輯用于響應(yīng)于轉(zhuǎn)移到降低的功率狀態(tài)的指示,壓縮易失性存儲(chǔ)器中的所述內(nèi)容的至少一部分。
3.如權(quán)利要求2所述的集成電路,其中所述轉(zhuǎn)移到降低的功率狀態(tài)的指示包括轉(zhuǎn)移到“掛起到隨機(jī)存取存儲(chǔ)器(RAM)”狀態(tài)的命令。
4.如權(quán)利要求2所述的集成電路,其中所述壓縮邏輯還包括計(jì)時(shí)器,其用于在接收到所述轉(zhuǎn)移到降低的功率狀態(tài)的指示之后,指示何時(shí)經(jīng)過了閾值時(shí)間段。
5.如權(quán)利要求2所述的集成電路,其中所述壓縮邏輯還包括第一緩沖器,其用于存儲(chǔ)從易失性存儲(chǔ)器讀取的數(shù)據(jù)塊。
6.如權(quán)利要求5所述的集成電路,其中所述壓縮邏輯還包括第二緩沖器,其用于存儲(chǔ)要寫入易失性存儲(chǔ)器的壓縮的數(shù)據(jù)塊。
7.如權(quán)利要求2所述的集成電路,其中所述壓縮邏輯包括為易失性存儲(chǔ)器中的每一存儲(chǔ)器設(shè)備分別設(shè)定功率狀態(tài)的邏輯。
8.如權(quán)利要求2所述的集成電路,其中所述壓縮邏輯還包括讀指針,其用于指向未壓縮的數(shù)據(jù)塊;以及寫指針,其用于指向壓縮的數(shù)據(jù)塊。
9.如權(quán)利要求1所述的集成電路,其中所述集成電路包括存儲(chǔ)器控制器。
10.一種方法,包括接收轉(zhuǎn)移到降低的功率狀態(tài)的指示;以及響應(yīng)于接收到所述轉(zhuǎn)移到降低的功率狀態(tài)的指示,壓縮存儲(chǔ)在存儲(chǔ)器陣列中的數(shù)據(jù)的至少一部分。
11.如權(quán)利要求10所述的方法,其中接收轉(zhuǎn)移到降低的功率狀態(tài)的指示包括接收“掛起到隨機(jī)存取存儲(chǔ)器(RAM)”命令。
12.如權(quán)利要求10所述的方法,其中響應(yīng)于接收到所述轉(zhuǎn)移到降低的功率狀態(tài)的指示,壓縮存儲(chǔ)在存儲(chǔ)器陣列中的數(shù)據(jù)的至少一部分,包括不依賴于操作系統(tǒng)地壓縮存儲(chǔ)在所述存儲(chǔ)器陣列中的數(shù)據(jù)的至少一部分。
13.如權(quán)利要求12所述的方法,還包括確定是否已經(jīng)過去了閾值時(shí)間段。
14.如權(quán)利要求13所述的方法,其中壓縮存儲(chǔ)在所述存儲(chǔ)器陣列中的數(shù)據(jù)的至少一部分包括如果已經(jīng)過去了所述閾值時(shí)間段,則壓縮存儲(chǔ)在所述存儲(chǔ)器陣列中的所述數(shù)據(jù)的至少一部分。
15.如權(quán)利要求12所述的方法,其中不依賴于操作系統(tǒng)地壓縮存儲(chǔ)在所述存儲(chǔ)器陣列中的數(shù)據(jù)的至少一部分,包括從易失性存儲(chǔ)器讀取下一數(shù)據(jù)塊;壓縮所述下一數(shù)據(jù)塊,以產(chǎn)生壓縮的數(shù)據(jù)塊;以及將所述壓縮的數(shù)據(jù)塊寫入易失性存儲(chǔ)器。
16.如權(quán)利要求10所述的方法,還包括在壓縮了存儲(chǔ)在所述存儲(chǔ)器陣列中的所述數(shù)據(jù)的至少一部分之后,轉(zhuǎn)移到降低的功率狀態(tài)。
17.如權(quán)利要求10所述的方法,還包括接收轉(zhuǎn)移到活動(dòng)功率狀態(tài)的指示;以及響應(yīng)于接收到所述轉(zhuǎn)移到活動(dòng)功率狀態(tài)的指示,解壓縮存儲(chǔ)在所述存儲(chǔ)器陣列中的壓縮數(shù)據(jù)的至少一部分。
18.一種系統(tǒng),包括一個(gè)或多個(gè)存儲(chǔ)器設(shè)備,其用于提供存儲(chǔ)器陣列;與處理器耦合的集成電路,所述集成電路包括壓縮邏輯,用于不依賴于操作系統(tǒng)地壓縮存儲(chǔ)在所述存儲(chǔ)器陣列中的數(shù)據(jù)的至少一部分;處理器,其與所述集成電路耦合;以及天線,其與所述處理器耦合。
19.如權(quán)利要求18所述的系統(tǒng),其中所述壓縮邏輯至少部分地響應(yīng)于來自所述處理器的轉(zhuǎn)移到降低的功率狀態(tài)的指示,壓縮存儲(chǔ)在所述存儲(chǔ)器陣列中的所述數(shù)據(jù)的至少一部分。
20.如權(quán)利要求19所述的系統(tǒng),其中所述轉(zhuǎn)移到降低的功率狀態(tài)的指示包括轉(zhuǎn)移到“掛起到隨機(jī)存取存儲(chǔ)器(RAM)”狀態(tài)的命令。
21.如權(quán)利要求19所述的系統(tǒng),其中所述壓縮邏輯還包括計(jì)時(shí)器,其用于在接收到所述轉(zhuǎn)移到降低的功率狀態(tài)的指示之后,指示何時(shí)經(jīng)過了閾值時(shí)間段。
22.如權(quán)利要求19所述的系統(tǒng),其中所述壓縮邏輯還包括用于為所述存儲(chǔ)器陣列中的每一存儲(chǔ)器設(shè)備分別設(shè)定功率狀態(tài)的邏輯。
23.如權(quán)利要求18所述的系統(tǒng),其中所述集成電路包括存儲(chǔ)器控制器。
全文摘要
本發(fā)明的實(shí)施例通常針對(duì)用于通過存儲(chǔ)器壓縮來提高移動(dòng)計(jì)算系統(tǒng)的電池壽命的系統(tǒng)、方法和裝置。在某些實(shí)施例中,集成電路包括壓縮邏輯,用于不依賴于操作系統(tǒng)地壓縮存儲(chǔ)在存儲(chǔ)器陣列中的數(shù)據(jù)的至少一部分。壓縮邏輯可以響應(yīng)于轉(zhuǎn)移到降低的功率狀態(tài)的指示而壓縮數(shù)據(jù)。
文檔編號(hào)G06F12/00GK101086680SQ20071011030
公開日2007年12月12日 申請(qǐng)日期2007年6月8日 優(yōu)先權(quán)日2006年6月8日
發(fā)明者S·巴拉孫德拉姆 申請(qǐng)人:英特爾公司