Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support
OwnerJack Stiffler, Donald Burninventors
Life of this patent
Estimating the term…
Loading patent…
OwnerJack Stiffler, Donald Burninventors
Estimating the term…
System-directed checkpointing is enabled in otherwise standard computers through relatively straightforward enhancements to the computer's memory controller. Different embodiments of the invention can be used to support: local and remote post-image checkpointing using a memory-resident address buffer for storing the addresses of modified data blocks, either with or without requiring the processor caches to be flushed at each checkpoint; local and remote post-image checkpointing using either memory- or I/O-resident buffers for both the addresses and the data associated with blocks modified since the last checkpoint and supporting background buffer-to-shadow copying; remote and local post-image checkpointing using bit-map memories thereby avoiding the need for either address or data buffers while still supporting background data copying and either with or without requiring caches to be flushed to effect a checkpoint; local post-image checkpointing using a two-bit-per-memory-block state memory that eliminates the need for any data to be copied from one memory location to another; and pre-image local checkpointing again either with or without requiring caches to be flushed for checkpointing purposes. Since most of these implementations have advantages and disadvantages over the others and since similar mechanisms are used in the memory controller for all of these options, the controller can be implemented to support all of them with a hardwired or settable status register defining which is to be supported in a given situation. Alternatively, since some of these implementations require somewhat less extensive memory controller enhancements, the controller can be designed to support only one or a small subset of these embodiments with a correspondingly smaller perturbation to its more standard implementation.
Apparatus enabling an otherwise standard computer system to support system-level checkpointing, such apparatus consisting of a conventional memory controller enhanced with the following features:
Apparatus in an I/O device that supports any standard I/O protocol consisting either of an I/O processor program or control and sequencing logic implementing the transfer of both the data received through an I/O connection and the addresses associated with that data, as well as any change-of-status information, to a similar I/O device in a remote computer.
The procedure by which a suitably enhanced memory controller is used to implement, either autonomously or with software support, any or all of the following checkpointing strategies:
Dependencies are inferred from the claim text.