TW201636769A - 響應於處理器電力喪失事件沖移資料內容之技術 - Google Patents

響應於處理器電力喪失事件沖移資料內容之技術 Download PDF

Info

Publication number
TW201636769A
TW201636769A TW104142270A TW104142270A TW201636769A TW 201636769 A TW201636769 A TW 201636769A TW 104142270 A TW104142270 A TW 104142270A TW 104142270 A TW104142270 A TW 104142270A TW 201636769 A TW201636769 A TW 201636769A
Authority
TW
Taiwan
Prior art keywords
processor
power
data
cache memory
memory
Prior art date
Application number
TW104142270A
Other languages
English (en)
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 TW201636769A publication Critical patent/TW201636769A/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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/311In host system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

在一範例中,一處理器可包括含有一中央處理單元的處理器核心、以及與處理器核心分開的一處理器快取記憶體。此處理器也可包括沖移電路。沖移電路可針對此處理器識別一電力喪失事件。響應於此,沖移電路可藉由提供電力給處理器快取記憶體而不是處理器核心,來對處理器選擇性地供電。沖移電路可進一步將處理器快取記憶體的資料內容沖移至與處理器分開的一非依電性記憶體。

Description

響應於處理器電力喪失事件沖移資料內容之技術
本發明大致係有關響應於處理器電力喪失事件沖移資料內容之技術。
隨著科技快速的進步,電子裝置實際上在現今社會的各個方面被使用。這些裝置在複雜度及處理能力上正在增加,而由電子裝置實施的處理器及記憶體架構也同樣的正在複雜度及電力消耗量上增加。電子裝置的效率及能力上的提高,將導致科技在生活中的將近每個面向進一步的普及使用及採用。
依據本發明之一可行實施例,係特地提出一種處理器,其包含有:包括一中央處理單元的一處理器核心、與該處理器核心分開的一處理器快取記憶體、及沖移電路,此沖移電路用以針對該處理器識別一電力喪失事件,並且響應於此而藉由提供電力給該處理器快取記憶體而不給該處理器核心來對該處理器選擇性地供電、及將該處理器快取記憶體的資料內容沖移至與該處理器分開的一非依電性 記憶體。
100‧‧‧處理器
101‧‧‧處理器核心部分
102‧‧‧處理器非核心部分
110‧‧‧沖移電路
210‧‧‧處理器核心
211‧‧‧中央處理單元/CPU
220‧‧‧處理器快取記憶體
231、532‧‧‧電力喪失事件識別電路/電路
232、533‧‧‧選擇性供電電路/電路
233‧‧‧資料內容沖移電路/電路
302‧‧‧電力良好信號
310‧‧‧記憶體介面
320‧‧‧備用電力來源
410、510‧‧‧(第一)處理器快取記憶體
420、520‧‧‧(第二)處理器快取記憶體
531‧‧‧資料狀態判定電路/電路
534‧‧‧資料狀態保存電路/電路
600‧‧‧系統
610‧‧‧非依電性RAM
700‧‧‧邏輯
702、704、706、708、710‧‧‧步驟
特定的範例在下列詳細的描述中及參考圖式來描述。
圖1顯示支援響應於一電力喪失事件沖移資料內容之一處理器的一範例。
圖2顯示支援響應於一電力喪失事件沖移資料內容之一處理器的另一範例。
圖3顯示支援響應於一電力喪失事件沖移資料內容之一處理器的另一範例。
圖4顯示支援響應於一電力喪失事件從一選定處理器快取記憶體沖移資料內容之一處理器的一範例。
圖5顯示支援響應於一電力喪失事件從一選定處理器快取記憶體沖移資料內容之一處理器的另一範例。
圖6顯示支援響應於電力喪失事件沖移處理器資料內容之一系統的一範例。
圖7顯示件沖移電路可實施來響應於一電力喪失事沖移資料內容之邏輯的一範例。
圖1顯示支援響應於一電力喪失事件沖移資料內容之處理器100之一範例。處理器100可包括執行指令之電路、硬體或邏輯的任何組合。處理器100之範例可因此包括具有實施在一單一積體電路(IC)、一特定應用積體電路(ASIC)、一圖像處理單元(GPU)、一數位信號處理器(DSP)、 一封包處理器或其他網路處理器、一影像處理器、一音訊處理器及更多者等等上的處理器電路(例如多處理器核心)之一微處理器。處理器100可為任何電子裝置或系統的一部分,此種裝置或系統的範例包括行動電話、平板裝置、如交換器、路由器、閘道器及集線器的網路裝置、桌上型或膝上型電腦、音訊裝置、車輛導航系統、航空電路、數位相機及更多其他數不清之裝置。
處理器100可包括一處理器核心部分101及一處理器非核心部分102。處理器核心部分101可包括處理器100中施行指令的執行之元件,像是形成處理器核心的元件。作為範例,處理器核心部分101可包括中央處理單元、運算邏輯單元(ALU)、浮點單元(FPU)、指令提取及解碼電路及更多者等等。處理器非核心部分102可包括處理器100中非屬處理器核心之一部分的其他元件,像是資料緩衝器、處理器快取記憶體(例如高階快取記憶體或如L2或L3快取記憶體的分享快取記憶體)、記憶體控制器、輸入/輸出(I/O)介面及控制器以及更多者等等。處理器非核心部分102也可稱為處理器100之核心外部分(uncore)。
處理器100可包括有沖移電路110。雖然在圖1中繪示成分開狀態,沖移電路110亦可為處理器100之處理器非核心部分102之一部分。如同以下更詳細描述地,沖移電路110可針對處理器100識別一電力喪失事件,在其事件中處理器100喪失了電力。在處理器100中實施的快取記憶體、資料緩衝器及其他記憶體可能為依電性記憶體,並在當處 理器100喪失電力時因此喪失它們的資料內容。響應於識別出電力喪失事件,沖移電路110可選擇性的對處理器100的一部分供電。沖移電路110可藉由對處理器100中包括一特定資料緩衝器(例如一資料快取記憶體)的處理器那一部分供電、及藉由不對未包括此特定資料緩衝器的處理器100的另一部分供電,來達到此目的。舉例來說,沖移電路110可對處理器100的處理器非核心部分102,而不是處理器核心部分101供電。沖移電路110可藉由將資料內容自此特定資料緩衝器沖移到與處理器100分開的一非依電性記憶體,來保存處理器100的一資料狀態。
圖2顯示支援響應於電力喪失事件沖移資料內容之處理器100的另一個範例。圖2中顯示的處理器100包括一處理器核心210,其可包括一中央處理單元(CPU)211。處理器核心210可為處理器100之一處理器核心部分101的一部份,且此處理器100可包括多個核心做為此處理器核心部分101之一部份。圖2中顯示的處理器100也包括與處理器核心210分開的一處理器快取記憶體220。處理器快取記憶體220可為處理器100中多個快取記憶體、記憶體或資料緩衝器的其中之一。特別是,處理器快取記憶體220可作為依電性記憶體被實施,並且因此在當不足夠的電力被提供至處理器快取記憶體220時會喪失其資料內容。處理器快取記憶體220可為處理器100之處理器非核心部分102的一部份。
處理器100可包括有沖移電路110,其可包括用以實施沖移電路110的功能的任何組合之電路、模組、或其他 邏輯。在圖2顯示的範例中之沖移電路110包括電力喪失事件識別電路231、選擇性供電電路232及資料內容沖移電路233。電路231、232及233可實施沖移電路110的各種特徵。沖移電路110可針對處理器100識別一電力喪失事件(例如透過電力喪失事件識別電路231),藉由對處理器快取記憶體220而不對處理器核心210供電來對處理器選擇性地供電(例如透過選擇性供電電路232),及將處理器快取記憶體220的資料內容沖移至跟處理器100分開的一非依電性記憶體(例如透過資料內容沖移電路233)。
沖移電路110可以各種方式為處理器100識別一電力喪失事件。舉例來說,沖移電路110可在當提供給處理器100的一數量的電力中斷或降到低於一操作臨界點時,識別一電力喪失事件。就這一點來說,沖移電路110可在當處理器100是其一部份的電子裝置進入一預期的電力節省或電力關閉模式時,例如響應於來自一使用者的一關機命令時,即識別出一預期的電力喪失事件。沖移電路110也可識別一意外電力喪失事件,像是當處理器100的電力供應器經歷一硬體故障或當一電子裝置經歷一硬式重設時。
處理器100的一電力喪失事件可造成儲存在由處理器100實施的任何依電性記憶體內的資料內容的損失。響應於識別出電力喪失事件,沖移電路110可提供備用電力給處理器100的一或多個依電性記憶體,以將資料內容沖移至未被此電力喪失事件影響的非依電性記憶體。沖移電路110可藉由提供電力給依電性記憶體(例如處理器快取記憶體 220)而非給處理器的其他部分(例如處理器核心210),來選擇性地對處理器100供電。這樣一來,沖移電路110可將資料沖移過程的電力利用率最佳化,因為沖移處理器100的資料內容時不需要處理器100的某些元件。沖移電路110可將處理器快取記憶體220的資料內容沖移至與處理器100分開的一非依電性記憶體。在一些實施態樣中,沖移電路110將處理器快取記憶體220的資料內容沖移至處理器100可存取的一非依電性隨機存取記憶體(RAM),比方說一非依電性雙直列記憶體模組(NVDIMM)。作為更多的範例,此非依電性記憶體可為相變記憶體、磁阻性隨機存取記憶體(MRAM)、電阻性隨機存取記憶體(RRAM)、或一憶阻器。此非依電性記憶體可在處理器100的正常電力操作期間,例如當沖移電路110尚未識別出一電力喪失事件時,被處理器100存取及使用。
圖3顯示支援響應於一電力喪失事件而沖移資料內容的處理器100之另一個範例。在圖3中,處理器100包含具有一CPU 211的一處理器核心部分101、以及具有一處理器快取記憶體220和一記憶體介面310的處理器非核心部分102。記憶體介面310可包括I/O針腳或用以跟處理器100外部例如一非依電性RAM或NVDIMM的記憶體傳送資料之其他介面邏輯及電路。圖3中的處理器100也包括有沖移電路110。
沖移電路110可以各種方式檢測處理器100的電力喪失事件。在圖3中,沖移電路110接收一電力良好信號 302,此電力良好信號302可指出對處理器100的電力供應位準。電力良好信號302可由處理器100外部的電路產生,例如由監測處理器100的一電源供應器或追蹤經由提供電力給處理器100的一或多個電力軌條(例如一Vcc線)通過的電流之外部電路產生。此外部電路可在當電源供應器供應的電力降到低於一操作臨界值時宣告電力良好信號302(或予以解除宣告),沖移電路110可據此偵測處理器100的一電力喪失事件。在一些範例中,沖移電路110本身可監測處理器100的電力位準,例如藉由追蹤處理器100內部的一電力軌條之電流、電阻、或電壓,來識別電力喪失事件。此電力喪失事件可中斷對處理器100的電力的供應。
沖移電路110可響應於一電力喪失事件來選擇性地提供備用電力給處理器100的任何部分。就此,沖移電路110可在電力喪失事件的期間、之後或甚至之前(例如搶先地在一經計劃的關機過程中或是在處理器100的電力被切斷之前對處理器100的選定部分供電),而提供備用電力給該等選定部分。上述的一個例子包括沖移電路110對一處理器非核心部分102而不對一處理器核心部分101供電。沖移電路110也可選擇性地對處理器非核心部分102的任何元件供電或不對其供電。特別是,沖移電路110可對使用來從處理器100內的依電性記憶體沖移資料內容的處理器非核心部分102之特定元件供電,而放棄對未在處理器資料沖移過程使用的處理器非核心部分102的部分、處理器核心部分101或這兩者供電。
在一些範例中,響應於識別到一電力喪失事件,沖移電路110選擇性地提供電力給處理器快取記憶體220及記憶體介面310,而不給一處理器非核心部分102的其他部分。沖移電路110也可響應於電力喪失事件而提供電力給自己。儘管處理器100喪失了電力,沖移電路110可藉由提供電力給處理器快取記憶體220來保住處理器快取記憶體220的資料內容。藉由供電給記憶體介面310,沖移電路110可供電給輸出介面,來支援傳輸處理器快取記憶體220的資料內容至非依電性記憶體。藉由提供電力給自己,沖移電路110甚至在處理器100的一正常電力來源被切斷的電力喪失事件的期間或之後,仍可運行。沖移電路110可指示處理器快取記憶體220沖移自己的資料內容,舉例來說透過對處理器快取記憶體220宣告一沖移信號。響應於此沖移信號,處理器快取記憶體220可沖移一些或全部其所儲存資料內容。
沖移電路110可以任何數量的方式提供電力給處理器100的諸多部分。在圖3中,沖移電路包括沖移電路110可響應於識別出電力喪失事件而啟動及/或使用之一備用電力來源320。舉例來說,備用電力來源320可為一電池、電容器、輔助電力電池、或任何其他提供一備用電荷的電力來源。在正常電力操作期間,沖移電路110可藉由防止備用電力來源320之電荷耗用來供電到處理器100的元件,而保留備用電力來源320的電荷。
處理器100可包括供電給處理器100的各別部分 的供電機構。在一些範例中,處理器100包括多個電力軌條來分別提供電力給處理器100的不同部分。電力軌條可在正常電力操作期間從一電力來源接收電力,並可因此做為處理器100的一條Vcc線。沖移電路110可藉由提供備用電力給用於處理器快取記憶體220、記憶體介面310、沖移電路本身、或沖移電路110響應於電力喪失事件而決定供電的處理器100之任何其他部分之一特定電力軌條,來選擇性地對處理器100供電。沖移電路110可決定不對提供電力給在沖移過程中沒用到的元件的其他電力軌條供電,例如提供電力給一處理器核心、CPU 211、處理器核心部分101、或處理器非核心部分102其他未用到的元件的電力軌條。沖移電路110可透過任何會對用於電力軌條與備用電力來源320的電力狀態做邏輯OR運算的電路,將備用電力來源320連結到提供電力給處理器快取記憶體220、記憶體介面310、及/或沖移電路本身的一選定電力軌條。舉例來說,沖移電路110可使用二極體電路將選定電力軌條連結至備用電力來源320,藉此在正常電力操作期間透過此電力軌條、與在電力喪失事件期間或之後藉由備用電力來源320,來提供電力給處理器100的選定元件。
沖移電路110可透過備用電力來源320提供足夠的電力,來完成從處理器快取記憶體220到非依電性記憶體之資料內容的沖移。在一些範例中,沖移電路110根據處理器快取記憶體220的一資料容量(例如大小)來按比例分配提供給處理器快取記憶體220的電力。因此,針對大小較小的 快取記憶體或資料緩衝器,因為對依電性記憶體供電以及沖移資料內容所需的時間可能比針對大小較大的依電性記憶體所需求的時間少,沖移電路110可提供一較少量的備用電力。沖移電路110可因此在選擇性地供電給處理器100時考量一快取記憶體或緩衝器容量,這可造成提升的電力效率、較少的電力消耗、及較好的資源利用。
藉由沖移處理器100中的一或多個資料緩衝器,沖移電路110可保留處理器100的一資料狀態,否則此資料狀態可能因為電力喪失事件而丟失。一資料狀態可表示在一給定的時間點儲存在處理器100中的資料內容。
沖移電路110可識別處理器100中之資料欄位、類型、及/或位置的任何組合做為資料狀態的一部分。在一些範例中,藉由沖移電路110保存的資料狀態包括處理器100中在一給定時間點儲存的一些或全部資料內容。在一些範例中,此資料狀態包括處理器100中資料快取記憶體的內容,而不包括用於控制邏輯的控制資料(例如不包括處理器暫存器組、控制位元、指令緩衝器、轉譯旁看緩衝器(translation lookaside buffer)、追蹤快取記憶體、受害者快取記憶體的內容)。資料快取記憶體內容亦可被稱作一資料快取記憶體單元(DCU),並且沖移電路110可因此決定藉由沖移處理器100中相對應的資料快取記憶體來保存處理器100的DCU。作為又另一個例子,藉由沖移電路110決定的資料狀態可包括控制資料,像是來自用於處理器100的處理器暫存器組及位址快取記憶體的資料內容(例如與資料快取記憶體組合)。 為了沖移控制資料或實施為處理器核心部分101的一部分之資料快取記憶體的內容,沖移電路110可提供電力給處理器核心部分101、處理器非核心部分102、或兩者,以保留處理器100的資料狀態。
資料狀態的一些部分可能被複製在處理器100內的多個記憶體、快取記憶體、或緩衝器中。舉例來說,處理器100可能採用一階層式快取結構,此階層式快取結構具有多個層的資料快取記憶體,像是L1、L2、L3及L4資料快取記憶體等等。此等多個層的資料快取記憶體可保持一資料快取同調性,從而在不同位置儲存一致的資料。在一些範例中,處理器100包括多個處理器核心,而此等多個核心可實施它們本身的L1快取記憶體,但共享更高階的快取記憶體,如L2或L3快取記憶體。資料狀態可跨多個快取層作冗餘式地儲存,並且,作為一特定的範例,集體地跨L1快取記憶體以及在L3快取記憶體中儲存。
沖移電路110可在不沖移處理器100中各個快取記憶體、記憶體、或資料緩衝器的資料內容的情況下,為處理器100保留一資料狀態。以另一種方式來說,沖移電路110可特別地識別處理器100中儲存此資料狀態的一或多個快取記憶體,並在不沖移處理器100中其他快取記憶體的資料內容的情況下,沖移所識別快取記憶體的資料內容。這些選擇性快取記憶體判定及沖移的一些範例在下文中呈現。
圖4顯示支援響應於一電力喪失事件從一選定處 理器快取記憶體沖移資料內容的一處理器100之一範例。此處理器100可包括具有多個資料快取記憶體、緩衝器、或依電性記憶體的一處理器非核心部分102。特別是在圖4顯示的範例中,此處理器非核心部分102包含一第一處理器快取記憶體410及一第二處理器快取記憶體420。
沖移電路110可識別一選定處理器快取記憶體用以根據由處理器100實施的一記憶體結構來沖移。為了舉例說明,處理器快取記憶體410及420可為由處理器100實施的一階層式快取架構的一部分。舉例來說,第一處理器快取記憶體410可為由處理器100中的多個(例如2個)處理器核心共享的一個L2快取記憶體,而第二處理器快取記憶體420可為由處理器100中的多個(例如8個)處理器核心共享的一個L3快取記憶體。在此範例中,此第二處理器快取記憶體420(L3)可根據被實施的記憶體架構而被特定為較第一處理器快取記憶體410高階的一快取記憶體。沖移電路110可判定第二處理器快取記憶體420儲存處理器100的資料狀態,但第一處理器快取記憶體410儲存此資料狀態的一些而不是全部的部分。在此範例中,沖移電路110可將第二處理器快取記憶體420識別為要響應於一電力喪失事件沖移的一選定處理器快取記憶體。在一些實施態樣中,沖移電路110將一末階快取記憶體(LLC)識別為此要沖移的選定處理器快取記憶體。此末階快取記憶體可在從一外部記憶體(例如RAM或一硬碟)存取資料前表示為在此快取記憶體階層中的一最高階的快取記憶體。在其他實施態樣中,沖移電路 110可識別集體儲存該資料狀態之在快取記憶體階層中較低階的快取記憶體的一組合,來當作要沖移的選定處理器快取記憶體。
在一些實施態樣中,沖移電路110判定在電力喪失事件的期間或之後不對處理器100中之非選定的資料緩衝器、佇列、或快取記憶體供電。舉例來說,沖移電路110可響應於識別出一電力喪失事件而判定不對處理器非核心部分102的第一處理器快取記憶體410供電。在這些實施態樣中,儘管沖移電路110還是可藉由將第二處理器快取記憶體420的資料內容沖移至非依電性記憶體來保存處理器100的資料狀態,第一處理器快取記憶體410的資料內容則因電力喪失事件而被丟失。
在其他實施態樣中,沖移電路110可提供電力給一非選定的處理器快取記憶體,但放棄沖移此非選定處理器快取記憶體之資料內容。為了舉例說明,圖4中此沖移電路110可特別地將第二處理器快取記憶體420識別為儲存資料狀態的選定處理器快取記憶體。響應於識別出一電力喪失事件,沖移電路110可對處理器100的處理器非核心部分102供電,其包括有第一處理器快取記憶體410及第二處理器快取記憶體420。雖然第一處理器快取記憶體410在電力喪失事件之後接收備用電力,沖移電路110可放棄沖移第一處理器快取記憶體410的資料內容,而是判定沖移第二處理器快取記憶體420的資料內容以保存資料狀態。沖移電路110可因此導致第二處理器快取記憶體420的資料內容被傳 輸到處理器100外部的非依電性記憶體(例如非依電性RAM)。
圖5顯示支援響應於一電力喪失事件從一選定處理器快取記憶體沖移資料內容的一處理器100之另一範例。在圖5中,處理器100包括一處理器核心部分101,此處理器核心部分包括一CPU 211及一第一處理器快取記憶體510。此第一處理器快取記憶體510可為由處理器100之一特別的處理器核心實施的L1快取記憶體。圖5中的處理器100也包括一處理器非核心部分102,此處理器非核心部分包括一第二處理器快取記憶體520。此第二處理器快取記憶體520可為一個L2或更高的快取記憶體,並從而為比第一處理器快取記憶體510更高階的快取記憶體。
顯示於圖5中的範例中之沖移電路110包括資料狀態判定電路531、電力喪失事件識別電路532、選擇性供電電路533及資料狀態保存電路534。電路531、532、533及534可實施沖移電路110的不同特徵,諸如下列特徵。沖移電路110可將第二處理器快取記憶體520判定為儲存處理器100的資料狀態之一選定處理器快取記憶體(例如透過資料狀態判定電路531),及為處理器100識別一電力喪失事件(例如透過電力喪失事件識別電路532)。響應於識別出一電力喪失事件,沖移電路110可藉由提供電力給包括第二處理器快取記憶體520的處理器非核心部分102,而不提供電力給處理器核心部分101,來選擇性地對處理器100供電(例如透過選擇性供電電路533)。沖移電路110可藉由將第二處理器 快取記憶體520的資料內容沖移至與處理器100分開的一非依電性記憶體,而不沖移第一處理器快取記憶體510的資料內容,來保存處理器100的資料狀態(例如透過資料狀態保存電路534)。
圖6顯示支援響應於一電力喪失事件沖移處理器資料內容的一系統600之一範例。圖6中顯示之系統600包括一處理器100,此處理器100包括沖移電路110以及一非依電性RAM 610。此非依電性RAM 610可在甚至不被供電的情況下保留資料內容,並因此甚至在電力喪失事件之後在非依電性RAM 610中儲存的資料內容仍會被保存。在一些範例中,非依電性RAM 610包括一NVDIMM。
處理器100可在正常電力操作期間儲存、載入、或在其他方面存取來自非依電性RAM 610之資料。就這一點來說,非依電性RAM 610可為在正常電力操作期間以及響應於電力喪失事件而使用的一個一般用途記憶體。以另一種方式說,非依電性RAM 610不一定為特別設計來在一電力喪失事件期間使用之一特定、特別用途的非依電性記憶體。藉由對已於正常電力操作中使用的非依電性記憶體作槓桿化利用,沖移電路110可更有效率地儲存來自處理器100之被沖移資料內容,例如:不需要實施特別適合在處理器100的電力喪失事件中保存一處理器快取記憶體的資料內容的特製非依電性記憶體。
非依電性RAM 610可以與處理器100分開。舉例來說,非依電性RAM 610可為與處理器100不同的實體晶片。 從而沖移電路110可將處理器100的依電性資料內容跨越一不同實體媒體而沖移至一不同實體IC上。藉由這樣做,沖移電路110可在不需要於處理器晶片上針對實施非依電性記憶體貢獻特定的空間及電力的情況下,支援更有效率的處理器設計。
圖7顯示沖移電路110可實施的邏輯700之一範例,此邏輯可實施來響應於一電力喪失事件而沖移資料內容。沖移電路110可針對一處理器100識別一電力喪失事件(步驟702)並響應於此電力喪失事件而選擇性地對此處理器100之一部分供電(步驟704)。
在一些範例中,沖移電路110可藉由對包括處理器100中一特別資料緩衝器之處理器100的一部分供電(步驟706),來選擇性地對處理器100之一部分供電。此特別資料緩衝器可為處理器非核心部分102之依電性記憶體部分,及/或可針對處理器100儲存資料狀態。舉例來說,此特別資料緩衝器可為由處理器100實施的一末階快取記憶體,例如L3或L4處理器快取記憶體。在選擇性地對處理器100供電時,沖移電路110可不對包括處理器100之一中央處理單元211之處理器100的另一部分供電(步驟708),例如處理器100的處理器核心部分101。而後沖移電路110可藉由將資料內容從該特別資料緩衝器沖移至與處理器100分開的一非依電性記憶體,來保存處理器100的一資料狀態(步驟710)。
沖移電路110可提供足夠來沖移特別資料緩衝器之資料內容的電力給此特別資料緩衝器。只要一中斷提供 電力給該特別資料緩衝器,此特別資料緩衝器之資料內容可能會喪失。因此,藉將此特別資料緩衝器之資料內容沖移至非依電性記憶體,沖移電路110即可保存處理器100之資料狀態。當處理器100重新得到電力時(例如在一後續地對處理器100為其中一部分的電子裝置開啟電源後),沖移電路110可從該非依電性記憶體將被沖移的處理器資料載入回該特別資料緩衝器、或處理器資料狀態先前被沖移來源的任何額外或替代的依電性記憶體。因此,沖移電路110可甚至在一電力喪失事件導致處理器100中依電性記憶體之資料內容消除時,保存處理器100之狀態。
上述之沖移電路110可甚至在處理器於一電力喪失事件中喪失電力時,支援保存一處理器100之一資料狀態。處理器資料被無損失地保存,允許處理器100在後續地裝置啟動時更快及有效率地回到先前的狀態。據此,沖移電路110可支援一更快及更有效率的裝置啟動程序、保持資料一致性、及防止資料訛誤。此外,在保存處理器100的依電性記憶體資料時,沖移電路110可支援用增大的大小及容量在處理器中建置實施資料快取記憶體或緩衝器,這可造成處理器性能以及記憶體存取效率的改善。藉由響應於一電力喪失事件選擇性地僅對處理器100之一部分供電,以及根據依電性記憶體的一資料容量來依比例調配提供電力,沖移電路110可進一步減少處理器100的電力消耗,而造成電源效率的增加。
上述的方法、裝置、系統、及邏輯,包括沖移電 路110,可用多個不同的方式、用硬體、軟體或軟體及硬體兩者一起之不同組合來實施。舉例來說,全部或部分的沖移電路110可包括在一控制器、一微處理器、或一特定應用積體電路(ASIC)中之電路,或可由分立的邏輯或元件、或其他類型的類比或數位電路的組合,結合於一單一積體電路上或分散於多個積體電路上,予以實現。上述全部或部分的電路、系統、裝置、及邏輯可被實施為用於由處理器、控制器、或其他處理裝置執行的指令,即可儲存在有形的或非暫時性機器可讀或電腦可讀媒體中,此等媒體諸如為快閃記憶體、隨機存取記憶體(RAM)或唯讀記憶體(ROM)、可抹除可規劃式唯讀記憶體(EPROM)、或例如實密碟片唯讀記憶體(CDROM)、或磁性或光學碟片等的其他機器可讀媒體。因此一個產品,例如一電腦程式產品,可包括一儲存媒體及儲存在此媒體上的電腦可讀指令,此等指令在一端點、電腦系統、或其他裝置上執行時,導致此裝置執行根據任何上述者的操作。
本文中所描述包括沖移電路110之系統、裝置、及電路的處理能力,可分散於多個系統元件之間,例如在多個處理器、記憶體、及邏輯之間,且選擇地包括多個分散式處理系統。雖然已舉了不同的例子,明顯的對於熟於此技者來說還是有很多實現態樣是可能實施的。
一些範例實現態樣已在此描述。但仍可能有額外或替代的實現態樣。
100‧‧‧處理器
110‧‧‧沖移電路
210‧‧‧處理器核心
211‧‧‧中央處理單元/CPU
220‧‧‧處理器快取記憶體
231‧‧‧電力喪失事件識別電路/電路
232‧‧‧選擇性供電電路/電路
233‧‧‧資料內容沖移電路/電路

