IP Library › Granted Patent US 12,339,860
Granted Patent B2
US 12,339,860 · App. 18/511,226 · Granted Jun 24, 2025

Key-value based data storage device and operation method thereof

Inventors: Seungjin Lee (Seoul, KR); Changgyu Lee (Seoul, KR); Youngjae Kim (Seoul, KR); Inhyuk Park (Icheon-si, KR); Woo Suk Chung (Icheon-si, KR)
Assignees: SK hynix Inc.; Sogang University Research and Business Development Foundation
G06F16/2474G06F3/0673G06F3/0679G06F16/2282G06F16/24573
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,339,860
App. No.
18/511,226
Granted
Jun 24, 2025
Kind
B2
Abstract

A key-value (KV) based data storage device configured to process one or more range query commands includes a first table, summary data, a Log-Structured merge (LSM) tree area storing a plurality of second tables forming an LSM tree structure, and a value log area storing a value corresponding to a key stored in the LSM tree structure. The summary data includes version data including a global version representing current states of the first table and the plurality of second tables. The KV based storage device adds a copy version of the global version in the version data when initiating processing of a range query command and refers to that copy version while processing that range query command.

Claims (29)

1. A key-value (KV) based data storage device comprising:

a first memory storing a first table and a summary data;

a second memory including a Log-Structured merge (LSM) tree area storing a plurality of second tables forming an LSM tree structure and a value log area storing a value corresponding to a key; and

a controller configured to process a range query command,

wherein the summary data includes version data including a global version representing current states of the first table and the plurality of second tables, and

wherein the controller adds a copy version of the global version in the version data at the beginning of a processing of the range query command and refers to the copy version while processing the range query command.

2. The KV based data storage device of claim 1 , wherein the controller deletes the copy version in the version data in response to processing of the range query command being completed.

3. The KV based data storage device of claim 1 , wherein the global version includes first table information corresponding to the first table and a plurality of second table information corresponding to the plurality of second tables, and each second table information includes an address of a corresponding second table and key range information.

4. The KV based data storage device of claim 1 , wherein the summary data further includes a metadata pool including a plurality of second table information corresponding to the plurality of second tables, and

wherein the global version includes pointer information to second table information included in the metadata pool corresponding to the plurality of second tables.

5. The KV based data storage device of claim 4 , wherein each of the plurality of second table information includes a reference counter, and wherein the control circuit increases reference counters in the plurality of second table information related to a corresponding copy version in response to processing of the range query command being initiated, and decreases reference counters in the plurality of second table information related to the corresponding copy version in response to processing of the range query command being completed.

6. The KV based data storage device of claim 5 , wherein when a second table is deleted in the LSM tree area, the control circuit determines whether corresponding second table information in the metadata pool should be deleted by referring to a reference counter of the corresponding second table information.

7. The KV based data storage device of claim 6 , wherein the control circuit adds a plurality of second table information corresponding to a plurality of second tables included in the LSM tree area in the metadata pool when creating the global version and sets reference counters included in the plurality of second table information as 1.

8. The KV based data storage device of claim 7 , wherein the control circuit sets a reference counter of corresponding second table information as 1 and adds the corresponding second table information in the metadata pool in response to a second table being added in the LSM tree area, and the control circuit decreases a reference counter of corresponding second table information by 1 in the metadata pool in response to a second table being deleted in the LSM tree area.

9. The KV based data storage device of claim 8 , wherein the control circuit deletes second table information in the metadata pool when a reference counter corresponding to the second table information is 0.

10. An operation method of a key-value (KV) based data storage device including a first table, summary data, a Log-structured merge (LSM) tree area including a plurality of second tables forming an LSM tree structure, and a value log area, the method comprising:

adding a global version representing current states of the first table and the plurality of second tables in version data in the summary data;

adding a copy version corresponding to a copy of the global version in the version data when processing of a range query command is initiated;

referring to the copy version while processing the range query command; and

deleting the copy version in the version data in response to processing of the range query command being completed.

11. The operation method of the claim 10 , wherein the summary data further incudes a metadata pool including a plurality of second table information corresponding to the plurality of second tables, and

