IP Library Granted Patent US 10,776,426
Granted Patent B1
US 10,776,426 · App. 15/582,077 · Granted Sep 15, 2020

Capacity management for trees under multi-version concurrency control

Inventors: Mikhail Danilov (Saint Petersburg, RU); Konstantin Buinov (Lhotka, CZ); Alexander Rakulenko (Seattle, WA); Gregory Skripko (Seattle, WA); Kirill Zakharov (Saint Petersburg, RU)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/9027
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,776,426
App. No.
15/582,077
Granted
Sep 15, 2020
Kind
B1
Abstract

Capacity management is provided for a plurality of search trees under multi-version concurrency control. A non-volatile memory includes a plurality of chunks that are fixed-sized blocks of the non-volatile memory, each chunk including at least one page. The non-volatile memory stores the plurality of search trees, each search tree having elements including a tree root, a tree node and a tree leaf. Each element of the tree is at a different level of the search tree: a first level including the tree root, a second level including the tree node, and a third level including the tree leaf. The plurality of chunks includes a number of chunk types, each chunk type for storing the element from a different level of the search tree, such that elements from different levels are stored in separate chunks.

Claims (30)

1. A system for capacity management for a plurality of search trees under multi-version concurrency control, the system comprising:

a non-volatile memory including a plurality of chunks that are fixed-sized blocks of the non-volatile memory, each chunk including at least one page; and

a processor coupled to the non-volatile memory,

wherein the non-volatile memory stores the plurality of search trees, each search tree having elements including a tree root, a tree node and a tree leaf, each element being at a different level of the search tree, a first level including the tree root, a second level including the tree node, and a third level including the tree leaf,

wherein the plurality of chunks include a number of chunk types, the number of chunk types based on a size of the at least one page, each chunk type for storing elements from one or more different levels of the search tree, such that each chunk type stores elements from different levels as other chunk types,

wherein the number of chunk types include a first chunk type for storing the tree root at the first level, a second chunk type for storing the tree node at the second level, and a third chunk type for storing the tree leaf at the third level, the tree root having at least two tree leaves connected directly below the tree root, the tree node or the second level comprising a single level.

2. The system of claim 1 wherein the number of chunk types include a first chunk type for storing the tree root or the tree node and a second chunk type for storing the tree leaf.

3. The system of claim 1 wherein the number of chunk types is further based on a probability of an update being performed on the search tree.

4. The system of claim 1 wherein the number of chunk types is further based on a size of one of the plurality of chunks.

5. The system of claim 1 wherein a probability that one of the elements of the search tree will be updated decreases as the search tree is traversed from the first level including the tree root to the third level including the tree leaf.

6. The system of claim 1 wherein a lifetime of one of the elements of the search tree increases as the search tree is traversed from the first level including the tree root to the third level including the tree leaf.

7. The system of claim 1 , wherein each of the plurality of search trees is a B+ trees.

8. A method of capacity management for a plurality of search trees under multi-version concurrency control, the method comprising:

storing a plurality of search trees on a non-volatile memory including a plurality of chunks that are fixed-sized blocks of the non-volatile memory, each chunk including at least one page,

wherein each search tree has elements including a tree root, a tree node and a tree leaf, each element being at a different level of the search tree, a first level including the tree root, a second level including the tree node, and a third level including the tree leaf,

wherein the plurality of chunks includes a number of chunk types, the number of chunk types based on a size of the at least one page, each chunk type for storing elements from one or more different levels of the search tree, such that each chunk type stores elements from different levels as other chunk types, and

wherein the number of chunk types include a first chunk type for storing the tree root at the first level, a second chunk type for storing the tree node at the second level, and a third chunk type for storing the tree leaf at the third level, the tree root having at least two tree leaves connected directly below the tree root, the tree node or the second level comprising a single level.

9. The method of claim 8 wherein the number of chunk types include a first chunk type for storing the tree root and the tree node and a second chunk type for storing the tree leaf.

10. The method of claim 8 wherein the number of chunk types is further based on at least one of a probability of an update being performed on the search tree, and a size of one of the plurality of chunks.

11. The method of claim 8 wherein a probability that one of the elements of the search tree will be updated decreases as the search tree is traversed from the first level including the tree root to the third level including the tree leaf.

12. The method of claim 8 wherein a lifetime of one of the elements of the search tree increases as the search tree is traversed from the first level including the tree root to the third level including the tree leaf.

13. A non-transitory computer-readable storage medium storing computer-executable instructions, the instructions causing a machine to execute a process of capacity management for a plurality of search trees under multi-version concurrency control, the process comprising:

storing a plurality of search trees on a non-volatile memory including a plurality of chunks that are fixed-sized blocks of the non-volatile memory, each chunk including at least one page,

wherein each search tree has elements including a tree root, a tree node and a tree leaf, each element being at a different level of the search tree, a first level including the tree root, a second level including the tree node, and a third level including the tree leaf,

wherein the plurality of chunks includes a number of chunk types, the number of chunk types based on a size of the at least one page, each chunk type for storing elements from one or more different levels of the search tree, such that each chunk type stores elements from different levels as other chunk types, and

wherein the number of chunk types include a first chunk type for storing the tree root at the first level, a second chunk type for storing the tree node at the second level, and a third chunk type for storing the tree leaf at the third level, the tree root having at least two tree leaves connected directly below the tree root, the tree node or the second level comprising a single level.

14. The non-transitory computer-readable storage medium of claim 13 wherein the number of chunk types include a first chunk type for storing the tree root and the tree node and a second chunk type for storing the tree leaf.

15. The non-transitory computer-readable storage medium of claim 13 wherein the number of chunk types is further based on at least one of a probability of an update being performed on the search tree, and a size of one of the plurality of chunks.

16. The non-transitory computer-readable storage medium of claim 13 wherein a probability that one of the elements of the search tree will be updated decreases going from the first level including the tree root to the third level including the tree leaf.

17. The non-transitory computer-readable storage medium of claim 13 wherein a lifetime of one of the elements of the search tree increases going from the first level including the tree root to the third level including the tree leaf.

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 (042769/0001) Recorded Apr 26, 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 (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2017
From: DANILOV, MIKHAIL; BUINOV, KONSTANTIN; RAKULENKO, ALEXANDER; SKRIPKO, GREGORY; ZAKHAROV, KIRILL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042738/0892 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →