IP Library › Granted Patent US 10,210,169
Granted Patent B2
US 10,210,169 · App. 13/077,784 · Granted Feb 19, 2019

System and method for verifying consistent points in file systems

Inventors: Soumyadeb Mitra (San Jose, CA); Windsor W. Hsu (San Jose, CA)
Assignee: EMC IP Holding Company LLC
G06F17/3015G06F11/1435G06F17/30088G06F11/1469G06F2201/82
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,210,169
App. No.
13/077,784
Filed
Mar 31, 2011
Granted
Feb 19, 2019
Kind
B2
Art Unit
2166
USPC
707/687
Abstract

According to one embodiment, in response to a request for verifying a first prime representing a consistent point of a file system of a storage system having a plurality of storage units, each of a plurality of prime segments collectively representing the first prime is examined to determine whether the corresponding prime segment has been previously verified. Each of the prime segments is stored in one of the storage units, respectively. At least a first of the prime segments that has not been previously verified is verified, without verifying a second of the prime segments that has been previously verified. The first prime, when at least the first prime segment has been successfully verified, can be used to construct the consistent point of the file system.

Claims (25)

1. A computer-implemented method for maintaining a consistent point of a file system, the method comprising: receiving a request to verify a first prime representing a first consistent point of a file system of a storage system having a plurality of storage units, wherein the first prime is collectively represented by a plurality of prime segments, each of the plurality of prime segments representing a token marking a head of a log file in the file system, wherein the verifying includes determining whether each of the plurality of prime segments exists in one of the plurality of storage units;

in response to receiving the request, examining, by an archiver executed by a processor, each of the plurality of prime segments collectively representing the first prime to determine whether the corresponding prime segment has been previously verified via a second prime representing a last known installable prime, including, for each of the plurality of prime segments collectively representing the first prime, determining whether the prime segment is included in a plurality of prime segments collectively representing the second prime, wherein each of the prime segments is stored in one of the storage units, respectively, wherein the first consistent point of the file system was captured at a first given point in time, wherein the second prime represents a second consistent point of the file system that was captured at a second given point in time prior to the first given point in time; and

determining, by the archiver, at least a first of the prime segments that has not been previously verified, without verifying a second of the prime segments that has been previously verified, wherein verifying the first of the prime segments and the second of the prime segments includes determining whether the first and the second of the prime segments exist in their respective storage units, wherein the first prime, when at least the first prime segment has been successfully verified, can be used to construct the first consistent point of the file system for a purpose of restoring the file system to a known consistent point, wherein the plurality of storage units include a first storage unit and a second storage unit, wherein the first storage unit is an active storage unit and the second storage unit is an archive storage unit that archives data of the first storage unit, and wherein the first prime segment is only stored in the first storage unit and the second prime segment is only stored in the second storage unit, wherein the second prime was recorded as an installable prime in a persistent storage location of the storage system, wherein each of a plurality of prime segments collectively representing the second prime has been verified, wherein a prime segment included in the plurality of prime segments collectively representing the second prime is not to be verified again for a purpose of verifying the first prime.

2. The method of claim 1 , wherein each of the storage units is configured to store segments of data files that are deduplicated within the corresponding storage unit.

3. The method of claim 2 , wherein each of the first and second primes is represented by a prime dependency list having a plurality of entries which represent the plurality of prime segments collectively representing each of the first and second primes.

4. The method of claim 3 , wherein each of the entries in the prime dependency list comprises a prime segment identifier (ID) associated with a storage unit ID indicating that a prime segment identified by the prime segment ID is supposed to be stored in one of the storage units identified by the storage unit ID.

5. The method of claim 4 , wherein determining whether a prime segment has been previously verified further comprises matching the prime segment ID and the storage unit ID in each entry between dependency lists of the first and second primes.

6. A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a computer, cause the computer to perform operations of maintaining a consistent point of a file system, the operations comprising:

receiving a request to verify a first prime representing a first consistent point of a file system of a storage system having a plurality of storage units, wherein the first prime is collectively represented by a plurality of prime segments, each of the plurality of prime segments representing a token marking a head of a log file in the file system, wherein the verifying includes determining whether each of the plurality of prime segments exists in one of the plurality of storage units;

in response to receiving the request, examining, by an archiver executed by a processor, each of the plurality of prime segments collectively representing the first prime to determine whether the corresponding prime segment has been previously verified via a second prime representing a last known installable prime, including, for each of the plurality of prime segments collectively representing the first prime, determining whether the prime segment is included in a plurality of prime segments collectively representing the second prime, wherein each of the prime segments is stored in one of the storage units, respectively, wherein the first consistent point of the file system was captured at a first given point in time, wherein the second prime represents a second consistent point of the file system that was captured at a second given point in time prior to the first given point in time; and

