IP Library › Granted Patent US 12,147,416
Granted Patent B2
US 12,147,416 · App. 17/646,295 · Granted Nov 19, 2024

Managing a transaction isolation

Inventors: Eyal Gordon (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,147,416
App. No.
17/646,295
Granted
Nov 19, 2024
Kind
B2
Abstract

A method for managing a transaction data structure, the method may include (a) receiving, at a first point in time that corresponds to a first value of a clock signal, a request to commit a transaction, and updating a status of the transaction, within the transaction data structure, as being a commit in progress; (b) updating the status of the transaction within the transaction data structure as being committed following (i) a completion of the committing, and (ii) a change of a value of the clock signal from the first value to a second value that differs from the first value; and (c) updating, using a background process, a database segment (DS) version metadata associated with the transaction regarding the completion of the committing. The DS version metadata belongs to a DS version metadata data structure. The DS version metadata data structure and the transaction data structure are selectively accessed during transactions.

Claims (42)

1. A method for managing a transaction data structure, the method comprises:

receiving, at a first point in time that corresponds to a first value of a clock signal, a request to commit a transaction, and updating a status of the transaction, within the transaction data structure, as being a commit in progress;

waiting for the clock signal to advance, and avoiding an update of the status of the transaction as being committed, while the clock signal is not advanced;

updating the status of the transaction within the transaction data structure as being committed following (i) a completion of the committing, and (ii) a change of a value of the clock signal from the first value to a second value that differs from the first value; and

updating, using a background process, a database segment (DS) version metadata associated with the transaction regarding the completion of the committing;

wherein the DS version metadata belongs to a DS version metadata data structure; and

wherein the DS version metadata data structure and the transaction data structure are selectively accessed during transactions.

2. The method according to claim 1 wherein the request is an explicit request.

3. The method according to claim 1 wherein the request is an implicit request.

4. The method according to claim 1 comprising updating a status of the transaction as being committed in the transaction data structure before updating the DS version metadata to identify the DS version by the DS version commit time stamp that equals the second value.

5. The method according to claim 1 wherein the transaction data structure is smaller than an aggregate size of DS version metadata.

6. The method according to claim 1 wherein the transaction data structure stores transaction metadata regarding currently active transactions and transactions that were recently active.

7. The method according to claim 1 wherein the updating, using the background process, of the DS version metadata comprises replacing an identification of a DS version by a transaction identifier with the identification of the DS version by a DS version commit time stamp that equals the second value.

8. The method according to claim 1 wherein a frequency of the clock signal exceeds ten kilohertz.

9. A non-transitory computer readable medium for managing a transaction data structure, the at least one non-transitory computer readable medium stores instructions for:

receiving, at a first point in time that corresponds to a first value of a clock signal, a request to commit a transaction, and updating a status of the transaction, within the transaction data structure, as being a commit in progress;

waiting for the clock signal to advance, and avoiding an update of the status of the transaction as being committed, while the clock signal is not advanced;

updating the status of the transaction within the transaction data structure as being committed following (i) a completion of the committing, and (ii) a change of a value of the clock signal from the first value to a second value that differs from the first value; and

updating, using a background process, a database segment (DS) version metadata associated with the transaction regarding the completion of the committing;

wherein the DS version metadata belongs to a DS version metadata data structure; and

wherein the DS version metadata data structure and the transaction data structure are selectively accessed during transactions.

10. The non-transitory computer readable medium according to claim 9 wherein the request is an explicit request.

11. The non-transitory computer readable medium according to claim 9 wherein the request is an implicit request.

12. The non-transitory computer readable medium according to claim 9 that stores instructions for updating a status of the transaction as being committed in the transaction data structure before updating the DS version metadata to identify the DS version by the DS version commit time stamp that equals the second value.

13. The non-transitory computer readable medium according to claim 9 wherein the transaction data structure is smaller than an aggregate size of DS version metadata.

14. The non-transitory computer readable medium according to claim 9 wherein the transaction data structure stores transaction metadata regarding currently active transactions and transactions that were recently active.

15. The non-transitory computer readable medium according to claim 9 wherein the updating, using the background process, of the DS version metadata comprises replacing an identification of a DS version by a transaction identifier with the identification of the DS version by a DS version commit time stamp that equals the second value.

16. The non-transitory computer readable medium according to claim 9 wherein a frequency of the clock signal exceeds ten kilohertz.

17. A storage system that comprises a controller and storage resources;

wherein the storage resources are configured to store a transaction data structure and to store a DS version metadata data structure;

wherein the controller is configured to

receive, at a first point in time that corresponds to a first value of a clock signal, a request to commit a transaction, and update a status of the transaction, within the transaction data structure, as being a commit in progress;

wait for the clock signal to advance, and avoid updating of the status of the transaction as being committed, while the clock signal is not advanced;

update the status of the transaction within the transaction data structure as being committed following (i) a completion of the committing, and (ii) a change of a value of the clock signal from the first value to a second value that differs from the first value; and

update, using a background process, a database segment (DS) version metadata associated with the transaction regarding the completion of the committing; wherein the DS version metadata belongs to the DS version metadata data structure; and wherein the DS version metadata data structure and the transaction data structure are selectively accessed during transactions.

18. The storage system according to claim 17 wherein the request is an explicit request.

19. The storage system according to claim 17 wherein the request is an implicit request.

20. The storage system according to claim 17 that stores instructions for updating a status of the transaction as being committed in the transaction data structure before updating the DS version metadata to identify the DS version by the DS version commit time stamp that equals the second value.

21. The storage system according to claim 17 wherein the transaction data structure is smaller than an aggregate size of DS version metadata.

22. The storage system according to claim 17 wherein the transaction data structure stores transaction metadata regarding currently active transactions and transactions that were recently active.

23. The storage system according to claim 17 wherein the updating, using the background process, of the DS version metadata comprises replacing an identification of a DS version by a transaction identifier with the identification of the DS version by a DS version commit time stamp that equals the second value.

24. The storage system according to claim 17 wherein a frequency of the clock signal exceeds ten kilohertz.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2022
From: GORDON, EYAL; LEVY, ASAF
To: VAST DATA LTD.
Reel/Frame 060554/0848 →
Continuity (1)
Related Publication 20230205759A1 · Jun 29, 2023