IP Library › Granted Patent US 10,860,212
Granted Patent B1
US 10,860,212 · App. 15/656,588 · Granted Dec 8, 2020

Method or an apparatus to move perfect de-duplicated unique data from a source to destination storage tier

Inventors: Ramprasad Chinthekindi (Pune, IN); Nitin Madan (Gurugram, IN); Abhinav Duggal (Santa Clara, CA); Lan Bai (Chelsea, MI)
Assignee: EMC IP Holding Company LLC
G06F3/0608G06F3/065G06F3/0619G06F3/0647G06F3/0652G06F16/1748G06F16/185G06F16/2255G06F16/27
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,860,212
App. No.
15/656,588
Filed
Jul 21, 2017
Granted
Dec 8, 2020
Kind
B1
Art Unit
2166
USPC
707/626
Abstract

A data management device includes a persistent storage and a processor. The persistent storage includes an object storage that stores segments. The processor generates a collision free hash function based on the segments, generates a hash vector using the collision free hash function, deduplicates a portion of the segments associated with to-be-migrated files using the hash vector, and migrates the to-be-migrated files using the deduplicated portion of the segments to a remote storage.

Claims (83)

1. A method for deduplicating data, comprising:

identifying in a persistent storage device, a first copy of a file segment;

obtaining, based on the identifying of the first copy of the file segment, a fingerprint associated with file segment;

identifying an indicator in a hash vector corresponding to the fingerprint, wherein the hash vector comprises a plurality of indicators;

determining that the indicator is set to a predetermined value, wherein the predetermined value indicates that the file segment is unique;

in response to determining that the indicator is set to the predetermined value:

storing the first copy of the file segment in a buffer;

modifying the indicator to a value other than the predetermined value;

after the modifying:

identifying, in the persistent storage device, a second copy of the file segment;

obtaining, based on the identifying of the second copy of the file segment, the fingerprint;

identifying the indicator in the hash vector corresponding to the fingerprint;

determining that the indicator is not set to the predetermined value;

in response to determining that the indicator is not set to the predetermined value, marking the second copy of the file segment as processed and not storing the second copy of the file segment in the buffer; and

initiating a deduplication procedure to replicate the first copy of the file segment from the persistent storage device to a remote storage device, wherein the deduplication procedure uses the buffer.

2. The method of claim 1 , wherein the persistent storage device comprises:

the first copy of the file segment; and

a second copy of the file segment, wherein the second copy of the file segment is not replicated to the remote storage device.

3. The method of claim 1 , further comprising:

prior to obtaining the fingerprint:

selecting the file segment; and

adding the indicator, to the hash vector, wherein adding the indicator comprises set the indicator the predetermined value.

4. The method of claim 3 , wherein selecting the file segment comprises:

identifying a file from a plurality of files;

making a determination that the file matches a criterion; and

in response to the determination that file matches the criterion, identifying, in the file, the file segment.

5. The method of claim 4 , wherein the criterion is one selected from the group consisting of file segment age, file segment storage date, and redundancy policy.

6. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for deduplicating data, the method comprising:

identifying in a persistent storage device, a first copy of a file segment;

obtaining, based on the identifying of the first copy of the file segment, a fingerprint associated with the file segment;

identifying an indicator in a hash vector corresponding to the fingerprint, wherein the hash vector comprises a plurality of indicators;

determining that the indicator is set to a predetermined value, wherein the predetermined value indicates that the file segment is unique;

in response to determining that the indicator is set to the predetermined value:

storing the first copy of the file segment in a buffer;

modifying the indicator to a value other than the predetermined value;

after the modifying:

identifying, in the persistent storage device, a second copy of the file segment;

obtaining, based on the identifying of the second copy of the file segment, the fingerprint;

identifying the indicator in the hash vector corresponding to the fingerprint;

determining that the indicator is not set to the predetermined value;

in response to determining that the indicator is not set to the predetermined value, marking the second copy of the file segment as processed and not storing the second copy of the file segment in the buffer; and

initiating a deduplication procedure to replicate the first copy of the file segment from the persistent storage device to a remote storage device, wherein the deduplication procedure uses the buffer.

7. The non-transitory computer readable medium of claim 6 , wherein the persistent storage device comprises:

the first copy of the file segment; and

a second copy of the file segment, wherein the second copy of the file segment is not replicated to the remote storage device.

8. The non-transitory computer readable medium of claim 6 , further comprising:

prior to obtaining the fingerprint:

selecting the file segment; and

adding the indicator, to the hash vector, wherein adding the indicator comprises set the indicator the predetermined value.

9. The non-transitory computer readable medium of claim 8 , wherein selecting the file segment comprises:

identifying a file from a plurality of files;

making a determination that the file matches a criterion; and

in response to the determination that file matches the criterion, identifying, in the file, the file segment.

10. The non-transitory computer readable medium of claim 9 , wherein the criterion is one selected from the group consisting of file segment age, file segment storage date, and redundancy policy.

11. A data management device, comprising:

persistent storage device; and

a processor programmed to:

identify, in a persistent storage device, a first copy of a file segment;

obtain, based on the identifying of the first copy of the file segment, a fingerprint associated with the file segment;

identify an indicator in a hash vector corresponding to the fingerprint, wherein the hash vector comprises a plurality of indicators;

determine that the indicator is set to a predetermined value, wherein the predetermined value indicates that the file segment is unique;

in response to determine that the indicator is set to the predetermined value:

store the first copy of the file segment in a buffer;

modify the indicator to a value other than the predetermined value;

after the modify:

identify, in the persistent storage device, a second copy of the file segment;

obtain, based on the identifying of the second copy of the file segment, the fingerprint;

identify the indicator in the hash vector corresponding to the fingerprint;

determine that the indicator is not set to the predetermined value;

in response to determining that the indicator is not set to the predetermined value, mark the second copy of the file segment as processed and not storing the second copy of the file segment in the buffer; and

initiate a deduplication procedure to replicate the first copy of the file segment from the persistent storage device to a remote storage device, wherein the deduplication procedure uses the buffer.

12. The data management device of claim 11 , wherein the persistent storage device comprises:

the first copy of the file segment; and

a second copy of the file segment, wherein the second copy of the file segment is not replicated to the remote storage device.

13. The data management device of claim 5 , wherein the processor is further configured to:

prior to obtaining the fingerprint:

select the file segment; and

add the indicator, to the hash vector, wherein adding the indicator comprises set the indicator the predetermined value.

14. The data management device of claim 13 , wherein selecting the file segment comprises:

identifying a file from a plurality of files;

making a determination that the file matches a criterion; and

in response to the determination that file matches the criterion, identifying, in the file, the file segment.

15. The data management device of claim 14 , wherein the criterion is one selected from the group consisting of file segment age, file segment storage date, and redundancy policy.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2017
From: CHINTHEKINDI, RAMPRASAD; MADAN, NITIN; DUGGAL, ABHINAV; BAI, LAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043077/0314 →
Cited By (1)
US 12,412,311