Hierarchical storage for LSM-based NoSQL stores
AssigneeGlobalfoundries Inc.
InventorsLiana L. Fong, Wei Tan
Life of this patent
Estimating the term…
Abstract
Logically arranged hierarchy or tiered storage may comprise a layer of storage being a faster access storage (e.g. solid state drive (SSD)) and another (e.g., next) layer being a traditional disk (e.g. HDD). In one embodiment, compaction occurs within the higher layer, e.g., until there is no more room and then during the compaction sequence the data may be moved down to the lower layer. In another embodiment, compaction and migration to a lower layer may occur within the higher layer, e.g., based on one or more policies, even if the higher layer is not full. In one embodiment, the data between layers are maintained as disjoint. In one embodiment, the more recent versions are always in the higher layer and the older versions are always in the lower layer.
Claims11
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.
Dependencies are inferred from the claim text.