×

Migrating data objects together with their snaps

  • US 9,830,105 B1
  • Filed: 12/21/2015
  • Issued: 11/28/2017
  • Est. Priority Date: 12/21/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method of performing data migration, the method comprising:

  • duplicating multiple source snaps to generate multiple respective target snaps, each of the source snaps being a point-in-time version of a source data object;

    generating an internal snap of the source data object, the internal snap being a point-in-time version of the source data object;

    performing a data mirroring operation, the data mirroring operation including (i) receiving, over time, multiple IO (Input/Output) requests specifying respective data to be written to the source data object, (ii) writing the data specified in the IO requests both to the source data object and to a target data object, the target data object providing a migrated version of the source data object, and (iii) marking a bitmap to indicate locations within the source data object at which the data specified in the IO requests are written; and

    while performing the data mirroring operation, simultaneously performing a filtering copy operation, the filtering copy operation including (i) in response to the bitmap not being marked for a first location within the source data object, copying a set of data at a corresponding first location of the internal snap to the target data object, and (ii) in response to the bitmap being marked for a second location within the source data object, performing no copying of data at a corresponding second location of the internal snap to the target data object,wherein the method further comprises;

    prior to generating the internal snap, pausing a processing of IO requests directed to the source data object;

    while the processing of IO requests is paused, initializing the bitmap to reflect no marked locations within the source data object; and

    after generating the internal snap and initializing the bitmap, resuming the processing of IO requests directed to the source data object.

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