存儲器模塊中數(shù)據(jù)的運行時備份的制作方法
【專利說明】
【背景技術(shù)】
[0001]系統(tǒng)可包括各種類型的存儲設備,包括持久性二級存儲器(例如,基于磁盤的存儲器或固態(tài)存儲器)以及中間存儲器。中間存儲器可利用比持久性二級存儲器中使用的更高速的存儲設備來實施??稍谥虚g存儲器中使用的存儲設備的示例包括動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)、閃存,等等。
[0002]中間存儲器可用于緩存持久性二級存儲器中的數(shù)據(jù)的一部分。被緩存的數(shù)據(jù)中的一些可在系統(tǒng)運行期間被更新,這可以導致中間存儲器中被更新的數(shù)據(jù)比持久性二級存儲器中相應的數(shù)據(jù)更加新。中間存儲器中被更新的數(shù)據(jù)可能在系統(tǒng)故障的情況下遭受丟失。
【附圖說明】
[0003]結(jié)合下圖描述一些實施例:
[0004]圖1是根據(jù)一些實施方式的包括運行時備份邏輯的示例布置的框圖;
[0005]圖2是根據(jù)一些實施方式的運行時備份過程的流程圖;
[0006]圖3是根據(jù)更多實施方式的包括運行時備份邏輯的另一示例布置的框圖;以及
[0007]圖4是根據(jù)更多實施方式的運行時備份過程的流程圖。
【具體實施方式】
[0008]存儲器模塊可用作系統(tǒng)中的中間存儲器,在該系統(tǒng)中,中間存儲器是比系統(tǒng)中的持久性二級存儲器更高速的存儲器。持久性二級存儲器可利用一個或多個基于磁盤的存儲設備、一個或多個固態(tài)存儲設備、或其它類型的存儲設備來實施。
[0009]存儲器模塊可包括易失性存儲器和非易失性存儲器。易失性存儲器包括在從易失性存儲器中去除電力的情況下丟失其數(shù)據(jù)內(nèi)容的存儲器。另一方面,即便從非易失性存儲器去除電力,非易失性存儲器仍保留其數(shù)據(jù)。易失性存儲器的示例可包括動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM),等等。非易失性存儲器的示例可包括閃存、電可擦除可編程只讀存儲器(EEPROM),等等。
[0010]存儲器模塊可用于緩存持久性二級存儲器中的數(shù)據(jù)的部分。緩存在存儲器模塊中的數(shù)據(jù)可(例如通過處理器或輸入/輸出(I/o)設備)被更新。更新時,存儲器模塊中的數(shù)據(jù)可能比持久性二級存儲器中相應的數(shù)據(jù)更加新。為了維持數(shù)據(jù)一致性,被更新的緩存數(shù)據(jù)可從存儲器模塊寫回到持久性二級存儲器。但是,由于對持久性二級存儲器的數(shù)據(jù)存取操作是相對較慢的操作,因此將數(shù)據(jù)寫回到持久性二級存儲器如果執(zhí)行得太頻繁,則會下降整體系統(tǒng)性能。
[0011]為了使存儲器模塊的易失性存儲器中包含的數(shù)據(jù)穩(wěn)定,可執(zhí)行備份操作以在存儲器模塊中將數(shù)據(jù)從易失性存儲器轉(zhuǎn)移(移動或復制)到非易失性存儲器。在存儲器模塊內(nèi)部執(zhí)行數(shù)據(jù)備份操作不涉及到相對慢的持久性二級存儲器的數(shù)據(jù)移動。穩(wěn)定存儲器模塊中的數(shù)據(jù)可以指以防止在故障條件(例如,電力喪失、系統(tǒng)崩潰等等)的情況下丟失數(shù)據(jù)的方式將數(shù)據(jù)存儲在存儲器模塊中。
[0012]在一些情況下,存儲器模塊中從易失性存儲器到非易失性存儲器的備份操作可響應于系統(tǒng)電力喪失的指示而觸發(fā)。電力喪失會引發(fā)系統(tǒng)從運行時狀態(tài)向低功率狀態(tài)(例如,睡眠狀態(tài)或冬眠狀態(tài))過渡。在低功率狀態(tài)下,可從系統(tǒng)的至少一些組件去除電力。系統(tǒng)的運行時狀態(tài)可以指可執(zhí)行代碼(包括應用程序、操作系統(tǒng)、或其它代碼)能夠執(zhí)行的狀態(tài)。例如,運行時狀態(tài)可為高級配置與電源接口(ACPI)標準提供的SO狀態(tài)。在其它示例中,可采用其它類型的運行時狀態(tài)。作為從運行時狀態(tài)向低功率狀態(tài)過渡的部分,可觸發(fā)數(shù)據(jù)備份以將數(shù)據(jù)從易失性存儲器轉(zhuǎn)移到存儲器模塊的非易失性存儲器。
[0013]根據(jù)一些實施方式,為了提高的靈活性以及增強的系統(tǒng)性能,可在系統(tǒng)的運行時期間執(zhí)行存儲器模塊中從易失性存儲器到非易失性存儲器的數(shù)據(jù)備份,而不是僅作為從運行時狀態(tài)到低功率狀態(tài)的過渡的部分。存儲器模塊中數(shù)據(jù)的運行時備份指在系統(tǒng)保持在運行時狀態(tài)時執(zhí)行易失性存儲器和非易失性存儲器之間的數(shù)據(jù)轉(zhuǎn)移(數(shù)據(jù)復制或數(shù)據(jù)移動);換句話說,系統(tǒng)不過渡到低功率狀態(tài),例如睡眠狀態(tài)或冬眠狀態(tài)。注意,在一些實施方式中,除了執(zhí)行存儲器模塊中數(shù)據(jù)的運行時備份之外,還可響應于系統(tǒng)從運行時狀態(tài)到低功率狀態(tài)的過渡,而觸發(fā)從易失性存儲器到非易失性存儲器的存儲器模塊中的數(shù)據(jù)備份。
[0014]盡管本公開涉及將數(shù)據(jù)從易失性存儲器轉(zhuǎn)移到非易失性存儲器,但注意,還可在從非易失性存儲器到易失性存儲器的其它方向上發(fā)生轉(zhuǎn)移。此外,當非易失性存儲器裝滿時,可將數(shù)據(jù)從非易失性存儲器移出以寫回到二級存儲器。
[0015]存儲器模塊中數(shù)據(jù)的運行時備份可為在系統(tǒng)空閑的時間窗期間的機會性備份。注意,在一些實施方式中,存儲器模塊中數(shù)據(jù)的運行時備份不在系統(tǒng)正主動地對存儲器模塊中的數(shù)據(jù)進行存取時執(zhí)行,以避免可能在運行時備份操作和系統(tǒng)的數(shù)據(jù)存取之間發(fā)生的任何潛在沖突。無論何時系統(tǒng)檢測空閑時間窗,存儲器模塊中數(shù)據(jù)的運行時備份可機會性地被觸發(fā)??商娲?,存儲器模塊中數(shù)據(jù)的運行時備份可響應于自存儲器模塊中最后一次數(shù)據(jù)備份開始已經(jīng)過去了特定時間間隔的檢測,或響應于另一事件而被觸發(fā)。
[0016]圖1是示例系統(tǒng)的框圖,該系統(tǒng)包括存儲器模塊102、管理存儲器模塊102中存儲的數(shù)據(jù)的存取(讀存取或?qū)懘嫒?的存儲器控制器104、以及能夠控制存儲器模塊102中的數(shù)據(jù)備份操作的控制邏輯106。根據(jù)一些實施方式,控制邏輯106可引起在系統(tǒng)的運行時期間(其中系統(tǒng)在執(zhí)行數(shù)據(jù)備份操作之前和之后保持在運行時)、在存儲器模塊102中內(nèi)部地執(zhí)行數(shù)據(jù)備份操作??稍诳臻e時間間隔期間機會性地執(zhí)行運行時數(shù)據(jù)備份操作,或者可替代地,可響應于特定事件觸發(fā)運行時數(shù)據(jù)備份操作。此外,在一些示例中,控制邏輯106還可在系統(tǒng)從運行時狀態(tài)向低功率狀態(tài)(或更一般地從高功率狀態(tài)向低功率狀態(tài))過渡時,響應于系統(tǒng)的功率狀態(tài)過渡,而觸發(fā)在存儲器模塊102中內(nèi)部地執(zhí)行數(shù)據(jù)備份操作。
[0017]控制邏輯106可利用系統(tǒng)的一個或多個集成電路芯片來實施。例如,控制邏輯106可包括作為系統(tǒng)的芯片集的部分的多個集成電路芯片。集成電路芯片可包括系統(tǒng)復雜可編程邏輯器件(CPLD)以及南橋。系統(tǒng)的南橋可聯(lián)接至多個I/O設備,且南橋可管理系統(tǒng)的I/O功能。系統(tǒng)CPLD可被編程為執(zhí)行特定的任務,例如觸發(fā)存儲器模塊102中的保存操作以執(zhí)行內(nèi)部備份操作。在其它示例中,代替使用CPLD,可以采用另一種類型的集成電路芯片,例如可編程門陣列、專用集成電路(ASIC)設備、微處理器、微控制器,等等。
[0018]在其它示例中,控制邏輯106可利用單個的集成電路芯片來實施??商娲?,控制邏輯106可合并到存儲器控制器104中,或在系統(tǒng)的另一個組件,例如處理器、輸入/輸出(I/O)設備等等中??刂七壿?06執(zhí)行的任務可通過由控制邏輯106的處理電路可執(zhí)行的機器可讀指令(固件或軟件)來控制。
[0019]存儲器模塊102包括易失性存儲器108和非易失性存儲器110。此外,存儲器模塊102包括內(nèi)部控制器112,內(nèi)部控制器112可執(zhí)行各種任務,包括在易失性存儲器108和非易失性存儲器110之間轉(zhuǎn)移數(shù)據(jù)的數(shù)據(jù)轉(zhuǎn)移。數(shù)據(jù)的轉(zhuǎn)移可包括將數(shù)據(jù)從易失性存儲器108復制或移動到非易失性存儲器110,或?qū)?shù)據(jù)從非易失性存儲器110復制或移動到易失性存儲器108。
[0020]存儲器模塊102還包括用于接收來自控制邏輯106的保存指示116的輸入接口114。保存指示116被提供至存儲器模塊102,以觸發(fā)從易失性存儲器108到非易失性存儲器110的內(nèi)部備份操作。在一些實施方式中,保存指示116可為提供至存儲器模塊102的特定輸入引腳的信號。在一些示例中,存儲器模塊102可為雙列直插式存儲器模塊(DIMM),且特定輸入引腳可為聯(lián)合電子設備工程委員會(JEDEC)提議的SAVE#引腳。在其它示例中,存儲器模塊102的其它輸入引腳可用于接收保存指示116。保存指示116可為到