IP Library Granted Patent US 10,769,064
Granted Patent B1
US 10,769,064 · App. 16/226,641 · Granted Sep 8, 2020

Method for retrieving key value pairs and groups of key value pairs

Inventor: Moshe Twitto (Givat Shmuel, IL)
Assignee: Pliops Ltd
G06F12/0692G06F2212/1008
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 10,769,064
App. No.
16/226,641
Granted
Sep 8, 2020
Kind
B1
Abstract

A method for accessing a key-value pair stored in a SSD memory, the method may include receiving, by a SSD memory controller, an input key; applying a first hash function on an input key to provide a first address; reading, using the first address, an indicator that indicates whether (a) the input key is associated with a group of key-value pairs or whether (b) the input key is associated only with the key-value pair; retrieving, from the SSD memory, the values of the group associated with the input key, and extracting the value of the key-value pair, when the indicator indicates that the input key is associated with the group; and retrieving, from the SSD memory, a value of a key-value pair, when the indicator indicates that the input key is associated with the key-value pair.

Claims (30)

1. A method for accessing a key-value pair that is stored in a solid-state drive (SSD) memory, the method comprises:

receiving, by a SSD memory controller, an input key;

applying a first hash function on an input key to provide a first address;

reading, using the first address, an indicator that indicates whether (a) the input key is associated with a group of key-value pairs or whether (b) the input key is associated only with the key-value pair;

retrieving, from the SSD memory, the values of the group associated with the input key, and extracting the value of the key-value pair, when the indicator indicates that the input key is associated with the group; and

retrieving, from the SSD memory, a value of a key-value pair, when the indicator indicates that the input key is associated with the key-value pair.

2. The method according to claim 1 , wherein the indicator is a binary indicator, and wherein the reading comprises using the first address to access at least one entry of a binary table of indicators that has 1-bit long entries.

3. The method according to claim 2 , wherein the retrieving, from the SSD, of the values of the group comprises applying a second hush function on the first address to provide a second address; and retrieving the values of the group using a group key stored in the second address.

4. The method according to claim 3 , wherein the retrieving, from the SSD memory, of the values of the group comprises reading, using the second address, at least one entry of a second table that stores pointers to a group key table that stores group keys for retrieval of groups of key value pairs.

5. The method according to claim 3 , wherein the retrieving, from the SSD memory, of the values of the group comprises reading, using the second address, at least one entry of a group key table that stores group keys for retrieval of groups of key value pairs.

6. The method according to claim 1 , wherein the retrieving, from the SSD memory, of the values of the group comprises searching a tree of group keys.

7. The method according to claim 1 , wherein the retrieving, from the SSD memory, of the values of the group comprises searching a tree of pointers that point to group keys for retrieval of groups of key value pairs.

8. The method according to claim 1 , may include reading, using the first address, an entry of a hybrid table that stores the indicator and stores a pointer for retrieving a group key table that stores group keys for retrieval of groups of key value pairs, when the indicator indicates that the input key is associated with the group.

9. The method according to claim 8 , where the hybrid table comprises the group keys.

10. A non-transitory computer readable medium that stores instructions that once executed by a system that comprises a solid-state drive (SSD) memory controller, causes the system to perform the steps of:

receiving, by the SSD memory controller, an input key;

applying, by the SSD memory controller, a first hash function on an input key to provide a first address;

reading, using the first address, an indicator that indicates whether (a) the input key is associated with a group of key-value pairs or whether (b) the input key is associated only with the key-value pair;

retrieving, from a SSD memory, the values of the group associated with the input key, and extracting the value of the key-value pair, when the indicator indicates that the input key is associated with the group; and

retrieving, from the SSD memory, a value of a key-value pair, when the indicator indicates that the input key is associated with the key-value pair.

11. The non-transitory computer readable medium according to claim 10 , wherein the indicator is a binary indicator, and wherein the reading comprises using the first address to access at least one entry of a binary table of indicators that has 1-bit long entries.

12. The non-transitory computer readable medium according to claim 11 , wherein the retrieving, from the SSD, of the values of the group comprises applying a second hush function on the first address to provide a second address; and retrieving the values of the group using a group key stored in the second address.

13. The non-transitory computer readable medium according to claim 12 , wherein the retrieving, from the SSD memory, of the values of the group comprises reading, using the second address, at least one entry of a second table that stores pointers to a group key table that stores group keys for retrieval of groups of key value pairs.

14. The non-transitory computer readable medium according to claim 12 , wherein the retrieving, from the SSD memory, of the values of the group comprises reading, using the second address, at least one entry of a group key table that stores group keys for retrieval of groups of key value pairs.

15. The non-transitory computer readable medium according to claim 10 , wherein the retrieving, from the SSD memory, of the values of the group comprises searching a tree of group keys.

16. The non-transitory computer readable medium according to claim 10 , wherein the retrieving, from the SSD memory, of the values of the group comprises searching a tree of pointers that point to group keys for retrieval of groups of key value pairs.

17. The non-transitory computer readable medium according to claim 10 , that stores instructions for reading, using the first address, an entry of a hybrid table that stores the indicator and stores a pointer for retrieving a group key table that stores group keys for retrieval of groups of key value pairs, when the indicator indicates that the input key is associated with the group.

18. A solid-state drive (SSD) memory controller, that comprises at least one circuit that are configured to receive an input key; apply a first hash function on an input key to provide a first address; and read, using the first address, an indicator that indicates whether (a) the input key is associated with a group of key-value pairs or whether (b) the input key is associated only with the key-value pair; retrieve, from a SSD memory, the values of the group associated with the input key and extract the value of the key-value pair, when the indicator indicates that the input key is associated with the group; and retrieve, from the SSD memory, a value of a key-value pair, when the indicator indicates that the input key is associated with the key-value pair.

19. The SSD memory controller according to claim 10 , wherein the indicator is a binary indicator, and wherein the at least one circuit is configured to read the indicator by using the first address to access at least one entry of a binary table of indicators that has 1-bit long entries.

20. The SSD memory controller according to claim 11 , wherein the at least one circuit is configured to retrieve, from the SSD, of the values of the group by applying a second hush function on the first address to provide a second address; and retrieve the values of the group using a group key stored in the second address.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Feb 2, 2023
From: KREOS CAPITAL VI (EXPERT FUND) L.P.
To: PLIOPS LTD
Reel/Frame 062622/0890 →
SECURITY INTEREST Recorded Dec 23, 2020
From: PLIOPS LTD.
To: KREOS CAPITAL VI (EXPERT FUND) L.P.
Reel/Frame 054735/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2020
From: TWITTO, MOSHE
To: PLIOPS LTD.
Reel/Frame 053421/0839 →
Continuity (1)
Provisional Application 62607936 · Dec 20, 2017
Cited By (2)
US 12,602,379 US 12,687,981