使用多级单元设置本地检查点制造技术

技术编号:10491410 阅读:105 留言:0更新日期:2014-10-03 18:54
本文描述了使用多级单元设置本地检查点。示例性方法包括将第一数据存储在多级单元的第一级中。将第二数据存储在该多级单元的第二级中,第二数据代表第一数据的检查点。将第一数据从该多级单元的第一级拷贝到第二级,以创建检查点。

【技术实现步骤摘要】
【国外来华专利技术】使用多级单元设置本地检查点政府利益的声明本专利技术根据由能源部授予的合同号DE — SC0005026在政府支持下做出。政府对本专利技术有某些权利。
技术介绍
高性能计算(HPC)系统一般用于复杂数学和/或科学信息的计算。这样的计算可包括化学相互作用的模拟、信号分析、结构分析的模拟等。由于它们的复杂性,HPC系统完成这些计算常常是明显耗费时间的(例如小时、天、星期等)。例如硬件故障、应用程序漏洞、存储器毁坏、系统故障等的错误可能在计算期间出现,并将所计算的数据保持在毁坏和/或不一致的状态。当这样的错误出现时,HPC系统重新开始计算,这可明显增加完成计算的处理时间。 为了缩短重新计算的处理时间,利用检查点来在计算期间存储在不同点处所计算的数据的版本。当错误出现时,计算系统从最近的检查点恢复数据,并从恢复的检查点重新开始计算。以这种方式,检查点可用于通过防止系统必须完全重新开始计算来减少计算的处理时间。 【附图说明】 图1描绘示例性多级单元(MLC)非易失性随机存取存储器(NVRAM)配置。 图2是使用图1的MLC NVRAM的示例性存储块的方框图。 图3是可用于使用图2的示例性存储块来实现本地检查点的示例性存储控制器的方框图。 图4是每个单元具有两个位的多级单元的方框图。 图5是每个单元具有两个位的可替代多级单元的方框图。 图6是每个单元具有三个位的多级单元的方框图。 图7是每个单元具有四个位的多级单元的方框图。 图8是每个单元具有四个位的多级单元的方框图。 图9是表示可被执行来实现图3的示例性存储控制器以执行检查点操作的示例性机器可读指令的流程图。 图10是表示可被执行来实现图3的示例性存储控制器以执行检查点操作的示例性机器可读指令的流程图。 图11是代表可被执行来实现图3的示例性存储控制器以执行电阻编码的示例性机器可读指令的流程图。 图12是能够执行图9、10和/或11的示例性机器可读指令以实现图3的示例性存储控制器的示例性处理器平台的方框图。 【具体实施方式】 本文公开的示例性方法、装置和制品能够使用多级单元(MLC)非易失性随机存取存储器(NVRAM)来实现版本存储器。为了实现版本存储器,本文公开的例子利用多级单元(MLC)来对工作数据和一个或多个数据检查点进行编码。示例性工作数据存储在多级单元的第一位中,而示例性检查点数据存储在多级单元的第二位中。本文公开的示例性版本存储技术可用于实现比已知的检查点技术相对更快和更能量有效的检查点。 最近的NVRAM存储技术(例如相变存储器(PCRAM)、忆阻器等)比传统的存储技术具有更高的存储密度。这样的较高密度NVRMA存储技术被预期用在较新的计算系统中。然而,设计者、工程师和用户面临着由于例如存储器泄漏、系统故障、应用程序漏洞等错误产生的NVRAM毁坏的风险。因此,本文公开的例子可用于将NVRAM中的数据恢复到稳定的状态,以消除或实质上降低毁坏的风险。 已知的系统使用多版本数据结构、检查点日志过程等来实现从错误中恢复。然而,在这种以前的系统中使用多版本数据结构需要可访问那些多版本数据结构的特别设计的软件应用程序。因此,这些已知数据结构的使用限于具有这样特别设计的软件应用程序的计算系统。在一些已知的系统中,检查点日志过程依赖于将存储器拷贝到分开的位置以创建检查点的能力。然而,因为利用很多存储操作来创建检查点,因此拷贝存储器可能花费过长的时间,且可能易于发生错误。为了克服错误,检查点日志系统创建所拷贝的数据的日志,以在检查点过程期间能够从错误中恢复。然而,这些机制引起性能和能力的相当大的开销。 本文公开的示例性方法、装置和制品在高性能计算(HPC)系统中实现检查点。本文公开的例子通过将检查点数据存储在同一多级单元的额外层中来实现示例性检查点操作,其中工作数据存储在额外层中。通过将检查点数据存储在同一单元中,该数据可更容易寻址,且存储器写操作相对更快,这是因为正被设置检查点的数据未被传输到单独的存储位置(例如远程检查点服务器、在同一计算系统中的单独存储设备、计算系统的同一存储设备的单独存储位置等)。 本文公开的例子使用多级单元(MLC)非易失性随机存储器(NVRAM)来存储信息。MLC NVRAM使用存储单元的物理属性值来指示、编码或代表所存储的信息。物理属性值是指存储单元的可测量的属性或特性。在本文公开的例子中,物理属性值表示电阻值。然而,可使用对应于所使用的存储技术的任何其它适当类型的属性,例如电容值、原子自旋值等。因此,可以此外或可替代地关于本文公开的例子使用任何其它类型的存储器。 本文公开的例子使用多级单元(MLC)非易失性随机存储器(NVRAM)来实现检查点。当多级单元被分成较小的电阻范围时,额外的数据位可存储在单元中。例如,具有四个电阻范围的多级单元可存储两个数据位。在这样的例子中,第一电阻范围对0-0的第一数据状态进行编码;第二电阻范围对0-1的第二数据状态进行编码;第三电阻范围对1-0的第三数据状态进行编码;以及第四电阻范围对1-1的第四数据状态进行编码。当使用多级单元时,在不同电阻范围之间的转变耗费时间和能量。转变到较大的电阻范围(例如由较高电阻编码的电阻范围)比转变到较小的电阻范围(例如由较低电阻编码的电阻范围)使用相对更多的时间和能量。在一些例子中,电阻范围编码被改变,使得在检查点操作期间,存储器操作从较大的电阻范围转变到较小的电阻范围,从而减小用于创建检查点的时间和能量。 图1描绘示例性多级单元(MLC)非易失性随机存取存储器(NVRAM)配置。第一示例性NVRMA单元110使用表示布尔值“O”(例如状态Stl)的第一电阻范围(例如低电阻值)和表示布尔值“I”(例如状态S1)的第二电阻范围(例如高电阻值),来在每个单元存储一个位(例如具有位k的单级NVRAM单元)。通过将NVRAM单元分成如示例性MLC NVRAM单元120和130所示的较小的电阻范围,更多的信息可被存储在NVRAM单元中,从而产生较高密度存储器。示例性NVRAM单元120在每个单元存储两个位(例如代表位Id1和Idci的四个电阻范围),且示例性NVRAM单元130在每个单元使用三个位(例如代表位Ivb1和Idci的八个电阻范围)。在图1的所示例子中,每个MLC NVRAM单元120和130通过使用单元电阻的较细粒度量化来存储多个位。因此,MLC NVRAM用于增加存储密度,这是因为更多的位存储在相同数量的NVRAM单元中。 与其它类型的存储器(例如动态随机存取存储器(DRAM))不同,NVRAM具有非对称操作特性。写NVRAM比读NVRAM更耗费时间和能量。此外,与单级单元(例如第一示例性NVRAM单元110)比较,读和写操作在使用MLC NVRAM时使用更多的存储周期。在MLC NVRAM中,读使用多个步骤来准确地解析存储在NVRAM单元中的电阻级。此外,读MLC (例如单元120和130)的最高有效位花费较少的时间,这是因为读电路不需要以读MLC的最低有效位所需的精确度确定单元电阻。类似地,写MLC NVRAM单元比单级单元花费更长的时间,这是因为写使用了一系列读操作来验证正确的值已被写入NVRAM单元本文档来自技高网...

