CN102016808A - 将检查点数据存储于非易失性存储器中 - Google Patents
将检查点数据存储于非易失性存储器中 Download PDFInfo
- Publication number
- CN102016808A CN102016808A CN2008801289948A CN200880128994A CN102016808A CN 102016808 A CN102016808 A CN 102016808A CN 2008801289948 A CN2008801289948 A CN 2008801289948A CN 200880128994 A CN200880128994 A CN 200880128994A CN 102016808 A CN102016808 A CN 102016808A
- Authority
- CN
- China
- Prior art keywords
- data
- volatile memory
- nonvolatile memory
- memory
- checkpoint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明描述了将检查点数据存储于非易失性存储器的方法和系统。根据一个实施例,数据存储方法包括使用处理电路执行应用程序,以及在执行期间将由应用程序的执行所生成的数据写入易失性存储器。写入数据之后提供检查点的指示。在已提供指示之后,该方法包括将数据从易失性存储器复制到非易失性存储器,以及复制之后继续执行应用程序。该方法可包括将应用程序的执行挂起。根据另一实施例,数据存储方法包括接收与一个或多个应用程序的执行相关联的检查点的指示,且响应于该接收,启动将由一个或多个应用程序的执行所生成的数据从易失性存储器复制到非易失性存储器。在一些实施例中,非易失性存储器可以是固态非易失性存储器。
Description
技术领域
本发明的方面涉及将检查点数据存储于非易失性存储器中。
背景技术
随着半导体制造技术持续缩小至越来越小的特征尺寸,硬件的故障率预期增加。至少两种类型的故障有可能发生:瞬态错误,其可以是临时的,但持续少时间量;硬错误,其可以是永久的。瞬态错误可具有诸多起因。示例瞬态错误包括,由电源波动、热效应、α粒子撞击引起的晶体管故障,以及由串扰、环境噪声和/或信号完整性问题所致的线路故障。硬错误的起因包括,例如,由工艺差异和过热的组合引起的晶体管故障,以及由工艺瑕疵或由超过线路材料临界电流所引起的金属迁移为原因的线路故障。
硬错误和临时错误两者均可使用细或者大粒度级的冗余机制在内部加以纠正。细粒度机制包括存储器组件中的纠错码、分组传输信道上的循环冗余码、以及磁盘系统中的擦除编码机制。大粒度机制包括配置多个处理器以执行相同指令,然后比较来自多个处理器的执行结果以确定正确结果。在这种情况下,为了检测错误,执行相同指令的处理器的数量要为两个或两个以上。若处理器的数量为两个,错误可被检测。若处理器的数量为三个或三个以上,错误既可被检测又可被纠正。然而使用这种冗余机制对于大型并行系统可能价格过高。
大型并行系统可包括处理器集群,其执行单个长期应用程序。在一些情况下,大型并行系统可包括数百万个集成电路,其在数日或数周里执行该单个长期应用程序。这些大型并行系统可通过在一个或多个磁盘上存储应用程序的中间状态来周期性地对该应用程序建立检查点。当发生故障时,计算可回退并且从最近记录的检查点重新开始,而非从计算的起点重新开始,其可能节省数小时或者数日的计算时间。
因此,至少在一些计算设备(例如,大型并行系统)中使用检查点建立随着半导体制造技术的特征尺寸的减小和故障率的上升会变得越来越重要。已知系统将检查点数据写入磁盘。然而,磁盘带宽和磁盘存取时间可能没有发展得足够快以跟上计算系统的需求。此外,使用如磁盘等机械介质建立检查点数据时所消耗的功率量是重要缺点。
发明内容
根据本发明的一些方面,描述了用于在非易失性存储器中存储检查点数据的方法和系统。
根据一个方面,数据存储方法包括使用处理电路执行应用程序,并在执行期间将由应用程序的执行所生成的数据写入易失性存储器。该方法亦包括将数据写入易失性存储器之后提供检查点的指示(例如,检查点完成的指示)。在已提供检查点指示之后,该方法包括将数据从易失性存储器复制到非易失性存储器,并在复制之后继续执行该应用程序。在一些实施例中,非易失性存储器可以是固态存储器和/或随机存取存储器。
在继续执行之后,在一些实施例中,该方法可包括检测应用程序执行中的错误。响应于该检测,将数据从非易失性存储器复制到易失性存储器。接下来,可使用存储于易失性存储器中的所复制的数据从检查点开始执行应用程序。
根据另一方面,数据存储方法包括接收与一个或多个应用程序的执行相关联的检查点的指示,并响应于该接收启动将一个或多个应用程序的执行所生成的数据从易失性存储器复制到非易失性存储器。在一些实施例中,该指示可描述易失性存储器内存储该数据的位置。
根据另一个方面,计算机系统包括处理电路和存储器模块。处理电路配置成处理应用程序的指令。存储器模块可包括配置成存储应用程序指令的处理期间由处理电路生成的数据的易失性存储器。存储器模块亦可包括配置成接收来自易失性存储器的数据并存储该数据的非易失性存储器。在一个实施例中,处理电路配置成响应于被指示的检查点启动将数据从易失性存储器复制到非易失性存储器。
在一个实施例中,非易失性存储器和易失性存储器可被组织成一个或多个双列直插内存模块(DIMM),使得单个DIMM包括非易失性存储器的全部或部分和易失性存储器的全部或部分。在一个实施例中,非易失性存储器可包括多个集成电路芯片,且数据的复制可包括并发地将数据的第一子集复制到多个集成电路芯片中的第一个以及将数据的第二子集复制到多个集成电路芯片中的第二个。
如根据下文讨论显而易见地,描述了其他实施例和诸方面。
附图描述
图1是根据一个实施例的处理系统的框图。
图2是根据一个实施例的计算机系统的框图。
图3是根据一个实施例的存储器模块的框图。
图4是根据一个实施例的处理系统的框图。
具体描述
本发明涉及诸如处理系统、计算机、处理器和计算机系统的装置以及包括将检查点数据存储于非易失性存储器中的方法的方法。根据本发明的一些方面,使用处理电路执行应用程序。在一个实施例中,当应用程序的执行到达检查点时,应用程序的进一步执行可被挂起。存储于易失性存储器中的涉及应用程序的数据可被复制到非易失性存储器中。在一些实施例中,非易失性存储器可以是诸如NAND闪存或者相变存储器等固态非易失性存储器。非易失性存储器附加地或者替代地可以是随机存取存储器。
在一些实施例中,一旦已复制了数据,应用程序的执行可继续。若应用程序执行期间出现错误,则可将存储于非易失性存储器中的数据复制回易失性存储器中。一旦数据已恢复到易失性存储器,应用程序可从检查点重启动。下文中讨论其他或者替代实施例。
参考图1,示出根据一个实施例的处理系统100。系统100包括处理电路102、存储器模块106以及磁盘存储装置108。提供图1的实施例以示出一个可能的实施例,且包括较少、较多或者替代组件的其他实施例是可能的。附加地,图1的一些组件可组合。
在一个实施例中,系统100可以是单个计算机。在这个实施例中,处理电路102可包括一个处理器110,但可能不包括互连114且可能不与大型互连122通信,两者均用幻影示出且在下文中进一步讨论。在这个实施例中,处理器110可以是单核处理器或者多核处理器。
在另一实施例中,系统100可以是处理器集群。在这个实施例中,处理电路102可包括多个处理器。虽然图1中只示出两个处理器——处理器110和处理器112,但处理电路102可包括两个以上的处理器。在一些情况下,处理电路102的处理器可并发执行单个应用程序。因此,可并行执行应用程序。在这个实施例中,处理电路102可包括互连114,其允许处理器110和112之间的通信以及允许应用程序执行的协作。此外,在各个实施例中,如下文中根据图2将要讨论,处理电路102可经由大型互连122与其它处理器集群(其亦可执行该应用程序)通信。
在一个实施例中,存储器模块106包括易失性存储器116和非易失性存储器118。易失性存储器116可存储由处理电路102生成的数据以及从磁盘存储装置108取回的数据。在本文中这些数据称作应用程序数据。易失性存储器116可按照使用电子、磁、光、电磁或者用于存储信息的其他技术的诸多不同方式来具体化。一些具体示例包括但不限于DRAM以及SRAM。在一个实施例中,易失性存储器116可存储由处理电路102实现的程序。
非易失性存储器118存储从易失性存储器116接收的检查点数据。检查点数据可以与应用程序数据相同,或者检查点数据可以是应用程序数据的子集。在一些实施例中,即使不向非易失性存储器118供电,非易失性存储器118也可永久地存储检查点数据。如上所述,在一个实施例中,应用程序数据和检查点数据存储于存储器中。存储于存储器中包括将数据存储于集成电路存储介质中。在一个实施例中,非易失性存储器118可以是固态和/或随机存取非易失性存储器(例如,NAND闪存、FeRAM(铁磁RAM)、MRAM(磁阻RAM)、PCRAM(相变RAM)、RRAM(阻抗RAM)、探针存储装置、以及NRAM(纳米管RAM))。在一个实施例中,从非易失性存储器118读取检查点数据不使用移动部件。在另一实施例中,非易失性存储器118可按照随机顺序存取。此外,无关于数据在非易失性存储器118内的物理位置、无关于数据与之前存取的数据是否相关,非易失性存储器118可在基本恒定时间里返回数据。
在一个实施例中,处理电路102包括检查点管理模块104。在一个实施例中,检查点管理模块104被配置成控制和实现检查点操作。例如,检查点管理模块104可控制将检查点数据从易失性存储器116复制到非易失性存储器118,以及控制将检查点数据从非易失性存储器118复制到易失性存储器116。在一个实施例中,检查点管理模块104可包括诸如处理器的处理电路。在其他实施例中,检查点管理模块104可具体化于处理器110和/或处理器112中(例如作为微码或者软件)。
作为示例,处理电路102可执行由磁盘存储装置108(例如,一个或多个硬盘)存储的应用程序。该应用程序可包括多个指令。一些或者全部指令可从磁盘存储装置108被复制到易失性存储器116中。一些或者全部指令然后可从易失性存储器116转移到处理电路102,以使处理电路102可处理指令。处理指令的结果是,处理电路102可从易失性存储器116或者磁盘存储装置108取回应用程序数据和/或将应用程序数据写入易失性存储器116或者磁盘存储装置108。因此,随着处理电路102处理应用程序指令,易失性存储器116和/或磁盘存储装置108的内容可改变。
易失性存储器116在特定时间点的一些或者全部内容可保留作为检查点数据。例如,在处理电路102处理应用程序的一个或多个初始指令之后,可将存储于易失性存储器116中的检查点数据(其可以是应用程序数据的全部或者子集)复制到不同于易失性存储器116的位置。一旦已复制了检查点数据,处理电路102可继续处理应用程序的一个或多个后续指令。随后,可确定处理初始指令之后在执行应用程序时发生了错误。为了从错误中恢复,可将所存储的检查点数据恢复到易失性存储器116,且处理电路102可从后续指令开始重启动应用程序的执行。
在一个实施例中,检查点管理模块104可管理检查点数据的存储。在一个实施例中,检查点管理模块104可接收来自处理电路102的与一个或多个应用程序的执行相关联的检查点指示。执行检查点操作的指示可由不同源提供和/或针对不同启动标准,如下文的说明性示例中所讨论。在处理电路102已将处理电路102的一个或多个高速缓存存储器(未示出)的内容转储清除到易失性存储器116之后,处理电路102可向检查点管理模块104提供指示。处理电路102中的各种实体中的一个或多个实体可提供指示。例如,操作系统、虚拟机、管理程序或者应用程序可生成检查点的指示。用于生成指示的其他标准源是可能的且在下文中讨论。
响应于接收指示,检查点管理模块104可启动将由易失性存储器116存储的所有或者部分应用程序数据复制到非易失性存储器118。在一个实施例中,在向检查点管理模块104提供指示之前或提供指示之后,处理电路102可使要建立检查点的应用程序的执行挂起,以使要建立检查点的应用程序的应用程序数据在将检查点数据从易失性存储器116复制到非易失性存储器118的同时不改变。
在一些实施例中,处理电路102可向易失性存储器116和非易失性存储器118写入应用程序数据。在其他实施例中,处理电路102可向易失性存储器116写入应用程序数据,但是可能不能够向非易失性存储器118写入应用程序数据。不过,可将检查点数据从易失性存储器116复制到非易失性存储器118。因此,为了向非易失性存储器118写入检查点数据,可能先要向易失性存储器116写入检查点数据。
易失性存储器116和非易失性存储器118的相对容量可按照任何适当的配置进行配置。例如,因为错误可能正好在检查点操作完成之前发生,一个实施例的非易失性存储器118可具有至少为易失性存储器116容量两倍的容量,以使非易失性存储器118可存储两组检查点数据。此外,至少在一个实施例中,可将对应于不同检查点的诸多不同检查点数据并发地存储于非易失性存储器118中。
检查点指示可指定由易失性存储器116存储的应用程序数据的哪些部分为检查点数据。例如,该指示可指出由易失性存储器116存储的基本上所有应用程序数据为检查点数据,仅相关于特定应用程序的应用程序数据为检查点数据,和/或易失性存储器116的特定位置内的应用程序数据为检查点数据。在一个实施例中,该指示可包括描述检查点数据的保存向量(save vector)。
在一个实施例中,处理电路102可通过控制易失性存储器116和非易失性存储器118来实现将检查点数据从易失性存储器116复制到非易失性存储器118。例如,处理电路102可向易失性存储器116和非易失性存储器118提供控制信号和指令。在另一实施例中,检查点管理模块104可通过控制存储器116和118来实现检查点数据的复制。一旦检查点数据已被成功地复制到非易失性存储器118,检查点管理模块104可通知处理电路102。
在另一实施例中,存储器模块106可包括单独的处理电路(未示出),且处理电路102或检查点管理模块104可向该处理电路提供描述检查点数据的信息(例如,易失性存储器116内存储检查点数据的位置),并指示该处理电路将检查点数据复制到非易失性存储器118。一旦检查点数据已被成功地复制到非易失性存储器118中,存储器模块106的处理电路可通知检查点管理模块104和/或处理电路102。
在确定检查点数据已被成功地复制到非易失性存储器118之后,检查点控制模块104可通知处理电路102检查点数据已被复制到非易失性存储器118。作为响应,处理电路102可继续执行处理电路102之前在将检查点数据复制到非易失性存储器118时已挂起的应用程序。在应用程序执行期间,系统100可多次重复上述将检查点数据存储到非易失性存储器118中的方法。
如上所述,可使用多种方法来确定何时应当生成检查点。根据一个方法,可周期性地存储检查点,并且可为由处理电路102正在执行的多个应用程序存储检查点。在这个实施例中,如上所述,处理电路102(例如,经由由处理电路102执行的操作系统、虚拟机、管理程序等)可周期性地向检查点管理模块104指示检查点。在一些示例中,检查点操作的周期可通过定时器中断来控制或者由周期性操作系统干预来控制。在一个实施例中,可将由易失性存储器116存储的基本上所有的应用程序数据复制到非易失性存储器118。替代地,可将相关于正在由处理电路102执行的仅一个应用程序的应用程序数据复制到非易失性存储器118。这个方法可称作自动建立检查点。
根据另一个方法,正由处理电路102执行的应用程序可确定何时应当生成检查点数据。在一个实施例中,应用程序可指定哪些应用程序数据应被存储为检查点数据以及何时存储该检查点数据。在一个实施例中,应用程序可包括检查点指令。检查点指令可位于整个应用程序之中,以使应用程序被分割成由检查点指令界定的指令片断。在一个实施例中,检查点指令可位于执行特定计算或者功能的指令片断的末尾。例如,若应用程序为更新账户余额的银行应用程序,则该应用程序可包括紧跟在更新账户余额的指令之后的检查点指令。在另一实施例中,应用程序可响应于要遇上的情形请求生成检查点数据。这个方法可称作应用程序检查点建立。
在存储检查点数据和继续执行应用程序之后,处理电路102和/或检查点管理模块104可检测应用程序执行中的错误(例如,经冗余计算检查)。在一个实施例中,根据错误的检测,处理电路102可将应用程序的进一步执行挂起。
为了从错误中恢复,从与存储于非易失性存储器118中的检查点数据相关联的检查点处开始重新执行该应用程序。响应于错误的检测,检查点管理模块104可将检查点数据从非易失性存储器118复制到易失性存储器116。一旦已将检查点数据复制到易失性存储器116,检查点管理模块104可通知处理电路102。处理电路102然后可使用该检查点数据从检查点开始重新执行该应用程序,其中处理电路102现在能够使用易失性存储器116中的该检查点数据。
在一个实施例中,该检查点数据可以是多个应用程序的检查点数据,且所检测的错误会影响所有的多个应用程序。在这个实施例中,一旦已恢复检查点数据,则可从该检查点处开始重新执行多个应用程序中的每一个。
参考图2,示出大型计算机系统200。系统200包括关于图1在上文中所描述的多个处理系统100。在一个实施例中,系统100可用于并行地执行单个应用程序或者用于执行不同应用程序。相比于在一个处理器或者一个处理器集群上执行单个应用程序,并行地执行单个应用程序可提供显著的速度优势。系统200可包括附加的处理系统,为简单起见未示出。
在一个实施例中,系统200还包括管理节点204、大型互连122、I/O节点206、网络208以及存储电路210。在一个实施例中,管理节点204可确定单个应用程序的哪一部分要由处理系统执行。管理节点204可经由大型互连122与处理系统100通信。
在应用程序的执行期间,处理系统100和/或处理系统202可将数据存储于存储电路210中。为了实现该目的,处理系统可经大型互连122和I/O节点206向存储电路210发送数据。类似地,处理系统可经大型互连122和I/O节点206从存储电路210取回数据。例如,处理系统100可将数据从磁盘存储装置108移动到存储电路210,存储电路210相比于磁盘存储装置108具有较大容量。在一些实施例中,处理系统100和202可经由I/O节点206和网络208与其他计算机系统通信。在一个实施例中,网络208可以是因特网。
在一个实施例中,存储电路210可包括非易失性存储器,并且管理节点204可启动将检查点数据从处理系统100经由大型互连122复制到存储电路210的非易失性存储器。
现在回到图1,存储器模块106可配置成并行地将存储于易失性存储器116的检查点数据的不同部分并发复制到非易失性存储器118中,而非串行地复制检查点数据。这样做可显著减少用于将检查点数据从易失性存储器116复制到非易失性存储器118的时间量。
参考图3,示出存储器模块106的一个实施例。所公开的实施例仅仅是示意性的且其他实施例是可能的。所描绘的实施例中,存储器模块106包括三个双列直插存储器模块(DIMM)302、304和306。当然,存储器模块106可包括少于或者多于三个DIMM,为了简单起见示出三个DIMM。替代地或者附加地,存储器模块106可包括不同于DIMM的其他形式的存储器。
DIMM 302、304和306的每一个可包括易失性存储器116的一部分和非易失性存储器118的一部分。如图3所示,DIMM 302包括易失性存储器(VM)308和非易失性存储器(NVM)310,DIMM 304包括易失性存储器(VM)312和非易失性存储器(NVM)314,以及DIMM 306包括易失性存储器(VM)316和非易失性存储器(NVM)318。易失性存储器308、312和316可各为图1的易失性存储器116的不同部分。类似地,非易失性存储器310、314和318可各为图1的非易失性存储器118的不同部分。
在一个实施例中,DIMM 302、304和306可各为不同电路板。此外,易失性存储器308、312和316可各包括多于一个集成电路,且非易失性存储器310、314和318可各包括多于一个集成电路。相应地,例如,DIMM可包括构成易失性存储器308的多个易失性存储器集成电路,以及构成非易失性存储器310的多个非易失性存储器集成电路。
DIMM 302、304和306可各存储不同的应用程序数据。因此,当遇到检查点时,检查点管理模块104可启动将检查点数据从易失性存储器308复制到非易失性存储器310,从易失性存储器312复制到非易失性存储器314,以及从易失性存储器316复制到非易失性存储器318。在一个实施例中,检查点管理模块104可使用完全缓冲的DIMM控制协议与DIMM 302、304和306通信。
在一个实施例中,检查点管理模块104和/或处理电路102可个别地与每个DIMM 302、304和306通信,以启动将检查点数据从易失性存储器116复制到非易失性存储器118。DIMM 302可独立于DIMM 304和306在易失性存储器308和非易失性存储器310之间复制数据。实际上,可将检查点数据的第一部分从易失性存储器308复制到非易失性存储器310,同时将检查点数据的第二部分从易失性存储器312复制到非易失性存储器314,且同时将检查点数据的第三部分从易失性存储器316复制到非易失性存储器318。这样做可能显著地快于等待直到第一部分已复制才复制检查点数据的第二部分,以及等待直到第二部分已复制才复制检查点数据的第三部分。
当将检查点数据从非易失性存储器118恢复到易失性存储器116时,可使用类似方法。根据这个方法,检查点管理模块104和/或处理电路102可个别地与每个DIMM 302、304和306通信,以启动将检查点数据从非易失性存储器118复制到易失性存储器116。并发地,可将检查点数据的第一部分从非易失性存储器310复制到易失性存储器308,并将检查点数据的第二部分从非易失性存储器314复制到易失性存储器312,以及可将检查点数据的第三部分从非易失性存储器318复制到易失性存储器316。
参考图4,示出处理系统100的替代实施例作为系统100a。在这个实施例中,处理电路102包括处理器110、112以及互连114,如同图1所示的处理电路102的实施例。此外,处理电路102包括北桥402和南桥404,其可各自包括相应的处理器。
北桥402可经由互连114从处理器110和112接收控制和/或数据事务。对于每个事务,北桥402可确定该事务是否去往存储器模块106、磁盘存储装置108或者大型互连122。若事务去往存储器模块106,北桥402可将该事务转发到存储器模块106。若事务去往磁盘存储装置108或大型互连122,北桥402可将该事务转发到南桥404,然后南桥404可向磁盘存储装置108或者大型互连122两者转发该事务。南桥404可将该要求转变成适合于磁盘存储装置108或者大型互连122两者的协议。
在一个实施例中,北桥402包括检查点管理模块104。在这个实施例中,检查点管理模块104可存储指令,该指令被转移到处理器110和/或处理器112以供执行。替代地或者附加地,北桥401可包括控制逻辑,该逻辑实现检查点管理模块104的全部或部分。替代地,在另一实施例中,检查点管理模块104可被实现为由处理器110和/或处理器112处理的指令(例如,隐藏管理程序或者固件)。
与上文描述所公开的系统和方法对比,在发生错误时,不包括非易失性存储器的其他计算机系统可将检查点数据从易失性存储器复制到磁盘存储装置,以及可将检查点数据从磁盘存储装置取回到易失性存储器。与这些其他计算机系统相比,将检查点数据存储于非易失性存储器中而非存储于磁盘存储装置中可提供一些优势。
在一个实施例中,由于非易失性存储器比磁盘存储装置快很多,因此向非易失性存储器存储检查点数据可能比向磁盘存储装置存储检查点数据快一个以上数量级。此外,可在易失性存储器和非易失性存储器之间并行地复制检查点数据。
由于易失性存储器和非易失性存储器之间的物理距离比易失性存储器和磁盘存储装置之间的物理距离小,因此相比于在磁盘存储装置中存储检查点数据,在非易失性存储器中存储检查点数据可能消耗较少能量。这一较短物理距离亦可减少等待时间。此外,与在磁盘存储装置中存储检查点数据相比,在非易失性存储器中存储检查点数据可能消耗较少能量,因为与磁盘存储装置相比,非易失性存储器可能不包括移动部件。
因为从非易失性存储器恢复检查点所用时间量可显著少于从磁盘存储装置恢复检查点所用时间量,所以作为向磁盘存储装置写入检查点数据的替代方案,向非易失性存储器写入检查点数据的结果是,处理器系统或处理器集群的可用度可增加。此外,因为磁盘存储装置存在机械错误模式(由于移动部件的使用),而非易失性存储器不存在该问题,所以与在磁盘存储装置中存储检查点数据相比,在非易失性存储器中存储检查点数据可导致较少错误。
在一个实施例中,处理器系统的可用度计算可涉及处理器系统的未计划的停机时间量。在错误检测之后将检查点数据恢复到易失性存储器所花费的时间可看作未计划的停机时间。因为将检查点数据从非易失性存储器恢复到易失性存储器比将检查点数据从磁盘存储装置恢复到易失性存储器快,所以当向非易失性存储器建立检查点时的未计划停机时间量可能小于向磁盘存储装置建立检查点时的未计划停机时间量。
处理器系统的一个示例可用度等式可以是:可用度=1/(1+错误率×未计划停机时间)。作为示例,若每年发生1000个错误,且当从磁盘存储装置恢复检查点数据时的每个错误的停机时间为3秒,则处理器系统的可用度可大于99.99%而小于99.999%,且因此可称为具有“4个9”可靠性。相反,使用非易失性存储器时,若当从非易失性存储器恢复检查点数据时的每个错误的停机时间为300毫秒,则系统的可用度可大于99.999%而小于99.9999%,且因此可称为具有“5个9”可靠性。
除了减少处理器系统的未计划停机时间,向非易失性存储器而非向磁盘存储装置写入检查点数据亦可减少处理器系统的未计划停机时间量。如上文所讨论,在将检查点数据写入非易失性存储器的同时,可将处理器系统对应用程序的执行挂起。应用程序挂起的时间量可看作处理器系统的计划停机时间。相比于向磁盘存储装置写入检查点数据,向非易失性存储器写入检查点数据可显著减少处理器系统的计划停机时间量,因为向非易失性存储器写入检查点数据要求较少时间。
所寻求的保护不限于仅作为示例给出的公开的实施例,相反,所寻求的保护仅由所附权利要求的范围限定。
此外,本文的诸方面为了本发明公开的说明性实施例的构造和/或操作中的指导而呈现。本文的申请人认为这些描述的说明性实施例亦包括、公开以及描述了除那些明确揭示的内容以外的进一步发明性方面。例如,与所描述的那些说明性实施例相比,附加发明性方面可包括更少、更多和/或替代特征。在更具体示例中,申请人认为该公开包括、揭示和描述了相比于那些明确揭示的方法包括较少、较多和/或替代步骤的方法,以及相比于明确揭示的结构包括更少、更多和/或替代结构的装置。
Claims (20)
1.一种数据存储方法,包括:
使用处理电路执行应用程序;
在所述执行期间,将由所述应用程序的所述执行生成的数据写入易失性存储器;
在所述写入之后,提供检查点指示;
在所述提供之后,将所述数据从所述易失性存储器复制到非易失性存储器;以及
在所述复制之后,继续所述应用程序的所述执行。
2.如权利要求1所述的方法,其特征在于,还包括在所述复制期间将所述应用程序的所述执行挂起。
3.如权利要求2所述的方法,其特征在于,还包括:
在继续所述执行之后,检测所述应用程序的所述执行中的错误;
响应于所述检测,将所述数据从所述非易失性存储器复制到所述易失性存储器;以及
在将所述数据从所述非易失性存储器复制到所述易失性存储器之后,使用存储于所述易失性存储器中的所述复制数据从所述检查点开始执行所述应用程序。
4.如权利要求1所述的方法,其特征在于,所述非易失性存储器包括固态存储器。
5.如权利要求1所述的方法,其特征在于,所述非易失性存储器包括随机存取存储器。
6.如权利要求1所述的方法,其特征在于,所述非易失性存储器包括多个集成电路芯片,且所述数据的所述复制包括并发地将所述数据的第一子集复制到所述多个集成电路芯片中的第一个,以及将所述数据的第二子集复制到所述多个集成电路芯片中的第二个。
7.如权利要求1所述的方法,其特征在于,提供所述检查点的所述指示包括响应于所述处理电路完成所述应用程序的一部分的执行而提供所述指示。
8.如权利要求1所述的方法,其特征在于,所述提供包括使用由所述处理电路执行的操作系统来提供所述指示。
9.一种数据存储方法,包括:
接收与一个或多个应用程序的执行相关联的检查点的指示;以及
响应于所述接收,启动将所述一个或多个应用程序的执行所生成的数据从易失性存储器复制到非易失性存储器。
10.如权利要求9所述的方法,其特征在于,所述接收包括从处理电路接收,且所述方法进一步包括确定所述数据已被复制到所述非易失性存储器,以及通知所述处理电路所述数据已被复制到所述非易失性存储器。
11.如权利要求9所述的方法,其特征在于,所述非易失性存储器是非易失性固态存储器,且所述非易失性固态存储器和所述易失性存储器两者均为单个双列直插存储器模块(DIMM)的一部分。
12.如权利要求9所述的方法,其特征在于,所述指示描述所述数据在所述易失性存储器内存储的位置。
13.如权利要求9所述的方法,其特征在于,第一DIMM包括所述非易失性存储器的第一部分和所述易失性存储器的第一部分,且第二DIMM包括所述非易失性存储器的第二部分和所述易失性存储器的第二部分,以及所述启动所述复制包括从所述易失性存储器的所述第一部分到所述非易失性存储器的所述第一部分的在所述第一DIMM上的第一启动复制,以及从所述易失性存储器的所述第二部分到所述非易失性存储器的所述第二部分的在所述第二DIMM上的第二启动复制。
14.一种计算机系统,包括:
被配置成处理应用程序的指令的处理电路;
存储器模块,包括:
易失性存储器,其被配置成存储在所述应用程序的指令处理期间由所述处理电路生成的数据;以及
非易失性存储器,其被配置成从所述易失性存储器接收所述数据并存储所述数据;以及
其中所述处理电路被配置成响应于正被指示的检查点启动将所述数据从所述易失性存储器复制到所述非易失性存储器。
15.如权利要求14所述的系统,其特征在于,基于处理所述应用程序的所述指令的所述处理电路指示所述检查点。
16.如权利要求14所述的系统,其特征在于,所述存储器模块被配置成并行地将数据的不同部分并发复制到所述非易失性存储器。
17.如权利要求14所述的系统,其特征在于,所述处理电路进一步被配置成响应于在所述应用程序的执行期间正被检测的错误而启动将所述数据从所述非易失性存储器复制到所述易失性存储器。
18.如权利要求14所述的系统,其特征在于,所述处理电路被配置成经由大型互连与其他处理电路通信,所述其他处理电路也被配置成执行所述应用程序的所述指令。
19.如权利要求14所述的系统,其特征在于:
所述易失性存储器包括多个集成电路芯片,所述多个集成电路芯片中的每一个存储所述数据的不同部分;以及
所述处理电路被配置成并发地启动将所述数据的多个部分从所述多个集成电路芯片复制到所述非易失性存储器。
20.如权利要求14所述的系统,其特征在于:
所述存储器模块包括多个DIMM,每个DIMM包括所述易失性存储器的不同部分以及所述非易失性存储器的不同部分;以及
所述多个DIMM中的各个DIMM被配置成独立于所述多个DIMM中的其他DIMM将存储于所述各个DIMM的非易失性存储器部分中的数据复制到所述各个DIMM的所述易失性存储器部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2008/062154 WO2009134264A1 (en) | 2008-05-01 | 2008-05-01 | Storing checkpoint data in non-volatile memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102016808A true CN102016808A (zh) | 2011-04-13 |
CN102016808B CN102016808B (zh) | 2016-08-10 |
Family
ID=41255291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880128994.8A Expired - Fee Related CN102016808B (zh) | 2008-05-01 | 2008-05-01 | 将检查点数据存储于非易失性存储器中 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20110113208A1 (zh) |
EP (1) | EP2271987A4 (zh) |
JP (1) | JP2011519460A (zh) |
KR (1) | KR101470994B1 (zh) |
CN (1) | CN102016808B (zh) |
WO (1) | WO2009134264A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184141A (zh) * | 2011-05-05 | 2011-09-14 | 曙光信息产业(北京)有限公司 | 检查点数据的存储方法和装置 |
CN102591681A (zh) * | 2011-12-20 | 2012-07-18 | 华为技术有限公司 | 计算机设备以及计算机设备的启动方法 |
CN103810237A (zh) * | 2012-11-13 | 2014-05-21 | 国际商业机器公司 | 数据管理方法和系统 |
CN104272249A (zh) * | 2012-06-08 | 2015-01-07 | 惠普发展公司,有限责任合伙企业 | 使用fpga设置检查点 |
CN104583989A (zh) * | 2012-08-28 | 2015-04-29 | 惠普发展公司,有限责任合伙企业 | 高性能持久性存储器 |
CN104798060A (zh) * | 2013-01-30 | 2015-07-22 | 惠普发展公司,有限责任合伙企业 | 存储器模块中数据的运行时备份 |
CN105339902A (zh) * | 2013-07-31 | 2016-02-17 | 惠普发展公司,有限责任合伙企业 | 版本化存储器实现 |
US9495398B2 (en) | 2011-02-18 | 2016-11-15 | International Business Machines Corporation | Index for hybrid database |
CN102591681B (zh) * | 2011-12-20 | 2016-12-14 | 华为技术有限公司 | 计算机设备以及计算机设备的启动方法 |
CN107077303A (zh) * | 2014-12-22 | 2017-08-18 | 英特尔公司 | 分配和配置持久存储器 |
CN107636618A (zh) * | 2015-06-26 | 2018-01-26 | 英特尔公司 | 在具有嵌入式可编程数据检查的非易失性系统存储器计算系统中的即时重启 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8381032B2 (en) * | 2008-08-06 | 2013-02-19 | O'shantel Software L.L.C. | System-directed checkpointing implementation using a hypervisor layer |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US8468524B2 (en) * | 2010-10-13 | 2013-06-18 | Lsi Corporation | Inter-virtual machine time profiling of I/O transactions |
US8713379B2 (en) * | 2011-02-08 | 2014-04-29 | Diablo Technologies Inc. | System and method of interfacing co-processors and input/output devices via a main memory system |
US9158546B1 (en) | 2011-04-06 | 2015-10-13 | P4tents1, LLC | Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory |
US9170744B1 (en) | 2011-04-06 | 2015-10-27 | P4tents1, LLC | Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system |
US9164679B2 (en) | 2011-04-06 | 2015-10-20 | Patents1, Llc | System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class |
US9176671B1 (en) | 2011-04-06 | 2015-11-03 | P4tents1, LLC | Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system |
US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
US8468317B2 (en) * | 2011-06-07 | 2013-06-18 | Agiga Tech Inc. | Apparatus and method for improved data restore in a memory system |
US9417754B2 (en) | 2011-08-05 | 2016-08-16 | P4tents1, LLC | User interface system, method, and computer program product |
CN104025066B (zh) | 2011-12-29 | 2018-07-24 | 英特尔公司 | 用于能量高效计算的异构存储器晶片堆叠 |
KR101676932B1 (ko) * | 2012-03-02 | 2016-11-16 | 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 | 멀티-레벨 셀을 사용하여 버전화되는 메모리들 |
GB2505185A (en) | 2012-08-21 | 2014-02-26 | Ibm | Creating a backup image of a first memory space in a second memory space. |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
WO2014049691A1 (ja) * | 2012-09-25 | 2014-04-03 | 株式会社東芝 | 情報処理システム |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
JP5949642B2 (ja) * | 2013-04-05 | 2016-07-13 | 富士ゼロックス株式会社 | 情報処理装置およびプログラム |
US9195542B2 (en) * | 2013-04-29 | 2015-11-24 | Amazon Technologies, Inc. | Selectively persisting application program data from system memory to non-volatile data storage |
JP2017531837A (ja) * | 2014-10-23 | 2017-10-26 | サムテック インコーポレイテッドSamtec,Inc. | アクティブデバイスの残り寿命を近似する方法 |
GB2533342A (en) * | 2014-12-17 | 2016-06-22 | Ibm | Checkpointing module and method for storing checkpoints |
US10061376B2 (en) * | 2015-06-26 | 2018-08-28 | Intel Corporation | Opportunistic power management for managing intermittent power available to data processing device having semi-non-volatile memory or non-volatile memory |
US10163508B2 (en) * | 2016-02-26 | 2018-12-25 | Intel Corporation | Supporting multiple memory types in a memory slot |
US10394310B2 (en) * | 2016-06-06 | 2019-08-27 | Dell Products, Lp | System and method for sleeping states using non-volatile memory components |
JP6746788B2 (ja) * | 2017-06-28 | 2020-08-26 | 株式会社Fuji | 部品装着機用ヘッド |
US10606513B2 (en) | 2017-12-06 | 2020-03-31 | Western Digital Technologies, Inc. | Volatility management for non-volatile memory device |
US11579770B2 (en) * | 2018-03-15 | 2023-02-14 | Western Digital Technologies, Inc. | Volatility management for memory device |
US10884776B2 (en) * | 2018-04-27 | 2021-01-05 | International Business Machines Corporation | Seamless virtual machine halt and restart on a server |
US11157319B2 (en) | 2018-06-06 | 2021-10-26 | Western Digital Technologies, Inc. | Processor with processor memory pairs for improved process switching and methods thereof |
KR20200031886A (ko) | 2018-09-17 | 2020-03-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200122522A (ko) | 2019-04-18 | 2020-10-28 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
KR20200122875A (ko) | 2019-04-19 | 2020-10-28 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
KR102566152B1 (ko) | 2021-12-29 | 2023-08-10 | 전병호 | 솔라셀 led램프 모듈 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336161B1 (en) * | 1995-12-15 | 2002-01-01 | Texas Instruments Incorporated | Computer configuration system and method with state and restoration from non-volatile semiconductor memory |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US20070180217A1 (en) * | 2006-01-27 | 2007-08-02 | Silicon Graphics, Inc. | Translation lookaside buffer checkpoint system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04136742U (ja) * | 1991-06-12 | 1992-12-18 | 日本電気アイシーマイコンシステム株式会社 | メモリ装置 |
US5630047A (en) * | 1995-09-12 | 1997-05-13 | Lucent Technologies Inc. | Method for software error recovery using consistent global checkpoints |
US5712971A (en) * | 1995-12-11 | 1998-01-27 | Ab Initio Software Corporation | Methods and systems for reconstructing the state of a computation |
KR100204027B1 (ko) * | 1996-02-16 | 1999-06-15 | 정선종 | 이중면 비휘발성 메모리를 이용한 데이타베이스 회복 장치 및 그 방법 |
US7058849B2 (en) * | 2002-07-02 | 2006-06-06 | Micron Technology, Inc. | Use of non-volatile memory to perform rollback function |
US7536591B2 (en) * | 2003-11-17 | 2009-05-19 | Virginia Tech Intellectual Properties, Inc. | Transparent checkpointing and process migration in a distributed system |
JP4118249B2 (ja) * | 2004-04-20 | 2008-07-16 | 株式会社東芝 | メモリシステム |
US7634687B2 (en) * | 2005-01-13 | 2009-12-15 | Microsoft Corporation | Checkpoint restart system and method |
JP2008003691A (ja) * | 2006-06-20 | 2008-01-10 | Hitachi Ltd | 計算機のプロセス回復方法、チェックポイントリスタートシステム |
WO2008051940A2 (en) * | 2006-10-23 | 2008-05-02 | Virident Systems, Inc. | Methods and apparatus of dual inline memory modules for flash memory |
-
2008
- 2008-05-01 JP JP2011507392A patent/JP2011519460A/ja active Pending
- 2008-05-01 WO PCT/US2008/062154 patent/WO2009134264A1/en active Application Filing
- 2008-05-01 CN CN200880128994.8A patent/CN102016808B/zh not_active Expired - Fee Related
- 2008-05-01 EP EP08754977A patent/EP2271987A4/en not_active Withdrawn
- 2008-05-01 KR KR1020107024409A patent/KR101470994B1/ko not_active IP Right Cessation
- 2008-05-01 US US12/989,981 patent/US20110113208A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336161B1 (en) * | 1995-12-15 | 2002-01-01 | Texas Instruments Incorporated | Computer configuration system and method with state and restoration from non-volatile semiconductor memory |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US20070180217A1 (en) * | 2006-01-27 | 2007-08-02 | Silicon Graphics, Inc. | Translation lookaside buffer checkpoint system |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495398B2 (en) | 2011-02-18 | 2016-11-15 | International Business Machines Corporation | Index for hybrid database |
CN102184141A (zh) * | 2011-05-05 | 2011-09-14 | 曙光信息产业(北京)有限公司 | 检查点数据的存储方法和装置 |
CN102591681A (zh) * | 2011-12-20 | 2012-07-18 | 华为技术有限公司 | 计算机设备以及计算机设备的启动方法 |
CN102591681B (zh) * | 2011-12-20 | 2016-12-14 | 华为技术有限公司 | 计算机设备以及计算机设备的启动方法 |
US10467116B2 (en) | 2012-06-08 | 2019-11-05 | Hewlett Packard Enterprise Development Lp | Checkpointing using FPGA |
CN104272249A (zh) * | 2012-06-08 | 2015-01-07 | 惠普发展公司,有限责任合伙企业 | 使用fpga设置检查点 |
CN104272249B (zh) * | 2012-06-08 | 2019-01-08 | 慧与发展有限责任合伙企业 | 使用fpga设置检查点 |
CN104583989A (zh) * | 2012-08-28 | 2015-04-29 | 惠普发展公司,有限责任合伙企业 | 高性能持久性存储器 |
CN103810237B (zh) * | 2012-11-13 | 2017-03-01 | 国际商业机器公司 | 数据管理方法和系统 |
US10114908B2 (en) | 2012-11-13 | 2018-10-30 | International Business Machines Corporation | Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data |
CN103810237A (zh) * | 2012-11-13 | 2014-05-21 | 国际商业机器公司 | 数据管理方法和系统 |
US9727462B2 (en) | 2013-01-30 | 2017-08-08 | Hewlett Packard Enterprise Development Lp | Runtime backup of data in a memory module |
CN104798060A (zh) * | 2013-01-30 | 2015-07-22 | 惠普发展公司,有限责任合伙企业 | 存储器模块中数据的运行时备份 |
CN105339902A (zh) * | 2013-07-31 | 2016-02-17 | 惠普发展公司,有限责任合伙企业 | 版本化存储器实现 |
CN105339902B (zh) * | 2013-07-31 | 2018-11-20 | 慧与发展有限责任合伙企业 | 用于版本化存储器实现的方法、装置和计算机可读介质 |
CN107077303A (zh) * | 2014-12-22 | 2017-08-18 | 英特尔公司 | 分配和配置持久存储器 |
CN107077303B (zh) * | 2014-12-22 | 2022-11-15 | 英特尔公司 | 分配和配置持久存储器 |
CN107636618A (zh) * | 2015-06-26 | 2018-01-26 | 英特尔公司 | 在具有嵌入式可编程数据检查的非易失性系统存储器计算系统中的即时重启 |
CN107636618B (zh) * | 2015-06-26 | 2022-04-12 | 英特尔公司 | 在具有嵌入式可编程数据检查的非易失性系统存储器计算系统中的即时重启 |
Also Published As
Publication number | Publication date |
---|---|
JP2011519460A (ja) | 2011-07-07 |
CN102016808B (zh) | 2016-08-10 |
EP2271987A4 (en) | 2011-04-20 |
EP2271987A1 (en) | 2011-01-12 |
KR101470994B1 (ko) | 2014-12-09 |
WO2009134264A1 (en) | 2009-11-05 |
US20110113208A1 (en) | 2011-05-12 |
KR20110002064A (ko) | 2011-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102016808A (zh) | 将检查点数据存储于非易失性存储器中 | |
US9830232B2 (en) | System and method for performing an in-service software upgrade in non-redundant systems | |
US8255742B2 (en) | Dynamically replicated memory | |
CN103959253B (zh) | 基于硬件的存储器迁移和重新同步方法及系统 | |
US8543863B2 (en) | Efficiency of hardware memory access using dynamically replicated memory | |
TWI606343B (zh) | 支援擴充寫入之記憶體模組控制器 | |
US9652164B2 (en) | Solid-state mass storage device and method for processing forced unit access write commands | |
US20110246823A1 (en) | Task-oriented node-centric checkpointing (toncc) | |
CN101344863A (zh) | 备份系统和方法 | |
CN100495311C (zh) | 系统支持存储设备和计算机系统 | |
US20180232277A1 (en) | Systems and methods for eliminating write-hole problems on parity-based storage resources during an unexpected power loss | |
KR101697038B1 (ko) | 파이프라이닝된 소프트웨어의 동적 최적화 | |
CN104798059B (zh) | 在检查点外部处理写入数据的多个计算机系统 | |
CN105408869B (zh) | 调用错误处理程序来处理无法纠正的错误 | |
Xie et al. | Checkpoint-aware instruction scheduling for nonvolatile processor with multiple functional units | |
Chi et al. | Using multi-level cell STT-RAM for fast and energy-efficient local checkpointing | |
US20190324868A1 (en) | Backup portion of persistent memory | |
WO2014084836A1 (en) | Fault tolerance in a multi-core circuit | |
CN101901174B (zh) | 基于代码段多副本对比机制提高程序可靠性方法 | |
US20180276142A1 (en) | Flushes after storage array events | |
Sugihara et al. | A simulation-based soft error estimation methodology for computer systems | |
US20200233475A1 (en) | Thread checkpoint table for computer processor | |
Rezaei et al. | Sustained resilience via live process cloning | |
US10733097B2 (en) | Shingled magnetic recording storage system with reduced time to recover | |
CN111949217A (zh) | 超融合一体机及其软件定义存储sds处理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160803 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: texas Patentee before: Hewlett-Packard Development Company, Limited Liability Partnership |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160810 Termination date: 20170501 |