TWI515747B - 用於動態記憶體功率管理之系統及方法 - Google Patents

用於動態記憶體功率管理之系統及方法 Download PDF

Info

Publication number
TWI515747B
TWI515747B TW102127995A TW102127995A TWI515747B TW I515747 B TWI515747 B TW I515747B TW 102127995 A TW102127995 A TW 102127995A TW 102127995 A TW102127995 A TW 102127995A TW I515747 B TWI515747 B TW I515747B
Authority
TW
Taiwan
Prior art keywords
memory
volatile memory
lut
page
pages
Prior art date
Application number
TW102127995A
Other languages
English (en)
Other versions
TW201419299A (zh
Inventor
羅浩景
亞立 塔哈
德斯特T 春
Original Assignee
高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 高通公司 filed Critical 高通公司
Publication of TW201419299A publication Critical patent/TW201419299A/zh
Application granted granted Critical
Publication of TWI515747B publication Critical patent/TWI515747B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)

Description

用於動態記憶體功率管理之系統及方法
本案之發明係關於用於動態記憶體功率管理之系統及方法。
攜帶型計算裝置(「PCD」)正成為個人及專業階層人員之必需品。此等裝置可包括蜂巢式電話、攜帶型數位助理(「PDA」)、攜帶型遊戲控制台、掌上型電腦及其他攜帶型電子裝置。因為PCD依賴於諸如電池之有限容量電源供應器,所以電力供應之節約與使用者所體驗之總服務品質(「QoS」)緊密相關。亦即,PCD中之電力資源之有效使用可降低使用者必須對電池再充電之頻率。
大部分使用者並不一直使用其PCD,且因此,PCD通常在長時間中保持在閒置、休眠或待用模式中。重要地,在此等休眠期間,即使在「閒置」模式中,PCD亦仍以休眠電流之形式消耗電力。PCD之休眠電流係與PCD內之各種組件相關聯之漏電率之總和,包括週期性地自再新諸如動態隨機存取記憶體(「DRAM」)之揮發性記憶體組件所需之電流。優先於PCD之電力節省休眠模式之自再新操作係以特定間隔自動地執行且係在PCD閒置時維持資料完整性所必需的。
揮發性記憶體組件之自再新操作表示PCD之休眠電流之相當大部分,且因而,針對PCD在處於閒置狀態中可體驗之相當大量之電力汲取會出錯。事實上,隨著PCD中之記憶體在大小上繼續增加,自再新記憶體所需之電流亦增加,藉此使有限電源供應器上之負擔進一步增加。因此,此項技術中需要用於減少在閒置模式中維持PCD之揮發性 記憶體組件中之資料完整性所需的電流之量的系統或方法。
揭示用於一攜帶型計算裝置(「PCD」)中之基於硬體(「HW」)及/或軟體(「SW」)之動態記憶體管理之方法及系統的各種實施例。一個例示性方法包括在一記憶體組件(諸如,一非揮發性快閃記憶體組件)中產生一記憶體頁面查找表(「LUT」)。該LUT可針對跨越一揮發性記憶體(諸如,一DRAM)之多個部分而定位的每一記憶體頁面包括一記錄。該DRAM可劃分成多個部分,諸如一上部組及一下部組,如此項技術中所瞭解。
該LUT中之該等記錄在該PCD處於一作用狀態中時經更新以持續追蹤由該PCD存取之彼等記憶體頁面,因此指示資料內容係儲存於該等給定記憶體頁面中。類似地,藉由更新該LUT,亦追蹤不含有資料內容之彼等記憶體頁面。當該PCD進入一休眠狀態以節約能源時,可查詢該LUT以判定揮發性記憶體之一第一部分(例如,一上部組)中之哪些記憶體頁面含有資料內容,且揮發性記憶體之一第二部分(例如,一下部組)中之哪些頁面可用於接收內容。值得注意地,取決於實施例,可如此識別經識別可用於接收內容之頁面,此係因為該等頁面目前不含有任何資料或者含有「陳舊」且適合覆寫之資料。
基於該查詢,資料在該上部組之該等記憶體頁面中之位置係已知的且可遷移至該下部組中之經識別用於接收資料之記憶體頁面。一旦遷移,該上部組即可斷電,因此藉由避免否則自再新該上部組將需要之功率消耗來減少休眠電流基準。有利地,因為利用該LUT以快速地知道該上部組中之含有資料之特定記憶體頁面及該下部組中之適合接收資料之特定記憶體頁面,所以將進行遷移所需之時間保持為最小的。因而,一般熟習此項技術者可認識到,PCD利用斷電之上部組而必須保持在休眠狀態中以便達到電力節省的時間之量經最小化。
24‧‧‧記憶體頁面查找表(「LUT」)
24A‧‧‧記憶體頁面查找表(「LUT」)
24B‧‧‧記憶體頁面查找表(「LUT」)
27‧‧‧上部組
29‧‧‧下部組
100‧‧‧攜帶型計算裝置(PCD)
101‧‧‧動態記憶體管理(「DMM」)模組
102‧‧‧積體電路/晶片上系統/晶片
103‧‧‧類比轉數位轉換器(「ADC」)控制器
110‧‧‧中央處理單元(「CPU」)
112A‧‧‧揮發性動態記憶體/揮發性記憶體組件/晶片上記憶體組件
112B‧‧‧非揮發性記憶體組件/非揮發性快閃記憶體/晶片外記憶體組件
126‧‧‧類比信號處理器
128‧‧‧顯示控制器
130‧‧‧觸控螢幕控制器
132‧‧‧觸控螢幕顯示器
134‧‧‧視訊解碼器
136‧‧‧視訊放大器
138‧‧‧視訊埠
140‧‧‧通用串列匯流排(「USB」)控制器
142‧‧‧通用串列匯流排(「USB」)埠
146‧‧‧用戶識別模組(「SIM」)卡
148‧‧‧數位攝影機
150‧‧‧立體聲音訊編解碼器(CODEC)
152‧‧‧音訊放大器
154‧‧‧第一立體聲揚聲器
156‧‧‧第二立體聲揚聲器
157A‧‧‧晶片上熱感測器
157B‧‧‧晶片上熱感測器
157C‧‧‧晶片外熱感測器
158‧‧‧麥克風放大器
160‧‧‧麥克風
162‧‧‧頻率調變(FM)無線電調諧器
164‧‧‧頻率調變(FM)天線
166‧‧‧立體聲頭戴式耳機
168‧‧‧射頻(「RF」)收發器
170‧‧‧射頻(「RF」)切換器
172‧‧‧射頻(「RF」)天線
174‧‧‧小鍵盤
176‧‧‧具有麥克風之單聲道耳機
178‧‧‧振動器
180‧‧‧功率管理積體電路(「PMIC」)
182‧‧‧圖形處理單元(GPU)
188‧‧‧電源供應器
222‧‧‧處理器/第零核心
224‧‧‧處理器/第一核心
226‧‧‧處理器
228‧‧‧處理器
230‧‧‧第N核心
600‧‧‧用於PCD中的基於HW之動態記憶體功率管理之方法
L-1‧‧‧記憶體頁面
L-2‧‧‧記憶體頁面
L-3‧‧‧記憶體頁面
L-4‧‧‧記憶體頁面
L-n‧‧‧記憶體頁面
U-1‧‧‧記憶體頁面
U-2‧‧‧記憶體頁面
U-3‧‧‧記憶體頁面
U-4‧‧‧記憶體頁面
U-n‧‧‧記憶體頁面
在圖式中,相似參考數字貫穿各種視圖指代相似部件,除非另有指示。對於具有字母字元標示之參考數字(諸如,「102A」或「102B」),字母字元標示可區分存在於同一圖中之兩個相似部件或元件。當希望參考數字涵蓋所有圖中之具有相同參考數字之所有部件時,可省略參考數字之字母字元標示。
圖1為繪示用於攜帶型計算裝置(「PCD」)中之經由基於硬體(「HW」)及/或軟體(「SW」)之頁面遷移的動態記憶體功率管理之晶片上系統之實施例的功能方塊圖;圖2A為在一定量之內容自例示性上部記憶體組之頁面遷移之前及之後所展示的例示性記憶體頁面查找表(「LUT」)之說明,該上部記憶體組小於或等於例示性下部記憶體組中之可用空間之量;圖2B為與圖2A的「遷移前」表相關的記憶體組件中之例示性上部組及下部組之說明;圖2C為與圖2A的「遷移後」表相關的記憶體組件中之例示性上部組及下部組之說明;圖3A為在一定量之內容自例示性上部記憶體組之頁面遷移之前及之後所展示的例示性記憶體頁面查找表(「LUT」)之說明,該上部記憶體組超過例示性下部記憶體組中之可用空間之量;圖3B為與圖3A的「遷移前」表相關的記憶體組件中之例示性上部組及下部組之說明;圖3C為與圖3A的「遷移後」表相關的記憶體組件中之例示性上部組及下部組之說明;圖4為呈無線電話之形式的PCD之例示性非限制性態樣的功能方塊圖,該PCD用於實施用於經由基於硬體(「HW」)及/或軟體(「SW」)之頁面遷移之動態記憶體功率管理的方法及系統; 圖5為繪示用於圖4之PCD中的基於SW之動態記憶體功率管理的方法之實施例的邏輯流程圖;及圖6為繪示用於圖4之PCD中的基於HW之動態記憶體功率管理之方法之實施例的邏輯流程圖。
詞「例示性」在本文中用以意謂「充當一實例、例子或說明」。本文中被描述為「例示性」之任何態樣未必應解釋為排他性的、比其他態樣較佳或有利。
在此描述中,術語「攜帶型計算裝置」(「PCD」)用以描述以有限容量電源供應器(諸如,電池)操作之任何裝置。雖然電池操作之PCD已被使用數十年,但結合第三代(「3G」)及第四代(「4G」)無線技術之出現的可再充電電池之技術進階已實現具有多個能力之眾多PCD。因此,PCD尤其可為具有無線連接之蜂巢式電話、衛星電話、尋呼機、PDA、智慧型電話、導航裝置、智慧筆記型電腦或閱讀器、媒體播放器、前述裝置之組合、膝上型電腦。
在此描述中,術語「應用程式」亦可包括具有可執行內容之檔案,諸如:目的碼、指令碼、位元組碼、標記語言檔案及修補程式。另外,本文中所參考之「應用程式」亦可包括本質上不可執行之檔案,諸如可能需要開啟之文件或需要存取之其他資料檔案。
在本文件之上下文中,「基元(atom)」、「頁面」或「記憶體頁面」為可用於儲存由作業系統用於給定程式之內容的記憶體之連續區塊。作為一實例,記憶體之連續區塊可為記憶體之固定長度之連續區塊,諸如記憶體組件中之列(在記憶體組件被視為具有固定數目個列及行之矩陣之情況下),但基元、頁面或記憶體頁面不限於任何特定大小或長度。因此,本說明書中對「頁面位址」或「記憶體位置」之參考與給定記憶體組件內之特定位置有關,給定「基元」、「頁面」或 「記憶體頁面」位於該特定位置處。因而,一般熟習此項技術者在此描述中將認識到,「頁面遷移」指代資料自記憶體組件中之具有特定位址之第一頁面至具有不同位址之第二頁面的傳送。值得注意地,取決於實施例,第一頁面位址及第二頁面位址可位於單獨記憶體組件或同一記憶體組件中。此外,在此描述之上下文中,用於儲存一定量之內容之第一頁面可具有記憶體組件之第一組或部分中之位址,而用於儲存內容之第二頁面可具有同一記憶體組件之第二組或部分中之位址,但並非所有實施例限於此組態。
在此描述中,將理解對術語「記憶體」、「記憶體組件」、「記憶體裝置」、「電腦可讀媒體」或其類似者之一般參考以設想「揮發性」及「非揮發性」兩個類型之記憶體組件,不管處於「晶片上」、「晶片外」、「內部」、「外部」抑或相對於PCD之其他位置。此外,雖然在此描述中大體上描繪為單一組件,但各種記憶體組件中之任一者可為耦接至數位信號處理器(或額外處理器核心)的具有單獨資料儲存器之分散式記憶體裝置。又,出於說明目的,在劃分成兩個部分(「上部組」部分及「下部組」部分)之單一記憶體組件之上下文中,在此描述中提供例示性實施例。就此而言,一般熟習此項技術者將認識到,對單一記憶體裝置之上部組及下部組之參考係為了說明便利,且絕不限制各種實施例及其等效物於劃分成相等組之單一記憶體裝置的應用。因而,在此描述中,將理解對組(不管「上部」抑或「下部」)之參考以設想1)可能或可能不連續、2)可能或可能不跨越多個記憶體裝置、3)可能或可能不跨越多個類型之記憶體裝置及4)可能或可能不對稱或以其他方式等效於另一組的任何記憶體空間。
雖然設想特定實施例之特定態樣可與揮發性或非揮發性組件相關聯,但此描述之範疇將不限於實施例之特定態樣唯一地與特定記憶體類型相關聯的此範圍。亦即,取決於特定實施例,給定態樣可儲存 於任何類型之記憶體組件上、遷移至任何類型之記憶體組件或以其他方式與任何類型之記憶體組件相關聯。此描述中之記憶體組件可為(但不限於為)快閃記憶體類型,諸如多媒體卡(「MMC」或「eMMC」)或安全數位(「SD」)卡;半導體類型,諸如必須得到持續供電之靜態隨機存取記憶體(「SRAM」)或必須週期性地再新之動態隨機存取記憶體(「DRAM」);固態記憶體;具有一或多個連線之電連接件;攜帶型電腦磁片(磁性)、電子唯讀記憶體(「ROM」);可抹除可程式化唯讀記憶體(「EPROM」或「EEPROM」);光纖;攜帶型緊密光碟唯讀記憶體(「CDROM」)等。
在此描述中,特定實施例之態樣中之一或多者係在硬體中實施。在此等實施例中,設想彼等態樣之各種邏輯可用此項技術中熟知之以下技術中之任一者或組合來實施:具有用於對資料信號實施邏輯功能之邏輯閘之離散邏輯電路;具有適當組合邏輯閘之特殊應用積體電路(「ASIC」);可程式化閘陣列(「PGA」);場可程式化閘陣列(「FPGA」)等。
如此描述中所使用,術語「組件」、「資料庫」、「模組」、「系統」及類似者意欲指代電腦相關實體(硬體、韌體、硬體與軟體之組合、軟體或執行中軟體),且表示用於提供功能性及執行本說明書中所描述之程序或程序流程中之特定步驟之例示性構件。舉例而言,組件可為(但不限於)在處理器上執行之程序、處理器、物件、可執行體、執行緒、程式及/或電腦。藉由說明,在計算裝置上執行之應用程式及計算裝置兩者可為組件。一或多個組件可駐留於程序及/或執行緒內,且組件可位於一電腦上及/或分散於兩個或兩個以上電腦之間。另外,此等組件可由儲存有各種資料結構之各種電腦可讀媒體執行。該等組件可藉由本端程序及/或遠端程序進行通信,諸如根據具有一或多個資料封包的信號(例如,來自藉由信號而與另一組件互動 的組件之資料,另一組件係在本端系統中、在分散式系統中及/或跨具有其他系統的網路(諸如,網際網路))中。
在此描述中,術語「中央處理單元(「CPU」)」、「數據機CPU」、「數位信號處理器(「DSP」)」、「晶片」及「晶片組」係可駐留於PCD中之處理組件之非限制性實例,且除另外指示時外,否則可互換地使用。此外,如此描述中所區分,CPU、DSP或晶片或晶片組可由本文中通常稱為「核心」及「子核心」之一或多個相異處理組件組成。此外,就上文所定義之概念而言,「處理組件」可為(但不限於)中央處理單元、圖形處理單元、核心、主核心、子核心、處理區域、硬體引擎等,或駐留於攜帶型計算裝置內之積體電路內或在攜帶型計算裝置內之積體電路外且可進入休眠、閒置或待用狀態的任何組件。
在一例示性PCD中,總計1.3mA之休眠電流之完全0.6mA可歸因於成對512MB揮發性記憶體組件之自再新循環。如上所述,PCD處於休眠模式中時用於記憶體之自再新的此功率消耗為電池之相當大量汲取,其指示電池之頻繁再充電。因此,與記憶體自再新操作相關聯之電流之任何減小有效地增加電池壽命,藉此亦改良QoS。在一例示性「高效能」PCD中,總休眠電流可為約2.5mA,其中相當大1.5mA可歸因於記憶體自再新操作。明顯地,跨若干記憶體組件維持基本資料完整性所需的電流之減小表示延長電池壽命及改良QoS之機會。
出於說明目的,假設512MB記憶體組件被劃分成上部記憶體組及下部記憶體組(各自256MB)。藉由在PCD處於閒置模式中時使該兩個記憶體組中之一者斷電(藉由使(例如)上部組斷電),可使與自再新整個記憶體組件相關聯之功率消耗減半。以此方式,可將基本資料內容維持在保持經供電之下部記憶體組中,同時可由於使上部記憶體組離線而實現電力節省。然而,此簡單電力節省方法之問題在於基本資料內容係隨機地分散於上部組及下部組兩者上,且因而,簡單地使上 部組斷電將導致儲存於該組中之資料丟失。
促進以上實例,用以在使上部組斷電之前保持上部組之資料內容的方法包括將內容之頁面自上部組遷移至下部組中之未使用且可用之記憶體空間。一旦遷移完成,即可使上部組斷電而不丟失基本資料內容,藉此實現否則將被上部組之自再新操作消耗的PCD休眠電流之電力節省。
用於頁面遷移之一個方法為軟體(「SW」)驅動之方法,其需要上部組及下部組之每一頁面被個別地檢查以判定內容是否儲存於頁面中。如上所述,可跨上部組及下部組兩者隨機地保存資料內容,其中僅該等組中之每一者中之一些頁面含有資料。因此,可以「逐頁面」或「試誤」方式檢查該等頁面。若(例如)在上部組之頁面位址處發現內容,則可將內容遷移至下部組中之頁面位址。值得注意地,此描述及說明書中涉及資料內容自上部組至下部組之遷移的其他描述本質上為例示性的,且不意謂將實施例之範疇限於僅包括自「上部」組至「下部」組之遷移。本質上,設想自任何記憶體位置至任何其他記憶體位置之遷移。一般熟習此項技術者將認識到,儘管缺少任何組態,但可將資料自記憶體組件中之任何位置遷移至同一記憶體組件或另一記憶體組件中之任何其他位置。
返回例示性SW驅動之頁面遷移,資料內容自上部組頁面位址之遷移可呈現以下選擇:覆寫儲存於下部組之接收位址中之資料(因此為了利於保存設法自上部組位址遷移之資料而丟失已在下部組位址中之資料)或檢查下一下部組位址以希望發現可用儲存空間。
與SW方法之實施例相關聯之功率消耗額外負擔可能過多,其中反覆遍歷逐頁面檢查程序所需之時間持續相對較長。結果,頁面遷移期間所消耗之功率可超過藉由在遷移完成之後使上部組斷電最終所節省之功率。換言之,歸因於反覆之強烈逐頁面SW遷移而消耗之功率 判定以PCD保持在休眠模式中所持續之時間中節省的功率之量而量測的「投資報酬」。
出於說明目的,用於在使揮發性記憶體之一部分斷電之前利用例示性基於SW之頁面遷移的回報(payback)可計算如下。假設需要保留之穩定記憶體內容不大於記憶體密度之一半,亦即,假設512MB記憶體組件中的256MB之頁面遷移大小,處罰可估計為2(針對兩個256MB記憶體組)×10秒(完成反覆SW頁面遷移所用之時間)×250mA(每秒所抽汲之電流之量)×3.7V=5.14mWH的所消耗功率。作為例示性遷移之結果,歸因於上部組在遷移之後之斷電,可實現休眠基準之0.3mA之減少。為了0.3mA之功率節省,補償為了在使256MB上部組斷電之前維持記憶體內容之完整性所消耗的能源將在PCD中耗用4.6小時之閒置時間[(5.14mWH/3.7V)/0.3mA=4.6小時]。值得注意地,此例示性計算甚至未考慮與「喚醒」PCD以便進行基於SW之遷移相關聯之額外功率損失,此可使4.6小時有效地增加至證明基於SW之遷移之額外負擔成本所需的超過9.2小時之閒置時間。
基於硬體(「HW」)之動態記憶體管理(「DMM」)系統及方法可相對於相關聯於典型之基於SW之解決方案(諸如,以上所概述之解決方案)的額外負擔成本而降低進行頁面遷移之額外負擔成本。藉由使用儲存於非揮發性記憶體源中(或在一些實施例中,儲存於揮發性記憶體源之專用部分中)之查找表(「LUT」),可追蹤所儲存內容之特定頁面位址且最終查詢該等特定頁面位址以在目標頁面遷移中使用。因為實施例可快速地識別(例如)上部組中之內容之位置及(例如)下部組中之可用儲存空間之位置,所以可避免上文所概括的基於SW之方法之反覆方法,藉此顯著減少在使上部組斷電之前進行頁面遷移所需之時間之量(且因此減少功率)。
一個例示性基於HW之DMM實施例在快閃記憶體組件中建立 LUT。該LUT含有與一或多個記憶體組件(諸如,DRAM記憶體組件)中之每一頁面位址個別地相關聯之記錄。返回參考上文之例示性情境,該LUT可針對512MB DRAM記憶體組件之上部組及下部組中之每一頁面位址而包括一記錄。
在PCD之正常操作期間,可隨程序或應用程式對記憶體頁面之每一存取更新該LUT。當存取給定頁面時,因此需要資料內容儲存於給定頁面中,可用二進位「0」標記LUT中之與所存取之頁面位址相關聯的記錄,藉此在LUT中形成文件:給定位址含有內容。類似地,若用「1」標記記錄,則假設相關聯頁面為空或至少可用於覆寫,此視情況而定。值得注意地,本說明書中使用二進位「0」在LUT中指示頁面含有資料及類似地使用「1」指示頁面可用於接收資料,此情形僅出於說明目的且不會將該等實施例限於恰好此組態。亦即,一般熟習此項技術者將認識到,可以與所描述之方式相反的方式利用二進位指示。一般熟習此項技術者將想到將LUT中之記錄形成文件之其他方式。
返回例示性基於HW之DDM實施例,假設揮發性記憶體組件包含512MB之記憶體空間(劃分成256MB之上部組及下部組)。此外,假設512MB之每一記憶體頁面表示4KB之容量(亦即,0.004MB)。對於具有(例如)2GB之eMMC或快閃記憶體的PCD,基於HW之DMM實施例所利用之所得LUT將由500,000個記錄(2000MB/0.004MB=500,000個記憶體頁面)組成。有利地,可僅需要約64KB之非揮發性快閃記憶體來維持LUT-需要可忽略量之功率進行更新的微小量之記憶體。值得注意地,雖然本文中所描述之例示性實施例包括LUT在快閃記憶體中之位置,但設想LUT可位於與PCD相關聯之任何記憶體組件中。舉例而言,設想一些實施例可使LUT位於DRAM中之專用記憶體空間中,諸如以上說明中之下部組之一部分中(因為在該說明中, 下部組為標示用於保留及自再新之用途的記憶體組件之部分)。
進一步設想,在一些實施例中,每當存取頁面時,可更新LUT,而在其他實施例中,可以批次方式週期性地更新LUT。在另外其他實施例中,更新可經時控以在記憶體異動之間發生,尤其在實施例包括LUT在揮發性記憶體空間中之位置的情況下。舉例而言,如上文所提及,在一些實施例中,可將LUT維持在自給定DRAM記憶體組件之下部組或上部組分配的少量專用空間中(亦即,在經指定保留之任何組中)。
此外,亦設想,基於HW之DMM解決方案之一些實施例可考慮自存取給定頁面起經過的持續時間。基於該時間量,可假設給定頁面中所含之資料係陳舊的,藉此觸發LUT經相應地更新。舉例而言,LUT可針對每一記錄含有標示特定記憶體頁面適合於覆寫之用途的額外標示,或者,在其他實施例中,內容之二進位指示符可自「0」改變為「1」(擴展上文之實例)以將給定記憶體頁面加旗標為可用於接收頁面遷移中之新內容之空間。
值得注意地,為說明容易起見,本說明書中所提供之實例係在劃分成各自256MB之上部組及下部組的512MB DRAM記憶體組件之上下文中提供,其中自上部組至下部組之頁面遷移係所要的,使得上部組可在PCD處於待用模式中時斷電。如上文所陳述,本發明之範疇不限於恰好此組態。此外,設想在一些實施例中,記憶體組之較小部分(諸如,例示性上部記憶體組)可在使恰好該部分斷電之前遷移。以實例說明且非限制,可利用LUT來追蹤256MB上部組之128MB中之頁面,使得在遷移之後,僅128MB斷電。
返回包括經組態以將儲存於記憶體頁面中之內容之相對「陳舊度」(亦即,自對儲存於特定記憶體頁面中之內容之最後存取起的持續時間)形成文件之LUT的例示性基於HW之DMM實施例,設想此等 實施例在待遷移之頁面之數目超過已知可用於接收內容之頁面之數目時有用。如上所述,經指定用於連續自再新的記憶體之部分中之頁面(該等頁面含有在特定持續時間內尚未被存取之資料內容)可在LUT中加旗標為適合覆寫。設想用以在LUT中將記憶體頁面加旗標為適合覆寫之其他方式包括(但不限於)將特定應用程式所使用之內容辨識為具有比其他較不重要應用程式所使用之內容高的維持優先權(諸如,電子郵件應用程式對遊戲應用程式),允許使用者對應用程式優先排序因而對與應用程式相關聯之資料內容之重要性優先排序,及在記憶體組件之特定部分專用於特定功能性時將儲存於該等部分中之內容指定為比儲存於其他部分中之內容重要(亦即,應用程式堆集部分、視訊RAM部分、核心部分等,其中應用程式堆集可經指定用途為首先用於覆寫)。
進一步設想,另外其他實施例可包含與基於SW之DMM實施例組合的基於HW之DMM實施例的混合解決方案。舉例而言,在已利用用於接收內容之所有可用空間,且已覆寫LUT中標記為適合覆寫之所有頁面,且仍存在要遷移之必要內容的情境中,可進行混合解決方案以利用選擇用於覆寫之額外記憶體頁面或選取不遷移特定頁面的基於SW之解決方案。亦即,實施例可提出基於SW之解決方案以進行任何程序刪除(process killing)以在基於HW之解決方案已完成其工作之後完成頁面遷移。值得注意地,因為基於HW之方法將已遷移一些頁面,所以相比於僅單獨之純粹基於SW之DMM方法,基於SW之遷移之應用將必定耗費較少時間(但仍可能相當大),且因此混合實施例消耗較少功率。設想HW/SW混合DMM方法對具有執行將沉重負擔加諸於總記憶體容量之許多應用程式及任務之使用者的高功能性PCD可為有利的。
圖1為繪示用於攜帶型計算裝置(「PCD」)中之經由基於硬體 (「HW」)及/或軟體(「SW」)之頁面遷移的動態記憶體功率管理之晶片上系統之實施例的功能方塊圖。如該圖中可見,動態記憶體管理(「DMM」)模組101與積體電路102之中央處理單元(「CPU」)110通信。DMM模組101可包括記憶體控制器功能性,該功能性用於在PCD 100處於使用中時為了處理器222、224、226及228之益處來管理資料內容之儲存及擷取。如一般熟習此項技術者可瞭解,DMM模組101可在動態記憶體112A中儲存及擷取用於由CPU 110執行之應用程式之內容。內容可跨動態記憶體112A隨機地保存於駐留於上部組27或下部組29中之記憶體頁面中,此視情況而定。
DMM模組101亦與非揮發性記憶體組件112B通信,非揮發性記憶體組件112B可為儲存記憶體頁面查找表(「LUT」)24之eMMC記憶體裝置(亦即,快閃記憶體)。如上所述,當PCD 100進入休眠狀態以試圖將功率消耗最小化時,CPU 110之休眠模式可藉由DMM模組101辨識,藉此觸發DMM模組101實施動態記憶體112A中之頁面遷移。有利地,藉由將資料內容自一個記憶體組遷移至另一記憶體組(諸如,自上部組27遷移至下部組29),內容遷移所來自之組(例如,上部組27)可斷電,藉此減少否則由於記憶體組之週期性自再新而將消耗的休眠電流之部分。當PCD 100保持在休眠狀態中時,遷移至接收記憶體組(例如,下部組29)之內容以及已儲存於接收組中之內容可藉由自再新操作來維持。
在一特定實施例中,當PCD 100處於作用狀態中時,DMM模組101更新LUT 24以將內容儲存於動態記憶體112A中所在之頁面位址形成文件。該等更新可基於DMM模組101所作出的由CPU 110處理之應用程式請求對動態記憶體112A中之給定記憶體頁面之存取的辨識。此外,在一些實施例中,該等更新可基於自存取給定記憶體頁面起的特定時間量之屆期、儲存於給定記憶體頁面中之內容所相關聯之特定 應用程式等。
如上文所提及,在特定實施例中,DMM模組101可在其辨識對存取儲存於動態記憶體112A之給定記憶體頁面中之資料的個別請求時更新LUT 24。然而,在其他實施例中,DMM模組101可成批地更新LUT 24,藉此可能進一步降低更新LUT 24所需之功率消耗之量。值得注意地,如一般熟習此項技術者應可認識到,DMM模組101可經組態且可操作以對揮發性動態記憶體112A及非揮發性快閃記憶體112B兩者進行讀取及寫入。
如上文所提及,當CPU 110進入休眠模式時,DMM模組101可經觸發以實施根據例示性實施例之基於HW之頁面遷移解決方案。在實施該解決方案時,例示性實施例之DMM模組101查詢LUT 24以識別上部組27中之記憶體頁面,該等記憶體頁面含有在PCD 100之作用期間最近所存取之資料內容。基於該查詢,DMM模組101可以上部組27中之彼等經識別記憶體頁面為目標且將彼等頁面遷移至下部組29。下部組29中之可用於接收資料或適合覆寫之記憶體頁面亦可由DMM模組101查詢LUT 24來識別。
有利地,藉由使用LUT 24,DMM模組101可在最小量之時間中進行並完成頁面遷移,藉此減少遷移期間所消耗之功率之量,且將一旦上部組27斷電,PCD 100必須保持在休眠狀態中以實現電力節省所用的時間量最小化。
圖2A為在一定量之內容自例示性上部記憶體組之頁面遷移之前及之後所展示的例示性記憶體頁面查找表(「LUT」)24A之說明,該上部記憶體組小於或等於例示性下部記憶體組中之可用空間之量,諸如圖1繪示之上部組27及下部組29。在LUT 24A的遷移前(BEFORE)版本中,針對上部組27之每一記憶體頁面U-1至U-n及下部組29之每一記憶體頁面L-1至L-n包括一個別記錄(亦即,列)。對該等記錄之檢閱顯 示每一記憶體頁面係用「0」或「1」標示,其中「0」代表內容在PCD 100之最後作用循環期間經存取,而「1」則代表記憶體頁面係未經使用的。另外,關於下部組29之記錄L-1至L-n,進一步包括標示以指示相關聯記憶體頁面是否適合覆寫。在LUT 24A的遷移前版本中,將下部組29中之由記錄L-2所表示之記憶體頁面標示為適合覆寫。值得注意地,一般熟習此項技術者應可認識到,此標示亦可經由二進位方法完成。此外,如上所述,覆寫適合性假設內容目前儲存於由該記錄所表示之記憶體頁面中,但在自上部組27遷移之較新內容需要區位來儲存之情況下,該內容適合被覆寫。
轉而參考LUT 24A的遷移後(AFTER)版本,可看到使用基於HW之動態記憶體管理解決方案之頁面遷移之結果。值得注意地,LUT 24A之例示性遷移前版本中所呈現的需要自上部組27遷移至下部組29之頁面之數目為二(U-1及U-2)。有利地,因為對LUT 24A之查詢可判定無內容儲存於由記錄U-3、U-4及U-n所表示之記憶體頁面中,所以例示性的基於HW之DMM解決方案避免檢查彼等位置。在LUT 24A之例示性遷移前版本中所表示的在下部組29中可用於接收內容的頁面之數目為三(L-3、L-4及L-n)。
參考LUT 24A的遷移後版本,可看到,內容係自上部組27遷移至下部組29,以使得與記憶體頁面U-1至U-n相關聯之記錄中之每一者係用「1」標示,因此指示上部組27可斷電而不丟失資料。同樣地,先前儲存於由U-1及U-2所表示之記憶體頁面處之內容已遷移至先前未經佔用之記憶體頁面L-3及L-4。值得注意地,因為需要遷移之頁面之數目小於或等於下部組29中之可用頁面,所以無需覆寫由記錄L-2所表示之記憶體頁面以便完成遷移。
圖2B為與圖2A之LUT 24A的遷移前版本相關的記憶體組件112A中之例示性上部組27及下部組29之說明。對圖2B繪示之檢閱描繪在 關於圖2A所描述之遷移之前的記憶體112A之狀態。映射LUT 24A的遷移前版本中之記錄,內容儲存於上部組27之記憶體頁面U-1及U-2及下部組29之記憶體頁面L-1及L-2處。
參看圖2C,描繪與圖2A之LUT 24A的遷移後版本相關的記憶體組件112A中之例示性上部組27及下部組29。對圖2C繪示之檢閱描繪關於圖2A所描述之遷移之後的記憶體112A之狀態。映射LUT 24A的遷移後版本中之記錄,先前儲存於由記錄U-1及U-2所表示之記憶體頁面處之內容已遷移至與記錄L-3及L-4相關聯之先前可用之記憶體頁面。因此,當先前散佈於組27、29兩者上之內容現儲存於僅下部組29之記憶體頁面中時,上部組27之記憶體頁面具備斷電條件。因而,上部組27可斷電以減少當PCD 100處於待用狀態中時所消耗之休眠基準電流。下部組29可經繼續供電且再新以維持其中所儲存之所有資料之完整性。
圖3A為在一定量之內容自例示性上部記憶體組之頁面遷移之前及之後所展示的例示性記憶體頁面查找表(「LUT」)24B之說明,該上部記憶體組大於例示性下部記憶體組中之可用空間之量,諸如圖1繪示之上部組27及下部組29。在LUT 24B的遷移前版本中,針對上部組27之每一記憶體頁面U-1至U-n及下部組29之每一記憶體頁面L-1至L-n包括一個別記錄(亦即,列)。對該等記錄之檢閱指示每一記憶體頁面係用「0」或「1」標示,其中「0」指示內容係在PCD 100之最後作用循環期間存取且「1」指示記憶體頁面係未使用的。另外,關於下部組29之記錄L-1至L-n,進一步包括標示以指示相關聯記憶體頁面是否適合覆寫。在LUT 24B的遷移前版本中,將下部組29中之由記錄L-2所表示的記憶體頁面標示為適合覆寫。值得注意地,如一般熟習此項技術者可認識到,此標示亦可經由二進位方法完成。此外,如上所述,覆寫適合性假設內容目前儲存於由該記錄所表示之記憶體頁 面中,但在自上部組27遷移之較新內容需要區位來儲存之情況下,該內容適合被覆寫。
轉而參考LUT 24B的遷移後版本,可看到使用基於HW之動態記憶體管理解決方案之頁面遷移的結果。值得注意地,LUT 24B之例示性遷移前版本中所表示的需要自上部組27遷移至下部組29的頁面之數目為二(U-1及U-2)。有利地,因為對LUT 24B之查詢可判定無內容儲存於由記錄U-3、U-4及U-n所表示之記憶體頁面中,所以例示性的基於HW之DMM解決方案避免檢查彼等位置。儘管由記錄L-2所表示之記憶體頁面適合覆寫,但LUT 24B之例示性遷移前版本中所表示的在下部組29中可用於接收內容的頁面之數目僅為1(L-3)。
參考LUT 24B的遷移後版本,可看到,內容係自上部組27遷移至下部組29,以使得與記憶體頁面U-1至U-n相關聯之記錄中之每一者係用「1」標示,因此指示上部組27可斷電而不丟失資料。同樣地,先前儲存於由U-1及U-2所表示之記憶體頁面處之內容已遷移至先前未經佔用之記憶體頁面L-3且經覆寫至記憶體頁面L-2。值得注意地,因為需要遷移之頁面之數目大於下部組29中之可用頁面,所以覆寫由記錄L-2所表示之記憶體頁面以便完成遷移。因為先前儲存於L-2中之資料由於最近未經存取而為「陳舊的」或可能與具有低優先權之應用程式相關聯,所以基於HW之DMM解決方案為了利於維持自U-1或U-2遷移之資料之完整性而選取覆寫L-2。
圖3B為與圖3A之LUT 24B的遷移前版本相關的記憶體組件112A中之例示性上部組27及下部組29之說明。對圖3B繪示之檢閱描繪在關於圖3A所描述之遷移之前的記憶體112A之狀態。映射LUT 24B的遷移前版本中之記錄,內容儲存於上部組27之記憶體頁面U-1及U-2及下部組29之記憶體頁面L-1、L-2、L-4及L-n處。
參看圖3C,描繪與圖3A之LUT 24B的遷移後版本相關的記憶體 組件112A中之例示性上部組27及下部組29。對圖3C繪示之檢閱描繪在關於圖3A所描述之遷移之後的記憶體112A之狀態。映射LUT 24B的遷移後版本中之記錄,先前儲存於由記錄U-1及U-2所表示之記憶體頁面處之內容已遷移至先前可用之記憶體頁面L-3及適合覆寫之頁面L-2。因此,當先前散佈於組27、29兩者上之內容現儲存於僅下部組29之記憶體頁面中時,上部組27之記憶體頁面具備斷電條件。因而,上部組27可斷電以減少當PCD 100處於待用狀態中時所消耗之休眠基準電流。下部組29可經繼續供電且再新以維持其中所儲存之所有資料之完整性。
圖4為呈無線電話之形式的PCD之例示性非限制性態樣的功能方塊圖,該PCD用於實施用於經由基於硬體(「HW」)及/或軟體(「SW」)之頁面遷移之動態記憶體功率管理的方法及系統。
如所展示,PCD 100包括晶片上系統102,該晶片上系統102包括耦接在一起之中央處理單元(「CPU」)110及類比信號處理器126。如一般熟習此項技術者所理解,CPU 110可包含第零核心222、第一核心224及第N核心230。此外,替代CPU 110,亦可使用一數位信號處理器(「DSP」),如一般熟習此項技術者所理解。此外,如異質多核心處理器之技術中所理解,核心222、224、230中之每一者可處理與PCD 100之不同應用程式或功能性相關聯之不同工作負載,藉此需要存取記憶體112內之不同記憶體頁面。
一般而言,該(該等)DMM模組可負責監視CPU 110、在PCD 100處於作用狀態中時控制資料內容之儲存及擷取、將對所儲存資料內容之存取事件的數目及時序形成文件,且應用基於HW及/或基於SW之動態記憶體管理解決方案。該等DMM解決方案之應用可減少PCD 100處於閒置或待用狀態中時所消耗的休眠基準電流,從而有利地延長PCD 100之電池壽命。以此方式,該(該等)DMM模組101可藉由將電 源供應器188上之充電循環之頻率最小化來最佳化提供給使用者之QoS。
該(該等)DMM模組101可包含由CPU 110執行之軟體。然而,該(該等)DMM模組101亦可由硬體及/或韌體形成,而不致脫離本發明之範疇。該(該等)DMM模組101可經組態且可操作以對記憶體組件112中之任一者進行資料內容讀取及寫入。舉例而言,在特定實施例中,LUT 24可駐留於外部快閃記憶體(諸如,非揮發性記憶體112B)中,且由(一或多個)DMM模組101持續地管理及更新。類似地且簡單地返回參考圖1說明,LUT 24可駐留於位於晶片上之非揮發性記憶體112B。在另外其他實施例中,LUT 24可駐留於晶片上DRAM記憶體(諸如,揮發性記憶體112A)中,且由(一或多個)DMM模組101持續地管理及更新。如上文及下文所描述,該(該等)DMM模組101可查詢LUT 24以識別記憶體112內之內容之位置及記憶體112內之可用空間之位置,使得可將內容快速且有效地遷移至經標示以在PCD 100處於閒置狀態中時保持供電的記憶體112之一部分。
如圖4中所繪示,一顯示控制器128及一觸控螢幕控制器130耦接至CPU 110。在晶片上系統102外之一觸控螢幕顯示器132耦接至顯示控制器128及觸控螢幕控制器130。
PCD 100可進一步包括視訊解碼器134,例如,逐行倒相(「phase-alternating line;PAL」)解碼器、順序傳送彩色與儲存(sequential couleur avec memoire;「SECAM」)解碼器、全國電視系統委員會(「NTSC」)解碼器或任何其他類型之視訊解碼器134。視訊解碼器134耦接至中央處理單元(「CPU」)110。視訊放大器136耦接至視訊解碼器134及觸控螢幕顯示器132。視訊埠138耦接至視訊放大器136。如圖4中所描繪,通用串列匯流排(「USB」)控制器140耦接至CPU 110。又,USB埠142耦接至USB控制器140。晶片上記憶體組件 112A亦可耦接至CPU 110。晶片外記憶體組件112B(諸如(但不限於)快閃記憶體)及用戶識別模組(SIM)卡146可在晶片102外且耦接至CPU 110。此外,如圖4中所展示,數位攝影機148可耦接至CPU 110。在一例示性態樣中,數位攝影機148為電荷耦合裝置(「CCD」)攝影機或互補金屬氧化物半導體(「CMOS」)攝影機。
如圖4中所進一步繪示,立體聲音訊編CODEC 150可耦接至類比信號處理器126。此外,音訊放大器152可耦接至立體聲音訊CODEC 150。在一例示性態樣中,第一立體聲揚聲器154及第二立體聲揚聲器156耦接至音訊放大器152。圖4展示麥克風放大器158亦可耦接至立體聲音訊CODEC 150。另外,麥克風160可耦接至麥克風放大器158。在一特定態樣中,頻率調變(「FM」)無線電調諧器162可耦接至立體聲音訊CODEC 150。又,FM天線164耦接至FM無線電調諧器162。此外,立體聲頭戴式耳機166可耦接至立體聲音訊CODEC 150。
圖4進一步指示射頻(「RF」)收發器168可耦接至類比信號處理器126。RF切換器170可耦接至RF收發器168及RF天線172。如圖4中所展示,小鍵盤174可耦接至類比信號處理器126。又,具有麥克風之單聲道耳機176可耦接至類比信號處理器126。此外,振盪器裝置178可耦接至類比信號處理器126。圖4亦展示電源供應器188(例如,電池)經由功率管理積體電路(「PMIC」)180耦接至晶片上系統102。在一特定態樣中,電源供應器188包括可再充電DC電池,或源自連接至AC電源之交流(「AC」)至DC變壓器之DC電源供應器。
CPU 110亦可耦接至一或多個內部晶片上熱感測器157A及157B以及一或多個外部晶片外熱感測器157C。晶片上熱感測器157A、157B可包含一或多個與絕對溫度成比例(「PTAT」)溫度感測器,該等感測器係基於垂直PNP結構且通常專用於互補金屬氧化物半導體(「CMOS」)超大規模積體(「VLSI」)電路。晶片外熱感測器157C可 包含一或多個熱敏電阻。該等熱感測器157可產生電壓降,該電壓降係用類比轉數位轉換器(「ADC」)控制器103(參看圖5A)轉換成數位信號。然而,在不脫離本發明之範疇之情況下,可使用其他類型之熱感測器157。
觸控螢幕顯示器132、視訊埠138、USB埠142、攝影機148、第一立體聲揚聲器154、第二立體聲揚聲器156、麥克風160、FM天線164、立體聲頭戴式耳機166、RF切換器170、RF天線172、小鍵盤174、單聲道耳機176、振動器178、熱感測器157C、記憶體112B、PMIC 180及電源供應器188在晶片上系統102外。
在一特定態樣中,本文中所描述之方法步驟中之一或多者可藉由儲存於記憶體112中之形成該一或多個DMM模組101之可執行指令及參數來實施。除了ADC控制器103用以執行本文中所描述之方法之外,亦可由CPU 110、類比信號處理器126、GPU 182或另一處理器來執行形成該(該等)DMM模組101之此等指令。此外,處理器110、126、記憶體112、儲存於記憶體中之指令或前述各者之組合可充當用於執行本文中所描述之方法步驟中之一或多者的構件。
圖5為繪示用於圖4之PCD 100中的基於SW之動態記憶體功率管理之方法500之實施例的邏輯流程圖。自區塊505處開始,DMM模組101可辨識:CPU 110已進入休眠模式。因為休眠模式之目的為節約能源,所以在區塊510處,DMM模組101可開始PCD 100之記憶體組件112(諸如,記憶體組件112A之記憶體組27及29)之間的頁面遷移,以為使該等記憶體組件112之一部分斷電作準備。如上文所描述,藉由使揮發性記憶體組件112A斷電,可有利地減少與休眠模式相關聯之功率消耗,藉此避免與週期性再新操作相關聯之電流。此外,如一般熟習此項技術者可認識到,減少為了在記憶體組件112之間遷移頁面所消耗之功率之量會減小PCD 100為了實現淨電力節省而必須處於休 眠模式中的時間量。
參看圖5,在區塊510處,DMM模組101起始基於SW之動態記憶體管理解決方案。在區塊515處,DMM模組101檢查上部組27中之第一記憶體頁面以判定內容是否儲存於其中。若在決策區塊520處判定內容儲存於上部組27之經檢查記憶體頁面中,則該方法進行至區塊535且檢查下部組29中之記憶體頁面以查找內容。若在決策區塊540處判定下部組29中之經檢查之記憶體頁面含有內容,則該程序移至決策區塊550,且在535處檢查下部組29中之下一記憶體頁面。該程序以此方式重複遍歷區塊535、540及550,直至發現下部組29中之具有可用空間的記憶體頁面為止。一旦在決策區塊540處發現可用記憶體頁面,該程序即移動至區塊545,且經識別在上部組27之記憶體頁面中之內容被遷移至下部區塊29中之可用記憶體頁面。
該程序移至決策區塊525以判定上部組27中是否存在另一記憶體頁面要檢查以查找內容。只要上部組27中存在記憶體頁面要檢查以查找內容,該程序便將反覆,從而在上部組27之記憶體頁面中找到內容(決策區塊520之「是」分支)及將該等記憶體頁面遷移至在下部組29中識別之記憶體區塊以具有未使用空間(決策區塊540之「是」分支及區塊545)。當檢查下部組29中之記憶體頁面以查找未使用空間時,若未識別到未使用記憶體頁面,則一些實施例可識別下部組中之儲存有低優先權內容之記憶體頁面(區塊555),且接著在區塊545處遷移來自上部組27之記憶體頁面之內容且覆寫下部組29之具有低優先權標示之記憶體頁面。另外其他實施例可僅覆寫下部組29之記憶體頁面中之內容而無需考慮已儲存於給定下部組29記憶體頁面中之內容之重要性。
一旦上部組27中不再存在記憶體頁面要檢查以查找內容,便遵循決策區塊525之「no」分支至區塊530,且使上部組27斷電以節省休眠電流,如上所述。
圖6為繪示用於圖4之PCD 100中的基於HW之動態記憶體功率管理之方法600之實施例的邏輯流程圖。自區塊603處開始,產生並維持記憶體頁面LUT,諸如例示性LUT 24。如上所述,該LUT可包括與記憶體112中之每一記憶體頁面相關聯之記錄,該等記錄標示每一記憶體頁面之狀態,包括(但不限於)記憶體頁面目前是否含有資料、是否適合覆寫等之標示。如上所述,當PCD處於作用狀態中時,更新該LUT。在區塊605處,DMM模組101可辨識:CPU 110已進入休眠模式。因為休眠模式之目的為節約能源,所以在區塊610處,DMM模組101可開始PCD 100之記憶體組件112(諸如,記憶體組件112A之記憶體組27及29)之間的頁面遷移,以為使該等記憶體組件112之一部分斷電作準備。如上文所描述,藉由使揮發性記憶體組件112A斷電,可有利地減少與休眠模式相關聯之功率消耗,藉此避免與週期性再新操作相關聯之電流。此外,如一般熟習此項技術者可認識到,減少為了在記憶體組件112之間遷移頁面所消耗之功率之量會減小PCD 100為了實現淨電力節省而必須處於休眠模式中的時間量。
參看圖6,在區塊610處,DMM模組101起始基於HW之動態記憶體管理解決方案。在區塊615處,DMM模組101查詢諸如LUT 24之記憶體頁面查找表(「LUT」),當PCD 100處於作用狀態中時,藉由DMM模組101來管理並更新該LUT。在區塊615處查詢LUT 24,DMM模組101可有利地識別上部組27內之(例如)目前含有需要遷移之資料內容的所有特定記憶體頁面。類似地,在區塊620處,DMM模組101可查詢LUT 24以判定下部組29中之目前未被使用且可用於接收資料內容的彼等記憶體頁面。
在決策區塊625處,DMM模組101可判定上部組27中之頁面之數目是否超過下部組29中之可用記憶體頁面之數目。若需要自上部組27遷移的頁面之數目小於或等於下部組29中可用於接收內容的頁面之數 目,則遵循「是」分支至區塊630。在區塊630處,DMM模組101使經識別上部組27記憶體頁面中之內容遷移至下部組29中之可用頁面。隨後,在區塊635處,可使上部組27斷電,且維持且週期性地再新下部組以保留儲存於其中之資料。有利地,因為DMM模組101不必反覆地檢查上部組27及下部組29中之每一記憶體頁面以便找到用於遷移之內容且找到內容可遷移至之區位,所以完成遷移所需之時間係最小的,因此減少與遷移相關聯之功率消耗且減少PCD 100必須保持在待用狀態中以便自使上部組27斷電而達成電力節省所用的時間量。
返回決策區塊625,若上部組27中之頁面之數目超過下部組29中之可用頁面之數目,則遵循「否」分支至區塊640。在區塊640處,可將上部組27之經識別頁面中的內容之第一部分遷移至下部組29中可用之彼等頁面。在區塊645處,對LUT 24之查詢可識別下部組29中含有內容但適合覆寫之頁面。如上所述,可藉由自對內容之最後存取起的持續時間、內容與在優先權上被視為低的程式或應用程式之關聯等來判定對覆寫之適合性。在區塊650處將來自上部組27中之頁面的內容之剩餘第二部分遷移至下部區塊29中之具有低優先權內容且因此經標示用於覆寫(在必要時)之彼等頁面。然而,值得注意地,亦設想,來自上部組27的比下部組29中之內容舊或在優先權上視為比下部組29中之內容低的內容可被丟棄或以其他方式拒絕遷移至下部組29,即使下部組29中之內容適合被覆寫亦如此。
自區塊650,該程序移至區塊635且使上部組27斷電。設想,若在區塊650之後仍存在要遷移的額外內容,則一些實施例可僅在635處使上部組斷電且犧牲未遷移的內容之部分。其他實施例可轉變至基於SW之解決方案(諸如,上文關於圖5方法所描述之解決方案),且允許基於SW之解決方案以反覆地決策下部組29中之哪些內容要覆寫。
本說明書中所描述之程序或程序流程中之特定步驟自然位於本 發明之其他步驟之前以如本文所描述地起作用。然而,若所描述之步驟之次序或序列不更改本發明之功能性,則本發明不限於此次序。亦即,認識到,在不脫離本發明之範疇及精神之情況下,一些步驟可在其他步驟之前、之後或平行於(實質上同時於)其他步驟而執行。在一些例子中,在不脫離本發明之情況下,可省略或不執行特定步驟。此外,諸如「其後」、「接著」、「接下來」、「隨後」等之詞不欲限制步驟之次序。此等詞僅用以在例示性方法之描述中引導讀者。
另外,一般熟習程式設計者能夠撰寫電腦程式碼或識別適當硬體及/或電路以實施所揭示之發明,而無需困難地基於(例如)流程圖及本說明書中之相關聯描述。因此,對程式碼指令之特定集合或詳細硬體裝置之揭示不被視為係充分理解如何進行並使用本發明所必需的。在以上描述中且結合可說明各種程序流程之圖式較詳細地解釋所主張的電腦實施程序之本發明功能性。
在一或多個例示性態樣中,所描述之功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而在一非暫時性電腦可讀媒體上儲存或傳輸。電腦可讀媒體包括電腦儲存媒體與通信媒體兩者,通信媒體包括促進電腦程式自一處傳送至另一處之任何媒體。儲存媒體可為可由電腦存取的任何可用媒體。以實例說明且非限制,此等電腦可讀媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存裝置、磁碟儲存裝置或其他磁性儲存裝置,或可用以載運或儲存呈指令或資料結構形式之所要程式碼且可由電腦存取之任何其他媒體。
又,可將任何連接適當地稱作電腦可讀媒體。舉例而言,若使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)或諸如紅外線、無線電及微波之無線技術而自網站、伺服器或其他遠端源傳輸軟體,則同軸纜線、光纖纜線、雙絞線、DSL或諸如紅外線、無線電及微波 之無線技術包括於媒體之定義中。
如本文中所使用,磁碟及光碟包括緊密光碟(「CD」)、雷射光碟、光碟、數位影音光碟(「DVD」)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟用雷射以光學方式再現資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。
因此,雖然已詳細說明且描述選定態樣,但將理解,在不脫離如由以下申請專利範圍界定的本發明之精神及範疇的情況下,可在其中作出各種替代及更改。
24‧‧‧記憶體頁面查找表(「LUT」)
27‧‧‧上部組
29‧‧‧下部組
100‧‧‧攜帶型計算裝置(PCD)
101‧‧‧動態記憶體管理(「DMM」)模組
102‧‧‧積體電路/晶片上系統/晶片
110‧‧‧中央處理單元(「CPU」)
112A‧‧‧揮發性動態記憶體/揮發性記憶體組件/晶片上記憶體組件
112B‧‧‧非揮發性記憶體組件/非揮發性快閃記憶體/晶片外記憶體組件
222‧‧‧處理器/第零核心
224‧‧‧處理器/第一核心
226‧‧‧處理器
228‧‧‧處理器

