TWI709856B - 高效能持續記憶體 - Google Patents
高效能持續記憶體 Download PDFInfo
- Publication number
- TWI709856B TWI709856B TW105114179A TW105114179A TWI709856B TW I709856 B TWI709856 B TW I709856B TW 105114179 A TW105114179 A TW 105114179A TW 105114179 A TW105114179 A TW 105114179A TW I709856 B TWI709856 B TW I709856B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- dimms
- dimm
- group
- Prior art date
Links
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2015—Redundant power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
實施例大體上係針對具有裝置外儲存器之高容量能量備用記憶體。一記憶體裝置包括:一電路板;安裝於該電路板上之多個記憶體晶片;一控制器,其用以為在偵測到一電力損失條件時備份該等記憶體晶片之內容做準備;至一備用能量源之一連接;以及至與該記憶體裝置分離之一備用資料儲存器之一連接。
Description
本文中所描述之實施例大體上係關於電子裝置之領域,且更特定而言,係關於具有依電性記憶體效能之持續記憶體解決方案。
計算處理可為變化類型之操作中所需的,且變化類型之電腦記憶體可視特定操作來選擇。在特定操作中,除諸如動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)之依電性記憶體外或作為DARM之替代,將非依電性記憶體用於操作記憶體之至少一部分係有利的。
計算系統通常包括依電性及非依電性記憶體兩者。依電性記憶體之內容在將電力自依電性記憶體裝置移除時不再可獲得,此係因為依電性記憶體在無電條件下不保持內容。通常,在偵測到電力損失後,依電性記憶體之內容經移動至非依電性記憶體。提供依電性及非依電性兩個類型之記憶體,此係因為存取依電性記憶體比存取非依
電性記憶體快。
諸如雙列直插式記憶體模組(dual in line memory module,DIMM)之記憶體模組包括多個記憶體裝置。記憶體裝置可包括依電性及非依電性記憶體裝置兩者。
依據本發明之一實施例,係特地提出一種記憶體模組,其包含:安裝於一電路板上的多個依電性記憶體晶片;以及一控制器,其用以為在一電力損失條件下將該等多個依電性記憶體晶片之內容移動至與該記憶體模組分離之一非依電性儲存裝置做準備。
100‧‧‧能量備用混合式記憶體模組
110‧‧‧記憶體晶片
120‧‧‧控制元件
140、925‧‧‧能量源
150‧‧‧儲存器
200‧‧‧NVDIMM
210‧‧‧NVDIMM正面
215、315、335‧‧‧DRAM積體電路
220‧‧‧NVDIMM背面
225‧‧‧NAND記憶體
230‧‧‧記憶體控制器
250、350‧‧‧超級電容器連接器
300、410、415、920‧‧‧混合式記憶體模組
310‧‧‧正面
320‧‧‧背面
340‧‧‧IO啟動器
400‧‧‧設備或系統
405、505‧‧‧CPU
420‧‧‧儲存控制器
422‧‧‧多工器
450‧‧‧模組外儲存器
460‧‧‧超級電容器子系統
500、600‧‧‧計算系統
510、610‧‧‧DRAM-DIMM1
512、612‧‧‧DRAM-DIMM2
520‧‧‧NVDIMM1
522‧‧‧NVDIMM2
530、630‧‧‧iMC1
532、632‧‧‧iMC0
534‧‧‧iIO
540、640、642、644‧‧‧超級電容器1
542‧‧‧超級電容器2
620‧‧‧HMM1
622‧‧‧HMM2
650、930‧‧‧固態硬碟(SSD)
660‧‧‧平台控制器集線器(PCH)
900‧‧‧系統
905‧‧‧匯流排
910‧‧‧處理器
915‧‧‧主記憶體
935‧‧‧唯讀記憶體(ROM)
940‧‧‧傳輸器或接收器
942‧‧‧埠
944‧‧‧天線
950‧‧‧輸入裝置
955‧‧‧輸出顯示器
960‧‧‧電池或其他電源
此處所描述之實施例係以實例而以限制性在隨附圖式之諸圖中說明,在該等圖式中,相似參考數字指類似元件。
圖1為具有模組外儲存器之能量備用混合式記憶體模組之一實施例的說明;圖2為NVDIMM記憶體裝置之說明;圖3為具有模組外合併儲存器之能量備用混合式記憶體模組之一實施例的說明;圖4為包括具有模組外合併儲存器之能量備用混合式記憶體模組之系統之一實施例的說明;圖5為利用NVDIMM裝置之系統的說明;圖6為包括具有裝置外合併儲存器之能量備用混合式記憶體模組之系統之一實施例的說明;
圖7為用以說明根據實施例恢復操作利用之處理程序的流程圖;圖8為用以說明根據實施例的電力損失情況下之記憶體操作之處理程序的流程圖;以及圖9為包括具有模組外儲存器之能量備用混合式記憶體模組之電子設備或系統之一實施例的說明。
本文中所描述之實施例大體上係針對高效能持續記憶體。
出於此描述之目的:
「主記憶體」或「主要記憶體」係處理器或電腦主要存取的用於程式及資料之電腦記憶體。主記憶體通常外依電性記憶體,諸如動態隨機存取記憶體(DRAM)。
「非依電性記憶體」意謂在不連接至電源之情況下保持所儲存值的記憶體。非依電性記憶體可包括(但不限於)包括於非依電性記憶體晶片中之NAND記憶體、NOR記憶體或其他合適的非依電性記憶體,諸如,相變記憶體(PCM)、位元組可定址三維交叉點記憶體、電阻性記憶體、奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、併有憶阻器技術之磁電阻隨機存取記憶體(MRAM)記憶體、自旋轉移力矩(STT)-MRAM、位元組可定址隨機存取非依電性記憶體以及其他技術。如本文中所使用,NAND記憶體可被稱為「NAND」。
「DIMM」或「雙列直插式記憶體模組」意謂包括一電路板及多個電腦記憶體積體電路(IC,亦被稱為記憶體晶片)之模組,其中該電路板包括位於該電路板之每一側上的單獨電觸點以使得能夠在每一側上安裝電氣元件。包括至少某些DRAM組件之DIMM可指DRAM DIMM
如本文中所使用,NVDIMM為DRAM DIMM之類別或類型。NVDIMM單元通常包括DRAM裝置,該等DRAM裝置與非依電性記憶體(諸如NAND記憶體)一起介接至一記憶體控制器。在電力故障條件期間,DRAM之內容係藉由記憶體控制器保存至非依電性記憶體。
然而,習知裝置由於NVDIMM含有DRAM媒體及非依電性記憶體媒體兩者之事實而在容量上受到限制,因此減少DIMM內可供DRAM媒體使用的實體空間之量。歸因於此限制,NVDIMM裝置之記憶體容量顯著小於僅含有DRAM裝置之DIMM之容量。
在一些實施例中,混合式記憶體模組(其在本文中可被稱為「HMM」)為經由使用模組外儲存器(off module storage)提供持續記憶體以保持資料值的記憶體模組。在一些實施例中,混合式記憶體模組藉由提供將依電性記憶體之內容儲存於單獨儲存媒體中之持續記憶體來解決NVDIMM裝置之限制。在此情況下,此亦使儲存媒體能夠跨多個混合式記憶體模組共用,而非需要每一記憶體模組將單獨儲存媒體包括於記憶體模組內。
相比於習知記憶體裝置,具有模組外儲存器之能
量備用(energy backed)混合式記憶體模組之一實施例提供外加資料持續的利用DIMM裝置之新穎機制,因此允許在亦提供資料持續之同時維持DRAM記憶體效能。
圖1為具有模組外儲存器之能量備用混合式記憶體模組之一實施例的說明。在一些實施例中,能量備用混合式記憶體模組100包括用於資料儲存之多個記憶體晶片(諸如DRAM記憶體積體電路)110,及經展示為控制件120之控制元件,以提供資料自混合式記憶體模組100至模組外資料儲存器150(其在本文中亦可被稱為備用資料儲存器)的儲存。混合式記憶體模組100可包括(但不限於)DIMM結構,且在本文中可被稱為混合式記憶體模組或混合式DIMM。模組外資料儲存器150可包括(但不限於)固態硬碟(SSD)。
在一些實施例中,混合式記憶體模組100及資料儲存器150與一或多個能量源(能量源在本文中亦可被稱為備用能量源)耦接以允許在至含有此等元件之設備及系統之電力損失之後操作。在一些實施例中,一或多種能量源140可包括(但不限於)一或多個超級電容器,該等一或多個超級電容器在操作期間經充電且利用電荷在資料自DRAM 110至儲存器150之儲存期間維持混合式記憶體模組100及資料儲存器150之操作。如本文中所使用,「超級電容器」裝置(在本文中亦被稱為「超級電容(supercap)」)為高容量電化電容器,且亦可被稱為「超電容器(ultracapacitor)」。在一些實施例中,一或多個能量源可替代地包括可再充電
電池或其他可再生能源,或能量源之一組合。
在一些實施例中,使用者或製造商可選擇藉由能量備用混合式記憶體模組100來進行電力保護(保存及恢復)的記憶體之部分範圍。以此方式,在(例如)使用者或製造商希望利用較小儲存元件而無需替換混合式記憶體模組100以匹配儲存容量的情況下,模組外資料儲存器可具有小於記憶體110之容量。
圖2為NVDIMM裝置之說明。如圖2中所示之NVDIMM 200含有在記憶體模組之一側(說明為NVDIMM前側210)上的DRAM積體電路215,且包括NAND記憶體(或其他非依電性記憶體)225(其可包括NAND控制器),及在記憶體模組之另一側(說明為NVDIMM背面220)上的記憶體控制器230(其可為FPGA、場可規劃閘陣列、ASIC、特殊應用積體電路或其他控制器)。NVDIMM進一步包括提供電力埠的至備用電源之連接(諸如超級電容器連接器250),經說明為包括兩個接地插腳及兩個電力(諸如12伏特)連接器。
在操作中,記憶體控制器230可偵測電力故障,且回應於電力故障而操作以將DRAM 215之資料內容複製至NAND 225。此外,超級電容器電源係在操作期間充電,且意欲提供足夠電力以允許資料自DRAM記憶體至NAND儲存器之儲存。
在通電事件期間,在MRC(記憶體參考程式碼)初始化DRAM之後,MRC請求記憶體控制器230自NAND
225恢復DRAM內容。經由ASL程式碼,BIOS(基本輸入/輸出系統)將NVDIMM所佔用之系統實體位址(SPA)表示為持續記憶體(在E820/UEFI獲得記憶體映像及NVDIMM韌體介面表(NFIT)ACPI表中),且將NVDIMM表示為NVM(非依電性記憶體)裝置。OS(作業系統)將此等SPA範圍理解為持續或依電性記憶體且相應地向應用程式/工作負荷暴露。
當前可獲得的NVDIMM裝置含有在DIMM之一側上的DRAM裝置;及在DIMM之另一側上的NAND裝置及記憶體控制器。NVDIMM與超級電容器連接,超級電容器在DIMM電力故障時充當臨時電源。當系統電力下降時,DRAM內容經儲存於NAND中,且此等內容在含有NVDIMM之系統的下一個啟動中之記憶體初始化期間將恢復至DRAM。
然而,如圖2中所說明之設備的問題可包括:
(1)NVDIMM具有在正面210上的DRAM積體電路,及在背面220上的NAND儲存器225及記憶體控制器230,如圖2中所說明。因此,裝置之總容量由於NAND 225及記憶體控制器230所佔用之佔據面積而減小,此限制可用的DRAM記憶體之量。
(2)儲存於NAND 225中之資料為儲存於DRAM中之資料。然而,歸因於信號完整性變化,位址/資料加擾播種(seed)系統之啟動之間的改變。出於此原因,使用位址/資料加擾禁用模式,NVDIMM通常不提供位址或資料加擾,因此可導致記憶體中之熱點(其中特定記憶體位置將不
斷地用於儲存)或記憶體子系統中之更多錯誤(在記憶體之特定部分易於出錯之情況下)。
(3)NAND裝置管理與可用於較大儲存裝置之管理相比係大體上基本的,其導致低品質可靠性、可用性以及可服務性(Reliability,Availability,and Serviceability,RAS)。
(4)當DRAM IC 215或NAND IC 225故障時,此需要替換整個裝置200,因此增加擁有成本。
(5)關於製造成本,NVDIMM解決方案之總成本為類似大小之DRAM DIMM之成本的大約三倍至四倍。
(6)儲存於NVDIMM 200上之資料通常不受保護,此係因為資料在電力故障時僅自DRAM 215複製至NAND 225,且結果,NVDIMM自一個系統至另一系統之移動可無意地造成儲存於NAND 225上之資料可存取。
圖3為具有模組外合併儲存器之能量備用混合式記憶體模組之一實施例的說明。在一些實施例中,記憶體裝置之一實施例包括具有在NVDIMM外之備用儲存媒體的混合式記憶體模組300,如圖3中所說明。在一些實施例中,混合式記憶體模組300包括具有DRAM積體電路315之第一集合的正面310,及具有DRAM積體電路335之第二集合的背面320。如所說明,背面320進一步包括IO啟動器340及提供電力埠之超級電容器連接器350。儘管此實施中之連接器經指明為超級電容器連接器,但實施例不限於此能量源,且可替代地包括至可再充電電池或其他可再生能源或能量
源之組合的連接。
在一些實施例中,混合式記憶體模組之結構允許製造高容量持續記憶體以保持資料值而不損害容量,此係因為混合式記憶體模組上之額外空間可用於具有在模組外之備用儲存器之DRAM。
在一些實施例中,如圖3中所說明之能量備用元件可包括於計算系統之每一DIMM中,其中系統可選擇是否實施設備之備份功能性。因此,每一此記憶體裝置可視系統中之實施而用作為能量備用混合式記憶體模組或用作為DRAM DIMM。
圖4為包括具有模組外合併儲存器之能量備用混合式記憶體模組之設備或系統之一實施例的說明。如所說明,設備或系統400包括說明為CPU(中央處理單元)405之一或多個處理器,該等一或多個處理器經由DDR(雙資料速率)連結與一個415耦接。混合式記憶體模組410至415(HMM1及HMM2,其中HMM指混合式記憶體模組)中之每一者可為如圖3中所說明之混合式記憶體模組300。
HMM1及HMM2模組耦接至儲存控制器420,該儲存控制器提供控制操作以用於在電力故障時將資料儲存於設備400中。如所說明,儲存控制器420包括多工器422及多工器控制器,以一次一個地選擇混合式記憶體模組以用於將來自每一模組之資料儲存至模組外儲存器450。在一些實施例中,儲存控制器420可為資料及電力控制單元之一部分或子系統。
在一些實施例中,混合式記憶體模組410至415及模組外儲存器(包括儲存控制器420及儲存器450)與備用能量源(其可包括(但不限於)超級電容器子系統(包括一或多個超級電容器)460)耦接,以提供將儲存於混合式記憶體模組410至415上之資料保存至儲存器450所必需的電力。藉由將混合式記憶體模組410至415外之儲存媒體移動至儲存器450,設備400允許多個混合式記憶體模組共用儲存器450之儲存容量,該共用因此能夠降低混合式記憶體模組解決方案之總體成本。
在一些實施例中,設備或系統400包括:
(1)一控制器,其在混合式記憶體模組410至415中之每一者上以用於在電力故障時複製其DRAM媒體之內容,諸如圖3中所說明之IO啟動器340。
(2)儲存控制器420,在其後具有充當模組外儲存器之儲存媒體450。
(3)超級電容器子系統460或其他能量源,其用以在系統電力損失條件下提供能量至混合式記憶體模組及模組外儲存器兩者。
(4)由多工邏輯及定序器組成之合併儲存解決方案,其允許多個混合式記憶體模組共用儲存媒體。定序邏輯確保僅一個混合式記憶體模組能夠在給定時間對儲存媒體寫入。
再次參看圖4,在系統電力故障時,系統400上之混合式記憶體模組410至415上之控制器經由SAVE_n信號
(或其他通知)而被告知電力故障。在一些實施例中,回應於SAVE_n信號,混合式記憶體模組控制器用以仲裁以取得對儲存控制器之存取,以開始混合式記憶體模組之保存操作。定序邏輯提供一次一個混合式記憶體模組之存取。混合式記憶體模組序列之選擇可根據指派給每一模組之優先權,但實施例不限於優先權定序且可使用其他因素來判定記憶體模組單元之排序。仲裁成功之混合式記憶體模組(在此實例中,HMM1)開始裝置之保存操作。一旦HMM1完成其保存,HMM1即放棄對多工器之存取,從而允許HMM2贏得其伸裁。在一些實施例中,超級電容器子系統460提供足夠電力至儲存控制器420,以允許所有提供之混合式記憶體模組完成其保存操作。在一些實施例中,每一混合式記憶體模組保存係用後設資料標記,後設資料允許儲存控制器420關聯保存影像與對應之混合式記憶體模組。在一些實施例中,在平台通電時,混合式記憶體模組410至415再次關於對儲存控制器420之存取仲裁,以將混合式記憶體模組之各別保存影像自儲存器460恢復至每一混合式記憶體模組之DRAM。
儘管上文描述多個記憶體模組關於開始保存操作以將資料推送至儲存器進行伸裁,但實施例不限於此實施。在其他實施例中,系統可實施為實際上自混合式記憶體模組提取資料,其中儲存控制項提供指令至混合式記憶體模組以某一序列自此等模組獲得資料。
在一些實施例中,系統400可藉由在資料自混合
式記憶體模組至儲存器450中之儲存完成後,自每一混合式記憶體模組移除電力來提供額外功率效率。舉例而言,在電力故障後,電力係由超級電容460提供至HMM1 410及HMM2 415。若選定序列使HMM1在HMM2之前被選擇,則在資料自HMM1至儲存器450之儲存完成後,自HMM1移除電力,且接著在資料自HMM2至儲存器450之儲存完成後,自HMM2移除電力。在一些實施例中,額外功率效率係藉由在電力損失後隔離混合式記憶體模組與任何其他連接而提供。
在一些實施例中,藉由在電力故障後壓縮來自每一混合式記憶體模組之資料以使得將資料備份至儲存器所需之時間減少,可達成額外電力節省。
圖5為利用NVDIMM裝置之系統的說明。圖5說明具有具兩個整合式記憶體控制器(iMC)之CPU 505的計算系統500,具有填充在iMC0 532上的兩個NVDIMM裝置(說明為NVDIMM1 520及NVDIMM2 522);及填充在iMC1 530上的兩個DRAM DIMM(說明為DRAM-DIMM1 510及DRAM-DIMM2 512)。DRAM-DIMM1及NVDIMM1在通道1上,且DRAM-DIMM1及NVDIMM1在通道2上。亦說明與PCIe(快速周邊組件互連)連接耦接的整合式IO,iIO 534。
如進一步所說明,每一NVDIMM附接至超級電容器,其中NVDIMM1 520與超級電容器1 540耦接且NVDIMM1 522與超級電容器2 542耦接。該等超級電容器在平台加電期間充電且可在電力故障時供應電力至每一
NVDIMM。
圖6為包括具有模組外合併儲存器之能量備用混合式記憶體模組之系統之一實施例的說明。在一些實施例中,具有CPU 605之計算系統600包括兩個整合式記憶體控制器(iMC),具有填充在iMC0 632上的兩個混合式記憶體裝置(說明為HMM1 620及HMM2 622);及填充在iMC1 630上的兩個DRAM DIMM(說明為DRAM-DIMM1 610及DRAM-DIMM2 612)。DRAM-DIMM1及HMM1在通道1上,且DRAM-DIMM2及HMM2在通道2上。儘管DRAM-DIMM及混合式記憶體裝置在計算系統600中不同地實施及處置,但在一些實施例中,DRAM-DIMM裝置(而非習知DRAM裝置)亦包括諸如圖1及圖3中所說明之能量備用元件,其中DIMM裝置之實施可判定裝置係被視為依電性記憶體或持續能量備用記憶體。因此,DRAM-DIMM1 610及DRAM-DIMM2 612可實體地等效於HMM1 620及HMM2 622。
在一些實施例中,HMM1 620及HMM2 622各自與I2C及串列介面(諸如,至SATA多工器644之串列ATA(SATA)連結)耦接,SATA多工器與諸如SSD 650之儲存元件耦接。此外,CPU 605與整合式IO(iIO)634耦接,整合式IO另外與平台控制器集線器(Platform Controller Hub,PCH)660耦接,PCH 660另外與至SATA多工器644之I2C及SATA連結耦接。儘管針對圖6中之說明提供SATA連結,但實施例不限於此實施,且儲存介面可替代地為快速周邊組
件互連(Peripheral Component Interconnect Express,PCIe),其中PCIe可與CPU 605之iIO 634或與PCH 660、iIO 634或與CPU 605耦接之IO裝置耦接的其他合適高速串列介面(諸如,通用串列匯流排(Universal Serial Bus,USB)3.0TM、FirewireTM或其他介面)耦接。
在一些實施例中,每一HMM 620至622及SSD 650與備用能量源(其可包括(但不限於)超級電容器子系統)耦接,以在電力故障條件下提供用於保持資料之電力,此經說明為HMM1 620、HMM2 622及SSD 650分別與超級電容器1 640、642及644耦接,其中超級電容器1表示可包括一或多個超級電容器(或其他能量源)之備用電力設備或子系統。在一些實施例中,超級電容器1在平台通電期間充電,且在計算系統600之電力損失後,供應備用電力至每一混合式記憶體裝置及SSD儲存器。
在一些實施例中,計算系統600提供資料容量及資料持續兩者,因此使能量備用混合式記憶體模組能夠用於諸如記憶體資料庫之用途。此外,藉由跨多個混合式記憶體模組提供合併儲存器解決方案,可實施該系統以降低用於多個混合式記憶體模組環境之持續記憶體解決方案的總成本。
在一些實施例中,包括能量備用記憶體之設備或系統600之實施例提供以下各者:
(1)在系統電力損失(諸如系統故障或系統斷電)時將混合式記憶體模組620至622之DRAM內容備份至SSD
650,且在平台通電期間將該等DRAM內容恢復回至DRAM。為了達成此操作,混合式記憶體模組含有串列ATA(SATA)介面(或其他串列介面)、I2C介面及超級電容器連接器以用於DRAM資料之電力保護。SATA及I2C介面經由SATA多工器644(其經由I2C介面連接)與說明為SSD 650之電力受保護SATA硬碟耦接。SATA多工器644允許多個混合式記憶體模組連接至單一SATA硬碟,以使得該硬碟可用作所有混合式記憶體模組之共同儲存器。在一些實施例中,多工器644進一步包括允許SATA硬碟藉由主機平台控制器集線器660存取之埠。
(2)當平台電力故障時,HMM之DRAM內容係與後設資料一起保存至SATA硬碟,其中保存操作可一次一個混合式記憶體模組地依序實施。當平台恢復通電時,記憶體初始化程式碼或DIMM SATA控制器自SSD儲存器恢復每一混合式記憶體模組之內容,其中資料自SSD儲存器之恢復亦可一次一個混合式記憶體模組地依序執行。
應注意,儘管本文所提供之實例用途SATA SSD及I2C多工器,但實施例不限於此特定實施,且可包括任何能量備用儲存裝置,包括任何點對點、匯流排或基於網路之儲存器。
在一些實施例中,設備或系統可提供優於現有的基於NVDIMM之解決方案的以下益處:
(1)更持續DRAM容量:習知系統中可獲得的NVDIMM容量由於需要交替使用DRAM容量之大部分(通
常DRAM容量之一半,DIMM裝置之一側上的容量之量)以適應相同DIMM形狀因數下之NAND儲存器及記憶體控制器而顯著減小。因此,總體OS可見記憶體容量大體上減少一半,導致降低的工作負荷效能。在一些實施例中,藉由將非依電性儲存器移位至模組外之位置,混合式記憶體模組上之可用佔據面積係更有效地應用於DRAM。與NVDIMM裝置相比,重新分割之依電性及非依電性記憶體可有效地使OS可見持續記憶體大小倍增,從而導致改良之工作負荷效能。
(2)低總擁有成本(Total Cost of Ownership,TCO):NVDIMM解決方案之成本大體上為購買DRAM之成本的三倍至四倍。相比之下,用於實施能量備用持續記憶體之實施例的成本為DRAM之成本加上SSD之成本(假設處理器支援自DRAM至SSD特徵之電力故障複製)。大容量SSD之成本顯著小於用於類似容量之DRAM之成本(大約為十分之一)。在在實例中,一實施例中的持續記憶體之總成本可能僅為DRAM之成本的大致1.2倍(假設DRAM容量倍增至SSD佈建)。
(3)低服務成本:在NVDIMM中,DRAM及NAND裝置在同一DIMM上。若任一個裝置故障/降級,則需要替換整個NVDIMM。相比之下,在包括能量備用混合式記憶體模組之設備或系統之一實施例中,DRAM及儲存裝置為設備或系統中之單獨元件,且因此,若此等元件中之一者故障或降級,則故障或降級裝置可另一裝置而交換,因此
降低服務成本/TCO。
(4)支援資料加擾:資料加擾特徵對於減少由記憶體熱點引起之信號完整性雜訊很重要,其中用位址加擾自記憶體控制器(MC)至DRAM之資料以減少記憶體中之熱點。利用現有NVDIMM,將來自DRAM裝置之資料儲存至NAND,且在下一次通電時恢復資料。然而,NAND控制器通常不瞭解MC如何加擾資料。現有NVDIMM可藉由禁用資料加擾來避開此問題,因此反而失去資料加擾之益處。
相比之下儲存於能量備用混合式記憶體之一實施例中之資料提供對資料加擾之支援。在一些實施例中,混合式記憶體模組上之SATA介面將內容儲存至SATA SSD,其具有針對BIOS分配之DRAM區域以儲存後設資料,諸如DIMM交錯資訊及資料加擾簽章。
在一些實施例中,當平台再啟動時,記憶體初始化程式碼讀取SATA SSD內容且判定加擾圖案且將其轉換成實際資料且儲存至DRAM。BIOS亦將基於錯誤校正碼(Error Correction Code,ECC)來偵測未校正錯誤且定位具有錯誤之記憶體位置。因此,儲存於SSD中之資料不受位址/資料加擾特徵影響。因此,可實施一實施例以提供與現有NVDIMM解決方案相比經改良之RAS。
(5)記憶體交錯變化:利用NVDIMM,若NVDIMM交錯變化,則應用程式將極難獲得先前資料。出於此原因,通常需要任何NVDIMM位置改變及恢復資料之前備份NVDIMM持續資料。在一些實施例中,因為BIOS自
DIMM外儲存器恢復資料,所以BIOS可重新組譯資料,只要存在足夠DRAM容量,與新交錯或DRAM DIMM變化無關。
(6)高RAS(可靠性、可用性以及可服務性):在現有NVDIMM裝置中,添加諸如壞區塊重新映射、磨損調節、晶粒故障等的特徵至NAND控制器使FPGA之尺寸增大或需要額外NAND裝置,且因此增加成本。出於此原因,NVDIMM通常不提供高RAS能力。相比之下,實施例將標準SSD用於模組外儲存器,其中SSD通常含有諸如壞區塊、重新映射、磨損調節、晶粒故障等的特徵。
(7)持續資料安全性:NVDIMM實施通常不提供對所儲存資料之保護。出於此原因,使用者能夠將NVDIMM自一個系統移動至其他系統,且接著能夠在無提供任何授權的資料之原創者之情況下讀取資料。在一些實施例中,將SSD或類似儲存器用於儲存持續資料,且因此可採用當今可用於SSD上之安全性機制,諸如檔案加密
在一些實施例中,設備或系統之一實施例包括提供具有持續記憶體功能性的淚DRAM效能之如下平台層級解決方案。
(1)混合式記憶體模組各自含有SATA(或其他串列介面)控制器、I2C控制器及超級電容器(或其他能量源)連接器,其中DRAM內容在平台電力故障時電力受保護。
(2)SATA SSD及SATA多工器邏輯使用超級電容器或其他能量源來進行電力保護。
(3)混合式記憶體模組及SATA硬碟係經由SATA多工器連接,SATA多工器可由I2C埠控制以經由PCH SATA埠切換至特定混合式記憶體模組或切換至主機。
(4)當平台通電時,BIOS初始化DIMM裝置(包括混合式記憶體模組)為正常的且藉由與DIMM控制器通訊來瞭解哪些DIMM含有SATA埠。
(a)包括SATA埠之每一混合式記憶體模組經預設規劃為不將資料儲存至SSD,儲存功能僅在BIOS將資料完全恢復回至DRAM之後啟用。
(5)BIOS經由I2C發出命令以經由具有I2C控制介面之SATA多工器操控SSD至適當DIMM SATA介面或PCH。
(6)BIOS讀取SSD之內容及其後設資料。若DRAM內容存在,則BIOS將該等內容恢復至適當DRAM。
(a)BIOS檢查後設資料以判定DRAM大小交錯資訊且判定系統實體位址(SPA)範圍以複製資料。BIOS檢查後設資料以判定資料加擾圖案且使用該圖案將資料自SSD恢復至DRAM。
(b)若禁用加擾,則BIOS可請求每一混合式記憶體模組SATA控制器恢復DRAM資料,或BIOS可恢復資料。
(c)BIOS檢查資料之錯誤校正碼(Error Correction Code,ECC),且若偵測到任何未校正的錯誤或毒害,則BIOS可使用錯誤注入機制將錯誤注入至未校正的錯誤或毒害位置中。
(d)BIOS檢查SSD之健康且建立OS之S.M.A.R.T
資料以知道DIMM備用媒體之健康。
(e)若啟用SATA安全性,則需要BIOS首先提供適當複雜密碼以存取SATA資料。在一些實施例中,複雜密碼可儲存於諸如受信任平台模組(Trusted Platform Module,TPM)之安全容器中以提供額外安全性。
(7)一旦自SSD至DRAM之資料恢復操作完成,BIOS即規劃混合式記憶體模組以將DRAM內容儲存至SSD,且BIOS將多工器切換至第一混合式記憶體模組。此處理程序使SSD對於OS不可見。
(8)在一些實施例中,當多個混合式記憶體模組共用SSD時,BIOS可選擇混合式記憶體模組至SSD之儲存次序且可將該次序與電力故障看門狗計時器一起規劃至混合式記憶體模組。
(9)BIOS將持續記憶體範圍報告至OS。
(10)在電力故障時,PCH接收電力故障條件且產生系統管理中斷(System Management Interrupt,SMI)。
(11)在一些實施例中,系統管理模式(System Management Mode,SMM)程式碼清空CPU快取且清空iMC寫入待決佇列。
(12)在一些實施例中,BIOS引導PCH以將電力故障發信至混合式記憶體模組。
(13)一旦混合式記憶體模組接收電力故障信號,第一混合式記憶體模組即按序開始將內容儲存至SSD。一旦儲存完成,其寫入至SATA多工器以切換至混合
式記憶體模組序列中之下一個混合式記憶體模組。
(14)下一個混合式記憶體模組一旦偵測到其擁有SATA埠,此混合式記憶體模組即將SATA多工器切換至其埠且開始保存DRAM內容。此時,混合式記憶體模組將儲存處理程序轉移至序列中之下一個隨後混合式記憶體模組等,直至所有混合式記憶體模組經處置。
圖7為用以說明根據實施例利用的恢復操作之處理程序的流程圖。圖7以操作展示關於具有裝置外合併儲存器之能量備用混合式記憶體模組的平台啟動流程。在一些實施例中,在平台電力接通(700)後,讀取混合式記憶體模組之串列存在偵測(serial presence detect,SPD)(702),且初始化混合式記憶體模組(704)。
若系統中未提供能量備用及SATA支援(706),則該系統作為正常系統啟動(708)。否則,若在系統中提供能量備用及SATA(或其他串列介面)支援(其中系統包括能量備用混合式記憶體模組)(706),則規劃至PCH SSD之I2C多工器(710)。判定能量備用SSD容量可用性(712),其中提交用於使SSD能夠用於讀取及寫入操作之任何憑證(714)。此外,判定分配為持續的DRAM之量(716),其中能量備用HMM持續記憶體小於或等於能量備用SSD容量之容量(718)。
在一些實施例中,若在SSD中不可獲得能量備用HMM後設資料(720),則建立後設資料以指示用以寫入備份資料及其他資訊之位置(722)。當後設資料存在且通過驗證
檢查時,將資料自SSD恢復至混合式記憶體模組(724)。
在一些實施例中,存在等待,直至一或多個超級電容器(或其他能量源)經充分充電以支援自混合式記憶體模組至SSD之DRAM資料備份(728)。此外,針對新備份來更新後設資料,且針對備用區域及其他要求來規劃混合式記憶體模組(730)。對於能量備用SATA硬碟禁用PCH可見性(732),諸如經由ACPI表向作業系統呈現依電性/持續記憶體映射(指示哪些記憶體模組提供持續記憶體)(734),且啟動作業系統(736)以開始操作。
圖8為用以說明根據實施例的在電力損失情況下之記憶體操作之處理程序的流程圖。圖8關於具有具模組外合併儲存器之能量備用混合式記憶體模組的系統或設備之一實施例說明平台電力故障/斷電流程。
在一些實施例中,在平台電力故障或平台關機(800)後,混合式記憶體模組偵測電力損失(電力故障或平台關機)(800),諸如藉由信號之接收來偵測電力損失,且DIMM等待SATA埠準備好將資料自混合式記憶體模組之DRAM寫入至模組外儲存器SSD(802)。在一些實施例中,使用者或製造商可指明部分範圍之記憶體藉由能量備用非依電性記憶體而受到電力受保護(保存及恢復),且資料之寫入可限於此部分範圍之記憶體。在一些實施例中,在平台電源供應器具有充分電力之情況下,可規劃PCH以在電力故障時確證SMI且允許SMM清空快取記憶體及記憶體控制器寫入待決佇列,之後確證DRAM DIMM之ADR/電力故
障。
在一些實施例中,在啟動期間,向每一混合式記憶體模組提供用於在故障時寫入至SATA硬碟之優先權次序。在此實施例中,具有最高優先權之混合式記憶體模組最先寫入至儲存器,且接著通知何時儲存處理程序完成。處理程序接著以優先權序列關於混合式記憶體模組繼續,直至儲存處理程序完成(806)。在一些實施例中,在針對此混合式記憶體模組之儲存處理程序完成後,便移除至每一混合式記憶體模組之電力。
在一些實施例中,HMM SATA控制器儲存後設資料以指示複製操作處理程序以使恢復軟體能夠偵測失敗條件(808)。
在所有混合式記憶體模組完成至模組外儲存器之儲存操作後,系統進入最後平台斷電(810)。
圖9為包括具有模組外儲存器之能量備用混合式記憶體之電子設備或系統之一實施例的說明。在此說明中,未展示與本發明描述無密切關係之特定標準及熟知組件。可組合經展示為單獨元件之元件,包括(例如)將多個元件組合在單一晶片上之SoC(系統單晶片)。設備或系統(整體被稱為系統900)可包括(但不限於)計算系統。
在一些實施例中,系統900可包括處理構件,諸如耦接至用於處理資訊之一或多個匯流排或互連件(通常展示為匯流排905)的一或多個處理器910。該等處理器910可包括一或多個實體處理器及一或多個邏輯處理器。在一
些實施例中,該等處理器可包括一或多個通用處理器或特殊處理器處理器。
匯流排905為用於傳輸資料之通訊構件。為簡單起見,匯流排905經說明為單一匯流排,但其可表示多個不同互連件或匯流排,且至此等互連件或匯流排之組件連接可改變。圖9中所示之匯流排905為表示任何一或多個單獨實體匯流排、點對點連接或藉由適當橋接器、配接器或控制器連接之實體匯流排、點對點連接的抽象。
在一些實施例中,系統900進一步包含隨機存取記憶體(RAM)或其他動態儲存裝置或元件,以作為用於儲存資訊及待由處理器910執行之指令的主記憶體915。主記憶體915可包括(但不限於)動態隨機存取記憶體(DRAM)。
在一些實施例中,除主記憶體915之外或作為該主記憶體之部分,系統900亦包括一或多個能量備用混合式記憶體模組,其中此等混合式記憶體模組可如圖1及圖3中所說明。在一些實施例中,實施該等混合式記憶體模組以利用模組外儲存器,諸如SSD 930。在一些實施例中,SSD 930提供多個混合式記憶體模組920中之每一者的合併儲存,諸如圖4及圖6中所說明。
在一些實施例中,混合式記憶體模組及SSD 930受能量源925電力保護,能量源可包括(但不限於)包括一或多個超級電容器之超級電容器子系統。在一些實施例中,能量源925在系統900加電後充電,且能量源925提供用於在系統900電力故障或關機時備份儲存於混合式記憶體模組
920上的資料之電力。
系統900亦可包括唯讀記憶體(ROM)935或其他靜態儲存裝置以用於儲存用於處理器910之靜態資訊及指令。
在一些實施例中,系統900包括耦接至匯流排905之一或多個傳輸器或接收器940。在一些實施例中,系統900可包括:一或多個天線944(諸如偶極或單極觸角),用於使用無線傳輸器、接收器或兩者經由無線通訊傳輸及接收資料;及一或多個埠942,用於經由有線通訊來傳輸及接收資料。無線通訊包括(但不限於)Wi-Fi、BluetoothTM、近場通訊以及其他無線通訊標準。
在一些實施例中,系統900包括用於輸入資料之一或多個輸入裝置950,包括硬式及軟式按鈕、搖桿、滑鼠或其他指標裝置、鍵盤、語音命令系統或示意動作辨識系統。
在一些實施例中,系統900包括用於向使用者顯示資訊或內容之輸出顯示器955,其中顯示器955可包括液晶顯示器(LCD)或任何其他顯示器技術。在某些環境下,顯示器955可包括亦用作輸入裝置950之至少一部分的觸控螢幕。輸出顯示器955可進一步包括音訊輸出,包括一或多個揚聲器、音訊輸出插口或其他音訊,以及至使用者之其他輸出。
系統900亦可包含電池或其他電源960,其可包括太陽能電池、燃料電池、充電電容器、近場電感耦合或用
於提供或產生系統900中之電力的其他系統或裝置。由電源960提供之電力可視需要分配至系統900之元件。在一些實施例中,系統900之電力結構進一步包括一或多個超級電容器925。
在上文之描述中,出於解釋之目的,闡述眾多具體細節以便提供對所描述實施例之透徹理解。然而,熟習此項技術者將顯而易見,可在無此等特定細節中之一些細節的情況下實踐實施例。在其它情況下,熟知結構及裝置以方塊圖形式展示。所說明組件之間可存在中間結構。本文中所描述或說明之組件可具有未說明或描述之額外輸入或輸出。
各種實施例可包括各種處理程序。此等處理程序可由硬體組件執行或可以電腦程式或機器可執行指令體現,電腦程式或機器可執行指令可用以使用該等指令規劃之通用或專用處理器或邏輯電路執行該等處理程序。替代地,該等處理程序可由硬體與軟體之組合來執行。
各種實施例之部分可提供作為電腦程式產品,其可包括其上儲存有電腦程式指令之電腦可讀媒體,該等電腦程式指令可用以規劃電腦(或電子裝置)以供一或多個處理器執行以執行根據某些實施例之處理程序。電腦可讀媒體可包括(但不限於)磁碟、光碟、緊密光碟唯讀記憶體(CD-ROM),以及磁光碟、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、可抹除可規劃唯讀記憶體(EPROM)、電可抹除可規劃唯讀記憶體(EEPROM)、磁體或光學卡、快閃記憶
體,或適合於儲存電子指令的其他類型之電腦可讀媒體。此外,實施例亦可作為電腦程式產品下載,其中程式可自遠端電腦傳送至請求電腦。
方法中之多者係以其最基本形式描述,但處理程序可添加至該等方法中之任一者或自該等方法中之任一者刪除,且資訊可添加或自所描述訊息中任一者之減去而不會背離本發明實施例之基本範疇。熟習此項技術者將顯而易見,可進行許多另外修改及調適。提供特定實施例並非用以限制概念,而用以說明概念。實施例之範疇不由上文所提供之特定實例來判定,而僅由以下申請專利範圍判定。
若據說元件「A」耦接至元件「B」或與元件「B」耦接,則元件A可直接耦接至元件B或經由(例如)元件C間接地耦接。當說明書或申請專利範圍表明組件、特徵、結構、處理程序或特性A「造成」組件、特徵、結構、處理程序或特性B時,其意謂「A」係「B」的至少一部分原因,但亦可存在幫助造成「B」的至少一個其他組件、特徵、結構、處理程序或特性。若說明書指示組件、特徵、結構、處理程序或特性「可」、「可能」或「能夠」被包括,則不要求特定組件、特徵、結構、處理程序或特性被包括。若說明書或申請專利範圍提及「一」元件,則此不意謂僅存在所描述元件中的一個。
實施例為實施或實例。說明書中對「一實施例」、「一個實施例」、「一些實施例」或「其他實施例」之參考意謂結合實施例所描述之特定特徵、結構或特性包括於至
少一些實施例中,但未必包括於所有實施例中。「一實施例」、「一個實施例」或「一些實施例」的各種表現形式未必全部指同一實施例。應瞭解,在例示性實施例的前述描述中,各種特徵在單一實施例、圖或其描述中有時分組在一起,以用於精簡揭示內容及幫助理解各種新穎態樣中之一或多者之目的。然而,不應將本發明之方法解釋為反映所主張實施例需要較在每一技術方案中明確陳述之特徵更多之特徵的意圖。確切而言,如以下申請專利範圍反映,新穎態樣在於單一前述所揭示之實施例之少於全部的特徵。因此,技術方案特此明確地併入至此描述中,其中每一技術方案就其自身而言作為單獨實施例。
在一些實施例中,一種記憶體裝置包括:安裝於一電路板上的多個依電性記憶體晶片;一控制器,其用以為在一電力損失條件下將該等多個依電性記憶體晶片之內容備份至與該記憶體模組分離之一非依電性儲存裝置做準備。
在一些實施例中,該電路板包括一第一側及一第二側,且其中該等多個記憶體晶片包括安裝於該電路板之該第一側中的記憶體晶片之一第一集合及安裝在該電路板之該第二側中的記憶體晶片之一第二集合。
在一些實施例中,至備用能量源之連接係併入於一第一連接器中。
在一些實施例中,至該備用能量源之該連接包括至一或多個超級電容器之一連接。
在一些實施例中,該記憶體模組為一雙列直插式記憶體模組(DIMM)。
在一些實施例中,備份該等多個記憶體晶片之內容包括基於一設定而將待備份之該等內容限於一部分範圍之記憶體。
在一些實施例中,一種系統包括:用於資料處理之一處理器;用於資料傳輸之一天線;多個記憶體模組,每一記憶體模組包括動態隨機存取記憶體(DRAM);以及一控制器,其用以控制該DRAM之內容之備份;一資料儲存裝置,其用以儲存該等多個記憶體模組的記憶體模組之至少一第一集合的資料;一儲存控制器,其用以提供用於在該系統之一電力損失條件下的該等記憶體模組之該資料在該資料儲存裝置中之儲存的控制操作;以及一備用能量源,其用以提供電力至記憶體模組之該第一集合中之每一者、該資料儲存裝置以及該儲存控制器。
在一些實施例中,該備用能量源為包括一或多個超級電容器之一超級電容器子系統。
在一些實施例中,該資料儲存裝置為一ssD。
在一些實施例中,該儲存控制器包括用以選擇記憶體模組之該第一集合中之一者的一多工器。
在一些實施例中,該等多個記憶體模組包括實施為持續記憶體的記憶體模組之該第一集合及實施為依電性記憶體的記憶體模組之一第二集合。
在一些實施例中,用以提供用於該等記憶體模組
之該資料在該資料儲存裝置中之該儲存的控制操作之該儲存控制器包括用以基於一設定而將資料儲存限於一部分範圍之記憶體的儲存控制項。
在一些實施例中,一種方法包括:偵測一計算系統中之一電力損失,該計算系統包括多個記憶體模組;將來自一備用能量源之能量施加至該等多個記憶體模組、一儲存控制器及一資料儲存裝置;以及將來自該等多個記憶體模組中之每一者之資料備份至該資料儲存裝置,其中備份該資料包括該儲存控制器以一序列選擇該等多個記憶體模組以用於儲存來自該等多個記憶體模組中之每一者之資料。
在一些實施例中,該方法進一步包括在該計算系統通電後將該資料自該資料儲存裝置恢復至該等多個記憶體模組中之每一者。
在一些實施例中,備份來自該等多個記憶體模組中之每一者之該資料包括將關於每一記憶體模組之該資料備份的後設資料儲存於該資料儲存裝置中。
在一些實施例中,以一序列選擇該等多個記憶體模組包括根據每一記憶體模組之一優先權來選擇該等多個記憶體模組。
在一些實施例中,該方法進一步包括在來自每一記憶體模組之資料之該備份完成後,自該等多個記憶體模組中之每一者移除該備用能量源之該能量。
在一些實施例中,將來自該等多個記憶體模組中
之每一者之資料備份至該資料儲存裝置包括基於一設定而備份來自該等多個記憶體模組的一部分範圍之資料。
在一些實施例中,一種非暫時性電腦可讀儲存媒體,其上儲存有表示當由一處理器執行時使該處理器執行包含以下各者之操作的指令之序列之資料:偵測一計算系統中之一電力損失,該計算系統包括多個記憶體模組;將來自一備用能量源之能量施加至該等多個記憶體模組、一儲存控制器及一資料儲存裝置;以及將來自該等多個記憶體模組中之每一者之資料備份至該資料儲存裝置,其中備份該資料包括該儲存控制器以一序列選擇該等多個記憶體模組以用於儲存來自該等多個記憶體模組中之每一者之資料。
在一些實施例中,該媒體進一步包括用於在該計算系統通電後將該資料自該資料儲存裝置恢復至該等多個記憶體模組中之每一者的指令。
在一些實施例中,備份來自該等多個記憶體模組中之每一者之該資料包括將關於每一記憶體模組之該資料備份的後設資料儲存於該資料儲存裝置中。
在一些實施例中,以一序列選擇該等多個記憶體模組包括根據每一記憶體模組之一優先權來選擇該等多個記憶體模組。
在一些實施例中,該媒體進一步包括用於在來自每一記憶體模組之資料之該備份完成後,自該等多個記憶體模組中之每一者移除該備用能量源之該能量的指令。
在一些實施例中,將來自該等多個記憶體模組中之每一者之資料備份至該資料儲存裝置包括基於一設定而備份來自該等多個記憶體模組的一部分範圍之資料。
在一些實施例中,一種設備包括:用於偵測一計算系統中之一電力損失的構件,該計算系統包括多個記憶體模組;用於將來自一備用能量源之能量施加至該等多個記憶體模組、一儲存控制器及一資料儲存裝置的構件;以及用於將來自該等多個記憶體模組中之每一者之資料備份至該資料儲存裝置的構件,其中用於備份該資料的該構件包括用於以一序列選擇該等多個記憶體模組儲存一用於儲存來自該等多個記憶體模組中之每一者之資料的構件。
在一些實施例中,該設備進一步包括用於在該計算系統通電後將該資料自該資料儲存裝置恢復至該等多個記憶體模組中之每一者的構件。
在一些實施例中,用於備份來自該等多個記憶體模組中之每一者之該資料的該構件包括用於將關於每一記憶體模組之該資料備份的後設資料儲存於該資料儲存裝置中的構件。
在一些實施例中,用於以一序列選擇該等多個記憶體模組的構件包括用於根據每一記憶體模組之一優先權來選擇該等多個記憶體模組的構件。
在一些實施例中,該設備進一步包括用於在來自每一記憶體模組之資料之該備份完成後,自該等多個記憶體模組中之每一者移除該備用能量源之該能量的構件。
在一些實施例中,用於將來自該等多個記憶體模組中之每一者之資料備份至該資料儲存裝置的該構件包括用於基於一設定而備份來自該等多個記憶體模組裝置的一部分範圍之資料的構件。
100‧‧‧能量備用混合式記憶體模組
110‧‧‧記憶體晶片
120‧‧‧控制元件
140‧‧‧能量源
150‧‧‧儲存器
Claims (17)
- 一種雙列直插式記憶體模組(DIMM),其用於安裝於一計算系統中,該DIMM包含:一電路板,其具有一第一側及一第二側,該電路板包括用於與該計算系統連接之在該電路板的該第一側上之第一複數個電觸點及在該第二側上之第二複數個電觸點;一連接器,其安裝於該DIMM之該電路板中,該連接器包括用以自一備用能量源接收電力之一連接,該備用能量源係與該DIMM分離,該連接器係與該等第一複數個電觸點及該等第二複數個電觸點分離;複數個依電性記憶體晶片,其安裝於該DIMM之該電路板上,其中該等複數個依電性記憶體晶片包括安裝於該電路板的該第一側中之一第一組依電性記憶體晶片及安裝於該電路板的該第二側中之一第二組依電性記憶體晶片;以及一控制器,其安裝於該DIMM之該電路板中,該控制器用以針對在一電力損失條件下將該等多個依電性記憶體晶片之內容移動至與該DIMM分離之一非依電性儲存裝置做準備。
- 如請求項1之DIMM,其中至該備用能量源之該連接包括至一或多個超級電容器之一連接。
- 如請求項1之DIMM,其中備份該等複數個依電性記憶體 晶片之內容包括基於一設定而將待備份之該等內容限於一部分範圍之記憶體。
- 如請求項1之DIMM,其中該DIMM係用以在該電力損失條件下以自該備用能量源所接收之電力來操作。
- 一種計算系統,其包含:用於資料處理之一處理器;一天線,其用以傳輸或接收用於該計算系統之資料;複數個雙列直插式記憶體模組(DIMM),其安裝於包括至少一第一組DIMM之該計算系統中,該第一組DIMM之每一DIMM包括:一電路板,其具有一第一側及一第二側,該電路板包括用於與該計算系統連接之在該第一側上之一第一組電觸點及在該第二側上之一第二組電觸點;一連接器,其安裝於該DIMM之該電路板中,該連接器包括用以自一備用能量源接收電力之一連接,該連接器係與該第一組電觸點及該第二組電觸點分離;複數個動態隨機存取記憶體(DRAM)晶片,其安裝於該DIMM之該電路板中,其中該等複數個DRAM晶片包括安裝於該電路板的該第一側中之一第一組DRAM晶片及安裝於該電路板的該第二側中之一第二組DRAM晶片,以及 一控制器,其安裝於該DIMM之該電路板中,該控制器用以控制在一電力損失條件下該等複數個DRAM晶片之內容之備份;一資料儲存裝置,其用以儲存用於該等複數個DIMM的至少該第一組DIMM之資料;一儲存控制器,其用以提供用於在該計算系統之一電力損失條件下的該第一組DIMM之該資料在該資料儲存裝置中之儲存的控制操作;以及一備用能量源,其用以提供電力至該第一組DIMM中之每一者、該資料儲存裝置以及該儲存控制器。
- 如請求項5之計算系統,其中該備用能量源為包括一或多個超級電容器之一超級電容器子系統。
- 如請求項5之計算系統,其中該資料儲存裝置為一固態硬碟(SSD)。
- 如請求項5之計算系統,其中該儲存控制器包括用以選擇該第一組DIMM中之一者的一多工器。
- 如請求項5之計算系統,其中該計算系統之該等複數個DIMM包括實施為持續記憶體的該第一組DIMM及實施為依電性記憶體的一第二組DIMM。
- 如請求項9之計算系統,其中用以提供用於該第一組DIMM之該資料在該資料儲存裝置中之該儲存的控制操作之該儲存控制器包括用以基於一設定而將資料之儲存限於一部分範圍之記憶體的儲存控制器。
- 如請求項5之計算系統,其中該資料儲存裝置係可操作 以支援用於在該資料儲存裝置中所儲存之資料的位址或資料加擾。
- 一種用於備份資料的方法,其包含:偵測一計算系統中之一電力損失,該計算系統包括複數個雙列直插式記憶體模組(DIMM),其中該等複數個DIMM包括至少一第一組DIMM,該第一組DIMM之各者包括:一電路板,其具有一第一側及一第二側,該電路板包括用於與該計算系統連接之在該第一側上之一第一組電觸點及在該第二側上之一第二組電觸點,一連接器,其安裝於該DIMM之該電路板中,該連接器包括用以自一備用能量源接收電力之一連接,該連接器係與該第一組電觸點及該第二組電觸點分離,複數個依電性記憶體晶片,其安裝於該DIMM之該電路板上,其中該等複數個依電性記憶體晶片包括安裝於該電路板的該第一側中之一第一組依電性記憶體晶片及安裝於該電路板的該第二側中之一第二組依電性記憶體晶片,及一控制器,其安裝於該DIMM之該電路板中,該控制器用以控制在一電力損失下該等依電性記憶體晶片之內容的備份;將來自一備用能量源之能量施加至該等複數個 DIMM、一儲存控制器及一資料儲存裝置;以及將來自該第一組DIMM中之每一者之資料備份至該資料儲存裝置,其中備份該資料包括該儲存控制器以一序列選擇該第一組DIMM以用於儲存來自該第一組DIMM中之每一者之資料。
- 如請求項12之方法,其進一步包含在該計算系統通電後將該資料自該資料儲存裝置恢復至該第一組DIMM中之每一者。
- 如請求項12之方法,其中備份來自該第一組DIMM中之每一者之該資料包括將關於每一DIMM之該資料備份的後設資料儲存於該資料儲存裝置中。
- 如請求項12之方法,其中以一序列選擇該第一組DIMM包括根據每一DIMM之一優先權來選擇該第一組DIMM。
- 如請求項12之方法,其進一步包含在來自每一DIMM之資料之該備份完成後,便自該第一組DIMM中之每一者移除該備用能量源之該能量。
- 如請求項12之方法,其中將來自複數個該第一組DIMM中之每一者之資料備份至該資料儲存裝置包括基於一設定而備份來自該第一組DIMM的一部分範圍之資料。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/752,585 US9792190B2 (en) | 2015-06-26 | 2015-06-26 | High performance persistent memory |
US14/752,585 | 2015-06-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201712551A TW201712551A (zh) | 2017-04-01 |
TWI709856B true TWI709856B (zh) | 2020-11-11 |
Family
ID=57586000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105114179A TWI709856B (zh) | 2015-06-26 | 2016-05-06 | 高效能持續記憶體 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9792190B2 (zh) |
EP (1) | EP3317768B1 (zh) |
CN (2) | CN107636600B (zh) |
TW (1) | TWI709856B (zh) |
WO (1) | WO2016209392A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9971511B2 (en) * | 2016-01-06 | 2018-05-15 | Samsung Electronics Co., Ltd. | Hybrid memory module and transaction-based memory interface |
US10684948B2 (en) * | 2016-11-21 | 2020-06-16 | Sanmina Corporation | Dual inline memory module |
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 |
US10474550B2 (en) | 2017-05-03 | 2019-11-12 | Vmware, Inc. | High availability for persistent memory |
US10496443B2 (en) * | 2017-05-03 | 2019-12-03 | Vmware, Inc. | OS/hypervisor-based persistent memory |
WO2018226658A1 (en) * | 2017-06-05 | 2018-12-13 | Worcester Polytechnic Institute | Weatherproof cover |
US10782993B2 (en) * | 2017-10-13 | 2020-09-22 | Dell Products L.P. | Systems and methods for secure runtime dynamic resizing of memory namespaces |
US10929235B2 (en) | 2017-10-27 | 2021-02-23 | Vmware, Inc. | Application high availability via crash-consistent asynchronous replication of persistent data |
US11016890B2 (en) | 2018-02-05 | 2021-05-25 | Micron Technology, Inc. | CPU cache flushing to persistent memory |
US10908825B2 (en) * | 2018-03-29 | 2021-02-02 | Intel Corporation | SSD with persistent DRAM region for metadata |
US10839862B2 (en) | 2018-04-25 | 2020-11-17 | Micron Technology, Inc. | Cross point array memory in a non-volatile dual in-line memory module |
CN109582507B (zh) * | 2018-12-29 | 2023-12-26 | 西安紫光国芯半导体股份有限公司 | 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm |
US11163475B2 (en) * | 2019-06-04 | 2021-11-02 | International Business Machines Corporation | Block input/output (I/O) accesses in the presence of a storage class memory |
US11249679B2 (en) * | 2019-07-31 | 2022-02-15 | Micron Technology, Inc. | Selecting a write operation mode from multiple write operation modes |
KR20210136480A (ko) | 2020-05-07 | 2021-11-17 | 삼성전자주식회사 | 프로세싱 장치가 실장된 메모리 모듈을 포함하는 컴퓨팅 시스템의 부팅 방법 |
US11742054B2 (en) * | 2020-11-12 | 2023-08-29 | Dell Products L.P. | Memory power fault resilience in information handling systems |
CN113127388A (zh) * | 2021-04-13 | 2021-07-16 | 郑州云海信息技术有限公司 | 一种元数据写入方法及相关装置 |
US20230305922A1 (en) * | 2022-03-24 | 2023-09-28 | Smart Modular Technologies, Inc. | Serial attached non-volatile memory |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132250A1 (en) * | 2003-12-16 | 2005-06-16 | Hewlett-Packard Development Company, L.P. | Persistent memory device for backup process checkpoint states |
US20110072430A1 (en) * | 2009-09-24 | 2011-03-24 | Avaya Inc. | Enhanced solid-state drive management in high availability and virtualization contexts |
US20120210163A1 (en) * | 2011-02-11 | 2012-08-16 | Byungcheol Cho | Alarm-based backup and restoration for a semiconductor storage device |
TW201428757A (zh) * | 2012-11-14 | 2014-07-16 | Ibm | 揮發性及快閃記憶體間資料的備份與復原 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4858101A (en) * | 1987-08-26 | 1989-08-15 | Allen-Bradley Company, Inc. | Programmable controller with parallel processors |
US6177956B1 (en) * | 1996-10-23 | 2001-01-23 | Flashpoint Technology, Inc. | System and method for correlating processing data and image data within a digital camera device |
US20040190210A1 (en) * | 2003-03-26 | 2004-09-30 | Leete Brian A. | Memory back up and content preservation |
US7536506B2 (en) * | 2004-06-21 | 2009-05-19 | Dot Hill Systems Corporation | RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage |
US8074034B2 (en) * | 2007-07-25 | 2011-12-06 | Agiga Tech Inc. | Hybrid nonvolatile ram |
US8037380B2 (en) * | 2008-07-08 | 2011-10-11 | International Business Machines Corporation | Verifying data integrity of a non-volatile memory system during data caching process |
US8325554B2 (en) * | 2008-07-10 | 2012-12-04 | Sanmina-Sci Corporation | Battery-less cache memory module with integrated backup |
US8566639B2 (en) * | 2009-02-11 | 2013-10-22 | Stec, Inc. | Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus |
US8977831B2 (en) * | 2009-02-11 | 2015-03-10 | Stec, Inc. | Flash backed DRAM module storing parameter information of the DRAM module in the flash |
US7983107B2 (en) * | 2009-02-11 | 2011-07-19 | Stec, Inc. | Flash backed DRAM module with a selectable number of flash chips |
US7990797B2 (en) * | 2009-02-11 | 2011-08-02 | Stec, Inc. | State of health monitored flash backed dram module |
US8230257B2 (en) | 2009-06-26 | 2012-07-24 | Seagate Technology Llc | Systems, methods and devices for controlling backup power provided to memory devices and used for storing of sensitive data |
US8688660B1 (en) * | 2010-09-28 | 2014-04-01 | Amazon Technologies, Inc. | System and method for providing enhancements of block-level storage |
US8638634B2 (en) * | 2011-03-01 | 2014-01-28 | Agiga Tech Inc. | Apparatus and method to measure energy capacity of a backup power supply without compromising power delivery |
JP2013114416A (ja) | 2011-11-28 | 2013-06-10 | Elpida Memory Inc | メモリモジュール |
CN102544022B (zh) * | 2012-01-05 | 2014-10-22 | 清华大学 | 一种混合非挥发快闪存储器及其存储系统 |
KR101915073B1 (ko) * | 2011-12-20 | 2018-11-06 | 인텔 코포레이션 | 2-레벨 메모리 계층구조에서 메모리측 캐쉬의 동적인 부분적 전원 차단 |
US9013946B2 (en) * | 2012-01-12 | 2015-04-21 | Agiga Tech Inc. | Apparatus and method to manage energy capacity of a backup power supply |
CN103077116A (zh) * | 2013-01-18 | 2013-05-01 | 无锡云动科技发展有限公司 | 一种计算机的数据存储系统及计算机系统 |
GB2510180A (en) * | 2013-01-29 | 2014-07-30 | Ibm | Selective restoration of data from non-volatile storage to volatile memory |
US10372551B2 (en) * | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
CN103207819B (zh) * | 2013-03-29 | 2016-05-25 | 无锡云动科技发展有限公司 | 一种存储装置及其混合存储装置 |
US9251047B1 (en) * | 2013-05-13 | 2016-02-02 | Amazon Technologies, Inc. | Backup of volatile memory to persistent storage |
US20140359196A1 (en) * | 2013-05-31 | 2014-12-04 | Daniel J. Ragland | On-the-fly performance adjustment for solid state storage devices |
US9436600B2 (en) * | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
US9348705B1 (en) * | 2014-06-26 | 2016-05-24 | Inphi Corporation | Memory controller system with non-volatile backup storage |
CN104461964B (zh) * | 2014-12-12 | 2017-03-15 | 杭州华澜微电子股份有限公司 | 一种存储装置 |
-
2015
- 2015-06-26 US US14/752,585 patent/US9792190B2/en active Active
-
2016
- 2016-05-06 TW TW105114179A patent/TWI709856B/zh active
- 2016-05-11 EP EP16814880.7A patent/EP3317768B1/en active Active
- 2016-05-11 CN CN201680030358.6A patent/CN107636600B/zh active Active
- 2016-05-11 CN CN202110835295.4A patent/CN113535093B/zh active Active
- 2016-05-11 WO PCT/US2016/031893 patent/WO2016209392A1/en active Application Filing
-
2017
- 2017-10-09 US US15/728,414 patent/US10783048B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132250A1 (en) * | 2003-12-16 | 2005-06-16 | Hewlett-Packard Development Company, L.P. | Persistent memory device for backup process checkpoint states |
US20110072430A1 (en) * | 2009-09-24 | 2011-03-24 | Avaya Inc. | Enhanced solid-state drive management in high availability and virtualization contexts |
US20120210163A1 (en) * | 2011-02-11 | 2012-08-16 | Byungcheol Cho | Alarm-based backup and restoration for a semiconductor storage device |
TW201428757A (zh) * | 2012-11-14 | 2014-07-16 | Ibm | 揮發性及快閃記憶體間資料的備份與復原 |
Also Published As
Publication number | Publication date |
---|---|
WO2016209392A1 (en) | 2016-12-29 |
EP3317768A1 (en) | 2018-05-09 |
TW201712551A (zh) | 2017-04-01 |
US9792190B2 (en) | 2017-10-17 |
CN107636600A (zh) | 2018-01-26 |
EP3317768B1 (en) | 2021-06-23 |
US10783048B2 (en) | 2020-09-22 |
US20180032414A1 (en) | 2018-02-01 |
CN107636600B (zh) | 2021-08-13 |
CN113535093A (zh) | 2021-10-22 |
US20160378623A1 (en) | 2016-12-29 |
EP3317768A4 (en) | 2019-04-17 |
CN113535093B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI709856B (zh) | 高效能持續記憶體 | |
US20160378344A1 (en) | Processor and platform assisted nvdimm solution using standard dram and consolidated storage | |
US9804794B2 (en) | Techniques for providing data redundancy after reducing memory writes | |
US9612761B2 (en) | Semiconductor device | |
US8090980B2 (en) | System, method, and computer program product for providing data redundancy in a plurality of storage devices | |
US20180089099A1 (en) | Offload data transfer engine for a block data transfer interface | |
TW201709065A (zh) | 記憶體裝置特定之自我更新進入與退出技術 | |
US10929251B2 (en) | Data loss prevention for integrated memory buffer of a self encrypting drive | |
CN112631822A (zh) | 存储器、具有其的存储系统及其操作方法 | |
US11169584B2 (en) | Dual-connector storage system and method for simultaneously providing power and memory access to a computing device | |
US20230393959A1 (en) | Out-of-band management method for storage apparatus, baseboard management controller and storage apparatus | |
US10838818B2 (en) | Memory persistence from a volatile memory to a non-volatile memory | |
US20220011939A1 (en) | Technologies for memory mirroring across an interconnect | |
CN118260152A (zh) | 存储系统、存储设备以及监测方法 | |
CN115840661A (zh) | 从hmb丢失恢复的无dram ssd |