TW201638939A - 用於在一記憶體中實施功率崩潰之系統及方法 - Google Patents

用於在一記憶體中實施功率崩潰之系統及方法 Download PDF

Info

Publication number
TW201638939A
TW201638939A TW105106548A TW105106548A TW201638939A TW 201638939 A TW201638939 A TW 201638939A TW 105106548 A TW105106548 A TW 105106548A TW 105106548 A TW105106548 A TW 105106548A TW 201638939 A TW201638939 A TW 201638939A
Authority
TW
Taiwan
Prior art keywords
memory
region
crashable
power
thread task
Prior art date
Application number
TW105106548A
Other languages
English (en)
Other versions
TWI693609B (zh
Inventor
亞當 愛德華 紐漢
肯尼斯 大衛 伊斯頓
瑞許德 艾梅得 亞克巴爾 艾特
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 TW201638939A publication Critical patent/TW201638939A/zh
Application granted granted Critical
Publication of TWI693609B publication Critical patent/TWI693609B/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
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • 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/3246Power saving characterised by the action undertaken by software initiated power-off
    • 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
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明提供根據本發明之一些實例的一種用於堆疊記憶體執行緒任務之功率管理系統,其可包括:一非可崩潰記憶體區域;一可崩潰記憶體區域,其組態於該非可崩潰記憶體區域下方;一記憶體管理單元,其與該非可崩潰記憶體區域及該可崩潰記憶體區域通信,該記憶體管理單元可操作以在初始化一執行緒任務後就將該非可崩潰記憶體區域之一部分及該可崩潰記憶體區域之一部分分配至該執行緒任務,且在接收到一斷電命令後就使分配至該執行緒任務的該可崩潰記憶體區域之該部分斷電。

Description

用於在一記憶體中實施功率崩潰之系統及方法
本發明大體上係關於記憶體,且更具體言之,但非獨占式地,係關於記憶體功率崩潰。
當針對低功率應用來設計微處理器、微控制器或特殊應用積體電路(諸如系統單晶片(SoC))時,系統之功率消耗為一問題。為了減少微控制器或SoC系統之功率消耗,需要能夠使未在被使用之關聯記憶體斷電,以便最小化電晶體漏失及由未使用記憶體消耗之保留電流。然而,在可完成此操作之前,與記憶體互動之任何軟體必須處於使記憶體斷電將不會具有有害效應的狀態。因此,工業上長期感覺到需要改良習知方法之方法,包括特此所提供之經改良方法及裝置。
根據【實施方式】及附圖較好地理解為教示之特性的發明性特徵,連同另外特徵及優點。附圖中之每一者係僅出於說明及描述之目的予以提供,且並不限制本教示。
以下呈現關於與本文中所揭示之裝置及方法相關聯之一或多個態樣及/或實例的簡化概述。因而,不應將該概述視為關於全部預期態樣及/或實例之廣泛綜述,亦不應將以下概述認為識別關於全部預期態樣及/或實例之關鍵或決定性元素,或描繪與任何特定態樣及/或實例相關 聯之範疇。因此,以下概述之唯一目的係以簡化形式呈現與關於本文中所揭示之裝置及方法之一或多個態樣及/或實例相關的特定概念,以先於下文所呈現之【實施方式】。
本發明之一些實例係有關於用於在記憶體中實施功率崩潰之系統、裝置及方法。
在本發明之一些實例中,用於一種用於執行緒任務之功率管理系統之系統、裝置及方法包括:一非可崩潰記憶體區域;一可崩潰記憶體區域;一記憶體管理單元,其與該非可崩潰記憶體區域及該可崩潰記憶體區域通信,該記憶體管理單元可操作以在初始化一執行緒任務後就將該非可崩潰記憶體區域之一部分及該可崩潰記憶體區域之一部分分配至該執行緒任務,且該記憶體管理單元可操作以在接收到一斷電命令後就使分配至該執行緒任務的該可崩潰記憶體區域之該部分斷電。
在本發明之一些實例中,一種使一記憶體斷電之方法包括:將一記憶體分割為一第一區域及一第二區域,該第二區域為具有關聯執行緒任務之一堆疊記憶體;接收一斷電命令;及在接收到一斷電命令後,就維持至該第一區域之電力且輪詢每一關聯執行緒任務以判定與該執行緒任務相關聯之該第二區域應被斷電抑或維持。
在本發明之一些實例中,一種用以儲存指令之非暫時性電腦可讀記憶體,該等指令在一系統上執行時致使該系統執行一處理程序,該處理程序包括:將一記憶體分割為一第一區域及一第二區域,該第二區域為具有關聯執行緒任務之一堆疊記憶體;接收一斷電命令;及在接收到一斷電命令後,就維持至該第一區域之電力且輪詢每一關聯執行緒任務以判定與該關聯執行緒任務相關聯之該第二區域應被斷電抑或維持。
對於熟習此項技術者而言,基於隨附圖式及【實施方式】,與本 文中所揭示之裝置及方法相關聯之其他特徵及優點將顯而易見。
10‧‧‧處理器
12‧‧‧指令執行管線
14‧‧‧控制邏輯
15‧‧‧程式計數器(PC)
16‧‧‧狀態暫存器
18‧‧‧除錯電路
20‧‧‧一般用途暫存器(GPR)清單
24‧‧‧一般用途暫存器
26‧‧‧指令快取記憶體(I快取記憶體)
28‧‧‧指令側轉譯後備緩衝器(ITLB)
30‧‧‧資料快取記憶體(D快取記憶體)
32‧‧‧主轉譯後備緩衝器(TLB)
34‧‧‧記憶體介面
38‧‧‧主(晶片外)記憶體/記憶體器件
40‧‧‧主(晶片外)記憶體/記憶體器件
42‧‧‧匯流排互連件
44‧‧‧輸入/輸出(I/O)介面
46‧‧‧匯流排
48‧‧‧周邊器件
50‧‧‧周邊器件
100‧‧‧系統
200‧‧‧行動器件
202‧‧‧平台
206‧‧‧收發器
208‧‧‧特殊應用積體電路(ASIC)/系統單晶片(SoC)
210‧‧‧應用程式設計介面(API)
212‧‧‧記憶體
214‧‧‧本機資料庫
222‧‧‧天線
228‧‧‧即按即說按鈕
224‧‧‧顯示器
226‧‧‧小鍵盤
300‧‧‧記憶體配置
310‧‧‧軟體執行緒/執行緒任務
320‧‧‧軟體執行緒/執行緒任務
330‧‧‧軟體執行緒/執行緒任務
311‧‧‧記憶體堆疊
321‧‧‧記憶體堆疊
331‧‧‧記憶體堆疊
340‧‧‧實體非揮發性記憶體區域
350‧‧‧揮發性記憶體區域
400‧‧‧功率管理系統
410‧‧‧處理器單元/處理器
420‧‧‧功率管理器單元/功率管理器
430‧‧‧記憶體管理單元(MMU)
431‧‧‧輪詢實體/組件
432‧‧‧中斷實體/組件
440‧‧‧非揮發性記憶體
450‧‧‧揮發性記憶體
460‧‧‧電力供應器
461‧‧‧電源開關
462‧‧‧電源開關
470‧‧‧時脈信號
471‧‧‧時脈開關
472‧‧‧時脈開關
500‧‧‧步驟
510‧‧‧步驟
520‧‧‧步驟
530‧‧‧步驟
540‧‧‧步驟
550‧‧‧步驟
560‧‧‧步驟
570‧‧‧步驟
580‧‧‧步驟
隨附圖式經呈現以描述本教示之實例,且並非限制性的。隨附圖式經呈現以輔助對本發明之實例的描述,且係僅僅出於說明實例而非限制實例之目的予以提供。
當結合隨附圖式進行考慮時參考以下【實施方式】,將容易獲得亦會較好地理解對本發明之態樣之較完整瞭解及其許多伴隨優點,該等圖式係僅僅出於說明本發明而非限制本發明之目的予以呈現,且在該等圖式中:圖1說明根據本發明之一些實例之例示性功率管理系統。
圖2說明根據本發明之一些實例之功率管理系統的例示性流程圖。
圖3說明根據本發明之一些實例之例示性軟體執行緒及關聯堆疊記憶體。
圖4說明根據本發明之一些實例之例示性行動器件。
圖5說明根據本發明之一些實例之例示性處理器。
根據慣例,藉由圖式所描繪之特徵可不按比例繪製。因此,可出於清楚起見而任意地擴展或縮減所描繪特徵之尺寸。根據慣例,出於清楚起見而簡化一些圖式。因此,該等圖式可不描繪特定裝置或方法之全部組份。另外,貫穿本說明書及附圖,類似參考數字代表類似特徵。
在以下描述及關聯圖式中揭示各種態樣以展示關於本發明之特定實例。對於熟習此項技術者而言,在閱讀本發明後,替代實例就將顯而易見,且可在不脫離本發明之範疇或精神的情況下建構及實踐該等替代實例。另外,將不詳細地描述或可省略熟知元素以免混淆本文中 所揭示之態樣及實例之相關細節。
詞語「例示性」在本文中用以意謂「充當實例、例項或說明」。在本文中被描述為「例示性」之任何細節未必被認作比其他實例較佳或有利。同樣地,術語「實例」並不要求全部實例皆包括所論述特徵、優點或操作模式。在本說明書中對術語「在一個實例中」、「一實例」、「在一個特徵中」及/或「一特徵」之使用未必係指同一特徵及/或實例。此外,一特定特徵及/或結構可與一或多個其他特徵及/或結構進行組合。此外,特此所描述之裝置之至少一部分可經組態以執行特此所描述之方法之至少一部分。
應理解,術語「信號」可包括諸如資料信號、音訊信號、視訊信號、多媒體信號、類比信號及/或數位信號之任何信號。可使用多種不同科技及技術中之任一者來表示資訊及信號。舉例而言,可藉由電壓、電流、電磁波、磁場及/或磁性粒子、光場及/或光學粒子及其任何組合來表示此描述中所描述之資料、指令、處理程序步驟、命令、資訊、信號、位元及/或符號。
另外,按照待由(例如)計算器件之元件執行的動作序列來描述許多實例。將認識到,本文中所描述之各種動作可由特定電路(例如,特殊應用積體電路(ASIC)或SoC)執行、由正由一或多個處理器執行之程式指令執行,或由特定電路與程式指令兩者之組合執行。另外,本文中所描述之此等動作序列可被視為完全地體現於任何形式之電腦可讀儲存媒體內,該電腦可讀儲存媒體中儲存有在執行後就將致使關聯處理器執行本文中所描述之功能的電腦指令之對應集合。因此,本發明之各種態樣可以許多不同形式予以體現,該等形式皆已被預期為在所主張主題之範疇內。另外,對於本文中所描述之實例中之每一者,任何此等實例之對應形式可在本文中被描述為(例如)「經組態以執行所描述動作之邏輯」。
在此描述中,使用某一術語學以描述某些特徵。術語「行動器件」可描述且並不限於行動電話、行動通信器件、呼叫器、個人數位助理、個人資訊管理器、行動手持型電腦、膝上型電腦、無線器件、無線數據機,及/或通常由個人攜載及/或具有通信能力(例如,無線、蜂巢式、紅外線、近程無線電等等)的其他類型之攜帶型電子器件。
圖1描繪根據本發明之一些實例之功率管理系統。如圖1所展示,功率管理系統400可包括處理器單元410、功率管理器單元420、記憶體管理單元430、非揮發性記憶體440,及揮發性記憶體450。前述組件可皆為SoC之部分,或為在本機定位或彼此遠離之個別組件。功率管理系統400可包括電力供應器460及時脈信號470。電力供應器460可耦接至每一組件以對彼組件功能供電。另外,可包括與至處理器410之電力供應器一致之電源開關461,且可包括與揮發性記憶體450一致之電源開關462。電源開關461及462可耦接至或受控於功率管理器單元420以使功率管理器單元420能夠縮減或切斷至處理器410或揮發性記憶體450之全部或部分之電力。另外,可包括與至處理器410之電力供應器一致之時脈開關471,且可包括與揮發性記憶體450一致之時脈開關472。時脈開關471及472可耦接至或受控於功率管理器420以使功率管理器420能夠縮減或切斷至處理器410或揮發性記憶體450之全部或部分之時脈信號。
處理器單元410可為適合於執行軟體之微控制器、微處理器或矽處理節點。在由處理器410起始新軟體執行緒時,處理器410將信號或命令發送至MMU 430以分配用於該軟體執行緒之記憶體。記憶體分配可包括分配非揮發性記憶體440之部分及揮發性記憶體450之部分。非揮發性記憶體440可為不易遭受明顯電晶體漏失或保留電流之MRAM,且揮發性記憶體450可為易遭受明顯電晶體漏失或保留電流之SRAM。作為記憶體分配之部分,功率管理器可允許至處理器410之電力及/或時 脈信號執行軟體執行緒及/或分配至彼特定軟體執行緒之揮發性記憶體450。即使不同記憶體區域不毗鄰,記憶體分配亦可在記憶體堆疊中將非揮發性記憶體指派為邏輯上位於揮發性記憶體上方(堆疊記憶體中邏輯上較高之記憶體位址),使得該記憶體對於處理器410看來像是毗鄰。指派至軟體執行緒之非揮發性記憶體可包括足夠記憶體以包括表決功能命令或狀態,以及在功率崩潰狀態期間保持操作所需要之任何其他操作或資料。在軟體執行緒執行功能時,MMU可在必要時指派額外揮發性記憶體。
當軟體執行緒已完成其功能或判定其不再需要指派至彼軟體執行緒之關聯揮發性記憶體區域時,該軟體執行緒可發出功率崩潰表決。一旦已發出功率崩潰表決,處理器410就可將信號或命令發送至功率管理器420以起始指派至彼軟體執行緒之揮發性記憶體區域之功率崩潰。應理解,若其他軟體執行緒正利用同一揮發性記憶體區域,則在由處理器410或替代地由功率管理器420起始功率崩潰命令之前可要求與特定揮發性區域相關聯之全部軟體執行緒表決贊成功率崩潰。此可藉由處理器410、功率管理器420、MMU 430或單獨輪詢實體/組件431之輪詢操作而實現。替代地,此可藉由處理器410、功率管理器420,MMU 430或單獨中斷實體/組件432之中斷操作而實現。另外,功率崩潰可代替地藉由會縮減相關揮發性記憶體區域所需要之功率的記憶體壓縮操作而進行。
圖2描繪根據本發明之一些實例之功率管理系統的例示性流程圖。如圖2所展示,在500中,使功率管理系統通電或初始化。在510中,起始軟體執行緒。在520中,將記憶體區域分割為第一區域及第二區域。第一區域可為被指派為邏輯上位於可為揮發性記憶體之部分之第二區域上方的非揮發性記憶體之部分,且第一區域及第二區域可對於功率管理系統看來像是毗鄰記憶體區域。在530中,軟體執行緒執行 邏輯操作或功能。在540中,軟體執行緒發出斷電或崩潰表決。在550中,輪詢實體針對功率崩潰表決來輪詢與經分割記憶體相關聯之每一作用中軟體執行緒。在560中,若每一軟體執行緒表決贊成功率崩潰,則處理程序繼續至570或返回至550以週期性地輪詢每一相關軟體執行緒。在570中,起始功率崩潰序列。功率崩潰序列可使與軟體執行緒相關聯的揮發性記憶體之第二區域斷電。替代地,功率崩潰序列可壓縮與軟體執行緒相關聯的揮發性記憶體之第二區域而非使其完全地斷電。在580中,處理程序結束。在處理程序結束時,若軟體執行緒已完成,則可釋放經分割記憶體,或經分割記憶體可保持分配至軟體執行緒以供稍後使用。
圖3描繪根據本發明之一些實例之功率管理系統的軟體執行緒及關聯記憶體堆疊。軟體通常出於特定目的而使用若干記憶體區。本發明集中於允許使與軟體執行緒相關聯之記憶體(或其他記憶體)進行功率崩潰(斷電)。如圖3所展示,由功率管理系統(諸如功率管理系統400)之應用引起之記憶體配置300可包括複數個軟體執行緒310、320及330。每一執行緒可具有一關聯記憶體堆疊311、321及331。一旦軟體執行線被初始化,就將記憶體堆疊311、321及331指派或分配至該執行緒。此等記憶體堆疊311、321及331可為被分配至特定軟體執行緒以用於儲存資料且執行邏輯功能之記憶體區域。每一記憶體堆疊311、321及331可包括兩個單獨記憶體區域:非揮發性區域及揮發性區域。如圖3所展示,每一記憶體堆疊311、321及331可共用經邏輯上分割為與特定軟體執行緒310、320或330相關聯之同一實體非揮發性記憶體區域340及揮發性記憶體區域350。應理解,每一記憶體堆疊亦可被指派至實體上單獨非揮發性及揮發性記憶體區域,或實體上及邏輯上單獨記憶體區域之組合。
在本發明之一些實例中,記憶體配置300可包括:用於記憶體管理 之硬體區塊,諸如記憶體管理單元(MMU)430(圖1所展示);及將線性記憶體片段呈現至系統之記憶體區域。應理解,MMU可整合至中央處理單元(CPU)中,可與CPU分離,或可為在處理器外部之自訂邏輯電路而非習知MMU。記憶體區域包括不為功率可崩潰之記憶體區域及為功率可崩潰之記憶體區域。不為功率崩潰之記憶體區域可為記憶體堆疊之邏輯頂部處的非揮發性位元組可存取讀/寫記憶體,諸如磁阻式隨機存取記憶體(MRAM),且可崩潰記憶體區域可為邏輯上位於非揮發性記憶體下方之揮發性位元組可存取讀/寫記憶體,諸如靜態隨機存取記憶體(SRAM)。系統亦可包括負責發出/維持表決之執行緒任務,諸如輪詢實體431。舉例而言,具有執行贊成/反對功率崩潰之表決之最高層級迴路的許多執行緒任務。當記憶體堆疊之堆疊框架返回至其上部點(+附加項用於表決)時,可起始贊成功率崩潰之表決。用於此執行緒任務之堆疊框架可橫越非功率崩潰之記憶體及待功率崩潰之記憶體而擴張。在執行緒任務被建立/開始且被指派用於其各別堆疊之記憶體時的軟體之正常執行期間,可自未功率崩潰之記憶體與待崩潰之記憶體(例如,參見圖3)的組合採取經指派記憶體。用於此兩個記憶體片段之單獨位址範圍之非線性可由單獨硬體區塊(諸如MMU(圖3中未圖示))處置。
每一執行緒任務310、320及330可向負責執行功率崩潰之功率管理器(諸如功率管理器420(圖1所展示))請求一表決。執行緒任務之正規化操作(接收訊息/旗語等等)致使最高層級迴路執行處理。一旦發生此情形,就可作出反對執行功率崩潰之表決(不引起功率崩潰或使記憶體離開功率崩潰狀態)。堆疊框架接著可成長至功率崩潰之記憶體中(經由硬體區塊之重新映射特徵)直至已執行全部後續處理為止,藉以堆疊框架接著回溯回直至執行緒任務迴路之頂部,其中堆疊框架保持於已發出贊成功率崩潰之表決之閒置狀態。當與特定記憶體相關聯之全部 表決指示可以進行功率崩潰時,可使該記憶體崩潰以節省電力。一旦一個實體需要使用記憶體,就使記憶體離開崩潰狀態以允許需要記憶體之任何執行緒任務使用記憶體。
功率崩潰可藉由以下操作而實現:自相關揮發性記憶體區域移除電力(例如,功率管理器切斷電力);自相關揮發性記憶體區域移除時脈信號;將相關揮發性記憶體區域重新指派至另一執行緒任務;自存取相關揮發性記憶體區域之處理器(未圖示)移除電力;自存取相關揮發性記憶體區域之處理器移除時脈信號;或壓縮相關揮發性記憶體區域使得該區域使用較少功率。應注意,當執行用以自一或多個實體區域映射虛擬區域之邏輯時,將對每一匯流排運行之大比較器集合存取且將需要電力。作為減少功率損失之替代方案,可藉由以下操作來達成相同斷電效應:將來自非揮發性記憶體之區域複製至揮發性記憶體以供存取,且接著當斷電時,執行自揮發性記憶體返回至非揮發性記憶體之複製。
參看圖4,系統100,其包括行動器件200(此處為無線器件),諸如蜂巢式電話,行動器件200具有可接收及執行自無線電存取網路(RAN)傳輸之軟體應用程式、資料及/或命令之平台202,該RAN可最終來自核心網路、網際網路及/或其他遠端伺服器及網路。平台202可包括收發器206,其可操作地耦接至特殊應用積體電路(「ASIC」208)、SoC,或其他處理器、微處理器、邏輯電路或其他資料處理器件,諸如圖1所展示之功率管理系統400。處理器(例如,處理器410)可被實施為執行與無線器件之記憶體212中之任何駐留程式介接之應用程式設計介面(「API」)210層的ASIC 208或SoC。記憶體212可包含唯讀或隨機存取記憶體(RAM及ROM)、EEPROM、快閃卡,或為電腦平台所共有之任何記憶體,包括揮發性及非揮發性記憶體,諸如圖1所展示之記憶體440及450。平台202亦可包括可保持未作用中地用於記憶體212中之應 用程式的本機資料庫214。替代地,非作用中應用程式可儲存於靜態RAM或長期儲存體中。本機資料庫214通常為快閃記憶體胞元,但可為如此項技術中所知之任何次要儲存器件,諸如磁性媒體、EEPROM、光學媒體、磁帶、軟碟或硬碟,或其類似者。內部平台202組件亦可可操作地耦接至外部器件,諸如天線222、顯示器224、即按即說按鈕228及小鍵盤226以及其他組件,如此項技術中所知。
因此,本發明之一實例可包括一種包括執行本文中所描述之功能之能力的行動器件。熟習此項技術者將瞭解,各種邏輯元件可以離散元件、處理器上執行之軟體模組或軟體與硬體之任何組合予以體現以達成本文中所揭示之功能。舉例而言,SoC或ASIC 208、記憶體212、API 210及本機資料庫214可合作地用以載入、儲存及執行本文中所揭示之各種功能,且因此,用以執行此等功能之邏輯可遍及各種元件而分佈。替代地,該功能可併入至一個離散組件中。因此,圖4中之行動器件200之特徵應被視為僅僅說明性的,且本發明並不限於所說明之特徵或配置。
行動器件200與RAN之間的無線通信可基於不同科技,諸如分碼多重存取(CDMA)、W-CDMA、分時多重存取(TDMA)、分頻多重存取(FDMA)、正交分頻多工(OFDM)、全球行動通信系統(GSM)、3GPP長期演進(LTE),或可用於無線通信網路或資料通信網路中之其他協定。因此,本文中所提供之說明並不意欲限制本發明之實例,且僅僅用以輔助對本發明之實例之態樣的描述。
圖5描繪如實施於ASIC或SoC 208中之例示性處理器10的功能方塊圖,ASIC或SoC 208經組態以併有功率管理系統之特徵。處理器10根據控制邏輯14來執行指令執行管線12中之指令。控制邏輯14維持程式計數器(PC)15,且設定及清除一或多個狀態暫存器16中之位元以指示(例如)當前指令集操作模式、關於算術運算及邏輯比較(零、進位、 相等、不相等)之結果的資訊,及其類似者。在一些實例中,管線12可為具有多個平行管線之超純量設計。管線12亦可被稱作為執行單元。一般用途暫存器(GPR)清單20提供可由管線12存取且包含記憶體階層之頂部的一般用途暫存器24之清單。
處理器10可另外包括除錯電路18,其可操作以在執行每一指令後就比較至少一預定目標指令集操作模式與當前指令集操作模式且提供該兩個模式之間的匹配之指示。
管線12自指令快取記憶體(I快取記憶體)26提取指令,其中由指令側轉譯後備緩衝器(ITLB)28管理記憶體位址轉譯及權限。自資料快取記憶體(D快取記憶體)30存取資料,其中由主轉譯後備緩衝器(TLB)32管理記憶體位址轉譯及權限。在各種實例中,ITLB 28可包含TLB 32之部分之複本。替代地,ITLB 28與TLB 32可整合。相似地,在處理器10之各種實例中,I快取記憶體26與D快取記憶體30可整合或統一。另外,I快取記憶體26及D快取記憶體30可為L1快取記憶體。I快取記憶體26及/或D快取記憶體30中之遺漏會致使由記憶體介面34存取主(晶片外)記憶體38、40。根據本發明之一些實例,記憶體介面34可為至將共用匯流排實施至一或多個記憶體器件38、40之匯流排互連件42之主控輸入。額外主控器件(未圖示)可另外連接至匯流排互連件42。
處理器10可包括輸入/輸出(I/O)介面44,其可為周邊匯流排上之主控器件,橫越周邊匯流排,I/O介面44可經由匯流排46存取各種周邊器件48、50。熟習此項技術者將認識到,處理器10之眾多變化係可能的。舉例而言,處理器10可包括用於I快取記憶體26及D快取記憶體30中之任一者或兩者之第二層級(L2)快取記憶體。另外,可自特定實例省略處理器10中所描繪之功能區塊中之一或多者。可駐留於處理器10中之其他功能區塊(諸如JTAG控制器、指令預解碼器、分支目標位址快取記憶體及其類似者)與本發明之描述並無密切關係,且出於清楚之目的 而被省略。
本文中所描述之方法、裝置及系統之實例可用於許多不同應用中。舉例而言,所描述實例可用於低功率行動電話、智慧型手錶或其他低功率應用中,其中縮減不必要之功率消耗係重要的。另外應用對於一般熟習此項技術者而言應容易顯而易見。
另外,熟習此項技術者將瞭解,結合本文中所揭示之實例所描述之各種說明性邏輯區塊、模組、電路及演算法步驟可被實施為電子硬體、電腦軟體,或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,上文已大體上在功能方面描述各種說明性組件、區塊、模組、電路及步驟。將此功能實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用而以變化之方式來實施所描述功能,但不應將此等實施決策解譯為造成脫離本發明之範疇。
結合本文中所揭示之實例所描述之方法、序列及/或演算法可直接地以硬體、以由處理器執行之軟體模組或以該兩者之組合予以體現。軟體模組可駐留於RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、抽取式磁碟、CD-ROM或此項技術中所知的任何其他形式之儲存媒體中。將例示性儲存媒體耦接至處理器,使得處理器可自儲存媒體讀取資訊及將資訊寫入至儲存媒體。在替代方案中,儲存媒體可與處理器成整體。
可運用經設計以執行本文中所描述之功能之一般用途處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他可程式化邏輯器件、離散閘或電晶體邏輯、離散硬體組件或其任何組合來實施或執行結合本文中所揭示之態樣所描述之各種說明性邏輯區塊、模組及電路。一般用途處理器可為微處理器,但在替代方案中,處理器可為任何習知處理器、控制器、微控制器或狀態 機。處理器亦可被實施為計算器件之組合(例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他此類組態)。
儘管已結合器件而描述一些態樣,但不言而喻,此等態樣亦構成對應方法之描述,且因此,器件之區塊或組件亦應被理解為對應方法步驟或被理解為方法步驟之特徵。與此類似,結合方法步驟所描述或被描述為方法步驟之態樣亦構成對應區塊之描述或對應器件之細節或特徵。方法步驟中之一些或全部可由硬體裝置執行(或使用硬體裝置予以執行),硬體裝置係諸如微處理器、可程式化電腦或電子電路。在一些實例中,最重要的方法步驟中之一些或複數個可由此裝置執行。
在以上【實施方式】中可看出,在實例中可將不同特徵分組在一起。不應將此揭示方式理解為所主張實例需要比各別請求項中明確地所提到之特徵更多的特徵的意圖。實情為,該情形係使得發明性內容可在於少於所揭示之個別實例之全部特徵。因此,以下申請專利範圍應特此被視為併入於【實施方式】中,其中每一請求項獨自地可作為一單獨實例。儘管每一請求項獨自地可作為一單獨實例,但應注意,儘管附屬請求項可在申請專利範圍中指與一個或複數個請求項之特定組合,但其他實例亦可涵蓋或包括該附屬請求項與任何其他附屬請求項之主題的組合,或任何特徵與其他附屬及獨立請求項之組合。本文中提出此等組合,除非明確地表達出不期望特定組合。此外,亦期望可將一請求項之特徵包括於任何其他獨立請求項中,即使此請求項並不直接地依附於該獨立請求項亦如此。
此外應注意,在【實施方式】中或在申請專利範圍中所揭示之方法可由包含用於執行此方法之各別步驟或動作之構件的器件實施。
此外,在一些實例中,個別步驟/動作可被再分為複數個子步驟,或含有複數個子步驟。此等子步驟可含於個別步驟之揭示內容中且為 該個別步驟之揭示內容之部分。
400‧‧‧功率管理系統
410‧‧‧處理器單元/處理器
420‧‧‧功率管理器單元/功率管理器
430‧‧‧記憶體管理單元(MMU)
431‧‧‧輪詢實體/組件
432‧‧‧中斷實體/組件
440‧‧‧非揮發性記憶體
450‧‧‧揮發性記憶體
460‧‧‧電力供應器
461‧‧‧電源開關
462‧‧‧電源開關
470‧‧‧時脈信號
471‧‧‧時脈開關
472‧‧‧時脈開關

Claims (20)

  1. 一種用於執行緒任務之功率管理系統,其包含:一非可崩潰記憶體區域;一可崩潰記憶體區域;一記憶體管理單元,其與該非可崩潰記憶體區域及該可崩潰記憶體區域通信,該記憶體管理單元可操作以在初始化一執行緒任務後就將該非可崩潰記憶體區域之一部分及該可崩潰記憶體區域之一部分分配至該執行緒任務,且其中該記憶體管理單元可操作以在接收到一斷電命令後就使分配至該執行緒任務的該可崩潰記憶體區域之該部分斷電。
  2. 如請求項1之系統,其進一步包含與該記憶體管理單元通信之一輪詢實體,該輪詢實體可操作以輪詢該執行緒任務以判定該執行緒任務是否完成。
  3. 如請求項2之系統,其中當該執行緒任務完成時,該輪詢實體將該斷電命令發送至該記憶體管理單元。
  4. 如請求項3之系統,其中當與該可崩潰記憶體區域相關聯之全部執行緒任務皆完成時,該輪詢實體將該斷電命令發送至該記憶體管理單元。
  5. 如請求項1之系統,其中該非可崩潰記憶體區域為一讀寫可存取非揮發性記憶體,且該可崩潰記憶體區域為一讀寫可存取揮發性記憶體。
  6. 如請求項5之系統,其進一步包含將該非可崩潰記憶體區域複製至該可崩潰記憶體區域以供存取,且其中該斷電包含執行自該可崩潰記憶體區域至該非可崩潰記憶體區域之一複製。
  7. 如請求項1之系統,其中該斷電包含壓縮分配至該執行緒任務之 該可崩潰記憶體區域。
  8. 如請求項1之系統,其進一步包含與該記憶體管理單元通信之一開關,該開關可操作以在自該記憶體管理單元接收到一斷電命令後就切斷至該可崩潰記憶體區域之一電力信號或一時脈信號。
  9. 如請求項1之系統,其中該非可崩潰記憶體區域、該可崩潰記憶體區域及該記憶體管理單元併入至選自由以下各者組成之群組的一器件中:一機上盒、一音樂播放器、一視訊播放器、一娛樂單元、一導航器件、一通信器件、一個人數位助理(PDA)、一固定位置資料單元及一電腦,且該系統進一步包括該器件。
  10. 如請求項1之系統,其進一步包含與該記憶體管理單元通信之一中斷實體,該中斷實體可操作以查詢該執行緒任務以判定該執行緒任務是否完成。
  11. 如請求項10之系統,其中當該執行緒任務完成時,該中斷實體將該斷電命令發送至該記憶體管理單元。
  12. 如請求項11之系統,其中當與該可崩潰記憶體區域相關聯之全部執行緒任務皆完成時,該中斷實體將該斷電命令發送至該記憶體管理單元。
  13. 一種使一記憶體斷電之方法,其包含:將一記憶體分割為一第一區域及一第二區域,該第二區域為具有關聯執行緒任務之一堆疊記憶體;接收一斷電命令;及在接收到一斷電命令後,就維持至該第一區域之電力且輪詢每一關聯執行緒任務以判定與該執行緒任務相關聯之該第二區域應被斷電抑或維持。
  14. 如請求項13之方法,其中每一堆疊記憶體包括一非揮發性部分及揮發性區域,且其中該非揮發性區域保持作用中且該揮發性區域 被斷電。
  15. 如請求項14之方法,其中該經斷電區域中之資料被壓縮而非完全地斷電。
  16. 如請求項13之方法,其中使該第二區域斷電包括將一斷電命令發送至對該第二區域供電之一開關以斷開該開關。
  17. 如請求項13之方法,其中使該第二區域斷電包括將一斷電命令發送至向該第二區域輸入一時脈信號之一開關以斷開該開關。
  18. 一種用以儲存指令之非暫時性電腦可讀記憶體,該等指令在一系統上執行時致使該系統執行一處理程序,該處理程序包含:將一記憶體分割為一第一區域及一第二區域,該第二區域為具有關聯執行緒任務之一堆疊記憶體;接收一斷電命令;及在接收到一斷電命令後,就維持至該第一區域之電力且輪詢每一關聯執行緒任務以判定與該關聯執行緒任務相關聯之該第二區域應被斷電抑或維持。
  19. 如請求項18之非暫時性電腦可讀記憶體,其中每一堆疊記憶體包括一非揮發性部分及揮發性區域,且其中該非揮發性區域保持作用中且該揮發性區域被斷電。
  20. 如請求項19之非暫時性電腦可讀記憶體,其中該經斷電區域中之資料被壓縮而非完全地斷電。
TW105106548A 2015-03-04 2016-03-03 用於在一記憶體中實施功率崩潰之系統及方法 TWI693609B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/638,185 US10303235B2 (en) 2015-03-04 2015-03-04 Systems and methods for implementing power collapse in a memory
US14/638,185 2015-03-04

Publications (2)

Publication Number Publication Date
TW201638939A true TW201638939A (zh) 2016-11-01
TWI693609B TWI693609B (zh) 2020-05-11

Family

ID=55451567

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105106548A TWI693609B (zh) 2015-03-04 2016-03-03 用於在一記憶體中實施功率崩潰之系統及方法

Country Status (3)

Country Link
US (1) US10303235B2 (zh)
TW (1) TWI693609B (zh)
WO (1) WO2016140770A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10896138B2 (en) * 2016-05-27 2021-01-19 Apple Inc. Dynamically controlling random access memory retention in a wireless device
US11249657B2 (en) * 2019-07-10 2022-02-15 Arm Limited Non-volatile storage circuitry accessible as primary storage for processing circuitry

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765157A (en) 1996-06-05 1998-06-09 Sun Microsystems, Inc. Computer system and method for executing threads of execution with reduced run-time memory space requirements
US6874027B1 (en) 2000-04-07 2005-03-29 Network Appliance, Inc. Low-overhead threads in a high-concurrency system
JP2003122628A (ja) 2001-10-16 2003-04-25 Matsushita Electric Ind Co Ltd デジタル信号処理装置、プログラム変換装置、及びデジタル信号処理装置を有する通信システム
US7369815B2 (en) 2003-09-19 2008-05-06 Qualcomm Incorporated Power collapse for a wireless terminal
US20050066305A1 (en) 2003-09-22 2005-03-24 Lisanke Robert John Method and machine for efficient simulation of digital hardware within a software development environment
EP1524597A1 (en) 2003-10-14 2005-04-20 Axalto S.A. Method for managing threads in a memory-constrained system
US20050198542A1 (en) 2004-03-08 2005-09-08 David Freker Method and apparatus for a variable memory enable deassertion wait time
US7142478B2 (en) 2004-03-19 2006-11-28 Infineon Technologies Ag Clock stop detector
JP4724461B2 (ja) * 2005-05-17 2011-07-13 Okiセミコンダクタ株式会社 システムlsi
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8745627B2 (en) 2005-06-27 2014-06-03 Qualcomm Incorporated System and method of controlling power in a multi-threaded processor
WO2007095080A2 (en) * 2006-02-09 2007-08-23 Metaram, Inc. Memory circuit system and method
US20070291571A1 (en) * 2006-06-08 2007-12-20 Intel Corporation Increasing the battery life of a mobile computing system in a reduced power state through memory compression
US8181042B2 (en) 2007-02-12 2012-05-15 Atmel Corporation Low power mode data preservation in secure ICs
US8055822B2 (en) * 2007-08-21 2011-11-08 International Business Machines Corporation Multicore processor having storage for core-specific operational data
US8281169B2 (en) * 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
DE102009037235A1 (de) 2008-10-14 2010-04-15 Giesecke & Devrient Gmbh Speicherverwaltung in einem portablem Datenträger
US7929368B2 (en) 2008-12-30 2011-04-19 Micron Technology, Inc. Variable memory refresh devices and methods
US9105323B2 (en) 2009-01-23 2015-08-11 Micron Technology, Inc. Memory device power managers and methods
JP5060574B2 (ja) 2010-03-16 2012-10-31 株式会社東芝 メモリシステム
JP5598144B2 (ja) 2010-08-04 2014-10-01 ソニー株式会社 情報処理装置、電源制御方法、およびプログラム
US8489824B2 (en) 2010-09-20 2013-07-16 International Business Machines Corporation Selective memory compression for multi-threaded applications
US8700936B2 (en) 2010-12-03 2014-04-15 Schneider Electric It Corporation Modular gating of microprocessor low-power mode
US20130275661A1 (en) * 2011-09-30 2013-10-17 Vincent J. Zimmer Platform storage hierarchy with non-volatile random access memory with configurable partitions
US9389673B2 (en) 2011-12-22 2016-07-12 Sandisk Technologies Inc. Systems and methods of performing a data save operation
US9335954B2 (en) 2012-09-10 2016-05-10 Texas Instruments Incorporated Customizable backup and restore from nonvolatile logic array
US20140310552A1 (en) 2013-04-15 2014-10-16 Advanced Micro Devices, Inc. Reduced-power sleep state s3

Also Published As

Publication number Publication date
US20160259398A1 (en) 2016-09-08
WO2016140770A3 (en) 2016-11-03
US10303235B2 (en) 2019-05-28
WO2016140770A2 (en) 2016-09-09
TWI693609B (zh) 2020-05-11

Similar Documents

Publication Publication Date Title
US9367462B2 (en) Shared memories for energy efficient multi-core processors
KR101324885B1 (ko) 복수의 회로들에서의 성능 파라미터들 조정
US10042731B2 (en) System-on-chip having a symmetric multi-processor and method of determining a maximum operating clock frequency for the same
TWI645334B (zh) 用於管理操作狀態資料之方法、記憶體模組及主機裝置
EP2805243B1 (en) Hybrid write-through/write-back cache policy managers, and related systems and methods
TW201814539A (zh) 使用在一以處理器為基礎的系統中之空間服務品質標示提供異質記憶體系統之彈性管理
KR101665611B1 (ko) 컴퓨터 시스템 및 메모리 관리의 방법
TWI515747B (zh) 用於動態記憶體功率管理之系統及方法
CN107924225B (zh) 用于动态地调整存储器状态转变定时器的系统和方法
US9268395B2 (en) Hierarchical power management circuit, power management method using the same, and system on chip including the hierarchical power management circuit
US8769319B2 (en) Reducing power consumption in memory line architecture
DE112019000693T5 (de) System, vorrichtung und verfahren zur bereitstellung von hardware-rückmeldungsinformationen in einem prozessor
EP3142015A1 (en) Low-power memory-access method and associated apparatus
US20150293845A1 (en) Multi-level memory hierarchy
CN110573991A (zh) 架构状态保留
TW201638939A (zh) 用於在一記憶體中實施功率崩潰之系統及方法
TW201633143A (zh) 用於在非統一記憶體架構中提供改進的延遲的系統和方法(一)
EP3213416B1 (en) Reducing decompression time without impacting compression ratio
KR102116984B1 (ko) 메모리 스왑 오퍼레이션 제어 방법 및 이를 적용하는 데이터 처리 시스템
US10430096B2 (en) Hybrid storage device, computer, control device, and power consumption reduction method
TW201712681A (zh) 用於記憶體頻率重設之系統、方法及裝置
US20210064539A1 (en) Unified address translation
JP2018519564A (ja) 適応型圧縮ベースのページング
JP2023007746A (ja) 情報処理装置
KR20070030041A (ko) 페이징 기법을 이용한 이동통신 단말기의 메모리 관리 방법

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees