用于非易失性存储器的留存日志操作的制作方法_4

文档序号:8227542阅读:来源:国知局
联的信息还没有被写入NVM 135。与第二和第三延迟的留存操作关联的信息可被认为是“显著的”,因为信息还没有被写入NVM 135。在框516处执行的刷新操作可将显著的信息写入NVM 135。
[0057]包含在上述的日志中的信息可用于从其中与事务关联的信息可能没有被完全提交到NVM的情况中恢复。例如,返回参考图4,假设计算装置100正在执行代码400来将与事务440关联的信息存储NVM 135中。例如,现在假设发生故障状况(例如,功率故障、硬件故障),它使代码400的执行在行438处的“nvflush”指令的执行之前突然停止。NVM 135的状态可以是未知的,因为不清楚与包含在事务中的“nvstore”指令关联的信息是否被实际提交到NVM 135 (由于“nvstore”指令的延迟的留存本质)。上述的日志可用于从故障状况中恢复并且恢复NVM 135中的信息。
[0058]图6图示可用于利用以上描述的日志的示例动作以从可在应用的执行期间发生的故障状况中恢复并且基于包含在日志中的信息恢复NVM中的信息的流程图。参考图6,在框610处,可启动应用来作为可采取来从故障状况中恢复的恢复动作的一部分。在故障状况之后启动应用可使应用进入恢复状态。
[0059]在框612处,可执行检查来确定日志是否被清除。可在NVM中维持可指示日志是否被清除的变量。例如,可将上述的变量“ind”维持在NVM中。将变量设置为零值可提供日志被清除的指示。在框612处,可执行检查来确定变量“ind”是否指示日志被清除。
[0060]如果在框612处确定日志被清除,则在框624处可继续应用执行。清除的日志可指示在日志中没有信息来恢复到NVM。如果在框612处确定日志没有被清除,则在框614处可获得来自最后的日志条目的信息。
[0061 ] 在框616处,可基于从日志条目获得的信息来恢复NVM中的数据。例如,从日志条目获得的信息可包含NVM中的变量的位置和值。通过在获得的位置处将获得的值写入NVM,可在NVM中恢复变量的值。使用延迟的留存操作可将获得的值写入NVM。
[0062]在框618处,可执行检查来确定日志是否包含以前的条目。如果在框618处确定日志不包含以前的条目,则在框622处可设置日志来指示日志被清除并且在框624处可继续应用的执行。否则,如果在框618处确定日志包含以前的条目,则在框620处获得来自以前的条目的信息。然后控制进行到框616。注意可对于日志中的剩余条目重复在框616到620处的动作。
[0063]实施例的以上描述旨在提供图示和描述,但是不意图是穷尽的或将本发明限于公开的精确形式。按照以上教导,修改和变化是可能的或可从本发明的实践获得。例如,虽然上面已经关于图5和6描述一系列动作,但是在其它实现中可修改动作的顺序。另外,可并行地执行非相关动作。
[0064]而且,如本文所使用的,例如,除非以其它方式陈述,术语“用户”旨在被广泛地解释为包含计算装置(例如,固定计算装置、移动计算装置)或计算装置的用户。
[0065]将显而易见的是在本文中描述的一个或多个实施例可以用软件和/或硬件的许多不同形式来实现。用于实现本文描述的实施例的软件代码和/或专用硬件不限制本发明。因此,没有参考具体软件代码和/或专用硬件来描述实施例的操作和行为,要理解的是人们能够设计软件和/或硬件以基于本文的描述来实现实施例。
[0066]另外,可使用可由处理逻辑(例如,处理逻辑120)执行的计算机可执行指令来实现本发明的某些特征。计算机可执行指令可存储在一个或多个非暂时性有形的计算机可读存储媒体上。媒体可以是易失性或非易失性并且例如可包含DRAM、SRAM、闪速存储器、可移动磁盘、不可移动磁盘、等等。
[0067]本文使用的元件、动作或指令不应解释为对本发明是关键或必要的,除非如此明确描述。而且,如本文所使用的,冠词“一”旨在包含一个或多个项目。在意指仅一个项目的情况下,使用术语“一个”或类似语言。另外,除非以其它方式明确陈述,短语“基于”旨在意味着“至少部分基于”。
[0068]意图是本发明不限于以上公开的特定实施例,而是本发明将包含落入所附权利要求的范围内的任何和所有特定实施例和等同物。
【主权项】
1.一种方法,包括: 执行第一延迟的留存操作来将信息存储在包含在非易失性存储器(NVM)中的日志中,所述信息包含所述NVM中包含的变量的当前值; 执行第二延迟的留存操作来将信息存储在所述变量中; 执行第三延迟的留存操作来将指示所述日志被清除的信息存储在所述NVM中;以及 执行刷新操作来将与所述第一、第二或第三延迟的留存操作中的至少一个关联的信息提交到所述NVM。
2.如权利要求1所述的方法,其中由所述第一延迟的留存操作存储的所述信息还包含所述变量的地址。
3.如权利要求1所述的方法,其中由所述第三延迟的留存操作存储的所述信息存储在指示所述日志中的下一条目的包含在所述NVM中的变量中。
4.如权利要求1所述的方法,其中由所述第三延迟的留存操作存储的所述信息存储在指示所述日志中的多个条目的包含在所述NVM中的变量中。
5.如权利要求1所述的方法,其中由所述第三延迟的留存操作存储的所述信息包含指示所述日志是否被清除的标记。
6.如权利要求1所述的方法,其中所述第一、第二或第三延迟的留存操作中的所述至少一个包含可由处理逻辑执行的可执行指令。
7.如权利要求6所述的方法,其中所述指令被执行来执行所述第一、第二或第三延迟的留存操作中的至少一个。
8.一个或多个有形的非暂时性计算机可读介质,其存储用于由处理逻辑的执行的一个或多个可执行指令,所述一个或多个可执行指令包含: 一个或多个可执行指令,用于使用第一延迟的留存操作来将信息存储在包含在非易失性存储器(NVM)中的日志中,所述信息包含所述NVM中包含的变量的当前值; 一个或多个可执行指令,用于使用第二延迟的留存操作来将信息存储在所述变量中; 一个或多个可执行指令,用于使用第三延迟的留存操作来将指示所述日志被清除的信息存储在所述NVM中;以及 一个或多个可执行指令,用于将显著的信息提交到所述NVM,所述显著的信息包含与所述第一、第二或第三延迟的留存操作中的至少一个关联的信息。
9.如权利要求8所述的介质,其中由所述第一延迟的留存操作存储的所述信息还包含所述变量的地址。
10.如权利要求8所述的介质,其中由所述第三延迟的留存操作存储的所述信息存储在指示所述日志中的下一条目的包含在所述NVM中的变量中。
11.如权利要求8所述的介质,其中由所述第三延迟的留存操作存储的所述信息存储在指示所述日志中的多个条目的包含在所述NVM中的变量中。
12.如权利要求8所述的介质,其中还包括: 一个或多个指令,用于确定所述日志未被清除; 一个或多个指令,用于从所述日志获得由所述第二延迟的留存操作存储的所述信息;以及 一个或多个指令,用于基于所述获得的信息来恢复包含在所述变量中的信息。
13.如权利要求12所述的介质,其中所述变量中的所述信息是通过使用将所述获得的信息写入所述变量的延迟的留存操作来恢复。
14.一种系统,包括: 处理逻辑,用于: 执行第一操作,其使用延迟的留存操作将信息存储在包含在非易失性存储器(NVM)中的日志中,所述信息包含所述NVM中包含的存储位置的当前值; 执行第二操作,其使用延迟的留存将信息存储在所述存储位置中; 执行第三操作,其使用延迟的留存将指示所述日志被清除的信息存储在所述NVM中;以及 将显著的信息提交到所述NVM,所述显著的信息包含与所述第一、第二或第三操作中的至少一个关联的信息。
15.如权利要求14所述的系统,其中由所述第一操作存储的所述信息还包含所述变量的地址。
16.如权利要求14所述的系统,其中由所述第三操作存储的所述信息存储在指示所述日志中的下一条目的包含在所述NVM中的变量中。
17.如权利要求14所述的系统,其中由所述第三操作存储的所述信息存储在指示所述日志中的多个条目的包含在所述NVM中的变量中。
18.如权利要求14所述的系统,其中由所述第三操作存储的所述信息包含指示所述日志是否被清除的标记。
19.如权利要求14所述的系统,其中所述第一、第二或第三延迟的操作中的所述至少一个包含可由处理逻辑执行的可执行指令。
20.如权利要求19所述的系统,其中所述指令被执行来执行所述第一、第二或第三操作中的至少一个。
【专利摘要】在一实施例中,可执行第一延迟的留存操作来将信息存储在包含在非易失性存储器(NVM)中的日志中。例如,信息可包含NVM中包含的变量的当前值。可执行第二延迟的留存操作来将信息存储在变量中。可执行第三延迟的留存操作来将指示日志被清除的信息存储在NVM中。例如,在第一、第二或第三延迟的留存操作之后,可执行刷新操作。刷新操作可将与第一、第二或第三延迟的留存操作中的至少一个关联的信息提交到NVM。
【IPC分类】G06F9-30, G06F9-06
【公开号】CN104541241
【申请号】CN201380044838
【发明人】齐乌尔亚洛夫 F., 蔡 Q.
【申请人】英特尔公司
【公开日】2015年4月22日
【申请日】2013年6月13日
【公告号】EP2901267A1, US9015404, US20140095766, WO2014051744A1
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1