Structuring storage based on latch-free B-trees
First Claim
1. A system comprising:
- at least one hardware device processor;
a structured data manager tangibly embodied via executable instructions stored on a machine readable storage device for execution by the at least one hardware device processor, the structured data manager including;
a tree manager that, when executed, controls tree operations associated with latch-free updates associated with a latch-free B-tree structure; and
a map table manager that, when executed, initiates table operations on an indirect address mapping table associated with the latch-free B-tree structure, the table operations including initiating an atomic compare and swap operation on an entry in the indirect address mapping table, to replace a prior state of a page associated with the latch-free B-tree structure with a new state of the page.
2 Assignments
0 Petitions
Accused Products
Abstract
A request to modify an object in storage that is associated with one or more computing devices may be obtained, the storage organized based on a latch-free B-tree structure. A storage address of the object may be determined, based on accessing a mapping table that includes map indicators mapping logical object identifiers to physical storage addresses. A prepending of a first delta record to a prior object state of the object may be initiated, the first delta record indicating an object modification associated with the obtained request. Installation of a first state change associated with the object modification may be initiated via a first atomic operation on a mapping table entry that indicates the prior object state of the object. For example, the latch-free B-tree structure may include a B-tree like index structure over records as the objects, and logical page identifiers as the logical object identifiers.
113 Citations
20 Claims
-
1. A system comprising:
-
at least one hardware device processor; a structured data manager tangibly embodied via executable instructions stored on a machine readable storage device for execution by the at least one hardware device processor, the structured data manager including; a tree manager that, when executed, controls tree operations associated with latch-free updates associated with a latch-free B-tree structure; and a map table manager that, when executed, initiates table operations on an indirect address mapping table associated with the latch-free B-tree structure, the table operations including initiating an atomic compare and swap operation on an entry in the indirect address mapping table, to replace a prior state of a page associated with the latch-free B-tree structure with a new state of the page. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
obtaining a request to modify an object in storage that is associated with one or more computing devices, the storage organized based on a latch-free B-tree structure that is updated via latch-free updates; determining, via a hardware device processor, a storage address of the object, based on accessing a mapping table that includes map indicators mapping logical object identifiers to physical storage addresses; initiating a prepending of a first delta record to a prior object state of the object, the first delta record indicating an object modification associated with the obtained request; and initiating installation of a first state change associated with the object modification via a first atomic operation on a mapping table entry that indicates the prior object state of the object. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
determining that a size of a page associated with a latch-free B-tree structure that is updated via latch-free updates, is unacceptable; and initiating via a hardware device processor a modification of a node of the latch-free B-tree structure that is associated with the page, based on; initiating a prepending of a delta record to the node, the delta record including an indication of the modification and a physical address pointer to the node, and initiating at least one atomic operation to update an indirect address table to replace the physical address of the node with a physical address of the delta record, the indirect address table including logical page identifiers and corresponding physical addresses of physical pages associated with the logical page identifiers. - View Dependent Claims (17, 18, 19, 20)
-
Specification