IP Library Granted Patent US 10,963,393
Granted Patent B1
US 10,963,393 · App. 15/857,758 · Granted Mar 30, 2021

Storage system and a method for application aware processing

Inventors: Shmuel Ben-Yehuda (Haifa, IL); Ofir Efrati (Even Yehuda, IL); Abel Alkon Gordon (Haifa, IL); Eran Kirzner (Moshav Elishama, IL); Fabian Trumper (Sunnyvale, CA)
Assignee: Lightbits Labs Ltd.
G06F12/10G06F13/1668G06F13/4022G06F13/4027G06F13/28G06F2212/1041G06F2212/154G06F2213/0026G06F2213/16G06F2213/28
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,963,393
App. No.
15/857,758
Granted
Mar 30, 2021
Kind
B1
Abstract

A method for accessing a storage system, the method may include receiving a block call, from a processor that executes an application and by a storage engine of a computer that is coupled to a storage system; generating, by the storage engine and based on the block call, a key value call; and sending the key value call to a key value frontend of the storage system.

Claims (27)

1. A method for accessing a storage system, the method comprises:

receiving a block call, from a processor that executes an application and by a storage engine of a computer that is coupled to a storage system;

determining whether to convert the block call to a key value call based on a state of the storage system;

generating, by the storage engine and based on the block call, a key value call; and

sending the key value call to a key value frontend of the storage system, wherein the state of the storage system comprises a load imposed on the key value frontend of the storage system and on a block frontend of the storage system.

2. The method according to claim 1 wherein the generating comprises generating storage processing hints that are included in the key value call.

3. The method according to claim 2 wherein the storage processing hints are indicative of a priority of the key value call.

4. The method according to claim 2 wherein the storage processing hints are indicative of whether to respond to the key value call by executing a background process.

5. The method according to claim 2 wherein the storage processing hints are application-level semantic hints.

6. The method according to claim 1 further comprising sending the block call to a block frontend of the storage system.

7. The method according to claim 6 comprising sending, in parallel, the block call, and the key value call.

8. The method according to claim 1 wherein the generating of the key value call comprises converting the block call to the key value call.

9. The method according to claim 1 wherein block call is associated with application data; and wherein the key value call is related to application metadata.

10. The method according to claim 1 comprises treating in a different manner block calls and key value calls.

11. The method according to claim 10 comprising associating different levels of service to block calls and to the key value calls.

12. A non-transitory computer readable medium that stores instructions that once executed by a computer causes the computer to execute the steps of:

receiving a block call, from a processor that executes an application and by a storage engine of a computer that is coupled to a storage system;

determining whether to convert the block call to a key value call based on a state of the storage system;

generating, by the storage engine and based on the block call, a key value call; and

sending the key value call to a key value frontend of the storage system, wherein the state of the storage system comprises a load imposed on the key value frontend of the storage system and on a block frontend of the storage system.

13. The non-transitory computer readable medium according to claim 12 wherein the generating comprises generating storage processing hints that are included in the key value call.

14. The non-transitory computer readable medium according to claim 13 wherein the storage processing hints are indicative of a priority of the key value call.

15. The non-transitory computer readable medium according to claim 13 wherein the storage processing hints are indicative of whether to respond to the key value call by executing a background process.

16. The non-transitory computer readable medium according to claim 13 wherein the storage processing hints are application-level semantic hints.

17. The non-transitory computer readable medium according to claim 12 that stores instructions for sending the block call to a block frontend of the storage system.

18. The non-transitory computer readable medium according to claim 17 that stores instructions for sending, in parallel, the block call, and the key value call.

19. A computer that comprises multiple circuits that comprise a processor, wherein the multiple circuits are configured to execute the steps of receiving a block call, from the processor when the processor executes an application and by a storage engine of a computer that is coupled to a storage system; determining whether to convert the block call to a key value call based on a state of the storage system; generating, by the storage engine and based on the block call, a key value call; and sending the key value call to a key value frontend of the storage system, wherein the state of the storage system comprises a load imposed on the key value frontend of the storage system and on a block frontend of the storage system.

Assignments (2)
SECURITY INTEREST Recorded Jul 7, 2021
From: LIGHTBITS LABS LTD.
To: SILICON VALLEY BANK
Reel/Frame 056774/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: BEN-YEHUDA, SHMUEL; EFRATI, OFIR; GORDON, ABEL ALKON; TRUMPER, FABIAN; KIRZNER, ERAN
To: LIGHTBITS LABS LTD.
Reel/Frame 052971/0224 →
Continuity (5)
Provisional Application 62488772 · May 4, 2017
Provisional Application 62471968 · Mar 16, 2017
Provisional Application 62467250 · Mar 6, 2017
Provisional Application 62445741 · Jan 13, 2017
Provisional Application 62445743 · Jan 13, 2017
Cited By (1)
US 12,554,441