TW201419300A - 具有經由組態資料匯流排可用之健康狀態及/或狀態資訊的快閃回存dram模組 - Google Patents
具有經由組態資料匯流排可用之健康狀態及/或狀態資訊的快閃回存dram模組 Download PDFInfo
- Publication number
- TW201419300A TW201419300A TW102147779A TW102147779A TW201419300A TW 201419300 A TW201419300 A TW 201419300A TW 102147779 A TW102147779 A TW 102147779A TW 102147779 A TW102147779 A TW 102147779A TW 201419300 A TW201419300 A TW 201419300A
- Authority
- TW
- Taiwan
- Prior art keywords
- volatile memory
- memory
- power
- data
- controller
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Abstract
本發明係關於一種與一主功率源一起使用之記憶體裝置,其包括:揮發性記憶體,其包括複數個記憶體部分,該複數個記憶體部分中之每一者具有一正常操作狀態及一低功率狀態;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;一非揮發性記憶體;及一控制器,其與該揮發性記憶體及該非揮發性記憶體通訊且經程式化以偵測該主功率源之一功率損失,且每次至少一個記憶體部分回應於將資料自該揮發性記憶體移動至該非揮發性記憶體,且當將資料自該揮發性記憶體移動至該非揮發性記憶體時,將正移動資料所自之該等記憶體部分置於一正常操作狀態,且將未正移動資料所自之該等記憶體部分置於一低功率狀態。
Description
本申請案主張2009年2月11日申請之美國專利申請案第12/369,027號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,032號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,040號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,046號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,052號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,076號之優先權;主張2009年2月11日申請之美國專利申請案第12/369,079號之優先權;及主張2009年2月11日申請之PCT專利申請案第PCT/US09/33755號之優先權。
所揭示之標的物係關於一種階段備用快閃回存雙行記憶體模組(DIMM)模組。
諸如RAID系統之數位處理裝置有時使用(例如)記憶體快取(memory cache)來改良讀寫操作之效能。通常使用揮發性記憶體來實施快取。然而,若揮發性記憶體之功率源失效,則儲存於該揮發性記憶體中之資料可能丟失。此外,諸如DRAM記憶體模組之揮發性記憶體裝置通常需要描述DRAM裝置之性質之某些參數,該等DRAM裝置組成待置放在位於記憶體模組上之一單獨非揮發性記憶體中之模組。其一實例為序列存在檢測(SPD)。然而,此資訊之儲存可能僅為達成此目的而需要將整個非揮發性記憶體添加至該揮發性記憶體。
本揭示案係關於一種快閃回存雙行記憶體模組(DIMM)模組,該模組包括一非揮發性記憶體、一揮發性記憶體及一控制器。在正常操作期間,DIMM由一主功率源供電。當該主功率源被中斷時,一備用功率源供應足夠之臨時功率予該DIMM以便控制器在來自備用功率源之功率被耗盡之前可將資料自揮發性記憶體傳送至非揮發性記憶體中。當該主功率源再次變得可用時,該控制器將儲存於非揮發性記憶體中之資料傳回至揮發性記憶體中。當控制器將資料自揮發性記憶體移動至非揮發性記憶體時,控制器將正移動資料所自之記憶體部分置於一正常操作狀態,且將未正移動資料所自之記憶體部分置於一低功率狀態。
在一態樣中,一種與一主功率源一起使用之記憶體裝置包括:揮發性記憶體,其包括複數個記憶體部分,該複
數個記憶體部分中之每一者具有一正常操作狀態及一低功率狀態;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;一非揮發性記憶體;及一控制器,其與該揮發性記憶體及該非揮發性記憶體通訊且經程式化以偵測該主功率源之一功率損失,且每次至少一個記憶體部分回應於將資料自揮發性記憶體移動至非揮發性記憶體,且當將資料自揮發性記憶體移動至非揮發性記憶體時,將正移動資料所自之記憶體部分置於一正常操作狀態,且將未正移動資料所自之記憶體部分置於一低功率狀態。
在另一態樣中,一種方法包括:偵測一揮發性記憶體之一主功率源之一電源故障,該揮發性記憶體包含複數個記憶體部分,該複數個記憶體部分中之每一者具有一正常操作狀態及一低功率狀態;及回應於偵測該電原故障且當該揮發性記憶體由一備用功率源供電時:每次至少一個記憶體部分將儲存於揮發性記憶體中之資料移動至非揮發性記憶體;且當將資料自揮發性記憶體移動至非揮發性記憶體時,將正移動資料所自之記憶體部分置於一正常操作狀態,且將未正移動資料所自之記憶體部分置於一低功率狀態。
在又一態樣中,一種與一主功率源一起使用之記憶體裝置包括:揮發性記憶體,其包括複數個記憶體區段,該複數個記憶體區段由至少一個起始位址及一相應至少一個結束位址定義;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨
時供電至該揮發性記憶體;一非揮發性記憶體;及一控制器,其與該揮發性記憶體及該非揮發性記憶體通訊且經程式化以偵測該主功率源之一功率損失,且基於該至少一個起始位址及該至少一個結束位址而回應於將資料自揮發性記憶體移動至非揮發性記憶體。在一些態樣中,僅存在一至少一個起始位址且僅存在一至少一個結束位址,且將資料自揮發性記憶體移動至非揮發性記憶體包括僅移動儲存於一起始位址與一結束位址之間的位址處之該揮發性記憶體中之資料。
在另一態樣中,一種方法包括:偵測一揮發性記憶體之一主功率源之一電源故障,該揮發性記憶體包括複數個記憶體區段,該複數個記憶體區段由至少一個起始位址及一相應至少一個結束位址定義;及回應於偵測該電源故障且當用一備用功率源供電該揮發性記憶體時:基於至少一個起始位址及至少一個結束位址將儲存於該揮發性記憶體中之資料移動至一非揮發性記憶體。在一些態樣中,僅存在一至少一個起始位址且僅存在一至少一個結束位址,且將資料自揮發性記憶體移動至非揮發性記憶體包括僅移動儲存於一起始位址與一結束位址之間的位址處之該揮發性記憶體中之資料。
在又一態樣中,一種裝置包括:非揮發性記憶體;一控制器,其與該非揮發性記憶體通訊,其中該控制器經程式化以在一揮發性記憶體之一主功率源之一功率損失發生後即將資料自該揮發性記憶體移動至該非揮發性記憶體;及一備用電源,其在該主功率源之該功率損失發生後即提供臨時功率予該控制器及該揮發性記憶體,該備用電源包括:一具
有一輸出端子之電容器組;一至一電壓源之連接,該電壓源將該電容器組充電至一正常操作電壓;及一健康狀態監控器,其經程式化以基於該電容器組之該輸出端子處之一電壓產生一故障訊號。
在另一態樣中,一種方法包括:中斷由一電壓源對一電容器組之充電,該電容器組經配置以提供臨時功率予一控制器,該控制器經程式化以在一揮發性記憶體之一主功率源之一功率損失發生後即將資料自該揮發性記憶體移動至一非揮發性記憶體,及在一主功率源之該功率損失發生後即提供功率予一揮發性記憶體;當充電被中斷時,對所有該電容器組之輸出端子施加一預定電阻達一預定時段;在該預定時段期間監控該電容器組之該輸出端子以判定是否該輸出端子處之電壓降至一預定臨限電壓之下;且若該輸出端子處之電壓在該預定時段之內降至該預定臨限電壓之下,則產生一故障訊號。
在另一態樣中,一種裝置包括揮發性記憶體;一或多個非揮發性記憶體晶片,其每一者係用於儲存自該揮發性記憶體移動之資料;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自一主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;一控制器,其與揮發性記憶體及非揮發性記憶體通訊,其中:該控制器經程式化以在該揮發性記憶體之該主功率源之一功率損失發生後即將資料自揮發性記憶體移動至非揮發性記憶體晶片;及將描述該揮發性記憶體之參數儲存於非揮發性記憶體晶片中至少一者
中,該等非揮發性記憶體晶片儲存自該揮發性記憶體移動之資料。在一些態樣中,該等參數包括序列存在檢測資訊。
在另一態樣中,一種方法包括在揮發性記憶體之一主功率源之一功率損失發生後即,當揮發性記憶體由一備用功率源臨時供電時,基於描述揮發性記憶體之儲存於非揮發性記憶體晶片中至少一者中的參數,該等非揮發性記憶體晶片儲存自該揮發性記憶體移動之資料,將資料自揮發性記憶體移動至非揮發性記憶體晶片,該等非揮發性記憶體晶片中之每一者係用於儲存自該揮發性記憶體移動之資料。在一些態樣中,該等參數包括序列存在檢測資訊。
在一些態樣中,一種記憶體裝置包括:揮發性記憶體;一介面,其用於連接至一備用功率源,該備用功率源經配置以在一主功率源之一功率損失發生後即供電至該揮發性記憶體;非揮發性記憶體;一第一組態資料匯流排,其用於存取描述該揮發性記憶體之序列存在檢測的參數;一第二組態資料匯流排,其用於存取備用功率源之健康狀態資訊及記憶體裝置之狀態資訊中至少一者,其中該第一組態資料匯流排及該第二組態資料匯流排實施一相同匯流排協定;一控制器,其與該第一組態資料匯流排、該第二組態資料匯流排、該揮發性記憶體及該非揮發性記憶體通訊,該控制器經程式化以偵測該主功率源之一功率損失且回應於將資料自揮發性記憶體移動至非揮發性記憶體,其中該控制器之第一組態資訊為經由該第一組態資料匯流排可讀及可寫資訊中至少一者;且其中該健康狀態資訊及該狀態資訊中至少一者為經由
該第二組態資料匯流排可讀及可寫資訊中至少一者。
在另一態樣中,一種與一主功率源及一備用功率源一起使用之記憶體裝置包括:揮發性記憶體;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;複數個埠,其每一者係用於接收一不同之相應非揮發性記憶體晶片;複數個介面,其每一者係用於經由該複數個埠中之一不同之相應埠與連接至彼埠之任何非揮發性記憶體通訊;一控制器,其經程式化以根據哪些埠將接收非揮發性記憶體晶片來啟動該複數個介面之一可選集合,其中該控制器亦經程式化以藉由經由該等選定介面將資料自揮發性記憶體移動至連接至介面之該可選集合的任何非揮發性記憶體而對來自該主功率源之一功率損失作出反應。
在另一態樣中,一種方法包括偵測一揮發性記憶體之一主功率源之一電源故障;及回應於偵測該電源故障且當用一備用功率源供電該揮發性記憶體時:將儲存於該揮發性記憶體中之資料移動至一非揮發性記憶體,該非揮發性記憶體包含一可選數目之非揮發性記憶體晶片,其中該移動係基於該可選數目之非揮發性記憶體晶片。
在另一態樣中,一種與一主機處理器及一主功率源一起使用之記憶體裝置包括:非揮發性記憶體;揮發性記憶體;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;隔離邏輯,其用於控制該主機處理器對該
揮發性記憶體之存取,該隔離邏輯具有一第一模式及一第二模式,該隔離邏輯在該第一模式期間為該主機處理器提供對用於儲存或讀取資料之該揮發性記憶體的存取,且該隔離邏輯在該第二模式期間使該揮發性記憶體與該主機處理器之存取隔離;及一控制器,其控制該隔離邏輯,該控制器經程式化以當該揮發性記憶體正由該主功率源供電時將該隔離邏輯置於該第一模式中,及當自該主功率源至該揮發性記憶體之功率被中斷時,將該隔離邏輯置於該第二模式中且將資料自該揮發性記憶體傳送至該非揮發性記憶體。
在又一態樣中,一種方法包括:偵測一揮發性記憶體之一主功率源之一電源故障;及回應於偵測該電源故障且當該揮發性記憶體由一備用功率源供電時:將隔離邏輯之一模式自一第一模式改變至一第二模式,該第一模式在該揮發性記憶體正由該主功率源供電時為一主機處理器提供對用於儲存或讀取資料之該揮發性記憶體的存取,該第二模式使該揮發性記憶體與該主機處理器之存取隔離;及將儲存於該揮發性記憶體中之資料移動至一非揮發性記憶體。
100‧‧‧雙行記憶體模組(DIMM)
105‧‧‧介面
110‧‧‧控制器
115‧‧‧FPGA可程式唯讀記憶體
120‧‧‧揮發性記憶體
121‧‧‧DRAM晶片
122‧‧‧DRAM晶片
130‧‧‧非揮發性記憶體
131‧‧‧快閃晶片/快閃裝置
132‧‧‧快閃裝置
140‧‧‧隔離邏輯
150‧‧‧訊號
161‧‧‧PLL
162‧‧‧暫存器
163‧‧‧FET匯流排開關/FET多工器
164‧‧‧FET開關/FET多工器
170‧‧‧介面線/訊號
171‧‧‧VBACK
200‧‧‧備用電源/備用功率源/備用電源模組
210‧‧‧EDL電容器
220‧‧‧備用控制器/充電器及監控器
300‧‧‧備用電源模組
310‧‧‧備用電池
D1‧‧‧二極體
Q1‧‧‧電晶體
Q3‧‧‧電晶體
Q4‧‧‧電晶體
U1‧‧‧電源調節器
U11‧‧‧健康狀態監控器
U2‧‧‧電源調節器
U3‧‧‧電源調節器
U4‧‧‧電源調節器
U6‧‧‧充電器
第1圖為一雙行記憶體模組(DIMM)之方塊圖。
第2圖為基於電容器之備用電源之方塊圖,該備用電源可用以在電源故障之情況下供電第1圖之組件。
第3圖為基於電池之備用電源之方塊圖,該備用電源可用以在電源故障之情況下供電第1圖之組件。
第4圖為圖示第1圖中所圖示之DIMM之實例狀態
及轉換的方塊圖。
第5圖展示在第1圖中所圖示之DIMM之內部積體電路(I2C)介面的各種讀取操作時序圖。
第6圖展示在第1圖中所圖示之DIMM之內部積體電路(I2C)介面的各種寫入操作時序圖。
第7圖展示在第1圖中所圖示之DIMM之架構。
第8圖展示用以供電在第1圖中所圖示之DIMM之電源的架構。
第9圖為第2圖之備用電源之更詳細圖示。
參閱第1圖,本發明之所描述實施例為雙行記憶體模組(DIMM)100,其包括揮發性記憶體120、非揮發性記憶體130、隔離邏輯140及控制器110。DIMM 100連接至一主功率源(未圖示)以支援正常操作且亦連接至備用功率源200(參見第2圖)。當DIMM 100在由主功率源供應之功率下操作時,外部系統(例如,RAID系統)經由介面105將資料儲存於揮發性記憶體120中且自揮發性記憶體120讀取資料。然而,當來自主功率源200之功率被中斷時,備用功率源供應足夠之臨時功率予DIMM 100以便控制器110可引起隔離邏輯140使揮發性記憶體120與外部系統隔離,且然後在來自備用功率源200之功率被耗盡之前將資料自揮發性記憶體120傳送至非揮發性記憶體130中。當該主功率源再次變得可用時,控制器110將儲存於非揮發性記憶體130中之資料傳回至揮發性記憶體120中,且引起隔離邏輯140將揮
發性記憶體120再連接至該外部系統。
揮發性記憶體120為一DRAM陣列,該DRAM陣列包括各種DRAM晶片,例如,DRAM晶片121及DRAM晶片122。非揮發性記憶體130包括各種快閃記憶體裝置,例如,快閃裝置131及快閃裝置132。歸因於DIMM 100之限制,無法一次將儲存於揮發性記憶體120中之所有資料移動至非揮發性記憶體130。此等限制中之一者在於無法如自揮發性記憶體120之DRAM裝置讀取一般快地寫入至非揮發性記憶體130之快閃裝置中。考慮到此差異,每次一個DRAM晶片將資料自揮發性記憶體120移動至非揮發性記憶體130。此外,在將資料自揮發性記憶體120傳送至非揮發性記憶體130期間,使未正主動傳送之DRAM晶片進入一低功率狀態,該低功率狀態保持儲存於其中之資料,但比正常操作狀態消耗更少功率。在揮發性記憶體120之DRAM晶片中,此低功率狀態為自我再新模式。藉由使未正主動傳送之DRAM晶片進入一低功率狀態,模組100在備用操作期間比原本情況需要更少功率。舉例而言,此舉允許使用一較小且更便宜之備用功率源。
第2圖展示此功率源之一方塊圖。特定言之,第2圖展示電化學雙層(EDL)電容器備用電源模組200,其使用介面線(例如,功率、I/O等)170與DIMM 100相互作用(EDL電容器亦稱為超級電容器及超高電容器)。電容器210在DIMM 100之主功率源之電源故障時將備用功率供應予DIMM 100。充電器及監控器220將電容器210充電且執行電容器210
之健康狀態監控以便(例如)在電容器210失效而無法再提供備用功率之情況下向DIMM 100警報。在一些狀況下,可選擇電池來替代電容器。舉例而言,第3圖展示可替代模組200使用之電池備用電源模組300之方塊圖。
非揮發性記憶體130嵌有用於揮發性記憶體120之序列存在檢測(SPD)資訊(例如,描述揮發性記憶體120中之DRAM晶片之大小及速度的資訊)。藉由使用非揮發性記憶體130來儲存揮發性記憶體120之SPD資訊,揮發性記憶體120避免需要具有用於儲存此資訊之單獨EEPROM模組。避免增加單獨EEPROM可節省成本、減小模組100之大小及減少所需組件之數目。
DIMM 100包括外部系統與控制器110之間的兩個I2C匯流排。當(例如)簡單性及低製造成本比速度更重要時,I2C匯流排通常用以將低速周邊裝置附著至各種裝置。第一I2C匯流排係用於存取序列存在檢測(SPD)EEPROM(「SPD I2C匯流排」)。其經由標準JEDEC規範定義。第二I2C匯流排係用於存取其他模組100之資訊,諸如對於控制器110、非揮發性記憶體130及備用功率源200之狀態資訊及健康狀態(SoH)資訊(「NVDIMM I2C匯流排」)。該狀態資訊可包括(例如)快閃記憶體之當前狀態(寫入、已抹除、正抹除、損壞等);被置換出之壞區塊之數目;剩餘之備用區塊之數目;完成之下載循環之總數;最後下載中之ECC錯誤之數目;最後復原中之ECC錯誤之數目;最後下載之狀態(進行中、無錯誤完成、有錯誤完成等);最後復原之狀態(進
行中、無錯誤完成、有錯誤完成等);快閃標頭資訊。該SoH資訊可包括(例如)備用功率源之當前狀態(已充電、放電、正充電等)、是否組成備用功率源之任何電容器已失效(且若已失效,則判定哪些電容器已失效)及備用功率源之類型(例如,電容器或電池)。
快閃記憶體130在DIMM上提供非揮發性儲存且藉由使用安全數位(SD)/多媒體卡+(MMC+)得以實施。控制器110可支援各種配置,例如,四個獨立SD/MMC+介面連接至四個SD大量儲存裝置,每一SD大量儲存裝置使用4-位元資料匯流排,用20百萬位元組/秒之頻寬操作,或介面連接至四個MMC+大量儲存裝置,每一MMC+大量儲存裝置使用8-位元資料匯流排,用40百萬位元組/秒之頻寬操作。使用SD/MMC技術之一優點係藉由使用一簡單、低引腳數目之介面使管理快閃記憶體之複雜性自控制器110隱藏。快閃記憶體可以一單一裝置(例如,SanDisk iNAND)來實施,或可在同一DIMM上使用具有單獨NAND記憶體裝置之離散SD控制器來建構。在任一狀況下,SD/MMC控制器根據所使用之NAND技術負責ECC及壞區塊管理。
將序列存在檢測(SPD)資料儲存於第一256個位元組之快閃記憶體中,該快閃記憶體附著至第一SD/MMC+介面(亦即,快閃晶片131)。使用儲存於快閃組態空間之內的旗標來實施典型寫入保護機制。控制器110實施用於SPD資料之讀快取、寫入機制,其中SPD資訊可儲存於控制器110
上之快取記憶體中(除在快閃晶片131上之外)。在系統電力開啟期間,控制器110自快閃記憶體提取SPD資料。在SPD I2C介面上之讀取操作使用快取資料,同時將寫入操作立即寫入至快閃記憶體。在對該快閃記憶體之寫入操作期間,SPD I2C介面將忽略任何讀取或寫入請求。
將狀態資訊資料儲存於第二256個位元組之快閃記憶體中,該快閃記憶體附著至第一SD/MMC+介面。此介面允許使用者監控及組態非揮發性功能之操作。該區域亦用以在最後電源循環期間追蹤系統狀態。控制器110實施用於組態資料之讀快取、寫快取機制,其中狀態資訊可儲存於控制器110上之快取記憶體中(除在快閃晶片131上之外)。在系統電力開啟期間,FPGA自快閃記憶體提取資料。在NVDIMM I2C介面上之讀寫操作使用快取資料。在斷電及功率損失(備用)事件期間,將快取資料寫回。
控制器110為一進階嵌入式處理器,該處理器具有一定製133MHz DDR控制器、四個定製SD/MMC+主機介面、SPD I2C介面及NVDIMM I2C介面。微處理器可為(例如)一軟式32-位元Altera NIOS RISC處理器,其可在FPGA(可程式唯讀記憶體(PROM)115)中執行來自內部記憶體實例之韌體。處理器在DDR介面與SD/MMC+介面之間控制模組100資料移動之操作狀態,且控制在SPD介面及NVDIMM I2C介面上之通訊。定製DDR介面允許控制器110以每一位元組通道為基礎操作DRAM陣列。該介面具有對CKE訊號之個別控制,從而允許控制DRAM陣列中之每一裝置。控制器在陣
列中使用每一位元組通道中之前8個位元組以設定匯流排之內部相位對準。四個定製SD/MMC+介面經設計用於不需要諸如熱插拔等功能之嵌入式應用。該介面在高達50MHz之時脈速率下支援1-位元、4-位元及8-位元操作。該等介面亦可同時操作使四個SD/MMC+卡同步,從而允許高頻寬讀寫操作而無需大量之資料緩衝。對於需要移除SD/MMC+卡之應用,FPGA主機介面允許在未以正確次序安裝卡之情況下重排序該等卡。
揮發性記憶體120為一DRAM陣列。在下表中展示各種實例組態,其包括用於每64位元之實際資料的8位元之糾錯碼(Error Correcting Code,ECC)。在具有兩個十億位元組之NVDIMM之實例中,可根據當前記憶體需求開啟或關閉一個排。當一個排不被需要時可關閉以節省電力。當將資料(實際資料及ECC)自揮發性記憶體120移動至非揮發性記憶體130時,非揮發性記憶體130儲存實際資料及ECC,而儲存於非揮發性記憶體130中之實際資料與ECC不存在區別。當將資料自非揮發性記憶體130移回至揮發性記憶體120時,控制器110將適合於正使用之特定DRAM裝置的實際資料及ECC復原回至揮發性記憶體120中。
PLL 161為一高效能、低時間偏斜、基於PLL、零延遲之緩衝區,該緩衝區將一差分輸入時脈訊號分散至DRAM陣列。將多工來自邊緣連接器之DDR時脈與來自控制器110之DDR2時脈以防止PLL 161進入其低功率狀態且防止PLL 161將其輸出變為三態。在此實例設計中,該選定PLL必須以所要系統速率以及較慢之DDR控制器速率操作。大體而言,PLL略過其自身且以最慢之時脈速率作為一小延遲緩衝區操作。
經由暫存器162將控制及位址訊號重新驅動至以下上升時脈邊緣上之DRAM裝置(資料存取延遲了一個時脈)。控制器110使用三態來存取位址及控制訊號。當控制器110控制DRAM 120時,可使用FET匯流排開關163使暫存器與邊緣連接器隔離且控制器110可直接驅動暫存器輸入。當系統控制DRAM陣列時,FET匯流排開關163接通且FPGA將其輸出變為三態。將CKE訊號與其他控制訊號不同地處理。兩種操作模式之間的切換具有較少短時脈衝波形干擾(glitchless)以確保DRAM 120仍處於自我再新模式。對於此等訊號,FET開關163用以在邊緣連接器(通向系統)與控制器110之間多工。
高頻寬FET多工器163及FET多工器164經設計用於支援高頻寬應用,諸如記憶體交錯、匯流排隔離及低失真訊號閘控。FET多工器163及FET多工器164在功率損失事件期間使模組100與系統匯流排隔離。FET多工器使用充電
泵來增加傳輸電晶體之閘極電壓、提供低而平坦的接通狀態電阻。該低而平坦的接通狀態電阻允許最小傳播延遲且支援資料輸入/輸出(I/O)埠上之軌至軌切換。FET多工器亦以低資料I/O電容為特徵,以將資料匯流排上之電容性負載及訊號失真減至最少。
視模組100之組態而定,並非將儲存於揮發性記憶體120中之所有資料備用至非揮發性記憶體130。替代地,模組100可經組態以將儲存於揮發性記憶體120之選定部分中之資料備用(且稍後復原)。儲存於非揮發性記憶體中之資訊通常為用以判定檔案系統中之資訊(例如,檔案)之位置的關鍵/目錄資訊。關鍵/目錄資訊為基本上所有使用者將選擇備用之極重要資訊。然而,其他類型之資訊亦可儲存於揮發性記憶體120中。舉例而言,不改變之軟體程式資訊(例如,「.exe」檔案)可儲存於揮發性記憶體120中。控制器110包括允許使用者分段揮發性記憶體120之暫存器。將起始位址儲存於一暫存器中且將結束位址儲存於一第二暫存器中。儲存於此等兩個位址之間的所有資料將得以備用及復原。儲存於此等位址之外的資料將不會得以備用/復原。經由NVDIMM I2C匯流排控制此等暫存器之值。使用者可選擇(例如)指定起始位址及結束位址以使得僅關鍵/目錄資訊得以備用/復原。選擇僅復原關鍵/目錄資訊之一個原因在於藉由不浪費時間復原並不需要自非揮發性記憶體130復原之資訊而改良復原時間(例如「.exe」很可能並未改變且可在需要時自主機系統載入)。
模組100可經組態以支援各種數目之快閃晶片(例如,1-4個)且可根據選定數目程式化其韌體。所使用之快閃晶片之數目可基於(例如)需要被備用之揮發性記憶體之大小及該備用必須發生所用之時間(例如,備用功率可供應之時間量)或基於達到一所要復原速度(亦即,更多快閃裝置允許一更快之復原時間)。舉例而言,對於可支援高達四個快閃晶片之控制器,該控制器將具有四個匯流排。可根據選定數目之快閃晶片將該等匯流排中之每一者連接至(或不連接至)快閃晶片。將該選定數目之快閃晶片(例如,1、2或4個)連接至匯流排且焊接至印刷電路板(PCB)上。對於經設計用於容納多達四個快閃晶片之模組100,若僅安裝兩個快閃晶片,則用於未安裝之兩個快閃晶片之剩餘空間保持為空且控制器110經程式化以僅試圖與該兩個已安裝之快閃晶片通訊。對於一恒定備用時間或復原時間,快閃晶片之數目可與揮發性記憶體之大小成比例增加。或者,備用時間及復原時間可藉由增加快閃晶片之數目而減少。
模組100實施一72位元DDR2記憶體介面,該記憶體介面具有一244引腳小型DIMM連接器。連接器訊號指定係在DDR2註冊之小型DIMM設計規範之JEDEC標準21C第4.20.14-2頁中定義(當前可自www.jdec.org獲得)。此等訊號中之每一者可為訊號150或訊號170之部分。對應於244個引腳中之每一者的訊號並未圖示於第1圖中以避免使第1圖難以閱讀。
NVDIMM_RESET訊號初始化控制器110且迫使控制器重新啟動其狀態機。當標準RESET_IN輸入得以確定時,亦重設控制器110(與例如揮發性記憶體120及暫存器162一起)。當控制器110由NVDIMM_RESET保持於重設時,模組100將正常操作。亦即,當NVDIMM_RESET經確定時,FET開關163保持接通,從而允許系統存取DRAM記憶體120而無需進一步相互作用。
NVDIMM_PG訊號報告使用者系統中之功率狀態。當該訊號為高位準時,系統功率軌在規格之內操作。當該訊號變為低位準時,功率損失逼近且控制器110將資料移動至快閃記憶體130。若將DRAM裝置資料移動至快閃記憶體(如NVCACHE_ENABLE訊號所指示),則在否定NVDIMM_PG之前,系統使所有DRAM裝置(例如,121-122)進入自我再新操作。若當NVDIMM_PG否定時NVCACHE_ENABLE為低位準,則在功率損失事件期間忽略DRAM裝置中之資料。
NVCACHE_ENABLE訊號報告在系統功率失效情況下,DRAM裝置中應移動至快閃記憶體之快取資料的存在。若當NVDIMM_PG否定時NVCACHE_ENABLE為高位準,則控制器110將DRAM裝置中之資料移動至快閃記憶體。若當NVDIMM_PG否定時NVCACHE_ENABLE為低位準,則忽略DRAM內容且不將其儲存於快閃記憶體130中。彼最後順序由系統使用以正常關閉(例如,回應於使用者請求關閉而不發生電源故障)。當NVDIMM_PG為低位準時,NVCACHE_ENABLE可由控制器110忽略以防止訊號上之假
性轉換影響任何備用事件。
在復原操作期間,NVCACHE_ENABLE由系統使用以向控制器110發訊號可能抹除快閃記憶體130。並不清除在該快閃記憶體之內的已使用標簽(dirty tag)直到與NVCACHE_ENABLE之訊號交換完成為止。此舉允許(例如)系統在復原操作期間處理另一功率損失事件。
在將資料自快閃記憶體130移動至DRAM 120之後,確定指示系統可存取資料之DRAM_AVAILABLE訊號。當系統決定應清除快閃記憶體130時(例如,以防止資料在功率損失事件之後再次被復原),該系統否定(下降邊緣)NVCACHE_ENABLE以重設該快閃記憶體。系統等待NVDIMM_READY在再次確定NVCACHE_ENABLE之前確定。系統可在NVDIMM_READY確定之前持續使用模組100,但在功率損失事件期間將不備用資料。
CACHE_DIRTY訊號指示快閃記憶體130含有
DRAM 120之資料影像。在「備用」狀態期間,CACHE_DIRTY訊號指示備用過程之開始。在「加電」狀態期間,CACHE_DIRTY指示快閃記憶體130含有備分影像檔案。該訊號保持高位準直到NVCACHE_ENABLE訊號得以否定(下降邊緣)為止,從而指示已自DRAM 120讀取快取資料。
DRAM_AVAILABLE訊號指示系統何時可存取DRAM 120。當DRAM_AVAILABLE為低位準時,控制器110具有對DRAM 120之控制。當該訊號為高位準時,系統可使DRAM裝置(例如,121-122)退出自我再新且存取資料。在
加電具有資料之快閃記憶體130之情況下,DRAM_AVAILABLE將保持否定直到將快閃資料移動至DRAM 120為止。一旦該訊號確定,系統即可對DRAM 120讀取及寫入,但無法確定NVCACHE_ENABLE直到模組100就緒為止。在DRAM_AVAILABLE與NVCACHE_ENABLE之確定之間可發生一延遲,例如,在復原操作之後,因為正抹除非揮發性記憶體130或正再充電備用功率源。該系統可選擇在此時間期間僅自揮發性記憶體120讀取(與自揮發性記憶體120讀取及寫入至揮發性記憶體120不同)。
NVDIMM_READY訊號指示模組100能夠處理功率損失事件。該訊號不確定直到外部功率源處於健康狀態且完全充電為止。當經組態以完全抹除快閃記憶體130時,NVDIMM_READY訊號亦不會確定直到將快閃記憶體130完全初始化至一已知狀態為止。此特徵結構允許設計支援快閃記憶體裝置,在不抹除快閃記憶體之情況下,該等快閃記憶體裝置無法支援全速叢發寫入操作。在正常系統操作(閒置狀態)期間,系統無法確定NVCACHE_ENABLE直到NVDIMM_READY得以確定為止。在備用操作期間,NVDIMM_READY得以否定。在復原操作期間,NDIMM_READY得以否定。若控制器110在任何時候判定無法正確地處理功率損失事件,例如,若EDL電容器組未能進行自我測試操作,則控制器110否定NVDIMM_READY以通知系統自DIMM記憶體移動任何快取資料(例如,將資料移動至諸如該系統之硬碟之永久儲存器)。
NVDIMM_SEATED為在DIMM引出腳上之上拉引腳,該上拉引腳允許系統偵測模組100。該系統同樣亦可藉由試圖自NVDIMM I2C介面讀取來偵測模組100以查看是否I2C從屬介面產生回應。
控制器110上之NVDIMM I2C從屬介面提供一完整功能使用者介面予控制器110。使用者可使用NVDIMM_SDA及NVDIMM_SCL(訊號152)組態且控制控制器110以及存取詳細的狀態資訊。
V3P3_AUX為輔助3.3V電壓軌,其在正常系統操作期間供電予非揮發性邏輯。在功率損失狀態期間,模組100自此供應切換且自VBACK 171(在備用操作期間電源使用之電壓軌)操作直到控制器110將其自身關閉為止。
模組100亦包括第三I2C介面,該第三I2C介面位於控制器110與備用功率源200之間(「備用電源I2C介面」)。備用電源I2C介面允許控制器110使用VBACK_SDA及VABACK_SCL與外部備用電源模組通訊。經由該介面,控制器110可判定備用功率方法之類型(例如,EDL電容器或電池),以及判定該電源之充電狀態及健康狀態。在備用電源I2C介面中通訊之資訊可作為SoH資訊之部分於NVDIMM I2C介面中進行通訊。備用電源重設(VBACK_RESET)允許控制器110重設外部備用電源模組。VCHRG電壓軌供電予EDL電容器充電或外部電池備用電源模組。電壓軌為能夠獲得500mA之標稱12伏特電壓軌。
訊號TEST_RX及訊號TEST_TX組成為一
57.6Kbaud串列鏈路之生產測試介面。在正常系統操作期間,該等測試訊號具有三態且浮動。
第4圖圖示展示模組100之各種狀態及狀態轉換之狀態圖。舉例而言,無論模組操作於何種狀態,模組100藉由系統重設而初始化至「加電」狀態。在此狀況下,該模組在判定最後電源循環發生了什麼之前初始化所有邏輯且自快閃記憶體提取組態。舉例而言,模組自FPGA PROM 115載入韌體;CACHE_DIRTY得以確定,且NVDIMM_READY及DRAM_AVAILABLE得以否定。SD/MMC+快閃記憶體經初始化至SD/MMC+傳送狀態。快閃組態區塊經讀取以判定最後電源循環之狀態。若「已使用」標簽經設定且先前備用操作成功地完成,則將該狀態轉換至「拭除」狀態(若經組態以拭除執行時間區域)。若未經組態以拭除執行時間區域,則將狀態轉換至「復原」狀態。若「已使用」標簽經設定且備用操作並未成功地完成,則將該狀態移動至「抹除」狀態(若「抹除」位元經設定)或移動至DRAM_AVAILABLE及CACHE_DIRTY設定之「閒置」狀態。若先前「抹除」狀態並未完全地完成且該「抹除」位元經設定,則將其轉換至「抹除」狀態以重新執行抹除循環。若「已使用_標簽未經設定,則CACHE_DIRTY得以否定,DRAM_AVAILABLE得以確定,且該狀態轉換至「閒置」狀態。
當施加系統功率時,「閒置」狀態為正常操作狀態。若CACHE_DIRTY已經設定且然後NVCACHE_ENABLE得以
確定,則CACHE_DIRTY得以否定。CACHE_DIRTY可用以確認歸因於無效備用而引起之不成功復原操作之回應。若NVCACHE_ENABLE得以確定且NVDIMM_READY得以確定,則確定CACHE_DIRTY將確認控制器現正以一非揮發性狀態操作(功率損失將觸發備用操作)。若NVCACHE_ENABLE否定,則否定CACHE_DIRTY以確認控制器現正以一揮發性狀態操作(功率損失將不進行備用操作)。若備用功率源在電壓規格之內,則確定NVDIMM_READY指示系統可支援電源故障。若備用功率源未能進行自我測試(或由於任何其他原因,控制器110無法完成備用操作),則否定NVDIMM_READY將向系統發出訊號以清空快取記憶體。若CACHE_DIRTY得以確定且NVDIMM_PG否定,則功率已損失且DRAM記憶體含有待寫入至快閃記憶體之資料。在此狀況下,控制器110否定DRAM_AVAILABLE及NVDIMM_READY且轉換至「備用」狀態。若CACHE_DIRTY得以否定且NVDIMM_PG否定,則DRAM記憶體不含有有效資料且功率正常關閉。在此狀況下,否定DRAM_AVAILABLE及NVDIMM_READY(若設定)且轉換至「斷電」狀態。
當在備用功率下操作時,「備用」狀態負責將資料自DRAM 120移動至快閃記憶體130。若「短時脈衝波形干擾」位元未經設定,則控制器110等待CKE變為低位準以確保DRAM記憶體處於自我再新(若備用操作開始,則該「短時脈衝波形干擾」位元經設定,但在操作期間功率回升)。機
載調節器自備用功率切換至電源功率。將DDR匯流排斷開且控制器110驅動DRAM 120。因為系統可能斷電,所以控制器110將NVCACHE_ENABLE訊號遮蔽。控制器110確定「已使用」暫存器且寫入該快閃組態頁以記錄備用過程之開始。若歸因於自「短時脈衝波形干擾」狀態轉換回而存在一檢查點,則控制器110自該檢查點重新啟動備用。另外,對於DRAM 120之每一DRAM裝置,使該DRAM裝置退出自我再新且寫入快閃記憶體130之內容。若NDIMM_PG在記憶體複製操作期間確定,則使主動DRAM裝置回到自我再新中、檢查當前備用點及移動至「短時脈衝波形干擾」狀態。當已將所有DRAM裝置複製至快閃且該快閃已完成其程式循環時,控制器110在該快閃組態中寫入當前狀態資訊且等待該程式循環完成。最後,控制器110將模組100移動至「斷電」狀態。
若系統功率仍然可用,則「斷電」狀態處理該斷電操作以防止記憶體模組100提前重啟動。亦即,NVDIMM_PG可指示一功率損失事件,但系統功率可能尚未自該記憶體模組移除。若在備用功率下操作,則控制器110將機載調節器切換回至正常功率。控制器110將控制器與多工器163之間的介面變為三態,且將DRAM裝置連接至DDR匯流排。若NVDIMM_PG曾確定,則系統功率仍然存在,因此系統藉由移動至「加電」狀態而重啟動。
短時脈衝波形干擾狀態表示系統臨時損失功率之狀況,但功率在備用操作完成之前已返回,從而允許使用者擷取DRAM內容而無需使用快閃資料。「短時脈衝波形干擾」
狀態可在備用操作期間被進入多次。在「短時脈衝波形干擾」狀態中時存在兩個結果。功率損失事件繼續且將在DRAM 120之內的資料備用至快閃130或將在DRAM 120之內的資料被擷取且NVCACHE_ENABLE得以否定。若該功率損失為臨時的,則記憶體模組仍然必須在確定NVDIMM_READY之前將EDL電容器再充電至一已知狀態,且允許該系統依非揮發性功能而定。為此,模組100藉由確定「短時脈衝波形干擾」暫存器來記錄事件,從而指示在備用功率損失之前復原的功率;將機載調節器自正常系統功率切換至電源功率;將控制器110變為三態且將DDR匯流排再連接至DRAM記憶體;確定指示資料可用之DRAM_AVAILABLE;將NVCACHE_ENABLE訊號去遮蔽,因為系統可清空DRAM裝置之資料;若NVDIMM_PG得以確定且NVCACHE_ENABLE得以否定,則不需要在快閃記憶體中之部分複製,否定CACHE_DIRTY且轉換至「抹除」狀態;若NVCACHE_ENABLE得以確定且NVDIMM_PG否定,則功率已損失且DRAM記憶體含有待寫入至快閃記憶體之資料,否定DRAM_AVAILABLE且轉換至「備用」狀態以自檢查點重新開始。
拭除狀態係用於將DRAM 120之部分用於執行時間、非揮發性目的之應用(例如,若使用者已決定將非關鍵/目錄資訊儲存於揮發性記憶體120中且已選擇不去備用/復原該非關鍵/目錄資訊)。在該拭除狀態中,控制器110可經組態以在位址空間中將一單一連續區域歸零。此特徵結構防止
在DRAM記憶體之內的假性ECC錯誤。模組100:斷開DDR匯流排且使控制器110驅動DRAM記憶體;若該拭除功能藉由NVDIMM_PG否定所指示之功率損失而中斷,則轉換至「斷電」狀態;對於每一DRAM,將經組態之位址空間初始化至零且初始化相關聯ECC值;當所有DRAM完成時,轉換至「復原」狀態。
該「復原」狀態將快閃記憶體130內容傳回至DRAM 120。不退出該狀態直到系統指示已讀取DRAM中之復原資料為止,以便在此狀態期間處理功率損失事件。在「復原」狀態期間的功率損失事件引起將同一影像復原至下一通電事件上之DRAM記憶體。模組100:若尚未如此進行,則斷開DDR匯流排且使控制器110驅動DRAM記憶體;在快閃組態記憶體中記錄復原操作已開始允許系統偵測多個復原事件;對於每一DRAM,將內容自該快閃記憶體複製至DRAM;當所有DRAM完成時,更新具有儲存於快閃組態中之值的「模式」位元組(在「模式」值為唯讀時之系統「模式」值)且使彼DRAM進入自我再新操作;若該復原功能藉由NVDIMM_PG否定所指示之功率損失而中斷,則轉換至「斷電」狀態;將控制器110變為三態且將DDR匯流排再連接至DRAM120;確定DRAM_AVAILABLE;且當NVCACHE_ENABLE自高位準轉換至低位準(下降邊緣)時,轉換至「抹除」狀態以抹除快閃內容。
某些快閃記憶體裝置要求抹除記憶體以在大的連續寫入操作期間達成最大頻寬效能。在此等實施例中,系統至
少清除指示部分複本或影像存在於快閃記憶體中之任何旗標。抹除操作無法發生直到該系統已指示已自DRAM 120讀取DRAM 120中之任何資料(亦即,復原資料或部分備用資料)。模組100進入「抹除」狀態且:若抹除循環由另一功率損失中斷,則首先重啟動該抹除循環;使控制器110變為三態且將DDR匯流排再連接至DRAM 120;確定DRAM_AVAILABLE;若需要,寫入該快閃組態以清除指示該快閃記憶體之內之潛在備用或備分影像檔案的任何旗標且標記一抹除循環已開始;若「抹除」暫存器得以確定,則抹除快閃記憶體模組;若該抹除功能藉由NVDIMM_PG否定所指示之功率損失而中斷,則轉換至「斷電」狀態;當抹除循環正常完成時更新該快閃組態;當抹除操作完成時,轉換至「閒置」狀態。
FPGA控制器具有兩個單獨從屬I2C介面,該等I2C介面藉由使用相同協定來控制,如工業標準雙線I2C串列EEPROM(亦即,SPD I2C介面及NVDIMM I2C介面)。將用於SPD I2C介面之基底位址設定在標準0xA0,而將用於NVDIMM I2C介面之基底位址設定在0xB0。將1-位元位址偏移應用於兩個基底位址以允許在需要時將該兩個介面連接在一起且與其他模組相互操作。亦即,SPD I2C介面及NVDIMM I2C介面可實施為使用不同位址範圍之單一實體介面。控制器110使用快閃記憶體中之第一512個位元組區塊,該快閃記憶體附著至第一SD/MMC+介面。該區塊之第一半係用於SPD
資料,而該區塊之第二半係用於快閃組態。第5圖展示使用I2C介面讀取之功能操作。第6圖展示使用I2C介面寫入之功能操作。
模組100亦包括用於除錯、維護、測試及掃描之功能性。舉例而言,若控制器藉由使用Altera處理器來實施,則Altera JTAG UART介面為一完整功能除錯及監控介面,其允許使用者存取韌體功能。使用Altera工具套件,韌體可受監控及/或由新韌體所覆寫以供研究之目的。使用內建式UART功能,JTAG介面可用以仿真允許低速定製通訊之串列介面。同樣地,對於較大FPGA組態,韌體可併入測試使用者介面以對DRAM及快閃記憶體執行診斷測試以供測試之目的。測試使用者介面亦經由建置於Altera JTAG介面中之UART存取。
在生產測試期間,可將控制器110保持於重設以允許測試DRAM 120及SD/MMC+快閃130。因此,當將控制器110保持於重設時,將在DDR介面上之FET開關163及FET開關164保持於適當狀態。同時,控制器110使SD/MMC+介面變為三態以允許快閃記憶體之針床測試。
控制器110具有一生產測試控制,該生產測試控制組態韌體以在DDR介面及SD/MMC+介面上執行生產測試以確保適當連接性。控制器110對DDR記憶體裝置讀寫以運用DDR之位址、資料及控制訊號。同樣地,控制器110經由SD/MMC+命令及資料匯流排傳遞足夠之資料以運用所有訊
號。作為一終端客戶生產測試,NVDIMM I2C介面提供一機制以控製備用及復原操作及直接存取快閃及DDR記憶體。
第7圖展示控制器110之一實例架構,控制器110使用具有用以將IP區塊連接在一起之Avalon匯流排的嵌入式NIOS處理器(例如,若控制器藉由使用Altera處理器(Altera JTAG)來實施)。對來自Altera之設計之更改包括用於新特徵結構之另一I2C介面(NVDIMM I2C介面)、更新之GPIO及修改之韌體。
模組100之電源執行許多系統操作。其產生控制器110所需之電壓軌且其在電源故障期間使模組110與系統軌隔離。第8圖展示該電源之結構。
在正常操作期間,電晶體Q3及二極體D1將系統功率VDD及V3P3_AUX導引至模組100上之裝置。V3P3_AUX為一額外邊緣連接器引腳,該引腳為模組100上之非標準裝置供電。VDD為包括許多邊緣連接器引腳之標準模組功率源。VMEM為給模組100裝置供電之電源軌。將V3P3_AUX電壓軌轉換至控制器110所需之三個額外電源軌。大體而言,V1P2電壓軌及V1P8電壓軌供應大部分控制器功率,同時V2P5軌為FPGA類比PLL供電且V3P3為FPGA數位I/O、振盪器及SD/MMC+卡供電。
經由邊緣連接器訊號或經由NVDIMM I2C介面通知控制器110一逼近之功率損失。一旦其發生,控制器110接
通Q1及Q4且斷開電晶體Q3以自EDL電容器組獲得功率,該EDL電容器組連接至VBACK 171且使該模組與系統功率隔離。此電源開關無觸點,如(例如)在此狀況下電源調節器U1、U2、U3及U4經組態以不引起控制器110重設或不引起DRAM 120丟失資料。在電源之間切換之一方法係使用二極體開關。二極體D1防止(例如)EDL電容器電壓反饋至V3P3_AUX電源中,歸因於在兩個軌道上之「解耦」電容器之間的電荷共用,若使用一電晶體,則該EDL電容器電壓可引起該電源出現短時脈衝波形干擾(該等電容器中之一者為EDL電容器組)。根據功率損失事件之類型,控制器110可被請求停止使用EDL電容器組且被請求返回至系統功率。再次,此電源開關無觸點以防止功率軌上之資料損失或短時脈衝波形干擾。
模組100亦使用VCHRG電源充電且監控EDL電容器組。此電壓軌經指定以僅用於充電之目的,且即使當VCHRG未經連接時,該模組仍持續正常地操作。為了改良EDL電容器組之功率效率,U3及U4之最小輸入電壓可盡可能低。因為備用操作必須在U3或U4達到其規格限制之前完成,所以此最小輸入規格限制了EDL電容器放電曲線之低端。為此原因,V3P3調節器U1為自V1P8電源之升壓調節器,從而允許最小EDL放電位準盡可能低。
當級聯調節器影響電源之效率時,與V1P8電源相比,V3P3及V2P5為相對較低功率。歸因於較低的最小放電位準,級聯V3P3調節器U1之功率損失顯著低於改良之EDL
電容器組效率。在最小EDL電容器組電壓中減少1V可在總系統功率中獲得10%之改良,而級聯V3P3調節器U1表示僅V3P3電源軌之效率之大致30%的下降(其大致為總系統功率之5%-10%)。
第1圖之系統支援具有不同數目之SD/MMC+記憶體裝置之DRAM裝置的四種組態。每一組態具有不同PCB佈局,其允許電源設計經調整以支援不同負載。該電源設計可處理無強制氣流之70℃周圍(PCB)溫度。用於電源設計之組件位於PCB之一側上且具有4mm之最大高度。該電源採用僅僅3吋×1吋之板空間,該空間包括任何散熱器。
VDD系統軌係過度約束的以使得在電晶體Q3處之電壓降不引起VMEM電源超出下游裝置範圍。Q3電晶體電壓降之電壓降預算已在任意百分比之標稱值下加以選擇,但更好的效能是需要的。
圖式中所示之調節器具有功能且可組合成多輸出調節器裝置。所有電壓軌具有監控器(「PG」訊號),該等監控器可與調節器組合或組合成一單獨裝置。V3P3監控器為單獨的,因為當V3P3_AUX軌為功率源時,V3P3監控器監控V3P3軌。若不供應VCHRG,則V3P3調節器不運行,但此並非為一誤差,因為模組100必須仍然持續操作(參見第2圖及第3圖)。為了增加EDL電容器組之能量儲存效率,對調節器之最小容許輸入電壓應盡可能低。下表提供關於調節器之額外資訊。
1.所有調節器之最接近之淨空高度且限制EDL電容器組之效能。
2.當調節器在正常操作中閒置(電容負載)時之低靜態電流要求。
3.基於組態之規格。有關規格參見關於電壓軌之部分。因為功率消耗仍為估計值,所以應研究接近於當前規格之裝置。
功率電晶體負責將DRAM裝置移動至備用功率且使備用功率與系統功率VDD及V3P3_AUX隔離。電容器充電器U6處理功率損失且防止EDL電容器組經由充電器放電回來。電晶體Q3及電晶體Q4為n-通道MOSFET且由FPGA控制,該FPGA使用3.3V控制訊號移除對高邊驅動器之需要。電晶體Q1為由FPGA直接控制之p-通道MOSFET或為具有某一高邊驅動機制之n-通道MOSFET(VCHRG電源或VCAP電源無法正常地使用,除非模組持續在無此等電源之情況下操作)。在下表中列出之電流具有某一超規格設計容限,因此接近於滿足該規格之電晶體亦可用於此實例設計中。在功率損失事件期間,該等電晶體僅操作直到EDL電容器組得以放電為止(例如,大約2分鐘之最大值)。
1.基於VCAP(2.8v)之低電源規格及電源電壓之2%容限。
2.基於電源之低電源電流規格及電源電壓之2%容限。
回到第2圖及第3圖,連接至VBACK 171之EDL電容器210或備用電池310位於模組100之外部,因為其實體上較大且對溫度敏感。EDL電容器及電池之長期壽命對周圍溫度以及電容器之操作電壓敏感。為了此設計,已選擇該操作電壓以使得電容器將耐受小於50℃之周圍溫度達至少10年。大體而言,該備用功率位於進氣口附近或底盤之內的另一相對涼爽位置附近。備用控制器220對備用功率源執行週期性健康狀態檢查以判定是否該電源不再能夠持續且經由NVDIMM I2C介面報告狀態。
EDL電容器之長期壽命展示溫度與操作電壓之相關。如鋁電容器,溫度降低每10℃其壽命通常加倍。亦如鋁電容器,該電容器對工作電壓指數敏感。麥克斯威技術(Maxwell Technologies)使用熱-非熱(T-NT)模型以小時模型化PC10電容器之壽命:
其中T為凱式溫度且V為以伏特為單位之工作電壓。此模型
假定在電容器壽命之末期,電容已自其初始值減少20%。在下表中呈現許多不同操作環境以展示PC10電容器之預期壽命:
如圖所示,該等電容器在低工作電壓下操作,其影響電壓調節器之結構。在一並聯組態中,總電容為所有電容器之和。然而,該放電電流在使用期間對於一小電壓擺動較大。電壓調節器需要具有高電流電感器之升壓開關模式電源架構。在一串聯組態中,總電容為電容之倒數之和的倒數,但總工作電壓已增加。問題包括使電容之間的操作電壓平衡及使電容器之數目保持合理。為了設計探索之目的,已選擇50℃之操作溫度,從而允許設計使用75%之電容器工作電壓達10年之壽命。此情況允許超過在伺服器機房之內的企業電腦之共同35℃外部周圍溫度15℃的溫度上升。另一目標環境將為一具有40℃最大周圍溫度之電信NEBS標準,該最大周圍溫度可在短期HVAC失效期間在設備框架之內增加至具有
5℃更高溫度之50℃周圍溫度。每一短期溫度失效之長度經定義高達96小時,但每年不超過15天。
第9圖展示一外部EDL電容器備用電源架構,其為第2圖之更加詳細版本。一些實施例提供電容器充電器,例如,實施恒定電流、恒定電壓設計之電容器組充電器。該充電器施加一恒定電流至電容器組直到該電容器組達到其最終完全充電電壓為止。在彼時,該充電器施加一恒定電壓以使該電容器組浮動。之所以施加該浮動電壓,是因為EDL電容器具有一相當大之洩漏電流,其要求該電容器組之內的平衡電阻器得以偏壓以確保該電容器組之內的所有電容器具有等同之充電電壓。因為可為每一組態最佳化電容器組之大小,所以浮動電壓可由一電阻器程式化且精確至1%。浮動電壓可自VCHRG(減去某一淨空高度)設定至6伏特。該設計可利用LiOn電池充電器技術(通常為單端初級電感轉換器或SEPIC架構),但亦可使用其他技術。一些充電器需要一小型處理器來監控充電週期且將充電器自恒定電流操作切換至恒定電壓操作。為了此等設計,可根據演算法之複雜性及與充電器設計之硬體連接性使用控制器110之內的處理器。下表提供與VCHRG及VCAP相關之資訊。
1.可視系統而定,例如,在某些實施例中,較寬之電源範圍
可具有優點。
2.電容器組之標稱浮動電壓。在放電週期期間,調節器持續操作直到電容器組放電至2.8V或更低為止。
1.基於一實例客戶規格,充電器在所有狀況下之消耗不超過最大規格。
2.基於在70%效率下操作之U1、在80%效率下操作之U3及在90%效率下操作之U4,在2.8V(操作範圍之低端)下操作之VCAP具有一2%之損失。
所描述之實施例亦包括用於備用電源之健康狀態監控器。EDL電容器具有一有限之壽命,該壽命對工作電壓、周圍或儲存溫度及充電/放電週期(磨損)之數目敏感。在一些應用中,僅工作電壓及周圍溫度為重要的,例如,在預測週期之數目比規格小100倍之情況下。EDL電容器之壽命基於降低至一指定臨限值之電容(在大多數狀況下,自初始電容之30%之下降)或增加至一指定臨限值之電容之ESR(視產商而定,自初始ESR之30%至100%之增加)。假定EDL電容器對應力之敏感性,該控制器監控電容器之健康狀態。健康狀態監控器U11(第9圖)可根據實施與充電器U6組合。若電容器組經充電足以處理功率損失,則健康狀態監控器將通知FPGA。大體而言,充電器U6必須能夠在測試期間「斷
開」。舉例而言,在具有許多串聯電容器之實施例中,在每一電容器處之電壓可得以監控且被送至訊號,該等訊號可經由備用電源I2C匯流排得以檢查。此舉允許對已失效之特定電容器之識別以及指示備用功率源已全部失效。
量測自通電(施加VCHRG功率)至當VCAP達到完全充電狀態時之時間提供估計電容器組之健康狀態之一方法。控制器110可報告是否模組100能夠處理功率損失事件。若該電容器組從未達成一完全充電狀態,則系統偵測此情形且宣告一錯誤。
為了量測電容,將電容器完全充電。首先將充電器斷開且將一固定已知負載(電阻器)施加於該電容器組達某一時段以將該電容器略微放電。大體而言,負載電流對於防止ESR影響量測而言太小。若VCAP電源降至一固定電壓以下,則該量測方法可如在控制器110上觸發一中斷之電壓比較器一樣簡單。若該中斷在測試期間得以觸發,則電容太低且該電容器組未通過測試。一問題在於因為功率損失事件可能正好在自我測試之後發生,所以部分地放電電容器,其必須被考慮在能量預算之內。
為了將EDL電容器電源之成本降至最低,將自我測試智慧定位於模組110上。為了控制電源中之邏輯,使用一至GPIO擴展器裝置之I2C。因此,控制器110能夠控制且監控備用電源模組(例如,200或300)上之訊號。
如所論述,在某些狀況下,可能選擇電池要優於選擇EDL電容器,因為電池比EDL電容器具有更高之能量密度
且因此需要較少體積及質量。例如,一單一A123電池在3.3V下之額定電流為2.3Ah,重70克且需要2立方吋。若模組100需要5瓦特達2分鐘,則所需能量僅為0.05Ah,其超過小於電池容量之數量級。用於攜帶型膝上型電腦之大部分電池充電器具有備用電源所需之所有必要功能。此外,大部分此等裝置具有用於監控、組態及控制之積體I2C介面,該介面可由模組100使用。
在單一SD/MMC+卡操作中,SD卡(位元組0至位元組511)之第一區塊用於SPD及快閃組態之目的。SD卡中之剩餘區塊用於備用資料。在備用操作期間,將備用資料以一連續位元組串流自第一DRAM裝置讀取且寫入至單一快閃記憶體中。備用控制器然後為其他DRAM裝置重複該過程直到所有其他裝置之備用完成為止。在復原操作期間,將資料以一連續位元組串流自單一快閃記憶體讀取且寫入至第一DRAM裝置中。備用控制器然後為其他DRAM裝置重複該過程直到所有其他裝置完成為止。備用控制器串流使用一單一連續讀取/寫入操作將資料讀取且寫入至快閃記憶體。此機制允許SD卡以最大頻寬執行,但其具有副作用,即若每一DRAM備分影像檔案之長度並非為512位元組之倍數,則每一DRAM備分影像檔案之排列可能會超過SD卡區塊之邊界。
對於雙SD/MMC+卡操作,在槽0中之SD卡(位元組0至位元組511)之第一區塊用於SPD及快閃組態之目的。不使用在槽1中之另一SD卡之第一區塊且將其忽略。在備用
操作期間,將資料以一連續位元組串流自第一DRAM裝置讀取且同時寫入至兩個快閃記憶體中。藉由發送所有偶次位元組至槽0且發送所有奇次位元組至槽1來將資料串流分成兩個快閃寫入資料串流。備用控制器然後為其他裝置重複該過程直到所有DRAM裝置完成為止。在復原操作期間,自兩個快閃記憶體讀取資料,該資料係經由位元組將該等資料串流交錯以形成寫入至該第一DRAM中之單一資料串流而組合。備用控制器然後為其他DRAM裝置重複該過程直到所有裝置完成為止。備用控制器串流使用一單一連續讀取/寫入操作為每一SD卡將資料讀取且寫入至快閃記憶體。此機制允許SD卡以最大頻寬執行,但其具有副作用,即若每一DRAM備分影像檔案之長度並非為1千拜之倍數,則每一DRAM備分影像檔案之排列可能會超過橫穿SD卡區塊之邊界。
對於四線SD/MMC+卡操作,在槽0中之SD卡(位元組0至位元組511)之第一區塊用於SPD及快閃組態之目的。不使用在槽1中之另一SD卡之第一區塊且將其忽略。在備用操作期間,將資料以一連續位元組串流自第一DRAM裝置讀取且同時寫入至所有快閃記憶體中。藉由發送每4個位元組至一介面來將資料串流分成四個快閃寫入資料串流。備用控制器然後為其他裝置重複該過程直到所有DRAM裝置完成為止。在復原操作期間,自兩個快閃記憶體讀取資料,該資料係經由位元組將該等資料串流交錯以形成寫入至該第一DRAM中之單一資料串流而組合。備用控制器然後為其他DRAM裝置重複該過程直到所有裝置完成為止。備用控制器
串流使用一單一連續讀取/寫入操作為每一SD卡將資料讀取且寫入至快閃記憶體。此機制允許SD卡以最大頻寬執行,但其具有副作用,即若每一DRAM備分影像檔案之長度並非為2千位元組之倍數,則每一DRAM備分影像檔案之排列可能會超過SD卡區塊之邊界。
下表提供對於每一SD/MMC卡且對於每一MMC+卡分別使用20百萬位元組/秒及40百萬位元組/秒之最壞狀況寫入/讀取頻寬所計算的實例備用時間。該計算亦包括用於更新快閃組態之最壞狀況SD/MMC+寫入間隔。
DIMM 100亦包括自我測試功能性。可藉由使用在FPGA上之PRODTEST輸入以及經由NV I2C介面觸發自我測試。將該自我測試之結果永久儲存直到經由另一自我測試序
列抹除快閃記憶體為止。在一實例中,自我測試:接收DDR介面(FET開關斷開);設定進行中之SELFTEST測試位元高的;用0xA5填充DRAM記憶體;用0x00填充快閃記憶體;接通進度LED;將DRAM記憶體備用至快閃記憶體;用0x00填充DRAM記憶體;自快閃記憶體復原DRAM記憶體;測試DRAM記憶體之內容;及若偵測一錯誤,則設定一錯誤LED且將結果儲存於快閃內。若未發現錯誤,則該過程返回以用0x00填充快閃記憶體。自我測試方法可由第1圖之系統之各個使用者定義,例如,該等方法可由客戶定義。
尤其當在一系統之內使用多個模組100時,在板上之視覺指示允許診斷對於記憶體模組之系統問題。在以下狀況下,一LED之慢閃光為0.25秒之接通及1秒之斷開,而一LED之快閃光為0.5秒之接通及0.5秒之斷開。該記憶體模組具有LED以指示備用操作正發生。假定一些組態花費多分鐘來完成備用操作,則LED向維修技術員指示在功率損失事件之後模組100或電容器組必須不受干擾。
提供給備用電源一視覺指示以指示備用功率經正確
連接、充電、完全充電或失效。舉例而言,此在具有多個模組100之系統中可為有用的,有可能維修技術員必須實體識別一已失效之模組或電容器以供替換。
在預燒測試期間亦使用視覺指示LED。若自我測試中之任一者在預燒測試期間失效,則紅色LED鎖上。為證明自我測試操作正在進行中,綠色LED將在自我測試期間閃光。當測試進行時,綠色LED在每一測試週期(寫入/讀取DRAM及讀寫快閃記憶體)之末期雙態觸發。
舉例而言,外部系統可包括各種類型之系統,例如,主機、伺服器、用戶端及各種系統之網路等。揮發性記憶體120可包括(例如)動態隨機存取記憶體(DRAM)、Z-RAM®、靜態隨機存取記憶體(SRAM)及雙電晶體RAM(TTRAM)等。非揮發性記憶體130可包括(例如)唯讀記憶體(ROM)、快閃記憶體、鐵電RAM(FeRAM)、可程式化金屬化單元(PMC)等。在某些實施例中,備用電源200可包括為DIMM 100之部分,而在其他實施例中,備用電源200可為(例如)一外部裝置。非揮發性記憶體130及揮發性記憶體120可為各種大小且不必為相同大小。在備用操作期間,各種實施例可將儲存於揮發性記憶體120中之所有資料移動至非揮發性記憶體130或儲存於揮發性記憶體120中之資料之某一子
集。在自非揮發性記憶體130至揮發性記憶體120之復原操作期間亦同樣如此。第1圖之某些實施例不包括第1圖之每一組件及/或功能。舉例而言,某些實施例不包括隔離邏輯140,某些實施例不將SPD資訊儲存於揮發性記憶體120中,某些實施例將儲存於揮發性記憶體120中之所有資料同時移動至非揮發性記憶體130(例如,同時所有DRAM裝置),且某些實施例將儲存於揮發性記憶體120中之資料以組塊移動至非揮發性記憶體130,例如,一次一個DRAM裝置。
控制器110可(例如)使用各種FPGA、控制器、處理器及/或記憶體來實施。在另一實施例中,非揮發性控制器110為一特殊應用積體電路(ASIC),其包括控制器內部之一快閃晶片介面。藉由將快閃晶片介面併入ASIC控制器,將不使用外部SD/MMC+控制器,且可改良保存/復原效能。在另一實施例中,揮發性記憶體120可藉由使用各種起始位址及結束位址而分成各種區段。此等位址可藉由經由NVDIMM I2C匯流排設定控制器110中之暫存器來組態。由此等位址定義之哪些區段(且以何次序)應得以備用及/或復原亦可藉由設定控制器110中之暫存器而可控制。雖然本發明已在上述說明性實施例中加以描述及說明,但應瞭解本揭示案已僅以實例進行說明,且可在不脫離本發明之精神及範疇的情況下進行本發明之實施例之細節之許多變化,本發明之精神及範疇僅受以下申請專利範圍限制。
100‧‧‧雙行記憶體模組(DIMM)
105‧‧‧介面
110‧‧‧控制器
115‧‧‧FPGA可程式唯讀記憶體
120‧‧‧揮發性記憶體
121‧‧‧DRAM晶片
122‧‧‧DRAM晶片
130‧‧‧非揮發性記憶體
131‧‧‧快閃晶片/快閃裝置
132‧‧‧快閃裝置
140‧‧‧隔離邏輯
150‧‧‧訊號
161‧‧‧PLL
162‧‧‧暫存器
163‧‧‧FET匯流排開關/FET多工器
164‧‧‧FET開關/FET多工器
170‧‧‧介面線/訊號
171‧‧‧VBACK
Claims (1)
- 一種與一主功率源一起使用之記憶體裝置,該記憶體裝置包含:揮發性記憶體,其包括複數個記憶體部分,該複數個記憶體部分中之每一者具有一正常操作狀態及一低功率狀態;一介面,其用於連接至一備用功率源,該備用功率源經配置以在來自該主功率源之一功率損失發生後即臨時供電至該揮發性記憶體;一非揮發性記憶體;及一控制器,其與該揮發性記憶體及該非揮發性記憶體通訊且經程式化以偵測該主功率源之一功率損失,並回應於該功率損失,將資料以每次至少一個記憶體部分之方式自該揮發性記憶體移動至該非揮發性記憶體,且在將資料自該揮發性記憶體移動至該非揮發性記憶體時,將正在被移出資料之該等記憶體部分置於一正常操作狀態,且將非正在被移出資料之該等記憶體部分置於一低功率狀態。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/369,027 US7830732B2 (en) | 2009-02-11 | 2009-02-11 | Staged-backup flash backed dram module |
US12/369,079 US8169839B2 (en) | 2009-02-11 | 2009-02-11 | Flash backed DRAM module including logic for isolating the DRAM |
US12/369,040 US7990797B2 (en) | 2009-02-11 | 2009-02-11 | State of health monitored flash backed dram module |
US12/369,076 US7983107B2 (en) | 2009-02-11 | 2009-02-11 | Flash backed DRAM module with a selectable number of flash chips |
PCT/US2009/033755 WO2010093356A1 (en) | 2009-02-11 | 2009-02-11 | A flash backed dram module |
US12/369,052 US8566639B2 (en) | 2009-02-11 | 2009-02-11 | Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus |
US12/369,032 US20100205349A1 (en) | 2009-02-11 | 2009-02-11 | Segmented-memory flash backed dram module |
US12/369,046 US8977831B2 (en) | 2009-02-11 | 2009-02-11 | Flash backed DRAM module storing parameter information of the DRAM module in the flash |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201419300A true TW201419300A (zh) | 2014-05-16 |
TWI529738B TWI529738B (zh) | 2016-04-11 |
Family
ID=44814320
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102147779A TWI529738B (zh) | 2009-02-11 | 2010-02-11 | 具有經由組態資料匯流排可用之健康狀態及/或狀態資訊的快閃回存dram模組 |
TW099104472A TWI428922B (zh) | 2009-02-11 | 2010-02-11 | 快閃回存dram模組 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099104472A TWI428922B (zh) | 2009-02-11 | 2010-02-11 | 快閃回存dram模組 |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWI529738B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI567559B (zh) * | 2015-09-25 | 2017-01-21 | 廣達電腦股份有限公司 | 斷電保護系統及其方法 |
TWI578006B (zh) * | 2015-09-25 | 2017-04-11 | 寰群科技股份有限公司 | 電池健康狀態檢測方法 |
TWI579841B (zh) * | 2014-08-12 | 2017-04-21 | Japan Science & Tech Agency | Memory circuit |
TWI687813B (zh) * | 2018-08-31 | 2020-03-11 | 英業達股份有限公司 | 資訊共享電路及共享記憶體狀態的方法 |
TWI781452B (zh) * | 2020-02-26 | 2022-10-21 | 廣達電腦股份有限公司 | 監控及復原異質性元件的系統及方法 |
TWI796935B (zh) * | 2022-01-19 | 2023-03-21 | 宏碁股份有限公司 | 記憶體控制方法與記憶體儲存系統 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI510903B (zh) * | 2012-11-19 | 2015-12-01 | Wistron Corp | 電腦系統及資料回復方法 |
CN107077874B (zh) * | 2014-10-31 | 2020-05-29 | 惠普发展公司有限责任合伙企业 | 电力损失保护 |
JP2022064497A (ja) * | 2020-10-14 | 2022-04-26 | キオクシア株式会社 | メモリシステム |
JP7170117B1 (ja) | 2021-12-01 | 2022-11-11 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
JP2023137985A (ja) * | 2022-03-18 | 2023-09-29 | キオクシア株式会社 | メモリシステム |
-
2010
- 2010-02-11 TW TW102147779A patent/TWI529738B/zh active
- 2010-02-11 TW TW099104472A patent/TWI428922B/zh active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI579841B (zh) * | 2014-08-12 | 2017-04-21 | Japan Science & Tech Agency | Memory circuit |
TWI567559B (zh) * | 2015-09-25 | 2017-01-21 | 廣達電腦股份有限公司 | 斷電保護系統及其方法 |
TWI578006B (zh) * | 2015-09-25 | 2017-04-11 | 寰群科技股份有限公司 | 電池健康狀態檢測方法 |
TWI687813B (zh) * | 2018-08-31 | 2020-03-11 | 英業達股份有限公司 | 資訊共享電路及共享記憶體狀態的方法 |
TWI781452B (zh) * | 2020-02-26 | 2022-10-21 | 廣達電腦股份有限公司 | 監控及復原異質性元件的系統及方法 |
TWI796935B (zh) * | 2022-01-19 | 2023-03-21 | 宏碁股份有限公司 | 記憶體控制方法與記憶體儲存系統 |
US12026373B2 (en) | 2022-01-19 | 2024-07-02 | Acer Incorporated | System and method to control temperature in a memory device |
Also Published As
Publication number | Publication date |
---|---|
TWI529738B (zh) | 2016-04-11 |
TW201106371A (en) | 2011-02-16 |
TWI428922B (zh) | 2014-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9520191B2 (en) | Apparatus, systems, and methods for operating flash backed DRAM module | |
US7990797B2 (en) | State of health monitored flash backed dram module | |
TWI529738B (zh) | 具有經由組態資料匯流排可用之健康狀態及/或狀態資訊的快閃回存dram模組 | |
US8169839B2 (en) | Flash backed DRAM module including logic for isolating the DRAM | |
US8566639B2 (en) | Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus | |
US7830732B2 (en) | Staged-backup flash backed dram module | |
US7983107B2 (en) | Flash backed DRAM module with a selectable number of flash chips | |
US20100205349A1 (en) | Segmented-memory flash backed dram module | |
WO2010093356A1 (en) | A flash backed dram module | |
US10902895B2 (en) | Configuration bit sequencing control of nonvolatile domain and array wakeup and backup | |
US10438669B2 (en) | Flash storage device with data integrity protection | |
US9639131B2 (en) | Systems, methods and devices for control of the operation of data storage devices using solid-state memory | |
US8516187B2 (en) | Data transfer scheme for non-volatile memory module | |
CN110764964B (zh) | 存储装置及其控制方法 |