IP Library Granted Patent US 10,896,152
Granted Patent B2
US 10,896,152 · App. 16/054,216 · Granted Jan 19, 2021

Method, apparatus and computer program product for managing data storage

Inventors: Yaming Kuang (Shanghai, CN); Philippe Armangau (Acton, MA)
Assignee: EMC IP Holding Company LLC
G06F16/1748
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,896,152
App. No.
16/054,216
Granted
Jan 19, 2021
Kind
B2
Abstract

There is disclosed techniques for managing data storage. In one embodiment, the techniques comprise determining whether a part of a file system block is associated with deduplication. The techniques also comprise updating a deduplication record of the file system block, based on the said determination, to indicate a deduplication status in connection with the part such that the updated deduplication record describes for multiple occurrences of one or more parts of the file system block whether the respective one or more parts are associated with deduplication.

Claims (56)

1. A method, comprising:

updating a deduplication record of a file system block to indicate a deduplication status in connection with a part of the file system block, such that the updated deduplication record describes for multiple occurrences of one or more parts of the file system block whether the respective one or more parts are associated with deduplication, and such that, when an error occurs, an entire leaf indirect block can be rebuilt based on virtual block map (VBM) extent information.

2. The method as claimed in claim 1 , wherein the file system block comprises a leaf indirect block (IB) and the parts relate to mapping pointers (MPs) in the IB; and

wherein the method further comprises:

detecting an error in connection with the IB; and

rebuilding the IB by utilizing the deduplication record in connection with the IB.

3. The method as claimed in claim 2 , wherein a second file system block comprising a virtual block map (VBM) also includes a deduplication record indicating whether respective extents in the VBM are associated with deduplication; and

wherein the rebuilding of the IB comprises utilizing the deduplication record in connection with the VBM.

4. The method as claimed in claim 3 , wherein each of the deduplication records in connection with the IB and the VBM comprise respective bitmaps; and

wherein the rebuilding of the IB comprises marking one or more of the MPs as one of bad indicating an error or a hole based at least on one of the bitmaps.

5. The method as claimed in claim 1 , wherein the file system block comprises a virtual block map (VBM) and the parts relate to extents in the VBM; and

wherein the method further comprises:

detecting an error in connection with the VBM;

in response to detecting the error, initializing the deduplication record of the VBM to indicate that no extent of the VBM is associated with deduplication;

rebuilding the VBM by traversing an indirect block (IB) tree to locate a mapping pointer of an IB pointing to the VBM;

rebuilding the VBM by traversing an indirect block (IB) tree to locate a deduplication mapping pointer of an IB pointing to the VBM; and

updating the initialized deduplication record upon locating a deduplication mapping pointer to indicate that an extent of the VBM to which the deduplication mapping pointer is pointing is associated with deduplication.

6. The method as claimed in claim 1 , wherein the file system block relates to one of an indirect block (IB) and a virtual block map (VBM) and the deduplication record is located respectively in one of the IB block metadata (BMD) and the VBM header.

7. An apparatus, comprising:

memory; and

processing circuitry coupled to the memory, the memory storing instructions which, when executed by the processing circuitry, cause the processing circuitry to:

update a deduplication record of a file to indicate a deduplication status in connection with a part of the file system block such that the updated deduplication record describes for multiple occurrences of one or more parts of the file system block whether the respective one or more parts are associated with deduplication, and such that, when an error occurs, an entire leaf indirect block can be rebuilt based on virtual block map (VBM) extent information.

8. The apparatus as claimed in claim 7 , wherein the file system block comprises a leaf indirect block (IB) and the parts relate to mapping pointers (MPs) in the IB; and

wherein the memory further stores instructions which, when executed by the processing circuitry, cause the processing circuitry to:

detect an error in connection with the IB; and

rebuild the IB by utilizing the deduplication record in connection with the IB.

9. The apparatus as claimed in claim 8 , wherein a second file system block comprising a virtual block map (VBM) also includes a deduplication record indicating whether respective extents in the VBM are associated with deduplication; and

