IP Library Granted Patent US 12,468,688
Granted Patent B1
US 12,468,688 · App. 18/427,755 · Granted Nov 11, 2025

Efficient transaction management

Inventors: Hillel Costeff (Tel Aviv, IL); Asaf Levy (Tel Aviv, IL)
Assignee: VAST DATA LTD.
G06F16/2379
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 12,468,688
App. No.
18/427,755
Granted
Nov 11, 2025
Kind
B1
Abstract

A method for metadata blocks access, the method includes (i) accessing, following a reception of an access request, a metadata block related to a file system entity; the metadata block is associated with a transaction identifier that is indicative of a transaction that is a most recent transaction that modified the metadata block; (ii) traversing, starting from the metadata block, metadata blocks that are transaction related, using linkage metadata within the metadata blocks; (iii) determining, based on an outcome of the traversing, a status of the transaction; (iv) when it is determined that the transaction was successfully completed then completing the access request by using content that was written by the transaction to the metadata block; and (v) when it is determined that the transaction failed then ignoring content that was written by the transaction to the metadata block.

Claims (34)

1 . A method for metadata blocks access, the method comprising:

accessing, following a reception of an access request, a metadata block related to a file system entity; the metadata block is associated with a transaction identifier that is indicative of a transaction that is a most recent transaction that modified the metadata block;

traversing, starting from the metadata block, metadata blocks that are transaction related, using linkage metadata within the metadata blocks;

determining, based on an outcome of the traversing, a status of the transaction;

when it is determined that the transaction was successfully completed then completing the access request by using content that was written by the transaction to the metadata block; wherein upon a time of a successful completion of the transaction, each metadata block that was traversed is: (i) pointed by at least one other metadata block that was traversed, and (ii) comprises linkage metadata pointing to at least one different metadata block that was traversed; and

when it is determined that the transaction failed then ignoring content that was written by the transaction to the metadata block.

2 . The method according to claim 1 , further comprising waiting till a completion of the transaction when it is determined that the transaction is still ongoing.

3 . The method according to claim 2 , comprising determining that the transaction is still on-going when reaching another metadata block that is not yet linked to another metadata block.

4 . The method according to claim 1 , wherein the determining of the status of the transaction is executed without accessing a ledger allocated to registering a progress of the transaction.

5 . The method according to claim 1 , wherein the transaction is executed without utilizing a ledger allocated to registering a progress of the transaction.

6 . The method according to claim 1 , wherein the determining of the status of the transaction is executed based on the linkage metadata within the at least some of the metadata blocks.

7 . The method according to claim 1 , wherein the determining of the status of the transaction is executed based solely on (i) the linkage metadata within the at least some of the metadata blocks, and (ii) a status of a processing circuit that executed the transaction.

8 . The method according to claim 1 , wherein upon the successful completion of the transaction, at least one of the metadata blocks points only to a single different other metadata block.

9 . A method for metadata blocks access, the method comprising:

accessing, following a reception of an access request, a metadata block related to a file system entity; the metadata block is associated with a transaction identifier that is indicative of a transaction that is a most recent transaction that modified the metadata block;

traversing, starting from the metadata block, metadata blocks that are transaction related, using linkage metadata within the metadata blocks;

determining, based on an outcome of the traversing, a status of the transaction;

when it is determined that the transaction was successfully completed then completing the access request by using content that was written by the transaction to the metadata block;

when it is determined that the transaction failed then ignoring content that was written by the transaction to the metadata block; and

wherein the linkage metadata of the metadata block comprises one or more pointers to one or more other metadata blocks, wherein a number of the one or more pointers is determined based on a defined tradeoff between metadata block vacancy and a duration of the traversal.

10 . A non-transitory computer readable medium for metadata block access, the non-transitory computer readable medium stores instructions for:

accessing, following a reception of an access request, a metadata block related to a file system entity; the metadata block is associated with a transaction identifier that is indicative of a transaction that is a most recent transaction that modified the metadata block;

traversing, starting from the metadata block, metadata blocks that are transaction related, using linkage metadata within the metadata blocks;

determining, based on an outcome of the traversing, a status of the transaction;

when it is determined that the transaction was successfully completed then completing the access request by using content that was written by the transaction to the metadata block; wherein upon a time of a successful completion of the transaction, each metadata block that was traversed: (i) is pointed by at least one other metadata block that was traversed, and (ii) comprises linkage metadata pointing to at least one different metadata block that was traversed; and

when it is determined that the transaction failed then ignoring content that was written by the transaction to the metadata block.

11 . The non-transitory computer readable medium according to claim 10 , that further stores instructions for waiting till a completion of the transaction when it is determined that the transaction is still ongoing.

12 . The non-transitory computer readable medium according to claim 11 , that further stores instructions for determining that the transaction is still on-going when reaching another metadata block that is not yet linked to another metadata block.

13 . The non-transitory computer readable medium according to claim 10 , wherein the determining of the status of the transaction is executed without accessing a ledger allocated to registering a progress of the transaction.

14 . The non-transitory computer readable medium according to claim 10 , wherein the transaction is executed without utilizing a ledger allocated to registering a progress of the transaction.

15 . The non-transitory computer readable medium according to claim 10 , wherein the determining of the status of the transaction is executed based on the linkage metadata within the at least some of the metadata blocks.

16 . The non-transitory computer readable medium according to claim 10 , wherein the determining of the status of the transaction is executed based solely on (i) the linkage metadata within the at least some of the metadata blocks, and (ii) a status of a processing circuit that executed the transaction.

17 . The non-transitory computer readable medium according to claim 10 , wherein upon the successful completion of the transaction, at least one of the metadata blocks points only to a single different other metadata block.

18 . The non-transitory computer readable medium according to claim 10 , wherein the linkage metadata of the metadata block comprises one or more pointers to one or more other metadata blocks, wherein a number of the one or more pointers is determined based on a defined tradeoff between metadata block vacancy and a duration of the traversal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2025
From: COSTEFF, HILLEL; LEVY, ASAF
To: VAST DATA LTD.
Reel/Frame 071556/0334 →
References Cited (5)
US 11068299B1 · Armangau · 2021 [cited by examiner]
US 11886422B1 · Li · 2024 [cited by examiner]
US 20220114100A1 · David · 2022 [cited by examiner]
US 20230222218A1 · Lockman, III · 2023 [cited by examiner]
US 20240184767A1 · Krishnan · 2024 [cited by examiner]