×

Redirecting host IO's at destination during replication

  • US 9,916,202 B1
  • Filed: 03/11/2015
  • Issued: 03/13/2018
  • Est. Priority Date: 03/11/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method for processing IO (input/output) requests, the method comprising:

  • performing, at a destination data storage system, multiple snapshot-shipping updates to a data object, each snapshot-shipping update applying a set of changes to the data object to bring the data object into a state that is content-consistent with that of a source object operated from a source data storage system, the snapshot-shipping updates performed at respective times to keep the data object substantially current with the source object as the source object changes over time;

    after performing each snapshot-shipping update to the data object and before performing another one, generating a system snap of the data object, each system snap providing a point-in-time version of the data object that reflects a state of the data object after completion of the respective snapshot-shipping update; and

    upon receiving an IO request directed to the data object for performing a read operation on the data object, redirecting the IO request to a previously generated system snap, so that the destination data storage system performs the read operation on the previously generated system snap,wherein the method further comprises receiving a second IO request directed to the data object for performing a second read operation on the data object; and

    , in response to the destination data storage system not being in a process of performing any of the snapshot-shipping updates when the second IO request is received, directing the second IO request to the data object for performing the second read operation on the data object,wherein redirecting the IO request to the previously generated system snap is performed in response to the destination data storage system being in the process of performing one of the snapshot-shipping updates when the IO request is received,wherein the data object is realized in a base file stored in a file system of the destination data storage system, wherein each system snap is a snap of the base file and is itself a file in the file system,wherein the method further comprises storing, by the destination data storage system, a data element that identifies a file to which to direct IO requests directed to the data object,wherein redirecting the IO request to the previously generated system snap includes interrogating the data element and identifying, from the data element, a system snap file as the file to which to direct the IO request,wherein directing the second IO request to the data object includes interrogating the data element and identifying, from the data element, the base file as the file to which to direct the second IO request to perform the second read operation,wherein each snapshot-shipping update has a beginning and an end, and wherein the method further comprises;

    detecting the beginning of a snapshot-shipping update on the base file;

    in response to detecting the beginning of the snapshot-shipping update on the base file, setting the data element to identify a system snap file as the file to which to direct IO requestsdetecting the end of a snapshot-shipping update on the base file; and

    in response to detecting the end of the snapshot-shipping update on the base file, setting the data element to identify the base file as the file to which to direct IO requests.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×