Hold-aside buffer for uncommitted write transactions in a log structured key-value database
AssigneeMicron Technology, Inc.
InventorsAlexander Tomlinson, Gaurav Sanjay Ramdasi, Gregory Alan Becker
Life of this patent
Estimating the term…
Abstract
An event trigger to flush key-value data from a volatile memory device is detected. In response to detection of the event trigger, a determination is made whether the key-value data comprises uncommitted data for one or more active database transactions. If the key-value data comprises uncommitted data for one or more active database transactions, the uncommitted data is moved to a hold aside buffer in the volatile memory device, and committed data in the key-value data is stored on a non-volatile memory device.
Claims20
A system comprising:
- a volatile memory device;
- a non-volatile memory device;
- and
- a processing device, operatively coupled with the volatile memory device and non-volatile memory device, configured to perform operations comprising:
- detecting an event trigger to flush key-value data from the volatile memory device;
- responsive to detecting the event trigger:
- determining whether the key-value data comprises uncommitted data for one or more active database transactions;
- responsive to determining that the key-value data does comprise uncommitted data, moving the uncommitted data to a hold-aside buffer in the volatile memory device;
- and
- storing committed data in the key-value data on the non-volatile memory device.
A method comprising:
- detecting an event trigger to flush key-value data from a volatile memory device;
- responsive to detecting the event trigger:
- determining whether the key-value data comprises uncommitted data for one or more active database transactions;
- responsive to determining that the key-value data does comprise uncommitted data, moving the uncommitted data to a hold-aside buffer in the volatile memory device;
- and
- storing committed data in the key-value data on a non-volatile memory device.
A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
- detecting an event trigger to flush key-value data from a volatile memory device;
- responsive to detecting the event trigger:
- determining whether the key-value data comprises uncommitted data for one or more active database transactions;
- responsive to determining that the key-value data does comprise uncommitted data, moving the uncommitted data to a hold-aside buffer in the volatile memory device;
- determining whether the hold-aside buffer comprises additional committed data;
- responsive to determining that the hold-aside buffer comprises additional committed data, merging committed data in the key-value data and the additional committed data to form a storage object;
- and
- storing the storage object on a non-volatile memory device.
Dependencies are inferred from the claim text.