Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
86 words
A computer system comprising: a processor; a main memory subsystem, coupled to the processor, including: an exclusive-or memory for storing an exclusive-or checkpoint state; a buffer that monitors accesses of the main memory subsystem by the processor and stores data related to the accesses; and means, using the data from the buffer and the exclusive-or memory, for ensuring the existence of a consistent checkpoint state in the main memory subsystem to which processing can resume without loss of data integrity or program continuity following a fault.
Claim 2
Dependent Claim
86 words
A computer system comprising: a processor; a main memory subsystem, coupled to the processor, including: an exclusive-or memory for storing an exclusive-or checkpoint state; a buffer that monitors accesses of the main memory subsystem by the processor and stores data related to the accesses; and means, using the data from the buffer and the exclusive-or memory, for ensuring the existence of a consistent checkpoint state in the main memory subsystem to which processing can resume without loss of data integrity or program continuity following a fault.
Claim 3
Dependent Claim
65 words
The computer system of claim 1, wherein the processor has a corresponding input/output subsystem which provides input/output events initiated by the processor, wherein the processor has means for queuing input/output events between checkpoints and means for flushing the queued events to the primary memory element when a checkpoint is to be established, whereby input/output events are captured in checkpoint data in the main memory subsystem.
Claim 4
Dependent Claim
64 words
The computer system of claim 1, wherein a read-then-write operation is performed when the processor performs a write operation to the main memory subsystem, and further comprising means for storing a pre-image in a FIFO, means for performing an exclusive-or operation on pre-image and post-image data of the write operation and means for storing the result of the exclusive-or operation in the exclusive-or memory.
Claim 5
Dependent Claim
158 words
A computer system comprising: a processor having a cache that is periodically flushed to establish a checkpoint; an input/output port; a main memory subsystem coupled to the processor and to the input/output port, including: a read buffer, coupled to the processor and external port, that stores a pre-image of data to be written to the main memory subsystem; a write buffer, coupled to the processor and external port, that stores data written to the main memory subsystem; an exclusive-or memory; and an exclusive-or stage, coupled to the read and write buffers and to the exclusive-or memory; wherein after the cache of the processor is flushed, the exclusive-or stage reads data from the read buffer, the write buffer, and the exclusive-or stage, performs an exclusive-or operation on the data read by the exclusive-or stage, and stores a result of the exclusive-or operation in the exclusive-or memory thereby establishing a backup of the main memory subsystem in the exclusive-or memory.
Claim 6
Dependent Claim
158 words
A computer system comprising: a processor having a cache that is periodically flushed to establish a checkpoint; an input/output port; a main memory subsystem coupled to the processor and to the input/output port, including: a read buffer, coupled to the processor and external port, that stores a pre-image of data to be written to the main memory subsystem; a write buffer, coupled to the processor and external port, that stores data written to the main memory subsystem; an exclusive-or memory; and an exclusive-or stage, coupled to the read and write buffers and to the exclusive-or memory; wherein after the cache of the processor is flushed, the exclusive-or stage reads data from the read buffer, the write buffer, and the exclusive-or stage, performs an exclusive-or operation on the data read by the exclusive-or stage, and stores a result of the exclusive-or operation in the exclusive-or memory thereby establishing a backup of the main memory subsystem in the exclusive-or memory.
Claim 7
Dependent Claim
62 words
The computer system of claim 4, wherein the main memory subsystem includes a plurality of memory blocks each having equal storage capacity and each capable of failing independently from other memory blocks of the plurality of memory blocks, and wherein the exclusive-or memory has a storage capacity substantially equal to the storage capacity of any one of the plurality of memory blocks.
Claim 8
Dependent Claim
112 words
The computer system of claim 4, wherein, upon occurrence of a fault in one of the plurality of memory blocks of the main memory, the main memory is restored to a state at a previous checkpoint using contents of the exclusive-or memory and the read buffer, and the exclusive-or stage reads all data contained within the main memory except for data of the failed block, performs an exclusive-or operation of the data read from the main memory with data contained within the exclusive-or memory, and stores a result of the exclusive-or operation in the exclusive-or memory, the result representing the data of the failed memory block at the time of the fault.
Claim 9
Independent Claim
137 words
A method for providing fault tolerance in a computer system having a processor with a cache, an external port, a main memory subsystem, a read buffer memory, a write buffer memory, and an exclusive-or memory, the method comprising steps of: capturing a pre-image of data that is to be written to the main memory subsystem; storing the pre-image data in the read buffer; capturing write data written to the main memory subsystem; storing the write data in the write buffer; reading the read data from the read buffer; reading the write data from the write buffer; performing an exclusive-or operation on the write data, the read data and the data contained within the exclusive-or memory to obtain an exclusive-or result; and storing the exclusive-or result in the exclusive-or memory to establish a checkpoint in the exclusive-or memory.
Claim 10
Independent Claim
137 words
A method for providing fault tolerance in a computer system having a processor with a cache, an external port, a main memory subsystem, a read buffer memory, a write buffer memory, and an exclusive-or memory, the method comprising steps of: capturing a pre-image of data that is to be written to the main memory subsystem; storing the pre-image data in the read buffer; capturing write data written to the main memory subsystem; storing the write data in the write buffer; reading the read data from the read buffer; reading the write data from the write buffer; performing an exclusive-or operation on the write data, the read data and the data contained within the exclusive-or memory to obtain an exclusive-or result; and storing the exclusive-or result in the exclusive-or memory to establish a checkpoint in the exclusive-or memory.
Claim 11
Dependent Claim
163 words
The method of claim 7, wherein the main memory subsystem includes a plurality of memory blocks each having equal storage capacity, wherein the exclusive-or memory has a storage capacity equal to the storage capacity of any one of the plurality of memory blocks, and wherein the method further includes steps of: detecting a failed memory block of the plurality of memory blocks; copying data stored in the read buffer memory to the main memory subsystem to restore the main memory, except the failed memory block, to a previous checkpoint state; reading data contained within the plurality of memory blocks of the main memory except data contained within the failed memory block; reading data contained within the exclusive-or memory; performing an exclusive-or operation on the data read from the plurality of memory blocks and the data read from the exclusive-or memory to obtain an exclusive-or result; and storing the exclusive-or result in back into one of the exclusive-or memory and a spare memory block.
Claim 12
Dependent Claim
26 words
The method of claim 8, further comprising a step of: storing the exclusive-or result in the failed memory block after it has recovered from the failure.