用于非易失性存儲器的留存日志操作的制作方法
【專利說明】
【背景技術(shù)】
[0001]計算裝置可使用一個或多個存儲系統(tǒng)來存儲信息。例如,信息可包含數(shù)據(jù)和/或可執(zhí)行指令。存儲系統(tǒng)可包含主存儲裝置和輔助存儲裝置。主存儲裝置可以是可包含在計算裝置中的處理器可直接訪問的存儲裝置。處理器可經(jīng)由可包含用于在處理器與主存儲裝置之間傳輸信息的供應的存儲器總線而接入主存儲裝置。輔助存儲裝置可以是處理器不可直接訪問的存儲裝置。此處,可經(jīng)由可以是I/o總線的一部分的一個或多個輸入/輸出(I/O)信道在處理器與輔助存儲裝置之間傳輸信息。
【附圖說明】
[0002]并入并且構(gòu)成本說明書的一部分的附圖圖示一個或多個本文描述的實施例并且與描述一起解釋這些實施例。在圖中:
圖1圖示計算裝置的示例實施例的框圖;
圖2圖示與使用延遲的留存在非易失性存儲器(NVM)中的數(shù)據(jù)的示例存儲關(guān)聯(lián)的時間線;
圖3圖示可用于記錄與事務關(guān)聯(lián)的信息的示例代碼;
圖4圖示包含事務的示例代碼;
圖5圖示可用于將信息存儲在非易失性存儲器(NVM)中的示例動作的流程圖;以及圖6圖示可用于將信息從包含在日志中的信息恢復到NVM的示例動作的流程圖。
【具體實施方式】
[0003]下文的詳細描述涉及附圖。不同的圖中的相同的參考標號可識別相同或類似的元件。而且,下文的詳細描述不限制本發(fā)明。
[0004]計算裝置(例如,智能電話、平板計算機、超級本、服務器)可包含非易失性存儲器(NVM),計算裝置可使用NVM來存儲在計算裝置丟失電力之后幸存的數(shù)據(jù)。例如,計算裝置可包含處理器和NVM。處理器可使用NVM來存儲計算裝置的用戶的地址簿。地址簿可包含可與用戶經(jīng)常使用計算裝置呼叫的聯(lián)系人關(guān)聯(lián)的信息(例如,姓名、電話號碼)。通過將地址簿存儲在NVM中,信息可以被留存使得在計算裝置丟失電力之后信息可保留在NVM中。在計算裝置恢復電力之后,處理器可從NVM取回留存的信息。
[0005]圖1圖示可包含NVM 135的計算裝置100的示例實施例的框圖。NVM 135可以是與計算裝置100關(guān)聯(lián)的主存儲裝置130的一部分。參考圖1,計算裝置100可包含各種部件,例如,處理邏輯120、主存儲裝置130、輔助存儲裝置150、一個或多個輸入裝置160、一個或多個輸出裝置170以及一個或多個通信接口 180。
[0006]應該注意到圖1圖示計算裝置100的示例實施例。計算裝置100的其它實施例可包含比圖1中圖示的部件更多或更少的部件。另外,可不同于圖1中圖示的來布置部件。例如,在計算裝置100的一實施例中,輔助存儲裝置150可包含在提供“云”存儲的遠程站點處。站點可經(jīng)由通信網(wǎng)絡(例如,因特網(wǎng))對于計算裝置100可訪問。通信接口 180可用于對接計算裝置100與通信網(wǎng)絡。
[0007]而且,應該注意到由包含在計算裝置100的其它實施例中的各種部件執(zhí)行的功能可分布在不同于如本文所描述的部件之間。
[0008]計算裝置100可包含可允許計算裝置100中的部件(例如,處理邏輯120、輔助存儲裝置150、一個或多個輸入裝置160、一個或多個輸出裝置170和一個或多個通信接口 180)之間通信的I/O總線110。除了別的以外,通信可包含在部件之間傳輸信息(例如,控制信息、數(shù)據(jù))。
[0009]計算裝置100可包含存儲器總線190,它可使可存儲在主存儲裝置130中的信息能在處理邏輯120與主存儲裝置130之間傳輸。信息可包含可由處理邏輯120執(zhí)行、操縱和/或以其它方式處理的指令和/或數(shù)據(jù)。
[0010]處理邏輯120可包含用于解釋、執(zhí)行和/或以其它方式處理信息的邏輯。例如,信息可包含可存儲在主存儲裝置130和/或輔助存儲裝置150中的信息。此外,信息可包含可由一個或多個輸入裝置160和/或通信接口 180獲得(例如,讀取、接收)的信息。
[0011]處理邏輯120可包含各種異構(gòu)硬件。例如,硬件可包含一個或多個處理器、微處理器、現(xiàn)場可編程門陣列(FPGA)、專用指令集處理器(ASIP)、專用集成電路(ASIC)、復雜可編程邏輯裝置(CPLD)、圖形處理單元(GPU)和/或其它類型的處理邏輯(例如,可解釋、執(zhí)行、操縱和/或以其它方式處理信息)中的一些組合。處理邏輯120可包括單個核或多個核??捎糜趯崿F(xiàn)處理邏輯120的處理器的示例是可從加利福尼亞州圣克拉拉的英特爾公司得到的Intel Xeon處理器。
[0012]輔助存儲裝置150可包含經(jīng)由I/O總線110對于處理邏輯120可訪問的存儲裝置。存儲裝置可存儲用于處理邏輯120的信息。處理邏輯120可執(zhí)行、解釋、操縱和/或以其它方式處理信息。例如,信息可包含可實現(xiàn)本發(fā)明的一個或多個實施例的計算機可執(zhí)行指令和/或數(shù)據(jù)。
[0013]例如,輔助存儲裝置150可包含可存儲信息的一個或多個存儲裝置。存儲裝置可以是易失性的或非易失性的。例如,可包含在輔助存儲裝置150中的存儲裝置可包含磁盤驅(qū)動器、光盤驅(qū)動器、隨機接入存儲器(RAM)盤驅(qū)動器、閃速驅(qū)動器、固態(tài)驅(qū)動器(SSD)和/或其它存儲裝置。信息可存儲在包含在存儲裝置中的一個或多個非暫時性有形的計算機可讀媒體上??砂诖鎯ρb置中的非暫時性有形的計算機可讀媒體的示例可包含磁盤、光盤和/或存儲器裝置。存儲器裝置的示例可以是非易失性隨機存取存儲器(RAM)裝置。
[0014]輸入裝置160可包含可用于將信息輸入計算裝置100的一個或多個裝置。例如,裝置可包含鍵盤、計算機鼠標、麥克風、照相機、跟蹤球、陀螺裝置(例如,陀螺儀)、迷你鼠標、觸摸板、觸屏筆、圖形平板計算機、觸摸屏、操作桿(等壓或等距)、指向桿、加速度計、手掌鼠標、足鼠標、定位盤、眼球控制裝置、手指鼠標、光筆、光槍、神經(jīng)裝置、眼睛追蹤裝置、方向盤、搖桿、滾輪、空間球、定向墊、跳舞墊、肥皂鼠標、觸覺裝置、感知裝置、神經(jīng)裝置、多點輸入裝置、離散指向裝置和/或一些其它輸入裝置。例如,信息可包含可使用指向裝置(例如,計算機鼠標)輸入計算裝置100的空間(例如,連續(xù)的、多維的)數(shù)據(jù)。信息還可包含其它形式的數(shù)據(jù),例如,可使用鍵盤輸入的文本。
[0015]輸出裝置170可包含可從計算裝置100輸出信息的一個或多個裝置。例如,裝置可包含陰極射線管(CRT)、等離子體顯示裝置、發(fā)光二極管(LED)顯示裝置、液晶顯示器(IXD)裝置、真空熒光顯示(VFD)裝置、表面導電電子發(fā)射顯示(SED)裝置、場發(fā)射顯示(FED)裝置、觸覺裝置、感知裝置、打印機、揚聲器、視頻投影儀、容積顯示裝置、繪圖儀、觸摸屏和/或一些其它輸出裝置。例如,處理邏輯120可指引輸出裝置170輸出來自計算裝置100的信息。信息可由輸出裝置170呈現(xiàn)(例如,顯示、打印)。例如,信息可包含文本、圖形用戶接口(GUI)元件(例如,窗口、小部件和/或其它GUI元件)、音頻(例如,音樂、聲音)和/或可由輸出裝置170呈現(xiàn)的其它信息。
[0016]例如,通信接口 180可包含用于對接計算裝置100與一個或多個通信網(wǎng)絡的邏輯并且使計算裝置100能與耦合到通信網(wǎng)絡的一個或多個實體(例如,節(jié)點)通信。例如,通信網(wǎng)絡可包含因特網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、3G和/或4G網(wǎng)絡。通信接口 180可包含一個或多個類似收發(fā)器的機制,其可使計算裝置100能與耦合到通信網(wǎng)絡的實體通信。通信接口 180的示例可包含內(nèi)置網(wǎng)絡適配器、網(wǎng)絡接口卡(NIC)、個人計算機存儲器卡國際聯(lián)合會(PCMCIA)網(wǎng)卡、卡總線網(wǎng)絡適配器、無線網(wǎng)絡適配器、通用串行總線(USB)網(wǎng)絡適配器、調(diào)制解調(diào)器和/或合適于將計算裝置100對接到通信網(wǎng)絡的其它裝置。
[0017]例如,主存儲裝置130可包含可存儲計算機可執(zhí)行指令和/或數(shù)據(jù)的一個或多個非暫時性有形的計算機可讀媒體。主存儲裝置130可經(jīng)由存儲器總線190對于處理邏輯120可訪問。計算機可執(zhí)行指令和/或數(shù)據(jù)可實現(xiàn)操作系統(tǒng)(OS)132和應用(APP)134。處理邏輯120可執(zhí)行、解釋和/或以其它方式處理計算機可執(zhí)行指令。計算機可執(zhí)行指令和/或數(shù)據(jù)可包含可實現(xiàn)本發(fā)明的一個或多個實施例的計算機可執(zhí)行指令和/或數(shù)據(jù)。
[0018]主存儲裝置130可包含易失性存儲器131和非易失性(NVM) 135。易失性存儲器131可包含隨機存取存儲器和/或串行接入存儲器。可使用可存儲信息的一個或多個易失性存儲器裝置來實現(xiàn)易失性存儲器131。信息可包含可由處理邏輯120執(zhí)行的可執(zhí)行指令和/或可由處理邏輯120操縱的數(shù)據(jù)。例如,易失性存儲器裝置可包含動態(tài)隨機存取存儲器(DRAM)裝置、靜態(tài)隨機存取存儲器裝置、雙倍數(shù)據(jù)率(DDR)同步隨機存取存儲器、晶閘管隨機存取存儲器(TRAM)和/或其它類型的易失性存儲器裝置。易失性存儲器131可包含OS 132 和 APP 134。
[0019]OS 132可以是可實現(xiàn)各種傳統(tǒng)的操作系統(tǒng)功能的傳統(tǒng)操作系統(tǒng),例如,傳統(tǒng)的操作系統(tǒng)功能可包含(I)調(diào)度APP 134的一個或多個部分來在處理邏輯120上運行(例如,尤其執(zhí)行),(2)管理主存儲裝置130,以及(3)控制對計算裝置100中的各種部件(例如,輸入裝置160、輸出裝置170、通信接口 180、輔助存儲裝置150)和由這些部件接收和/或傳送的信息的訪問。
[0020]可用于實現(xiàn)OS 132的操作系統(tǒng)的示例可包含Linux操作系統(tǒng)、MicrosoftWindows操作系統(tǒng)、Symbian操作系統(tǒng)、Mac OS操作系統(tǒng)和Android操作系統(tǒng)??墒褂玫腖inux 操作系統(tǒng)的發(fā)行是可從 Red Hat Corpor