Back to results
US 10,852,978 B2Granted
Key-value store using journaling with selective data storage format
AssigneeMicron Technology, Inc.
InventorsSudheer Kurichiyath, Greg A. Becker, David Boles, Steven Moyer, Nabeel Meeramohideen Mohamed, Alexander Tomlinson
Life of this patent
Estimating the term…
Abstract
Aspects of the present disclosure provide for operations of a key-value store (KVS) that uses journaling with storage of data (e.g., key data or value data of a key-value pair) in different types of data storage objects (e.g., data storage formats) selected based on one or more criteria.
Claims20
A system comprising:
- a set of memory components providing a journal data storage space and a long-term data storage space;
- and
- a processing device, operatively coupled to the set of memory components, configured to perform operations comprising:
- receiving, from volatile memory, a set of key-value pairs;
- storing key data for a particular key, of a particular key-value pair in the set of key-value pairs, in a first journal data storage object on the journal data storage space;
- determining whether a particular value, of the particular key-value pair, meets a non-journal data storage object criterion;
- based on the determining whether the particular value meets the non-journal data storage object criterion, storing value data for the particular value, in at least one of a non-journal data storage object on the journal data storage space or a second journal data storage object on the journal data storage space;
- determining whether a condition, to move the key data and the value data from the journal data storage space, is satisfied;
- and
- in response to determining that the condition is satisfied, moving the key data and the value data from the journal data storage space to a new key-value set added to a node of a key-value store tree data structure, the key-value store tree being stored on the long-term data storage space, and the new key-value set comprising a first set of non-journal data storage objects for storing one or more keys and a second set of non-journal data storage objects for storing one or more values.
7 more elements
A method comprising:
- receiving, from volatile memory, a set of key-value pairs;
- storing, by a processing device, key data for a particular key, of a particular key-value pair in the set of key-value pairs, in a first journal data storage object on a journal data storage space provided by a set of memory components;
- determining, by the processing device, whether a particular value, of the particular key-value pair, meets a non-journal data storage object criterion;
- based on the determining whether the particular value meets the non-journal data storage object criterion, storing, by the processing device, value data for the particular value, in at least one of a non-journal data storage object on the journal data storage space or a second journal data storage object on the journal data storage space;
- determining, by the processing device, whether a condition, to move the key data and the value data from the journal data storage space, is satisfied;
- and
- in response to determining that the condition is satisfied, moving, by the processing device, the key data and the value data from the journal data storage space to a new key-value set added to a node of a key-value store tree data structure, the key-value store tree being stored on a long-term data storage space provided by the set of memory components, and the new key-value set comprising a first set of non-journal data storage objects for storing one or more keys and a second set of non-journal data storage objects for storing one or more values.
4 more elements
A non-transitory machine-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:
- receive, from volatile memory, a set of key-value pairs;
- determine whether a particular value, of the particular key-value pair, meets a non-journal data storage object criterion;
- based on the determining whether the particular value meets the non-journal data storage object criterion, store value data for the particular value, in at least one of a non-journal data storage object on a journal data storage space or a second journal data storage object on the journal data storage space;
- determine whether a condition, to move key data and the value data from the journal data storage space, is satisfied;
- and
- in response to determining that the condition is satisfied, move the value data from the journal data storage space to a new key-value set added to a node of a key-value store tree data structure, the key-value store tree being stored on a long-term data storage space provided by a set of memory components, and the new key-value set comprising a first set of non-journal data storage objects for storing one or more keys and a second set of non-journal data storage objects for storing one or more values.
3 more elements
Dependencies are inferred from the claim text.