日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

用于持久性存儲器的多版本化非易失性存儲器層級的制作方法

文檔序號:9529245閱讀:596來源:國知局
用于持久性存儲器的多版本化非易失性存儲器層級的制作方法
【專利說明】
【背景技術(shù)】
[0001]持久性存儲器在長持續(xù)時間內(nèi)存儲數(shù)據(jù)。當(dāng)該數(shù)據(jù)被維護或保留在未經(jīng)改變的狀態(tài)中使得其可以在稍后時間處在相同狀態(tài)中被再調(diào)用或檢索時,數(shù)據(jù)可以被稱為持久性數(shù)據(jù)。通常,持久性數(shù)據(jù)由一個過程創(chuàng)建和存儲,并且隨后在稍后時間處由另一過程檢索。
【附圖說明】
[0002]圖1A圖示了包括示例非易失性高速緩存和示例非易失性存儲器以提供持久性存儲器的示例持久性存儲器區(qū)。
[0003]圖1B示出示例處理器系統(tǒng)中的圖1A的示例持久性存儲器區(qū)以提供用于對持久性數(shù)據(jù)結(jié)構(gòu)的原子、一致且耐久的(durable)數(shù)據(jù)更新的多版本化非易失性存儲器層級。
[0004]圖2圖不了圖1A和1B的不例易失性尚速緩存事務(wù)管理器和不例非易失性尚速緩存事務(wù)管理器的示例配置。
[0005]圖3圖示了針對由圖1A和1B的示例處理器系統(tǒng)運行的事務(wù)的示例時序圖。
[0006]圖4圖示了圖3的事務(wù)期間圖2的示例隊列。
[0007]圖5是表示可以由邏輯或示例機器可讀指令執(zhí)行以將數(shù)據(jù)存儲在使用圖1A、1B和2的示例持久性存儲器架構(gòu)的圖1A、1B和2的非易失性高速緩存和非易失性存儲器中的示例過程的流程圖。
[0008]圖6是表示可以由邏輯或示例機器可讀指令執(zhí)行以執(zhí)行持久性存儲器更新的示例過程的流程圖。
[0009]圖7是表示可以由邏輯或示例機器可讀指令執(zhí)行以執(zhí)行系統(tǒng)恢復(fù)的示例過程的流程圖。
【具體實施方式】
[0010]非易失性存儲器在沒有所施加的功率的情況下存儲和保留(例如維持)數(shù)據(jù)。一些非易失性存儲器允許以精細(xì)粒度(例如一字節(jié))執(zhí)行讀取和/或?qū)懭氩僮?。由于增加的密度和可縮放性特性,以及在沒有所施加的功率的情況下維持?jǐn)?shù)據(jù)的能力,一些非易失性存儲器技術(shù)(例如字節(jié)可尋址的非易失性存儲器,諸如相變存儲器、自旋轉(zhuǎn)移矩存儲器、憶阻器等)對于用作主存儲器的諸如動態(tài)隨機存取存儲器(DRAM)之類的易失性存儲器是優(yōu)選的。字節(jié)可尋址的非易失性存儲器可以用于實現(xiàn)甚至在應(yīng)用和/或系統(tǒng)故障之后維護存儲器中數(shù)據(jù)對象的狀態(tài)的持久性存儲。
[0011]在非易失性存儲器中的數(shù)據(jù)更新過程期間,故障、存儲器泄漏和/或使更新過程中斷的應(yīng)用錯誤可能破壞(corrupt)非易失性存儲器中的數(shù)據(jù)。本文所公開的示例使得非易失性存儲器系統(tǒng)能夠執(zhí)行安全數(shù)據(jù)更新使得在正常操作條件期間和在發(fā)生系統(tǒng)和/或應(yīng)用故障時維護數(shù)據(jù)完整性和一致性。本文所公開的示例使得能夠通過提供多版本化非易失性存儲器層級以對非易失性持久性數(shù)據(jù)結(jié)構(gòu)執(zhí)行原子、一致且耐久的數(shù)據(jù)更新來維護非易失性存儲器中的數(shù)據(jù)完整性和一致性。
[0012]原子數(shù)據(jù)更新是其中完整執(zhí)行特定更新請求或過程的所有數(shù)據(jù)更新使得沒有數(shù)據(jù)更新被留置部分未完成的數(shù)據(jù)更新。對數(shù)據(jù)結(jié)構(gòu)的部分未完成數(shù)據(jù)更新的示例是在數(shù)據(jù)結(jié)構(gòu)的節(jié)點被解分配(例如該節(jié)點不再被視為存儲有效數(shù)據(jù)),但是另一節(jié)點仍舊指向經(jīng)解分配的節(jié)點時。數(shù)據(jù)更新在其更新數(shù)據(jù)結(jié)構(gòu)的一個或多個節(jié)點中的數(shù)據(jù)時提供跨數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)的一致性使得數(shù)據(jù)節(jié)點之間的有意義的關(guān)系和排序得以維護使得數(shù)據(jù)結(jié)構(gòu)保持在有效、可使用狀態(tài)中。在一些示例中,如果未實現(xiàn)一致性,亂序數(shù)據(jù)更新可能導(dǎo)致不一致的狀態(tài),其可能造成無效、不可使用和不可恢復(fù)的數(shù)據(jù)結(jié)構(gòu)。如本文所使用的,一致且可以從系統(tǒng)故障、功率喪失和/或意圖/非意圖系統(tǒng)關(guān)機事件存活下來的數(shù)據(jù)被稱為耐久數(shù)據(jù)。為了實現(xiàn)耐久性,數(shù)據(jù)被直寫到長期儲存器(例如非易失性存儲器),其中其在長持續(xù)時間內(nèi)維持。在一些實例中,用戶請求數(shù)據(jù)更新的結(jié)果應(yīng)當(dāng)在更新一結(jié)束就變?yōu)槟途玫摹T谶@樣的實例中,數(shù)據(jù)更新的結(jié)果被立即或者盡可能快地驅(qū)逐(evict)到非易失性存儲器。以此方式,可以使數(shù)據(jù)是耐久的,使得其在從系統(tǒng)故障和/或功率喪失(如果發(fā)生這樣的事件的話)恢復(fù)之后可用于檢索。在一些現(xiàn)有技術(shù)中,實現(xiàn)耐久性增加芯片外業(yè)務(wù)量和/或防止亂序操作調(diào)度。
[0013]在存儲器管理系統(tǒng)中,事務(wù)用于更新數(shù)據(jù)、促進從故障中恢復(fù),以及使得數(shù)據(jù)能夠在系統(tǒng)故障的事件中是一致的。事務(wù)是單獨且不可劃分的操作或操作集,其必須全部被完整執(zhí)行或者完全不執(zhí)行。事務(wù)可以包括例如讀取數(shù)個高速緩存行、更新從高速緩存行讀取的數(shù)據(jù)以及將經(jīng)更新的數(shù)據(jù)寫入到高速緩存行。在這樣的事務(wù)中,針對要成功完成的事務(wù),所有讀取、更新和寫入必須被完成。在一些示例中,軟件接口用于實現(xiàn)事務(wù)。其它接口可以附加或可替換地用于實現(xiàn)事務(wù)。
[0014]高速緩存系統(tǒng)使用多個類型的事務(wù)狀態(tài)。事務(wù)狀態(tài)的示例類型被稱為未提交事務(wù)、提交中事務(wù)和已提交事務(wù)。在數(shù)據(jù)被指派給事務(wù)之后,但是在事務(wù)開始(例如以更新數(shù)據(jù)或者寫入到數(shù)據(jù))之前,事務(wù)被稱為未提交事務(wù)。在事務(wù)運行的同時(例如在事務(wù)正從高速緩存行讀取數(shù)據(jù)和/或?qū)?shù)據(jù)寫入到高速緩存行的同時),事務(wù)被稱為提交中事務(wù)。當(dāng)提交中事務(wù)正更新數(shù)據(jù)/將數(shù)據(jù)寫入到非易失性存儲器時,并且在提交中事務(wù)結(jié)束更新/寫入數(shù)據(jù)之前(例如與事務(wù)相關(guān)聯(lián)的不可劃分?jǐn)?shù)據(jù)集直到提交中事務(wù)結(jié)束更新/寫入所有不可劃分?jǐn)?shù)據(jù)集為止僅部分被更新),提交中事務(wù)已經(jīng)寫入到非易失性存儲器的數(shù)據(jù)的任何部分被稱為持久性數(shù)據(jù)。當(dāng)事務(wù)完成運行時,其被稱為已提交事務(wù)。一旦事務(wù)完成運行(例如事務(wù)是已提交事務(wù))并且由事務(wù)更新的數(shù)據(jù)(例如與事務(wù)相關(guān)聯(lián)的數(shù)據(jù)集)被存儲在非易失性存儲器中,數(shù)據(jù)被稱為耐久的。因此,如果數(shù)據(jù)在非易失性存儲器中是持久性的并且與數(shù)據(jù)相關(guān)聯(lián)的事務(wù)是已提交事務(wù)則數(shù)據(jù)是耐久的。
[0015]—些現(xiàn)有技術(shù)采用基于軟件的多版本化數(shù)據(jù)結(jié)構(gòu)、重做或撤消記錄、預(yù)寫(write-ahead)記錄或影式分頁以提供非易失性存儲器中的一致數(shù)據(jù)更新。然而,這樣的技術(shù)招致性能和功率方面的增加的開銷。例如,預(yù)寫記錄涉及將持久性數(shù)據(jù)更新的日志寫入到主存儲器(例如芯片外非易失性存儲器)以提供原子性和耐久性。這樣的數(shù)據(jù)業(yè)務(wù)量可能招致長等待時間并且增加存儲器總線處的帶寬需求。等待時間和/或帶寬問題可能導(dǎo)致系統(tǒng)吞吐量降級。
[0016]在一些現(xiàn)有系統(tǒng)中,持久性存儲器區(qū)包括僅非易失性主存儲器,使得數(shù)據(jù)不被稱為持久的,直到其從高速緩存直寫到非易失性主存儲器為止。本文所公開的示例系統(tǒng)和方法提供擴大或擴展持久性存儲器區(qū)以包括非易失性高速緩存和非易失性主存儲器的持久性存儲器架構(gòu)。因此,本文所公開的示例使得能夠在數(shù)據(jù)一被存儲在非易失性高速緩存中就維持?jǐn)?shù)據(jù),而不是等待直到其被存儲在非易失性主存儲器中。本文所公開的示例系統(tǒng)和方法相對于現(xiàn)有基于日志的持久性技術(shù)而言減少存儲器等待時間和/或數(shù)據(jù)業(yè)務(wù)量。此夕卜,本文所公開的示例系統(tǒng)和方法使得能夠在更新存儲在非易失性存儲器中的存儲器中數(shù)據(jù)的同時自動地維持?jǐn)?shù)據(jù)。因此,本文所公開的示例系統(tǒng)和方法通過避免通常與現(xiàn)有基于日志的技術(shù)相關(guān)聯(lián)的大量數(shù)據(jù)移動來改進系統(tǒng)吞吐量并且減少存儲器功率消耗。
[0017]在現(xiàn)有存儲器系統(tǒng)中,易失性和非易失性儲存器的邊界相對清晰。也就是說,易失性儲存器包括高速緩存(其可以被直接尋址和硬件控制),并且非易失性儲存器包括硬盤驅(qū)動器和固態(tài)驅(qū)動器(其可以是通過諸如文件讀取、文件寫入等之類的軟件接口定向和訪問的塊)。對于其中軟件控制易失性域(例如易失性存儲器)與非易失性域(例如硬盤)之間的數(shù)據(jù)移動的系統(tǒng),編程器寫入故障保護(failsafe)軟件或固件特征以防止舊(例如有效且一致)的數(shù)據(jù)被新的數(shù)據(jù)或未提交事務(wù)破壞。
[0018]然而,關(guān)于一些字節(jié)可尋址的非易失性存儲器系統(tǒng),易失性和非易失性儲存器之間實現(xiàn)的邊界不太清晰。臟(dirty)數(shù)據(jù)(例如已經(jīng)改變的數(shù)據(jù))可能首先存儲在高速緩存層級中并且隨后被驅(qū)逐到存儲器的較低級別以最終存儲在非易失性存儲器中。然而,軟件并不總是能夠控制何時將臟數(shù)據(jù)直寫到非易失性存儲器。例如,與未提交事務(wù)相關(guān)聯(lián)的臟數(shù)據(jù)可能被過早地驅(qū)逐到非易失性存儲器,如果事務(wù)和/或系統(tǒng)故障在直寫或數(shù)據(jù)更新期間能夠重新建立數(shù)據(jù)一致性之前發(fā)生則這可能導(dǎo)致破壞數(shù)據(jù)完整性。在一些示例中,已提交事務(wù)的結(jié)果可能在事務(wù)被提交之后保持在易失性高速緩存層級中。軟件然后可以單獨清除(flush)每一個高速緩存行以迫使驅(qū)逐臟數(shù)據(jù)以被直寫到非易失性存儲器。然而,這樣的軟件干預(yù)是低效的。
[0019]對于諸如硬盤驅(qū)動器之類的現(xiàn)有非易失性儲存器而言,用于原子性、一致性和/或耐久性的基于軟件的支持是可接受的,因為磁性硬盤驅(qū)動器一般是緩慢的。因而,軟件操作一般不使性能降級,因為這樣的軟件通常不比磁性硬盤驅(qū)動器更慢。然而,諸如固態(tài)存儲器(例如相變存儲器(PCM)、自旋轉(zhuǎn)移矩存儲器(STT-RAM)、憶阻器等)之類的最近興起的非易失性存儲器技術(shù)相對于諸如磁性硬驅(qū)動器之類的機電非易失性儲存器而言操作得更快。照此,實現(xiàn)原子性、一致性和/或耐久性的基于軟件的過程負(fù)面地影響具有固態(tài)非易失性存儲器技術(shù)的存儲器系統(tǒng)的性能。
[0020]本文所公開的示例系統(tǒng)和方法使用基于硬件的多版本化以提供原子性、一致性和/或耐久性。本文所公開的示例系統(tǒng)和方法提供還可以用于實現(xiàn)例如當(dāng)數(shù)據(jù)被修改時保留數(shù)據(jù)的在先版本的多版本化存儲器的非易失性存儲器技術(shù)。本文所公開的示例系統(tǒng)和方法使得能夠使用非易失性存儲器層級來維護(例如以高速緩存行粒度)數(shù)據(jù)的多個版本。本文所公開的示例系統(tǒng)和方法提供使用非易失性高速緩存和非易失性主存儲器來實現(xiàn)持久性存儲器區(qū)的持久性存儲器架構(gòu)。因此,本文所公開的示例系統(tǒng)和方法使得能夠在數(shù)據(jù)一被寫入到非易失性高速緩存就使數(shù)據(jù)是持久性的。因此,本文所公開的示例系統(tǒng)和方法相對于用于確保數(shù)據(jù)持久性的現(xiàn)有基于日志的技術(shù)而言減少涉及維持?jǐn)?shù)據(jù)的存儲器等待時間和/或業(yè)務(wù)量。本文所公開的示例系統(tǒng)和方法維護持久性數(shù)據(jù)而不需要維護日志。本文所公開的示例無日志數(shù)據(jù)持久性技術(shù)通過避免通常在基于日志的技術(shù)中使用的大量數(shù)據(jù)移動而相對于現(xiàn)有系統(tǒng)增加系統(tǒng)吞吐量并且減少存儲器
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1