Claims (15)

  1. 一種處理器,其包含:一處理器核心,其包括一中央處理單元;一處理器快取記憶體,其與該處理器核心分開;及沖移電路,其用以:針對該處理器識別一電力喪失事件,並且響應於此:藉由提供電力給該處理器快取記憶體而不給該處理器核心來選擇性地對該處理器供電;及將該處理器快取記憶體的資料內容沖移至與該處理器分開的一非依電性記憶體。
  2. 如請求項1的處理器,其中該沖移電路係用以將該處理器快取記憶體的資料內容沖移至在正常電力操作期間由該處理器使用的一非依電性隨機存取記憶體。
  3. 如請求項1的處理器,進一步包含針對該非依電性記憶體的一記憶體介面;且其中該沖移電路係用以藉由進一步提供電力給該記憶體介面來選擇性地對該處理器供電。
  4. 如請求項1的處理器,其中該沖移電路係進一步用以根據該處理器快取記憶體的一資料容量來按比例分配提供給該處理器快取記憶體的電力。
  5. 如請求項1的處理器,進一步包含用以供應電力給該處理器的多個電力軌條;且 其中該沖移電路係用以藉由對供應電力給該處理器快取記憶體之一特別電力軌條供電,而不對供應電力給該處理器核心之另一電力軌條供電,來選擇性地對該處理器供電。
  6. 如請求項1的處理器,其中該處理器包含可被該處理器核心存取的多個處理器快取記憶體;及其中該沖移電路係進一步用以:特定地將該處理器快取記憶體從該處理器內之該等多個處理器快取記憶體中識別為針對該處理器儲存一資料狀態;及沖移該處理器快取記憶體的該資料內容,而不是在該等多個處理器快取記憶體中一不同的處理器快取記憶體的資料內容。
  7. 如請求項6的處理器,其中該沖移電路係用以藉由不提供電力給該不同的處理器快取記憶體來選擇性地對該處理器供電。
  8. 一種方法,其包含:針對一處理器識別一電力喪失事件;響應於該電力喪失事件,藉由以下動作而選擇性地對該處理器的一部分供電:對包括該處理器中一特定資料緩衝器之該處理器的一部分供電;及不對包括該處理器之一中央處理單元之該處理器的另一部分供電;及 藉由將資料內容從該特定資料緩衝器沖移至與該處理器分開的一非依電性記憶體,來保存該處理器的一資料狀態。
  9. 如請求項8的方法,其中選擇性地對該處理器的一部分供電,進一步包含對連通至該非依電性記憶體的一記憶體介面供電。
  10. 如請求項8的方法,其中選擇性地對該處理器的一部分供電進一步包含:特定地將該特定資料緩衝器從在該處理器內之多個資料緩衝器中識別為儲存該處理器的該資料狀態;及不對該處理器內之多個資料緩衝器中一不同的資料緩衝器供電。
  11. 如請求項10的方法,其中特定地將該特定資料緩衝器從在該處理器內之多個資料緩衝器中識別,包含判定出以下項目:該等不同的資料緩衝器儲存部分而不是全部的該資料狀態;及該特定資料緩衝器儲存該處理器的該資料狀態。
  12. 一種處理器,其包含:一處理器核心部分,其包括一中央處理單元及一第一處理器快取記憶體;一處理器非核心部分,其包含一第二處理器快取記憶體;及沖移電路,其用以: 判定該第二處理器快取記憶體針對該處理器儲存一資料狀態;及針對該處理器識別一電力喪失事件,並且響應於此:藉由提供電力給包括該第二處理器快取記憶體的該處理器非核心部分,而不提供電力給該處理器核心部分,來選擇性地對該處理器供電;及藉由將該第二處理器快取記憶體的資料內容沖移至與該處理器分開的一非依電性記憶體但不沖移該第一處理器快取記憶體的資料內容,來保存該處理器的一資料狀態。
  13. 如請求項12的處理器,其中該沖移電路係進一步用以根據該第二處理器快取記憶體的一資料容量來按比例分配提供給該第二處理器快取記憶體的電力。
  14. 如請求項12的處理器,其中該處理器根據快取記憶體階級的一階層架構來儲存資料,且其中該第二處理器快取記憶體係比該第一處理器快取記憶體更高階級。
  15. 如請求項12的處理器,其中該沖移電路係用以將該第一處理器快取記憶體的該資料內容沖移至在正常電力操作期間由該處理器使用的一非依電性隨機存取記憶體。
TW104142270A 2014-12-19 2015-12-16 響應於處理器電力喪失事件沖移資料內容之技術 TW201636769A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/071673 WO2016099567A1 (en) 2014-12-19 2014-12-19 Flushing data content in response to a power loss event to a processor

Publications (1)

Publication Number Publication Date
TW201636769A true TW201636769A (zh) 2016-10-16

Family

ID=56127196

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104142270A TW201636769A (zh) 2014-12-19 2015-12-16 響應於處理器電力喪失事件沖移資料內容之技術

Country Status (3)

Country Link
US (1) US10489237B2 (zh)
TW (1) TW201636769A (zh)
WO (1) WO2016099567A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495423B2 (en) * 2009-08-11 2013-07-23 International Business Machines Corporation Flash-based memory system with robust backup and restart features and removable modules
US10198354B2 (en) 2017-03-21 2019-02-05 Intel Corporation Apparatus, system, and method to flush modified data from a volatile memory to a persistent second memory
US10529407B2 (en) * 2017-07-20 2020-01-07 Samsung Electronics Co., Ltd. Memory device including a plurality of power rails and method of operating the same
KR102277728B1 (ko) * 2017-07-31 2021-07-14 삼성전자주식회사 데이터 저장 시스템, 데이터 저장 시스템의 데이터 저장 방법, 및 솔리드 스테이트 드라이브의 제조 방법
US11836358B2 (en) * 2018-04-16 2023-12-05 Hewlett-Packard Development Company, L.P. Data storage device power provisions
JP7292872B2 (ja) * 2018-12-25 2023-06-19 キヤノン株式会社 情報処理装置および情報処理装置の制御方法
KR20210080967A (ko) * 2019-12-23 2021-07-01 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697909B1 (en) 2000-09-12 2004-02-24 International Business Machines Corporation Method and apparatus for performing data access and refresh operations in different sub-arrays of a DRAM cache memory
US6920574B2 (en) * 2002-04-29 2005-07-19 Apple Computer, Inc. Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
TW569219B (en) 2002-09-30 2004-01-01 Via Tech Inc Architecture and method for updating cache data
US7337277B2 (en) * 2004-11-18 2008-02-26 International Business Machines Corporation Apparatus, system, and method for flushing cache data
JP2009075759A (ja) 2007-09-19 2009-04-09 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法
US7954006B1 (en) 2008-12-02 2011-05-31 Pmc-Sierra, Inc. Method and apparatus for archiving data during unexpected power loss
US8169839B2 (en) 2009-02-11 2012-05-01 Stec, Inc. Flash backed DRAM module including logic for isolating the DRAM
US8607076B2 (en) 2009-06-26 2013-12-10 Seagate Technology Llc Circuit apparatus with memory and power control responsive to circuit-based deterioration characteristics
US20110112798A1 (en) 2009-11-06 2011-05-12 Alexander Branover Controlling performance/power by frequency control of the responding node
US8892924B2 (en) 2011-05-31 2014-11-18 Intel Corporation Reducing power consumption of uncore circuitry of a processor
WO2013095404A1 (en) * 2011-12-20 2013-06-27 Intel Corporation Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
TWI476628B (zh) 2012-09-18 2015-03-11 Univ Kun Shan 以惡意程式特徵分析為基礎之資安風險評估系統
US9563557B2 (en) * 2014-12-23 2017-02-07 Intel Corporation Instruction and logic for flush-on-fail operation
US10671465B2 (en) * 2016-11-28 2020-06-02 Intel Corporation Serializing machine check exceptions for predictive failure analysis