wherein the rebuilding of the IB comprises utilizing the deduplication record in connection with the VBM.

10. The apparatus as claimed in claim 9 , wherein each of the deduplication records in connection with the IB and the VBM comprise respective bitmaps; and

wherein the rebuilding of the IB comprises marking one or more of the MPs as one of bad indicating an error or a hole based at least on one of the bitmaps.

11. The apparatus as claimed in claim 7 , wherein the file system block comprises a virtual block map (VBM) and the parts relate to extents in the VBM; and

wherein the memory further stores instructions which, when executed by the processing circuitry, cause the processing circuitry to:

detect an error in connection with the VBM;

in response to detecting the error, initialize the deduplication record of the VBM to indicate that no extent of the VBM is associated with deduplication;

rebuild the VBM by traversing an indirect block (IB) tree to locate a mapping pointer of an IB pointing to the VBM;

rebuild the VBM by traversing an indirect block (IB) tree to locate a deduplication mapping pointer of an IB pointing to the VBM; and

update the initialized deduplication record upon locating a deduplication mapping pointer to indicate that an extent of the VBM to which the deduplication mapping pointer is pointing is associated with deduplication.

12. The apparatus as claimed in claim 7 , wherein the file system block relates to one of an indirect block (IB) and a virtual block map (VBM) and the deduplication record is located respectively in one of the IB block metadata (BMD) and the VBM header.

13. A computer program product having a non-transitory computer readable medium which stores a set of instructions, the set of instructions, when carried out by processing circuitry, causing the processing circuitry to perform a method of:

updating a deduplication record of a file system block to indicate a deduplication status in connection with a part of the file system block such that the updated deduplication record describes for multiple occurrences of one or more parts of the file system block whether the respective one or more parts are associated with deduplication, and such that, when an error occurs, an entire leaf indirect block can be rebuilt based on virtual block map (VBM) extent information.

14. The computer program product as claimed in claim 13 , wherein the file system block comprises a leaf indirect block (IB) and the parts relate to mapping pointers (MPs) in the IB; and

wherein the method further comprises:

detecting an error in connection with the IB; and

rebuilding the IB by utilizing the deduplication record in connection with the IB.

15. The computer program product as claimed in claim 14 , wherein a second file system block comprising a virtual block map (VBM) also includes a deduplication record indicating whether respective extents in the VBM are associated with deduplication; and

wherein the rebuilding of the IB comprises utilizing the deduplication record in connection with the VBM.

16. The computer program product as claimed in claim 15 , wherein each of the deduplication records in connection with the IB and the VBM comprise respective bitmaps; and

wherein the rebuilding of the IB comprises marking one or more of the MPs as one of bad indicating an error or a hole based at least on one of the bitmaps.

17. The computer program product as claimed in claim 13 , wherein the file system block comprises a virtual block map (VBM) and the parts relate to extents in the VBM; and

wherein the method further comprises:

detecting an error in connection with the VBM;

in response to detecting the error, initializing the deduplication record of the VBM to indicate that no extent of the VBM is associated with deduplication;

rebuilding the VBM by traversing an indirect block (IB) tree to locate a mapping pointer of an IB pointing to the VBM;

rebuilding the VBM by traversing an indirect block (IB) tree to locate a deduplication mapping pointer of an IB pointing to the VBM; and

updating the initialized deduplication record upon locating a deduplication mapping pointer to indicate that an extent of the VBM to which the deduplication mapping pointer is pointing is associated with deduplication.

18. The computer program product as claimed in claim 13 , wherein the file system block relates to one of an indirect block (IB) and a virtual block map (VBM) and the deduplication record is located respectively in one of the IB block metadata (BMD) and the VBM header.

Assignments (8)
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 (047648/0422) Recorded May 20, 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
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
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 →
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 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2018
From: KUANG, YAMING; ARMANGAU, PHILIPPE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046549/0909 →
Continuity (1)
Related Publication 20200042616A1 · Feb 6, 2020