Claims (27)

  1. 一種用於一攜帶型計算裝置(「PCD」)中之基於硬體(「HW」)之動態記憶體管理的方法,該方法包含:在一記憶體組件中產生一記憶體頁面查找表(「LUT」),其中該LUT包括針對跨越一揮發性記憶體之多個部分而定位的複數個記憶體頁面中之每一者之一記錄;更新該LUT,以使得每一記錄指示資料內容是否儲存於與該記錄相關聯之該記憶體頁面中,其中更新該LUT包括基於複數個應用程式以將與該複數個應用程式相關聯之資料內容之重要性優先排序,該複數個應用程式係由該攜帶型計算裝置之一使用者優先排序;辨識該PCD已進入一休眠狀態;查詢該LUT以判定該揮發性記憶體之一第一部分中之哪些記憶體頁面含有資料內容及該揮發性記憶體之一第二部分中之哪些記憶體頁面可用於接收內容;若在該揮發性記憶體之該第二部分中之記憶體頁面為不可得時,隨後查詢該LUT以判定該揮發性記憶體之該第二部分中之哪些記憶體頁面係適合被覆寫的,其中適合被覆寫的資料係藉由與該複數個應用程式相關聯之資料內容之重要性之該優先排序來判定,該複數個應用程式已由該攜帶型計算裝置之該使用者優先排序並在該LUT中更新;基於對該LUT之該查詢以及在該揮發性記憶體之該第二部分中之記憶體頁面是否可得,將資料內容自該第一部分中之記憶體頁面遷移至該第二部分中之記憶體頁面;若在該揮發性記憶體之該第二部分中之記憶體頁面為不可得 時,隨後將資料內容自該揮發性記憶體之該第一部分中之一或多個記憶體頁面遷移至含有適合被覆寫之資料的該揮發性記憶體之該第二部分中之一或多個記憶體頁面;及使該揮發性記憶體之該第一部分斷電,其中使該揮發性記憶體之該第一部分斷電會降低與該PCD之該休眠狀態相關聯之一休眠電流。
  2. 如請求項1之方法,其中適合被覆寫之該資料係因為其與一低優先權應用程式相關聯而如此標示。
  3. 如請求項1之方法,其中適合被覆寫之該資料係因為其在一先前時間量期間未經存取而如此標示。
  4. 如請求項1之方法,其中該LUT儲存於一非揮發性記憶體組件中。
  5. 如請求項4之方法,其中該非揮發性記憶體組件為一快閃記憶體組件。
  6. 如請求項1之方法,其中該LUT儲存於一揮發性記憶體組件中。
  7. 如請求項1之方法,其中該LUT儲存於該揮發性記憶體之該第二部分中。
  8. 如請求項1之方法,其中該揮發性記憶體為一動態隨機存取記憶體(「DRAM」)。
  9. 如請求項1之方法,其中該揮發性記憶體之該第一部分及該揮發性記憶體之該第二部分位於同一記憶體組件中。
  10. 一種用於一攜帶型計算裝置(「PCD」)中之基於硬體(「HW」)之動態記憶體管理的電腦系統,該系統包含:一動態記憶體管理(「DMM」)模組,其可操作以進行以下步驟:在一記憶體組件中產生一記憶體頁面查找表(「LUT」),其 中該LUT包括針對跨越一揮發性記憶體之多個部分而定位的複數個記憶體頁面中之每一者之一記錄;更新該LUT,以使得每一記錄指示資料內容是否儲存於與該記錄相關聯之該記憶體頁面中,其中更新該LUT包括基於複數個應用程式以將與該複數個應用程式相關聯之資料內容之重要性優先排序,該複數個應用程式係由該攜帶型計算裝置之該使用者優先排序;辨識該PCD已進入一休眠狀態;查詢該LUT以判定該揮發性記憶體之一第一部分中之哪些記憶體頁面含有資料內容及該揮發性記憶體之一第二部分中之哪些記憶體頁面可用於接收內容;判定在該揮發性記憶體之該第二部分中之記憶體頁面是否為不可得,隨後查詢該LUT以判定該揮發性記憶體之該第二部分中之哪些記憶體頁面係適合被覆寫的,其中適合被覆寫的資料係藉由與該複數個應用程式相關聯之資料內容之重要性之該優先排序來判定,該複數個應用程式已由該攜帶型計算裝置之該使用者優先排序並在該LUT中更新;基於對該LUT之該查詢以及在該揮發性記憶體之該第二部分中之記憶體頁面是否可得,將資料內容自該第一部分中之記憶體頁面遷移至該第二部分中之記憶體頁面;判定在該揮發性記憶體之該第二部分中之記憶體頁面是否為不可得,隨後將資料內容自該揮發性記憶體之該第一部分中之一或多個記憶體頁面遷移至含有適合被覆寫之資料的該揮發性記憶體之該第二部分中之一或多個記憶體頁面;及使該揮發性記憶體之該第一部分斷電,其中使該揮發性記憶體之該第一部分斷電會降低與該PCD之該休眠狀態相關聯之 一休眠電流。
  11. 如請求項10之電腦系統,其中適合被覆寫之該資料係因為其與一低優先權應用程式相關聯而如此標示。
  12. 如請求項10之電腦系統,其中適合被覆寫之該資料係因為其在一先前時間量期間未經存取而如此標示。
  13. 如請求項10之電腦系統,其中該LUT儲存於一非揮發性記憶體組件中。
  14. 如請求項13之電腦系統,其中該非揮發性記憶體組件為一快閃記憶體組件。
  15. 如請求項10之電腦系統,其中該LUT儲存於一揮發性記憶體組件中。
  16. 如請求項10之電腦系統,其中該LUT儲存於該揮發性記憶體之該第二部分中。
  17. 如請求項10之電腦系統,其中該揮發性記憶體為一動態隨機存取記憶體(「DRAM」)。
  18. 如請求項10之電腦系統,其中該揮發性記憶體之該第一部分及該揮發性記憶體之該第二部分位於同一記憶體組件中。
  19. 一種用於一攜帶型計算裝置(「PCD」)中之基於硬體(「HW」)之動態記憶體管理的電腦系統,該系統包含:用於在一記憶體組件中產生一記憶體頁面查找表(「LUT」)的構件,其中該LUT包括針對跨越一揮發性記憶體之多個部分而定位的複數個記憶體頁面中之每一者之一記錄;用於更新該LUT以使得每一記錄指示資料內容是否儲存於與該記錄相關聯之該記憶體頁面中的構件,其中更新該LUT包括基於複數個應用程式以將與該複數個應用程式相關聯之資料內容之重要性優先排序,該複數個應用程式係由該攜帶型計算裝置之 一使用者優先排序;用於辨識該PCD已進入一休眠狀態的構件;用於查詢該LUT以判定該揮發性記憶體之第一部分中之哪些記憶體頁面含有資料內容及該揮發性記憶體之該第二部分中之哪些記憶體頁面可用於接收內容的構件;用於若在該揮發性記憶體之該第二部分中之記憶體頁面為不可得時,則查詢該LUT以判定該揮發性記憶體之該第二部分中之哪些記憶體頁面適合被覆寫的構件,其中適合被覆寫的資料係藉由與該複數個應用程式相關聯之資料內容之重要性之該優先排序來判定,該複數個應用程式已由該攜帶型計算裝置之該使用者優先排序並在該LUT中更新;用於基於該LUT之該查詢且若該揮發性記憶體之該第二部分中之記憶體頁面係可用時,將資料內容自該第一部分中之記憶體頁面遷移至該第二部分中之記憶體頁面的構件;用於若在該揮發性記憶體之該第二部分中之記憶體頁面為不可得時,將資料內容自該揮發性記憶體之該第一部分中之一或多個記憶體頁面遷移至含有適合被覆寫之資料的該揮發性記憶體之該第二部分中之一或多個記憶體頁面之構件;及用於使該揮發性記憶體之該第一部分斷電的構件,其中使該揮發性記憶體之該第一部分斷電會降低與該PCD之該休眠狀態相關聯之一休眠電流。
  20. 如請求項19之電腦系統,其中適合被覆寫之該資料係因為其與一低優先權應用程式相關聯而如此標示。
  21. 如請求項19之電腦系統,其中適合被覆寫之該資料係因為其在一先前時間量期間未經存取而如此標示。
  22. 如請求項19之電腦系統,其中該LUT儲存於一非揮發性記憶體組 件中。
  23. 如請求項22之電腦系統,其中該非揮發性記憶體組件為一快閃記憶體組件。
  24. 如請求項19之電腦系統,其中該LUT儲存於一揮發性記憶體組件中。
  25. 如請求項19之電腦系統,其中該LUT儲存於該揮發性記憶體之該第二部分中。
  26. 如請求項19之電腦系統,其中該揮發性記憶體為一動態隨機存取記憶體(「DRAM」)。
  27. 如請求項19之電腦系統,其中該揮發性記憶體之該第一部分及該揮發性記憶體之該第二部分位於同一記憶體組件中。
