Heat-based key-value slot organization for flash-optimized data placement in multi-tiered storage systems
View Patent ↗For flash-optimized data placement in multi-tiered, log-structured storage systems, based on at least one key-level data heat metric, sets of key-value pairs determined to exhibit similar data heat characteristics are grouped. Those key-value pairs exhibiting a hotter data heat characteristic are placed into a separate flash memory log-structured data container than those key-value pairs exhibiting a colder data heat characteristic.
1. A method for flash-optimized data placement in multi-tiered log-structured storage systems by a processor, comprising:
based on at least one key-level data heat metric, grouping sets of key-value pairs determined to exhibit similar data heat characteristics; wherein those key-value pairs exhibiting a hotter data heat characteristic are placed into a separate flash memory log-structured data container than those key-value pairs exhibiting a colder data heat characteristic, the at least one key-level data heat metric including at least an update frequency or an arrival time of a respective key-value pair;
maintaining the grouped sets of key-value pairs as entries in a memtable, wherein an entry of each respective key-value pair is made in the memtable according to a priority order based on a write frequency of each respective key-value pair; and
upon determining the memtable requires an eviction operation, migrating higher priority entries from the memtable into a new memtable.
2. The method of claim 1 , wherein grouping sets of key-value pairs includes maintaining multiple flash memory log-structured data containers corresponding to a varying heat gradient, wherein those key-value pairs determined to be exhibiting similar heat characteristics are placed into the same one of the multiple data containers.
3. The method of claim 1 , wherein grouping sets of key-value pairs includes performing the grouping for key-value pairs of any data size.
4. The method of claim 1 , further including establishing the at least one key-level data heat metric as a function of an access frequency of the respective key-value pair.
5. The method of claim 4 , further including monitoring the respective key-value pair over time to determine a data heat characteristic for the respective key-value pair.
6. The method of claim 1 , further including performing at least one of:
implementing an aging protocol for the entries, wherein lower priority entries are evicted to a particular memory data container based on at least one of the data heat characteristics, and
flushing the entries in the memtable.
7. A system for flash-optimized data placement in multi-tiered log-structured storage systems, comprising:
a processor, in operable communication in the multi-tiered storage system, wherein the processor, based on at least one key-level data heat metric, groups sets of key-value pairs determined to exhibit similar data heat characteristics; wherein those key-value pairs exhibiting a hotter data heat characteristic are placed into a separate flash memory log-structured data container than those key-value pairs exhibiting a colder data heat characteristic, the at least one key-level data heat metric including at least an update frequency or an arrival time of a respective key-value pair;
maintains the grouped sets of key-value pairs as entries in a memtable, wherein an entry of each respective key-value pair is made in the memtable according to a priority order based on a write frequency of each respective key-value pair; and
upon determining the memtable requires an eviction operation, migrates higher priority entries from the memtable into a new memtable.
8. The system of claim 7 , wherein the processor, pursuant to grouping sets of key-value pairs, maintains multiple flash memory log-structured data containers corresponding to a varying heat gradient, wherein those key-value pairs determined to be exhibiting similar heat characteristics are placed into the same one of the multiple data containers.
9. The system of claim 7 , wherein the processor, pursuant to grouping sets of key-value pairs, performs the grouping for key-value pairs of any data size.
10. The system of claim 7 , wherein the processor establishes the at least one key-level data heat metric as a function of an access frequency of the respective key-value pair.
11. The system of claim 10 , wherein the processor monitors the respective key-value pair over time to determine a data heat characteristic for the respective key-value pair.
12. The system of claim 7 , wherein the processor at least one of:
implements an aging protocol for the entries, wherein lower priority entries are evicted to a particular memory data container based on at least one of the data heat characteristics, and
flushes the entries in the memtable.
13. A computer program product for flash-optimized data placement in multi-tiered log-structured storage systems by a processor, the computer program product comprising a computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
a first executable portion that, based on at least one key-level data heat metric, groups sets of key-value pairs determined to exhibit similar data heat characteristics; wherein those key-value pairs exhibiting a hotter data heat characteristic are placed into a separate flash memory log-structured data container than those key-value pairs exhibiting a colder data heat characteristic, the at least one key-level data heat metric including at least an update frequency or an arrival time of a respective key-value pair;
maintains the grouped sets of key-value pairs as entries in a memtable, wherein an entry of each respective key-value pair is made in the memtable according to a priority order based on a write frequency of each respective key-value pair; and
upon determining the memtable requires an eviction operation, migrates higher priority entries from the memtable into a new memtable.
14. The system of claim 13 , further including a second executable portion that, pursuant to grouping sets of key-value pairs, maintains multiple flash memory log-structured data containers corresponding to a varying heat gradient, wherein those key-value pairs determined to be exhibiting similar heat characteristics are placed into the same one of the multiple data containers.
15. The system of claim 13 , further including a second executable portion that, pursuant to grouping sets of key-value pairs, performs the grouping for key-value pairs of any data size.
16. The computer program product of claim 13 , further including a second executable portion that establishes the at least one key-level data heat metric as a function of an access frequency of the respective key-value pair.
17. The computer program product of claim 16 , further including a third executable portion that monitors the respective key-value pair over time to determine a data heat characteristic for the respective key-value pair.
18. The computer program product of claim 13 , further including a second executable portion that performs at least one of:
implementing an aging protocol for the entries, wherein lower priority entries are evicted to a particular memory data container based on at least one of the data heat characteristics, and
flushing the entries in the memtable.