# US 9,436,409 B2 · Fast migration of virtual storage partition data across storage systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,409 B2
- Document ID: US9436409B2
- Status: Granted
- Kind: B2
- Application number: 14/163,022
- Filed: 2014-01-24
- Published: 2014-05-22
- Granted: 2016-09-06
- Earliest claimed: 2010-03-10
- Assignees: NetApp, Inc.
- Applicants: Netapp, Inc.
- Inventors: Aditya Rajeev Kulkarni; Nagender Somavarapu
- Web page: https://patentgrep.com/patent/US9436409B2

## CPC

- G06F 3/065: {Replication mechanisms}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/0661: {Format or protocol conversion arrangements}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0683: {Plurality of storage devices}
- G06F 16/275: {Synchronous replication}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method includes reading a superblock of a read-only replica of a source virtual volume in a source virtual storage partition associated with a source aggregate of a source storage system at the destination storage system, modifying the superblock of the read-only replica in a memory of the destination storage system, and associating the modified superblock with one or more virtual volume block number(s) configured to be previously associated with the superblock of the read-only replica of the source virtual volume without initiating a destination consistency point (DCP) at the destination storage system to render the destination virtual volume writable. The method also includes modifying a disk group label to reflect an association of the destination storage disk with the writable destination virtual volume, and initiating DCP to ensure that the modified superblock and the modified disk group label are flushed to the destination storage disk.

## Claims

### Claim 1

A machine implemented method, comprising:
transferring a superblock of a read-only replica of a source virtual volume from a source storage system to a destination virtual volume at a destination storage system, where the superblock includes information regarding the read-only replica;
modifying the superblock of the read-only replica in a memory of the destination storage system to clear a replica flag associated therewith for converting the read-only replica of the source virtual volume to a writable destination virtual volume at the destination storage system;
associating the modified superblock with at least one virtual volume block number (virtual VBN) configured to be previously associated with the superblock of the read-only replica of the source virtual volume of the source storage system without initiating a destination consistency point (DCP) at the destination storage system to render the destination virtual volume writable, wherein the virtual VBN is configured to index a virtual volume level version of block allocation files of a virtual volume including the source virtual volume and the destination virtual volume;
modifying a device group label indicating an association of a destination storage device with the read-only replica of the source virtual volume of the source storage system to reflect an association of the destination storage device with the writable destination virtual volume; and
storing the modified superblock and the modified device group label associated with the writable destination virtual volume to the destination storage device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
freezing the read-only replica of the source virtual volume at the destination storage system to queue a subsequent external request through a client device to access data associated with the read-only replica of the source virtual volume; and
flushing data associated with the read-only replica of the source virtual volume in the memory of the destination storage system to the destination storage device prior to reading and modifying the superblock of the read-only replica of the source virtual volume at the destination storage system.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
transferring a baseline copy of the source virtual volume to the destination virtual volume as part of a migration operation, the baseline copy being a read-only, point-in-time image of a file system associated with the source virtual volume;
marking the destination virtual volume as a read-only replica by a replication engine;
updating the destination virtual volume with new and changed data blocks of the source virtual volume when compared to a previous transfer; and
transmitting a list of data blocks from the source virtual volume to the destination virtual volume.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
updating, in the memory of the destination storage system, relevant registry entries associated with the writable destination virtual volume.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
resuming processing of input/output requests through the source virtual volume after the registry update in the memory of the destination storage system.

### Claim 6 (depends on 1)

The method of claim 1, wherein the source virtual volume is at a source virtual storage partition associated with a source aggregate of the source storage system.

### Claim 7

A non-transitory machine readable storage medium having stored thereon instructions, which when executed by at least one machine, causes the machine to perform a method, the method comprising:
transferring a superblock of a read-only replica of a source virtual volume from a source storage system to a destination virtual volume at a destination storage system, where the superblock includes information regarding the read-only replica;
modifying the superblock of the read-only replica in a memory of the destination storage system to clear a replica flag associated therewith for converting the read-only replica of the source virtual volume to a writable destination virtual volume at the destination storage system;
associating the modified superblock with at least one virtual volume block number (virtual VBN) configured to be previously associated with the superblock of the read-only replica of the source virtual volume of the source storage system without initiating a destination consistency point (DCP) at the destination storage system to render the destination virtual volume writable, wherein the virtual VBN is configured to index a virtual volume level version of block allocation files of a virtual volume including the source virtual volume and the destination virtual volume;
modifying a device group label indicating an association of a destination storage device with the read-only replica of the source virtual volume of the source storage system to reflect an association of the destination storage device with the writable destination virtual volume; and
storing the modified superblock and the modified device group label associated with the writable destination virtual volume to the destination storage device.

