IP Library › Granted Patent US 12,353,360
Granted Patent B2
US 12,353,360 · App. 18/075,122 · Granted Jul 8, 2025

Lock release management associated with a key-value database system

Inventors: Gregory Alan Becker (Austin, TX); Neelima Premsankar (Austin, TX); David Boles (Austin, TX)
Assignee: Micron Technology, Inc.
G06F16/1774G06F16/1734G06F16/1865G06F16/2228
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,353,360
App. No.
18/075,122
Granted
Jul 8, 2025
Kind
B2
Abstract

A global lock is used to access a first set of data structures. An active transaction having a transaction start identifier is identified as a globally oldest active transaction associated with the first set of data structures. A first marker value of a first data structure of a second set of data structures is compared to the transaction start identifier to determine satisfaction of a first condition. In response to satisfying the first condition, the first data structure is accessed to identify a first set of data locks associated with one or more transactions each having a transaction completion identifier that satisfies a second condition when compared to the transaction start identifier. In response to satisfying the second condition, the first set of data locks is released.

Claims (36)

1. A method comprising:

acquiring, by a processing device, a first lock to access a first data structure of a first set of data structures to perform an operation associated with a transaction;

using a global lock to access a remainder of the first set of data structures to identify an active transaction having a transaction start identifier as a globally oldest active transaction associated with the first set of data structures;

comparing a first marker value of a first data structure of a second set of data structures to the transaction start identifier of the globally oldest active transaction to determine satisfaction of a first condition, wherein the first condition is satisfied when the first marker value is lower than the transaction start identifier of the globally oldest active transaction;

in response to satisfying the first condition, accessing the first data structure to identify a first set of data locks associated with one or more transactions each having a transaction completion identifier that satisfies a second condition when compared to the transaction start identifier; and

in response to satisfying the second condition, releasing the first set of data locks.

2. The method of claim 1 , wherein the second set of data structures comprises a plurality of lock data structures comprising listings of completed transactions and associated lock information.

3. The method of claim 1 , further comprising comparing a second marker value of a second data structure of the second set of data structures to the transaction start identifier to determine satisfaction of the first condition.

4. The method of claim 3 , further comprising traversing the second data structure to identify a second set of data locks associated with one or more transactions each having a transaction completion identifier that satisfies the second condition when compared to the transaction start identifier.

5. The method of claim 4 , further comprising releasing the second set of data locks.

6. The method of claim 4 , further comprising determining a marker value of a further data structure of the second set of data structures does not satisfy the first condition, wherein a further lock corresponding to the further data structure is not acquired.

7. The method of claim 1 , further comprising:

identifying an additional transaction seeking to acquire a set of data locks from a first completed transaction;

determining the additional transaction is associated with a transaction start identifier that is higher than a transaction completion identifier of the first completed transaction; and

executing an inheritance operation to enable the additional transaction to acquire the set of data locks from the first completed transaction.

8. The method of claim 7 , further comprising:

determining the additional transaction aborted; and

executing an operation to return the set of data locks to the first completed transaction.

9. A non-transitory computer readable medium comprising instructions, which when executed by a processor, cause the processor to perform operations comprising:

acquiring a first lock to access a first data structure of a first set of data structures to perform an operation associated with a transaction;

using a global lock to access a remainder of the first set of data structures to identify an active transaction having a transaction start identifier as a globally oldest active transaction associated with the first set of data structures;

comparing a first marker value of a first data structure of a second set of data structures to the transaction start identifier of the globally oldest active transaction to determine satisfaction of a first condition, wherein the first condition is satisfied when the first marker value is lower than the transaction start identifier of the globally oldest active transaction;

in response to satisfying the first condition, accessing the first data structure to identify a first set of data locks associated with one or more transactions each having a transaction completion identifier that satisfies a second condition when compared to the transaction start identifier; and

in response to satisfying the second condition, releasing the first set of data locks.

10. The non-transitory computer readable medium of claim 9 , wherein the second set of data structures comprises a plurality of lock data structures comprising listings of completed transactions and associated lock information.

11. The non-transitory computer readable medium of claim 9 , the operations further comprising comparing a second marker value of a second data structure of the second set of data structures to the transaction start identifier to determine satisfaction of the first condition.

12. The non-transitory computer readable medium of claim 11 , the operations further comprising traversing the second data structure to identify a second set of data locks associated with one or more transactions each having a transaction completion identifier that satisfies the second condition when compared to the transaction start identifier.

13. The non-transitory computer readable medium of claim 12 , the operations further comprising releasing the second set of data locks.

14. The non-transitory computer readable medium of claim 12 , the operations further comprising determining a marker value of a further data structure of the second set of data structures does not satisfy the first condition, wherein a further lock corresponding to the further data structure is not acquired.

15. The non-transitory computer readable medium of claim 9 , the operations further comprising:

identifying an additional transaction seeking to acquire a set of data locks from a first completed transaction;

determining the additional transaction is associated with a transaction start identifier that is higher than a transaction completion identifier of the first completed transaction; and

executing an inheritance operation to enable the additional transaction to acquire the set of data locks from the first completed transaction.

16. The non-transitory computer readable medium of claim 15 , the operations further comprising:

determining the additional transaction aborted; and

executing an operation to return the set of data locks to the first completed transaction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2023
From: BECKER, GREGORY ALAN; PREMSANKAR, NEELIMA; BOLES, DAVID
To: MICRON TECHNOLOGY, INC.
Reel/Frame 064369/0204 →
Continuity (3)
Continuation 16912168 · Jun 25, 2020
Provisional Application 62955660 · Dec 31, 2019
Related Publication 20230105836A1 · Apr 6, 2023
References Cited (10)
US 5247672A · Mohan · 1993 [cited by examiner]
US 10216820B1 · Holenstein · 2019 [cited by applicant]
US 20070219998A1 · Lyle · 2007 [cited by applicant]
US 20170011085A1 · Douros · 2017 [cited by examiner]
AU 2016292786B2 · 2019 [cited by applicant]
CN 103544054A · 2014 [cited by applicant]
CN 106033437A · 2016 [cited by applicant]
CN 108027829A · 2018 [cited by applicant]
Jung et al. (“A Scalable Lock Manager for Multicores”; SIGMOD '13: Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data; Jun. 2013 pp. 73-84) (Year: 2013). [cited by applicant]
Office Action for Chinese Patent Application No. 202011605181.2, mailed May 10, 2024, 05 Pages. [cited by applicant]