【技术保护点】
一种使用多级单元设置本地检查点的方法,所述方法包括:将第一数据存储在多级单元的第一级中;将第二数据存储在所述多级单元的第二级中,所述第二数据代表所述第一数据的检查点;以及将所述第一数据从所述多级单元的所述第一级拷贝到所述第二级,以创建所述检查点。

【技术特征摘要】
【国外来华专利技术】1.一种使用多级单元设置本地检查点的方法,所述方法包括: 将第一数据存储在多级单元的第一级中; 将第二数据存储在所述多级单元的第二级中,所述第二数据代表所述第一数据的检查点;以及 将所述第一数据从所述多级单元的所述第一级拷贝到所述第二级,以创建所述检查点。2.如权利要求1所述的方法,其中将所述第一数据从所述第一级拷贝到所述第二级包括从第一数据状态转变到第二数据状态。3.如权利要求2所述的方法,其中所述第一数据状态由所述多级单元的第一物理属性值表示,所述第二数据状态由所述多级单元的第二物理属性值表示,其中所述物理属性值是电阻值、电容值和原子自旋值中的至少一个。4.如权利要求3所述的方法,其中所述第一数据状态代表第一二进制值,所述第二数据状态代表第二二进制值,所述第一二进制值大于或等于所述第二二进制值。5.如权利要求4所述的方法,其中所述第一物理属性值小于或等于所述第二物理属性值。6.如权利要求1所述的方法,进一步包括响应于读请求来读取所述第一数据。7.如权利要求6所述的方法,其中不响应于所述读请求来读取所述第二数据。8.如权利要求1所述的方法,其中所述第一数据是单个位。9.一种在多级单元中实现本地检查点的装置,所述装置包括: 检查点处理器,用于创建存储在所述多级单元的第一级中的第一数据的检查点,所述检查点存储在所述多级单元的第二级中; 存储器读取器...

【专利技术属性】
技术研发人员:尹大贤罗伯特·施赖贝尔保罗·法拉博斯基常继川纳温·穆拉利马诺哈尔帕塔萨拉蒂·兰加纳坦
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1