IP Library › Granted Patent US 10,061,798
Granted Patent B2
US 10,061,798 · App. 15/803,510 · Granted Aug 28, 2018

Method for maintaining multiple fingerprint tables in a deduplicating storage system

Inventors: John Colgrove (Los Altos, CA); Joseph S. Hasbani (Mountain View, CA); John Hayes (Mountain View, CA); Ethan Miller (Santa Cruz, CA); Cary Sandvig (Palo Alto, CA)
Assignee: Pure Storage, Inc.
G06F17/30371G06F3/067G06F3/0608G06F3/0619G06F3/0637G06F3/0641G06F3/0689G06F17/30156G06F17/30159G06F17/30952
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,061,798
App. No.
15/803,510
Filed
Nov 3, 2017
Granted
Aug 28, 2018
Kind
B2
Art Unit
2139
USPC
711/156
Abstract

A system and method for managing tables in a storage system is described.

Claims (31)

1. A system comprising:

a data storage medium;

a first fingerprint table comprising a first plurality of entries;

a second fingerprint table comprising a second plurality of entries;

wherein each of the first plurality of entries and each of the second plurality of entries are configured to store fingerprint data corresponding to data stored in the data storage medium;

wherein the first fingerprint table is configured to store entries corresponding to data stored in the data storage medium which has been deemed more likely to be commonly deduplicated than other data stored in the data storage medium; and

wherein the second fingerprint table is configured to store entries corresponding to data stored in the data storage medium which has been deemed less likely to be commonly deduplicated than other data stored in the data storage medium; and

a data storage controller configured to perform a data access to the fingerprint data of the first fingerprint table as part of a deduplication operation.

2. The system as recited in claim 1 , wherein the data includes patterns as well as duplicates.

3. The system as recited in claim 1 , wherein the system is a flash system.

4. The system as recited in claim 1 , wherein the first plurality of entries comprises hashes.

5. A method comprising:

receiving data;

maintaining a first fingerprint table comprising a first plurality of entries; and

maintaining a second fingerprint table comprising a second plurality of entries;

wherein each of the first plurality of entries and each of the second plurality of entries are configured to store fingerprint data corresponding to a portion of the data stored in a data storage medium;

selecting the first fingerprint table for storage of an entry corresponding to given data stored in the data storage medium, responsive to the given data having been deemed more likely to be commonly deduplicated than other data stored in the data storage medium; and

selecting the second fingerprint table for storage of the entry, responsive to the given data having been deemed less likely to be commonly deduplicated than other data stored in the data storage medium; and

performing, by a data storage controller, a data access to the fingerprint data of the first fingerprint table as part of a deduplication operation.

6. The method of claim 5 , wherein the data includes patterns as well as duplicates.

7. The method of claim 5 , wherein the first plurality of entries comprises hashes.

8. A non-transitory computer readable storage medium comprising program instructions, wherein said program instructions are executable to:

receive data;

maintain a first fingerprint table comprising a first plurality of entries; and

maintain a second fingerprint table comprising a second plurality of entries;

wherein each of the first plurality of entries and each of the second plurality of entries are configured to store fingerprint data corresponding to a portion of the data that is stored in a data storage medium;

select the first fingerprint table for storage of an entry corresponding to given data stored in the data storage medium, responsive to the given data having been deemed more likely to be commonly deduplicated than other data stored in the data storage medium; and

select the second fingerprint table for storage of the entry, responsive to the given data having been deemed less likely to be commonly deduplicated than other data stored in the data storage medium; and

perform, by a data storage controller, a data access to the fingerprint data of the first fingerprint table as part of a deduplication operation.

9. The non-transitory computer readable storage medium of claim 8 , wherein the data includes patterns as well as duplicates.

10. The non-transitory computer readable storage medium of claim 8 , wherein the first plurality of entries comprises hashes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: COLGROVE, JOHN; HAYES, JOHN; MILLER, ETHAN; HASBANI, JOSEPH S.; SANDVIG, CARY
To: PURE STORAGE, INC.
Reel/Frame 046511/0384 →
Continuity (4)
Continuation 14751099 · Jun 25, 2015
Continuation 14083152 · Nov 18, 2013
Continuation 13273858 · Oct 14, 2011
Related Publication 20180060383A1 · Mar 1, 2018
Cited By (1)
US 12,277,106