TW201944238A - 從揮發性記憶體至非揮發性記憶體的備份操作 - Google Patents
從揮發性記憶體至非揮發性記憶體的備份操作Info
- Publication number
- TW201944238A TW201944238A TW108104091A TW108104091A TW201944238A TW 201944238 A TW201944238 A TW 201944238A TW 108104091 A TW108104091 A TW 108104091A TW 108104091 A TW108104091 A TW 108104091A TW 201944238 A TW201944238 A TW 201944238A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory system
- self
- refresh mode
- host
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文中揭示回應於一觸發事件在一記憶體系統上執行一備份操作之裝置及技術。該記憶體系統可包括一處理裝置、一揮發性記憶體胞群組及一非揮發性記憶體胞群組。該處理裝置可經組態以回應於一觸發事件執行內部備份操作,包括:回應於該觸發事件判定該記憶體系統是否在自刷新模式中;回應於判定該記憶體系統並不在自刷新模式中,在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及回應於重新判定該記憶體系統係在自刷新模式中,執行包括將儲存於該揮發性記憶體胞群組上之資料之至少一部分保存至該非揮發性記憶體胞群組之該內部備份操作。
Description
本發明之實施例大體上係關於記憶體系統,且更明確言之係關於自揮發性至非揮發性記憶體(NVM)之備份操作。
一記憶體子系統可為一儲存系統(諸如一固態硬碟(SSD)),且可包含儲存資料之一或多個記憶體組件。例如,該等記憶體組件可為非揮發性記憶體組件及揮發性記憶體組件。一般而言,一主機系統可利用一記憶體子系統以將資料儲存於記憶體組件處及自記憶體組件擷取資料。
揮發性記憶體可需要電力來維持資料且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)等等。非揮發性記憶體可在未供電時藉由留存儲存資料而提供永久性資料且可包含NAND快閃記憶體、NOR快閃記憶體、唯讀記憶體(ROM)、電可擦除可程式化ROM (EEPROM)、可擦除可程式化ROM (EPROM)及電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM))、電阻性隨機存取記憶體(RRAM)及磁阻性隨機存取記憶體(MRAM)、交叉點記憶體陣列等等。
記憶體胞通常配置成一矩陣或一陣列。多個矩陣或陣列可組合成一記憶體裝置,且多個裝置可經組合以形成一記憶體系統之一儲存磁碟區,諸如一固態硬碟(SSD)、一通用快閃儲存(UFS™)裝置、一多媒體卡(MMC)固態儲存裝置、一嵌入式MMC裝置(eMMC™)等。
一記憶體系統可包含執行邏輯功能以操作記憶體裝置或與外部系統介接之一或多個處理器或其他記憶體控制器。記憶體矩陣或陣列可包含組織成數個實體頁之數個記憶體胞區塊。記憶體系統可自一主機接收與記憶體操作相關聯之命令,該等記憶體操作諸如在記憶體裝置與該主機之間傳送資料(例如,使用者資料及相關聯完整性資料,諸如錯誤資料及位址資料等)之讀取或寫入操作,自記憶體裝置擦除資料之擦除操作或執行一或多個其他記憶體操作。
在一項態樣中,根據一些實施例,一種記憶體系統包含一揮發性記憶體胞群組、一非揮發性記憶體胞群組及一處理裝置。該處理裝置可操作地耦合至該揮發性記憶體胞群組及該非揮發性記憶體胞群組。該處理裝置經組態以回應於一觸發事件執行內部備份操作。該等內部備份操作包含:回應於該觸發事件判定該記憶體系統是否在自刷新模式中;回應於判定該記憶體系統並不在自刷新模式中,在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及回應於重新判定該記憶體系統係在自刷新模式中,執行包括將儲存於該揮發性記憶體胞群組上之資料之至少一部分保存至該非揮發性記憶體胞群組之該內部備份操作。
在另一態樣中,根據一些實施例,一種方法包含回應於一觸發事件在一記憶體系統中執行內部備份操作。該等內部備份操作包含:使用該記憶體系統之一處理裝置回應於該觸發事件判定該記憶體系統是否在自刷新模式中;回應於判定該記憶體系統並不在自刷新模式中,使用該處理裝置並在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及回應於重新判定該記憶體系統係在自刷新模式中,使用該處理裝置執行包括將儲存於該記憶體系統之一揮發性記憶體胞群組上之資料之至少一部分保存至該記憶體系統之一非揮發性記憶體胞群組之該內部備份操作。
在又另一態樣中,根據一些實施例,一種非暫時性電腦可讀儲存媒體包含指令,該等指令在藉由一處理裝置執行時引起該處理裝置回應於一觸發事件在一記憶體系統中執行內部備份操作。該等內部備份操作包含:回應於該觸發事件判定該記憶體系統是否在自刷新模式中;回應於判定該記憶體系統並不在自刷新模式中,在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及回應於重新判定該記憶體系統係在自刷新模式中,使用該處理裝置執行包括將儲存於該記憶體系統之一揮發性記憶體胞群組上之資料之至少一部分保存至該記憶體系統之一非揮發性記憶體胞群組之該內部備份操作。
優先權之主張
本申請案根據35 U.S.C. § 119(e)規定主張於2018年2月8日申請之標題為「SELF REFRESH RETRY」之美國臨時專利申請案第62/628,089號及於2018年9月6日申請之標題為「BACKUP OPERATIONS FROM VOLATILE TO NON-VOLATILE MEMORY」之美國申請案第16/123,512號之優先權利,該等案之全文以引用的方式併入本文中。
本申請案根據35 U.S.C. § 119(e)規定主張於2018年2月8日申請之標題為「SELF REFRESH RETRY」之美國臨時專利申請案第62/628,089號及於2018年9月6日申請之標題為「BACKUP OPERATIONS FROM VOLATILE TO NON-VOLATILE MEMORY」之美國申請案第16/123,512號之優先權利,該等案之全文以引用的方式併入本文中。
本發明之態樣係關於執行自包含一記憶體子系統之一記憶體系統之揮發性記憶體至非揮發性記憶體(NVM)之備份操作。一記憶體子系統在本文中亦被稱為一「記憶體裝置」。一記憶體子系統之實例係一儲存系統,諸如一固態硬碟(SSD)及一非揮發性雙列直插記憶體模組(NVDIMM)。在一些實施例中,該記憶體子系統係具有揮發性記憶體子系統及非揮發性記憶體子系統兩者之一混合記憶體/儲存子系統。一般而言,一主機系統可利用包含一或多個記憶體組件之一記憶體子系統。該主機系統可提供待儲存於該記憶體子系統處之資料且可請求自該記憶體子系統擷取之資料。
記憶體系統可包含一單個模組(諸如單列直插記憶體模組或雙列直插記憶體模組(SIMM或DIMM))上之多個記憶體裝置。主記憶體之一個形式包含一NVDIMM。NVDIMM係以揮發性記憶體速度操作但保持非揮發性記憶體之電力損失資料保持功能性之一記憶體子系統。在某些實例中,NVDIMM可包含一記憶體控制器、揮發性記憶體(例如,同步動態隨機存取記憶體(SDRAM))、非揮發性記憶體(例如,NAND快閃記憶體)及一備份電源,備份電源通常為經組態以諸如在主電力損失(例如,來自一主機之電力損失)之後提供備份電力至記憶體模組之一電池或一電容器。在一實例中,NVDIMM之揮發性記憶體及非揮發性記憶體之各者可包含多個記憶體組件(例如,數個晶粒或邏輯單元(LUN)),各記憶體組件包含裝置邏輯或與NVDIMM之記憶體控制器分離之一裝置控制器或處理器。NVDIMM可在正常操作期間使用揮發性記憶體。在主電力損失(例如,主機電力損失)之後,或回應於自一主機接收之一指令,NVDIMM可執行一內部備份或災難性保存操作(CSAVE),將揮發性記憶體之內容或內容之一部分寫入至非揮發性記憶體,且在某些實例中在主電力損失期間使用備份電源管理非揮發性記憶體。
電子裝置工程聯合委員會(JEDEC)已頒布與DIMM有關之若干標準,包含雙倍資料速率(DDR)記憶體介面及使用DDR介面之NVDIMM。NVDIMM裝置包含許多實施方案,包含NVDIMM-N、 NVDIMM-F、NVDIMM-P、NVDIMM-X或一或多個其他NVDIMM裝置。例如,NVDIMM-N係其中除了DRAM或SRAM揮發性記憶體之外DIMM亦包含快閃儲存裝置及一記憶體控制器之一JEDEC標準系列。用於位元組可定址能量備份介面(BAEBI)之JEDEC標準245B.01 (JESD245B.05)提供許多實施方案及互動細節。在一實例中,本文中所揭示之NVDIMM可包含一NVDIMM-N裝置,或一或多個其他NVDIMM實施方案。
NVDIMM之操作可藉由記憶體控制器回應於來自一主機之指令或一或多個其他事件而控制。記憶體控制器可包含經配置或程式化以管理模組之DRAM或SDRAM揮發性部分與快閃非揮發性部分(例如, 備份DRAM或SDRAM記憶體之儲存器)之間的資料傳送之一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)或其他處理電路。主機可透過一或多個通信介面與NVDIMM通信,諸如記憶體控制器與主機之間的一封包交換積體電路間(I2C、I2
C或IIC)通信匯流排、用於NVDIMM與主機之間的記憶體操作之一多接針串列通信匯流排(例如,一DDR版本4 (DDR4)記憶體介面等),或一或多個其他通信介面等。
I2C通信可提供直接讀取或寫入至一記憶體控制器中之暫存器或以其他方式傳遞至該記憶體控制器之一靈活、有效解決方案。然而,雖然一揮發性記憶體裝置中之一典型串列通信介面(諸如DDR4或其他多接針串列通信介面)之輸送量可為每秒1,600百萬位元至3,200百萬位元(Mbit) (或更多),但I2C通信更慢,例如,大約每秒100千位元至400千位元(Kbit)。
可使用來自一主機之一命令(諸如自主機至記憶體控制器之一I2C命令)或串列通信介面(例如,一DDR4通信匯流排等)之一實體信號線(例如,一SAVE_n線)上之一信號等觸發一CSAVE操作。當NVDIMM接收CSAVE操作時,可設定一CSAVE_INFO暫存器中之一位元以指示觸發源(例如,SAVE_n或I2C命令)。該位元可包含一START_CSAVE位元,且CSAVE_INFO暫存器可包含一NVDIMM_FUNC_CMD暫存器。在一實例中,一暫存器可用於指示觸發源。例如,一CSAVE_TRIGGER_SUPPORT暫存器中之一SAVE_n觸發位元可用於指示已自串列通信介面(例如,DDR4)上之一SAVE_n觸發源觸發CSAVE操作。
在重新起動NVDIMM或包含NVDIMM之一系統之後(諸如在主電力損失之後),通信介面(諸如主機與NVDIMM之間的串列、多接針通信匯流排(例如,DDR4等))之一或多者可在一已知狀態中。在其中主機在控制之下之一CSAVE情境中(諸如在提供一I2C或SAVE_n命令以執行一CSAVE操作時),主機可將通信介面置於所需狀態中。然而,在其他實例中(諸如在主機或記憶體控制器變得無回應時),通信介面之狀態可為(例如,對NVDIMM而言)未知。特定標準要求,若通信介面之狀態並不在一特定、已知狀態中,則NVDIMM無法進行一CSAVE操作。例如,若主機未將記憶體控制器置於自刷新模式中,或記憶體控制器、揮發性記憶體或通信介面原本未在自刷新模式中(例如,在DRAM或DDR4通信介面閒置之情況下),則一傳統CSAVE操作將失敗。
本發明者尤其已認識到,當主機凍結、鎖定或以其他方式變得無回應或偏離正常操作時(即使在主機電力存在且有效時),且在某些實例中當通信介面之狀態已知或未知時(例如,在記憶體控制器、揮發性記憶體或通信介面之一或多者並不在自刷新模式中時),將儲存於揮發性記憶體中之資料之至少一部分(例如,關鍵資料、一些資料或所有資料等)備份、寫入或保存至非揮發性記憶體可為有利的。在本發明之實例性實施例中,在一復原或恢復情境中,針對恢復或診斷,一些資料可比無資料更佳。此外,若記憶體系統或揮發性記憶體並不在自刷新模式中(例如,在一時間段之後數次再檢查自刷新模式之後),則仍可執行一CSAVE操作。
此外,由於通信匯流排之狀態在此備份、寫入或保存發生時可能未知,所以可使用一或多個暫存器以向主機或一使用者表明此備份、寫入或保存發生,為何發生此備份、寫入或保存,或NVDIMM(例如,在通信匯流排在一未知狀態中時,在通信匯流排在不利於典型CSAVE功能性之一狀態中時,或在未啟用NVDIMM之一自刷新模式時等)具有執行此備份、寫入或保存之能力。
在一實例中,一計時器(例如,一監視計時器)可實施於主機與記憶體控制器之間,諸如在記憶體控制器中之一計時器暫存器中。在一實例中,該計時器暫存器可包含一HOST_TIMEOUT_CSAVE_TIMEOUT暫存器,例如,在頁15/偏移0x80 (P15:0x80)處。計時器暫存器可為具有讀取/寫入存取之一8位元暫存器[7:0]。計時器可藉由主機或記憶體控制器之一或兩者設定、程式化、起始、重設或以其他方式控制。在一實例中,計時器可藉由主機控制。在其他實例中,記憶體控制器可透過其他主機動作或指令推斷主機控制。
圖1繪示包含一主機105及一NVDIMM 110之一實例性系統100。主機105可包含諸如在一電子(或主機)裝置中之一主機處理器、一中央處理單元或一或多個其他處理器。NVDIMM 110包含一控制器125 (例如,一記憶體控制器、一處理裝置等)、一揮發性儲存部分130 (例如,RAM)、一非揮發性儲存部分145 (例如,NAND)、一第一介面120 (例如,一I2C匯流排)及一第二介面115 (例如,一DDR介面)。在一實例中,NVDIMM 110可符合一JEDEC NVDIMM-N標準系列。在其他實例中,NVDIMM 110可符合一或多個其他NVDIMM標準。
揮發性部分130 (例如,一揮發性記憶體陣列、記憶體胞群組等)可包含經由第二介面115儲存用於主機105之讀取或寫入操作之資料之一或多個DRAM或SRAM積體電路(IC)。非揮發性儲存部分145 (例如,一非揮發性記憶體陣列、記憶體胞群組等)可實施於不需要電力來維持狀態之任何儲存技術中。實例性非揮發性儲存技術可包含NAND快閃記憶體、NOR快閃記憶、儲存類記憶體(例如,相變記憶體)、磁性儲存器及類似者。
主機105可使用第一介面120與控制器125通信以執行NVDIMM 110內之各種操作,諸如執行一CSAVE,或啟用或停用控制器125之額外功能性(諸如一基於計時器之CSAVE觸發器),如本文中所描述。在一實例中,主機105或控制器125之一或多者可包含經組態以執行或控制本文中所描述之備份操作(例如,CSAVE等)之一或多者之一備份組件155 (例如,電路、處理裝置、專用邏輯、可程式化邏輯、韌體等)。控制器125可實施為電子硬體(諸如一FPGA、ASIC、數位信號處理器(DSP)或其他處理電路),且可執行該電子硬體上之指令(例如,韌體)以執行操作。
第一介面120可包含一I2C匯流排。主機105可使用I2C匯流排及I2C通信以設定控制器125中之暫存器。例如,主機105可設定一特定暫存器使得該暫存器中之一特定位元自零改變成一。當此位元值變化對應於一命令之執行時,控制器125可回應於位元修改而執行該命令。若命令具有自變量,則主機105可設定對應於該等自變量之暫存器。
在一實例中,控制器125可經組態以(例如,在控制器125之一解碼器135處)諸如經由第一介面120接收一經編碼訊息。在第一介面120根據一I2C標準系列操作之情況下,訊息編碼可為該訊息之I2C市場化。解碼器135可經配置以獲得包含一屬性之一經解碼訊息。在一實例中,該屬性可為一命令之一名稱。一命令名稱可在一封包化訊息之一有效負載中。在一實例中,屬性係一位址。一位址可在一封包化訊息之一標頭中。在一實例中,該位址可包含一頁指定符。在一實例中,位址可包含一頁指定符及一偏移兩者。
解碼器135或控制器125可經配置以比較屬性與對應於記憶體封裝之一廣告狀態之一屬性集以判定該屬性係在該屬性集中。此處,廣告狀態意謂可在NVDIMM 110外部觀察之NVDIMM 110之一狀態。例如,可藉由主機105讀取之一狀態位元(例如,一「忙碌位元」)或暫存器係一廣告狀態。在一實例中,該廣告狀態指示控制器125是否存在進行中之一操作。在一實例中,廣告狀態指示進行中之操作之一類型。
屬性與屬性集之比較可以若干方式實施。在一實例中,屬性集係儲存於一表140或其他資料結構中。此處,解碼器135或控制器125可經配置以將屬性與表140中之一記錄匹配以判定屬性係在屬性集中。若不存在匹配,則屬性並不對應於NVDIMM 110之一廣告狀態。在一實例中,屬性集可藉由JEDEC BAEBI標準系列(諸如JESD245B.01標準)定義。
NVDIMM 110可視需要包含與主機電力分離之一電源150。電源150可併入至NVDIMM封裝中,或連接至NVDIMM封裝(如所繪示)。在主機電力出現故障之情況下,電源150可提供電力以使控制器125能夠將資料自揮發性部分130移動至非揮發性部分145。
在本發明之實例性實施例中,計時器可在每次電力開啟時以0秒起動。至計時器暫存器之一非零寫入可起動(或若已起動,則重設或重新起動)計時器至該非零寫入之值。在一實例中,值之單位可以秒計。在1秒粒度下,一個8位元I2C暫存器可提供一計時器,其自1秒設定至255秒(4.25分鐘),遞增計數或遞減計數(例如,每秒一次等)。在一實例中,至計時器暫存器之零之一寫入可使計時器停止。在某些實例中,計時器暫存器之一讀取可重設計時器,或將計時器返回至先前經寫入值。
在一實例中,一旦藉由主機設定或回應於一主機命令或其他指令,記憶體控制器可(例如)每秒一次遞減計時器暫存器。當倒數到達0時,記憶體控制器可起始NVDIMM上之一CSAVE。
在一實例中,HOST_TIMEOUT_CSAVE_TIMEOUT暫存器可具有以下屬性:
表1:HOST_TIMEOUT_CSAVE_TIMEOUT屬性
在本文中之屬性表中,「存取」係主機存取性質(讀取/寫入(RW)、唯讀(RO)或唯寫(WO)),「強制」係強制性的(Y或N);「永久」係透過電力循環持續(Y或N);且「預設」係暫存器之預設值。
主機或記憶體控制器之一或兩者可經組態以在計時器期滿之前(例如,取決於計時器是否遞增計數或遞減計數等,在計時器上之時間期滿之前,或在時間到達經設定、程式化或預設時間之前)重設計時器。若計時器在未經重設或未藉由主機或記憶體控制器以其他方式停用之情況下期滿,則NVDIMM可執行一CSAVE操作,將儲存於揮發性記憶體中之資料之至少一部分保存至非揮發性記憶體。在一實例中,計時器暫存器可具有讀取/寫入能力,且可從一內部時脈或自主機接收之一或多個其他指令或時脈更新。
在某些實例中,使用一暫存器中之一或多個值,NVDIMM執行此計時器功能性之能力可傳遞至主機或一使用者且在此逾時發生時,回應於計時器之期滿發生一備份、寫入或保存(例如,CSAVE)。在一實例中,計時器功能性可使用一第一暫存器(例如,一供應商特定、支援暫存器等)中之一值傳遞至主機或使用者,且回應於計時器之期滿而發生之備份、寫入或保存(例如,CSAVE)可使用一第二暫存器(例如,一供應商特定、資訊暫存器等)中之一值傳遞至主機或使用者。
在一實例中,第一暫存器(例如,一支援暫存器)可包含一VENDOR_CSAVE_TRIGGER_SUPPORT暫存器(例如,在頁0/偏移0x16 (P0:0x16)處)。在某些實例中,第一暫存器可指示記憶體系統支援哪些CSAVE觸發器。第一暫存器並不與一CSAVE_TRIGGER_SUPPORT暫存器之內容重複,但對其進行補充,從而提供超出由藉由JEDEC定義之CSAVE_TRIGGER_SUPPORT暫存器所提供之進一步CSAVE觸發器支援之指示。在一實例中,在第一暫存器中設定之一位元可指示記憶體系統支援對應觸發器(例如,一監視計時器CSAVE觸發器等)或對應觸發器經啟用,而在第一暫存器中清除之一位元可指示記憶體系統並不支援對應暫存器或對應觸發經停用。在其他實例中,一第一位元可指示記憶體系統能夠執行對應觸發器,且一第二位元可啟用或停用對應觸發器。
在一實例中,第二暫存器(例如,一資訊暫存器)可包含一VENDOR_CSAVE_INFO暫存器(例如,在頁15/偏移0x82 (P15:0x82)處)。第二暫存器並不與CSAVE_INFO暫存器重複,但對其進行補充,從而提供回應於第一暫存器中指示之功能觸發最後CSAVE事件之進一步指示。在一實例中,若第一暫存器定義多個觸發器,則第二暫存器可提供哪一觸發器導致CSAVE事件之一指示。若一CSAVE事件係由不同於第一暫存器中所提供之指示之一事件觸發(例如,若CSAVE事件係由一I2C或SAVE_n命令觸發),則第二暫存器將提供第一暫存器中所定義之功能性並未觸發先前CSAVE事件之一指示。例如,若設定第二暫存器之一位元(例如,位元3),則藉由第一暫存器中所定義之功能性觸發最後CSAVE操作。在一實例中,一旦藉由一不同指令或事件觸發一CSAVE事件,便可清除位元。
在一實例中,第一及第二暫存器可為8位元暫存器[7:0],且可包含供應商特定暫存器,其等之位置可經保留或在一標準(例如,一JEDEC標準)中定義為供應商特定暫存器,但其等之功能並不在此標準中定義。在其他實例中,支援及資訊暫存器之功能可使用一單個暫存器中之不同位元或使用分離暫存器中之特定位元實施。
在一實例中,VENDOR_CSAVE_TRIGGER_SUPPORT暫存器及VENDOR_CSAVE_INFO暫存器可具有以下屬性:
表2:VENDOR_CSAVE_TRIGGER_SUPPORT屬性
表3:VENDOR_CSAVE_INFO屬性
當一CSAVE操作確實發生時,記憶體系統(例如,NVDIMM)可使揮發性記憶體(例如,DRAM)邏輯上(若非實體上)與主機斷開連接。例如,在自刷新模式中,記憶體控制器可停用揮發性記憶體之輸入緩衝器(例如,惟時脈及重設信號等除外)。在自刷新模式中,在維持電力時,甚至在揮發性記憶體中之一些或所有資料(例如,關鍵資料、一些資料或所有資料等)已經備份、寫入或保存至非揮發性記憶體之後,揮發性記憶體可維持其資料。
在一實例中,當揮發性記憶體(例如,DRAM)處於自刷新模式中時,DDR CKE0/CKE1信號經確證為低。此等信號係作為IPHI_NVCM_MISC_STATUS暫存器中之位元[5:4]呈現。因此,在某些實例中,此等位元可提供揮發性記憶體之自刷新狀態。
圖2繪示使用一記憶體系統之一處理裝置對該記憶體系統執行一內部備份操作之一實例性方法200。該內部備份操作可包含回應於一觸發事件且獨立於一主機特定事件而將儲存於記憶體系統之一揮發性記憶體胞群組上之資料之至少一部分保存至記憶體系統之一非揮發性記憶體胞群組。
在201,可偵測一觸發事件。該觸發事件可包含實施於記憶體系統上之一計時器之期滿。主機特定事件可包含來自一主機之一命令(例如,一保存命令、一自刷新模式命令等)。在其他實例中,主機特定事件可包含主機電力損失、一無效主機電力(例如,主機電力低於維持主機或記憶體系統操作之一臨限值等)。在一實例中,觸發事件可包含在以下之一或多者時計時器之期滿:主機電力有效(例如,高於一臨限值等);處理裝置並不在自刷新模式中;或主機與記憶體系統之間的一通信匯流排之一狀態(例如,對記憶體系統而言)未知。
在202,若未偵測一觸發事件,則程序可返回至201,且記憶體系統可監測或偵測一觸發事件。在202,若偵測該觸發事件,則在203,記憶體系統可判定記憶體系統是否在一自刷新模式中。在204,若記憶體系統並不在自刷新模式中,則記憶體系統可在某些實例中在一時間段之後(例如,在若干時脈循環、毫秒、秒等之後)重新判定記憶體系統是否在一自刷新模式中。在205之後,程序可返回至204,且若記憶體系統並不在自刷新模式中,則程序返回至205。在記憶體系統已多次(例如,5次、10次、20次等)重新判定記憶體系統並不在自刷新模式中之後,或在一時間段(例如,數個時脈循環、幾十或幾百毫秒、秒等)之後,記憶體系統可使內部備份操作失敗。
若在204記憶體系統係在自刷新模式中,則可在206執行備份操作。在某些實例中,若記憶體系統並不在自刷新模式中,則現有備份操作失敗。相比而言,重新判定記憶體系統是否在自刷新模式中可為記憶體系統或主機提供在使備份操作失敗之前將記憶體系統置於自刷新模式中之時間。
在其他實例中,即使記憶體系統並不在自刷新模式中,記憶體系統仍可儲存可藉由主機讀取之記憶體系統並不在自刷新模式中之一指示,執行備份操作,且儲存記憶體系統已執行備份操作之一指示。
圖3繪示使用一計時器觸發一記憶體系統(諸如一NVDIMM)中之一災難性保存操作(CSAVE)之一實例性方法300。在一實例中,該計時器可諸如使用一計時器暫存器實施於該NVDIMM中。
在301,實施計時器之計時器暫存器(例如,一HOST_TIMEOUT_CSAVE_TIMEOUT暫存器等)可在每次重設、重新起動、電力開啟時或在一先前CSAVE事件之後等預設至0。一記憶體控制器(例如,控制器125、處理裝置等)可自一主機(例如,一主機105)接收指令,且可以其他方式控制計時器之實施。一值0有效地停用計時器。
在302,若計時器暫存器(或記憶體控制器)接收一非零寫入,則計時器可在303設定至該值(例如,在1與255之間等)。在302,若計時器暫存器並未接收一非零寫入,則計時器之值可保持於0,且程序可返回至301。在方法300中之任何時間,若計時器暫存器接收0之一寫入,則程序可返回至301,計時器暫存器之值可設定至0,且倒數計時器可停止而不會起始CSAVE。在一實例中,記憶體控制器(或與記憶體控制器相關聯之邏輯)可寫入計時器暫存器之值。
在304,若計時器暫存器接收一非零寫入(例如,在1與255之間等),則計時器可在303設定至該值。若在304計時器暫存器並未接收一非零寫入,且在305計時器暫存器並未接收0之一寫入,則在306 (例如) 可使用記憶體控制器使計時器暫存器中之值遞減。在一實例中,記憶體控制器可經組態以使計時器每秒遞減一次。在其他實例中,可使用其他較長或較短時間段(例如,取決於記憶體系統之使用案例,計時器可每20毫秒、5秒、10秒等遞減)。若在305計時器暫存器接收0之一寫入,則程序可返回至301,計時器暫存器之值可設定至0且倒數計時器可停止。
在307,若計時器之值大於0,則程序可返回至304。在307,若計時器期滿(例如,在計時器之值不大於0時),可在308檢查記憶體系統之一或多個組件(例如,記憶體控制器、揮發性記憶體、通信介面等)之一自刷新模式。
在308,若記憶體系統或其之一組件(例如,記憶體控制器、揮發性記憶體、通信介面等)係在一自刷新模式中,則可在309觸發一CSAVE事件。在該CSAVE事件經觸發或完成之後,程序可返回至301。在另一實例中,方法300可忽略記憶體系統或通信介面之狀態。例如,若揮發性記憶體並不在自刷新模式中,但計時器在307期滿,則一CSAVE事件可仍在309發生(例如,省略步驟308)。
在308,若記憶體系統或其之一組件並不在自刷新模式中,則若干事項之一者可發生。在一實例中,計時器期滿且記憶體系統或其之一組件並不在自刷新模式中之一指示可(諸如)藉由記憶體控制器(例如)儲存於一自刷新暫存器中,且CSAVE事件仍可經觸發。在一實例中,揮發性記憶體並不在自刷新模式中之指示可使用一MODULE_HEALTH_STATUS0暫存器中之一DRAM_NOT_SELF_REFRESH位元儲存。此外,為繼續CSAVE事件,可清除CSAVE_INFO暫存器中之NVM_DATA_VALID位元。
在另一實例中,記憶體控制器可等待一段時間(例如,10毫秒、1秒、數個時脈循環等),接著再檢查(例如,n=n+1次)自刷新模式。再檢查自刷新之次數(例如,X次)及記憶體控制器在再檢查之前或在再檢查之間等待之時間段可為預設量、可重設或可程式化(例如,類似於上文所描述之計時器)。在數次(例如,X次)失敗之再檢查之後,可在309觸發CSAVE事件,或程序可返回至301而不會觸發一CSAVE事件。對於任一結果,失敗之再檢查之一指示可儲存(例如,於一再檢查暫存器中)以供記憶體系統行為之隨後參考、診斷或特性化。
在一實例中,在方法300中之任何點,計時器暫存器之任何讀取可傳回暫存器之當前值(在某些實例中,其對應於在記憶體系統起始CSAVE事件之前剩餘之秒數)。此外,在某些實例中,方法300可忽略記憶體系統是否經裝備以執行一CSAVE操作,且無關於記憶體系統之裝備狀態而執行該CSAVE,只要記憶體系統具有執行CSAVE操作之能力。
在某些實例中,方法300可在韌體更新期間(諸如在主機或記憶體系統接收一韌體更新時)停用。若計時器運行且一韌體更新模式經啟用,則記憶體系統可使計時器停止且停用一CSAVE事件。在一實例中,一旦韌體更新完成,計時器之先前狀態便無法復原,但保持停用直至重新起動或設定,諸如上文所描述。
圖4繪示一電腦系統400之一實例性機器,在該機器內可執行用於引起該機器執行本文中所論述之方法論之任一或多者之一指令集。在一些實施方案中,電腦系統400可對應於一主機系統(例如,圖1之主機系統105),該主機系統包含或利用一記憶體系統(例如,圖1之記憶體系統110)或可用於執行一控制器之操作(例如,執行一作業系統以執行對應於諸如本文中所描述之一備份或保存操作之操作)。在替代實施方案中,機器可連接(例如,網路連結)至一LAN、一內部網路、一商際網路及/或網際網路中之其他機器。該機器可作為客戶端-伺服器網路環境中之一伺服器機器或一客戶端機器而操作,作為一同級間(或分散式)網路環境中之一同級機器操作,或作為一雲端運算基礎設施或環境中之一伺服器機器或一客戶端機器操作。
機器可為一個人電腦(PC)、一平板電腦PC、一機上盒(STB)、一個人數位助理(PDA)、一蜂巢式電話、一網路設備、一伺服器、一網路路由器、一交換器或橋接器,或能夠執行指定藉由該機器採取之動作之一指令集(循序或以其他方式)之任何機器。此外,雖然僅繪示一單個機器,但術語「機器」亦應被視為包含個別或聯合執行之一(或多個)指令集以執行本文中所論述之方法論之任一或多者之機器之任何集合。
實例性電腦系統400包含一處理裝置402、一主記憶體404 (例如,唯讀記憶體(ROM)、快閃記憶體、動態隨機存取記憶體(DRAM),諸如同步DRAM (SDRAM)或Rambus DRAM (RDRAM)等)、一靜態記憶體406 (例如,快閃記憶體、靜態隨機存取記憶體(SRAM)等)及一資料儲存系統418,其等經由一匯流排430彼此通信。
處理裝置402表示一或多個通用處理裝置,諸如一微處理器、一中央處理單元或類似者。更特定言之,處理裝置可為一複雜指令集運算(CISC)微處理器、精簡指令集運算(RISC)微處理器、超長指令字集(VLIW)微處理器,或實施其他指令集之一處理器,或實施指令集之一組合之處理器。處理裝置402亦可為一或多個專用處理裝置,諸如一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)、一數位信號處理器(DSP)、網路處理器或類似者。處理裝置402經組態以執行用於執行本文中所論述之操作及步驟之指令426。電腦系統400可進一步包含經由網路420通信之一網路介面裝置408。
資料儲存系統418可包含其上儲存體現本文中所描述之方法論或功能之任一或多者之一或多個指令集或軟體426之一機器可讀儲存媒體424 (亦被稱為一電腦可讀媒體)。指令426亦可在其由電腦系統400執行期間完全或至少部分駐留於主記憶體404內及/或駐留於處理裝置402內,主記憶體404及處理裝置402亦構成機器可讀儲存媒體。機器可讀儲存媒體424、資料儲存系統418及/或主記憶體404可對應於圖1之記憶體系統110。
在一項實施方案中,指令426包含諸如在上文所描述之一非揮發性雙列直插記憶體模組(NVDIMM)記憶體系統上實施對應於備份操作之功能性之一備份組件155。雖然機器可讀儲存媒體424在一實例性實施方案中展示為一單個媒體,但術語「機器可讀儲存媒體」應被視為包含儲存一或多個指令集之一單個媒體或多個媒體。術語「機器可讀儲存媒體」亦應被視為包含能夠儲存或編碼藉由機器執行且引起機器執行本發明之方法論之任一或多者之一指令集之任何媒體。術語「機器可讀儲存媒體」應相應地視為包含(但不限於)固態記憶體、光學媒體及磁性媒體。
已根據對一電腦記憶體內之資料位元之操作之演算法及符號表示呈現前文詳細描述之一些部分。此等演算法描述及表示係熟習資料處理技術者用於向其他熟習此項技術者最有效地傳達其等工作之主旨之方式。一演算法在此處且通常被設想為導致一所要結果之一自行一致操作序列。該等操作係需要實體操縱實體量之操作。通常(但不一定),此等量呈能夠經儲存、組合、比較及以其他方式操縱之電信號或磁信號之形式。有時,主要出於常用之原因,將此等信號稱為位元、值、元件、符號、字母、術語、數字或類似者已證明係方便的。
然而,應記住,所有此等及類似術語應與適當實體量相關聯且僅為應用於此等量之方便標記。本發明可係指操縱表示為電腦系統之暫存器及記憶體內之實體(電子)量之資料且將該資料變換成類似地表示為電腦系統記憶體或暫存器或其他此等資訊儲存系統內之實體量之其他資料之一電腦系統或類似電子運算裝置之動作及程序。
本發明亦係關於用於執行本文中之操作之一設備。此設備可專門為預期目的而建構,或其可包含藉由儲存於電腦中之一電腦程式選擇性啟動或重新組態之一通用電腦。此一電腦程式可儲存於一電腦可讀儲存媒體中,諸如(但不限於)任何類型之磁碟(包含軟碟、光學磁碟、CD-ROM及磁光碟)、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、EPROM、EEPROM、磁卡或光學卡,或適於儲存電子指令之任何類型之媒體,上述各者耦合至一電腦系統匯流排。
本文中呈現之演算法及顯示並非固有地與任何特定電腦或其他設備有關。根據本文中之教示,各種通用系統可與程式一起使用,或可證明建構一更專用裝置來執行方法係方便的。用於各種此等系統之結構將如下文描述中所闡述般呈現。另外,本發明並不參考任何特定程式設計語言進行描述。將瞭解,各種程式設計語言可用於實施如本文中所描述之本發明之教示。
本發明可提供為可包含其上儲存有指令之一機器可讀媒體之一電腦程式產品或軟體,該等指令可用於程式化一電腦系統(或其他電子裝置)以執行根據本發明之一程序。一機器可讀媒體包含用於儲存呈可藉由一機器(例如,一電腦)讀取之一形式之資訊之任何機構。在一些實施方案中,一機器可讀(例如,電腦可讀)媒體包含一機器(例如,一電腦)可讀儲存媒體,諸如唯讀記憶體(「ROM」)、隨機存取記憶體(「RAM」)、磁碟儲存媒體、光學儲存媒體、快閃記憶體系統等。
在前文說明書中,本發明之實施方案已參考其之特定實例性實施方案進行描述。很顯然,可在不脫離如以下發明申請專利範圍中所闡述之本發明之實施方案之更廣精神及範疇之情況下對該等實施方案進行各種修改。因此,說明書及圖式應被視為具闡釋性意義而非限制性意義。
實例
實例
標的(例如,一系統)之一實例(例如,「實例1」)可包含一種記憶體系統,其包括:一揮發性記憶體胞群組;一非揮發性記憶體胞群組;及一處理裝置,其可操作地耦合至該揮發性記憶體胞群組及該非揮發性記憶體胞群組,該處理裝置經組態以回應於一觸發事件執行內部備份操作,該等內部備份操作包括:回應於該觸發事件判定該記憶體系統是否在自刷新模式中;回應於判定該記憶體系統並不在自刷新模式中,在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及回應於重新判定該記憶體系統係在自刷新模式中,執行包括將儲存於該揮發性記憶體胞群組上之資料之至少一部分保存至該非揮發性記憶體胞群組之該內部備份操作。
在實例2中,實例1之標的可視需要經組態使得該觸發事件包括一計時器之期滿。
在實例3中,實例1至2中任一或多者之標的可視需要經組態使得該處理裝置經組態以自一主機接收命令,且該計時器可藉由該主機重設。
在實例4中,實例1至3中任一或多者之標的可視需要經組態使得該處理裝置經組態以自該主機接收主機電力,且該觸發事件包括在該主機電力有效時該計時器之期滿。
在實例5中,實例1至4中任一或多者之標的可視需要經組態使得該觸發事件包括一保存命令。
在實例6中,實例1至5中任一或多者之標的可視需要經組態使得該等內部備份操作包括:將可藉由一主機讀取之該記憶體系統能夠執行該等內部備份操作之一指示儲存於一第一暫存器中;及在回應於該觸發事件執行該內部備份操作之後,將可藉由該主機讀取之該記憶體系統已執行該內部備份操作之一指示儲存於一第二暫存器中。
在實例7中,實例1至6中任一或多者之標的可視需要經組態使得作為對回應於該觸發事件判定該記憶體系統並不在自刷新模式中之回應,該等內部備份操作包括:在該時間段之後在未使該內部備份操作失敗之前第一次重新判定該記憶體系統是否在自刷新模式中,其中該時間段包括一預定或可選擇時間段。
在實例8中,實例1至7中任一或多者之標的可視需要經組態使得回應於該記憶體系統使該內部備份操作失敗,該等內部備份操作包括將可藉由一主機讀取之該記憶體系統由於未在自刷新模式中而使該內部備份操作失敗之一指示儲存於一第三暫存器中。
在實例9中,實例1至8中任一或多者之標的可視需要經組態使得判定該記憶體系統是否在自刷新模式中包括判定該揮發性記憶體胞群組是否在自刷新模式中。
標的(例如,一方法)之一實例(例如,「實例10」)可包括:回應於一觸發事件在一記憶體系統中執行內部備份操作,該等內部備份操作包括:使用該記憶體系統之一處理裝置回應於該觸發事件判定該記憶體系統是否在自刷新模式中;回應於判定該記憶體系統並不在自刷新模式中,使用該處理裝置並在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及回應於重新判定該記憶體系統係在自刷新模式中,使用該處理裝置執行包括將儲存於該記憶體系統之一揮發性記憶體胞群組上之資料之至少一部分保存至該記憶體系統之一非揮發性記憶體胞群組之該內部備份操作。
在實例11中,實例10之標的可視需要經組態使得該觸發事件包括一計時器之期滿。
在實例12中,實例10至11中任一或多者之標的可視需要經組態以包括使用該處理裝置自一主機接收命令,其中該計時器可藉由該主機重設。
在實例13中,實例10至12中任一或多者之標的可視需要經組態以包括自該主機接收主機電力,其中該觸發事件包括在該主機電力有效時該計時器之期滿。
在實例14中,實例10至13中任一或多者之標的可視需要經組態使得該觸發事件包括一保存命令。
在實例15中,實例10至14中任一或多者之標的可視需要經組態以包括:使用該處理裝置將可藉由一主機讀取之該記憶體系統能夠執行該等內部備份操作之一指示儲存於一第一暫存器中;及使用該處理裝置在回應於該觸發事件執行該內部備份操作之後將可藉由該主機讀取之該記憶體系統已執行該內部備份操作之一指示儲存於一第二暫存器中。
在實例16中,實例10至15中任一或多者之標的可視需要經組態使得回應於判定該記憶體系統並不在自刷新模式中,重新判定該記憶體系統是否在自刷新模式中包括在該時間段之後在未使該內部備份操作失敗之前第一次重新判定該記憶體系統是否在自刷新模式中。
在實例17中,實例10至16中任一或多者之標的可視需要經組態使得使該備份操作失敗包括將該記憶體系統由於未在自刷新模式中而使該內部備份操作失敗之一指示儲存於一第三暫存器中。
在實例18中,實例10至17中任一或多者之標的可視需要經組態使得判定該記憶體系統是否在自刷新模式中包括判定該揮發性記憶體胞群組是否在自刷新模式中。
標的(例如,非暫時性電腦可讀儲存媒體)之一實例(例如,「實例19」)可包括在藉由一處理裝置執行時引起該處理裝置執行以下操作之指令:回應於一觸發事件在一記憶體系統中執行內部備份操作,該等內部備份操作包括:回應於該觸發事件判定該記憶體系統是否在自刷新模式中;回應於判定該記憶體系統並不在自刷新模式中,在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及回應於重新判定該記憶體系統係在自刷新模式中,使用該處理裝置執行包括將儲存於該記憶體系統之一揮發性記憶體胞群組上之資料之至少一部分保存至該記憶體系統之一非揮發性記憶體胞群組之該內部備份操作。
在實例20中,實例19之標的可視需要經組態使得重新判定該記憶體系統是否在自刷新模式中之指令包括在藉由該處理裝置執行時引起該處理裝置執行以下操作之指令:在該時間段之後在使該備份操作失敗之前第一次重新判定該記憶體系統是否在自刷新模式中。
標的(例如,一系統或設備)之一實例(例如,「實例21」)可視需要組合實例1至20中任一或多項之任何部分或任何部分之組合以包括「用於」執行實例1至20之功能或方法之任一或多者之任何部分之「構件」,或包括在藉由一機器執行時引起該機器執行實例1至20之功能或方法之任一或多者之任何部分之指令之一「機器可讀媒體」(例如,非暫時性等)。
上文描述旨在具闡釋性而非限制性。例如,上述所述之實例(或其之一或多項態樣)可彼此組合使用。在檢視上文描述後,諸如一般技術者可使用其他實施例。主張瞭解其並非用於解譯或限制發明申請專利範圍之範疇或含義。再者,在上文實施方式中,各種特徵可集合在一起以簡化本發明。此不應被解釋為期望一未主張之揭示特徵係任何請求項之關鍵。實情係,本發明標的可能在於少於一特定揭示實施例之全部特徵。因此,以下發明申請專利範圍在此併入實施方式中,其中各請求項自身作為一單獨實施例,且預期此等實施例可以各種組合或排列彼此組合。應參考隨附發明申請專利範圍連同此等發明申請專利範圍所授權之等效物之全範圍來判定本發明之範疇。
100‧‧‧系統
105‧‧‧主機
110‧‧‧非揮發性雙列直插記憶體模組(NVDIMM)/記憶體系統
115‧‧‧第二介面
120‧‧‧第一介面
125‧‧‧控制器
130‧‧‧揮發性儲存部分/揮發性部分
135‧‧‧解碼器
140‧‧‧表
145‧‧‧非揮發性儲存部分/非揮發性部分
150‧‧‧電源
155‧‧‧備份組件
200‧‧‧方法
201‧‧‧步驟
202‧‧‧步驟
203‧‧‧步驟
204‧‧‧步驟
205‧‧‧步驟
206‧‧‧步驟
300‧‧‧方法
301‧‧‧步驟
302‧‧‧步驟
303‧‧‧步驟
304‧‧‧步驟
305‧‧‧步驟
306‧‧‧步驟
307‧‧‧步驟
308‧‧‧步驟
309‧‧‧步驟
400‧‧‧電腦系統
402‧‧‧處理裝置
404‧‧‧主記憶體
406‧‧‧靜態記憶體
408‧‧‧網路介面裝置
418‧‧‧資料儲存系統
420‧‧‧網路
424‧‧‧機器可讀儲存媒體
426‧‧‧指令/軟體
430‧‧‧匯流排
將自下文給出之詳細描述及自本發明之各項實施例之附圖更充分理解本發明。
圖1繪示根據本發明之一些實例之一非揮發性雙列直插記憶體模組(NVDIMM)裝置之一實例。
圖2繪示使用一記憶體系統之一處理裝置對該記憶體系統執行一內部備份操作之一實例性方法。
圖3繪示根據本發明之一些實例之使用一計時器觸發一記憶體系統中之一災難性保存操作(CSAVE)之一實例性方法。
圖4繪示本發明之實施例可在其中操作之一實例性電腦系統。
Claims (20)
- 一種記憶體系統,其包括: 一揮發性記憶體胞群組; 一非揮發性記憶體胞群組;及 一處理裝置,其可操作地耦合至該揮發性記憶體胞群組及該非揮發性記憶體胞群組,該處理裝置經組態以回應於一觸發事件執行內部備份操作,該等內部備份操作包括: 回應於該觸發事件判定該記憶體系統是否在自刷新模式中; 回應於判定該記憶體系統並不在自刷新模式中,在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及 回應於重新判定該記憶體系統係在自刷新模式中,執行包括將儲存於該揮發性記憶體胞群組上之資料之至少一部分保存至該非揮發性記憶體胞群組之該內部備份操作。
- 如請求項1之記憶體系統,其中該觸發事件包括一計時器之期滿。
- 如請求項2之記憶體系統,其中該處理裝置經組態以自一主機接收命令,且 其中該計時器可藉由該主機重設。
- 如請求項3之記憶體系統,其中該處理裝置經組態以自該主機接收主機電力,且 其中該觸發事件包括在該主機電力有效時該計時器之期滿。
- 如請求項1之記憶體系統,其中該觸發事件包括一保存命令。
- 如請求項1之記憶體系統,其中該等內部備份操作包括: 將可藉由一主機讀取之該記憶體系統能夠執行該等內部備份操作之一指示儲存於一第一暫存器中;及 在回應於該觸發事件執行該內部備份操作之後,將可藉由該主機讀取之該記憶體系統已執行該內部備份操作之一指示儲存於一第二暫存器中。
- 如請求項1之記憶體系統,其中作為對回應於該觸發事件判定該記憶體系統並不在自刷新模式中之回應,該等內部備份操作包括: 在該時間段之後在未使該內部備份操作失敗之前第一次重新判定該記憶體系統是否在自刷新模式中, 其中該時間段包括一預定或可選擇時間段。
- 如請求項7之記憶體系統,其中回應於該記憶體系統使該內部備份操作失敗,該等內部備份操作包括將可藉由一主機讀取之該記憶體系統由於未在自刷新模式中而使該內部備份操作失敗之一指示儲存於一第三暫存器中。
- 如請求項1之記憶體系統,其中判定該記憶體系統是否在自刷新模式中包括判定該揮發性記憶體胞群組是否在自刷新模式中。
- 一種方法,其包括: 回應於一觸發事件在一記憶體系統中執行內部備份操作,該等內部備份操作包括: 使用該記憶體系統之一處理裝置回應於該觸發事件判定該記憶體系統是否在自刷新模式中; 回應於判定該記憶體系統並不在自刷新模式中,使用該處理裝置並在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及 回應於重新判定該記憶體系統係在自刷新模式中,使用該處理裝置執行包括將儲存於該記憶體系統之一揮發性記憶體胞群組上之資料之至少一部分保存至該記憶體系統之一非揮發性記憶體胞群組之該內部備份操作。
- 如請求項10之方法,其中該觸發事件包括一計時器之期滿。
- 如請求項11之方法,其包括: 使用該處理裝置自一主機接收命令, 其中該計時器可藉由該主機重設。
- 如請求項12之方法,其包括: 自該主機接收主機電力, 其中該觸發事件包括在該主機電力有效時該計時器之期滿。
- 如請求項10之方法,其中該觸發事件包括一保存命令。
- 如請求項10之方法,其包括: 使用該處理裝置將可藉由一主機讀取之該記憶體系統能夠執行該等內部備份操作之一指示儲存於一第一暫存器中;及 使用該處理裝置在回應於該觸發事件執行該內部備份操作之後,將可藉由該主機讀取之該記憶體系統已執行該內部備份操作之一指示儲存於一第二暫存器中。
- 如請求項10之方法,其中回應於判定該記憶體系統並不在自刷新模式中,重新判定該記憶體系統是否在自刷新模式中包括在該時間段之後在未使該內部備份操作失敗之前第一次重新判定該記憶體系統是否在自刷新模式中。
- 如請求項16之方法,其中使該備份操作失敗包括將該記憶體系統由於未在自刷新模式中而使該內部備份操作失敗之一指示儲存於一第三暫存器中。
- 如請求項10之方法,其中判定該記憶體系統是否在自刷新模式中包括判定該揮發性記憶體胞群組是否在自刷新模式中。
- 一種非暫時性電腦可讀儲存媒體,其包括在藉由一處理裝置執行時引起該處理裝置執行以下操作之指令: 回應於一觸發事件在一記憶體系統中執行內部備份操作,該等內部備份操作包括: 回應於該觸發事件判定該記憶體系統是否在自刷新模式中; 回應於判定該記憶體系統並不在自刷新模式中,在一時間段之後在未使一內部備份操作失敗之情況下重新判定該記憶體系統是否在自刷新模式中;及 回應於重新判定該記憶體系統係在自刷新模式中,使用該處理裝置執行包括將儲存於該記憶體系統之一揮發性記憶體胞群組上之資料之至少一部分保存至該記憶體系統之一非揮發性記憶體胞群組之該內部備份操作。
- 如請求項19之非暫時性電腦可讀儲存媒體,其中重新判定該記憶體系統是否在自刷新模式中之該等指令包括在藉由該處理裝置執行時引起該處理裝置執行以下操作之指令: 在該時間段之後在使該備份操作失敗之前第一次重新判定該記憶體系統是否在自刷新模式中。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862628089P | 2018-02-08 | 2018-02-08 | |
US62/628,089 | 2018-02-08 | ||
US16/123,512 | 2018-09-06 | ||
US16/123,512 US20190243721A1 (en) | 2018-02-08 | 2018-09-06 | Backup operations from volatile to non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201944238A true TW201944238A (zh) | 2019-11-16 |
TWI715925B TWI715925B (zh) | 2021-01-11 |
Family
ID=67475133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108104091A TWI715925B (zh) | 2018-02-08 | 2019-02-01 | 用於備份操作之方法與非暫時性電腦可讀儲存媒體,以及可用於備份操作之記憶體系統 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190243721A1 (zh) |
CN (1) | CN111819549B (zh) |
TW (1) | TWI715925B (zh) |
WO (1) | WO2019157044A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11257527B2 (en) * | 2015-05-06 | 2022-02-22 | SK Hynix Inc. | Memory module with battery and electronic system having the memory module |
US10198204B2 (en) * | 2016-06-01 | 2019-02-05 | Advanced Micro Devices, Inc. | Self refresh state machine MOP array |
US20190243723A1 (en) * | 2018-02-08 | 2019-08-08 | Micron Technology, Inc. | Backup operations from volatile to non-volatile memory |
WO2021126541A1 (en) * | 2019-12-20 | 2021-06-24 | Rambus Inc. | Partial array refresh timing |
US20220076726A1 (en) * | 2020-09-04 | 2022-03-10 | Micron Technology, Inc. | Methods and apparatus for probabilistic refresh in volatile memory devices |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
US6944708B2 (en) * | 2002-03-22 | 2005-09-13 | Intel Corporation | Method of self-refresh in large memory arrays |
US8392650B2 (en) * | 2010-04-01 | 2013-03-05 | Intel Corporation | Fast exit from self-refresh state of a memory device |
WO2014120140A1 (en) * | 2013-01-30 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Runtime backup of data in a memory module |
US8908443B1 (en) * | 2014-05-27 | 2014-12-09 | Sandisk Technologies Inc. | Storage device and method for performing a self-refresh operation |
US9910775B2 (en) * | 2014-06-16 | 2018-03-06 | Samsung Electronics Co., Ltd. | Computing system with adaptive back-up mechanism and method of operation thereof |
US9645829B2 (en) * | 2014-06-30 | 2017-05-09 | Intel Corporation | Techniques to communicate with a controller for a non-volatile dual in-line memory module |
US10191681B2 (en) * | 2014-10-31 | 2019-01-29 | Hewlett Packard Enterprise Development Lp | Shared backup power self-refresh mode |
US9721640B2 (en) * | 2015-12-09 | 2017-08-01 | Intel Corporation | Performance of additional refresh operations during self-refresh mode |
US20180246643A1 (en) * | 2017-02-28 | 2018-08-30 | Dell Products, Lp | System and Method to Perform Runtime Saves on Dual Data Rate NVDIMMs |
-
2018
- 2018-09-06 US US16/123,512 patent/US20190243721A1/en not_active Abandoned
-
2019
- 2019-02-01 TW TW108104091A patent/TWI715925B/zh active
- 2019-02-06 CN CN201980017288.4A patent/CN111819549B/zh active Active
- 2019-02-06 WO PCT/US2019/016831 patent/WO2019157044A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20190243721A1 (en) | 2019-08-08 |
TWI715925B (zh) | 2021-01-11 |
WO2019157044A1 (en) | 2019-08-15 |
CN111819549A (zh) | 2020-10-23 |
CN111819549B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI715925B (zh) | 用於備份操作之方法與非暫時性電腦可讀儲存媒體,以及可用於備份操作之記憶體系統 | |
TWI712954B (zh) | 用於自刷新旁路之記憶體系統、方法及電腦可讀儲存媒體 | |
CN106462520B (zh) | 用于与非易失性双列直插式存储器模块的控制器通信的技术 | |
US12061544B2 (en) | CPU cache flushing to persistent memory | |
TWI514408B (zh) | 於裝置開機期間處置來自非揮發性記憶體之錯誤 | |
US9087562B2 (en) | Non-volatile storage module having magnetic random access memory (MRAM) with a buffer window | |
US11218019B2 (en) | Power backup architecture using capacitor | |
TWI731302B (zh) | 記憶體之部分儲存 | |
TW201027347A (en) | Solid state drive operation | |
US20130173848A1 (en) | Controller and Method for Using a Transaction Flag for Page Protection | |
TWI709034B (zh) | 自揮發性至非揮發性記憶體之備份操作 | |
US11740987B2 (en) | Automatic chip initialization retry | |
US11650925B2 (en) | Memory interface management | |
US20200264681A1 (en) | Power management for partial cache line sparing | |
US20240290413A1 (en) | Reducing read error handling operations during power up of a memory device | |
US11966303B2 (en) | Memory system failure detection and self recovery of memory dice | |
US11650750B2 (en) | Performing asynchronous scan operations across memory subsystems | |
US11768631B2 (en) | Rapid reliable file system access | |
US20240176532A1 (en) | Data reordering at a memory subsystem | |
CN115774886A (zh) | 用于存储器系统的安全文件系统 |