IP Library › Granted Patent US 10,162,523
Granted Patent B2
US 10,162,523 · App. 15/284,777 · Granted Dec 25, 2018

Migrating data between volumes using virtual copy operation

Inventors: Ethan Miller (Santa Cruz, CA); Lydia Do (San Jose, CA); John Colgrove (Los Altos, CA)
Assignee: Pure Storage, Inc.
G06F3/0604G06F3/064G06F3/067G06F3/0643G06F3/0647G06F17/302
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,162,523
App. No.
15/284,777
Granted
Dec 25, 2018
Kind
B2
Abstract

A storage controller coupled to a storage array comprising one or more storage devices initiates a transformation of data from a block-based storage system resident on the storage array to a file-based storage system resident on a storage array. The storage controller identifies a plurality of data blocks to be transformed from the block-based storage system and generates metadata for a file in the file-based storage system, the metadata to associate the plurality of data blocks with the file.

Claims (49)

1. A system comprising:

a storage array comprising one or more storage devices; and

a storage controller coupled to the storage array, the storage controller comprising a processing device, the processing device to:

receive a request from an initiator application to migrate data from a storage area network (SAN) volume resident on the storage array to a network attached storage (NAS) volume resident on the storage array;

identify a plurality of data blocks from the SAN volume, the plurality of data blocks having non-sequential block numbers;

generate volume metadata for the NAS volume, the volume metadata to associate the plurality of data blocks with the NAS volume;

generate file metadata for a file in the NAS volume, the file metadata to associate the plurality of data blocks with the file; and

move the data underlying the plurality of data blocks associated with the file to a single one of the one or more storage devices.

2. The system of claim 1 , wherein the data underlying the plurality of data blocks associated with the file is not moved or copied on the one or more storage devices.

3. The system of claim 1 , wherein the initiator application is resident on a first initiator device coupled to the storage controller by a network.

4. The system of claim 1 , wherein the processing device further to:

identify characteristics of the plurality of data blocks from the SAN volume; and

generate the file metadata for the file in the NAS volume based on the characteristics of the plurality of data blocks, wherein at least a portion of the file metadata is copied from one of the plurality of data blocks from the SAN volume.

5. A system comprising:

a storage array comprising one or more storage devices; and

a storage controller coupled to the storage array, the storage controller comprising a processing device, the processing device to:

receive a request from an initiator application to migrate data from a storage area network (SAN) volume resident on the storage array to a network attached storage (NAS) volume resident on the storage array;

identify a plurality of data blocks from the SAN volume, the plurality of data blocks having non-sequential block numbers;

generate volume metadata for the NAS volume, the volume metadata to associate the plurality of data blocks with the NAS volume;

generate file metadata for a file in the NAS volume, the file metadata to associate the plurality of data blocks with the file; and

renumber the plurality of data blocks associated with the file to have sequential block numbers in the NAS volume.

6. A method comprising:

receiving a request to associate a first data element from a first logical volume resident on a storage array with a file in a second logical volume resident on the storage array;

adding, by a processing device, an indication of the first data element to volume metadata corresponding to the second logical volume;

generating the file in the second logical volume; and

adding, by the processing device, an indication of the first data element to file metadata corresponding to the file in the second logical volume, the indication in file metadata to associate the first data element with the file, wherein the first logical volume is part of a block-based storage system managed by a storage controller coupled to the storage array, and wherein the second logical volume is part of a file-based storage system managed by the storage controller.

7. The method of claim 6 , wherein the request is received from an initiator application resident on a first initiator device coupled to a storage controller by a network.

8. The method of claim 6 , wherein data underlying the first data element associated with the file is not moved or copied on one or more storage devices in the storage array.

9. The method of claim 6 , wherein the first and second file-based storage systems having different file systems.

10. The method of claim 6 , further comprising:

identifying characteristics of the first data element from the first logical volume, the characteristics comprising at least one of a size of the first data element, an owner of the first data element, a creation time of the first data element and a last modification time of the first data element.

11. The method of claim 10 , further comprising:

adding an indication of the characteristics of the first data element to the file metadata corresponding to the file in the second logical volume, wherein at least a portion of the file metadata is copied from the first data element of the first logical volume.

12. The method of claim 6 , further comprising:

receiving a request to associate a second data element from the first logical volume with the file in the second logical volume; and

adding an indication of the second data element to the file metadata corresponding to the file in the second logical volume, the indication in file metadata to associate the second data element with the file.

13. The method of claim 12 , wherein the first and second data elements have non-sequential block numbers, the method further comprising:

assigning new sequential block numbers to the first and second data elements associated with the file.

14. The method of claim 12 , further comprising:

moving data underlying at least one of the first and second data elements associated with the file from a first storage device in the storage array to a second storage device in the storage array.

15. The method of claim 12 , further comprising:

sending a request for characteristics of the first data element to an external host device that manages the first logical volume; and

receive, from the external host device, the characteristics of the first data element.

16. A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device to:

initiate a transformation of data from a block-based storage system resident on a storage array to a file-based storage system resident on a storage array;

identify a plurality of data blocks to be transformed from the block-based storage system;

generate volume metadata and file metadata for a file in the file-based storage system, the volume metadata to associate the plurality of data blocks with the file-based storage system and the file metadata to associate the plurality of data blocks with the file; and

perform a virtual defragmentation operation on the plurality of data blocks associated with the file in the file-based storage system.

17. The non-transitory computer readable storage medium of claim 16 , wherein the block-based storage system comprises a storage area network (SAN) volume, and wherein the file-based storage system comprises a network attached storage (NAS) volume, wherein at least a portion of the file metadata is copied from one of the plurality of data blocks from the block-based storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2016
From: MILLER, ETHAN; DO, LYDIA; COLGROVE, JOHN
To: PURE STORAGE, INC.
Reel/Frame 039931/0832 →
Continuity (1)
Related Publication 20180095667A1 · Apr 5, 2018
Cited By (1)
US 12,619,351