Data migration preserving storage efficiency

US2016088080A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016088080-A1
Application numberUS-201414494450-A
CountryUS
Kind codeA1
Filing dateSep 23, 2014
Priority dateSep 23, 2014
Publication dateMar 24, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Technology is disclosed for a data migration process for a storage server that preserves storage efficiency information. The storage server receives an indication of a group of two or more files and selects among the two or more files a reference file and one or more selected files. The storage server initiates a first migration operation to copy or move the reference file from a source storage server to a destination storage server. The storage server initiates one or more additional migration operations to copy or move the selected files from the source storage server to the destination storage server. At least one of the additional migration operations include a step of transmitting to the destination storage server data blocks of the selected files that are not shared between the reference file and the selected files, but avoid transmitting to the destination storage server the blocks shared with the reference file.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: receiving an indication of a group of two or more files; selecting among the two or more files a reference file and one or more selected files; initiating a first migration operation to migrate the reference file from a source storage server to a destination storage server; and initiating one or more additional migration operations to migrate each of the one or more selected files from the source storage server to the destination storage server, wherein at least one of the additional migration operations includes: transmitting to the destination storage server data blocks of the selected file that are not shared between the reference file and the selected file; and avoiding transmitting to the destination storage server the shared data blocks. 2 . The method of claim 1 , wherein at least one of the additional migration operations further includes: transmitting to the destination storage server a data structure indicating data blocks that are shared between the reference file and the selected file. 3 . The method of claim 2 , wherein transmitting the data structure comprises: transmitting to the destination storage server the data structure comprising a bit map including bits that correspond to data blocks of the selected file, the bits indicating whether the corresponding data blocks are shared between the selected file and the reference file. 4 . The method of claim 2 , further comprising: generating the data structure by comparing block locations on the source storage server for data blocks of the reference file with block locations on the source storage server for data blocks of the selected file. 5 . The method of claim 2 , further comprising: comparing a checksum, a cryptographic hash, or data content of a data block of the reference file with a checksum, a cryptographic hash, or data content of a data block of the selected file. 6 . The method of claim 1 , further comprising: during at least one of the additional migration operations, transmitting to the destination storage server offset numbers within the reference file for the shared data blocks. 7 . The method of claim 1 , wherein the first migration operation is to copy or move the reference file from the source storage server to the destination storage server; and at least one of the additional migration operations is to copy or move the selected file from the source storage server to the destination storage server. 8 . The method of claim 1 , further comprising: receiving a user instruction determining the files within the group. 9 . The method of claim 1 , further comprising: maintaining a metadata structure recording relationships between parent files and child files that derive from the parent files; and determining the files within the group based on the metadata structure. 10 . The method claim 1 , further comprising: determining the files within the group by comparing checksums, cryptographic hashes, or data contents of multiple files stored in the source storage server. 11 . The method of claim 1 , wherein the selecting comprises: selecting among the two or more files reference files and selected files, wherein the reference files share common data blocks with at least one of the selected files. 12 . A method, comprising: receiving an indication of a group of two or more files including a reference file and one or more selected files; performing a first migration operation to migrate the reference file from a source storage server to a destination storage server; and performing one or more additional migration operations to migrate each of the one or more selected files from the source storage server to the destination storage server, wherein at least one of the additional migration operations includes: receiving from the source storage server a data structure indicating shared data blocks that are shared between the reference file and the selected file; receiving from the source storage server unshared data blocks of the selected file that are not shared between the reference file and the selected file; and establishing the selected file in the destination storage server including the shared data blocks and unshared data blocks. 13 . The method of claim 12 , further comprising: during at least one of the additional migration operations, determining that at least one individual data block of a copied reference file has been modified at the destination storage server and is no longer identical to an initially copied state of the individual data block of the copied reference file; determining that the individual data block is one of the shared data blocks; and in response to the determination that the individual data block of the copied reference file has been modified and the determination that the individual data block is one of the shared data blocks, retrieving a copy of the individual data block from the source storage server and establishing the selected file in the destination storage server including the copy of the individual data block. 14 . The method of claim 12 , further comprising: during at least one of the additional migration operations, determining that an individual data block of the reference file has not been allocated in the destination storage server; determining that the individual data block is one of the shared data blocks; and delaying establishing the selected file until the individual data block of the reference file has been allocated in the destination storage server. 15 . The method of claim 12 , wherein the first migration operation causes an absent allocation operation of the reference file at the destination storage server. 16 . The method of claim 12 , wherein at least one of the additional migration operations causes an absent allocation operation of the selected file at the destination storage server. 17 . The method of claim 12 , wherein the receiving comprises: receiving an indication that a group of two or more files includes a reference file and a selected file and that the reference file and the selected file share common data blocks stored at the source storage server. 18 . A storage server, comprising: a storage efficiency component configured to: determine a group of two or more data objects; select among the two or more data objects a reference data object and one or more selected data objects; and generate data structures identifying shared data blocks that are shared between the reference data object and each of the selected data objects; and a data migration component configured to: migrate the reference data object by transmitting to a destination storage server data blocks of the reference data object; and migrate the selected data objects by transmitting to the destination storage server the data structures and data blocks of the selected data objects that are not shared between the reference data object and the selected data objects. 19 . The storage server of claim 18 , wherein the data migration component is further configured to avoid transmitting to the destination storage server the shared data blocks when migrating the selected data objects. 20 . The storage server of claim 18 , further comprising: a data object relationship component configured to: monitor creation of data objects in the storage server; maintain a metadata structure recording derivation relationships between parent data objects and child data objects that derive from t

Assignees

Inventors

Classifications

  • Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title

  • Migration mechanisms · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016088080A1 cover?
Technology is disclosed for a data migration process for a storage server that preserves storage efficiency information. The storage server receives an indication of a group of two or more files and selects among the two or more files a reference file and one or more selected files. The storage server initiates a first migration operation to copy or move the reference file from a source storage…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1095. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Mar 24 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).