TW102127995A 2012-11-05 2013-08-05 用於動態記憶體功率管理之系統及方法 TWI515747B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/668,865 US9104413B2 (en) 2012-11-05 2012-11-05 System and method for dynamic memory power management

Publications (2)

Publication Number Publication Date
TW201419299A TW201419299A (zh) 2014-05-16
TWI515747B true TWI515747B (zh) 2016-01-01

Family

ID=48948498

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102127995A TWI515747B (zh) 2012-11-05 2013-08-05 用於動態記憶體功率管理之系統及方法

Country Status (6)

Country Link
US (1) US9104413B2 (zh)
EP (1) EP2915019B1 (zh)
JP (1) JP5845382B2 (zh)
CN (1) CN104769520B (zh)
TW (1) TWI515747B (zh)
WO (1) WO2014070264A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9131445B2 (en) * 2013-05-15 2015-09-08 Nvidia Corporation Low power mode exit latency predictor for real-time asymmetric multiprocessor systems
US10109273B1 (en) 2013-08-29 2018-10-23 Amazon Technologies, Inc. Efficient generation of personalized spoken language understanding models
US9361289B1 (en) * 2013-08-30 2016-06-07 Amazon Technologies, Inc. Retrieval and management of spoken language understanding personalization data
US10268405B2 (en) 2016-03-17 2019-04-23 Mediatek, Inc. Dynamic rank switching for low power volatile memory
KR102523967B1 (ko) * 2016-03-25 2023-04-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
US10474224B2 (en) * 2017-03-14 2019-11-12 Qualcomm Incorporated Quick energy efficient reboot from ultra-low power mode for a system on a chip
US9905294B1 (en) * 2017-05-03 2018-02-27 Seagate Technology Llc Writing logically offset pages of data to N-level memory cells coupled to a common word line
US10564692B2 (en) * 2018-03-27 2020-02-18 Windbond Electronics Corp. Memory device and power reduction method of the same memory device
US10846363B2 (en) 2018-11-19 2020-11-24 Microsoft Technology Licensing, Llc Compression-encoding scheduled inputs for matrix computations
US11493985B2 (en) * 2019-03-15 2022-11-08 Microsoft Technology Licensing, Llc Selectively controlling memory power for scheduled computations
TWI691184B (zh) * 2019-04-09 2020-04-11 聚騰科技股份有限公司 資料傳輸及接收方法
US11449346B2 (en) * 2019-12-18 2022-09-20 Advanced Micro Devices, Inc. System and method for providing system level sleep state power savings
EP3945424B1 (en) * 2020-07-31 2024-01-17 NXP USA, Inc. Memory power management method and processor system
CN112259142B (zh) * 2020-10-29 2023-08-18 合肥中科采象科技有限公司 用于自容式仪器的超低功耗的大容量数据存储方法
US20230161744A1 (en) * 2021-11-22 2023-05-25 Singlestore, Inc. Method of processing data to be written to a database

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918249A (en) * 1996-12-19 1999-06-29 Ncr Corporation Promoting local memory accessing and data migration in non-uniform memory access system architectures
US7100013B1 (en) 2002-08-30 2006-08-29 Nvidia Corporation Method and apparatus for partial memory power shutoff
US7010656B2 (en) 2003-01-28 2006-03-07 Intel Corporation Method and apparatus for memory management
US7269708B2 (en) 2004-04-20 2007-09-11 Rambus Inc. Memory controller for non-homogenous memory system
US7765369B1 (en) * 2004-11-05 2010-07-27 Commvault Systems, Inc. Method and system for selectively deleting stored data
GB2426360A (en) * 2005-05-18 2006-11-22 Symbian Software Ltd Reorganisation of memory for conserving power in a computing device
US7571295B2 (en) 2005-08-04 2009-08-04 Intel Corporation Memory manager for heterogeneous memory control
JP4209906B2 (ja) 2006-08-02 2009-01-14 株式会社日立製作所 低消費電力メモリ管理方法及びその方法を用いた計算機
US7757039B2 (en) 2007-09-18 2010-07-13 Nikos Kaburlasos DRAM selective self refresh
US8095725B2 (en) 2007-12-31 2012-01-10 Intel Corporation Device, system, and method of memory allocation
WO2010035315A1 (ja) * 2008-09-24 2010-04-01 富士通株式会社 マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム
US8589650B2 (en) 2010-05-17 2013-11-19 Texas Instruments Incorporated Dynamically configurable memory system
US20110296095A1 (en) 2010-05-25 2011-12-01 Mediatek Inc. Data movement engine and memory control methods thereof

