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