IP Library Granted Patent US 10,649,682
Granted Patent B1
US 10,649,682 · App. 15/727,010 · Granted May 12, 2020

Focused sanitization process for deduplicated storage systems

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,649,682
App. No.
15/727,010
Granted
May 12, 2020
Kind
B1
Abstract

Described is a deduplicated storage system that may perform a focused sanitization process by reducing the number of data storage containers that must be sanitized. The system leverages additional characteristics of the files that need to be sanitized such as an initial storage date (e.g. data breach date) of when a sensitive file (e.g. file to be sanitization) was actually stored on the deduplicated storage system. By maintaining a creation date of data containers, the system may limit sanitization to those containers having a creation date on or after the initial storage date of the sensitive file. Accordingly, the system is capable of performing a more focused overwriting of data thereby improving the overall efficiency of the sanitization process.

Claims (64)

1. A computer-implemented method for sanitizing data stored in a storage system, comprising:

receiving an indication to sanitize a file from a deduplicated storage system, wherein the deduplicated storage system stores files as data segments across one or more storage containers;

deleting the file from the deduplicated storage system, wherein deleting the file from the deduplicated storage system includes unreferencing the data segments of the deleted file, wherein the unreferenced data segments are interpreted as dead segments by the storage system;

determining an initial storage date of the file, wherein the initial storage date is based on one or more attributes associated with the file;

determining a set of candidate storage containers having at least one dead segment and a creation date on or after the determined initial storage date of the file;

copying live segments of the candidate storage containers to a new set of corresponding storage containers, wherein an enumerated file index determines which segments stored in the deduplicated storage system are the live segments; and

sanitizing the candidate storage containers by overwriting physical data blocks of the live and dead segments of the candidate storage containers.

2. The method of claim 1 , wherein determining the initial storage date of the file includes:

receiving, by the deduplicated storage system, the one or more attributes associated with file;

accessing a file history of files stored to the deduplicated storage system, wherein the file history stores one or more attributes associated with each file and an initial storage date indicating a date each file was first stored to the deduplicated storage system; and

determining the initial storage date of the file based on the received one or more attributes.

3. The method of claim 2 , wherein the received one or more attributes includes at least a filename of the file to be sanitized.

4. The method of claim 2 , wherein determining the initial storage date of the file further includes:

providing, via a user interface to be displayed on a client device, an option to provide an input for the one or more attributes associated with the file.

5. The method of claim 1 , further comprising:

updating a bit vector to indicate the live segments, wherein each segment of the file index corresponds to a unique bit position within the bit vector.

6. The method of claim 5 , wherein copying live segments of the candidate storage containers to the new set of corresponding storage containers includes:

determining a set of segments stored in each of the candidate containers;

referencing the bit vector to determine which of the set of segments are indicated as live segments; and

copying only the live segments of the candidate storage containers to the new set of corresponding storage containers.

7. The method of claim 1 , wherein the storage containers of the deduplicated storage system are immutable and part of a log-structured file system.

8. A system, comprising:

a memory storing instructions; and

a processor coupled to the memory to execute the instructions from the memory, the processor performing operations, comprising:

receiving an indication to sanitize a file from a deduplicated storage system, wherein the deduplicated storage system stores files as data segments across one or more storage containers;

determining an initial storage date of the file, wherein the initial storage date is based on one or more attributes associated with the file;

determining a set of candidate storage containers having at least one dead segment and a creation date on or after the determined initial storage date of the file;

copying live segments of the candidate storage containers to a new set of corresponding storage containers, wherein an enumerated file index determines which segments stored in the deduplicated storage system are the live segments; and

sanitizing the candidate storage containers by overwriting physical data blocks of the live and dead segments of the candidate storage containers.

9. The system of claim 8 , the operations further comprising:

deleting the file from the deduplicated storage system, wherein deleting the file from the deduplicated storage system includes unreferencing the data segments of the file, wherein the unreferenced data segments are interpreted as dead segments by the storage system.

10. The system of claim 9 , wherein determining the initial storage date of the file includes:

receiving, by the deduplicated storage system, the one or more attributes associated with file;

accessing a file history of files stored to the deduplicated storage system, wherein the file history stores one or more attributes associated with each file and an initial storage date indicating a date each file was first stored to the deduplicated storage system; and

determining the initial storage date of the file based on the received one or more attributes.

11. The system of claim 10 , wherein the received one or more attributes includes at least a filename of the file.

12. The system of claim 10 , wherein determining the initial storage date of the file further includes:

providing, via a user interface to be displayed on a client device, an option to provide an input for the one or more attributes associated with the file to be sanitized.

13. The system of claim 9 , further comprising:

updating a bit vector to indicate the live segments, wherein each segment of the file index corresponds to a unique bit position within the bit vector.

14. The system of claim 13 , wherein copying live segments of the candidate storage containers to the new set of corresponding storage containers includes:

determining a set of segments stored in each of the candidate containers;

referencing the bit vector to determine which of the set of segments are indicated as live segments; and

copying only the live segments of the candidate storage containers to the new set of corresponding storage containers.

15. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations, comprising:

deleting a file from a deduplicated storage system, the deduplicated storage system stores files as data segments across one or more storage containers, wherein deleting the file from the deduplicated storage system includes unreferencing the data segments of the file, wherein the unreferenced data segments are interpreted as dead segments by the storage system;

receiving an indication to sanitize the file from a deduplicated storage system;

determining an initial storage date of the file, wherein the initial storage date is based on one or more attributes associated with the file;

determining a set of candidate storage containers having at least one dead segment and a creation date on or after the determined initial storage date of the file;

copying live segments of the candidate storage containers to a new set of corresponding storage containers, wherein an enumerated file index determines which segments stored in the deduplicated storage system are the live segments; and

sanitizing the candidate storage containers by overwriting physical data blocks of the live and dead segments of the candidate storage containers.

16. The medium of claim 15 , wherein determining the initial storage date of the file includes:

receiving, by the deduplicated storage system, the one or more attributes associated with file;

accessing a file history of files stored to the deduplicated storage system, wherein the file history stores one or more attributes associated with each file and an initial storage date indicating a date each file was first stored to the deduplicated storage system; and

determining the initial storage date of the file based on the received one or more attributes.

17. The medium of claim 16 , wherein the received one or more attributes includes at least a filename of the file.

18. The medium of claim 16 , wherein determining the initial storage date of the file further includes:

providing, via a user interface to be displayed on a client device, an option to provide an input for the one or more attributes associated with the file to be sanitized.

19. The medium of claim 15 , further comprising:

updating a bit vector to indicate the live segments, wherein each segment of the file index corresponds to a unique bit position within the bit vector.

20. The medium of claim 19 , wherein copying live segments of the candidate storage containers to the new set of corresponding storage containers includes:

determining a set of segments stored in each of the candidate containers;

referencing the bit vector to determine which of the set of segments are indicated as live segments; and

copying only the live segments of the candidate storage containers to the new set of corresponding storage containers.

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 (044535/0109) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2017
From: CHINTHEKINDI, RAMPRASAD; VEERAL, SHAH; DUGGAL, ABHINAV
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043946/0375 →