IP Library Granted Patent US 11,513,996
Granted Patent B2
US 11,513,996 · App. 17/375,968 · Granted Nov 29, 2022

Non-disruptive and efficient migration of data across cloud providers

Inventors: Neeraj Bhutani (Milpitas, CA); Ramprasad Chinthekindi (San Jose, CA); Nitin Madan (Cupertino, CA); Srikanth Srinivasan (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F16/119G06F16/2365G06F16/9014G06F11/1407G06F11/3075
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 11,513,996
App. No.
17/375,968
Granted
Nov 29, 2022
Kind
B2
Abstract

An index associates fingerprints of file segments to container numbers of containers within which the file segments are stored. At a start of migration, a boundary is created identifying a current container number. At least a subset of file segments at a source storage tier are packed into a new container to be written to a destination storage tier. A new container number is generated for the new container. The index is updated to associate fingerprints of the at least subset of file segments to the new container number. A request is received to read a file segment. The index is queried with a fingerprint of the file segment to determine whether the request should be directed to the source or destination storage tier based on a container number of a container within which the file segment is stored.

Claims (66)

1. A method for migrating data of a deduplication file system from a source to destination storage tier comprising:

maintaining an index associating fingerprints of file segments to container numbers of containers within which the file segments are stored;

at a start of migration, creating a boundary identifying a current container number;

packing at least a subset of file segments at the source storage tier into a new container to be written to the destination storage tier;

generating a new container number for the new container;

updating the index to associate fingerprints of the at least subset of file segments to the new container number;

receiving a request to read a file segment; and

querying the index with a fingerprint of the file segment to determine whether the request should be directed to the source or destination storage tier based on a container number of a container within which the file segment is stored.

2. The method of claim 1 wherein container numbers are generated in a sequence, and the method further comprises:

in response to querying the index, receiving the container number of the container within which the file segment is stored;

comparing the container number to the boundary; and

directing the request to the source or destination storage tier based on the sequence, the sequence indicating an ordering of the container number with respect to the boundary.

3. The method of claim 1 wherein the source and destination storage tiers are within a same cloud provider.

4. The method of claim 1 wherein the source and destination storage tiers are provided by different cloud providers.

5. The method of claim 1 further comprising:

determining whether a file segment at the source storage tier is live or dead;

migrating live file segments from the source storage tier to the destination storage tier; and

not migrating dead file segments from the source storage tier to the destination storage tier.

6. The method of claim 1 wherein the deduplication file system is a log-structured deduplication file system in which the containers are maintained in a log and the method further comprises:

upon creating the boundary, migrating a first range of containers starting with a tail of the log and ending before the boundary;

writing a second range of containers comprising file segments from the first range of containers to a head of the log; and

updating the index to indicate that file segments associated with the first range of containers are now associated with the second range of containers.

7. A system for migrating data of a deduplication file system from a source to destination storage tier comprising: a processor; and memory configured to store one or more sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

maintaining an index associating fingerprints of file segments to container numbers of containers within which the file segments are stored;

at a start of migration, creating a boundary identifying a current container number;

packing at least a subset of file segments at the source storage tier into a new container to be written to the destination storage tier;

generating a new container number for the new container;

updating the index to associate fingerprints of the at least subset of file segments to the new container number;

receiving a request to read a file segment; and

querying the index with a fingerprint of the file segment to determine whether the request should be directed to the source or destination storage tier based on a container number of a container within which the file segment is stored.

8. The system of claim 7 wherein container numbers are generated in a sequence, and the processor further carries out the steps of:

in response to querying the index, receiving the container number of the container within which the file segment is stored;

comparing the container number to the boundary; and

directing the request to the source or destination storage tier based on the sequence, the sequence indicating an ordering of the container number with respect to the boundary.

9. The system of claim 7 wherein the source and destination storage tiers are within a same cloud provider.

10. The system of claim 7 wherein the source and destination storage tiers are provided by different cloud providers.

11. The system of claim 7 wherein the processor further carries out the steps of:

determining whether a file segment at the source storage tier is live or dead;

migrating live file segments from the source storage tier to the destination storage tier; and

not migrating dead file segments from the source storage tier to the destination storage tier.

12. The system of claim 7 wherein the deduplication file system is a log-structured deduplication file system in which the containers are maintained in a log and the processor further carries out the steps of:

upon creating the boundary, migrating a first range of containers starting with a tail of the log and ending before the boundary;

writing a second range of containers comprising file segments from the first range of containers to a head of the log; and

updating the index to indicate that file segments associated with the first range of containers are now associated with the second range of containers.

13. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method for migrating data of a deduplication file system from a source to destination storage tier comprising:

maintaining an index associating fingerprints of file segments to container numbers of containers within which the file segments are stored;

at a start of migration, creating a boundary identifying a current container number;

packing at least a subset of file segments at the source storage tier into a new container to be written to the destination storage tier;

generating a new container number for the new container;

updating the index to associate fingerprints of the at least subset of file segments to the new container number;

receiving a request to read a file segment; and

querying the index with a fingerprint of the file segment to determine whether the request should be directed to the source or destination storage tier based on a container number of a container within which the file segment is stored.

14. The computer program product of claim 13 wherein container numbers are generated in a sequence, and the method further comprises:

in response to querying the index, receiving the container number of the container within which the file segment is stored;

comparing the container number to the boundary; and

directing the request to the source or destination storage tier based on the sequence, the sequence indicating an ordering of the container number with respect to the boundary.

15. The computer program product of claim 13 wherein the source and destination storage tiers are within a same cloud provider.

16. The computer program product of claim 13 wherein the source and destination storage tiers are provided by different cloud providers.

17. The computer program product of claim 13 further comprising:

determining whether a file segment at the source storage tier is live or dead;

migrating live file segments from the source storage tier to the destination storage tier; and

not migrating dead file segments from the source storage tier to the destination storage tier.

18. The computer program product of claim 13 wherein the deduplication file system is a log-structured deduplication file system in which the containers are maintained in a log and the method further comprises:

upon creating the boundary, migrating a first range of containers starting with a tail of the log and ending before the boundary;

writing a second range of containers comprising file segments from the first range of containers to a head of the log; and

updating the index to indicate that file segments associated with the first range of containers are now associated with the second range of containers.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
Continuity (2)
Continuation 16830020 · Mar 25, 2020
Related Publication 20210342294A1 · Nov 4, 2021