IP Library › Granted Patent US 11,500,835
Granted Patent B2
US 11,500,835 · App. 16/265,722 · Granted Nov 15, 2022

Cohort management for version updates in data deduplication

Inventors: Gordon D. Hutchison (Eastleigh, GB); Christopher B. E. Beeken (Hants, GB); Ben Sasson (North Baddesley, GB); Lee J. Sanders (Chichester, GB)
Assignee: International Business Machines Corporation
G06F16/215G06F16/219G06F16/2365
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,500,835
App. No.
16/265,722
Granted
Nov 15, 2022
Kind
B2
Abstract

An apparatus for improved version updates in data deduplication includes a baseline module that stores a baseline referrer link in a first cohort of baseline referrer links pointing to a first location in storage where a baseline version data block is stored. The apparatus includes a signpost module that stores to metadata a signpost that points to an updated referrer link in a second cohort of updated referrer links that points to a second location in the deduplicating storage device where an updated version data block is stored in response to the updated version data block being generated. The apparatus includes a cohort update module that replaces the baseline referrer link with the updated referrer link in response to determining that an additional updated version data block matches the updated version data block pointed to by the signpost. A method and a system implement functions of the apparatus.

Claims (46)

1. An apparatus, comprising:

a baseline module that:

stores a first baseline referrer link pointing from a first metadata section of a baseline version data block on a first storage volume to a first location in a deduplicating storage device where the baseline version data block is stored,

stores a second baseline referrer link pointing from a second metadata section of the baseline version data block on one or more second storage volumes to the first metadata section of the baseline version data block, the first baseline referrer link and the second baseline referrer link comprising a first cohort of baseline referrer links, and

stores a first updated referrer link pointing from a second metadata section of an updated version data block of the baseline version data block on a second storage volume of the one or more second storage volumes to a second location in the deduplicating storage device where the updated version data block is stored, in response to the updated version data block of the baseline version data block being generated;

a signpost module that stores a signpost of the first metadata section of the baseline version data block, wherein the signpost points to the second metadata section of the updated version data block while maintaining the first baseline referrer link of the first storage volume that points to the first location on the deduplicating storage device and a second baseline referrer link of any remaining second storage volumes of the one or more second storage volumes that points to the first metadata section of the first storage volume; and

a cohort update module that replaces the second baseline referrer link for any of the remaining second storage volumes with a second updated referrer link that points to the second metadata section of the updated version data block in response to determining that an additional updated version data block associated with any of the remaining second storage volumes matches the updated version data block stored at the second location on the deduplicating storage device and pointed to by the first updated referrer link,

wherein at least a portion of each of said modules comprises one or more of a set of hardware circuits, a set of programmable hardware devices, and executable code stored on a set of non-transitory computer-readable storage media.

2. The apparatus of claim 1 , wherein:

the signpost module further stores, to the first metadata section, a hash computed on the updated version data block pointed to by the first updated referrer link; and

the cohort update module determines whether the additional updated version data block matches the updated version data block pointed to by the first updated referrer link by comparing an additional hash computed on the additional updated version data block with the hash stored with the signpost.

3. The apparatus of claim 1 , wherein the first updated referrer link and the second updated referrer link comprise a second cohort of updated referrer links distributed across a plurality of volumes.

4. The apparatus of claim 1 , wherein the cohort update module replaces the second baseline referrer link with the second updated referrer link during inline deduplication of the additional updated version data block.

5. The apparatus of claim 1 , wherein the signpost module increments a count of signpost followers in response to the cohort update module determining that the additional updated version data block matches the updated version data block pointed to by the first updated referrer link.

6. The apparatus of claim 5 , wherein the signpost module stores one or more signposts and hashes to the first metadata section in response to one or more updated version data blocks of the baseline version data block being generated.

7. The apparatus of claim 6 , wherein the signpost module sorts the one or more signposts into a sorted order based on the count of signpost followers that have joined a second cohort corresponding to the one or more updated version data blocks.

8. The apparatus of claim 7 , wherein the cohort update module compares a hash of the additional updated version data block with the hashes stored with the one or more signposts in the sorted order.

9. A computer-implemented method, comprising:

storing a first baseline referrer link pointing from a first metadata section of a baseline version data block on a first storage volume to a first location in a deduplicating storage device where the baseline version data block is stored;

storing a second baseline referrer link pointing from a second metadata section of the baseline version data block on one or more second storage volumes to the first metadata section of the baseline version data block, the first baseline referrer link and the second baseline referrer link comprising a first cohort of baseline referrer links;