Also Published As

Publication number Publication date
EP2915019A1 (en) 2015-09-09
TW201419299A (zh) 2014-05-16
US9104413B2 (en) 2015-08-11
JP2016500889A (ja) 2016-01-14
JP5845382B2 (ja) 2016-01-20
CN104769520B (zh) 2016-08-17
CN104769520A (zh) 2015-07-08
EP2915019B1 (en) 2017-04-19
US20140129757A1 (en) 2014-05-08
WO2014070264A1 (en) 2014-05-08

Similar Documents

Publication Publication Date Title
TWI515747B (zh) 用於動態記憶體功率管理之系統及方法
KR101665611B1 (ko) 컴퓨터 시스템 및 메모리 관리의 방법
EP2936272B1 (en) Reducing power consumption of volatile memory via use of non-volatile memory
US10365842B2 (en) System and method for reducing power consumption of memory
TW201717027A (zh) 用於具有適應性預取之快閃記憶體讀取快取之系統及方法
US8788777B2 (en) Memory on-demand, managing power in memory
US20050086551A1 (en) Memory optimization for a computer system having a hibernation mode
US10878880B2 (en) Selective volatile memory refresh via memory-side data valid indication
US9632562B2 (en) Systems and methods for reducing volatile memory standby power in a portable computing device
EP3142015A1 (en) Low-power memory-access method and associated apparatus
US8769319B2 (en) Reducing power consumption in memory line architecture
US7093149B2 (en) Tiered secondary memory architecture to reduce power consumption in a portable computer system
US10108250B2 (en) Memory module, system including the same
CN103543815A (zh) 信息处理设备和信息处理方法
US10146483B2 (en) Memory system
US10430096B2 (en) Hybrid storage device, computer, control device, and power consumption reduction method
US9857864B1 (en) Systems and methods for reducing power consumption in a memory architecture
US10831656B2 (en) System and method to improve input output command latency by dynamic size logical to physical caching
CN105022698B (zh) 利用最后一级混合缓存存储特殊功能数据的方法
US11556253B1 (en) Reducing power consumption by selective memory chip hibernation
US10956057B2 (en) Adaptive power management of dynamic random access memory