US12079195B2ActiveUtilityPatentIndex 50
Apparatus and method for storing file of key value store on zoned storage
Est. expiryJul 29, 2041(~15.1 yrs left)· nominal 20-yr term from priority
G06F 16/2365G06F 16/2272G06F 16/185G06F 3/0644G06F 3/0631G06F 3/0604G06F 3/0679G06F 3/0608G06F 16/2358G06F 3/0643G06F 16/2282
50
PatentIndex Score
0
Cited by
13
References
14
Claims
Abstract
An apparatus for storing a key value store file according to an embodiment includes a memory configured to record one or more key values in a predefined unit space based on a data input request from an outside, a controller configured to store data received from the memory in a storage, and the storage configured to include a plurality of zones. The controller is configured to perform a flush operation of storing one or more key values received from the memory as a file in a predefined format in the storage and a compaction operation of merging a plurality of files existing in one level in the storage and recording the merged files as one file in another level.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. An apparatus for storing a key value store file, the apparatus comprising:
a memory configured to record one or more key values in a predefined unit space based on a data input request from an outside;
a controller configured to store data received from the memory in a storage; and
the storage configured to include a plurality of zones,
wherein the controller is configured to;
perform a flush operation of storing one or more key values received from the memory as a file in a predefined format in the storage and a compaction operation of merging a plurality of files existing in one level in the storage and recording the merged files as one file in another level, at least some of the plurality of zones being distinguished as flush zones and at least some of remaining zones thereof except for the flush zones being distinguished as compaction zones, the flush operation being performed using the flush zones and the compaction operation being performed using the compaction zones; and
perform a level 0 compaction operation between the flush zone and a first level compaction zone, and, at a time point when the level 0 compaction operation is performed, use a flush zone in which the flush operation is not performed at the time point to perform the level 0 compaction operation between the flush zone and the compaction zone.
2. The apparatus of claim 1 , wherein the storage is connected to the controller through a plurality of channels, and includes a plurality of zones allocated for each of the plurality of channels; and
the controller is configured to distinguish between the flush zones and the compaction zones so that channels allocated to the flush zones are different from channels allocated to the compaction zones.
3. The apparatus of claim 1 , wherein the flush zones include an active flush zone inside which there is usable capacity and an immutable flush zone inside which there is no usable capacity; and
the controller is configured to, when performing a level 0 compaction operation of merging a plurality of files stored in the flush zone and recording the merged files as one file in the compaction zone, perform the level 0 compaction operation on a plurality of files stored in the immutable flush zone.
4. The apparatus of claim 1 , wherein the controller is configured to perform storage of the key values based on a log structured merge-tree (LSM-Tree) data structure.
5. The apparatus of claim 4 , wherein the unit space is a memtable of a preset size, and the file is an SSTable file of a preset size.
6. The apparatus of claim 4 , wherein the controller is configured to build the plurality of zones in multi-layered levels according to the LSM-Tree data structure, input level information into each of the files according to hot-cold characteristics of the file, and store the file in a zone of a level matching the level information.
7. The apparatus of claim 6 , wherein the level information is determined based on at least one of an access frequency and an update frequency of each of the files.
8. A method for storing a key value store file, the method comprising:
recording, at a memory, one or more key values in a predefined unit space based on a data input request from an outside;
distinguishing, at a controller, at least some of the plurality of zones stored in a storage as flush zones and at least some of remaining zones thereof except for the flush zones as compaction zones;
performing, at the controller, a flush operation of storing one or more key values received from the memory as a file in a predefined format in the storage, by using the flush zones;
performing, at the controller, a compaction operation of merging a plurality of files existing in one level in the storage and recording the merged files as one file in another level, by using the compaction zones,
wherein a level 0 compaction operation is performed between the flush zone and a first level compaction zone, and, at a time point when the level 0 compaction operation is performed. a flush zone in which the flush operation is not performed is used at the time point to perform the level 0 compaction operation between the flush zone and the compaction zone.
9. The method of claim 8 , wherein the storage is connected to the controller through a plurality of channels, and includes a plurality of zones allocated for each of the plurality of channels, and
the distinguishing comprises distinguishing between the flush zones and the compaction zones so that channels allocated to the flush zones are different from channels allocated to the compaction zones.
10. The method of claim 8 , wherein the flush zones include an active flush zone inside which there is usable capacity and an immutable flush zone inside which there is no usable capacity, and
the performing of the compaction operation comprises when performing a level 0 compaction operation of merging a plurality of files stored in the flush zone and recording the merged files as one file in the compaction zone, performing the level 0 compaction operation on a plurality of files stored in the immutable flush zone.
11. The method of claim 8 , wherein the controller performs storage of the key values based on a log structured merge-tree (LSM-Tree) data structure.
12. The method of claim 11 , wherein the unit space is a memtable of a preset size, and the file is an SSTable file of a preset size.
13. The method of claim 11 , wherein the controller builds the plurality of zones in multi-layered levels according to the LSM-Tree data structure, inputs level information into each of the files according to hot-cold characteristics of the file, and stores the file in a zone of a level matching the level information.
14. The method of claim 13 , wherein the level information is determined based on at least one of an access frequency and an update frequency of each of the files.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.