Patent ID: 9311252
Filing Date: 2016-04-12
CPC Classification: G06F

Claim Text:
1. A method for storing data, comprising: placing, by at least one computer processor, data in uppermost storage layer of a storage hierarchy, the storage hierarchy comprising a plurality of memory and storage devices with different characteristics, wherein the storage hierarchy is logically arranged from upper to lower layers in order of increasing access latency; flushing, by the at least one computer processor, the data from the uppermost storage layer to a lower storage layer in the storage hierarchy, wherein the flushing comprises responsive to determining that the data is write-only data, bypassing a next lower storage layer and directly storing the data to a further lower storage layer in the storage hierarchy, and responsive to determining that the data is associated with read access, flushing the data from the uppermost storage layer to the next lower storage layer in the storage hierarchy; determining, by the at least one computer processor, whether the data stored in the next lower storage layer should be compacted and migrated; and in response to determining that the data stored in the next lower storage layer should be compacted and migrated, by the at least one computer processor, compacting the data and other data stored in the next lower storage layer, the compacting comprising sorting and merging data of different versions in the next lower storage layer to fewer or to a single version, and migrating the data to a storage layer next to the next lower storage layer, wherein each storage layer in the storage hierarchy stores data that is disjoint from its upper storage layer.