wherein the global version includes pointer information to second table information included in the metadata pool and corresponding to the plurality of second tables.

12. The operation method of the claim 11 , wherein the plurality of second table information include a plurality of reference counters, respectively,

wherein adding the global version in the version data includes increasing reference counters in a plurality of second table information related to the copy version, and

wherein deleting the copy version in the version data includes decreasing reference counters in the plurality of second table information related to the copy version.

13. The operation method of the claim 12 , further comprising determining whether second table information should be deleted with reference to a reference counter of the second table information in the metadata pool in response to a corresponding second table being deleted in the LSM tree area.

14. The operation method of the claim 13 , wherein adding the global version in the version data includes adding a plurality of second table information corresponding to a plurality of second tables stored in the LSM tree area in the metadata pool and setting reference counters in the plurality of second table information as 1.

15. The operation method of the claim 14 , further comprising adding second table information in the metadata pool by setting a corresponding reference counter as 1 when adding a corresponding second table in the LSM tree area, and decreasing a reference counter of second table information by 1 in the metadata pool when deleting a corresponding second table in the LSM tree area.

16. The operation method of the claim 15 , further comprising deleting second table information in the metadata pool when a corresponding reference counter is 0.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: LEE, SEUNGJIN; LEE, CHANGGYU; KIM, YOUNGJAE; PARK, INHYUK; CHUNG, WOO SUK
To: SK HYNIX INC.; SOGANG UNIVERSITY RESEARCH AND BUSINESS DEVELOPMENT FOUNDATION
Reel/Frame 065605/0795 →
Priority Claims (1)
KR 10-2023-0057336 · May 2, 2023 · national
Continuity (1)
Related Publication 20240370449A1 · Nov 7, 2024
References Cited (37)
US 11550504B2 · Lee et al. · 2023 [cited by applicant]
US 20190034427A1 · Trika · 2019 [cited by examiner]
US 20240086362A1 · Wang · 2024 [cited by examiner]
KR 1020180030319A · 2018 [cited by applicant]
KR 1020200053512A · 2020 [cited by applicant]
Chang-Gyu Lee et al., “iLSM-SSD: An intelligent LSM-tree based key-value SSD for data analytics,” 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (M… [cited by applicant]
Sung-Ming Wu et al., “KVSSD: Close integration of LSM trees and flash translation layer for write-efficient KV store,” 2018 Design, Automation & Test in Europe Conference & Exhibition (Date 2018), IEEE, 2018, pp. 563-56… [cited by applicant]
Yanqin Jin et al., “KAML: A flexible, high-performance key-value SSD,” 2017 IEEE International Symposium on High Performance Computer Architecture, 2017, pp. 373-384. [cited by applicant]
Junsu Im et al., “Pink: High-speed in-storage key-value store with bounded tails,” 2020 USENIX Annual Technical Conference, Jul. 2020, pp. 173-187. [cited by applicant]
Donghyun Min et al., “Isolating namespace and performance in key-value SSDs for multi-tenant environments,” the 13th ACM Workshop on Hot Topics in Storage and File Systems (HotStorage'21), Jul. 2021, pp. 8-13. [cited by applicant]
Yangwook Kang et al., “Towards Building A High-performance, Scale-in Key-Value Storage System,” the 12th ACM International Conference on Systems and Storage (SYSTOR '19), Jun. 2019, pp. 144-154. [cited by applicant]
Janki Bhimani et al., “Fine-grained Control of Concurrency within KV-SSDs,” the 14th ACM International System and Storage Conference (SYSTOR '21), 2021 Association for Computing Machinery, Jun. 2021. [cited by applicant]
Yang Seok Ki, “Key-Value SSD Explained—Concept, Device, System, and Standard,” Storage Developer Conference, 2017. [cited by applicant]
Jinhyung Koo et al., “Modernizing file system through in-storage indexing,” the 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI '21), USENIX Association, Jul. 2021, pp. 75-92. [cited by applicant]
Chanwoo Chung et al., “LightStore: Software-defined Network-attached Key-value Drives,” the 24th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '19, Apr. 2019, … [cited by applicant]
“Los Alamos National Laboratory and SK hynix to demonstrate first-of-a-kind ordered Key-value Store Computational Storage Device,” 2022, Web page: https://discover.lanl.gov/news/0728-storage-device, Demonstration at 202… [cited by applicant]
“Key Value Storage API Specification,” SNIA Technical Position, Sep. 28, 2020, Web page: https://www.snia.org/keyvalue. [cited by applicant]
“Nvm express key value command set specification,” NVM Express, Oct. 2022, Web page: https://nvmexpress.org/developers/nvme-specification/. [cited by applicant]
Wenshao Zhong et al., “REMIX: Efficient range query for Ism-trees,” the 19th USENIX Conference on File and Storage Technologies (FAST '21), USENIX Association, Feb. 2021, pp. 51-64. [cited by applicant]
Zhichao Cao et al., “Characterizing, modeling, and benchmarking rocksdb key-value workloads at facebook,” the 18th USENIX Conference on File and Storage Technologies (FAST '20), Feb. 2020, pp. 209-223. [cited by applicant]
Berk Atikoglu et al., “Workload analysis of a large-scale key-value store,” the 12th ACM Sigmetrics/Performance joint international conference on Measurement and Modeling of Computer Systems, Association for Computing M… [cited by applicant]
Brian F. Cooper et al., “Benchmarking cloud serving systems with YCSB,” the 1st ACM Symposium on Cloud Computing, 2010, pp. 143-154. [cited by applicant]
Patrick O'Neil et al., “The Log-Structured Merge-Tree (LSM-tree),” Acta Informatica, 1996, pp. 351-385, vol. 33. [cited by applicant]
Cristian Zambelli et al., “Phase change and magnetic memories for solid-state drive applications,” the IEEE, Sep. 2017, pp. 1790-1811, vol. 105, No. 9. [cited by applicant]
Jaewook Kwak et al., “Cosmos+ OpenSSD: Rapid prototype for flash storage systems,” ACM Transaction on Storage, Jul. 2020, vol. 16, No. 3. [cited by applicant]
“Samsung NVMe SSD 980 Pro,” Web page: https://semiconductor.samsung.com/consumer-storage/internal-ssd/980pro/, 2021. [cited by applicant]
“Kingston KC3000 PCIe 4.0 NVMe M.2 SSD,” Web page: https://www.anandtech.com/show/17029/kingston-kc3000-pcie-40-nvme-flagship-ssd-hits-retail/, 2021. [cited by applicant]
“A persistent key-value store for fast storage environments,” RocksDB, Web page: http://rocksdb.org, 2021. [cited by applicant]
“Leveldb,” github, 2017, Web page: https://github.com/google/leveldb. [cited by applicant]
Avinash Lakshman et al., “Cassandra: A decentralized structured storage system,” SIGOPS Oper. Syst. Rev., 2010, pp. 35-40, vol. 44, No. 2. [cited by applicant]
Fay Chang et al., “Bigtable: A Distributed Storage System for Structured Data,” the USENIX Symposium on Operating Systems Design and Implementation, OSDI 2006, 2006. [cited by applicant]
Chen Luo et al., “LSM-based storage techniques: a survey,” The VLDB Journal, 2020, pp. 393-418, vol. 29, No. 1. [cited by applicant]
Lanyue Lu et al., “WiscKey: Separating keys from values in SSD-conscious storage,” the USENIX Conference on File and Storage Technologies, (FAST '16), 2016. [cited by applicant]
Manoj P. Saha et al., “KV-SSD: What is it good for?”, the 58th ACM/IEEE Design Automation Conference (DAC), 2021, pp. 1105-1110. [cited by applicant]
“Benchmark Tool,” github, Web page: https://github.com/facebook/rocksdb/wiki/Benchmarking-tools, 2021. [cited by applicant]
Tyler Harter et al., “Analysis of HDFS under HBase: A facebook messages case study,” the 12th USENIX Conference on File and Storage Technologies (FAST '14), Feb. 2014, pp. 199-212. [cited by applicant]
“Rocksdb v7.2.2 release,” 2022, Web page: https://github.com/facebook/rocksdb/releases/tag/v7.2.2. [cited by applicant]
Cited By (1)
US 12,706,896