IP Library › Granted Patent US 12,079,195
Granted Patent B2
US 12,079,195 · App. 17/869,908 · Granted Sep 3, 2024

Apparatus and method for storing file of key value store on zoned storage

Inventors: Jong Moo Choi (Gyeonggi-do, KR); Myung Hoon Oh (Gyeonggi-do, KR)
Assignee: INDUSTRY-ACADEMIC COOPERATION FOUNDATION, DANKOOK UNIVERSITY
G06F16/2358G06F16/2365
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,079,195
App. No.
17/869,908
Granted
Sep 3, 2024
Kind
B2
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 (29)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2022
From: CHOI, JONG MOO; OH, MYUNG HOON
To: INDUSTRY-ACADEMIC COOPERATION FOUNDATION, DANKOOK UNIVERSITY
Reel/Frame 060577/0263 →
Priority Claims (1)
KR 10-2021-0099684 · Jul 29, 2021 · national
Continuity (1)
Related Publication 20230033773A1 · Feb 2, 2023