IP Library Granted Patent US 10,678,455
Granted Patent B2
US 10,678,455 · App. 15/635,452 · Granted Jun 9, 2020

System and method for increased efficiency thin provisioning with respect to garbage collection

Inventors: Yaniv Romem (Jerusalem, IL); Ofer Oshri (Kfar Saba, IL); Omri Mann (Jerusalem, IL)
Assignee: Excelero Storage Ltd.
G06F3/0631G06F3/0604G06F3/0605G06F3/067G06F3/0665G06F3/0683G06F12/0253
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,678,455
App. No.
15/635,452
Granted
Jun 9, 2020
Kind
B2
Abstract

A system and method for increased efficiency thin provisioning of data storage. The method includes: receiving a request for storage allocation from a client device; and allocating, to the client device, at least a portion of a first storage of the plurality of storages when a garbage collector of the first storage is turned off.

Claims (50)

1. A method for increased efficiency thin provisioning of a thin provisioned storage system including a plurality of storages, comprising:

receiving a request for storage allocation from a client device;

determining, upon receiving the request, whether a garbage collector of a first storage of the plurality of storages is turned on;

allocating, to the client device, at least a portion of the first storage of the plurality of storages when it is determined that the garbage collector of the first storage is turned off; and

allocating, to the client device, at least a portion of another storage of the plurality of storages when it is determined that the garbage collector of the first storage is turned on, wherein a garbage collector of the other storage is off when the at least a portion of the other storage is allocated.

2. The method of claim 1 , further comprising:

turning off the garbage collector of the first storage.

3. The method of claim 2 , wherein turning off of the garbage collector of the first storage is performed when the garbage collector of the first storage is turned on.

4. The method of claim 3 , further comprising:

turning on the garbage collector of the first storage when at least one of: a next garbage collection cycle begins, and the storage allocation is complete.

5. The method of claim 1 , wherein the thin provisioned storage system includes a load balancer and a plurality of storage servers, each storage server further including at least one of the plurality of storages, wherein the load balancer is configured to direct the received storage allocation request to at least one of the plurality of storage servers.

6. The method of claim 5 , further comprising:

balancing, by the load balancer, storage allocation requests among the plurality of storages such that a portion of one of the plurality of storages is allocated when garbage collection is not being performed for the storage, wherein garbage collection is performed for each storage periodically.

7. The method of claim 1 , wherein the request is received over a remote direct memory access (RDMA) protocol.

8. The method of claim 7 , wherein the RDMA protocol is any one of: Infiniband, RDMA over Converged Ethernet, and Internet Wide Area Remote Direct Memory Access (RDMA) Protocol (iWARP).

9. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

receiving a request for storage allocation from a client device;

determining, upon receiving the request, whether a garbage collector of a first storage of a plurality of storages is turned on;

allocating, to the client device, at least a portion of the first storage of the plurality of storages when it is determined that the garbage collector of the first storage is turned off; and

allocating, to the client device, at least a portion of another storage of the plurality of storages when it is determined that the garbage collector of the first storage is turned on, wherein a garbage collector of the other storage is off when the at least a portion of the other storage is allocated.

10. A system for increased efficiency thin provisioning of a thin provisioned storage system including a plurality of storages, comprising:

a processing circuitry; and

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

receive a request for storage allocation from a client device;

determining, upon receiving the request, whether a garbage collector of a first storage of the plurality of storages is turned on;

allocate, to the client device, at least a portion of the first storage of the plurality of storages when it is determined that the garbage collector of the first storage is turned off; and

allocate, to the client device, at least a portion of another storage of the plurality of storages when it is determined that the garbage collector of the first storage is turned on, wherein a garbage collector of the other storage is off when the at least a portion of the other storage is allocated.

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

turn off the garbage collector of the first storage.

12. The system of claim 11 , wherein the turning off of the garbage collector of the first storage is performed when the garbage collector of the first storage is turned on.

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

turn on the garbage collector of the first storage when at least one of: a next garbage collection cycle begins, and the storage allocation is complete.

14. The system of claim 10 , wherein the thin provisioned storage system includes a plurality of storage servers, each storage server further including at least one of the plurality of storages, further comprising:

a load balancer, wherein the storage allocation request is received at the load balancer, wherein the load balancer is configured to direct the received storage allocation request to at least one of the plurality of storage servers.

15. A thin provisioned storage system, comprising:

a plurality of storages, each storage further comprising a garbage collector;

a processing circuitry; and

at least one memory, the at least one memory containing instructions that, when executed by the processing circuitry, configure the thin provisioned storage system to:

receive a request for storage allocation from a client device; and

determine, upon receiving the request, whether a garbage collector of a first storage of the plurality of storages is turned on;

allocate, to the client device, at least a portion of a first storage of the plurality of storages when it is determined that the garbage collector of the first storage is turned off; and

allocate, to the client device, at least a portion of another storage of the plurality of storages when it is determined that the garbage collector of the first storage is turned on, wherein a garbage collector of the other storage is off when the at least a portion of the other storage is allocated.

16. The thin provisioned storage system of claim 15 , wherein the thin provisioned storage system is further configured to perform any one of:

allocate, to the client device, at least a portion of another storage of the plurality of storages when the garbage collector of the first storage is turned on, wherein a garbage collector of the other storage is off; and

turn off the garbage collector of the first storage when the garbage collector of the first storage is turned on.

17. The system of claim 15 , further comprising:

a plurality of storage servers, wherein each storage server includes at least one of the plurality of storages; and

a load balancer, wherein the load balancer is configured to direct the received storage allocation request to at least one of the plurality of storage servers.

18. The system of claim 17 , wherein the load balancer is further configured to:

balance storage allocation requests among the plurality of storages such that a portion of one of the plurality of storages is allocated when garbage collection is not being performed for the storage, wherein garbage collection is performed for each storage periodically.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2022
From: EXCELERO STORAGE LTD.
To: NVIDIA CORPORATION
Reel/Frame 059249/0950 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2017
From: ROMEM, YANIV; OSHRI, OFER; MANN, OMRI
To: EXCELERO STORAGE LTD.
Reel/Frame 042840/0898 →
Continuity (2)
Provisional Application 62358011 · Jul 3, 2016
Related Publication 20180004448A1 · Jan 4, 2018