Also Published As

Publication number Publication date
US20170337102A1 (en) 2017-11-23
WO2016099567A1 (en) 2016-06-23
US10489237B2 (en) 2019-11-26

Similar Documents

Publication Publication Date Title
TW201636769A (zh) 響應於處理器電力喪失事件沖移資料內容之技術
US10521006B2 (en) Report updated threshold level based on parameter
US10642685B2 (en) Cache memory and processor system
US10255118B2 (en) Processing system including a plurality of cores and method of operating the same
KR102553539B1 (ko) 고체 상태 드라이브에서 가비지 수집 리소스 할당을 적응시키는 메커니즘
US20170243624A1 (en) Flip-flop circuit, method of controlling a flip-flop circuit and memory device
US10325631B1 (en) Power management integrated circuit with dual power feed
EP3142015A1 (en) Low-power memory-access method and associated apparatus
US20180225059A1 (en) Operating mode memory migration
WO2005069148A2 (en) Memory management method and related system
US20160363986A1 (en) Fast link wake-up in serial-based io fabrics
TW200523942A (en) Integrated circuit power management for reducing leakage current in circuit arrays and method therefor
TW201423400A (zh) 用於超管理器系統之針對雙直列記憶體模組節能的系統與方法
WO2019041903A1 (zh) 一种基于非易失存储的计算装置及其使用方法
US20200090736A1 (en) Power aware programmable negative bit line control
US20200279611A1 (en) Systems and methods to wake up memory array
EP2581804A1 (en) Electronic apparatus using NAND flash and memory management method thereof
US11281277B2 (en) Power management for partial cache line information storage between memories
US20190095122A1 (en) Memory management system, computing system, and methods thereof
US20190073020A1 (en) Dynamic memory offlining and voltage scaling
US20130097449A1 (en) Memory unit, information processing device, and method
US20210151083A1 (en) Power control of a memory device in connected standby state
US20230214270A1 (en) Readiness states for partitioned internal resources of a memory controller
KR101423867B1 (ko) L2 이상의 레벨 캐쉬 캐시를 관리하는 장치 및 방법
KR20230166812A (ko) 배터리 모듈이 포함된 스토리지 시스템 및 그 동작 방법