技術(shù)領(lǐng)域
本公開(kāi)涉及包含易失性存儲(chǔ)元件和非易失性存儲(chǔ)元件的混合存儲(chǔ)系統(tǒng)以及單片非易失性存儲(chǔ)。當(dāng)斷電發(fā)生時(shí),單片非易失性存儲(chǔ)器會(huì)使用電容中存儲(chǔ)的電能或者通過(guò)短暫使用電池來(lái)進(jìn)行數(shù)據(jù)保存。
背景技術(shù):
很多計(jì)算機(jī)應(yīng)用(computing applications)將會(huì)受益于快速非易失性存儲(chǔ)器的應(yīng)用,包括磁盤高速緩存,固態(tài)硬盤,硬盤仿真,混合硬盤以及文件系統(tǒng)。
例如基于FAT(文件分配表)的流行PC文件系統(tǒng)和NTFS(新技術(shù)文件系統(tǒng))負(fù)責(zé)編寫與存儲(chǔ)文件相關(guān)的文件管理數(shù)據(jù)。這些數(shù)據(jù)叫做“元數(shù)據(jù)”-管理文件系統(tǒng)的數(shù)據(jù)。對(duì)于基于FAT32和FAT16的文件系統(tǒng)來(lái)說(shuō),這叫做“FAT”,對(duì)于一個(gè)NTFS文件系統(tǒng)來(lái)說(shuō),這叫做“MTF”(主文件表)。
準(zhǔn)確的元數(shù)據(jù)對(duì)于文件系統(tǒng)的運(yùn)行非常重要。文件系統(tǒng)可以在一個(gè)或多個(gè)(重復(fù))磁盤文件保存它們的元數(shù)據(jù)。但是元數(shù)據(jù)的重要性,元數(shù)據(jù)的訪問(wèn)和更改頻率以及對(duì)訪問(wèn)和更改元數(shù)據(jù)的速度要求元數(shù)據(jù)要非常適合存儲(chǔ)在非易失性存儲(chǔ)器中,而不是存儲(chǔ)在稍慢的磁盤文件中(或者易損NAND閃存裝置),也不能作為為文件系統(tǒng)運(yùn)行服務(wù)的磁盤緩存存儲(chǔ)。
傳統(tǒng)模塊或者頁(yè)面訪問(wèn)的非易失性存儲(chǔ)器,比如一個(gè)有限使用(有限擦寫周期)的多層單元(MLC)NAND閃存裝置可以用來(lái)存儲(chǔ)訪問(wèn)頻率很高的數(shù)據(jù)。但是對(duì)于涉及到頻繁的存儲(chǔ)運(yùn)行的某些應(yīng)用程序來(lái)說(shuō),直接對(duì)NAND閃存進(jìn)行讀寫會(huì)顯得慢且繁冗,因?yàn)榕c這種閃存裝置相關(guān)的訪問(wèn)方法多為非內(nèi)存訪問(wèn)(例如模塊序列)。在這種應(yīng)用程序中頻繁更改數(shù)據(jù)的性質(zhì)可以引起存儲(chǔ)系統(tǒng)過(guò)早出現(xiàn)故障,因?yàn)镹AND閃存裝置在完全損耗和變得不可靠之前其擦寫能力是有限的。這可能會(huì)導(dǎo)致系統(tǒng)運(yùn)行不可靠最后不得不更換NAND閃存。頻繁更換NAND閃存會(huì)增加系統(tǒng)使用壽命期內(nèi)的成本。
附圖說(shuō)明
在所有的圖形中,為了便于理解,所有相同的指示號(hào)碼和縮寫都代表相同的或似功能的元素或行為。為了便于討論一個(gè)特定的元素或行為,指示號(hào)碼中的最高有效位數(shù)字為此元素第一次出現(xiàn)時(shí)所在圖形的號(hào)碼。
圖1為混合存儲(chǔ)子系統(tǒng)實(shí)施方式的結(jié)構(gòu)圖。
圖2為數(shù)據(jù)備份過(guò)程實(shí)施方式的流程圖。
圖3為數(shù)據(jù)恢復(fù)過(guò)程實(shí)施方式的流程圖。
圖4為混合存儲(chǔ)子系統(tǒng)實(shí)施方式的結(jié)構(gòu)圖,此子系統(tǒng)通過(guò)SDRAM界面提供一個(gè)外系統(tǒng)。
圖5描述一個(gè)包含多個(gè)備用電源電容的實(shí)施方式。
圖6為系統(tǒng)電源恢復(fù)時(shí)驗(yàn)證電容電源的實(shí)施方式流程圖。
圖7為在預(yù)定負(fù)載(R)和電壓下電容放電曲線的實(shí)施方式說(shuō)明圖。
圖8為L(zhǎng)C(電感電容)環(huán)形電路實(shí)施方式圖解。
圖9為初始化一個(gè)混合存儲(chǔ)子系統(tǒng)過(guò)程的實(shí)施方式流程圖。
圖10為混合存儲(chǔ)子系統(tǒng)在外系統(tǒng)斷電后運(yùn)行斷電保存時(shí)對(duì)外系統(tǒng)電源恢復(fù)做出反應(yīng)的過(guò)程的實(shí)施方式的流程圖。
圖11為混合存儲(chǔ)子系統(tǒng)斷電時(shí)在不同的非易失性存儲(chǔ)容量狀況下內(nèi)存分配圖。
圖12為混合存儲(chǔ)子系統(tǒng)電源恢復(fù)過(guò)程實(shí)施方式的流程圖。
圖13和14為混合存儲(chǔ)子系統(tǒng)由外系統(tǒng)斷電引起的斷電過(guò)程的實(shí)施方式流程圖。
圖15為混合存儲(chǔ)子系統(tǒng)可變分區(qū)實(shí)施方式結(jié)構(gòu)圖。
發(fā)明的實(shí)現(xiàn)方式以及工業(yè)應(yīng)用性
“實(shí)施方式”盡管有時(shí)會(huì)指同一個(gè)實(shí)施方式但不一定總是指同一個(gè)實(shí)施方式。
除非在上下文中特別指出,描述以及權(quán)利要求中使用的“包涵”以及此類詞語(yǔ)應(yīng)理解“包括但不限于”。采用單數(shù)或復(fù)數(shù)的單詞也包括復(fù)數(shù)或單數(shù)。另外,“此”,“以上”,“以下”和其他相似詞語(yǔ)的使用是對(duì)于本申請(qǐng)的整體而言,而不是申請(qǐng)的某一特定部分。權(quán)利保護(hù)中使用的“或者”一詞,當(dāng)指兩個(gè)以及更多的項(xiàng)目時(shí)其包含如下含義:所列項(xiàng)目中的任何一個(gè)項(xiàng)目,所列項(xiàng)目中的所有項(xiàng)目以及所列項(xiàng)目中的任易組合。
“邏輯”一詞指影響一個(gè)裝置運(yùn)行的信號(hào)和(或)信息。軟件,硬件和固件都可以稱為邏輯。硬件可以體現(xiàn)在電路中??偟膩?lái)說(shuō),邏輯包涵軟件,硬件和(或)固件的組合。
掌握本領(lǐng)域技術(shù)的人員可以理解邏輯可以通過(guò)一個(gè)或多個(gè)裝置來(lái)分配,由存儲(chǔ)器中的指令的組合,處理能力,電路以及其他組成。為了明晰和正確起見(jiàn),即使邏輯不可避免的出現(xiàn)也不總在裝置和系統(tǒng)的圖示中明確加說(shuō)明。
混合存儲(chǔ)子系統(tǒng)
圖1為混合存儲(chǔ)子系統(tǒng)實(shí)施方式的結(jié)構(gòu)圖?;旌洗鎯?chǔ)子系統(tǒng)通過(guò)低成本的易失性存儲(chǔ)器102以及低成本非易失性存儲(chǔ)器104的配合使用提供了一個(gè)低成本,高密度,非易失性存儲(chǔ)器。
存儲(chǔ)子系統(tǒng)包括但不限于SDRAM 102(易失性存儲(chǔ)器),NAND閃存104(非易失性存儲(chǔ)器),模擬電源控制電路106,電源電容108以及一個(gè)系統(tǒng)控制器110。其他元素和(或)元素組合對(duì)于熟悉本領(lǐng)域的人員應(yīng)該容易理解。
本實(shí)施方式中的易失性存儲(chǔ)器是SDRAM 102(同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)。其他類型的易失性隨機(jī)存取存儲(chǔ)器也可能被應(yīng)用。本實(shí)施方式中的非易失性存儲(chǔ)器是NAND閃存104,同樣,其他類型的非易失性存儲(chǔ)器也可能被應(yīng)用。
模擬電源控制電路106與存儲(chǔ)子系統(tǒng)通過(guò)外在電源連接,一般是一個(gè)包含和使用此混合存儲(chǔ)子系統(tǒng)的更大的系統(tǒng)的電源。例如,外在電源可能是包含存儲(chǔ)子系統(tǒng)的個(gè)人或者商務(wù)電腦系統(tǒng)。
模擬電源控制電路106還與存儲(chǔ)子系統(tǒng)通過(guò)存儲(chǔ)子系統(tǒng)的本地備用電源連接。例如,本地備用電源可能是電容108或者更小的電池(或者二者的組合)。在圖1的實(shí)施方式中,電容108在外電源切斷時(shí)給存儲(chǔ)子系統(tǒng)暫時(shí)提供電源。電容108可以提供足夠電源以供從易失性存儲(chǔ)器102復(fù)制數(shù)據(jù)模塊到非易失性存儲(chǔ)器104。
當(dāng)外電源切斷時(shí),混合存儲(chǔ)子系統(tǒng)會(huì)作為一個(gè)更大的外在系統(tǒng)的獨(dú)立子系統(tǒng)工作。模擬電源電路106會(huì)識(shí)別外在系統(tǒng)斷電。系統(tǒng)控制器110會(huì)啟動(dòng)備份,把當(dāng)前存儲(chǔ)在易失性存儲(chǔ)器102的數(shù)據(jù)復(fù)制到非易失性存儲(chǔ)器104。在此,“備份”意思是易失性存儲(chǔ)器102的數(shù)據(jù)被保存到非易失性存儲(chǔ)器104。當(dāng)外在電源恢復(fù)時(shí),系統(tǒng)控制器110會(huì)把非易失性存儲(chǔ)器104中的數(shù)據(jù)恢復(fù)到易失性存儲(chǔ)器102。在此,“恢復(fù)”的意思是非易失性存儲(chǔ)器104中的數(shù)據(jù)被存儲(chǔ)到易失性存儲(chǔ)器102。
因此系統(tǒng)控制器110就包括當(dāng)外在電源切斷時(shí)把數(shù)據(jù)從易失性存儲(chǔ)器102備份到非易失性存儲(chǔ)器104的邏輯以及當(dāng)外在電源恢復(fù)時(shí)把數(shù)據(jù)從非易失性存儲(chǔ)器104恢復(fù)到易失性存儲(chǔ)器102的邏輯。
掌握本領(lǐng)域技術(shù)的人員可以理解各種不同功能的元件,比如電源控制器邏輯106和系統(tǒng)控制器110甚至易失性存儲(chǔ)器102和非易失性存儲(chǔ)器104可以綜合起來(lái)作為一個(gè)或多個(gè)集成電路裝置一起運(yùn)行,可以作為一個(gè)或多個(gè)分離的實(shí)體元件組合在一起。
存儲(chǔ)在混合存儲(chǔ)子系統(tǒng)的數(shù)據(jù)即便在外在電源切斷的情況下也能保存。即使外系統(tǒng)電源缺失,數(shù)據(jù)也能被內(nèi)部保存在非易失性存儲(chǔ)器104的存儲(chǔ)子系統(tǒng)上。雖然在外系統(tǒng)電源缺失時(shí)數(shù)據(jù)被存儲(chǔ)子系統(tǒng)內(nèi)部保存在非易失性存儲(chǔ)器104上,外系統(tǒng)也可以與混合存儲(chǔ)子系統(tǒng)形成互動(dòng),就像與易失性存儲(chǔ)器102(相同或者其他型號(hào))互動(dòng)。
混合存儲(chǔ)系統(tǒng)只在外系統(tǒng)電源切斷時(shí)才會(huì)給非易失性存儲(chǔ)器104編寫數(shù)據(jù)。與數(shù)據(jù)每次寫入混合存儲(chǔ)子系統(tǒng)時(shí)都要被寫入相比,非易失性存儲(chǔ)器104可以經(jīng)歷更少的寫入周期。如果非易失性存儲(chǔ)器104是低價(jià)和只有有限周期的NAND閃存,這樣做可以延長(zhǎng)非易失性存儲(chǔ)器104的使用壽命。
系統(tǒng)控制器110給提供了一個(gè)對(duì)外系統(tǒng)的存儲(chǔ)界面。存儲(chǔ)界面包涵一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)和某些特定種類的易失性存儲(chǔ)器的控制界面。例如,系統(tǒng)控制器可以提供對(duì)外系統(tǒng)的SDRAM數(shù)據(jù),地址和控制界面。對(duì)外系統(tǒng)的界面可以是也可以不是存儲(chǔ)子系統(tǒng)使用的此類型易失性存儲(chǔ)器102的界面。
系統(tǒng)控制器110可能提供另外一個(gè)界面,通過(guò)它外系統(tǒng)可以給混合存儲(chǔ)子系統(tǒng)發(fā)出命令或者獲得狀況。例如,在一些實(shí)施方式中,即使在外電源沒(méi)有切斷的情況下外系統(tǒng)也可以命令混合存儲(chǔ)子系統(tǒng)啟動(dòng)備份功能把數(shù)據(jù)從易失性存儲(chǔ)器102備份到非易失性存儲(chǔ)器104。另外,混合存儲(chǔ)子系統(tǒng)或者外系統(tǒng)可以提供一個(gè)直接用戶界面,比如說(shuō)圖形用戶界面上的開(kāi)關(guān)或控制,通過(guò)它外系統(tǒng)用戶可以把數(shù)據(jù)從易失性存儲(chǔ)器102復(fù)制到非易失性存儲(chǔ)器104。另外一種行為,也就是把數(shù)據(jù)從非易失性存儲(chǔ)器104恢復(fù)到易失性存儲(chǔ)器102,在一些實(shí)施方式中可以通過(guò)系統(tǒng)控制器110的系統(tǒng)界面或者直接通過(guò)用戶來(lái)實(shí)現(xiàn)。在一些實(shí)施方式中,外系統(tǒng)會(huì)使用其與混合存儲(chǔ)控制器110的界面來(lái)實(shí)現(xiàn)對(duì)混合存儲(chǔ)子系統(tǒng)的自我測(cè)試。
其他各種系統(tǒng)元件的范例或者實(shí)施方式對(duì)于熟悉本領(lǐng)域技術(shù)的人員應(yīng)該容易理解。
混合存儲(chǔ)子系統(tǒng)運(yùn)行
如前面所描述,系統(tǒng)控制器110可能包含連接易失性存儲(chǔ)器102到外系統(tǒng)的邏輯,比如個(gè)人電腦系統(tǒng)或者商務(wù)電腦系統(tǒng)。其他應(yīng)用混合存儲(chǔ)子系統(tǒng)的范例是嵌入式控制應(yīng)用,通訊和消費(fèi)產(chǎn)品。
系統(tǒng)控制器110可以給外系統(tǒng)呈現(xiàn)一個(gè)界面,所以易失性存儲(chǔ)器102可以被外系統(tǒng)訪問(wèn),來(lái)實(shí)現(xiàn)數(shù)據(jù)的讀寫。
來(lái)自外系統(tǒng)的到達(dá)易失性和非易失性存儲(chǔ)器以及控制器的電源中的至少一個(gè)電源切斷時(shí),電源控制器邏輯便可以發(fā)現(xiàn)。例如,外系統(tǒng)可能會(huì)出現(xiàn)電源中斷或者電池?cái)嚯姟.?dāng)外系統(tǒng)電源切斷時(shí),電源控制器106會(huì)提供給易失性存儲(chǔ)器102,非易失性存儲(chǔ)器104和控制器110足夠備用電源使數(shù)據(jù)從易失性存儲(chǔ)器102備份到非易失性存儲(chǔ)器104。電容或者電池電源108此時(shí)作為備用電源工作。
在一些實(shí)施方式中控制器110可以包括使外系統(tǒng)啟動(dòng)備份功能把數(shù)據(jù)從易失性存儲(chǔ)器102備份到非易失性存儲(chǔ)器104的邏輯,而不是在斷電時(shí)才啟動(dòng)備份功能??刂破?10還可能包涵一種邏輯,此邏輯能夠在外系統(tǒng)模仿一種易失性存儲(chǔ)器而非某特定類型的易失性存儲(chǔ)器。例如,在內(nèi)部,存儲(chǔ)子系統(tǒng)可能會(huì)應(yīng)用SDRAM來(lái)模擬易失性存儲(chǔ)器102的功能。但是,控制器可能包含在外系統(tǒng)模仿單資料速率內(nèi)存(SDRAM),雙倍速內(nèi)存(DDRAM),DDR2,異步SRAM,C-F卡或者PCI-E的邏輯(其他例子不再一一舉出)。
易失性存儲(chǔ)器102,非易失性存儲(chǔ)器104,控制器110和電源控制器106可以以各種不同的方式實(shí)施。例如,這些元件可以成為多芯片組中的一個(gè),一個(gè)板子系統(tǒng)或者一個(gè)單芯片實(shí)施。
圖1實(shí)施方式所示的是數(shù)據(jù)通過(guò)控制器110在從易失性存儲(chǔ)器102向非易失性存儲(chǔ)器104運(yùn)動(dòng)時(shí)(或者反向運(yùn)動(dòng))備份和恢復(fù)得以實(shí)現(xiàn)。在其他實(shí)施方式中,數(shù)據(jù)可能通過(guò)從易失性存儲(chǔ)器102向非易失性存儲(chǔ)器104運(yùn)動(dòng)來(lái)實(shí)現(xiàn)備份和恢復(fù),無(wú)須經(jīng)過(guò)控制器110。
圖2是數(shù)據(jù)備份過(guò)程實(shí)施方式的流程圖。如果外系統(tǒng)電源切斷(見(jiàn)202),本地備用電源如電容電源就會(huì)支持存儲(chǔ)子系統(tǒng)(見(jiàn)204)工作。在206,數(shù)據(jù)從易失性存儲(chǔ)器備份到非易失性存儲(chǔ)器。在208,過(guò)程結(jié)束。
備用電源已經(jīng)作為本地混合存儲(chǔ)子系統(tǒng)的一個(gè)電容或若干電容討論過(guò)。但是外系統(tǒng)也可以提供一個(gè)或若干電容。
備用電源在外系統(tǒng)電源(也就是原始電源)切斷時(shí)使用。但是電源切換必定會(huì)出現(xiàn)切換延遲(切換時(shí)間),如果切換失敗或者遲緩就有可能導(dǎo)致存儲(chǔ)子系統(tǒng)失去所有電能。所以在一些實(shí)施方式中,電源總是通過(guò)備用電源提供給混合存儲(chǔ)子系統(tǒng)。比如混合存儲(chǔ)子系統(tǒng)總是可以從一個(gè)或若干個(gè)備用電容得到所需電源,當(dāng)外系統(tǒng)電源恢復(fù)時(shí)電容又可以重新充電。外電源切斷以后,存儲(chǔ)子系統(tǒng)繼續(xù)從備用電容得到電源,降低電壓同時(shí)從易失性存儲(chǔ)器102向非易失性存儲(chǔ)器104運(yùn)行斷電保存數(shù)據(jù)功能。
因此,“外系統(tǒng)電源”可以指來(lái)自外系統(tǒng),經(jīng)由一個(gè)或多個(gè)備用電源(例如電源電容)施加給存儲(chǔ)子系統(tǒng)的電源?!皞溆秒娫础笨梢灾府?dāng)來(lái)自外系統(tǒng)的電源切斷時(shí)經(jīng)由備用電源系統(tǒng)施加給存儲(chǔ)子系統(tǒng)的電源。
外系統(tǒng)利用存儲(chǔ)子系統(tǒng)用兩種方法將其與外系統(tǒng)隔離。第一,把控制器界面110(可以是易失性存儲(chǔ)器102界面,也可以不同)放置在存儲(chǔ)子系統(tǒng)和外系統(tǒng)之間來(lái)實(shí)現(xiàn)存儲(chǔ)訪問(wèn)隔離。第二,“阻斷”外系統(tǒng)電源通過(guò)備用電源,以此實(shí)現(xiàn)與主系統(tǒng)的電源隔離。
當(dāng)外系統(tǒng)電源恢復(fù)時(shí),控制器110的邏輯將把數(shù)據(jù)從非易失性存儲(chǔ)器104恢復(fù)到易失性存儲(chǔ)器102。
圖3為數(shù)據(jù)恢復(fù)過(guò)程實(shí)施方式流程圖。在302,如果外系統(tǒng)電源恢復(fù),模擬控制電路將會(huì)識(shí)別出電源恢復(fù)。在304,數(shù)據(jù)從非易失性存儲(chǔ)器恢復(fù)到易失性存儲(chǔ)器。在306過(guò)程結(jié)束。
圖4為混合存儲(chǔ)子系統(tǒng)實(shí)施方式結(jié)構(gòu)圖,混合存儲(chǔ)子系統(tǒng)給外系統(tǒng)提供一個(gè)SDRAM界面。此系統(tǒng)在結(jié)構(gòu)上與圖1實(shí)施方式相似?;旌洗鎯?chǔ)子系統(tǒng)提供SDRAM兼容數(shù)據(jù),地址和對(duì)外系統(tǒng)的控制/狀態(tài)信號(hào)。這樣外系統(tǒng)就可以以與典型SDRAM互動(dòng)的方式與混合存儲(chǔ)子系統(tǒng)形成互動(dòng)?;旌洗鎯?chǔ)子系統(tǒng)引起非易失性存儲(chǔ)器104的出現(xiàn),外系統(tǒng)不需要更改與混合存儲(chǔ)子系統(tǒng)的互動(dòng)方式。電源切斷時(shí)易失性存儲(chǔ)器102與非易失性存儲(chǔ)器104的互動(dòng)由混合存儲(chǔ)子系統(tǒng)內(nèi)部處理?;?dòng)的詳細(xì)信息不必告知外系統(tǒng)。
控制器110使用對(duì)非易失性存儲(chǔ)器104的界面這樣此界面就可以避免與外系統(tǒng)接觸??刂破?10包涵在外電源切斷和恢復(fù)時(shí)促進(jìn)易失性存儲(chǔ)器102和非易失性存儲(chǔ)器104互動(dòng)的邏輯。
在圖4的實(shí)施方式中,混合存儲(chǔ)子系統(tǒng)控制器110提供了一個(gè)“通道”來(lái)傳遞由外系統(tǒng)到易失性存儲(chǔ)器102的數(shù)據(jù),地址和控制信號(hào)。當(dāng)控制器110向外系統(tǒng)提供一個(gè)與混合存儲(chǔ)子系統(tǒng)使用的此類型易失性存儲(chǔ)器一致的易失性存儲(chǔ)器界面時(shí)傳輸“通道”成為可能。例如,如果對(duì)外系統(tǒng)的界面為SDRAM界面,混合存儲(chǔ)子系統(tǒng)在內(nèi)部使用SDRAM作為易失性存儲(chǔ)器,控制器110就可以通過(guò)“通道”從外系統(tǒng)向內(nèi)部SDRAM傳輸信號(hào)。這種“通道”傳輸信號(hào)提高了性能表現(xiàn)。
在圖4的實(shí)施方式中,混合存儲(chǔ)子系統(tǒng)控制器110從外系統(tǒng)向易失性存儲(chǔ)器102輪流提供“時(shí)鐘恢復(fù)”數(shù)據(jù),地址和控制信息。此得以實(shí)現(xiàn)要求控制器110向外系統(tǒng)提供一個(gè)與混合存儲(chǔ)子系統(tǒng)使用的此類型易失性存儲(chǔ)器一致的易失性存儲(chǔ)器界面,但同時(shí)要通過(guò)一個(gè)或若干個(gè)時(shí)鐘延遲重新設(shè)置信號(hào)時(shí)間。例如,如果對(duì)外系統(tǒng)界面為SDRAM界面時(shí),混合存儲(chǔ)子系統(tǒng)在內(nèi)部使用SDRAM作為易失性存儲(chǔ)器,控制器110可以對(duì)從外系統(tǒng)向內(nèi)部SDRAM的信號(hào)進(jìn)行“時(shí)鐘恢復(fù)”或者“重新注冊(cè)”。通過(guò)“時(shí)鐘恢復(fù)”信號(hào)可以得到另一種性能表現(xiàn)。
在其他情況下,內(nèi)在易失性存儲(chǔ)器102可能與控制器110提供的對(duì)外系統(tǒng)界面類型不同。在這種情況下控制器110將把來(lái)自外系統(tǒng)的信號(hào)翻譯成與內(nèi)在易失性存儲(chǔ)器102相兼容的類型。在信號(hào)翻譯過(guò)程中可能會(huì)降低性能表現(xiàn)。
控制器110可能提供另外的控制/狀態(tài)信號(hào)給外系統(tǒng)。這些另外的信號(hào)可以加強(qiáng)和(或)更改控制器110提供給外系統(tǒng)的典型易失性存儲(chǔ)界面。外系統(tǒng)可能包涵也可能不包涵利用此信號(hào)的邏輯。
電容電能發(fā)送驗(yàn)證
電容108或其他備用電源是使存儲(chǔ)子系統(tǒng)在外系統(tǒng)電源不連續(xù)的情況下可靠工作的關(guān)鍵元件。因此電容108或者其他備用電源的可靠性很重要。
圖5為電容驗(yàn)證邏輯502實(shí)施方式結(jié)構(gòu)圖。電容驗(yàn)證邏輯502可以包涵在電源控制器106中,即使實(shí)際并不總是這種情況。驗(yàn)證邏輯502驗(yàn)證一個(gè)或多個(gè)備用電源電容是否正常工作以及其速率。
一些實(shí)施方式可能會(huì)使用多個(gè)電源電容。使用多個(gè)電源電容可能會(huì)有幾個(gè)優(yōu)點(diǎn),這些優(yōu)點(diǎn)包括可以發(fā)送額外備用電能,可以進(jìn)一步保證可靠運(yùn)行。例如,如果一個(gè)電源電容切斷,系統(tǒng)仍然可以依靠其他電源電容可靠工作。電容相比較其它系統(tǒng)元件來(lái)說(shuō)比較低價(jià),所以這些相對(duì)于單一電容的優(yōu)點(diǎn)可以以相對(duì)低的支出即可以獲得。
邏輯502可以確保至少一個(gè)電源電容,例如電容108,在外系統(tǒng)電源不穩(wěn)時(shí)有足夠電使數(shù)據(jù)從存儲(chǔ)子系統(tǒng)易失性存儲(chǔ)器102備份到存儲(chǔ)子系統(tǒng)非易失性存儲(chǔ)器104。
驗(yàn)證電容的電容量可以通過(guò)很多方法實(shí)現(xiàn)。一種方法是在預(yù)定的負(fù)載和電壓下至少計(jì)算充電率和放電率其中之一。圖7是在預(yù)定的負(fù)載(R)和電壓下電容的放電曲線實(shí)施方式圖解。時(shí)間T1代表在放電曲線上第一次電壓測(cè)量點(diǎn),T2代表第二次電壓測(cè)量點(diǎn)。兩次測(cè)量都是在數(shù)據(jù)備份時(shí)電容的工作區(qū)域獲得的。如果放電速率太大就表示電容值不合適,安裝不符或者老化,已經(jīng)接近可靠使用壽命。
另一個(gè)驗(yàn)證電容電能發(fā)送能力的方法是當(dāng)從易失性存儲(chǔ)器到非易失性存儲(chǔ)器的備份結(jié)束時(shí)測(cè)量末端電容電壓,以此判斷是否電容還有足夠的邊際電壓來(lái)保證可靠備份。在圖7中,電容電壓可以在T1測(cè)量,就是當(dāng)從易失性存儲(chǔ)器到非易失性存儲(chǔ)器備份完成時(shí)。T2的電壓代表判斷電容是否有足夠邊際電壓來(lái)保證運(yùn)行的參考點(diǎn)。如果T1和T2之間的電壓差值不能實(shí)現(xiàn)邊際運(yùn)行,就表示電容此時(shí)已經(jīng)接近可靠使用壽命或者102,104,106和110所代表的電源負(fù)載或者極端的環(huán)境超過(guò)了子系統(tǒng)能夠承受的范圍。
另外一種驗(yàn)證電容電能發(fā)送能力的方法是當(dāng)電容連接到一個(gè)預(yù)定的阻抗(包括電感元件)時(shí)測(cè)量電容的自然振蕩頻率。圖8為一個(gè)LC(電感電容)環(huán)形電路也就是電感RC振蕩器的實(shí)施方式結(jié)構(gòu)圖。為了電能驗(yàn)證,電感器804可以用一環(huán)連接到電容802。電容802會(huì)對(duì)電感器804放電,反之亦然,在環(huán)中形成一個(gè)共振頻率。此頻率就代表了此時(shí)電容802的電流容量,為電容802的電能發(fā)送能力提供了參考依據(jù)。
更多高級(jí)的實(shí)施方式會(huì)包括更多的邏輯,此邏輯在電容電能驗(yàn)證時(shí)會(huì)測(cè)量和應(yīng)用工作溫度,工作電壓和電容元件使用時(shí)間三個(gè)因素中的一個(gè)或多個(gè)因素。一些實(shí)施方式甚至可能應(yīng)用系統(tǒng)和(或)電容的先前的工作表現(xiàn)來(lái)進(jìn)行電能驗(yàn)證。
電容電能驗(yàn)證可能會(huì)在不同的情況下進(jìn)行。例如,驗(yàn)證可能會(huì)在外電源斷掉后又恢復(fù)時(shí)或者第一次使用這種電源時(shí)進(jìn)行。這種情況已經(jīng)在圖6說(shuō)明,見(jiàn)系統(tǒng)恢復(fù)通電電容電能驗(yàn)證實(shí)施方式。
在圖6中,外系統(tǒng)電源被應(yīng)用(602)電容電能發(fā)送能力被判定(604)。如果電容有足夠的電能發(fā)送能力(606),存儲(chǔ)子系統(tǒng)被啟動(dòng)(608)。反之存儲(chǔ)子系統(tǒng)無(wú)法啟動(dòng)(610)。在612過(guò)程結(jié)束。
在其他的實(shí)施方式中,驗(yàn)證會(huì)周期性進(jìn)行,可能會(huì)按時(shí)間間隔進(jìn)行或者在一天特定時(shí)間或者特定日期進(jìn)行,還有可能在產(chǎn)生外部信號(hào)時(shí)進(jìn)行,例如進(jìn)行例行診斷時(shí)產(chǎn)生的信號(hào)。
驗(yàn)證邏輯502會(huì)對(duì)外系統(tǒng)發(fā)出信號(hào),告知電容電能驗(yàn)證結(jié)果。例如,驗(yàn)證邏輯502會(huì)根據(jù)驗(yàn)證結(jié)果告知外系統(tǒng)存儲(chǔ)系統(tǒng)工作正常,工作異?;蛘咴趽p耗的模式下工作。電容如果被驗(yàn)證在外電源不穩(wěn)定情況下沒(méi)有足夠的電能把數(shù)據(jù)從易失性存儲(chǔ)器102復(fù)制到非易失性存儲(chǔ)器104時(shí),存儲(chǔ)系統(tǒng)會(huì)被認(rèn)為在降級(jí)模式下工作。例如減少存儲(chǔ)子系統(tǒng)的存儲(chǔ)能力就會(huì)被認(rèn)為在降級(jí)模式工作。比如驗(yàn)證邏輯502判定電源電容的電量只能從易失性存儲(chǔ)器102備份50%的數(shù)據(jù)到非易失性存儲(chǔ)器104,存儲(chǔ)子系統(tǒng)就會(huì)指示外系統(tǒng)它只有完全存儲(chǔ)能力的50%。
在一些實(shí)施方式中,驗(yàn)證邏輯502會(huì)根據(jù)電能驗(yàn)證結(jié)果優(yōu)先使用多個(gè)電容作為備用電源。例如,在其他條件相同的條件下,電容108為首選備用電源,其他電容分列第二第三位。但是如果驗(yàn)證顯示電容108只有額定功能的60%,驗(yàn)證邏輯會(huì)指定另外一個(gè)首選備用電源,這時(shí)第三位電容變成第二位而電容108變成第三位。
存儲(chǔ)子系統(tǒng)初始化
圖9初始化混合存儲(chǔ)子系統(tǒng)過(guò)程實(shí)施方式流程圖。存儲(chǔ)子系統(tǒng)可以在第一次使用時(shí)和(或)其他時(shí)候初始化。存儲(chǔ)子系統(tǒng)初始化后可以置于通電運(yùn)行狀態(tài)下,無(wú)須用存儲(chǔ)在非易失性存儲(chǔ)器104的數(shù)據(jù)占據(jù)易失性存儲(chǔ)器102。
初始化會(huì)涉及上述的電容驗(yàn)證和非易失性存儲(chǔ)能力驗(yàn)證。
最小量可用閃存模塊處于被擦除狀態(tài),可以支持?jǐn)嚯姳4娌僮?,那么非易失性存?chǔ)能力通過(guò)驗(yàn)證(902),這可能在閃存被當(dāng)作非易失性存儲(chǔ)器104的實(shí)施方式中發(fā)生。驗(yàn)證可用閃存模塊是否處于被擦除狀態(tài)需要檢查每一個(gè)可擦閃存模塊是否“臟”,就是說(shuō)是否存在編寫程序,如果存在就會(huì)被擦除。一系列可用擦除的閃存模塊建立(904)。
混合存儲(chǔ)子系統(tǒng)備用電源的存在和電能發(fā)送能力被驗(yàn)證(906)。備用電源可能是一個(gè)或多個(gè)電容。驗(yàn)證混合存儲(chǔ)子系統(tǒng)備用電源的存在和電能發(fā)送能力可以保證在電源切斷時(shí)有足夠的電把數(shù)據(jù)從非易失性存儲(chǔ)器102備份到非易失性存儲(chǔ)器104。在908,初始化完成。
電源切斷中斷恢復(fù)
圖10為混合存儲(chǔ)子系統(tǒng)在外系統(tǒng)斷電后運(yùn)行斷電保存時(shí)對(duì)外系統(tǒng)電源恢復(fù)作出反應(yīng)的過(guò)程的實(shí)施方式的流程圖。就是當(dāng)外系統(tǒng)電源切斷后在存儲(chǔ)子系統(tǒng)尚未完成從非易失性存儲(chǔ)器102到非易失性存儲(chǔ)器104的備份時(shí)電源再次恢復(fù)。控制器110啟動(dòng),指揮和(或)運(yùn)行電源切斷中止恢復(fù)過(guò)程。
“中止恢復(fù)時(shí)間”是外系統(tǒng)電源切斷又恢復(fù)的間隔時(shí)間,恢復(fù)后存儲(chǔ)子系統(tǒng)重新可用。為了減少中止恢復(fù)時(shí)間,存儲(chǔ)子系統(tǒng)會(huì)給外系統(tǒng)發(fā)出信號(hào)說(shuō)明一旦非易失性存儲(chǔ)系統(tǒng)104有足夠空間備份來(lái)自易失性存儲(chǔ)器102的數(shù)據(jù),存儲(chǔ)子系統(tǒng)馬上可以運(yùn)行。
如果系統(tǒng)正在處理一個(gè)電源恢復(fù)時(shí)外系統(tǒng)電源再次發(fā)生斷電,之前被電源恢復(fù)打斷的斷電保存程序?qū)?huì)再次從打斷處再次啟動(dòng)。
存儲(chǔ)子系統(tǒng)可能包涵一種邏輯,此邏輯在存儲(chǔ)子系統(tǒng)斷電保存程序被外電源恢復(fù)打斷以后能夠推遲外系統(tǒng)使用存儲(chǔ)子系統(tǒng)。推遲時(shí)間通常要足夠允許存儲(chǔ)子系統(tǒng)保證有足夠的存儲(chǔ)子系統(tǒng)非易失性存儲(chǔ)容量來(lái)備份一些易失性存儲(chǔ)容量,這些易失性存儲(chǔ)容量由存儲(chǔ)子系統(tǒng)提供給外系統(tǒng)。
在某個(gè)實(shí)施方式中,為了備份存儲(chǔ)子系統(tǒng)提供給外系統(tǒng)的一些量的易失性存儲(chǔ)容量,存儲(chǔ)子系統(tǒng)要擦除非易失性存儲(chǔ)器的臟模塊,這時(shí)就出現(xiàn)了需要的推遲時(shí)間。但是,如果有足夠的非易失性存儲(chǔ)系統(tǒng)容量來(lái)備份存儲(chǔ)子系統(tǒng)提供給外系統(tǒng)的易失性存儲(chǔ)容量,就不會(huì)有推遲時(shí)間,存儲(chǔ)子系統(tǒng)會(huì)對(duì)外系統(tǒng)說(shuō)明其立即可用。
在一些實(shí)施方式中,存儲(chǔ)子系統(tǒng)對(duì)外系統(tǒng)說(shuō)明其可以使用,但也會(huì)對(duì)外系統(tǒng)可用的易失性存儲(chǔ)器容量升級(jí),例如通過(guò)擦除非易失性存儲(chǔ)模塊,更多的非易失性存儲(chǔ)容量可用。
在1002,存儲(chǔ)子系統(tǒng)檢查備用電源(此實(shí)施方式中為一個(gè)電容)是否有足夠電來(lái)完成斷電保存,包括從易失性存儲(chǔ)器102備份數(shù)據(jù)到非易失性存儲(chǔ)器104。在一些實(shí)施方式中,在斷電中止恢復(fù)時(shí)1002可能不會(huì)每次都發(fā)生。外電源的恢復(fù)可能導(dǎo)致正在進(jìn)行的從易失性存儲(chǔ)器102到非易失性存儲(chǔ)器104的數(shù)據(jù)備份運(yùn)行暫停。在這種情況下,易失性存儲(chǔ)器102繼續(xù)獲得電能并保留其數(shù)據(jù)內(nèi)容。這時(shí)如果電源恢復(fù),數(shù)據(jù)備份沒(méi)有完成或者備用電能沒(méi)有耗盡,繼續(xù)從易失性存儲(chǔ)器102到非易失性存儲(chǔ)器104進(jìn)行備份就變得沒(méi)有必要。不過(guò),在非易失性存儲(chǔ)器104沒(méi)有足夠可用和擦除的存儲(chǔ)容量來(lái)完成對(duì)易失性存儲(chǔ)器102的內(nèi)容備份之前,存儲(chǔ)子系統(tǒng)不會(huì)指示外系統(tǒng)其可用。否則,如果外電源恢復(fù)以后馬上再次切斷,非易失性存儲(chǔ)器104就沒(méi)有足夠的容量來(lái)完成對(duì)易失性存儲(chǔ)器102內(nèi)容的備份,有用的數(shù)據(jù)就會(huì)丟失。
當(dāng)相繼出現(xiàn)外電源切斷時(shí),評(píng)估(1004)是否有足夠的可用擦除閃存模塊來(lái)備份易失性存儲(chǔ)器102的內(nèi)容到非易失性存儲(chǔ)器104。下一個(gè)數(shù)據(jù)模塊會(huì)被擦除(1006)直到有足夠數(shù)量的擦除可用非易失性存儲(chǔ)模塊。當(dāng)有足夠的可用擦除閃存模塊來(lái)備份易失性存儲(chǔ)器102到非易失性存儲(chǔ)器104時(shí),存儲(chǔ)子系統(tǒng)會(huì)指示其對(duì)外系統(tǒng)可用。此指令可能會(huì)通過(guò)信號(hào)方式傳達(dá)給外系統(tǒng),或者通過(guò)外系統(tǒng)可以讀取的狀態(tài)方式傳達(dá)給外系統(tǒng)。在1010此過(guò)程結(jié)束。
如果在一個(gè)或者多個(gè)閃存模塊被擦除(1006)以后電源切斷,中止恢復(fù)過(guò)程就會(huì)中止,對(duì)被擦除的模塊來(lái)說(shuō)從易失性存儲(chǔ)器102到非易失性存儲(chǔ)器104的數(shù)據(jù)備份就會(huì)重新啟動(dòng),但是對(duì)未擦除的模塊來(lái)說(shuō)(未擦除模塊仍然在非易失性存儲(chǔ)器被備份)不一定如此。因此,存儲(chǔ)子系統(tǒng)可能包括一種邏輯,此邏輯在外系統(tǒng)使用存儲(chǔ)子系統(tǒng)之前擦除足夠的臟的非易失性存儲(chǔ)器來(lái)備份存儲(chǔ)子系統(tǒng)提供給外系統(tǒng)的易失性存儲(chǔ)容量。如果在使用存儲(chǔ)子系統(tǒng)之前外電源切斷,存儲(chǔ)子系統(tǒng)會(huì)備份至少部分含有與從非易失性存儲(chǔ)系統(tǒng)被擦除的數(shù)據(jù)相對(duì)應(yīng)的數(shù)據(jù)。
圖11為混合存儲(chǔ)子系統(tǒng)斷電時(shí)在不同的非易失性存儲(chǔ)容量狀況下內(nèi)存分配圖??刂破?10再次啟動(dòng),指揮和(或)運(yùn)行此過(guò)程。
閃存104包涵被編程的“臟”模塊1102,“可用”模塊1104處于擦除狀態(tài)沒(méi)有受到其他損壞。在圖11中虛線之間的區(qū)域代表在外系統(tǒng)電源切斷的時(shí)候?qū)σ资源鎯?chǔ)器102的全部?jī)?nèi)容進(jìn)行備份所需要的非易失性存儲(chǔ)器104。A情況下,雖然非易失性存儲(chǔ)器104有一些臟模塊1102,但是卻有足夠多的可用擦除模塊1104來(lái)運(yùn)行備份。事實(shí)上,總的閃存容量經(jīng)常是易失性存儲(chǔ)器102的二倍多,所以在這種情況下當(dāng)外系統(tǒng)電源切斷時(shí)就有足夠的擦除模塊來(lái)對(duì)易失性存儲(chǔ)器102的內(nèi)容進(jìn)行備份。存儲(chǔ)子系統(tǒng)在外系統(tǒng)電源恢復(fù)之后立即對(duì)外系統(tǒng)可用。
臟模塊和擦除的可用模塊在圖示說(shuō)明時(shí)是處在相鄰的范圍。但是事實(shí)上卻不總是這種情況,不管非易失性存儲(chǔ)模塊相鄰與否,此過(guò)程大致都相同。
非易失性存儲(chǔ)器104(如狀態(tài)B所示)也有臟模塊1102和擦除可用模塊1104??墒窃谶@種情況下非易失性存儲(chǔ)器104沒(méi)有足夠的擦除和可用模塊來(lái)完全備份易失性存儲(chǔ)器102的內(nèi)容。一部分1106備份易失性存儲(chǔ)器102所需的空間還沒(méi)有被擦除。
非易失性存儲(chǔ)器104(如狀態(tài)C所示)開(kāi)始時(shí)和狀態(tài)B有同樣數(shù)量的臟的和擦除閃存模塊。但是在狀態(tài)B不可用的一部分(1106)擦除模塊通過(guò)擦除在存儲(chǔ)器104變得可用。因此,狀態(tài)C的存儲(chǔ)器104比狀態(tài)B有相對(duì)少的臟模塊和更多的擦除模塊,這樣就有了足夠的擦除可用模塊來(lái)對(duì)易失性存儲(chǔ)器102的全部?jī)?nèi)容來(lái)進(jìn)行備份。當(dāng)進(jìn)行臟模塊擦除時(shí),擦除完畢的模塊不一定按照一定的順序放置在特定的位置。當(dāng)擦除完畢和可用模塊等于或者大于外系統(tǒng)將要使用的易失性102存儲(chǔ)器的數(shù)量時(shí),存儲(chǔ)子系統(tǒng)會(huì)對(duì)外系統(tǒng)發(fā)出指示說(shuō)明其可用。
電源恢復(fù)
圖12為混合存儲(chǔ)子系統(tǒng)電源恢復(fù)過(guò)程實(shí)施方式的流程圖。電源恢復(fù)過(guò)程可包括數(shù)據(jù)從非易失性存儲(chǔ)器(如閃存)104恢復(fù)到易失性存儲(chǔ)器102??刂破?10啟動(dòng),指揮和(或)運(yùn)行電源恢復(fù)過(guò)程。
一旦外系統(tǒng)電源可用(1202),如果初始化過(guò)程還未開(kāi)始(1204),初始化在圖9,902開(kāi)始。
如果子系統(tǒng)處于合適初始化狀態(tài),一個(gè)閃存頁(yè)的數(shù)據(jù)就被保存在了易失性存儲(chǔ)器(1206)。只要有更多的閃存頁(yè)可被存儲(chǔ)(1208),這一過(guò)程就會(huì)繼續(xù)。
當(dāng)所有的被存儲(chǔ)的含有數(shù)據(jù)的閃存頁(yè)被處理后,此行為在圖10,1004繼續(xù)。
如果外電源在1204,1206,或者1208的任何時(shí)候切斷,此過(guò)程就可能被中止。存儲(chǔ)子系統(tǒng)可包含一種邏輯,當(dāng)數(shù)據(jù)備份未完成外系統(tǒng)電源恢復(fù)時(shí),此邏輯會(huì)刪除從存儲(chǔ)子系統(tǒng)易失性存儲(chǔ)器102到存儲(chǔ)子系統(tǒng)非易失性存儲(chǔ)器104的數(shù)據(jù)備份。
來(lái)自易失性存儲(chǔ)器102的數(shù)據(jù)完全被備份到非易失性存儲(chǔ)器104以后,在關(guān)閉存儲(chǔ)子系統(tǒng)之前,備份和恢復(fù)工作都已完成。一般來(lái)說(shuō),在完全恢復(fù)之前,存儲(chǔ)子系統(tǒng)不會(huì)開(kāi)始擦除非易失性存儲(chǔ)器104的模塊。
因此,存儲(chǔ)子系統(tǒng)可包括一種邏輯,在確定有足夠的存儲(chǔ)子系統(tǒng)非易失性存儲(chǔ)容量來(lái)備份一定數(shù)量的存儲(chǔ)子系統(tǒng)提供給外系統(tǒng)的易失性存儲(chǔ)容量之前,在外系統(tǒng)電源恢復(fù)之后,此邏輯把數(shù)據(jù)從非易失性存儲(chǔ)器104恢復(fù)到易失性存儲(chǔ)器102。只有在系統(tǒng)電源恢復(fù)沒(méi)有打斷斷電保存時(shí),存儲(chǔ)子系統(tǒng)才會(huì)把數(shù)據(jù)從非易失性存儲(chǔ)器104恢復(fù)到易失性存儲(chǔ)器102。
斷電保存
圖13和14為混合存儲(chǔ)子系統(tǒng)由外系統(tǒng)斷電引起的斷電過(guò)程的實(shí)施方式流程圖。電源控制邏輯106會(huì)識(shí)別外系統(tǒng)電源斷電然后通知給控制器110。控制器110啟動(dòng),指揮和(或)運(yùn)行斷電程序。
存儲(chǔ)子系統(tǒng)開(kāi)始會(huì)禁止外系統(tǒng)使用存儲(chǔ)子系統(tǒng)(1302)。這種禁用通常都是在外系統(tǒng)了解和參與的情況下完成的以便外系統(tǒng)完成原子數(shù)據(jù)運(yùn)行。一旦禁用,數(shù)據(jù)將從易失性存儲(chǔ)器讀取(1304)。這些數(shù)據(jù)可以被寫入非易失性存儲(chǔ)頁(yè)(1306)。剛被寫入的非易失性存儲(chǔ)頁(yè)將被寫入數(shù)據(jù)(1308)。非易失性存儲(chǔ)頁(yè)將由小的數(shù)據(jù)增量編寫(它們通常每次都會(huì)以一模塊大小的增量被讀取和擦除)。如果從易失性存儲(chǔ)器讀取的數(shù)據(jù)不會(huì)填滿非易失性存儲(chǔ)頁(yè),那么更多的寫入數(shù)據(jù)就會(huì)從易失性存儲(chǔ)器被讀取(1304)。在1314非易失性存儲(chǔ)頁(yè)填滿。
一個(gè)新的非易失性存儲(chǔ)頁(yè)編寫程序現(xiàn)被運(yùn)行。在頁(yè)編程運(yùn)行期間未被從易失性存儲(chǔ)器讀取的完整數(shù)據(jù)被保留。對(duì)于要刷新的DRAM存儲(chǔ)器來(lái)說(shuō)要通過(guò)集中刷新易失性存儲(chǔ)器來(lái)實(shí)現(xiàn)數(shù)據(jù)保留,集中刷新根據(jù)最壞情況頁(yè)編程持續(xù)時(shí)間來(lái)定。在1314新的非易失性存儲(chǔ)頁(yè)被編寫。在圖14,1402處理繼續(xù)。
如果還有更多的數(shù)據(jù)需要保存到非易失性存儲(chǔ)器,更多的非易失性存儲(chǔ)頁(yè)需要編寫(1402),易失性存儲(chǔ)器就會(huì)從低于全速運(yùn)轉(zhuǎn)的工作模式轉(zhuǎn)到全速運(yùn)轉(zhuǎn)模式以便被讀取來(lái)獲得未保存數(shù)據(jù)(1404)。在圖13,1304處理繼續(xù)。
如果沒(méi)有更多的數(shù)據(jù)需要從易失性存儲(chǔ)器保存到非易失性存儲(chǔ)器,存儲(chǔ)子系統(tǒng)關(guān)閉(1406),過(guò)程完成(1408)。
因此,存儲(chǔ)子系統(tǒng)可包括一個(gè)邏輯,此邏輯能夠集中刷新易失性存儲(chǔ)器102,間隔時(shí)間至少等于最壞情況非易失性存儲(chǔ)頁(yè)準(zhǔn)備時(shí)間,在新的非易失性存儲(chǔ)頁(yè)準(zhǔn)備和寫入的時(shí)候把易失性存儲(chǔ)器102始終置于全速工作狀態(tài)以下的狀態(tài)。在新的非易失性存儲(chǔ)頁(yè)準(zhǔn)備和寫入以后,把易失性存儲(chǔ)器102置于全速工作狀態(tài)。
圖15為混合存儲(chǔ)子系統(tǒng)可變分區(qū)實(shí)施方式結(jié)構(gòu)圖。
一組緩存器1510或者其他裝置可能被應(yīng)用使外系統(tǒng)具備改裝存儲(chǔ)子系統(tǒng)易失性存儲(chǔ)器102和非易失性存儲(chǔ)器104的能力。在有些情況下,存儲(chǔ)子系統(tǒng)對(duì)特定改裝來(lái)說(shuō)是硬接線的。
此改裝規(guī)定易失性存儲(chǔ)器102的一部份或者多部分1502通過(guò)非易失性存儲(chǔ)器的備用容量1506來(lái)支持。外系統(tǒng)可以從這些部分1502讀取和寫入就像與易失性存儲(chǔ)器(例如使用RAM數(shù)據(jù)/地址協(xié)議)互動(dòng),但是這些部分1502在外系統(tǒng)電源切斷時(shí)會(huì)自動(dòng)備份到非易失性存儲(chǔ)器1502。因此這些部分1502會(huì)被外系統(tǒng)看作具有易失性存儲(chǔ)器速度和使用性優(yōu)勢(shì)的非易失性存儲(chǔ)器。
易失性存儲(chǔ)器102的其他部分1504可以被外系統(tǒng)當(dāng)作標(biāo)準(zhǔn)易失性存儲(chǔ)器來(lái)使用。換句話說(shuō),外系統(tǒng)可以對(duì)這些部分1504讀取和寫入數(shù)據(jù),就像與易失性存儲(chǔ)器(例如使用RAM數(shù)據(jù)/地址協(xié)議)互動(dòng),但是如同典型的易失性存儲(chǔ)器一樣,這些部分1504在外系統(tǒng)電源切斷時(shí)不會(huì)自動(dòng)備份到非易失性存儲(chǔ)器104。
非易失性存儲(chǔ)器104的其他部分1508可以被外系統(tǒng)當(dāng)作非易失性存儲(chǔ)器來(lái)使用。外系統(tǒng)可以通過(guò)控制器110對(duì)這些部分1508直接讀取和寫入數(shù)據(jù)。數(shù)據(jù)從易失性存儲(chǔ)器102會(huì)被備份到非易失性存儲(chǔ)器104,但不必先對(duì)易失性存儲(chǔ)器102寫入數(shù)據(jù)。
因此,混合存儲(chǔ)子系統(tǒng)被改裝成能夠?yàn)橥庀到y(tǒng)提供三種類型的存儲(chǔ)器。一種是“非易失性”存儲(chǔ)器1502,它具有易失性隨機(jī)訪問(wèn)存儲(chǔ)器的優(yōu)勢(shì)(比如速度和重復(fù)使用性),在系統(tǒng)電源切斷時(shí)會(huì)被自動(dòng)備份到非易失性隨機(jī)訪問(wèn)存儲(chǔ)器的一部分1506。另外一種提供給外系統(tǒng)的存儲(chǔ)器是標(biāo)準(zhǔn)隨機(jī)訪問(wèn)易失性存儲(chǔ)器1504。還有一種提供給外系統(tǒng)的存儲(chǔ)器是標(biāo)準(zhǔn)非易失性存儲(chǔ)器1508,它可以通過(guò)非易失性存儲(chǔ)器固有的方式(模塊序列而不是隨機(jī)訪問(wèn))被訪問(wèn)。
非易失性存儲(chǔ)器的一部分1508未被留作備份易失性存儲(chǔ)器1502,它可包含程序碼或者其他信息,有可能被“啟動(dòng)”或者被加載到未備份的易失性存儲(chǔ)器的一部分1540。因此,非易失性存儲(chǔ)器104可以作為被外系統(tǒng)使用的用來(lái)貯存程序碼或者其他“圖像”信息的數(shù)據(jù)貯存庫(kù)。
因此易失性存儲(chǔ)器102可以被分成三個(gè)邏輯存儲(chǔ)區(qū):“非易失性存儲(chǔ)器”(1502),它是在系統(tǒng)電源切斷時(shí)被備份到非易失性存儲(chǔ)器的易失性存儲(chǔ)器;易失性存儲(chǔ)器(1504),它是在系統(tǒng)電源切斷時(shí)不會(huì)被備份的易失性存儲(chǔ)器;易失性存儲(chǔ)器(潛在存在于1504),它是在系統(tǒng)電源切斷時(shí)不會(huì)被備份的易失性存儲(chǔ)器,但是在不做備份之用的非易失性存儲(chǔ)器的部分1508有相對(duì)應(yīng)的圖像。
混合存儲(chǔ)子系統(tǒng)可包括一種邏輯,在裝置電源切斷時(shí),使安裝有此邏輯的裝置至少能夠備份一部分易失性存儲(chǔ)器到非易失性存儲(chǔ)器。此邏輯能夠使裝置在電源切斷時(shí)至少一部分易失性存儲(chǔ)器不被備份到非易失性存儲(chǔ)器,至少使一部分非易失性存儲(chǔ)器不被留作備份易失性存儲(chǔ)器之用。
存儲(chǔ)子系統(tǒng)可包括一個(gè)或多個(gè)改裝緩存器使裝置在電源切斷時(shí)確保至少一部分易失性存儲(chǔ)器被備份到非易失性存儲(chǔ)器,確保至少一部分非易失性存儲(chǔ)器不被留作備份易失性存儲(chǔ)器之用。
掌握本領(lǐng)域技藝的技術(shù)人員很容易理解有各種載體能夠?qū)嵤┐颂幟枋龅倪^(guò)程和(或)系統(tǒng)(例如硬件,軟件和(或固件)),優(yōu)選的載體會(huì)根據(jù)過(guò)程運(yùn)用的背景的不同而有所不同。例如,如果實(shí)施器判定速度和準(zhǔn)確性最為重要,實(shí)施器可能選擇硬件和(或)固件載體;如果靈活性最為重要,那么實(shí)施器可能選擇單一軟件實(shí)施案;或者,實(shí)施器可能選擇一些軟件,硬件和(或)固件的組合。因此,存在著幾個(gè)可能的載體來(lái)實(shí)施此處描述的過(guò)程,任何一種載體都不是固有的優(yōu)于其他載體,因?yàn)槿魏我环N載體的選擇都只是依據(jù)載體所適合應(yīng)用的背景和它能夠?yàn)閷?shí)施器帶來(lái)的具體優(yōu)勢(shì)(如速度,靈活性或可預(yù)測(cè)性)而做出的,這些優(yōu)勢(shì)可能隨之變化。掌握此領(lǐng)域技術(shù)的人員可以理解光態(tài)實(shí)施可能涉及光導(dǎo)硬件,軟件和(或)固件。
上述詳細(xì)的描述,通過(guò)結(jié)構(gòu)圖,流程圖和(或)范例的使用提出各種不同的裝置和(或)過(guò)程的實(shí)施方式。只要這些結(jié)構(gòu)圖,流程圖和(或)范例包含一種或者多種功能和(或)作用,掌握此領(lǐng)域技術(shù)的人員可以理解這些結(jié)構(gòu)圖,流程圖和(或)范例所包含的每一項(xiàng)功能和(或)作用都可以通過(guò)很多種硬件,軟件,固件或者它們的任何組合單獨(dú)和(或)共同實(shí)現(xiàn)。這里所描述的客體的幾個(gè)部分可以通過(guò)專業(yè)集成電路(ASICs),現(xiàn)場(chǎng)可編程門陣列(FPGAs),數(shù)字信號(hào)處理(DSPs),或其它集成格式來(lái)實(shí)施。但是,掌握此領(lǐng)域技術(shù)的人員會(huì)意識(shí)到在此描述的一些實(shí)施方式的一些方面,可以完全或者部分地在標(biāo)準(zhǔn)集成電路中實(shí)施,可以作為在一個(gè)或者多個(gè)在計(jì)算機(jī)上運(yùn)行的一個(gè)或者多個(gè)程序(例如在一個(gè)或者多個(gè)在計(jì)算機(jī)系統(tǒng)上運(yùn)行的一個(gè)或者多個(gè)程序),可以作為在一個(gè)或者多個(gè)處理器上運(yùn)行的一個(gè)或者多個(gè)程序(例如在一個(gè)或者多個(gè)微處理器上運(yùn)行的一個(gè)或者多個(gè)程序),也可以作為固件或者它們的任意組合。依據(jù)此公開(kāi),掌握此領(lǐng)域技術(shù)的人員很容易就可以指定電路和(或)為軟件和(或)固件編寫代碼。另外,掌握此領(lǐng)域技術(shù)的人員會(huì)明白在此描述的客體裝置能夠以各種方式作為程序產(chǎn)品在市場(chǎng)分銷,在此描述的客體的說(shuō)明性實(shí)施方式也很容易通過(guò)任何媒介傳播。這些媒介包括但不限于以下方式:可存儲(chǔ)媒介,如軟盤,硬盤,CD ROM,數(shù)字磁帶和電腦存儲(chǔ)器;傳播媒介,如使用TDM的數(shù)字和模擬通信鏈路或者基于IP的通信鏈路(如包鏈路)。
總體來(lái)說(shuō),掌握此領(lǐng)域技術(shù)的人員會(huì)認(rèn)識(shí)到在此描述的各個(gè)方面可以單獨(dú)和(或)共同地由很多種硬件,軟件,固件或者任何組合來(lái)實(shí)施。這些方面可以認(rèn)為是由各種類型的“電氣電路”來(lái)組成。所以此處描述的“電氣電路”包括但不限于至少含有一個(gè)分離電路的電氣電路,至少含有一個(gè)集成電路的電氣電路,至少含有一個(gè)專業(yè)集成電路的電氣電路,能夠形成由計(jì)算機(jī)程序改造而成的多用途計(jì)算裝置的電氣電路(例如一個(gè)由計(jì)算機(jī)程序改造而成的多用途計(jì)算機(jī)至少能夠部分實(shí)施在此描述的過(guò)程和(或)裝置,或者一個(gè)由計(jì)算機(jī)程序改造而成的微處理器至少能夠部分實(shí)施在此描述的過(guò)程和(或)裝置),能夠形成存儲(chǔ)裝置的電氣電路(例如各種形式的隨機(jī)訪問(wèn)存儲(chǔ)器),和(或)能夠形成通信裝置的電氣電路(例如調(diào)制解調(diào)器,通信開(kāi)關(guān),或光電設(shè)備)。
掌握此領(lǐng)域技術(shù)的人員會(huì)理解描述在此提出的裝置和(或)過(guò)程然后應(yīng)用標(biāo)準(zhǔn)的設(shè)計(jì)方法把在此描述的裝置和(或)過(guò)程整合到更大的系統(tǒng)中去在此領(lǐng)域很常見(jiàn)。也就是說(shuō),至少在此描述的裝置和(或)過(guò)程的一部分可以通過(guò)大量試驗(yàn)被整合到網(wǎng)絡(luò)處理系統(tǒng)中去。
此前敘述的各個(gè)方面描述了不同的元件,這些不同元件又包含于或者連接于不同的其它元件。應(yīng)該指出那些描述的模型只是范例,很多其它的模型也可以取得同樣的功能。從概念的意義上說(shuō),任何取得相同功能的元件安排都是相聯(lián)系的,如此所需功能才能實(shí)現(xiàn)。因此,任何兩個(gè)元件組合在一起能夠取得一個(gè)特定的功能,這兩個(gè)元件就是彼此“聯(lián)系”的,無(wú)論應(yīng)用了何種結(jié)構(gòu)和何種媒介元件,這個(gè)組合都取得了需要的功能。同樣,任何兩個(gè)如此聯(lián)系的元件都可以被認(rèn)為是為了取得所需功能“運(yùn)行連接”在一起。