### Claim 8 (depends on 7)

The non-transitory machine readable storage medium of claim 7, further comprising:
freezing the read-only replica of the source virtual volume at the destination storage system to queue a subsequent external request through a client device to access data associated with the read-only replica of the source virtual volume; and
flushing data associated with the read-only replica of the source virtual volume in the memory of the destination storage system to the destination storage device prior to reading and modifying the superblock of the read-only replica of the source virtual volume at the destination storage system.

### Claim 9 (depends on 7)

The non-transitory machine readable storage medium of claim 7, further comprising:
transferring a baseline copy of the source virtual volume to the destination virtual volume as part of a migration operation, the baseline copy being a read-only, point-in-time image of a file system associated with the source virtual volume;
marking the destination virtual volume as a read-only replica by a replication engine;
updating the destination virtual volume with new and changed data blocks of the source virtual volume when compared to a previous transfer; and
transmitting a list of data blocks from the source virtual volume to the destination virtual volume.

### Claim 10 (depends on 9)

The non-transitory machine readable storage medium of claim 9, further comprising:
updating, in the memory of the destination storage system, relevant registry entries associated with the writable destination virtual volume.

### Claim 11 (depends on 9)

The non-transitory machine readable storage medium of claim 9, further comprising:
resuming processing of input/output requests through the source virtual volume after the registry update in the memory of the destination storage system.

### Claim 12 (depends on 7)

The non-transitory machine readable storage medium of claim 7, wherein the source virtual volume is at a source virtual storage partition associated with a source aggregate of the source storage system.

### Claim 13

A system, comprising:
a memory of a destination storage system having stored thereon instructions; and
a processor, coupled to the memory of the destination storage system, using the instructions stored in the memory for:
receiving from a source storage system a superblock of a read-only replica of a source virtual volume for a destination virtual volume at the destination storage system, where the superblock includes information regarding the read-only replica;
modifying the superblock of the read-only replica in the memory to clear a replica flag associated therewith for converting the read-only replica of the source virtual volume to a writable destination virtual volume at the destination storage system;
associating the modified superblock with at least one virtual volume block number (virtual VBN) configured to be previously associated with the superblock of the read-only replica of the source virtual volume of the source storage system without initiating a destination consistency point (DCP) at the destination storage system to render the destination virtual volume writable, wherein the virtual VBN is configured to index a virtual volume level version of block allocation files of a virtual volume including the source virtual volume and the destination virtual volume;
modifying a device group label indicating an association of a destination storage device with the read-only replica of the source virtual volume of the source storage system to reflect an association of the destination storage device with the writable destination virtual volume; and
storing the modified superblock and the modified device group label associated with the writable destination virtual volume to the destination storage device.

### Claim 14 (depends on 13)

The system of claim 13, wherein the processor further executing instructions for:
freezing the read-only replica of the source virtual volume at the destination storage system to queue a subsequent external request through a client device to access data associated with the read-only replica of the source virtual volume; and
flushing data associated with the read-only replica of the source virtual volume in the memory of the destination storage system to the destination storage device prior to reading and modifying the superblock of the read-only replica of the source virtual volume at the destination storage system.

### Claim 15 (depends on 13)

The system of claim 13, wherein the processor further executing instructions for:
transferring a baseline copy of the source virtual volume to the destination virtual volume as part of a migration operation, the baseline copy being a read-only, point-in-time image of a file system associated with the source virtual volume;
marking the destination virtual volume as a read-only replica by a replication engine;
updating the destination virtual volume with new and changed data blocks of the source virtual volume when compared to a previous transfer; and
transmitting a list of data blocks from the source virtual volume to the destination virtual volume.

### Claim 16 (depends on 15)

The system of claim 15, wherein the processor further executing instructions for:
updating, in the memory of the destination storage system, relevant registry entries associated with the writable destination virtual volume.

### Claim 17 (depends on 15)

The system of claim 15, wherein the processor further executing instructions for:
resuming processing of input/output requests through the source virtual volume after the registry update in the memory of the destination storage system.

### Claim 18 (depends on 15)

The system of claim 15, wherein the source virtual volume is at a source virtual storage partition associated with a source aggregate of the source storage system.