storing a first updated referrer link pointing from a second metadata section of an updated version data block of the baseline version data block on a second storage volume of the one or more second storage volumes to a second location in the deduplicating storage device where the updated version data block is stored, in response to the updated version data block of the baseline version data block being generated;

storing a signpost of the first metadata section of the baseline version data block, wherein the signpost points to the second metadata section of the updated version data block while maintaining the first baseline referrer link of the first storage volume that points to the first location on the deduplicating storage device and a second baseline referrer link of any remaining second storage volumes of the one or more second storage volumes that points to the first metadata section of the first storage volume; and

replacing the second baseline referrer link for any of the remaining second storage volumes with a second updated referrer link that points to the second metadata second of the updated version data block in response to determining that an additional updated version data block associated with any of the remaining second storage volumes matches the updated version data block stored at the second location on the deduplicating storage device and pointed to by the first updated referrer link.

10. The method of claim 9 , further comprising:

storing, to the first metadata section, a hash computed on the updated version data block stored pointed to by the first updated referrer link; and

determining whether the additional updated version data block matches the updated version data block pointed to by the first updated referrer link by comparing an additional hash computed on the additional updated version data block with the hash stored with the signpost.

11. The method of claim 9 , wherein the first updated referrer link and the second updated referrer link comprise a second cohort of updated referrer links distributed across a plurality of volumes.

12. The method of claim 9 , further comprising replacing the second baseline referrer link with the second updated referrer link during inline deduplication of the additional updated version data block pointed to by the signpost.

13. The method of claim 9 , further comprising incrementing a count of signpost followers in response to determining that the additional updated version data block matches the updated version data block pointed to by the first updated referrer link.

14. The method of claim 13 , further comprising storing one or more signposts and hashes to the first metadata section in response to one or more updated version data blocks of the baseline version data block being generated.

15. The method of claim 14 , further comprising sorting the one or more signposts into a sorted order based on the count of signpost followers that have joined a second cohort corresponding to the updated version data blocks.

16. The method of claim 15 , further comprising comparing a hash of the additional updated version data block with the hashes stored with the one or more signposts in the sorted order.

17. A system, comprising:

one or more storage devices; and

a storage controller configured to store deduplicated data to the one or more storage devices,

the storage controller comprising a processor that is configured to:

store a first baseline referrer link pointing from a first metadata section of a baseline version data block on a first storage volume to a first location in a deduplicating storage device where the baseline version data block is stored,

store a second baseline referrer link pointing from a second metadata section of the baseline version data block on one or more second storage volumes to the first metadata section of the baseline version data block, the first baseline referrer link and the second baseline referrer link comprising a first cohort of baseline referrer links,

store a first updated referrer link pointing from a second metadata section of an updated version data block of the baseline version data block on a second storage volume of the one or more second storage volumes to a second location in the deduplicating storage device where the updated version data block is stored, in response to the updated version data block of the baseline version data block being generated,

store a signpost of the first metadata section of the baseline version data block, wherein the signpost points to the second metadata section of the updated version data block while maintaining the first baseline referrer link of the first storage volume that points to the first location on the deduplicating storage device and a second baseline referrer link of any remaining second storage volumes of the one or more storage volumes that points to the first metadata section of the first storage volume, and

replace the second baseline referrer link for any of the remaining second storage volumes with a second updated referrer link that points to the second metadata section of the updated version data block in response to determining that an additional updated version data block associated with any of the remaining second storage volumes matches the updated version data block stored at the second location on the deduplicating storage device and pointed to by the first updated referrer link.

18. The system of claim 17 , wherein the processor is further configured to perform:

storing, to the first metadata section, a hash computed on the updated version data block pointed to by the first updated referrer link; and

determining whether the additional updated version data block matches the updated version data block pointed to by the first updated referrer link by comparing an additional hash computed on the additional updated version data block with the hash stored with the signpost.

19. The system of claim 17 , wherein the first updated referrer link and the second updated referrer link comprise a second cohort of updated referrer links distributed across a plurality of volumes.

20. The system of claim 17 , wherein the processor is further configured to perform replacing the second baseline referrer link with the second updated referrer link during inline deduplication of the additional updated version data block.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF LEE J. SANDERS NAME PREVIOUSLY RECORDED ON REEL 048229 FRAME 0843. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Feb 6, 2019
From: HUTCHISON, GORDON D.; BEEKEN, CHRISTOPHER B.E.; SASSON, BEN; SANDERS, LEE J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048267/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: HUTCHISON, GORDON D.; BEEKEN, CHRISTOPHER B.E.; SASSON, BEN; SANDERS, DILEEP J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048229/0843 →
Continuity (1)
Related Publication 20200250158A1 · Aug 6, 2020