IP Library Granted Patent US 11,093,163
Granted Patent B2
US 11,093,163 · App. 16/408,694 · Granted Aug 17, 2021

Efficient capacity management for a data storage system

Inventors: Mikhail Danilov (Saint Petersburg, RU); Konstantin Buinov (Prague, CZ); Lu Lei (Shanghai, CN); Ao Sun (Shanghai, CN); Wesley Sun (Shanghai, CN); Gary Jialei Wu (Shanghai, CN); Yu Teng (Shanghai, CN); Chun Xi Kenny Chen (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/0652G06F3/0608G06F3/0644G06F3/0673
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,093,163
App. No.
16/408,694
Granted
Aug 17, 2021
Kind
B2
Abstract

The disclosed technology generally describes separating types of data chunks in a copy-on-write/MVCC B+ tree, chunk-based data storage system, and also allocating the sizes of leaf chunks to be smaller than that of other (e.g., internal and root node) chunks. By having leaf chunks separate from node chunks, the probability of having a fully reclaimable (without copying) chunk is increased. Similarly, by having smaller sized leaf chunks relative to node chunks, the probability of having a fully reclaimable (without copying) leaf chunks is increased. The technology thus facilitates more efficient garbage collection.

Claims (29)

1. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, the operations comprising:

maintaining a tree corresponding to internal node chunks and leaf chunks, comprising allocating the leaf chunks with a defined leaf chunk size based on a probability of leaves of a leaf chunk being updated;

allocating the internal node chunks with a defined internal node chunk size based on a probability of an internal node chunk being updated, wherein the defined internal node chunk size is equal to twelve times the defined leaf chunk size; and

reclaiming storage capacity corresponding to the leaf chunk when the leaves have been updated.

2. The system of claim 1 , wherein the allocating the leaf chunk with the defined leaf chunk size based on the probability of the leaves of the leaf chunk being updated comprises allocating the leaf chunk based on a number of leaves in the leaf chunk.

3. The system of claim 1 , wherein the allocating the leaf chunk with the defined leaf chunk size based on the probability of the leaves of the leaf chunk being updated comprises allocating the leaf chunk to correspond to a size of a chunk fragment.

4. The system of claim 1 , wherein the operations further comprise, updating a leaf in the leaf chunk.

5. The system of claim 4 , wherein the operations further comprise, in response to the updating the leaf in the leaf chunk, updating the internal node chunk of the tree, wherein the internal node chunk is a parent node to the leaf chunk.

6. The system of claim 1 , wherein the allocating the leaf chunk with the defined leaf chunk size based on the probability of the leaves of the leaf chunk being updated comprises allocating the leaf chunks with the defined leaf chunk size that is smaller than a size of the internal node chunks.

7. The system of claim 1 , wherein the operations further comprise allocating a root node with a size equal to the defined internal node chunk size.

8. The system of claim 1 , wherein the operations further comprise allocating nodes with a size based on a level of each node in a B+ tree.

9. The system of claim 1 , wherein the tree is a B+ tree.

10. A method, comprising,

configuring, in a system comprising a processor, a tree comprising a root node chunk, internal node chunks and leaf chunks, the configuring comprising allocating the internal node chunks with a predetermined internal node chunk size based on a first probability of an internal node chunk being updated, and allocating the leaf chunks with a predetermined leaf chunk size based on a second probability of leaves of a leaf chunk being updated, wherein the predetermined internal node chunk size that is equal to twelve times the predetermined leaf chunk size; and

maintaining the tree, comprising updating the leaf chunk, and reclaiming storage capacity of the leaf chunk in response to the leaf chunk being determined to have low capacity utilization relative to a specified low capacity utilization criterion.

11. The method of claim 10 , wherein the reclaiming the leaf chunk in response to the leaf chunk being determined to have the low capacity utilization relative to the specified low capacity utilization criterion comprises reclaiming the leaf chunk when leaves in the leaf chunk have been updated.

12. The method of claim 10 , wherein the allocating the leaf chunks with the predetermined leaf chunk size comprises allocating the leaf chunks based on a number of erasure coding data fragments.

13. The method of claim 10 , wherein the configuring further comprises allocating a root node with a size equal to the predetermined internal node chunk size.

14. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, the operations comprising:

allocating storage components of a tree, comprising allocating a root node chunk, allocating internal node chunks to each have a same or substantially the same internal node chunk size, and allocating leaf chunks with a leaf chunk size that corresponds to erasure coding fragments, and the leaf chunk size is equal to one twelfth of the internal node chunk size; and

maintaining the tree, comprising updating a leaf chunk, and reclaiming storage capacity of the leaf chunk when the leaf chunk has low capacity utilization relative to a specified low capacity utilization criterion.

15. The non-transitory machine-readable medium of claim 14 , wherein the reclaiming the leaf chunk when the leaf chunk has the low capacity utilization relative to the specified low capacity utilization criterion comprises reclaiming the leaf chunk when leaves in the leaf chunk have been updated.

16. The non-transitory machine-readable medium of claim 15 , wherein the reclaiming the storage capacity of the leaf chunk when the leaf chunk has the low capacity utilization relative to the specified low capacity utilization criterion comprises reclaiming the storage capacity of the leaf chunk when the leaf chunk contains no leaves that are in use.

17. The non-transitory machine-readable medium of claim 14 , wherein the root node chunk has a size equal to the internal node chunk size.

18. The non-transitory machine-readable medium of claim 14 , wherein the tree is a B+ tree.

19. The non-transitory machine-readable medium of claim 14 , wherein the operations further comprise, updating a leaf in the leaf chunk.

20. The non-transitory machine-readable medium of claim 19 , wherein the operations further comprise, in response to the updating the leaf in the leaf chunk, updating an internal node chunk of the tree, wherein the internal node chunk is a parent node to the leaf chunk.

Assignments (9)
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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 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 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2019
From: DANILOV, MIKHAIL; BUINOV, KONSTANTIN; LEI, LU; SUN, AO; WU, GARY JIALEI; SUN, WESLEY; TENG, YU; CHEN, CHUN XI KENNY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049138/0489 →