IP Library Granted Patent US 10,664,191
Granted Patent B2
US 10,664,191 · App. 16/214,817 · Granted May 26, 2020

System and method for providing input/output determinism based on required execution time

Inventors: Yaniv Romem (Jerusalem, IL); Omri Mann (Jerusalem, IL); Ofer Oshri (Kfar Saba, IL)
Assignee: Excelero Storage Ltd.
G06F3/0655G06F3/061G06F3/067G06F3/0611G06F3/0629G06F3/0659G06F13/102
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,664,191
App. No.
16/214,817
Granted
May 26, 2020
Kind
B2
Abstract

Systems and methods for providing input/output (I/O) determinism. An I/O instruction and at least one service level indicator are received, wherein the at least one service level indicator includes a required time for executing the I/O instruction. It is determined whether the I/O instruction can be executed on the storage within the required time. When it is not determined that the I/O instruction can be executed on the storage within the required time, a notification is sent.

Claims (40)

1. A method for providing input/output (I/O) determinism for a server hosting at least a remotely accessible storage, comprising:

receiving an I/O instruction and at least one service level indicator from a client device, wherein the at least one service level indicator includes a required time for executing the I/O instruction;

determining whether the I/O instruction can be executed on the storage within the required time; and

sending, to the client device, a notification, when it is not determined that the I/O instruction can be executed on the storage within the required time.

2. The method of claim 1 , further comprising:

executing the I/O instruction on the storage when it is determined that the I/O instruction can be executed on the storage within the required time.

3. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute the method according to claim 1 .

4. A system for providing input/output (I/O) determinism, comprising:

a storage;

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

receive an I/O instruction and at least one service level indicator from a client device, wherein the at least one service level indicator includes a required time for executing the I/O instruction;

determine whether the I/O instruction can be executed on the storage within the required time; and

send, to the client device, a notification, when it is not determined that the I/O instruction can be executed on the storage within the required time.

5. The system of claim 4 , wherein the system is further configured to:

execute the I/O instruction on the storage when it is determined that the I/O instruction can be executed on the storage within the required time.

6. A method for providing input/output (I/O) determinism for a server hosting at least a storage, the server including a processing circuitry, comprising:

sending, by the processing circuitry to the storage, an I/O instruction and at least one service level indicator, wherein the at least one service level indicator includes a required time for executing the I/O instruction;

determining, by the storage, whether the I/O instruction can be executed on the storage within the required time; and

sending, to the processing circuitry by the storage, a notification, when it is not determined that the I/O instruction can be executed on the storage within the required time.

7. The method of claim 6 , further comprising:

executing the I/O instruction on the storage, when it is determined that the I/O instruction can be executed on the storage within the required time.

8. The method of claim 6 , further comprising:

determining a first execution time for executing the I/O instruction on the storage;

determining a second execution time for executing the I/O instruction on another storage hosted by the server; and

executing the I/O instruction on the storage having the lowest execution time among the first execution time and the second execution time.

9. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute the method according to claim 6 .

10. A system for providing input/output (I/O) determinism, comprising:

a storage;

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

sending, by the processing circuitry to the storage, an I/O instruction and at least one service level indicator, wherein the at least one service level indicator includes a required time for executing the I/O instruction;

determining, by the storage, whether the I/O instruction can be executed on the storage within the required time; and

sending, to the processing circuitry by the storage, a notification, when it is not determined that the I/O instruction can be executed on the storage within the required time.

11. The system of claim 10 , wherein the system is further configured to:

execute the I/O instruction on the storage, when it is determined that the I/O instruction can be executed on the storage within the required time.

12. The system of claim 10 , wherein the system is further configured to:

determine a first execution time for executing the I/O instruction on the storage;

determine a second execution time for executing the I/O instruction on another storage hosted by the server; and

execute the I/O instruction on the storage having the lowest execution time among the first execution time and the second execution time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2022
From: EXCELERO STORAGE LTD.
To: NVIDIA CORPORATION
Reel/Frame 059249/0950 →
Continuity (3)
Continuation 15797815 · Oct 30, 2017
Provisional Application 62418847 · Nov 8, 2016
Related Publication 20190107971A1 · Apr 11, 2019