EP1789879A2

Recovering from storage transaction failures using checkpoints

Abstract

This record has no abstract on file.

EP1789879A2, drawing sheet 1
Sheet 1 of 1

Term

Term ended

Projected expiry passed 24 August 2025, 1.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

22 claims: 4 independent, 18 dependent

  1. 1
    Claims of equivalent WO 2006023990 A2 CLAIMS 1. A method of checkpointing a copy-on-write operation sequence, the method comprising:(a) receiving a first write request identifying payload data to be written beginning at a first address of a first data store;(b) reading original data associated with the first address of the first data store;(c) copying the original data to a second data store beginning at a second address;(d) recording transactional information associated with the first write request, the transactional information including indicia associated with the second address;(e) generating a first checkpoint confirming the successful recordation of the transactional information and the successful copying of the original data to the second data store;(f) writing the payload data to the first data store beginning at the first address;(g) in response to successfully writing the payload data to the first data store, acknowledging a successful completion of the copy-on-write operation sequence;and (h) generating a second checkpoint confirming the successful completion of the copy-on- write operation sequence.
  2. 8
    A method of recovering from a failure associated with a copy-on- write operation sequence, the method comprising:identifying at least one write request queued prior to a failure, the write request corresponding to a plurality of operations in a copy-on-write operation sequence;determining whether a first checkpoint was formed in response to completing a first portion of the copy-on-write operation sequence;determining whether a second checkpoint was formed in response to completing at least a second portion of the copy-on-write operation sequence;and based on at least one of the first and second checkpoints, processing the queued write request to at least partially recover from the failure, the write-request processing including: upon failing to locate the first checkpoint, queuing the plurality of operations in the copy-on-write operation sequence for execution, upon locating the first checkpoint and failing to locate the second checkpoint, queuing a subset of the plurality of operations for execution, the queued subset of operations including operations associated with the second portion, but not the first portion, of the copy-on-write operation sequence, and upon locating the first and second checkpoints, removing the plurality of operations in the copy-on-write operation sequence from at least one operation queue.
  3. 12
    A method of recovering from a storage transaction failure, the method comprising:receiving a write request identifying payload data to be written beginning at a first address of a first data store;copying original data associated with the first address of the first data store to a second data store beginning at a second address;recording transactional information associated with the write request, the transactional information including indicia associated with the first and second addresses and a time that the write request was received;generating a first indicator confirming the recordation of the transactional information;writing the payload data to the first data store beginning at the first address;and in response to a storage transaction failure, using the first indicator and at least some of the transactional information to, at least partially, recover therefrom.
  4. 19
    A method of recovering from a storage transaction failure, the method comprising:detecting a storage transaction failure occurring at time Tl;identifying a first indicator associated with a first write request that was received prior to time Tl, the first indicator confirming that data originally stored beginning at a first address specified by the first write request has been copied to a second address;and forming a representation of at least one storage unit as it existed prior to the storage transaction failure based on at least some of the copied data.