US 11,874,815 B2
Key-value storage device and method of operating the same
Je-Kyeom Jeon, Siheung-si (KR); Jae-Ju Kim, Suwon-si (KR); Dong-Ju Roh, Uiwang-si (KR); Sang-Yoon Oh, Suwon-si (KR); Byung-Ki Lee, Hwaseong-si (KR); and Sung-Kug Cho, Hwaseong-si (KR)
Assigned to Samsung Electronics Co., Ltd.
Filed by SAMSUNG ELECTRONICS CO., LTD., Suwon-si (KR)
Filed on Jul. 18, 2022, as Appl. No. 17/866,600.
Application 17/866,600 is a continuation of application No. 16/021,960, filed on Jun. 28, 2018, granted, now 11,392,571.
Claims priority of application No. 10-2017-0148316 (KR), filed on Nov. 8, 2017.
Prior Publication US 2022/0350784 A1, Nov. 3, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 7/00 (2006.01); G06F 16/22 (2019.01); G06F 16/27 (2019.01)
CPC G06F 16/2255 (2019.01) [G06F 16/221 (2019.01); G06F 16/27 (2019.01)] 16 Claims
OG exemplary drawing
 
1. A method of operating a key-value storage device comprising a memory comprising a first area and a second area, the method comprising:
assigning, to the first area, a hash table comprising a plurality of groups each comprising a plurality of hash entries;
assigning, to the second area, a bucket table comprising a plurality of buckets respectively corresponding to the plurality of groups and each comprising at least one bucket entry;
when a number of hash entries corresponding to a first hash index and assigned to a first group among the plurality of groups is not greater than a threshold number, storing a new hash entry, corresponding to the first hash index and assigned to the first group, in a first hash entry which is selected from among the plurality of hash entries of the first group; and
when the number of hash entries corresponding to the first hash index and assigned to the first group is greater than the threshold number, storing the new hash entry in a first bucket corresponding to the first group, wherein the first bucket is selected from among the plurality of buckets,
wherein a number of the plurality of groups is the same as a number of the plurality of buckets, and
wherein the new hash entry includes mapping information corresponding to the first hash index;
wherein each of the plurality of hash entries corresponding to the hash indices in the first group comprises a physical address corresponding to the hash index,
wherein each of the plurality of hash entries further comprises at least one of a hashtag and a bitmap, wherein the hashtag indicates whether the plurality of buckets are used, and the bitmap indicates storage locations of the plurality of hash entries corresponding to the hash indices.