IP Library › Granted Patent US 12,561,288
Granted Patent B2
US 12,561,288 · App. 17/813,218 · Granted Feb 24, 2026

Method and apparatus to verify file metadata in a deduplication filesystem

Inventors: Smriti Thakkar (San Jose, CA); Tony T. Wong (Cary, NC); Pooja Mahadik (Pune, IN)
Assignee: Dell Products L.P.
G06F16/1748G06F16/137G06F16/152
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 12,561,288
App. No.
17/813,218
Granted
Feb 24, 2026
Kind
B2
Abstract

One example method includes finding an Ln segment in a namespace, and adding the Ln segment to a fingerprint hashtable, scanning a container set and locating Ln in the container set, looking for Ln in the fingerprint hashtable, when Ln is found in the fingerprint hashtable, deleting Ln from the fingerprint hashtable, otherwise, retaining Ln in the fingerprint hashtable, when Ln is found in in the fingerprint hashtable, adding all fingerprints, pointed to by Ln, to the fingerprint hashtable, and when all levels of a tree that includes Ln have been checked, identifying as missing, any fingerprints still remaining in the fingerprint hashtable.

Claims (38)

1 . A method, comprising:

repeating following operations by decreasing ‘n’ in Ln from 6 to 1:

finding a Ln metadata segment in a namespace, and adding the Ln metadata segment, which is a fingerprint, to a fingerprint hashtable;

scanning a container set and locating a Ln segment in the container set;

looking for a fingerprint corresponding to the Ln segment in the fingerprint hashtable;

when the fingerprint corresponding to the Ln segment is found in the fingerprint hashtable:

deleting the corresponding fingerprint from the fingerprint hashtable; and

adding all fingerprints, which are from the Ln segment corresponding to the deleted fingerprint, to the fingerprint hashtable; and

while adding the all fingerprints, if a duplicate fingerprint is found, not adding the duplicate fingerprint to the fingerprint hashtable; and

when all levels of a tree that includes Ln metadata segments have been checked, identifying, as missing, any fingerprints still remaining in the fingerprint hashtable.

2 . The method as recited in claim 1 , wherein each fingerprint is a hash of a respective data segment that resides at a bottom level of the tree.

3 . The method as recited in claim 1 , wherein the namespace spans a local storage tier and a cloud storage tier.

4 . The method as recited in claim 1 , wherein the missing fingerprints indicate that a data loss has occurred.

5 . The method as recited in claim 1 , wherein the levels of the tree are checked from a top of the tree to a bottom of the tree.

6 . The method as recited in claim 1 , further comprising using the missing fingerprints to identify a file that includes data segments to which the missing fingerprints correspond.

7 . The method as recited in claim 1 , wherein a top segment of the tree comprises a hash of an entire file, and the file is identified by walking the namespace and matching the file to the top segment.

8 . The method as recited in claim 7 , wherein the file is identified as missing one or more data segments.

9 . The method as recited in claim 1 , wherein there is a one-to-one mapping between a pair and a fingerprint index, and

a segment exists if there is a live reference to that segment.

10 . A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

repeating following operations by decreasing ‘n’ in Ln from 6 to 1:

finding a Ln metadata segment in a namespace, and adding the Ln metadata segment, which is a fingerprint, to a fingerprint hashtable;

scanning a container set and locating a Ln segment in the container set;

looking for a fingerprint corresponding to the Ln segment in the fingerprint hashtable;

when the fingerprint corresponding to the Ln segment is found in the fingerprint hashtable:

deleting the corresponding fingerprint from the fingerprint hashtable; and

adding all fingerprints, which are from the LN Ln segment corresponding to the deleted fingerprint, to the fingerprint hashtable; and

while adding the all fingerprints, if a duplicate fingerprint is found, not adding the duplicate fingerprint to the fingerprint hashtable; and

when all levels of a tree that includes Ln metadata segments have been checked, identifying, as missing, any fingerprints still remaining in the fingerprint hashtable.

11 . The non-transitory storage medium as recited in claim 10 , wherein each fingerprint is a hash of a respective data segment that resides at a bottom level of the tree.

12 . The non-transitory storage medium as recited in claim 10 , wherein the namespace spans a local storage tier and a cloud storage tier.

13 . The non-transitory storage medium as recited in claim 10 , wherein the missing fingerprints indicate that a data loss has occurred.

14 . The non-transitory storage medium as recited in claim 10 , wherein the levels of the tree are checked from a top of the tree to a bottom of the tree.

15 . The non-transitory storage medium as recited in claim 10 , wherein the operations further comprise using the missing fingerprints to identify a file that includes data segments to which the missing fingerprints correspond.

16 . The non-transitory storage medium as recited in claim 10 , wherein a top segment of the tree comprises a hash of an entire file, and the file is identified by walking the namespace and matching the file to the top segment.

17 . The non-transitory storage medium as recited in claim 16 , wherein the file is identified as missing one or more data segments.

18 . The non-transitory storage medium as recited in claim 10 , wherein there is a one-to-one mapping between a pair and a fingerprint index, and

a segment exists if there is a live reference to that segment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2022
From: THAKKAR, SMRITI; WONG, TONY T.; MAHADIK, POOJA
To: DELL PRODUCTS L.P.
Reel/Frame 060538/0336 →
Continuity (1)
Related Publication 20240020273A1 · Jan 18, 2024
References Cited (28)
US 6393428B1 · Miller et al. · 2002 [cited by applicant]
US 8904137B1 · Zhang · 2014 [cited by examiner]
US 9367448B1 · Botelho et al. · 2016 [cited by applicant]
US 10108544B1 · Duggal · 2018 [cited by examiner]
US 11615813B1 · Goker et al. · 2023 [cited by applicant]
US 20130318051A1 · Kumar et al. · 2013 [cited by applicant]
US 20160110261A1 · Parab · 2016 [cited by examiner]
US 20180253438A1 · Zaydman · 2018 [cited by applicant]
US 20190188184A1 · Chittaro et al. · 2019 [cited by applicant]
US 20190272337A1 · Stewart et al. · 2019 [cited by applicant]
US 20200019623A1 · Wong · 2020 [cited by examiner]
US 20200133719A1 · Chinthekindi et al. · 2020 [cited by applicant]
US 20200133720A1 · Chinthekindi et al. · 2020 [cited by applicant]
US 20200177390A1 · Yang et al. · 2020 [cited by applicant]
US 20200250083A1 · Shilane · 2020 [cited by examiner]
US 20200310686A1 · Truong et al. · 2020 [cited by applicant]
US 20200310964A1 · Lu et al. · 2020 [cited by applicant]
US 20200310965A1 · Brandt et al. · 2020 [cited by applicant]
US 20200322159A1 · Xu et al. · 2020 [cited by applicant]
US 20200328886A1 · Newton et al. · 2020 [cited by applicant]
US 20200374301A1 · Manevich et al. · 2020 [cited by applicant]
US 20200382315A1 · Lakk · 2020 [cited by applicant]
US 20210124716A1 · Chinthekindi · 2021 [cited by examiner]
US 20210374124A1 · Duggal et al. · 2021 [cited by applicant]
US 20220326867A1 · Thakkar et al. · 2022 [cited by applicant]
US 20220365695A1 · Zhang et al. · 2022 [cited by applicant]
US 20240223381A1 · Hwang et al. · 2024 [cited by applicant]
US 20240264752A1 · Carr · 2024 [cited by applicant]