IP Library › Granted Patent US 11,640,390
Granted Patent B2
US 11,640,390 · App. 17/404,178 · Granted May 2, 2023

Bulk file verification

Inventors: Abhinav Duggal (Santa Clara, CA); Tony Wong (Milpitas, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/2365G06F16/11G06F16/2246G06F16/9535
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,640,390
App. No.
17/404,178
Granted
May 2, 2023
Kind
B2
Abstract

Systems and methods for verifying files in bulk in a file system. When files are represented by a segment tree, the levels of the segment trees are walked by level such that that multiple files are verified at the same time in order to identify missing segments. Then, a bottom up scan is performed using the missing segments to identify the files corresponding to the missing segments. The missing files can then be handled by the file system.

Claims (24)

1. A method for verifying files in bulk in a computing system, the method comprising:

performing a top down segment breadth walk in each of multiple segment trees to identify missing segments in a file system;

performing a bottom up segment breadth walk in each of the multiple segment trees to identify files corresponding to the missing segments; and

performing an action each of the identified files, wherein the action includes one of reinserting the missing files into the file system, reconstructing the missing files, or performing garbage collections on the missing segments.

2. The method of claim 1 , wherein each segment tree includes multiple levels, wherein a bottom level corresponds to data segments and wherein levels above the bottom level correspond to metadata segments.

3. The method of claim 2 , wherein the metadata segments of a particular level are mostly stored in the same container and metadata segments of different levels of the segment trees are mostly stored in different containers such that random IOs are reduced and such that the containers, during the top down segment breadth walk and the bottom up segment breadth walk can be read sequentially.

4. The method of claim 3 , wherein the segment tree includes a level L( 0 ) for the data segments and levels L( 1 )-L( 6 ) for metadata segments.

5. The method of claim 1 , wherein the top down segment breadth walk uses a walk vector, a match vector and a missing vector, wherein the match vector includes identifies obtained from segment references and the missing vector stores identifies of missing segments.

6. The method of claim 5 , further comprising walking a directory manager to add all top level references to the walk vector, wherein references identified during the top down segment breadth walk are included in the walk vector and the match vector.

7. The method of claim 6 , further comprising identifying comparing the match vector with an index and adding missing data segments to the missing vector.

8. The method of claim 7 , wherein the bottom up segment breadth walk is configured to identify segments whose identifiers are associated with the segments in the missing vector.

9. The method of claim 8 , further comprising walking a namespace to identify files corresponding to top level segments placed in the missing vector by the bottom up segment breadth walk, wherein filenames corresponding to the missing segments are identified.

10. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations for verifying files in bulk in a computing system, the operations comprising:

performing a top down segment breadth walk in each of multiple segment trees to identify missing segments in a file system;

performing a bottom up segment breadth walk in each of the multiple segment trees to identify files corresponding to the missing segments; and

performing an action each of the identified files, wherein the action includes one of reinserting the missing files into the file system, reconstructing the missing files, or performing garbage collections on the missing segments.

11. The non-transitory storage medium of claim 10 , wherein each segment tree includes multiple levels, wherein a bottom level corresponds to data segments and wherein levels above the bottom level correspond to metadata segments.

12. The non-transitory storage medium of claim 11 , wherein the metadata segments of a particular level are mostly stored in the same container and metadata segments of different levels of the segment trees are mostly stored in different containers such that random IOs are reduced and such that the containers, during the top down segment breadth walk and the bottom up segment breadth walk can be read sequentially.

13. The non-transitory storage medium of claim 12 , wherein the segment tree includes a level L( 0 ) for the data segments and levels L( 1 )-L( 6 ) for metadata segments.

14. The non-transitory storage medium of claim 10 , wherein the top down segment breadth walk uses a walk vector, a match vector and a missing vector, wherein the match vector includes identifies obtained from segment references and the missing vector stores identifies of missing segments.

15. The non-transitory storage medium of claim 14 , further comprising walking a directory manager to add all top level references to the walk vector, wherein references identified during the top down segment breadth walk are included in the walk vector and the match vector.

16. The non-transitory storage medium of claim 15 , further comprising identifying comparing the match vector with an index and adding missing data segments to the missing vector.

17. The non-transitory storage medium of claim 16 , wherein the bottom up segment breadth walk is configured to identify segments whose identifiers are associated with the segments in the missing vector.

18. The non-transitory storage medium of claim 17 , further comprising walking a namespace to identify files corresponding to top level segments placed in the missing vector by the bottom up segment breadth walk, wherein filenames corresponding to the missing segments are identified.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2021
From: DUGGAL, ABHINAV; WONG, TONY
To: EMC CORPORATION
Reel/Frame 057201/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2021
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 057303/0104 →
Continuity (3)
Continuation 16659181 · Oct 21, 2019
Continuation 15195864 · Jun 28, 2016
Related Publication 20210374124A1 · Dec 2, 2021