IP Library Granted Patent US 10,108,356
Granted Patent B1
US 10,108,356 · App. 15/081,137 · Granted Oct 23, 2018

Determining data to store in retention storage

Inventors: Assaf Natanzon (Tel Aviv, IL); Kirill Shoikhet (Raanana, IL)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/065G06F3/0688
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,108,356
App. No.
15/081,137
Filed
Mar 25, 2016
Granted
Oct 23, 2018
Kind
B1
Art Unit
2137
USPC
711/162
Abstract

In one aspect, a method includes generating a protection file system in a deduplication storage array, generating a snapshot of a production volume in the deduplication storage array including hashes of data in the snapshot, generating a first file hierarchy for the hashes of the data in the snapshot in the protection file system and adding a retention indicator to each hash in the first file hierarchy.

Claims (64)

1. A method comprising:

generating a protection file system in a deduplication storage array;

generating a snapshot of a production volume in the deduplication storage array, the snapshot including the data and hashes of the data in the snapshot;

generating a first file hierarchy for the hashes of the data in the snapshot in the protection file system;

adding a retention indicator to each hash in the first file hierarchy, the retention indicator denoting retaining the hash even when a reference count for the hash is zero; and

recovering the production volume comprising:

generating a virtual volume;

after receiving a read command to read data from the virtual volume:

reading the data from the protection file system when the hash of the data exists in the deduplication storage array;

reading the data from the retention storage when the hash of the data does not exist in the deduplication storage array;

after receiving a write command to write data to the virtual volume:

writing the data to be written to the production volume;

marking the hash of the data to be written with a retention indicator; and

updating a pointer of the hash of the data to be written in the protection file system.

2. The method of claim 1 , further comprising moving a hash in the first file hierarchy from the deduplication storage array to a retention storage if the deduplication storage array no longer uses the hash and if the retention indicator indicates retention.

3. The method of claim 1 , further comprising:

generating a second snapshot of the production volume; and

generating a second file hierarchy indicating changes from the first file hierarchy.

4. The method of claim 1 , further comprising determining if the deduplication storage array no longer uses the hash in an address-to-hash mapping,

wherein determining if the deduplication storage array no longer uses the hash comprises determining if a reference count is zero.

5. The method of claim 1 , further comprising adding a retention indicator for each new hash generated.

6. An apparatus, comprising:

electronic hardware circuitry configured to:

generate a protection file system in a deduplication storage array;

generate a snapshot of a production volume in the deduplication storage array including the data and hashes of the data in the snapshot;

generate a first file hierarchy for the hashes of the data in the snapshot in the protection file system;

add a retention indicator to each hash in the first file hierarchy, the retention indicator denoting retaining the hash even when a reference count for the hash is zero; and

recover the production volume, comprising:

generate a virtual volume;

after receiving a read command to read data from the virtual volume:

read the data from the protection file system when the hash of the data exists in the deduplication storage array; or

read the data from the retention storage when the hash of the data does not exist in the deduplication storage array;

after receiving a write command to write data to the virtual volume:

write the data to be written to the production volume;

mark the hash of the data to be written with a retention indicator; and

update a pointer of the hash of the data to be written in the protection file system.

7. The apparatus of claim 6 , further comprising circuitry configured to move a hash in the first file hierarchy from the deduplication storage array to a retention storage if the deduplication storage array no longer uses the hash and if the retention indicator indicates retention.

8. The apparatus of claim 6 , further comprising circuitry configured to:

generate a second snapshot of the production volume; and

generate a second file hierarchy indicating changes from the first file hierarchy.

9. The apparatus of claim 6 , further comprising circuitry configured to determine if the deduplication storage array no longer uses the hash,

wherein the circuitry configured to determine if the deduplication storage array no longer uses the hash comprises circuitry configured to determine if a reference count is zero.

10. The apparatus of claim 6 , further comprising circuitry configured to add a retention indicator for each new hash generated.

11. An article comprising:

a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:

generate a protection file system in a deduplication storage array;

generate a snapshot of a production volume in the deduplication storage array including the data and hashes of the data in the snapshot;

generate a first file hierarchy for the hashes of the data in the snapshot in the protection file system;

add a retention indicator to each hash in the first file hierarchy, the retention indicator denoting retaining the hash even when a reference count for the hash is zero; and

recover the production volume comprising:

after receiving a read command to read data from the virtual volume:

read the data from the protection file system if the hash of the data exists in the deduplication storage array; or

read the data from the retention storage if the hash of the data does not exist in the deduplication storage array;

after receiving a write command to write data to the virtual volume:

write the data to be written to the production volume;

mark the hash of the data to be written with a retention indicator, the retention indicator denoting retaining the hash even when a reference count for the hash is zero; and

update a pointer of the hash of the data to be written in the protection file system.

12. The article of claim 11 , further comprising instructions causing the machine to move a hash in the first file hierarchy from the deduplication storage array to a retention storage if the deduplication storage array no longer uses the hash and if the retention indicator indicates retention.

13. The article of claim 11 , further comprising instructions causing the machine to:

generate a second snapshot of the production volume;

generate a second file hierarchy indicating changes from the first file hierarchy; and

add a retention indicator for each new hash generated.

14. The article of claim 11 , further comprising instructions causing the machine to determine if the deduplication storage array no longer uses the hash,

wherein the instructions causing the machine to determine if the deduplication storage array no longer uses the hash comprises instructions causing the machine to determine if a reference count is zero.

Assignments (10)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2016
From: NATANZON, ASSAF; SHOIKHET, KIRILL
To: EMC CORPORATION
Reel/Frame 038255/0392 →
Cited By (5)
US 12,235,799 US 12,373,397 US 12,399,869 US 12,541,486 US 12,547,582