determining, by the archiver, at least a first of the prime segments that has not been previously verified, without verifying a second of the prime segments that has been previously verified, wherein verifying the first of the prime segments and the second of the prime segments includes determining whether the first and the second of the prime segments exist in their respective storage units, wherein the first prime, when at least the first prime segment has been successfully verified, can be used to construct the first consistent point of the file system for a purpose of restoring the file system to a known consistent point, wherein the plurality of storage units include a first storage unit and a second storage unit, wherein the first storage unit is an active storage unit and the second storage unit is an archive storage unit that archives data of the first storage unit, and wherein the first prime segment is only stored in the first storage unit and the second prime segment is only stored in the second storage unit, wherein the second prime was recorded as an installable prime in a persistent storage location of the storage system, the second prime being collectively represented by a plurality of prime segments of which each of the prime segments has been verified, wherein a prime segment included in the plurality of prime segments collectively representing the second prime is not to be verified again for a purpose of verifying the first prime.

7. The non-transitory computer-readable storage medium of claim 6 , wherein each of the storage units is configured to store segments of data files that are deduplicated within the corresponding storage unit.

8. The non-transitory computer-readable storage medium of claim 7 , wherein each of the first and second primes is represented by a prime dependency list having a plurality of entries which represent the plurality of prime segments collectively representing each of the first and second primes.

9. The non-transitory computer-readable storage medium of claim 8 , wherein each of the entries in the prime dependency list comprises a prime segment identifier (ID) associated with a storage unit ID indicating that a prime segment identified by the prime set ID is supposed to be stored in one of the storage units identified by the storage unit ID.

10. The non-transitory computer-readable storage medium of claim 9 , wherein determining whether a prime segment has been previously verified further comprises matching the prime segment ID and the storage unit ID in each entry between dependency lists of the first and second primes.

11. A storage system, comprising:

a plurality of storage units, each storage unit storing segments of data files that are deduplicated within the respective storage unit, wherein the plurality of storage units include a first storage unit and a second storage unit, wherein the first storage unit is an active storage unit and the second storage unit is an archive storage unit that archives data of the first storage unit;

an archiver coupled to the storage units configured to

receive a request to verify a first prime representing a first consistent point of a file system, wherein the first prime is collectively represented by a plurality of prime segments, each of the plurality of prime segments representing a token marking a head of a log file in the file system, wherein the verifying includes determining whether each of the plurality of prime segments exists in one of the plurality of storage units,

in response to receiving the request, examine each of the plurality of prime segments collectively representing the first prime to determine whether the corresponding prime segment has been previously verified via a second prime representing a last known installable prime, including, for each of the plurality of prime segments collectively representing the first prime, the archiver is configured to determine whether the prime segment is included in the plurality of prime segments collectively representing the second prime, wherein each of the prime segments is stored in one of the storage units, respectively, wherein the first consistent point of the file system was captured at a first given point in time, wherein the second prime represents a second consistent point of the file system that was captured at a second given point in time prior to the first given point in time, and

determining at least a first of the prime segments that has not been previously verified, without verifying a second of the prime segments that has been previously verified, wherein verifying the first of the prime segments and the second of the prime segments includes determining whether the first and the second of the prime segments exist in their respective storage units, wherein the first prime, when at least the first prime segment has been successfully verified, can be used to construct the first consistent point of the file system for a purpose of restoring the file system to a known consistent point, wherein the first prime segment is only stored in the first storage unit and the second prime segment is only stored in the second storage unit; and

a cache coupled to the archiver configured to cache the second prime as an installable prime, wherein the second prime being collectively represented by a plurality of prime segments of which each of the prime segments has been verified, wherein a prime segment included in the plurality of prime segments collectively representing the second prime is not to be verified again for a purpose of verifying the first prime.

12. The system of claim 11 , wherein each of the first and second primes is represented by a prime dependency list having a plurality of entries which represent the plurality of prime segments collectively representing each of the first and second primes.

13. The system of claim 12 , wherein each of the entries in the prime dependency list comprises a prime set identifier (ID) associated with a storage unit ID indicating that a prime segment identified by the prime segment ID is supposed to be stored in one of the storage units identified by the storage unit ID.

14. The system of claim 13 , wherein determining whether a prime segment has been previously verified further comprises matching the prime segment ID and the storage unit ID in each entry between dependency lists of the first and second primes.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 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/0486 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0466 →
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 Mar 31, 2011
From: MITRA, SOUMYADEB; HSU, WINDSOR W.
To: EMC CORPORATION
Reel/Frame 026058/0602 →
Continuity (1)
Related Publication 20120254126A1 · Oct 4, 2012